OSDN Git Service

merge from honeycomb mr2
authorRussell Brenner <russellbrenner@google.com>
Wed, 25 May 2011 16:54:35 +0000 (09:54 -0700)
committerRussell Brenner <russellbrenner@google.com>
Wed, 25 May 2011 17:24:05 +0000 (10:24 -0700)
Move check for pending style recalc

The previous implementation had no way to notify the caller as to
whether or not the recording was successful. Now, recordContent
detects the pending recalc and returns null to indicate that no
recording was done.

bug: 4474358
Change-Id: I511d6f1118c0a122ee893167311f3cc82f2cbf7e

Source/WebKit/android/jni/WebViewCore.cpp

index f2680b5..7379e20 100644 (file)
@@ -569,11 +569,6 @@ void WebViewCore::recordPictureSet(PictureSet* content)
         DBG_SET_LOG("!m_mainFrame->document()");
         return;
     }
-    // If there is a pending style recalculation, just return.
-    if (m_mainFrame->document()->isPendingStyleRecalc()) {
-        LOGW("recordPictureSet: pending style recalc, ignoring.");
-        return;
-    }
     if (m_addInval.isEmpty()) {
         DBG_SET_LOG("m_addInval.isEmpty()");
         return;
@@ -918,6 +913,11 @@ BaseLayerAndroid* WebViewCore::createBaseLayer()
 BaseLayerAndroid* WebViewCore::recordContent(SkRegion* region, SkIPoint* point)
 {
     DBG_SET_LOG("start");
+    // If there is a pending style recalculation, just return.
+    if (m_mainFrame->document()->isPendingStyleRecalc()) {
+        DBG_SET_LOGD("recordContent: pending style recalc, ignoring.");
+        return 0;
+    }
     float progress = (float) m_mainFrame->page()->progress()->estimatedProgress();
     m_progressDone = progress <= 0.0f || progress >= 1.0f;
     recordPictureSet(&m_content);