Title: [115792] trunk/Source/WebCore
Revision
115792
Author
[email protected]
Date
2012-05-01 21:28:14 -0700 (Tue, 01 May 2012)

Log Message

Fullscreen pop-up logic restored to using processingUserGesture.
https://bugs.webkit.org/show_bug.cgi?id=85105

WebKit was recently updated to the new Fullscreen API:
http://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html#api
http://trac.webkit.org/changeset/111028

This change reverts back to using processingUserGesture() instead
of DOMWindow::allowPopUp(). This fixes incorrect behavior in
at least the Chromium port and is consistent with the cited
definition of "allowed to show a pop-up":
  An algorithm is allowed to show a pop-up if, in the task in which the algorithm is running, either:
  - an activation behavior is currently being processed whose click event was trusted, or
  - the event listener for a trusted click event is being handled.

Reviewed by Dimitri Glazkov.

No new tests.

* dom/Document.cpp:
(WebCore::Document::requestFullScreenForElement):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (115791 => 115792)


--- trunk/Source/WebCore/ChangeLog	2012-05-02 04:22:44 UTC (rev 115791)
+++ trunk/Source/WebCore/ChangeLog	2012-05-02 04:28:14 UTC (rev 115792)
@@ -1,3 +1,27 @@
+2012-05-01  Vincent Scheib  <[email protected]>
+
+        Fullscreen pop-up logic restored to using processingUserGesture.
+        https://bugs.webkit.org/show_bug.cgi?id=85105
+
+        WebKit was recently updated to the new Fullscreen API:
+        http://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html#api
+        http://trac.webkit.org/changeset/111028
+
+        This change reverts back to using processingUserGesture() instead
+        of DOMWindow::allowPopUp(). This fixes incorrect behavior in
+        at least the Chromium port and is consistent with the cited
+        definition of "allowed to show a pop-up":
+          An algorithm is allowed to show a pop-up if, in the task in which the algorithm is running, either:
+          - an activation behavior is currently being processed whose click event was trusted, or
+          - the event listener for a trusted click event is being handled.
+
+        Reviewed by Dimitri Glazkov.
+
+        No new tests.
+
+        * dom/Document.cpp:
+        (WebCore::Document::requestFullScreenForElement):
+
 2012-05-01  Xiaomei Ji  <[email protected]>
 
         enable ctrl-arrow move by word visually in non-Windows platforms.

Modified: trunk/Source/WebCore/dom/Document.cpp (115791 => 115792)


--- trunk/Source/WebCore/dom/Document.cpp	2012-05-02 04:22:44 UTC (rev 115791)
+++ trunk/Source/WebCore/dom/Document.cpp	2012-05-02 04:28:14 UTC (rev 115792)
@@ -5318,8 +5318,11 @@
         if (descendentHasNonEmptyStack && !inLegacyMozillaMode)
             break;
 
-        // This algorithm is not allowed to show a pop-up.
-        if (!domWindow()->allowPopUp())
+        // This algorithm is not allowed to show a pop-up:
+        //   An algorithm is allowed to show a pop-up if, in the task in which the algorithm is running, either:
+        //   - an activation behavior is currently being processed whose click event was trusted, or
+        //   - the event listener for a trusted click event is being handled.
+        if (!ScriptController::processingUserGesture())
             break;
 
         // There is a previously-established user preference, security risk, or platform limitation.
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to