Title: [201596] trunk/Source
Revision
201596
Author
[email protected]
Date
2016-06-02 01:45:14 -0700 (Thu, 02 Jun 2016)

Log 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):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (201595 => 201596)


--- trunk/Source/WebCore/ChangeLog	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebCore/ChangeLog	2016-06-02 08:45:14 UTC (rev 201596)
@@ -1,3 +1,48 @@
+2016-06-02  Youenn Fablet  <[email protected]>
+
+        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:
+
 2016-06-02  Carlos Garcia Campos  <[email protected]>
 
         [Wayland] PlatformDisplayWayland destructor is super crashy

Modified: trunk/Source/WebCore/css/CSSFontFaceSource.cpp (201595 => 201596)


--- trunk/Source/WebCore/css/CSSFontFaceSource.cpp	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebCore/css/CSSFontFaceSource.cpp	2016-06-02 08:45:14 UTC (rev 201596)
@@ -124,7 +124,8 @@
 {
     setStatus(Status::Loading);
 
-    fontSelector.beginLoadingFontSoon(m_font.get());
+    ASSERT(m_font);
+    fontSelector.beginLoadingFontSoon(*m_font);
 }
 
 RefPtr<Font> CSSFontFaceSource::font(const FontDescription& fontDescription, bool syntheticBold, bool syntheticItalic, const FontFeatureSettings& fontFaceFeatures, const FontVariantSettings& fontFaceVariantSettings)

Modified: trunk/Source/WebCore/css/CSSFontSelector.cpp (201595 => 201596)


--- trunk/Source/WebCore/css/CSSFontSelector.cpp	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebCore/css/CSSFontSelector.cpp	2016-06-02 08:45:14 UTC (rev 201596)
@@ -262,7 +262,7 @@
     CachedResourceLoader& cachedResourceLoader = m_document->cachedResourceLoader();
     for (auto& fontHandle : m_fontsToBeginLoading) {
         // Balances incrementRequestCount() in beginLoadingFontSoon().
-        cachedResourceLoader.decrementRequestCount(fontHandle.get());
+        cachedResourceLoader.decrementRequestCount(*fontHandle);
     }
     m_fontsToBeginLoading.clear();
 
@@ -273,12 +273,12 @@
     m_clients.clear();
 }
 
-void CSSFontSelector::beginLoadingFontSoon(CachedFont* font)
+void CSSFontSelector::beginLoadingFontSoon(CachedFont& font)
 {
     if (!m_document)
         return;
 
-    m_fontsToBeginLoading.append(font);
+    m_fontsToBeginLoading.append(&font);
     // Increment the request count now, in order to prevent didFinishLoad from being dispatched
     // after this font has been requested but before it began loading. Balanced by
     // decrementRequestCount() in beginLoadTimerFired() and in clearDocument().
@@ -298,7 +298,7 @@
     for (auto& fontHandle : fontsToBeginLoading) {
         fontHandle->beginLoadIfNeeded(cachedResourceLoader);
         // Balances incrementRequestCount() in beginLoadingFontSoon().
-        cachedResourceLoader.decrementRequestCount(fontHandle.get());
+        cachedResourceLoader.decrementRequestCount(*fontHandle);
     }
     // Ensure that if the request count reaches zero, the frame loader will know about it.
     cachedResourceLoader.loadDone(nullptr);

Modified: trunk/Source/WebCore/css/CSSFontSelector.h (201595 => 201596)


--- trunk/Source/WebCore/css/CSSFontSelector.h	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebCore/css/CSSFontSelector.h	2016-06-02 08:45:14 UTC (rev 201596)
@@ -78,7 +78,7 @@
 
     Document* document() const { return m_document; }
 
-    void beginLoadingFontSoon(CachedFont*);
+    void beginLoadingFontSoon(CachedFont&);
 
     FontFaceSet& fontFaceSet();
 

Modified: trunk/Source/WebCore/loader/DocumentLoader.cpp (201595 => 201596)


--- trunk/Source/WebCore/loader/DocumentLoader.cpp	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebCore/loader/DocumentLoader.cpp	2016-06-02 08:45:14 UTC (rev 201596)
@@ -1232,10 +1232,10 @@
 }
 
 #if ENABLE(WEB_ARCHIVE) || ENABLE(MHTML)
