Chromium Code Reviews| Index: Source/core/inspector/InspectorPageAgent.cpp |
| diff --git a/Source/core/inspector/InspectorPageAgent.cpp b/Source/core/inspector/InspectorPageAgent.cpp |
| index 076da51099406fa7aa744e7abf7e9511ef5adc72..0d620d11ae9c6a6b15f8940507bc35d2b163a119 100644 |
| --- a/Source/core/inspector/InspectorPageAgent.cpp |
| +++ b/Source/core/inspector/InspectorPageAgent.cpp |
| @@ -588,13 +588,12 @@ void InspectorPageAgent::reload(ErrorString*, const bool* const optionalIgnoreCa |
| { |
| m_pendingScriptToEvaluateOnLoadOnce = optionalScriptToEvaluateOnLoad ? *optionalScriptToEvaluateOnLoad : ""; |
| m_pendingScriptPreprocessor = optionalScriptPreprocessor ? *optionalScriptPreprocessor : ""; |
| - m_page->mainFrame()->reload(asBool(optionalIgnoreCache) ? EndToEndReload : NormalReload, NotClientRedirect); |
| + mainFrame()->reload(asBool(optionalIgnoreCache) ? EndToEndReload : NormalReload, NotClientRedirect); |
| } |
| void InspectorPageAgent::navigate(ErrorString*, const String& url, String* outFrameId) |
| { |
| - LocalFrame* frame = m_page->deprecatedLocalMainFrame(); |
| - *outFrameId = frameId(frame); |
| + *outFrameId = frameId(mainFrame()); |
| } |
| static PassRefPtr<TypeBuilder::Page::Cookie> buildObjectForCookie(const Cookie& cookie) |
| @@ -722,7 +721,7 @@ void InspectorPageAgent::getCookies(ErrorString*, RefPtr<TypeBuilder::Array<Type |
| void InspectorPageAgent::deleteCookie(ErrorString*, const String& cookieName, const String& url) |
| { |
| KURL parsedURL(ParsedURLString, url); |
| - for (Frame* frame = m_page->mainFrame(); frame; frame = frame->tree().traverseNext(m_page->mainFrame())) { |
| + for (Frame* frame = mainFrame(); frame; frame = frame->tree().traverseNext(mainFrame())) { |
| if (frame->isLocalFrame()) |
| blink::deleteCookie(toLocalFrame(frame)->document(), parsedURL, cookieName); |
| } |
| @@ -730,7 +729,7 @@ void InspectorPageAgent::deleteCookie(ErrorString*, const String& cookieName, co |
| void InspectorPageAgent::getResourceTree(ErrorString*, RefPtr<TypeBuilder::Page::FrameResourceTree>& object) |
| { |
| - object = buildObjectForFrameTree(m_page->deprecatedLocalMainFrame()); |
| + object = buildObjectForFrameTree(mainFrame()); |
| } |
| void InspectorPageAgent::getResourceContentAfterResourcesContentLoaded(const String& frameId, const String& url, PassRefPtrWillBeRawPtr<GetResourceContentCallback> callback) |
| @@ -909,7 +908,7 @@ void InspectorPageAgent::setShowPaintRects(ErrorString*, bool show) |
| m_state->setBoolean(PageAgentState::pageAgentShowPaintRects, show); |
| m_client->setShowPaintRects(show); |
| - if (!show && mainFrame() && mainFrame()->view()) |
| + if (!show && mainFrame() && mainFrame()->isMainFrame() && mainFrame()->view()) |
| mainFrame()->view()->invalidate(); |
| } |
| @@ -999,24 +998,21 @@ void InspectorPageAgent::didClearDocumentOfWindowObject(LocalFrame* frame) |
| void InspectorPageAgent::domContentLoadedEventFired(LocalFrame* frame) |
| { |
| - if (!frame->isMainFrame()) |
| + if (frame != mainFrame()) |
| return; |
| m_frontend->domContentEventFired(currentTime()); |
| } |
| void InspectorPageAgent::loadEventFired(LocalFrame* frame) |
| { |
| - if (!frame->isMainFrame()) |
| + if (frame != mainFrame()) |
| return; |
| m_frontend->loadEventFired(currentTime()); |
| } |
| void InspectorPageAgent::didCommitLoad(LocalFrame*, DocumentLoader* loader) |
| { |
| - // FIXME: If "frame" is always guaranteed to be in the same Page as loader->frame() |
| - // then all we need to check here is loader->frame()->isMainFrame() |
| - // and we don't need "frame" at all. |
| - if (loader->frame() == m_page->mainFrame()) { |
| + if (loader->frame() == mainFrame()) { |
| m_scriptToEvaluateOnLoadOnce = m_pendingScriptToEvaluateOnLoadOnce; |
| m_scriptPreprocessorSource = m_pendingScriptPreprocessor; |
| m_pendingScriptToEvaluateOnLoadOnce = String(); |
| @@ -1046,6 +1042,11 @@ void InspectorPageAgent::frameDetachedFromParent(LocalFrame* frame) |
| } |
| } |
| +FrameHost* InspectorPageAgent::frameHost() |
| +{ |
| + return &m_page->frameHost(); |
| +} |
| + |
| LocalFrame* InspectorPageAgent::mainFrame() |
| { |
| return m_page->deprecatedLocalMainFrame(); |
| @@ -1088,8 +1089,7 @@ String InspectorPageAgent::loaderId(DocumentLoader* loader) |
| LocalFrame* InspectorPageAgent::findFrameWithSecurityOrigin(const String& originRawString) |
| { |
| - for (Frame* frame = m_page->mainFrame(); frame; frame = frame->tree().traverseNext()) { |
| - // FIXME: RemoteFrame security origins are not yet available. |
| + for (Frame* frame = mainFrame(); frame; frame = frame->tree().traverseNext(mainFrame())) { |
| if (!frame->isLocalFrame()) |
| continue; |
| RefPtr<SecurityOrigin> documentOrigin = toLocalFrame(frame)->document()->securityOrigin(); |
| @@ -1217,10 +1217,10 @@ void InspectorPageAgent::didScroll() |
| void InspectorPageAgent::viewportChanged() |
| { |
| - if (!m_enabled || !m_deviceMetricsOverridden) |
| + if (!m_enabled || !m_deviceMetricsOverridden || !mainFrame()->isMainFrame()) |
| return; |
| - IntSize contentsSize = m_page->deprecatedLocalMainFrame()->view()->contentsSize(); |
| - IntRect viewRect = m_page->deprecatedLocalMainFrame()->view()->visibleContentRect(); |
| + IntSize contentsSize = mainFrame()->view()->contentsSize(); |
| + IntRect viewRect = mainFrame()->view()->visibleContentRect(); |
| RefPtr<TypeBuilder::Page::Viewport> viewport = TypeBuilder::Page::Viewport::create() |
| .setScrollX(viewRect.x()) |
| .setScrollY(viewRect.y()) |
| @@ -1234,6 +1234,8 @@ void InspectorPageAgent::viewportChanged() |
| void InspectorPageAgent::didResizeMainFrame() |
| { |
| + if (!mainFrame()->isMainFrame()) |
|
yurys
2015/02/03 06:44:00
How can main frame be not not main frame?
pfeldman
2015/02/03 07:09:16
That is the largest controversy of this change. ma
|
| + return; |
| #if !OS(ANDROID) |
| if (m_enabled && m_state->getBoolean(PageAgentState::showSizeOnResize)) |
| m_overlay->showAndHideViewSize(m_state->getBoolean(PageAgentState::showGridOnResize)); |
| @@ -1346,6 +1348,8 @@ void InspectorPageAgent::updateViewMetrics(bool enabled, int width, int height, |
| { |
| if (enabled && !m_page->settings().acceleratedCompositingEnabled()) |
| return; |
| + if (!mainFrame()->isMainFrame()) |
| + return; |
| m_deviceMetricsOverridden = enabled; |
| m_emulateMobileEnabled = mobile; |
| @@ -1377,6 +1381,8 @@ void InspectorPageAgent::updateViewMetrics(bool enabled, int width, int height, |
| void InspectorPageAgent::updateTouchEventEmulationInPage(bool enabled) |
| { |
| + if (!mainFrame()->isMainFrame()) |
| + return; |
| if (!m_touchEmulationEnabled) { |
| m_originalTouchEnabled = RuntimeEnabledFeatures::touchEnabled(); |
| m_originalDeviceSupportsMouse = m_page->settings().deviceSupportsMouse(); |
| @@ -1392,7 +1398,7 @@ void InspectorPageAgent::updateTouchEventEmulationInPage(bool enabled) |
| } |
| m_touchEmulationEnabled = enabled; |
| m_client->setTouchEventEmulationEnabled(enabled); |
| - m_page->deprecatedLocalMainFrame()->view()->layout(); |
| + mainFrame()->view()->layout(); |
| } |
| void InspectorPageAgent::setTouchEmulationEnabled(ErrorString*, bool enabled, const String* configuration) |
| @@ -1406,14 +1412,14 @@ void InspectorPageAgent::setTouchEmulationEnabled(ErrorString*, bool enabled, co |
| void InspectorPageAgent::setEmulatedMedia(ErrorString*, const String& media) |
| { |
| + if (!mainFrame()->isMainFrame()) |
| + return; |
| String currentMedia = m_state->getString(PageAgentState::pageAgentEmulatedMedia); |
| if (media == currentMedia) |
| return; |
| m_state->setString(PageAgentState::pageAgentEmulatedMedia, media); |
| - Document* document = 0; |
| - if (m_page->mainFrame()) |
| - document = m_page->deprecatedLocalMainFrame()->document(); |
| + Document* document = mainFrame()->document(); |
| if (document) { |
| document->mediaQueryAffectingValueChanged(); |
| document->styleResolverChanged(); |
| @@ -1474,12 +1480,12 @@ void InspectorPageAgent::setOverlayMessage(ErrorString*, const String* message) |
| void InspectorPageAgent::animationsPlaybackRate(ErrorString*, double* playbackRate) |
| { |
| - *playbackRate = toLocalFrame(m_page->mainFrame())->document()->timeline().playbackRate(); |
| + *playbackRate = mainFrame()->document()->timeline().playbackRate(); |
| } |
| void InspectorPageAgent::setAnimationsPlaybackRate(ErrorString*, double playbackRate) |
| { |
| - for (Frame* frame = m_page->mainFrame(); frame; frame = frame->tree().traverseNext()) { |
| + for (Frame* frame = mainFrame(); frame; frame = frame->tree().traverseNext(mainFrame())) { |
| if (frame->isLocalFrame()) |
| toLocalFrame(frame)->document()->timeline().setPlaybackRate(playbackRate); |
| } |