| Differences between
and this patch
- a/ChangeLog -1 / +9 lines
Lines 1-3 a/ChangeLog_sec1
1
2011-03-06  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
        * configure.ac:
9
1
2011-03-04  Dimitri Glazkov  <dglazkov@chromium.org>
10
2011-03-04  Dimitri Glazkov  <dglazkov@chromium.org>
2
11
3
        Reviewed by Adam Barth.
12
        Reviewed by Adam Barth.
Lines 58-64 a/ChangeLog_sec2
58
        * Source/cmakeconfig.h.cmake:
67
        * Source/cmakeconfig.h.cmake:
59
        * configure.ac:
68
        * configure.ac:
60
69
61
>>>>>>> .r80188
62
2011-03-02  Andras Becsi  <abecsi@webkit.org>
70
2011-03-02  Andras Becsi  <abecsi@webkit.org>
63
71
64
        Reviewed by Laszlo Gombos.
72
        Reviewed by Laszlo Gombos.
- a/Source/JavaScriptCore/ChangeLog +9 lines
Lines 1-3 a/Source/JavaScriptCore/ChangeLog_sec1
1
2011-03-06  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
        * Configurations/FeatureDefines.xcconfig: Add ENABLE_PAGE_VISIBILITY_API.
9
1
2011-03-05  Adam Barth  <abarth@webkit.org>
10
2011-03-05  Adam Barth  <abarth@webkit.org>
2
11
3
        Reviewed by Dimitri Glazkov.
12
        Reviewed by Dimitri Glazkov.
- a/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig -1 / +2 lines
Lines 91-96 ENABLE_MATHML = ENABLE_MATHML; a/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig_sec1
91
ENABLE_METER_TAG = ENABLE_METER_TAG;
91
ENABLE_METER_TAG = ENABLE_METER_TAG;
92
ENABLE_NOTIFICATIONS = ;
92
ENABLE_NOTIFICATIONS = ;
93
ENABLE_OFFLINE_WEB_APPLICATIONS = ENABLE_OFFLINE_WEB_APPLICATIONS;
93
ENABLE_OFFLINE_WEB_APPLICATIONS = ENABLE_OFFLINE_WEB_APPLICATIONS;
94
ENABLE_PAGE_VISIBILITY_API = ;
94
ENABLE_PROGRESS_TAG = ENABLE_PROGRESS_TAG;
95
ENABLE_PROGRESS_TAG = ENABLE_PROGRESS_TAG;
95
96
96
ENABLE_REGISTER_PROTOCOL_HANDLER = ;
97
ENABLE_REGISTER_PROTOCOL_HANDLER = ;
Lines 127-130 ENABLE_XHTMLMP = ; a/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig_sec2
127
ENABLE_XPATH = ENABLE_XPATH;
128
ENABLE_XPATH = ENABLE_XPATH;
128
ENABLE_XSLT = ENABLE_XSLT;
129
ENABLE_XSLT = ENABLE_XSLT;
129
130
130
FEATURE_DEFINES = $(ENABLE_LINK_PREFETCH) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_WEBGL) $(ENABLE_3D_RENDERING) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CLIENT_BASED_GEOLOCATION) $(ENABLE_DATABASE) $(ENABLE_DATAGRID) $(ENABLE_DATALIST) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM_STORAGE) $(ENABLE_EVENTSOURCE) $(ENABLE_FILTERS) $(ENABLE_FILE_SYSTEM) $(ENABLE_FULLSCREEN_API) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_IMAGE_RESIZER) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_MATHML) $(ENABLE_METER_TAG) $(ENABLE_NOTIFICATIONS) $(ENABLE_OFFLINE_WEB_APPLICATIONS) $(ENABLE_PROGRESS_TAG) $(ENABLE_REGISTER_PROTOCOL_HANDLER) $(ENABLE_SHARED_WORKERS) $(ENABLE_SVG) $(ENABLE_SVG_ANIMATION) $(ENABLE_SVG_AS_IMAGE) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_FOREIGN_OBJECT) $(ENABLE_SVG_USE) $(ENABLE_VIDEO) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WML) $(ENABLE_WORKERS) $(ENABLE_XHTMLMP) $(ENABLE_XPATH) $(ENABLE_XSLT);
131
FEATURE_DEFINES = $(ENABLE_LINK_PREFETCH) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_WEBGL) $(ENABLE_3D_RENDERING) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CLIENT_BASED_GEOLOCATION) $(ENABLE_DATABASE) $(ENABLE_DATAGRID) $(ENABLE_DATALIST) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM_STORAGE) $(ENABLE_EVENTSOURCE) $(ENABLE_FILTERS) $(ENABLE_FILE_SYSTEM) $(ENABLE_FULLSCREEN_API) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_IMAGE_RESIZER) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_MATHML) $(ENABLE_METER_TAG) $(ENABLE_NOTIFICATIONS) $(ENABLE_OFFLINE_WEB_APPLICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PROGRESS_TAG) $(ENABLE_REGISTER_PROTOCOL_HANDLER) $(ENABLE_SHARED_WORKERS) $(ENABLE_SVG) $(ENABLE_SVG_ANIMATION) $(ENABLE_SVG_AS_IMAGE) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_FOREIGN_OBJECT) $(ENABLE_SVG_USE) $(ENABLE_VIDEO) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WML) $(ENABLE_WORKERS) $(ENABLE_XHTMLMP) $(ENABLE_XPATH) $(ENABLE_XSLT);
- a/Source/WebCore/ChangeLog +31 lines
Lines 1-3 a/Source/WebCore/ChangeLog_sec1
1
2011-03-06  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::webkitVisibilityState): Returns document visibility state.
14
        (WebCore::Document::webkitIsVisible): Returns true iff document is visible.
15
        (WebCore::Document::triggerVisibilityStateChangeEvent): 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 visibilitystatechangeevent.
20
        * page/Frame.cpp:
21
        (WebCore::Frame::triggerVisibilityStateChangeEvent): 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
1
2011-03-06  Jessie Berlin  <jberlin@apple.com>
32
2011-03-06  Jessie Berlin  <jberlin@apple.com>
2
33
3
        Reviewed by Sam Weinig.
34
        Reviewed by Sam Weinig.
- a/Source/WebCore/Configurations/FeatureDefines.xcconfig -1 / +2 lines
Lines 91-96 ENABLE_MATHML = ENABLE_MATHML; a/Source/WebCore/Configurations/FeatureDefines.xcconfig_sec1
91
ENABLE_METER_TAG = ENABLE_METER_TAG;
91
ENABLE_METER_TAG = ENABLE_METER_TAG;
92
ENABLE_NOTIFICATIONS = ;
92
ENABLE_NOTIFICATIONS = ;
93
ENABLE_OFFLINE_WEB_APPLICATIONS = ENABLE_OFFLINE_WEB_APPLICATIONS;
93
ENABLE_OFFLINE_WEB_APPLICATIONS = ENABLE_OFFLINE_WEB_APPLICATIONS;
94
ENABLE_PAGE_VISIBILITY_API = ;
94
ENABLE_PROGRESS_TAG = ENABLE_PROGRESS_TAG;
95
ENABLE_PROGRESS_TAG = ENABLE_PROGRESS_TAG;
95
96
96
ENABLE_REGISTER_PROTOCOL_HANDLER = ;
97
ENABLE_REGISTER_PROTOCOL_HANDLER = ;
Lines 127-130 ENABLE_XHTMLMP = ; a/Source/WebCore/Configurations/FeatureDefines.xcconfig_sec2
127
ENABLE_XPATH = ENABLE_XPATH;
128
ENABLE_XPATH = ENABLE_XPATH;
128
ENABLE_XSLT = ENABLE_XSLT;
129
ENABLE_XSLT = ENABLE_XSLT;
129
130
130
FEATURE_DEFINES = $(ENABLE_LINK_PREFETCH) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_WEBGL) $(ENABLE_3D_RENDERING) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CLIENT_BASED_GEOLOCATION) $(ENABLE_DATABASE) $(ENABLE_DATAGRID) $(ENABLE_DATALIST) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM_STORAGE) $(ENABLE_EVENTSOURCE) $(ENABLE_FILTERS) $(ENABLE_FILE_SYSTEM) $(ENABLE_FULLSCREEN_API) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_IMAGE_RESIZER) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_MATHML) $(ENABLE_METER_TAG) $(ENABLE_NOTIFICATIONS) $(ENABLE_OFFLINE_WEB_APPLICATIONS) $(ENABLE_PROGRESS_TAG) $(ENABLE_REGISTER_PROTOCOL_HANDLER) $(ENABLE_SHARED_WORKERS) $(ENABLE_SVG) $(ENABLE_SVG_ANIMATION) $(ENABLE_SVG_AS_IMAGE) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_FOREIGN_OBJECT) $(ENABLE_SVG_USE) $(ENABLE_VIDEO) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WML) $(ENABLE_WORKERS) $(ENABLE_XHTMLMP) $(ENABLE_XPATH) $(ENABLE_XSLT);
131
FEATURE_DEFINES = $(ENABLE_LINK_PREFETCH) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_WEBGL) $(ENABLE_3D_RENDERING) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CLIENT_BASED_GEOLOCATION) $(ENABLE_DATABASE) $(ENABLE_DATAGRID) $(ENABLE_DATALIST) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM_STORAGE) $(ENABLE_EVENTSOURCE) $(ENABLE_FILTERS) $(ENABLE_FILE_SYSTEM) $(ENABLE_FULLSCREEN_API) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_IMAGE_RESIZER) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_MATHML) $(ENABLE_METER_TAG) $(ENABLE_NOTIFICATIONS) $(ENABLE_OFFLINE_WEB_APPLICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PROGRESS_TAG) $(ENABLE_REGISTER_PROTOCOL_HANDLER) $(ENABLE_SHARED_WORKERS) $(ENABLE_SVG) $(ENABLE_SVG_ANIMATION) $(ENABLE_SVG_AS_IMAGE) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_FOREIGN_OBJECT) $(ENABLE_SVG_USE) $(ENABLE_VIDEO) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WML) $(ENABLE_WORKERS) $(ENABLE_XHTMLMP) $(ENABLE_XPATH) $(ENABLE_XSLT);
- a/Source/WebCore/WebCore.exp.in -1 / +6 lines
Lines 677-683 __ZN7WebCore4Page6goBackEv a/Source/WebCore/WebCore.exp.in_sec1
677
__ZN7WebCore4Page8goToItemEPNS_11HistoryItemENS_13FrameLoadTypeE
677
__ZN7WebCore4Page8goToItemEPNS_11HistoryItemENS_13FrameLoadTypeE
678
__ZN7WebCore4Page9goForwardEv
678
__ZN7WebCore4Page9goForwardEv
679
__ZN7WebCore4Page9initGroupEv
679
__ZN7WebCore4Page9initGroupEv
680
__ZN7WebCore4PageC1ERKNS0_11PageClientsE
681
__ZN7WebCore4PageD1Ev
680
__ZN7WebCore4PageD1Ev
682
__ZN7WebCore4Path14addRoundedRectERKNS_9FloatRectERKNS_9FloatSizeE
681
__ZN7WebCore4Path14addRoundedRectERKNS_9FloatRectERKNS_9FloatSizeE
683
__ZN7WebCore4PathC1Ev
682
__ZN7WebCore4PathC1Ev
Lines 1767-1772 __ZN7WebCore8Document12updateLayoutEv a/Source/WebCore/WebCore.exp.in_sec2
1767
__ZNK7WebCore4Node16traverseNextNodeEPKS0_
1766
__ZNK7WebCore4Node16traverseNextNodeEPKS0_
1768
#endif
1767
#endif
1769
1768
1769
#if ENABLE(PAGE_VISIBILITY_API)
1770
__ZN7WebCore4PageC1ERKNS0_11PageClientsERKN3WTF6StringE
1771
#else
1772
__ZN7WebCore4PageC1ERKNS0_11PageClientsE
1773
#endif
1774
1770
#if ENABLE(OFFLINE_WEB_APPLICATIONS)
1775
#if ENABLE(OFFLINE_WEB_APPLICATIONS)
1771
__ZN7WebCore23ApplicationCacheStorage14quotaForOriginEPKNS_14SecurityOriginERx
1776
__ZN7WebCore23ApplicationCacheStorage14quotaForOriginEPKNS_14SecurityOriginERx
1772
__ZN7WebCore23ApplicationCacheStorage14setMaximumSizeEx
1777
__ZN7WebCore23ApplicationCacheStorage14setMaximumSizeEx
- a/Source/WebCore/dom/Document.cpp +26 lines
Lines 1376-1381 void Document::removeTitle(Element* titleElement) a/Source/WebCore/dom/Document.cpp_sec1
1376
    }
