Title: [239247] trunk/Source/WebCore
- Revision
- 239247
- Author
- [email protected]
- Date
- 2018-12-14 20:30:41 -0800 (Fri, 14 Dec 2018)
Log Message
Web Inspector: Avoid creating and evaluating in the InspectorOverlay page on iOS as it is unused
https://bugs.webkit.org/show_bug.cgi?id=192724
<rdar://problem/46745911>
Patch by Joseph Pecoraro <[email protected]> on 2018-12-14
Reviewed by Devin Rousso.
iOS never installs the InspectorOverlay page as a page overlay.
It also uses its own node highlighting painting. Avoid any work
and resources associated with the overlay page for iOS.
* inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::paint):
(WebCore::InspectorOverlay::update):
(WebCore::InspectorOverlay::overlayPage):
(WebCore::evaluateCommandInOverlay):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (239246 => 239247)
--- trunk/Source/WebCore/ChangeLog 2018-12-15 03:34:54 UTC (rev 239246)
+++ trunk/Source/WebCore/ChangeLog 2018-12-15 04:30:41 UTC (rev 239247)
@@ -1,3 +1,21 @@
+2018-12-14 Joseph Pecoraro <[email protected]>
+
+ Web Inspector: Avoid creating and evaluating in the InspectorOverlay page on iOS as it is unused
+ https://bugs.webkit.org/show_bug.cgi?id=192724
+ <rdar://problem/46745911>
+
+ Reviewed by Devin Rousso.
+
+ iOS never installs the InspectorOverlay page as a page overlay.
+ It also uses its own node highlighting painting. Avoid any work
+ and resources associated with the overlay page for iOS.
+
+ * inspector/InspectorOverlay.cpp:
+ (WebCore::InspectorOverlay::paint):
+ (WebCore::InspectorOverlay::update):
+ (WebCore::InspectorOverlay::overlayPage):
+ (WebCore::evaluateCommandInOverlay):
+
2018-12-14 Youenn Fablet <[email protected]>
MediaRecorderPrivateAVFImpl should have a Ref<MediaRecorderPrivateWriter> as member
Modified: trunk/Source/WebCore/inspector/InspectorOverlay.cpp (239246 => 239247)
--- trunk/Source/WebCore/inspector/InspectorOverlay.cpp 2018-12-15 03:34:54 UTC (rev 239246)
+++ trunk/Source/WebCore/inspector/InspectorOverlay.cpp 2018-12-15 04:30:41 UTC (rev 239247)
@@ -180,8 +180,12 @@
if (!shouldShowOverlay())
return;
+ Page* overlayPage = this->overlayPage();
+ if (!overlayPage)
+ return;
+
GraphicsContextStateSaver stateSaver(context);
- FrameView* view = overlayPage()->mainFrame().view();
+ FrameView* view = overlayPage->mainFrame().view();
#if PLATFORM(MAC)
LocalDefaultSystemAppearance localAppearance(view->useDarkAppearance());
@@ -290,9 +294,12 @@
if (!view)
return;
- FrameView* overlayView = overlayPage()->mainFrame().view();
- IntSize frameViewFullSize = view->sizeForVisibleContent(ScrollableArea::IncludeScrollbars);
- overlayView->resize(frameViewFullSize);
+ Page* overlayPage = this->overlayPage();
+ if (overlayPage) {
+ FrameView* overlayView = overlayPage->mainFrame().view();
+ IntSize frameViewFullSize = view->sizeForVisibleContent(ScrollableArea::IncludeScrollbars);
+ overlayView->resize(frameViewFullSize);
+ }
// Clear canvas and paint things.
IntSize viewportSize = view->sizeForVisibleContent();
@@ -309,9 +316,12 @@
drawRulers();
// Position DOM elements.
- overlayPage()->mainFrame().document()->resolveStyle(Document::ResolveStyleType::Rebuild);
- if (overlayView->needsLayout())
- overlayView->layoutContext().layout();
+ if (overlayPage) {
+ overlayPage->mainFrame().document()->resolveStyle(Document::ResolveStyleType::Rebuild);
+ FrameView* overlayView = overlayPage->mainFrame().view();
+ if (overlayView->needsLayout())
+ overlayView->layoutContext().layout();
+ }
forcePaint();
}
@@ -702,6 +712,9 @@
Page* InspectorOverlay::overlayPage()
{
+#if PLATFORM(IOS_FAMILY)
+ return nullptr;
+#else
if (m_overlayPage)
return m_overlayPage.get();
@@ -746,6 +759,7 @@
#endif
return m_overlayPage.get();
+#endif
}
void InspectorOverlay::forcePaint()
@@ -770,6 +784,9 @@
static void evaluateCommandInOverlay(Page* page, Ref<JSON::Array>&& command)
{
+ if (!page)
+ return;
+
page->mainFrame().script().evaluate(ScriptSourceCode(makeString("dispatch(", command->toJSONString(), ')')));
}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes