12011-02-10 Shishir Agrawal <shishir@chromium.org>
2
3 Reviewed by NOBODY (OOPS!).
4
5 Implement Page Visibility API.
6 https://bugs.webkit.org/show_bug.cgi?id=54181
7
8 No new tests. (OOPS!)
9
10 * WebCore.exp.in:
11 * Configurations/FeatureDefines.xcconfig: Add ENABLE_PAGE_VISIBILITY_API.
12 * dom/Document.cpp:
13 (WebCore::Document::visibilityState): Returns document visibility state.
14 (WebCore::Document::visible): Returns true iff document is visible.
15 (WebCore::Document::triggerVisibilityChangeEvent): Triggers document visibility change event.
16 (WebCore::Document::isVisibilityStateValueValid): Returns true if input visibility value is valid.
17 * dom/Document.h: Added functions for document visibilty properties and visibility change events.
18 * dom/Document.idl: Added new document properties: visible (bool) and visibilityState (DOMString).
19 * dom/EventNames.h: Added visibilitychangeevent.
20 * page/Frame.cpp:
21 (WebCore::Frame::triggerVisibilityChangeEvent): Triggers visibility change in document and all
22 child frames.
23 * page/Frame.h: ditto.
24 * page/Page.cpp:
25 (WebCore::Page::Page): Take initial visiblity state as input param.
26 (WebCore::Page::setVisibilityState): Sets visibility state.
27 (WebCore::Page::visibilityState): Retursn current visibility state.
28 * page/Page.h: ditto.
29 * svg/graphics/SVGImage.cpp:
30 (WebCore::SVGImage::dataChanged): Pass initial visibility to Page constructor.
31