| Index: Source/web/WebViewImpl.cpp
|
| diff --git a/Source/web/WebViewImpl.cpp b/Source/web/WebViewImpl.cpp
|
| index 1316d1d0b49035fb105b58a4de4671584512f93d..d94e6a8279adfee517d38d1ef87a55db90018c2b 100644
|
| --- a/Source/web/WebViewImpl.cpp
|
| +++ b/Source/web/WebViewImpl.cpp
|
| @@ -294,7 +294,7 @@ private:
|
| }
|
| };
|
|
|
| -class ColorOverlay : public WebPageOverlay {
|
| +class ColorOverlay : public PageOverlay::Delegate {
|
| public:
|
| ColorOverlay(WebColor color)
|
| : m_color(color)
|
| @@ -1895,7 +1895,8 @@ void WebViewImpl::beginFrame(const WebBeginFrameArgs& frameTime)
|
| PageWidgetDelegate::animate(*m_page, validFrameTime.lastFrameTimeMonotonic, *m_page->deprecatedLocalMainFrame());
|
|
|
| if (m_continuousPaintingEnabled) {
|
| - ContinuousPainter::setNeedsDisplayRecursive(m_rootGraphicsLayer, m_pageOverlays.get());
|
| + GraphicsLayer* inspectorOverlayLayer = m_inspectorOverlay ? m_inspectorOverlay->graphicsLayer() : nullptr;
|
| + ContinuousPainter::setNeedsDisplayRecursive(m_rootGraphicsLayer, inspectorOverlayLayer);
|
| m_client->scheduleAnimation();
|
| }
|
| }
|
| @@ -3643,8 +3644,11 @@ void WebViewImpl::sendResizeEventAndRepaint()
|
| m_client->didInvalidateRect(damagedRect);
|
| }
|
| }
|
| - if (m_pageOverlays)
|
| - m_pageOverlays->update();
|
| + if (m_pageColorOverlay)
|
| + m_pageColorOverlay->update();
|
| + if (m_inspectorOverlay)
|
| + m_inspectorOverlay->updatePageOverlay();
|
| +
|
| m_devToolsEmulator->viewportChanged();
|
| }
|
|
|
| @@ -3979,32 +3983,16 @@ void WebViewImpl::setZoomFactorOverride(float zoomFactor)
|
| setZoomLevel(zoomLevel());
|
| }
|
|
|
| -void WebViewImpl::addPageOverlay(WebPageOverlay* overlay, int zOrder)
|
| -{
|
| - if (!m_pageOverlays)
|
| - m_pageOverlays = PageOverlayList::create(this);
|
| -
|
| - m_pageOverlays->add(overlay, zOrder);
|
| -}
|
| -
|
| void WebViewImpl::setPageOverlayColor(WebColor color)
|
| {
|
| - if (m_pageColorOverlay) {
|
| - removePageOverlay(m_pageColorOverlay.get());
|
| + if (m_pageColorOverlay)
|
| m_pageColorOverlay.clear();
|
| - }
|
|
|
| if (color == Color::transparent)
|
| return;
|
|
|
| - m_pageColorOverlay = adoptPtr(new ColorOverlay(color));
|
| - addPageOverlay(m_pageColorOverlay.get(), 0);
|
| -}
|
| -
|
| -void WebViewImpl::removePageOverlay(WebPageOverlay* overlay)
|
| -{
|
| - if (m_pageOverlays && m_pageOverlays->remove(overlay) && m_pageOverlays->empty())
|
| - m_pageOverlays = nullptr;
|
| + m_pageColorOverlay = PageOverlay::create(this, adoptPtr(new ColorOverlay(color)));
|
| + m_pageColorOverlay->update();
|
| }
|
|
|
| void WebViewImpl::setOverlayLayer(GraphicsLayer* layer)
|
| @@ -4102,9 +4090,10 @@ void WebViewImpl::setRootGraphicsLayer(GraphicsLayer* layer)
|
| // We register viewport layers here since there may not be a layer
|
| // tree view prior to this point.
|
| page()->frameHost().pinchViewport().registerLayersWithTreeView(m_layerTreeView);
|
| - if (m_pageOverlays)
|
| - m_pageOverlays->update();
|
| -
|
| + if (m_pageColorOverlay)
|
| + m_pageColorOverlay->update();
|
| + if (m_inspectorOverlay)
|
| + m_inspectorOverlay->updatePageOverlay();
|
| // TODO(enne): Work around page visibility changes not being
|
| // propogated to the WebView in some circumstances. This needs to
|
| // be refreshed here when setting a new root layer to avoid being
|
|
|