⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 201596 in webkit


Ignore:
Timestamp:
Jun 2, 2016, 1:45:14 AM (10 years ago)
Author:
youenn.fablet@crf.canon.fr
Message:

Source/WebCore:
Use more references in ResourceLoader related code
https://bugs.webkit.org/show_bug.cgi?id=158222

Reviewed by Darin Adler.

No change of behavior.

  • css/CSSFontFaceSource.cpp:

(WebCore::CSSFontFaceSource::load):

  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::clearDocument):
(WebCore::CSSFontSelector::beginLoadingFontSoon):
(WebCore::CSSFontSelector::beginLoadTimerFired):

  • css/CSSFontSelector.h:
  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::scheduleArchiveLoad):

  • loader/DocumentLoader.h:
  • loader/LoaderStrategy.h:
  • loader/NetscapePlugInStreamLoader.cpp:

(WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
(WebCore::NetscapePlugInStreamLoader::create):

  • loader/NetscapePlugInStreamLoader.h:
  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::ResourceLoader):
(WebCore::ResourceLoader::start):

  • loader/ResourceLoader.h:
  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::RequestCountTracker::RequestCountTracker):
(WebCore::SubresourceLoader::SubresourceLoader):
(WebCore::SubresourceLoader::create):
(WebCore::SubresourceLoader::didReceiveResponse):
(WebCore::SubresourceLoader::notifyDone):

  • loader/SubresourceLoader.h:
  • loader/appcache/ApplicationCacheHost.cpp:

(WebCore::ApplicationCacheHost::maybeLoadResource):

  • loader/appcache/ApplicationCacheHost.h:
  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::load):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::incrementRequestCount):
(WebCore::CachedResourceLoader::decrementRequestCount):

  • loader/cache/CachedResourceLoader.h:

Source/WebKit:
Use more references in ResourceLoader related code
https://bugs.webkit.org/show_bug.cgi?id=158222

Reviewed by Darin Adler.

  • WebCoreSupport/WebResourceLoadScheduler.cpp:

(WebResourceLoadScheduler::loadResource):

  • WebCoreSupport/WebResourceLoadScheduler.h:

Source/WebKit/mac:
Add WebIDL special operation support: serializer
https://bugs.webkit.org/show_bug.cgi?id=156293

Reviewed by Darin Adler.

  • Plugins/Hosted/HostedNetscapePluginStream.mm:

(WebKit::HostedNetscapePluginStream::start):

  • Plugins/WebNetscapePluginStream.mm:

(WebNetscapePluginStream::start):

Source/WebKit/win:
Use more references in ResourceLoader related code
https://bugs.webkit.org/show_bug.cgi?id=158222

Reviewed by Darin Adler.

  • Plugins/PluginStream.cpp:

(WebCore::PluginStream::start):

Source/WebKit2:
Use more references in ResourceLoader related code
https://bugs.webkit.org/show_bug.cgi?id=158222

Reviewed by Darin Adler.

  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::WebLoaderStrategy::loadResource):
(WebKit::WebLoaderStrategy::schedulePluginStreamLoad):
(WebKit::WebLoaderStrategy::scheduleLoad):
(WebKit::WebLoaderStrategy::scheduleInternallyFailedLoad):
(WebKit::WebLoaderStrategy::startLocalLoad):
(WebKit::WebLoaderStrategy::networkProcessCrashed):

  • WebProcess/Network/WebLoaderStrategy.h:
  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::create):
(WebKit::WebResourceLoader::WebResourceLoader):

  • WebProcess/Network/WebResourceLoader.h:
  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::Stream::start):

