WebKit-https.git
7 years agoObjective-C API: JSObjCClassInfo creates reference cycle with JSContext
mhahnenberg@apple.com [Wed, 30 Jan 2013 00:07:38 +0000 (00:07 +0000)]
Objective-C API: JSObjCClassInfo creates reference cycle with JSContext
https://bugs.webkit.org/show_bug.cgi?id=107839

Reviewed by Oliver Hunt.

JSContext has a JSWrapperMap, which has an NSMutableDictionary m_classMap, which has values that
are JSObjCClassInfo objects, which have strong references to two JSValue *'s, m_prototype and
m_constructor, which in turn have strong references to the JSContext, creating a reference cycle.
We should make m_prototype and m_constructor Weak<JSObject>. This gets rid of the strong reference
to the JSContext and also prevents clients from accidentally creating reference cycles by assigning
to the prototype of the constructor. If Weak<JSObject> fields are ever garbage collected, we will
reallocate them.

* API/JSContext.mm:
(-[JSContext wrapperMap]):
* API/JSContextInternal.h:
* API/JSWrapperMap.mm:
(-[JSObjCClassInfo initWithContext:forClass:superClassInfo:]):
(-[JSObjCClassInfo dealloc]):
(-[JSObjCClassInfo allocateConstructorAndPrototypeWithSuperClassInfo:]):
(-[JSObjCClassInfo allocateConstructorAndPrototype]):
(-[JSObjCClassInfo wrapperForObject:]):
(-[JSObjCClassInfo constructor]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141176 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRefactor ShadowRoot exception handling
esprehn@chromium.org [Wed, 30 Jan 2013 00:02:15 +0000 (00:02 +0000)]
Refactor ShadowRoot exception handling
https://bugs.webkit.org/show_bug.cgi?id=108209

Reviewed by Dimitri Glazkov.

Source/WebCore:

Many of the exception cases for ShadowRoot are actually impossible and
should be asserts instead. We can also move the one case of exception logic,
for elements that don't allow author shadows into Element::createShadowRoot
instead of having it all over the ShadowRoot and ElementShadow classes. This
is the first step in centralizing all ShadowRoot creation inside ElementShadow.

No new tests, covered by existing tests.

* WebCore.exp.in:
* dom/Element.cpp:
(WebCore::Element::createShadowRoot): Be explicit about what kind of ShadowRoot you're creating.
(WebCore::Element::ensureUserAgentShadowRoot): No more exceptions.
* dom/ElementShadow.cpp:
(WebCore::ElementShadow::addShadowRoot): This never actually throws exceptions, remove ExceptionCode.
* dom/ElementShadow.h:
(ElementShadow):
* dom/ShadowRoot.cpp:
(WebCore::determineUsageType): Merge with Element::createShadowRoot.
(WebCore):
(WebCore::ShadowRoot::ShadowRoot): Moved Histogram logic here since it's actually about the constructor anyway.
(WebCore::ShadowRoot::create): Removed overload that made the code less obvious.
* dom/ShadowRoot.h:
(ShadowRoot):
* html/HTMLKeygenElement.cpp:
(WebCore::HTMLKeygenElement::HTMLKeygenElement):
* html/shadow/TextFieldDecorationElement.cpp:
(WebCore::getDecorationRootAndDecoratedRoot):
* testing/Internals.cpp:
(WebCore::Internals::ensureShadowRoot):
(WebCore::Internals::createShadowRoot):

Source/WebKit/win:

* WebKit.vcproj/WebKitExports.def.in: Swap ShadowRoot::create export with Element::createShadowRoot.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141175 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoGet rid of MessageID::is()
andersca@apple.com [Wed, 30 Jan 2013 00:00:39 +0000 (00:00 +0000)]
Get rid of MessageID::is()
https://bugs.webkit.org/show_bug.cgi?id=108234

Reviewed by Beth Dakin.

Add explicit message receiver name equality checks instead of using MessageID::is.

* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
(WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
* Platform/CoreIPC/MessageID.h:
* PluginProcess/WebProcessConnection.cpp:
(WebKit::WebProcessConnection::didReceiveMessage):
(WebKit::WebProcessConnection::didReceiveSyncMessage):
* Shared/mac/SecItemShim.cpp:
(WebKit::SecItemShim::didReceiveMessageOnConnectionWorkQueue):
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didReceiveMessage):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::didReceiveMessage):
(WebKit::WebContext::didReceiveSyncMessage):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReceiveMessage):
(WebKit::WebPageProxy::didReceiveSyncMessage):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didReceiveMessage):
(WebKit::WebProcessProxy::didReceiveSyncMessage):
(WebKit::WebProcessProxy::didReceiveMessageOnConnectionWorkQueue):
* UIProcess/mac/SecItemShimProxy.cpp:
(WebKit::SecItemShimProxy::didReceiveMessageOnConnectionWorkQueue):
* WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveMessage):
(WebKit::NetworkProcessConnection::didReceiveSyncMessage):
* WebProcess/Plugins/PluginProcessConnection.cpp:
(WebKit::PluginProcessConnection::didReceiveSyncMessage):
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::didReceiveMessageOnConnectionWorkQueue):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didReceiveMessage):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveMessage):
(WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141174 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAllow clients to ask for the WebView/WKView placeholder view when in full screen...
jer.noble@apple.com [Tue, 29 Jan 2013 23:54:46 +0000 (23:54 +0000)]
Allow clients to ask for the WebView/WKView placeholder view when in full screen mode.
https://bugs.webkit.org/show_bug.cgi?id=103558
<rdar://problem/12763112>

Reviewed by Benjamin Poulain.

Source/WebKit/mac:

Clients may want to behave differently when their WebView/WKView has been swapped out by a placeholder
view when in full screen mode.  Add a simple accessor for the existing placeholder view to
WebFullScreenController and WebView.

* WebView/WebFullScreenController.h:
* WebView/WebFullScreenController.mm:
(-[WebFullScreenController webViewPlaceholder]): Added simple accessor.
* WebView/WebView.mm:
(-[WebView fullScreenPlaceholderView]): Added simple accessor.

Source/WebKit2:

Clients may want to behave differently when their WebView/WKView has been swapped out by a placeholder
view when in full screen mode.  Add a simple accessor for the existing placeholder view to
WKFullScreenWindowController and WKView.

* UIProcess/API/mac/WKView.mm:
(-[WKView fullScreenPlaceholderView]): Added simple accessor.
* UIProcess/API/mac/WKViewPrivate.h:
* UIProcess/mac/WKFullScreenWindowController.h:
* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController webViewPlaceholder]): Added simple accessor.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141173 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agorun-api-tests should have an option to specify root
jberlin@webkit.org [Tue, 29 Jan 2013 23:35:54 +0000 (23:35 +0000)]
run-api-tests should have an option to specify root
https://bugs.webkit.org/show_bug.cgi?id=108210

Reviewed by Ryosuke Niwa.

* Scripts/run-api-tests:
Add the option and use it to set the configuration product directory. Since it is supposed
to point to the built products, do not build the products if root is specified (this mimics
the behavior of run-javascriptcore-tests).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141172 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[WK2] Call LayerTreeHost::deviceOrPageScaleFactorChanged() when a device or page...
commit-queue@webkit.org [Tue, 29 Jan 2013 23:24:53 +0000 (23:24 +0000)]
[WK2] Call LayerTreeHost::deviceOrPageScaleFactorChanged() when a device or page scale factor is changed.
https://bugs.webkit.org/show_bug.cgi?id=107802

Patch by Huang Dongsung <luxtella@company100.net> on 2013-01-29
Reviewed by Simon Fraser.

Currently, LayerTreeHostMac and *GTK call deviceOrPageScaleFactorChanged()
of the non compositing GraphicsLayer when a device scale factor is changed.

There are two problems.
1. We don't notify LayerTreeHost when a page scale factor is changed.
2. When using TiledCoreAnimationDrawingAreaProxy, LayerTreeHostMac does
not receive the device scale factor changed callback.

So this patch changes three points.
1. Rename from deviceScaleFactorDidChange() to deviceOrPageScaleFactorChanged()
in LayerTreeHost.
2. WebPage::setDeviceScaleFactor() calls LayerTreeHost::deviceScaleFactorDidChange()
because of dealing with TiledCoreAnimationDrawingAreaProxy.
3. WebPage::pageScaleFactor() calls LayerTreeHost::deviceScaleFactorDidChange()
to call deviceOrPageScaleFactorChanged() of the non compositing GraphicsLayer.

Unfortunately, I couldn't think of a way to test this in an automated fashion.

* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
(WebKit::CoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::updateBackingStoreState):
    Don't call LayerTreeHost::deviceScaleFactorDidChange() because this
    method calls WebPage::setDeviceScaleFactor() and then
    LayerTreeHost::deviceScaleFactorDidChange() is called.
* WebProcess/WebPage/LayerTreeHost.h:
(LayerTreeHost):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::scalePage):
(WebKit::WebPage::setDeviceScaleFactor):
* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::deviceOrPageScaleFactorChanged):
* WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
(LayerTreeHostGtk):
* WebProcess/WebPage/mac/LayerTreeHostMac.h:
(LayerTreeHostMac):
* WebProcess/WebPage/mac/LayerTreeHostMac.mm:
(WebKit::LayerTreeHostMac::deviceOrPageScaleFactorChanged):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141171 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoGet rid of MessageID::get()
andersca@apple.com [Tue, 29 Jan 2013 23:15:17 +0000 (23:15 +0000)]
Get rid of MessageID::get()
https://bugs.webkit.org/show_bug.cgi?id=108235

Reviewed by Beth Dakin.

Just check for the message receiver name and message name explicitly instead.

* Platform/CoreIPC/MessageID.h:
(CoreIPC::MessageID::is):
* Shared/CoreIPCSupport/WebContextMessageKinds.h:
(WebContextLegacyMessage::messageReceiverName):
(WebContextLegacyMessage):
(WebContextLegacyMessage::postMessageMessageName):
(WebContextLegacyMessage::postSynchronousMessageMessageName):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::didReceiveMessage):
(WebKit::WebContext::didReceiveSyncMessage):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141170 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoREGRESSION (r140594): RELEASE_ASSERT_NOT_REACHED in JSC::Interpreter::execute
oliver@apple.com [Tue, 29 Jan 2013 22:52:58 +0000 (22:52 +0000)]
REGRESSION (r140594): RELEASE_ASSERT_NOT_REACHED in JSC::Interpreter::execute
https://bugs.webkit.org/show_bug.cgi?id=108097

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

LiteralParser was accepting a bogus 'var a.b = c' statement

* runtime/LiteralParser.cpp:
(JSC::::tryJSONPParse):

LayoutTests:

Add parser test for invalid var a.b syntax

* fast/js/parser-syntax-check-expected.txt:
* fast/js/script-tests/parser-syntax-check.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141168 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd support for enabling process suppression in WebProcesses with no visible pages
commit-queue@webkit.org [Tue, 29 Jan 2013 22:52:19 +0000 (22:52 +0000)]
Add support for enabling process suppression in WebProcesses with no visible pages
https://bugs.webkit.org/show_bug.cgi?id=108054

Patch by Kiran Muppala <cmuppala@apple.com> on 2013-01-29
Reviewed by Anders Carlsson.

Provide a preference to enable process suppression in WebProcesses with
no visible pages even if the application is not completely occluded.
This provides more opportunities for process suppression to take effect.

Replace the messaging of application occlusion status from UI process to
ChildProcesses with messages that indicate the current required process
suppression state.  WebProcessProxy should determine if the process is
eligible for process suppression based on both application occlusion
and page visibility.  When either of these parameters changes,
the proxy should message the child process of the updated process
suppression state.

* NetworkProcess/NetworkProcess.messages.in: Rename
SetApplicationIsOccluded to SetProcessSuppressionEnabled.
* PluginProcess/PluginProcess.messages.in: Ditto.
* Shared/ChildProcess.h:
(WebKit::ChildProcess::processSuppressionEnabled): Rename
applicationIsOccluded.
* Shared/WebPreferencesStore.h: Add a new preference
pageVisibilityBasedProcessSuppressionEnabled, to enabled/disable
process suppression of WebProcesses when all pages are hidden.
* Shared/mac/ChildProcessMac.mm:
(WebKit::ChildProcess::setProcessSuppressionEnabled): Rename
setApplicationIsOccluded.
(WebKit::ChildProcess::platformInitialize): Replace call to
setApplicationIsOccluded with setProcessSuppressionEnabled.
* SharedWorkerProcess/SharedWorkerProcess.messages.in: Rename
SetApplicationIsOccluded to SetProcessSuppressionEnabled.
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetPageVisibilityBasedProcessSuppressionEnabled):
(WKPreferencesGetPageVisibilityBasedProcessSuppressionEnabled):
* UIProcess/API/C/WKPreferencesPrivate.h:
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didFinishLaunching): Use setter
to update process suppression state instead of messaging directly.
Use WebContext::canEnableProcessSuppressionForNetworkProcess() helper
method to determine if process suppression should be enabled.
* UIProcess/Network/NetworkProcessProxy.h: Rename
setApplicationIsOccluded to setProcessSuppresionEnabled.
* UIProcess/Network/mac/NetworkProcessProxyMac.mm:
(WebKit::NetworkProcessProxy::setProcessSuppressionEnabled): Ditto.
* UIProcess/Plugins/PluginProcessManager.h: Ditto.
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::didFinishLaunching): Use setter
to update process suppression state instead of messaging directly.
Use WebContext::canEnableProcessSuppressionForGlobalChildProcesses()
helper method to determine if process suppression should be enabled.
* UIProcess/Plugins/PluginProcessProxy.h: Rename
setApplicationIsOccluded to setProcessSuppresionEnabled.
* UIProcess/Plugins/mac/PluginProcessManagerMac.mm:
(WebKit::PluginProcessManager::setProcessSuppressionEnabled): Ditto.
* UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
(WebKit::PluginProcessProxy::setProcessSuppressionEnabled): Ditto.
* UIProcess/SharedWorkers/SharedWorkerProcessManager.h: Ditto.
* UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp:
(WebKit::SharedWorkerProcessProxy::didFinishLaunching): Use setter
to update process suppression state instead of messaging directly.
Use WebContext::canEnableProcessSuppressionForGlobalChildProcesses()
helper method to determine if process suppression should be enabled.
* UIProcess/SharedWorkers/SharedWorkerProcessProxy.h: Rename
setApplicationIsOccluded to setProcessSuppresionEnabled.
* UIProcess/SharedWorkers/mac/SharedWorkerProcessManagerMac.mm:
(WebKit::SharedWorkerProcessManager::setProcessSuppressionEnabled):
Ditto.
* UIProcess/SharedWorkers/mac/SharedWorkerProcessProxyMac.mm:
(WebKit::SharedWorkerProcessProxy::setProcessSuppressionEnabled): Ditto.
* UIProcess/WebContext.h: Replace applicationIsOccluded() getter with
helper methods to determine if a child process can have process
suppression enabled.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::viewStateDidChange): Notify WebProcessProxy of
page visibility change.
(WebKit::WebPageProxy::preferencesDidChange): Notify WebProcessProxy of
change in preferences.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::WebProcessProxy): Initialize member variable
tracking process suppression state to false.
(WebKit::WebProcessProxy::createWebPage): Update set of pages which can
be process suppressed and the resulting process suppression state for
the child process.
(WebKit::WebProcessProxy::addExistingWebPage): Ditto.
(WebKit::WebProcessProxy::removeWebPage): Ditto.
(WebKit::WebProcessProxy::pageVisibilityChanged): Ditto.
(WebKit::WebProcessProxy::pagePreferencesChanged): Ditto.
(WebKit::WebProcessProxy::didFinishLaunching): Call
updateProcessSuppressionState().
* UIProcess/WebProcessProxy.h:
* UIProcess/mac/WebContextMac.mm:
(WebKit::updateProcessSuppressionStateOfGlobalChildProcesses): Use new
helper method canEnableProcessSuppressionForGlobalChildProcesses() to
determine if process suppression should be enabled.
(WebKit::applicationOcclusionStateChanged): Update renamed methods
and variables.
(WebKit::enableOcclusionNotifications): Move OmitProcessSuppression
user default check into canEnableProcessSuppression methods.
(WebKit::omitProcessSuppression):
(WebKit::WebContext::updateProcessSuppressionStateOfChildProcesses):
Use new helper method canEnableProcessSuppressionForNetworkProcess() to
determine if process suppression should be enabled for NetworkProcess.
Let WebProcess update process suppression state based on application
occlusion state and page visibility.
(WebKit::WebContext::canEnableProcessSuppressionForNetworkProcess):
(WebKit::WebContext::canEnableProcessSuppressionForWebProcess):
(WebKit::WebContext::canEnableProcessSuppressionForGlobalChildProcesses):
(WebKit::WebContext::processSuppressionEnabledChanged): Reevaluate if
process suppression is enabled for all contexts and update process
suppression state of global child processes.
* UIProcess/mac/WebProcessProxyMac.mm:
(WebKit::WebProcessProxy::pageIsProcessSuppressible):
(WebKit::WebProcessProxy::allPagesAreProcessSuppressible):
(WebKit::WebProcessProxy::updateProcessSuppressionState):
* WebProcess/WebProcess.messages.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141167 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoChange DatabaseContext lookup to be thread-safe.
mark.lam@apple.com [Tue, 29 Jan 2013 22:51:31 +0000 (22:51 +0000)]
Change DatabaseContext lookup to be thread-safe.
https://bugs.webkit.org/show_bug.cgi?id=107784.

Reviewed by Geoffrey Garen.

DatabaseContext will no longer be a Supplement of ScriptExecutionContext.
Instead we will maintain a mutex guarded contextMap in the DatabaseManager
which maps ScriptExecutionContexts to DatabaseContexts.

Also cleaned up the shutdown mechanism of the DatabaseContext,
DatabaseThread, and Databases when their owner ScriptExecutionContext
destructs.

No new tests.

