| Index: webkit/api/src/WebKit.cpp
 | 
| ===================================================================
 | 
| --- webkit/api/src/WebKit.cpp	(revision 22402)
 | 
| +++ webkit/api/src/WebKit.cpp	(working copy)
 | 
| @@ -38,6 +38,7 @@
 | 
|  #include "DOMTimer.h"
 | 
|  #include "FrameLoader.h"
 | 
|  #include "Page.h"
 | 
| +#include "TextEncoding.h"
 | 
|  #include "V8Binding.h"
 | 
|  #include "V8Proxy.h"
 | 
|  #include "WorkerContextExecutionProxy.h"
 | 
| @@ -65,6 +66,15 @@
 | 
|      // 4ms prevents the CPU from spinning too busily and provides a balance
 | 
|      // between CPU spinning and the smallest possible interval timer.
 | 
|      WebCore::DOMTimer::setMinTimerInterval(0.004);
 | 
| +
 | 
| +    // There are some code paths (for example, running WebKit in the browser
 | 
| +    // process and calling into LocalStorage before anything else) where the
 | 
| +    // UTF8 string encoding tables are used on a background thread before
 | 
| +    // they're set up.  This is a problem because their set up routines assert
 | 
| +    // they're running on the main WebKitThread.  It might be possible to make
 | 
| +    // the initialization thread-safe, but given that so many code paths use
 | 
| +    // this, initializing this lazily probably doesn't buy us much.
 | 
| +    WebCore::UTF8Encoding();
 | 
|  }
 | 
|  
 | 
|  void shutdown()
 | 
| 
 |