(WebKit::HostedNetscapePluginStream::cancelLoad): Canceling the load can result in calling through to disconnectStream.
If the plug-in instance holds the last reference to the plug-in stream this will result in the stream being deallocated.
This leads to HostedNetscapePluginStream::cancelLoad's call to disconnectStream being passed a deallocated stream object.
Since the stream was already disconnected by the call to cancel there's no need to call disconnectStream a second time.

ending in a double newline from each ChangeLog entry, then put that
common prefix at the top of the commit log.
(removeLongestCommonPrefixEndingInDoubleNewline): Added. Finds,
removes, and returns the longest common prefix ending in a double
newline from a hash of strings

[v8] Share persistent context handles between events
Change events to use a single ref-counted shared persistent handle
to the context in which to run, rather than create a new
persistent handle for each new event which puts pressure on the
gc.

bugzilla-tool rollout will do the rollout locally and leave the diff for you to verify and commit.
The --complete-rollout option will automatically land and update the bug.
Eventually --complete-rollout will be default, but that will require more testing.

This first pass is good enough for others to try and file bugs about.

Scripts/bugzilla-tool:

Move modified_changelogs into scm.py.

Move svn_revision_from_commit_text logic into scm.py.

Add RolloutCommit command.

Scripts/modules/bugzilla.py:

Add reopen_bug command used by RolloutCommit.

Scripts/modules/scm.py:

Add functions to support RolloutCommit.

Abstract find_uuid into value_from_svn_info so it can be re-used for _repository_url (needed by svn merge).

Add a str() call so that svn_commit_log can take a numeric argument.

Remove a bunch of very slow code from last_svn_commit_log and used the built-in 'BASE' alias instead.

Made dry_run commits return something that svn_revision_from_commit_text can parse.

Scripts/modules/scm_unittest.py:

Add read_from_path for easy file reading.

Put test4 on a new line to make reverts work w/o conflict.

Add an "svn update" call so that the checkout revision matches the server revision.

Add tests for svn_revision_from_commit_text.

Add a simple test for apply_reverse_diff.

Add a new self.scm member and use it in the new tests (eventually other tests can use it too).

Add test for svn_commit_log to make sure my 'BASE' change above worked as expected.

(bstrT): Helper function to convert a JSStringRef to a _bstr_t.
(LayoutTestController::addUserScript):
(LayoutTestController::addUserStyleSheet):
Implemented. Implementations were based on those in
LayoutTestControllerMac.mm.

On the Mac, it means "-framework ApplicationServices -framework Carbon
-framework AppKit" are no longer part of the default LIBS in Qt
applications. This required a lot of fixes where we used Mac-specific
code in Qt.

09/10/09:

Add some tests for mixed content. All but one of these tests pass
currently. The one that fails is pretty tricky, but I wanted to get it
into the tree with a FIXME so we won't forget it. I'll file a followup
bug about fixing it.

(WebInspector.StylesSidebarPane): Add "New Style Rule" option to the gear menu.
(WebInspector.StylesSidebarPane.prototype._update): Check instanceof BlankStylePropertiesSection instead.
(WebInspector.StylesSidebarPane.prototype._changeSetting): Added. Keeps the color format setting selected
while calling the correct action.
(WebInspector.StylesSidebarPane.prototype._createNewRule): Creates a new section and edits the selector.
(WebInspector.StylesSidebarPane.prototype.addBlankSection): Insert the section in a cleaner way.
(WebInspector.StylesSidebarPane.prototype.removeSection): Added. Removes the passed in section.
(WebInspector.StylesSidebarPane.prototype.appropriateSelectorForNode): Return an empty string if there is no node.
(WebInspector.StylePropertiesSection.prototype.expand): Removed the check for _blank.
(WebInspector.StylePropertiesSection.prototype.startEditingSelector): No need for the context, the original selector
is remembered by the editing code.
(WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled): Do nothing. The original text is already
restored by the editing code.
(WebInspector.BlankStylePropertiesSection): Call the StylePropertiesSection constructor with appropriate data.
Remove event listener code.
(WebInspector.BlankStylePropertiesSection.prototype.expand): Added. Does nothing to prevent expanding.
(WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.callback): Correctly construct theWebInspector.CSSStyleDeclaration. Call editingSelectorCancelled instead of editingCancelled.
(WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted): Renamed from editingCommitted to
override the base class.
(WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCancelled): Remove the section.
(WebInspector.BlankStylePropertiesSection.prototype.makeNormal): Removed event listener code. Removed the delete lines
since they were doing nothing (deleting nonexistent properties that exist only on the prototype.) Change prototypes at
the end to correctly swtich to a real StylePropertiesSection.

