WebKit Bugzilla
Attachment 370488 Details for
Bug 198088
: Web Inspector: Overlay: rulers/guides should be shown whenever element selection is enabled
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-198088-20190522223655.patch (text/plain), 5.33 KB, created by
Devin Rousso
on 2019-05-22 22:36:56 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Devin Rousso
Created:
2019-05-22 22:36:56 PDT
Size:
5.33 KB
patch
obsolete
>diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 18955cf57d9e224035c5658c020b1356e4b6a0c6..4d854a33641866f2b3bb304f01d160ffaa5bfb18 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,31 @@ >+2019-05-22 Devin Rousso <drousso@apple.com> >+ >+ Web Inspector: Overlay: rulers/guides should be shown whenever element selection is enabled >+ https://bugs.webkit.org/show_bug.cgi?id=198088 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ When trying to "measure" the absolute position (to the viewport) or relative position (to >+ another element) of a given element, often the easiest way is to enable Element Selection >+ and Show Rulers at the same time. >+ >+ This can have the undesired "side-effect" of having the rulers be always present, even when >+ not highlighting any nodes. >+ >+ The ideal functionality is that the Show Rulers toggle changes whether the overlay rulers >+ are always shown, but they are shown regardless when in element selection. >+ >+ * inspector/InspectorOverlay.h: >+ * inspector/InspectorOverlay.cpp: >+ (WebCore::InspectorOverlay::paint): >+ (WebCore::InspectorOverlay::didSetSearchingForNode): >+ (WebCore::InspectorOverlay::drawNodeHighlight): >+ (WebCore::InspectorOverlay::drawQuadHighlight): >+ (WebCore::InspectorOverlay::drawElementTitle): >+ >+ * inspector/agents/InspectorDOMAgent.cpp: >+ (WebCore::InspectorDOMAgent::setSearchingForNode): >+ > 2019-05-22 Antti Koivisto <antti@apple.com> > > Subselectors not searched when determining property whitelist for selector >diff --git a/Source/WebCore/inspector/InspectorOverlay.cpp b/Source/WebCore/inspector/InspectorOverlay.cpp >index c1bb55ab3e7b148e27212058c6e691b87e48db9e..d4441b6f29119d7a6ef9fe1a5b7e40e4a1ffd8d4 100644 >--- a/Source/WebCore/inspector/InspectorOverlay.cpp >+++ b/Source/WebCore/inspector/InspectorOverlay.cpp >@@ -403,7 +403,7 @@ void InspectorOverlay::paint(GraphicsContext& context) > if (!m_paintRects.isEmpty()) > drawPaintRects(context, m_paintRects); > >- if (m_showRulers) >+ if (m_showRulers || m_searchingForNode) > drawRulers(context); > } > >@@ -469,6 +469,8 @@ Node* InspectorOverlay::highlightedNode() const > > void InspectorOverlay::didSetSearchingForNode(bool enabled) > { >+ m_searchingForNode = enabled; >+ > m_client->didSetSearchingForNode(enabled); > } > >@@ -569,7 +571,7 @@ void InspectorOverlay::drawNodeHighlight(GraphicsContext& context, Node& node) > if (m_nodeHighlightConfig.showInfo) > drawShapeHighlight(context, node, bounds); > >- if (m_showRulers) >+ if (m_showRulers || m_searchingForNode) > drawBounds(context, bounds); > > // Ensure that the title information is drawn after the bounds. >@@ -587,7 +589,7 @@ void InspectorOverlay::drawQuadHighlight(GraphicsContext& context, const FloatQu > > drawOutlinedQuad(context, highlight.quads[0], highlight.contentColor, highlight.contentOutlineColor, bounds); > >- if (m_showRulers) >+ if (m_showRulers || m_searchingForNode) > drawBounds(context, bounds); > } > } >@@ -895,7 +897,7 @@ void InspectorOverlay::drawElementTitle(GraphicsContext& context, Node& node, co > > FloatSize contentInset(0, pageView->topContentInset(ScrollView::TopContentInsetType::WebCoreOrPlatformContentInset)); > contentInset.expand(elementDataSpacing, elementDataSpacing); >- if (m_showRulers) >+ if (m_showRulers || m_searchingForNode) > contentInset.expand(rulerSize, rulerSize); > > float anchorTop = bounds.y(); >diff --git a/Source/WebCore/inspector/InspectorOverlay.h b/Source/WebCore/inspector/InspectorOverlay.h >index e5cea118e85d0dbdee2bf9b72d553bd923f7696d..2d5668cdf4d8e08f366de8fcfd8c1cd9183562cb 100644 >--- a/Source/WebCore/inspector/InspectorOverlay.h >+++ b/Source/WebCore/inspector/InspectorOverlay.h >@@ -148,9 +148,10 @@ private: > Deque<TimeRectPair> m_paintRects; > Timer m_paintRectUpdateTimer; > >- bool m_indicating {false}; >- bool m_showPaintRects {false}; >- bool m_showRulers {false}; >+ bool m_indicating { false }; >+ bool m_searchingForNode { false }; >+ bool m_showPaintRects { false }; >+ bool m_showRulers { false }; > }; > > } // namespace WebCore >diff --git a/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp b/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp >index f345f15b7ae5bf6cc45823add29e4b67e4ac6700..3d4f53d90a06f9d4944f286dd82cb435ee7e1c45 100644 >--- a/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp >+++ b/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp >@@ -1154,7 +1154,9 @@ void InspectorDOMAgent::setSearchingForNode(ErrorString& errorString, bool enabl > > m_searchingForNode = enabled; > >- if (enabled) { >+ m_overlay->didSetSearchingForNode(m_searchingForNode); >+ >+ if (m_searchingForNode) { > m_inspectModeHighlightConfig = highlightConfigFromInspectorObject(errorString, highlightInspectorObject); > if (!m_inspectModeHighlightConfig) > return; >@@ -1162,8 +1164,6 @@ void InspectorDOMAgent::setSearchingForNode(ErrorString& errorString, bool enabl > } else > hideHighlight(errorString); > >- m_overlay->didSetSearchingForNode(m_searchingForNode); >- > if (InspectorClient* client = m_inspectedPage.inspectorController().inspectorClient()) > client->elementSelectionChanged(m_searchingForNode); > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 198088
:
370488
|
370535
|
370536