Do not suspend CSS animations when page is hidden
authorHeejin Chung <heejin.r.chung@samsung.com>
Thu, 2 May 2013 08:20:07 +0000 (17:20 +0900)
committerGerrit Code Review <gerrit2@kim11>
Fri, 3 May 2013 01:52:51 +0000 (10:52 +0900)
[Title] Do not suspend CSS animations when page is hidden
[Issue#] TDIS-5549
[Problem] CSS animation gets suspended when moved to background.
[Cause] commit f9d52256dc1509696c042ae7b7400fbaa271e8bd
        was added to save CPU resource when page is hidden.
        However, animated attributes are changed without it being
        painted when page is in background, so almost no CPU resources
        are used when css animation runs on a page that is hidden.
[Solution] revert previous patch

Change-Id: Idf54192a75709c2a6db1f755e9fb233b58eb2185

Source/WTF/wtf/Platform.h
Source/WebCore/page/Page.cpp

index 5fc51d6..cf15c11 100644 (file)
@@ -756,7 +756,6 @@ com) : Patch to do not adjust cover rect as fixed pixel size*/
 
 #if ENABLE(PAGE_VISIBILITY_API)
 #define ENABLE_TIZEN_PAGE_VISIBILITY_API 1 /* Kihong Kwon(kihong.kwon@samsung.com) : Support the Page Visibility API */
-#define ENABLE_TIZEN_SUSPEND_CSS_ANIMATION_FOR_HIDDEN_PAGE 1
 #endif
 
 #if ENABLE(SPELLCHECKING)
index 2d8bbb9..9f1e6c4 100644 (file)
@@ -757,9 +757,6 @@ void Page::didMoveOnscreen()
     m_isOnscreen = true;
 
     for (Frame* frame = mainFrame(); frame; frame = frame->tree()->traverseNext()) {
-#if ENABLE(TIZEN_SUSPEND_CSS_ANIMATION_FOR_HIDDEN_PAGE)
-        frame->animation()->resumeAnimationsForDocument(frame->document());
-#endif
         if (FrameView* frameView = frame->view())
             frameView->didMoveOnscreen();
     }
@@ -772,9 +769,6 @@ void Page::willMoveOffscreen()
     m_isOnscreen = false;
 
     for (Frame* frame = mainFrame(); frame; frame = frame->tree()->traverseNext()) {
-#if ENABLE(TIZEN_SUSPEND_CSS_ANIMATION_FOR_HIDDEN_PAGE)
-        frame->animation()->suspendAnimationsForDocument(frame->document());
-#endif
         if (FrameView* frameView = frame->view())
             frameView->willMoveOffscreen();
     }