editing/visible_units.cpp:
(WebCore::previousParagraphPosition): Use the last result from
previousLinePosition rather than going all the way back to what was originally
passed in when we hit exception cases like null or not moving. This correctly
inherits the behavior of previousLinePosition when we are in a paragraph at the
edge of a document.
(WebCore::nextParagraphPosition): Ditto.

webkit/webkitwebview.h: Implement "title" and "uri" properties as well
as according functions. "uri" always reflects the current location
including navigation inside the same page. title-changed is deprecated.

When a plug-in instance is torn down, all plug-in objects will first be invalidated and then deallocated.
Since objects can be deallocated in any order, it is not safe to call NPN_ReleaseObject on member variables.

platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::createQTMovieView): QTMovieContentViewClass is only used when
rendering inline with old versions of QuickTime, so don't look for it when we are in a
media document.

inspector/InspectorController.cpp:
(WebCore::InspectorController::populateScriptObjects): Changed to use bind method.
(WebCore::InspectorController::resetScriptObjects): Changed to use unbind method.
(WebCore::InspectorController::didUseDOMStorage): Changed to use isSameHostAndType and bind methods.

rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::setContent): Used new getters and setters
on ContentData class. Changed first argument from a StringImpl*
to a PassRefPtr<StrimgImpl>. Used isText() convenience method.

Fix default policy decision to be ignore, on MIME checks, if
WebKit doesn't know how to handle the MIME type. The documentation
is already correct, and this was an oversight when the policy
decision code was first committed. Since 1.1.2 will be the first
release to support download, there is no practical change in
behavior.

Reintroduce the URI into the soup message after having set it in
the KURL, on redirects, to make sure it is properly encoded. This
fixes bad request problems when servers give bad URIs on their
response's Location header.

Non-Apple Mac ports build fix. Move defines for the BUILDING_ON_ macros into
Platform.h so that they're defined for all ports building on Mac, and tweak
the definitions of those macros based on Mark Rowe's suggestions to accomodate
cases where the values may not be <= to the .0 release for that version.

page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEventSingleClick):
(WebCore::EventHandler::handleMousePressEvent):
Take normal code path for right clicks (we were taking it for Ctrl-clicks anyway).

fix <rdar://problem/6607773> WebKit should support the "Default"
paragraph writing direction -- or at least validate the menu item
appropriately

Made WebHTMLView validate user interface items with the selector
-makeBaseWritingDirectionNatural: by returning NO and, if the item is
a menu item, setting its state to "off".

Strictly speaking, since -makeBaseWritingDirectionNatural: is never
valid for WebViews, WebHTMLView should not need to respond to it and
validate it, however because other responders respond to all three
-makeBaseWritingDirection*: messages and set the menu item state, having
WebHTMLView do the same makes application developers' lives easier.

Change the layout test result search policy for Mac OS X to fit better with the idea of
newer OS versions improving on previous OS versions.

Reviewed by Dan Bernstein.

The results for the latest version of Mac OS X are placed in the "mac" directory. The
results for older versions of Mac OS X are structured as a series of overlays. When
running on Leopard, the results in "mac-leopard" are searched before those in "mac".
When running on Tiger, the results in "mac-tiger" are searched before those in
"mac-leopard" and "mac".

loader/CrossOriginAccessControl.cpp:
(WebCore::isOnAccessControlSimpleRequestHeaderWhitelist): Added Content-Language.
(WebCore::isSimpleCrossOriginAccessRequest): Added HEAD. Restricted content types to those
that could be sent via form submission.

Remove the --64-bit argument from scripts in favor of them detecting when 64-bit should be preferred.

Reviewed by Timothy Hatcher.

The scripts will automatically target 64-bit if the system and hardware support it. This can be
overridden by passing --32-bit to individual scripts, or using set-webkit-configuration --32-bit
to make the override persistent.

Scripts/build-webkit: Remove architecture-related code.

Scripts/gdb-safari: Remove architecture-related code, and clean up how the environment variables are passed to gdb.

Scripts/run-javascriptcore-tests: Remove architecture-related code.

Scripts/run-safari: Ditto.

Scripts/run-webkit-tests: Ditto.

Scripts/set-webkit-configuration: Handle the --32-bit and --64-bit arguments. The --32-bit argument will set the

architecture preference to the 32-bit architecture of the machine. The --64-bit argument will remove any architecture
override that is in effect so that 64-bit support will be automatically detected.

Scripts/webkitdirs.pm: Add auto-detection of the best architecture for the machine, and the ability to override the

Prevent AllInOneFile.cpp and ProfileGenerator.cpp from rebuilding unnecessarily when
switching between building in Xcode and via build-webkit.

Reviewed by David Kilzer.

build-webkit passes FEATURE_DEFINES to xcodebuild, resulting in it being present in the
Derived Sources build settings. When building in Xcode, this setting isn't present so
Xcode reruns the script build phases. This results in a new version of TracingDtrace.h
being generated, and the files that include it being rebuilt.

JavaScriptCore.xcodeproj/project.pbxproj: Don't regenerate TracingDtrace.h if it is

