1. 29 Oct, 2012 8 commits
  2. 28 Oct, 2012 3 commits
  3. 27 Oct, 2012 6 commits
    • weinig@apple.com's avatar
      Unreviewed, rolling out r132740. · 14439514
      weinig@apple.com authored
      http://trac.webkit.org/changeset/132740
      https://bugs.webkit.org/show_bug.cgi?id=100603
      
      "Causing many crashes" (Requested by weinig on #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-10-27
      
      * UIProcess/Downloads/DownloadProxy.cpp:
      (WebKit::DownloadProxy::DownloadProxy):
      (WebKit::DownloadProxy::invalidate):
      (WebKit):
      * UIProcess/Downloads/DownloadProxy.h:
      (DownloadProxy):
      * UIProcess/WebContext.cpp:
      (WebKit::WebContext::createDownloadProxy):
      (WebKit::WebContext::downloadFinished):
      (WebKit::WebContext::didReceiveMessage):
      (WebKit::WebContext::didReceiveSyncMessage):
      * UIProcess/WebContext.h:
      (WebKit):
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::WebPageProxy):
      (WebKit::WebPageProxy::~WebPageProxy):
      (WebKit::WebPageProxy::didReceiveMessage):
      (WebKit::WebPageProxy::didReceiveSyncMessage):
      * UIProcess/WebPageProxy.h:
      (CoreIPC):
      (WebPageProxy):
      * UIProcess/WebProcessProxy.cpp:
      (WebKit::WebProcessProxy::didReceiveMessage):
      (WebKit::WebProcessProxy::didReceiveSyncMessage):
      * UIProcess/WebProcessProxy.h:
      (WebProcessProxy):
      * WebProcess/WebPage/WebPageGroupProxy.cpp:
      (WebKit::WebPageGroupProxy::~WebPageGroupProxy):
      (WebKit):
      (WebKit::WebPageGroupProxy::didReceiveMessage):
      (WebKit::WebPageGroupProxy::WebPageGroupProxy):
      * WebProcess/WebPage/WebPageGroupProxy.h:
      (CoreIPC):
      (WebPageGroupProxy):
      * WebProcess/WebProcess.cpp:
      (WebKit::WebProcess::didReceiveSyncMessage):
      (WebKit::WebProcess::didReceiveMessage):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132743 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      14439514
    • noam.rosenthal@nokia.com's avatar
      Coordinated Graphics: Animation jerkiness when rAF is enabled · 085d3fc3
      noam.rosenthal@nokia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=100536
      
      Reviewed by Kenneth Rohde Christiansen.
      
      Source/WebKit2:
      
      The jerkiness comes from the fact that we schedule animations excessively; That's because
      the previous patch broke requestAnimationFrame behavior during CSS animations, since the
      frame returns right away instead of waiting till the previous frame is actually rendered.
      
      This patch makes sure that when animations are scheduled, they're only serviced after the
      UI process has actually painted the previous frame. We do so by sending a
      RequestAnimationFrame message to the UI process, which responds with AnimationFrameReady
      after the UI process paints.
      
      New test: fast/animations/request-animation-frame-too-rapid.html
      Tests that we don't receive an unreasonably high number of callbacks from
      requestAnimationFrame (> 1000FPS).
      
      * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
      (WebKit):
      (WebKit::LayerTreeCoordinatorProxy::requestAnimationFrame):
      (WebKit::LayerTreeCoordinatorProxy::animationFrameReady):
      * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
      (LayerTreeCoordinatorProxy):
      * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
      * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
      (WebKit::LayerTreeRenderer::LayerTreeRenderer):
      (WebKit::LayerTreeRenderer::paintToCurrentGLContext):
      (WebKit):
      (WebKit::LayerTreeRenderer::animationFrameReady):
      (WebKit::LayerTreeRenderer::requestAnimationFrame):
      * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
      (LayerTreeRenderer):
      * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
      (WebKit):
      (WebKit::LayerTreeCoordinator::scheduleAnimation):
      (WebKit::LayerTreeCoordinator::animationFrameReady):
      * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
      (LayerTreeCoordinator):
      * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.messages.in:
      
      LayoutTests:
      
      Added a test to make sure we don't respond too eagerly to requestAnimationFrame.
      
      * fast/animation/request-animation-frame-too-rapid-expected.txt: Added.
      * fast/animation/request-animation-frame-too-rapid.html: Added.
      * fast/animation/script-tests/request-animation-frame-too-rapid.js: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132742 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      085d3fc3
    • weinig@apple.com's avatar
      Yet more MessageReceivering · e35c9945
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=100325
      
      Reviewed by Anders Carlsson.
      
      Make DownloadProxy, WebPageProxy, and WebPageGroupProxy MessageReceivers.
      
      * UIProcess/Downloads/DownloadProxy.cpp:
      (WebKit::DownloadProxy::DownloadProxy):
      (WebKit::DownloadProxy::invalidate):
      (WebKit::DownloadProxy::didReceiveMessage):
      (WebKit::DownloadProxy::didReceiveSyncMessage):
      * UIProcess/Downloads/DownloadProxy.h:
      (DownloadProxy):
      Make a MessageReceiver.
      
      * UIProcess/WebContext.cpp:
      (WebKit::WebContext::WebContext):
      (WebKit::WebContext::addMessageReceiver):
      (WebKit::WebContext::removeMessageReceiver):
      (WebKit::WebContext::didReceiveMessage):
      (WebKit::WebContext::didReceiveSyncMessage):
      * UIProcess/WebContext.h:
      Add additional MessageReceiverMap forwards, and stop dealing with DownloadProxy explicitly.
              
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::WebPageProxy):
      (WebKit::WebPageProxy::~WebPageProxy):
      (WebKit::WebPageProxy::didReceiveMessage):
      (WebKit::WebPageProxy::didReceiveSyncMessage):
      * UIProcess/WebPageProxy.h:
      Make a MessageReceiver, but keep sub objects using didReceiveMessage for now (like WebPage).
              
      * UIProcess/WebProcessProxy.cpp:
      (WebKit::WebProcessProxy::addMessageReceiver):
      (WebKit::WebProcessProxy::removeMessageReceiver):
      (WebKit::WebProcessProxy::didReceiveMessage):
      (WebKit::WebProcessProxy::didReceiveSyncMessage):
      * UIProcess/WebProcessProxy.h:
      Give WebProcessProxy a MessageReceiverMap and all the appropriate forwarding methods.
              
      * WebProcess/WebPage/WebPageGroupProxy.cpp:
      (WebKit::WebPageGroupProxy::WebPageGroupProxy):
      (WebKit::WebPageGroupProxy::~WebPageGroupProxy):
      (WebKit::WebPageGroupProxy::didReceiveMessage):
      * WebProcess/WebPage/WebPageGroupProxy.h:
      (WebKit::WebPageGroupProxy::isVisibleToHistoryClient):
      (WebPageGroupProxy):
      Make a MessageReceiver and register/unregister with the WebProcess.
      
      * WebProcess/WebProcess.cpp:
      (WebKit::WebProcess::didReceiveSyncMessage):
      Remove extraneous return statement.
      (WebKit::WebProcess::didReceiveMessage):
      Stop handling WebPageGroupProxy special.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132740 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e35c9945
    • weinig@apple.com's avatar
      Completely roll out https://bugs.webkit.org/show_bug.cgi?id=99251 (r131686) · 4d01df25
      weinig@apple.com authored
      It has caused too many crashes.
      
      * UIProcess/API/mac/PageClientImpl.mm:
      * UIProcess/API/mac/WKView.mm:
      * UIProcess/API/mac/WKViewInternal.h:
      * UIProcess/API/mac/WKViewPrivate.h:
      * UIProcess/mac/CorrectionPanel.mm:
      * UIProcess/mac/WKFullScreenWindowController.mm:
      * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132738 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4d01df25
    • msaboff@apple.com's avatar
      buildHTTPHeaders() should use a StringBuilder instead of a Vector<UChar> · e57c18b6
      msaboff@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=100580
      
      Reviewed by Oliver Hunt.
      
      Replaced Vector<UChar> with StringBuilder in the HTTP header construction function buildHTTPHeaders.
      This eliminates 8 -> 16 bit up conversion of the strings involved.
      
      * WebProcess/Plugins/PluginView.cpp:
      (WebKit::buildHTTPHeaders):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132734 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e57c18b6
    • mitz@apple.com's avatar
      REAL_PLATFORM_NAME build setting is no longer needed · ba174339
      mitz@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=100587
      
      Reviewed by Mark Rowe.
      
      Removed the definition of REAL_PLATFORM_NAME and replaced references to it with references
      to PLATFORM_NAME.
      
      Source/JavaScriptCore: 
      
      * Configurations/Base.xcconfig:
      * Configurations/CompilerVersion.xcconfig:
      * Configurations/DebugRelease.xcconfig:
      * Configurations/FeatureDefines.xcconfig:
      * Configurations/JSC.xcconfig:
      * Configurations/JavaScriptCore.xcconfig:
      * Configurations/ToolExecutable.xcconfig:
      
      Source/ThirdParty: 
      
      * gtest/xcode/Config/CompilerVersion.xcconfig:
      * gtest/xcode/Config/General.xcconfig:
      
      Source/ThirdParty/ANGLE: 
      
      * Configurations/Base.xcconfig:
      * Configurations/CompilerVersion.xcconfig:
      
      Source/WebCore: 
      
      * Configurations/Base.xcconfig:
      * Configurations/CompilerVersion.xcconfig:
      * Configurations/DebugRelease.xcconfig:
      * Configurations/FeatureDefines.xcconfig:
      * Configurations/Version.xcconfig:
      * Configurations/WebCore.xcconfig:
      
      Source/WebKit/mac: 
      
      * Configurations/Base.xcconfig:
      * Configurations/CompilerVersion.xcconfig:
      * Configurations/DebugRelease.xcconfig:
      * Configurations/FeatureDefines.xcconfig:
      * Configurations/Version.xcconfig:
      * Configurations/WebKit.xcconfig:
      
      Source/WebKit2: 
      
      * Configurations/Base.xcconfig:
      * Configurations/BaseTarget.xcconfig:
      * Configurations/CompilerVersion.xcconfig:
      * Configurations/FeatureDefines.xcconfig:
      * Configurations/WebKit2.xcconfig:
      
      Source/WTF: 
      
      * Configurations/Base.xcconfig:
      * Configurations/CompilerVersion.xcconfig:
      * Configurations/DebugRelease.xcconfig:
      
      Tools: 
      
      * DumpRenderTree/mac/Configurations/Base.xcconfig:
      * DumpRenderTree/mac/Configurations/CompilerVersion.xcconfig:
      * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
      * MiniBrowser/Configurations/Base.xcconfig:
      * MiniBrowser/Configurations/CompilerVersion.xcconfig:
      * TestWebKitAPI/Configurations/Base.xcconfig:
      * TestWebKitAPI/Configurations/CompilerVersion.xcconfig:
      * WebKitTestRunner/Configurations/Base.xcconfig:
      * WebKitTestRunner/Configurations/CompilerVersion.xcconfig:
      * WebKitTestRunner/Configurations/DebugRelease.xcconfig:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132729 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ba174339
  4. 26 Oct, 2012 16 commits
    • beidson@apple.com's avatar
      Have NetworkProcess manage resource load scheduling. · 2d31232a
      beidson@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=100479
      
      Reviewed by Alexey Proskuryakov.
      
      Source/WebCore:
      
      Down in WebCore we need to virtualize a handful of ResourceLoadScheduler methods
      to be overridden by WebKit's implementation.
      
      No new tests (No change in Core behavior).
      
      * WebCore.exp.in:
      * WebCore.xcodeproj/project.pbxproj:
      
      * loader/ResourceLoadScheduler.cpp:
      (WebCore::resourceLoadScheduler): Gracefully handle LoaderStrategies wanting to return the default scheduler.
      (WebCore::ResourceLoadScheduler::scheduleLoad): Call notifyDidScheduleResourceRequest.
      (WebCore::ResourceLoadScheduler::notifyDidScheduleResourceRequest): Moved InspectorInstrumentation call
        here so derived classes can do it indirectly.
      (WebCore::ResourceLoadScheduler::startResourceLoader): To allow derived classes the ability to call
        ResourceLoader::start() which only ResourceLoadScheduler can do.
      
      * loader/ResourceLoadScheduler.h:
      (ResourceLoadScheduler): Virtualize some core public methods so they can be overridden.
      (WebCore::ResourceLoadScheduler::setSerialLoadingEnabled): Make virtual.
      (WebCore::ResourceLoadScheduler::isSuspendingPendingRequests): Make private as it's internal only.
      
      * loader/ResourceLoader.cpp:
      (WebCore::ResourceLoader::setIdentifier): Add this setter so outside clients can manually change the identifier.
      
      * loader/ResourceLoader.h:
      (WebCore::ResourceLoader::identifier): Change identifier to explicitly be uint64_t.
      (WebCore::ResourceLoader::request): Make public.
      (ResourceLoader):
      
      Source/WebKit2:
      
      Implement a ResourceLoadScheduler that models the same behavior as WebCore::ResourceLoadScheduler.
      
      The WebProcess scheduler acts as a marshall to the NetworkProcess scheduler via CoreIPC messaging.
      
      Besides MainResourceLoads which are started directly in the WebProcess, all other loads are now
      started only when the NetworkProcess tells them to start.
      
      Build-system and messaging related stuff:
      * DerivedSources.make:
      * Platform/CoreIPC/MessageID.h:
      * WebKit2.xcodeproj/project.pbxproj:
      
      Add a new Network logging channel.
      * Platform/Logging.cpp:
      (WebKit::getChannelFromName):
      * Platform/Logging.h:
      
      Modeled after ResourceLoadScheduler::HostInformation but more specifically geared towards what NetworkProcess needs to track:
      * NetworkProcess/HostRecord.cpp: Added.
      (WebKit::HostRecord::HostRecord):
      (WebKit::HostRecord::~HostRecord):
      (WebKit::HostRecord::schedule):
      (WebKit::HostRecord::addLoadInProgress):
      (WebKit::HostRecord::remove):
      (WebKit::HostRecord::hasRequests):
      (WebKit::HostRecord::limitRequests):
      * NetworkProcess/HostRecord.h:
      (WebKit::HostRecord::name):
      (WebKit::HostRecord::requestsPending):
      
      Gateway messaging from the WebResourceLoadScheduler to the NetworkResourceLoadScheduler:
      * NetworkProcess/NetworkConnectionToWebProcess.cpp:
      (WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess):
      (WebKit::NetworkConnectionToWebProcess::~NetworkConnectionToWebProcess):
      (WebKit::NetworkConnectionToWebProcess::registerObserver):
      (WebKit::NetworkConnectionToWebProcess::unregisterObserver):
      (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
      (WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
      (WebKit::NetworkConnectionToWebProcess::didClose):
      (WebKit::NetworkConnectionToWebProcess::scheduleNetworkRequest):
      (WebKit::NetworkConnectionToWebProcess::addLoadInProgress):
      (WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier):
      (WebKit::NetworkConnectionToWebProcess::crossOriginRedirectReceived):
      (WebKit::NetworkConnectionToWebProcess::servePendingRequests):
      (WebKit::NetworkConnectionToWebProcess::suspendPendingRequests):
      (WebKit::NetworkConnectionToWebProcess::resumePendingRequests):
      (WebKit::NetworkConnectionToWebProcess::setSerialLoadingEnabled):
      * NetworkProcess/NetworkConnectionToWebProcess.h:
      (NetworkConnectionToWebProcessObserver): Add an observer interface so arbitrary objects can be notified if
        a Network->WebProcess connection closes.
      (WebKit::NetworkConnectionToWebProcessObserver::~NetworkConnectionToWebProcessObserver):
      (WebKit::NetworkConnectionToWebProcess::isSerialLoadingEnabled):
      * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
      
      Represents a request,  ResourceLoadIdentifier, and connection that all correspond to the same pending NetworkLoad:
      * NetworkProcess/NetworkRequest.cpp:
      (WebKit::NetworkRequest::NetworkRequest):
      (WebKit::NetworkRequest::~NetworkRequest):
      (WebKit::NetworkRequest::connectionToWebProcessDidClose): Using the NetworkConnectionToWebProcessObserver interface,
        if the connection closes then clear out the connection pointer for this request that is now irrelevant.
      * NetworkProcess/NetworkRequest.h:
      (WebKit::NetworkRequest::create):
      (WebKit::NetworkRequest::identifier):
      (WebKit::NetworkRequest::connectionToWebProcess):
      
      Manages connection-per-host scheduling with the same structure as WebCore::ResourceLoadScheduling but also with IPC:
      * NetworkProcess/NetworkResourceLoadScheduler.cpp: Added.
      (WebKit::NetworkResourceLoadScheduler::NetworkResourceLoadScheduler):
      (WebKit::NetworkResourceLoadScheduler::scheduleServePendingRequests):
      (WebKit::NetworkResourceLoadScheduler::requestTimerFired):
      (WebKit::NetworkResourceLoadScheduler::scheduleNetworkRequest):
      (WebKit::NetworkResourceLoadScheduler::addLoadInProgress):
      (WebKit::NetworkResourceLoadScheduler::hostForURL):
      (WebKit::NetworkResourceLoadScheduler::removeLoadIdentifier):
      (WebKit::NetworkResourceLoadScheduler::crossOriginRedirectReceived):
      (WebKit::NetworkResourceLoadScheduler::servePendingRequests):
      (WebKit::NetworkResourceLoadScheduler::servePendingRequestsForHost): Serve as many requests for the host as we should,
        skipping the NetworkRequests who have lost their connection to their WebProcess.
      (WebKit::NetworkResourceLoadScheduler::suspendPendingRequests):
      (WebKit::NetworkResourceLoadScheduler::resumePendingRequests):
      * NetworkProcess/NetworkResourceLoadScheduler.h: Added.
      * NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm: Added.
      (WebKit::NetworkResourceLoadScheduler::platformInitializeMaximumHTTPConnectionCountPerHost):
      
      * NetworkProcess/NetworkProcess.h:
      (WebKit::NetworkProcess::networkResourceLoadScheduler): Add a scheduler global to the NetworkProcess.
      
      A thin derivation of WebCore::ResourceLoadScheduler, most of what WebResourceLoadScheduler does is handle IPC to the NetworkProcess:
      * WebProcess/Network/WebResourceLoadScheduler.cpp:
      (WebKit::WebResourceLoadScheduler::WebResourceLoadScheduler):
      (WebKit::WebResourceLoadScheduler::scheduleSubresourceLoad):
      (WebKit::WebResourceLoadScheduler::schedulePluginStreamLoad):
      (WebKit::WebResourceLoadScheduler::scheduleLoad):
      (WebKit::WebResourceLoadScheduler::addMainResourceLoad):
      (WebKit::WebResourceLoadScheduler::remove):
      (WebKit::WebResourceLoadScheduler::crossOriginRedirectReceived):
      (WebKit::WebResourceLoadScheduler::servePendingRequests):
      (WebKit::WebResourceLoadScheduler::suspendPendingRequests):
      (WebKit::WebResourceLoadScheduler::resumePendingRequests):
      (WebKit::WebResourceLoadScheduler::setSerialLoadingEnabled):
      (WebKit::WebResourceLoadScheduler::startResourceLoad):
      * WebProcess/Network/WebResourceLoadScheduler.h:
      
      Add the ability for the NetworkProcess to message back to the WebProcess telling it to start a resource load:
      * WebProcess/Network/NetworkProcessConnection.cpp:
      (WebKit::NetworkProcessConnection::didReceiveMessage):
      (WebKit::NetworkProcessConnection::didReceiveSyncMessage):
      (WebKit::NetworkProcessConnection::startResourceLoad):
      * WebProcess/Network/NetworkProcessConnection.h:
      * WebProcess/Network/NetworkProcessConnection.messages.in:
      
      * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
      (WebKit::WebPlatformStrategies::resourceLoadScheduler): Only return the WebResourceLoadScheduler if NetworkProcess is enabled.
      
      * WebProcess/WebProcess.cpp:
      (WebKit::WebProcess::ensureNetworkProcessConnection): Actually keep the NetworkProcessConnection around in a member variable.
      (WebKit::WebProcess::networkConnection):
      * WebProcess/WebProcess.h:
      (WebKit::WebProcess::usesNetworkProcess): Expose this for platform strategies sake.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132721 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2d31232a
    • beidson@apple.com's avatar
      Crash in WebProces at WebCore::ResourceLoadScheduler::crossOriginRedirectReceived + 78 · edf13385
      beidson@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=100554
      
      Reviewed by Alexey Proskuryakov.
      
      For now, just have WebPlatformStrategies return the same default resourceLoadScheduler that
      WebCore knows about.
      
      * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
      (WebKit::WebPlatformStrategies::resourceLoadScheduler):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132714 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      edf13385
    • andersca@apple.com's avatar
      Source/WebKit2: Crash when making NPRuntime calls with a null NPP pointer · c9f746e2
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=100569
      <rdar://problem/11726426>
      <rdar://problem/12352836>
      
      Reviewed by Darin Adler.
      
      Finally bite the bullet and remove the assertion from NetscapePlugin::fromNPP. The WebKit1 equivalent of this
      function used to return the plug-in currently being initialized in NPP_New, but we've never done that in WebKit2
      and it has never been necessary. The crashes fixed here are not from calls underneath NPP_New so fixing it wouldn't
      do us any good anyway.
      
      Also, make the PluginDestructionProtector handle a null plug-in gracefully.
      
      * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
      (WebKit::PluginDestructionProtector::PluginDestructionProtector):
      (PluginDestructionProtector):
      * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
      (WebKit::NetscapePlugin::fromNPP):
      
      Tools: Crash when making NPRuntime calls with a null NPP pointer
      https://bugs.webkit.org/show_bug.cgi?id=100569
      
      Reviewed by Darin Adler.
      
      Add new NPRuntimeCallsWithNullNPP plug-in test.
      
      * DumpRenderTree/DumpRenderTree.gypi:
      * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
      * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp:
      (PluginTest::NPN_ReleaseVariantValue):
      (PluginTest::netscapeFuncs):
      * DumpRenderTree/TestNetscapePlugIn/PluginTest.h:
      (PluginTest):
      * DumpRenderTree/TestNetscapePlugIn/Tests/NPRuntimeCallsWithNullNPP.cpp: Added.
      (NPRuntimeCallsWithNullNPP):
      (NPRuntimeCallsWithNullNPP::NPRuntimeCallsWithNullNPP):
      (NPRuntimeCallsWithNullNPP::NPP_New):
      * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj:
      * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:
      * GNUmakefile.am:
      
      LayoutTests: Crash when making NPRuntime calls with a null NPP pointer
      https://bugs.webkit.org/show_bug.cgi?id=100569
      
      Reviewed by Darin Adler.
      
      Add new tests.
      
      * plugins/npruntime/npruntime-calls-with-null-npp-expected.txt: Added.
      * plugins/npruntime/npruntime-calls-with-null-npp.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132713 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c9f746e2
    • slewis@apple.com's avatar
      Add pids to WebMemorySampleFiles. · aac8eacc
      slewis@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=100449.
      
      Reviewed by Tim Horton.
      
      Make it easier to associate WebMemorySamples with a process.  Add the pid to the filename and header.
      
      * Shared/WebMemorySampler.cpp:
      (WebKit::WebMemorySampler::initializeTimers): Update notification.
      (WebKit::WebMemorySampler::stop): Update notification.
      (WebKit::WebMemorySampler::writeHeaders): dump pid in the header.
      * UIProcess/WebContext.cpp:
      (WebKit::WebContext::processDidFinishLaunching): append pid to filename.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132709 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aac8eacc
    • commit-queue@webkit.org's avatar
      [EFL][WK2][AC] Build fix after r132647. · 48b7c566
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=100540
      
      Patch by Yael Aharon <yael.aharon@intel.com> on 2012-10-26
      Reviewed by Kenneth Rohde Christiansen.
      
      AC enabled build is broken after the latest refactoring of EFL WK2.
      
      * UIProcess/API/efl/EwkViewImpl.cpp:
      (EwkViewImpl::EwkViewImpl):
      (EwkViewImpl::displayTimerFired):
      (EwkViewImpl::informLoadCommitted):
      (EwkViewImpl::createGLSurface):
      (EwkViewImpl::enterAcceleratedCompositingMode):
      (EwkViewImpl::exitAcceleratedCompositingMode):
      (EwkViewImpl::informContentsSizeChange):
      * UIProcess/API/efl/EwkViewImpl.h:
      (EwkViewImpl):
      (EwkViewImpl::pageViewportControllerClient):
      (EwkViewImpl::pageViewportController):
      (EwkViewImpl::evasGl):
      (EwkViewImpl::evasGlContext):
      (EwkViewImpl::evasGlSurface):
      (EwkViewImpl::resetEvasGlSurface):
      * UIProcess/API/efl/ewk_view.cpp:
      (mapToWebContent):
      (_ewk_view_smart_calculate):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132706 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      48b7c566
    • commit-queue@webkit.org's avatar
      [EFL][WK2] Get rid of C'ism in text checker API · 91462d54
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=100513
      
      Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-10-26
      Reviewed by Kenneth Rohde Christiansen.
      
      Make Ewk_Text_Checker a C++ class and move the
      WebKitTextChecker code to this new class. This
      gets rid of the C'ism in the text checker code
      and make it consistent with other Ewk classes.
      
      * PlatformEfl.cmake:
      * UIProcess/API/efl/ewk_context.cpp:
      (Ewk_Context::Ewk_Context):
      * UIProcess/API/efl/ewk_settings.cpp:
      (spellCheckingLanguagesSetUpdate):
      (ewk_settings_continuous_spell_checking_enabled_set):
      (ewk_settings_spell_checking_available_languages_get):
      (ewk_settings_spell_checking_languages_get):
      * UIProcess/API/efl/ewk_text_checker.cpp:
      (ClientCallbacks):
      (textCheckerEnchant):
      (clientCallbacks):
      (isContinuousSpellCheckingEnabled):
      (setContinuousSpellCheckingEnabled):
      (uniqueSpellDocumentTag):
      (closeSpellDocumentWithTag):
      (checkSpellingOfString):
      (guessesForWord):
      (learnWord):
      (ignoreWord):
      (Ewk_Text_Checker):
      (Ewk_Text_Checker::availableSpellCheckingLanguages):
      (Ewk_Text_Checker::updateSpellCheckingLanguages):
      (Ewk_Text_Checker::loadedSpellCheckingLanguages):
      (Ewk_Text_Checker::initialize):
      * UIProcess/API/efl/ewk_text_checker_private.h:
      (Ewk_Text_Checker):
      * UIProcess/efl/WebKitTextChecker.cpp: Removed.
      * UIProcess/efl/WebKitTextChecker.h: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132657 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      91462d54
    • commit-queue@webkit.org's avatar
      [EFL][WK2] Clean up construction/destruction code in Ewk_view · 4ae0370b
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=100232
      
      Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-10-26
      Reviewed by Kenneth Rohde Christiansen.
      
      Simplified a lot of initialization and destruction code of Ewk_view and EwkViewImpl
      put all the impl stuff to its constructor and destructor, also made EwkViewImpl member
      variables private.
      
      * UIProcess/API/efl/EwkViewImpl.cpp:
      (pageViewMap):
      (EwkViewImpl::addToPageViewMap):
      (EwkViewImpl::removeFromPageViewMap):
      (EwkViewImpl::viewFromPageViewMap):
      (EwkViewImpl::EwkViewImpl):
      (EwkViewImpl::~EwkViewImpl):
      (EwkViewImpl::wkPage):
      (EwkViewImpl::title):
      (EwkViewImpl::setThemePath):
      (EwkViewImpl::customTextEncodingName):
      (EwkViewImpl::setCustomTextEncodingName):
      (EwkViewImpl::informIconChange):
      (EwkViewImpl::informWebProcessCrashed):
      (EwkViewImpl::updateTextInputState):
      (EwkViewImpl::informURLChange):
      (EwkViewImpl::onFaviconChanged):
      * UIProcess/API/efl/EwkViewImpl.h:
      (WebKit):
      (EwkViewImpl):
      (EwkViewImpl::view):
      (EwkViewImpl::page):
      (EwkViewImpl::ewkContext):
      (EwkViewImpl::backForwardList):
      * UIProcess/API/efl/ewk_settings.cpp:
      (Ewk_Settings::preferences):
      * UIProcess/API/efl/ewk_view.cpp:
      (_ewk_view_smart_focus_in):
      (_ewk_view_smart_focus_out):
      (_ewk_view_smart_mouse_wheel):
      (_ewk_view_smart_mouse_down):
      (_ewk_view_smart_mouse_up):
      (_ewk_view_smart_mouse_move):
      (_ewk_view_smart_key_down):
      (_ewk_view_smart_key_up):
      (_ewk_view_on_show):
      (_ewk_view_on_hide):
      (_ewk_view_smart_add):
      (_ewk_view_smart_del):
      (_ewk_view_smart_calculate):
      (_ewk_view_smart_color_set):
      (createEwkViewSmartClass):
      (createEwkView):
      (ewk_view_base_add):
      (ewk_view_smart_add):
      (ewk_view_add_with_context):
      (ewk_view_url_set):
      (ewk_view_reload):
      (ewk_view_reload_bypass_cache):
      (ewk_view_stop):
      (ewk_view_load_progress_get):
      (ewk_view_scale_set):
      (ewk_view_scale_get):
      (ewk_view_device_pixel_ratio_set):
      (ewk_view_device_pixel_ratio_get):
      (ewk_view_back):
      (ewk_view_forward):
      (ewk_view_intent_deliver):
      (ewk_view_back_possible):
      (ewk_view_forward_possible):
      (ewk_view_back_forward_list_get):
      (ewk_view_html_string_load):
      (ewk_view_text_find):
      (ewk_view_text_find_highlight_clear):
      (ewk_view_text_matches_count):
      (ewk_view_feed_touch_event):
      (ewk_view_inspector_show):
      (ewk_view_inspector_close):
      (ewk_view_pagination_mode_set):
      (ewk_view_pagination_mode_get):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132647 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4ae0370b
    • commit-queue@webkit.org's avatar
      [EFL][WK2] Initialize Ewk_Context class members in initialization list · b6bce7f1
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=100503
      
      Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-10-26
      Reviewed by Kenneth Rohde Christiansen.
      
      Move Ewk_Context class members initialization from the
      constructor body to the initialization list for
      efficiency.
      
      * UIProcess/API/efl/ewk_context.cpp:
      (Ewk_Context::Ewk_Context):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132643 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b6bce7f1
    • jocelyn.turcotte@digia.com's avatar
      LayerTreeCoordinator: Make sure that dependent layers are deleted before their... · d2ada78c
      jocelyn.turcotte@digia.com authored
      LayerTreeCoordinator: Make sure that dependent layers are deleted before their directly composited image
      https://bugs.webkit.org/show_bug.cgi?id=100495
      
      Reviewed by Kenneth Rohde Christiansen.
      
      Since r128980 layers removals are delayed until we flush the layer tree.
      This causes a crash if such a layer had a directly composited image since
      the image is now deleted while the layer is still active in the UI process
      and tries to access a deleted backing store.
      
      Fix it by delaying the directly composited image removal as well.
      
      Fixes a crash in tst_QQuickWebView::basicRenderingSanity since showWebView is
      called first and loads direct-image-compositing.html.
      
      * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
      (LayerTreeRenderer): Remove unused variable.
      * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
      (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
      (WebKit::LayerTreeCoordinator::releaseImageBackingStore):
      * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
      (LayerTreeCoordinator):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132640 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d2ada78c
    • hausmann@webkit.org's avatar
      [EFL][WK2] Enable WebGL · 68369573
      hausmann@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=97652
      
      Patch by Regina Chung <heejin.r.chung@samsung.com> on 2012-10-26
      Reviewed by Gyuyoung Kim.
      
      .:
      
      Use Graphics Surface to enable WebGL for WebKit2 EFL.
      
      * Source/cmake/OptionsEfl.cmake:
      
      Source/WebCore:
      
      Implemented GraphicsSurface for EFL to enable WebGL for WebKit2.
      Depends on GLX since Evas doesn't provide the necessary functionality.
      
      No new tests. Covered by existing tests.
      
      * PlatformEfl.cmake:
      * platform/graphics/GraphicsContext3D.h:
      * platform/graphics/efl/GraphicsContext3DEfl.cpp:
      (WebCore::GraphicsContext3D::createGraphicsSurfaces):
      * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
      (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
      (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
      (WebCore):
      (WebCore::GraphicsContext3DPrivate::createGraphicsSurfaces):
      (WebCore::GraphicsContext3DPrivate::copyToGraphicsSurface):
      (WebCore::GraphicsContext3DPrivate::graphicsSurfaceToken):
      * platform/graphics/efl/GraphicsContext3DPrivate.h:
      (GraphicsContext3DPrivate):
      * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
      (WebCore::GraphicsContext3D::reshape):
      * platform/graphics/surfaces/efl: Added.
      * platform/graphics/surfaces/efl/GraphicsSurfaceEfl.cpp: Added.
      (WebCore):
      (WebCore::OffScreenRootWindow::get):
      (WebCore::OffScreenRootWindow::~OffScreenRootWindow):
      (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
      (WebCore::GraphicsSurfacePrivate::createSurface):
      (WebCore::GraphicsSurfacePrivate::makeCurrent):
      (WebCore::GraphicsSurfacePrivate::doneCurrent):
      (WebCore::GraphicsSurfacePrivate::swapBuffers):
      (WebCore::GraphicsSurface::platformBeginPaint):
      (WebCore::GraphicsSurface::createReadOnlyImage):
      * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:
      * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.h: Added.
      (WebCore):
      (OffScreenRootWindow):
      (WebCore::OffScreenRootWindow::OffScreenRootWindow):
      (GraphicsSurfacePrivate):
      (WebCore::GraphicsSurfacePrivate::~GraphicsSurfacePrivate):
      (WebCore::GraphicsSurfacePrivate::createPixmap):
      (WebCore::GraphicsSurfacePrivate::copyFromTexture):
      (WebCore::GraphicsSurfacePrivate::display):
      (WebCore::GraphicsSurfacePrivate::glxPixmap):
      (WebCore::GraphicsSurfacePrivate::size):
      (WebCore::GraphicsSurfacePrivate::glContext):
      (WebCore::resolveGLMethods):
      * platform/graphics/surfaces/qt/GraphicsSurfaceQt.cpp:
      (WebCore):
      (WebCore::OffScreenRootWindow::OffScreenRootWindow::get):
      (WebCore::OffScreenRootWindow::~OffScreenRootWindow):
      (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
      (WebCore::GraphicsSurfacePrivate::createSurface):
      (WebCore::GraphicsSurfacePrivate::makeCurrent):
      (WebCore::GraphicsSurfacePrivate::doneCurrent):
      (WebCore::GraphicsSurfacePrivate::swapBuffers):
      
      Source/WebKit2:
      
      Set WebGLEnabled to true when WebGL is enabled.
      
      * UIProcess/API/efl/ewk_view.cpp:
      (_ewk_view_initialize):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132627 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      68369573
    • commit-queue@webkit.org's avatar
      [EFL][WK2] Add Ewk_Color_Picker API · be9ca405
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=100472
      
      Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-10-26
      Reviewed by Kenneth Rohde Christiansen.
      
      Move the color picker code out of EwkViewImpl and into
      a new Ewk_Color_Picker class to avoid cluttering the
      view code.
      
      * PlatformEfl.cmake:
      * UIProcess/API/efl/EWebKit2.h:
      * UIProcess/API/efl/EwkViewImpl.cpp:
      (EwkViewImpl::requestColorPicker):
      (EwkViewImpl::dismissColorPicker):
      * UIProcess/API/efl/EwkViewImpl.h:
      (EwkViewImpl):
      * UIProcess/API/efl/ewk_color_picker.cpp: Added.
      (Ewk_Color_Picker::Ewk_Color_Picker):
      (Ewk_Color_Picker::setColor):
      (Ewk_Color_Picker::color):
      (ewk_color_picker_color_set):
      (ewk_color_picker_color_get):
      * UIProcess/API/efl/ewk_color_picker.h: Added.
      * UIProcess/API/efl/ewk_color_picker_private.h: Added.
      (Ewk_Color_Picker):
      (Ewk_Color_Picker::create):
      * UIProcess/API/efl/ewk_view.cpp:
      * UIProcess/API/efl/ewk_view.h:
      * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp: Added.
      (onColorPickerDone):
      (setColorPickerColor):
      (showColorPicker):
      (hideColorPicker):
      (hideColorPickerByRemovingElement):
      (TEST_F):
      * UIProcess/API/efl/tests/test_ewk2_view.cpp:
      * UIProcess/efl/PageUIClientEfl.cpp:
      (WebKit::PageUIClientEfl::showColorPicker):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132617 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      be9ca405
    • ossy@webkit.org's avatar
      Unreviewed, rolling out r132601. · 601b4b89
      ossy@webkit.org authored
      http://trac.webkit.org/changeset/132601
      https://bugs.webkit.org/show_bug.cgi?id=100494
      
      It broke the Qt build (Requested by Ossy on #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-10-26
      
      .:
      
      * Source/cmake/OptionsEfl.cmake:
      
      Source/WebCore:
      
      * PlatformEfl.cmake:
      * platform/graphics/GraphicsContext3D.h:
      * platform/graphics/efl/GraphicsContext3DEfl.cpp:
      (WebCore::GraphicsContext3D::createGraphicsSurfaces):
      * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
      (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
      (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
      (WebCore):
      * platform/graphics/efl/GraphicsContext3DPrivate.h:
      (GraphicsContext3DPrivate):
      * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
      (WebCore::GraphicsContext3D::reshape):
      * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:
      (WebCore::OffScreenRootWindow::get):
      (WebCore::OffScreenRootWindow::~OffScreenRootWindow):
      (OffScreenRootWindow):
      (WebCore):
      (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
      (WebCore::GraphicsSurfacePrivate::createSurface):
      (WebCore::GraphicsSurfacePrivate::makeCurrent):
      (WebCore::GraphicsSurfacePrivate::doneCurrent):
      (WebCore::GraphicsSurfacePrivate::swapBuffers):
      (WebCore::GraphicsSurfacePrivate::copyFromTexture):
      (GraphicsSurfacePrivate):
      (WebCore::resolveGLMethods):
      
      Source/WebKit:
      
      * PlatformEfl.cmake:
      
      Source/WebKit2:
      
      * UIProcess/API/efl/ewk_view.cpp:
      (_ewk_view_initialize):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132608 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      601b4b89
    • commit-queue@webkit.org's avatar
      [EFL][WK2] Enable WebGL · 818cb17d
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=97652
      
      Patch by Regina Chung <heejin.r.chung@samsung.com> on 2012-10-26
      Reviewed by Gyuyoung Kim.
      
      .:
      
      Use Graphics Surface to enable WebGL for WebKit2 EFL.
      
      * Source/cmake/OptionsEfl.cmake:
      
      Source/WebCore:
      
      Implemented GraphicsSurface for EFL to enable WebGL for WebKit2.
      Depends on GLX since Evas doesn't provide the necessary functionality.
      
      No new tests. Covered by existing tests.
      
      * PlatformEfl.cmake:
      * platform/graphics/GraphicsContext3D.h:
      * platform/graphics/efl/GraphicsContext3DEfl.cpp:
      (WebCore::GraphicsContext3D::createGraphicsSurfaces):
      * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
      (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
      (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
      (WebCore):
      (WebCore::GraphicsContext3DPrivate::createGraphicsSurfaces):
      (WebCore::GraphicsContext3DPrivate::copyToGraphicsSurface):
      (WebCore::GraphicsContext3DPrivate::graphicsSurfaceToken):
      * platform/graphics/efl/GraphicsContext3DPrivate.h:
      (GraphicsContext3DPrivate):
      * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
      (WebCore::GraphicsContext3D::reshape):
      * platform/graphics/surfaces/efl: Added.
      * platform/graphics/surfaces/efl/GraphicsSurfaceEfl.cpp: Added.
      (WebCore):
      (WebCore::OffScreenRootWindow::get):
      (WebCore::OffScreenRootWindow::~OffScreenRootWindow):
      (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
      (WebCore::GraphicsSurfacePrivate::createSurface):
      (WebCore::GraphicsSurfacePrivate::makeCurrent):
      (WebCore::GraphicsSurfacePrivate::doneCurrent):
      (WebCore::GraphicsSurfacePrivate::swapBuffers):
      (WebCore::GraphicsSurface::platformBeginPaint):
      (WebCore::GraphicsSurface::createReadOnlyImage):
      * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:
      * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.h: Added.
      (WebCore):
      (OffScreenRootWindow):
      (WebCore::OffScreenRootWindow::OffScreenRootWindow):
      (GraphicsSurfacePrivate):
      (WebCore::GraphicsSurfacePrivate::~GraphicsSurfacePrivate):
      (WebCore::GraphicsSurfacePrivate::createPixmap):
      (WebCore::GraphicsSurfacePrivate::copyFromTexture):
      (WebCore::GraphicsSurfacePrivate::display):
      (WebCore::GraphicsSurfacePrivate::glxPixmap):
      (WebCore::GraphicsSurfacePrivate::size):
      (WebCore::GraphicsSurfacePrivate::glContext):
      (WebCore::resolveGLMethods):
      * platform/graphics/surfaces/qt/GraphicsSurfaceQt.cpp:
      (WebCore):
      (WebCore::OffScreenRootWindow::OffScreenRootWindow::get):
      (WebCore::OffScreenRootWindow::~OffScreenRootWindow):
      (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
      (WebCore::GraphicsSurfacePrivate::createSurface):
      (WebCore::GraphicsSurfacePrivate::makeCurrent):
      (WebCore::GraphicsSurfacePrivate::doneCurrent):
      (WebCore::GraphicsSurfacePrivate::swapBuffers):
      
      Source/WebKit2:
      
      Set WebGLEnabled to true when WebGL is enabled.
      
      * UIProcess/API/efl/ewk_view.cpp:
      (_ewk_view_initialize):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132601 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      818cb17d
    • commit-queue@webkit.org's avatar
      Add feature flags for CSS Device Adaptation · b885adcb
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=95960
      
      Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-10-26
      Reviewed by Kenneth Rohde Christiansen.
      
      .:
      
      * Source/cmake/WebKitFeatures.cmake:
      * Source/cmakeconfig.h.cmake:
      * configure.ac:
      
      Source/JavaScriptCore:
      
      * Configurations/FeatureDefines.xcconfig:
      
      Source/WebCore:
      
      * Configurations/FeatureDefines.xcconfig:
      * GNUmakefile.am:
      * GNUmakefile.features.am:
      
      Source/WebKit/chromium:
      
      * features.gypi:
      
      Source/WebKit/mac:
      
      * Configurations/FeatureDefines.xcconfig:
      
      Source/WebKit2:
      
      * Configurations/FeatureDefines.xcconfig:
      
      Tools:
      
      * Scripts/webkitperl/FeatureList.pm:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132600 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b885adcb
    • commit-queue@webkit.org's avatar
      [EFL][WK2] Move input method code out of EwkViewImpl · c261bad7
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=100468
      
      Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-10-26
      Reviewed by Kenneth Rohde Christiansen.
      
      Move input method code out of EwkViewImpl and into
      a new InputMethodContextEfl class to avoid cluttering
      the view code.
      
      * PlatformEfl.cmake:
      * UIProcess/API/efl/EwkViewImpl.cpp:
      (EwkViewImpl::EwkViewImpl):
      (EwkViewImpl::inputMethodContext):
      * UIProcess/API/efl/EwkViewImpl.h:
      (WebKit):
      (EwkViewImpl):
      * UIProcess/API/efl/ewk_view.cpp:
      (_ewk_view_smart_mouse_up):
      (_ewk_view_smart_key_down):
      * UIProcess/efl/InputMethodContextEfl.cpp: Added.
      (WebKit):
      (WebKit::InputMethodContextEfl::InputMethodContextEfl):
      (WebKit::InputMethodContextEfl::~InputMethodContextEfl):
      (WebKit::InputMethodContextEfl::onIMFInputSequenceComplete):
      (WebKit::InputMethodContextEfl::onIMFPreeditSequenceChanged):
      (WebKit::InputMethodContextEfl::createIMFContext):
      (WebKit::InputMethodContextEfl::handleMouseUpEvent):
      (WebKit::InputMethodContextEfl::handleKeyDownEvent):
      (WebKit::InputMethodContextEfl::updateTextInputState):
      * UIProcess/efl/InputMethodContextEfl.h: Added.
      (WebKit):
      (InputMethodContextEfl):
      (WebKit::InputMethodContextEfl::create):
      * UIProcess/efl/PageClientImpl.cpp:
      (WebKit::PageClientImpl::updateTextInputState):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132594 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c261bad7
    • commit-queue@webkit.org's avatar
      Implement {get,set}FloatValueForKey · 77397022
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=100452
      
      Patch by Jaehun Lim <ljaehun.lim@samsung.com> on 2012-10-26
      Reviewed by Anders Carlsson.
      
      Implement missing functions in WebPreferencesStore.
      
      * Shared/WebPreferencesStore.cpp:
      (WebKit::WebPreferencesStore::setFloatValueForKey):
      (WebKit):
      (WebKit::WebPreferencesStore::getFloatValueForKey):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132578 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      77397022
  5. 25 Oct, 2012 7 commits
    • commit-queue@webkit.org's avatar
      [WK2] Use per destination ID message receivers for DownloadProxy. · de9037e9
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=100342
      
      Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-10-25
      Reviewed by Anders Carlsson.
      
      Per destination ID message receivers were proposed in r132386.
      IPC messages of DownloadProxy use download ID for destination ID,
      so the messages should be handled by the messsage receiver that was
      newly proposed.
      
      * UIProcess/WebContext.cpp:
      (WebKit::WebContext::WebContext):
      (WebKit::WebContext::createDownloadProxy):
      (WebKit::WebContext::downloadFinished):
      (WebKit::WebContext::addMessageReceiver):
      (WebKit):
      (WebKit::WebContext::removeMessageReceiver):
      * UIProcess/WebContext.h:
      (WebContext):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132548 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      de9037e9
    • commit-queue@webkit.org's avatar
      [EFL][WK2] Add Ewk_Popup_Menu API · 837e1687
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=100404
      
      Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-10-25
      Reviewed by Kenneth Rohde Christiansen.
      
      Add new Ewk_Popup_Menu API to complete the existing
      Ewk_Popup_Menu_Item one. This way, we can move the
      popup menu code out of Ewk_View.
      
      * PlatformEfl.cmake:
      * UIProcess/API/efl/EWebKit2.h:
      * UIProcess/API/efl/EwkViewImpl.cpp:
      (EwkViewImpl::EwkViewImpl):
      (EwkViewImpl::~EwkViewImpl):
      (EwkViewImpl::requestPopupMenu):
      (EwkViewImpl::closePopupMenu):
      * UIProcess/API/efl/EwkViewImpl.h:
      (EwkViewImpl):
      * UIProcess/API/efl/ewk_popup_menu.cpp: Added.
      (Ewk_Popup_Menu::Ewk_Popup_Menu):
      (Ewk_Popup_Menu::~Ewk_Popup_Menu):
      (Ewk_Popup_Menu::close):
      (Ewk_Popup_Menu::items):
      (Ewk_Popup_Menu::selectedIndex):
      (Ewk_Popup_Menu::setSelectedIndex):
      (ewk_popup_menu_close):
      (ewk_popup_menu_selected_index_set):
      (ewk_popup_menu_selected_index_get):
      (ewk_popup_menu_items_get):
      * UIProcess/API/efl/ewk_popup_menu.h: Added.
      * UIProcess/API/efl/ewk_popup_menu_private.h: Copied from Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.cpp.
      (WebKit):
      (Ewk_Popup_Menu):
      (Ewk_Popup_Menu::create):
      * UIProcess/API/efl/ewk_view.cpp:
      * UIProcess/API/efl/ewk_view.h:
      * UIProcess/API/efl/tests/test_ewk2_popup_menu.cpp: Added.
      (checkBasicPopupMenuItem):
      (selectItemAfterDelayed):
      (showPopupMenu):
      (TEST_F):
      * UIProcess/API/efl/tests/test_ewk2_view.cpp:
      * UIProcess/efl/WebPopupMenuProxyEfl.cpp:
      (WebKit::WebPopupMenuProxyEfl::hidePopupMenu):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132535 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      837e1687
    • jocelyn.turcotte@digia.com's avatar
      [Qt] Close the IconDatabase before the WebContext gets destroyed · 389542b1
      jocelyn.turcotte@digia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=100389
      
      Reviewed by Alexis Menard.
      
      The WebContext normally gets destroyed 60 seconds after the last page is
      closed and will take down the WebIconDatabase with itself if nothing
      holds a reference to it at this moment.
      We need to close the IconDatabase explicitely before this happens
      to terminate it cleanly and avoid leaking its thread.
      
      * UIProcess/qt/QtWebIconDatabaseClient.cpp:
      (WebKit::QtWebIconDatabaseClient::~QtWebIconDatabaseClient):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132534 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      389542b1
    • dominik.rottsches@intel.com's avatar
      .: Adding feature for XHR_TIMEOUT · 6bf0b30f
      dominik.rottsches@intel.com authored
      Conditionalize XHR timeout support
      https://bugs.webkit.org/show_bug.cgi?id=100356
      
      Reviewed by Adam Barth.
      
      Adding feature for XHR_TIMEOUT to disable it on ports that don't have
      network backend support for setTimeoutInterval.
      
      * Source/cmake/OptionsEfl.cmake: Default ON on EFL.
      * Source/cmake/WebKitFeatures.cmake: Default OFF for any CMAKE based port.
      * Source/cmakeconfig.h.cmake: Adding define.
      * configure.ac: Make autogen.sh support the --enable/--disable-xhr-timeout parameter.
      
      Source/JavaScriptCore: Conditionalize XHR timeout support
      https://bugs.webkit.org/show_bug.cgi?id=100356
      
      Reviewed by Adam Barth.
      
      Adding XHR_TIMEOUT feature to conditionalize this on ports without network backend support.
      
      * Configurations/FeatureDefines.xcconfig:
      
      Source/WebCore: Conditionalize XHR timeout support
      https://bugs.webkit.org/show_bug.cgi?id=100356
      
      Reviewed by Adam Barth.
      
      Adding feature for XHR_TIMEOUT to disable it on ports that don't have
      network backend support for setTimeoutInterval.
      
      No new tests, covered by http/tests/xmlhttprequest/timeout/*
      
      * Configurations/FeatureDefines.xcconfig: Default ON on mac.
      * GNUmakefile.am:
      * GNUmakefile.features.am:
        Autotools support for the flag.
      * xml/XMLHttpRequest.cpp: #if ENABLE(XHR_TIMEOUT) wrapping
      (WebCore::XMLHttpRequest::XMLHttpRequest):
      (WebCore):
      (WebCore::XMLHttpRequest::open):
      (WebCore::XMLHttpRequest::createRequest):
      (WebCore::XMLHttpRequest::didFail):
      * xml/XMLHttpRequest.h: #if ENABLE(XHR_TIMEOUT) wrapping
      (XMLHttpRequest):
      * xml/XMLHttpRequest.idl: Conditional properties timeout and ontimeout (event handler).
      
      Source/WebKit/chromium: Conditionalize XHR timeout support
      https://bugs.webkit.org/show_bug.cgi?id=100356
      
      Reviewed by Adam Barth.
      
      Adding XHR_TIMEOUT feature to conditionalize this on ports without network backend support.
      Defaults to off on chromium until webkit.org/b/98397 is solved.
      
      * features.gypi:
      
      Source/WebKit/mac: Conditionalize XHR timeout support
      https://bugs.webkit.org/show_bug.cgi?id=100356
      
      Reviewed by Adam Barth.
      
      Adding XHR_TIMEOUT feature to conditionalize this on ports without network backend support.
      Defaults to ON on Mac since the Mac NSUrlConnection based backend has setTimeoutInterval support.
      
      * Configurations/FeatureDefines.xcconfig:
      
      Source/WebKit2: Conditionalize XHR timeout support
      https://bugs.webkit.org/show_bug.cgi?id=100356
      
      Reviewed by Adam Barth.
      
      Adding XHR_TIMEOUT feature to conditionalize this on ports without network backend support.
      Defaults to ON on Mac since the Mac NSUrlConnection based backend has setTimeoutInterval support.
      
      * Configurations/FeatureDefines.xcconfig:
      
      Tools: Conditionalize XHR timeout support
      https://bugs.webkit.org/show_bug.cgi?id=100356
      
      Reviewed by Adam Barth.
      
      Adding XHR_TIMEOUT feature in perl and qmake files.
      
      * Scripts/webkitperl/FeatureList.pm:
      * qmake/mkspecs/features/features.pri:
      
      WebKitLibraries: Conditionalize XHR timeout support
      https://bugs.webkit.org/show_bug.cgi?id=100356
      
      Reviewed by Adam Barth.
      
      Adding ENABLE_XHR_TIMEOUT feature, which is default off for Apple Win.
      See also https://bugs.webkit.org/show_bug.cgi?id=100349 for an attempt
      to fix timeout support for CF Network.
      
      * win/tools/vsprops/FeatureDefines.vsprops:
      * win/tools/vsprops/FeatureDefinesCairo.vsprops:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132513 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6bf0b30f
    • timothy_horton@apple.com's avatar
      Only full-page PDFPlugins should purport to handle page scale changes · 1594b3ef
      timothy_horton@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=99635
      
      Reviewed by Sam Weinig.
      
      PDFPlugin should only handle page scale factor changes itself if it's in the main frame.
      Subframe PDFs will act like images, zooming with the page.
      
      * WebProcess/Plugins/PDF/PDFPlugin.h:
      (PDFPlugin): Move implementation of handlesPageScaleFactor() to PDFPlugin.mm.
      * WebProcess/Plugins/PDF/PDFPlugin.mm:
      (WebKit::PDFPlugin::pdfDocumentDidLoad): Only copy PDFLayerController's default autoscale magnification to PluginView's
      notion of the current scale factor if we're supposed to be handling page scale factor changes.
      (WebKit::PDFPlugin::geometryDidChange): Only update PDFLayerController's magnification from the page scale factor
      if we're supposed to be handling page scale factor changes.
      (WebKit::PDFPlugin::handlesPageScaleFactor): We should only handle page scale factor changes if we're in the main frame.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132512 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1594b3ef
    • commit-queue@webkit.org's avatar
      [EFL][WK2] Move non-API classes out of UIProcess/API/efl · 49a251cf
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=100391
      
      Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-10-25
      Reviewed by Kenneth Rohde Christiansen.
      
      Move non-API classes from UIProcess/API/efl to
      UIProcess/efl for clarity.
      
      * PlatformEfl.cmake:
      * UIProcess/efl/BatteryProvider.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/BatteryProvider.cpp.
      (toBatteryProvider):
      (startUpdatingCallback):
      (stopUpdatingCallback):
      (BatteryProvider::~BatteryProvider):
      (BatteryProvider::create):
      (BatteryProvider::BatteryProvider):
      (BatteryProvider::startUpdating):
      (BatteryProvider::stopUpdating):
      (BatteryProvider::didChangeBatteryStatus):
      * UIProcess/efl/BatteryProvider.h: Renamed from Source/WebKit2/UIProcess/API/efl/BatteryProvider.h.
      (WebKit):
      (BatteryProvider):
      * UIProcess/efl/NetworkInfoProvider.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/NetworkInfoProvider.cpp.
      (toNetworkInfoProvider):
      (startUpdatingCallback):
      (stopUpdatingCallback):
      (getBandwidthCallback):
      (isMeteredCallback):
      (NetworkInfoProvider::create):
      (NetworkInfoProvider::NetworkInfoProvider):
      (NetworkInfoProvider::~NetworkInfoProvider):
      (NetworkInfoProvider::bandwidth):
      (NetworkInfoProvider::metered):
      (NetworkInfoProvider::startUpdating):
      (NetworkInfoProvider::stopUpdating):
      * UIProcess/efl/NetworkInfoProvider.h: Renamed from Source/WebKit2/UIProcess/API/efl/NetworkInfoProvider.h.
      (WebKit):
      (NetworkInfoProvider):
      * UIProcess/efl/PageClientImpl.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/PageClientImpl.cpp.
      (WebKit):
      (WebKit::PageClientImpl::PageClientImpl):
      (WebKit::PageClientImpl::~PageClientImpl):
      (WebKit::PageClientImpl::viewImpl):
      (WebKit::PageClientImpl::createDrawingAreaProxy):
      (WebKit::PageClientImpl::setViewNeedsDisplay):
      (WebKit::PageClientImpl::displayView):
      (WebKit::PageClientImpl::scrollView):
      (WebKit::PageClientImpl::viewSize):
      (WebKit::PageClientImpl::isViewWindowActive):
      (WebKit::PageClientImpl::isViewFocused):
      (WebKit::PageClientImpl::isViewVisible):
      (WebKit::PageClientImpl::isViewInWindow):
      (WebKit::PageClientImpl::processDidCrash):
      (WebKit::PageClientImpl::didRelaunchProcess):
      (WebKit::PageClientImpl::pageClosed):
      (WebKit::PageClientImpl::toolTipChanged):
      (WebKit::PageClientImpl::setCursor):
      (WebKit::PageClientImpl::setCursorHiddenUntilMouseMoves):
      (WebKit::PageClientImpl::didChangeViewportProperties):
      (WebKit::PageClientImpl::registerEditCommand):
      (WebKit::PageClientImpl::clearAllEditCommands):
      (WebKit::PageClientImpl::canUndoRedo):
      (WebKit::PageClientImpl::executeUndoRedo):
      (WebKit::PageClientImpl::convertToDeviceSpace):
      (WebKit::PageClientImpl::convertToUserSpace):
      (WebKit::PageClientImpl::screenToWindow):
      (WebKit::PageClientImpl::windowToScreen):
      (WebKit::PageClientImpl::doneWithKeyEvent):
      (WebKit::PageClientImpl::doneWithTouchEvent):
      (WebKit::PageClientImpl::createPopupMenuProxy):
      (WebKit::PageClientImpl::createContextMenuProxy):
      (WebKit::PageClientImpl::createColorChooserProxy):
      (WebKit::PageClientImpl::setFindIndicator):
      (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
      (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
      (WebKit::PageClientImpl::updateAcceleratedCompositingMode):
      (WebKit::PageClientImpl::didChangeScrollbarsForMainFrame):
      (WebKit::PageClientImpl::didCommitLoadForMainFrame):
      (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation):
      (WebKit::PageClientImpl::customRepresentationZoomFactor):
      (WebKit::PageClientImpl::setCustomRepresentationZoomFactor):
      (WebKit::PageClientImpl::flashBackingStoreUpdates):
      (WebKit::PageClientImpl::findStringInCustomRepresentation):
      (WebKit::PageClientImpl::countStringMatchesInCustomRepresentation):
      (WebKit::PageClientImpl::updateTextInputState):
      (WebKit::PageClientImpl::handleDownloadRequest):
      (WebKit::PageClientImpl::pageDidRequestScroll):
      (WebKit::PageClientImpl::didChangeContentsSize):
      (WebKit::PageClientImpl::didRenderFrame):
      (WebKit::PageClientImpl::pageTransitionViewportReady):
      * UIProcess/efl/PageClientImpl.h: Renamed from Source/WebKit2/UIProcess/API/efl/PageClientImpl.h.
      (WebKit):
      (PageClientImpl):
      (WebKit::PageClientImpl::create):
      (WebKit::PageClientImpl::setPageViewportController):
      * UIProcess/efl/PageViewportControllerClientEfl.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/PageViewportControllerClientEfl.cpp.
      (WebKit):
      (WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
      (WebKit::PageViewportControllerClientEfl::~PageViewportControllerClientEfl):
      (WebKit::PageViewportControllerClientEfl::drawingArea):
      (WebKit::PageViewportControllerClientEfl::setRendererActive):
      (WebKit::PageViewportControllerClientEfl::display):
      (WebKit::PageViewportControllerClientEfl::updateViewportSize):
      (WebKit::PageViewportControllerClientEfl::setVisibleContentsRect):
      (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
      (WebKit::PageViewportControllerClientEfl::setViewportPosition):
      (WebKit::PageViewportControllerClientEfl::setContentsScale):
      (WebKit::PageViewportControllerClientEfl::didResumeContent):
      (WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):
      (WebKit::PageViewportControllerClientEfl::didChangeViewportAttributes):
      (WebKit::PageViewportControllerClientEfl::setController):
      * UIProcess/efl/PageViewportControllerClientEfl.h: Renamed from Source/WebKit2/UIProcess/API/efl/PageViewportControllerClientEfl.h.
      (WebKit):
      (PageViewportControllerClientEfl):
      (WebKit::PageViewportControllerClientEfl::create):
      (WebKit::PageViewportControllerClientEfl::viewSize):
      (WebKit::PageViewportControllerClientEfl::scaleFactor):
      (WebKit::PageViewportControllerClientEfl::scrollPosition):
      * UIProcess/efl/VibrationProvider.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/VibrationProvider.cpp.
      (Ewk_Vibration_Client):
      (Ewk_Vibration_Client::Ewk_Vibration_Client):
      (toVibrationProvider):
      (vibrateCallback):
      (cancelVibrationCallback):
      (VibrationProvider::create):
      (VibrationProvider::VibrationProvider):
      (VibrationProvider::~VibrationProvider):
      (VibrationProvider::vibrate):
      (VibrationProvider::cancelVibration):
      (VibrationProvider::setVibrationClientCallbacks):
      * UIProcess/efl/VibrationProvider.h: Renamed from Source/WebKit2/UIProcess/API/efl/VibrationProvider.h.
      (WebKit):
      (VibrationProvider):
      * UIProcess/efl/WebKitTextChecker.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/WebKitTextChecker.cpp.
      (WebKit):
      (WebKit::isContinuousSpellCheckingEnabled):
      (WebKit::setContinuousSpellCheckingEnabled):
      (WebKit::uniqueSpellDocumentTag):
      (WebKit::closeSpellDocumentWithTag):
      (WebKit::checkSpellingOfString):
      (WebKit::guessesForWord):
      (WebKit::learnWord):
      (WebKit::ignoreWord):
      (WebKit::availableSpellCheckingLanguages):
      (WebKit::updateSpellCheckingLanguages):
      (WebKit::loadedSpellCheckingLanguages):
      * UIProcess/efl/WebKitTextChecker.h: Renamed from Source/WebKit2/UIProcess/API/efl/WebKitTextChecker.h.
      (WebKit):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132502 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      49a251cf
    • beidson@apple.com's avatar
      Allow LoaderStrategy to override the ResourceLoadScheduler · 33785568
      beidson@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=100355
      
      Reviewed by Anders Carlsson.
      
      Source/WebCore:
      
      Allow LoaderStrategy to override the implementation of the ResourceLoadScheduler.
      Add a default implementation that just returns the current ResourceLoadScheduler.
      
      No new tests (No behavior change).
      
      Project file stuff:
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.exp.in:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      
      "Virtualize" ResourceLoadScheduler to expose build issues in preparation for future virtualization:
      * loader/ResourceLoadScheduler.cpp:
      (WebCore::ResourceLoadScheduler::~ResourceLoadScheduler):
      * loader/ResourceLoadScheduler.h:
      (ResourceLoadScheduler):
      
      Add the new method plus a default implementation:
       * loader/LoaderStrategy.cpp:
      (WebCore::LoaderStrategy::resourceLoadScheduler):
      * loader/LoaderStrategy.h:
      
      When strategies are enabled, use the LoaderStrategy for this:
      * dom/ContainerNode.cpp:
      (WebCore::ContainerNode::suspendPostAttachCallbacks):
      (WebCore::ContainerNode::resumePostAttachCallbacks):
      
      * loader/MainResourceLoader.cpp:
      (WebCore::MainResourceLoader::loadNow):
      
      * loader/ResourceLoader.cpp:
      (WebCore::ResourceLoader::releaseResources):
      (WebCore::ResourceLoader::willSendRequest):
      
      * loader/cache/CachedResource.cpp:
      (WebCore::CachedResource::load):
      
      * loader/cache/CachedResourceLoader.cpp:
      (WebCore::CachedResourceLoader::performPostLoadActions):
      
      Source/WebKit2:
      
      Add a WebKit2 subclass of ResourceLoadScheduler that currently adds no new functionality:
      * WebProcess/Network/WebResourceLoadScheduler.cpp:
      (WebKit::WebResourceLoadScheduler::~WebResourceLoadScheduler):
      * WebProcess/Network/WebResourceLoadScheduler.h:
      
      WebProcess hangs on to the default shared WebResourceLoadScheduler:
      * WebProcess/WebProcess.h:
      (WebKit::WebProcess::webResourceLoadScheduler):
      
      If the NetworkProcess is enabled, return the new WebResourceLoadScheduler:
      * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
      (WebKit::WebPlatformStrategies::resourceLoadScheduler):
      * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
      
      * WebKit2.xcodeproj/project.pbxproj:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132501 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      33785568