* Modules/webdatabase/AbstractDatabase.cpp:
(WebCore::AbstractDatabase::AbstractDatabase):
* Modules/webdatabase/AbstractDatabase.h:
(WebCore::AbstractDatabase::databaseContext):
(AbstractDatabase):
* Modules/webdatabase/Database.cpp:
(WebCore::Database::Database):
* Modules/webdatabase/Database.h:
(WebCore):
(Database):
* Modules/webdatabase/DatabaseContext.cpp:
(WebCore):
(WebCore::DatabaseContext::DatabaseContext):
(WebCore::DatabaseContext::~DatabaseContext):
(WebCore::DatabaseContext::contextDestroyed):
(WebCore::DatabaseContext::stop):
(WebCore::DatabaseContext::databaseThread):
(WebCore::DatabaseContext::stopDatabases):
* Modules/webdatabase/DatabaseContext.h:
(DatabaseContext):
(WebCore::DatabaseContext::scriptExecutionContext):
(WebCore::DatabaseContext::hasOpenDatabases):
(WebCore::DatabaseContext::stopDatabases):
* Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::manager):
(WebCore::DatabaseManager::DatabaseManager):
(WebCore::DatabaseManager::getExistingDatabaseContext):
(WebCore):
(WebCore::DatabaseManager::getDatabaseContext):
(WebCore::DatabaseManager::registerDatabaseContext):
(WebCore::DatabaseManager::unregisterDatabaseContext):
(WebCore::DatabaseManager::notifyDatabaseContextConstructed):
(WebCore::DatabaseManager::notifyDatabaseContextDestructed):
(WebCore::DatabaseManager::openDatabase):
(WebCore::DatabaseManager::openDatabaseSync):
(WebCore::DatabaseManager::hasOpenDatabases):
(WebCore::DatabaseManager::stopDatabases):
(WebCore::DatabaseManager::interruptAllDatabasesForContext):
* Modules/webdatabase/DatabaseManager.h:
(WebCore):
(DatabaseManager):
(WebCore::DatabaseManager::notifyDatabaseContextConstructed):
(WebCore::DatabaseManager::notifyDatabaseContextDestructed):
* Modules/webdatabase/DatabaseSync.cpp:
(WebCore::DatabaseSync::DatabaseSync):
* Modules/webdatabase/DatabaseSync.h:
(WebCore):
(DatabaseSync):
* Modules/webdatabase/DatabaseThread.cpp:
(WebCore::DatabaseThread::~DatabaseThread):
(WebCore::DatabaseThread::requestTermination):
* Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::canEstablishDatabase):
* dom/ActiveDOMObject.cpp:
(WebCore::ActiveDOMObject::~ActiveDOMObject):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141166 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoStart using the message flag in MessageEncoder/MessageDecoder
andersca@apple.com [Tue, 29 Jan 2013 22:24:55 +0000 (22:24 +0000)]
Start using the message flag in MessageEncoder/MessageDecoder
https://bugs.webkit.org/show_bug.cgi?id=108227

Reviewed by Beth Dakin.

Stop using the flags in MessageID and store the flags directly in the message instead.
This is another step towards eliminating MessageID.

* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::SyncMessageState::processIncomingMessage):
(CoreIPC::Connection::createSyncMessageEncoder):
(CoreIPC::Connection::sendMessage):
(CoreIPC::Connection::sendSyncMessage):
(CoreIPC::Connection::sendSyncMessageFromSecondaryThread):
(CoreIPC::Connection::dispatchSyncMessage):
(CoreIPC::Connection::dispatchMessage):
* Platform/CoreIPC/Connection.h:
* Platform/CoreIPC/MessageDecoder.cpp:
(CoreIPC::MessageDecoder::MessageDecoder):
(CoreIPC::MessageDecoder::isSyncMessage):
(CoreIPC):
(CoreIPC::MessageDecoder::shouldDispatchMessageWhenWaitingForSyncReply):
* Platform/CoreIPC/MessageDecoder.h:
(MessageDecoder):
* Platform/CoreIPC/MessageEncoder.cpp:
(CoreIPC):
(CoreIPC::MessageEncoder::MessageEncoder):
(CoreIPC::MessageEncoder::~MessageEncoder):
(CoreIPC::MessageEncoder::setIsSyncMessage):
(CoreIPC::MessageEncoder::setShouldDispatchMessageWhenWaitingForSyncReply):
* Platform/CoreIPC/MessageEncoder.h:
(MessageEncoder):
* Platform/CoreIPC/MessageFlags.h: Copied from Source/WebKit2/Platform/CoreIPC/MessageEncoder.h.
(CoreIPC):
* Platform/CoreIPC/MessageID.h:
* WebKit2.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141165 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed. Temporarily disable inspector tests.
roger_fong@apple.com [Tue, 29 Jan 2013 22:14:14 +0000 (22:14 +0000)]
Unreviewed. Temporarily disable inspector tests.
They are all timing out due to some configuration problem on the bots.

* platform/win/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141164 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[CSS Grid Layout] Make resolveContentBasedTrackSizingFunctionsForItems reuse distribu...
jchaffraix@webkit.org [Tue, 29 Jan 2013 22:11:15 +0000 (22:11 +0000)]
[CSS Grid Layout] Make resolveContentBasedTrackSizingFunctionsForItems reuse distributeSpaceToTracks
https://bugs.webkit.org/show_bug.cgi?id=108110

Reviewed by Tony Chang.

This change makes us match more closely the specification by reusing distributeSpaceToTracks inside
resolveContentBasedTrackSizingFunctionsForItems. This also removes some existing code duplication.

Refactoring covered by existing tests.

* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
Updated after distributeSpaceToTracks new arguments. Copying the tracks to a Vector<GridTrack*> is
now done here.

(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
Removed code duplication and switched to using distributeSpaceToTracks.

(WebCore::RenderGrid::distributeSpaceToTracks):
Refactored distributeSpaceToTracks to implement the distribution of any extra space above max breadth
as it was required to pass the tests (required to properly handling min-content > max). Also changed
the arguments of the function to better match the intent of the function.

* rendering/RenderGrid.h: Updated distributeSpaceToTracks's arguments.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141163 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRemove all ShadowRoots during ElementShadow destruction
esprehn@chromium.org [Tue, 29 Jan 2013 21:51:25 +0000 (21:51 +0000)]
Remove all ShadowRoots during ElementShadow destruction
https://bugs.webkit.org/show_bug.cgi?id=108207

Reviewed by Dimitri Glazkov.

There's no reason to expose removeAllShadowRoots since the only legitimate
place to call it is right as we're destroying the ElementShadow.

No new tests, just refactoring.

* dom/Element.cpp:
(WebCore::Element::~Element): Remove call to removeAllShadowRoots()
* dom/ElementShadow.h:
(WebCore::ElementShadow::~ElementShadow): Call removeAllShadowRoots().
(ElementShadow): Make removeAllShadowRoots() private.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141162 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoREGRESSION (r135628-135632): Double box shadow failure to render
junov@google.com [Tue, 29 Jan 2013 21:32:07 +0000 (21:32 +0000)]
REGRESSION (r135628-135632): Double box shadow failure to render
https://bugs.webkit.org/show_bug.cgi?id=107833

Reviewed by Simon Fraser.

Source/WebCore:

Regression caused by http://trac.webkit.org/changeset/135629
The regression was due to faulty occlusion logic that was assuming
that drawing the background color of a render box background layer
could be skipped when the same layer also has an opaque image attached.
In the case where the background color is drawn for the purpose of
rendering a box shadow, the shadow is typically not
completely occluded by the background image because of the shadow
blur and/or offset.  This patch fixes the problem by not culling a
background draw if it is used to draw a box shadow.

Test: fast/backgrounds/gradient-background-shadow.html

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
Changing occlusion culling test to never cull background color
draw if it is used to draw a box shadow. This is because box shadows
can draw outside the border fill region.

LayoutTests:

New ref test verifies that box shadow is drawn when
background is an opaque image. Test uses an blue gradient
as background image. Reference uses blue background color.

* fast/backgrounds/gradient-background-shadow-expected.html: Added.
* fast/backgrounds/gradient-background-shadow.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141160 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd RenderLayer::enclosingStackingContainer
vollick@chromium.org [Tue, 29 Jan 2013 21:22:27 +0000 (21:22 +0000)]
Add RenderLayer::enclosingStackingContainer
https://bugs.webkit.org/show_bug.cgi?id=108211

Reviewed by Simon Fraser.

No new tests, no change in functionality.

* rendering/RenderLayer.h:
(WebCore::RenderLayer::enclosingStackingContainer):
  This function is similar to RenderLayer::stackingContainer, but may return the
  layer itself if it's a stacking container.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141159 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[CMake] Add minimum version information for tool dependencies
paroga@webkit.org [Tue, 29 Jan 2013 21:18:41 +0000 (21:18 +0000)]
[CMake] Add minimum version information for tool dependencies
https://bugs.webkit.org/show_bug.cgi?id=97592

Patch by Laszlo Gombos <l.gombos@samsung.com> on 2013-01-29
Reviewed by Kenneth Rohde Christiansen.

Capture the minimum version information for the tools that are required
to build WebKit for all CMake based build systems.

* CMakeLists.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141157 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRename TextBreakIteratorWinCE to TextBreakIteratorWchar
paroga@webkit.org [Tue, 29 Jan 2013 21:14:58 +0000 (21:14 +0000)]
Rename TextBreakIteratorWinCE to TextBreakIteratorWchar
https://bugs.webkit.org/show_bug.cgi?id=108094

Reviewed by Ryosuke Niwa.

TextBreakIteratorWinCE does not contain any Windows CE specific code.
Rename it to TextBreakIteratorWchar to match the name in wtf/unicode.

* platform/text/wchar/TextBreakIteratorWchar.cpp: Renamed from Source/WebCore/platform/text/wince/TextBreakIteratorWinCE.cpp.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141156 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoForce debug builds to do bounds checks on contiguous property storage
oliver@apple.com [Tue, 29 Jan 2013 21:11:11 +0000 (21:11 +0000)]
Force debug builds to do bounds checks on contiguous property storage
https://bugs.webkit.org/show_bug.cgi?id=108212

Reviewed by Mark Hahnenberg.

Add a ContiguousData type that we use to represent contiguous property
storage.  In release builds it is simply a pointer to the correct type,
but in debug builds it also carries the data length and performs bounds
checks.  This means we don't have to add as many manual bounds assertions
when performing operations over contiguous data.

* dfg/DFGOperations.cpp:
* runtime/ArrayStorage.h:
(ArrayStorage):
(JSC::ArrayStorage::vector):
* runtime/Butterfly.h:
(JSC::ContiguousData::ContiguousData):
(ContiguousData):
(JSC::ContiguousData::operator[]):
(JSC::ContiguousData::data):
(JSC::ContiguousData::length):
(JSC):
(JSC::Butterfly::contiguousInt32):
(Butterfly):
(JSC::Butterfly::contiguousDouble):
(JSC::Butterfly::contiguous):
* runtime/JSArray.cpp:
(JSC::JSArray::sortNumericVector):
(ContiguousTypeAccessor):
(JSC::ContiguousTypeAccessor::getAsValue):
(JSC::ContiguousTypeAccessor::setWithValue):
(JSC::ContiguousTypeAccessor::replaceDataReference):
(JSC):
(JSC::JSArray::sortCompactedVector):
(JSC::JSArray::sort):
(JSC::JSArray::fillArgList):
(JSC::JSArray::copyToArguments):
* runtime/JSArray.h:
(JSArray):
* runtime/JSObject.cpp:
(JSC::JSObject::copyButterfly):
(JSC::JSObject::visitButterfly):
(JSC::JSObject::createInitialInt32):
(JSC::JSObject::createInitialDouble):
(JSC::JSObject::createInitialContiguous):
(JSC::JSObject::convertUndecidedToInt32):
(JSC::JSObject::convertUndecidedToDouble):
(JSC::JSObject::convertUndecidedToContiguous):
(JSC::JSObject::convertInt32ToDouble):
(JSC::JSObject::convertInt32ToContiguous):
(JSC::JSObject::genericConvertDoubleToContiguous):
(JSC::JSObject::convertDoubleToContiguous):
(JSC::JSObject::rageConvertDoubleToContiguous):
(JSC::JSObject::ensureInt32Slow):
(JSC::JSObject::ensureDoubleSlow):
(JSC::JSObject::ensureContiguousSlow):
(JSC::JSObject::rageEnsureContiguousSlow):
(JSC::JSObject::ensureLengthSlow):
* runtime/JSObject.h:
(JSC::JSObject::ensureInt32):
(JSC::JSObject::ensureDouble):
(JSC::JSObject::ensureContiguous):
(JSC::JSObject::rageEnsureContiguous):
(JSObject):
(JSC::JSObject::indexingData):
(JSC::JSObject::currentIndexingData):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141154 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Chromium] Correct zoom for focused node when using compositor scaling
wangxianzhu@chromium.org [Tue, 29 Jan 2013 21:08:37 +0000 (21:08 +0000)]
[Chromium] Correct zoom for focused node when using compositor scaling
https://bugs.webkit.org/show_bug.cgi?id=107599

Reviewed by Adam Barth.

When applyDeviceScaleFactorInCompositor, targetScale should exclude device scale factor.
When applyPageScaleFactorInCompositor, caret size and content sizes are in css pixels and they should be in the viewport of the new scale.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::scrollFocusedNodeIntoRect):
(WebKit):
(WebKit::WebViewImpl::computeScaleAndScrollForFocusedNode): Extracted from scrollFocusedNodeIntoRect() to ease testing.
* src/WebViewImpl.h:
(WebViewImpl):
* tests/WebFrameTest.cpp: Updated test DivScrollEditableTest
* tests/data/get_scale_for_zoom_into_editable_test.html: Moved the logic of onload script (which seems not to work) into WebFrameTest.cpp.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141153 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[EFL] Add Toggle fullscreen (F11) to MiniBrowser
bruno.abinader@basyskom.com [Tue, 29 Jan 2013 21:04:46 +0000 (21:04 +0000)]
[EFL] Add Toggle fullscreen (F11) to MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=108122

Reviewed by Antonio Gomes.

Adds fullscreen mode toggle (F11) option to MiniBrowser using native API.

* MiniBrowser/efl/main.c:
(on_key_down): Add 'F11' key handler.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141152 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMediaStream API: A MediaStreamComponent should be able to return the MediaStreamDescr...
tommyw@google.com [Tue, 29 Jan 2013 20:59:32 +0000 (20:59 +0000)]
MediaStream API: A MediaStreamComponent should be able to return the MediaStreamDescriptor it belongs to
https://bugs.webkit.org/show_bug.cgi?id=108173

Reviewed by Adam Barth.

Source/Platform:

* chromium/public/WebMediaStreamComponent.h:
(WebKit):
(WebMediaStreamComponent):

Source/WebCore:

To be able to return the MediaStreamDescriptor a MediaStreamComponent belongs to the "ownership"
of the MediaStreamDescriptor needed to move from a MediaStreamTrack to the MediaStreamComponent.
This is also better from an architectonic view as well.

Patch covered by existing tests.

* Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::MediaStream):
(WebCore::MediaStream::addTrack):
(WebCore::MediaStream::addRemoteTrack):
* Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::create):
(WebCore::MediaStreamTrack::MediaStreamTrack):
(WebCore::MediaStreamTrack::setEnabled):
* Modules/mediastream/MediaStreamTrack.h:
(MediaStreamTrack):
* Modules/mediastream/RTCStatsRequestImpl.cpp:
(WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl):
* platform/chromium/support/WebMediaStreamComponent.cpp:
(WebKit::WebMediaStreamComponent::stream):
(WebKit):
* platform/mediastream/MediaStreamComponent.h:
(WebCore):
(WebCore::MediaStreamComponent::create):
(MediaStreamComponent):
(WebCore::MediaStreamComponent::stream):
(WebCore::MediaStreamComponent::setStream):
(WebCore::MediaStreamComponent::MediaStreamComponent):
* platform/mediastream/MediaStreamDescriptor.h:
(WebCore::MediaStreamDescriptor::MediaStreamDescriptor):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141151 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoEncode/decode message send flags in the message
andersca@apple.com [Tue, 29 Jan 2013 20:56:37 +0000 (20:56 +0000)]
Encode/decode message send flags in the message
https://bugs.webkit.org/show_bug.cgi?id=108208

Reviewed by Beth Dakin.

This is another step towards getting rid of MessageID.

* Platform/CoreIPC/ArgumentDecoder.cpp:
(CoreIPC::ArgumentDecoder::decodeUInt8):
(CoreIPC):
* Platform/CoreIPC/ArgumentDecoder.h:
(ArgumentDecoder):
(CoreIPC::ArgumentDecoder::decode):
(CoreIPC):
* Platform/CoreIPC/ArgumentEncoder.cpp:
(CoreIPC::ArgumentEncoder::encode):
(CoreIPC):
* Platform/CoreIPC/ArgumentEncoder.h:
(ArgumentEncoder):
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::sendMessage):
* Platform/CoreIPC/MessageDecoder.cpp:
(CoreIPC::MessageDecoder::MessageDecoder):
* Platform/CoreIPC/MessageDecoder.h:
(CoreIPC::MessageDecoder::messageSendFlags):
(MessageDecoder):
* Platform/CoreIPC/MessageEncoder.cpp:
(CoreIPC):
(CoreIPC::MessageEncoder::MessageEncoder):
(CoreIPC::MessageEncoder::~MessageEncoder):
(CoreIPC::MessageEncoder::setMessageSendFlags):
* Platform/CoreIPC/MessageEncoder.h:
(MessageEncoder):
* UIProcess/Authentication/AuthenticationChallengeProxy.h:
(CoreIPC):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141150 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Windows, WinCairo] Unreviewed build fix after r141050
bfulgham@webkit.org [Tue, 29 Jan 2013 20:56:20 +0000 (20:56 +0000)]
[Windows, WinCairo] Unreviewed build fix after r141050

* JavaScriptCore.vcxproj/JavaScriptCoreExports.def: Update symbols
to match JavaScriptCore.vcproj version.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141149 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCurrent error reporting method used by check-layout.js should not affect subsequent...
commit-queue@webkit.org [Tue, 29 Jan 2013 20:54:16 +0000 (20:54 +0000)]
Current error reporting method used by check-layout.js should not affect subsequent sub-tests using checking data-offset-y.
https://bugs.webkit.org/show_bug.cgi?id=105407

Patch by Pravin D <pravind.2k4@gmail.com> on 2013-01-29
Reviewed by Tony Chang.

When a testcase is processed by check-layout.js, the result is written just after the node being processed. This causes
offsetTop of subsequent sub-testcases to altered. If however if we process the nodes in the reverse order in which they
appear in the DOM tree, the result of node being processed will not affect the offsetTop of susequent nodes.

* resources/check-layout.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141147 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoIndexedDB: Pass metadata in to IDBOpenDBRequest.onUpgradeNeeded/onSuccess
alecflett@chromium.org [Tue, 29 Jan 2013 20:32:51 +0000 (20:32 +0000)]
IndexedDB: Pass metadata in to IDBOpenDBRequest.onUpgradeNeeded/onSuccess
https://bugs.webkit.org/show_bug.cgi?id=103920

Reviewed by Dimitri Glazkov.

Source/WebCore:

Update IDBCallbacks::onSuccess and IDBCallbacks::onUpgradeNeeded to
pass through a metadata parameter. While there, remove the unused
IDBTransactionBackendInterface parameter to onUpgradeNeeded.

As this is another step in the IDB refactor, I've simplified future cleanup
work by making the WebKit API code still use the old API. This
will make it possible to outright remove code on the chromium side rather
than another three-step checkin.

No new tests, as this is more refactoring.

* Modules/indexeddb/IDBCallbacks.h:
(WebCore::IDBCallbacks::onUpgradeNeeded): new method signature.
(WebCore::IDBCallbacks::onSuccess): new method signature.
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
(WebCore::IDBDatabaseBackendImpl::processPendingCalls):
(WebCore::IDBDatabaseBackendImpl::openConnection):
* Modules/indexeddb/IDBOpenDBRequest.cpp:
(WebCore::IDBOpenDBRequest::onUpgradeNeeded): use passed-in metadata.
(WebCore::IDBOpenDBRequest::onSuccess): use passed-in metadata.
* Modules/indexeddb/IDBOpenDBRequest.h:
(IDBOpenDBRequest):

Source/WebKit/chromium:

Support the new IDBCallbacks::onSuccess and IDBCallbacks::onUpgradeNeeded
while maintaining chromium compatibility by shimming in the old API
in the WebKit side. Future code will clean this up so that it is just a
pass-through as it was before.

