Changeset 175596 in webkit


Ignore:
Timestamp:
Nov 4, 2014 5:36:42 PM (9 years ago)
Author:
jeremyj-wk@apple.com
Message:

Add button and enable optimized fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=138351

Reviewed by Eric Carlson.

Added optimizedFullscreenButton to js media element controls. Remove #if conditional
and use optimizedFullscreenSupported to enable feature at runtime

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::enterFullscreenOptimized): enable
(WebCore::MediaControlsHost::optimizedFullscreenSupported): added

  • Modules/mediacontrols/MediaControlsHost.h: add optimizedFullscreenSupported
  • Modules/mediacontrols/MediaControlsHost.idl: ditto
  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-optimized-fullscreen-button): added

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.createControls): add button
(Controller.prototype.handleReadyStateChange): update button
(Controller.prototype.updateOptimizedFullscreenButton): added

  • Modules/mediacontrols/mediaControlsiOS.css:

(audio::-webkit-media-controls-optimized-fullscreen-button): added
(video::-webkit-media-controls-optimized-fullscreen-button): added
(video::-webkit-media-controls-optimized-fullscreen-button:active): added

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.createControls): listen for events from optimizedFullscreenButton
(ControllerIOS.prototype.configureInlineControls): add button for non-audio when supported.
(ControllerIOS.prototype.handleBaseGestureChange): 2-finger double-tap gesture for optimized fullscreen
(ControllerIOS.prototype.handleWrapperTouchStart): ditto
(ControllerIOS.prototype.handleOptimizedFullscreenButtonClicked): added
(ControllerIOS.prototype.handleOptimizedFullscreenTouchStart): added
(ControllerIOS.prototype.handleOptimizedFullscreenTouchEnd): added
(ControllerIOS.prototype.handleOptimizedFullscreenTouchCancel): added
(ControllerIOS.prototype.handleStartPlaybackButtonTouchStart): fix typo
(ControllerIOS.prototype.handleStartPlaybackButtonTouchEnd): fix typo
(ControllerIOS.prototype.handleStartPlaybackButtonTouchCancel): fix typo

  • WebCore.exp.in:
  • platform/ios/WebCoreSystemInterfaceIOS.h: added wkIsOptimizedFullscreenSupported
  • platform/ios/WebCoreSystemInterfaceIOS.mm: added wkIsOptimizedFullscreenSupported
  • platform/ios/WebVideoFullscreenInterfaceAVKit.h:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebVideoFullscreenInterfaceAVKit::enterFullscreen): enable feature
(WebVideoFullscreenInterfaceAVKit::exitFullscreen): enable feature
(WebVideoFullscreenInterfaceAVKit::cleanupFullscreen): only request exit when entered and not requested exit
(WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen): ditto

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface): added

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface): add IsOptimizedFullscreenSupported

