Changeset 159896 in webkit


Ignore:
Timestamp:
Nov 30, 2013 10:40:24 PM (10 years ago)
Author:
weinig@apple.com
Message:

[CTTE] The WebPageProxy's WebPageGroup is never null so it should be stored in a Ref
https://bugs.webkit.org/show_bug.cgi?id=125038

Reviewed by Dan Bernstein.

  • UIProcess/API/C/WKPage.cpp:

(WKPageGetPageGroup):

  • UIProcess/API/C/mac/WKPagePrivateMac.cpp:

(WKPageIsURLKnownHSTSHost):

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(-[WKBrowsingContextController browsingContextGroup]):

  • UIProcess/API/mac/WKView.mm:

(-[WKView _preferencesDidChange]):
(-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::WebContext):
(WebKit::WebContext::createWebPage):

  • UIProcess/WebContext.h:
  • UIProcess/WebInspectorProxy.cpp:

(WebKit::WebInspectorPageGroups::inspectorLevel):
(WebKit::WebInspectorPageGroups::isInspectorPageGroup):
(WebKit::WebInspectorPageGroups::inspectorPageGroupLevel):
(WebKit::WebInspectorProxy::isInspectorPage):

  • UIProcess/WebInspectorProxy.h:
  • UIProcess/WebPageGroup.cpp:

(WebKit::WebPageGroup::createNonNull):

  • UIProcess/WebPageGroup.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::create):
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):
(WebKit::WebPageProxy::preferencesDidChange):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::pageGroup):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::createWebPage):

  • UIProcess/WebProcessProxy.h:
  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::createInspectorWindow):
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
(WebKit::WebInspectorProxy::windowFrameDidChange):

  • UIProcess/mac/WebProcessProxyMac.mm:

(WebKit::WebProcessProxy::pageIsProcessSuppressible):