* public/WebIDBCallbacks.h:
(WebKit):
(WebKit::WebIDBCallbacks::onSuccess): new method signature.
(WebKit::WebIDBCallbacks::onUpgradeNeeded): new method signature.
* src/IDBCallbacksProxy.cpp:
(WebKit::IDBCallbacksProxy::onSuccess): call on new method signature proxies through old API.
(WebKit):
(WebKit::IDBCallbacksProxy::onUpgradeNeeded): call on new method signature proxies through old API.
* src/IDBCallbacksProxy.h:
(IDBCallbacksProxy):
* src/WebIDBCallbacksImpl.cpp:
(WebKit::WebIDBCallbacksImpl::onSuccess): call on old WebKit proxy signature calls new API.
(WebKit):
(WebKit::WebIDBCallbacksImpl::onUpgradeNeeded): call on old WebKit proxy signature calls new API.
* src/WebIDBCallbacksImpl.h:
(WebIDBCallbacksImpl):
* tests/IDBAbortOnCorruptTest.cpp: new method signature.
(WebCore::MockIDBCallbacks::onSuccess):
* tests/IDBDatabaseBackendTest.cpp: new method signature.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141142 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCanvas support for isPointInStroke
krit@webkit.org [Tue, 29 Jan 2013 20:26:29 +0000 (20:26 +0000)]
Canvas support for isPointInStroke
https://bugs.webkit.org/show_bug.cgi?id=108185

Reviewed by Dean Jackson.

Source/WebCore:

isPointInStroke(x,y) returns true if a point hits the stroke
with applied stroke styles like dashArray, lineCap, lineJoin, lineWidth.
The syntax is similar to isPointInPath, which returns true if a point hits
the fill area of a path.
Firefox implemented isPointInStroke originally and unprefixed it recently:

https://bugzilla.mozilla.org/show_bug.cgi?id=803124

Test: fast/canvas/canvas-isPointInStroke.html

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasStrokeStyleApplier::strokeStyle): Take dashArray and lineDashOffset into account.
(WebCore):
(WebCore::CanvasRenderingContext2D::isPointInStroke): The implementation of the function.
* html/canvas/CanvasRenderingContext2D.h:
(CanvasRenderingContext2D):
* html/canvas/CanvasRenderingContext2D.idl: Added operation to interface.

LayoutTests:

Test the implementation of isPointOfStroke with all stroke style
properties in Canvas.

* fast/canvas/canvas-isPointInStroke-expected.txt: Added.
* fast/canvas/canvas-isPointInStroke.html: Added.
* fast/canvas/script-tests/canvas-isPointInStroke.js: Added.

* fast/canvas/canvas-isPointInStroke-expected.txt: Added.
* fast/canvas/canvas-isPointInStroke.html: Added.
* fast/canvas/script-tests/canvas-isPointInStroke.js: Added.
* inspector/profiler/canvas2d/canvas2d-api-changes.html: Added property for isPointInStroke.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141141 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 29 Jan 2013 20:19:48 +0000 (20:19 +0000)]
Unreviewed GTK gardening.

Rebaselining after r141122.
Removing a few duplicate test expectations.

* platform/gtk/TestExpectations:
* platform/gtk/fast/text/midword-break-before-surrogate-pair-expected.txt:
* platform/gtk/fonts/complex-text-shadows-expected.txt: Replaced with LayoutTests/platform/gtk/platform/gtk/fonts/complex-text-shadows-expected.txt.
* platform/gtk/fonts/font-face-with-complex-text-expected.txt: Replaced with LayoutTests/platform/gtk/platform/gtk/fonts/font-face-with-complex-text-expected.txt.
* platform/gtk/fonts/non-bmp-characters-expected.png: Copied from LayoutTests/platform/gtk/platform/gtk/fonts/non-bmp-characters-expected.png.
* platform/gtk/fonts/non-bmp-characters-expected.txt: Copied from LayoutTests/platform/gtk/platform/gtk/fonts/non-bmp-characters-expected.txt.
* platform/gtk/platform/gtk/fonts/complex-text-shadows-expected.txt: Removed.
* platform/gtk/platform/gtk/fonts/font-face-with-complex-text-expected.txt: Removed.
* platform/gtk/platform/gtk/fonts/non-bmp-characters-expected.png: Removed.
* platform/gtk/platform/gtk/fonts/non-bmp-characters-expected.txt: Removed.
* platform/gtk/svg/text/non-bmp-positioning-lists-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141140 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[CMake] Use offical Windows CE support
paroga@webkit.org [Tue, 29 Jan 2013 20:07:46 +0000 (20:07 +0000)]
[CMake] Use offical Windows CE support
https://bugs.webkit.org/show_bug.cgi?id=108061

Reviewed by Laszlo Gombos.

Recent version of CMake has added Windows CE support, but uses a
slightly different interface than the patched version used before.
Change the command line parameters to use the offical CMake binaries.

* Scripts/webkitdirs.pm:
(cmakeBasedPortArguments):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141137 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago.: Enable reuse of cached main resources
japhet@chromium.org [Tue, 29 Jan 2013 20:06:19 +0000 (20:06 +0000)]
.: Enable reuse of cached main resources
https://bugs.webkit.org/show_bug.cgi?id=105667

Reviewed by Adam Barth.

* Source/autotools/symbols.filter: Expose MemoryCache::resourceForURL().

Source/WebCore: Enable reuse of cached main resources
https://bugs.webkit.org/show_bug.cgi?id=105667

Reviewed by Adam Barth.

Test: http/tests/cache/cached-main-resource.html

* WebCore.exp.in:
* dom/Document.cpp:
(WebCore::Document::hasManifest): Returns true if the <html> element has a non-empty manifest attribute.
(WebCore):
* dom/Document.h:
(Document):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadedResourceFromMemoryCache): Don't send delegate callbacks for cache hit here, since
    MainResourceLoader will take care of it.
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::MainResourceLoader):
(WebCore::MainResourceLoader::receivedError):
(WebCore::MainResourceLoader::willSendRequest):
(WebCore::MainResourceLoader::responseReceived): Don't try to cache loads from the application cache.
(WebCore::MainResourceLoader::didFinishLoading): Don't try to cache loads from the application cache.
(WebCore::MainResourceLoader::load): Ensure we create a resource load identifier for cache hits. Also,
    ensure we correctly popualate fragment identifiers in the ResourceRequest reported to DocumentLoader.
(WebCore::MainResourceLoader::identifier):
* loader/MainResourceLoader.h: Rename m_substituteDataLoadIdentifier to m_identifierForLoadWithoutResourceLoader
    to better describe when it is used.
* loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::didAddClient): Synthesize redirect notifications for cache hits if necessary.
(WebCore::CachedRawResource::willSendRequest): Note the redirects we received.
(WebCore::CachedRawResource::canReuse): Don't reuse a resource if the redirect chain included a "Cache-control: no-store".
* loader/cache/CachedRawResource.h:
(CachedRawResource):
(RedirectPair):
(WebCore::CachedRawResource::RedirectPair::RedirectPair):
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::addClientToSet): Don't return cached data for a main resource synchronously
* loader/cache/CachedResource.h:
(WebCore::CachedResource::canReuse):
(CachedResource):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource): Leave cahce reuse of main resources off for chromium for now.
(WebCore::CachedResourceLoader::determineRevalidationPolicy): Permit cache reuse for main resources.
* testing/Internals.cpp:
(WebCore::Internals::isPreloaded):
(WebCore):
(WebCore::Internals::isLoadingFromMemoryCache):
* testing/Internals.h:
(Internals):
* testing/Internals.idl:

Source/WebKit/win: Enable reuse of cached main resources
https://bugs.webkit.org/show_bug.cgi?id=105667

Reviewed by Adam Barth.

* WebKit.vcproj/WebKitExports.def.in: Expose some MemoryCache symbols for use in Internals.

LayoutTests: Enable reuse of cached main resources
https://bugs.webkit.org/show_bug.cgi?id=105667.

Reviewed by Adam Barth.

* http/tests/cache/cached-main-resource-expected.txt: Added.
* http/tests/cache/cached-main-resource.html: Added.
* http/tests/cache/resources/cacheable-iframe.php: Added.
* http/tests/inspector/resource-har-pages-expected.txt:
* http/tests/loading/redirect-methods-expected.txt:
* http/tests/misc/favicon-loads-with-images-disabled-expected.txt:
* http/tests/misc/link-rel-icon-beforeload-expected.txt:
* platform/chromium/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141136 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFix a problem that deferred image decoding is enabled for multiframe images
commit-queue@webkit.org [Tue, 29 Jan 2013 19:09:48 +0000 (19:09 +0000)]
Fix a problem that deferred image decoding is enabled for multiframe images
https://bugs.webkit.org/show_bug.cgi?id=108152

Patch by Min Qin <qinmin@chromium.org> on 2013-01-29
Reviewed by Stephen White.

Deferred image decoding should only work for single frame images now.
However, using ImageDecoder::repetitionCount() does not capture all the cases.
Enforce the rule using ImageDecoder::frameCount()==1.
Fixing a failing layout test: platform/chromium/virtual/deferred/fast/images/icon-0colors.html

* platform/graphics/chromium/DeferredImageDecoder.cpp:
(WebCore::DeferredImageDecoder::frameBufferAtIndex):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141135 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[chromium] Fix contents size calculation for page scale initialization
aelias@chromium.org [Tue, 29 Jan 2013 19:01:36 +0000 (19:01 +0000)]
[chromium] Fix contents size calculation for page scale initialization
https://bugs.webkit.org/show_bug.cgi?id=108204

Reviewed by enne.

My previous patch http://webk.it/107424 had a few issues that are
blocking WebKit roll.

- We still need the layout in resize() given that
http://webk.it/107922 was reverted.

- I deleted code used only for the old page-scale mode in
contentsSize(), but this needs to wait until WebKit roll since it's
making bots fail in this short term.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::resize):
(WebKit::WebViewImpl::contentsSize):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141134 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd back test expectations that got erroneously removed in r140981.
rniwa@webkit.org [Tue, 29 Jan 2013 18:22:13 +0000 (18:22 +0000)]
Add back test expectations that got erroneously removed in r140981.

* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141133 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMove ElementShadow creation to ElementRareData
esprehn@chromium.org [Tue, 29 Jan 2013 18:22:03 +0000 (18:22 +0000)]
Move ElementShadow creation to ElementRareData
https://bugs.webkit.org/show_bug.cgi?id=108195

Reviewed by Dimitri Glazkov.

Move the creation of ElementShadow to ElementRareData
for better encapsulation, and get rid of ElementRareData::setShadow.

No new tests, just refactoring.

* dom/Element.cpp:
(WebCore::Element::~Element): Use clearShadow() instead of setShadow which is removed.
(WebCore::Element::shadow):
(WebCore::Element::ensureShadow): Use ElementRareData::ensureShadow().
* dom/ElementRareData.h:
(WebCore::ElementRareData::clearShadow): Added.
(WebCore::ElementRareData::ensureShadow): Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141132 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[chromium] Unreviewed build fix.
hclam@chromium.org [Tue, 29 Jan 2013 18:16:03 +0000 (18:16 +0000)]
[chromium] Unreviewed build fix.

Revert my revert at 141033 which can cause deadlock.

* platform/graphics/chromium/DiscardablePixelRef.cpp:
(WebCore::DiscardablePixelRefAllocator::allocPixelRef):
(WebCore::DiscardablePixelRef::DiscardablePixelRef):
* platform/graphics/chromium/DiscardablePixelRef.h:
(DiscardablePixelRef):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141131 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[chromium] Unreviewed DEPS roll.
hclam@chromium.org [Tue, 29 Jan 2013 18:09:36 +0000 (18:09 +0000)]
[chromium] Unreviewed DEPS roll.

Roll Chromium DEPS to 179332.

* DEPS:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141130 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoQueueStatusServer needs pages to display historical queue data
commit-queue@webkit.org [Tue, 29 Jan 2013 18:07:52 +0000 (18:07 +0000)]
QueueStatusServer needs pages to display historical queue data
https://bugs.webkit.org/show_bug.cgi?id=107659

Patch by Alan Cutter <alancutter@chromium.org> on 2013-01-29
Reviewed by Eric Seidel.

Created a /queue-charts/<queue-name> handler to present queue and patch data using Google Chart Tools.

* QueueStatusServer/app.yaml:
* QueueStatusServer/config/charts.py: Copied from Tools/QueueStatusServer/model/queuelog.py.
(get_time_unit):
* QueueStatusServer/filters/webkit_extras.py:
(webkit_linkify):
(webkit_bug_id):
(webkit_attachment_id):
(results_link):
(queue_status_link):
(queue_charts_link):
* QueueStatusServer/handlers/queuecharts.py: Added.
(QueueCharts):
(QueueCharts.get):
(QueueCharts._get_min_med_max):
(QueueCharts._get_patch_data):
(QueueCharts._get_patch_logs):
(QueueCharts._get_queue_data):
(QueueCharts._get_queue_logs):
(QueueCharts._get_time_unit):
(QueueCharts._get_timestamp):
(QueueCharts._get_view_range):
* QueueStatusServer/handlers/queuestatus.py:
(QueueStatus.get):
* QueueStatusServer/index.yaml:
* QueueStatusServer/main.py:
* QueueStatusServer/model/queuelog.py:
(QueueLog):
(QueueLog.create_key):
(QueueLog.get_at):
(QueueLog.get_current):
(QueueLog.get_or_create):
(QueueLog._get_or_create_txn):
* QueueStatusServer/stylesheets/charts.css: Added.
(.chart):
(.choices):
* QueueStatusServer/templates/queuecharts.html: Added.
* QueueStatusServer/templates/queuestatus.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141129 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Chromium] IndexedDB: Let callers specify reason (error) for aborting transaction
jsbell@chromium.org [Tue, 29 Jan 2013 17:58:07 +0000 (17:58 +0000)]
[Chromium] IndexedDB: Let callers specify reason (error) for aborting transaction
https://bugs.webkit.org/show_bug.cgi?id=107851

Reviewed by Tony Chang.

Source/WebCore:

Internal to the back-end, callers are able to abort transactions and specify a reason
as an IDBDatabaseError, e.g. ConstraintError. Expose this to the WebKit/chromium/public
API so that intermediate layers can specify reasons as well, e.g. QuotaExceededError.

Test will land in Chromium as fix for crbug.com/113118

* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::abort): Added overload that takes error.
* Modules/indexeddb/IDBDatabaseBackendImpl.h: Ditto.
* Modules/indexeddb/IDBDatabaseBackendInterface.h: Ditto.

Source/WebKit/chromium:

Let Chromium call abort() on a transaction and specify a reason, specifically for
QuotaExceededError.

* public/WebIDBDatabase.h:
(WebKit::WebIDBDatabase::abort): New overload for abort() that takes an error.
* public/WebIDBDatabaseError.h:
(WebKit::WebIDBDatabaseError::WebIDBDatabaseError): Overloaded constructor/assign that takes error.
* src/IDBDatabaseBackendProxy.cpp:
(WebKit::IDBDatabaseBackendProxy::abort): New overload for abort() that takes an error.
* src/IDBDatabaseBackendProxy.h:
(IDBDatabaseBackendProxy): Ditto.
* src/WebIDBDatabaseError.cpp: Implementation of overload ctor/assign.
* src/WebIDBDatabaseImpl.cpp:
(WebKit::WebIDBDatabaseImpl::abort): New overload for abort() that takes an error.
* src/WebIDBDatabaseImpl.h: Ditto.
* tests/IDBDatabaseBackendTest.cpp: Overload stubs for Mock class.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141128 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoHeap-use-after-free in WebCore::RenderTextTrackCue::layout
vcarbune@chromium.org [Tue, 29 Jan 2013 17:52:17 +0000 (17:52 +0000)]
Heap-use-after-free in WebCore::RenderTextTrackCue::layout
https://bugs.webkit.org/show_bug.cgi?id=108197

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/track/track-cue-rendering-tree-is-removed-properly.html

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::textTrackRemoveCue): Ensure the display tree
is removed when the cue is removed from the list of cues.
* html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::~TextTrackCue): Enfore display tree removal.

LayoutTests:

Added test that triggers the crash. Verified proper removal of the tree.

* media/track/track-cue-rendering-tree-is-removed-properly-expected.txt: Added.
* media/track/track-cue-rendering-tree-is-removed-properly.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141127 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[GTK] Missing build flags when building with Harfbuzz
mario@webkit.org [Tue, 29 Jan 2013 17:50:53 +0000 (17:50 +0000)]
[GTK] Missing build flags when building with Harfbuzz
https://bugs.webkit.org/show_bug.cgi?id=108174

Reviewed by Martin Robinson.

Add FREETYPE_CFLAGS and FREETYPE_LIBS to makefiles so -lharfbuzz
parameter will be added to linking lines when needed.

Source/WebKit/gtk:

* GNUmakefile.am: Added FREETYPE_CFLAGS and FREETYPE_LIBS.

Source/WebKit2:

* GNUmakefile.am: Added FREETYPE_CFLAGS and FREETYPE_LIBS.
* UIProcess/API/gtk/tests/GNUmakefile.am: Ditto.

Tools:

* GNUmakefile.am: Added FREETYPE_CFLAGS and FREETYPE_LIBS.
* MiniBrowser/gtk/GNUmakefile.am: Ditto.
* TestWebKitAPI/GNUmakefile.am: Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141126 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Chromium] Unreviewed gardening.
fmalita@chromium.org [Tue, 29 Jan 2013 17:44:35 +0000 (17:44 +0000)]
[Chromium] Unreviewed gardening.

Disable WebFrameTest.pageScaleFactorShrinksViewport (pending investigation after r141053).

* tests/WebFrameTest.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141125 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoOn HarfbuzzNG ports, Arabic TATWEEL is not joined.
efidler@rim.com [Tue, 29 Jan 2013 17:32:35 +0000 (17:32 +0000)]
On HarfbuzzNG ports, Arabic TATWEEL is not joined.
https://bugs.webkit.org/show_bug.cgi?id=108037

Reviewed by Tony Chang.

The tatweel (U+0640) is being split into a separate run, because its script is USCRIPT_COMMON.
It has script extensions for USCRIPT_ARABIC, so I think it shouldn't trigger a new run.

Test: fast/text/international/arabic-tatweel-join.html

* platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
(WebCore::HarfBuzzShaper::collectHarfBuzzRuns):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141124 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Qt] Unreviewed gardening. Skip a failing ref html test.
kadam@inf.u-szeged.hu [Tue, 29 Jan 2013 17:29:27 +0000 (17:29 +0000)]
[Qt] Unreviewed gardening. Skip a failing ref html test.

* platform/qt/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141123 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Freetype] Cannot use characters outside the BMP
commit-queue@webkit.org [Tue, 29 Jan 2013 17:25:34 +0000 (17:25 +0000)]
[Freetype] Cannot use characters outside the BMP
https://bugs.webkit.org/show_bug.cgi?id=108102

Patch by Martin Robinson <mrobinson@igalia.com> on 2013-01-29
Reviewed by Carlos Garcia Campos.

Source/WebCore:

Test: platform/gtk/fonts/non-bmp-characters.html