1376
    }
1377
}
1377
}
1378
1378
1379
#if ENABLE(PAGE_VISIBILITY_API)
1380
String Document::webkitVisibilityState() const
1381
{
1382
    if (!m_frame || !m_frame->page())
1383
        return "visible";
1384
    return m_frame->page()->visibilityState();
1385
}
1386
1387
bool Document::webkitIsVisible() const
1388
{
1389
    return webkitVisibilityState() == "visible";
1390
}
1391
1392
void Document::triggerVisibilityStateChangeEvent()
1393
{
1394
    dispatchEvent(Event::create(eventNames().webkitvisibilitystatechangeEvent, false, false));
1395
}
1396
1397
bool Document::isVisibilityStateValueValid(const String& visibilityState)
1398
{
1399
    if (visibilityState == "visible" || visibilityState == "hidden")
1400
        return true;
1401
    return false;
1402
}
1403
#endif
1404
1379
String Document::nodeName() const
1405
String Document::nodeName() const
1380
{
1406
{
1381
    return "#document";
1407
    return "#document";
- a/Source/WebCore/dom/Document.h +10 lines
Lines 301-306 public: a/Source/WebCore/dom/Document.h_sec1
301
#if ENABLE(FULLSCREEN_API)
301
#if ENABLE(FULLSCREEN_API)
302
    DEFINE_ATTRIBUTE_EVENT_LISTENER(webkitfullscreenchange);
302
    DEFINE_ATTRIBUTE_EVENT_LISTENER(webkitfullscreenchange);
303
#endif
303
#endif
304
#if ENABLE(PAGE_VISIBILITY_API)
305
    DEFINE_ATTRIBUTE_EVENT_LISTENER(webkitvisibilitystatechange);
306
#endif
304
307
305
    ViewportArguments viewportArguments() const { return m_viewportArguments; }
308
    ViewportArguments viewportArguments() const { return m_viewportArguments; }
306
309
Lines 377-382 public: a/Source/WebCore/dom/Document.h_sec2
377
380
378
    virtual KURL baseURI() const;
381
    virtual KURL baseURI() const;
379
382
383
#if ENABLE(PAGE_VISIBILITY_API)
384
    String webkitVisibilityState() const;
385
    bool webkitIsVisible() const;
386
    void triggerVisibilityStateChangeEvent();
387
    static bool isVisibilityStateValueValid(const String&);
388
#endif
389
380
    PassRefPtr<Node> adoptNode(PassRefPtr<Node> source, ExceptionCode&);
390
    PassRefPtr<Node> adoptNode(PassRefPtr<Node> source, ExceptionCode&);
381
391
382
    PassRefPtr<HTMLCollection> images();
392
    PassRefPtr<HTMLCollection> images();
- a/Source/WebCore/dom/Document.idl +5 lines
Lines 343-348 module core { a/Source/WebCore/dom/Document.idl_sec1
343
        boolean isHTMLDocument();
343
        boolean isHTMLDocument();
344
#endif
344
#endif
345
345
346
#if defined(ENABLE_PAGE_VISIBILITY_API) && ENABLE_PAGE_VISIBILITY_API
347
        readonly attribute DOMString webkitVisibilityState;
348
        readonly attribute boolean webkitIsVisible;
349
#endif
350
346
    };
351
    };
347
352
348
}
353
}
- a/Source/WebCore/dom/EventNames.h +1 lines
Lines 108-113 namespace WebCore { a/Source/WebCore/dom/EventNames.h_sec1
108
    macro(unload) \
108
    macro(unload) \
109
    macro(updateready) \
109
    macro(updateready) \
110
    macro(versionchange) \
110
    macro(versionchange) \
111
    macro(webkitvisibilitystatechange) \
111
    macro(write) \
112
    macro(write) \
112
    macro(writeend) \
113
    macro(writeend) \
113
    macro(writestart) \
114
    macro(writestart) \
- a/Source/WebCore/page/Frame.cpp +10 lines
Lines 668-673 void Frame::setDOMWindow(DOMWindow* domWindow) a/Source/WebCore/page/Frame.cpp_sec1
668
    m_domWindow = domWindow;
668
    m_domWindow = domWindow;
669
}
669
}
670
670
671
#if ENABLE(PAGE_VISIBILITY_API)
672
void Frame::triggerVisibilityStateChangeEvent()
673
{
674
    if (m_doc)
675
        m_doc->triggerVisibilityStateChangeEvent();
676
    for (Frame* child = tree()->firstChild(); child; child = child->tree()->nextSibling())
677
        child->triggerVisibilityStateChangeEvent();
678
}
679
#endif
680
671
DOMWindow* Frame::domWindow() const
681
DOMWindow* Frame::domWindow() const
672
{
682
{
673
    if (!m_domWindow)
683
    if (!m_domWindow)
- a/Source/WebCore/page/Frame.h +4 lines
Lines 118-123 namespace WebCore { a/Source/WebCore/page/Frame.h_sec1
118
118
119
        void transferChildFrameToNewDocument();
119
        void transferChildFrameToNewDocument();
120
120
121
#if ENABLE(PAGE_VISIBILITY_API)
122
        void triggerVisibilityStateChangeEvent();
123
#endif
124
121
    // ======== All public functions below this point are candidates to move out of Frame into another class. ========
125
    // ======== All public functions below this point are candidates to move out of Frame into another class. ========
122
126
123
        bool isDisconnected() const;
127
        bool isDisconnected() const;
- a/Source/WebCore/page/Page.cpp -1 / +27 lines
Lines 116-122 static void networkStateChanged() a/Source/WebCore/page/Page.cpp_sec1
116
        frames[i]->document()->dispatchWindowEvent(Event::create(eventName, false, false));
116
        frames[i]->document()->dispatchWindowEvent(Event::create(eventName, false, false));
117
}
117
}
118
118
119
Page::Page(const PageClients& pageClients)
119
Page::Page(const PageClients& pageClients
120
#if ENABLE(PAGE_VISIBILITY_API)
121
            , const String& initialVisibilityState
122
#endif
123
)
120
    : m_chrome(adoptPtr(new Chrome(this, pageClients.chromeClient)))
124
    : m_chrome(adoptPtr(new Chrome(this, pageClients.chromeClient)))
121
    , m_dragCaretController(adoptPtr(new SelectionController(0, true)))
125
    , m_dragCaretController(adoptPtr(new SelectionController(0, true)))
122
#if ENABLE(DRAG_SUPPORT)
126
#if ENABLE(DRAG_SUPPORT)
Lines 162-167 Page::Page(const PageClients& pageClients) a/Source/WebCore/page/Page.cpp_sec2
162
    , m_canStartMedia(true)
166
    , m_canStartMedia(true)
163
    , m_viewMode(ViewModeWindowed)
167
    , m_viewMode(ViewModeWindowed)
164
    , m_minimumTimerInterval(Settings::defaultMinDOMTimerInterval())
168
    , m_minimumTimerInterval(Settings::defaultMinDOMTimerInterval())
169
#if ENABLE(PAGE_VISIBILITY_API)
170
    , m_visibilityState(initialVisibilityState)
171
#endif
165
{
172
{
166
    if (!allPages) {
173
    if (!allPages) {
167
        allPages = new HashSet<Page*>;
174
        allPages = new HashSet<Page*>;
Lines 905-910 void Page::checkFrameCountConsistency() const a/Source/WebCore/page/Page.cpp_sec3
905
}
912
}
906
#endif
913
#endif
907
914
915
#if ENABLE(PAGE_VISIBILITY_API)
916
void Page::setVisibilityState(const String& visibilityState)
917
{
918
    if (!Document::isVisibilityStateValueValid(visibilityState))
919
        return;
920
    if (m_visibilityState == visibilityState)
921
        return;
922
    m_visibilityState = visibilityState;
923
924
    if (m_mainFrame)
925
        m_mainFrame->triggerVisibilityStateChangeEvent();
926
}
927
928
String Page::visibilityState() const
929
{
930
    return m_visibilityState;
931
}
932
#endif
933
908
Page::PageClients::PageClients()
934
Page::PageClients::PageClients()
909
    : chromeClient(0)
935
    : chromeClient(0)
910
    , contextMenuClient(0)
936
    , contextMenuClient(0)
- a/Source/WebCore/page/Page.h -1 / +15 lines
Lines 115-121 namespace WebCore { a/Source/WebCore/page/Page.h_sec1
115
            SpeechInputClient* speechInputClient;
115
            SpeechInputClient* speechInputClient;
116
        };
116
        };
117
117
118
        Page(const PageClients&);
118
        Page(const PageClients&
119
#if ENABLE(PAGE_VISIBILITY_API)
120
            , const String& initialVisibilityState="visible"
121
#endif
122
        );
119
        ~Page();
123
        ~Page();
120
124
121
        RenderTheme* theme() const { return m_theme.get(); };
125
        RenderTheme* theme() const { return m_theme.get(); };
Lines 284-289 namespace WebCore { a/Source/WebCore/page/Page.h_sec2
284
        // recursive frameset pages can quickly bring the program to its knees
288
        // recursive frameset pages can quickly bring the program to its knees
285
        // with exponential growth in the number of frames.
289
        // with exponential growth in the number of frames.
286
        static const int maxNumberOfFrames = 1000;
290
        static const int maxNumberOfFrames = 1000;
291
292
#if ENABLE(PAGE_VISIBILITY_API)
293
        String visibilityState() const;
294
        void setVisibilityState(const String&);
295
#endif
296
287
    private:
297
    private:
288
        void initGroup();
298
        void initGroup();
289
299
Lines 386-391 namespace WebCore { a/Source/WebCore/page/Page.h_sec3
386
        ViewportArguments m_viewportArguments;
396
        ViewportArguments m_viewportArguments;
387
397
388
        double m_minimumTimerInterval;
398
        double m_minimumTimerInterval;
399
400
#if ENABLE(PAGE_VISIBILITY_API)
401
        String m_visibilityState;
402
#endif
389
    };
403
    };
390
404
391
} // namespace WebCore
405
} // namespace WebCore
- a/Source/WebCore/svg/graphics/SVGImage.cpp -6 / +7 lines
Lines 263-274 bool SVGImage::dataChanged(bool allDataReceived) a/Source/WebCore/svg/graphics/SVGImage.cpp_sec1
263
#endif
263
#endif
264
264
265
        // FIXME: If this SVG ends up loading itself, we might leak the world.