-bool DocumentLoader::scheduleArchiveLoad(ResourceLoader* loader, const ResourceRequest& request)
+bool DocumentLoader::scheduleArchiveLoad(ResourceLoader& loader, const ResourceRequest& request)
 {
     if (ArchiveResource* resource = archiveResourceForURL(request.url())) {
-        scheduleSubstituteResourceLoad(*loader, *resource);
+        scheduleSubstituteResourceLoad(loader, *resource);
         return true;
     }
 

Modified: trunk/Source/WebCore/loader/DocumentLoader.h (201595 => 201596)


--- trunk/Source/WebCore/loader/DocumentLoader.h	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebCore/loader/DocumentLoader.h	2016-06-02 08:45:14 UTC (rev 201596)
@@ -160,7 +160,7 @@
         PassRefPtr<Archive> popArchiveForSubframe(const String& frameName, const URL&);
         WEBCORE_EXPORT SharedBuffer* parsedArchiveData() const;
 
-        WEBCORE_EXPORT bool scheduleArchiveLoad(ResourceLoader*, const ResourceRequest&);
+        WEBCORE_EXPORT bool scheduleArchiveLoad(ResourceLoader&, const ResourceRequest&);
 #endif
         void scheduleSubstituteResourceLoad(ResourceLoader&, SubstituteResource&);
 

Modified: trunk/Source/WebCore/loader/LoaderStrategy.h (201595 => 201596)


--- trunk/Source/WebCore/loader/LoaderStrategy.h	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebCore/loader/LoaderStrategy.h	2016-06-02 08:45:14 UTC (rev 201596)
@@ -48,7 +48,7 @@
 
 class WEBCORE_EXPORT LoaderStrategy {
 public:
-    virtual RefPtr<SubresourceLoader> loadResource(Frame*, CachedResource*, const ResourceRequest&, const ResourceLoaderOptions&) = 0;
+    virtual RefPtr<SubresourceLoader> loadResource(Frame&, CachedResource&, const ResourceRequest&, const ResourceLoaderOptions&) = 0;
     virtual void loadResourceSynchronously(NetworkingContext*, unsigned long identifier, const ResourceRequest&, StoredCredentials, ClientCredentialPolicy, ResourceError&, ResourceResponse&, Vector<char>& data) = 0;
 
     virtual void remove(ResourceLoader*) = 0;

Modified: trunk/Source/WebCore/loader/NetscapePlugInStreamLoader.cpp (201595 => 201596)


--- trunk/Source/WebCore/loader/NetscapePlugInStreamLoader.cpp	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebCore/loader/NetscapePlugInStreamLoader.cpp	2016-06-02 08:45:14 UTC (rev 201596)
@@ -42,9 +42,9 @@
 
 // FIXME: Skip Content Security Policy check when associated plugin element is in a user agent shadow tree.
 // See <https://bugs.webkit.org/show_bug.cgi?id=146663>.
-NetscapePlugInStreamLoader::NetscapePlugInStreamLoader(Frame* frame, NetscapePlugInStreamLoaderClient* client)
+NetscapePlugInStreamLoader::NetscapePlugInStreamLoader(Frame& frame, NetscapePlugInStreamLoaderClient& client)
     : ResourceLoader(frame, ResourceLoaderOptions(SendCallbacks, SniffContent, DoNotBufferData, AllowStoredCredentials, AskClientForAllCredentials, ClientRequestedCredentials, SkipSecurityCheck, UseDefaultOriginRestrictionsForType, DoNotIncludeCertificateInfo, ContentSecurityPolicyImposition::DoPolicyCheck, DefersLoadingPolicy::AllowDefersLoading, CachingPolicy::AllowCaching))
-    , m_client(client)
+    , m_client(&client)
 {
 #if ENABLE(CONTENT_EXTENSIONS)
     m_resourceType = ResourceType::PlugInStream;
@@ -55,13 +55,13 @@
 {
 }
 
-PassRefPtr<NetscapePlugInStreamLoader> NetscapePlugInStreamLoader::create(Frame* frame, NetscapePlugInStreamLoaderClient* client, const ResourceRequest& request)
+RefPtr<NetscapePlugInStreamLoader> NetscapePlugInStreamLoader::create(Frame& frame, NetscapePlugInStreamLoaderClient& client, const ResourceRequest& request)
 {
-    RefPtr<NetscapePlugInStreamLoader> loader(adoptRef(new NetscapePlugInStreamLoader(frame, client)));
+    auto loader(adoptRef(new NetscapePlugInStreamLoader(frame, client)));
     if (!loader->init(request))
         return nullptr;
 
-    return loader.release();
+    return loader;
 }
 
 bool NetscapePlugInStreamLoader::isDone() const

Modified: trunk/Source/WebCore/loader/NetscapePlugInStreamLoader.h (201595 => 201596)


--- trunk/Source/WebCore/loader/NetscapePlugInStreamLoader.h	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebCore/loader/NetscapePlugInStreamLoader.h	2016-06-02 08:45:14 UTC (rev 201596)
@@ -51,7 +51,7 @@
 
 class NetscapePlugInStreamLoader final : public ResourceLoader {
 public:
-    WEBCORE_EXPORT static PassRefPtr<NetscapePlugInStreamLoader> create(Frame*, NetscapePlugInStreamLoaderClient*, const ResourceRequest&);
+    WEBCORE_EXPORT static RefPtr<NetscapePlugInStreamLoader> create(Frame&, NetscapePlugInStreamLoaderClient&, const ResourceRequest&);
     virtual ~NetscapePlugInStreamLoader();
 
     WEBCORE_EXPORT bool isDone() const;
@@ -68,7 +68,7 @@
 
     void releaseResources() override;
 
-    NetscapePlugInStreamLoader(Frame*, NetscapePlugInStreamLoaderClient*);
+    NetscapePlugInStreamLoader(Frame&, NetscapePlugInStreamLoaderClient&);
 
     void willCancel(const ResourceError&) override;
     void didCancel(const ResourceError&) override;

Modified: trunk/Source/WebCore/loader/ResourceLoader.cpp (201595 => 201596)


--- trunk/Source/WebCore/loader/ResourceLoader.cpp	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebCore/loader/ResourceLoader.cpp	2016-06-02 08:45:14 UTC (rev 201596)
@@ -53,25 +53,16 @@
 #include <wtf/Ref.h>
 
 #if ENABLE(CONTENT_EXTENSIONS)
-#include "ResourceLoadInfo.h"
 #include "UserContentController.h"
 #endif
 
 namespace WebCore {
 
-ResourceLoader::ResourceLoader(Frame* frame, ResourceLoaderOptions options)
-    : m_frame(frame)
-    , m_documentLoader(frame->loader().activeDocumentLoader())
-    , m_identifier(0)
-    , m_reachedTerminalState(false)
-    , m_notifiedLoadComplete(false)
-    , m_cancellationStatus(NotCancelled)
-    , m_defersLoading(options.defersLoadingPolicy() == DefersLoadingPolicy::AllowDefersLoading && frame->page()->defersLoading())
+ResourceLoader::ResourceLoader(Frame& frame, ResourceLoaderOptions options)
+    : m_frame(&frame)
+    , m_documentLoader(frame.loader().activeDocumentLoader())
+    , m_defersLoading(options.defersLoadingPolicy() == DefersLoadingPolicy::AllowDefersLoading && frame.page()->defersLoading())
     , m_options(options)
-    , m_isQuickLookResource(false)
-#if ENABLE(CONTENT_EXTENSIONS)
-    , m_resourceType(ResourceType::Invalid)
-#endif
 {
 }
 
@@ -195,11 +186,11 @@
     ASSERT(frameLoader());
 
 #if ENABLE(WEB_ARCHIVE) || ENABLE(MHTML)
-    if (m_documentLoader->scheduleArchiveLoad(this, m_request))
+    if (m_documentLoader->scheduleArchiveLoad(*this, m_request))
         return;
 #endif
 
-    if (m_documentLoader->applicationCacheHost()->maybeLoadResource(this, m_request, m_request.url()))
+    if (m_documentLoader->applicationCacheHost()->maybeLoadResource(*this, m_request, m_request.url()))
         return;
 
     if (m_defersLoading) {

Modified: trunk/Source/WebCore/loader/ResourceLoader.h (201595 => 201596)


--- trunk/Source/WebCore/loader/ResourceLoader.h	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebCore/loader/ResourceLoader.h	2016-06-02 08:45:14 UTC (rev 201596)
@@ -36,6 +36,10 @@
 #include "ResourceResponse.h"
 #include <wtf/Forward.h>
 
+#if ENABLE(CONTENT_EXTENSIONS)
+#include "ResourceLoadInfo.h"
+#endif
+
 namespace WTF {
 class SchedulePair;
 }
@@ -52,10 +56,6 @@
 class QuickLookHandle;
 #endif
 
-#if ENABLE(CONTENT_EXTENSIONS)
-enum class ResourceType : uint16_t;
-#endif
-
 class ResourceLoader : public RefCounted<ResourceLoader>, protected ResourceHandleClient {
 public:
     virtual ~ResourceLoader() = 0;
@@ -93,7 +93,7 @@
     unsigned long identifier() const { return m_identifier; }
 
     virtual void releaseResources();
-    const ResourceResponse& response() const;
+    const ResourceResponse& response() const { return m_response; }
 
     SharedBuffer* resourceData() const { return m_resourceData.get(); }
     void clearResourceData();
@@ -149,7 +149,7 @@
     WEBCORE_EXPORT bool isAlwaysOnLoggingAllowed() const;
 
 protected:
-    ResourceLoader(Frame*, ResourceLoaderOptions);
+    ResourceLoader(Frame&, ResourceLoaderOptions);
 
     void didFinishLoadingOnePart(double finishTime);
     void cleanupForError(const ResourceError&);
@@ -214,10 +214,10 @@
     ResourceRequest m_originalRequest; // Before redirects.
     RefPtr<SharedBuffer> m_resourceData;
     
-    unsigned long m_identifier;
+    unsigned long m_identifier { 0 };
 
-    bool m_reachedTerminalState;
-    bool m_notifiedLoadComplete;
+    bool m_reachedTerminalState { false };
+    bool m_notifiedLoadComplete { false };
 
     enum CancellationStatus {
         NotCancelled,
@@ -225,24 +225,19 @@
         Cancelled,
         FinishedCancel
     };
-    CancellationStatus m_cancellationStatus;
+    CancellationStatus m_cancellationStatus { NotCancelled };
 
     bool m_defersLoading;
     ResourceRequest m_deferredRequest;
     ResourceLoaderOptions m_options;
-    bool m_isQuickLookResource;
+    bool m_isQuickLookResource { false };
 
 #if ENABLE(CONTENT_EXTENSIONS)
 protected:
-    ResourceType m_resourceType;
+    ResourceType m_resourceType { ResourceType::Invalid };
 #endif
 };
 
-inline const ResourceResponse& ResourceLoader::response() const
-{
-    return m_response;
 }
 
-}
-
 #endif

Modified: trunk/Source/WebCore/loader/SubresourceLoader.cpp (201595 => 201596)


--- trunk/Source/WebCore/loader/SubresourceLoader.cpp	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebCore/loader/SubresourceLoader.cpp	2016-06-02 08:45:14 UTC (rev 201596)
@@ -61,7 +61,7 @@
 
 DEFINE_DEBUG_ONLY_GLOBAL(WTF::RefCountedLeakCounter, subresourceLoaderCounter, ("SubresourceLoader"));
 
-SubresourceLoader::RequestCountTracker::RequestCountTracker(CachedResourceLoader& cachedResourceLoader, CachedResource* resource)
+SubresourceLoader::RequestCountTracker::RequestCountTracker(CachedResourceLoader& cachedResourceLoader, const CachedResource& resource)
     : m_cachedResourceLoader(cachedResourceLoader)
     , m_resource(resource)
 {
@@ -73,18 +73,18 @@
     m_cachedResourceLoader.decrementRequestCount(m_resource);
 }
 
-SubresourceLoader::SubresourceLoader(Frame* frame, CachedResource* resource, const ResourceLoaderOptions& options)
+SubresourceLoader::SubresourceLoader(Frame& frame, CachedResource& resource, const ResourceLoaderOptions& options)
     : ResourceLoader(frame, options)
-    , m_resource(resource)
+    , m_resource(&resource)
     , m_loadingMultipartContent(false)
     , m_state(Uninitialized)
-    , m_requestCountTracker(InPlace, frame->document()->cachedResourceLoader(), resource)
+    , m_requestCountTracker(InPlace, frame.document()->cachedResourceLoader(), resource)
 {
 #ifndef NDEBUG
     subresourceLoaderCounter.increment();
 #endif
 #if ENABLE(CONTENT_EXTENSIONS)
-    m_resourceType = toResourceType(resource->type());
+    m_resourceType = toResourceType(resource.type());
 #endif
 }
 
@@ -97,7 +97,7 @@
 #endif
 }
 
-RefPtr<SubresourceLoader> SubresourceLoader::create(Frame* frame, CachedResource* resource, const ResourceRequest& request, const ResourceLoaderOptions& options)
+RefPtr<SubresourceLoader> SubresourceLoader::create(Frame& frame, CachedResource& resource, const ResourceRequest& request, const ResourceLoaderOptions& options)
 {
     RefPtr<SubresourceLoader> subloader(adoptRef(new SubresourceLoader(frame, resource, options)));
 #if PLATFORM(IOS)

Modified: trunk/Source/WebCore/loader/SubresourceLoader.h (201595 => 201596)


--- trunk/Source/WebCore/loader/SubresourceLoader.h	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebCore/loader/SubresourceLoader.h	2016-06-02 08:45:14 UTC (rev 201596)
@@ -44,7 +44,7 @@
 
 class SubresourceLoader final : public ResourceLoader {
 public:
-    WEBCORE_EXPORT static RefPtr<SubresourceLoader> create(Frame*, CachedResource*, const ResourceRequest&, const ResourceLoaderOptions&);
+    WEBCORE_EXPORT static RefPtr<SubresourceLoader> create(Frame&, CachedResource&, const ResourceRequest&, const ResourceLoaderOptions&);
 
     virtual ~SubresourceLoader();
 
@@ -60,7 +60,7 @@
 #endif
 
 private:
-    SubresourceLoader(Frame*, CachedResource*, const ResourceLoaderOptions&);
+    SubresourceLoader(Frame&, CachedResource&, const ResourceLoaderOptions&);
 
     bool init(const ResourceRequest&) override;
 
@@ -112,11 +112,11 @@
         WTF_MAKE_FAST_ALLOCATED;
 #endif
     public:
-        RequestCountTracker(CachedResourceLoader&, CachedResource*);
+        RequestCountTracker(CachedResourceLoader&, const CachedResource&);
         ~RequestCountTracker();
     private:
         CachedResourceLoader& m_cachedResourceLoader;
-        CachedResource* m_resource;
+        const CachedResource& m_resource;
     };
 
 #if PLATFORM(IOS)

Modified: trunk/Source/WebCore/loader/appcache/ApplicationCacheHost.cpp (201595 => 201596)


--- trunk/Source/WebCore/loader/appcache/ApplicationCacheHost.cpp	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebCore/loader/appcache/ApplicationCacheHost.cpp	2016-06-02 08:45:14 UTC (rev 201596)
@@ -166,7 +166,7 @@
         group->finishedLoadingMainResource(&m_documentLoader);
 }
 
-bool ApplicationCacheHost::maybeLoadResource(ResourceLoader* loader, const ResourceRequest& request, const URL& originalURL)
+bool ApplicationCacheHost::maybeLoadResource(ResourceLoader& loader, const ResourceRequest& request, const URL& originalURL)
 {
     if (!isApplicationCacheEnabled() && !isApplicationCacheBlockedForRequest(request))
         return false;
@@ -178,7 +178,7 @@
     if (!shouldLoadResourceFromApplicationCache(request, resource))
         return false;
 
-    m_documentLoader.scheduleSubstituteResourceLoad(*loader, *resource);
+    m_documentLoader.scheduleSubstituteResourceLoad(loader, *resource);
     return true;
 }
 

Modified: trunk/Source/WebCore/loader/appcache/ApplicationCacheHost.h (201595 => 201596)


--- trunk/Source/WebCore/loader/appcache/ApplicationCacheHost.h	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebCore/loader/appcache/ApplicationCacheHost.h	2016-06-02 08:45:14 UTC (rev 201596)
@@ -124,7 +124,7 @@
         void finishedLoadingMainResource();
         void failedLoadingMainResource();
 
-        WEBCORE_EXPORT bool maybeLoadResource(ResourceLoader*, const ResourceRequest&, const URL& originalURL);
+        WEBCORE_EXPORT bool maybeLoadResource(ResourceLoader&, const ResourceRequest&, const URL& originalURL);
         WEBCORE_EXPORT bool maybeLoadFallbackForRedirect(ResourceLoader*, ResourceRequest&, const ResourceResponse&);
         WEBCORE_EXPORT bool maybeLoadFallbackForResponse(ResourceLoader*, const ResourceResponse&);
         WEBCORE_EXPORT bool maybeLoadFallbackForError(ResourceLoader*, const ResourceError&);

Modified: trunk/Source/WebCore/loader/cache/CachedResource.cpp (201595 => 201596)


--- trunk/Source/WebCore/loader/cache/CachedResource.cpp	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebCore/loader/cache/CachedResource.cpp	2016-06-02 08:45:14 UTC (rev 201596)
@@ -215,14 +215,15 @@
         failBeforeStarting();
         return;
     }
+    Frame& frame = *cachedResourceLoader.frame();
 
     // Prevent new loads if we are in the PageCache or being added to the PageCache.
-    if (cachedResourceLoader.frame()->page() && cachedResourceLoader.frame()->page()->inPageCache()) {
+    if (frame.page() && frame.page()->inPageCache()) {
         failBeforeStarting();
         return;
     }
 
-    FrameLoader& frameLoader = cachedResourceLoader.frame()->loader();
+    FrameLoader& frameLoader = frame.loader();
     if (options.securityCheck() == DoSecurityCheck && (frameLoader.state() == FrameStateProvisional || !frameLoader.activeDocumentLoader() || frameLoader.activeDocumentLoader()->isStopping())) {
         failBeforeStarting();
         return;
@@ -236,7 +237,7 @@
         // When QuickLook is invoked to convert a document, it returns a unique URL in the
         // NSURLReponse for the main document. To make safeQLURLForDocumentURLAndResourceURL()
         // work, we need to use the QL URL not the original URL.
-        const URL& documentURL = cachedResourceLoader.frame() ? cachedResourceLoader.frame()->loader().documentLoader()->response().url() : cachedResourceLoader.document()->url();
+        const URL& documentURL = frameLoader.documentLoader()->response().url();
         m_resourceRequest.setURL(safeQLURLForDocumentURLAndResourceURL(documentURL, url()));
     }
 #endif
@@ -280,7 +281,7 @@
         m_fragmentIdentifierForRequest = String();
     }
 
-    m_loader = platformStrategies()->loaderStrategy()->loadResource(cachedResourceLoader.frame(), this, request, options);
+    m_loader = platformStrategies()->loaderStrategy()->loadResource(frame, *this, request, options);
     if (!m_loader) {
         failBeforeStarting();
         return;

Modified: trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp (201595 => 201596)


--- trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp	2016-06-02 08:45:14 UTC (rev 201596)
@@ -1012,17 +1012,17 @@
     platformStrategies()->loaderStrategy()->servePendingRequests();
 }
 
-void CachedResourceLoader::incrementRequestCount(const CachedResource* res)
+void CachedResourceLoader::incrementRequestCount(const CachedResource& resource)
 {
-    if (res->ignoreForRequestCount())
+    if (resource.ignoreForRequestCount())
         return;
 
     ++m_requestCount;
 }
 
-void CachedResourceLoader::decrementRequestCount(const CachedResource* res)
+void CachedResourceLoader::decrementRequestCount(const CachedResource& resource)
 {
-    if (res->ignoreForRequestCount())
+    if (resource.ignoreForRequestCount())
         return;
 
     --m_requestCount;

Modified: trunk/Source/WebCore/loader/cache/CachedResourceLoader.h (201595 => 201596)


--- trunk/Source/WebCore/loader/cache/CachedResourceLoader.h	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebCore/loader/cache/CachedResourceLoader.h	2016-06-02 08:45:14 UTC (rev 201596)
@@ -122,8 +122,8 @@
 
     WEBCORE_EXPORT void garbageCollectDocumentResources();
     
-    void incrementRequestCount(const CachedResource*);
-    void decrementRequestCount(const CachedResource*);
+    void incrementRequestCount(const CachedResource&);
+    void decrementRequestCount(const CachedResource&);
     int requestCount() const { return m_requestCount; }
 
     WEBCORE_EXPORT bool isPreloaded(const String& urlString) const;

Modified: trunk/Source/WebKit/ChangeLog (201595 => 201596)


--- trunk/Source/WebKit/ChangeLog	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebKit/ChangeLog	2016-06-02 08:45:14 UTC (rev 201596)
@@ -1,3 +1,14 @@
+2016-06-02  Youenn Fablet  <[email protected]>
+
+        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:
+
 2016-05-28  Chris Dumez  <[email protected]>
 
         Templatize NoncopyableFunction class similarly to std::function

Modified: trunk/Source/WebKit/WebCoreSupport/WebResourceLoadScheduler.cpp (201595 => 201596)


--- trunk/Source/WebKit/WebCoreSupport/WebResourceLoadScheduler.cpp	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebKit/WebCoreSupport/WebResourceLoadScheduler.cpp	2016-06-02 08:45:14 UTC (rev 201596)
@@ -92,7 +92,7 @@
 {
 }
 
-RefPtr<SubresourceLoader> WebResourceLoadScheduler::loadResource(Frame* frame, CachedResource* resource, const ResourceRequest& request, const ResourceLoaderOptions& options)
+RefPtr<SubresourceLoader> WebResourceLoadScheduler::loadResource(Frame& frame, CachedResource& resource, const ResourceRequest& request, const ResourceLoaderOptions& options)
 {
     RefPtr<SubresourceLoader> loader = SubresourceLoader::create(frame, resource, request, options);
     if (loader)
@@ -114,7 +114,7 @@
     ResourceHandle::loadResourceSynchronously(context, request, storedCredentials, error, response, data);
 }
 
-RefPtr<NetscapePlugInStreamLoader> WebResourceLoadScheduler::schedulePluginStreamLoad(Frame* frame, NetscapePlugInStreamLoaderClient* client, const ResourceRequest& request)
+RefPtr<NetscapePlugInStreamLoader> WebResourceLoadScheduler::schedulePluginStreamLoad(Frame& frame, NetscapePlugInStreamLoaderClient& client, const ResourceRequest& request)
 {
     RefPtr<NetscapePlugInStreamLoader> loader = NetscapePlugInStreamLoader::create(frame, client, request);
     if (loader)

Modified: trunk/Source/WebKit/WebCoreSupport/WebResourceLoadScheduler.h (201595 => 201596)


--- trunk/Source/WebKit/WebCoreSupport/WebResourceLoadScheduler.h	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebKit/WebCoreSupport/WebResourceLoadScheduler.h	2016-06-02 08:45:14 UTC (rev 201596)
@@ -45,7 +45,7 @@
 public:
     WebResourceLoadScheduler();
 
-    RefPtr<WebCore::SubresourceLoader> loadResource(WebCore::Frame*, WebCore::CachedResource*, const WebCore::ResourceRequest&, const WebCore::ResourceLoaderOptions&) override;
+    RefPtr<WebCore::SubresourceLoader> loadResource(WebCore::Frame&, WebCore::CachedResource&, const WebCore::ResourceRequest&, const WebCore::ResourceLoaderOptions&) override;
     void loadResourceSynchronously(WebCore::NetworkingContext*, unsigned long, const WebCore::ResourceRequest&, WebCore::StoredCredentials, WebCore::ClientCredentialPolicy, WebCore::ResourceError&, WebCore::ResourceResponse&, Vector<char>&) override;
     void remove(WebCore::ResourceLoader*) override;
     void setDefersLoading(WebCore::ResourceLoader*, bool) override;
@@ -60,7 +60,7 @@
     bool isSerialLoadingEnabled() const { return m_isSerialLoadingEnabled; }
     void setSerialLoadingEnabled(bool b) { m_isSerialLoadingEnabled = b; }
 
-    RefPtr<WebCore::NetscapePlugInStreamLoader> schedulePluginStreamLoad(WebCore::Frame*, WebCore::NetscapePlugInStreamLoaderClient*, const WebCore::ResourceRequest&);
+    RefPtr<WebCore::NetscapePlugInStreamLoader> schedulePluginStreamLoad(WebCore::Frame&, WebCore::NetscapePlugInStreamLoaderClient&, const WebCore::ResourceRequest&);
 
 protected:
     virtual ~WebResourceLoadScheduler();

Modified: trunk/Source/WebKit/mac/ChangeLog (201595 => 201596)


--- trunk/Source/WebKit/mac/ChangeLog	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebKit/mac/ChangeLog	2016-06-02 08:45:14 UTC (rev 201596)
@@ -1,3 +1,15 @@
+2016-06-02  Youenn Fablet  <[email protected]>
+
+        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):
+
 2016-05-31  Darin Adler  <[email protected]>
 
         Audit RenderObject casts and fix problems and style issues found

Modified: trunk/Source/WebKit/mac/Plugins/Hosted/HostedNetscapePluginStream.mm (201595 => 201596)


--- trunk/Source/WebKit/mac/Plugins/Hosted/HostedNetscapePluginStream.mm	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebKit/mac/Plugins/Hosted/HostedNetscapePluginStream.mm	2016-06-02 08:45:14 UTC (rev 201596)
@@ -223,7 +223,7 @@
     ASSERT(!m_frameLoader);
     ASSERT(!m_loader);
 
-    m_loader = webResourceLoadScheduler().schedulePluginStreamLoad(core([m_instance->pluginView() webFrame]), this, m_request.get());
+    m_loader = webResourceLoadScheduler().schedulePluginStreamLoad(*core([m_instance->pluginView() webFrame]), *this, m_request.get());
 }
 
 void HostedNetscapePluginStream::stop()

Modified: trunk/Source/WebKit/mac/Plugins/WebNetscapePluginStream.mm (201595 => 201596)


--- trunk/Source/WebKit/mac/Plugins/WebNetscapePluginStream.mm	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebKit/mac/Plugins/WebNetscapePluginStream.mm	2016-06-02 08:45:14 UTC (rev 201596)
@@ -290,7 +290,7 @@
     ASSERT(!m_frameLoader);
     ASSERT(!m_loader);
 
-    m_loader = webResourceLoadScheduler().schedulePluginStreamLoad(core([m_pluginView.get() webFrame]), this, m_request.get());
+    m_loader = webResourceLoadScheduler().schedulePluginStreamLoad(*core([m_pluginView.get() webFrame]), *this, m_request.get());
 }
 
 void WebNetscapePluginStream::stop()

Modified: trunk/Source/WebKit/win/ChangeLog (201595 => 201596)


--- trunk/Source/WebKit/win/ChangeLog	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebKit/win/ChangeLog	2016-06-02 08:45:14 UTC (rev 201596)
@@ -1,3 +1,13 @@
+2016-06-02  Youenn Fablet  <[email protected]>
+
+        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):
+
 2016-06-01  Per Arne Vollan  <[email protected]>
 
         [Win] Potential null pointer crash when setting cursor.

Modified: trunk/Source/WebKit/win/Plugins/PluginStream.cpp (201595 => 201596)


--- trunk/Source/WebKit/win/Plugins/PluginStream.cpp	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebKit/win/Plugins/PluginStream.cpp	2016-06-02 08:45:14 UTC (rev 201596)
@@ -96,7 +96,8 @@
 void PluginStream::start()
 {
     ASSERT(!m_loadManually);
-    m_loader = webResourceLoadScheduler().schedulePluginStreamLoad(m_frame, this, m_resourceRequest);
+    ASSERT(m_frame);
+    m_loader = webResourceLoadScheduler().schedulePluginStreamLoad(*m_frame, *this, m_resourceRequest);
 }
 
 void PluginStream::stop()

Modified: trunk/Source/WebKit2/ChangeLog (201595 => 201596)


--- trunk/Source/WebKit2/ChangeLog	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebKit2/ChangeLog	2016-06-02 08:45:14 UTC (rev 201596)
@@ -1,3 +1,25 @@
+2016-06-02  Youenn Fablet  <[email protected]>
+
+        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):
+
 2016-06-01  Yongjun Zhang  <[email protected]>
 
         Notify client immediately if network session doesn't exist for a synchronous XHR load.