Fix transparent text rendering on Chromium. FontChromiumWin
was calling beginTransparencyLayer()/endTransparencyLayer(), with
a TransparencyWin inside to do GDI ClearType rendering over an
opaque background. TransparencyWin does its special sauce
in the destructor, but it was being called too late to be used
correctly in the layer. Put the special sauce into a new function,
composite(), and call that explicitly instead.

inspector/InspectorController.cpp:
(WebCore::InspectorController::populateScriptObjects): Changed to use InspectorDatabaseResource::bind.
(WebCore::InspectorController::resetScriptObjects): Changed to use InspectorDatabaseResource::unbind.
(WebCore::InspectorController::didOpenDatabase): Changed to use InspectorDatabaseResource::unbind.

This makes drawRect() ignore the stroke width (like CG does), and
adds a warning comment about that to the appropriate header.

It also eliminates some hacky code in Skia's stroke preparation,
which tried to adjust odd-width strokes to fall on pixel boundaries.
Not only did this not match CG, it wouldn't necessarily work right,
because there could be other transforms (e.g. full-page zoom) that
would affect the stroke before it reached the device pixel level.

Geolocation now requests permission from the Chrome asynchronously.
The Chrome is passed the Geolocation object, and the Chrome sets the permission
on the Geolocation. Geolocation also tracks if the Chrome should clear its cache
of SecurityOrigins with geolocation permission. This is so that the GeolocationService
can inform the Chrome of its request, and the Chrome is also free to implement its
own policy.

<rdar://problem/6630340> REGRESSION (39114-39115): Unity Web Player no longer works if Flip4Mac is also installed

The code assumed if we have a plug-in that supports "application/x-oleobject" we should always prefer the object tag
over of an embed tag. That assumption can cause the Mac platform to load the wrong plug-in, as Flip4Mac claims supports
for x-oleobject.

xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::networkError): Call internalAbort() to fully reset the request.
(WebCore::XMLHttpRequest::didFailRedirectCheck): No need to call internalAbort() here. Note
that since internalAbort() can drop GC protection, it is not safe to use the object after
this call.
(WebCore::XMLHttpRequest::didReceiveData): Check that the request wasn't aborted, and
return early if it was. This can happen during sync requests, as the loader does not know
that it was aborted, and just synthesizes all callbacks.

xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::statusText): Return ResourceResponse status text. It is now up
to each platform to correctly set the status text or set it to "OK" to retain current
behavior.

Prevent CSSStyleSheet::checkLoaded() writing to freed memory when it gets
deleted from under itself. The sheetLoaded() notification can allow scripts
to run via HTMLTokenizer::executeScriptsWaitingForStylesheets(),
which can cause the last ref to the CSSStyleSheet to be released.

​https://bugs.webkit.org/show_bug.cgi?id=24498
Fix the Qt port to use the same algorithm for drawing dashed and dotted
borders as the other ports. This makes the Qt port pixel-for-pixel perfect
compared to border drawing with Apple's canonical mac port and much closer
to konqueror and firefox behavior.

Add a test to check that an invalid second argument of
window.postMessage is ignored. Note that this is probably not the
correct behavior according to the HTML5 spec, so this test will
need to be changed once we support that.

Do not ignore alpha color in optimization. Hard to believe, but there
are websites that fill the entire page with a tiled image consisting of
nothing but a 100% transparent 1x1 image. <cough>orbitz.com</cough>

Also changed a Windows-only assertion about thread name length to an
all-platform log message.

Reviewed by Adam Treat.

wtf/Threading.cpp:
(WTF::createThread): Warn if the thread name is longer than 31
characters, as Visual Studio will truncate names longer than that
length.

wtf/ThreadingWin.cpp:
(WTF::setThreadNameInternal): Renamed from setThreadName and changed
to always operate on the current thread.
(WTF::initializeThreading): Changed to use setThreadNameInternal.
(WTF::createThreadInternal): Removed call to setThreadName. This is
now handled by threadEntryPoint and setThreadNameInternal.

Also make page up and page down keys be handled by the webview key
event code, so that they also work in cases where the GTK+
scrollbars don't handle them directly, like in the bugzill's patch
review page.

and no file or directory names are specified on the command-line
then try to find unmerged ChangeLog files based on 'svn stat' or
'git diff'. Added global $isGit and $isSVN variables so that
isGit() and isSVN() only have to be called once.
(findUnmergedChangeLogs): Added.

Splitted the code from cloneNode into cloneElementWithChildren and cloneElementWithChildren.
Now cloneNode calls one of the 2 previous methods.

Renamed cloneElement to cloneElementWithoutChildren as it was the previous behaviour.

Moved cloneNode to the Element private section so that WebCore callers cannot use it.

Removed Element::cloneNode usage through WebCore.

dom/Element.cpp:
(WebCore::Element::cloneNode): Moved to Element's private section and it
now calls the two next methods.
(WebCore::Element::cloneElementWithChildren): Added.
(WebCore::Element::cloneElementWithoutChildren): Renamed from cloneElement
to avoid ambiguity.

dom/Element.h:

editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Changed call to cloneElement
to call to cloneElementWithoutChildren.