Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(493)

Unified Diff: third_party/WebKit/Source/web/InspectorOverlay.cpp

Issue 2218603003: Timeline: show white overlay till page being reloaded paints (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: cleanup Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/web/InspectorOverlay.cpp
diff --git a/third_party/WebKit/Source/web/InspectorOverlay.cpp b/third_party/WebKit/Source/web/InspectorOverlay.cpp
index e30b2572f5a5a89326ddc67829fb3dc32489cd8a..8b43c3dc2113cacbaaadb7c7a2632377d73cbb74 100644
--- a/third_party/WebKit/Source/web/InspectorOverlay.cpp
+++ b/third_party/WebKit/Source/web/InspectorOverlay.cpp
@@ -173,6 +173,7 @@ private:
InspectorOverlay::InspectorOverlay(WebViewImpl* webViewImpl)
: m_webViewImpl(webViewImpl)
+ , m_messageType(MessageType::Empty)
, m_overlayHost(InspectorOverlayHost::create())
, m_drawViewSize(false)
, m_resizeTimerActive(false)
@@ -290,10 +291,31 @@ bool InspectorOverlay::handleInputEvent(const WebInputEvent& inputEvent)
void InspectorOverlay::setPausedInDebuggerMessage(const String& message)
{
- m_pausedInDebuggerMessage = message;
+ m_message = message;
+ m_messageType = message.isNull() ? MessageType::Empty : MessageType::PausedInDebugger;
scheduleUpdate();
}
+void InspectorOverlay::setReloadingBanner(const String& message)
+{
+ DCHECK(!message.isNull());
+ m_message = message;
+ m_messageType = MessageType::Reloading;
+ scheduleUpdate();
+}
+
+void InspectorOverlay::maybeClearReloadingBanner()
+{
+ if (m_messageType != MessageType::Reloading)
+ return;
+ m_message = String();
+ m_messageType = MessageType::Empty;
+ if (m_suspended)
+ clearInternal();
+ else
+ scheduleUpdate();
+}
+
void InspectorOverlay::hideHighlight()
{
m_highlightNode.clear();
@@ -354,9 +376,9 @@ void InspectorOverlay::highlightQuad(std::unique_ptr<FloatQuad> quad, const Insp
bool InspectorOverlay::isEmpty()
{
- if (m_suspended)
+ if (m_suspended && m_messageType != MessageType::Reloading)
return true;
- bool hasVisibleElements = m_highlightNode || m_eventTargetNode || m_highlightQuad || (m_resizeTimerActive && m_drawViewSize) || !m_pausedInDebuggerMessage.isNull();
+ bool hasVisibleElements = m_highlightNode || m_eventTargetNode || m_highlightQuad || (m_resizeTimerActive && m_drawViewSize) || !m_message.isNull();
return !hasVisibleElements && m_inspectMode == InspectorDOMAgent::NotSearching;
}
@@ -390,7 +412,7 @@ void InspectorOverlay::rebuildOverlayPage()
drawNodeHighlight();
drawQuadHighlight();
- drawPausedInDebuggerMessage();
+ drawMessages();
drawViewSize();
if (m_layoutEditor && !m_highlightNode)
m_layoutEditor->rebuild();
@@ -445,10 +467,12 @@ void InspectorOverlay::drawQuadHighlight()
evaluateInOverlay("drawHighlight", highlight.asProtocolValue());
}
-void InspectorOverlay::drawPausedInDebuggerMessage()
+void InspectorOverlay::drawMessages()
{
- if (m_inspectMode == InspectorDOMAgent::NotSearching && !m_pausedInDebuggerMessage.isNull())
- evaluateInOverlay("drawPausedInDebuggerMessage", m_pausedInDebuggerMessage);
+ if (!m_suspended && m_inspectMode == InspectorDOMAgent::NotSearching && m_messageType == MessageType::PausedInDebugger)
+ evaluateInOverlay("drawPausedInDebuggerMessage", m_message);
+ else if (m_messageType == MessageType::Reloading)
+ evaluateInOverlay("drawReloadingMessage", m_message);
}
void InspectorOverlay::drawViewSize()
@@ -593,7 +617,7 @@ void InspectorOverlay::clearInternal()
m_overlayChromeClient.clear();
}
m_resizeTimerActive = false;
- m_pausedInDebuggerMessage = String();
+ m_message = String();
m_inspectMode = InspectorDOMAgent::NotSearching;
m_timer.stop();
hideHighlight();
@@ -672,10 +696,10 @@ void InspectorOverlay::overlayClearSelection(bool commitChanges)
void InspectorOverlay::suspend()
{
- if (!m_suspended) {
- m_suspended = true;
- clearInternal();
- }
+ if (m_suspended)
+ return;
+ m_suspended = true;
+ clearInternal();
}
void InspectorOverlay::resume()

Powered by Google App Engine
This is Rietveld 408576698