265
        // FIXME: If this SVG ends up loading itself, we might leak the world.
266
        // The Cache code does not know about CachedImages holding Frames and
266
        // The comment said that the Cache code does not know about CachedImages
267
        // won't know to break the cycle.
267
        // holding Frames and won't know to break the cycle. But 
268
        // This will become an issue when SVGImage will be able to load other
268
        m_page.set(new Page(pageClients
269
        // SVGImage objects, but we're safe now, because SVGImage can only be
269
#if ENABLE(PAGE_VISIBILITY_API)
270
        // loaded by a top-level document.
270
            , "visible"
271
        m_page.set(new Page(pageClients));
271
#endif
272
        ));
272
        m_page->settings()->setMediaEnabled(false);
273
        m_page->settings()->setMediaEnabled(false);
273
        m_page->settings()->setJavaScriptEnabled(false);
274
        m_page->settings()->setJavaScriptEnabled(false);
274
        m_page->settings()->setPluginsEnabled(false);
275
        m_page->settings()->setPluginsEnabled(false);
- a/Source/WebKit/chromium/ChangeLog +16 lines
Lines 1-3 a/Source/WebKit/chromium/ChangeLog_sec1
1
2011-03-06  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
        * features.gypi:
9
        * public/WebView.h: Added function to set visibilty state.