Add build systems for GNUmakefile.am, WebCore.xcodeproj and
WebCore.vcproj.
Add websockets directory and WebSocket.idl in qt build system.
Tests will be landed once the code is completed and functional.

Make the JS and ObjC bindings generators able to output dependency
rules for DerivedSources.make to consume. These rules make a given
generated binding class file header, JSWhatever.h, depend on Whatever's
ancestor interfaces.

DerivedSources.make: Pass --write-dependencies to generate-bindings.pl
when generating JS and ObjC bindings. Include dependency fies that are
generated due to that.

bindings/scripts/CodeGenerator.pm: Make
AddMethodsConstantsAndAttributesFromParentClasses accumulate a list of
the ancestor interfaces that were visited.

FastAllocBase has been extended with fastDeleteSkippingDestructor function which
releases memory without destructor call. fastDeleteAllValues has been implemented
similar as deleteAllValues but it uses fastDelete function to release memory.

(WebCore::RenderMediaControls::paintMediaControlsPart): Reversed when
we show the play vs. pause artwork, so that the button reflects what
will happen when you click it, rather than the current state of the
movie.

If a timeout is specified, the timer is started as soon as the location acquistion process starts.
If a position fix is not obtained within the timeout interval, the position request is cancelled
and the error callback (if specified) is invoked. If a position fix is obtained within the timeout
interval, the timer is stopped. Permissions are then requested from the user if required. See​http://www.w3.org/TR/geolocation-API/#position-options.

Note that this logic means that the time required to obtain permissions from the user is not
included in the timeout interval.

Tests: fast/dom/Geolocation/timeout.html

fast/dom/Geolocation/timeout-zero.html

page/Geolocation.cpp: Modified.

(WebCore::Geolocation::GeoNotifier::GeoNotifier): Modified. Takes Geolocation object as parameter.
(WebCore::Geolocation::GeoNotifier::hasZeroTimeout): Added. Determines whether this request has a zero timeout.
(WebCore::Geolocation::GeoNotifier::startTimerIfNeeded): Renamed from startTimer. Starts the timer if a timeout was specified.
(WebCore::Geolocation::GeoNotifier::timerFired): Modified. Calls the error callback if specified, and reports the timeout to the Geolocation object.
(WebCore::Geolocation::getCurrentPosition): Modified. Calls maybeStartTimer when starting the location acquisition process.
(WebCore::Geolocation::watchPosition): Modified. Calls maybeStartTimer when starting the location acquisition process.
(WebCore::Geolocation::requestTimedOut): Added. Cancels a request when it times out.
(WebCore::Geolocation::setIsAllowed): Modified. No longer starts timers.
(WebCore::Geolocation::sendPosition): Modified. No longer stops timers.
(WebCore::Geolocation::stopTimer): Added. Stops the timers for a vector of notifiers.
(WebCore::Geolocation::stopTimersForOneShots): Added. Stops the timers for all one-shots.
(WebCore::Geolocation::stopTimersForWatchers): Added. Stops the timers for all watchers.
(WebCore::Geolocation::stopTimers): Added. Stops the timers for all requests.
(WebCore::Geolocation::geolocationServicePositionChanged): Modfified. Stops the timers for all requests.

Rename positionBeforeNode to positionInParentBeforeNode
and positionAfterNode to positionInParentAfterNode
in preparation for adding a positionBeforeNode
which returns a neighbor-anchored position.​https://bugs.webkit.org/show_bug.cgi?id=25494