Modified: trunk/Source/WebKit2/WebProcess/Network/WebLoaderStrategy.cpp (201595 => 201596)


--- trunk/Source/WebKit2/WebProcess/Network/WebLoaderStrategy.cpp	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebKit2/WebProcess/Network/WebLoaderStrategy.cpp	2016-06-02 08:45:14 UTC (rev 201596)
@@ -71,19 +71,19 @@
 {
 }
 
-RefPtr<SubresourceLoader> WebLoaderStrategy::loadResource(Frame* frame, CachedResource* resource, const ResourceRequest& request, const ResourceLoaderOptions& options)
+RefPtr<SubresourceLoader> WebLoaderStrategy::loadResource(Frame& frame, CachedResource& resource, const ResourceRequest& request, const ResourceLoaderOptions& options)
 {
     RefPtr<SubresourceLoader> loader = SubresourceLoader::create(frame, resource, request, options);
     if (loader)
-        scheduleLoad(loader.get(), resource, frame->document()->referrerPolicy() == ReferrerPolicy::Default);
+        scheduleLoad(*loader, &resource, frame.document()->referrerPolicy() == ReferrerPolicy::Default);
     return loader;
 }
 
-RefPtr<NetscapePlugInStreamLoader> WebLoaderStrategy::schedulePluginStreamLoad(Frame* frame, NetscapePlugInStreamLoaderClient* client, const ResourceRequest& request)
+RefPtr<NetscapePlugInStreamLoader> WebLoaderStrategy::schedulePluginStreamLoad(Frame& frame, NetscapePlugInStreamLoaderClient& client, const ResourceRequest& request)
 {
     RefPtr<NetscapePlugInStreamLoader> loader = NetscapePlugInStreamLoader::create(frame, client, request);
     if (loader)
-        scheduleLoad(loader.get(), 0, frame->document()->referrerPolicy() == ReferrerPolicy::Default);
+        scheduleLoad(*loader, 0, frame.document()->referrerPolicy() == ReferrerPolicy::Default);
     return loader;
 }
 