10
        * public/WebViewClient.h:
11
        (WebKit::WebViewClient::visibilityState): Returns visibility state.
12
        * src/WebViewImpl.cpp:
13
        (WebKit::WebViewImpl::WebViewImpl): Pass initial visibility to Page constructor.
14
        (WebKit::WebViewImpl::setVisibilityState): Set visibility state of the underlying Page.
15
        * src/WebViewImpl.h: ditto.
16
1
2011-03-06  Sreeram Ramachandran  <sreeram@google.com>
17
2011-03-06  Sreeram Ramachandran  <sreeram@google.com>
2
18
3
        Reviewed by Dimitri Glazkov.
19
        Reviewed by Dimitri Glazkov.
- a/Source/WebKit/chromium/features.gypi +1 lines
Lines 72-77 a/Source/WebKit/chromium/features.gypi_sec1
72
        'ENABLE_OFFLINE_WEB_APPLICATIONS=1',
72
        'ENABLE_OFFLINE_WEB_APPLICATIONS=1',
73
        'ENABLE_OPENTYPE_SANITIZER=1',
73
        'ENABLE_OPENTYPE_SANITIZER=1',
74
        'ENABLE_ORIENTATION_EVENTS=0',
74
        'ENABLE_ORIENTATION_EVENTS=0',
75
        'ENABLE_PAGE_VISIBILITY_API=1',
75
        'ENABLE_PROGRESS_TAG=1',
76
        'ENABLE_PROGRESS_TAG=1',
76
        'ENABLE_REGISTER_PROTOCOL_HANDLER=0',
77
        'ENABLE_REGISTER_PROTOCOL_HANDLER=0',
77
        'ENABLE_REQUEST_ANIMATION_FRAME=1',
78
        'ENABLE_REQUEST_ANIMATION_FRAME=1',
- a/Source/WebKit/chromium/public/WebView.h +7 lines
Lines 361-366 public: a/Source/WebKit/chromium/public/WebView.h_sec1
361
    // APIs.
361
    // APIs.
362
    virtual WebGraphicsContext3D* graphicsContext3D() = 0;
362
    virtual WebGraphicsContext3D* graphicsContext3D() = 0;
363
363
364
    // Visibility -----------------------------------------------------------
365
366
#if defined(ENABLE_PAGE_VISIBILITY_API) && ENABLE_PAGE_VISIBILITY_API
367
    // Sets the visibility of the WebView.
368
    virtual void setVisibilityState(const WebString&) = 0;
369
#endif
370
364
protected:
371
protected:
365
    ~WebView() {}
372
    ~WebView() {}
366
};
373
};
- a/Source/WebKit/chromium/public/WebViewClient.h +7 lines
Lines 336-341 public: a/Source/WebKit/chromium/public/WebViewClient.h_sec1
336
                                         const WebString& url,
336
                                         const WebString& url,
337
                                         const WebString& title) { }
337
                                         const WebString& title) { }
338
338
339
    // Visibility -----------------------------------------------------------
340
341
#if defined(ENABLE_PAGE_VISIBILITY_API) && ENABLE_PAGE_VISIBILITY_API
342
    // Current visibility.
343
    virtual WebString visibilityState() const { return WebString("visible"); }
344
#endif
345
339
protected:
346
protected:
340
    ~WebViewClient() { }
347
    ~WebViewClient() { }
