Changeset 154715 in webkit


Ignore:
Timestamp:
Aug 27, 2013 5:09:16 PM (11 years ago)
Author:
akling@apple.com
Message:

Make it less awkward to check if a Frame is the main Frame.
<https://webkit.org/b/120382>

Reviewed by Anders Carlsson.

Added Page::frameIsMainFrame(const Frame*) so code that wants to find out if a given
Frame is a Page's main frame doesn't have to do a manual pointer compare.

  • page/Page.h:

(WebCore::Page::frameIsMainFrame):

Added. Replaces (frame == &page->mainFrame()) idiom.

Location:
trunk/Source
Files:
20 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r154714 r154715  
     12013-08-27  Andreas Kling  <akling@apple.com>
     2
     3        Make it less awkward to check if a Frame is the main Frame.
     4        <https://webkit.org/b/120382>
     5
     6        Reviewed by Anders Carlsson.
     7
     8        Added Page::frameIsMainFrame(const Frame*) so code that wants to find out if a given
     9        Frame is a Page's main frame doesn't have to do a manual pointer compare.
     10
     11        * page/Page.h:
     12        (WebCore::Page::frameIsMainFrame):
     13
     14            Added. Replaces (frame == &page->mainFrame()) idiom.
     15
    1162013-08-27  Morten Stenshorne  <mstensho@opera.com>
    217
  • trunk/Source/WebCore/dom/Document.cpp

    r154700 r154715  
    12751275
    12761276    if (Page* page = this->page()) {
    1277         if (frame() == &page->mainFrame()) {
     1277        if (page->frameIsMainFrame(frame())) {
    12781278            frameView->addPaintPendingMilestones(DidFirstPaintAfterSuppressedIncrementalRendering);
    12791279            if (page->requestedLayoutMilestones() & DidFirstLayoutAfterSuppressedIncrementalRendering)
     
    20262026    // subframes' documents have no wheel event handlers, then the count did not change,
    20272027    // unless the documents they are replacing had wheel event handlers.
    2028     if (page() && &page()->mainFrame() == m_frame)
     2028    if (page() && page()->frameIsMainFrame(m_frame))
    20292029        pageWheelEventHandlerCountChanged(*page());
    20302030
     
    20322032    // FIXME: Doing this only for the main frame is insufficient.
    20332033    // A subframe could have touch event handlers.
    2034     if (hasTouchEventHandlers() && page() && &page()->mainFrame() == m_frame)
     2034    if (hasTouchEventHandlers() && page() && page()->frameIsMainFrame(m_frame))
    20352035        page()->chrome().client().needTouchEvents(true);
    20362036#endif
     
    29562956void Document::updateViewportArguments()
    29572957{
    2958     if (page() && &page()->mainFrame() == frame()) {
     2958    if (page() && page()->frameIsMainFrame(frame())) {
    29592959#ifndef NDEBUG
    29602960        m_didDispatchViewportPropertiesChanged = true;
     
    40104010            // https://bugs.webkit.org/show_bug.cgi?id=98698
    40114011            v->cacheCurrentScrollPosition();
    4012             if (page && &page->mainFrame() == m_frame) {
     4012            if (page && page->frameIsMainFrame(m_frame)) {
    40134013                v->resetScrollbarsAndClearContentsSize();
    40144014                if (ScrollingCoordinator* scrollingCoordinator = page->scrollingCoordinator())
  • trunk/Source/WebCore/history/CachedPage.cpp

    r154706 r154715  
    7878{
    7979    ASSERT(m_cachedMainFrame);
    80     ASSERT(page && &page->mainFrame() == &m_cachedMainFrame->view()->frame());
     80    ASSERT(page && page->frameIsMainFrame(&m_cachedMainFrame->view()->frame()));
    8181    ASSERT(!page->subframeCount());
    8282
  • trunk/Source/WebCore/history/PageCache.cpp

    r154658 r154715  
    400400    for (HistoryItem* current = m_head; current; current = current->m_next) {
    401401        CachedPage* cachedPage = current->m_cachedPage.get();
    402         if (&cachedPage->cachedMainFrame()->view()->frame() == &page->mainFrame())
     402        if (page->frameIsMainFrame(&cachedPage->cachedMainFrame()->view()->frame()))
    403403            cachedPage->markForFullStyleRecalc();
    404404    }
     
    411411    for (HistoryItem* current = m_head; current; current = current->m_next) {
    412412        CachedPage* cachedPage = current->m_cachedPage.get();
    413         if (&cachedPage->cachedMainFrame()->view()->frame() == &page->mainFrame())
     413        if (page->frameIsMainFrame(&cachedPage->cachedMainFrame()->view()->frame()))
    414414            cachedPage->markForDeviceScaleChanged();
    415415    }
  • trunk/Source/WebCore/html/HTMLPlugInImageElement.cpp

    r154658 r154715  
    604604    }
    605605
    606     bool inMainFrame = document()->frame() == &document()->page()->mainFrame();
     606    bool inMainFrame = document()->page()->frameIsMainFrame(document()->frame());
    607607
    608608    if (document()->isPluginDocument() && inMainFrame) {
  • trunk/Source/WebCore/html/ImageDocument.cpp

    r154658 r154715  
    374374bool ImageDocument::shouldShrinkToFit() const
    375375{
    376     return frame()->page()->settings().shrinksStandaloneImagesToFit() && &frame()->page()->mainFrame() == frame();
     376    return frame()->settings().shrinksStandaloneImagesToFit() && frame()->page()->frameIsMainFrame(frame());
    377377}
    378378
  • trunk/Source/WebCore/inspector/InspectorAgent.cpp

    r154658 r154715  
    142142bool InspectorAgent::isMainResourceLoader(DocumentLoader* loader, const KURL& requestUrl)
    143143{
    144     return loader->frame() == &m_inspectedPage->mainFrame() && requestUrl == loader->requestURL();
     144    return m_inspectedPage->frameIsMainFrame(loader->frame()) && requestUrl == loader->requestURL();
    145145}
    146146
  • trunk/Source/WebCore/inspector/InspectorController.cpp

    r154658 r154715  
    223223    // If the page is supposed to serve as InspectorFrontend notify inspector frontend
    224224    // client that it's cleared so that the client can expose inspector bindings.
    225     if (m_inspectorFrontendClient && frame == &m_page->mainFrame())
     225    if (m_inspectorFrontendClient && m_page->frameIsMainFrame(frame))
    226226        m_inspectorFrontendClient->windowObjectCleared();
    227227}
  • trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp

    r154658 r154715  
    903903        return;
    904904
    905     if (loader->frame() == &page->mainFrame()) {
     905    if (page->frameIsMainFrame(loader->frame())) {
    906906        if (InspectorConsoleAgent* consoleAgent = instrumentingAgents->inspectorConsoleAgent())
    907907            consoleAgent->reset();
  • trunk/Source/WebCore/inspector/InspectorPageAgent.cpp

    r154658 r154715  
    869869        return;
    870870
    871     if (frame == &m_page->mainFrame())
     871    if (m_page->frameIsMainFrame(frame))
    872872        m_injectedScriptManager->discardInjectedScripts();
    873873
     
    901901void InspectorPageAgent::frameNavigated(DocumentLoader* loader)
    902902{
    903     if (loader->frame() == &m_page->mainFrame()) {
     903    if (m_page->frameIsMainFrame(loader->frame())) {
    904904        m_scriptToEvaluateOnLoadOnce = m_pendingScriptToEvaluateOnLoadOnce;
    905905        m_scriptPreprocessor = m_pendingScriptPreprocessor;
  • trunk/Source/WebCore/loader/FrameLoader.cpp

    r154706 r154715  
    19601960    ASSERT(!m_frame.tree().parent());
    19611961    ASSERT(m_frame.page());
    1962     ASSERT(&m_frame.page()->mainFrame() == &m_frame);
     1962    ASSERT(m_frame.page()->frameIsMainFrame(&m_frame));
    19631963
    19641964    m_frame.navigationScheduler().cancel();
     
    20292029bool FrameLoader::isLoadingMainFrame() const
    20302030{
    2031     return m_frame.page() && &m_frame.page()->mainFrame() == &m_frame;
     2031    return m_frame.page() && m_frame.page()->frameIsMainFrame(&m_frame);
    20322032}
    20332033
     
    21792179            m_progressTracker->progressCompleted();
    21802180            if (Page* page = m_frame.page()) {
    2181                 if (&m_frame == &page->mainFrame())
     2181                if (page->frameIsMainFrame(&m_frame))
    21822182                    page->resetRelevantPaintedObjectCounter();
    21832183            }
     
    22882288#if !ASSERT_DISABLED
    22892289    if (Page* page = m_frame.page())
    2290         ASSERT(&page->mainFrame() == &m_frame);
     2290        ASSERT(page->frameIsMainFrame(&m_frame));
    22912291#endif
    22922292
     
    28622862#if ENABLE(JAVASCRIPT_DEBUGGER) && ENABLE(INSPECTOR)
    28632863    if (Page* page = m_frame.page()) {
    2864         if (&page->mainFrame() == &m_frame)
     2864        if (page->frameIsMainFrame(&m_frame))
    28652865            page->inspectorController()->resume();
    28662866    }
     
    33293329    InspectorInstrumentation::didCommitLoad(&m_frame, m_documentLoader.get());
    33303330
    3331     if (&m_frame.page()->mainFrame() == &m_frame)
     3331    if (m_frame.page()->frameIsMainFrame(&m_frame))
    33323332        m_frame.page()->featureObserver()->didCommitLoad();
    33333333
  • trunk/Source/WebCore/loader/HistoryController.cpp

    r154658 r154715  
    8282
    8383    Page* page = m_frame.page();
    84     if (page && &page->mainFrame() == &m_frame)
     84    if (page && page->frameIsMainFrame(&m_frame))
    8585        item->setPageScaleFactor(page->pageScaleFactor());
    8686
     
    135135    if (FrameView* view = m_frame.view()) {
    136136        Page* page = m_frame.page();
    137         if (page && &page->mainFrame() == &m_frame) {
     137        if (page && page->frameIsMainFrame(&m_frame)) {
    138138            if (ScrollingCoordinator* scrollingCoordinator = page->scrollingCoordinator())
    139139                scrollingCoordinator->frameViewRootLayerDidChange(view);
     
    141141
    142142        if (!view->wasScrolledByUser()) {
    143             if (page && &page->mainFrame() == &m_frame && m_currentItem->pageScaleFactor())
     143            if (page && page->frameIsMainFrame(&m_frame) && m_currentItem->pageScaleFactor())
    144144                page->setPageScaleFactor(m_currentItem->pageScaleFactor(), m_currentItem->scrollPoint());
    145145            else
  • trunk/Source/WebCore/page/DOMWindow.cpp

    r154673 r154715  
    232232    if (!page)
    233233        return false;
    234     return frame == &page->mainFrame();
     234    return page->frameIsMainFrame(frame);
    235235}
    236236
     
    932932
    933933    // If we're a top level window, bring the window to the front.
    934     if (m_frame == &page->mainFrame() && allowFocus)
     934    if (page->frameIsMainFrame(m_frame) && allowFocus)
    935935        page->chrome().focus();
    936936
  • trunk/Source/WebCore/page/Frame.cpp

    r154658 r154715  
    707707    ASSERT(m_page);
    708708
    709     bool isMainFrame = this == &m_page->mainFrame();
     709    bool isMainFrame = m_page->frameIsMainFrame(this);
    710710
    711711    if (isMainFrame && view())
     
    880880    }
    881881
    882     if (&page->mainFrame() == this)
     882    if (page->frameIsMainFrame(this))
    883883        pageCache()->markPagesForFullStyleRecalc(page);
    884884}
  • trunk/Source/WebCore/page/FrameView.cpp

    r154658 r154715  
    413413bool FrameView::isMainFrameView() const
    414414{
    415     return frame().page() && &frame().page()->mainFrame() == &frame();
     415    return frame().page() && frame().page()->frameIsMainFrame(&frame());
    416416}
    417417
     
    27432743    }
    27442744
    2745     if (milestonesAchieved && page && &page->mainFrame() == &frame())
     2745    if (milestonesAchieved && page && page->frameIsMainFrame(&frame()))
    27462746        frame().loader().didLayout(milestonesAchieved);
     2747
    27472748#if ENABLE(FONT_LOAD_EVENTS)
    27482749    if (RuntimeEnabledFeatures::fontLoadEventsEnabled())
  • trunk/Source/WebCore/page/Page.h

    r154658 r154715  
    162162
    163163    Frame& mainFrame() const { return *m_mainFrame; }
     164    bool frameIsMainFrame(const Frame* frame) { return frame == m_mainFrame.get(); }
    164165
    165166    bool openedByDOM() const;
  • trunk/Source/WebCore/rendering/RenderBox.cpp

    r154689 r154715  
    830830        return false;
    831831    Page* page = frame().page();
    832     return page && &page->mainFrame() == &frame() && view().frameView().isScrollable();
     832    return page && page->frameIsMainFrame(&frame()) && view().frameView().isScrollable();
    833833}
    834834
  • trunk/Source/WebCore/rendering/RenderLayerBacking.cpp

    r154658 r154715  
    122122    if (layer->isRootLayer()) {
    123123        Page* page = renderer().frame().page();
    124         if (page && &page->mainFrame() == &renderer().frame()) {
     124        if (page && page->frameIsMainFrame(&renderer().frame())) {
    125125            m_isMainFrameRenderViewLayer = true;
    126126
  • trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm

    r154658 r154715  
    10661066    Frame* frame = core(m_webFrame.get());
    10671067    Page* page = frame->page();
    1068     BOOL forMainFrame = page && &page->mainFrame() == frame;
     1068    BOOL forMainFrame = page && page->frameIsMainFrame(frame);
    10691069    return [WebView _canHandleRequest:request.nsURLRequest(UpdateHTTPBody) forMainFrame:forMainFrame];
    10701070}
     
    12661266    Frame* coreFrame = core(m_webFrame.get());
    12671267    Page* page = coreFrame->page();
    1268     bool isMainFrame = coreFrame == &page->mainFrame();
     1268    bool isMainFrame = page->frameIsMainFrame(coreFrame);
    12691269    if (isMainFrame && coreFrame->view())
    12701270        coreFrame->view()->setParentVisible(false);
  • trunk/Source/WebKit/mac/WebView/WebFrameView.mm

    r154676 r154715  
    283283    // If this isn't the main frame, it must have an owner element set, or it
    284284    // won't ever get installed in the view hierarchy.
    285     ASSERT(frame == &frame->page()->mainFrame() || frame->ownerElement());
     285    ASSERT(frame->page()->frameIsMainFrame(frame) || frame->ownerElement());
    286286
    287287    FrameView* view = frame->view();
Note: See TracChangeset for help on using the changeset viewer.