https://bugs.webkit.org/show_bug.cgi?id=81355
Patch by Jesus Sanchez-Palencia <jesus.palencia@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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112664
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2012-03-30 Jesus Sanchez-Palencia <jesus.palencia@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 <apavlov@chromium.org>
[Chromium] Unreviewed, updated fast/frames/valid.html expectation for LEOPARD.
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
layoutTestController.setPageVisibility("prerender");
}
+function makePagePreview() {
+ if (window.layoutTestController)
+ layoutTestController.setPageVisibility("preview");
+}
+
function checkIsPageVisible() {
shouldBeEqualToString("document.webkitVisibilityState", "visible");
shouldBeFalse("document.webkitHidden");
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() {
} 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 {
+2012-03-30 Jesus Sanchez-Palencia <jesus.palencia@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 <vsevik@chromium.org>
Web Inspector: [Regression] Execution line is not revealed after pretty print.
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:
return hidden;
case PageVisibilityStatePrerender:
return prerender;
+ case PageVisibilityStatePreview:
+ return preview;
}
ASSERT_NOT_REACHED();
enum PageVisibilityState {
PageVisibilityStateVisible,
PageVisibilityStateHidden,
- PageVisibilityStatePrerender
+ PageVisibilityStatePrerender,
+ PageVisibilityStatePreview
};
#if ENABLE(PAGE_VISIBILITY_API)
+2012-03-30 Jesus Sanchez-Palencia <jesus.palencia@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 <keishi@webkit.org>
Change ENABLE_INPUT_COLOR to ENABLE_INPUT_TYPE_COLOR and enable it for chromium
enum WebPageVisibilityState {
WebPageVisibilityStateVisible,
WebPageVisibilityStateHidden,
- WebPageVisibilityStatePrerender
+ WebPageVisibilityStatePrerender,
+ WebPageVisibilityStatePreview
};
} // namespace WebKit
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);
#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
+2012-03-30 Jesus Sanchez-Palencia <jesus.palencia@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 <japhet@chromium.org>
Remove dispatchDidLoadMainResource callback, since no
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);
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;
+2012-03-30 Jesus Sanchez-Palencia <jesus.palencia@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 <keishi@webkit.org>
Change ENABLE_INPUT_COLOR to ENABLE_INPUT_TYPE_COLOR and enable it for chromium
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);
}
}