341
};
348
};
- a/Source/WebKit/chromium/src/WebViewImpl.cpp -1 / +14 lines
Lines 337-343 WebViewImpl::WebViewImpl(WebViewClient* client, WebDevToolsAgentClient* devTools a/Source/WebKit/chromium/src/WebViewImpl.cpp_sec1
337
    pageClients.geolocationClient = m_geolocationClientProxy.get();
337
    pageClients.geolocationClient = m_geolocationClientProxy.get();
338
    pageClients.backForwardClient = BackForwardListChromium::create(this);
338
    pageClients.backForwardClient = BackForwardListChromium::create(this);
339
339
340
    m_page.set(new Page(pageClients));
340
    m_page.set(new Page(pageClients
341
#if defined(ENABLE_PAGE_VISIBILITY_API) && ENABLE_PAGE_VISIBILITY_API
342
        , m_client->visibilityState()
343
#endif
344
    ));
341
345
342
    m_geolocationClientProxy->setController(m_page->geolocationController());
346
    m_geolocationClientProxy->setController(m_page->geolocationController());
343
347
Lines 1661-1666 void WebViewImpl::fullFramePluginZoomLevelChanged(double zoomLevel) a/Source/WebKit/chromium/src/WebViewImpl.cpp_sec2
1661
    m_client->zoomLevelChanged();
1665
    m_client->zoomLevelChanged();
1662
}
1666
}
1663
1667
1668
#if defined(ENABLE_PAGE_VISIBILITY_API) && ENABLE_PAGE_VISIBILITY_API
1669
void WebViewImpl::setVisibilityState(const WebString& visibilityState)
1670
{
1671
    if (!m_page)
1672
        return;
1673
    m_page->setVisibilityState(visibilityState);
1674
}
1675
#endif
1676
1664
double WebView::zoomLevelToZoomFactor(double zoomLevel)
1677
double WebView::zoomLevelToZoomFactor(double zoomLevel)
1665
{
1678
{
1666
    return std::pow(textSizeMultiplierRatio, zoomLevel);
1679
    return std::pow(textSizeMultiplierRatio, zoomLevel);
- a/Source/WebKit/chromium/src/WebViewImpl.h +4 lines
Lines 352-357 public: a/Source/WebKit/chromium/src/WebViewImpl.h_sec1
352
    // a plugin can update its own zoom, say because of its own UI.
352
    // a plugin can update its own zoom, say because of its own UI.
353
    void fullFramePluginZoomLevelChanged(double zoomLevel);
353
    void fullFramePluginZoomLevelChanged(double zoomLevel);
354
354
355
#if defined(ENABLE_PAGE_VISIBILITY_API) && ENABLE_PAGE_VISIBILITY_API
356
    virtual void setVisibilityState(const WebString&);
357
#endif
358
355
private:
359
private:
356
    friend class WebView;  // So WebView::Create can call our constructor
360
    friend class WebView;  // So WebView::Create can call our constructor
357
    friend class WTF::RefCounted<WebViewImpl>;
361
    friend class WTF::RefCounted<WebViewImpl>;
- a/Source/WebKit/mac/ChangeLog +9 lines
Lines 1-3 a/Source/WebKit/mac/ChangeLog_sec1
1
2011-03-06  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
        * Configurations/FeatureDefines.xcconfig: Add ENABLE_PAGE_VISIBILITY_API.
9
1
2011-03-06  Jessie Berlin  <jberlin@apple.com>
10
2011-03-06  Jessie Berlin  <jberlin@apple.com>
2
11
3
        Reviewed by Sam Weinig.
12
        Reviewed by Sam Weinig.
- a/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig -1 / +2 lines
Lines 91-96 ENABLE_MATHML = ENABLE_MATHML; a/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig_sec1
91
ENABLE_METER_TAG = ENABLE_METER_TAG;
91
ENABLE_METER_TAG = ENABLE_METER_TAG;
92
ENABLE_NOTIFICATIONS = ;
92
ENABLE_NOTIFICATIONS = ;
93
ENABLE_OFFLINE_WEB_APPLICATIONS = ENABLE_OFFLINE_WEB_APPLICATIONS;
93
ENABLE_OFFLINE_WEB_APPLICATIONS = ENABLE_OFFLINE_WEB_APPLICATIONS;
94
ENABLE_PAGE_VISIBILITY_API = ;
94
ENABLE_PROGRESS_TAG = ENABLE_PROGRESS_TAG;
95
ENABLE_PROGRESS_TAG = ENABLE_PROGRESS_TAG;
95
96
96
ENABLE_REGISTER_PROTOCOL_HANDLER = ;
97
ENABLE_REGISTER_PROTOCOL_HANDLER = ;
Lines 127-130 ENABLE_XHTMLMP = ; a/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig_sec2
127
ENABLE_XPATH = ENABLE_XPATH;
128
ENABLE_XPATH = ENABLE_XPATH;
128
ENABLE_XSLT = ENABLE_XSLT;
129
ENABLE_XSLT = ENABLE_XSLT;
129
130
130
FEATURE_DEFINES = $(ENABLE_LINK_PREFETCH) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_WEBGL) $(ENABLE_3D_RENDERING) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CLIENT_BASED_GEOLOCATION) $(ENABLE_DATABASE) $(ENABLE_DATAGRID) $(ENABLE_DATALIST) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM_STORAGE) $(ENABLE_EVENTSOURCE) $(ENABLE_FILTERS) $(ENABLE_FILE_SYSTEM) $(ENABLE_FULLSCREEN_API) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_IMAGE_RESIZER) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_MATHML) $(ENABLE_METER_TAG) $(ENABLE_NOTIFICATIONS) $(ENABLE_OFFLINE_WEB_APPLICATIONS) $(ENABLE_PROGRESS_TAG) $(ENABLE_REGISTER_PROTOCOL_HANDLER) $(ENABLE_SHARED_WORKERS) $(ENABLE_SVG) $(ENABLE_SVG_ANIMATION) $(ENABLE_SVG_AS_IMAGE) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_FOREIGN_OBJECT) $(ENABLE_SVG_USE) $(ENABLE_VIDEO) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WML) $(ENABLE_WORKERS) $(ENABLE_XHTMLMP) $(ENABLE_XPATH) $(ENABLE_XSLT);
131
FEATURE_DEFINES = $(ENABLE_LINK_PREFETCH) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_WEBGL) $(ENABLE_3D_RENDERING) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CLIENT_BASED_GEOLOCATION) $(ENABLE_DATABASE) $(ENABLE_DATAGRID) $(ENABLE_DATALIST) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM_STORAGE) $(ENABLE_EVENTSOURCE) $(ENABLE_FILTERS) $(ENABLE_FILE_SYSTEM) $(ENABLE_FULLSCREEN_API) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_IMAGE_RESIZER) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_MATHML) $(ENABLE_METER_TAG) $(ENABLE_NOTIFICATIONS) $(ENABLE_OFFLINE_WEB_APPLICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PROGRESS_TAG) $(ENABLE_REGISTER_PROTOCOL_HANDLER) $(ENABLE_SHARED_WORKERS) $(ENABLE_SVG) $(ENABLE_SVG_ANIMATION) $(ENABLE_SVG_AS_IMAGE) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_FOREIGN_OBJECT) $(ENABLE_SVG_USE) $(ENABLE_VIDEO) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WML) $(ENABLE_WORKERS) $(ENABLE_XHTMLMP) $(ENABLE_XPATH) $(ENABLE_XSLT);
- a/Source/WebKit2/ChangeLog +9 lines
Lines 1-3 a/Source/WebKit2/ChangeLog_sec1
1
2011-03-06  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
       * Configurations/FeatureDefines.xcconfig: Add ENABLE_PAGE_VISIBILITY_API.
