Changeset 80619 in webkit


Ignore:
Timestamp:
Mar 8, 2011 9:19:38 PM (13 years ago)
Author:
jer.noble@apple.com
Message:

2011-03-08 Jer Noble <jer.noble@apple.com>

Reviewed by Sam Weinig.

WebKit2: Plumb through the FULLSCREEN_API Chrome client calls
https://bugs.webkit.org/show_bug.cgi?id=55273

The FULLSCREEN_API Chrome client calls need to be plumbed through from the
WebProcess to the UIProcess. To do this, WebFullScreenManager (and Proxy)
classes have been added to WebPage.

  • DerivedSources.make: Added rules necessary to build DerivedSources for new .in files.
  • DerivedSources.pro: Ditto.
  • Platform/CoreIPC/MessageID.h: Added message types for WebFullScreenManager.
  • Shared/API/c/WKBase.h: Added WKFullScreenManagerRef.
  • Shared/APIObject.h: Added APIType for WebFullScreenManager.
  • UIProcess/WebFullScreenManagerProxy.cpp: Added.
  • UIProcess/WebFullScreenManagerProxy.h: Added.
  • UIProcess/WebFullScreenManagerProxy.messages.in: Added.
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::close): Invalidate and clear m_fullScreenManager. (WebKit::WebPageProxy::processDidCrash): Ditto. (WebKit::WebPageProxy::didReceiveMessage): Pass messages on to WebFullScreenManagerProxy. (WebKit::WebPageProxy::didReceiveSyncMessage): Ditto. (WebKit::WebPageProxy::fullScreenManager): Added. Lazy instantiation of m_fullScreenManager.
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/WebUIClient.cpp:
  • UIProcess/WebUIClient.h:
  • WebKit2.xcodeproj/project.pbxproj: Added references to new classes in project file.
  • WebKit2.pro: Ditto.
  • win/WebKit2.vcproj: Ditto.
  • WebKit2.pri: Added new directories to include file path.
  • win/WebKit2Common.vsprops: Ditto.
  • WebProcess/FullScreen/WebFullScreenManager.cpp: Added.
  • WebProcess/FullScreen/WebFullScreenManager.h: Added.
  • WebProcess/FullScreen/WebFullScreenManager.messages.in: Added.
  • WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::supportsFullScreenForElement): Pass through to WebFullScreenManager. (WebKit::WebChromeClient::enterFullScreenForElement): Ditto. (WebKit::WebChromeClient::exitFullScreenForElement): Ditto.
  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::close): Invalidate and clear m_fullScreenManager. (WebKit::WebPage::fullScreenManager): Lazy instantiation of m_fullScreenManager. (WebKit::WebPage::didReceiveMessage): Pass messages through to WebFullScreenManager.
  • WebProcess/WebPage/WebPage.h:
Location:
trunk/Source/WebKit2
Files:
7 added
16 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r80612 r80619  
     12011-03-08  Jer Noble  <jer.noble@apple.com>
     2
     3        Reviewed by Sam Weinig.
     4
     5        WebKit2: Plumb through the FULLSCREEN_API Chrome client calls
     6        https://bugs.webkit.org/show_bug.cgi?id=55273
     7
     8        The FULLSCREEN_API Chrome client calls need to be plumbed through from the
     9        WebProcess to the UIProcess.  To do this, WebFullScreenManager (and Proxy)
     10        classes have been added to WebPage.
     11
     12        * DerivedSources.make: Added rules necessary to build DerivedSources for new .in files.
     13        * DerivedSources.pro: Ditto.
     14        * Platform/CoreIPC/MessageID.h: Added message types for WebFullScreenManager.
     15        * Shared/API/c/WKBase.h: Added WKFullScreenManagerRef.
     16        * Shared/APIObject.h: Added APIType for WebFullScreenManager.
     17        * UIProcess/WebFullScreenManagerProxy.cpp: Added.
     18        * UIProcess/WebFullScreenManagerProxy.h: Added.
     19        * UIProcess/WebFullScreenManagerProxy.messages.in: Added.
     20        * UIProcess/WebPageProxy.cpp:
     21        (WebKit::WebPageProxy::close): Invalidate and clear m_fullScreenManager.
     22        (WebKit::WebPageProxy::processDidCrash): Ditto.
     23        (WebKit::WebPageProxy::didReceiveMessage): Pass messages on to WebFullScreenManagerProxy.
     24        (WebKit::WebPageProxy::didReceiveSyncMessage): Ditto.
     25        (WebKit::WebPageProxy::fullScreenManager): Added. Lazy instantiation of m_fullScreenManager.
     26        * UIProcess/WebPageProxy.h:
     27        * UIProcess/WebPageProxy.messages.in:
     28        * UIProcess/WebUIClient.cpp:
     29        * UIProcess/WebUIClient.h:
     30        * WebKit2.xcodeproj/project.pbxproj: Added references to new classes in project file.
     31        * WebKit2.pro: Ditto.
     32        * win/WebKit2.vcproj: Ditto.
     33        * WebKit2.pri: Added new directories to include file path.
     34        * win/WebKit2Common.vsprops: Ditto.
     35        * WebProcess/FullScreen/WebFullScreenManager.cpp: Added.
     36        * WebProcess/FullScreen/WebFullScreenManager.h: Added.
     37        * WebProcess/FullScreen/WebFullScreenManager.messages.in: Added.
     38        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
     39        (WebKit::WebChromeClient::supportsFullScreenForElement): Pass through to WebFullScreenManager.
     40        (WebKit::WebChromeClient::enterFullScreenForElement): Ditto.
     41        (WebKit::WebChromeClient::exitFullScreenForElement): Ditto.
     42        * WebProcess/WebPage/WebPage.cpp:
     43        (WebKit::WebPage::close): Invalidate and clear m_fullScreenManager.
     44        (WebKit::WebPage::fullScreenManager): Lazy instantiation of m_fullScreenManager.
     45        (WebKit::WebPage::didReceiveMessage): Pass messages through to WebFullScreenManager.
     46        * WebProcess/WebPage/WebPage.h:
     47
    1482011-03-08  Jer Noble  <jer.noble@apple.com>
    249
  • trunk/Source/WebKit2/DerivedSources.make

    r79654 r80619  
    2727    $(WebKit2)/WebProcess/Authentication \
    2828    $(WebKit2)/WebProcess/Cookies \
     29    $(WebKit2)/WebProcess/FullScreen \
    2930    $(WebKit2)/WebProcess/Geolocation \
    3031    $(WebKit2)/WebProcess/KeyValueStorage \
     
    5657    WebDatabaseManager \
    5758    WebDatabaseManagerProxy \
     59    WebFullScreenManager \
     60    WebFullScreenManagerProxy \
    5861    WebGeolocationManager \
    5962    WebGeolocationManagerProxy \
  • trunk/Source/WebKit2/DerivedSources.pro

    r80434 r80619  
    7979    WebProcess/Authentication \
    8080    WebProcess/Cookies \
     81    WebProcess/FullScreen \
    8182    WebProcess/Geolocation \
    8283    WebProcess/KeyValueStorage \
     
    110111    WebKeyValueStorageManager.messages.in \
    111112    WebKeyValueStorageManagerProxy.messages.in \
     113    WebFullScreenManager.messages.in \
     114    WebFullScreenManagerProxy.messages.in \
    112115    WebPage/WebInspector.messages.in \
    113116    WebPage/WebPage.messages.in \
  • trunk/Source/WebKit2/Platform/CoreIPC/MessageID.h

    r79654 r80619  
    4343    MessageClassWebCookieManager,
    4444    MessageClassWebDatabaseManager,
     45    MessageClassWebFullScreenManager,
    4546    MessageClassWebGeolocationManagerProxy,
    4647    MessageClassWebInspector,
     
    5960    MessageClassWebCookieManagerProxy,
    6061    MessageClassWebDatabaseManagerProxy,
     62    MessageClassWebFullScreenManagerProxy,
    6163    MessageClassWebGeolocationManager,
    6264    MessageClassWebInspectorProxy,
  • trunk/Source/WebKit2/Shared/APIObject.h

    r80605 r80619  
    7373        TypeFrame,
    7474        TypeFramePolicyListener,
     75        TypeFullScreenManager,
    7576        TypeGeolocationManager,
    7677        TypeGeolocationPermissionRequest,
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp

    r80609 r80619  
    298298#endif
    299299
     300#if ENABLE(FULLSCREEN_API)
     301    if (m_fullScreenManager) {
     302        m_fullScreenManager->invalidate();
     303        m_fullScreenManager = 0;
     304    }
     305#endif
     306
    300307    if (m_openPanelResultListener) {
    301308        m_openPanelResultListener->invalidate();
     
    12581265#endif
    12591266
     1267#if ENABLE(FULLSCREEN_API)
     1268    if (messageID.is<CoreIPC::MessageClassWebFullScreenManagerProxy>()) {
     1269        fullScreenManager()->didReceiveMessage(connection, messageID, arguments);
     1270        return;
     1271    }
     1272#endif
     1273
    12601274    didReceiveWebPageProxyMessage(connection, messageID, arguments);
    12611275}
     
    12671281        if (WebInspectorProxy* inspector = this->inspector())
    12681282            inspector->didReceiveSyncWebInspectorProxyMessage(connection, messageID, arguments, reply);
     1283        return;
     1284    }
     1285#endif
     1286
     1287#if ENABLE(FULLSCREEN_API)
     1288    if (messageID.is<CoreIPC::MessageClassWebFullScreenManagerProxy>()) {
     1289        fullScreenManager()->didReceiveSyncMessage(connection, messageID, arguments, reply);
    12691290        return;
    12701291    }
     
    19872008}
    19882009
     2010#endif
     2011
     2012#if ENABLE(FULLSCREEN_API)
     2013WebFullScreenManagerProxy* WebPageProxy::fullScreenManager()
     2014{
     2015    if (!m_fullScreenManager)
     2016        m_fullScreenManager = WebFullScreenManagerProxy::create(this);
     2017    return m_fullScreenManager.get();
     2018}
    19892019#endif
    19902020
     
    25852615        m_inspector->invalidate();
    25862616        m_inspector = 0;
     2617    }
     2618#endif
     2619
     2620#if ENABLE(FULLSCREEN_API)
     2621    if (m_fullScreenManager) {
     2622        m_fullScreenManager->invalidate();
     2623        m_fullScreenManager = 0;
    25872624    }
    25882625#endif
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.h

    r80609 r80619  
    4343#include "WebFormClient.h"
    4444#include "WebFrameProxy.h"
     45#include "WebFullScreenManagerProxy.h"
    4546#include "WebHistoryClient.h"
    4647#include "WebInspectorProxy.h"
     
    181182#if ENABLE(INSPECTOR)
    182183    WebInspectorProxy* inspector();
     184#endif
     185
     186#if ENABLE(FULLSCREEN_API)
     187    WebFullScreenManagerProxy* fullScreenManager();
    183188#endif
    184189
     
    671676#endif
    672677
     678#if ENABLE(FULLSCREEN_API)
     679    RefPtr<WebFullScreenManagerProxy> m_fullScreenManager;
     680#endif
     681
    673682    HashMap<uint64_t, RefPtr<VoidCallback> > m_voidCallbacks;
    674683    HashMap<uint64_t, RefPtr<DataCallback> > m_dataCallbacks;
  • trunk/Source/WebKit2/WebKit2.pri

    r80434 r80619  
    4444    $$SOURCE_DIR/WebKit2/WebProcess/Downloads \
    4545    $$SOURCE_DIR/WebKit2/WebProcess/Downloads/qt \
     46    $$SOURCE_DIR/WebKit2/WebProcess/FullScreen \
    4647    $$SOURCE_DIR/WebKit2/WebProcess/Geolocation \
    4748    $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle \
  • trunk/Source/WebKit2/WebKit2.pro

    r80434 r80619  
    3434    $$WEBKIT2_GENERATED_SOURCES_DIR/WebDatabaseManagerMessages.h \
    3535    $$WEBKIT2_GENERATED_SOURCES_DIR/WebDatabaseManagerProxyMessages.h \
     36    $$WEBKIT2_GENERATED_SOURCES_DIR/WebFullScreenManagerMessages.h \
     37    $$WEBKIT2_GENERATED_SOURCES_DIR/WebFullScreenManagerProxyMessages.h \
    3638    $$WEBKIT2_GENERATED_SOURCES_DIR/WebGeolocationManagerMessages.h \
    3739    $$WEBKIT2_GENERATED_SOURCES_DIR/WebGeolocationManagerProxyMessages.h \
     
    6365    $$WEBKIT2_GENERATED_SOURCES_DIR/WebDatabaseManagerMessageReceiver.cpp \
    6466    $$WEBKIT2_GENERATED_SOURCES_DIR/WebDatabaseManagerProxyMessageReceiver.cpp \
     67    $$WEBKIT2_GENERATED_SOURCES_DIR/WebFullScreenManagerMessageReceiver.cpp \
     68    $$WEBKIT2_GENERATED_SOURCES_DIR/WebFullScreenManagerProxyMessageReceiver.cpp \
    6569    $$WEBKIT2_GENERATED_SOURCES_DIR/WebGeolocationManagerMessageReceiver.cpp \
    6670    $$WEBKIT2_GENERATED_SOURCES_DIR/WebGeolocationManagerProxyMessageReceiver.cpp \
     
    191195    UIProcess/WebFramePolicyListenerProxy.h \
    192196    UIProcess/WebFrameProxy.h \
     197    UIProcess/WebFullScreenManagerProxy.h \
    193198    UIProcess/WebGeolocationManagerProxy.h \
    194199    UIProcess/WebGeolocationProvider.h \
     
    215220    WebProcess/Downloads/Download.h \
    216221    WebProcess/Downloads/DownloadManager.h \
     222    WebProcess/FullScreen/WebFullScreenManager.h \
    217223    WebProcess/Geolocation/GeolocationPermissionRequestManager.h \
    218224    WebProcess/Geolocation/WebGeolocationManager.h \
     
    381387    UIProcess/WebFramePolicyListenerProxy.cpp \
    382388    UIProcess/WebFrameProxy.cpp \
     389    UIProcess/WebFullScreenManagerProxy.cpp \
    383390    UIProcess/WebGeolocationManagerProxy.cpp \
    384391    UIProcess/WebGeolocationProvider.cpp \
     
    413420    WebProcess/Downloads/Download.cpp \
    414421    WebProcess/Downloads/DownloadManager.cpp \
     422    WebProcess/FullScreen/WebFullScreenManager.cpp \
    415423    WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp \
    416424    WebProcess/Geolocation/WebGeolocationManager.cpp \
  • trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj

    r80279 r80619  
    739739                C574A58112E66681002DFE98 /* PasteboardTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = C574A57F12E66681002DFE98 /* PasteboardTypes.h */; };
    740740                C574A58212E66681002DFE98 /* PasteboardTypes.mm in Sources */ = {isa = PBXBuildFile; fileRef = C574A58012E66681002DFE98 /* PasteboardTypes.mm */; };
     741                CD6F75F4131B66D000D6B21E /* WebFullScreenManagerProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CD73BA3E131A2E8A00EEDED2 /* WebFullScreenManagerProxy.cpp */; };
     742                CD73BA42131A2E8B00EEDED2 /* WebFullScreenManagerProxy.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = CD73BA3F131A2E8A00EEDED2 /* WebFullScreenManagerProxy.h */; };
     743                CD73BA47131ACC9A00EEDED2 /* WebFullScreenManagerProxyMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CD73BA45131ACC8800EEDED2 /* WebFullScreenManagerProxyMessageReceiver.cpp */; };
     744                CD73BA4C131ACD8F00EEDED2 /* WebFullScreenManagerMessages.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = CD73BA49131ACD8E00EEDED2 /* WebFullScreenManagerMessages.h */; };
     745                CD73BA4D131ACD8F00EEDED2 /* WebFullScreenManagerProxyMessages.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = CD73BA4A131ACD8F00EEDED2 /* WebFullScreenManagerProxyMessages.h */; };
     746                CD73BA4E131ACDB700EEDED2 /* WebFullScreenManagerMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CD73BA48131ACD8E00EEDED2 /* WebFullScreenManagerMessageReceiver.cpp */; };
     747                CD73BA53131B645B00EEDED2 /* WebFullScreenManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CD73BA37131A29FE00EEDED2 /* WebFullScreenManager.cpp */; };
    741748                D3B9484611FF4B6500032B39 /* WebPopupMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D3B9484211FF4B6500032B39 /* WebPopupMenu.cpp */; };
    742749                D3B9484711FF4B6500032B39 /* WebPopupMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = D3B9484311FF4B6500032B39 /* WebPopupMenu.h */; };
     
    816823                                1A64228B12DD024700CAAE2C /* DrawingArea.messages.in in CopyFiles */,
    817824                                6546A82C13000164000CEB1C /* InjectedBundlePageResourceLoadClient.h in CopyFiles */,
     825                                CD73BA42131A2E8B00EEDED2 /* WebFullScreenManagerProxy.h in CopyFiles */,
     826                                CD73BA4C131ACD8F00EEDED2 /* WebFullScreenManagerMessages.h in CopyFiles */,
     827                                CD73BA4D131ACD8F00EEDED2 /* WebFullScreenManagerProxyMessages.h in CopyFiles */,
    818828                        );
    819829                        runOnlyForDeploymentPostprocessing = 0;
     
    15891599                C574A57F12E66681002DFE98 /* PasteboardTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PasteboardTypes.h; sourceTree = "<group>"; };
    15901600                C574A58012E66681002DFE98 /* PasteboardTypes.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PasteboardTypes.mm; sourceTree = "<group>"; };
     1601                CD73BA37131A29FE00EEDED2 /* WebFullScreenManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WebFullScreenManager.cpp; path = FullScreen/WebFullScreenManager.cpp; sourceTree = "<group>"; };
     1602                CD73BA38131A29FE00EEDED2 /* WebFullScreenManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebFullScreenManager.h; path = FullScreen/WebFullScreenManager.h; sourceTree = "<group>"; };
     1603                CD73BA39131A29FE00EEDED2 /* WebFullScreenManager.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = WebFullScreenManager.messages.in; path = FullScreen/WebFullScreenManager.messages.in; sourceTree = "<group>"; };
     1604                CD73BA3E131A2E8A00EEDED2 /* WebFullScreenManagerProxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebFullScreenManagerProxy.cpp; sourceTree = "<group>"; };
     1605                CD73BA3F131A2E8A00EEDED2 /* WebFullScreenManagerProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebFullScreenManagerProxy.h; sourceTree = "<group>"; };
     1606                CD73BA40131A2E8A00EEDED2 /* WebFullScreenManagerProxy.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebFullScreenManagerProxy.messages.in; sourceTree = "<group>"; };
     1607                CD73BA45131ACC8800EEDED2 /* WebFullScreenManagerProxyMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebFullScreenManagerProxyMessageReceiver.cpp; sourceTree = "<group>"; };
     1608                CD73BA48131ACD8E00EEDED2 /* WebFullScreenManagerMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebFullScreenManagerMessageReceiver.cpp; sourceTree = "<group>"; };
     1609                CD73BA49131ACD8E00EEDED2 /* WebFullScreenManagerMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebFullScreenManagerMessages.h; sourceTree = "<group>"; };
     1610                CD73BA4A131ACD8F00EEDED2 /* WebFullScreenManagerProxyMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebFullScreenManagerProxyMessages.h; sourceTree = "<group>"; };
    15911611                D3B9484211FF4B6500032B39 /* WebPopupMenu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebPopupMenu.cpp; sourceTree = "<group>"; };
    15921612                D3B9484311FF4B6500032B39 /* WebPopupMenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebPopupMenu.h; sourceTree = "<group>"; };
     
    22132233                        isa = PBXGroup;
    22142234                        children = (
     2235                                CD73BA3D131A2A2100EEDED2 /* FullScreen */,
    22152236                                512E352A130B559900ABD19A /* ApplicationCache */,
    22162237                                512F588612A8834700629530 /* Authentication */,
     
    23162337                        isa = PBXGroup;
    23172338                        children = (
     2339                                CD73BA3E131A2E8A00EEDED2 /* WebFullScreenManagerProxy.cpp */,
     2340                                CD73BA3F131A2E8A00EEDED2 /* WebFullScreenManagerProxy.h */,
     2341                                CD73BA40131A2E8A00EEDED2 /* WebFullScreenManagerProxy.messages.in */,
    23182342                                BC032DC410F4387C0058C15A /* API */,
    23192343                                512F588D12A8836F00629530 /* Authentication */,
     
    29292953                        isa = PBXGroup;
    29302954                        children = (
     2955                                CD73BA48131ACD8E00EEDED2 /* WebFullScreenManagerMessageReceiver.cpp */,
     2956                                CD73BA49131ACD8E00EEDED2 /* WebFullScreenManagerMessages.h */,
     2957                                CD73BA4A131ACD8F00EEDED2 /* WebFullScreenManagerProxyMessages.h */,
     2958                                CD73BA45131ACC8800EEDED2 /* WebFullScreenManagerProxyMessageReceiver.cpp */,
    29312959                                1A64230612DD09EB00CAAE2C /* DrawingAreaProxyMessageReceiver.cpp */,
    29322960                                1A64230712DD09EB00CAAE2C /* DrawingAreaProxyMessages.h */,
     
    30143042                        );
    30153043                        path = webkit2;
     3044                        sourceTree = "<group>";
     3045                };
     3046                CD73BA3D131A2A2100EEDED2 /* FullScreen */ = {
     3047                        isa = PBXGroup;
     3048                        children = (
     3049                                CD73BA37131A29FE00EEDED2 /* WebFullScreenManager.cpp */,
     3050                                CD73BA38131A29FE00EEDED2 /* WebFullScreenManager.h */,
     3051                                CD73BA39131A29FE00EEDED2 /* WebFullScreenManager.messages.in */,
     3052                        );
     3053                        name = FullScreen;
    30163054                        sourceTree = "<group>";
    30173055                };
     
    39774015                                E1BB16A513201B9B00F49431 /* FullKeyboardAccessWatcher.mm in Sources */,
    39784016                                33AA1066131F060000D4A575 /* WebCookieManagerProxyClient.cpp in Sources */,
     4017                                CD73BA47131ACC9A00EEDED2 /* WebFullScreenManagerProxyMessageReceiver.cpp in Sources */,
     4018                                CD73BA4E131ACDB700EEDED2 /* WebFullScreenManagerMessageReceiver.cpp in Sources */,
     4019                                CD73BA53131B645B00EEDED2 /* WebFullScreenManager.cpp in Sources */,
     4020                                CD6F75F4131B66D000D6B21E /* WebFullScreenManagerProxy.cpp in Sources */,
    39794021                        );
    39804022                        runOnlyForDeploymentPostprocessing = 0;
  • trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp

    r80578 r80619  
    3535#include "WebFrame.h"
    3636#include "WebFrameLoaderClient.h"
     37#include "WebFullScreenManager.h"
    3738#include "WebOpenPanelParameters.h"
    3839#include "WebOpenPanelResultListener.h"
     
    705706#endif
    706707
     708#if ENABLE(FULLSCREEN_API)
     709bool WebChromeClient::supportsFullScreenForElement(const WebCore::Element* element)
     710{
     711    return m_page->fullScreenManager()->supportsFullScreen();
     712}
     713
     714void WebChromeClient::enterFullScreenForElement(WebCore::Element* element)
     715{
     716    m_page->fullScreenManager()->enterFullScreenForElement(element);
     717}
     718
     719void WebChromeClient::exitFullScreenForElement(WebCore::Element* element)
     720{
     721    m_page->fullScreenManager()->exitFullScreenForElement(element);
     722}
     723#endif
     724
    707725void WebChromeClient::dispatchViewportDataDidChange(const ViewportArguments& args) const
    708726{
  • trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h

    r80279 r80619  
    206206#endif
    207207
     208#if ENABLE(FULLSCREEN_API)
     209    virtual bool supportsFullScreenForElement(const WebCore::Element*);
     210    virtual void enterFullScreenForElement(WebCore::Element*);
     211    virtual void exitFullScreenForElement(WebCore::Element*);
     212#endif
     213
    208214    virtual void dispatchViewportDataDidChange(const WebCore::ViewportArguments&) const;
    209215
  • trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp

    r80612 r80619  
    5555#include "WebEventConversion.h"
    5656#include "WebFrame.h"
     57#include "WebFullScreenManager.h"
    5758#include "WebGeolocationClient.h"
    5859#include "WebImage.h"
     
    353354    m_inspector = 0;
    354355#endif
     356#if ENABLE(FULLSCREEN_API)
     357    m_fullScreenManager = 0;
     358#endif
    355359
    356360    if (m_activePopupMenu) {
     
    14011405#endif
    14021406
     1407#if ENABLE(FULLSCREEN_API)
     1408WebFullScreenManager* WebPage::fullScreenManager()
     1409{
     1410    if (!m_fullScreenManager)
     1411        m_fullScreenManager = WebFullScreenManager::create(this);
     1412    return m_fullScreenManager.get();
     1413}
     1414#endif
     1415
    14031416#if !PLATFORM(MAC)
    14041417bool WebPage::handleEditingKeyboardEvent(KeyboardEvent* evt)
     
    17721785#endif
    17731786
     1787#if ENABLE(FULLSCREEN_API)
     1788    if (messageID.is<CoreIPC::MessageClassWebFullScreenManager>()) {
     1789        fullScreenManager()->didReceiveMessage(connection, messageID, arguments);
     1790        return;
     1791    }
     1792#endif
     1793
    17741794    didReceiveWebPageMessage(connection, messageID, arguments);
    17751795}
  • trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h

    r80569 r80619  
    9191class WebEvent;
    9292class WebFrame;
     93class WebFullScreenManager;
    9394class WebImage;
    9495class WebInspector;
     
    140141#if ENABLE(INSPECTOR)
    141142    WebInspector* inspector();
     143#endif
     144
     145#if ENABLE(FULLSCREEN_API)
     146    WebFullScreenManager* fullScreenManager();
    142147#endif
    143148
     
    541546    RefPtr<WebInspector> m_inspector;
    542547#endif
     548#if ENABLE(FULLSCREEN_API)
     549    RefPtr<WebFullScreenManager> m_fullScreenManager;
     550#endif
    543551    RefPtr<WebPopupMenu> m_activePopupMenu;
    544552    RefPtr<WebContextMenu> m_contextMenu;
  • trunk/Source/WebKit2/win/WebKit2.vcproj

    r80609 r80619  
    25322532                        </File>
    25332533                        <File
     2534                                RelativePath="..\UIProcess\WebFullScreenManagerProxy.cpp"
     2535                                >
     2536                        </File>
     2537                        <File
     2538                                RelativePath="..\UIProcess\WebFullScreenManagerProxy.h"
     2539                                >
     2540                        </File>
     2541                        <File
    25342542                                RelativePath="..\UIProcess\WebGeolocationManagerProxy.cpp"
    25352543                                >
     
    35723580                        </File>
    35733581                        <File
     3582                                RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebFullScreenManagerMessageReceiver.cpp"
     3583                                >
     3584                        </File>
     3585                        <File
     3586                                RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebFullScreenManagerMessages.h"
     3587                                >
     3588                        </File>
     3589                        <File
     3590                                RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebFullScreenManagerProxyMessageReceiver.cpp"
     3591                                >
     3592                        </File>
     3593                        <File
     3594                                RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebFullScreenManagerProxyMessages.h"
     3595                                >
     3596                        </File>
     3597                        <File
    35743598                                RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebGeolocationManagerMessageReceiver.cpp"
    35753599                                >
  • trunk/Source/WebKit2/win/WebKit2Common.vsprops

    r80395 r80619  
    77        <Tool
    88                Name="VCCLCompilerTool"
    9                 AdditionalIncludeDirectories="&quot;$(ProjectDir)&quot;;&quot;$(ProjectDir)\..&quot;;&quot;$(ProjectDir)\..\Platform&quot;;&quot;$(ProjectDir)\..\Platform\cg&quot;;&quot;$(ProjectDir)\..\Platform\CoreIPC&quot;;&quot;$(ProjectDir)\..\PluginProcess&quot;;&quot;$(ProjectDir)\..\Shared&quot;;&quot;$(ProjectDir)\..\Shared\win&quot;;&quot;$(ProjectDir)\..\Shared\cf&quot;;&quot;$(ProjectDir)\..\Shared\API\c&quot;;&quot;$(ProjectDir)\..\Shared\API\c\cf&quot;;&quot;$(ProjectDir)\..\Shared\API\c\win&quot;;&quot;$(ProjectDir)\..\Shared\CoreIPCSupport&quot;;&quot;$(ProjectDir)\..\Shared\Plugins&quot;;&quot;$(ProjectDir)\..\Shared\Plugins\Netscape&quot;;&quot;$(ProjectDir)\..\UIProcess&quot;;&quot;$(ProjectDir)\..\UIProcess\API\C&quot;;&quot;$(ProjectDir)\..\UIProcess\API\C\win&quot;;&quot;$(ProjectDir)\..\UIProcess\API\cpp&quot;;&quot;$(ProjectDir)\..\UIProcess\API\win&quot;;&quot;$(ProjectDir)\..\UIProcess\Authentication&quot;;&quot;$(ProjectDir)\..\UIProcess\Downloads&quot;;&quot;$(ProjectDir)\..\UIProcess\Launcher&quot;;&quot;$(ProjectDir)\..\UIProcess\Plugins&quot;;&quot;$(ProjectDir)\..\UIProcess\win&quot;;&quot;$(ProjectDir)\..\WebProcess&quot;;&quot;$(ProjectDir)\..\WebProcess\WebCoreSupport&quot;;&quot;$(ProjectDir)\..\WebProcess\WebCoreSupport\win&quot;;&quot;$(ProjectDir)\..\WebProcess\WebPage&quot;;&quot;$(ProjectDir)\..\WebProcess\WebPage\win&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle\API\c&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle\DOM&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle\win&quot;;&quot;$(ProjectDir)\..\WebProcess\Plugins&quot;;&quot;$(ProjectDir)\..\WebProcess\Plugins\Netscape&quot;;&quot;$(ProjectDir)\..\WebProcess\win&quot;;&quot;$(ProjectDir)\..\WebProcess\ApplicationCache&quot;;&quot;$(ProjectDir)\..\WebProcess\Authentication&quot;;&quot;$(ProjectDir)\..\WebProcess\Cookies&quot;;&quot;$(ProjectDir)\..\WebProcess\Downloads&quot;;&quot;$(ProjectDir)\..\WebProcess\Downloads\cf&quot;;&quot;$(ProjectDir)\..\WebProcess\Geolocation&quot;;&quot;$(ProjectDir)\..\WebProcess\KeyValueStorage&quot;;&quot;$(ProjectDir)\..\WebProcess\ResourceCache&quot;;&quot;$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources&quot;;&quot;$(ConfigurationBuildDir)\Include&quot;;&quot;$(ConfigurationBuildDir)\Include\private&quot;;&quot;$(WebKitLibrariesDir)\Include&quot;;&quot;$(WebKitLibrariesDir)\Include\private&quot;;&quot;$(WebKitLibrariesDir)\Include\pthreads&quot;;&quot;$(ConfigurationBuildDir)\Include\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\Include\private\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\Include\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\Include\private\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\Include\WebCore\ForwardingHeaders&quot;;&quot;$(WebKitLibrariesDir)\Include\WebCore\ForwardingHeaders&quot;"
     9                AdditionalIncludeDirectories="&quot;$(ProjectDir)&quot;;&quot;$(ProjectDir)\..&quot;;&quot;$(ProjectDir)\..\Platform&quot;;&quot;$(ProjectDir)\..\Platform\cg&quot;;&quot;$(ProjectDir)\..\Platform\CoreIPC&quot;;&quot;$(ProjectDir)\..\PluginProcess&quot;;&quot;$(ProjectDir)\..\Shared&quot;;&quot;$(ProjectDir)\..\Shared\win&quot;;&quot;$(ProjectDir)\..\Shared\cf&quot;;&quot;$(ProjectDir)\..\Shared\API\c&quot;;&quot;$(ProjectDir)\..\Shared\API\c\cf&quot;;&quot;$(ProjectDir)\..\Shared\API\c\win&quot;;&quot;$(ProjectDir)\..\Shared\CoreIPCSupport&quot;;&quot;$(ProjectDir)\..\Shared\Plugins&quot;;&quot;$(ProjectDir)\..\Shared\Plugins\Netscape&quot;;&quot;$(ProjectDir)\..\UIProcess&quot;;&quot;$(ProjectDir)\..\UIProcess\API\C&quot;;&quot;$(ProjectDir)\..\UIProcess\API\C\win&quot;;&quot;$(ProjectDir)\..\UIProcess\API\cpp&quot;;&quot;$(ProjectDir)\..\UIProcess\API\win&quot;;&quot;$(ProjectDir)\..\UIProcess\Authentication&quot;;&quot;$(ProjectDir)\..\UIProcess\Downloads&quot;;&quot;$(ProjectDir)\..\UIProcess\Launcher&quot;;&quot;$(ProjectDir)\..\UIProcess\Plugins&quot;;&quot;$(ProjectDir)\..\UIProcess\win&quot;;&quot;$(ProjectDir)\..\WebProcess&quot;;&quot;$(ProjectDir)\..\WebProcess\WebCoreSupport&quot;;&quot;$(ProjectDir)\..\WebProcess\WebCoreSupport\win&quot;;&quot;$(ProjectDir)\..\WebProcess\WebPage&quot;;&quot;$(ProjectDir)\..\WebProcess\WebPage\win&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle\API\c&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle\DOM&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle\win&quot;;&quot;$(ProjectDir)\..\WebProcess\Plugins&quot;;&quot;$(ProjectDir)\..\WebProcess\Plugins\Netscape&quot;;&quot;$(ProjectDir)\..\WebProcess\win&quot;;&quot;$(ProjectDir)\..\WebProcess\ApplicationCache&quot;;&quot;$(ProjectDir)\..\WebProcess\Authentication&quot;;&quot;$(ProjectDir)\..\WebProcess\Cookies&quot;;&quot;$(ProjectDir)\..\WebProcess\Downloads&quot;;&quot;$(ProjectDir)\..\WebProcess\Downloads\cf&quot;;&quot;$(ProjectDir)\..\WebProcess\FullScreen&quot;;&quot;$(ProjectDir)\..\WebProcess\Geolocation&quot;;&quot;$(ProjectDir)\..\WebProcess\KeyValueStorage&quot;;&quot;$(ProjectDir)\..\WebProcess\ResourceCache&quot;;&quot;$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources&quot;;&quot;$(ConfigurationBuildDir)\Include&quot;;&quot;$(ConfigurationBuildDir)\Include\private&quot;;&quot;$(WebKitLibrariesDir)\Include&quot;;&quot;$(WebKitLibrariesDir)\Include\private&quot;;&quot;$(WebKitLibrariesDir)\Include\pthreads&quot;;&quot;$(ConfigurationBuildDir)\Include\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\Include\private\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\Include\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\Include\private\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\Include\WebCore\ForwardingHeaders&quot;;&quot;$(WebKitLibrariesDir)\Include\WebCore\ForwardingHeaders&quot;"
    1010                PreprocessorDefinitions="_USRDLL;WEBKIT_EXPORTS;FRAMEWORK_NAME=WebKit;BUILDING_WEBKIT"
    1111                UsePrecompiledHeader="2"
Note: See TracChangeset for help on using the changeset viewer.