Fix the issue that the webprocess is suspended
authorHurnjoo Lee <hurnjoo.lee@samsung.com>
Tue, 3 Sep 2013 12:09:24 +0000 (21:09 +0900)
committerGerrit Code Review <gerrit@gerrit.vlan144.tizendev.org>
Wed, 2 Oct 2013 08:32:44 +0000 (08:32 +0000)
[Title] Fix the issue that the webprocess is suspended
[Issues] P130823-01978
[Problem] When animation works, the webProcess is suspended after showing javascript alert.
[Solution] Prevent calling of serviceScriptedAnimations while webprocess waits finish of javascript popup.

Change-Id: I11ab6ec3299326feb8b5e6f42532d6f5c19d21df

Source/WebKit2/WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp

index 0a62420..f297927 100644 (file)
@@ -496,8 +496,13 @@ void LayerTreeCoordinator::performScheduledLayerFlush()
 #if ENABLE(REQUEST_ANIMATION_FRAME) && !USE(REQUEST_ANIMATION_FRAME_TIMER) && !USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR)
     // Make sure that any previously registered animation callbacks are being executed before we flush the layers.
     m_lastAnimationServiceTime = WTF::monotonicallyIncreasingTime();
+#if ENABLE(TIZEN_WEBKIT2_ROTATION_WHILE_JAVASCRIPT_POPUP)
+    if (!WebProcess::shared().isWaitingForJavaScriptPopupFinished())
+        m_webPage->corePage()->mainFrame()->view()->serviceScriptedAnimations(convertSecondsToDOMTimeStamp(currentTime()));
+#else
     m_webPage->corePage()->mainFrame()->view()->serviceScriptedAnimations(convertSecondsToDOMTimeStamp(currentTime()));
 #endif
+#endif
 
     // We lock the animations while performing layout, to avoid flickers caused by animations continuing in the UI process while
     // the web process layout wants to cancel them.