storage/SQLTransactionCoordinator.cpp:
(WebCore::SQLTransactionCoordinator::acquireLock): Added a new
parameter in preparation for a change that will allow multiple
read-only transactions on the same DB to run concurrently.

WebCore: ​https://bugs.webkit.org/show_bug.cgi?id=29102, add support for user stylesheet injection. This is similar
to user script injection but allows for user stylesheets to be added. The stylesheets are applied immediately
to all Frames in the PageGroup.

WebKit/mac: ​https://bugs.webkit.org/show_bug.cgi?id=29102, add support for user stylesheet injection. This is similar
to user script injection but allows for user stylesheets to be added. The stylesheets are applied immediately
to all Frames in the PageGroup.

Reviewed by Adam Roben.

Added userscripts/simple-stylesheet.html test case.

WebView/WebView.mm:

(+[WebView _addUserStyleSheetToGroup:source:url:worldID:patterns:]):

WebView/WebViewPrivate.h:

LayoutTests: ​https://bugs.webkit.org/show_bug.cgi?id=29102, add support for user stylesheet injection. This is similar
to user script injection but allows for user stylesheets to be added. The stylesheets are applied immediately
to all Frames in the PageGroup.

Added getter/setter methods and trivial inline implementations for each.
(Note that they are not yet actually used.)
Once the Chromium code is changed to use them instead of directly accessing the
member variables, the member variables should be made private and cleaned up.

(WebCore::openTemporaryFile)
Autoremove property of QTemporaryFile has been set to false. Hence closeFile() just closes and does not delete the file.
This solves the deletion of created temp file in PluginStream::destroyStream() before passing to plugin in NPP_AsFile.

Add HasNumericIndexGetter to indicate a non-custom getter that
returns a number. The numeric index getter also uses PropertySlot's
setValue rather than setCustomIndex to avoid an additional indirect
call.

Make sure not to do an early return when a data URL stylesheet successfully loads. We need to still
clear the old cached sheet out of all existing Frames. Fixes the data URL stylesheet layout test failure.

When wrapping the callback the JSInspectorCallbackWrapper creator was using
inheritorID for the prototype structure which is unsafe for anything other
than a pure JS object. Instead we now create a new structure, which while
inefficient is not problematic as this code is not hit frequently.

fast/dom/Geolocation/resources/permission-denied.js: Added. Tests that the error callback is invoked with a permission error code when Geolocation permission is denied and the Geolocation service provides a good position fix.

Save the QCursor as a property in WidgetQt::setCursor
and actually change the cursor in QWebView::event() by making use
of the QEvent::DynamicPropertyChange event type.
When unsetCursor() is called on the QWidget we can fallback to
the cursor set by WebCore.

If persistency is enabled the default directory for LocalStorage and
ApplicationCache is now based on QDesktopServices::DataLocation and not
QDesktopServices::CacheLocation (as it is expected to keep this data
around after a reboot).

If persistency is enabled initialize HTML5 offline storage as well - this
fixed offline Storage for QtLauncher.

This adds several new CanvasXXXArray classes each of which has a custom constructor
and custom getters and setters. Also changed CanvasRenderingContext3D and GraphicsContext3D
to match the new and changed API.

run-webkit-tests --ignore-metrics strips the font related metrics from
the actual and expected data before comparing them.
In this way the render trees can be checked for obvious differences but
a successful test implies by no means that the layout is actually correct.

Adds a mock Geolocation service. This will be used to provide predictable behavior of the
Geolocation API for use in LayoutTests. Later changes will integrate the the mock
Geolocation service with DumpRenderTree.​https://bugs.webkit.org/show_bug.cgi?id=28264

fast/dom/Geolocation/resources/error.js: Added. Tests that the error callback is called when the service reports an error.

Adds a mock Geolocation service. This will be used to provide predictable behavior of the
Geolocation API for use in LayoutTests. Later changes will integrate the the mock
Geolocation service with DumpRenderTree.​https://bugs.webkit.org/show_bug.cgi?id=28264

The mock Geolocation service returns a fixed position or error. This position or error can be
set through static methods on the GeolocationService class. The position or error is shared
between all instances of the mock Geolocation service.

