summaryrefslogtreecommitdiffstats
path: root/content
Commit message (Collapse)AuthorAgeFilesLines
* Android WebView: Ignore output surface resizessievers@chromium.org2013-03-061-3/+19
| | | | | | | | NOTRY=True Review URL: https://chromiumcodereview.appspot.com/12491003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186311 0039d316-1c4b-4281-b951-d872f2087c98
* Changed SoftwareOutputDevice interface.skaslev@chromium.org2013-03-062-107/+53
| | | | | | | | | | | | + Some of the necessary changes to the renderer for software compositing. BUG=124671, 161008 Review URL: https://chromiumcodereview.appspot.com/12379055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186310 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for synchronously resizing a render view for layout tests.jochen@chromium.org2013-03-0610-18/+50
| | | | | | | | | | | BUG=111316 R=piman@chromium.org TEST=fast/dom/Window/window-resize-contents.html and fast/autoresize/turn-off-autoresize.html passes Review URL: https://chromiumcodereview.appspot.com/12449003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186308 0039d316-1c4b-4281-b951-d872f2087c98
* Use ThreadSafeSender in a couple of places.michaeln@chromium.org2013-03-068-67/+73
| | | | | | | | BUG=174200 Review URL: https://chromiumcodereview.appspot.com/12330162 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186298 0039d316-1c4b-4281-b951-d872f2087c98
* Android: Add support for CompositorFrame swapssievers@chromium.org2013-03-054-25/+109
| | | | | | | | | | Needs https://codereview.chromium.org/12371002 NOTRY=True Review URL: https://chromiumcodereview.appspot.com/12389061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186278 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor libjingle.gyp:tommi@chromium.org2013-03-052-5/+5
| | | | | | | | | | | * Move code out of libjingle_p2p and libjingle_peerconnection into the libjingle lib. * Update gyp files that previously depended on libjingle_p2p to depend on libjingle. * Only the constant files are left in the extra libs (which is why they exist). * Move the webrtc code out into a separate target. Review URL: https://codereview.chromium.org/12465002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186277 0039d316-1c4b-4281-b951-d872f2087c98
* [content shell] use the permission client provided by the TestRunner for ↵jochen@chromium.org2013-03-051-0/+4
| | | | | | | | | | | | layout tests BUG=111316 R=thakis@chromium.org TEST=platform/chromium/permissionClient tests pass Review URL: https://codereview.chromium.org/12450006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186276 0039d316-1c4b-4281-b951-d872f2087c98
* Add a number of connection type fields to ExtraData instead of using the ↵rch@chromium.org2013-03-051-6/+12
| | | | | | | | | | | fields on WebURLResponse. They will be removed from WebURLResponse in: https://bugs.webkit.org/show_bug.cgi?id=111237 BUG= Review URL: https://chromiumcodereview.appspot.com/12381054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186257 0039d316-1c4b-4281-b951-d872f2087c98
* Fix for short flings (scroll snapping used wrong axes)aruslan@chromium.org2013-03-051-2/+2
| | | | | | | | | | BUG=180205 NOTRY=True Review URL: https://chromiumcodereview.appspot.com/12406012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186252 0039d316-1c4b-4281-b951-d872f2087c98
* Pepper cleanup: USE_SKIA is always true.teravest@chromium.org2013-03-051-51/+0
| | | | | | | | | | | | We always build with skia now. This change removes dead code, and unnecessary USE_SKIA guards. BUG=110881 Review URL: https://chromiumcodereview.appspot.com/12437007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186249 0039d316-1c4b-4281-b951-d872f2087c98
* Browser Plugin: Fix crash on closing Browser Appfsamuel@chromium.org2013-03-051-3/+3
| | | | | | | | | | | | BUG=180218 Test=manually TBR=fsamuel@chromium.org Review URL: https://chromiumcodereview.appspot.com/12425007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186247 0039d316-1c4b-4281-b951-d872f2087c98
* Logging: pass through logging for devtools page (although it has no UI ↵pfeldman@chromium.org2013-03-051-2/+1
| | | | | | | | bindings). Review URL: https://chromiumcodereview.appspot.com/12393045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186243 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 185146apatrick@google.com2013-03-051-55/+0
| | | | | | | | | | | | | > Windows: Automatically disable GPU sandbox when DisplayLink is installed. > > BUG=177611 > > Review URL: https://chromiumcodereview.appspot.com/12375003 TBR=apatrick@chromium.org Review URL: https://codereview.chromium.org/12467002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186234 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 186229justinlin@chromium.org2013-03-0512-257/+187
| | | | | | | | | | | | | | | Broke Win Aura builder. > Rename DumpAccesibilityTreeHelper to AccessibilityTreeFormatter, pull into content/browser. > > BUG=178756 > > > Review URL: https://chromiumcodereview.appspot.com/12389028 TBR=aboxhall@chromium.org Review URL: https://codereview.chromium.org/12459006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186233 0039d316-1c4b-4281-b951-d872f2087c98
* Rename DumpAccesibilityTreeHelper to AccessibilityTreeFormatter, pull into ↵aboxhall@chromium.org2013-03-0512-187/+257
| | | | | | | | | | | content/browser. BUG=178756 Review URL: https://chromiumcodereview.appspot.com/12389028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186229 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 186011abarth@chromium.org2013-03-051-1/+2
| | | | | | | | | | | | | | | | | | | | > Disable threaded HTML parser > > This CL disables the threaded HTML parser so that we don't promote it to the > Dev channel. Once the Dev channel build is cut, we'll revert this CL to enable > the threaded parser for Canary again. > > TBR=darin > > Review URL: https://chromiumcodereview.appspot.com/12391067 The Dev channel build has been cut. We're going to send this feature to Canary again. TBR=abarth@chromium.org Review URL: https://codereview.chromium.org/12457006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186210 0039d316-1c4b-4281-b951-d872f2087c98
* Disable some accessibility tests on Win64 buildjschuh@chromium.org2013-03-053-12/+34
| | | | | | | | BUG=179717 R=dmazzoni@chromium.org Review URL: https://codereview.chromium.org/12378095 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186199 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 186187 - crashing on Win XP browser_tests with "Access is denied".flackr@chromium.org2013-03-051-5/+4
| | | | | | | | | | | | | | | | | | | | | | | > Fix touch scaling for high dpi windows. > > Touch events in windows are always expressed in screen coordinates, even if > the target app is not dpi-aware. This patch determines the dpi scale used > by the OS, and re-scales touch events accordingly. > > In some cases the touch events are sent to the wrong window. This is detected > and corrected. > > BUG=175542 > > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=185474 > > Review URL: https://chromiumcodereview.appspot.com/12317157 TBR=girard@chromium.org Review URL: https://codereview.chromium.org/12454004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186196 0039d316-1c4b-4281-b951-d872f2087c98
* IndexedDB: Re-enable previously flaky testsjsbell@chromium.org2013-03-051-11/+2
| | | | | | | | | | | | Root cause of key-type-array (165671) believed fixed. Index tests not timing out marked as flaky (but maybe just not running?). In any case - let's give it a whirl. BUG=153064,165671 Review URL: https://codereview.chromium.org/12387105 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186191 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: Add the ability to wait on upload completion.epenner@chromium.org2013-03-052-0/+6
| | | | | | | | | | | | | | | | | Patch originally by Eric Penner <epenner@chromium.org>. We currently have high latency if need to wait for uploads in the renderer client. If we can do a shallow client side wait it will be much better. This is effectively the same as doing synchronous uploads, but exposes less driver bug surface area then mixing uploads across threads. BUG=161828, 178634 Review URL: https://chromiumcodereview.appspot.com/12210129 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186190 0039d316-1c4b-4281-b951-d872f2087c98
* Fix touch scaling for high dpi windows.girard@chromium.org2013-03-051-4/+5
| | | | | | | | | | | | | | | | | | Touch events in windows are always expressed in screen coordinates, even if the target app is not dpi-aware. This patch determines the dpi scale used by the OS, and re-scales touch events accordingly. In some cases the touch events are sent to the wrong window. This is detected and corrected. BUG=175542 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=185474 Review URL: https://chromiumcodereview.appspot.com/12317157 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186187 0039d316-1c4b-4281-b951-d872f2087c98
* Moved AudioUtil static functions:xians@chromium.org2013-03-054-27/+40
| | | | | | | | | | | | | | | | | | | | GetAudioHardwareSampleRate GetAudioInputHardwareSampleRate GetAudioHardwareBufferSize GetAudioInputHardwareChannelLayout to AudioManager interfaces: GetDefaultOutputStreamParameters() GetDefaultInputStreamParameters(const std::string& device_id) By doing this, we remove the messy ifdef statements in AudioUtil, allow getting the native sample rate for Pulse, each AudioManager is responsible for providing the optimal audio params to achieve the best audio performance, for example, cras can raise the buffer size to reduce CPU consumption without affecting other Linux products. BUG=178142,137326,120319 TEST=media_unittests, content_unittests Review URL: https://chromiumcodereview.appspot.com/12316131 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186180 0039d316-1c4b-4281-b951-d872f2087c98
* Hookup PeerConnection::Close + Change GetStats to trust libjingle to find ↵perkj@chromium.org2013-03-058-39/+56
| | | | | | | | | | out if the track is local, remote or invalid. Webrtc Issue https://code.google.com/p/webrtc/issues/detail?id=1240 Review URL: https://codereview.chromium.org/12386048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186171 0039d316-1c4b-4281-b951-d872f2087c98
* Disable flaky RenderWidgetHostViewBrowserTest.MacFrameSubscriberTestbartfab@chromium.org2013-03-051-1/+1
| | | | | | | | | | This test is very flaky on the Mac10.6 Tests (1) bot and keeps closing the tree. BUG=180190 TBR=hclam@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186153 0039d316-1c4b-4281-b951-d872f2087c98
* Replaced deprecated v8 API calls by their non-deprecated counterparts.svenpanne@chromium.org2013-03-052-5/+8
| | | | | | | | | | TBR=darin@chromium.org BUG=v8:2487 Review URL: https://chromiumcodereview.appspot.com/12398007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186152 0039d316-1c4b-4281-b951-d872f2087c98
* Remove deprecated hyphenation methods from WebKit::Platform implementationsjochen@chromium.org2013-03-052-19/+0
| | | | | | | | | | BUG=178693 TBR=darin@chromium.org R=thakis@chromium.org Review URL: https://codereview.chromium.org/12437002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186149 0039d316-1c4b-4281-b951-d872f2087c98
* [content shell] close the main window during the destructorjochen@chromium.org2013-03-051-0/+5
| | | | | | | | | | | | | We can't invoke DiscardMainWindow() from the destructor since the destructor is invoked from outside of the message loop, and DiscardMainWindow interacts with the message loop. BUG=111316 R=thakis@chromium.org Review URL: https://codereview.chromium.org/12431002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186144 0039d316-1c4b-4281-b951-d872f2087c98
* [content shell] don't try to add a virtual border when resizing the view.jochen@chromium.org2013-03-051-3/+1
| | | | | | | | | | | | | | The view should just be resized to the requested size, as there's nothing in the content module that would somehow take the border into account Doesn't currently change any test, as the resize tests are all expecting the change to take place synchronously, and so they fail anyways BUG=111316 R=thakis@chromium.org Review URL: https://codereview.chromium.org/12430002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186141 0039d316-1c4b-4281-b951-d872f2087c98
* [content shell] handle focus entirely from the rendererjochen@chromium.org2013-03-053-4/+58
| | | | | | | | | | | | | Layout tests assume that the focus is set synchronously, so we can't rely on the browser managing it BUG=111316 R=thakis@chromium.org TEST=fast/dom/Window/window-onFocus.html and fast/dom/HTMLDocument/hasFocus.html passes Review URL: https://codereview.chromium.org/12421003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186136 0039d316-1c4b-4281-b951-d872f2087c98
* Explanatory comment for ShouldFocusLocationBarByDefault.samarth@chromium.org2013-03-051-1/+3
| | | | | | | | | | | | | | Add comment making it clear that WebContentsDelegate::ShouldFocusLocationBarByDefault does not do all the checks required to determine if a web contents should send focus to the location bar by default. BUG=none Review URL: https://chromiumcodereview.appspot.com/12395020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186132 0039d316-1c4b-4281-b951-d872f2087c98
* Enable is_screencast flag for WebRTC screen capturehclam@chromium.org2013-03-051-2/+5
| | | | | | | | | | | | | | Setting the is_screencast flag to RtcVideoCapturer for screen capturer to support native screen resolution. TEST=Enable screen capture API in about:flags and try it on https://simpl.info/screencapture/ BUG=180047 Review URL: https://chromiumcodereview.appspot.com/12393063 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186131 0039d316-1c4b-4281-b951-d872f2087c98
* BrowserPlugin: Moving constants to content/commonfsamuel@chromium.org2013-03-0522-28/+39
| | | | | | | | | | | | To allow constants to be shared by both content/browser/browser_plugin/ and content/renderer/browser_plugin this CL moves it to content/common/browser_plugin. BUG=none Review URL: https://chromiumcodereview.appspot.com/12388086 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186125 0039d316-1c4b-4281-b951-d872f2087c98
* Add DSF to frame metadata.piman@chromium.org2013-03-051-0/+1
| | | | | | | | | | | | We need to tag the frames with the device scale factor so that we can correctly size them across DSF changes. BUG=132714,146080 Review URL: https://chromiumcodereview.appspot.com/12387107 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186124 0039d316-1c4b-4281-b951-d872f2087c98
* Implement WebKit::Platform::isThreadedCompositingEnabled()jamesr@chromium.org2013-03-052-0/+5
| | | | | | | | | | | | | | | | | | This provides implementations of WK::Platform::isThreadedCompositingEnabled() for content/renderer/renderer_webkitplatformsupport_impl (aka the one we really use) and for the unit / layout test support logic in webkit/. The real implementation depends on content::RenderThreadImpl::compositor_thread(), the test implementations have to be set explicitly by the test harness. Neither depend on WebCompositorSupport, although that's still implemented so everything still passes before the WebKit side at https://bugs.webkit.org/show_bug.cgi?id=111386 lands and rolls in. R=enne@chromium.org Review URL: https://chromiumcodereview.appspot.com/12378094 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186111 0039d316-1c4b-4281-b951-d872f2087c98
* Define frame subscription interface and implementation on Machclam@chromium.org2013-03-059-8/+244
| | | | | | | | | | | | | | | Define RenderWidgetHostViewFrameSubscriber for listening to frame presentation events by platform frame presenter. This will enable a push model for generating captured frames from a RenderView. Also implement this on Mac. BUG=174525 Review URL: https://chromiumcodereview.appspot.com/12277023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186108 0039d316-1c4b-4281-b951-d872f2087c98
* Disable Media.YUV* tests on MSVS 2012 x64 buildsjschuh@chromium.org2013-03-051-8/+15
| | | | | | | | BUG=180074 R=scherkus@chromium.org,wolenetz@chromium.org Review URL: https://codereview.chromium.org/12381095 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186101 0039d316-1c4b-4281-b951-d872f2087c98
* ÜC: Add --enable-delegated-renderer flagpiman@chromium.org2013-03-054-1/+10
| | | | | | | | | BUG=123444 Review URL: https://chromiumcodereview.appspot.com/12393065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186100 0039d316-1c4b-4281-b951-d872f2087c98
* Make third_party/re2 a dependency of content/browser.apatrick@chromium.org2013-03-052-0/+2
| | | | | | | | | | It's for this: https://codereview.chromium.org/12381085 BUG=177611 Review URL: https://chromiumcodereview.appspot.com/12388087 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186096 0039d316-1c4b-4281-b951-d872f2087c98
* Don't crash when the dconf settings backend can't connect to the session busjochen@chromium.org2013-03-051-0/+4
| | | | | | | | | | | | | | When running the content module e.g. within a screen session, it's not possible to connect to the dbus session bus. Don't crash when the corresponding warning is logged. BUG=179797 R=piman@chromium.org Review URL: https://chromiumcodereview.appspot.com/12386083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186086 0039d316-1c4b-4281-b951-d872f2087c98
* Add StoragePartition::StorageMask for ClearData methodsboliu@chromium.org2013-03-054-37/+83
| | | | | | | | | | | | | Android WebView has some storage clear methods are based on different conditions than what is exposed already in StoragePartition. But all the underlying logic is already implemented. So just add a mask parameter to the existing methods to for this flexibility. BUG= Review URL: https://chromiumcodereview.appspot.com/12317062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186080 0039d316-1c4b-4281-b951-d872f2087c98
* overscroll: Fix another overscroll crash.sadrul@chromium.org2013-03-051-4/+10
| | | | | | | | | | | | Make sure the content window is correctly setup before allowing an overscroll gesture. BUG=179389 TBR=sky@chromium.org Review URL: https://codereview.chromium.org/12387103 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186072 0039d316-1c4b-4281-b951-d872f2087c98
* Implemented PointerLock for BrowserPlugin by forwarding PointerLock requests ↵mthiesse@chromium.org2013-03-0513-8/+153
| | | | | | | | | | | | | to the embedder, and routing responses back to the guest (essentially). Added interactive tests for pointerlock that work on Windows and Linux. Manually tested and working on Mac, but mouse movements in test don't seem to work on mac. BUG=166228 Review URL: https://chromiumcodereview.appspot.com/12047125 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186068 0039d316-1c4b-4281-b951-d872f2087c98
* Pass in SurfaceView size as physical_backing_size.aelias@chromium.org2013-03-056-31/+78
| | | | | | | | | | | | | | This patch plumbs down the SurfaceView size from ContentViewCore into physical_backing_size, so that the renderer's texture will always be the same size as the SurfaceView. ContentViewCore's normal size is then only used for WebKit's size. NOTRY=true BUG=179778 Review URL: https://chromiumcodereview.appspot.com/12378064 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186065 0039d316-1c4b-4281-b951-d872f2087c98
* Refactored TapSuppressionControllermohsen@chromium.org2013-03-0512-227/+441
| | | | | | | | | | | | | | | | Currently we have a tap suppression controller for touchpad. We want to add one for touchscreen, too. Since they have very similar logics, the first step is to refactor the TapSuppressionController class to contain the common logic and move out the touchpad-specific code to TouchpadTapSuppressionController. This way, adding the touchscreen version would be easy. BUG=162242 Review URL: https://chromiumcodereview.appspot.com/12217078 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186062 0039d316-1c4b-4281-b951-d872f2087c98
* Made myself OWNER of GPU-related Mac stuff on thakis' suggestion.kbr@chromium.org2013-03-051-0/+3
| | | | | | | | BUG=none Review URL: https://codereview.chromium.org/12388096 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186041 0039d316-1c4b-4281-b951-d872f2087c98
* Properly floor size on pixel to DIP conversion.alexst@chromium.org2013-03-041-6/+3
| | | | | | | | | BUG=179256 Review URL: https://chromiumcodereview.appspot.com/12388091 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186025 0039d316-1c4b-4281-b951-d872f2087c98
* Disable threaded HTML parserabarth@chromium.org2013-03-041-2/+1
| | | | | | | | | | | | This CL disables the threaded HTML parser so that we don't promote it to the Dev channel. Once the Dev channel build is cut, we'll revert this CL to enable the threaded parser for Canary again. TBR=darin Review URL: https://chromiumcodereview.appspot.com/12391067 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186011 0039d316-1c4b-4281-b951-d872f2087c98
* Move Mailbox from cc to gpu, and its traits to gpu/ipcpiman@chromium.org2013-03-047-37/+11
| | | | | | | | | | | | | | | | Mailbox is safer to IPC than coaxing it into a string, because otherwise we need to validate the size when coming from untrusted sources. This is to enable passing Mailbox through IPC without having to depend on cc. Among others I will need it to move Pepper to mailboxes, and pepper can't depend on cc. BUG=164095 Review URL: https://chromiumcodereview.appspot.com/12378053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186006 0039d316-1c4b-4281-b951-d872f2087c98
* Mac VDA: Fix integer overflow possibilitysail@chromium.org2013-03-042-14/+23
| | | | | | | | | BUG=178706 Review URL: https://chromiumcodereview.appspot.com/12377068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@185988 0039d316-1c4b-4281-b951-d872f2087c98
* Speculative Revert of 185945agable@chromium.org2013-03-046-25/+29
| | | | | | | | | | | | | | | | | | | | | Looks like this caused perf regressions on both dual- and single-core Win7 perf bots: http://chromium-perf.appspot.com/?tab=chromium-rel-win7-dual&graph=times&rev=186115&history=150&master=ChromiumPerf&testSuite=page_cycler_moz&details=true > Remove CompositorThread dependency on WebThread > > content:: creates and manages the compositor thread itself, it doesn't need to > use a WebThread type or use WebCompositorSupport to manage threaded-ness. This > cuts the dependency of content::CompositorThread to just depend on base::Thread. > The message loop is bound to in content::RenderWidgetCompositor. > > > Review URL: https://chromiumcodereview.appspot.com/12386078 TBR=jamesr@chromium.org Review URL: https://codereview.chromium.org/12390068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@185987 0039d316-1c4b-4281-b951-d872f2087c98