| Index: Source/web/WebViewImpl.cpp
|
| diff --git a/Source/web/WebViewImpl.cpp b/Source/web/WebViewImpl.cpp
|
| index c65c4c3bb1d731ef5044b342aae7e0270452eeba..cb9dffd1e206af266b3f435d6af72c157767036f 100644
|
| --- a/Source/web/WebViewImpl.cpp
|
| +++ b/Source/web/WebViewImpl.cpp
|
| @@ -443,7 +443,7 @@ WebViewImpl::~WebViewImpl()
|
|
|
| WebLocalFrameImpl* WebViewImpl::mainFrameImpl()
|
| {
|
| - return m_page ? WebLocalFrameImpl::fromFrame(m_page->mainFrame()) : 0;
|
| + return m_page && m_page->mainFrame()->isLocalFrame() ? WebLocalFrameImpl::fromFrame(m_page->deprecatedLocalMainFrame()) : 0;
|
| }
|
|
|
| bool WebViewImpl::tabKeyCyclesThroughElements() const
|
| @@ -485,9 +485,9 @@ void WebViewImpl::handleMouseDown(LocalFrame& mainFrame, const WebMouseEvent& ev
|
| // If the hit node is a plugin but a scrollbar is over it don't start mouse
|
| // capture because it will interfere with the scrollbar receiving events.
|
| IntPoint point(event.x, event.y);
|
| - if (event.button == WebMouseEvent::ButtonLeft && !m_page->mainFrame()->view()->scrollbarAtPoint(point)) {
|
| - point = m_page->mainFrame()->view()->windowToContents(point);
|
| - HitTestResult result(m_page->mainFrame()->eventHandler().hitTestResultAtPoint(point));
|
| + if (event.button == WebMouseEvent::ButtonLeft && m_page->mainFrame()->isLocalFrame() && !m_page->deprecatedLocalMainFrame()->view()->scrollbarAtPoint(point)) {
|
| + point = m_page->deprecatedLocalMainFrame()->view()->windowToContents(point);
|
| + HitTestResult result(m_page->deprecatedLocalMainFrame()->eventHandler().hitTestResultAtPoint(point));
|
| Node* hitNode = result.innerNonSharedNode();
|
|
|
| if (!result.scrollbar() && hitNode && hitNode->renderer() && hitNode->renderer()->isEmbeddedObject()) {
|
| @@ -597,8 +597,8 @@ bool WebViewImpl::scrollBy(const WebFloatSize& delta, const WebFloatSize& veloci
|
| syntheticWheel.globalY = m_globalPositionOnFlingStart.y;
|
| syntheticWheel.modifiers = m_flingModifier;
|
|
|
| - if (m_page && m_page->mainFrame() && m_page->mainFrame()->view())
|
| - return handleMouseWheel(*m_page->mainFrame(), syntheticWheel);
|
| + if (m_page && m_page->mainFrame() && m_page->mainFrame()->isLocalFrame() && m_page->deprecatedLocalMainFrame()->view())
|
| + return handleMouseWheel(*m_page->deprecatedLocalMainFrame(), syntheticWheel);
|
| } else {
|
| WebGestureEvent syntheticGestureEvent;
|
|
|
| @@ -612,7 +612,7 @@ bool WebViewImpl::scrollBy(const WebFloatSize& delta, const WebFloatSize& veloci
|
| syntheticGestureEvent.modifiers = m_flingModifier;
|
| syntheticGestureEvent.sourceDevice = WebGestureDeviceTouchscreen;
|
|
|
| - if (m_page && m_page->mainFrame() && m_page->mainFrame()->view())
|
| + if (m_page && m_page->mainFrame() && m_page->mainFrame()->isLocalFrame() && m_page->deprecatedLocalMainFrame()->view())
|
| return handleGestureEvent(syntheticGestureEvent);
|
| }
|
| return false;
|
| @@ -1171,16 +1171,16 @@ static bool invokesHandCursor(Node* node, LocalFrame* frame)
|
|
|
| Node* WebViewImpl::bestTapNode(const PlatformGestureEvent& tapEvent)
|
| {
|
| - if (!m_page || !m_page->mainFrame())
|
| + if (!m_page || !m_page->mainFrame() || !m_page->mainFrame()->isLocalFrame())
|
| return 0;
|
|
|
| Node* bestTouchNode = 0;
|
|
|
| IntPoint touchEventLocation(tapEvent.position());
|
| - m_page->mainFrame()->eventHandler().adjustGesturePosition(tapEvent, touchEventLocation);
|
| + m_page->deprecatedLocalMainFrame()->eventHandler().adjustGesturePosition(tapEvent, touchEventLocation);
|
|
|
| - IntPoint hitTestPoint = m_page->mainFrame()->view()->windowToContents(touchEventLocation);
|
| - HitTestResult result = m_page->mainFrame()->eventHandler().hitTestResultAtPoint(hitTestPoint, HitTestRequest::TouchEvent | HitTestRequest::ConfusingAndOftenMisusedDisallowShadowContent);
|
| + IntPoint hitTestPoint = m_page->deprecatedLocalMainFrame()->view()->windowToContents(touchEventLocation);
|
| + HitTestResult result = m_page->deprecatedLocalMainFrame()->eventHandler().hitTestResultAtPoint(hitTestPoint, HitTestRequest::TouchEvent | HitTestRequest::ConfusingAndOftenMisusedDisallowShadowContent);
|
| bestTouchNode = result.targetNode();
|
|
|
| // We might hit something like an image map that has no renderer on it
|
| @@ -1190,14 +1190,14 @@ Node* WebViewImpl::bestTapNode(const PlatformGestureEvent& tapEvent)
|
|
|
| // Check if we're in the subtree of a node with a hand cursor
|
| // this is the heuristic we use to determine if we show a highlight on tap
|
| - while (bestTouchNode && !invokesHandCursor(bestTouchNode, m_page->mainFrame()))
|
| + while (bestTouchNode && !invokesHandCursor(bestTouchNode, m_page->deprecatedLocalMainFrame()))
|
| bestTouchNode = bestTouchNode->parentNode();
|
|
|
| if (!bestTouchNode)
|
| return 0;
|
|
|
| // We should pick the largest enclosing node with hand cursor set.
|
| - while (bestTouchNode->parentNode() && invokesHandCursor(bestTouchNode->parentNode(), m_page->mainFrame()))
|
| + while (bestTouchNode->parentNode() && invokesHandCursor(bestTouchNode->parentNode(), toLocalFrame(m_page->mainFrame())))
|
| bestTouchNode = bestTouchNode->parentNode();
|
|
|
| return bestTouchNode;
|
| @@ -1540,8 +1540,10 @@ void WebViewImpl::close()
|
| if (m_page) {
|
| // Initiate shutdown for the entire frameset. This will cause a lot of
|
| // notifications to be sent.
|
| - if (m_page->mainFrame())
|
| - m_page->mainFrame()->loader().frameDetached();
|
| + // FIXME: This is redundant with willBeDestroyed()... is this really
|
| + // needed?
|
| + if (m_page->mainFrame()->isLocalFrame())
|
| + m_page->deprecatedLocalMainFrame()->loader().frameDetached();
|
|
|
| m_page->willBeDestroyed();
|
| m_page.clear();
|
| @@ -1747,7 +1749,7 @@ void WebViewImpl::paintCompositedDeprecated(WebCanvas* canvas, const WebRect& re
|
| // the compositor.
|
| ASSERT(isAcceleratedCompositingActive());
|
|
|
| - FrameView* view = page()->mainFrame()->view();
|
| + FrameView* view = page()->deprecatedLocalMainFrame()->view();
|
| PaintBehavior oldPaintBehavior = view->paintBehavior();
|
| view->setPaintBehavior(oldPaintBehavior | PaintBehaviorFlattenCompositingLayers);
|
|
|
| @@ -1767,7 +1769,9 @@ bool WebViewImpl::isTrackingRepaints() const
|
| {
|
| if (!page())
|
| return false;
|
| - FrameView* view = page()->mainFrame()->view();
|
| + if (!page()->mainFrame()->isLocalFrame())
|
| + return false;
|
| + FrameView* view = page()->deprecatedLocalMainFrame()->view();
|
| return view->isTrackingPaintInvalidations();
|
| }
|
|
|
| @@ -1775,7 +1779,9 @@ void WebViewImpl::themeChanged()
|
| {
|
| if (!page())
|
| return;
|
| - FrameView* view = page()->mainFrame()->view();
|
| + if (!page()->mainFrame()->isLocalFrame())
|
| + return;
|
| + FrameView* view = page()->deprecatedLocalMainFrame()->view();
|
|
|
| WebRect damagedRect(0, 0, m_size.width, m_size.height);
|
| view->invalidateRect(damagedRect);
|
| @@ -1967,7 +1973,8 @@ void WebViewImpl::setFocus(bool enable)
|
| if (!m_page)
|
| return;
|
|
|
| - LocalFrame* frame = m_page->mainFrame();
|
| + LocalFrame* frame = m_page->mainFrame() && m_page->mainFrame()->isLocalFrame()
|
| + ? m_page->deprecatedLocalMainFrame() : 0;
|
| if (!frame)
|
| return;
|
|
|
| @@ -2354,7 +2361,9 @@ WebColor WebViewImpl::backgroundColor() const
|
| return m_baseBackgroundColor;
|
| if (!m_page->mainFrame())
|
| return m_baseBackgroundColor;
|
| - FrameView* view = m_page->mainFrame()->view();
|
| + if (!m_page->mainFrame()->isLocalFrame())
|
| + return m_baseBackgroundColor;
|
| + FrameView* view = m_page->deprecatedLocalMainFrame()->view();
|
| return view->documentBackgroundColor().rgb();
|
| }
|
|
|
| @@ -2461,11 +2470,14 @@ WebString WebViewImpl::pageEncoding() const
|
| if (!m_page)
|
| return WebString();
|
|
|
| + if (!m_page->mainFrame()->isLocalFrame())
|
| + return WebString();
|
| +
|
| // FIXME: Is this check needed?
|
| - if (!m_page->mainFrame()->document()->loader())
|
| + if (!m_page->deprecatedLocalMainFrame()->document()->loader())
|
| return WebString();
|
|
|
| - return m_page->mainFrame()->document()->encodingName();
|
| + return m_page->deprecatedLocalMainFrame()->document()->encodingName();
|
| }
|
|
|
| void WebViewImpl::setPageEncoding(const WebString& encodingName)
|
| @@ -2473,16 +2485,21 @@ void WebViewImpl::setPageEncoding(const WebString& encodingName)
|
| if (!m_page)
|
| return;
|
|
|
| + if (!m_page->mainFrame()->isLocalFrame())
|
| + return;
|
| +
|
| // Only change override encoding, don't change default encoding.
|
| // Note that the new encoding must be 0 if it isn't supposed to be set.
|
| AtomicString newEncodingName;
|
| if (!encodingName.isEmpty())
|
| newEncodingName = encodingName;
|
| - m_page->mainFrame()->loader().reload(NormalReload, KURL(), newEncodingName);
|
| + m_page->deprecatedLocalMainFrame()->loader().reload(NormalReload, KURL(), newEncodingName);
|
| }
|
|
|
| WebFrame* WebViewImpl::mainFrame()
|
| {
|
| + // FIXME: This should be updated so it can return both WebLocalFrames and
|
| + // WebRemoteFrames. Right now, it only returns WebLocalFrames.
|
| return mainFrameImpl();
|
| }
|
|
|
| @@ -2559,7 +2576,8 @@ void WebViewImpl::clearFocusedElement()
|
|
|
| void WebViewImpl::scrollFocusedNodeIntoRect(const WebRect& rect)
|
| {
|
| - LocalFrame* frame = page()->mainFrame();
|
| + LocalFrame* frame = page()->mainFrame() && page()->mainFrame()->isLocalFrame()
|
| + ? page()->deprecatedLocalMainFrame() : 0;
|
| Element* element = focusedElement();
|
| if (!frame || !frame->view() || !element)
|
| return;
|
| @@ -2889,9 +2907,9 @@ void WebViewImpl::setIgnoreViewportTagScaleLimits(bool ignore)
|
|
|
| void WebViewImpl::refreshPageScaleFactorAfterLayout()
|
| {
|
| - if (!mainFrame() || !page() || !page()->mainFrame() || !page()->mainFrame()->view())
|
| + if (!mainFrame() || !page() || !page()->mainFrame() || !page()->mainFrame()->isLocalFrame() || !page()->deprecatedLocalMainFrame()->view())
|
| return;
|
| - FrameView* view = page()->mainFrame()->view();
|
| + FrameView* view = page()->deprecatedLocalMainFrame()->view();
|
|
|
| updatePageDefinedViewportConstraints(mainFrameImpl()->frame()->document()->viewportDescription());
|
| m_pageScaleConstraintsSet.computeFinalConstraints();
|
| @@ -2923,10 +2941,10 @@ void WebViewImpl::refreshPageScaleFactorAfterLayout()
|
|
|
| void WebViewImpl::updatePageDefinedViewportConstraints(const ViewportDescription& description)
|
| {
|
| - if (!settings()->viewportEnabled() || !page() || (!m_size.width && !m_size.height))
|
| + if (!settings()->viewportEnabled() || !page() || (!m_size.width && !m_size.height) || !page()->mainFrame()->isLocalFrame())
|
| return;
|
|
|
| - Document* document = page()->mainFrame()->document();
|
| + Document* document = page()->deprecatedLocalMainFrame()->document();
|
|
|
| if (settingsImpl()->useExpandedHeuristicsForGpuRasterization()) {
|
| m_matchesHeuristicsForGpuRasterization = description.maxWidth == Length(DeviceWidth)
|
| @@ -2980,7 +2998,7 @@ void WebViewImpl::updatePageDefinedViewportConstraints(const ViewportDescription
|
|
|
| updateMainFrameLayoutSize();
|
|
|
| - if (LocalFrame* frame = page()->mainFrame()) {
|
| + if (LocalFrame* frame = page()->deprecatedLocalMainFrame()) {
|
| if (FastTextAutosizer* textAutosizer = frame->document()->fastTextAutosizer())
|
| textAutosizer->updatePageInfoInAllFrames();
|
| }
|
| @@ -3002,7 +3020,7 @@ void WebViewImpl::updateMainFrameLayoutSize()
|
|
|
| bool textAutosizingEnabled = page()->settings().textAutosizingEnabled();
|
| if (textAutosizingEnabled && layoutSize.width != view->layoutSize().width()) {
|
| - if (TextAutosizer* textAutosizer = page()->mainFrame()->document()->textAutosizer())
|
| + if (TextAutosizer* textAutosizer = page()->deprecatedLocalMainFrame()->document()->textAutosizer())
|
| textAutosizer->recalculateMultipliers();
|
| }
|
| }
|
| @@ -3012,7 +3030,9 @@ void WebViewImpl::updateMainFrameLayoutSize()
|
|
|
| IntSize WebViewImpl::contentsSize() const
|
| {
|
| - RenderView* root = page()->mainFrame()->contentRenderer();
|
| + if (!page()->mainFrame()->isLocalFrame())
|
| + return IntSize();
|
| + RenderView* root = page()->deprecatedLocalMainFrame()->contentRenderer();
|
| if (!root)
|
| return IntSize();
|
| return root->documentRect().size();
|
| @@ -3020,7 +3040,7 @@ IntSize WebViewImpl::contentsSize() const
|
|
|
| WebSize WebViewImpl::contentsPreferredMinimumSize()
|
| {
|
| - Document* document = m_page->mainFrame()->document();
|
| + Document* document = m_page->mainFrame()->isLocalFrame() ? m_page->deprecatedLocalMainFrame()->document() : 0;
|
| if (!document || !document->renderView() || !document->documentElement())
|
| return WebSize();
|
|
|
| @@ -3049,22 +3069,25 @@ void WebViewImpl::resetScrollAndScaleState()
|
| updateMainFrameScrollPosition(IntPoint(), true);
|
| page()->frameHost().pinchViewport().reset();
|
|
|
| + if (!page()->mainFrame()->isLocalFrame())
|
| + return;
|
| +
|
| // Clear out the values for the current history item. This will prevent the history item from clobbering the
|
| // value determined during page scale initialization, which may be less than 1.
|
| - page()->mainFrame()->loader().clearScrollPositionAndViewState();
|
| + page()->deprecatedLocalMainFrame()->loader().clearScrollPositionAndViewState();
|
| m_pageScaleConstraintsSet.setNeedsReset(true);
|
|
|
| // Clobber saved scales and scroll offsets.
|
| - if (FrameView* view = page()->mainFrame()->document()->view())
|
| + if (FrameView* view = page()->deprecatedLocalMainFrame()->document()->view())
|
| view->cacheCurrentScrollPosition();
|
| }
|
|
|
| void WebViewImpl::setFixedLayoutSize(const WebSize& layoutSize)
|
| {
|
| - if (!page())
|
| + if (!page() || !page()->mainFrame()->isLocalFrame())
|
| return;
|
|
|
| - LocalFrame* frame = page()->mainFrame();
|
| + LocalFrame* frame = page()->deprecatedLocalMainFrame();
|
| if (!frame)
|
| return;
|
|
|
| @@ -3162,7 +3185,7 @@ void WebViewImpl::copyImageAt(const WebPoint& point)
|
| return;
|
| }
|
|
|
| - m_page->mainFrame()->editor().copyImage(result);
|
| + m_page->deprecatedLocalMainFrame()->editor().copyImage(result);
|
| }
|
|
|
| void WebViewImpl::saveImageAt(const WebPoint& point)
|
| @@ -3176,7 +3199,7 @@ void WebViewImpl::saveImageAt(const WebPoint& point)
|
| return;
|
|
|
| ResourceRequest request(url);
|
| - m_page->mainFrame()->loader().client()->loadURLExternally(
|
| + m_page->deprecatedLocalMainFrame()->loader().client()->loadURLExternally(
|
| request, NavigationPolicyDownloadTo, WebString());
|
| }
|
|
|
| @@ -3189,7 +3212,7 @@ void WebViewImpl::dragSourceEndedAt(
|
| screenPoint,
|
| LeftButton, PlatformEvent::MouseMoved, 0, false, false, false,
|
| false, 0);
|
| - m_page->mainFrame()->eventHandler().dragSourceEndedAt(pme,
|
| + m_page->deprecatedLocalMainFrame()->eventHandler().dragSourceEndedAt(pme,
|
| static_cast<DragOperation>(operation));
|
| }
|
|
|
| @@ -3372,12 +3395,12 @@ void WebViewImpl::inspectElementAt(const WebPoint& point)
|
| dummyEvent.type = WebInputEvent::MouseDown;
|
| dummyEvent.x = point.x;
|
| dummyEvent.y = point.y;
|
| - IntPoint transformedPoint = PlatformMouseEventBuilder(m_page->mainFrame()->view(), dummyEvent).position();
|
| - HitTestResult result(m_page->mainFrame()->view()->windowToContents(transformedPoint));
|
| - m_page->mainFrame()->contentRenderer()->hitTest(request, result);
|
| + IntPoint transformedPoint = PlatformMouseEventBuilder(m_page->deprecatedLocalMainFrame()->view(), dummyEvent).position();
|
| + HitTestResult result(m_page->deprecatedLocalMainFrame()->view()->windowToContents(transformedPoint));
|
| + m_page->deprecatedLocalMainFrame()->contentRenderer()->hitTest(request, result);
|
| Node* node = result.innerNode();
|
| - if (!node && m_page->mainFrame()->document())
|
| - node = m_page->mainFrame()->document()->documentElement();
|
| + if (!node && m_page->deprecatedLocalMainFrame()->document())
|
| + node = m_page->deprecatedLocalMainFrame()->document()->documentElement();
|
| m_page->inspectorController().inspect(node);
|
| }
|
| }
|
| @@ -3510,8 +3533,8 @@ void WebViewImpl::setBaseBackgroundColor(WebColor color)
|
|
|
| m_baseBackgroundColor = color;
|
|
|
| - if (m_page->mainFrame())
|
| - m_page->mainFrame()->view()->setBaseBackgroundColor(color);
|
| + if (m_page->mainFrame() && m_page->mainFrame()->isLocalFrame())
|
| + m_page->deprecatedLocalMainFrame()->view()->setBaseBackgroundColor(color);
|
|
|
| updateLayerTreeBackgroundColor();
|
| }
|
| @@ -3582,10 +3605,13 @@ void WebViewImpl::willInsertBody(WebLocalFrameImpl* webframe)
|
| if (webframe != mainFrameImpl())
|
| return;
|
|
|
| + if (!m_page->mainFrame()->isLocalFrame())
|
| + return;
|
| +
|
| // If we get to the <body> tag and we have no pending stylesheet and import load, we
|
| // can be fairly confident we'll have something sensible to paint soon and
|
| // can turn off deferred commits.
|
| - if (m_page->mainFrame()->document()->isRenderingReady())
|
| + if (m_page->deprecatedLocalMainFrame()->document()->isRenderingReady())
|
| resumeTreeViewCommits();
|
| }
|
|
|
| @@ -3692,14 +3718,17 @@ void WebViewImpl::setOverlayLayer(WebCore::GraphicsLayer* layer)
|
| if (!m_rootGraphicsLayer)
|
| return;
|
|
|
| + if (!m_page->mainFrame()->isLocalFrame())
|
| + return;
|
| +
|
| if (pinchVirtualViewportEnabled()) {
|
| - m_page->mainFrame()->view()->renderView()->compositor()->setOverlayLayer(layer);
|
| + m_page->deprecatedLocalMainFrame()->view()->renderView()->compositor()->setOverlayLayer(layer);
|
| return;
|
| }
|
|
|
| // FIXME(bokan): This path goes away after virtual viewport pinch is enabled everywhere.
|
| if (!m_rootTransformLayer)
|
| - m_rootTransformLayer = m_page->mainFrame()->view()->renderView()->compositor()->ensureRootTransformLayer();
|
| + m_rootTransformLayer = m_page->deprecatedLocalMainFrame()->view()->renderView()->compositor()->ensureRootTransformLayer();
|
|
|
| if (m_rootTransformLayer) {
|
| if (layer->parent() != m_rootTransformLayer)
|
| @@ -3722,8 +3751,10 @@ Element* WebViewImpl::focusedElement() const
|
|
|
| HitTestResult WebViewImpl::hitTestResultForWindowPos(const IntPoint& pos)
|
| {
|
| - IntPoint docPoint(m_page->mainFrame()->view()->windowToContents(pos));
|
| - return m_page->mainFrame()->eventHandler().hitTestResultAtPoint(docPoint, HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::ConfusingAndOftenMisusedDisallowShadowContent);
|
| + if (!m_page->mainFrame()->isLocalFrame())
|
| + return HitTestResult();
|
| + IntPoint docPoint(m_page->deprecatedLocalMainFrame()->view()->windowToContents(pos));
|
| + return m_page->deprecatedLocalMainFrame()->eventHandler().hitTestResultAtPoint(docPoint, HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::ConfusingAndOftenMisusedDisallowShadowContent);
|
| }
|
|
|
| void WebViewImpl::setTabsToLinks(bool enable)
|
| @@ -3821,10 +3852,11 @@ WebCore::RenderLayerCompositor* WebViewImpl::compositor() const
|
| {
|
| if (!page()
|
| || !page()->mainFrame()
|
| - || !page()->mainFrame()->document()
|
| - || !page()->mainFrame()->document()->renderView())
|
| + || !page()->mainFrame()->isLocalFrame()
|
| + || !page()->deprecatedLocalMainFrame()->document()
|
| + || !page()->deprecatedLocalMainFrame()->document()->renderView())
|
| return 0;
|
| - return page()->mainFrame()->document()->renderView()->compositor();
|
| + return page()->deprecatedLocalMainFrame()->document()->renderView()->compositor();
|
| }
|
|
|
| void WebViewImpl::registerForAnimations(WebLayer* layer)
|
| @@ -3915,13 +3947,16 @@ void WebViewImpl::setIsAcceleratedCompositingActive(bool active)
|
| m_page->updateAcceleratedCompositingSettings();
|
| }
|
| }
|
| - if (page())
|
| - page()->mainFrame()->view()->setClipsRepaints(!m_isAcceleratedCompositingActive);
|
| + if (page() && page()->mainFrame()->isLocalFrame())
|
| + page()->deprecatedLocalMainFrame()->view()->setClipsRepaints(!m_isAcceleratedCompositingActive);
|
| }
|
|
|
| void WebViewImpl::updateMainFrameScrollPosition(const IntPoint& scrollPosition, bool programmaticScroll)
|
| {
|
| - FrameView* frameView = page()->mainFrame()->view();
|
| + if (!page()->mainFrame()->isLocalFrame())
|
| + return;
|
| +
|
| + FrameView* frameView = page()->deprecatedLocalMainFrame()->view();
|
| if (!frameView)
|
| return;
|
|
|
| @@ -4003,8 +4038,8 @@ void WebViewImpl::updateRootLayerTransform()
|
|
|
| // FIXME(bokan): m_rootTransformLayer is always set here in pinch virtual viewport. This can go away once
|
| // that's default everywhere.
|
| - if (!m_rootTransformLayer)
|
| - m_rootTransformLayer = m_page->mainFrame()->view()->renderView()->compositor()->ensureRootTransformLayer();
|
| + if (!m_rootTransformLayer && m_page->mainFrame()->isLocalFrame())
|
| + m_rootTransformLayer = m_page->deprecatedLocalMainFrame()->view()->renderView()->compositor()->ensureRootTransformLayer();
|
|
|
| if (m_rootTransformLayer) {
|
| WebCore::TransformationMatrix transform;
|
|
|