Changeset 239247 in webkit


Ignore:
Timestamp:
Dec 14, 2018 8:30:41 PM (5 years ago)
Author:
commit-queue@webkit.org
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 <Joseph Pecoraro> 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):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r239243 r239247  
     12018-12-14  Joseph Pecoraro  <pecoraro@apple.com>
     2
     3        Web Inspector: Avoid creating and evaluating in the InspectorOverlay page on iOS as it is unused
     4        https://bugs.webkit.org/show_bug.cgi?id=192724
     5        <rdar://problem/46745911>
     6
     7        Reviewed by Devin Rousso.
     8
     9        iOS never installs the InspectorOverlay page as a page overlay.
     10        It also uses its own node highlighting painting. Avoid any work
     11        and resources associated with the overlay page for iOS.
     12
     13        * inspector/InspectorOverlay.cpp:
     14        (WebCore::InspectorOverlay::paint):
     15        (WebCore::InspectorOverlay::update):
     16        (WebCore::InspectorOverlay::overlayPage):
     17        (WebCore::evaluateCommandInOverlay):
     18
    1192018-12-14  Youenn Fablet  <youenn@apple.com>
    220
  • trunk/Source/WebCore/inspector/InspectorOverlay.cpp

    r238155 r239247  
    181181        return;
    182182
     183    Page* overlayPage = this->overlayPage();
     184    if (!overlayPage)
     185        return;
     186
    183187    GraphicsContextStateSaver stateSaver(context);
    184     FrameView* view = overlayPage()->mainFrame().view();
     188    FrameView* view = overlayPage->mainFrame().view();
    185189
    186190#if PLATFORM(MAC)
     
    291295        return;
    292296
    293     FrameView* overlayView = overlayPage()->mainFrame().view();
    294     IntSize frameViewFullSize = view->sizeForVisibleContent(ScrollableArea::IncludeScrollbars);
    295     overlayView->resize(frameViewFullSize);
     297    Page* overlayPage = this->overlayPage();
     298    if (overlayPage) {
     299        FrameView* overlayView = overlayPage->mainFrame().view();
     300        IntSize frameViewFullSize = view->sizeForVisibleContent(ScrollableArea::IncludeScrollbars);
     301        overlayView->resize(frameViewFullSize);
     302    }
    296303
    297304    // Clear canvas and paint things.
     
    310317
    311318    // Position DOM elements.
    312     overlayPage()->mainFrame().document()->resolveStyle(Document::ResolveStyleType::Rebuild);
    313     if (overlayView->needsLayout())
    314         overlayView->layoutContext().layout();
     319    if (overlayPage) {
     320        overlayPage->mainFrame().document()->resolveStyle(Document::ResolveStyleType::Rebuild);
     321        FrameView* overlayView = overlayPage->mainFrame().view();
     322        if (overlayView->needsLayout())
     323            overlayView->layoutContext().layout();
     324    }
    315325
    316326    forcePaint();
     
    703713Page* InspectorOverlay::overlayPage()
    704714{
     715#if PLATFORM(IOS_FAMILY)
     716    return nullptr;
     717#else
    705718    if (m_overlayPage)
    706719        return m_overlayPage.get();
     
    747760
    748761    return m_overlayPage.get();
     762#endif
    749763}
    750764
     
    771785static void evaluateCommandInOverlay(Page* page, Ref<JSON::Array>&& command)
    772786{
     787    if (!page)
     788        return;
     789
    773790    page->mainFrame().script().evaluate(ScriptSourceCode(makeString("dispatch(", command->toJSONString(), ')')));
    774791}
Note: See TracChangeset for help on using the changeset viewer.