summaryrefslogtreecommitdiffstats
path: root/chrome/browser/printing
Commit message (Collapse)AuthorAgeFilesLines
* Use service process to collect printers.vitalybuka@chromium.org2014-03-272-21/+36
| | | | | | | | | | | | Connector could have list of print servers in "Service State" file, so it could operate on different printers list. CUPS connector uses different printer name format than printing PrintBackendCUPS. BUG=350235 NOTRY=true Review URL: https://codereview.chromium.org/208653010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259930 0039d316-1c4b-4281-b951-d872f2087c98
* Remove window/host accessors from WindowEventDispatcher. ↵ben@chromium.org2014-03-201-1/+1
| | | | | | | | | | | Include-What-You-Use for WindowTreeHost. TBR=sky@chromium.org http://crbug.com/308843 Review URL: https://codereview.chromium.org/196383014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258401 0039d316-1c4b-4281-b951-d872f2087c98
* Split ExtensionWebContentsObserver into base and Chrome implementationsjamescook@chromium.org2014-03-201-2/+2
| | | | | | | | | | | | | | | | | | | | | This allows app_shell to use a simplified ExtensionWebContentsObserver while Chrome maintains its more complex version. * Move ExtensionWebContentsObserver to src/extensions * Introduce ChromeExtensionWebContentsObserver * Delegate out observer creation from ExtensionHost Removing this dependency on Chrome will allow ExtensionHost to move into src/extensions and break another app_shell -> Chrome dependency. BUG=321341 TEST=browser_tests ErrorConsole* and Extension* TBR=stevenjb@chromium.org for mechanical changes to chrome/browser/chromeos TBR=msw@chromium.org for mechanical changes to chrome/browser/ui Review URL: https://codereview.chromium.org/205243004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258372 0039d316-1c4b-4281-b951-d872f2087c98
* ChromeVox works on print preview page.dzhioev@chromium.org2014-03-191-1/+4
| | | | | | | | | BUG=320767 TEST=manually Review URL: https://codereview.chromium.org/204563003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258074 0039d316-1c4b-4281-b951-d872f2087c98
* Run ContentMain in a browser_test's browser process. This removes ↵jam@chromium.org2014-03-181-0/+7
| | | | | | | | | | | | | duplication of code in the browser test harness for setting up the browser process, and also ensures that initialization code in ContentMainRunner runs. Most of the changes are to unit tests which run in browser test executables. These were getting all the setup that these binaries did for browser tests even though they were unit tests. Now they have to explicitly setup objects that they need. This would be done automatically if they were in a unit test binary and therefore using the unit test harness. The goal should be to move these tests to unit test binaries, and make them support launching some tests in separate processes building on the work that Pawel did. BUG=350550 R=sky@chromium.org Review URL: https://codereview.chromium.org/190663012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@257597 0039d316-1c4b-4281-b951-d872f2087c98
* Move some functions in test_file_util to base namespace.brettw@chromium.org2014-03-171-1/+1
| | | | | | | | | R=viettrungluu@chromium.org TBR=viettrungluu Review URL: https://codereview.chromium.org/200883002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@257515 0039d316-1c4b-4281-b951-d872f2087c98
* Move CommandLine to base namespace.brettw@chromium.org2014-03-171-2/+2
| | | | | | | | | | | | Fix all forward-declares and header files referencing CommandLine. This keeps a "using base::CommandLine" in the command line header file so that the rest of the source files can be changes in a follow-up. TBR=sky Review URL: https://codereview.chromium.org/196413016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@257514 0039d316-1c4b-4281-b951-d872f2087c98
* Move clients of BrowserContextKeyedService to use KeyedService (#4)blundell@chromium.org2014-03-145-10/+9
| | | | | | | | | | | | | This change covers: - //components - Roughly half of the remaining clients in //chrome BUG=351704 TBR=jochen Review URL: https://codereview.chromium.org/198193002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@257067 0039d316-1c4b-4281-b951-d872f2087c98
* Removes --cloud-print-delete-file.vitalybuka@chromium.org2014-03-134-24/+9
| | | | | | | | BUG=350118 Review URL: https://codereview.chromium.org/196863002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256725 0039d316-1c4b-4281-b951-d872f2087c98
* Show dialog as separate post task.vitalybuka@chromium.org2014-03-123-7/+20
| | | | | | | | | | Dialog runs nested loop and can destroy data necessary for caller. BUG=350537 Review URL: https://codereview.chromium.org/194383002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256634 0039d316-1c4b-4281-b951-d872f2087c98
* Get rid of multiprocess_test's debug_on_start arguments.viettrungluu@chromium.org2014-03-091-7/+5
| | | | | | | | | | | (It was only ever given a "true" value once, and even that seemed dubious.) R=phajdan.jr@chromium.org TBR=darin@chromium.org, jeremy@chromium.org Review URL: https://codereview.chromium.org/191483002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@255801 0039d316-1c4b-4281-b951-d872f2087c98
* Removing unused --print-raster switch.vitalybuka@chromium.org2014-03-071-2/+1
| | | | | | | | | BUG=133527 NOTRY=true Review URL: https://codereview.chromium.org/186173002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@255477 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the MultiProcessTest::SpawnChild() that as an fds_to_map argument.viettrungluu@chromium.org2014-03-061-1/+3
| | | | | | | | | | | It's POSIX-only and redundant. R=phajdan.jr@chromium.org TBR=brettw@chromium.org,jam@chromium.org,gene@chromium.org Review URL: https://codereview.chromium.org/187993002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@255289 0039d316-1c4b-4281-b951-d872f2087c98
* Window ownership -> WindowTreeHostben@chromium.org2014-03-041-1/+1
| | | | | | | | | | | | | Replaces Window::GetDispatcher with Window::GetHost(). Had to clear ScreenPositionClient property prior to window teardown as tests on desktop delete it prior to destroying the window hierarchy. Unhooking the property appears to have no ill-effect. R=sky@chromium.org http://crbug.com/308843 Review URL: https://codereview.chromium.org/184903003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254642 0039d316-1c4b-4281-b951-d872f2087c98
* Move render_view_context_menu.* and related files out of tab_contents.lazyboy@chromium.org2014-02-271-1/+1
| | | | | | | | | | | Move it to a top level directory under called c/b/context_menu/* BUG=None Test=No functionality change Review URL: https://codereview.chromium.org/178193005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253786 0039d316-1c4b-4281-b951-d872f2087c98
* Allow MessageFilters to restrict listening to specific message classesjdduke@chromium.org2014-02-261-1/+2
| | | | | | | | | | | | | | | | | | | | ChannelProxy currently offers messages to all member MessageFilters. It turns out that a good portion of the most common message types will never be filtered, making the O(N) filter walk an unnecessary affair. To prevent this, allow MessageFilters to indicate which (if any) subset of message classes they may filter, allowing the ChannelProxy to refine the list of filters that are offered a particular message. This saves ~35us per message received on the browser IO thread for a typical Android device. Relanding with a few more guards for MessageFilter removal, access and message class subscription. BUG=340881 TBR=asargent@chromium.org Review URL: https://codereview.chromium.org/142923005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253361 0039d316-1c4b-4281-b951-d872f2087c98
* Rename Start/EndKeepAlive to Increment/DecrementKeepAliveCountjamescook@chromium.org2014-02-251-3/+3
| | | | | | | | | | | Keep alive is implemented as a reference count. This name makes it clear that a call to EndKeepAlive does not immediately end keep-alive, which came up in code review. BUG=345918 TEST=compiles, no functional changes Review URL: https://codereview.chromium.org/176363002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253165 0039d316-1c4b-4281-b951-d872f2087c98
* Move root_window.* to window_event_dispatcher.*ben@chromium.org2014-02-211-1/+1
| | | | | | | | | http://crbug.com/308843 TBR=sky@chromium.org Review URL: https://codereview.chromium.org/174803002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@252651 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Allow MessageFilters to restrict listening to specific message classes"jdduke@chromium.org2014-02-211-2/+1
| | | | | | | | | | | | | This reverts commit 2955e4e3c747fd4aa3c227d6c4e4c698cf31b3c4. Reason for revert: Frequent crashes on Windows. BUG=345368 TBR= Review URL: https://codereview.chromium.org/165333004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@252428 0039d316-1c4b-4281-b951-d872f2087c98
* Allow MessageFilters to restrict listening to specific message classesjdduke@chromium.org2014-02-161-1/+2
| | | | | | | | | | | | | | | | | ChannelProxy currently offers messages to all member MessageFilters. It turns out that a good portion of the most common message types will never be filtered, making the O(N) filter walk an unnecessary affair. To prevent this, allow MessageFilters to indicate which (if any) subset of message classes they may filter, allowing the ChannelProxy to refine the list of filters that are offered a particular message. This saves ~35us per message received on the browser IO thread for a typical Android device. BUG=340881 TBR=asargent@chromium.org Review URL: https://codereview.chromium.org/142923005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251622 0039d316-1c4b-4281-b951-d872f2087c98
* Changed RefCountedStaticMemory() to accept a void pointer.joaoe@opera.com2014-02-121-2/+1
| | | | | | | | | | | Using a void pointer saves lots of redundant casting. Also added RefCountedMemory front_as<type> which saves typing by not having to wrap each call with a reinterpret_cast<>. Review URL: https://codereview.chromium.org/126103003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@250808 0039d316-1c4b-4281-b951-d872f2087c98
* Fix crashe in PrintJob if Stop() called twice.vitalybuka@chromium.org2014-02-122-8/+3
| | | | | | | | BUG=342398 Review URL: https://codereview.chromium.org/144463018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@250676 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Move kChromeUIScheme constant into content namespace.tfarina@chromium.org2014-02-111-1/+1
| | | | | | | | | | BUG=None TEST=None, no functional changes TBR=jam@chromium.org Review URL: https://codereview.chromium.org/149643010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@250244 0039d316-1c4b-4281-b951-d872f2087c98
* Don't run internal message loop from PrintJob::ControlledWorkerShutdown()vitalybuka@chromium.org2014-02-083-71/+25
| | | | | | | | | | | | | | | | | If loops is running, and render is closed, the RenderViewHostImpl that called ControlledWorkerShutdown is going to be destroyed. So RenderViewHostImpl crashes immediately after returning from ControlledWorkerShutdown. Solution it to use delayed messages instead of nested loop. BUG=313274 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=249561 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=249608 Review URL: https://codereview.chromium.org/136733005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249896 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 249608 "Don't run internal message loop from PrintJob::Co..."vitalybuka@chromium.org2014-02-073-26/+71
| | | | | | | | | | | | | | | | | | | | | > Don't run internal message loop from PrintJob::ControlledWorkerShutdown() > > If loops is running, and render is closed, the RenderViewHostImpl that called ControlledWorkerShutdown is going to be destroyed. So RenderViewHostImpl crashes immediately after returning from ControlledWorkerShutdown. > > Solution it to use delayed messages instead of nested loop. > > BUG=313274 > NOTRY=true > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=249561 > > Review URL: https://codereview.chromium.org/136733005 TBR=vitalybuka@chromium.org Review URL: https://codereview.chromium.org/157223003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249611 0039d316-1c4b-4281-b951-d872f2087c98
* Don't run internal message loop from PrintJob::ControlledWorkerShutdown()vitalybuka@chromium.org2014-02-073-71/+26
| | | | | | | | | | | | | | | If loops is running, and render is closed, the RenderViewHostImpl that called ControlledWorkerShutdown is going to be destroyed. So RenderViewHostImpl crashes immediately after returning from ControlledWorkerShutdown. Solution it to use delayed messages instead of nested loop. BUG=313274 NOTRY=true Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=249561 Review URL: https://codereview.chromium.org/136733005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249608 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 249561 "Don't run internal message loop from PrintJob::Co..."piman@chromium.org2014-02-072-20/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | > Don't run internal message loop from PrintJob::ControlledWorkerShutdown() > > If loops is running, and render is closed, the RenderViewHostImpl that called ControlledWorkerShutdown is going to be destroyed. So RenderViewHostImpl crashes immediately after returning from ControlledWorkerShutdown. > > Solution it to use delayed messages instead of nested loop. > > BUG=313274 > NOTRY=true > > Review URL: https://codereview.chromium.org/136733005 Suspect CL for http://build.chromium.org/p/chromium.win/builders/Win7%20Tests%20%28dbg%29%281%29/builds/26310/steps/unit_tests/logs/stdio [ RUN ] PrintJobTest.SimplePrint c:\b\build\slave\cr-win-dbg\build\src\chrome\browser\printing\print_job_unittest.cc(110): error: Value of: job->is_stopping() Actual: false Expected: true [ FAILED ] PrintJobTest.SimplePrint (218 ms) TBR=vitalybuka@chromium.org Review URL: https://codereview.chromium.org/150653005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249585 0039d316-1c4b-4281-b951-d872f2087c98
* Don't run internal message loop from PrintJob::ControlledWorkerShutdown()vitalybuka@chromium.org2014-02-072-39/+20
| | | | | | | | | | | | | If loops is running, and render is closed, the RenderViewHostImpl that called ControlledWorkerShutdown is going to be destroyed. So RenderViewHostImpl crashes immediately after returning from ControlledWorkerShutdown. Solution it to use delayed messages instead of nested loop. BUG=313274 NOTRY=true Review URL: https://codereview.chromium.org/136733005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249561 0039d316-1c4b-4281-b951-d872f2087c98
* Check for possibility of NULL WebUI returns in PrintPreviewDialogController.tsepez@chromium.org2014-01-241-12/+18
| | | | | | | | | | | This is a case that is easily hit with the IPC fuzzer, and is easy to handle. Fixing this helps the testcases to run further. BUG=337535 Review URL: https://codereview.chromium.org/131343005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246948 0039d316-1c4b-4281-b951-d872f2087c98
* Removes MessageLoop::Type checks in favor of IsCurrent on MessageLoops.sky@chromium.org2014-01-202-2/+2
| | | | | | | | | | | | This is part of removing the MessageLoop::Type enum. BUG=none TEST=none R=darin@chromium.org Review URL: https://codereview.chromium.org/141683005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245882 0039d316-1c4b-4281-b951-d872f2087c98
* Allows gtk2 printing dialog in Linux-Aura.mukai@chromium.org2014-01-144-12/+65
| | | | | | | | | | | | | | | | A todo is the parent/dialog relationship. Right now print_dialog_gtk2 creates the dialog with NULL parent, so the dialog can move under the browser window. We need to do something similar to select_file_dialog_impl_gtk2.cc BUG=317882 R=erg@chromium.org, thestig@chromium.org, vitalybuka@chromium.org TEST=manually Review URL: https://codereview.chromium.org/135163003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244734 0039d316-1c4b-4281-b951-d872f2087c98
* Replace signin dialog with browser tab.vitalybuka@chromium.org2014-01-144-99/+84
| | | | | | | | | | This should resolve unexpected behaivour user click links of sign in window. BUG=332294 Review URL: https://codereview.chromium.org/131193009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244721 0039d316-1c4b-4281-b951-d872f2087c98
* Remove render process and WebContents notifications from background printing.avi@chromium.org2014-01-112-137/+71
| | | | | | | | | BUG=170921 TEST=everything still works, bug 100806 doesn't regress Review URL: https://codereview.chromium.org/133013002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244391 0039d316-1c4b-4281-b951-d872f2087c98
* Remove notifications from PrintPreviewDialogController.avi@chromium.org2014-01-074-151/+168
| | | | | | | | | BUG=170921 TEST=everything still works Review URL: https://codereview.chromium.org/124673002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@243252 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the speculative resource prefetching code. This was experimental code ↵jam@chromium.org2014-01-061-7/+0
| | | | | | | | | | | added 1.5 years ago and not used for the last year. BUG=164207,304341 R=cbentzel@chromium.org Review URL: https://codereview.chromium.org/117933003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@243098 0039d316-1c4b-4281-b951-d872f2087c98
* Update some uses of UTF conversions in chrome/browser to use the base:: ↵avi@chromium.org2013-12-242-6/+6
| | | | | | | | | | | | namespace. BUG=330556 TEST=no change TBR=ben@chromium.org Review URL: https://codereview.chromium.org/106543008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@242453 0039d316-1c4b-4281-b951-d872f2087c98
* Update some uses of Value in chrome/browser to use the base:: namespace.avi@chromium.org2013-12-238-40/+47
| | | | | | | | | | BUG=88666 TEST=no change TBR=ben@chromium.org Review URL: https://codereview.chromium.org/113013003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@242399 0039d316-1c4b-4281-b951-d872f2087c98
* Stop using GetDefaultProfile() in CreatePrintDialogFromCommandLine()hashimoto@chromium.org2013-12-132-6/+7
| | | | | | | | | | BUG=322682 TEST=chrome --cloud-print-file=foo.pdf R=gene@chromium.org, sky@chromium.org Review URL: https://codereview.chromium.org/109613005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@240593 0039d316-1c4b-4281-b951-d872f2087c98
* Replace string16 with base::string16 in chrome/browserbrettw@chromium.org2013-12-123-3/+3
| | | | | | | | TBR=sky Review URL: https://codereview.chromium.org/112993002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@240447 0039d316-1c4b-4281-b951-d872f2087c98
* Skip TestingBrowserProcess creation in browser_testsjamescook@chromium.org2013-12-091-1/+8
| | | | | | | | | | | | | | | | Introduce ChromeUnitTestSuite, move unit test stub service creation there. Previously we created a TestingBrowserProcess at browser_test startup, then destroyed it before creating a real BrowserProcessImpl. This caused the ExtensionsBrowserClient to be created twice and caused problems with notification observers on a NotificationService that was deleted. BUG=326182 TEST=unit_tests, browser_tests Review URL: https://codereview.chromium.org/107333002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239527 0039d316-1c4b-4281-b951-d872f2087c98
* Add base namespace to some instances of string16.brettw@chromium.org2013-12-0612-61/+64
| | | | | | | | | | Adds the base:: qualifier to more instances of string16 in chrome/browser. BUG= Review URL: https://codereview.chromium.org/104043005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239257 0039d316-1c4b-4281-b951-d872f2087c98
* Move more of the plugin code in the renderer to use RenderFrame instead of ↵jam@chromium.org2013-12-061-2/+3
| | | | | | | | | | | | | RenderView. This is part of the work of making ContentRendererClient's OverrideCreatePlugin and CreatePluginReplacement take only a RenderFrame. I'm still not there yet, which is why their signatures haven't been trimmed. BUG=304341 R=fsamuel@chromium.org, nasko@chromium.org Review URL: https://codereview.chromium.org/107183002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239075 0039d316-1c4b-4281-b951-d872f2087c98
* Move GetFileSize, NormalizeFilePath to base namespacebrettw@chromium.org2013-12-041-1/+1
| | | | | | | | | BUG= R=viettrungluu@chromium.org Review URL: https://codereview.chromium.org/102873002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238722 0039d316-1c4b-4281-b951-d872f2087c98
* Move directory creation functions to base namespace.brettw@chromium.org2013-12-031-1/+1
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/100573002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238446 0039d316-1c4b-4281-b951-d872f2087c98
* Move temp file functions to base namespace.brettw@chromium.org2013-12-032-2/+2
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/99923002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238427 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Do not use wstrings in the cloud print dialog.thestig@chromium.org2013-11-233-52/+17
| | | | | | | | BUG=23581 Review URL: https://codereview.chromium.org/83203004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@236902 0039d316-1c4b-4281-b951-d872f2087c98
* Removed unused code path.vitalybuka@chromium.org2013-11-221-12/+0
| | | | | | | | | reuse_existing_data is never set true. It should be removed with https://codereview.chromium.org/26558003 Review URL: https://codereview.chromium.org/81563002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@236642 0039d316-1c4b-4281-b951-d872f2087c98
* Don't call chrome::EndKeepAlive from ↵vitalybuka@chromium.org2013-11-201-2/+5
| | | | | | | | | | | | CloudPrintWebDialogDelegate::OnDialogClosed. chrome::EndKeepAlive maycall CloudPrintWebDialogDelegate::OnDialogClosed again. BUG=321368 Review URL: https://codereview.chromium.org/76983004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@236200 0039d316-1c4b-4281-b951-d872f2087c98
* Remove some pass-thrus on RootWindow API in favor of exposing the ↵ben@chromium.org2013-11-151-2/+2
| | | | | | | | | | | RootWindowHost again. R=sky@chromium.org http://crbug.com/308843 Review URL: https://codereview.chromium.org/72503002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@235293 0039d316-1c4b-4281-b951-d872f2087c98
* Moved SimplifyDocumentTitle from printing/backendvitalybuka@chromium.org2013-11-091-3/+3
| | | | | | | | TBR=noamsml Review URL: https://codereview.chromium.org/59903019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234127 0039d316-1c4b-4281-b951-d872f2087c98