Instead of never handling surrogate pairs when dealing with UChar arrays,
abstract way the logic for this into UTF16UChar32Iterator and use it
everywhere in Freetype. This allows the Freetype backend to render
non-BMP characters which are always represented as surrogate pairs in
UTF-16.

* GNUmakefile.list.am: Added UTF16UChar32Iterator to the source list.
* platform/graphics/freetype/FontCacheFreeType.cpp:
(WebCore::createFontConfigPatternForCharacters): Use the new iterator.
(WebCore::FontCache::getFontDataForCharacters): Ditto.
* platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp:
(WebCore::GlyphPage::fill): Ditto. Remove the early return when dealing
with non-BMP data.
* platform/graphics/freetype/SimpleFontDataFreeType.cpp:
(WebCore::SimpleFontData::containsCharacters): Use the new iterator.
* platform/graphics/freetype/UTF16UChar32Iterator.h: Added. An iterator that
extracts UChar32 from UTF-16 UChar arrays.

* GNUmakefile.list.am:
* platform/graphics/freetype/FontCacheFreeType.cpp:
(WebCore::createFontConfigPatternForCharacters):
(WebCore::FontCache::getFontDataForCharacters):
* platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp:
(WebCore::GlyphPage::fill):
* platform/graphics/freetype/SimpleFontDataFreeType.cpp:
(WebCore::SimpleFontData::containsCharacters):
* platform/graphics/freetype/UTF16UChar32Iterator.h: Added.
(WebCore):
(UTF16UChar32Iterator):
(WebCore::UTF16UChar32Iterator::UTF16UChar32Iterator):
(WebCore::UTF16UChar32Iterator::end):
(WebCore::UTF16UChar32Iterator::next):

* GNUmakefile.list.am:
* platform/graphics/freetype/FontCacheFreeType.cpp:
(WebCore::createFontConfigPatternForCharacters):
* platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp:
(WebCore::GlyphPage::fill):
* platform/graphics/freetype/SimpleFontDataFreeType.cpp:
(WebCore::SimpleFontData::containsCharacters):
* platform/graphics/freetype/UTF16UChar32Iterator.h: Added.
(WebCore):
(UTF16UChar32Iterator):
(WebCore::UTF16UChar32Iterator::UTF16UChar32Iterator):
(WebCore::UTF16UChar32Iterator::end):
(WebCore::UTF16UChar32Iterator::next):

LayoutTests:

Added a pixel test for rendering non-BMP characters.

* platform/gtk/fonts/non-bmp-characters.html: Added.
* platform/gtk/platform/gtk/fonts/non-bmp-characters-expected.png: Added.
* platform/gtk/platform/gtk/fonts/non-bmp-characters-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141122 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoDon't overlap test for composited scroll DIVs after scroll
commit-queue@webkit.org [Tue, 29 Jan 2013 17:04:20 +0000 (17:04 +0000)]
Don't overlap test for composited scroll DIVs after scroll
https://bugs.webkit.org/show_bug.cgi?id=107471

Patch by Glenn Hartmann <hartmanng@chromium.org> on 2013-01-29
Reviewed by Simon Fraser.

We don't need to test for overlap after scroll when both
usesCompositedScrolling and !hasOutOfFlowPositionedDescendant
because:

a) Since we're using composited-scrolling, the composited region
presented by the composited-scrolling element to other non-descendant
layers doesn't change during composited scrolling (it's always the
entire scroll layer), and

b) Since we have no out of flow positioned descendants, the scrolling
descendants all move together, so their overlap with respect to each
other cannot change.

So no descendants nor any non-descendants can have their overlap
affected, so it's safe to skip testing.

No new tests (no change in behaviour).

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateCompositingLayersAfterScroll):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateCompositingLayers):
* rendering/RenderLayerCompositor.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141121 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoImplement pseudoElement attribute on transition DOM events.
alexis@webkit.org [Tue, 29 Jan 2013 16:55:32 +0000 (16:55 +0000)]
Implement pseudoElement attribute on transition DOM events.
https://bugs.webkit.org/show_bug.cgi?id=107986

Reviewed by Julien Chaffraix.

Source/WebCore:

Implement the pseudoElement attribute documented here :
http://dev.w3.org/csswg/css3-transitions/#transition-events.
This add a new attribute to the transition DOM event useful when
animating pseudo elements. As they are not accessible in JS, it's
very useful to get on which pseudo element the transition just ended.
This patch adds the new attribute on the IDLs of DOM transition events as well
as adding it to the C++ classes representing them. The event
dispatching code have been patched to change the target of the event
(we can't send the current target as it is the actual DOM
representation of the pseudo element).

Test: fast/css-generated-content/pseudo-transition-event.html

* dom/EventDispatcher.cpp:
(WebCore::eventTargetRespectingTargetRules): Change the target of the
event in the case of a pseudo element. We can't expose them through the
public interface so the target is the node they belong to.
(WebCore::EventDispatcher::ensureEventAncestors):
(WebCore::EventDispatcher::dispatchScopedEvent):
(WebCore::EventDispatcher::dispatchEvent):
(WebCore::EventDispatcher::dispatchEventPostProcess):
* dom/EventTarget.cpp:
(WebCore::createMatchingPrefixedEvent):
* dom/PseudoElement.cpp:
(WebCore::PseudoElement::pseudoElementNameForEvents):
(WebCore):
* dom/PseudoElement.h:
* dom/TransitionEvent.cpp:
(WebCore::TransitionEventInit::TransitionEventInit):
(WebCore::TransitionEvent::TransitionEvent):
(WebCore::TransitionEvent::pseudoElement):
(WebCore):
* dom/TransitionEvent.h:
(TransitionEventInit):
(WebCore::TransitionEvent::create):
(TransitionEvent):
* dom/TransitionEvent.idl:
* dom/WebKitTransitionEvent.cpp:
(WebCore::WebKitTransitionEventInit::WebKitTransitionEventInit):
(WebCore::WebKitTransitionEvent::WebKitTransitionEvent):
(WebCore::WebKitTransitionEvent::pseudoElement):
(WebCore):
* dom/WebKitTransitionEvent.h:
(WebKitTransitionEventInit):
(WebCore::WebKitTransitionEvent::create):
(WebKitTransitionEvent):
* dom/WebKitTransitionEvent.idl:
* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle): Pass
the pseudo element name when creating the Event objects. If the element
is not a pseudo element then the name will be empty which is what the
spec is telling to do. If the element is a pseudo element then the name
will be the pseudo element's name with "::" as a prefix.

LayoutTests:

Add new tests to cover the feature.

* fast/css-generated-content/pseudo-transition-event-expected.txt: Added.
* fast/css-generated-content/pseudo-transition-event.html: Added.
* fast/events/constructors/transition-event-constructor-expected.txt:
* fast/events/constructors/transition-event-constructor.html:
* fast/events/constructors/webkit-transition-event-constructor-expected.txt:
* fast/events/constructors/webkit-transition-event-constructor.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141119 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 29 Jan 2013 16:49:19 +0000 (16:49 +0000)]
Unreviewed GTK gardening.

Reclassified one IDB failure as a flaky crasher.
Added a test expectation for a flaky crasher that's failnig
due to probably malfunctioning accessibility code.

* platform/gtk/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141115 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Qt] Implement GCActivityCallback
allan.jensen@digia.com [Tue, 29 Jan 2013 16:45:14 +0000 (16:45 +0000)]
[Qt] Implement GCActivityCallback
https://bugs.webkit.org/show_bug.cgi?id=103998

Reviewed by Simon Hausmann.

Source/JavaScriptCore:

Implements the activity triggered garbage collector.

* runtime/GCActivityCallback.cpp:
(JSC::DefaultGCActivityCallback::DefaultGCActivityCallback):
(JSC::DefaultGCActivityCallback::scheduleTimer):
(JSC::DefaultGCActivityCallback::cancelTimer):
* runtime/GCActivityCallback.h:
(GCActivityCallback):
(DefaultGCActivityCallback):

Source/WebCore:

Implements the activity triggered garbage collector,
and disables the timer based fallback.

* bindings/js/GCController.cpp:
(WebCore::GCController::GCController):
(WebCore::GCController::garbageCollectSoon):
* bindings/js/GCController.h:
(GCController):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141114 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: fix bottom span in token highlight in DTE
commit-queue@webkit.org [Tue, 29 Jan 2013 16:09:33 +0000 (16:09 +0000)]
Web Inspector: fix bottom span in token highlight in DTE
https://bugs.webkit.org/show_bug.cgi?id=108194

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-01-29
Reviewed by Pavel Feldman.

Change css style for token highlight from "border" to "outline" to
avoid border included in box dimensions.

No new tests: no change in behaviour.

* inspector/front-end/textEditor.css:
(.text-editor-token-highlight):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141113 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Qt] Unreviewed gardening. Skip failing tests after r140927.
kadam@inf.u-szeged.hu [Tue, 29 Jan 2013 16:02:41 +0000 (16:02 +0000)]
[Qt] Unreviewed gardening. Skip failing tests after r140927.
https://bugs.webkit.org/show_bug.cgi?id=108190.

* platform/qt/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141112 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: introduce HighlightDescriptor interface in DTE.
commit-queue@webkit.org [Tue, 29 Jan 2013 15:52:00 +0000 (15:52 +0000)]
Web Inspector: introduce HighlightDescriptor interface in DTE.
https://bugs.webkit.org/show_bug.cgi?id=108161

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-01-29
Reviewed by Pavel Feldman.

Source/WebCore:

Introduce new HighlightDescriptor interface and its
RegexHighlightDescriptor implementation and use it in DTE to
support overlay highlight.

No new tests: no change in behaviour.

* inspector/front-end/DefaultTextEditor.js:
(WebInspector.DefaultTextEditor.prototype.highlightRegex):
(WebInspector.DefaultTextEditor.prototype.removeRegexHighlight):
(WebInspector.TextEditorMainPanel):
(WebInspector.TextEditorMainPanel.prototype.highlightRegex):
(WebInspector.TextEditorMainPanel.prototype.removeRegexHighlight):
(WebInspector.TextEditorMainPanel.prototype._paintLines):
(WebInspector.TextEditorMainPanel.prototype._measureHighlightDescriptor):
(WebInspector.TextEditorMainPanel.HighlightDescriptor): Added.
(WebInspector.TextEditorMainPanel.HighlightDescriptor.prototype.affectsLine):
(WebInspector.TextEditorMainPanel.HighlightDescriptor.prototype.rangesForLine):
(WebInspector.TextEditorMainPanel.HighlightDescriptor.prototype.cssClass):
(WebInspector.TextEditorMainPanel.RegexHighlightDescriptor): Added.
(WebInspector.TextEditorMainPanel.RegexHighlightDescriptor.prototype.affectsLine):
(WebInspector.TextEditorMainPanel.RegexHighlightDescriptor.prototype.rangesForLine):
(WebInspector.TextEditorMainPanel.RegexHighlightDescriptor.prototype.cssClass):
(WebInspector.TextEditorMainPanel.TokenHighlighter.prototype._highlight):
(WebInspector.TextEditorMainPanel.TokenHighlighter.prototype._removeHighlight):
* inspector/front-end/TextEditor.js:
(WebInspector.TextEditor.prototype.removeRegexHighlight):

LayoutTests:

Correct layout test according to refactoring changes.

* inspector/editor/text-editor-highlight-regexp.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141111 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[EFL] Unified text checker implementation.
g.czajkowski@samsung.com [Tue, 29 Jan 2013 15:29:48 +0000 (15:29 +0000)]
[EFL] Unified text checker implementation.
https://bugs.webkit.org/show_bug.cgi?id=107682

Reviewed by Anders Carlsson.

Source/WebCore:

No new tests, covered by editing/spelling tests.

* platform/text/TextChecking.h:
(WebCore):
Enabling unified text checker feature for WebKit-EFL.

Source/WebKit/efl:

Add an empty checkTextOfParagraph implementation for WK1-EFL
to do not break build when WTF_USE_UNIFIED_TEXT_CHECKING
is enabled.

* WebCoreSupport/EditorClientEfl.h:
(EditorClientEfl):
(WebCore::EditorClientEfl::checkTextOfParagraph):

Source/WebKit2:

* UIProcess/efl/TextCheckerEfl.cpp:
(WebKit):
(WebKit::TextChecker::checkTextOfParagraph):
Allow to check spelling for multiple words,
their misspelling location and length are saved to the vector.

* WebProcess/WebCoreSupport/WebEditorClient.h:
* WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
(WebKit::WebEditorClient::checkTextOfParagraph):
(WebKit):
As spelling implementation is exposed to UIProcess,
send a meesage to UIProcess to call TextChecker::checkTextOfParagraph.

LayoutTests:

* platform/efl-wk2/TestExpectations:
Skip context-menu-suggestions.html until
https://bugs.webkit.org/show_bug.cgi?id=107684 lands.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141110 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: Wrong indent in Styles sidebar pane
commit-queue@webkit.org [Tue, 29 Jan 2013 15:01:19 +0000 (15:01 +0000)]
Web Inspector: Wrong indent in Styles sidebar pane
https://bugs.webkit.org/show_bug.cgi?id=108186

Patch by Vladislav Kaznacheev <kaznacheev@chromium.org> on 2013-01-29
Reviewed by Alexander Pavlov.

Added an extra selector to prevent a conflict with a rule in elementsPanel.css.

No new tests.

* inspector/front-end/inspector.css:
(.pane.expanded .section .properties, .event-bar .event-properties):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141109 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoEnable Workers for WinCE
commit-queue@webkit.org [Tue, 29 Jan 2013 14:53:18 +0000 (14:53 +0000)]
Enable Workers for WinCE
https://bugs.webkit.org/show_bug.cgi?id=108099

Patch by Laszlo Gombos <l.gombos@samsung.com> on 2013-01-29
Reviewed by Gyuyoung Kim.

WORKERS are enabled for all CMake based ports except WinCE.
Turn on WORKERS for all CMake based ports.

* Source/cmake/OptionsBlackBerry.cmake:
* Source/cmake/OptionsEfl.cmake:
* Source/cmake/WebKitFeatures.cmake:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141108 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Qt][WK1] Fix QObject Bridge tests expected output.
michael.bruning@digia.com [Tue, 29 Jan 2013 14:48:41 +0000 (14:48 +0000)]
[Qt][WK1] Fix QObject Bridge tests expected output.
https://bugs.webkit.org/show_bug.cgi?id=107827

Reviewed by Simon Hausmann.

The "not a function" TypeError now includes the call that caused the error.
Correct expected values accordingly.

* tests/qobjectbridge/tst_qobjectbridge.cpp:
(tst_QObjectBridge::connectAndDisconnect):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141107 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Qt] Unreviewed gardening.
kadam@inf.u-szeged.hu [Tue, 29 Jan 2013 14:37:49 +0000 (14:37 +0000)]
[Qt] Unreviewed gardening.

Patch by Zoltan Arvai <zarvai@inf.u-szeged.hu> on 2013-01-29

* platform/qt-5.0-wk2/TestExpectations: Skip broken plugin tests after r141051.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141106 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Chromium] Unreviewed gardening.
fmalita@chromium.org [Tue, 29 Jan 2013 14:19:25 +0000 (14:19 +0000)]
[Chromium] Unreviewed gardening.

Update bindings-tests results after http://trac.webkit.org/changeset/141034.

* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore):
(WebCore::checkTypeOrDieTrying):
(WebCore::V8Float64Array::createWrapper):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore):
(WebCore::checkTypeOrDieTrying):
(WebCore::V8TestActiveDOMObject::createWrapper):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
(WebCore):
(WebCore::checkTypeOrDieTrying):
(WebCore::V8TestCustomNamedGetter::createWrapper):
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore):
(WebCore::checkTypeOrDieTrying):
(WebCore::V8TestEventConstructor::createWrapper):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore):
(WebCore::checkTypeOrDieTrying):
(WebCore::V8TestEventTarget::createWrapper):
* bindings/scripts/test/V8/V8TestException.cpp:
(WebCore):
(WebCore::checkTypeOrDieTrying):
(WebCore::V8TestException::createWrapper):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore):
(WebCore::checkTypeOrDieTrying):
(WebCore::V8TestInterface::createWrapper):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore):
(WebCore::checkTypeOrDieTrying):
(WebCore::V8TestMediaQueryListListener::createWrapper):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore):
(WebCore::checkTypeOrDieTrying):
(WebCore::V8TestNamedConstructor::createWrapper):
* bindings/scripts/test/V8/V8TestNode.cpp:
(WebCore):
(WebCore::checkTypeOrDieTrying):
(WebCore::V8TestNode::createWrapper):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore):
(WebCore::checkTypeOrDieTrying):
(WebCore::V8TestObj::createWrapper):
* bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
(WebCore):
(WebCore::checkTypeOrDieTrying):
(WebCore::V8TestOverloadedConstructors::createWrapper):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore):
(WebCore::checkTypeOrDieTrying):
(WebCore::V8TestSerializedScriptValueInterface::createWrapper):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141105 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed gardening. Update generic expected file after r141031.
kadam@inf.u-szeged.hu [Tue, 29 Jan 2013 14:14:40 +0000 (14:14 +0000)]
Unreviewed gardening. Update generic expected file after r141031.
Remove Chromium, GTK and Qt specific expected files, because they are the same as the  generic expected file.

* fast/js/regress/integer-modulo-expected.txt:
* platform/chromium/fast/js/regress/integer-modulo-expected.txt: Removed after r141044.
* platform/gtk/fast/js/regress/integer-modulo-expected.txt: Removed after r141084.
* platform/qt/fast/js/regress/integer-modulo-expected.txt: Removed after r141101.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141104 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[EFL] Unreviewed gardening.
thiago.santos@intel.com [Tue, 29 Jan 2013 13:49:17 +0000 (13:49 +0000)]
[EFL] Unreviewed gardening.

Skipping tests broken by r141051.

* platform/efl-wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141103 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[GTK] Add API to prefetch DNS of a given hostname to WebKit2 GTK+ API
carlosgc@webkit.org [Tue, 29 Jan 2013 13:22:10 +0000 (13:22 +0000)]
[GTK] Add API to prefetch DNS of a given hostname to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=99695

Reviewed by Anders Carlsson.

* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_prefetch_dns): Public method to resolve the
domain name in advance for the given hostname.
* UIProcess/API/gtk/WebKitWebContext.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add
webkit_web_context_prefetch_dns.
* WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:
(webkitWebExtensionDidReceiveMessage): Parse PrefetchDNS message
and call WebCore::prefetchDNS() with the given hostname.
(didReceiveMessage): Call webkitWebExtensionDidReceiveMessage().
(webkitWebExtensionCreate): Add implementation for
didReceiveMessage callback.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141102 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Qt] Unreviewed gardening.
kadam@inf.u-szeged.hu [Tue, 29 Jan 2013 12:59:46 +0000 (12:59 +0000)]
[Qt] Unreviewed gardening.

* platform/qt/TestExpectations: Skip failing tests. https://bugs.webkit.org/show_bug.cgi?id=108175.
* platform/qt/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt: Added after r140999.
* platform/qt/fast/js/regress/integer-modulo-expected.txt: Added after r141031.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141101 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: in inspector-protocol tests do not swallow errors
commit-queue@webkit.org [Tue, 29 Jan 2013 12:57:04 +0000 (12:57 +0000)]
Web Inspector: in inspector-protocol tests do not swallow errors
https://bugs.webkit.org/show_bug.cgi?id=108087