@@ -128,39 +128,37 @@
     return 0ms;
 }
 
-void WebLoaderStrategy::scheduleLoad(ResourceLoader* resourceLoader, CachedResource* resource, bool shouldClearReferrerOnHTTPSToHTTPRedirect)
+void WebLoaderStrategy::scheduleLoad(ResourceLoader& resourceLoader, CachedResource* resource, bool shouldClearReferrerOnHTTPSToHTTPRedirect)
 {
-    ASSERT(resourceLoader);
-
-    ResourceLoadIdentifier identifier = resourceLoader->identifier();
+    ResourceLoadIdentifier identifier = resourceLoader.identifier();
     ASSERT(identifier);
 
 #if ENABLE(WEB_ARCHIVE) || ENABLE(MHTML)
     // If the DocumentLoader schedules this as an archive resource load,
     // then we should remember the ResourceLoader in our records but not schedule it in the NetworkProcess.
-    if (resourceLoader->documentLoader()->scheduleArchiveLoad(resourceLoader, resourceLoader->request())) {
-        LOG(NetworkScheduling, "(WebProcess) WebLoaderStrategy::scheduleLoad, url '%s' will be handled as an archive resource.", resourceLoader->url().string().utf8().data());
+    if (resourceLoader.documentLoader()->scheduleArchiveLoad(resourceLoader, resourceLoader.request())) {
+        LOG(NetworkScheduling, "(WebProcess) WebLoaderStrategy::scheduleLoad, url '%s' will be handled as an archive resource.", resourceLoader.url().string().utf8().data());
         m_webResourceLoaders.set(identifier, WebResourceLoader::create(resourceLoader));
         return;
     }
 #endif
 
-    if (resourceLoader->documentLoader()->applicationCacheHost()->maybeLoadResource(resourceLoader, resourceLoader->request(), resourceLoader->request().url())) {
-        LOG(NetworkScheduling, "(WebProcess) WebLoaderStrategy::scheduleLoad, url '%s' will be loaded from application cache.", resourceLoader->url().string().utf8().data());
+    if (resourceLoader.documentLoader()->applicationCacheHost()->maybeLoadResource(resourceLoader, resourceLoader.request(), resourceLoader.request().url())) {
+        LOG(NetworkScheduling, "(WebProcess) WebLoaderStrategy::scheduleLoad, url '%s' will be loaded from application cache.", resourceLoader.url().string().utf8().data());
         m_webResourceLoaders.set(identifier, WebResourceLoader::create(resourceLoader));
         return;
     }
 
-    if (resourceLoader->request().url().protocolIsData()) {
-        LOG(NetworkScheduling, "(WebProcess) WebLoaderStrategy::scheduleLoad, url '%s' will be loaded as data.", resourceLoader->url().string().utf8().data());
-        startLocalLoad(*resourceLoader);
+    if (resourceLoader.request().url().protocolIsData()) {
+        LOG(NetworkScheduling, "(WebProcess) WebLoaderStrategy::scheduleLoad, url '%s' will be loaded as data.", resourceLoader.url().string().utf8().data());
+        startLocalLoad(resourceLoader);
         return;
     }
 
 #if USE(QUICK_LOOK)
-    if (resourceLoader->request().url().protocolIs(QLPreviewProtocol())) {
-        LOG(NetworkScheduling, "(WebProcess) WebLoaderStrategy::scheduleLoad, url '%s' will be handled as a QuickLook resource.", resourceLoader->url().string().utf8().data());
-        startLocalLoad(*resourceLoader);
+    if (resourceLoader.request().url().protocolIs(QLPreviewProtocol())) {
+        LOG(NetworkScheduling, "(WebProcess) WebLoaderStrategy::scheduleLoad, url '%s' will be handled as a QuickLook resource.", resourceLoader.url().string().utf8().data());
+        startLocalLoad(resourceLoader);
         return;
     }
 #endif
@@ -168,22 +166,22 @@
 #if USE(SOUP)
     // For apps that call g_resource_load in a web extension.
     // https://blogs.gnome.org/alexl/2012/01/26/resources-in-glib/
-    if (resourceLoader->request().url().protocolIs("resource")) {
-        LOG(NetworkScheduling, "(WebProcess) WebLoaderStrategy::scheduleLoad, url '%s' will be handled as a GResource.", resourceLoader->url().string().utf8().data());
-        startLocalLoad(*resourceLoader);
+    if (resourceLoader.request().url().protocolIs("resource")) {
+        LOG(NetworkScheduling, "(WebProcess) WebLoaderStrategy::scheduleLoad, url '%s' will be handled as a GResource.", resourceLoader.url().string().utf8().data());
+        startLocalLoad(resourceLoader);
         return;
     }
 #endif
 
-    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()));
+    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()));
 
-    ContentSniffingPolicy contentSniffingPolicy = resourceLoader->shouldSniffContent() ? SniffContent : DoNotSniffContent;
-    StoredCredentials allowStoredCredentials = resourceLoader->shouldUseCredentialStorage() ? AllowStoredCredentials : DoNotAllowStoredCredentials;
+    ContentSniffingPolicy contentSniffingPolicy = resourceLoader.shouldSniffContent() ? SniffContent : DoNotSniffContent;
+    StoredCredentials allowStoredCredentials = resourceLoader.shouldUseCredentialStorage() ? AllowStoredCredentials : DoNotAllowStoredCredentials;
 
     // FIXME: Some entities in WebCore use WebCore's "EmptyFrameLoaderClient" instead of having a proper WebFrameLoaderClient.
     // EmptyFrameLoaderClient shouldn't exist and everything should be using a WebFrameLoaderClient,
     // but in the meantime we have to make sure not to mis-cast.
-    WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(resourceLoader->frameLoader()->client());
+    WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(resourceLoader.frameLoader()->client());
     WebFrame* webFrame = webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
     WebPage* webPage = webFrame ? webFrame->page() : 0;
 
@@ -192,20 +190,20 @@
     loadParameters.webPageID = webPage ? webPage->pageID() : 0;
     loadParameters.webFrameID = webFrame ? webFrame->frameID() : 0;
     loadParameters.sessionID = webPage ? webPage->sessionID() : SessionID::defaultSessionID();
-    loadParameters.request = resourceLoader->request();
+    loadParameters.request = resourceLoader.request();
     loadParameters.contentSniffingPolicy = contentSniffingPolicy;
     loadParameters.allowStoredCredentials = allowStoredCredentials;
     // If there is no WebFrame then this resource cannot be authenticated with the client.
-    loadParameters.clientCredentialPolicy = (webFrame && webPage && resourceLoader->isAllowedToAskUserForCredentials()) ? AskClientForAllCredentials : DoNotAskClientForAnyCredentials;
+    loadParameters.clientCredentialPolicy = (webFrame && webPage && resourceLoader.isAllowedToAskUserForCredentials()) ? AskClientForAllCredentials : DoNotAskClientForAnyCredentials;
     loadParameters.shouldClearReferrerOnHTTPSToHTTPRedirect = shouldClearReferrerOnHTTPSToHTTPRedirect;
-    loadParameters.defersLoading = resourceLoader->defersLoading();
-    loadParameters.needsCertificateInfo = resourceLoader->shouldIncludeCertificateInfo();
+    loadParameters.defersLoading = resourceLoader.defersLoading();
+    loadParameters.needsCertificateInfo = resourceLoader.shouldIncludeCertificateInfo();
     loadParameters.maximumBufferingTime = maximumBufferingTime(resource);
 
     ASSERT((loadParameters.webPageID && loadParameters.webFrameID) || loadParameters.clientCredentialPolicy == DoNotAskClientForAnyCredentials);
 
     if (!WebProcess::singleton().networkConnection()->connection()->send(Messages::NetworkConnectionToWebProcess::ScheduleResourceLoad(loadParameters), 0)) {
-        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));
+        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));
         // We probably failed to schedule this load with the NetworkProcess because it had crashed.
         // This load will never succeed so we will schedule it to fail asynchronously.
         scheduleInternallyFailedLoad(resourceLoader);
