<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[170807] trunk/Source/WebCore</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/170807">170807</a></dd>
<dt>Author</dt> <dd>akling@apple.com</dd>
<dt>Date</dt> <dd>2014-07-04 11:07:26 -0700 (Fri, 04 Jul 2014)</dd>
</dl>
<h3>Log Message</h3>
<pre>CTTE: ApplicationCacheHost always has a DocumentLoader.
<https://webkit.org/b/b/128435>
Have ApplicationCacheHost store the backpointer to its owning
DocumentLoader as a reference.
Reviewed by Sam Weinig.
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::startLoadingMainResource):
* loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::ApplicationCacheHost):
(WebCore::ApplicationCacheHost::~ApplicationCacheHost):
(WebCore::ApplicationCacheHost::selectCacheWithoutManifest):
(WebCore::ApplicationCacheHost::selectCacheWithManifest):
(WebCore::ApplicationCacheHost::maybeLoadMainResource):
(WebCore::ApplicationCacheHost::maybeLoadFallbackForMainResponse):
(WebCore::ApplicationCacheHost::maybeLoadFallbackForMainError):
(WebCore::ApplicationCacheHost::failedLoadingMainResource):
(WebCore::ApplicationCacheHost::finishedLoadingMainResource):
(WebCore::ApplicationCacheHost::maybeLoadResource):
(WebCore::ApplicationCacheHost::maybeLoadFallbackForError):
(WebCore::ApplicationCacheHost::maybeLoadSynchronously):
(WebCore::ApplicationCacheHost::notifyDOMApplicationCache):
(WebCore::ApplicationCacheHost::stopDeferringEvents):
(WebCore::ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache):
(WebCore::ApplicationCacheHost::update):
(WebCore::ApplicationCacheHost::swapCache):
(WebCore::ApplicationCacheHost::abort):
(WebCore::ApplicationCacheHost::isApplicationCacheEnabled):
* loader/appcache/ApplicationCacheHost.h:
(WebCore::ApplicationCacheHost::documentLoader): Deleted.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreloaderDocumentLoadercpp">trunk/Source/WebCore/loader/DocumentLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderappcacheApplicationCacheHostcpp">trunk/Source/WebCore/loader/appcache/ApplicationCacheHost.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderappcacheApplicationCacheHosth">trunk/Source/WebCore/loader/appcache/ApplicationCacheHost.h</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (170806 => 170807)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-07-04 15:31:57 UTC (rev 170806)
+++ trunk/Source/WebCore/ChangeLog        2014-07-04 18:07:26 UTC (rev 170807)
</span><span class="lines">@@ -1,3 +1,39 @@
</span><ins>+2014-07-04 Andreas Kling <akling@apple.com>
+
+ CTTE: ApplicationCacheHost always has a DocumentLoader.
+ <https://webkit.org/b/b/128435>
+
+ Have ApplicationCacheHost store the backpointer to its owning
+ DocumentLoader as a reference.
+
+ Reviewed by Sam Weinig.
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::DocumentLoader):
+ (WebCore::DocumentLoader::startLoadingMainResource):
+ * loader/appcache/ApplicationCacheHost.cpp:
+ (WebCore::ApplicationCacheHost::ApplicationCacheHost):
+ (WebCore::ApplicationCacheHost::~ApplicationCacheHost):
+ (WebCore::ApplicationCacheHost::selectCacheWithoutManifest):
+ (WebCore::ApplicationCacheHost::selectCacheWithManifest):
+ (WebCore::ApplicationCacheHost::maybeLoadMainResource):
+ (WebCore::ApplicationCacheHost::maybeLoadFallbackForMainResponse):
+ (WebCore::ApplicationCacheHost::maybeLoadFallbackForMainError):
+ (WebCore::ApplicationCacheHost::failedLoadingMainResource):
+ (WebCore::ApplicationCacheHost::finishedLoadingMainResource):
+ (WebCore::ApplicationCacheHost::maybeLoadResource):
+ (WebCore::ApplicationCacheHost::maybeLoadFallbackForError):
+ (WebCore::ApplicationCacheHost::maybeLoadSynchronously):
+ (WebCore::ApplicationCacheHost::notifyDOMApplicationCache):
+ (WebCore::ApplicationCacheHost::stopDeferringEvents):
+ (WebCore::ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache):
+ (WebCore::ApplicationCacheHost::update):
+ (WebCore::ApplicationCacheHost::swapCache):
+ (WebCore::ApplicationCacheHost::abort):
+ (WebCore::ApplicationCacheHost::isApplicationCacheEnabled):
+ * loader/appcache/ApplicationCacheHost.h:
+ (WebCore::ApplicationCacheHost::documentLoader): Deleted.
+
</ins><span class="cx"> 2014-07-04 Antti Koivisto <antti@apple.com>
</span><span class="cx">
</span><span class="cx"> REGRESSION(r159345): Lines are clipped between pages when printing web content from Safari
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderDocumentLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/DocumentLoader.cpp (170806 => 170807)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/DocumentLoader.cpp        2014-07-04 15:31:57 UTC (rev 170806)
+++ trunk/Source/WebCore/loader/DocumentLoader.cpp        2014-07-04 18:07:26 UTC (rev 170807)
</span><span class="lines">@@ -143,7 +143,7 @@
</span><span class="cx"> , m_dataLoadTimer(this, &DocumentLoader::handleSubstituteDataLoadNow)
</span><span class="cx"> , m_waitingForContentPolicy(false)
</span><span class="cx"> , m_subresourceLoadersArePageCacheAcceptable(false)
</span><del>- , m_applicationCacheHost(adoptPtr(new ApplicationCacheHost(this)))
</del><ins>+ , m_applicationCacheHost(adoptPtr(new ApplicationCacheHost(*this)))
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -1445,7 +1445,7 @@
</span><span class="cx"> // If the load was aborted by clearing m_request, it's possible the ApplicationCacheHost
</span><span class="cx"> // is now in a state where starting an empty load will be inconsistent. Replace it with
</span><span class="cx"> // a new ApplicationCacheHost.
</span><del>- m_applicationCacheHost = adoptPtr(new ApplicationCacheHost(this));
</del><ins>+ m_applicationCacheHost = adoptPtr(new ApplicationCacheHost(*this));
</ins><span class="cx"> maybeLoadEmpty();
</span><span class="cx"> return;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderappcacheApplicationCacheHostcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/appcache/ApplicationCacheHost.cpp (170806 => 170807)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/appcache/ApplicationCacheHost.cpp        2014-07-04 15:31:57 UTC (rev 170806)
+++ trunk/Source/WebCore/loader/appcache/ApplicationCacheHost.cpp        2014-07-04 18:07:26 UTC (rev 170807)
</span><span class="lines">@@ -44,13 +44,12 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-ApplicationCacheHost::ApplicationCacheHost(DocumentLoader* documentLoader)
</del><ins>+ApplicationCacheHost::ApplicationCacheHost(DocumentLoader& documentLoader)
</ins><span class="cx"> : m_domApplicationCache(0)
</span><span class="cx"> , m_documentLoader(documentLoader)
</span><span class="cx"> , m_defersEvents(true)
</span><span class="cx"> , m_candidateApplicationCacheGroup(0)
</span><span class="cx"> {
</span><del>- ASSERT(m_documentLoader);
</del><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ApplicationCacheHost::~ApplicationCacheHost()
</span><span class="lines">@@ -58,19 +57,19 @@
</span><span class="cx"> ASSERT(!m_applicationCache || !m_candidateApplicationCacheGroup || m_applicationCache->group() == m_candidateApplicationCacheGroup);
</span><span class="cx">
</span><span class="cx"> if (m_applicationCache)
</span><del>- m_applicationCache->group()->disassociateDocumentLoader(m_documentLoader);
</del><ins>+ m_applicationCache->group()->disassociateDocumentLoader(&m_documentLoader);
</ins><span class="cx"> else if (m_candidateApplicationCacheGroup)
</span><del>- m_candidateApplicationCacheGroup->disassociateDocumentLoader(m_documentLoader);
</del><ins>+ m_candidateApplicationCacheGroup->disassociateDocumentLoader(&m_documentLoader);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void ApplicationCacheHost::selectCacheWithoutManifest()
</span><span class="cx"> {
</span><del>- ApplicationCacheGroup::selectCacheWithoutManifestURL(m_documentLoader->frame());
</del><ins>+ ApplicationCacheGroup::selectCacheWithoutManifestURL(m_documentLoader.frame());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void ApplicationCacheHost::selectCacheWithManifest(const URL& manifestURL)
</span><span class="cx"> {
</span><del>- ApplicationCacheGroup::selectCache(m_documentLoader->frame(), manifestURL);
</del><ins>+ ApplicationCacheGroup::selectCache(m_documentLoader.frame(), manifestURL);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void ApplicationCacheHost::maybeLoadMainResource(ResourceRequest& request, SubstituteData& substituteData)
</span><span class="lines">@@ -79,7 +78,7 @@
</span><span class="cx"> if (!substituteData.isValid() && isApplicationCacheEnabled() && !isApplicationCacheBlockedForRequest(request)) {
</span><span class="cx"> ASSERT(!m_mainResourceApplicationCache);
</span><span class="cx">
</span><del>- m_mainResourceApplicationCache = ApplicationCacheGroup::cacheForMainRequest(request, m_documentLoader);
</del><ins>+ m_mainResourceApplicationCache = ApplicationCacheGroup::cacheForMainRequest(request, &m_documentLoader);
</ins><span class="cx">
</span><span class="cx"> if (m_mainResourceApplicationCache) {
</span><span class="cx"> // Get the resource from the application cache. By definition, cacheForMainRequest() returns a cache that contains the resource.
</span><span class="lines">@@ -105,9 +104,9 @@
</span><span class="cx"> if (r.httpStatusCode() / 100 == 4 || r.httpStatusCode() / 100 == 5) {
</span><span class="cx"> ASSERT(!m_mainResourceApplicationCache);
</span><span class="cx"> if (isApplicationCacheEnabled() && !isApplicationCacheBlockedForRequest(request)) {
</span><del>- m_mainResourceApplicationCache = ApplicationCacheGroup::fallbackCacheForMainRequest(request, documentLoader());
</del><ins>+ m_mainResourceApplicationCache = ApplicationCacheGroup::fallbackCacheForMainRequest(request, &m_documentLoader);
</ins><span class="cx">
</span><del>- if (scheduleLoadFallbackResourceFromApplicationCache(documentLoader()->mainResourceLoader(), m_mainResourceApplicationCache.get()))
</del><ins>+ if (scheduleLoadFallbackResourceFromApplicationCache(m_documentLoader.mainResourceLoader(), m_mainResourceApplicationCache.get()))
</ins><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="lines">@@ -119,9 +118,9 @@
</span><span class="cx"> if (!error.isCancellation()) {
</span><span class="cx"> ASSERT(!m_mainResourceApplicationCache);
</span><span class="cx"> if (isApplicationCacheEnabled() && !isApplicationCacheBlockedForRequest(request)) {
</span><del>- m_mainResourceApplicationCache = ApplicationCacheGroup::fallbackCacheForMainRequest(request, m_documentLoader);
</del><ins>+ m_mainResourceApplicationCache = ApplicationCacheGroup::fallbackCacheForMainRequest(request, &m_documentLoader);
</ins><span class="cx">
</span><del>- if (scheduleLoadFallbackResourceFromApplicationCache(documentLoader()->mainResourceLoader(), m_mainResourceApplicationCache.get()))
</del><ins>+ if (scheduleLoadFallbackResourceFromApplicationCache(m_documentLoader.mainResourceLoader(), m_mainResourceApplicationCache.get()))
</ins><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="lines">@@ -145,7 +144,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (group)
</span><del>- group->failedLoadingMainResource(m_documentLoader);
</del><ins>+ group->failedLoadingMainResource(&m_documentLoader);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void ApplicationCacheHost::finishedLoadingMainResource()
</span><span class="lines">@@ -155,7 +154,7 @@
</span><span class="cx"> group = applicationCache()->group();
</span><span class="cx">
</span><span class="cx"> if (group)
</span><del>- group->finishedLoadingMainResource(m_documentLoader);
</del><ins>+ group->finishedLoadingMainResource(&m_documentLoader);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool ApplicationCacheHost::maybeLoadResource(ResourceLoader* loader, const ResourceRequest& request, const URL& originalURL)
</span><span class="lines">@@ -170,8 +169,8 @@
</span><span class="cx"> if (!shouldLoadResourceFromApplicationCache(request, resource))
</span><span class="cx"> return false;
</span><span class="cx">
</span><del>- m_documentLoader->m_pendingSubstituteResources.set(loader, resource);
- m_documentLoader->deliverSubstituteResourcesAfterDelay();
</del><ins>+ m_documentLoader.m_pendingSubstituteResources.set(loader, resource);
+ m_documentLoader.deliverSubstituteResourcesAfterDelay();
</ins><span class="cx">
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="lines">@@ -195,7 +194,7 @@
</span><span class="cx"> bool ApplicationCacheHost::maybeLoadFallbackForError(ResourceLoader* resourceLoader, const ResourceError& error)
</span><span class="cx"> {
</span><span class="cx"> if (!error.isCancellation()) {
</span><del>- if (resourceLoader == m_documentLoader->mainResourceLoader())
</del><ins>+ if (resourceLoader == m_documentLoader.mainResourceLoader())
</ins><span class="cx"> return maybeLoadFallbackForMainError(resourceLoader->request(), error);
</span><span class="cx"> if (scheduleLoadFallbackResourceFromApplicationCache(resourceLoader))
</span><span class="cx"> return true;
</span><span class="lines">@@ -211,7 +210,7 @@
</span><span class="cx"> response = resource->response();
</span><span class="cx"> data.append(resource->data()->data(), resource->data()->size());
</span><span class="cx"> } else {
</span><del>- error = documentLoader()->frameLoader()->client().cannotShowURLError(request);
</del><ins>+ error = m_documentLoader.frameLoader()->client().cannotShowURLError(request);
</ins><span class="cx"> }
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="lines">@@ -249,7 +248,7 @@
</span><span class="cx"> void ApplicationCacheHost::notifyDOMApplicationCache(EventID id, int total, int done)
</span><span class="cx"> {
</span><span class="cx"> if (id != PROGRESS_EVENT)
</span><del>- InspectorInstrumentation::updateApplicationCacheStatus(m_documentLoader->frame());
</del><ins>+ InspectorInstrumentation::updateApplicationCacheStatus(m_documentLoader.frame());
</ins><span class="cx">
</span><span class="cx"> if (m_defersEvents) {
</span><span class="cx"> // Event dispatching is deferred until document.onload has fired.
</span><span class="lines">@@ -271,7 +270,7 @@
</span><span class="cx">
</span><span class="cx"> void ApplicationCacheHost::stopDeferringEvents()
</span><span class="cx"> {
</span><del>- RefPtr<DocumentLoader> protect(documentLoader());
</del><ins>+ Ref<DocumentLoader> protect(m_documentLoader);
</ins><span class="cx"> for (unsigned i = 0; i < m_deferredEvents.size(); ++i) {
</span><span class="cx"> const DeferredEvent& deferred = m_deferredEvents[i];
</span><span class="cx"> dispatchDOMEvent(deferred.eventID, deferred.progressTotal, deferred.progressDone);
</span><span class="lines">@@ -403,8 +402,8 @@
</span><span class="cx">
</span><span class="cx"> loader->willSwitchToSubstituteResource();
</span><span class="cx">
</span><del>- m_documentLoader->m_pendingSubstituteResources.set(loader, resource);
- m_documentLoader->deliverSubstituteResourcesAfterDelay();
</del><ins>+ m_documentLoader.m_pendingSubstituteResources.set(loader, resource);
+ m_documentLoader.deliverSubstituteResourcesAfterDelay();
</ins><span class="cx">
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="lines">@@ -438,7 +437,7 @@
</span><span class="cx"> ApplicationCache* cache = applicationCache();
</span><span class="cx"> if (!cache)
</span><span class="cx"> return false;
</span><del>- cache->group()->update(m_documentLoader->frame(), ApplicationCacheUpdateWithoutBrowsingContext);
</del><ins>+ cache->group()->update(m_documentLoader.frame(), ApplicationCacheUpdateWithoutBrowsingContext);
</ins><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -450,7 +449,7 @@
</span><span class="cx">
</span><span class="cx"> // If the group of application caches to which cache belongs has the lifecycle status obsolete, unassociate document from cache.
</span><span class="cx"> if (cache->group()->isObsolete()) {
</span><del>- cache->group()->disassociateDocumentLoader(m_documentLoader);
</del><ins>+ cache->group()->disassociateDocumentLoader(&m_documentLoader);
</ins><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -461,7 +460,7 @@
</span><span class="cx">
</span><span class="cx"> ASSERT(cache->group() == newestCache->group());
</span><span class="cx"> setApplicationCache(newestCache);
</span><del>- InspectorInstrumentation::updateApplicationCacheStatus(m_documentLoader->frame());
</del><ins>+ InspectorInstrumentation::updateApplicationCacheStatus(m_documentLoader.frame());
</ins><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -469,22 +468,22 @@
</span><span class="cx"> {
</span><span class="cx"> ApplicationCacheGroup* cacheGroup = candidateApplicationCacheGroup();
</span><span class="cx"> if (cacheGroup)
</span><del>- cacheGroup->abort(m_documentLoader->frame());
</del><ins>+ cacheGroup->abort(m_documentLoader.frame());
</ins><span class="cx"> else {
</span><span class="cx"> ApplicationCache* cache = applicationCache();
</span><span class="cx"> if (cache)
</span><del>- cache->group()->abort(m_documentLoader->frame());
</del><ins>+ cache->group()->abort(m_documentLoader.frame());
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool ApplicationCacheHost::isApplicationCacheEnabled()
</span><span class="cx"> {
</span><del>- return m_documentLoader->frame() && m_documentLoader->frame()->settings().offlineWebApplicationCacheEnabled() && !m_documentLoader->frame()->page()->usesEphemeralSession();
</del><ins>+ return m_documentLoader.frame() && m_documentLoader.frame()->settings().offlineWebApplicationCacheEnabled() && !m_documentLoader.frame()->page()->usesEphemeralSession();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool ApplicationCacheHost::isApplicationCacheBlockedForRequest(const ResourceRequest& request)
</span><span class="cx"> {
</span><del>- Frame* frame = m_documentLoader->frame();
</del><ins>+ Frame* frame = m_documentLoader.frame();
</ins><span class="cx"> if (!frame)
</span><span class="cx"> return false;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderappcacheApplicationCacheHosth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/appcache/ApplicationCacheHost.h (170806 => 170807)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/appcache/ApplicationCacheHost.h        2014-07-04 15:31:57 UTC (rev 170806)
+++ trunk/Source/WebCore/loader/appcache/ApplicationCacheHost.h        2014-07-04 18:07:26 UTC (rev 170807)
</span><span class="lines">@@ -110,7 +110,7 @@
</span><span class="cx"> typedef Vector<ResourceInfo> ResourceInfoList;
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>- ApplicationCacheHost(DocumentLoader*);
</del><ins>+ explicit ApplicationCacheHost(DocumentLoader&);
</ins><span class="cx"> ~ApplicationCacheHost();
</span><span class="cx">
</span><span class="cx"> void selectCacheWithoutManifest();
</span><span class="lines">@@ -156,7 +156,6 @@
</span><span class="cx"> private:
</span><span class="cx"> bool isApplicationCacheEnabled();
</span><span class="cx"> bool isApplicationCacheBlockedForRequest(const ResourceRequest&);
</span><del>- DocumentLoader* documentLoader() const { return m_documentLoader; }
</del><span class="cx">
</span><span class="cx"> struct DeferredEvent {
</span><span class="cx"> EventID eventID;
</span><span class="lines">@@ -166,7 +165,7 @@
</span><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> DOMApplicationCache* m_domApplicationCache;
</span><del>- DocumentLoader* m_documentLoader;
</del><ins>+ DocumentLoader& m_documentLoader;
</ins><span class="cx"> bool m_defersEvents; // Events are deferred until after document onload.
</span><span class="cx"> Vector<DeferredEvent> m_deferredEvents;
</span><span class="cx">
</span></span></pre>
</div>
</div>
</body>
</html>