summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser_window.h
Commit message (Collapse)AuthorAgeFilesLines
* Resurrect toolkit_views build.ben@chromium.org2009-07-211-2/+1
| | | | | | Review URL: http://codereview.chromium.org/155797 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21132 0039d316-1c4b-4281-b951-d872f2087c98
* Relanding the the refactoring the page info to have a model.jcampan@chromium.org2009-07-191-0/+11
| | | | | | | | | BUG=None TEST=Make sure clicking the lock/warning icon when visiting a HTTPS page brings the page info and that it reports the correct info. Also check that the "Page/Frame info" right click menu works as well. TBR=ben Review URL: http://codereview.chromium.org/155753 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21065 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 21032.jcampan@chromium.org2009-07-181-11/+0
| | | | | | | | | It breaks the release build on Windows. TBR=ben Review URL: http://codereview.chromium.org/155736 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21035 0039d316-1c4b-4281-b951-d872f2087c98
* Refactoring the page info to have a model.BUG=NoneTEST=Make sure clicking ↵jcampan@chromium.org2009-07-181-0/+11
| | | | | | | | the lock/warning icon when visiting a HTTPS page brings the page info and that it reports the correct info. Also check that the "Page/Frame info" right click menu works as well. Review URL: http://codereview.chromium.org/155336 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21032 0039d316-1c4b-4281-b951-d872f2087c98
* Adds browser tests instead of the old flaky UI tests.klink@chromium.org2009-07-151-0/+4
| | | | | | Review URL: http://codereview.chromium.org/155487 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20757 0039d316-1c4b-4281-b951-d872f2087c98
* DevTools: Focus docked DevTools window on breakpoint.pfeldman@chromium.org2009-07-141-0/+3
| | | | | | Review URL: http://codereview.chromium.org/155423 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20614 0039d316-1c4b-4281-b951-d872f2087c98
* Basics of a new TabStrip.It's very, very rough, but I wanted to check it in ↵ben@chromium.org2009-07-071-0/+7
| | | | | | | | so I don't have to keep typing svn pset as I pass patches back and forth between machines.Behind a command line flag --enable-tabtastic2.I'm trying to split the TabContents specific stuff off of the TabStrip so it's more generic (and more easily mocked for unit testing of various layout conditions). Hence TabStrip vs. BrowserTabStrip. TabStrip may move into views/ once this process is complete.Animator is a utility that can be associated with a View that (at this point) animates that View's bounds from wherever it is now to somewhere else. The TabStrip uses this to do animations for individual Tabs that are independent of each other - a limitation of the old TabStrip is that only one animation is ever active at a time so its animations are a little jumpy compared to other products.Also, detached tab dragging shows the live contents, with all animations/video/etc.Like I said, this is really rough, but I didn't want it to grow any bigger. I will write up a design doc later.http://crbug.com/9032TEST=TBD... will finally be doing some for TabStrip layout! Review URL: http://codereview.chromium.org/42490 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20053 0039d316-1c4b-4281-b951-d872f2087c98
* DevTools: Add docked pane into the browser view.pfeldman@chromium.org2009-07-011-0/+4
| | | | | | Review URL: http://codereview.chromium.org/150160 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19723 0039d316-1c4b-4281-b951-d872f2087c98
* Revert cl 19315 to see if it fixes the builds.rvargas@google.com2009-06-261-4/+0
| | | | | | | | | TBR=klink BUG=none Review URL: http://codereview.chromium.org/149049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19331 0039d316-1c4b-4281-b951-d872f2087c98
* Removes the outdated and flaky UI tests, and introduces a whole new set of ↵klink@chromium.org2009-06-261-0/+4
| | | | | | | | shiny unit tests instead.BUG=2242,2243 Review URL: http://codereview.chromium.org/146124 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19315 0039d316-1c4b-4281-b951-d872f2087c98
* Rejiggers the keyword editor so that the UI is independent of the model ↵ben@chromium.org2009-06-231-1/+8
| | | | | | | | | | | rather than being derived from it. This reduces the spaghetti somewhat. Also decouples the notion of a native view hierarchy from the location in TabContents::PageHasOSDD where the template URL fetcher is spawned. The Template URL Fetcher now simply retains a reference to the TabContents that created it. If the TabContents is destroyed before the fetch completes, we just discard the data retrieved without adding a keyword. BUG=none TEST=none Review URL: http://codereview.chromium.org/140054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19003 0039d316-1c4b-4281-b951-d872f2087c98
* Reorganize the way the task manager is constructed.ben@chromium.org2009-06-221-0/+3
| | | | | | | | | | | The BrowserWindow creates the task manager UI directly, which uses the TaskManager to populate itself. BUG=none TEST=none Review URL: http://codereview.chromium.org/140044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18975 0039d316-1c4b-4281-b951-d872f2087c98
* Reduce header dependencies in browser/phajdan.jr@chromium.org2009-06-131-1/+5
| | | | | | | | | | | | - remove unneeded header includes - move implementation bits out of headers - more explicit header deps In my scan of headers I got up to (including) dom_ui. Review URL: http://codereview.chromium.org/126071 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18353 0039d316-1c4b-4281-b951-d872f2087c98
* Changing the focus manager to not subclass HWNDs (but for the ↵jcampan@chromium.org2009-06-121-0/+8
| | | | | | | | top-windows).Components that have HWND now need to specifically let the FocusManager know when they get the native focus.This is the reason for the new GotFocus() notification on the RenderWidgetHostViewWin class.BUG=NoneTEST=Run the interactive tests, the unit-tests. Test that the focus is remembered correctly when switching windows, switching tabs. Test that focus traversal in the browser and in the option dialog works as expected. Review URL: http://codereview.chromium.org/122002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18301 0039d316-1c4b-4281-b951-d872f2087c98
* Bookmark bar, now with buttons.jrg@chromium.org2009-06-081-0/+2
| | | | | | | | | Much of this CL is refactoring; it's not as large as it looks. (Do I always claim that? It's really true this time.) Review URL: http://codereview.chromium.org/115150 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17872 0039d316-1c4b-4281-b951-d872f2087c98
* Completely miscellaneous minor cleanup. Remove some unneeded class ↵pkasting@chromium.org2009-06-051-4/+0
| | | | | | | | declarations, modify or add a couple comments, change a function name in hopes of greater accuracy. Review URL: http://codereview.chromium.org/119264 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17798 0039d316-1c4b-4281-b951-d872f2087c98
* Move download shelf from per-tab to per-window. Also disable auto-hiding ofthakis@chromium.org2009-06-041-0/+8
| | | | | | | | | | | | | | the shelf. BUG=9025 TEST=Download file in one tab, open new tab, and check that download shelf is still open. Also try the shelf's close button and the "show all downloads" link. When saving a file, the download animation should not show up. Review URL: http://codereview.chromium.org/115740 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17595 0039d316-1c4b-4281-b951-d872f2087c98
* Move a bunch of dialog creation routines to browser_dialogs.h to break thebrettw@chromium.org2009-05-221-1/+1
| | | | | | | | | | | | | | dependency on the implementations of those views. This also moves that file into the browser:: namespace to avoid having all the functions in the global namespace. Rename the "parent" parameter to ShowHTMLDialog to a NativeWindow type to avoid nasty casting. I assume this argument was written before we had NativeWindow. Review URL: http://codereview.chromium.org/113728 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16743 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Take download shelf and infobar close animations into account during ↵estade@chromium.org2009-05-151-0/+6
| | | | | | | | | | render view sizing. http://crbug.com/11080 Review URL: http://codereview.chromium.org/113322 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16193 0039d316-1c4b-4281-b951-d872f2087c98
* This is the first pass at themes.glen@chromium.org2009-05-091-0/+4
| | | | | | | | | | | | This CL is paired with http://codereview.chromium.org/67284 This CL (for commit purposes) includes http://codereview.chromium.org/67284 BUG=4463,11232,11233,11234,11235 Review URL: http://codereview.chromium.org/99030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15704 0039d316-1c4b-4281-b951-d872f2087c98
* Fix regression I introduced where Stop/Go button would toggle state ↵pkasting@chromium.org2009-04-151-1/+1
| | | | | | | | | | | instantly instead of having protections against accidental user actions while the mouse was hovering the button. I elected to condense ChangeMode() and ScheduleChangeMode() into one function, which as a result became pretty simple. BUG=9843 Review URL: http://codereview.chromium.org/67156 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13761 0039d316-1c4b-4281-b951-d872f2087c98
* This CL adds a confirmation box when closing the browser with in-progress ↵jcampan@chromium.org2009-04-091-0/+6
| | | | | | | | | | downloads. BUG=1028 TEST=Start several bug downloads, close the browser. A dialog shows up to warn you are about to lose the downloads. Try the wait and continue button. Try again with several windows, and in Incognito mode. Review URL: http://codereview.chromium.org/62131 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13453 0039d316-1c4b-4281-b951-d872f2087c98
* Moving the Find bar ownership to the Browser object for portability and ↵finnur@chromium.org2009-04-051-13/+5
| | | | | | | | testability purposes.BUG=None.TEST=No new functionality, just moving stuff around and as such it is covered by pre-existing tests. Review URL: http://codereview.chromium.org/60105 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13134 0039d316-1c4b-4281-b951-d872f2087c98
* Move HTML dialogs out of their own tab contents type. Moved functions to newbrettw@chromium.org2009-04-031-2/+2
| | | | | | | | | | | | | file html_dialog_ui.* Move WebContents view creation into the constructor, which makes a bunch of extra calls to CreateView unnecessary. Remove unused CallJavascriptFunction() functions in DOMUI. Review URL: http://codereview.chromium.org/56065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13065 0039d316-1c4b-4281-b951-d872f2087c98
* Remove BrowserWindow::Init().estade@chromium.org2009-03-181-5/+0
| | | | | | | | This belongs as a private method of BrowserView. Neither mac nor linux uses it. Review URL: http://codereview.chromium.org/42298 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11982 0039d316-1c4b-4281-b951-d872f2087c98
* First pass at Mac status bubble.avi@google.com2009-03-171-1/+3
| | | | | | Review URL: http://codereview.chromium.org/48070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11895 0039d316-1c4b-4281-b951-d872f2087c98
* Linux accelerators cleanup:estade@chromium.org2009-03-161-2/+4
| | | | | | | | | | | | | | | | - Give renderer a chance to handle accelerators before browser does. - Handle browser accelerators that aren't attached to any particular UI element in BrowserWindowGtk rather than in BrowserToolbarGtk - Use Browser::ExecuteCommand() to handle accelerator activation - Switch a random void* to gfx::NativeWindow - Enable three browser commands on linux : Focus Location, Focus Search, Open file This fully enables ctrl-l, ctrl-k, and ctrl-o. This fixes copy-pasta in the omnibox. This fixes the problem Dean described with <http://www.quirksmode.org/js/keys.html>. bug=8659 Review URL: http://codereview.chromium.org/42190 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11759 0039d316-1c4b-4281-b951-d872f2087c98
* Make it so that dropdown selects don't deactivate the main frame when opened ↵ben@chromium.org2009-03-031-0/+6
| | | | | | http://crbug.com/8247 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10777 0039d316-1c4b-4281-b951-d872f2087c98
* Does two changes to appease chrome bot runs:sky@google.com2009-02-281-0/+3
| | | | | | | | | | | | | | | | | . Changes InfoBubble to properly initialize all fields in member initializer list and set the delegate before show on the off chance the bubble is deleted from show. This should no longer happen after the second change. . Only show the bookmark bubble if the browser window is active. I experimented with conditionally enabling the star and this turns out to be a bit error prone. BUG=none TEST=none Review URL: http://codereview.chromium.org/31016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10659 0039d316-1c4b-4281-b951-d872f2087c98
* The find bar should be owned and managed from the BrowserView, not the ↵finnur@google.com2009-02-241-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Fix two problems with bookmarking and fullscreen mode:pkasting@chromium.org2009-02-181-3/+0
| | | | | | | | | | | * The bubble didn't close when toggling in/out of fullscreen mode. This was because we only ever closed on an activation change, rather than on a window move. Made the bubble close when the window moves. This required refactoring the bubble code to have a static instance; once I did that I also cleaned up the rest of the code a bit to not check if the bubble was already showing, and just let the bookmark bubble itself take care of this. * The bubble positioning was wrong in fullscreen mode. This was because the toolbar layout was in turn wrong in fullscreen mode. Made the toolbars able to handle being 0-height. BUG=534 TEST=Bookmark a page and hit F11. The bubble should disappear. Hit ctrl-D. The bubble should appear at the right spot, not floating in the middle of the screen. Hit F11 again. The bubble should disappear, and the toolbar button should be drawn undepressed. Review URL: http://codereview.chromium.org/21479 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9982 0039d316-1c4b-4281-b951-d872f2087c98
* Fix window close and application quit on Mac to call the proper Browser ↵pinkerton@chromium.org2009-02-181-1/+5
| | | | | | | | machinery in the proper order. Add comments to BrowserWindow::Close to stress its assumptions. DCHECK that nobody adds a NULL browser to the browser list. Review URL: http://codereview.chromium.org/20460 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9973 0039d316-1c4b-4281-b951-d872f2087c98
* Preliminary fullscreen mode support.pkasting@chromium.org2009-02-181-0/+4
| | | | | | | | | There is no UI for this (yet), just F11 to toggle in and out. BUG=534 Review URL: http://codereview.chromium.org/20423 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9950 0039d316-1c4b-4281-b951-d872f2087c98
* When internal functions try to focus the location bar, check whether it's ↵pkasting@chromium.org2009-02-171-0/+4
| | | | | | | | | focusable, and clear the focus if it's not. This shouldn't kick in in any cases today (I don't think), but it will matter in fullscreen mode, where creating a new tab should not attempt to focus the (unfocusable) location bar, but should not do nothing either, since these leaves focus in a hosed state. There are other choices here. I could make View::RequestFocus() try and clear the focus if the view is not focusable. That seems likely to cause side-effects unless I restore a lot of the calls to IsFocusable() that I previously removed. I also don't know whether sticking this on BrowserWindow was the right approach; if there's a better spot architecturally, speak up. Review URL: http://codereview.chromium.org/21368 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9882 0039d316-1c4b-4281-b951-d872f2087c98
* Make some functions const. This will help with my fullscreen mode changes.pkasting@chromium.org2009-02-131-1/+1
| | | | | | | The only tricky bit here is how GetBookmarkBarView() is no longer guaranteed to return non-NULL. The only caller of this is the automation framework, in one place, which explicitly NULL-checks the result and does the right thing, so there should not be any problems. Review URL: http://codereview.chromium.org/23026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9764 0039d316-1c4b-4281-b951-d872f2087c98
* This is an attempt at finding the reason for the page_cycler slowness caused bymad@chromium.org2009-02-121-2/+8
| | | | | | | | | | | | | | | the new resize corner. Local experiment led me to believe that it is WebKit that is slower when we specify a resize corner area. To validate this hypothesis, I always return an empty rect to WebKit, but I still compute and push the rect to the render widget and I also draw the bitmap even if this will cause it to be drawn on top of the scroll bars when there is only one. TBR=brettw git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9654 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 9493.kuchhal@chromium.org2009-02-101-8/+2
| | | | | | Review URL: http://codereview.chromium.org/21231 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9517 0039d316-1c4b-4281-b951-d872f2087c98
* Relanding of http://codereview.chromium.org/16488.mad@chromium.org2009-02-101-2/+8
| | | | | | | | Adding proper project dependency in chrome.sln. Review URL: http://codereview.chromium.org/21188 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9493 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 9408.brettw@chromium.org2009-02-091-8/+2
| | | | | | Review URL: http://codereview.chromium.org/20190 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9414 0039d316-1c4b-4281-b951-d872f2087c98
* Add a new resizer corner.mad@chromium.org2009-02-091-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To display a resize bitmap and handle the mouse interactions as requested in http://code.google.com/p/chromium/issues/detail?id=458. BUG=458 There are unfortunately two cases to handle and they must be handled separately. The first one is when there are no bottom shelf like the download bar, and the case where there is one. For the case without, we must draw on top of what we receive from WebKit, so we intercept the bitmap in RenderWidgetHostViewWin::OnPaint() so that we can draw the resize corner bitmap on top of it (taking into account whether we are in a right to left language or not). For the case where we have a bottom shelf, we use a dedicated view that we properly layout on top of the bottom shelf view (which takes care of handling the RTL language case for us). Same split for the mouse interactions. Without the bottom shelf, we must deal with it in RenderWidgetHostViewWin::OnMouseEvent() by sending the root window a WM_NCLBUTTONDOWN message with either HTBOTTOMRIGHT or HTBOTTOMLEFT (based on the RTL setting) and let the OS take care of the resizing. IF we have a bottom shelf, we must deal with the mouse interaction in BrowserView::NonClientHitTest() to either return HTBOTTOMRIGHT or HTBOTTOMLEFT (again, based on the RTL setting) and, again, let the OS take care of the resizing. More details here: http://code.google.com/p/chromium/wiki/BrowserViewResizer git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9408 0039d316-1c4b-4281-b951-d872f2087c98
* Make the new linux browser shut down cleanly.erg@google.com2009-02-061-1/+0
| | | | | | | Review URL: http://codereview.chromium.org/21112 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9297 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land this from earlier... unit tests no longer crash.ben@chromium.org2009-01-271-7/+11
| | | | | | | | | Extract a cross platform LocationBar interface. Adds a TestLocationBar object that unit tests can use to mock the location bar (fixes NULL deref). Review URL: http://codereview.chromium.org/18851 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8745 0039d316-1c4b-4281-b951-d872f2087c98
* Revert change 8693 because it breaks the unit_tests.nsylvain@chromium.org2009-01-271-11/+7
| | | | | | | TBR Review URL: http://codereview.chromium.org/19009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8704 0039d316-1c4b-4281-b951-d872f2087c98
* Extract a cross-platform LocationBar interface accessible via the ↵ben@chromium.org2009-01-271-7/+11
| | | | | | | | BrowserWindow interface that the Browser object can use to do locationbar-ey things without directly depending on Views. Review URL: http://codereview.chromium.org/18826 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8693 0039d316-1c4b-4281-b951-d872f2087c98
* Two things:ben@chromium.org2009-01-241-0/+6
| | | | | | | | | - remove views dependencies from browser by moving profile related dialog actions into BrowserWindow. - simplify the include dependencies in TabStripModel (making it easier to bring up on mac) by implementing more of its high level functionality in the delegate. Review URL: http://codereview.chromium.org/18736 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8606 0039d316-1c4b-4281-b951-d872f2087c98
* Don't expose the go and star button views directly through the BrowserWindow ↵ben@chromium.org2009-01-231-12/+14
| | | | | | | | interface (for porting). Review URL: http://codereview.chromium.org/18540 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8572 0039d316-1c4b-4281-b951-d872f2087c98
* Move automation specific accessors to their own interface to make their ↵ben@chromium.org2009-01-221-3/+15
| | | | | | | | purpose clear, and make porting easier. Review URL: http://codereview.chromium.org/18481 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8435 0039d316-1c4b-4281-b951-d872f2087c98
* Provides the infrastructure for Browser unit tests that create asky@google.com2009-01-141-0/+1
| | | | | | | | | | | | | BrowserWindow with only a TabStrip. I also converted two ui tests over to unit tests to make sure it all worked. I had to add a bunch of null checks to Browser and a couple of other places. BUG=none TEST=none Review URL: http://codereview.chromium.org/17386 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8007 0039d316-1c4b-4281-b951-d872f2087c98
* Rewire the throbber so that the timer for updating lives on BrowserView, not ↵ben@chromium.org2008-11-141-5/+4
| | | | | | | | | TabStrip, so that app window/popup throbber updating doesn't need to be plumbed through the tabstrip and the browser object! http://crbug.com/3297 Review URL: http://codereview.chromium.org/10761 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5513 0039d316-1c4b-4281-b951-d872f2087c98
* Rid most of the Browser object of HWND dependencies.ben@chromium.org2008-11-141-8/+37
| | | | | | Review URL: http://codereview.chromium.org/10929 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5492 0039d316-1c4b-4281-b951-d872f2087c98