9
1
2011-03-06  Jessie Berlin  <jberlin@apple.com>
10
2011-03-06  Jessie Berlin  <jberlin@apple.com>
2
11
3
        Reviewed by Sam Weinig.
12
        Reviewed by Sam Weinig.
- a/Source/WebKit2/Configurations/FeatureDefines.xcconfig -1 / +2 lines
Lines 89-94 ENABLE_MATHML = ENABLE_MATHML; a/Source/WebKit2/Configurations/FeatureDefines.xcconfig_sec1
89
ENABLE_METER_TAG = ENABLE_METER_TAG;
89
ENABLE_METER_TAG = ENABLE_METER_TAG;
90
ENABLE_NOTIFICATIONS = ;
90
ENABLE_NOTIFICATIONS = ;
91
ENABLE_OFFLINE_WEB_APPLICATIONS = ENABLE_OFFLINE_WEB_APPLICATIONS;
91
ENABLE_OFFLINE_WEB_APPLICATIONS = ENABLE_OFFLINE_WEB_APPLICATIONS;
92
ENABLE_PAGE_VISIBILITY_API = ;
92
ENABLE_PROGRESS_TAG = ENABLE_PROGRESS_TAG;
93
ENABLE_PROGRESS_TAG = ENABLE_PROGRESS_TAG;
93
94
94
ENABLE_REGISTER_PROTOCOL_HANDLER = ;
95
ENABLE_REGISTER_PROTOCOL_HANDLER = ;
Lines 125-128 ENABLE_XHTMLMP = ; a/Source/WebKit2/Configurations/FeatureDefines.xcconfig_sec2
125
ENABLE_XPATH = ENABLE_XPATH;
126
ENABLE_XPATH = ENABLE_XPATH;
126
ENABLE_XSLT = ENABLE_XSLT;
127
ENABLE_XSLT = ENABLE_XSLT;
127
128
128
FEATURE_DEFINES = $(ENABLE_LINK_PREFETCH) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_WEBGL) $(ENABLE_3D_RENDERING) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CLIENT_BASED_GEOLOCATION) $(ENABLE_DATABASE) $(ENABLE_DATAGRID) $(ENABLE_DATALIST) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM_STORAGE) $(ENABLE_EVENTSOURCE) $(ENABLE_FILTERS) $(ENABLE_FILE_SYSTEM) $(ENABLE_FULLSCREEN_API) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_IMAGE_RESIZER) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_MATHML) $(ENABLE_METER_TAG) $(ENABLE_NOTIFICATIONS) $(ENABLE_OFFLINE_WEB_APPLICATIONS) $(ENABLE_PROGRESS_TAG) $(ENABLE_REGISTER_PROTOCOL_HANDLER) $(ENABLE_SHARED_WORKERS) $(ENABLE_SVG) $(ENABLE_SVG_ANIMATION) $(ENABLE_SVG_AS_IMAGE) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_FOREIGN_OBJECT) $(ENABLE_SVG_USE) $(ENABLE_VIDEO) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WML) $(ENABLE_WORKERS) $(ENABLE_XHTMLMP) $(ENABLE_XPATH) $(ENABLE_XSLT);
129
FEATURE_DEFINES = $(ENABLE_LINK_PREFETCH) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_WEBGL) $(ENABLE_3D_RENDERING) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CLIENT_BASED_GEOLOCATION) $(ENABLE_DATABASE) $(ENABLE_DATAGRID) $(ENABLE_DATALIST) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM_STORAGE) $(ENABLE_EVENTSOURCE) $(ENABLE_FILTERS) $(ENABLE_FILE_SYSTEM) $(ENABLE_FULLSCREEN_API) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_IMAGE_RESIZER) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_MATHML) $(ENABLE_METER_TAG) $(ENABLE_NOTIFICATIONS) $(ENABLE_OFFLINE_WEB_APPLICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PROGRESS_TAG) $(ENABLE_REGISTER_PROTOCOL_HANDLER) $(ENABLE_SHARED_WORKERS) $(ENABLE_SVG) $(ENABLE_SVG_ANIMATION) $(ENABLE_SVG_AS_IMAGE) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_FOREIGN_OBJECT) $(ENABLE_SVG_USE) $(ENABLE_VIDEO) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WML) $(ENABLE_WORKERS) $(ENABLE_XHTMLMP) $(ENABLE_XPATH) $(ENABLE_XSLT);
- a/Tools/ChangeLog +9 lines
Lines 1-3 a/Tools/ChangeLog_sec1
1
2011-03-06  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
        * Scripts/build-webkit: Add --page-visibility-api flag.
