Changeset 158028 in webkit


Ignore:
Timestamp:
Oct 25, 2013, 11:26:01 AM (12 years ago)
Author:
barraclough@apple.com
Message:

Move ViewStateFlags out of WebPageProxy
https://bugs.webkit.org/show_bug.cgi?id=123323

Reviewed by Sam Weinig.

WebPageProxy contains an enum and typedef that provide a bitfield
of flags describing the visibility of the view containing the page.
We're going to want to use this bitfield in a message to the
WebProcess, so moving out from the UIProcess to shared code.
Creating struct 'ViewState' to scope the enum and typedef.
Renamed ViewStateFlags to ViewState::Flags, and removed redundant
'View' from enum entries.

  • Shared/ViewState.h: Added.
  • UIProcess/API/mac/WKView.mm:

(-[WKView becomeFirstResponder]):
(-[WKView resignFirstResponder]):
(-[WKView viewDidMoveToWindow]):
(-[WKView _windowDidBecomeKey:]):
(-[WKView _windowDidResignKey:]):
(-[WKView _windowDidMiniaturize:]):
(-[WKView _windowDidDeminiaturize:]):
(-[WKView _windowDidOrderOffScreen:]):
(-[WKView _windowDidOrderOnScreen:]):
(-[WKView _windowDidChangeOcclusionState:]):
(-[WKView viewDidHide]):
(-[WKView viewDidUnhide]):
(-[WKView _activeSpaceDidChange:]):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::viewStateDidChange):

  • UIProcess/WebPageProxy.h:
  • WebKit2.xcodeproj/project.pbxproj:
Location:
trunk/Source/WebKit2
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r158027 r158028  
     12013-10-25  Gavin Barraclough  <barraclough@apple.com>
     2
     3        Move ViewStateFlags out of WebPageProxy
     4        https://bugs.webkit.org/show_bug.cgi?id=123323
     5
     6        Reviewed by Sam Weinig.
     7
     8        WebPageProxy contains an enum and typedef that provide a bitfield
     9        of flags describing the visibility of the view containing the page.
     10        We're going to want to use this bitfield in a message to the
     11        WebProcess, so moving out from the UIProcess to shared code.
     12        Creating struct 'ViewState' to scope the enum and typedef.
     13        Renamed ViewStateFlags to ViewState::Flags, and removed redundant
     14        'View' from enum entries.
     15
     16        * Shared/ViewState.h: Added.
     17        * UIProcess/API/mac/WKView.mm:
     18        (-[WKView becomeFirstResponder]):
     19        (-[WKView resignFirstResponder]):
     20        (-[WKView viewDidMoveToWindow]):
     21        (-[WKView _windowDidBecomeKey:]):
     22        (-[WKView _windowDidResignKey:]):
     23        (-[WKView _windowDidMiniaturize:]):
     24        (-[WKView _windowDidDeminiaturize:]):
     25        (-[WKView _windowDidOrderOffScreen:]):
     26        (-[WKView _windowDidOrderOnScreen:]):
     27        (-[WKView _windowDidChangeOcclusionState:]):
     28        (-[WKView viewDidHide]):
     29        (-[WKView viewDidUnhide]):
     30        (-[WKView _activeSpaceDidChange:]):
     31        * UIProcess/WebPageProxy.cpp:
     32        (WebKit::WebPageProxy::viewStateDidChange):
     33        * UIProcess/WebPageProxy.h:
     34        * WebKit2.xcodeproj/project.pbxproj:
     35
    1362013-10-25  Gavin Barraclough  <barraclough@apple.com>
    237
  • trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm

    r158027 r158028  
    331331   
    332332    [self _updateSecureInputState];
    333     _data->_page->viewStateDidChange(WebPageProxy::ViewIsFocused);
     333    _data->_page->viewStateDidChange(ViewState::IsFocused);
    334334
    335335    _data->_inBecomeFirstResponder = false;
     
    359359        _data->_page->clearSelection();
    360360   
    361     _data->_page->viewStateDidChange(WebPageProxy::ViewIsFocused);
     361    _data->_page->viewStateDidChange(ViewState::IsFocused);
    362362
    363363    _data->_inResignFirstResponder = false;
     
    19281928        [self doWindowDidChangeScreen];
    19291929
    1930         WebPageProxy::ViewStateFlags viewStateChanges = WebPageProxy::WindowIsVisible | WebPageProxy::ViewWindowIsActive | WebPageProxy::ViewIsVisible;
     1930        ViewState::Flags viewStateChanges = ViewState::WindowIsVisible | ViewState::WindowIsActive | ViewState::IsVisible;
    19311931        if ([self isDeferringViewInWindowChanges])
    19321932            _data->_viewInWindowChangeWasDeferred = YES;
    19331933        else
    1934             viewStateChanges |= WebPageProxy::ViewIsInWindow;
     1934            viewStateChanges |= ViewState::IsInWindow;
    19351935        _data->_page->viewStateDidChange(viewStateChanges);
    19361936
     
    19461946        [self _accessibilityRegisterUIProcessTokens];
    19471947    } else {
    1948         WebPageProxy::ViewStateFlags viewStateChanges = WebPageProxy::WindowIsVisible | WebPageProxy::ViewWindowIsActive | WebPageProxy::ViewIsVisible;
     1948        ViewState::Flags viewStateChanges = ViewState::WindowIsVisible | ViewState::WindowIsActive | ViewState::IsVisible;
    19491949        if ([self isDeferringViewInWindowChanges])
    19501950            _data->_viewInWindowChangeWasDeferred = YES;
    19511951        else
    1952             viewStateChanges |= WebPageProxy::ViewIsInWindow;
     1952            viewStateChanges |= ViewState::IsInWindow;
    19531953        _data->_page->viewStateDidChange(viewStateChanges);
    19541954
     
    19721972    if (keyWindow == [self window] || keyWindow == [[self window] attachedSheet]) {
    19731973        [self _updateSecureInputState];
    1974         _data->_page->viewStateDidChange(WebPageProxy::ViewWindowIsActive);
     1974        _data->_page->viewStateDidChange(ViewState::WindowIsActive);
    19751975    }
    19761976}
     
    19861986    if (formerKeyWindow == [self window] || formerKeyWindow == [[self window] attachedSheet]) {
    19871987        [self _updateSecureInputState];
    1988         _data->_page->viewStateDidChange(WebPageProxy::ViewWindowIsActive);
     1988        _data->_page->viewStateDidChange(ViewState::WindowIsActive);
    19891989    }
    19901990}
     
    19931993{
    19941994    _data->_windowHasValidBackingStore = NO;
    1995     _data->_page->viewStateDidChange(WebPageProxy::WindowIsVisible);
     1995    _data->_page->viewStateDidChange(ViewState::WindowIsVisible);
    19961996}
    19971997
    19981998- (void)_windowDidDeminiaturize:(NSNotification *)notification
    19991999{
    2000     _data->_page->viewStateDidChange(WebPageProxy::WindowIsVisible);
     2000    _data->_page->viewStateDidChange(ViewState::WindowIsVisible);
    20012001}
    20022002
     
    20152015- (void)_windowDidOrderOffScreen:(NSNotification *)notification
    20162016{
    2017     _data->_page->viewStateDidChange(WebPageProxy::WindowIsVisible | WebPageProxy::ViewIsVisible | WebPageProxy::ViewWindowIsActive);
     2017    _data->_page->viewStateDidChange(ViewState::WindowIsVisible | ViewState::IsVisible | ViewState::WindowIsActive);
    20182018}
    20192019
    20202020- (void)_windowDidOrderOnScreen:(NSNotification *)notification
    20212021{
    2022     _data->_page->viewStateDidChange(WebPageProxy::WindowIsVisible | WebPageProxy::ViewIsVisible | WebPageProxy::ViewWindowIsActive);
     2022    _data->_page->viewStateDidChange(ViewState::WindowIsVisible | ViewState::IsVisible | ViewState::WindowIsActive);
    20232023}
    20242024
     
    20372037- (void)_windowDidChangeOcclusionState:(NSNotification *)notification
    20382038{
    2039     _data->_page->viewStateDidChange(WebPageProxy::ViewIsVisible);
     2039    _data->_page->viewStateDidChange(ViewState::IsVisible);
    20402040}
    20412041#endif
     
    20612061- (void)viewDidHide
    20622062{
    2063     _data->_page->viewStateDidChange(WebPageProxy::ViewIsVisible);
     2063    _data->_page->viewStateDidChange(ViewState::IsVisible);
    20642064}
    20652065
    20662066- (void)viewDidUnhide
    20672067{
    2068     _data->_page->viewStateDidChange(WebPageProxy::ViewIsVisible);
     2068    _data->_page->viewStateDidChange(ViewState::IsVisible);
    20692069}
    20702070
     
    20822082- (void)_activeSpaceDidChange:(NSNotification *)notification
    20832083{
    2084     _data->_page->viewStateDidChange(WebPageProxy::ViewIsVisible);
     2084    _data->_page->viewStateDidChange(ViewState::IsVisible);
    20852085}
    20862086
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp

    r158027 r158028  
    992992}
    993993
    994 void WebPageProxy::viewStateDidChange(ViewStateFlags flags)
    995 {
    996     if (!isValid())
    997         return;
    998 
    999     if (flags & WindowIsVisible)
     994void WebPageProxy::viewStateDidChange(ViewState::Flags flags)
     995{
     996    if (!isValid())
     997        return;
     998
     999    if (flags & ViewState::WindowIsVisible)
    10001000        process()->send(Messages::WebPage::SetWindowIsVisible(m_pageClient->isWindowVisible()), m_pageID);
    10011001
    1002     if (flags & ViewIsFocused)
     1002    if (flags & ViewState::IsFocused)
    10031003        m_process->send(Messages::WebPage::SetFocused(m_pageClient->isViewFocused()), m_pageID);
    10041004
     
    10071007    bool viewWasVisible = m_isVisible;
    10081008   
    1009     if (flags & ViewWindowIsActive && !viewWasVisible)
     1009    if (flags & ViewState::WindowIsActive && !viewWasVisible)
    10101010        m_process->send(Messages::WebPage::SetActive(m_pageClient->isViewWindowActive()), m_pageID);
    10111011
    1012     if (flags & ViewIsVisible) {
     1012    if (flags & ViewState::IsVisible) {
    10131013        bool isVisible = m_pageClient->isViewVisible();
    10141014        if (isVisible != m_isVisible) {
     
    10311031    }
    10321032
    1033     if (flags & ViewWindowIsActive && viewWasVisible)
     1033    if (flags & ViewState::WindowIsActive && viewWasVisible)
    10341034        m_process->send(Messages::WebPage::SetActive(m_pageClient->isViewWindowActive()), m_pageID);
    10351035
    1036     if (flags & ViewIsInWindow)
     1036    if (flags & ViewState::IsInWindow)
    10371037        viewInWindowStateDidChange();
    10381038
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.h

    r158027 r158028  
    3838#include "SandboxExtension.h"
    3939#include "ShareableBitmap.h"
     40#include "ViewState.h"
    4041#include "WKBase.h"
    4142#include "WKPagePrivate.h"
     
    324325    void scrollView(const WebCore::IntRect& scrollRect, const WebCore::IntSize& scrollOffset);
    325326
    326     enum {
    327         ViewWindowIsActive = 1 << 0,
    328         ViewIsFocused = 1 << 1,
    329         ViewIsVisible = 1 << 2,
    330         ViewIsInWindow = 1 << 3,
    331         WindowIsVisible = 1 << 4
    332     };
    333     typedef unsigned ViewStateFlags;
    334     void viewStateDidChange(ViewStateFlags flags);
     327    void viewStateDidChange(ViewState::Flags);
    335328    enum class WantsReplyOrNot { DoesNotWantReply, DoesWantReply };
    336329    void viewInWindowStateDidChange(WantsReplyOrNot = WantsReplyOrNot::DoesNotWantReply);
  • trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj

    r158027 r158028  
    657657                7CF47FFF17276AE3008ACB91 /* WKBundlePageBannerMac.h in Headers */ = {isa = PBXBuildFile; fileRef = 7CF47FFD17276AE3008ACB91 /* WKBundlePageBannerMac.h */; settings = {ATTRIBUTES = (Private, ); }; };
    658658                84477853176FCC0800CDC7BB /* InjectedBundleHitTestResultMediaType.h in Headers */ = {isa = PBXBuildFile; fileRef = 84477851176FCAC100CDC7BB /* InjectedBundleHitTestResultMediaType.h */; };
     659                865E0485181A094A001F72F2 /* ViewState.h in Headers */ = {isa = PBXBuildFile; fileRef = 865E0484181A090D001F72F2 /* ViewState.h */; };
    659660                8CFECE941490F140002AAA32 /* EditorState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8CFECE931490F140002AAA32 /* EditorState.cpp */; };
    660661                8DC2EF530486A6940098B216 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C1666FE841158C02AAC07 /* InfoPlist.strings */; };
     
    21582159                7CF47FFD17276AE3008ACB91 /* WKBundlePageBannerMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKBundlePageBannerMac.h; sourceTree = "<group>"; };
    21592160                84477851176FCAC100CDC7BB /* InjectedBundleHitTestResultMediaType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InjectedBundleHitTestResultMediaType.h; sourceTree = "<group>"; };
     2161                865E0484181A090D001F72F2 /* ViewState.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewState.h; sourceTree = "<group>"; };
    21602162                8CFECE931490F140002AAA32 /* EditorState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EditorState.cpp; sourceTree = "<group>"; };
    21612163                8DC2EF5A0486A6940098B216 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
     
    33313333                                1A64245C12DE29A100CAAE2C /* UpdateInfo.h */,
    33323334                                BCB0B0DF12305AB100B1341E /* UserMessageCoders.h */,
     3335                                865E0484181A090D001F72F2 /* ViewState.h */,
    33333336                                1A0F29C9120B37160053D1B9 /* VisitedLinkTable.cpp */,
    33343337                                1A0F29CA120B37160053D1B9 /* VisitedLinkTable.h */,
     
    53975400                                B878B615133428DC006888E9 /* CorrectionPanel.h in Headers */,
    53985401                                2989A414167D184B004F96D2 /* CustomProtocolManager.h in Headers */,
     5402                                865E0485181A094A001F72F2 /* ViewState.h in Headers */,
    53995403                                2984F589164BA095004BC0C6 /* CustomProtocolManagerMessages.h in Headers */,
    54005404                                29AD3093164B4C5D0072DEA9 /* CustomProtocolManagerProxy.h in Headers */,
Note: See TracChangeset for help on using the changeset viewer.