Patch by Peter Rybin <peter.rybin@gmail.com> on 2013-01-29
Reviewed by Pavel Feldman.
Additional checks are added. Debuggee is more aggressive at
when to kill the test.

* http/tests/inspector-protocol/resources/InspectorTest.js:
* http/tests/inspector-protocol/resources/protocol-test.js:
(runTest):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141100 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCompilation warning in JSC
mikhail.pozdnyakov@intel.com [Tue, 29 Jan 2013 12:54:00 +0000 (12:54 +0000)]
Compilation warning in JSC
https://bugs.webkit.org/show_bug.cgi?id=108178

Reviewed by Kentaro Hara.

Fixed 'comparison between signed and unsigned integer' warning in JSC::Structure constructor.

* runtime/Structure.cpp:
(JSC::Structure::Structure):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141099 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: [Canvas] support instrumenting canvases in iframes (backend side)
aandrey@chromium.org [Tue, 29 Jan 2013 12:43:45 +0000 (12:43 +0000)]
Web Inspector: [Canvas] support instrumenting canvases in iframes (backend side)
https://bugs.webkit.org/show_bug.cgi?id=107951

Reviewed by Pavel Feldman.

Source/WebCore:

Accept optional FrameId argument for captureFrame and startCapturing commands.
Add event to the protocol to inform about instrumented canvas context creation.

* inspector/Inspector.json:
* inspector/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
(WebCore::InspectorCanvasAgent::hasUninstrumentedCanvases):
(WebCore::InspectorCanvasAgent::captureFrame):
(WebCore::InspectorCanvasAgent::startCapturing):
(WebCore::InspectorCanvasAgent::getTraceLog):
(WebCore::InspectorCanvasAgent::replayTraceLog):
(WebCore::InspectorCanvasAgent::getResourceInfo):
(WebCore::InspectorCanvasAgent::getResourceState):
(WebCore::InspectorCanvasAgent::wrapCanvas2DRenderingContextForInstrumentation):
(WebCore::InspectorCanvasAgent::wrapWebGLRenderingContextForInstrumentation):
(WebCore::InspectorCanvasAgent::notifyRenderingContextWasWrapped):
(WebCore):
(WebCore::InspectorCanvasAgent::findFramesWithUninstrumentedCanvases):
(WebCore::InspectorCanvasAgent::frameNavigated):
(WebCore::InspectorCanvasAgent::frameDetached):
* inspector/InspectorCanvasAgent.h:
(WebCore):
(WebCore::InspectorCanvasAgent::create):
(InspectorCanvasAgent):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
(WebCore::InspectorInstrumentation::didCommitLoadImpl):

LayoutTests:

Stub Canvas dispatcher for now to silence alerts in tests.

* inspector/profiler/canvas-profiler-test.js:
(initialize_CanvasWebGLProfilerTest.InspectorTest.enableCanvasAgent.InspectorBackend.registerCanvasDispatcher):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141098 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Qt] Fix the JSC build on Mac
jocelyn.turcotte@digia.com [Tue, 29 Jan 2013 12:34:41 +0000 (12:34 +0000)]
[Qt] Fix the JSC build on Mac

Unreviewed, build fix.

* heap/HeapTimer.h:
Qt on Mac has USE(CF) true, and should use the CF HeapTimer in that case.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141097 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[GTK] Implement resources API using injected bundle
carlosgc@webkit.org [Tue, 29 Jan 2013 12:01:39 +0000 (12:01 +0000)]
[GTK] Implement resources API using injected bundle
https://bugs.webkit.org/show_bug.cgi?id=107457

Reviewed by Sam Weinig.

Source/WebKit2:

The ResourceLoaderClient was removed from the UI process in
r140285, and most of the GTK+ API depends on resources. This patch
implements the same API using the ResourceLoaderClient from
injected bundle. It fixes the resources unit tests, as well as
other 14 unit tests that are timing out because they depend on
resource API.

* GNUmakefile.list.am: Add new files to compilation.
* Shared/UserMessageCoders.h:
(WebKit::UserMessageEncoder::baseEncode): Add support for encoding
WebURLResponse and WebError objects in user messages.
(WebKit::UserMessageDecoder::baseDecode): Add support for decoding
WebURLResponse and WebError objects from user messages.
* UIProcess/API/gtk/WebKitInjectedBundleClient.cpp: Added.
(didReceiveWebViewMessageFromInjectedBundle): Handle messages sent
to the WebView. For now it hanldes all the sresource loader client
messages.
(didReceiveMessageFromInjectedBundle): Handle messages received
from injected bundle.
(attachInjectedBundleClientToContext): Initialize the injected
bundle client.
* UIProcess/API/gtk/WebKitInjectedBundleClient.h: Added.
* UIProcess/API/gtk/WebKitWebContext.cpp:
(_WebKitWebContextPrivate): Add a HashMap to map page IDs to
WebKitWebViews.
(createDefaultWebContext): Call
attachInjectedBundleClientToContext() to intialize the injected
bundle client.
(webkitWebContextCreatePageForWebView): Use
webkitWebViewBaseCreateWebPage() to create and initialize a new
WebPageProxy and map the newly created page with the given
WebKitWebView.
(webkitWebContextWebViewDestroyed): Called when the given
WebKitWebView is being destroyed to remove it from the views map.
(webkitWebContextGetWebViewForPage): Returns the WebKitWebView
associated to the given page ID.
* UIProcess/API/gtk/WebKitWebContextPrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewConstructed): Use
webkitWebContextCreatePageForWebView() instead of
webkitWebViewBaseCreateWebPage() directly.
(webkitWebViewDispose): Call webkitWebContextWebViewDestroyed() to
notify the context.
* WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
(didInitiateLoadForResource): Send a message to the UI process
with the callback parameters encoded.
(willSendRequestForFrame): Ditto.
(didReceiveResponseForResource): Ditto.
(didReceiveContentLengthForResource): Ditto.
(didFinishLoadForResource): Ditto.
(didFailLoadForResource): Ditto.
(webkitWebPageCreate): Initialize the
WKBundlePageResourceLoadClient.

Tools:

* Scripts/run-gtk-tests:
(TestRunner): Unksip resources unit tests.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141096 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed, updated my email information.
michael.bruning@digia.com [Tue, 29 Jan 2013 11:58:30 +0000 (11:58 +0000)]
Unreviewed, updated my email information.

* Scripts/webkitpy/common/config/committers.py:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141095 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: [CPU Profile] Taking profile crashes renderer.
commit-queue@webkit.org [Tue, 29 Jan 2013 11:55:43 +0000 (11:55 +0000)]
Web Inspector: [CPU Profile] Taking profile crashes renderer.
https://bugs.webkit.org/show_bug.cgi?id=108072

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2013-01-29
Reviewed by Yury Semikhatsky.

Source/WebCore:

Test: inspector/profiler/cpu-profiler-agent-crash-on-start.html

Fixed null-pointer access.

* bindings/v8/ScriptProfiler.cpp:
(WebCore::ScriptProfiler::start): Fixed null-pointer access.
(WebCore::ScriptProfiler::stop): Ditto.

LayoutTests:

Added test to check that ProfilerAgent start/stop doesn't crash.

* inspector/profiler/cpu-profiler-agent-crash-on-start-expected.txt: Added.
* inspector/profiler/cpu-profiler-agent-crash-on-start.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141094 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoREGRESSION: ChildrenAffectedBy flags lost between siblings which have child elements...
allan.jensen@digia.com [Tue, 29 Jan 2013 11:36:30 +0000 (11:36 +0000)]
REGRESSION: ChildrenAffectedBy flags lost between siblings which have child elements sharing style
https://bugs.webkit.org/show_bug.cgi?id=105672

Reviewed by Andreas Kling.

Source/WebCore:

Change in how childrenAffectedBy bits were stored made it easier to trigger an issue where childrenAffectedBy bits
were not set due to sharing of styles between cousin elements.

This patch fixes the issue by not sharing styles from children with parents who prevent sharing.

Tests: fast/selectors/cousin-stylesharing-adjacent-selector.html
       fast/selectors/cousin-stylesharing-last-child-selector.html

* css/StyleResolver.cpp:
(WebCore::parentElementPreventsSharing):
(WebCore::StyleResolver::locateCousinList):
* dom/Element.cpp:
(WebCore::Element::hasFlagsSetDuringStylingOfChildren):
* dom/Element.h:
(Element):

LayoutTests:

Two test cases by Philippe Wittenbergh that triggers the issue.

* fast/selectors/cousin-stylesharing-adjacent-selector-expected.html: Added.
* fast/selectors/cousin-stylesharing-adjacent-selector.html: Added.
* fast/selectors/cousin-stylesharing-last-child-selector-expected.html: Added.
* fast/selectors/cousin-stylesharing-last-child-selector.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141093 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Qt] Remove misspelled ENABLE(SPEECH_INPUT) guard
commit-queue@webkit.org [Tue, 29 Jan 2013 11:32:12 +0000 (11:32 +0000)]
[Qt] Remove misspelled ENABLE(SPEECH_INPUT) guard
https://bugs.webkit.org/show_bug.cgi?id=105683

Patch by Laszlo Gombos <l.gombos@samsung.com> on 2013-01-29
Reviewed by Simon Hausmann.

The ENABLE(SPEECH_INPUT) guard is only used in one location
in the source tree and as such it is always 0.

I believe that this guard is a left over and is not needed any more
as the code guarded is not guarded anywhere else.

* WebProcess/qt/WebProcessQt.cpp:
(WebKit::WebProcess::platformInitializeWebProcess):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141092 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: [Regression] Search across all sources is broken.
vsevik@chromium.org [Tue, 29 Jan 2013 11:08:14 +0000 (11:08 +0000)]
Web Inspector: [Regression] Search across all sources is broken.
https://bugs.webkit.org/show_bug.cgi?id=108157

Reviewed by Pavel Feldman.

Source/WebCore:

Test: http/tests/inspector/search/scripts-search-scope.html

* inspector/front-end/ScriptsSearchScope.js:
(WebInspector.ScriptsSearchScope.prototype._sortedUISourceCodes):

LayoutTests:

* http/tests/inspector/search/scripts-search-scope-expected.txt: Added.
* http/tests/inspector/search/scripts-search-scope.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141091 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoIDBFactory::webkitGetDatabaseNames should raise DOMExceptions.
mkwst@chromium.org [Tue, 29 Jan 2013 11:06:00 +0000 (11:06 +0000)]
IDBFactory::webkitGetDatabaseNames should raise DOMExceptions.
https://bugs.webkit.org/show_bug.cgi?id=108154

Reviewed by Jochen Eisinger.

In order to properly support blocking third-party IndexedDB usage,
open(), getDatabaseNames(), and deleteDatabase() should all throw
SECURITY_ERR when used in a blocked third-party context. That's possible
now for open() and deleteDatabase(), but getDatabaseNames() can't
currently raise exceptions.

This patch adjusts the IDL file and implementation. No exceptions are
currently thrown, but that will change as soon as wkbug.com/94171 lands.

* Modules/indexeddb/IDBFactory.cpp:
(WebCore::IDBFactory::getDatabaseNames):
* Modules/indexeddb/IDBFactory.h:
(IDBFactory):
* Modules/indexeddb/IDBFactory.idl:
    Add "raises (DOMException)" to getDatabaseNames, and adjust the
    implementation to match.
* inspector/InspectorIndexedDBAgent.cpp:
(WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
    Pass in an ExceptionCode when calling getDatabaseNames, and handle
    possible exceptions.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141090 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Qt] Implement IncrementalSweeper and HeapTimer
allan.jensen@digia.com [Tue, 29 Jan 2013 10:51:39 +0000 (10:51 +0000)]
[Qt] Implement IncrementalSweeper and HeapTimer
https://bugs.webkit.org/show_bug.cgi?id=103996

Reviewed by Simon Hausmann.

Implements the incremental sweeping garbage collection for the Qt platform.

* heap/HeapTimer.cpp:
(JSC::HeapTimer::HeapTimer):
(JSC::HeapTimer::~HeapTimer):
(JSC::HeapTimer::timerEvent):
(JSC::HeapTimer::synchronize):
(JSC::HeapTimer::invalidate):
(JSC::HeapTimer::didStartVMShutdown):
* heap/HeapTimer.h:
(HeapTimer):
* heap/IncrementalSweeper.cpp:
(JSC::IncrementalSweeper::IncrementalSweeper):
(JSC::IncrementalSweeper::scheduleTimer):
* heap/IncrementalSweeper.h:
(IncrementalSweeper):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141089 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRevert an accidentally changed line of EventHander::handleMousePressEvent(PlatformMou...
hayato@chromium.org [Tue, 29 Jan 2013 10:15:06 +0000 (10:15 +0000)]
Revert an accidentally changed line of EventHander::handleMousePressEvent(PlatformMouseEvent&) in r135650.
https://bugs.webkit.org/show_bug.cgi?id=108165

Reviewed by Hajime Morita.

No new tests.

* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141088 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed, rolling out r140959 and r140977.
kadam@inf.u-szeged.hu [Tue, 29 Jan 2013 10:01:51 +0000 (10:01 +0000)]
Unreviewed, rolling out r140959 and r140977.
http://trac.webkit.org/changeset/140959
http://trac.webkit.org/changeset/140977
https://bugs.webkit.org/show_bug.cgi?id=108171

Reverting rebaseline because after r141067 the expected
results should be the old values. (Requested by kadam on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-29

* platform/qt-5.0-wk1/compositing/absolute-inside-out-of-view-fixed-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/backing/no-backing-for-clip-overlap-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/bounds-in-flipped-writing-mode-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/clip-child-by-non-stacking-ancestor-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/filters/sw-layer-overlaps-hw-shadow-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/filters/sw-nested-shadow-overlaps-hw-nested-shadow-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/filters/sw-shadow-overlaps-hw-layer-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/filters/sw-shadow-overlaps-hw-shadow-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/geometry/bounds-clipped-composited-child-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/geometry/bounds-clipped-composited-child-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/geometry/bounds-ignores-hidden-dynamic-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/geometry/bounds-ignores-hidden-dynamic-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/geometry/bounds-ignores-hidden-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/geometry/clip-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/geometry/clip-inside-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/geometry/composited-in-columns-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/geometry/composited-in-columns-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/geometry/flipped-writing-mode-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/geometry/flipped-writing-mode-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/geometry/foreground-layer-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/geometry/foreground-layer-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/geometry/preserve-3d-switching-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/iframes/become-composited-nested-iframes-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/iframes/become-overlapped-iframe-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/iframes/composited-parent-iframe-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/iframes/connect-compositing-iframe-delayed-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/iframes/connect-compositing-iframe-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/iframes/connect-compositing-iframe2-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/iframes/connect-compositing-iframe3-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/iframes/enter-compositing-iframe-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/iframes/iframe-resize-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/iframes/overlapped-iframe-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/iframes/overlapped-iframe-iframe-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/iframes/overlapped-nested-iframes-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/iframes/scrolling-iframe-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/images/clip-on-directly-composited-image-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/animation-overlap-with-children-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/fixed-position-out-of-view-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/fixed-position-out-of-view-scaled-iframe-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/fixed-position-under-transform-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/fixed-position-under-transform-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/no-compositing-for-fixed-position-under-transform-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/overflow-scroll-overlap-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/overlap-animation-clipping-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/overlap-animation-container-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/overlap-child-layer-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/overlap-child-layer-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/overlap-transformed-layer-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/overlap-transformed-layer-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/overlap-transformed-preserved-3d-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/rotate3d-overlap-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/stacking-context-overlap-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/stacking-context-overlap-nested-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/masks/mask-layer-size-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/repaint/resize-repaint-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/rtl/rtl-iframe-absolute-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/rtl/rtl-iframe-absolute-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/rtl/rtl-iframe-fixed-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/rtl/rtl-iframe-fixed-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/rtl/rtl-iframe-relative-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/rtl/rtl-iframe-relative-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/tiling/backface-preserve-3d-tiled-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/tiling/backface-preserve-3d-tiled-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/tiling/huge-layer-img-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/tiling/huge-layer-img-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/tiling/rotated-tiled-clamped-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/tiling/rotated-tiled-clamped-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/tiling/tiled-layer-resize-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/visibility/layer-visible-content-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/visibility/layer-visible-content-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/visibility/visibility-image-layers-dynamic-expected.txt: Removed.
* platform/qt-5.0-wk1/css3/filters/composited-during-transition-layertree-expected.txt: Removed.
* platform/qt-5.0-wk1/css3/filters/filtered-compositing-descendant-expected.png: Removed.
* platform/qt-5.0-wk1/css3/filters/filtered-compositing-descendant-expected.txt: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141087 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFeatureObserver: Input types are counted unexpectedly in a page with Modernizr
tkent@chromium.org [Tue, 29 Jan 2013 10:01:24 +0000 (10:01 +0000)]
FeatureObserver: Input types are counted unexpectedly in a page with Modernizr
https://bugs.webkit.org/show_bug.cgi?id=108141

Reviewed by Kentaro Hara.

We don't want to record input type instantiation by Modernizr. Modernizr
creates input elements with these types, append it to document.body, and
render it with visibility:hidden. So, we record input types only when
they are attached without visibility:hidden.

No new tests. FeatureObserver is not testable by layout test.

* html/InputType.cpp:
(WebCore::InputType::create): Remove FeatureObserver::observe
callsites. They are moved to TextInputType::attach.
(WebCore::InputType::observeFeatureIfVisible):
Added. A helper for attach().
* html/InputType.h:
(InputType): Add observeFeatureIfVisible.

* html/ColorInputType.cpp:
(WebCore::ColorInputType::create):
Remove a FeatureObserver::observe callsite.
(WebCore::ColorInputType::attach):
Calls FetureObserver through InputType::observeFeatureIfVisible.
* html/ColorInputType.h:
(ColorInputType): Declare attach.
* html/DateInputType.cpp: Ditto.
* html/DateInputType.h: Ditto.
* html/DateTimeInputType.cpp: Ditto.
* html/DateTimeInputType.h: Ditto.
* html/DateTimeLocalInputType.cpp: Ditto.
* html/DateTimeLocalInputType.h: Ditto.
* html/MonthInputType.cpp: Ditto.
* html/MonthInputType.h: Ditto.
* html/RangeInputType.cpp: Ditt
* html/RangeInputType.h: Ditto.
* html/TimeInputType.cpp: Ditto.
* html/TimeInputType.h: Ditto.
* html/WeekInputType.cpp: Ditto.
* html/WeekInputType.h: Ditto.

* html/TextFieldInputType.h:
(TextFieldInputType):
Make attach protected in order that sub classes can call it.
* html/EmailInputType.cpp:
(WebCore::EmailInputType::create):
Remove a FeatureObserver::observe callsite.
(WebCore::EmailInputType::attach): Calls FetureObserver through
InputType::observeFeatureIfVisible after TextFieldInptuType::attach.
* html/EmailInputType.h:
(EmailInputType):Declare attach.
* html/NumberInputType.cpp: Ditto.
* html/NumberInputType.h: Ditto.
* html/SearchInputType.cpp: Ditto.
* html/SearchInputType.h: Ditto.
* html/TelephoneInputType.cpp: Ditto.
* html/TelephoneInputType.h: Ditto.
* html/URLInputType.cpp: Ditto.
* html/URLInputType.h: Ditto.

* html/TextInputType.cpp:
(WebCore::TextInputType::attach):
Move the code for type fallback from InputType::create.
* html/TextInputType.h:
(TextInputType): Declare attach.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141086 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Qt][WK1] Reflect recursion limit and loop checks also for list conversions.
michael.bruning@digia.com [Tue, 29 Jan 2013 09:41:31 +0000 (09:41 +0000)]
[Qt][WK1] Reflect recursion limit and loop checks also for list conversions.
https://bugs.webkit.org/show_bug.cgi?id=107950

Reviewed by Allan Sandfeld Jensen.

No new tests, bugfix, no behavioral change.

Make conversions from Javascript values to QLists take the maximum
recursion depth into consideration and check for objects that were
already visited. Otherwise, the conversion may recurse until the
stack is full and then cause a segmentation fault.

* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::convertToList):
(JSC::Bindings::convertValueToQVariant):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141085 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 29 Jan 2013 09:37:14 +0000 (09:37 +0000)]
Unreviewed GTK gardening.

