Title: [112664] trunk
Revision
112664
Author
commit-qu...@webkit.org
Date
2012-03-30 07:04:55 -0700 (Fri, 30 Mar 2012)

Log Message

Add a "preview" state to Page Visibility API implementation
https://bugs.webkit.org/show_bug.cgi?id=81355

Patch by Jesus Sanchez-Palencia <jesus.palen...@openbossa.org> on 2012-03-30
Reviewed by Adam Barth.

Updating the Page Visibility API implementation to the current spec version.

Source/WebCore:

This change is covered by fast/events/page-visibility-transition-test.html,
so no new tests needed.

* page/PageVisibilityState.cpp:
(WebCore::pageVisibilityStateString):
* page/PageVisibilityState.h:

Source/WebKit/chromium:

* public/WebPageVisibilityState.h:
* src/AssertMatchingEnums.cpp:
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::setVisibilityState):

Source/WebKit/efl:

* WebCoreSupport/AssertMatchingEnums.cpp:
* ewk/ewk_view.h:

Tools:

* DumpRenderTree/chromium/LayoutTestController.cpp:
(LayoutTestController::setPageVisibility):

LayoutTests:

* fast/events/page-visibility-transition-test-expected.txt:
* fast/events/page-visibility-transition-test.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (112663 => 112664)


--- trunk/LayoutTests/ChangeLog	2012-03-30 13:36:24 UTC (rev 112663)
+++ trunk/LayoutTests/ChangeLog	2012-03-30 14:04:55 UTC (rev 112664)
@@ -1,3 +1,15 @@
+2012-03-30  Jesus Sanchez-Palencia  <jesus.palen...@openbossa.org>
+
+        Add a "preview" state to Page Visibility API implementation
+        https://bugs.webkit.org/show_bug.cgi?id=81355
+
+        Reviewed by Adam Barth.
+
+        Updating the Page Visibility API implementation to the current spec version.
+
+        * fast/events/page-visibility-transition-test-expected.txt:
+        * fast/events/page-visibility-transition-test.html:
+
 2012-03-30  Alexander Pavlov  <apav...@chromium.org>
 
         [Chromium] Unreviewed, updated fast/frames/valid.html expectation for LEOPARD.

Modified: trunk/LayoutTests/fast/events/page-visibility-transition-test-expected.txt (112663 => 112664)


--- trunk/LayoutTests/fast/events/page-visibility-transition-test-expected.txt	2012-03-30 13:36:24 UTC (rev 112663)
+++ trunk/LayoutTests/fast/events/page-visibility-transition-test-expected.txt	2012-03-30 14:04:55 UTC (rev 112664)
@@ -13,6 +13,10 @@
 PASS document.webkitHidden is true
 PASS document.webkitVisibilityState is "visible"
 PASS document.webkitHidden is false
+PASS document.webkitVisibilityState is "preview"
+PASS document.webkitHidden is true
+PASS document.webkitVisibilityState is "visible"
+PASS document.webkitHidden is false
 PASS successfullyParsed is true
 
 TEST COMPLETE

Modified: trunk/LayoutTests/fast/events/page-visibility-transition-test.html (112663 => 112664)


--- trunk/LayoutTests/fast/events/page-visibility-transition-test.html	2012-03-30 13:36:24 UTC (rev 112663)
+++ trunk/LayoutTests/fast/events/page-visibility-transition-test.html	2012-03-30 14:04:55 UTC (rev 112664)
@@ -24,6 +24,11 @@
         layoutTestController.setPageVisibility("prerender");
 }
 
+function makePagePreview() {
+    if (window.layoutTestController)
+        layoutTestController.setPageVisibility("preview");
+}
+
 function checkIsPageVisible() {
     shouldBeEqualToString("document.webkitVisibilityState", "visible");
     shouldBeFalse("document.webkitHidden");
@@ -39,12 +44,19 @@
     shouldBeTrue("document.webkitHidden");
 }
 
+function checkIsPageInPreview() {
+    shouldBeEqualToString("document.webkitVisibilityState", "preview");
+    shouldBeTrue("document.webkitHidden");
+}
+
 // We will try to change the visibility states as:
 //  0 - visible. (Initial - i.e. on load).
 //  1 - hidden (should fire event).
 //  2 - hidden (no event).
 //  3 - prerender (should fire event).
 //  4 - visible (should fire event).
+//  5 - preview (should fire event).
+//  6 - visible (should fire event).
 var numVisibilityChanges = 0;
 
 function startTest() {
@@ -83,6 +95,16 @@
     } else if (numVisibilityChanges == 4) {
         checkIsPageVisible();
         numVisibilityChanges++;
+        makePagePreview();
+        return;
+    } else if (numVisibilityChanges == 5) {
+        checkIsPageInPreview();
+        numVisibilityChanges++;
+        makePageVisible();
+        return;
+    } else if (numVisibilityChanges == 6) {
+        checkIsPageVisible();
+        numVisibilityChanges++;
         finishTest();
         return;
     } else {

Modified: trunk/Source/WebCore/ChangeLog (112663 => 112664)


--- trunk/Source/WebCore/ChangeLog	2012-03-30 13:36:24 UTC (rev 112663)
+++ trunk/Source/WebCore/ChangeLog	2012-03-30 14:04:55 UTC (rev 112664)
@@ -1,3 +1,19 @@
+2012-03-30  Jesus Sanchez-Palencia  <jesus.palen...@openbossa.org>
+
+        Add a "preview" state to Page Visibility API implementation
+        https://bugs.webkit.org/show_bug.cgi?id=81355
+
+        Reviewed by Adam Barth.
+
+        Updating the Page Visibility API implementation to the current spec version.
+
+        This change is covered by fast/events/page-visibility-transition-test.html,
+        so no new tests needed.
+
+        * page/PageVisibilityState.cpp:
+        (WebCore::pageVisibilityStateString):
+        * page/PageVisibilityState.h:
+
 2012-03-30  Vsevolod Vlasov  <vse...@chromium.org>
 
         Web Inspector: [Regression] Execution line is not revealed after pretty print.

Modified: trunk/Source/WebCore/page/PageVisibilityState.cpp (112663 => 112664)


--- trunk/Source/WebCore/page/PageVisibilityState.cpp	2012-03-30 13:36:24 UTC (rev 112663)
+++ trunk/Source/WebCore/page/PageVisibilityState.cpp	2012-03-30 14:04:55 UTC (rev 112664)
@@ -40,6 +40,7 @@
     DEFINE_STATIC_LOCAL(const String, visible, ("visible"));
     DEFINE_STATIC_LOCAL(const String, hidden, ("hidden"));
     DEFINE_STATIC_LOCAL(const String, prerender, ("prerender"));
+    DEFINE_STATIC_LOCAL(const String, preview, ("preview"));
 
     switch (state) {
     case PageVisibilityStateVisible:
@@ -48,6 +49,8 @@
         return hidden;
     case PageVisibilityStatePrerender:
         return prerender;
+    case PageVisibilityStatePreview:
+        return preview;
     }
 
     ASSERT_NOT_REACHED();

Modified: trunk/Source/WebCore/page/PageVisibilityState.h (112663 => 112664)


--- trunk/Source/WebCore/page/PageVisibilityState.h	2012-03-30 13:36:24 UTC (rev 112663)
+++ trunk/Source/WebCore/page/PageVisibilityState.h	2012-03-30 14:04:55 UTC (rev 112664)
@@ -40,7 +40,8 @@
 enum PageVisibilityState {
     PageVisibilityStateVisible,
     PageVisibilityStateHidden,
-    PageVisibilityStatePrerender
+    PageVisibilityStatePrerender,
+    PageVisibilityStatePreview
 };
 
 #if ENABLE(PAGE_VISIBILITY_API)

Modified: trunk/Source/WebKit/chromium/ChangeLog (112663 => 112664)


--- trunk/Source/WebKit/chromium/ChangeLog	2012-03-30 13:36:24 UTC (rev 112663)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-03-30 14:04:55 UTC (rev 112664)
@@ -1,3 +1,17 @@
+2012-03-30  Jesus Sanchez-Palencia  <jesus.palen...@openbossa.org>
+
+        Add a "preview" state to Page Visibility API implementation
+        https://bugs.webkit.org/show_bug.cgi?id=81355
+
+        Reviewed by Adam Barth.
+
+        Updating the Page Visibility API implementation to the current spec version.
+
+        * public/WebPageVisibilityState.h:
+        * src/AssertMatchingEnums.cpp:
+        * src/WebViewImpl.cpp:
+        (WebKit::WebViewImpl::setVisibilityState):
+
 2012-03-30  Keishi Hattori  <kei...@webkit.org>
 
         Change ENABLE_INPUT_COLOR to ENABLE_INPUT_TYPE_COLOR and enable it for chromium

Modified: trunk/Source/WebKit/chromium/public/WebPageVisibilityState.h (112663 => 112664)


--- trunk/Source/WebKit/chromium/public/WebPageVisibilityState.h	2012-03-30 13:36:24 UTC (rev 112663)
+++ trunk/Source/WebKit/chromium/public/WebPageVisibilityState.h	2012-03-30 14:04:55 UTC (rev 112664)
@@ -38,7 +38,8 @@
 enum WebPageVisibilityState {
     WebPageVisibilityStateVisible,
     WebPageVisibilityStateHidden,
-    WebPageVisibilityStatePrerender
+    WebPageVisibilityStatePrerender,
+    WebPageVisibilityStatePreview
 };
 
 } // namespace WebKit

