2009-01-02 Cary Clark <caryclark@google.com>
authordarin@apple.com <darin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 3 Jan 2009 02:35:55 +0000 (02:35 +0000)
committerdarin@apple.com <darin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 3 Jan 2009 02:35:55 +0000 (02:35 +0000)
        Reviewed and landed by Darin Adler.

        Bug 22963: write icons before reading them
        https://bugs.webkit.org/show_bug.cgi?id=22963

        Reverse the order in the icon database main thread loop to
        write the pending icons to the database before trying
        to read any requested icons. This ensures that a requested icon
        has the correct data when read.

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::syncThreadMainLoop):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39569 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/loader/icon/IconDatabase.cpp

index ac35a9a..09cc1d8 100644 (file)
@@ -1,3 +1,18 @@
+2009-01-02  Cary Clark  <caryclark@google.com>
+
+        Reviewed and landed by Darin Adler.
+
+        Bug 22963: write icons before reading them
+        https://bugs.webkit.org/show_bug.cgi?id=22963
+
+        Reverse the order in the icon database main thread loop to
+        write the pending icons to the database before trying
+        to read any requested icons. This ensures that a requested icon 
+        has the correct data when read.
+        
+        * loader/icon/IconDatabase.cpp:
+        (WebCore::IconDatabase::syncThreadMainLoop):
+
 2009-01-02  Darin Adler  <darin@apple.com>
 
         * loader/FrameLoader.cpp:
@@ -6,7 +21,7 @@
 
 2009-01-02  Dmitry Titov  <dimich@chromium.org>
 
-        Reviewed and landed by Darin.
+        Reviewed and landed by Darin Adler.
 
         https://bugs.webkit.org/show_bug.cgi?id=23025
         DOMTimer lifetime cleanup: timeoutMap methods on Document now do not delete the timer.
index 4c316cb..d033b24 100644 (file)
@@ -1350,11 +1350,11 @@ void* IconDatabase::syncThreadMainLoop()
         
         bool didAnyWork = true;
         while (didAnyWork) {
-            didAnyWork = readFromDatabase();
+            bool didWrite = writeToDatabase();
             if (shouldStopThreadActivity())
                 break;
                 
-            bool didWrite = writeToDatabase();
+            didAnyWork = readFromDatabase();
             if (shouldStopThreadActivity())
                 break;