* platform/gtk/TestExpectations: Added failure/flaky crash expectations for two layout tests.
* platform/gtk/fast/js/regress: Added.
* platform/gtk/fast/js/regress/integer-modulo-expected.txt: Added the baseline after r141031.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141084 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoClean up interface to ElementShadow
esprehn@chromium.org [Tue, 29 Jan 2013 09:35:35 +0000 (09:35 +0000)]
Clean up interface to ElementShadow
https://bugs.webkit.org/show_bug.cgi?id=108158

Reviewed by Hajime Morita.

Lots of general clean up to ElementShadow removing unused headers,
adding a create() method that returns a PassOwnPtr, adding missing const,
and moving short inline methods into the class definition so it's easier
to understand what methods do what.

No new tests, just refactoring.

* dom/Element.cpp:
(WebCore::Element::ensureShadow):
* dom/ElementShadow.cpp:
(WebCore::ElementShadow::childNeedsStyleRecalc):
(WebCore::ElementShadow::needsStyleRecalc):
* dom/ElementShadow.h:
(WebCore::ElementShadow::create):
(ElementShadow):
(WebCore::ElementShadow::~ElementShadow):
(WebCore::ElementShadow::youngestShadowRoot):
(WebCore::ElementShadow::oldestShadowRoot):
(WebCore::ElementShadow::distributor):
(WebCore::ElementShadow::ElementShadow):
(WebCore::ElementShadow::containingShadow):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141083 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[chromium] delete DRTTestRunner
jochen@chromium.org [Tue, 29 Jan 2013 09:30:08 +0000 (09:30 +0000)]
[chromium] delete DRTTestRunner
https://bugs.webkit.org/show_bug.cgi?id=108082

Reviewed by Adam Barth.

* DumpRenderTree/DumpRenderTree.gypi:
* DumpRenderTree/chromium/DRTTestRunner.cpp: Removed.
* DumpRenderTree/chromium/DRTTestRunner.h: Removed.
* DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:
(WebTestRunner::WebTestDelegate::testFinished):
(WebTestRunner::WebTestDelegate::testTimedOut):
(WebTestRunner::WebTestDelegate::isBeingDebugged):
(WebTestRunner::WebTestDelegate::layoutTestTimeout):
(WebTestRunner::WebTestDelegate::closeRemainingWindows):
(WebTestRunner::WebTestDelegate::navigationEntryCount):
(WebTestRunner::WebTestDelegate::windowCount):
(WebTestRunner::WebTestDelegate::setCustomPolicyDelegate):
(WebTestRunner::WebTestDelegate::waitForPolicyDelegate):
(WebTestRunner::WebTestDelegate::goToOffset):
(WebTestRunner::WebTestDelegate::reload):
(WebTestRunner::WebTestDelegate::loadURLForFrame):
* DumpRenderTree/chromium/TestRunner/public/WebTestRunner.h:
(WebTestRunner::WebTestRunner::policyDelegateDone):
(WebTestRunner::WebTestRunner::shouldInterceptPostMessage):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::WorkQueue::~WorkQueue):
(WebTestRunner):
(WebTestRunner::TestRunner::WorkQueue::processWorkSoon):
(WebTestRunner::TestRunner::WorkQueue::processWork):
(WebTestRunner::TestRunner::WorkQueue::reset):
(WebTestRunner::TestRunner::WorkQueue::addWork):
(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::reset):
(WebTestRunner::TestRunner::policyDelegateDone):
(WebTestRunner::TestRunner::shouldInterceptPostMessage):
(WebTestRunner::TestRunner::waitUntilDone):
(WebTestRunner::TestRunner::notifyDone):
(WebTestRunner::TestRunner::completeNotifyDone):
(WorkItemBackForward):
(WebTestRunner::WorkItemBackForward::WorkItemBackForward):
(WebTestRunner::WorkItemBackForward::run):
(WebTestRunner::TestRunner::queueBackNavigation):
(WebTestRunner::TestRunner::queueForwardNavigation):
(WorkItemReload):
(WebTestRunner::WorkItemReload::run):
(WebTestRunner::TestRunner::queueReload):
(WorkItemLoadingScript):
(WebTestRunner::WorkItemLoadingScript::WorkItemLoadingScript):
(WebTestRunner::WorkItemLoadingScript::run):
(WorkItemNonLoadingScript):
(WebTestRunner::WorkItemNonLoadingScript::WorkItemNonLoadingScript):
(WebTestRunner::WorkItemNonLoadingScript::run):
(WebTestRunner::TestRunner::queueLoadingScript):
(WebTestRunner::TestRunner::queueNonLoadingScript):
(WorkItemLoad):
(WebTestRunner::WorkItemLoad::WorkItemLoad):
(WebTestRunner::WorkItemLoad::run):
(WebTestRunner::TestRunner::queueLoad):
(WorkItemLoadHTMLString):
(WebTestRunner::WorkItemLoadHTMLString::WorkItemLoadHTMLString):
(WebTestRunner::WorkItemLoadHTMLString::run):
(WebTestRunner::TestRunner::queueLoadHTMLString):
(WebTestRunner::TestRunner::locationChangeDone):
(WebTestRunner::TestRunner::windowCount):
(WebTestRunner::TestRunner::setCloseRemainingWindowsWhenComplete):
(WebTestRunner::TestRunner::setCustomPolicyDelegate):
(WebTestRunner::TestRunner::waitForPolicyDelegate):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):
(WorkItem):
(WebTestRunner::TestRunner::WorkItem::~WorkItem):
(WorkQueue):
(WebTestRunner::TestRunner::WorkQueue::WorkQueue):
(WebTestRunner::TestRunner::WorkQueue::setFrozen):
(WebTestRunner::TestRunner::WorkQueue::isEmpty):
(WebTestRunner::TestRunner::WorkQueue::taskList):
* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::initialize):
(TestShell::runFileTest):
(TestShell::loadURL):
(TestShell::createNewWindow):
* DumpRenderTree/chromium/TestShell.h:
(TestShell::testRunner):
(TestShell):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::testFinished):
(WebViewHost::testTimedOut):
(WebViewHost::isBeingDebugged):
(WebViewHost::layoutTestTimeout):
(WebViewHost::closeRemainingWindows):
(WebViewHost::navigationEntryCount):
(WebViewHost::windowCount):
(WebViewHost::setCustomPolicyDelegate):
(WebViewHost::waitForPolicyDelegate):
(WebViewHost::goToOffset):
(WebViewHost::reload):
(WebViewHost::loadURLForFrame):
(WebViewHost::shutdown):
(WebViewHost::testRunner):
* DumpRenderTree/chromium/WebViewHost.h:
(WebTestRunner):
(WebViewHost):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141082 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Chromium] Disabling WebFrameTest.DisambiguationPopupMobileSite because WebFrameTest...
keishi@webkit.org [Tue, 29 Jan 2013 09:21:22 +0000 (09:21 +0000)]
[Chromium] Disabling WebFrameTest.DisambiguationPopupMobileSite because WebFrameTest is still failing after r141073.

Unreviewed. Gardening.

* tests/WebFrameTest.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141081 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed, rolling out r141064.
commit-queue@webkit.org [Tue, 29 Jan 2013 09:16:00 +0000 (09:16 +0000)]
Unreviewed, rolling out r141064.
http://trac.webkit.org/changeset/141064
https://bugs.webkit.org/show_bug.cgi?id=108166

[Chromium] WebFrameTest.DivScrollIntoEditableTest is failing
on WinXP. (Requested by keishi on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-29

* tests/WebFrameTest.cpp:
* tests/data/get_scale_for_zoom_into_editable_test.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141080 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed build fix after r141024.
zandobersek@gmail.com [Tue, 29 Jan 2013 08:58:58 +0000 (08:58 +0000)]
Unreviewed build fix after r141024.
Adding new files to the build.

* GNUmakefile.am:
* GNUmakefile.list.am:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141079 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[WK2] Fix unused parameter build warning
commit-queue@webkit.org [Tue, 29 Jan 2013 08:55:08 +0000 (08:55 +0000)]
[WK2] Fix unused parameter build warning
https://bugs.webkit.org/show_bug.cgi?id=108156

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2013-01-29
Reviewed by Kentaro Hara.

Comment out the unused parameters to fix the build warnings.

* WebProcess/Plugins/Netscape/NetscapePlugin.h:
* WebProcess/Plugins/PluginProxy.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141078 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Chromium] Marking icon-0colors.html as crashing.
keishi@webkit.org [Tue, 29 Jan 2013 08:51:44 +0000 (08:51 +0000)]
[Chromium] Marking icon-0colors.html as crashing.

Unreviewed. Gardening.

* platform/chromium/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141077 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoStore ShadowRootType inside the bitfield
esprehn@chromium.org [Tue, 29 Jan 2013 08:33:33 +0000 (08:33 +0000)]
Store ShadowRootType inside the bitfield
https://bugs.webkit.org/show_bug.cgi?id=108147

Reviewed by Dimitri Glazkov.

We can simplify the interface to ShadowRoot by storing the enum value of
ShadowRootType inside the bitfield like we do in the rest of WebCore.

No new tests, just refactoring.

* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::ShadowRoot):
(WebCore::ShadowRoot::create):
* dom/ShadowRoot.h:
(WebCore::ShadowRoot::type):
(ShadowRoot):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141075 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Chromium] Disabling WebFrameTest.DisambiguationPopup because it is failing.
keishi@webkit.org [Tue, 29 Jan 2013 08:30:09 +0000 (08:30 +0000)]
[Chromium] Disabling WebFrameTest.DisambiguationPopup because it is failing.

Unreviewed. Gardening.

* tests/WebFrameTest.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141073 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoREGRESSION(r141070): Broke debug build
jochen@chromium.org [Tue, 29 Jan 2013 08:18:54 +0000 (08:18 +0000)]
REGRESSION(r141070): Broke debug build
https://bugs.webkit.org/show_bug.cgi?id=108159

Unreviewed build fix.

* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::pumpTokenizer):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141071 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoHTMLDocumentParser should hold the HTMLToken using an OwnPtr
abarth@webkit.org [Tue, 29 Jan 2013 08:01:37 +0000 (08:01 +0000)]
HTMLDocumentParser should hold the HTMLToken using an OwnPtr
https://bugs.webkit.org/show_bug.cgi?id=107762

Reviewed by Eric Seidel.

Using an OwnPtr will let us detach the HTMLToken from the
HTMLDocumentParser and send it to the BackgroundHTMLParser for further
processing.

* html/parser/BackgroundHTMLParser.cpp:
(WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
(WebCore::BackgroundHTMLParser::pumpTokenizer):
* html/parser/BackgroundHTMLParser.h:
(BackgroundHTMLParser):
* html/parser/CompactHTMLToken.cpp:
(WebCore::CompactHTMLToken::CompactHTMLToken):
* html/parser/CompactHTMLToken.h:
(CompactHTMLToken):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::HTMLDocumentParser):
(WebCore::HTMLDocumentParser::pumpTokenizer):
* html/parser/HTMLDocumentParser.h:
(HTMLDocumentParser):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141070 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoDFG should not use a graph that is a vector, Nodes shouldn't move after allocation...
fpizlo@apple.com [Tue, 29 Jan 2013 08:01:03 +0000 (08:01 +0000)]
DFG should not use a graph that is a vector, Nodes shouldn't move after allocation, and we should always refer to nodes by Node*
https://bugs.webkit.org/show_bug.cgi?id=106868

Reviewed by Oliver Hunt.

This adds a pool allocator for Nodes, and uses that instead of a Vector. Changes all
uses of Node& and NodeIndex to be simply Node*. Nodes no longer have an index except
for debugging (Node::index(), which is not guaranteed to be O(1)).

