Skip to content
  • 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