summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Try and improve result coalescing/display in the omnibox popup.pkasting@chromium.org2009-07-224-144/+66
| | | | | | | | | | | | | | | | | | | | | | | | This eliminates the delay timer in the popup view, and also eliminates the coalesce timer in the controller. Instead, we simply coalesce until we're done, we have at least as many results as we're already showing, or the "maximum delay timeout" (300 ms) fires, indicating we've gone too long without updating. Additionally, in order to be more responsive when typing rapidly, the controller updates observers immediately with the available results from a previous query if one is still running when a new query is started. While in theory this seems like it might produce flicker, in practice _not_ having it also results in flicker (just less-predictable flicker) since the 300 ms timeout starts kicking in at random times relative to when new keys are pressed. I also fixed a few small problems with leaving 1-pixel high white rows at the bottom of the popup during rapid typing (which weren't visible before this change since the popup would never shrink during rapid typing). After eliminating the timeout in the popup view, I was able to refactor the code to be shorter since a few members and helper functions could all be inlined. Then I added some long comments and made things not much shorter after all :/. I also changed two other (self-contained) unrelated spots in the popup to be shorter. Please patch this in locally and try how it feels. Things to test with this change vs. the old code vs. the old, old (original omnibox) code: * Type one letter at a time with long pauses in between; see how flickery the popup is * Type one letter (e.g. "a") and then type rapidly for a while; see how responsive the popup is * Type words like "amazon", "compusa" and "comcast" at various different speeds and observe the flicker vs. responsiveness tradeoff * Type or paste some long series of letters (that default to searching), then rapidly press and release the ctrl key My hope is that this hits a good balance (it's very difficult to be both flicker-free and responsive, I view the previous two sets of code as being off first one side of the scale and then the other). Possible tweaks include the animation tweening mechanism and timing (I experimented with various different speeds and linear tweening, nothing felt significantly better to me but my machine sucks w.r.t. animation quality) and tweaking the controller "max timeout" value and notification behavior upon starting a new query (I tried notifying only if two keys had been typed since the last notification, it didn't feel better). BUG=none TEST=see above Review URL: http://codereview.chromium.org/149659 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21322 0039d316-1c4b-4281-b951-d872f2087c98
* Nasty short-term hack to special case display of dialogaa@chromium.org2009-07-225-31/+65
| | | | | | | | | | | | | | | on theme installation. It should not be displayed if the theme was installed from our gallery URL. I intend to fix this very soon, but I wanted it to make this coming build, so I did this quick thing for now. Also, I found another bug in ExtensionsService install logic. There was a test, it was ensuring the wrong behavior :(. Review URL: http://codereview.chromium.org/155936 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21321 0039d316-1c4b-4281-b951-d872f2087c98
* gtk: Keep track of the tab bounds using the size-allocate signal. ↵jhawkins@chromium.org2009-07-222-7/+29
| | | | | | | | | | Previously we assumed that the tab was immediately sized as requested, which was not always happening. This fixes a problem seen in RTL layout where the close button would be incorrectly positioned. BUG=16756 TEST=Open the browser in a RTL language. Notice that the close buttons on tabs are positioned correctly. Review URL: http://codereview.chromium.org/155942 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21320 0039d316-1c4b-4281-b951-d872f2087c98
* Fix broken build because of r21317hclam@google.com2009-07-221-13/+16
| | | | | | | | TBR=scherkus, nsylvain Review URL: http://codereview.chromium.org/159226 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21319 0039d316-1c4b-4281-b951-d872f2087c98
* Ignore errors about creating audio output streamhclam@chromium.org2009-07-222-5/+7
| | | | | | | | | | | | | | | Instead of failing the media playback pipeline completely, this change will ignores all errors reported by the browser about audio output streams. This is the first step towards handling audio hardware errors. TEST=MediaTest.VideoBearTheora Review URL: http://codereview.chromium.org/159205 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21318 0039d316-1c4b-4281-b951-d872f2087c98
* Additional test to exploit memory leaks in <video>hclam@google.com2009-07-222-10/+58
| | | | | | | | | | | | | TEST=MediaLeakTest.ManyVideoBear This test inject and remove a <video> element many (50) times. Trying to exploit memory leaks during the creation and destruction of the internal media player and the glue code with WebKit. Review URL: http://codereview.chromium.org/159204 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21317 0039d316-1c4b-4281-b951-d872f2087c98
* Update expected test failures for WebKit merge r46143:46194.paul@chromium.org2009-07-221-8/+8
| | | | | | | | | | TBR=darin BUG=None TEST=None Review URL: http://codereview.chromium.org/159223 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21316 0039d316-1c4b-4281-b951-d872f2087c98
* Use ld.orig if present to build valgrind rather than making user switch back ↵dkegel@google.com2009-07-221-2/+13
| | | | | | | | | | | to ld.orig manually. BUG=https://bugs.kde.org/show_bug.cgi?id=193413 TEST=script should build working valgrind even if user installed gold with install-build-deps.sh Review URL: http://codereview.chromium.org/159218 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21315 0039d316-1c4b-4281-b951-d872f2087c98
* Remove 1px of grey at the bottom of the render view.phajdan.jr@chromium.org2009-07-221-2/+7
| | | | | | | | | | | It was a part of extension shelf not hiding fully. TEST=On Linux, open any website with links and mouse hover over any link. There should be no gap between the status bubble and the bottom of the window. http://crbug.com/17324 Review URL: http://codereview.chromium.org/155934 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21314 0039d316-1c4b-4281-b951-d872f2087c98
* Step 2 in abstracting Extension APIs to shared "IDL".rafaelw@chromium.org2009-07-2216-484/+743
| | | | | | | | | | In this step, all "normal" async extension apis have been pulled out into extension_api.json which is loaded in the renderer, and dynamic bindings are created for extension functions & events in extension_process_bindings.js. R=aa Review URL: http://codereview.chromium.org/155741 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21313 0039d316-1c4b-4281-b951-d872f2087c98
* This CL fixes issue 2780 -- RTL: Omnibar - message "Press Tab to search ↵xji@chromium.org2009-07-222-35/+38
| | | | | | | | | | | | | | | | | Google" doesn't show correctly in a "New Tab" for RTL locales Because of the bug in PosFromChar() (see bug report for detailed information), we actually calculate the width of the string ourselves using font.GetStringWidth(). BUG=http://crbug.com/2780 TEST= 1 Start Chrome with a *new user data directory* and make sure the UI language is Hebrew. 2 Type www.google.com in the omnibox and press Enter. 3 Close and re-open the browser. 4 Type character "h" in Ominibox 5 Message "Press Tab to search Google" should show correctly, not only "Tab" is displayed Review URL: http://codereview.chromium.org/155789 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21312 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: add support for tm_zone to localtime via the sandbox.agl@chromium.org2009-07-222-8/+21
| | | | | | | | | | | | | | | | Glibc adds a field to struct tm, tm_zone, which contains a pointer to a string for the current time zone. Since this makes struct tm a non-POD data type, it only works for the non-thread-safe localtime() call, not localtime_r(). However, V8 relies on it so this patch adds support for passing it through our sandbox. BUG=17458 http://codereview.chromium.org/159216 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21311 0039d316-1c4b-4281-b951-d872f2087c98
* [Mac] Don't handle up/down-arrow unless popup is visible.shess@chromium.org2009-07-222-8/+18
| | | | | | | | | | http://crbug.com/17013 TEST=Browse to www.google.com. Click in the field. Up-arrow should go to beginning of line, down-arrow to end. Review URL: http://codereview.chromium.org/155871 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21310 0039d316-1c4b-4281-b951-d872f2087c98
* Give slightly more helpful error message if gold is present.dkegel@google.com2009-07-221-1/+1
| | | | | | | | | | | We should fix valgrind to build properly with gold; it might be too hard. BUG=https://bugs.kde.org/show_bug.cgi?id=193413 TEST=valgrind /bin/true should not fail Review URL: http://codereview.chromium.org/159217 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21309 0039d316-1c4b-4281-b951-d872f2087c98
* Make double-clicking on the tab strip minimize (i.e., "miniaturize") thepinkerton@chromium.org2009-07-222-13/+49
| | | | | | | | window. Patch from viettrungluu@gmail.com (Viet-Trung Luu). BUG=12286 TEST=double-clicking tab strip and anything that may have regressed in bug 12505 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21308 0039d316-1c4b-4281-b951-d872f2087c98
* Gtk cookie manager part 1.mattm@chromium.org2009-07-227-228/+776
| | | | | | | | | | | | (Doesn't display cookie details, otherwise working.) BUG=11507 TEST=All cookie manager functions should work as expected, other than viewing the cookie details. Review URL: http://codereview.chromium.org/159187 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21307 0039d316-1c4b-4281-b951-d872f2087c98
* Put tests that depend on the application language pref into antc@google.com2009-07-221-21/+26
| | | | | | | | | TBR=jshin Review URL: http://codereview.chromium.org/155933 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21306 0039d316-1c4b-4281-b951-d872f2087c98
* Load Mac download shelf icons asynchronously.paul@chromium.org2009-07-225-11/+61
| | | | | | | | | BUG=16226 (http://crbug.com/16226) TEST=none. Review URL: http://codereview.chromium.org/155831 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21305 0039d316-1c4b-4281-b951-d872f2087c98
* gtk: Only accept text/uri-list drops in the tab strip. We were accepting ↵jhawkins@chromium.org2009-07-221-4/+2
| | | | | | | | | | text/plain before, which was giving us the html for a dragged image instead of the url of the image. BUG=16165 TEST=Go to google.com. Drag the Google logo into the tabstrip. The image should open up in a new tab (or the current tab, depending on the drop). Review URL: http://codereview.chromium.org/159212 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21304 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: make --renderer-startup-dialog work on Linux.agl@chromium.org2009-07-221-2/+14
| | | | | | | | | | | | | | | | This is needed, along with --enable-sandbox-debugging, to debug SUID sandboxed renderers. With this patch, one can run: ./out/Debug/chrome --enable-sandbox-debugging --renderer-startup-dialog Then, in GDB, attach to the PID which is printed to stderr and continue. Then send SIGUSR1 to the PID to resume the renderer. http://codereview.chromium.org/159211 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21303 0039d316-1c4b-4281-b951-d872f2087c98
* Remove suppression for RendererSecurityPolicy leak, which seems to be fixed.phajdan.jr@chromium.org2009-07-221-8/+0
| | | | | | | | | TEST=none BUG=10738 Review URL: http://codereview.chromium.org/159210 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21302 0039d316-1c4b-4281-b951-d872f2087c98
* disable L10nUtilTest.GetAppLocale while I debug the linxu failuretc@google.com2009-07-221-1/+1
| | | | | | | | | TBR=estade Review URL: http://codereview.chromium.org/155932 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21301 0039d316-1c4b-4281-b951-d872f2087c98
* Fix trackpad scrolling issues where scroll events with 0 were sent.avi@chromium.org2009-07-221-9/+12
| | | | | | | | | BUG=http://crbug.com/12283 TEST=as described in bug Review URL: http://codereview.chromium.org/159098 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21300 0039d316-1c4b-4281-b951-d872f2087c98
* Change bilinear interpolation to lanczos resampling,yux@google.com2009-07-226-599/+672
| | | | | | | and update related unit tests and selenium reference img. Review URL: http://codereview.chromium.org/159180 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21299 0039d316-1c4b-4281-b951-d872f2087c98
* linux: generate a manpageevan@chromium.org2009-07-223-0/+106
| | | | | | | | This is not intended to be complete; hopefully we can iterate from here. Review URL: http://codereview.chromium.org/159198 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21298 0039d316-1c4b-4281-b951-d872f2087c98
* Remove a redundant test.wtc@chromium.org2009-07-221-1/+1
| | | | | | | | | R=willchan BUG=none TEST=none Review URL: http://codereview.chromium.org/155906 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21297 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a FORWARD_NULL defect reported by Coverity.wtc@chromium.org2009-07-221-16/+16
| | | | | | | | | | | | | In ChromeClientImpl::focus(), we need to do a null check for 'delegate' before calling delegate->FocusAccessibilityObject(). R=klink BUG=http://crbug.com/17101 TEST=none Review URL: http://codereview.chromium.org/159182 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21296 0039d316-1c4b-4281-b951-d872f2087c98
* Only check --lang and the app language pref on Windows. Theytc@google.com2009-07-222-6/+52
| | | | | | | | | | | | | | | | don't make sense on Linux/Mac so disable them. I think we don't want to have a app language option on Linux since the standard way to do this is to use LANG or LC_ALL. Update the locale ui test to set LC_ALL on Linux. BUG=15359 Review URL: http://codereview.chromium.org/155819 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21295 0039d316-1c4b-4281-b951-d872f2087c98
* Linux/Mac: Use _exit() instead of exit() in the child after fork() in ↵mdm@chromium.org2009-07-221-3/+3
| | | | | | | | | | | failure conditions. BUG=17329 TEST=none Review URL: http://codereview.chromium.org/159201 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21294 0039d316-1c4b-4281-b951-d872f2087c98
* Bookmark Bar Add Folder / Rename Folder dialog and controller.jrg@chromium.org2009-07-229-20/+671
| | | | | | | | | | | | TEST=Right click on bar --> Add Folder... Type a name and it shows up as a folder in the bookmark bar. (You can't do anything with it yet; sorry). Right click on folder name --> Edit... Make sure you can rename the folder. Review URL: http://codereview.chromium.org/159183 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21293 0039d316-1c4b-4281-b951-d872f2087c98
* Fix FORWARD_NULL defects reported by Coverity. We shouldwtc@chromium.org2009-07-222-3/+3
| | | | | | | | | | | also return an error if argv is NULL. R=rvargas BUG=http://crbug.com/17101 TEST=none Review URL: http://codereview.chromium.org/155904 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21292 0039d316-1c4b-4281-b951-d872f2087c98
* Disable video-src-set since it is flaky.ajwong@chromium.org2009-07-221-0/+4
| | | | | | | | | BUG:13907 TEST: The one I'm disabling. Review URL: http://codereview.chromium.org/155878 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21291 0039d316-1c4b-4281-b951-d872f2087c98
* Patch from timur. Properly terminate XML output document in case of an exec. dkegel@google.com2009-07-222-1/+41
| | | | | | | | | | | | | This makes the python scripts happier. Also add some safeguards against building valgrind with gold, which generates a broken valgrind. BUG=17453 TEST=build and install new valgrind; sh tools/valgrind/chrome_tests.sh -t base, verify no "valgrind did not finish" warnings Review URL: http://codereview.chromium.org/159200 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21290 0039d316-1c4b-4281-b951-d872f2087c98
* The ExternalTabContainer object which implements the TabContentsDelegate ↵ananta@chromium.org2009-07-222-1/+27
| | | | | | | | | | | | | | interface now implements the ShowHtmlDialog function which is needed to support HTML dialog popups like those displayed by Gears.' Fixes http://b/issue?id=1963582 Bug=1963582 Review URL: http://codereview.chromium.org/159162 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21289 0039d316-1c4b-4281-b951-d872f2087c98
* Fix line endings doc files.rafaelw@chromium.org2009-07-227-486/+486
| | | | | | | | TBR Review URL: http://codereview.chromium.org/155927 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21288 0039d316-1c4b-4281-b951-d872f2087c98
* Merged FilterHostImpl into PipelineInternal as it was no longer needed and ↵scherkus@chromium.org2009-07-225-238/+110
| | | | | | | | | | | | | | | added complexity. PipelineInternal now directly implements FilterHost and uses an std::map to safely cast from MediaFilter to specialized filter subclasses. PipelineImpl also provides the same set of functions as FilterHost to allow PiplineInternal to acquire the lock and safely update data. BUG=17107 TEST=media_unittests should still pass Review URL: http://codereview.chromium.org/155739 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21287 0039d316-1c4b-4281-b951-d872f2087c98
* Make DND use the anchor name.arv@google.com2009-07-221-1/+2
| | | | | | | | | | | | BUG=17408 TEST=Drag a thumbnail from the NNTP to your desktop of your bookmakrs bar. The title should be used. Review URL: http://codereview.chromium.org/159184 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21286 0039d316-1c4b-4281-b951-d872f2087c98
* gtk: Fix a regression from r20404 which keeps a drag into the tabstrip from ↵jhawkins@chromium.org2009-07-222-27/+34
| | | | | | | | | | working. Only destroy the container widget and not the drop info itself when the drag leaves the tab strip; otherwise, we'll lose the drop information used to open the link. BUG=none TEST=Drag a link into the tab strip. The drop arrow should appear and disappear as the mouse enters and leaves the tab strip. Drop the link into the tab strip. The link should be opened in the new tab (or the current tab). Review URL: http://codereview.chromium.org/159178 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21285 0039d316-1c4b-4281-b951-d872f2087c98
* Make scrollbars and other controls tint/untint upon main window gainingthakis@chromium.org2009-07-2217-1/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | focus on Mac. This entails the following: - getting notifications that the main window has become or lost key window status (in BrowserWindowController) [new] - ... which tells the RenderWidgetHostView(Mac) to (de)activate [new] - ... which tells the RenderWidgetHost to (de)activate [new] - ... which sends a ViewMsg_SetActive message [new message] to the RenderView [new] - ... which tells the WebView(Impl) to (de)activate [new] - ... which tells its page()'s FocusController to (de)activate [new] - ... which is now in WebKit-land. N.B.: "Activate" is the nomenclature used in WebKit; "focus"/"blur" can sometimes (kind of) mean the same thing, but is ambiguous, since "focus" has a more specific meaning. Added a WebView unit test, which currently only tests to make sure that SetActive() (and IsActive() [also new]) work correctly. The changes to the other classes aren't very testable since they don't actually do anything (other than pass things along). BUG=12507 TEST=webkit/glue/webkit_unittest.cc Patch by viettrungluu@gmail.com (see http://codereview.chromium.org/159048 ), r=avi git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21284 0039d316-1c4b-4281-b951-d872f2087c98
* Make sure installer_util_string is always built beforensylvain@chromium.org2009-07-221-6/+15
| | | | | | | | | | | | | installer_util. It was triggering a bug in Incredibuild. By making one of the dependent of install_util a dummy_executable, and making this dummy_executable depends on installer_utils_strings, the odds that it triggers a bug is a lot smaller. I tried 6 clobber builds so far and none of them failed. Review URL: http://codereview.chromium.org/155923 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21283 0039d316-1c4b-4281-b951-d872f2087c98
* Remove some bogus includes.darin@chromium.org2009-07-224-10/+4
| | | | | | | | | | BUG=none TEST=none R=jorlow Review URL: http://codereview.chromium.org/155898 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21282 0039d316-1c4b-4281-b951-d872f2087c98
* Update expected test failures after WebKit merge r46143:46194paul@chromium.org2009-07-221-1/+1
| | | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/155901 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21281 0039d316-1c4b-4281-b951-d872f2087c98
* Add a custom subclass of GTMUILocalizer that skips the bundle work so we can ↵thomasvl@chromium.org2009-07-223-5/+56
| | | | | | | | | | | | directly use these from nib files without some extra overhead. Updated the generator to make things based off this subclass. TEST=none BUG=16764 Review URL: http://codereview.chromium.org/159197 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21280 0039d316-1c4b-4281-b951-d872f2087c98
* These are gyp file changes that start to make the Mac GYP build work.gspencer@google.com2009-07-2212-35/+69
| | | | | | | | It still doesn't but I want to checkpoint these changes. Review URL: http://codereview.chromium.org/155890 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21279 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "linux: generate a manpage"evan@chromium.org2009-07-222-90/+0
| | | | | | | This reverts commit r21277, since it failed on the scons build for reasons totally opaque to me. :~( git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21278 0039d316-1c4b-4281-b951-d872f2087c98
* linux: generate a manpageevan@chromium.org2009-07-222-0/+90
| | | | | | | | This is not intended to be complete; hopefully we can iterate from here. Review URL: http://codereview.chromium.org/159198 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21277 0039d316-1c4b-4281-b951-d872f2087c98
* Limit total number of sockets in the system.phajdan.jr@chromium.org2009-07-228-91/+441
| | | | | | | | | | Based on Eric Roman's patch at http://codereview.chromium.org/62181 http://crbug.com/15093 Review URL: http://codereview.chromium.org/149027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21276 0039d316-1c4b-4281-b951-d872f2087c98
* Remove suppression for gtk_window_add_accel_group in ↵phajdan.jr@chromium.org2009-07-221-11/+0
| | | | | | | | | | | | BrowserWindowGtk::ConnectAccelerators. The leak seems to no longer exist. http://crbug.com/16153 Review URL: http://codereview.chromium.org/159149 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21275 0039d316-1c4b-4281-b951-d872f2087c98
* When --gtest_filter is specified, we need to ignore the batch index, ↵erikkay@google.com2009-07-221-0/+4
| | | | | | | | | | | | | otherwise you wind up being unable to run your specific test. BUG=none TEST=none TBR=huanr Review URL: http://codereview.chromium.org/159195 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21274 0039d316-1c4b-4281-b951-d872f2087c98
* Kill popups when scrolling.avi@chromium.org2009-07-221-0/+16
| | | | | | | | | BUG=http://crbug.com/17376 TEST=as in bug Review URL: http://codereview.chromium.org/155875 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21273 0039d316-1c4b-4281-b951-d872f2087c98