summaryrefslogtreecommitdiffstats
path: root/webkit/glue
Commit message (Collapse)AuthorAgeFilesLines
* TBR: Revert "Miscellaneous API sprucing."aa@chromium.org2009-04-153-15/+0
| | | | | | | | This reverts commit 052b8f424d1550deebf3dc562d7c47dde72d7f76. Review URL: http://codereview.chromium.org/78001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13796 0039d316-1c4b-4281-b951-d872f2087c98
* Miscellaneous API sprucing.aa@chromium.org2009-04-153-0/+15
| | | | | | | | | | | | | - Camel-case event names. - Rename chromium.self in content scripts to chromium.extension. - Move onConnect in extension process to chromium.self.onConnect. - Move definition of chromium.self to extension_process_bindings.js, so that it is near all the other extension process API. - Make toolstrips not wrap by default - Make toolstrips 21px high instead of 19, which was required to avoid an ugly white horizontal bar on my machine. This may be font dependent :(, which is another reason I need to finish making us paint the toolstrips background instead of using this CSS hack. Review URL: http://codereview.chromium.org/67162 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13792 0039d316-1c4b-4281-b951-d872f2087c98
* Add a hack to enable cross-origin XHR for all pages with a "chrome-extension"mpcomplete@google.com2009-04-153-0/+14
| | | | | | | | URL as the toplevel frame. This is a temporary workaround until we can do it the proper way, which requires a webkit refactoring in progress by Alexei. Review URL: http://codereview.chromium.org/67153 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13790 0039d316-1c4b-4281-b951-d872f2087c98
* Fix crash for <audio>hclam@chromium.org2009-04-151-1/+6
| | | | | | | | | | | | WebKit doesn't provide a FrameView for <audio> in MediaPlayer which is need for us to create a WebMediaPlayerDelegateImpl, so don't rely on MediaPlayer::m_frameView but static_cast MediaPlayer::m_mediaPlayerClient to HTMLMediaElement and gets FrameView from it's Document object. Review URL: http://codereview.chromium.org/69012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13782 0039d316-1c4b-4281-b951-d872f2087c98
* Chromium side of webkit merge 42440:42523.ericroman@google.com2009-04-151-1/+1
| | | | | | Review URL: http://codereview.chromium.org/73066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13774 0039d316-1c4b-4281-b951-d872f2087c98
* Use Michael Moss's nice user agent code on Linux.dkegel@google.com2009-04-141-25/+45
| | | | | | | | | Also imitate some of Firefox's behavior with respect to 32-bit-on-64 bit apps. Review URL: http://codereview.chromium.org/67115 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13705 0039d316-1c4b-4281-b951-d872f2087c98
* v8 uses 0-based line numbering, while in WebKit they are numbered from 1 so ↵yurys@google.com2009-04-131-4/+29
| | | | | | | | we need to convert between that representations. Review URL: http://codereview.chromium.org/67104 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13627 0039d316-1c4b-4281-b951-d872f2087c98
* linux: make npapi_test_plugin loadable.evan@chromium.org2009-04-134-11/+86
| | | | | | | | We compiled before, but we'd crash with missing symbols when test_shell tried to load it. I also ported some bits of code, and added comments to the other bits that need porting. Review URL: http://codereview.chromium.org/73015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13620 0039d316-1c4b-4281-b951-d872f2087c98
* Pass a URL with valid protocol to SecurityOrigin::create in order to follow ↵jianli@chromium.org2009-04-131-1/+3
| | | | | | | | the code path to do static value initializations for worker process. Review URL: http://codereview.chromium.org/66063 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13615 0039d316-1c4b-4281-b951-d872f2087c98
* Relanding the following revisions.ananta@chromium.org2009-04-132-24/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r13555 Log: Remove the Activex shim registration for generic Activex controls. The Activex shim only handles windows media player in the wild and will continue to do so for the forseeable future. This fixes http://code.google.com/p/chromium/issues/detail?id=8584, which is basically related to our NPAPI plugin installer not getting instantiated on pages which instantiated flash using an object tag, which would result in webkit attempting to instantiate the activex shim. The shim only loads the windows media player classid, thus causing this issue. Added a test shell test which tests whether the default plugin loaded correctly. This is done by attempting to instantiate a special mime type application/chromium-test-default-plugin, which serves as an indicator to the default plugin to call a function in the page indicating that the test succeeded. I also made a change to ensure that the default plugin is loaded in test_shell_tests. Removed the activexshim dll project from chrome.sln Bug=8584 New Revision: 13558 Log: Removing the Activex shim plugin from the list of default plugins caused some activex shim tests to fail. This basically fails for pages which instantiate the media player like an activex only. To handle this case we attempt to map the clsid to a NPAPI mime type if possible in the shim. If we succeed then the shim is instantiated as an NPAPI plugin as before. It internally loads the media player activex. The other changes are to ensure that the default plugin is only enabled in test_shell for windows for now. Bug=8584 Review URL: http://codereview.chromium.org/72004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13610 0039d316-1c4b-4281-b951-d872f2087c98
* Revert change 13558 and 13555 because they broke the pluginnsylvain@chromium.org2009-04-132-15/+24
| | | | | | | | | | | tests and the test_shell_tests on linux. PLEASE back yourself out when you see you can't fix a bug instead of leaving it red for days. Review URL: http://codereview.chromium.org/67074 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13575 0039d316-1c4b-4281-b951-d872f2087c98
* Refactoring; switch the |filter| parameter into something that is more ↵avi@chromium.org2009-04-122-8/+8
| | | | | | | | | | amenable to cross-platform implementation. BUG=9852 Review URL: http://codereview.chromium.org/63093 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13573 0039d316-1c4b-4281-b951-d872f2087c98
* Removing the Activex shim plugin from the list of default plugins caused ↵ananta@chromium.org2009-04-111-10/+15
| | | | | | | | some activex shim tests to fail. This basically fails for pages which instantiate the media player like an activex only. To handle this case we attempt to map the clsid to a NPAPI mime type if possible in the shim. If we succeed then the shim is instantiated as an NPAPI plugin as before. It internally loads the media player activex. Review URL: http://codereview.chromium.org/66072 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13558 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the Activex shim registration for generic Activex controls. The ↵ananta@chromium.org2009-04-111-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | Activex shim only handles windows media player in the wild and will continue to do so for the forseeable future. This fixes http://code.google.com/p/chromium/issues/detail?id=8584, which is basically related to our NPAPI plugin installer not getting instantiated on pages which instantiated flash using an object tag, which would result in webkit attempting to instantiate the activex shim. The shim only loads the windows media player classid, thus causing this issue. Added a test shell test which tests whether the default plugin loaded correctly. This is done by attempting to instantiate a special mime type application/chromium-test-default-plugin, which serves as an indicator to the default plugin to call a function in the page indicating that the test succeeded. I also made a change to ensure that the default plugin is loaded in test_shell_tests. Removed the activexshim dll project from chrome.sln Bug=8584 Review URL: http://codereview.chromium.org/63151 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13555 0039d316-1c4b-4281-b951-d872f2087c98
* Let WebKit draw the active highlight for FindInPage,finnur@chromium.org2009-04-102-12/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | instead of using the SelectionController. This fixes a couple of bugs, such as: Active match highlighting disappears when mouse selection is made within the page and selection color is orange (6145). and Selection color becomes orange in some cases on tabs that don't have a Find box open. and Gmail jumping to the first match if on FindNext if Find box is closed and reopened (9795). NOTE: This patch depends on my patch to WebKit that just got accepted. See: https://bugs.webkit.org/show_bug.cgi?id=25102 BUG=6145, 9795 TEST=Find something on a page that results in multiple matches being found. Highlight another word that is not currently highlighted. You should see both active and inactive highlights (orange and yellow) and a blue colored selection highlight. Review URL: http://codereview.chromium.org/66016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13510 0039d316-1c4b-4281-b951-d872f2087c98
* Adds some ifdefs so that test_shell can be compiled on linuxsky@chromium.org2009-04-103-5/+8
| | | | | | | | | | | | | without GTK. I had to recreate this patch as my workspace for various resonds. UGH! BUG=none TEST=none Review URL: http://codereview.chromium.org/67024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13503 0039d316-1c4b-4281-b951-d872f2087c98
* DevTools: Use v8 utility context in debugger agent.pfeldman@chromium.org2009-04-101-7/+43
| | | | | | Review URL: http://codereview.chromium.org/66030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13501 0039d316-1c4b-4281-b951-d872f2087c98
* DevTools: Migrate CSS functionality to javascript.pfeldman@chromium.org2009-04-109-354/+287
| | | | | | Review URL: http://codereview.chromium.org/62188 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13500 0039d316-1c4b-4281-b951-d872f2087c98
* Serializing styles in JSON. Previous implementation (serializing as cssText) ↵serya@google.com2009-04-104-56/+133
| | | | | | | | | | lost information about prperty shorthands. Now StyleSidebarPane correctly groups properties. Review URL: http://codereview.chromium.org/65004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13499 0039d316-1c4b-4281-b951-d872f2087c98
* Chrome side of the WebKit popup changes.paulg@google.com2009-04-105-54/+52
| | | | | | | | | | | Implements HTML select popups on Mac OS X as native Cocoa controls. BUG=5095 (http://crbug.com/5095) Review URL: http://codereview.chromium.org/67018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13495 0039d316-1c4b-4281-b951-d872f2087c98
* Scrape search definitions from forms that have onsubmit handlers. The ↵ben@chromium.org2009-04-102-5/+3
| | | | | | | | | | | | | | | | scraping is done after submit events are handled by the page DOM so doing this is safe. Adds test infrastructure for determining that scraping occurs on submit: - allow testserver to be configured to serve pages from / on the server - provide a ui test util that navigates and waits for N subsequent redirections/navigations before returning control to the test to handle automated submission Eric, please review the test server changes. Scott, please look over everything else. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=13444 Review URL: http://codereview.chromium.org/62145 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13491 0039d316-1c4b-4281-b951-d872f2087c98
* revert until I can figure out why the tests are hangingben@chromium.org2009-04-092-3/+5
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13448 0039d316-1c4b-4281-b951-d872f2087c98
* Scrape search definitions from forms that have onsubmit handlers. The ↵ben@chromium.org2009-04-092-5/+3
| | | | | | | | | | | | | | scraping is done after submit events are handled by the page DOM so doing this is safe. Adds test infrastructure for determining that scraping occurs on submit: - allow testserver to be configured to serve pages from / on the server - provide a ui test util that navigates and waits for N subsequent redirections/navigations before returning control to the test to handle automated submission Eric, please review the test server changes. Scott, please look over everything else. Review URL: http://codereview.chromium.org/62145 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13444 0039d316-1c4b-4281-b951-d872f2087c98
* Read script ids for call stack frames from 'backtrace' response.yurys@google.com2009-04-091-1/+8
| | | | | | | This change depends on v8 change http://codereview.chromium.org/65006/show Review URL: http://codereview.chromium.org/65007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13430 0039d316-1c4b-4281-b951-d872f2087c98
* fix build bustagedarin@chromium.org2009-04-091-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13425 0039d316-1c4b-4281-b951-d872f2087c98
* Switch to using WebPoint, WebRect, and WebSize in more of the gluedarin@chromium.org2009-04-0916-151/+190
| | | | | | | | | | | | | | | | | layer interface. This will help when we move those interfaces into the WebKit API. This is a second attempt at r13381, which was already reviewed here: http://codereview.chromium.org/63126 The only change between that CL and this one is in render_view.h, where I needed to change a parameter type from gfx::Rect to WebRect. TBR=dglazkov Review URL: http://codereview.chromium.org/64005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13424 0039d316-1c4b-4281-b951-d872f2087c98
* DevTools: Cache resources before attach, hide agents behind the flag.pfeldman@chromium.org2009-04-096-55/+95
| | | | | | Review URL: http://codereview.chromium.org/65010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13423 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 13419.pfeldman@chromium.org2009-04-096-95/+55
| | | | | | Review URL: http://codereview.chromium.org/65008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13421 0039d316-1c4b-4281-b951-d872f2087c98
* DevTools: Cache resource metainfo even when debugger agent is not attached.pfeldman@chromium.org2009-04-096-55/+95
| | | | | | | | - Cache 200 resources - Hide agent functionality behind the flag Review URL: http://codereview.chromium.org/62183 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13419 0039d316-1c4b-4281-b951-d872f2087c98
* Implemented navigation through the search results (jump to next/next)serya@google.com2009-04-092-20/+83
| | | | | | Review URL: http://codereview.chromium.org/45062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13411 0039d316-1c4b-4281-b951-d872f2087c98
* rebase and more minor changes.aa@chromium.org2009-04-092-78/+20
| | | | | | Review URL: http://codereview.chromium.org/62182 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13410 0039d316-1c4b-4281-b951-d872f2087c98
* One of my recent CL added triggering form autofill when clicking an already ↵jcampan@chromium.org2009-04-093-11/+25
| | | | | | | | | | | | focused text-field. It was triggering form autofill or password autofill indiscriminately, causing a regression: double clicking a login text-field would trigger password autofill preventing the expected behavior of selecting the text in the text-field. Only form autofill is expected to be triggered in that case. BUG=9544 TEST=Open a page with a login form for which you have saved a password. Double-click the login text-field, this should select all the text. Ensure the form autocomplete still works as expected. Review URL: http://codereview.chromium.org/62143 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13408 0039d316-1c4b-4281-b951-d872f2087c98
* When the Find bar has focus it eats keypresses such as PageUp, PageDown and ↵finnur@chromium.org2009-04-083-5/+43
| | | | | | | | | | | | | | | Up and Down arrow keys. It doesn't need to - instead the page should scroll even if focus is on the Find bar. This patch forwards those selected keypresses to the page for its perusal. Known issues: Just like Firefox, the page doesn't scroll if it has frames. SONG=I like to fixit fixit. I like to fixit fixit. BUG=7079 TEST=Open FindInPage on a webpage that has a vertical scrollbar. Press Down, Up, PageDown and PageUp and the page should scroll accordingly. Make sure no ding is heard while doing so. Also make sure this works if focus is on a textfield/textarea when you press Ctrl+F. Review URL: http://codereview.chromium.org/62129 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13389 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting dfisher changes 133386 and 13381cpu@google.com2009-04-0816-188/+147
| | | | | | | | | | TBR=darin Review URL: http://codereview.chromium.org/58018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13387 0039d316-1c4b-4281-b951-d872f2087c98
* Switch to using WebPoint, WebRect, and WebSize in more of the gluedarin@chromium.org2009-04-0816-147/+188
| | | | | | | | | | | layer interface. This will help when we move those interfaces into the WebKit API. R=dglazkov Review URL: http://codereview.chromium.org/63126 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13381 0039d316-1c4b-4281-b951-d872f2087c98
* DevTools: Fix errors found during dogfooding.pfeldman@chromium.org2009-04-086-36/+25
| | | | | | Review URL: http://codereview.chromium.org/62152 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13362 0039d316-1c4b-4281-b951-d872f2087c98
* 1. All debugger messages are dispatched in a static method on the IO thread. ↵yurys@google.com2009-04-086-18/+205
| | | | | | | | | | | All responses from the v8 go to another static method where we should find out which devtool agent delegate should be used for sending the response. We use call_id to match request with the delegate its response should be sent to. We don't pass the delegate directly as it's designed to be accessed on the render thread only. To match debug command response with its request the request sequence number is replaced with a number that is unique across the renderer(note that requests from different clients may have equal ids so we cannot rely on them). This happens before the command gets to the v8. When the command response is ready the original request_seq is restored. Before that the request_seq field is used to find out which devtools agent delegate should be used for sending the response. 2. For the debugger events we derive target agent from the current v8 execution context. If there is no agent attached to the RenderView owning that context 'continue' command is sent to the v8 automatically and the message is ignored. Review URL: http://codereview.chromium.org/62106 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13347 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 12739, 12740, and 12741 because we're going to fix Issue 7448 purely ↵abarth@chromium.org2009-04-083-6/+1
| | | | | | in WebKit. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13343 0039d316-1c4b-4281-b951-d872f2087c98
* Fix an issue found by purify with my previous submission.michaeln@google.com2009-04-081-0/+2
| | | | | | Review URL: http://codereview.chromium.org/62122 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13324 0039d316-1c4b-4281-b951-d872f2087c98
* Switch to using WebDragData in WebView and WebViewDelegate.darin@chromium.org2009-04-0718-214/+260
| | | | | | | | | | | | | | | | | | | | | | | | | | I also cleaned up some of the WebView and WebViewDelegate methods to pass WebPoint instead of pairs of ints or gfx::Point. With this change, I am keeping webkit/glue/webdropdata.{h,cc}, which is what Chrome uses to pass around the equivalent data. Now, it is possible to construct a WebDropData from a WebKit::WebDragData and to also get a WebKit::WebDragData from a WebDropData. Hence, the conversion between WebDropData and ChromiumDataObject (see clipboard_conversion.{h,cc}) is now removed in favor of conversion between WebDropData and WebKit::WebDragData. Conversion between WebKit::WebDragData and WebCore::ChromiumDataObject is very cheap (just reference counting). Finally, this change also brings in WebData, which is now used by the return value of WebKitClient::loadResource. As a companion to that change, I also changed webkit_glue::GetDataResource to return StringPiece instead of std::string. That also saves on an unnecessary buffer copy. R=dglazkov Review URL: http://codereview.chromium.org/63084 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13305 0039d316-1c4b-4281-b951-d872f2087c98
* Adds new messages and widens some existing messages between the renderer and ↵michaeln@google.com2009-04-0712-5/+207
| | | | | | | | browser processes to support an implementation of the HTML5AppCache spec with most of the logic running in the browser process. The gist of most of the changes are to indicate which frame each resource request is coming from, and to indicate which appcache each response was retrieved from (if any).See https://docs.google.com/a/google.com/Doc?docid=agv6ghfsqr_15f749cgt3&hl=en Review URL: http://codereview.chromium.org/9712 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13258 0039d316-1c4b-4281-b951-d872f2087c98
* Switching things to FilePath:phajdan.jr@chromium.org2009-04-0710-58/+67
| | | | | | | | | | | | | | | | Remove following deprecated wstring-using functions: net/net_util: FilePathToFileURL net/net_util: FileURLToFilePath Switch net/base/upload_data to FilePath. Switch upload-related parts of net/url_request/url_request to FilePath. Made necessary adjustments in rest of code (a lot). Review URL: http://codereview.chromium.org/63011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13242 0039d316-1c4b-4281-b951-d872f2087c98
* DevTools: add basic console support.pfeldman@chromium.org2009-04-077-37/+132
| | | | | | Review URL: http://codereview.chromium.org/62050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13240 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: more windowless plugin work.evan@chromium.org2009-04-061-78/+73
| | | | | | | | | | - Try not to pass the entire drawing buffer through X and back -- instead, just the region covered by the windowless plugin. - Pass through some events (just hits a later NOTIMPLEMENTED()). Review URL: http://codereview.chromium.org/56160 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13184 0039d316-1c4b-4281-b951-d872f2087c98
* Stop serializing WebString over IPC. The new rule is that only POD (plain olddarin@chromium.org2009-04-063-35/+51
| | | | | | | | | | | | | data) types from WebKit API are allowed to be used in the browser process. I added a big note about this to webkit_param_traits.h to explain the details of this decision. R=dglazkov Review URL: http://codereview.chromium.org/62032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13181 0039d316-1c4b-4281-b951-d872f2087c98
* First pass of refactoring dialogs.avi@chromium.org2009-04-061-1/+2
| | | | | | Review URL: http://codereview.chromium.org/60110 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13168 0039d316-1c4b-4281-b951-d872f2087c98
* Roll out dominantScript, getGenericFontFamily patches to unfork a bunch of ↵dglazkov@google.com2009-04-061-2/+1
| | | | | | | | | | | files, Chromium side. R=jshin BUG=9768 Review URL: http://codereview.chromium.org/60058 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13157 0039d316-1c4b-4281-b951-d872f2087c98
* DevTools: Glue part for the 'attach early' functionality.pfeldman@chromium.org2009-04-065-30/+62
| | | | | | | | | - Establish 2 main scenarios for attach: 'attach to live' and 'start attached' - Make WebFrameLoaderImpl call setMainFrameDocumentReady only for main frame document. Review URL: http://codereview.chromium.org/62038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13154 0039d316-1c4b-4281-b951-d872f2087c98
* Callbacks through ChromeClient->RenderView->RenderViewHost for ↵rafaelw@chromium.org2009-04-046-1/+29
| | | | | | | | ContentsDidChangeSize so that extensions can change their toolbar size when the contained contents changes size. Review URL: http://codereview.chromium.org/56122 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13130 0039d316-1c4b-4281-b951-d872f2087c98
* Fix potential crash when multiple workers try to start at the same time. In ↵jianli@chromium.org2009-04-031-0/+18
| | | | | | | | our worker processs, we do not run any WebKit code in main thread. Thus when multiple workers try to start at the same time, we might hit crash due to contention for initializing static values. The fix is to do the initialization first in main thread of worker process. Review URL: http://codereview.chromium.org/60099 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13125 0039d316-1c4b-4281-b951-d872f2087c98