2006-10-05 David Carson <dacarson@gmail.com>
authorbdash <bdash@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 5 Oct 2006 21:40:04 +0000 (21:40 +0000)
committerbdash <bdash@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 5 Oct 2006 21:40:04 +0000 (21:40 +0000)
        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=11152
        Adjust the tokenizer chunk size to be smaller for
        mobile devices, and also decrease the yield timer
        for the tokenizer so that it can resume earlier.

        * html/HTMLTokenizer.cpp:
        * config.h:

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

WebCore/ChangeLog
WebCore/config.h
WebCore/html/HTMLTokenizer.cpp

index 4ac88d15f9db6ac2840dfe6cc853507b1c0652fb..1726aa8ac73e20dc4f704aa82551d268fa022f8b 100644 (file)
@@ -1,3 +1,15 @@
+2006-10-05  David Carson  <dacarson@gmail.com>
+
+        Reviewed by Darin.
+
+        http://bugs.webkit.org/show_bug.cgi?id=11152
+        Adjust the tokenizer chunk size to be smaller for
+        mobile devices, and also decrease the yield timer
+        for the tokenizer so that it can resume earlier.
+
+        * html/HTMLTokenizer.cpp:
+        * config.h:
+
 2006-10-05  Adam Roben  <aroben@apple.com>
 
         Removing accidentally-checked-in do-nothing code.
 2006-10-05  Adam Roben  <aroben@apple.com>
 
         Removing accidentally-checked-in do-nothing code.
index 876d22bfd0a8d6304c5c75ce21e52aa902e43a98..e120d7c16b54c65cfbc82a9372ebfb3f4684cd41 100644 (file)
@@ -21,6 +21,7 @@
 #include <wtf/Platform.h>
 
 #define XSLT_SUPPORT 1
 #include <wtf/Platform.h>
 
 #define XSLT_SUPPORT 1
+#define MOBILE 0
 
 #if __APPLE__
 #define HAVE_FUNC_USLEEP 1
 
 #if __APPLE__
 #define HAVE_FUNC_USLEEP 1
index 8055fb80dee56e82556c7d6454954d445765d975..e2998ab1b3e9cd3fd147a534e5b39c266bf0c8a7 100644 (file)
 
 // #define INSTRUMENT_LAYOUT_SCHEDULING 1
 
 
 // #define INSTRUMENT_LAYOUT_SCHEDULING 1
 
+#if MOBILE
+// The mobile device needs to be responsive, as such the tokenizer chunk size is reduced.
+// This value is used to define how many characters the tokenizer will process before 
+// yeilding control.
+#define TOKENIZER_CHUNK_SIZE  256
+#else
 #define TOKENIZER_CHUNK_SIZE  4096
 #define TOKENIZER_CHUNK_SIZE  4096
+#endif
 
 using namespace std;
 
 
 using namespace std;
 
@@ -55,10 +62,17 @@ namespace WebCore {
 using namespace HTMLNames;
 using namespace EventNames;
 
 using namespace HTMLNames;
 using namespace EventNames;
 
+#if MOBILE
+// As the chunks are smaller (above), the tokenizer should not yield for as long a period, otherwise
+// it will take way to long to load a page.
+const double tokenizerTimeDelay = 0.300;
+
+#else
 // FIXME: We would like this constant to be 200ms.
 // Yielding more aggressively results in increased responsiveness and better incremental rendering.
 // It slows down overall page-load on slower machines, though, so for now we set a value of 500.
 const double tokenizerTimeDelay = 0.500;
 // FIXME: We would like this constant to be 200ms.
 // Yielding more aggressively results in increased responsiveness and better incremental rendering.
 // It slows down overall page-load on slower machines, though, so for now we set a value of 500.
 const double tokenizerTimeDelay = 0.500;
+#endif
 
 static const char commentStart [] = "<!--";
 static const char scriptEnd [] = "</script";
 
 static const char commentStart [] = "<!--";
 static const char scriptEnd [] = "</script";