Location:
trunk/Source/WebKit2
Files:
17 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r159895 r159896  
     12013-11-30  Sam Weinig  <sam@webkit.org>
     2
     3        [CTTE] The WebPageProxy's WebPageGroup is never null so it should be stored in a Ref
     4        https://bugs.webkit.org/show_bug.cgi?id=125038
     5
     6        Reviewed by Dan Bernstein.
     7
     8        * UIProcess/API/C/WKPage.cpp:
     9        (WKPageGetPageGroup):
     10        * UIProcess/API/C/mac/WKPagePrivateMac.cpp:
     11        (WKPageIsURLKnownHSTSHost):
     12        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
     13        (-[WKBrowsingContextController browsingContextGroup]):
     14        * UIProcess/API/mac/WKView.mm:
     15        (-[WKView _preferencesDidChange]):
     16        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
     17        * UIProcess/WebContext.cpp:
     18        (WebKit::WebContext::WebContext):
     19        (WebKit::WebContext::createWebPage):
     20        * UIProcess/WebContext.h:
     21        * UIProcess/WebInspectorProxy.cpp:
     22        (WebKit::WebInspectorPageGroups::inspectorLevel):
     23        (WebKit::WebInspectorPageGroups::isInspectorPageGroup):
     24        (WebKit::WebInspectorPageGroups::inspectorPageGroupLevel):
     25        (WebKit::WebInspectorProxy::isInspectorPage):
     26        * UIProcess/WebInspectorProxy.h:
     27        * UIProcess/WebPageGroup.cpp:
     28        (WebKit::WebPageGroup::createNonNull):
     29        * UIProcess/WebPageGroup.h:
     30        * UIProcess/WebPageProxy.cpp:
     31        (WebKit::WebPageProxy::create):
     32        (WebKit::WebPageProxy::WebPageProxy):
     33        (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):
     34        (WebKit::WebPageProxy::preferencesDidChange):
     35        * UIProcess/WebPageProxy.h:
     36        (WebKit::WebPageProxy::pageGroup):
     37        * UIProcess/WebProcessProxy.cpp:
     38        (WebKit::WebProcessProxy::createWebPage):
     39        * UIProcess/WebProcessProxy.h:
     40        * UIProcess/mac/WebInspectorProxyMac.mm:
     41        (WebKit::WebInspectorProxy::createInspectorWindow):
     42        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
     43        (WebKit::WebInspectorProxy::windowFrameDidChange):
     44        * UIProcess/mac/WebProcessProxyMac.mm:
     45        (WebKit::WebProcessProxy::pageIsProcessSuppressible):
     46
    1472013-11-30  Dan Bernstein  <mitz@apple.com>
    248
  • trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp

    r159891 r159896  
    6161WKPageGroupRef WKPageGetPageGroup(WKPageRef pageRef)
    6262{
    63     return toAPI(toImpl(pageRef)->pageGroup());
     63    return toAPI(&toImpl(pageRef)->pageGroup());
    6464}
    6565
  • trunk/Source/WebKit2/UIProcess/API/C/mac/WKPagePrivateMac.cpp

    r153096 r159896  
    4343{
    4444    WebPageProxy* webPageProxy = toImpl(page);
    45     bool privateBrowsingEnabled = webPageProxy->pageGroup()->preferences()->privateBrowsingEnabled();
     45    bool privateBrowsingEnabled = webPageProxy->pageGroup().preferences()->privateBrowsingEnabled();
    4646
    4747    return webPageProxy->process()->context()->isURLKnownHSTSHost(toImpl(url)->string(), privateBrowsingEnabled);
  • trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.mm

    r159895 r159896  
    122122- (WKBrowsingContextGroup *)browsingContextGroup
    123123{
    124     WebPageGroup* pageGroup = _page->pageGroup();
    125     if (!pageGroup)
    126         return nil;
    127     return wrapper(*pageGroup);
     124    return wrapper(_page->pageGroup());
    128125}
    129126
  • trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm

    r159889 r159896  
    22732273- (void)_preferencesDidChange
    22742274{
    2275     BOOL needsViewFrameInWindowCoordinates = _data->_page->pageGroup()->preferences()->pluginsEnabled();
     2275    BOOL needsViewFrameInWindowCoordinates = _data->_page->pageGroup().preferences()->pluginsEnabled();
    22762276
    22772277    if (!!needsViewFrameInWindowCoordinates == !!_data->_needsViewFrameInWindowCoordinates)
     
    29232923    _data->_intrinsicContentSize = NSMakeSize(NSViewNoInstrinsicMetric, NSViewNoInstrinsicMetric);
    29242924
    2925     _data->_needsViewFrameInWindowCoordinates = _data->_page->pageGroup()->preferences()->pluginsEnabled();
     2925    _data->_needsViewFrameInWindowCoordinates = _data->_page->pageGroup().preferences()->pluginsEnabled();
    29262926    _data->_frameOrigin = NSZeroPoint;
    29272927    _data->_contentAnchor = WKContentAnchorTopLeft;
  • trunk/Source/WebKit2/UIProcess/WebContext.cpp

    r159889 r159896  
    137137    , m_haveInitialEmptyProcess(false)
    138138    , m_processWithPageCache(0)
    139     , m_defaultPageGroup(WebPageGroup::create())
     139    , m_defaultPageGroup(WebPageGroup::createNonNull())
    140140    , m_injectedBundlePath(injectedBundlePath)
    141141    , m_visitedLinkProvider(this)
     
    757757    }
    758758
    759     if (!pageGroup)
    760         pageGroup = m_defaultPageGroup.get();
    761 
    762     return process->createWebPage(pageClient, this, pageGroup);
     759    return process->createWebPage(pageClient, pageGroup ? *pageGroup : m_defaultPageGroup.get());
    763760}
    764761
  • trunk/Source/WebKit2/UIProcess/WebContext.h

    r159889 r159896  
    420420    WebProcessProxy* m_processWithPageCache;
    421421
    422     RefPtr<WebPageGroup> m_defaultPageGroup;
     422    Ref<WebPageGroup> m_defaultPageGroup;
    423423
    424424    RefPtr<API::Object> m_injectedBundleInitializationUserData;
  • trunk/Source/WebKit2/UIProcess/WebInspectorProxy.cpp

    r159387 r159896  
    6767    }
    6868
    69     unsigned inspectorLevel(WebPageGroup* inspectedPageGroup)
     69    unsigned inspectorLevel(WebPageGroup& inspectedPageGroup)
    7070    {
    7171        return isInspectorPageGroup(inspectedPageGroup) ? inspectorPageGroupLevel(inspectedPageGroup) + 1 : 1;
    7272    }
    7373
    74     bool isInspectorPageGroup(WebPageGroup* group)
     74    bool isInspectorPageGroup(WebPageGroup& group)
    7575    {
    76         return m_pageGroupLevel.contains(group);
    77     }
    78 
    79     unsigned inspectorPageGroupLevel(WebPageGroup* group)
     76        return m_pageGroupLevel.contains(&group);
     77    }
     78
     79    unsigned inspectorPageGroupLevel(WebPageGroup& group)
    8080    {
    8181        ASSERT(isInspectorPageGroup(group));
    82         return m_pageGroupLevel.get(group);
     82        return m_pageGroupLevel.get(&group);
    8383    }
    8484
     
    357357}
    358358
    359 bool WebInspectorProxy::isInspectorPage(WebPageProxy* page)
    360 {
    361     return WebInspectorPageGroups::shared().isInspectorPageGroup(page->pageGroup());
     359bool WebInspectorProxy::isInspectorPage(WebPageProxy& page)
     360{
     361    return WebInspectorPageGroups::shared().isInspectorPageGroup(page.pageGroup());
    362362}
    363363
  • trunk/Source/WebKit2/UIProcess/WebInspectorProxy.h

    r159197 r159896  
    133133    void togglePageProfiling();
    134134
    135     static bool isInspectorPage(WebPageProxy*);
     135    static bool isInspectorPage(WebPageProxy&);
    136136
    137137    // Implemented the platform WebInspectorProxy file
  • trunk/Source/WebKit2/UIProcess/WebPageGroup.cpp

    r159824 r159896  
    5353{
    5454    return adoptRef(new WebPageGroup(identifier, visibleToInjectedBundle, visibleToHistoryClient));
     55}
     56
     57PassRef<WebPageGroup> WebPageGroup::createNonNull(const String& identifier, bool visibleToInjectedBundle, bool visibleToHistoryClient)
     58{
     59    return adoptRef(*new WebPageGroup(identifier, visibleToInjectedBundle, visibleToHistoryClient));
    5560}
    5661
  • trunk/Source/WebKit2/UIProcess/WebPageGroup.h

    r159824 r159896  
    4343    WebPageGroup(const String& identifier = String(), bool visibleToInjectedBundle = true, bool visibleToHistoryClient = true);
    4444    static PassRefPtr<WebPageGroup> create(const String& identifier = String(), bool visibleToInjectedBundle = true, bool visibleToHistoryClient = true);
     45    static PassRef<WebPageGroup> createNonNull(const String& identifier = String(), bool visibleToInjectedBundle = true, bool visibleToHistoryClient = true);
    4546    static WebPageGroup* get(uint64_t pageGroupID);
    4647
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp

    r159891 r159896  
    223223#endif // !LOG_DISABLED
    224224
    225 PassRefPtr<WebPageProxy> WebPageProxy::create(PageClient& pageClient, PassRefPtr<WebProcessProxy> process, WebPageGroup* pageGroup, uint64_t pageID)
     225PassRefPtr<WebPageProxy> WebPageProxy::create(PageClient& pageClient, PassRefPtr<WebProcessProxy> process, WebPageGroup& pageGroup, uint64_t pageID)
    226226{
    227227    return adoptRef(new WebPageProxy(pageClient, process, pageGroup, pageID));
    228228}
    229229
    230 WebPageProxy::WebPageProxy(PageClient& pageClient, PassRefPtr<WebProcessProxy> process, WebPageGroup* pageGroup, uint64_t pageID)
     230WebPageProxy::WebPageProxy(PageClient& pageClient, PassRefPtr<WebProcessProxy> process, WebPageGroup& pageGroup, uint64_t pageID)
    231231    : m_pageClient(pageClient)
    232232    , m_process(process)
    233233    , m_pageGroup(pageGroup)
    234     , m_mainFrame(0)
     234    , m_mainFrame(nullptr)
    235235    , m_userAgent(standardUserAgent())
    236236    , m_geolocationPermissionRequestManager(*this)
     
    594594#if ENABLE(INSPECTOR)
    595595    // Don't give the inspector full access to the file system.
    596     if (WebInspectorProxy::isInspectorPage(this))
     596    if (WebInspectorProxy::isInspectorPage(*this))
    597597        return false;
    598598#endif
     
    20182018
    20192019    // Preferences need to be updated during synchronous printing to make "print backgrounds" preference work when toggled from a print dialog checkbox.
    2020     m_process->send(Messages::WebPage::PreferencesDidChange(pageGroup()->preferences()->store()), m_pageID, m_isPerformingDOMPrintOperation ? CoreIPC::DispatchMessageEvenWhenWaitingForSyncReply : 0);
     2020    m_process->send(Messages::WebPage::PreferencesDidChange(pageGroup().preferences()->store()), m_pageID, m_isPerformingDOMPrintOperation ? CoreIPC::DispatchMessageEvenWhenWaitingForSyncReply : 0);
    20212021}
    20222022
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.h

    r159891 r159896  
    323323public:
    324324
    325     static PassRefPtr<WebPageProxy> create(PageClient&, PassRefPtr<WebProcessProxy>, WebPageGroup*, uint64_t pageID);
     325    static PassRefPtr<WebPageProxy> create(PageClient&, PassRefPtr<WebProcessProxy>, WebPageGroup&, uint64_t pageID);
    326326    virtual ~WebPageProxy();
    327327
     
    701701    PlatformProcessIdentifier processIdentifier() const;
    702702
    703     WebPageGroup* pageGroup() const { return m_pageGroup.get(); }
     703    WebPageGroup& pageGroup() { return m_pageGroup.get(); }
    704704
    705705    bool isValid() const;
     
    848848       
    849849private:
    850     WebPageProxy(PageClient&, PassRefPtr<WebProcessProxy>, WebPageGroup*, uint64_t pageID);
     850    WebPageProxy(PageClient&, PassRefPtr<WebProcessProxy>, WebPageGroup&, uint64_t pageID);
    851851    void platformInitialize();
    852852    void initializeCreationParameters();
     
    11551155    std::unique_ptr<DrawingAreaProxy> m_drawingArea;
    11561156    RefPtr<WebProcessProxy> m_process;
    1157     RefPtr<WebPageGroup> m_pageGroup;
     1157    Ref<WebPageGroup> m_pageGroup;
    11581158    RefPtr<WebFrameProxy> m_mainFrame;
    11591159    RefPtr<WebFrameProxy> m_focusedFrame;
  • trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp

    r159889 r159896  
    161161}
    162162
    163 PassRefPtr<WebPageProxy> WebProcessProxy::createWebPage(PageClient& pageClient, WebContext*, WebPageGroup* pageGroup)
     163PassRefPtr<WebPageProxy> WebProcessProxy::createWebPage(PageClient& pageClient, WebPageGroup& pageGroup)
    164164{
    165165    uint64_t pageID = generatePageID();
  • trunk/Source/WebKit2/UIProcess/WebProcessProxy.h

    r159889 r159896  
    7878
    7979    static WebPageProxy* webPage(uint64_t pageID);
    80     PassRefPtr<WebPageProxy> createWebPage(PageClient&, WebContext*, WebPageGroup*);
     80    PassRefPtr<WebPageProxy> createWebPage(PageClient&, WebPageGroup&);
    8181    void addExistingWebPage(WebPageProxy*, uint64_t pageID);
    8282    void removeWebPage(uint64_t pageID);
  • trunk/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm

    r157323 r159896  
    286286
    287287    // Restore the saved window frame, if there was one.
    288     NSString *savedWindowFrameString = page()->pageGroup()->preferences()->inspectorWindowFrame();
     288    NSString *savedWindowFrameString = page()->pageGroup().preferences()->inspectorWindowFrame();
    289289    NSRect savedWindowFrame = NSRectFromString(savedWindowFrameString);
    290290    if (!NSIsEmptyRect(savedWindowFrame))
     
    385385        initialRect = NSMakeRect(0, 0, initialWindowWidth, initialWindowHeight);
    386386
    387         NSString *windowFrameString = page()->pageGroup()->preferences()->inspectorWindowFrame();
     387        NSString *windowFrameString = page()->pageGroup().preferences()->inspectorWindowFrame();
    388388        NSRect windowFrame = NSRectFromString(windowFrameString);
    389389        if (!NSIsEmptyRect(windowFrame))
     
    608608
    609609    NSString *frameString = NSStringFromRect([m_inspectorWindow frame]);
    610     page()->pageGroup()->preferences()->setInspectorWindowFrame(frameString);
     610    page()->pageGroup().preferences()->setInspectorWindowFrame(frameString);
    611611}
    612612
  • trunk/Source/WebKit2/UIProcess/mac/WebProcessProxyMac.mm

    r157894 r159896  
    6262bool WebProcessProxy::pageIsProcessSuppressible(WebPageProxy* page)
    6363{
    64     return !page->isViewVisible() && page->pageGroup()->preferences()->pageVisibilityBasedProcessSuppressionEnabled();
     64    return !page->isViewVisible() && page->pageGroup().preferences()->pageVisibilityBasedProcessSuppressionEnabled();
    6565}
    6666
Note: See TracChangeset for help on using the changeset viewer.