Modified: trunk/Source/WebKit/chromium/src/AssertMatchingEnums.cpp (112663 => 112664)


--- trunk/Source/WebKit/chromium/src/AssertMatchingEnums.cpp	2012-03-30 13:36:24 UTC (rev 112663)
+++ trunk/Source/WebKit/chromium/src/AssertMatchingEnums.cpp	2012-03-30 14:04:55 UTC (rev 112664)
@@ -504,6 +504,7 @@
 COMPILE_ASSERT_MATCHING_ENUM(WebPageVisibilityStateVisible, PageVisibilityStateVisible);
 COMPILE_ASSERT_MATCHING_ENUM(WebPageVisibilityStateHidden, PageVisibilityStateHidden);
 COMPILE_ASSERT_MATCHING_ENUM(WebPageVisibilityStatePrerender, PageVisibilityStatePrerender);
+COMPILE_ASSERT_MATCHING_ENUM(WebPageVisibilityStatePreview, PageVisibilityStatePreview);
 
 #if ENABLE(MEDIA_STREAM)
 COMPILE_ASSERT_MATCHING_ENUM(WebMediaStreamSource::TypeAudio, MediaStreamSource::TypeAudio);

Modified: trunk/Source/WebKit/chromium/src/WebViewImpl.cpp (112663 => 112664)


--- trunk/Source/WebKit/chromium/src/WebViewImpl.cpp	2012-03-30 13:36:24 UTC (rev 112663)
+++ trunk/Source/WebKit/chromium/src/WebViewImpl.cpp	2012-03-30 14:04:55 UTC (rev 112664)
@@ -3475,7 +3475,8 @@
 #if ENABLE(PAGE_VISIBILITY_API)
     ASSERT(visibilityState == WebPageVisibilityStateVisible
            || visibilityState == WebPageVisibilityStateHidden
-           || visibilityState == WebPageVisibilityStatePrerender);
+           || visibilityState == WebPageVisibilityStatePrerender
+           || visibilityState == WebPageVisibilityStatePreview);
     m_page->setVisibilityState(static_cast<PageVisibilityState>(static_cast<int>(visibilityState)), isInitialState);
 #endif
 

Modified: trunk/Source/WebKit/efl/ChangeLog (112663 => 112664)


--- trunk/Source/WebKit/efl/ChangeLog	2012-03-30 13:36:24 UTC (rev 112663)
+++ trunk/Source/WebKit/efl/ChangeLog	2012-03-30 14:04:55 UTC (rev 112664)
@@ -1,3 +1,15 @@
+2012-03-30  Jesus Sanchez-Palencia  <jesus.palen...@openbossa.org>
+
+        Add a "preview" state to Page Visibility API implementation
+        https://bugs.webkit.org/show_bug.cgi?id=81355
+
+        Reviewed by Adam Barth.
+
+        Updating the Page Visibility API implementation to the current spec version.
+
+        * WebCoreSupport/AssertMatchingEnums.cpp:
+        * ewk/ewk_view.h:
+
 2012-03-28  Nate Chapin  <jap...@chromium.org>
 
         Remove dispatchDidLoadMainResource callback, since no