1% speed-up on SunSpider, presumably because this improves compile times.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* bytecode/DataFormat.h:
(JSC::dataFormatToString):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::initialize):
(JSC::DFG::AbstractState::booleanResult):
(JSC::DFG::AbstractState::execute):
(JSC::DFG::AbstractState::mergeStateAtTail):
(JSC::DFG::AbstractState::mergeToSuccessors):
(JSC::DFG::AbstractState::mergeVariableBetweenBlocks):
(JSC::DFG::AbstractState::dump):
* dfg/DFGAbstractState.h:
(DFG):
(JSC::DFG::AbstractState::forNode):
(AbstractState):
(JSC::DFG::AbstractState::speculateInt32Unary):
(JSC::DFG::AbstractState::speculateNumberUnary):
(JSC::DFG::AbstractState::speculateBooleanUnary):
(JSC::DFG::AbstractState::speculateInt32Binary):
(JSC::DFG::AbstractState::speculateNumberBinary):
(JSC::DFG::AbstractState::trySetConstant):
* dfg/DFGAbstractValue.h:
(AbstractValue):
* dfg/DFGAdjacencyList.h:
(JSC::DFG::AdjacencyList::AdjacencyList):
(JSC::DFG::AdjacencyList::initialize):
* dfg/DFGAllocator.h: Added.
(DFG):
(Allocator):
(JSC::DFG::Allocator::Region::size):
(JSC::DFG::Allocator::Region::headerSize):
(JSC::DFG::Allocator::Region::numberOfThingsPerRegion):
(JSC::DFG::Allocator::Region::data):
(JSC::DFG::Allocator::Region::isInThisRegion):
(JSC::DFG::Allocator::Region::regionFor):
(Region):
(JSC::DFG::::Allocator):
(JSC::DFG::::~Allocator):
(JSC::DFG::::allocate):
(JSC::DFG::::free):
(JSC::DFG::::freeAll):
(JSC::DFG::::reset):
(JSC::DFG::::indexOf):
(JSC::DFG::::allocatorOf):
(JSC::DFG::::bumpAllocate):
(JSC::DFG::::freeListAllocate):
(JSC::DFG::::allocateSlow):
(JSC::DFG::::freeRegionsStartingAt):
(JSC::DFG::::startBumpingIn):
* dfg/DFGArgumentsSimplificationPhase.cpp:
(JSC::DFG::ArgumentsSimplificationPhase::run):
(JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUse):
(JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUses):
(JSC::DFG::ArgumentsSimplificationPhase::observeProperArgumentsUse):
(JSC::DFG::ArgumentsSimplificationPhase::isOKToOptimize):
(JSC::DFG::ArgumentsSimplificationPhase::removeArgumentsReferencingPhantomChild):
* dfg/DFGArrayMode.cpp:
(JSC::DFG::ArrayMode::originalArrayStructure):
(JSC::DFG::ArrayMode::alreadyChecked):
* dfg/DFGArrayMode.h:
(ArrayMode):
* dfg/DFGArrayifySlowPathGenerator.h:
(JSC::DFG::ArrayifySlowPathGenerator::ArrayifySlowPathGenerator):
* dfg/DFGBasicBlock.h:
(JSC::DFG::BasicBlock::node):
(JSC::DFG::BasicBlock::isInPhis):
(JSC::DFG::BasicBlock::isInBlock):
(BasicBlock):
* dfg/DFGBasicBlockInlines.h:
(DFG):
* dfg/DFGByteCodeParser.cpp:
(ByteCodeParser):
(JSC::DFG::ByteCodeParser::getDirect):
(JSC::DFG::ByteCodeParser::get):
(JSC::DFG::ByteCodeParser::setDirect):
(JSC::DFG::ByteCodeParser::set):
(JSC::DFG::ByteCodeParser::setPair):
(JSC::DFG::ByteCodeParser::injectLazyOperandSpeculation):
(JSC::DFG::ByteCodeParser::getLocal):
(JSC::DFG::ByteCodeParser::setLocal):
(JSC::DFG::ByteCodeParser::getArgument):
(JSC::DFG::ByteCodeParser::setArgument):
(JSC::DFG::ByteCodeParser::flushDirect):
(JSC::DFG::ByteCodeParser::getToInt32):
(JSC::DFG::ByteCodeParser::toInt32):
(JSC::DFG::ByteCodeParser::getJSConstantForValue):
(JSC::DFG::ByteCodeParser::getJSConstant):
(JSC::DFG::ByteCodeParser::getCallee):
(JSC::DFG::ByteCodeParser::getThis):
(JSC::DFG::ByteCodeParser::setThis):
(JSC::DFG::ByteCodeParser::isJSConstant):
(JSC::DFG::ByteCodeParser::isInt32Constant):
(JSC::DFG::ByteCodeParser::valueOfJSConstant):
(JSC::DFG::ByteCodeParser::valueOfInt32Constant):
(JSC::DFG::ByteCodeParser::constantUndefined):
(JSC::DFG::ByteCodeParser::constantNull):
(JSC::DFG::ByteCodeParser::one):
(JSC::DFG::ByteCodeParser::constantNaN):
(JSC::DFG::ByteCodeParser::cellConstant):
(JSC::DFG::ByteCodeParser::addToGraph):
(JSC::DFG::ByteCodeParser::insertPhiNode):
(JSC::DFG::ByteCodeParser::addVarArgChild):
(JSC::DFG::ByteCodeParser::addCall):
(JSC::DFG::ByteCodeParser::addStructureTransitionCheck):
(JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit):
(JSC::DFG::ByteCodeParser::getPrediction):
(JSC::DFG::ByteCodeParser::getArrayModeAndEmitChecks):
(JSC::DFG::ByteCodeParser::makeSafe):
(JSC::DFG::ByteCodeParser::makeDivSafe):
(JSC::DFG::ByteCodeParser::ConstantRecord::ConstantRecord):
(ConstantRecord):
(JSC::DFG::ByteCodeParser::PhiStackEntry::PhiStackEntry):
(PhiStackEntry):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::emitFunctionChecks):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::setIntrinsicResult):
(JSC::DFG::ByteCodeParser::handleMinMax):
(JSC::DFG::ByteCodeParser::handleIntrinsic):
(JSC::DFG::ByteCodeParser::handleGetByOffset):
(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::getScope):
(JSC::DFG::ByteCodeParser::parseResolveOperations):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::processPhiStack):
(JSC::DFG::ByteCodeParser::linkBlock):
(JSC::DFG::ByteCodeParser::parseCodeBlock):
(JSC::DFG::ByteCodeParser::parse):
* dfg/DFGCFAPhase.cpp:
(JSC::DFG::CFAPhase::performBlockCFA):
* dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::run):
(JSC::DFG::CFGSimplificationPhase::keepOperandAlive):
(JSC::DFG::CFGSimplificationPhase::fixPossibleGetLocal):
(JSC::DFG::CFGSimplificationPhase::fixPhis):
(JSC::DFG::CFGSimplificationPhase::removePotentiallyDeadPhiReference):
(JSC::DFG::CFGSimplificationPhase::OperandSubstitution::OperandSubstitution):
(JSC::DFG::CFGSimplificationPhase::OperandSubstitution::dump):
(OperandSubstitution):
(JSC::DFG::CFGSimplificationPhase::skipGetLocal):
(JSC::DFG::CFGSimplificationPhase::recordNewTarget):
(JSC::DFG::CFGSimplificationPhase::fixTailOperand):
(JSC::DFG::CFGSimplificationPhase::mergeBlocks):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::canonicalize):
(JSC::DFG::CSEPhase::endIndexForPureCSE):
(JSC::DFG::CSEPhase::pureCSE):
(JSC::DFG::CSEPhase::constantCSE):
(JSC::DFG::CSEPhase::weakConstantCSE):
(JSC::DFG::CSEPhase::getCalleeLoadElimination):
(JSC::DFG::CSEPhase::getArrayLengthElimination):
(JSC::DFG::CSEPhase::globalVarLoadElimination):
(JSC::DFG::CSEPhase::scopedVarLoadElimination):
(JSC::DFG::CSEPhase::globalVarWatchpointElimination):
(JSC::DFG::CSEPhase::globalVarStoreElimination):
(JSC::DFG::CSEPhase::scopedVarStoreElimination):
(JSC::DFG::CSEPhase::getByValLoadElimination):
(JSC::DFG::CSEPhase::checkFunctionElimination):
(JSC::DFG::CSEPhase::checkExecutableElimination):
(JSC::DFG::CSEPhase::checkStructureElimination):
(JSC::DFG::CSEPhase::structureTransitionWatchpointElimination):
(JSC::DFG::CSEPhase::putStructureStoreElimination):
(JSC::DFG::CSEPhase::getByOffsetLoadElimination):
(JSC::DFG::CSEPhase::putByOffsetStoreElimination):
(JSC::DFG::CSEPhase::getPropertyStorageLoadElimination):
(JSC::DFG::CSEPhase::checkArrayElimination):
(JSC::DFG::CSEPhase::getIndexedPropertyStorageLoadElimination):
(JSC::DFG::CSEPhase::getMyScopeLoadElimination):
(JSC::DFG::CSEPhase::getLocalLoadElimination):
(JSC::DFG::CSEPhase::setLocalStoreElimination):
(JSC::DFG::CSEPhase::performSubstitution):
(JSC::DFG::CSEPhase::eliminateIrrelevantPhantomChildren):
(JSC::DFG::CSEPhase::setReplacement):
(JSC::DFG::CSEPhase::eliminate):
(JSC::DFG::CSEPhase::performNodeCSE):
(JSC::DFG::CSEPhase::performBlockCSE):
(CSEPhase):
* dfg/DFGCommon.cpp: Added.
(DFG):
(JSC::DFG::NodePointerTraits::dump):
* dfg/DFGCommon.h:
(DFG):
(JSC::DFG::NodePointerTraits::defaultValue):
(NodePointerTraits):
(JSC::DFG::verboseCompilationEnabled):
(JSC::DFG::shouldDumpGraphAtEachPhase):
(JSC::DFG::validationEnabled):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
(JSC::DFG::ConstantFoldingPhase::isCapturedAtOrAfter):
(JSC::DFG::ConstantFoldingPhase::addStructureTransitionCheck):
(JSC::DFG::ConstantFoldingPhase::paintUnreachableCode):
* dfg/DFGDisassembler.cpp:
(JSC::DFG::Disassembler::Disassembler):
(JSC::DFG::Disassembler::createDumpList):
(JSC::DFG::Disassembler::dumpDisassembly):
* dfg/DFGDisassembler.h:
(JSC::DFG::Disassembler::setForNode):
(Disassembler):
* dfg/DFGDriver.cpp:
(JSC::DFG::compile):
* dfg/DFGEdge.cpp: Added.
(DFG):
(JSC::DFG::Edge::dump):
* dfg/DFGEdge.h:
(JSC::DFG::Edge::Edge):
(JSC::DFG::Edge::node):
(JSC::DFG::Edge::operator*):
(JSC::DFG::Edge::operator->):
(Edge):
(JSC::DFG::Edge::setNode):
(JSC::DFG::Edge::useKind):
(JSC::DFG::Edge::setUseKind):
(JSC::DFG::Edge::isSet):
(JSC::DFG::Edge::shift):
(JSC::DFG::Edge::makeWord):
(JSC::DFG::operator==):
(JSC::DFG::operator!=):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupBlock):
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::checkArray):
(JSC::DFG::FixupPhase::blessArrayOperation):
(JSC::DFG::FixupPhase::fixIntEdge):
(JSC::DFG::FixupPhase::fixDoubleEdge):
(JSC::DFG::FixupPhase::injectInt32ToDoubleNode):
(FixupPhase):
* dfg/DFGGenerationInfo.h:
(JSC::DFG::GenerationInfo::GenerationInfo):
(JSC::DFG::GenerationInfo::initConstant):
(JSC::DFG::GenerationInfo::initInteger):
(JSC::DFG::GenerationInfo::initJSValue):
(JSC::DFG::GenerationInfo::initCell):
(JSC::DFG::GenerationInfo::initBoolean):
(JSC::DFG::GenerationInfo::initDouble):
(JSC::DFG::GenerationInfo::initStorage):
(GenerationInfo):
(JSC::DFG::GenerationInfo::node):
(JSC::DFG::GenerationInfo::noticeOSRBirth):
(JSC::DFG::GenerationInfo::use):
(JSC::DFG::GenerationInfo::appendFill):
(JSC::DFG::GenerationInfo::appendSpill):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::Graph):
(JSC::DFG::Graph::~Graph):
(DFG):
(JSC::DFG::Graph::dumpCodeOrigin):
(JSC::DFG::Graph::amountOfNodeWhiteSpace):
(JSC::DFG::Graph::printNodeWhiteSpace):
(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::dumpBlockHeader):
(JSC::DFG::Graph::refChildren):
(JSC::DFG::Graph::derefChildren):
(JSC::DFG::Graph::predictArgumentTypes):
(JSC::DFG::Graph::collectGarbage):
(JSC::DFG::Graph::determineReachability):
(JSC::DFG::Graph::resetExitStates):
* dfg/DFGGraph.h:
(Graph):
(JSC::DFG::Graph::ref):
(JSC::DFG::Graph::deref):
(JSC::DFG::Graph::changeChild):
(JSC::DFG::Graph::compareAndSwap):
(JSC::DFG::Graph::clearAndDerefChild):
(JSC::DFG::Graph::clearAndDerefChild1):
(JSC::DFG::Graph::clearAndDerefChild2):
(JSC::DFG::Graph::clearAndDerefChild3):
(JSC::DFG::Graph::convertToConstant):
(JSC::DFG::Graph::getJSConstantSpeculation):
(JSC::DFG::Graph::addSpeculationMode):
(JSC::DFG::Graph::valueAddSpeculationMode):
(JSC::DFG::Graph::arithAddSpeculationMode):
(JSC::DFG::Graph::addShouldSpeculateInteger):
(JSC::DFG::Graph::mulShouldSpeculateInteger):
(JSC::DFG::Graph::negateShouldSpeculateInteger):
(JSC::DFG::Graph::isConstant):
(JSC::DFG::Graph::isJSConstant):
(JSC::DFG::Graph::isInt32Constant):
(JSC::DFG::Graph::isDoubleConstant):
(JSC::DFG::Graph::isNumberConstant):
(JSC::DFG::Graph::isBooleanConstant):
(JSC::DFG::Graph::isCellConstant):
(JSC::DFG::Graph::isFunctionConstant):
(JSC::DFG::Graph::isInternalFunctionConstant):
(JSC::DFG::Graph::valueOfJSConstant):
(JSC::DFG::Graph::valueOfInt32Constant):
(JSC::DFG::Graph::valueOfNumberConstant):
(JSC::DFG::Graph::valueOfBooleanConstant):
(JSC::DFG::Graph::valueOfFunctionConstant):
(JSC::DFG::Graph::valueProfileFor):
(JSC::DFG::Graph::methodOfGettingAValueProfileFor):
(JSC::DFG::Graph::numSuccessors):
(JSC::DFG::Graph::successor):
(JSC::DFG::Graph::successorForCondition):
(JSC::DFG::Graph::isPredictedNumerical):
(JSC::DFG::Graph::byValIsPure):
(JSC::DFG::Graph::clobbersWorld):
(JSC::DFG::Graph::varArgNumChildren):
(JSC::DFG::Graph::numChildren):
(JSC::DFG::Graph::varArgChild):
(JSC::DFG::Graph::child):
(JSC::DFG::Graph::voteNode):
(JSC::DFG::Graph::voteChildren):
(JSC::DFG::Graph::substitute):
(JSC::DFG::Graph::substituteGetLocal):
(JSC::DFG::Graph::addImmediateShouldSpeculateInteger):
(JSC::DFG::Graph::mulImmediateShouldSpeculateInteger):
* dfg/DFGInsertionSet.h:
(JSC::DFG::Insertion::Insertion):
(JSC::DFG::Insertion::element):
(Insertion):
(JSC::DFG::InsertionSet::insert):
(InsertionSet):
* dfg/DFGJITCompiler.cpp:
* dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::setForNode):
(JSC::DFG::JITCompiler::addressOfDoubleConstant):
(JSC::DFG::JITCompiler::noticeOSREntry):
* dfg/DFGLongLivedState.cpp: Added.
(DFG):
(JSC::DFG::LongLivedState::LongLivedState):
(JSC::DFG::LongLivedState::~LongLivedState):
(JSC::DFG::LongLivedState::shrinkToFit):
* dfg/DFGLongLivedState.h: Added.
(DFG):
(LongLivedState):
* dfg/DFGMinifiedID.h:
(JSC::DFG::MinifiedID::MinifiedID):
(JSC::DFG::MinifiedID::node):
* dfg/DFGMinifiedNode.cpp:
(JSC::DFG::MinifiedNode::fromNode):
* dfg/DFGMinifiedNode.h:
(MinifiedNode):
* dfg/DFGNode.cpp: Added.
(DFG):
(JSC::DFG::Node::index):
(WTF):
(WTF::printInternal):
* dfg/DFGNode.h:
(DFG):
(JSC::DFG::Node::Node):
(Node):
(JSC::DFG::Node::convertToGetByOffset):
(JSC::DFG::Node::convertToPutByOffset):
(JSC::DFG::Node::ref):
(JSC::DFG::Node::shouldSpeculateInteger):
(JSC::DFG::Node::shouldSpeculateIntegerForArithmetic):
(JSC::DFG::Node::shouldSpeculateIntegerExpectingDefined):
(JSC::DFG::Node::shouldSpeculateDoubleForArithmetic):
(JSC::DFG::Node::shouldSpeculateNumber):
(JSC::DFG::Node::shouldSpeculateNumberExpectingDefined):
(JSC::DFG::Node::shouldSpeculateFinalObject):
(JSC::DFG::Node::shouldSpeculateArray):
(JSC::DFG::Node::dumpChildren):
(WTF):
* dfg/DFGNodeAllocator.h: Added.
(DFG):
(operator new ):
* dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::OSRExit):
* dfg/DFGOSRExit.h:
(OSRExit):
(SpeculationFailureDebugInfo):
* dfg/DFGOSRExitCompiler.cpp:
* dfg/DFGOSRExitCompiler32_64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOSRExitCompiler64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOperations.cpp:
* dfg/DFGPhase.cpp:
(DFG):
(JSC::DFG::Phase::beginPhase):
(JSC::DFG::Phase::endPhase):
* dfg/DFGPhase.h:
(Phase):
(JSC::DFG::runAndLog):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::setPrediction):
(JSC::DFG::PredictionPropagationPhase::mergePrediction):
(JSC::DFG::PredictionPropagationPhase::isNotNegZero):
(JSC::DFG::PredictionPropagationPhase::isNotZero):
(JSC::DFG::PredictionPropagationPhase::isWithinPowerOfTwoForConstant):
(JSC::DFG::PredictionPropagationPhase::isWithinPowerOfTwoNonRecursive):
(JSC::DFG::PredictionPropagationPhase::isWithinPowerOfTwo):
(JSC::DFG::PredictionPropagationPhase::propagate):
(JSC::DFG::PredictionPropagationPhase::mergeDefaultFlags):
(JSC::DFG::PredictionPropagationPhase::propagateForward):
(JSC::DFG::PredictionPropagationPhase::propagateBackward):
(JSC::DFG::PredictionPropagationPhase::doDoubleVoting):
(PredictionPropagationPhase):
(JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting):
* dfg/DFGScoreBoard.h:
(JSC::DFG::ScoreBoard::ScoreBoard):
(JSC::DFG::ScoreBoard::use):
(JSC::DFG::ScoreBoard::useIfHasResult):
(ScoreBoard):
* dfg/DFGSilentRegisterSavePlan.h:
(JSC::DFG::SilentRegisterSavePlan::SilentRegisterSavePlan):
(JSC::DFG::SilentRegisterSavePlan::node):
(SilentRegisterSavePlan):
* dfg/DFGSlowPathGenerator.h:
(JSC::DFG::SlowPathGenerator::SlowPathGenerator):
(JSC::DFG::SlowPathGenerator::generate):
(SlowPathGenerator):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::speculationCheck):
(JSC::DFG::SpeculativeJIT::speculationWatchpoint):
(JSC::DFG::SpeculativeJIT::convertLastOSRExitToForward):
(JSC::DFG::SpeculativeJIT::forwardSpeculationCheck):
(JSC::DFG::SpeculativeJIT::terminateSpeculativeExecution):
(JSC::DFG::SpeculativeJIT::silentSavePlanForGPR):
(JSC::DFG::SpeculativeJIT::silentSavePlanForFPR):
(JSC::DFG::SpeculativeJIT::silentSpill):
(JSC::DFG::SpeculativeJIT::silentFill):
(JSC::DFG::SpeculativeJIT::checkArray):
(JSC::DFG::SpeculativeJIT::arrayify):
(JSC::DFG::SpeculativeJIT::fillStorage):
(JSC::DFG::SpeculativeJIT::useChildren):
(JSC::DFG::SpeculativeJIT::isStrictInt32):
(JSC::DFG::SpeculativeJIT::isKnownInteger):
(JSC::DFG::SpeculativeJIT::isKnownNumeric):
(JSC::DFG::SpeculativeJIT::isKnownCell):
(JSC::DFG::SpeculativeJIT::isKnownNotCell):
(JSC::DFG::SpeculativeJIT::isKnownNotInteger):
(JSC::DFG::SpeculativeJIT::isKnownNotNumber):
(JSC::DFG::SpeculativeJIT::writeBarrier):
(JSC::DFG::SpeculativeJIT::nonSpeculativeCompare):
(JSC::DFG::SpeculativeJIT::nonSpeculativeStrictEq):
(JSC::DFG::GPRTemporary::GPRTemporary):
(JSC::DFG::FPRTemporary::FPRTemporary):
(JSC::DFG::SpeculativeJIT::compilePeepHoleDoubleBranch):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleIntegerBranch):
(JSC::DFG::SpeculativeJIT::compilePeepHoleBranch):
(JSC::DFG::SpeculativeJIT::noticeOSRBirth):
(JSC::DFG::SpeculativeJIT::compileMovHint):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::checkArgumentTypes):
(JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):
(JSC::DFG::SpeculativeJIT::compileDoublePutByVal):
(JSC::DFG::SpeculativeJIT::compileGetCharCodeAt):
(JSC::DFG::SpeculativeJIT::compileGetByValOnString):
(JSC::DFG::SpeculativeJIT::checkGeneratedTypeForToInt32):
(JSC::DFG::SpeculativeJIT::compileValueToInt32):
(JSC::DFG::SpeculativeJIT::compileUInt32ToNumber):
(JSC::DFG::SpeculativeJIT::compileDoubleAsInt32):
(JSC::DFG::SpeculativeJIT::compileInt32ToDouble):
(JSC::DFG::SpeculativeJIT::compileGetByValOnIntTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
(JSC::DFG::SpeculativeJIT::compileGetByValOnFloatTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForFloatTypedArray):
(JSC::DFG::SpeculativeJIT::compileInstanceOfForObject):
(JSC::DFG::SpeculativeJIT::compileInstanceOf):
(JSC::DFG::SpeculativeJIT::compileSoftModulo):
(JSC::DFG::SpeculativeJIT::compileAdd):
(JSC::DFG::SpeculativeJIT::compileArithSub):
(JSC::DFG::SpeculativeJIT::compileArithNegate):
(JSC::DFG::SpeculativeJIT::compileArithMul):
(JSC::DFG::SpeculativeJIT::compileIntegerArithDivForX86):
(JSC::DFG::SpeculativeJIT::compileArithMod):
(JSC::DFG::SpeculativeJIT::compare):
(JSC::DFG::SpeculativeJIT::compileStrictEqForConstant):
(JSC::DFG::SpeculativeJIT::compileStrictEq):
(JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage):
(JSC::DFG::SpeculativeJIT::compileGetByValOnArguments):
(JSC::DFG::SpeculativeJIT::compileGetArgumentsLength):
(JSC::DFG::SpeculativeJIT::compileGetArrayLength):
(JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck):
(JSC::DFG::SpeculativeJIT::compileNewFunctionExpression):
(JSC::DFG::SpeculativeJIT::compileRegExpExec):
(JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage):
(JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage):
* dfg/DFGSpeculativeJIT.h:
(SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::canReuse):
(JSC::DFG::SpeculativeJIT::isFilled):
(JSC::DFG::SpeculativeJIT::isFilledDouble):
(JSC::DFG::SpeculativeJIT::use):
(JSC::DFG::SpeculativeJIT::isConstant):
(JSC::DFG::SpeculativeJIT::isJSConstant):
(JSC::DFG::SpeculativeJIT::isInt32Constant):
(JSC::DFG::SpeculativeJIT::isDoubleConstant):
(JSC::DFG::SpeculativeJIT::isNumberConstant):
(JSC::DFG::SpeculativeJIT::isBooleanConstant):
(JSC::DFG::SpeculativeJIT::isFunctionConstant):
(JSC::DFG::SpeculativeJIT::valueOfInt32Constant):
(JSC::DFG::SpeculativeJIT::valueOfNumberConstant):
(JSC::DFG::SpeculativeJIT::valueOfNumberConstantAsInt32):
(JSC::DFG::SpeculativeJIT::addressOfDoubleConstant):
(JSC::DFG::SpeculativeJIT::valueOfJSConstant):
(JSC::DFG::SpeculativeJIT::valueOfBooleanConstant):
(JSC::DFG::SpeculativeJIT::valueOfFunctionConstant):
(JSC::DFG::SpeculativeJIT::isNullConstant):
(JSC::DFG::SpeculativeJIT::valueOfJSConstantAsImm64):
(JSC::DFG::SpeculativeJIT::detectPeepHoleBranch):
(JSC::DFG::SpeculativeJIT::integerResult):
(JSC::DFG::SpeculativeJIT::noResult):
(JSC::DFG::SpeculativeJIT::cellResult):
(JSC::DFG::SpeculativeJIT::booleanResult):
(JSC::DFG::SpeculativeJIT::jsValueResult):
(JSC::DFG::SpeculativeJIT::storageResult):
(JSC::DFG::SpeculativeJIT::doubleResult):
(JSC::DFG::SpeculativeJIT::initConstantInfo):
(JSC::DFG::SpeculativeJIT::appendCallWithExceptionCheck):
(JSC::DFG::SpeculativeJIT::isInteger):
(JSC::DFG::SpeculativeJIT::temporaryRegisterForPutByVal):
(JSC::DFG::SpeculativeJIT::emitAllocateBasicStorage):
(JSC::DFG::SpeculativeJIT::setNodeForOperand):
(JSC::DFG::IntegerOperand::IntegerOperand):
(JSC::DFG::IntegerOperand::node):
(JSC::DFG::IntegerOperand::gpr):
(JSC::DFG::IntegerOperand::use):
(IntegerOperand):
(JSC::DFG::DoubleOperand::DoubleOperand):
(JSC::DFG::DoubleOperand::node):
(JSC::DFG::DoubleOperand::fpr):
(JSC::DFG::DoubleOperand::use):
(DoubleOperand):
(JSC::DFG::JSValueOperand::JSValueOperand):
(JSC::DFG::JSValueOperand::node):
(JSC::DFG::JSValueOperand::gpr):
(JSC::DFG::JSValueOperand::fill):
(JSC::DFG::JSValueOperand::use):
(JSValueOperand):
(JSC::DFG::StorageOperand::StorageOperand):
(JSC::DFG::StorageOperand::node):
(JSC::DFG::StorageOperand::gpr):
(JSC::DFG::StorageOperand::use):
(StorageOperand):
(JSC::DFG::SpeculateIntegerOperand::SpeculateIntegerOperand):
(JSC::DFG::SpeculateIntegerOperand::node):
(JSC::DFG::SpeculateIntegerOperand::gpr):
(JSC::DFG::SpeculateIntegerOperand::use):
(SpeculateIntegerOperand):
(JSC::DFG::SpeculateStrictInt32Operand::SpeculateStrictInt32Operand):
(JSC::DFG::SpeculateStrictInt32Operand::node):
(JSC::DFG::SpeculateStrictInt32Operand::gpr):
(JSC::DFG::SpeculateStrictInt32Operand::use):
(SpeculateStrictInt32Operand):
(JSC::DFG::SpeculateDoubleOperand::SpeculateDoubleOperand):
(JSC::DFG::SpeculateDoubleOperand::node):
(JSC::DFG::SpeculateDoubleOperand::fpr):
(JSC::DFG::SpeculateDoubleOperand::use):
(SpeculateDoubleOperand):
(JSC::DFG::SpeculateCellOperand::SpeculateCellOperand):
(JSC::DFG::SpeculateCellOperand::node):
(JSC::DFG::SpeculateCellOperand::gpr):
(JSC::DFG::SpeculateCellOperand::use):
(SpeculateCellOperand):
(JSC::DFG::SpeculateBooleanOperand::SpeculateBooleanOperand):
(JSC::DFG::SpeculateBooleanOperand::node):
(JSC::DFG::SpeculateBooleanOperand::gpr):
(JSC::DFG::SpeculateBooleanOperand::use):
(SpeculateBooleanOperand):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::fillInteger):
(JSC::DFG::SpeculativeJIT::fillDouble):
(JSC::DFG::SpeculativeJIT::fillJSValue):
(JSC::DFG::SpeculativeJIT::nonSpeculativeValueToNumber):
(JSC::DFG::SpeculativeJIT::nonSpeculativeValueToInt32):
(JSC::DFG::SpeculativeJIT::nonSpeculativeUInt32ToNumber):
(JSC::DFG::SpeculativeJIT::cachedPutById):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt):
(JSC::DFG::SpeculativeJIT::fillSpeculateIntStrict):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileIntegerCompare):
(JSC::DFG::SpeculativeJIT::compileDoubleCompare):
(JSC::DFG::SpeculativeJIT::compileValueAdd):
(JSC::DFG::SpeculativeJIT::compileNonStringCellOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::emitNonStringCellOrOtherBranch):
(JSC::DFG::SpeculativeJIT::emitBranch):
(JSC::DFG::SpeculativeJIT::compileContiguousPutByVal):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::fillInteger):
(JSC::DFG::SpeculativeJIT::fillDouble):
(JSC::DFG::SpeculativeJIT::fillJSValue):
(JSC::DFG::SpeculativeJIT::nonSpeculativeValueToNumber):
(JSC::DFG::SpeculativeJIT::nonSpeculativeValueToInt32):
(JSC::DFG::SpeculativeJIT::nonSpeculativeUInt32ToNumber):
(JSC::DFG::SpeculativeJIT::cachedPutById):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt):
(JSC::DFG::SpeculativeJIT::fillSpeculateIntStrict):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileIntegerCompare):
(JSC::DFG::SpeculativeJIT::compileDoubleCompare):
(JSC::DFG::SpeculativeJIT::compileValueAdd):
(JSC::DFG::SpeculativeJIT::compileNonStringCellOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::emitNonStringCellOrOtherBranch):
(JSC::DFG::SpeculativeJIT::emitBranch):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGStructureAbstractValue.h:
(StructureAbstractValue):
* dfg/DFGStructureCheckHoistingPhase.cpp:
(JSC::DFG::StructureCheckHoistingPhase::run):
* dfg/DFGValidate.cpp:
(DFG):
(Validate):
(JSC::DFG::Validate::validate):
(JSC::DFG::Validate::reportValidationContext):
* dfg/DFGValidate.h:
* dfg/DFGValueSource.cpp:
(JSC::DFG::ValueSource::dump):
* dfg/DFGValueSource.h:
(JSC::DFG::ValueSource::ValueSource):
* dfg/DFGVirtualRegisterAllocationPhase.cpp:
(JSC::DFG::VirtualRegisterAllocationPhase::run):
* runtime/FunctionExecutableDump.cpp: Added.
(JSC):
(JSC::FunctionExecutableDump::dump):
* runtime/FunctionExecutableDump.h: Added.
(JSC):
(FunctionExecutableDump):
(JSC::FunctionExecutableDump::FunctionExecutableDump):
* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::JSGlobalData):
* runtime/JSGlobalData.h:
(JSC):
(DFG):
(JSGlobalData):
* runtime/Options.h:
(JSC):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141069 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Qt] Build fix
commit-queue@webkit.org [Tue, 29 Jan 2013 07:57:46 +0000 (07:57 +0000)]
[Qt] Build fix
https://bugs.webkit.org/show_bug.cgi?id=108142