@@ -213,13 +211,13 @@
     }
 
     auto webResourceLoader = WebResourceLoader::create(resourceLoader);
-    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());
+    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());
     m_webResourceLoaders.set(identifier, WTFMove(webResourceLoader));
 }
 
-void WebLoaderStrategy::scheduleInternallyFailedLoad(WebCore::ResourceLoader* resourceLoader)
+void WebLoaderStrategy::scheduleInternallyFailedLoad(WebCore::ResourceLoader& resourceLoader)
 {
-    m_internallyFailedResourceLoaders.add(resourceLoader);
+    m_internallyFailedResourceLoaders.add(&resourceLoader);
     m_internallyFailedLoadTimer.startOneShot(0);
 }
 
@@ -235,7 +233,7 @@
 void WebLoaderStrategy::startLocalLoad(WebCore::ResourceLoader& resourceLoader)
 {
     resourceLoader.start();
-    m_webResourceLoaders.set(resourceLoader.identifier(), WebResourceLoader::create(&resourceLoader));
+    m_webResourceLoaders.set(resourceLoader.identifier(), WebResourceLoader::create(resourceLoader));
 }
 
 void WebLoaderStrategy::remove(ResourceLoader* resourceLoader)
@@ -296,9 +294,8 @@
 
 void WebLoaderStrategy::networkProcessCrashed()
 {
-    HashMap<unsigned long, RefPtr<WebResourceLoader>>::iterator end = m_webResourceLoaders.end();
-    for (HashMap<unsigned long, RefPtr<WebResourceLoader>>::iterator i = m_webResourceLoaders.begin(); i != end; ++i)
-        scheduleInternallyFailedLoad(i->value.get()->resourceLoader());
+    for (auto& loader : m_webResourceLoaders)
+        scheduleInternallyFailedLoad(*loader.value->resourceLoader());
 
     m_webResourceLoaders.clear();
 }

