Changeset 119320 in webkit


Ignore:
Timestamp:
Jun 2, 2012 7:52:45 AM (12 years ago)
Author:
tonikitoo@webkit.org
Message:

[BlackBerry] browser video player fullscreen mode (portrait) - out of screen/focus - cannot navigate or use the buttons on the screen (PART I)
https://bugs.webkit.org/show_bug.cgi?id=88019
PR #158266

Reviewed by George Staikos.
Patch by Antonio Gomes <agomes@rim.com>

The way elements go fullscreen with the new FULLSCREEN_API
is that they get cloned and added to an out-of-DOM wrapper
element. The wrapper is a normal fixed position element and
then zoom in/out accordingly to how other layers do: following
WebPage's scale.

When going fullscreen, we have to take the current WebPage scale
into account in order to properly fit the element to the screen,
regardless the web page scale.

  • WebCoreSupport/ChromeClientBlackBerry.cpp:

(WebCore):
(WebCore::ChromeClientBlackBerry::fullScreenRendererChanged):

  • WebCoreSupport/ChromeClientBlackBerry.h:

(ChromeClientBlackBerry):

Location:
trunk/Source/WebKit/blackberry
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/blackberry/ChangeLog

    r119290 r119320  
     12012-06-02  Antonio Gomes  <agomes@rim.com>
     2
     3        [BlackBerry] browser video player fullscreen mode (portrait) - out of screen/focus - cannot navigate or use the buttons on the screen (PART I)
     4        https://bugs.webkit.org/show_bug.cgi?id=88019
     5        PR #158266
     6
     7        Reviewed by George Staikos.
     8
     9        The way elements go fullscreen with the new FULLSCREEN_API
     10        is that they get cloned and added to an out-of-DOM wrapper
     11        element. The wrapper is a normal fixed position element and
     12        then zoom in/out accordingly to how other layers do: following
     13        WebPage's scale.
     14
     15        When going fullscreen, we have to take the current WebPage scale
     16        into account in order to properly fit the element to the screen,
     17        regardless the web page scale.
     18
     19        * WebCoreSupport/ChromeClientBlackBerry.cpp:
     20        (WebCore):
     21        (WebCore::ChromeClientBlackBerry::fullScreenRendererChanged):
     22        * WebCoreSupport/ChromeClientBlackBerry.h:
     23        (ChromeClientBlackBerry):
     24
    1252012-06-01  Crystal Zhang  <haizhang@rim.com>
    226
  • trunk/Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.cpp

    r119119 r119320  
    738738    element->document()->webkitDidExitFullScreenForElement(element);
    739739}
     740
     741void ChromeClientBlackBerry::fullScreenRendererChanged(RenderBox* fullScreenRenderer)
     742{
     743    // Once we go fullscreen using the new FULLSCREEN_API code path, we have to take into account
     744    // our port specific page scaling.
     745    if (fullScreenRenderer)
     746        fullScreenRenderer->style()->setWidth(Length(100.0 / m_webPagePrivate->currentScale(), Percent));
     747}
    740748#endif
    741749
  • trunk/Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.h

    r117148 r119320  
    131131    virtual void enterFullScreenForElement(Element*);
    132132    virtual void exitFullScreenForElement(Element*);
     133    virtual void fullScreenRendererChanged(RenderBox*);
    133134#endif
    134135#if ENABLE(WEBGL)
Note: See TracChangeset for help on using the changeset viewer.