summaryrefslogtreecommitdiffstats
path: root/cloud_print
Commit message (Collapse)AuthorAgeFilesLines
* Allow Win64 build of base library even in a Win32 build.petewil@chromium.org2014-01-091-1/+1
| | | | | | | | | | | | | | | Some components of a 32 bit build of chrome for Windows need to be built as Win64 Dlls. To allow those components to use base, we make a Win64 build of the base library even when building chrome 32 bit. This is needed by the Chrome Desk Band code. crbug.com/327435. https://codereview.chromium.org/79173004/ BUG=327435 Review URL: https://codereview.chromium.org/103333004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@243936 0039d316-1c4b-4281-b951-d872f2087c98
* Update some uses of char16 to use the base:: namespace.avi@chromium.org2013-12-251-1/+1
| | | | | | | | | | BUG=329295 TEST=no change TBR=ben@chromium.org Review URL: https://codereview.chromium.org/113403006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@242503 0039d316-1c4b-4281-b951-d872f2087c98
* Update uses of Value in chromeos/, cloud_print/, components/, content/ to ↵avi@chromium.org2013-12-233-6/+6
| | | | | | | | | | | | use the base:: namespace. BUG=88666 TEST=no change TBR=ben@chromium.org Review URL: https://codereview.chromium.org/108603005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@242409 0039d316-1c4b-4281-b951-d872f2087c98
* Filter virtual network interfaces for p2p sessions.mallinath@chromium.org2013-12-191-1/+2
| | | | | | | | | | | | | For WebRTC virtual host scoped network interfaces are not useful, but if present they take processing time and webrtc applications keep sending STUN ping messages from virtual network interfaces. This CL adding a policy for net::GetNetworkList method, which allows users of the method to include or exclude these interfaces. R=agl@chromium.org,sergeyu@chromium.org TBR=bbudge@chromium.org,ananta@chromium.org Review URL: https://codereview.chromium.org/99133020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@241830 0039d316-1c4b-4281-b951-d872f2087c98
* Move cloud_print manifestdependency to external .manifest filescottmg@chromium.org2013-12-112-7/+13
| | | | | | | | | | | | | | | | | | | | | I plan (https://codereview.chromium.org/111373002/) to make manifest handling simpler in gyp. In particular, doing the manifest embedding in one pass to avoid the need to invoke the linker twice. In order to do this /manifestdependency on the linker command line needs to be removed as it creates dependencies that are only made clear by having the linker generate a manifest. In this case it's simple enough to simply use a .manifest file with the same dependency information that can be merged beforehand. So, move from .gyp linker flags to a file in AdditionalManifestFiles. R=vitalybuka@chromium.org BUG=324863 Review URL: https://codereview.chromium.org/108813005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@240189 0039d316-1c4b-4281-b951-d872f2087c98
* Add random number to A record domain for GCP prototypenoamsml@chromium.org2013-12-091-2/+7
| | | | | | | | | | | Since multiple prototypes running on the same network will collide with each other, append a random number to the domain for the A record. BUG= Review URL: https://codereview.chromium.org/98893005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239586 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed CDD.vitalybuka@chromium.org2013-12-081-35/+4
| | | | | | | | | "custom_display_name" must be set only if the "name" field is CUSTOM. Removed optional values. Review URL: https://codereview.chromium.org/108253004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239417 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 239400 "Revert 239280 "Move more file_util functions to b..."thakis@chromium.org2013-12-081-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Broke all bots 9_9 > Revert 239280 "Move more file_util functions to base namespace." > > dbus_unittests started fialing on Linux Tests (dbg)(2) and Linux Tests (dbg)(2)(32). > This CL is the only in the intersection of CLs in the first failing build on > the two builders, so giving a speculative revert a try (rlarocque already > tried a clobber, it didn't help). > > http://build.chromium.org/p/chromium.linux/builders/Linux%20Tests%20%28dbg%29%282%29/builds/41806 > http://build.chromium.org/p/chromium.linux/builders/Linux%20Tests%20%28dbg%29%282%29%2832%29/builds/8544 > > > > Move more file_util functions to base namespace. > > > > TBR=sky > > > > Review URL: https://codereview.chromium.org/109043002 > > TBR=brettw@chromium.org > > Review URL: https://codereview.chromium.org/105823009 TBR=thakis@chromium.org Review URL: https://codereview.chromium.org/100923007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239401 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 239280 "Move more file_util functions to base namespace."thakis@chromium.org2013-12-081-3/+3
| | | | | | | | | | | | | | | | | | | | | | | dbus_unittests started fialing on Linux Tests (dbg)(2) and Linux Tests (dbg)(2)(32). This CL is the only in the intersection of CLs in the first failing build on the two builders, so giving a speculative revert a try (rlarocque already tried a clobber, it didn't help). http://build.chromium.org/p/chromium.linux/builders/Linux%20Tests%20%28dbg%29%282%29/builds/41806 http://build.chromium.org/p/chromium.linux/builders/Linux%20Tests%20%28dbg%29%282%29%2832%29/builds/8544 > Move more file_util functions to base namespace. > > TBR=sky > > Review URL: https://codereview.chromium.org/109043002 TBR=brettw@chromium.org Review URL: https://codereview.chromium.org/105823009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239400 0039d316-1c4b-4281-b951-d872f2087c98
* Removed LOG(INFO) from cloud_print/gcp20/prototype.vitalybuka@chromium.org2013-12-073-21/+21
| | | | | | Review URL: https://codereview.chromium.org/103163006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239301 0039d316-1c4b-4281-b951-d872f2087c98
* Move more file_util functions to base namespace.brettw@chromium.org2013-12-071-3/+3
| | | | | | | | TBR=sky Review URL: https://codereview.chromium.org/109043002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239280 0039d316-1c4b-4281-b951-d872f2087c98
* Use base namespace for string16 in components and cloud_print.brettw@chromium.org2013-12-0619-117/+125
| | | | | | | | | R=scottbyer@chromium.org TBR=scottbyer Review URL: https://codereview.chromium.org/107383002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239255 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 RemoveChars, ReplaceChars, TrimString, and TruncateUTF8ToByteSize to ↵brettw@chromium.org2013-12-031-1/+1
| | | | | | | | | | | base namespace. BUG= R=viettrungluu@chromium.org Review URL: https://codereview.chromium.org/102843002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238465 0039d316-1c4b-4281-b951-d872f2087c98
* Move directory creation functions to base namespace.brettw@chromium.org2013-12-035-6/+6
| | | | | | | | 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-034-4/+4
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/99923002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238427 0039d316-1c4b-4281-b951-d872f2087c98
* Base: Remove Receive() from ScopedHandle.rvargas@chromium.org2013-11-282-10/+12
| | | | | | | | | | | | | | | | | | In general, the OS API contract doesn't guarantee that output variables are not modified on failure, so a Reeceive pattern is fundamentally insecure. BUG=318531 TEST=current tests tbr'ing owners for the consumers. TBR=jvoung@chromium.org, thakis@chromium.org, sergeyu@chromium.org, grt@chromium.org, gene@chromium.org, youngki@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=237459 Review URL: https://codereview.chromium.org/71013004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237675 0039d316-1c4b-4281-b951-d872f2087c98
* Revert of https://codereview.chromium.org/71013004/hashimoto@chromium.org2013-11-272-12/+10
| | | | | | | | | | | | Reason for revert: Causing compile failure in chrome_util.cc on "Google Chrome Win" http://build.chromium.org/p/chromium.chrome/builders/Google%20Chrome%20Win/builds/21803 TBR=cpu@chromium.org,jvoung@chromium.org,thakis@chromium.org,sergeyu@chromium.org,grt@chromium.org,gene@chromium.org,youngki@chromium.org,rvargas@chromium.org NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/90963002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237541 0039d316-1c4b-4281-b951-d872f2087c98
* Base: Remove Receive() from ScopedHandle.rvargas@chromium.org2013-11-272-10/+12
| | | | | | | | | | | | | | | | In general, the OS API contract doesn't guarantee that output variables are not modified on failure, so a Reeceive pattern is fundamentally insecure. BUG=318531 TEST=current tests tbr'ing owners for the consumers. TBR=jvoung@chromium.org, thakis@chromium.org, sergeyu@chromium.org, grt@chromium.org, gene@chromium.org, youngki@chromium.org Review URL: https://codereview.chromium.org/71013004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237459 0039d316-1c4b-4281-b951-d872f2087c98
* Improvements in GCP 2.0 prototype.vitalybuka@chromium.org2013-11-219-100/+134
| | | | | | | | | | Fixed path to store print jobs, path format was not compatible with windows. CDD updated with more capabilities. Save/Load CDD to state file to allow manual edits. Review URL: https://codereview.chromium.org/78713008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@236571 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed serial number, service name and firmware version of GCP 2.0 prototype.vitalybuka@chromium.org2013-11-217-58/+130
| | | | | | Review URL: https://codereview.chromium.org/77343003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@236434 0039d316-1c4b-4281-b951-d872f2087c98
* [Net] Assert that URLRequests with LOAD_IGNORE_LIMITS have MAXIMUM_PRIORITYakalin@chromium.org2013-11-141-1/+1
| | | | | | | | | | | | | | | | Also remove the priority juggling in ClientSocketPoolBaseHelper, and instead assert that any requests with ignore_limits = true also has priority = MAXIMUM_PRIORITY. BUG=166689 R=asanka@chromium.org, gene@chromium.org, jamesr@chromium.org, joaodasilva@chromium.org, mmenke@chromium.org, simonjam@chromium.org TBR=benm@chromium.org, jamesr@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=232802 Review URL: https://codereview.chromium.org/51683002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234964 0039d316-1c4b-4281-b951-d872f2087c98
* Print to Privet local printersnoamsml@chromium.org2013-11-091-2/+1
| | | | | | | | | | | This is a first iteration of printing to a Privet local printer. It only supports PDFs. PWG rasterization will be added separately. BUG=311390 Review URL: https://codereview.chromium.org/59843010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234126 0039d316-1c4b-4281-b951-d872f2087c98
* Allow printing component to be removed completelyspang@chromium.org2013-11-071-1/+5
| | | | | | | | | | | | | | Using enable_printing=0 removes all of the source files of the printing component, but has no effect on its dependencies. It is wrong to empty out the target inside the target. If printing is disabled, then the dependency on printing.gyp is not needed and can be removed. This target was causing libgcrypt to be linked even when printing was disabled. That problem goes away with this change. Review URL: https://codereview.chromium.org/62793002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233563 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 232802 "[Net] Assert that URLRequests with LOAD_IGNORE_LI..."scherkus@chromium.org2013-11-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | > [Net] Assert that URLRequests with LOAD_IGNORE_LIMITS have MAXIMUM_PRIORITY > > Also remove the priority juggling in ClientSocketPoolBaseHelper, and instead > assert that any requests with ignore_limits = true also has priority = > MAXIMUM_PRIORITY. > > BUG=166689 > R=asanka@chromium.org, gene@chromium.org, joaodasilva@chromium.org, mmenke@chromium.org, simonjam@chromium.org > TBR=benm@chromium.org, jamesr@chromium.org > > Review URL: https://codereview.chromium.org/51683002 Broke PrerenderBrowserTest.PrerenderDeferredSynchronousXHR. Running locally I was hitting a check on url_request.cc:979. TBR=akalin@chromium.org Review URL: https://codereview.chromium.org/47563006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232832 0039d316-1c4b-4281-b951-d872f2087c98
* Revert https://src.chromium.org/viewvc/chrome?view=rev&revision=231330bbudge@chromium.org2013-11-041-1/+1
| | | | | | | | | | This is a speculative revert to see if it's the cause of hanging renderers. BUG=313112 Review URL: https://codereview.chromium.org/57783006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232819 0039d316-1c4b-4281-b951-d872f2087c98
* [Net] Assert that URLRequests with LOAD_IGNORE_LIMITS have MAXIMUM_PRIORITYakalin@chromium.org2013-11-041-1/+1
| | | | | | | | | | | | | | Also remove the priority juggling in ClientSocketPoolBaseHelper, and instead assert that any requests with ignore_limits = true also has priority = MAXIMUM_PRIORITY. BUG=166689 R=asanka@chromium.org, gene@chromium.org, joaodasilva@chromium.org, mmenke@chromium.org, simonjam@chromium.org TBR=benm@chromium.org, jamesr@chromium.org Review URL: https://codereview.chromium.org/51683002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232802 0039d316-1c4b-4281-b951-d872f2087c98
* [Net] Add a priority parameter to URLRequest's constructorakalin@chromium.org2013-10-311-1/+3
| | | | | | | | | | | | | | | | | | | This is so that it is clearer what the intended initial priority of a URLRequest is. It is also needed so that we can later enforce that if a URLRequest is set to ignore limits, it has MAXIMUM_PRIORITY; otherwise, we'd have to mandate that SetPriority() is called before set_load_flags(), which is fiddly. Also standardize on a single URLRequest constructor. BUG=166689 R=jam@chromium.org, jamesr@chromium.org, joth@chromium.org, mmenke@chromium.org, scottbyer@chromium.org, sky@chromium.org, tommi@chromium.org Review URL: https://codereview.chromium.org/51953002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232219 0039d316-1c4b-4281-b951-d872f2087c98
* Make gcp20_device respond to _printer._sub._privet.local queriesnoamsml@chromium.org2013-10-314-8/+13
| | | | | | | | | | | Make the GCP2.0 prototype respond to printer subtype queries and announce itself using the printer subtype record. BUG= Review URL: https://codereview.chromium.org/52113004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232051 0039d316-1c4b-4281-b951-d872f2087c98
* Fix issue with GCP 2.0 prototypenoamsml@chromium.org2013-10-312-3/+28
| | | | | | | | | | | Fix issue where GCP 2.0 prototype stopped working due to server-side changes. Add newly-required parameters. BUG= Review URL: https://codereview.chromium.org/51853002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232049 0039d316-1c4b-4281-b951-d872f2087c98
* Remove unused IPC::Message priority.bbudge@chromium.org2013-10-281-1/+1
| | | | | | | | | | | | | | | | | Removes the PriorityValue enum and field from IPC::Message. This doesn't appear to be used anywhere. Changes the data message ctor to take a size_t data_len parameter. This works around an ambiguity problem with the main ctor, which has a similar signature and would require lots of futzing with our test code to fix. To make this work, the matching Pickle constructor is also changed to take a size_t data_len parameter. BUG=194304 Review URL: https://codereview.chromium.org/35643005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231330 0039d316-1c4b-4281-b951-d872f2087c98
* Remove abodenha from printing related ownersabodenha@chromium.org2013-10-091-1/+0
| | | | | | | | | | R=scottbyer@chromium.org NOTRY=true BUG=none Review URL: https://codereview.chromium.org/26344003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227792 0039d316-1c4b-4281-b951-d872f2087c98
* Removed NULL checks for operator new() return value.vitalybuka@chromium.org2013-10-091-26/+11
| | | | | | | | BUG=271530 Review URL: https://codereview.chromium.org/26570005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227702 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up remaining unused globals (on mac).thakis@chromium.org2013-09-261-1/+0
| | | | | | | | | | | | Found by clang's new -Wunused-const-variable. BUG=290204 R=akalin@chromium.org, jamesr@chromium.org, koz@chromium.org, piman@chromium.org, sergeyu@chromium.org, thestig@chromium.org, vitalybuka@chromium.org TBR=cpu, dmichael, joi, xhwang Review URL: https://codereview.chromium.org/24579003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@225281 0039d316-1c4b-4281-b951-d872f2087c98
* Fix incorrect checking of file_util::WriteFile() return results.thestig@chromium.org2013-09-171-2/+3
| | | | | | Review URL: https://chromiumcodereview.appspot.com/23865006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223723 0039d316-1c4b-4281-b951-d872f2087c98
* map::size() returns a size_t.jorgelo@chromium.org2013-09-071-1/+1
| | | | | | | | | BUG=None TEST=Compile with gcc. Review URL: https://chromiumcodereview.appspot.com/23935006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@221838 0039d316-1c4b-4281-b951-d872f2087c98
* test IWYU fixups for basemostynb@opera.com2013-09-031-0/+3
| | | | | | | | | | | | | These are some of the suggestions from running include-what-you-use[1] on the base target. [1] https://code.google.com/p/include-what-you-use/ BUG=259043 Review URL: https://chromiumcodereview.appspot.com/23540009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@221067 0039d316-1c4b-4281-b951-d872f2087c98
* Move ReadFileToString to the base namespace.brettw@chromium.org2013-08-304-4/+4
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/19579005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@220612 0039d316-1c4b-4281-b951-d872f2087c98
* Move ScopedClosureRunner to callback_helpers, add Reset.avi@chromium.org2013-08-302-0/+2
| | | | | | | | | | BUG=none TEST=none TBR=ben@chromium.org Review URL: https://chromiumcodereview.appspot.com/23514018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@220473 0039d316-1c4b-4281-b951-d872f2087c98
* Remove unused variable declaration.etienneb@chromium.org2013-08-211-1/+0
| | | | | | | | | | | | This issue was found by a linter. R=gene@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/22902009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@218858 0039d316-1c4b-4281-b951-d872f2087c98
* https://chromiumcodereview.appspot.com/23271004 with fixed include.vitalybuka@chromium.org2013-08-219-60/+481
| | | | | | | | TBR=gene@chromium.org Review URL: https://chromiumcodereview.appspot.com/22911028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@218702 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "GCP2.0 Device: Adding advanced printing."dominicc@google.com2013-08-209-480/+60
| | | | | | | | | | | | I believe this broke Win build: <http://build.chromium.org/p/chromium/builders/Win/builds/16915> TBR=maksymb@chromium.org BUG= Review URL: https://codereview.chromium.org/23344002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@218419 0039d316-1c4b-4281-b951-d872f2087c98
* GCP2.0 Device: Adding advanced printing.maksymb@chromium.org2013-08-209-60/+480
| | | | | | | | BUG= Review URL: https://chromiumcodereview.appspot.com/23271004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@218380 0039d316-1c4b-4281-b951-d872f2087c98
* GCP2.0 Device: Simple printing with new caps.maksymb@chromium.org2013-08-1912-65/+418
| | | | | | | | BUG= Review URL: https://chromiumcodereview.appspot.com/22985007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@218229 0039d316-1c4b-4281-b951-d872f2087c98
* GCP2.0 Device: Refactor: PrinterState is now separate from Printermaksymb@chromium.org2013-08-175-297/+368
| | | | | | | | | | Also all I/O deleted from Printer class BUG= Review URL: https://chromiumcodereview.appspot.com/22647005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@218162 0039d316-1c4b-4281-b951-d872f2087c98
* GCP2.0 Device: Local settings management.maksymb@chromium.org2013-08-1610-59/+409
| | | | | | | | BUG= Review URL: https://chromiumcodereview.appspot.com/22555003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@217989 0039d316-1c4b-4281-b951-d872f2087c98
* GCP2.0 Device: Instant AccessToken update on AuthFailed.maksymb@chromium.org2013-08-167-53/+133
| | | | | | | | | | Also, registration timeout implemented. BUG= Review URL: https://chromiumcodereview.appspot.com/22184007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@217880 0039d316-1c4b-4281-b951-d872f2087c98
* Fix crash when calling HttpServer::GetLocalAddress when there is no server sock.kkania@chromium.org2013-08-091-2/+2
| | | | | | | | | This happens when the port is already in use. BUG=none Review URL: https://chromiumcodereview.appspot.com/22368003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@216580 0039d316-1c4b-4281-b951-d872f2087c98
* GCP2.0 Device: Default responses is now multicast responses (instead of ↵maksymb@chromium.org2013-08-092-6/+6
| | | | | | | | | | unicast). BUG= Review URL: https://chromiumcodereview.appspot.com/22584003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@216513 0039d316-1c4b-4281-b951-d872f2087c98
* GCP2.0 Device: Fixed XMPP crash while closing.maksymb@chromium.org2013-08-081-10/+17
| | | | | | | | BUG= Review URL: https://chromiumcodereview.appspot.com/22331004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@216437 0039d316-1c4b-4281-b951-d872f2087c98