Modified: trunk/Source/WebKit2/WebProcess/Network/WebLoaderStrategy.h (201595 => 201596)


--- trunk/Source/WebKit2/WebProcess/Network/WebLoaderStrategy.h	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebKit2/WebProcess/Network/WebLoaderStrategy.h	2016-06-02 08:45:14 UTC (rev 201596)
@@ -43,7 +43,7 @@
     WebLoaderStrategy();
     ~WebLoaderStrategy() override;
     
-    RefPtr<WebCore::SubresourceLoader> loadResource(WebCore::Frame*, WebCore::CachedResource*, const WebCore::ResourceRequest&, const WebCore::ResourceLoaderOptions&) override;
+    RefPtr<WebCore::SubresourceLoader> loadResource(WebCore::Frame&, WebCore::CachedResource&, const WebCore::ResourceRequest&, const WebCore::ResourceLoaderOptions&) override;
     void loadResourceSynchronously(WebCore::NetworkingContext*, unsigned long resourceLoadIdentifier, const WebCore::ResourceRequest&, WebCore::StoredCredentials, WebCore::ClientCredentialPolicy, WebCore::ResourceError&, WebCore::ResourceResponse&, Vector<char>& data) override;
 
     void remove(WebCore::ResourceLoader*) override;
@@ -58,13 +58,13 @@
     void createPingHandle(WebCore::NetworkingContext*, WebCore::ResourceRequest&, bool shouldUseCredentialStorage) override;
 
     WebResourceLoader* webResourceLoaderForIdentifier(ResourceLoadIdentifier identifier) const { return m_webResourceLoaders.get(identifier); }