Location:
trunk/Source
Files:
32 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r201595 r201596  
     12016-06-02  Youenn Fablet  <youenn.fablet@crf.canon.fr>
     2
     3        Use more references in ResourceLoader related code
     4        https://bugs.webkit.org/show_bug.cgi?id=158222
     5
     6        Reviewed by Darin Adler.
     7
     8        No change of behavior.
     9
     10        * css/CSSFontFaceSource.cpp:
     11        (WebCore::CSSFontFaceSource::load):
     12        * css/CSSFontSelector.cpp:
     13        (WebCore::CSSFontSelector::clearDocument):
     14        (WebCore::CSSFontSelector::beginLoadingFontSoon):
     15        (WebCore::CSSFontSelector::beginLoadTimerFired):
     16        * css/CSSFontSelector.h:
     17        * loader/DocumentLoader.cpp:
     18        (WebCore::DocumentLoader::scheduleArchiveLoad):
     19        * loader/DocumentLoader.h:
     20        * loader/LoaderStrategy.h:
     21        * loader/NetscapePlugInStreamLoader.cpp:
     22        (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
     23        (WebCore::NetscapePlugInStreamLoader::create):
     24        * loader/NetscapePlugInStreamLoader.h:
     25        * loader/ResourceLoader.cpp:
     26        (WebCore::ResourceLoader::ResourceLoader):
     27        (WebCore::ResourceLoader::start):
     28        * loader/ResourceLoader.h:
     29        * loader/SubresourceLoader.cpp:
     30        (WebCore::SubresourceLoader::RequestCountTracker::RequestCountTracker):
     31        (WebCore::SubresourceLoader::SubresourceLoader):
     32        (WebCore::SubresourceLoader::create):
     33        (WebCore::SubresourceLoader::didReceiveResponse):
     34        (WebCore::SubresourceLoader::notifyDone):
     35        * loader/SubresourceLoader.h:
     36        * loader/appcache/ApplicationCacheHost.cpp:
     37        (WebCore::ApplicationCacheHost::maybeLoadResource):
     38        * loader/appcache/ApplicationCacheHost.h:
     39        * loader/cache/CachedResource.cpp:
     40        (WebCore::CachedResource::load):
     41        * loader/cache/CachedResourceLoader.cpp:
     42        (WebCore::CachedResourceLoader::incrementRequestCount):
     43        (WebCore::CachedResourceLoader::decrementRequestCount):
     44        * loader/cache/CachedResourceLoader.h:
     45
    1462016-06-02  Carlos Garcia Campos  <cgarcia@igalia.com>
    247
  • trunk/Source/WebCore/css/CSSFontFaceSource.cpp

    r201570 r201596  
    125125    setStatus(Status::Loading);
    126126
    127     fontSelector.beginLoadingFontSoon(m_font.get());
     127    ASSERT(m_font);
     128    fontSelector.beginLoadingFontSoon(*m_font);
    128129}
    129130
  • trunk/Source/WebCore/css/CSSFontSelector.cpp

    r201570 r201596  
    263263    for (auto& fontHandle : m_fontsToBeginLoading) {
    264264        // Balances incrementRequestCount() in beginLoadingFontSoon().
    265         cachedResourceLoader.decrementRequestCount(fontHandle.get());
     265        cachedResourceLoader.decrementRequestCount(*fontHandle);
    266266    }
    267267    m_fontsToBeginLoading.clear();
     
    274274}
    275275
    276 void CSSFontSelector::beginLoadingFontSoon(CachedFont* font)
     276void CSSFontSelector::beginLoadingFontSoon(CachedFont& font)
    277277{
    278278    if (!m_document)
    279279        return;
    280280
    281     m_fontsToBeginLoading.append(font);
     281    m_fontsToBeginLoading.append(&font);
    282282    // Increment the request count now, in order to prevent didFinishLoad from being dispatched
    283283    // after this font has been requested but before it began loading. Balanced by
     
    299299        fontHandle->beginLoadIfNeeded(cachedResourceLoader);
    300300        // Balances incrementRequestCount() in beginLoadingFontSoon().
    301         cachedResourceLoader.decrementRequestCount(fontHandle.get());
     301        cachedResourceLoader.decrementRequestCount(*fontHandle);
    302302    }
    303303    // Ensure that if the request count reaches zero, the frame loader will know about it.
  • trunk/Source/WebCore/css/CSSFontSelector.h

    r201570 r201596  
    7979    Document* document() const { return m_document; }
    8080
    81     void beginLoadingFontSoon(CachedFont*);
     81    void beginLoadingFontSoon(CachedFont&);
    8282
    8383    FontFaceSet& fontFaceSet();
  • trunk/Source/WebCore/loader/DocumentLoader.cpp

    r201594 r201596  
    12331233
    12341234#if ENABLE(WEB_ARCHIVE) || ENABLE(MHTML)
    1235 bool DocumentLoader::scheduleArchiveLoad(ResourceLoader* loader, const ResourceRequest& request)
     1235bool DocumentLoader::scheduleArchiveLoad(ResourceLoader& loader, const ResourceRequest& request)
    12361236{
    12371237    if (ArchiveResource* resource = archiveResourceForURL(request.url())) {
    1238         scheduleSubstituteResourceLoad(*loader, *resource);
     1238        scheduleSubstituteResourceLoad(loader, *resource);
    12391239        return true;
    12401240    }
  • trunk/Source/WebCore/loader/DocumentLoader.h

    r198177 r201596  
    161161        WEBCORE_EXPORT SharedBuffer* parsedArchiveData() const;
    162162
    163         WEBCORE_EXPORT bool scheduleArchiveLoad(ResourceLoader*, const ResourceRequest&);
     163        WEBCORE_EXPORT bool scheduleArchiveLoad(ResourceLoader&, const ResourceRequest&);
    164164#endif
    165165        void scheduleSubstituteResourceLoad(ResourceLoader&, SubstituteResource&);
  • trunk/Source/WebCore/loader/LoaderStrategy.h

    r192995 r201596  
    4949class WEBCORE_EXPORT LoaderStrategy {
    5050public:
    51     virtual RefPtr<SubresourceLoader> loadResource(Frame*, CachedResource*, const ResourceRequest&, const ResourceLoaderOptions&) = 0;
     51    virtual RefPtr<SubresourceLoader> loadResource(Frame&, CachedResource&, const ResourceRequest&, const ResourceLoaderOptions&) = 0;
    5252    virtual void loadResourceSynchronously(NetworkingContext*, unsigned long identifier, const ResourceRequest&, StoredCredentials, ClientCredentialPolicy, ResourceError&, ResourceResponse&, Vector<char>& data) = 0;
    5353
  • trunk/Source/WebCore/loader/NetscapePlugInStreamLoader.cpp

    r200895 r201596  
    4343// FIXME: Skip Content Security Policy check when associated plugin element is in a user agent shadow tree.
    4444// See <https://bugs.webkit.org/show_bug.cgi?id=146663>.
    45 NetscapePlugInStreamLoader::NetscapePlugInStreamLoader(Frame* frame, NetscapePlugInStreamLoaderClient* client)
     45NetscapePlugInStreamLoader::NetscapePlugInStreamLoader(Frame& frame, NetscapePlugInStreamLoaderClient& client)
    4646    : ResourceLoader(frame, ResourceLoaderOptions(SendCallbacks, SniffContent, DoNotBufferData, AllowStoredCredentials, AskClientForAllCredentials, ClientRequestedCredentials, SkipSecurityCheck, UseDefaultOriginRestrictionsForType, DoNotIncludeCertificateInfo, ContentSecurityPolicyImposition::DoPolicyCheck, DefersLoadingPolicy::AllowDefersLoading, CachingPolicy::AllowCaching))
    47     , m_client(client)
     47    , m_client(&client)
    4848{
    4949#if ENABLE(CONTENT_EXTENSIONS)
     
    5656}
    5757
    58 PassRefPtr<NetscapePlugInStreamLoader> NetscapePlugInStreamLoader::create(Frame* frame, NetscapePlugInStreamLoaderClient* client, const ResourceRequest& request)
     58RefPtr<NetscapePlugInStreamLoader> NetscapePlugInStreamLoader::create(Frame& frame, NetscapePlugInStreamLoaderClient& client, const ResourceRequest& request)
    5959{
    60     RefPtr<NetscapePlugInStreamLoader> loader(adoptRef(new NetscapePlugInStreamLoader(frame, client)));
     60    auto loader(adoptRef(new NetscapePlugInStreamLoader(frame, client)));
    6161    if (!loader->init(request))
    6262        return nullptr;
    6363
    64     return loader.release();
     64    return loader;
    6565}
    6666
  • trunk/Source/WebCore/loader/NetscapePlugInStreamLoader.h

    r197563 r201596  
    5252class NetscapePlugInStreamLoader final : public ResourceLoader {
    5353public:
    54     WEBCORE_EXPORT static PassRefPtr<NetscapePlugInStreamLoader> create(Frame*, NetscapePlugInStreamLoaderClient*, const ResourceRequest&);
     54    WEBCORE_EXPORT static RefPtr<NetscapePlugInStreamLoader> create(Frame&, NetscapePlugInStreamLoaderClient&, const ResourceRequest&);
    5555    virtual ~NetscapePlugInStreamLoader();
    5656
     
    6969    void releaseResources() override;
    7070
    71     NetscapePlugInStreamLoader(Frame*, NetscapePlugInStreamLoaderClient*);
     71    NetscapePlugInStreamLoader(Frame&, NetscapePlugInStreamLoaderClient&);
    7272
    7373    void willCancel(const ResourceError&) override;
  • trunk/Source/WebCore/loader/ResourceLoader.cpp

    r201333 r201596  
    5454
    5555#if ENABLE(CONTENT_EXTENSIONS)
    56 #include "ResourceLoadInfo.h"
    5756#include "UserContentController.h"
    5857#endif
     
    6059namespace WebCore {
    6160
    62 ResourceLoader::ResourceLoader(Frame* frame, ResourceLoaderOptions options)
    63     : m_frame(frame)
    64     , m_documentLoader(frame->loader().activeDocumentLoader())
    65     , m_identifier(0)
    66     , m_reachedTerminalState(false)
    67     , m_notifiedLoadComplete(false)
    68     , m_cancellationStatus(NotCancelled)
    69     , m_defersLoading(options.defersLoadingPolicy() == DefersLoadingPolicy::AllowDefersLoading && frame->page()->defersLoading())
     61ResourceLoader::ResourceLoader(Frame& frame, ResourceLoaderOptions options)
     62    : m_frame(&frame)
     63    , m_documentLoader(frame.loader().activeDocumentLoader())
     64    , m_defersLoading(options.defersLoadingPolicy() == DefersLoadingPolicy::AllowDefersLoading && frame.page()->defersLoading())
    7065    , m_options(options)
    71     , m_isQuickLookResource(false)
    72 #if ENABLE(CONTENT_EXTENSIONS)
    73     , m_resourceType(ResourceType::Invalid)
    74 #endif
    7566{
    7667}
     
    196187
    197188#if ENABLE(WEB_ARCHIVE) || ENABLE(MHTML)
    198     if (m_documentLoader->scheduleArchiveLoad(this, m_request))
    199         return;
    200 #endif
    201 
    202     if (m_documentLoader->applicationCacheHost()->maybeLoadResource(this, m_request, m_request.url()))
     189    if (m_documentLoader->scheduleArchiveLoad(*this, m_request))
     190        return;
     191#endif
     192
     193    if (m_documentLoader->applicationCacheHost()->maybeLoadResource(*this, m_request, m_request.url()))
    203194        return;
    204195
  • trunk/Source/WebCore/loader/ResourceLoader.h

    r200461 r201596  
    3737#include <wtf/Forward.h>
    3838
     39#if ENABLE(CONTENT_EXTENSIONS)
     40#include "ResourceLoadInfo.h"
     41#endif
     42
    3943namespace WTF {
    4044class SchedulePair;
     
    5155#if USE(QUICK_LOOK)
    5256class QuickLookHandle;
    53 #endif
    54 
    55 #if ENABLE(CONTENT_EXTENSIONS)
    56 enum class ResourceType : uint16_t;
    5757#endif
    5858
     
    9494
    9595    virtual void releaseResources();
    96     const ResourceResponse& response() const;
     96    const ResourceResponse& response() const { return m_response; }
    9797
    9898    SharedBuffer* resourceData() const { return m_resourceData.get(); }
     
    150150
    151151protected:
    152     ResourceLoader(Frame*, ResourceLoaderOptions);
     152    ResourceLoader(Frame&, ResourceLoaderOptions);
    153153
    154154    void didFinishLoadingOnePart(double finishTime);
     
    215215    RefPtr<SharedBuffer> m_resourceData;
    216216   
    217     unsigned long m_identifier;
    218 
    219     bool m_reachedTerminalState;
    220     bool m_notifiedLoadComplete;
     217    unsigned long m_identifier { 0 };
     218
     219    bool m_reachedTerminalState { false };
     220    bool m_notifiedLoadComplete { false };
    221221
    222222    enum CancellationStatus {
     
    226226        FinishedCancel
    227227    };
    228     CancellationStatus m_cancellationStatus;
     228    CancellationStatus m_cancellationStatus { NotCancelled };
    229229
    230230    bool m_defersLoading;
    231231    ResourceRequest m_deferredRequest;
    232232    ResourceLoaderOptions m_options;
    233     bool m_isQuickLookResource;
     233    bool m_isQuickLookResource { false };
    234234
    235235#if ENABLE(CONTENT_EXTENSIONS)
    236236protected:
    237     ResourceType m_resourceType;
     237    ResourceType m_resourceType { ResourceType::Invalid };
    238238#endif
    239239};
    240240
    241 inline const ResourceResponse& ResourceLoader::response() const
    242 {
    243     return m_response;
    244241}
    245242
    246 }
    247 
    248 #endif
     243#endif
  • trunk/Source/WebCore/loader/SubresourceLoader.cpp

    r201556 r201596  
    6262DEFINE_DEBUG_ONLY_GLOBAL(WTF::RefCountedLeakCounter, subresourceLoaderCounter, ("SubresourceLoader"));
    6363
    64 SubresourceLoader::RequestCountTracker::RequestCountTracker(CachedResourceLoader& cachedResourceLoader, CachedResource* resource)
     64SubresourceLoader::RequestCountTracker::RequestCountTracker(CachedResourceLoader& cachedResourceLoader, const CachedResource& resource)
    6565    : m_cachedResourceLoader(cachedResourceLoader)
    6666    , m_resource(resource)
     
    7474}
    7575
    76 SubresourceLoader::SubresourceLoader(Frame* frame, CachedResource* resource, const ResourceLoaderOptions& options)
     76SubresourceLoader::SubresourceLoader(Frame& frame, CachedResource& resource, const ResourceLoaderOptions& options)
    7777    : ResourceLoader(frame, options)
    78     , m_resource(resource)
     78    , m_resource(&resource)
    7979    , m_loadingMultipartContent(false)
    8080    , m_state(Uninitialized)
    81     , m_requestCountTracker(InPlace, frame->document()->cachedResourceLoader(), resource)
     81    , m_requestCountTracker(InPlace, frame.document()->cachedResourceLoader(), resource)
    8282{
    8383#ifndef NDEBUG
     
    8585#endif
    8686#if ENABLE(CONTENT_EXTENSIONS)
    87     m_resourceType = toResourceType(resource->type());
     87    m_resourceType = toResourceType(resource.type());
    8888#endif
    8989}
     
    9898}
    9999
    100 RefPtr<SubresourceLoader> SubresourceLoader::create(Frame* frame, CachedResource* resource, const ResourceRequest& request, const ResourceLoaderOptions& options)
     100RefPtr<SubresourceLoader> SubresourceLoader::create(Frame& frame, CachedResource& resource, const ResourceRequest& request, const ResourceLoaderOptions& options)
    101101{
    102102    RefPtr<SubresourceLoader> subloader(adoptRef(new SubresourceLoader(frame, resource, options)));
  • trunk/Source/WebCore/loader/SubresourceLoader.h

    r201556 r201596  
    4545class SubresourceLoader final : public ResourceLoader {
    4646public:
    47     WEBCORE_EXPORT static RefPtr<SubresourceLoader> create(Frame*, CachedResource*, const ResourceRequest&, const ResourceLoaderOptions&);
     47    WEBCORE_EXPORT static RefPtr<SubresourceLoader> create(Frame&, CachedResource&, const ResourceRequest&, const ResourceLoaderOptions&);
    4848
    4949    virtual ~SubresourceLoader();
     
    6161
    6262private:
    63     SubresourceLoader(Frame*, CachedResource*, const ResourceLoaderOptions&);
     63    SubresourceLoader(Frame&, CachedResource&, const ResourceLoaderOptions&);
    6464
    6565    bool init(const ResourceRequest&) override;
     
    113113#endif
    114114    public:
    115         RequestCountTracker(CachedResourceLoader&, CachedResource*);
     115        RequestCountTracker(CachedResourceLoader&, const CachedResource&);
    116116        ~RequestCountTracker();
    117117    private:
    118118        CachedResourceLoader& m_cachedResourceLoader;
    119         CachedResource* m_resource;
     119        const CachedResource& m_resource;
    120120    };
    121121
  • trunk/Source/WebCore/loader/appcache/ApplicationCacheHost.cpp

    r198177 r201596  
    167167}
    168168
    169 bool ApplicationCacheHost::maybeLoadResource(ResourceLoader* loader, const ResourceRequest& request, const URL& originalURL)
     169bool ApplicationCacheHost::maybeLoadResource(ResourceLoader& loader, const ResourceRequest& request, const URL& originalURL)
    170170{
    171171    if (!isApplicationCacheEnabled() && !isApplicationCacheBlockedForRequest(request))
     
    179179        return false;
    180180
    181     m_documentLoader.scheduleSubstituteResourceLoad(*loader, *resource);
     181    m_documentLoader.scheduleSubstituteResourceLoad(loader, *resource);
    182182    return true;
    183183}
  • trunk/Source/WebCore/loader/appcache/ApplicationCacheHost.h

    r191369 r201596  
    125125        void failedLoadingMainResource();
    126126
    127         WEBCORE_EXPORT bool maybeLoadResource(ResourceLoader*, const ResourceRequest&, const URL& originalURL);
     127        WEBCORE_EXPORT bool maybeLoadResource(ResourceLoader&, const ResourceRequest&, const URL& originalURL);
    128128        WEBCORE_EXPORT bool maybeLoadFallbackForRedirect(ResourceLoader*, ResourceRequest&, const ResourceResponse&);
    129129        WEBCORE_EXPORT bool maybeLoadFallbackForResponse(ResourceLoader*, const ResourceResponse&);
  • trunk/Source/WebCore/loader/cache/CachedResource.cpp

    r201324 r201596  
    216216        return;
    217217    }
     218    Frame& frame = *cachedResourceLoader.frame();
    218219
    219220    // Prevent new loads if we are in the PageCache or being added to the PageCache.
    220     if (cachedResourceLoader.frame()->page() && cachedResourceLoader.frame()->page()->inPageCache()) {
     221    if (frame.page() && frame.page()->inPageCache()) {
    221222        failBeforeStarting();
    222223        return;
    223224    }
    224225
    225     FrameLoader& frameLoader = cachedResourceLoader.frame()->loader();
     226    FrameLoader& frameLoader = frame.loader();
    226227    if (options.securityCheck() == DoSecurityCheck && (frameLoader.state() == FrameStateProvisional || !frameLoader.activeDocumentLoader() || frameLoader.activeDocumentLoader()->isStopping())) {
    227228        failBeforeStarting();
     
    237238        // NSURLReponse for the main document. To make safeQLURLForDocumentURLAndResourceURL()
    238239        // work, we need to use the QL URL not the original URL.
    239         const URL& documentURL = cachedResourceLoader.frame() ? cachedResourceLoader.frame()->loader().documentLoader()->response().url() : cachedResourceLoader.document()->url();
     240        const URL& documentURL = frameLoader.documentLoader()->response().url();
    240241        m_resourceRequest.setURL(safeQLURLForDocumentURLAndResourceURL(documentURL, url()));
    241242    }
     
    281282    }
    282283
    283     m_loader = platformStrategies()->loaderStrategy()->loadResource(cachedResourceLoader.frame(), this, request, options);
     284    m_loader = platformStrategies()->loaderStrategy()->loadResource(frame, *this, request, options);
    284285    if (!m_loader) {
    285286        failBeforeStarting();
  • trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp

    r201565 r201596  
    10131013}
    10141014
    1015 void CachedResourceLoader::incrementRequestCount(const CachedResource* res)
    1016 {
    1017     if (res->ignoreForRequestCount())
     1015void CachedResourceLoader::incrementRequestCount(const CachedResource& resource)
     1016{
     1017    if (resource.ignoreForRequestCount())
    10181018        return;
    10191019
     
    10211021}
    10221022
    1023 void CachedResourceLoader::decrementRequestCount(const CachedResource* res)
    1024 {
    1025     if (res->ignoreForRequestCount())
     1023void CachedResourceLoader::decrementRequestCount(const CachedResource& resource)
     1024{
     1025    if (resource.ignoreForRequestCount())
    10261026        return;
    10271027
  • trunk/Source/WebCore/loader/cache/CachedResourceLoader.h

    r201018 r201596  
    123123    WEBCORE_EXPORT void garbageCollectDocumentResources();
    124124   
    125     void incrementRequestCount(const CachedResource*);
    126     void decrementRequestCount(const CachedResource*);
     125    void incrementRequestCount(const CachedResource&);
     126    void decrementRequestCount(const CachedResource&);
    127127    int requestCount() const { return m_requestCount; }
    128128
  • trunk/Source/WebKit/ChangeLog

    r201493 r201596  
     12016-06-02  Youenn Fablet  <youenn.fablet@crf.canon.fr>
     2
     3        Use more references in ResourceLoader related code
     4        https://bugs.webkit.org/show_bug.cgi?id=158222
     5
     6        Reviewed by Darin Adler.
     7
     8        * WebCoreSupport/WebResourceLoadScheduler.cpp:
     9        (WebResourceLoadScheduler::loadResource):
     10        * WebCoreSupport/WebResourceLoadScheduler.h:
     11
    1122016-05-28  Chris Dumez  <cdumez@apple.com>
    213
  • trunk/Source/WebKit/WebCoreSupport/WebResourceLoadScheduler.cpp

    r197628 r201596  
    9393}
    9494
    95 RefPtr<SubresourceLoader> WebResourceLoadScheduler::loadResource(Frame* frame, CachedResource* resource, const ResourceRequest& request, const ResourceLoaderOptions& options)
     95RefPtr<SubresourceLoader> WebResourceLoadScheduler::loadResource(Frame& frame, CachedResource& resource, const ResourceRequest& request, const ResourceLoaderOptions& options)
    9696{
    9797    RefPtr<SubresourceLoader> loader = SubresourceLoader::create(frame, resource, request, options);
     
    115115}
    116116
    117 RefPtr<NetscapePlugInStreamLoader> WebResourceLoadScheduler::schedulePluginStreamLoad(Frame* frame, NetscapePlugInStreamLoaderClient* client, const ResourceRequest& request)
     117RefPtr<NetscapePlugInStreamLoader> WebResourceLoadScheduler::schedulePluginStreamLoad(Frame& frame, NetscapePlugInStreamLoaderClient& client, const ResourceRequest& request)
    118118{
    119119    RefPtr<NetscapePlugInStreamLoader> loader = NetscapePlugInStreamLoader::create(frame, client, request);
  • trunk/Source/WebKit/WebCoreSupport/WebResourceLoadScheduler.h

    r192995 r201596  
    4646    WebResourceLoadScheduler();
    4747
    48     RefPtr<WebCore::SubresourceLoader> loadResource(WebCore::Frame*, WebCore::CachedResource*, const WebCore::ResourceRequest&, const WebCore::ResourceLoaderOptions&) override;
     48    RefPtr<WebCore::SubresourceLoader> loadResource(WebCore::Frame&, WebCore::CachedResource&, const WebCore::ResourceRequest&, const WebCore::ResourceLoaderOptions&) override;
    4949    void loadResourceSynchronously(WebCore::NetworkingContext*, unsigned long, const WebCore::ResourceRequest&, WebCore::StoredCredentials, WebCore::ClientCredentialPolicy, WebCore::ResourceError&, WebCore::ResourceResponse&, Vector<char>&) override;
    5050    void remove(WebCore::ResourceLoader*) override;
     
    6161    void setSerialLoadingEnabled(bool b) { m_isSerialLoadingEnabled = b; }
    6262
    63     RefPtr<WebCore::NetscapePlugInStreamLoader> schedulePluginStreamLoad(WebCore::Frame*, WebCore::NetscapePlugInStreamLoaderClient*, const WebCore::ResourceRequest&);
     63    RefPtr<WebCore::NetscapePlugInStreamLoader> schedulePluginStreamLoad(WebCore::Frame&, WebCore::NetscapePlugInStreamLoaderClient&, const WebCore::ResourceRequest&);
    6464
    6565protected:
  • trunk/Source/WebKit/mac/ChangeLog

    r201588 r201596  
     12016-06-02  Youenn Fablet  <youenn.fablet@crf.canon.fr>
     2
     3        Add WebIDL special operation support: serializer
     4        https://bugs.webkit.org/show_bug.cgi?id=156293
     5
     6        Reviewed by Darin Adler.
     7
     8        * Plugins/Hosted/HostedNetscapePluginStream.mm:
     9        (WebKit::HostedNetscapePluginStream::start):
     10        * Plugins/WebNetscapePluginStream.mm:
     11        (WebNetscapePluginStream::start):
     12
    1132016-05-31  Darin Adler  <darin@apple.com>
    214
  • trunk/Source/WebKit/mac/Plugins/Hosted/HostedNetscapePluginStream.mm

    r194496 r201596  
    224224    ASSERT(!m_loader);
    225225
    226     m_loader = webResourceLoadScheduler().schedulePluginStreamLoad(core([m_instance->pluginView() webFrame]), this, m_request.get());
     226    m_loader = webResourceLoadScheduler().schedulePluginStreamLoad(*core([m_instance->pluginView() webFrame]), *this, m_request.get());
    227227}
    228228
  • trunk/Source/WebKit/mac/Plugins/WebNetscapePluginStream.mm

    r194987 r201596  
    291291    ASSERT(!m_loader);
    292292
    293     m_loader = webResourceLoadScheduler().schedulePluginStreamLoad(core([m_pluginView.get() webFrame]), this, m_request.get());
     293    m_loader = webResourceLoadScheduler().schedulePluginStreamLoad(*core([m_pluginView.get() webFrame]), *this, m_request.get());
    294294}
    295295
  • trunk/Source/WebKit/win/ChangeLog

    r201546 r201596  
     12016-06-02  Youenn Fablet  <youenn.fablet@crf.canon.fr>
     2
     3        Use more references in ResourceLoader related code
     4        https://bugs.webkit.org/show_bug.cgi?id=158222
     5
     6        Reviewed by Darin Adler.
     7
     8        * Plugins/PluginStream.cpp:
     9        (WebCore::PluginStream::start):
     10
    1112016-06-01  Per Arne Vollan  <pvollan@apple.com>
    212
  • trunk/Source/WebKit/win/Plugins/PluginStream.cpp

    r195743 r201596  
    9797{
    9898    ASSERT(!m_loadManually);
    99     m_loader = webResourceLoadScheduler().schedulePluginStreamLoad(m_frame, this, m_resourceRequest);
     99    ASSERT(m_frame);
     100    m_loader = webResourceLoadScheduler().schedulePluginStreamLoad(*m_frame, *this, m_resourceRequest);
    100101}
    101102
  • trunk/Source/WebKit2/ChangeLog

    r201593 r201596  
     12016-06-02  Youenn Fablet  <youenn.fablet@crf.canon.fr>
     2
     3        Use more references in ResourceLoader related code
     4        https://bugs.webkit.org/show_bug.cgi?id=158222
     5
     6        Reviewed by Darin Adler.
     7
     8        * WebProcess/Network/WebLoaderStrategy.cpp:
     9        (WebKit::WebLoaderStrategy::loadResource):
     10        (WebKit::WebLoaderStrategy::schedulePluginStreamLoad):
     11        (WebKit::WebLoaderStrategy::scheduleLoad):
     12        (WebKit::WebLoaderStrategy::scheduleInternallyFailedLoad):
     13        (WebKit::WebLoaderStrategy::startLocalLoad):
     14        (WebKit::WebLoaderStrategy::networkProcessCrashed):
     15        * WebProcess/Network/WebLoaderStrategy.h:
     16        * WebProcess/Network/WebResourceLoader.cpp:
     17        (WebKit::WebResourceLoader::create):
     18        (WebKit::WebResourceLoader::WebResourceLoader):
     19        * WebProcess/Network/WebResourceLoader.h:
     20        * WebProcess/Plugins/PluginView.cpp:
     21        (WebKit::PluginView::Stream::start):
     22
    1232016-06-01  Yongjun Zhang  <yongjun_zhang@apple.com>
    224
  • trunk/Source/WebKit2/WebProcess/Network/WebLoaderStrategy.cpp

    r201255 r201596  
    7272}
    7373
    74 RefPtr<SubresourceLoader> WebLoaderStrategy::loadResource(Frame* frame, CachedResource* resource, const ResourceRequest& request, const ResourceLoaderOptions& options)
     74RefPtr<SubresourceLoader> WebLoaderStrategy::loadResource(Frame& frame, CachedResource& resource, const ResourceRequest& request, const ResourceLoaderOptions& options)
    7575{
    7676    RefPtr<SubresourceLoader> loader = SubresourceLoader::create(frame, resource, request, options);
    7777    if (loader)
    78         scheduleLoad(loader.get(), resource, frame->document()->referrerPolicy() == ReferrerPolicy::Default);
     78        scheduleLoad(*loader, &resource, frame.document()->referrerPolicy() == ReferrerPolicy::Default);
    7979    return loader;
    8080}
    8181
    82 RefPtr<NetscapePlugInStreamLoader> WebLoaderStrategy::schedulePluginStreamLoad(Frame* frame, NetscapePlugInStreamLoaderClient* client, const ResourceRequest& request)
     82RefPtr<NetscapePlugInStreamLoader> WebLoaderStrategy::schedulePluginStreamLoad(Frame& frame, NetscapePlugInStreamLoaderClient& client, const ResourceRequest& request)
    8383{
    8484    RefPtr<NetscapePlugInStreamLoader> loader = NetscapePlugInStreamLoader::create(frame, client, request);
    8585    if (loader)
    86         scheduleLoad(loader.get(), 0, frame->document()->referrerPolicy() == ReferrerPolicy::Default);
     86        scheduleLoad(*loader, 0, frame.document()->referrerPolicy() == ReferrerPolicy::Default);
    8787    return loader;
    8888}
     
    129129}
    130130
    131 void WebLoaderStrategy::scheduleLoad(ResourceLoader* resourceLoader, CachedResource* resource, bool shouldClearReferrerOnHTTPSToHTTPRedirect)
    132 {
    133     ASSERT(resourceLoader);
    134 
    135     ResourceLoadIdentifier identifier = resourceLoader->identifier();
     131void WebLoaderStrategy::scheduleLoad(ResourceLoader& resourceLoader, CachedResource* resource, bool shouldClearReferrerOnHTTPSToHTTPRedirect)
     132{
     133    ResourceLoadIdentifier identifier = resourceLoader.identifier();
    136134    ASSERT(identifier);
    137135
     
    139137    // If the DocumentLoader schedules this as an archive resource load,
    140138    // then we should remember the ResourceLoader in our records but not schedule it in the NetworkProcess.
    141     if (resourceLoader->documentLoader()->scheduleArchiveLoad(resourceLoader, resourceLoader->request())) {
    142         LOG(NetworkScheduling, "(WebProcess) WebLoaderStrategy::scheduleLoad, url '%s' will be handled as an archive resource.", resourceLoader->url().string().utf8().data());
     139    if (resourceLoader.documentLoader()->scheduleArchiveLoad(resourceLoader, resourceLoader.request())) {
     140        LOG(NetworkScheduling, "(WebProcess) WebLoaderStrategy::scheduleLoad, url '%s' will be handled as an archive resource.", resourceLoader.url().string().utf8().data());
    143141        m_webResourceLoaders.set(identifier, WebResourceLoader::create(resourceLoader));
    144142        return;
     
    146144#endif
    147145
    148     if (resourceLoader->documentLoader()->applicationCacheHost()->maybeLoadResource(resourceLoader, resourceLoader->request(), resourceLoader->request().url())) {
    149         LOG(NetworkScheduling, "(WebProcess) WebLoaderStrategy::scheduleLoad, url '%s' will be loaded from application cache.", resourceLoader->url().string().utf8().data());
     146    if (resourceLoader.documentLoader()->applicationCacheHost()->maybeLoadResource(resourceLoader, resourceLoader.request(), resourceLoader.request().url())) {
     147        LOG(NetworkScheduling, "(WebProcess) WebLoaderStrategy::scheduleLoad, url '%s' will be loaded from application cache.", resourceLoader.url().string().utf8().data());
    150148        m_webResourceLoaders.set(identifier, WebResourceLoader::create(resourceLoader));
    151149        return;
    152150    }
    153151
    154     if (resourceLoader->request().url().protocolIsData()) {
    155         LOG(NetworkScheduling, "(WebProcess) WebLoaderStrategy::scheduleLoad, url '%s' will be loaded as data.", resourceLoader->url().string().utf8().data());
    156         startLocalLoad(*resourceLoader);
     152    if (resourceLoader.request().url().protocolIsData()) {
     153        LOG(NetworkScheduling, "(WebProcess) WebLoaderStrategy::scheduleLoad, url '%s' will be loaded as data.", resourceLoader.url().string().utf8().data());
     154        startLocalLoad(resourceLoader);
    157155        return;
    158156    }
    159157
    160158#if USE(QUICK_LOOK)
    161     if (resourceLoader->request().url().protocolIs(QLPreviewProtocol())) {
    162         LOG(NetworkScheduling, "(WebProcess) WebLoaderStrategy::scheduleLoad, url '%s' will be handled as a QuickLook resource.", resourceLoader->url().string().utf8().data());
    163         startLocalLoad(*resourceLoader);
     159    if (resourceLoader.request().url().protocolIs(QLPreviewProtocol())) {
     160        LOG(NetworkScheduling, "(WebProcess) WebLoaderStrategy::scheduleLoad, url '%s' will be handled as a QuickLook resource.", resourceLoader.url().string().utf8().data());
     161        startLocalLoad(resourceLoader);
    164162        return;
    165163    }
     
    169167    // For apps that call g_resource_load in a web extension.
    170168    // https://blogs.gnome.org/alexl/2012/01/26/resources-in-glib/
    171     if (resourceLoader->request().url().protocolIs("resource")) {
    172         LOG(NetworkScheduling, "(WebProcess) WebLoaderStrategy::scheduleLoad, url '%s' will be handled as a GResource.", resourceLoader->url().string().utf8().data());
    173         startLocalLoad(*resourceLoader);
    174         return;
    175     }
    176 #endif
    177 
    178     LOG(NetworkScheduling, "(WebProcess) WebLoaderStrategy::scheduleLoad, url '%s' will be scheduled with the NetworkProcess with priority %d", resourceLoader->url().string().latin1().data(), static_cast<int>(resourceLoader->request().priority()));
    179 
    180     ContentSniffingPolicy contentSniffingPolicy = resourceLoader->shouldSniffContent() ? SniffContent : DoNotSniffContent;
    181     StoredCredentials allowStoredCredentials = resourceLoader->shouldUseCredentialStorage() ? AllowStoredCredentials : DoNotAllowStoredCredentials;
     169    if (resourceLoader.request().url().protocolIs("resource")) {
     170        LOG(NetworkScheduling, "(WebProcess) WebLoaderStrategy::scheduleLoad, url '%s' will be handled as a GResource.", resourceLoader.url().string().utf8().data());
     171        startLocalLoad(resourceLoader);
     172        return;
     173    }
     174#endif
     175
     176    LOG(NetworkScheduling, "(WebProcess) WebLoaderStrategy::scheduleLoad, url '%s' will be scheduled with the NetworkProcess with priority %d", resourceLoader.url().string().latin1().data(), static_cast<int>(resourceLoader.request().priority()));
     177
     178    ContentSniffingPolicy contentSniffingPolicy = resourceLoader.shouldSniffContent() ? SniffContent : DoNotSniffContent;
     179    StoredCredentials allowStoredCredentials = resourceLoader.shouldUseCredentialStorage() ? AllowStoredCredentials : DoNotAllowStoredCredentials;
    182180
    183181    // FIXME: Some entities in WebCore use WebCore's "EmptyFrameLoaderClient" instead of having a proper WebFrameLoaderClient.
    184182    // EmptyFrameLoaderClient shouldn't exist and everything should be using a WebFrameLoaderClient,
    185183    // but in the meantime we have to make sure not to mis-cast.
    186     WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(resourceLoader->frameLoader()->client());
     184    WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(resourceLoader.frameLoader()->client());
    187185    WebFrame* webFrame = webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
    188186    WebPage* webPage = webFrame ? webFrame->page() : 0;
     
    193191    loadParameters.webFrameID = webFrame ? webFrame->frameID() : 0;
    194192    loadParameters.sessionID = webPage ? webPage->sessionID() : SessionID::defaultSessionID();
    195     loadParameters.request = resourceLoader->request();
     193    loadParameters.request = resourceLoader.request();
    196194    loadParameters.contentSniffingPolicy = contentSniffingPolicy;
    197195    loadParameters.allowStoredCredentials = allowStoredCredentials;
    198196    // If there is no WebFrame then this resource cannot be authenticated with the client.
    199     loadParameters.clientCredentialPolicy = (webFrame && webPage && resourceLoader->isAllowedToAskUserForCredentials()) ? AskClientForAllCredentials : DoNotAskClientForAnyCredentials;
     197    loadParameters.clientCredentialPolicy = (webFrame && webPage && resourceLoader.isAllowedToAskUserForCredentials()) ? AskClientForAllCredentials : DoNotAskClientForAnyCredentials;
    200198    loadParameters.shouldClearReferrerOnHTTPSToHTTPRedirect = shouldClearReferrerOnHTTPSToHTTPRedirect;
    201     loadParameters.defersLoading = resourceLoader->defersLoading();
    202     loadParameters.needsCertificateInfo = resourceLoader->shouldIncludeCertificateInfo();
     199    loadParameters.defersLoading = resourceLoader.defersLoading();
     200    loadParameters.needsCertificateInfo = resourceLoader.shouldIncludeCertificateInfo();
    203201    loadParameters.maximumBufferingTime = maximumBufferingTime(resource);
    204202
     
    206204
    207205    if (!WebProcess::singleton().networkConnection()->connection()->send(Messages::NetworkConnectionToWebProcess::ScheduleResourceLoad(loadParameters), 0)) {
    208         WEBLOADERSTRATEGY_LOG_ALWAYS_ERROR("WebLoaderStrategy::scheduleLoad: Unable to schedule resource with the NetworkProcess with priority = %d, pageID = %llu, frameID = %llu", static_cast<int>(resourceLoader->request().priority()), static_cast<unsigned long long>(loadParameters.webPageID), static_cast<unsigned long long>(loadParameters.webFrameID));
     206        WEBLOADERSTRATEGY_LOG_ALWAYS_ERROR("WebLoaderStrategy::scheduleLoad: Unable to schedule resource with the NetworkProcess with priority = %d, pageID = %llu, frameID = %llu", static_cast<int>(resourceLoader.request().priority()), static_cast<unsigned long long>(loadParameters.webPageID), static_cast<unsigned long long>(loadParameters.webFrameID));
    209207        // We probably failed to schedule this load with the NetworkProcess because it had crashed.
    210208        // This load will never succeed so we will schedule it to fail asynchronously.
     
    214212
    215213    auto webResourceLoader = WebResourceLoader::create(resourceLoader);
    216     WEBLOADERSTRATEGY_LOG_ALWAYS("WebLoaderStrategy::scheduleLoad: Resource will be scheduled with the NetworkProcess with priority = %d, pageID = %llu, frameID = %llu, WebResourceLoader = %p", static_cast<int>(resourceLoader->request().priority()), static_cast<unsigned long long>(loadParameters.webPageID), static_cast<unsigned long long>(loadParameters.webFrameID), webResourceLoader.ptr());
     214    WEBLOADERSTRATEGY_LOG_ALWAYS("WebLoaderStrategy::scheduleLoad: Resource will be scheduled with the NetworkProcess with priority = %d, pageID = %llu, frameID = %llu, WebResourceLoader = %p", static_cast<int>(resourceLoader.request().priority()), static_cast<unsigned long long>(loadParameters.webPageID), static_cast<unsigned long long>(loadParameters.webFrameID), webResourceLoader.ptr());
    217215    m_webResourceLoaders.set(identifier, WTFMove(webResourceLoader));
    218216}
    219217
    220 void WebLoaderStrategy::scheduleInternallyFailedLoad(WebCore::ResourceLoader* resourceLoader)
    221 {
    222     m_internallyFailedResourceLoaders.add(resourceLoader);
     218void WebLoaderStrategy::scheduleInternallyFailedLoad(WebCore::ResourceLoader& resourceLoader)
     219{
     220    m_internallyFailedResourceLoaders.add(&resourceLoader);
    223221    m_internallyFailedLoadTimer.startOneShot(0);
    224222}
     
    236234{
    237235    resourceLoader.start();
    238     m_webResourceLoaders.set(resourceLoader.identifier(), WebResourceLoader::create(&resourceLoader));
     236    m_webResourceLoaders.set(resourceLoader.identifier(), WebResourceLoader::create(resourceLoader));
    239237}
    240238
     
    297295void WebLoaderStrategy::networkProcessCrashed()
    298296{
    299     HashMap<unsigned long, RefPtr<WebResourceLoader>>::iterator end = m_webResourceLoaders.end();
    300     for (HashMap<unsigned long, RefPtr<WebResourceLoader>>::iterator i = m_webResourceLoaders.begin(); i != end; ++i)
    301         scheduleInternallyFailedLoad(i->value.get()->resourceLoader());
     297    for (auto& loader : m_webResourceLoaders)
     298        scheduleInternallyFailedLoad(*loader.value->resourceLoader());
    302299
    303300    m_webResourceLoaders.clear();
  • trunk/Source/WebKit2/WebProcess/Network/WebLoaderStrategy.h

    r193468 r201596  
    4444    ~WebLoaderStrategy() override;
    4545   
    46     RefPtr<WebCore::SubresourceLoader> loadResource(WebCore::Frame*, WebCore::CachedResource*, const WebCore::ResourceRequest&, const WebCore::ResourceLoaderOptions&) override;
     46    RefPtr<WebCore::SubresourceLoader> loadResource(WebCore::Frame&, WebCore::CachedResource&, const WebCore::ResourceRequest&, const WebCore::ResourceLoaderOptions&) override;
    4747    void loadResourceSynchronously(WebCore::NetworkingContext*, unsigned long resourceLoadIdentifier, const WebCore::ResourceRequest&, WebCore::StoredCredentials, WebCore::ClientCredentialPolicy, WebCore::ResourceError&, WebCore::ResourceResponse&, Vector<char>& data) override;
    4848
     
    5959
    6060    WebResourceLoader* webResourceLoaderForIdentifier(ResourceLoadIdentifier identifier) const { return m_webResourceLoaders.get(identifier); }
    61     RefPtr<WebCore::NetscapePlugInStreamLoader> schedulePluginStreamLoad(WebCore::Frame*, WebCore::NetscapePlugInStreamLoaderClient*, const WebCore::ResourceRequest&);
     61    RefPtr<WebCore::NetscapePlugInStreamLoader> schedulePluginStreamLoad(WebCore::Frame&, WebCore::NetscapePlugInStreamLoaderClient&, const WebCore::ResourceRequest&);
    6262
    6363    void networkProcessCrashed();
    6464
    6565private:
    66     void scheduleLoad(WebCore::ResourceLoader*, WebCore::CachedResource*, bool shouldClearReferrerOnHTTPSToHTTPRedirect);
    67     void scheduleInternallyFailedLoad(WebCore::ResourceLoader*);
     66    void scheduleLoad(WebCore::ResourceLoader&, WebCore::CachedResource*, bool shouldClearReferrerOnHTTPSToHTTPRedirect);
     67    void scheduleInternallyFailedLoad(WebCore::ResourceLoader&);
    6868    void internallyFailedLoadTimerFired();
    6969    void startLocalLoad(WebCore::ResourceLoader&);
  • trunk/Source/WebKit2/WebProcess/Network/WebResourceLoader.cpp

    r199669 r201596  
    4747namespace WebKit {
    4848
    49 Ref<WebResourceLoader> WebResourceLoader::create(PassRefPtr<ResourceLoader> coreLoader)
    50 {
    51     return adoptRef(*new WebResourceLoader(coreLoader));
    52 }
    53 
    54 WebResourceLoader::WebResourceLoader(PassRefPtr<WebCore::ResourceLoader> coreLoader)
    55     : m_coreLoader(coreLoader)
     49Ref<WebResourceLoader> WebResourceLoader::create(Ref<ResourceLoader>&& coreLoader)
     50{
     51    return adoptRef(*new WebResourceLoader(WTFMove(coreLoader)));
     52}
     53
     54WebResourceLoader::WebResourceLoader(Ref<WebCore::ResourceLoader>&& coreLoader)
     55    : m_coreLoader(WTFMove(coreLoader))
    5656{
    5757}
  • trunk/Source/WebKit2/WebProcess/Network/WebResourceLoader.h

    r197728 r201596  
    5757class WebResourceLoader : public RefCounted<WebResourceLoader>, public IPC::MessageSender {
    5858public:
    59     static Ref<WebResourceLoader> create(PassRefPtr<WebCore::ResourceLoader>);
     59    static Ref<WebResourceLoader> create(Ref<WebCore::ResourceLoader>&&);
    6060
    6161    ~WebResourceLoader();
     
    7070
    7171private:
    72     WebResourceLoader(PassRefPtr<WebCore::ResourceLoader>);
     72    WebResourceLoader(Ref<WebCore::ResourceLoader>&&);
    7373
    7474    // IPC::MessageSender
  • trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp

    r201588 r201596  
    161161    ASSERT(frame);
    162162
    163     m_loader = WebProcess::singleton().webLoaderStrategy().schedulePluginStreamLoad(frame, this, m_request);
     163    m_loader = WebProcess::singleton().webLoaderStrategy().schedulePluginStreamLoad(*frame, *this, m_request);
    164164}
    165165
Note: See TracChangeset for help on using the changeset viewer.