Location:
trunk/Source
Files:
18 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r175588 r175596  
     12014-11-03  Jeremy Jones  <jeremyj@apple.com>
     2
     3        Add button and enable optimized fullscreen.
     4        https://bugs.webkit.org/show_bug.cgi?id=138351
     5
     6        Reviewed by Eric Carlson.
     7
     8        Added optimizedFullscreenButton to js media element controls. Remove #if conditional
     9        and use optimizedFullscreenSupported to enable feature at runtime
     10
     11        * Modules/mediacontrols/MediaControlsHost.cpp:
     12        (WebCore::MediaControlsHost::enterFullscreenOptimized): enable
     13        (WebCore::MediaControlsHost::optimizedFullscreenSupported): added
     14        * Modules/mediacontrols/MediaControlsHost.h: add optimizedFullscreenSupported
     15        * Modules/mediacontrols/MediaControlsHost.idl: ditto
     16        * Modules/mediacontrols/mediaControlsApple.css:
     17        (audio::-webkit-media-controls-optimized-fullscreen-button): added
     18        * Modules/mediacontrols/mediaControlsApple.js:
     19        (Controller.prototype.createControls): add button
     20        (Controller.prototype.handleReadyStateChange): update button
     21        (Controller.prototype.updateOptimizedFullscreenButton): added
     22        * Modules/mediacontrols/mediaControlsiOS.css:
     23        (audio::-webkit-media-controls-optimized-fullscreen-button): added
     24        (video::-webkit-media-controls-optimized-fullscreen-button): added
     25        (video::-webkit-media-controls-optimized-fullscreen-button:active): added
     26        * Modules/mediacontrols/mediaControlsiOS.js:
     27        (ControllerIOS.prototype.createControls): listen for events from optimizedFullscreenButton
     28        (ControllerIOS.prototype.configureInlineControls): add button for non-audio when supported.
     29        (ControllerIOS.prototype.handleBaseGestureChange): 2-finger double-tap gesture for optimized fullscreen
     30        (ControllerIOS.prototype.handleWrapperTouchStart): ditto
     31        (ControllerIOS.prototype.handleOptimizedFullscreenButtonClicked): added
     32        (ControllerIOS.prototype.handleOptimizedFullscreenTouchStart): added
     33        (ControllerIOS.prototype.handleOptimizedFullscreenTouchEnd): added
     34        (ControllerIOS.prototype.handleOptimizedFullscreenTouchCancel): added
     35        (ControllerIOS.prototype.handleStartPlaybackButtonTouchStart): fix typo
     36        (ControllerIOS.prototype.handleStartPlaybackButtonTouchEnd): fix typo
     37        (ControllerIOS.prototype.handleStartPlaybackButtonTouchCancel): fix typo
     38        * WebCore.exp.in:
     39        * platform/ios/WebCoreSystemInterfaceIOS.h: added wkIsOptimizedFullscreenSupported
     40        * platform/ios/WebCoreSystemInterfaceIOS.mm: added wkIsOptimizedFullscreenSupported
     41        * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
     42        * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
     43        (WebVideoFullscreenInterfaceAVKit::enterFullscreen): enable feature
     44        (WebVideoFullscreenInterfaceAVKit::exitFullscreen): enable feature
     45        (WebVideoFullscreenInterfaceAVKit::cleanupFullscreen): only request exit when entered and not requested exit
     46        (WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen): ditto
     47
    1482014-11-04  Joseph Pecoraro  <pecoraro@apple.com>
    249
  • trunk/Source/WebCore/English.lproj/mediaControlsLocalizedStrings.js

    r174402 r175596  
    1212    'Choose Wireless Display': 'Choose Wireless Display',
    1313    'Display Full Screen': 'Display Full Screen',
     14    'Display Optimized Full Screen': 'Display Optimized Full Screen',
    1415    'Duration': 'Duration',
    1516    'Elapsed': 'Elapsed',
  • trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.cpp

    r175279 r175596  
    191191void MediaControlsHost::enterFullscreenOptimized()
    192192{
    193 #if ENABLE(OPTIMIZED_FULLSCREEN)
     193#if PLATFORM(IOS)
    194194    m_mediaElement->enterFullscreenOptimized();
     195#endif
     196}
     197   
     198bool MediaControlsHost::optimizedFullscreenSupported()
     199{
     200#if PLATFORM(IOS)
     201    return wkIsOptimizedFullscreenSupported();
     202#else
     203    return false;
    195204#endif
    196205}
  • trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.h

    r175279 r175596  
    7272    void exitedFullscreen();
    7373    void enterFullscreenOptimized();
     74    bool optimizedFullscreenSupported();
    7475
    7576    String externalDeviceDisplayName() const;
  • trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.idl

    r175279 r175596  
    5757    void exitedFullscreen();
    5858    void enterFullscreenOptimized();
     59    readonly attribute boolean optimizedFullscreenSupported;
    5960};
  • trunk/Source/WebCore/Modules/mediacontrols/mediaControlsApple.css

    r175492 r175596  
    390390    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15" transform="rotate(90,0,0)"><linearGradient id="gradient" x2="0" y2="100%" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="rgb(216, 216, 216)"/><stop offset="0.4375" stop-color="rgb(216, 216, 216)"/><stop offset="0.4375" stop-color="rgb(208, 208, 208)"/><stop offset="0.5" stop-color="rgb(208, 208, 208)"/><stop offset="0.5" stop-color="rgb(200, 200, 200)"/><stop offset="1" stop-color="rgb(208, 208, 208)"/></linearGradient><path d="M 7,8 m 0,6 -2,-2 -2,2 c 0,0 -1,1 -2,0 -1,-1 0,-2 0,-2 l 2,-2 -2,-2 6,0 z" style="fill:url(#gradient) "/><path d="M 8,7 m 0,-6 2,2 2,-2 c 0,0 1,-1 2,0 1,1 0,2 0,2 l -2,2 2,2 -6,0 z" style="fill:url(#gradient) "/></svg>');
    391391}
     392video::-webkit-media-controls-optimized-fullscreen-button,
     393audio::-webkit-media-controls-optimized-fullscreen-button {
     394    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15" transform="rotate(90,0,0)"><linearGradient id="gradient" x2="0" y2="100%" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="rgb(216, 216, 216)"/><stop offset="0.4375" stop-color="rgb(216, 216, 216)"/><stop offset="0.4375" stop-color="rgb(208, 208, 208)"/><stop offset="0.5" stop-color="rgb(208, 208, 208)"/><stop offset="0.5" stop-color="rgb(200, 200, 200)"/><stop offset="1" stop-color="rgb(208, 208, 208)"/></linearGradient><path d="M 7,8 m 0,6 -2,-2 -2,2 c 0,0 -1,1 -2,0 -1,-1 0,-2 0,-2 l 2,-2 -2,-2 6,0 z" style="fill:url(#gradient) "/><path d="M 8,7 m 0,-6 2,2 2,-2 c 0,0 1,-1 2,0 1,1 0,2 0,2 l -2,2 2,2 -6,0 z" style="fill:url(#gradient) "/></svg>');
     395    margin: 0 7px;
     396}
    392397video::-webkit-media-controls-status-display,
    393398audio::-webkit-media-controls-status-display {
  • trunk/Source/WebCore/Modules/mediacontrols/mediaControlsApple.js

    r175460 r175596  
    396396        fullscreenButton.setAttribute('aria-label', this.UIString('Display Full Screen'));
    397397        this.listenFor(fullscreenButton, 'click', this.handleFullscreenButtonClicked);
     398
     399        var optimizedFullscreenButton = this.controls.optimizedFullscreenButton = document.createElement('button');
     400        optimizedFullscreenButton.setAttribute('pseudo', '-webkit-media-controls-optimized-fullscreen-button');
     401        optimizedFullscreenButton.setAttribute('aria-label', this.UIString('Display Optimized Full Screen'));
     402        this.listenFor(optimizedFullscreenButton, 'click', this.handleOptimizedFullscreenButtonClicked);
    398403    },
    399404
     
    555560        this.updateCaptionContainer();
    556561        this.updateFullscreenButton();
     562        this.updateOptimizedFullscreenButton();
    557563        this.updateProgress();
    558564    },
     
    860866    },
    861867
     868    updateOptimizedFullscreenButton: function()
     869    {
     870        this.controls.optimizedFullscreenButton.classList.toggle(this.ClassNames.hidden, !this.video.webkitSupportsFullscreen);
     871    },
     872   
    862873    handleFullscreenButtonClicked: function(event)
    863874    {
  • trunk/Source/WebCore/Modules/mediacontrols/mediaControlsiOS.css

    r172083 r175596  
    210210audio::-webkit-media-controls-play-button,
    211211video::-webkit-media-controls-fullscreen-button,
    212 audio::-webkit-media-controls-fullscreen-button {
     212audio::-webkit-media-controls-fullscreen-button,
     213video::-webkit-media-controls-optimized-fullscreen-button,
     214audio::-webkit-media-controls-optimized-fullscreen-button {
    213215    -webkit-appearance: none;
    214216    display: block;
     
    242244}
    243245
     246video::-webkit-media-controls-optimized-fullscreen-button {
     247    width: 35px;
     248    height: 44px;
     249    background-size: 35px 44px;
     250    opacity: 0.9;
     251    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 35 44"><g stroke="rgba(0, 0, 0, 0.4)" fill="none"><path d="M 10,15 h 14 v 14 h -14 v -14"/></g></svg>');
     252}
     253
    244254video::-webkit-media-controls-play-button {
    245255    width: 41px;
     
    260270video::-webkit-media-controls-fullscreen-button:active {
    261271    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 35 44"><g stroke="white" fill="none"><path d="M 10,20 v -5 h 5 M 10,15 l 5,5"/><path d="M 24,24 v 5 h -5 M 24,29 l -5,-5"/></g></svg>');
     272}
     273
     274video::-webkit-media-controls-optimized-fullscreen-button:active {
     275    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 35 44"><g stroke="white" fill="none"><path d="M 10,15 h 14 v 14 h -14 v -14"/></g></svg>');
    262276}
    263277
  • trunk/Source/WebCore/Modules/mediacontrols/mediaControlsiOS.js

    r175279 r175596  
    168168        this.listenFor(this.controls.fullscreenButton, 'touchend', this.handleFullscreenTouchEnd);
    169169        this.listenFor(this.controls.fullscreenButton, 'touchcancel', this.handleFullscreenTouchCancel);
     170        this.listenFor(this.controls.optimizedFullscreenButton, 'touchstart', this.handleOptimizedFullscreenTouchStart);
     171        this.listenFor(this.controls.optimizedFullscreenButton, 'touchend', this.handleOptimizedFullscreenTouchEnd);
     172        this.listenFor(this.controls.optimizedFullscreenButton, 'touchcancel', this.handleOptimizedFullscreenTouchCancel);
    170173        this.stopListeningFor(this.controls.playButton, 'click', this.handlePlayButtonClicked);
    171174    },
     
    205208            this.controls.timelineBox.appendChild(this.controls.remainingTime);
    206209        }
    207         if (!this.isAudio())
     210        if (!this.isAudio()) {
    208211            this.controls.panel.appendChild(this.controls.fullscreenButton);
     212            if (this.host.optimizedFullscreenSupported)
     213                this.controls.panel.appendChild(this.controls.optimizedFullscreenButton);
     214        }
    209215    },
    210216
     
    321327        if (!this.video.controls || this.isAudio() || this.isFullScreen() || this.gestureStartTime === undefined || this.controlsType == ControllerIOS.StartPlaybackControls)
    322328            return;
     329       
     330        var scaleDetectionThreshold = 0.2;
     331        if (event.scale > 1 + scaleDetectionThreshold || event.scale < 1 - scaleDetectionThreshold)
     332            delete this.lastDoubleTouchTime;
    323333
    324334        if (this.mostRecentNumberOfTargettedTouches == 2 && event.scale >= 1.0)
     
    332342        var velocity = Math.abs(event.scale - 1) / duration;
    333343       
    334         if (velocity < 2)
    335             return;
    336 
    337         if (event.scale >= 1.25) {
    338             delete this.gestureStartTime;
    339             this.video.webkitEnterFullscreen();
    340         } else if (event.scale <= 0.75) {
    341             delete this.gestureStartTime;
    342             this.host.enterFullscreenOptimized();
    343         }
     344        var pinchOutVelocityThreshold = 2;
     345        var pinchOutGestureScaleThreshold = 1.25;
     346        if (velocity < pinchOutVelocityThreshold || event.scale < pinchOutGestureScaleThreshold)
     347            return;
     348
     349        delete this.gestureStartTime;
     350        this.video.webkitEnterFullscreen();
    344351    },
    345352
     
    353360
    354361        this.mostRecentNumberOfTargettedTouches = event.targetTouches.length;
    355 
     362       
     363        if (this.host.optimizedFullscreenSupported) {
     364            if (this.mostRecentNumberOfTargettedTouches == 2) {
     365                var now = new Date();
     366                if (this.lastDoubleTouchTime === undefined) {
     367                    this.lastDoubleTouchTime = now;
     368                } else {
     369                    var doubleTouchIntervalThresholdms = 300
     370                    if (now - this.lastDoubleTouchTime < doubleTouchSpeedThreshold) {
     371                        delete this.lastDoubleTouchTime;
     372                        event.preventDefault();
     373                        this.host.enterFullscreenOptimized();
     374                    } else
     375                        this.lastDoubleTouchTime = now;
     376                }
     377            }
     378        }
     379       
    356380        if (this.controlsAreHidden()) {
    357381            this.showControls();
     
    408432    },
    409433
     434    handleOptimizedFullscreenButtonClicked: function(event) {
     435        if (this.isFullenterFullscreenOptimizedScreen())
     436            this.video.webkitExitFullscreen();
     437        else
     438            this.host.enterFullscreenOptimized();
     439    },
     440       
     441    handleOptimizedFullscreenTouchStart: function() {
     442        this.controls.optimizedFullscreenButton.classList.add('active');
     443    },
     444       
     445    handleOptimizedFullscreenTouchEnd: function(event) {
     446        this.controls.optimizedFullscreenButton.classList.remove('active');
     447       
     448        this.handleOptimizedFullscreenButtonClicked();
     449       
     450        return true;
     451    },
     452       
     453    handleOptimizedFullscreenTouchCancel: function(event) {
     454        this.controls.optimizedFullscreenButton.classList.remove('active');
     455        return true;
     456    },
     457
    410458    handleStartPlaybackButtonTouchStart: function(event) {
    411         this.controls.fullscreenButton.classList.add('active');
     459        this.controls.startPlaybackButton.classList.add('active');
    412460    },
    413461
    414462    handleStartPlaybackButtonTouchEnd: function(event) {
    415         this.controls.fullscreenButton.classList.remove('active');
     463        this.controls.startPlaybackButton.classList.remove('active');
    416464        if (this.video.error)
    417465            return true;
     
    423471
    424472    handleStartPlaybackButtonTouchCancel: function(event) {
    425         this.controls.fullscreenButton.classList.remove('active');
     473        this.controls.startPlaybackButton.classList.remove('active');
    426474        return true;
    427475    },
  • trunk/Source/WebCore/WebCore.exp.in

    r175549 r175596  
    28492849_wkGetVerticalGlyphsForCharacters
    28502850_wkIsGB18030ComplianceRequired
     2851_wkIsOptimizedFullscreenSupported
    28512852_wkSetLayerContentsScale
    28522853#endif
  • trunk/Source/WebCore/platform/ios/WebCoreSystemInterfaceIOS.h

    r165676 r175596  
    7474extern CFStringRef (*wkGetVendorNameForNavigator)(void);
    7575
     76extern bool (*wkIsOptimizedFullscreenSupported)(void);
     77
    7678#endif // WebCoreSystemInterfaceIOS_h
  • trunk/Source/WebCore/platform/ios/WebCoreSystemInterfaceIOS.mm

    r173276 r175596  
    131131WEBCORE_EXPORT CFStringRef (*wkGetVendorNameForNavigator)(void);
    132132
     133WEBCORE_EXPORT BOOL (*wkIsOptimizedFullscreenSupported)(void);
     134
    133135WEBCORE_EXPORT int (*wkExernalDeviceTypeForPlayer)(AVPlayer *);
    134136WEBCORE_EXPORT NSString *(*wkExernalDeviceDisplayNameForPlayer)(AVPlayer *);
  • trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.h

    r175585 r175596  
    106106    bool m_exitRequested;
    107107    bool m_exitCompleted;
     108    bool m_enterRequested;
    108109
    109110    WebAVPlayerController *playerController();
  • trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm

    r175585 r175596  
    862862    m_exitCompleted = false;
    863863    m_exitRequested = false;
     864    m_enterRequested = true;
    864865   
    865866    dispatch_async(dispatch_get_main_queue(), ^{
    866867        [m_videoLayerContainer setBackgroundColor:[[getUIColorClass() blackColor] CGColor]];
    867 #if ENABLE(OPTIMIZED_FULLSCREEN)
    868868        if (m_mode == HTMLMediaElement::VideoFullscreenModeOptimized) {
    869869            [m_playerViewController startOptimizedFullscreenWithStartCompletionHandler:^(BOOL success, NSError *) {
     
    898898            }];
    899899        } else
    900 #endif
    901900        if (m_mode == HTMLMediaElement::VideoFullscreenModeStandard) {
    902901            [m_playerViewController enterFullScreenWithCompletionHandler:^(BOOL, NSError*)
     
    942941        [[m_playerViewController view] layoutIfNeeded];
    943942       
    944 #if ENABLE(OPTIMIZED_FULLSCREEN)
    945943        if (m_mode == HTMLMediaElement::VideoFullscreenModeOptimized) {
    946944            [m_window setHidden:NO];
    947945            [m_playerViewController stopOptimizedFullscreen];
    948946        } else
    949 #endif
    950947        if (m_mode == HTMLMediaElement::VideoFullscreenModeStandard) {
    951948            [m_playerViewController exitFullScreenWithCompletionHandler:^(BOOL, NSError*) {
     
    10041001            if (m_fullscreenChangeObserver)
    10051002                m_fullscreenChangeObserver->didCleanupFullscreen();
     1003            m_enterRequested = false;
    10061004            protect = nullptr;
    10071005        });
     
    10351033void WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen()
    10361034{
     1035    if (!m_enterRequested)
     1036        return;
     1037   
    10371038    if (m_mode == HTMLMediaElement::VideoFullscreenModeOptimized)
    10381039        return;
     
    10481049    });
    10491050
    1050     if (m_videoFullscreenModel)
     1051    if (m_videoFullscreenModel && !m_exitRequested)
    10511052        m_videoFullscreenModel->requestExitFullscreen();
    10521053}
  • trunk/Source/WebKit/mac/ChangeLog

    r175583 r175596  
     12014-11-03  Jeremy Jones  <jeremyj@apple.com>
     2
     3        Add button and enable optimized fullscreen.
     4        https://bugs.webkit.org/show_bug.cgi?id=138351
     5
     6        Reviewed by Eric Carlson.
     7
     8        Add IsOptimizedFullscreenSupported to enable the feature only where appropriate.
     9
     10        * WebCoreSupport/WebSystemInterface.mm:
     11        (InitWebCoreSystemInterface): added
     12
    1132014-11-04  Chris Dumez  <cdumez@apple.com>
    214
  • trunk/Source/WebKit/mac/WebCoreSupport/WebSystemInterface.mm

    r174052 r175596  
    132132    INIT(GetScreenScaleFactor);
    133133    INIT(IsGB18030ComplianceRequired);
     134    INIT(IsOptimizedFullscreenSupported);
    134135#endif
    135136
  • trunk/Source/WebKit2/ChangeLog

    r175595 r175596  
     12014-11-03  Jeremy Jones  <jeremyj@apple.com>
     2
     3        Add button and enable optimized fullscreen.
     4        https://bugs.webkit.org/show_bug.cgi?id=138351
     5
     6        Reviewed by Eric Carlson.
     7
     8        Add IsOptimizedFullscreenSupported to enable the feature only where appropriate.
     9
     10        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
     11        (InitWebCoreSystemInterface): add IsOptimizedFullscreenSupported
     12
    1132014-11-04  Andy Estes  <aestes@apple.com>
    214
  • trunk/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm

    r174052 r175596  
    208208        INIT(GetScreenScaleFactor);
    209209        INIT(IsGB18030ComplianceRequired);
     210        INIT(IsOptimizedFullscreenSupported);
    210211#endif
    211212
Note: See TracChangeset for help on using the changeset viewer.