-    RefPtr<WebCore::NetscapePlugInStreamLoader> schedulePluginStreamLoad(WebCore::Frame*, WebCore::NetscapePlugInStreamLoaderClient*, const WebCore::ResourceRequest&);
+    RefPtr<WebCore::NetscapePlugInStreamLoader> schedulePluginStreamLoad(WebCore::Frame&, WebCore::NetscapePlugInStreamLoaderClient&, const WebCore::ResourceRequest&);
 
     void networkProcessCrashed();
 
 private:
-    void scheduleLoad(WebCore::ResourceLoader*, WebCore::CachedResource*, bool shouldClearReferrerOnHTTPSToHTTPRedirect);
-    void scheduleInternallyFailedLoad(WebCore::ResourceLoader*);
+    void scheduleLoad(WebCore::ResourceLoader&, WebCore::CachedResource*, bool shouldClearReferrerOnHTTPSToHTTPRedirect);
+    void scheduleInternallyFailedLoad(WebCore::ResourceLoader&);
     void internallyFailedLoadTimerFired();
     void startLocalLoad(WebCore::ResourceLoader&);
 

Modified: trunk/Source/WebKit2/WebProcess/Network/WebResourceLoader.cpp (201595 => 201596)


--- trunk/Source/WebKit2/WebProcess/Network/WebResourceLoader.cpp	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebKit2/WebProcess/Network/WebResourceLoader.cpp	2016-06-02 08:45:14 UTC (rev 201596)
@@ -46,13 +46,13 @@
 
 namespace WebKit {
 
-Ref<WebResourceLoader> WebResourceLoader::create(PassRefPtr<ResourceLoader> coreLoader)
+Ref<WebResourceLoader> WebResourceLoader::create(Ref<ResourceLoader>&& coreLoader)
 {
-    return adoptRef(*new WebResourceLoader(coreLoader));
+    return adoptRef(*new WebResourceLoader(WTFMove(coreLoader)));
 }
 
-WebResourceLoader::WebResourceLoader(PassRefPtr<WebCore::ResourceLoader> coreLoader)
-    : m_coreLoader(coreLoader)
+WebResourceLoader::WebResourceLoader(Ref<WebCore::ResourceLoader>&& coreLoader)
+    : m_coreLoader(WTFMove(coreLoader))
 {
 }
 

Modified: trunk/Source/WebKit2/WebProcess/Network/WebResourceLoader.h (201595 => 201596)


--- trunk/Source/WebKit2/WebProcess/Network/WebResourceLoader.h	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebKit2/WebProcess/Network/WebResourceLoader.h	2016-06-02 08:45:14 UTC (rev 201596)
@@ -56,7 +56,7 @@
 
 class WebResourceLoader : public RefCounted<WebResourceLoader>, public IPC::MessageSender {
 public:
-    static Ref<WebResourceLoader> create(PassRefPtr<WebCore::ResourceLoader>);
+    static Ref<WebResourceLoader> create(Ref<WebCore::ResourceLoader>&&);
 
     ~WebResourceLoader();
 
@@ -69,7 +69,7 @@
     bool isAlwaysOnLoggingAllowed() const;
 
 private:
-    WebResourceLoader(PassRefPtr<WebCore::ResourceLoader>);
+    WebResourceLoader(Ref<WebCore::ResourceLoader>&&);
 
     // IPC::MessageSender
     IPC::Connection* messageSenderConnection() override;

Modified: trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp (201595 => 201596)


--- trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp	2016-06-02 07:36:21 UTC (rev 201595)
+++ trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp	2016-06-02 08:45:14 UTC (rev 201596)
@@ -160,7 +160,7 @@
     Frame* frame = m_pluginView->m_pluginElement->document().frame();
     ASSERT(frame);
 
-    m_loader = WebProcess::singleton().webLoaderStrategy().schedulePluginStreamLoad(frame, this, m_request);
+    m_loader = WebProcess::singleton().webLoaderStrategy().schedulePluginStreamLoad(*frame, *this, m_request);
 }
 
 void PluginView::Stream::cancel()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to