Implementation details.
The GeolocationService object maintains a pointer to a factory function which it uses to create
Geolocation service instances. Each platform implementing Geolocation sets this pointer
to the factory function for their platform's implementation. When the mock Geolocation service
is activated, the factory function pointer is reset to the factory function for the mock service.

platform/GeolocationService.cpp: Modified.
(WebCore::createGeolocationServiceNull): Added. Returns null in place of a Geolocation service. Used to avoid link errors on platforms where Geolocation is not implemented.
(WebCore::GeolocationService::create): Added. Uses the factory function pointer to create a Geolocation service implementation.
(WebCore::GeolocationService::useMock): Added. Configures the GeolocationServie to use the mock implementation.

platform/GeolocationService.h: Modified.

platform/mock: Added.

platform/mock/GeolocationServiceMock.cpp: Added.
(WebCore::GeolocationServiceMock::create): Added. Creates a GeolocationServiceMock object.
(WebCore::GeolocationServiceMock::GeolocationServiceMock): Added. Constructor.
(WebCore::GeolocationServiceMock::~GeolocationServiceMock): Added. Destructor.
(WebCore::GeolocationServiceMock::setPosition): Added. Sets the position that will be returned by the object.
(WebCore::GeolocationServiceMock::setError): Added. Sets the error that will be returned by the object.
(WebCore::GeolocationServiceMock::startUpdating): Added. GeolocationService implementation. Starts the service.
(WebCore::GeolocationServiceMock::stopUpdating): Added. GeolocationService implementation. Stops the service.
(WebCore::GeolocationServiceMock::timerFired): Added. Used to provide an asynchronous callback when the service is started.
(WebCore::GeolocationServiceMock::makeGeolocationCallbackFromAllInstances): Added. Used to call back when the position or error is updated.
(WebCore::GeolocationServiceMock::makeGeolocationCallback): Added. Used to call back when the service starts.
(WebCore::GeolocationServiceMock::initStatics): Added. Initializes statics members with constructors.
(WebCore::GeolocationServiceMock::cleanUpStatics): Added. Cleans up static members with constructors.

Adds a mock Geolocation service. This will be used to provide predictable behavior of the
Geolocation API for use in LayoutTests. Later changes will integrate the the mock
Geolocation service with DumpRenderTree.​https://bugs.webkit.org/show_bug.cgi?id=28264

Adds a mock Geolocation service. This will be used to provide predictable behavior of the
Geolocation API for use in LayoutTests. Later changes will integrate the the mock
Geolocation service with DumpRenderTree.​https://bugs.webkit.org/show_bug.cgi?id=28264

Adds a mock Geolocation service. This will be used to provide predictable behavior of the
Geolocation API for use in LayoutTests. Later changes will integrate the the mock
Geolocation service with DumpRenderTree.​https://bugs.webkit.org/show_bug.cgi?id=28264

This also adds a new method to the fast/js/js-test-pre.js that runs a command
and prints it to the screen. This should really help with making the output of
the tests readable without looking at the source code.

fast/js/resources/js-test-pre.js:
(tryAndLog): Runs a command and logs it to the screen.

platform/network/chromium/ResourceRequest.h:
Switch from appCache 'context' to 'host' terminology.
Note: leaving the old deprecated accessors in place until the matching
change in chrome is landed to use the new accessors.
(WebCore::ResourceRequest::ResourceRequest):
(WebCore::ResourceRequest::appCacheHostID):
(WebCore::ResourceRequest::setAppCacheHostID):
(WebCore::ResourceRequest::appCacheContextID):
(WebCore::ResourceRequest::setAppCacheContextID):

platform/network/chromium/ResourceResponse.h:
Add an appCacheManifestURL getter/setter.
Drop the 'get' prefix from the appCacheID getter.
Note: leaving the old deprecated 'get' prefixed accessor in place until the matching
change in chrome is landed to use the new accessor.
(WebCore::ResourceResponse::appCacheID):
(WebCore::ResourceResponse::appCacheManifestURL):
(WebCore::ResourceResponse::setAppCacheManifestURL):
(WebCore::ResourceResponse::getAppCacheID):