9
1
2011-03-05  Brian Weinstein  <bweinstein@apple.com>
10
2011-03-05  Brian Weinstein  <bweinstein@apple.com>
2
11
3
        Reviewed by Sam Weinig.
12
        Reviewed by Sam Weinig.
- a/Tools/Scripts/build-webkit +4 lines
Lines 92-97 my ( a/Tools/Scripts/build-webkit_sec1
92
    $notificationsSupport,
92
    $notificationsSupport,
93
    $offlineWebApplicationSupport,
93
    $offlineWebApplicationSupport,
94
    $orientationEventsSupport,
94
    $orientationEventsSupport,
95
    $pageVisibilityApiSupport,
95
    $progressTagSupport,
96
    $progressTagSupport,
96
    $registerProtocolHandlerSupport,
97
    $registerProtocolHandlerSupport,
97
    $sharedWorkersSupport,
98
    $sharedWorkersSupport,
Lines 218-223 my @features = ( a/Tools/Scripts/build-webkit_sec2
218
    { option => "orientation-events", desc => "Toggle Orientation Events support",
219
    { option => "orientation-events", desc => "Toggle Orientation Events support",
219
      define => "ENABLE_ORIENTATION_EVENTS", default => 0, value => \$orientationEventsSupport },
220
      define => "ENABLE_ORIENTATION_EVENTS", default => 0, value => \$orientationEventsSupport },
220
221
222
    { option => "page-visibility-api", desc => "Page Visibility API support",
223
      define => "ENABLE_PAGE_VISIBILITY_API", default => 0, value => \$pageVisibilityApiSupport },
224
221
    { option => "progress-tag", desc => "Progress Tag support",
225
    { option => "progress-tag", desc => "Progress Tag support",
222
      define => "ENABLE_PROGRESS_TAG", default => 1, value => \$progressTagSupport },
226
      define => "ENABLE_PROGRESS_TAG", default => 1, value => \$progressTagSupport },
223
227
- a/configure.ac +10 lines
Lines 579-584 AC_ARG_ENABLE(mathml, a/configure.ac_sec1
579
              [],[enable_mathml="no"])
579
              [],[enable_mathml="no"])
580
AC_MSG_RESULT([$enable_mathml])
580
AC_MSG_RESULT([$enable_mathml])
581
581
582
# check whether to enable page visibility API.
583
AC_MSG_CHECKING([whether to enable Page Visibility API support])
584
AC_ARG_ENABLE(page_visibility_api,
585
              AC_HELP_STRING([--enable-page-visibility-api],
586
                             [enable page visibility api[default=no]]),
587
              [],[enable_page_visibility_api="no"])
588
AC_MSG_RESULT([$enable_page_visibility_api])
589
582
# check whether to enable SVG support
590
# check whether to enable SVG support
583
AC_MSG_CHECKING([whether to enable SVG support])
591
AC_MSG_CHECKING([whether to enable SVG support])
584
AC_ARG_ENABLE(svg,
592
AC_ARG_ENABLE(svg,
Lines 1040-1045 AM_CONDITIONAL([ENABLE_MEDIA_STATISTICS],[test "$enable_media_statistics" = "yes a/configure.ac_sec2
1040
AM_CONDITIONAL([ENABLE_FULLSCREEN_API],[test "$enable_fullscreen_api" = "yes"])
1048
AM_CONDITIONAL([ENABLE_FULLSCREEN_API],[test "$enable_fullscreen_api" = "yes"])
1041
AM_CONDITIONAL([ENABLE_NOTIFICATIONS],[test "$enable_notifications" = "yes"])
1049
AM_CONDITIONAL([ENABLE_NOTIFICATIONS],[test "$enable_notifications" = "yes"])
1042
AM_CONDITIONAL([ENABLE_ORIENTATION_EVENTS],[test "$enable_orientation_events" = "yes"])
1050
AM_CONDITIONAL([ENABLE_ORIENTATION_EVENTS],[test "$enable_orientation_events" = "yes"])
1051
AM_CONDITIONAL([ENABLE_PAGE_VISIBILITY_API],[test "$enable_page_visibility_apis" = "yes"])
1043
AM_CONDITIONAL([ENABLE_SVG],[test "$enable_svg" = "yes"])
1052
AM_CONDITIONAL([ENABLE_SVG],[test "$enable_svg" = "yes"])
1044
AM_CONDITIONAL([ENABLE_SVG_ANIMATION],[test "$enable_svg_animation" = "yes"])
1053
AM_CONDITIONAL([ENABLE_SVG_ANIMATION],[test "$enable_svg_animation" = "yes"])
1045
AM_CONDITIONAL([ENABLE_SVG_FONTS],[test "$enable_svg_fonts" = "yes"])
1054
AM_CONDITIONAL([ENABLE_SVG_FONTS],[test "$enable_svg_fonts" = "yes"])
Lines 1133-1138 Features: a/configure.ac_sec3
1133
 Image resizer support                                    : $enable_image_resizer
1142
 Image resizer support                                    : $enable_image_resizer
1134
 Link prefetch support                                    : $enable_link_prefetch
1143
 Link prefetch support                                    : $enable_link_prefetch
1135
 Opcode stats                                             : $enable_opcode_stats
1144
 Opcode stats                                             : $enable_opcode_stats
1145
 Page visibility API support                              : $enable_page_visibility_api
1136
 SharedWorkers support                                    : $enable_shared_workers
1146
 SharedWorkers support                                    : $enable_shared_workers
1137
 Speech input support                                     : $enable_input_speech
1147
 Speech input support                                     : $enable_input_speech
1138
 SVG support                                              : $enable_svg
1148
 SVG support                                              : $enable_svg

Return to Bug 54181