Patch by Jae Hyun Park <jae.park@company100.net> on 2013-01-28
Reviewed by Gyuyoung Kim.

Build fix. Though StorageManager was added to WK2 in r141024,
it is not added to Target.pri for qt port.

* Target.pri:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141068 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Texmap] Refactor code related to debug border and repaint count.
commit-queue@webkit.org [Tue, 29 Jan 2013 07:48:48 +0000 (07:48 +0000)]
[Texmap] Refactor code related to debug border and repaint count.
https://bugs.webkit.org/show_bug.cgi?id=105787

Patch by Huang Dongsung <luxtella@company100.net> on 2013-01-28
Reviewed by Noam Rosenthal.

It is a follow-up patch not to change layout test results.

The previous patch sets GraphicsLayer::m_usingTiledLayer to true when using a
backing store. When the variable is true, dumpLayer() adds (usingTiledLayer 1),
but most of ports don't set m_usingTiledLayer to true. So we don't use
m_usingTiledLayer to match the test results of other ports.

After this patch, Texture Mapper draws debug visuals for a tiled backing
with different color from safari.

No new tests. Debug feature, not covered in tests.

* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::updateDebugBorderAndRepaintCountIfNeeded):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141067 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoHandle createShadowSubtree inside of ensureUserAgentShadowRoot
esprehn@chromium.org [Tue, 29 Jan 2013 07:47:20 +0000 (07:47 +0000)]
Handle createShadowSubtree inside of ensureUserAgentShadowRoot
https://bugs.webkit.org/show_bug.cgi?id=108116

Reviewed by Dimitri Glazkov.

Instead of making everyone create the UserAgentShadowRoot manually all
over, centralize it in ensureUserAgentShadowRoot() and add a notification
Element::didAddUserAgentShadowRoot that lets elements fill in the subtree.
This lets us get rid of lots of code duplication.

No new tests, just refactoring.

* dom/Element.cpp:
(WebCore::Element::ensureUserAgentShadowRoot):
* dom/Element.h:
(WebCore::Element::didAddUserAgentShadowRoot):
(Element):
* html/HTMLDetailsElement.cpp:
(WebCore::DetailsSummaryElement::create):
(WebCore::HTMLDetailsElement::create):
(WebCore::HTMLDetailsElement::didAddUserAgentShadowRoot):
* html/HTMLDetailsElement.h:
(HTMLDetailsElement):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::create):
(WebCore::HTMLInputElement::didAddUserAgentShadowRoot):
* html/HTMLInputElement.h:
(HTMLInputElement):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::willAddAuthorShadowRoot):
(WebCore::HTMLMediaElement::createMediaControls):
* html/HTMLMediaElement.h:
* html/HTMLMeterElement.cpp:
(WebCore::HTMLMeterElement::create):
(WebCore::HTMLMeterElement::didAddUserAgentShadowRoot):
* html/HTMLMeterElement.h:
(HTMLMeterElement):
* html/HTMLProgressElement.cpp:
(WebCore::HTMLProgressElement::create):
(WebCore::HTMLProgressElement::didAddUserAgentShadowRoot):
* html/HTMLProgressElement.h:
* html/HTMLSummaryElement.cpp:
(WebCore::HTMLSummaryElement::create):
(WebCore::HTMLSummaryElement::didAddUserAgentShadowRoot):
* html/HTMLSummaryElement.h:
(HTMLSummaryElement):
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::create):
(WebCore::HTMLTextAreaElement::didAddUserAgentShadowRoot):
* html/HTMLTextAreaElement.h:
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlPanelMuteButtonElement::create):
(WebCore::MediaControlVolumeSliderMuteButtonElement::create):
(WebCore::MediaControlPlayButtonElement::create):
(WebCore::MediaControlOverlayPlayButtonElement::create):
(WebCore::MediaControlSeekForwardButtonElement::create):
(WebCore::MediaControlSeekBackButtonElement::create):
(WebCore::MediaControlRewindButtonElement::create):
(WebCore::MediaControlReturnToRealtimeButtonElement::create):
(WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
(WebCore::MediaControlTimelineElement::create):
(WebCore::MediaControlPanelVolumeSliderElement::create):
(WebCore::MediaControlFullscreenVolumeSliderElement::create):
(WebCore::MediaControlFullscreenButtonElement::create):
(WebCore::MediaControlFullscreenVolumeMinButtonElement::create):
(WebCore::MediaControlFullscreenVolumeMaxButtonElement::create):
* html/shadow/MediaControlsBlackBerry.cpp:
(WebCore::MediaControlFullscreenPlayButtonElement::create):
(WebCore::MediaControlFullscreenFullscreenButtonElement::create):
(WebCore::MediaControlFullscreenTimelineElement::create):
(WebCore::MediaControlAudioMuteButtonElement::create):
* svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::create):
* svg/SVGTRefElement.h:
(SVGTRefElement):
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::create):
* svg/SVGUseElement.h:
(SVGUseElement):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141066 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCoordinated Graphics: Refactor code related to debug border and repaint count.
commit-queue@webkit.org [Tue, 29 Jan 2013 07:44:58 +0000 (07:44 +0000)]
Coordinated Graphics: Refactor code related to debug border and repaint count.
https://bugs.webkit.org/show_bug.cgi?id=107910

Patch by Huang Dongsung <luxtella@company100.net> on 2013-01-28
Reviewed by Noam Rosenthal.

There are two big changes:
1. CoordinatedGraphicsLayer sends debugging visuals to UI Process.
2. When updating a backing store, increment a repaint count.

In addition, we don't use QT_WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS
environment. EFL, GTK and QT will use WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS
after http://webkit.org/b/107198.

* Shared/CoordinatedGraphics/CoordinatedLayerInfo.h:
(WebKit::CoordinatedLayerInfo::CoordinatedLayerInfo):
(CoordinatedLayerInfo):
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
(WebKit::CoordinatedBackingStore::removeAllTiles):
(WebKit::CoordinatedBackingStore::updateTile):
(WebKit::CoordinatedBackingStore::texture):
(WebKit::CoordinatedBackingStore::paintTilesToTextureMapper):
(WebKit::CoordinatedBackingStore::adjustedTransformForRect):
(WebKit::CoordinatedBackingStore::paintToTextureMapper):
(WebKit):
(WebKit::CoordinatedBackingStore::drawBorder):
    Override TextureMapperPlatformLayer::drawBorder() to draw the border
    for each tile.
(WebKit::CoordinatedBackingStore::drawRepaintCounter):
(WebKit::CoordinatedBackingStore::commitTileOperations):
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
(WebKit::CoordinatedBackingStoreTile::CoordinatedBackingStoreTile):
(CoordinatedBackingStoreTile):
(CoordinatedBackingStore):
(WebKit::CoordinatedBackingStore::rect):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
(WebKit::CoordinatedLayerTreeHostProxy::setLayerRepaintCount):
(WebKit):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
(CoordinatedLayerTreeHostProxy):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::setLayerRepaintCount):
(WebKit):
(WebKit::LayerTreeRenderer::setLayerState):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setShowDebugBorder):
(WebCore):
(WebCore::CoordinatedGraphicsLayer::setShowRepaintCounter):
(WebCore::CoordinatedGraphicsLayer::syncLayerState):
(WebCore::CoordinatedGraphicsLayer::setDebugBorder):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStorePaintEnd):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayerClient):
(CoordinatedGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::setLayerRepaintCount):
(WebKit):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141065 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRe-enable WebFrameTest.DivScrollIntoEditableTest
wangxianzhu@chromium.org [Tue, 29 Jan 2013 07:40:28 +0000 (07:40 +0000)]
Re-enable WebFrameTest.DivScrollIntoEditableTest
https://bugs.webkit.org/show_bug.cgi?id=98558

Reviewed by Adam Barth.

* tests/WebFrameTest.cpp: Fixed several issues (onload script, the maximum scale factor, etc.) of WebFrameTest.DivScrollIntoEditableTest and enable it.
* tests/data/get_scale_for_zoom_into_editable_test.html: Moved the logic of onload script (which seems not to work) into WebFrameTest.cpp.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141064 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoHTMLOutputElement::htmlFor should be readonly
rgf748@motorola.com [Tue, 29 Jan 2013 07:31:43 +0000 (07:31 +0000)]
HTMLOutputElement::htmlFor should be readonly
https://bugs.webkit.org/show_bug.cgi?id=101898

Reviewed by Kentaro Hara.

Source/WebCore:

The spec says htmlFor should be readonly, but WebKit implements it as no-readonly.
Spec: http://dev.w3.org/html5/spec-preview/the-output-element.html

No new tests. Modified existing test fast/dom/HTMLOutputElement/dom-settable-token-list.html
to work as expected.

* GNUmakefile.list.am: Removed JSHTMLOutputElementCustom.cpp
* Target.pri: Ditto
* UseJSC.cmake: Ditto
* UseV8.cmake: Removed V8HTMLOutputElementCustom.cpp
* WebCore.gypi: Removed V8HTMLOutputElementCustom.cpp
* WebCore.vcproj/WebCore.vcproj: Removed JSHTMLOutputElementCustom.cpp
* WebCore.vcxproj/WebCore.vcxproj: Ditto
* WebCore.vcxproj/WebCore.vcxproj.filters: Ditto
* WebCore.xcodeproj/project.pbxproj: Ditto
* bindings/js/JSBindingsAllInOne.cpp: Ditto
* bindings/js/JSHTMLOutputElementCustom.cpp: Removed.
* bindings/v8/custom/V8HTMLOutputElementCustom.cpp: Removed.
* html/HTMLOutputElement.idl: Made htmlFor attribute readonly.

LayoutTests:

The spec says htmlFor should be readonly, but WebKit implements it as no-readonly.
Spec: http://dev.w3.org/html5/spec-preview/the-output-element.html
Modified tests according to new behavior.

* fast/dom/HTMLOutputElement/dom-settable-token-list-expected.txt:
* fast/dom/HTMLOutputElement/script-tests/dom-settable-token-list.js: Test for attribute htmlFor is readonly.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141063 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFix disambiguation popup for new-style page scale
commit-queue@webkit.org [Tue, 29 Jan 2013 07:29:26 +0000 (07:29 +0000)]
Fix disambiguation popup for new-style page scale
https://bugs.webkit.org/show_bug.cgi?id=107391

Patch by Tien-Ren Chen <trchen@chromium.org> on 2013-01-28
Reviewed by Adam Barth.

This patch corrects various coordinate conversion for disambiguation
popup for the new-style page scale mode.

Source/WebCore:

New unit test: WebFrameTest.DisambiguationPopupPageScale

* page/TouchDisambiguation.cpp:
(WebCore::findGoodTouchTargets):
* page/TouchDisambiguation.h:
(WebCore):

Source/WebKit/chromium:

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::handleGestureEvent):
(WebKit::WebViewImpl::handleInputEvent):
* tests/WebFrameTest.cpp:
* tests/data/disambiguation_popup_page_scale.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141062 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRemove support from ArgumentEncoder for deprecated encode functions
weinig@apple.com [Tue, 29 Jan 2013 07:14:20 +0000 (07:14 +0000)]
Remove support from ArgumentEncoder for deprecated encode functions
https://bugs.webkit.org/show_bug.cgi?id=108155

Reviewed by Dan Bernstein.

* Platform/CoreIPC/ArgumentEncoder.h:
(CoreIPC::ArgumentEncoder::encode):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141061 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Chromium] Reverting change to chromium/TestExpectation in r141056.
keishi@webkit.org [Tue, 29 Jan 2013 07:05:30 +0000 (07:05 +0000)]
[Chromium] Reverting change to chromium/TestExpectation in r141056.

Unreviewed. Gardening.

* platform/chromium/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141060 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCollapse testing for a list of PLATFORM() into OS() and USE() tests
commit-queue@webkit.org [Tue, 29 Jan 2013 06:59:42 +0000 (06:59 +0000)]
Collapse testing for a list of PLATFORM() into OS() and USE() tests
https://bugs.webkit.org/show_bug.cgi?id=108018

Patch by Laszlo Gombos <l.gombos@samsung.com> on 2013-01-28
Reviewed by Eric Seidel.

No functional change as "OS(DARWIN) && USE(CF)" equals to the
following platforms: MAC, WX, QT and CHROMIUM. CHROMIUM
is not using JavaScriptCore.

* runtime/DatePrototype.cpp:
(JSC):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141059 268f45cc-cd09-0410-ab3c-d52691b4dbfc