| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights | 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights |
| 3 * reserved. | 3 * reserved. |
| 4 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) | 4 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) |
| 5 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. | 5 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. |
| 6 * (http://www.torchmobile.com/) | 6 * (http://www.torchmobile.com/) |
| 7 * Copyright (C) 2008 Alp Toker <alp@atoker.com> | 7 * Copyright (C) 2008 Alp Toker <alp@atoker.com> |
| 8 * Copyright (C) Research In Motion Limited 2009. All rights reserved. | 8 * Copyright (C) Research In Motion Limited 2009. All rights reserved. |
| 9 * Copyright (C) 2011 Kris Jordan <krisjordan@gmail.com> | 9 * Copyright (C) 2011 Kris Jordan <krisjordan@gmail.com> |
| 10 * Copyright (C) 2011 Google Inc. All rights reserved. | 10 * Copyright (C) 2011 Google Inc. All rights reserved. |
| (...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 194 | 194 |
| 195 FrameLoader::FrameLoader(LocalFrame* frame) | 195 FrameLoader::FrameLoader(LocalFrame* frame) |
| 196 : m_frame(frame), | 196 : m_frame(frame), |
| 197 m_progressTracker(ProgressTracker::create(frame)), | 197 m_progressTracker(ProgressTracker::create(frame)), |
| 198 m_inStopAllLoaders(false), | 198 m_inStopAllLoaders(false), |
| 199 m_checkTimer(TaskRunnerHelper::get(TaskType::Networking, frame), | 199 m_checkTimer(TaskRunnerHelper::get(TaskType::Networking, frame), |
| 200 this, | 200 this, |
| 201 &FrameLoader::checkTimerFired), | 201 &FrameLoader::checkTimerFired), |
| 202 m_forcedSandboxFlags(SandboxNone), | 202 m_forcedSandboxFlags(SandboxNone), |
| 203 m_dispatchingDidClearWindowObjectInMainWorld(false), | 203 m_dispatchingDidClearWindowObjectInMainWorld(false), |
| 204 m_protectProvisionalLoader(false) { | 204 m_protectProvisionalLoader(false), |
| 205 m_detached(false) { |
| 205 DCHECK(m_frame); | 206 DCHECK(m_frame); |
| 206 TRACE_EVENT_OBJECT_CREATED_WITH_ID("loading", "FrameLoader", this); | 207 TRACE_EVENT_OBJECT_CREATED_WITH_ID("loading", "FrameLoader", this); |
| 207 takeObjectSnapshot(); | 208 takeObjectSnapshot(); |
| 208 } | 209 } |
| 209 | 210 |
| 210 FrameLoader::~FrameLoader() { | 211 FrameLoader::~FrameLoader() { |
| 211 // Verify that this FrameLoader has been detached. | 212 DCHECK(m_detached); |
| 212 DCHECK(!m_progressTracker); | |
| 213 } | 213 } |
| 214 | 214 |
| 215 DEFINE_TRACE(FrameLoader) { | 215 DEFINE_TRACE(FrameLoader) { |
| 216 visitor->trace(m_frame); | 216 visitor->trace(m_frame); |
| 217 visitor->trace(m_progressTracker); | 217 visitor->trace(m_progressTracker); |
| 218 visitor->trace(m_documentLoader); | 218 visitor->trace(m_documentLoader); |
| 219 visitor->trace(m_provisionalDocumentLoader); | 219 visitor->trace(m_provisionalDocumentLoader); |
| 220 visitor->trace(m_currentItem); | 220 visitor->trace(m_currentItem); |
| 221 visitor->trace(m_provisionalItem); | 221 visitor->trace(m_provisionalItem); |
| 222 visitor->trace(m_deferredHistoryLoad); | 222 visitor->trace(m_deferredHistoryLoad); |
| (...skipping 1150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1373 | 1373 |
| 1374 Frame* parent = m_frame->tree().parent(); | 1374 Frame* parent = m_frame->tree().parent(); |
| 1375 if (parent && parent->isLocalFrame()) | 1375 if (parent && parent->isLocalFrame()) |
| 1376 toLocalFrame(parent)->loader().scheduleCheckCompleted(); | 1376 toLocalFrame(parent)->loader().scheduleCheckCompleted(); |
| 1377 if (m_progressTracker) { | 1377 if (m_progressTracker) { |
| 1378 m_progressTracker->dispose(); | 1378 m_progressTracker->dispose(); |
| 1379 m_progressTracker.clear(); | 1379 m_progressTracker.clear(); |
| 1380 } | 1380 } |
| 1381 | 1381 |
| 1382 TRACE_EVENT_OBJECT_DELETED_WITH_ID("loading", "FrameLoader", this); | 1382 TRACE_EVENT_OBJECT_DELETED_WITH_ID("loading", "FrameLoader", this); |
| 1383 m_detached = true; |
| 1383 } | 1384 } |
| 1384 | 1385 |
| 1385 void FrameLoader::loadFailed(DocumentLoader* loader, | 1386 void FrameLoader::loadFailed(DocumentLoader* loader, |
| 1386 const ResourceError& error) { | 1387 const ResourceError& error) { |
| 1387 if (!error.isCancellation() && m_frame->owner()) { | 1388 if (!error.isCancellation() && m_frame->owner()) { |
| 1388 // FIXME: For now, fallback content doesn't work cross process. | 1389 // FIXME: For now, fallback content doesn't work cross process. |
| 1389 if (m_frame->owner()->isLocal()) | 1390 if (m_frame->owner()->isLocal()) |
| 1390 m_frame->deprecatedLocalOwner()->renderFallbackContent(); | 1391 m_frame->deprecatedLocalOwner()->renderFallbackContent(); |
| 1391 } | 1392 } |
| 1392 | 1393 |
| (...skipping 484 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1877 tracedValue->setString("provisionalDocumentLoaderURL", | 1878 tracedValue->setString("provisionalDocumentLoaderURL", |
| 1878 m_provisionalDocumentLoader | 1879 m_provisionalDocumentLoader |
| 1879 ? m_provisionalDocumentLoader->url() | 1880 ? m_provisionalDocumentLoader->url() |
| 1880 : String()); | 1881 : String()); |
| 1881 tracedValue->setString("documentLoaderURL", | 1882 tracedValue->setString("documentLoaderURL", |
| 1882 m_documentLoader ? m_documentLoader->url() : String()); | 1883 m_documentLoader ? m_documentLoader->url() : String()); |
| 1883 return tracedValue; | 1884 return tracedValue; |
| 1884 } | 1885 } |
| 1885 | 1886 |
| 1886 inline void FrameLoader::takeObjectSnapshot() const { | 1887 inline void FrameLoader::takeObjectSnapshot() const { |
| 1888 if (m_detached) { |
| 1889 // We already logged TRACE_EVENT_OBJECT_DELETED_WITH_ID in detach(). |
| 1890 return; |
| 1891 } |
| 1887 TRACE_EVENT_OBJECT_SNAPSHOT_WITH_ID("loading", "FrameLoader", this, | 1892 TRACE_EVENT_OBJECT_SNAPSHOT_WITH_ID("loading", "FrameLoader", this, |
| 1888 toTracedValue()); | 1893 toTracedValue()); |
| 1889 } | 1894 } |
| 1890 | 1895 |
| 1891 DocumentLoader* FrameLoader::createDocumentLoader( | 1896 DocumentLoader* FrameLoader::createDocumentLoader( |
| 1892 const ResourceRequest& request, | 1897 const ResourceRequest& request, |
| 1893 const FrameLoadRequest& frameLoadRequest, | 1898 const FrameLoadRequest& frameLoadRequest, |
| 1894 FrameLoadType loadType, | 1899 FrameLoadType loadType, |
| 1895 NavigationType navigationType) { | 1900 NavigationType navigationType) { |
| 1896 DocumentLoader* loader = client()->createDocumentLoader( | 1901 DocumentLoader* loader = client()->createDocumentLoader( |
| 1897 m_frame, request, frameLoadRequest.substituteData().isValid() | 1902 m_frame, request, frameLoadRequest.substituteData().isValid() |
| 1898 ? frameLoadRequest.substituteData() | 1903 ? frameLoadRequest.substituteData() |
| 1899 : defaultSubstituteDataForURL(request.url()), | 1904 : defaultSubstituteDataForURL(request.url()), |
| 1900 frameLoadRequest.clientRedirect()); | 1905 frameLoadRequest.clientRedirect()); |
| 1901 | 1906 |
| 1902 loader->setLoadType(loadType); | 1907 loader->setLoadType(loadType); |
| 1903 loader->setNavigationType(navigationType); | 1908 loader->setNavigationType(navigationType); |
| 1904 loader->setReplacesCurrentHistoryItem(loadType == | 1909 loader->setReplacesCurrentHistoryItem(loadType == |
| 1905 FrameLoadTypeReplaceCurrentItem); | 1910 FrameLoadTypeReplaceCurrentItem); |
| 1906 return loader; | 1911 return loader; |
| 1907 } | 1912 } |
| 1908 | 1913 |
| 1909 } // namespace blink | 1914 } // namespace blink |
| OLD | NEW |