Modified: trunk/Source/WebKit/efl/WebCoreSupport/AssertMatchingEnums.cpp (112663 => 112664)


--- trunk/Source/WebKit/efl/WebCoreSupport/AssertMatchingEnums.cpp	2012-03-30 13:36:24 UTC (rev 112663)
+++ trunk/Source/WebKit/efl/WebCoreSupport/AssertMatchingEnums.cpp	2012-03-30 14:04:55 UTC (rev 112664)
@@ -43,6 +43,7 @@
 COMPILE_ASSERT_MATCHING_ENUM(EWK_PAGE_VISIBILITY_STATE_VISIBLE, PageVisibilityStateVisible);
 COMPILE_ASSERT_MATCHING_ENUM(EWK_PAGE_VISIBILITY_STATE_HIDDEN, PageVisibilityStateHidden);
 COMPILE_ASSERT_MATCHING_ENUM(EWK_PAGE_VISIBILITY_STATE_PRERENDER, PageVisibilityStatePrerender);
+COMPILE_ASSERT_MATCHING_ENUM(EWK_PAGE_VISIBILITY_STATE_PREVIEW, PageVisibilityStatePreview);
 #endif
 
 COMPILE_ASSERT_MATCHING_ENUM(EWK_TEXT_SELECTION_NONE, VisibleSelection::NoSelection);

Modified: trunk/Source/WebKit/efl/ewk/ewk_view.h (112663 => 112664)


--- trunk/Source/WebKit/efl/ewk/ewk_view.h	2012-03-30 13:36:24 UTC (rev 112663)
+++ trunk/Source/WebKit/efl/ewk/ewk_view.h	2012-03-30 14:04:55 UTC (rev 112664)
@@ -2262,7 +2262,8 @@
 enum _Ewk_Page_Visibility_State {
     EWK_PAGE_VISIBILITY_STATE_VISIBLE,
     EWK_PAGE_VISIBILITY_STATE_HIDDEN,
-    EWK_PAGE_VISIBILITY_STATE_PRERENDER
+    EWK_PAGE_VISIBILITY_STATE_PRERENDER,
+    EWK_PAGE_VISIBILITY_STATE_PREVIEW
 };
 /// Creates a type name for @a _Ewk_Page_Visibility_State.
 typedef enum _Ewk_Page_Visibility_State Ewk_Page_Visibility_State;

Modified: trunk/Tools/ChangeLog (112663 => 112664)


--- trunk/Tools/ChangeLog	2012-03-30 13:36:24 UTC (rev 112663)
+++ trunk/Tools/ChangeLog	2012-03-30 14:04:55 UTC (rev 112664)
@@ -1,3 +1,15 @@
+2012-03-30  Jesus Sanchez-Palencia  <jesus.palen...@openbossa.org>
+
+        Add a "preview" state to Page Visibility API implementation
+        https://bugs.webkit.org/show_bug.cgi?id=81355
+
+        Reviewed by Adam Barth.
+
+        Updating the Page Visibility API implementation to the current spec version.
+
+        * DumpRenderTree/chromium/LayoutTestController.cpp:
+        (LayoutTestController::setPageVisibility):
+
 2012-03-30  Keishi Hattori  <kei...@webkit.org>
 
         Change ENABLE_INPUT_COLOR to ENABLE_INPUT_TYPE_COLOR and enable it for chromium

Modified: trunk/Tools/DumpRenderTree/chromium/LayoutTestController.cpp (112663 => 112664)


--- trunk/Tools/DumpRenderTree/chromium/LayoutTestController.cpp	2012-03-30 13:36:24 UTC (rev 112663)
+++ trunk/Tools/DumpRenderTree/chromium/LayoutTestController.cpp	2012-03-30 14:04:55 UTC (rev 112664)
@@ -2187,6 +2187,8 @@
             m_shell->webView()->setVisibilityState(WebPageVisibilityStateHidden, false);
         else if (newVisibility == "prerender")
             m_shell->webView()->setVisibilityState(WebPageVisibilityStatePrerender, false);
+        else if (newVisibility == "preview")
+            m_shell->webView()->setVisibilityState(WebPageVisibilityStatePreview, false);
     }
 }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to