summaryrefslogtreecommitdiffstats
path: root/chrome/renderer
Commit message (Collapse)AuthorAgeFilesLines
* Prototype extension process. This is a proof of concept, with a lot ofmpcomplete@google.com2009-02-2710-44/+93
| | | | | | | | | | rough edges. Mostly this just fires up a renderer with an "extension" object exposed, which right now only has a single method "getTestString". I also did some misc cleanup along the way. Review URL: http://codereview.chromium.org/27187 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10620 0039d316-1c4b-4281-b951-d872f2087c98
* Fix crash that happens when the damaged rect is bigger than the HDC we get ↵jam@chromium.org2009-02-271-4/+11
| | | | | | | | | for painting a windowless plugin. BUG=6317 Review URL: http://codereview.chromium.org/28242 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10571 0039d316-1c4b-4281-b951-d872f2087c98
* We don't support beeing scrolled in two dimensions at a time.mad@chromium.org2009-02-271-10/+5
| | | | | | | | | | | This can happen when zooming on an image as identified in related bug. So we split it in two phases. BUG=5873 Review URL: http://codereview.chromium.org/27064 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10568 0039d316-1c4b-4281-b951-d872f2087c98
* Don't send WebInputEvents from the renderer to the browser.erg@google.com2009-02-271-4/+2
| | | | | | | | | | The browser process now keeps a queue of the last keyboard events that it sent to the renderer in a queue and pops them on ACK. If a key is unhandled, we use the copy in the browser process; we don't even send the key back in the ACK anymore. Review URL: http://codereview.chromium.org/27244 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10563 0039d316-1c4b-4281-b951-d872f2087c98
* Enable --single-process for Mac and Linux.shess@chromium.org2009-02-271-0/+3
| | | | | | | | | | | | | | Additionally, wire in a bit of setup for the --single-process case, because it cannot be done by the renderer thread because that thread is not the main thread. Fair warning: --single-process often seems to be broken by various unrelated changes, which may-or-may-not make assumptions about the process architecture. I will try to stay on top of these. Review URL: http://codereview.chromium.org/21330 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10559 0039d316-1c4b-4281-b951-d872f2087c98
* Chrome side to implement WebMimeRegistry.darin@chromium.org2009-02-267-85/+138
| | | | | | | | R=dglazkov Review URL: http://codereview.chromium.org/27222 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10532 0039d316-1c4b-4281-b951-d872f2087c98
* Revert brett's code, for real this time.nsylvain@chromium.org2009-02-262-7/+6
| | | | | | Review URL: http://codereview.chromium.org/28224 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10517 0039d316-1c4b-4281-b951-d872f2087c98
* More URL constants replacement.brettw@chromium.org2009-02-262-6/+7
| | | | | | Review URL: http://codereview.chromium.org/28170 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10487 0039d316-1c4b-4281-b951-d872f2087c98
* DevToolsAgent provides IPC access to the inspected page from developer tools.yurys@google.com2009-02-2610-0/+449
| | | | | | | | | | | | | RenderView running developer tools front-end instantiates DevToolsClient that handles IPC communication with DevToolsAgent. All messages are wrapped and routed through browser process. darin: please look at changes related to messages handling in RenderView jam: please review handling of forwarded messages in DevToolsClient and DevToolsAgent. Review URL: http://codereview.chromium.org/21543 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10459 0039d316-1c4b-4281-b951-d872f2087c98
* Sandbox warmup - localtime().jeremy@chromium.org2009-02-261-0/+4
| | | | | | Review URL: http://codereview.chromium.org/28120 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10457 0039d316-1c4b-4281-b951-d872f2087c98
* Chromium changes to use new WebKit, WebKitClient, and WebClipboard interfaces.darin@chromium.org2009-02-265-10/+24
| | | | | | | | | | | | | | | | | | | A new WebKitClientImpl class is added to webkit/glue that consumers can use to help implement WebKitClient. In the future, consumers will likely subclass WebKitClientImpl. For now, that is not necessary. Since a WebImage may not hold a SkBitmap, I needed to modify ScopedClipboardWriterGlue to not deal in SkBitmaps. So, I just added a WriteBitmapFromPixels method in place of the WriteBitmap method. That method is actually named the same as the one from the base class, which is perhaps kind of nice since the purpose of ScopedClipboardWriterGlue is to override the default way of sending an image to the clipboard! R=dglazkov Review URL: http://codereview.chromium.org/28119 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10416 0039d316-1c4b-4281-b951-d872f2087c98
* Convert sandbox NOTIMPLEMENTED()s into a bug.evan@chromium.org2009-02-251-3/+6
| | | | | | Review URL: http://codereview.chromium.org/27179 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10410 0039d316-1c4b-4281-b951-d872f2087c98
* Don't send the receiver function name in the ↵ananta@chromium.org2009-02-251-7/+5
| | | | | | | | | | ExternalHostBindings::ForwardMessageToExternalHost CPP binding exposed for sending messages from Chrome to an external host, Review URL: http://codereview.chromium.org/27125 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10407 0039d316-1c4b-4281-b951-d872f2087c98
* This CL causes the autofill popup to hide when the browser window is moved ↵jcampan@chromium.org2009-02-253-1/+22
| | | | | | | | | | | or resized. TEST=Bring up an autofill popup in a form, move the browser. The autofill popup should be closed. BUG=7401 R=ben Review URL: http://codereview.chromium.org/28126 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10384 0039d316-1c4b-4281-b951-d872f2087c98
* Dynamically load FFmpeg DLLs if present and --enable-video is on.scherkus@chromium.org2009-02-251-3/+37
| | | | | | | | If any of the DLLs fail to load or are not present, video is disabled. Review URL: http://codereview.chromium.org/24025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10376 0039d316-1c4b-4281-b951-d872f2087c98
* Delete the ViewSourceTabContents.brettw@chromium.org2009-02-252-4/+5
| | | | | | | | | | | | | This removes all the tab contents type stuff for view source mode. The RenderViewHostManager now automatically switches RenderViews when we turn view source mode on or off to get the desired effect. I also moved some instances of hardcoded schemes into chrome_constants.h, and renamed RendererCreated/Ready/Gone to RenderViewCreated/Ready/Gone to reflect what they actually mean. Review URL: http://codereview.chromium.org/28089 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10346 0039d316-1c4b-4281-b951-d872f2087c98
* Sandbox fix - warmup -[NSColor colorUsingColorSpaceName].jeremy@chromium.org2009-02-252-2/+11
| | | | | | | | | Also move HandleRendererErrorTestParameters() back to the top of RendererMain(). Review URL: http://codereview.chromium.org/27135 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10335 0039d316-1c4b-4281-b951-d872f2087c98
* Initial support for Renderer Side Histogramsjar@chromium.org2009-02-257-1/+189
| | | | | | | | | | Patch contributed by Raman Tenneti see also patch number 21038 Review URL: http://codereview.chromium.org/27034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10330 0039d316-1c4b-4281-b951-d872f2087c98
* Temporary fix for the Cocoa-in-renderer problem.jrg@chromium.org2009-02-251-2/+27
| | | | | | Review URL: http://codereview.chromium.org/27108 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10326 0039d316-1c4b-4281-b951-d872f2087c98
* Always log out how many user scripts were injected, not justaa@chromium.org2009-02-251-4/+2
| | | | | | | | if there was more than zero. Review URL: http://codereview.chromium.org/27121 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10323 0039d316-1c4b-4281-b951-d872f2087c98
* Final step in converting all grit includes to have grit in the path.tc@google.com2009-02-241-1/+1
| | | | | | | | | | | | Fixes some linux/mac issues that were pending and fix up the scons build to expect the file in the grit subdir. BUG=7537 Review URL: http://codereview.chromium.org/28035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10306 0039d316-1c4b-4281-b951-d872f2087c98
* Add logging to ExtensionsService, UserScriptMaster,aa@chromium.org2009-02-241-0/+5
| | | | | | | | | | | | | | | and PluginChannel to be able to see what happens when chrome runs extensions headless. It would be better to modify the existing IPC::Logging mechanism than add logging to PluginChannel, so that it could be useful for debugging other types of IPC problems. But I don't have time to do that right now. Review URL: http://codereview.chromium.org/28091 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10302 0039d316-1c4b-4281-b951-d872f2087c98
* Keeping track of whether WebKit is in the callstack using RenderThread ↵jam@chromium.org2009-02-244-90/+8
| | | | | | | | | | | | doesn't work when there are Send calls to plugins (i.e. Gears). So instead, just use PostNonNestableTask to delete RenderWidget. I (Note I still don't know how my change affected this, it seems to have been broken before as well.) BUG=7951 Review URL: http://codereview.chromium.org/28090 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10298 0039d316-1c4b-4281-b951-d872f2087c98
* The guts of the video renderer logic that relate to timing and queuing of ↵ralphl@chromium.org2009-02-243-419/+82
| | | | | | | | | frames have been moved into a base class. This class now simply interracts with the delegate to paint the current frame when a repaint is needed. Review URL: http://codereview.chromium.org/20345 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10296 0039d316-1c4b-4281-b951-d872f2087c98
* Use string for Histogram names since these are all ASCII anyway.dsh@google.com2009-02-241-4/+4
| | | | | | | | Wide-character literals cause problems between platforms. Review URL: http://codereview.chromium.org/28046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10276 0039d316-1c4b-4281-b951-d872f2087c98
* Fix missing include in r10237hclam@chromium.org2009-02-241-0/+1
| | | | | | | | TBR=? Review URL: http://codereview.chromium.org/28059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10243 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the build due to r10237hclam@chromium.org2009-02-241-1/+2
| | | | | | | | TBR=? Review URL: http://codereview.chromium.org/28058 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10242 0039d316-1c4b-4281-b951-d872f2087c98
* Implementation of data source for media playerhclam@chromium.org2009-02-244-47/+326
| | | | | | | | | | | | | | | | Implementation of DataSourceImpl for the media player pipeline in Chrome. DataSourceImpl delegates resource loading request to Chrome from the media pipeline. It also performs asynchronous file reading of the media file and coordinates the progress update of resource loading. This change completes the implementation of construction, initialization of data source, asynchronous file reading and coordinations of streaming progress updates between different threads. This change does not contains delegation of resource loading to RenderView and registration of a streaming resource client. Review URL: http://codereview.chromium.org/20375 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10237 0039d316-1c4b-4281-b951-d872f2087c98
* The find bar should be owned and managed from the BrowserView, not the ↵finnur@google.com2009-02-241-24/+23
| | | | | | | | | | | | | | | | | | | | | | | | WebContentsView, since it's part of the "chrome". Design Doc: http://dev.chromium.org/developers/design-documents/find-bar Things done: - Pulled all of the find bar stuff out of WebContentsView* since it's no longer needed. - Moved OnFindReply delegate method from RenderViewHostDelegate::View to RenderViewHostDelegate, since it's no longer implemented on the view. - Moved find control methods to WebContents. - Added recent find result state to WebContents. - Updated the UI tests to accommodate the changes in the state that is broadcast when results are discovered. - Updated the find bar layout to obtain its bounding box from the BrowserView, which knows about toolbars, bookmark bars etc. - Updated the find bar itself to handle the fact that it can be displayed for multiple different tabs. - Moved the find bar manipulation methods for testing from TabProxy to BrowserProxy, since the find bar is now a feature of the window, not the tab. - view.h: Don't lay out child views again if they have a layout manager, it already updated them. TEST=Find box should work as before. BUG=3245 Review URL: http://codereview.chromium.org/27025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10231 0039d316-1c4b-4281-b951-d872f2087c98
* Multiple fixes for broken Linux SHARED=1 build. This gets things building, ↵mmoss@chromium.org2009-02-231-0/+6
| | | | | | | | | but the resulting 'chrome' binary crashes on start-up (test_shell seems to work better). Review URL: http://codereview.chromium.org/27054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10228 0039d316-1c4b-4281-b951-d872f2087c98
* Update include paths for grit files. Go ahead and resorttc@google.com2009-02-224-11/+6
| | | | | | | | the headers too. Review URL: http://codereview.chromium.org/21472 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10167 0039d316-1c4b-4281-b951-d872f2087c98
* Fix plugin hang that Earth team found.jam@chromium.org2009-02-211-5/+8
| | | | | | | | | Normally an NPObjectProxy uses the modal dialog event to figure out when it needs to pump window messages in an invoke. However, an NPObjectProxy created by an NPObjectStub never got access to this event, which led to this hang. BUG=7793 Review URL: http://codereview.chromium.org/20515 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10145 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor code from RenderThread and PluginThread and move it to ChildThread. ↵jam@chromium.org2009-02-2117-294/+209
| | | | | | | | | | | ChildProcess now owns the ChildThread, which removes duplicate code and simplifies things. Clean up ChildProcess, there really was no need for all the templates and statics in it and its subclasses. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=10080 Review URL: http://codereview.chromium.org/21502 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10144 0039d316-1c4b-4281-b951-d872f2087c98
* Remove unused 'node' parameter from ImeUpdateStatus.darin@chromium.org2009-02-201-2/+1
| | | | | | | | R=hbono Review URL: http://codereview.chromium.org/21531 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10096 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 10080.jam@chromium.org2009-02-2017-200/+294
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10082 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor code from RenderThread and PluginThread and move it to ChildThread. ↵jam@chromium.org2009-02-2017-294/+200
| | | | | | | | | ChildProcess now owns the ChildThread, which removes duplicate code and simplifies things. Clean up ChildProcess, there really was no need for all the templates and statics in it and its subclasses. Review URL: http://codereview.chromium.org/21502 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10080 0039d316-1c4b-4281-b951-d872f2087c98
* Audio related IPC messages and handlers from browser tohclam@chromium.org2009-02-205-0/+158
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | renderer 1. Added 4 IPC messages and corresponding handlers for audio: - RequestAudioPacket(int stream_id) Browser process is hungry for audio packet, notify renderer process to provide more. - NotifyAudioStreamCreated(int stream_id, SharedMemoryHandler buffer, int len) Notify stream created event and provide buffer for filling in the future. - NotifyAudioStreamStateChanged(int stream_id, enum state, nt info) The internal state of the audio stream has chagned, notify renderer process of the change. int info provides additional information of the change, e.g. platform specific error code. - NotifyAudioStreamVolume(int stream_id, double left, double right) Notify the current volume for the audio stream. 2. Added methods to RenderView for creating audio streams and delegate audio related requests to browser process with IPC. Now the registration and bookkeeping of AudioRendererImpl happens in RenderView (see audio_renderers_). The reason being that the code is almost just an base::IDMap that doesn't worth creating a new class. Review URL: http://codereview.chromium.org/20410 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10078 0039d316-1c4b-4281-b951-d872f2087c98
* Unit tests fixagl@chromium.org2009-02-201-0/+3
| | | | | | | | On Mac, we allocate TransportDIBs from the browser so the unit test which tests tranport DIB allocation will never work. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10073 0039d316-1c4b-4281-b951-d872f2087c98
* Bitmap transportagl@chromium.org2009-02-206-151/+185
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch reworks bitmap transport on all platforms. Linux and Mac are switched from serialising bitmaps over the IPC channel to using shared memory. All platforms gain a shared memory mapping cache on the host side. The concept of a TransportDIB (device independent bitmap) is added to encapsulate most of the platform specifics. On Linux, we use SysV shared memory. This is because X shared pixmaps, which predate POSIX SHM, can only use SysV. By using SysV between renderer and browser, we open up the possibility to map the shared memory directly from the renderer to the X server. On Mac, we use POSIX shared memory. However, since this needs filesystem access and the Mac renderer is sandboxed from the filesystem, we add two new messages from renderer -> browser: The first, AllocTransportDIB, synchronously creates a transport DIB in the browser and passes a handle back to the renderer. The second, FreeTransportDIB, asynchronously, notifies the browser that it may close its handle to the shared memory region. On Mac, the shared memory regions are identified by their inode numbers on the wire. This means that the browser must keep handles open to all the allocated shared memory regions (since an inode number is insufficient to map the region). The alternative design is that the renderer passes the file descriptor with each paint operation. Since passing file descriptors is special case in the code, I felt that it would be best to minimise their use. Creating and freeing transport DIBs are relatively rare operations relative to paints and scrolls. On Windows, most of the code remains the same, except that Windows now uses the mapping cache added in this patch. This allows the browser to maintain a shared memory mapping for a transport DIB over several paints. Previously it mapped and unmapped for every operation, causing lots of TLB and VM churn. Review URL: http://codereview.chromium.org/21485 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10071 0039d316-1c4b-4281-b951-d872f2087c98
* Remove some NOTIMPLMENTEDs which are apparently no longer necessary.evan@chromium.org2009-02-191-3/+3
| | | | | | Review URL: http://codereview.chromium.org/21520 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10036 0039d316-1c4b-4281-b951-d872f2087c98
* Turn on DNS prefetching.evan@chromium.org2009-02-191-5/+0
| | | | | | Review URL: http://codereview.chromium.org/21281 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10025 0039d316-1c4b-4281-b951-d872f2087c98
* Send over the HTTP status code in the ViewHostMsg_FrameNavigate message ↵ananta@chromium.org2009-02-191-0/+1
| | | | | | | | | | | | | | | | | coming in from the renderer. A failed HTTP navigation like a 404 response to a request is followed by two responses. The first one which is associated with the failed response. This does not send over any information about the failure to the browser and thus appears as a normal navigation.The second response is for the actual 404 page being loaded. For network errors the browser does get notified via RenderView::DidFailProvisionalLoadWithError. However due to a prototype mismatch the corresponding function in WebContents is never invoked. Added a new automation message AutomationMsg_NavigationFailed, which carries information about failed navigations to automation clients.The changes to the navigation controller include sending over the http status code and the URL to observers. The ExternalTabContainer also subscribes to the FAIL_PROVISIONAL_LOAD_WITH_ERROR notification, so it can inform clients about errors. We also ignore the next NAV_ENTRY_COMMITTED notification after an error due to the reasons mentioned above. Review URL: http://codereview.chromium.org/21495 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10023 0039d316-1c4b-4281-b951-d872f2087c98
* Hook up the resize rect for Mac and enable its use in the renderer (mac-only). pinkerton@chromium.org2009-02-191-0/+5
| | | | | | Review URL: http://codereview.chromium.org/21512 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10019 0039d316-1c4b-4281-b951-d872f2087c98
* Prepare some files for porting:estade@chromium.org2009-02-182-4/+4
| | | | | | | | | - Trade in some old wstrings for FilePaths. - Remove some unnecessary headers. Review URL: http://codereview.chromium.org/21466 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9986 0039d316-1c4b-4281-b951-d872f2087c98
* The DOM Automation controller object uses the RenderView instance as the ↵ananta@chromium.org2009-02-182-17/+21
| | | | | | | | | | | | | | | | | | | | message sender, i.e. to send replies to javascript requests issued by the browser. The DOM automation controller object is bound to the frame in the WindowObjectcleared code path.The current implementation maintains the message sender object as a static pointer, which causes a crash if the RenderView instance goes out of scope. This can be reproduced with a page which causes a popup window to show up and close. If we attempt to use the Dom Automation controller instance bound to the original Renderview, which is still valid, we crash. The fix is to maintain the message sender as a member variable. The lifetime of the Dom Automation controller instance depends on the RenderView lifetime anyway as it is a member variable. This mimics the other CppBindings like the external host bindings, etc. Added an automation test to test this case. I verified that the test crashes without this fix. This fixes bug http://code.google.com/p/chromium/issues/detail?id=3941 Bug=3941 Review URL: http://codereview.chromium.org/21441 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9963 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 9944.yurys@google.com2009-02-189-438/+0
| | | | | | | This change broke ui, interactive and Vista Perf tests. I felt like reverting. Review URL: http://codereview.chromium.org/24020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9947 0039d316-1c4b-4281-b951-d872f2087c98
* Create communication channel between developer tools UI implemented in JS ↵yurys@google.com2009-02-189-0/+438
| | | | | | | | | | | | | and residing in a process different from inspected page renderer process. There is no direct IPC channel between the two processes so all messages are routed through browser process. On the side of inspected page there is ToolsAgent existing in all renderers so that we can start inspecting the page at any moment by talking to this object. On the side of developer tools renderer there is ToolsClient which is created only for RenderView that host developer tools UI. This change is a slightly modified version of http://codereview.chromium.org/20221/show Review URL: http://codereview.chromium.org/20430 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9944 0039d316-1c4b-4281-b951-d872f2087c98
* mac renderer sandbox cleanup:thomasvl@chromium.org2009-02-172-6/+39
| | | | | | | | | | | - rename the mac platform delegate to be .mm so we can use cocoa in it. - added the sandbox profile jeremy figured out. - add the profile file to the project build. - during renderer startup, check the process type and use our custom profile or the pure compute profile based on if we're a renderer or a unittest. Review URL: http://codereview.chromium.org/21419 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9895 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 9855.maruel@chromium.org2009-02-169-436/+0
| | | | | | | This change didn't have any description and it broke the tree Review URL: http://codereview.chromium.org/21393 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9856 0039d316-1c4b-4281-b951-d872f2087c98
* Review URL: http://codereview.chromium.org/20405yurys@google.com2009-02-169-0/+436
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9855 0039d316-1c4b-4281-b951-d872f2087c98