summaryrefslogtreecommitdiffstats
path: root/gpu
Commit message (Collapse)AuthorAgeFilesLines
* gpu: fix gpu process crashed on win_blink_rel due to dcheck in ↵dongseong.hwang2014-12-051-2/+3
| | | | | | | | | | | | | CopyTextureCHROMIUM. When gpu context is lost, CopyTextureCHROMIUMResourceManager can be deleted without releasing resources like GLES2DecoderImpl. BUG=438950 Review URL: https://codereview.chromium.org/780293002 Cr-Commit-Position: refs/heads/master@{#307075}
* Revert of Extract WebGraphicsContext3DImpl from webkit/common/gpu. (patchset ↵samli2014-12-056-1746/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #12 id:220001 of https://codereview.chromium.org/761243002/) Reason for revert: Suspecting as cause for Win8 GN compile fail Original issue's description: > Extract WebGraphicsContext3DImpl from webkit/common/gpu. > > We decided that it should be fine to move it to gpu/blink now, similar > to gpu/skia_bindings and cc/blink. > > BUG=338338 > TEST=links > R=piman@chromium.org,jamesr@chromium.org > TBR= > > Committed: https://crrev.com/a962b5f152a0a331bc2e1a5a0d4d38e8adece10d > Cr-Commit-Position: refs/heads/master@{#306957} TBR=jamesr@chromium.org,piman@chromium.org,tfarina@chromium.org NOTREECHECKS=true NOTRY=true BUG=338338 Review URL: https://codereview.chromium.org/763963003 Cr-Commit-Position: refs/heads/master@{#306985}
* Extract WebGraphicsContext3DImpl from webkit/common/gpu.tfarina2014-12-056-0/+1746
| | | | | | | | | | | | | | We decided that it should be fine to move it to gpu/blink now, similar to gpu/skia_bindings and cc/blink. BUG=338338 TEST=links R=piman@chromium.org,jamesr@chromium.org TBR= Review URL: https://codereview.chromium.org/761243002 Cr-Commit-Position: refs/heads/master@{#306957}
* gpu: Fix the internal format for GL_RED_EXT on es3hendrikw2014-12-051-1/+1
| | | | | | | | | | | | | EXT_texture_rg expects GL_RED_EXT as the format and internal format, but gles3 expect GL_R8 as the internal format. Added GL_R16F_EXT and GL_R32F_EXT, and if we're using gles3, switch the internal format to the appropriate format for GL_RED_EXT BUG=439092 Review URL: https://codereview.chromium.org/780003003 Cr-Commit-Position: refs/heads/master@{#306947}
* gpu/khronos_glcts_support: add builtin tests to the suiteullysses.a.eoff2014-12-041-0/+19
| | | | | | | | | | | | | | | | | | The GL-CTS TestPackageRegistry registers additional builtin test cases that are not included in any of the run files. Generate these additional tests to ensure they are executed. BUG=chromium:412865 R=kbr@chromium.org, piman@chromium.org TEST=Build and run khronos_glcts_test binary. Ensure the builtin tests are additionally executed. Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com> Review URL: https://codereview.chromium.org/775893004 Cr-Commit-Position: refs/heads/master@{#306914}
* Add a OWNER file to gpu/GLES2zmo2014-12-041-0/+5
| | | | | | | | | | | | | | It is because whenever we add/modify commands in command buffer, an auto generated file in this folder is modified. It doesn't make sense that command buffer owners do not own this folder also. BUG= TEST= NOTRY=True Review URL: https://codereview.chromium.org/774403002 Cr-Commit-Position: refs/heads/master@{#306867}
* Add an option to show ANGLE's interm outputoetuaho2014-12-041-0/+6
| | | | | | | | | | This is useful when developing/debugging ANGLE's shader parsing. BUG=438607 Review URL: https://codereview.chromium.org/773223003 Cr-Commit-Position: refs/heads/master@{#306792}
* gn format // (the rest, except mojo)scottmg2014-12-034-24/+29
| | | | | | | | | | | | | | Excluded mojo because I think that needs to happen on the other side. At gn --version = 306668 for which roll is in CQ. R=brettw@chromium.org TBR=scherkus@chromium.org BUG=348474 Review URL: https://codereview.chromium.org/774353003 Cr-Commit-Position: refs/heads/master@{#306708}
* gpu: Update nvidia workaround to cover Android 5.0.1boliu2014-12-031-2/+2
| | | | | | | | | | The issue remains in Android 5.0.1 release. BUG=438657 Review URL: https://codereview.chromium.org/766053009 Cr-Commit-Position: refs/heads/master@{#306655}
* Disable GPU raster and canvas on PowerVR Rogue for pre-L.aelias2014-12-031-1/+18
| | | | | | | | | | | | An OEM reported GPU raster to cause corruption on the new Rogue GPU on a new K-based device. NOTRY=true BUG=436331 Review URL: https://codereview.chromium.org/780463002 Cr-Commit-Position: refs/heads/master@{#306651}
* Add mouse input forwarding to gpu serviceorglofch2014-12-0326-92/+264
| | | | | | | | | | Required for the SubscribeUniform WebGL extension. BUG=422978 Review URL: https://codereview.chromium.org/634313002 Cr-Commit-Position: refs/heads/master@{#306555}
* mac: Don't limit GL_MAX_TEXTURE_SIZE on 10.9.0+.erikchen2014-12-031-3/+11
| | | | | | | | | | | | The maximum texture size was limited to 4096 due to bugs in both Intel and AMD drivers for 10.6 and 10.7. This limit doesn't make sense for modern Macs, especially since the iMac 5k has a horizontal resolution of 5120. BUG=435381 Review URL: https://codereview.chromium.org/766413002 Cr-Commit-Position: refs/heads/master@{#306543}
* gpu: Added IPC traits for new texture_rg flaghendrikw2014-12-021-0/+1
| | | | | | | | | | I've also added to the .mojom file for the gpu capabilities BUG=435379 Review URL: https://codereview.chromium.org/774773002 Cr-Commit-Position: refs/heads/master@{#306477}
* Converted angle_, gl_ and content_gl_unittests to the new test launchersergiyb2014-12-026-23/+41
| | | | | | | | | | | | | This is needed to convert mac_gpu_triggered_tests to swarming and use --test-launcher-summary-output flag. BUG=426897 R=phajdan.jr@chromium.org CC=kbr@chromium.org Review URL: https://codereview.chromium.org/731423003 Cr-Commit-Position: refs/heads/master@{#306431}
* gpu: Exposed GL_EXT_texture_rg to gpu::gles2::Capabilitieshendrikw2014-12-024-1/+24
| | | | | | | | | | Exposed texture_rg and added check in unit test BUG=435379 Review URL: https://codereview.chromium.org/751883004 Cr-Commit-Position: refs/heads/master@{#306353}
* gpu: Added the feature flag for GL_EXT_texture_rg to FeatureInfohendrikw2014-12-024-11/+180
| | | | | | | | | | | | | | | | * GL_EXT_texture_rg & GL_ARB_texture_rg both add the extension GL_EXT_texture_rg * validators for GL_RED_EXT and GL_RG_EXT added for textures and read pixels * validators for GL_R8_EXT and GL_RG8_EXT added for render buffer * format validators added for unsigned byte, float (if supported) and half float (if supported) added * unit tests for EXT and ARB + validators * unit test to confirm that the extension is available on actual hardware BUG=435379 Review URL: https://codereview.chromium.org/751113002 Cr-Commit-Position: refs/heads/master@{#306337}
* Re-land: gpu: Make in-process default service globalboliu2014-11-272-26/+8
| | | | | | | | | | | | | | | | | | This is a minor clean up to avoid creating/destroying multiple gpu threads when using the in-process command buffer. Removes some complexity in code and keeps a consistent thread id, just like the cross-process command buffer. BUG= Previous committed: https://crrev.com/496ecd8d62b325362409272c6b26fb027e640786 Previous Cr-Commit-Position: refs/heads/master@{#305782} Reland include valgrind suppressions. Review URL: https://codereview.chromium.org/727093004 Cr-Commit-Position: refs/heads/master@{#306007}
* Add unsafe ES3 APIs to command buffer: glTexStorage3Dzmo2014-11-2725-127/+1046
| | | | | | | | | | | | | Also, we check in GLES3 header files to third_party/khronos. BUG=429053 TEST=gpu_unittests R=bajones@chromium.org,kbr@chromium.org TBR=sievers@chromium.org Review URL: https://codereview.chromium.org/740083003 Cr-Commit-Position: refs/heads/master@{#305946}
* Revert of gpu: fix CopyTextureCHROMIUM for immutable texture. (patchset #4 ↵kbr2014-11-272-42/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | id:60001 of https://codereview.chromium.org/744713002/) Reason for revert: Broke video uploads to WebGL on official builds (taking the hardware accelerated video decode path). See Issue 436538. Original issue's description: > gpu: fix CopyTextureCHROMIUM for immutable texture. > > We cannot use glCopyTexImage2D on the texture which is allocated by glTexStorage2D [1] > [1] https://www.opengl.org/registry/specs/ARB/texture_storage.txt > The fast path uses glCopyTexSubImage2D instead of glCopyTexImage2D. > > In addition, optimize CopyTextureCHROMIUM for GL_TEXTURE_RECTANGLE_ARB, > which is often used by the compositor, so make CopyTextureCHROMIUM use > the fast path. > > Committed: https://crrev.com/df36f0aebe453bdbe842c85b331f6f07a24255a2 > Cr-Commit-Position: refs/heads/master@{#305268} TBR=sievers@chromium.org,reveman@chromium.org,dongseong.hwang@intel.com BUG=436538 Review URL: https://codereview.chromium.org/760173002 Cr-Commit-Position: refs/heads/master@{#305937}
* gpu: Add support for GL_RED_EXT and GL_RG_EXT to GLES2Utilhendrikw2014-11-261-0/+6
| | | | | | | | | | ElementsPerGroup & BytesPerElement now handle GL_RED_EXT and GL_RG_EXT formats. BUG=435379 Review URL: https://codereview.chromium.org/766473002 Cr-Commit-Position: refs/heads/master@{#305880}
* Revert of gpu: Make in-process default service global (patchset #1 id:1 of ↵boliu2014-11-262-8/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/727093004/) Reason for revert: Speculative revert for leak in Chromium OS (valgrind)(5) memory test: unit_2_of_3 http://build.chromium.org/p/chromium.memory.fyi/builders/Chromium%20OS%20%28valgrind%29%285%29/builds/30854 Suppression (error hash=#384B6AFE041C7183#): For more info on using suppressions see http://dev.chromium.org/developers/tree-sheriffs/sheriff-details-chromium/memory-sheriff#TOC-Suppressing-memory-reports { <insert_a_suppression_name_here> Memcheck:Leak fun:calloc fun:pthread_setspecific fun:_ZN4base8internal19ThreadLocalPlatform14SetValueInSlotEjPv fun:_ZN4base18ThreadLocalPointerIN3gfx9GLSurfaceEE3SetEPS2_ fun:_ZN3gfx9GLSurface10SetCurrentEPS0_ fun:_ZN3gfx9GLContext10SetCurrentEPNS_9GLSurfaceE fun:_ZN3gfx13GLContextReal10SetCurrentEPNS_9GLSurfaceE fun:_ZN3gfx15GLContextOSMesa11MakeCurrentEPNS_9GLSurfaceE fun:_ZN3gpu22InProcessCommandBuffer21InitializeOnGpuThreadERKNS0_27InitializeOnGpuThreadParamsE } Original issue's description: > gpu: Make in-process default service global > > This is a minor clean up to avoid creating/destroying multiple gpu > threads when using the in-process command buffer. Removes some > complexity in code and keeps a consistent thread id, just like the > cross-process command buffer. > > BUG= > > Committed: https://crrev.com/496ecd8d62b325362409272c6b26fb027e640786 > Cr-Commit-Position: refs/heads/master@{#305782} TBR=sievers@chromium.org NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/759303002 Cr-Commit-Position: refs/heads/master@{#305819}
* Explicitly check for sRGB extension support with GLES3.kalyan.kondapally2014-11-262-3/+30
| | | | | | | | | | | | | | With EXT_sRGB, unsized SRGB_EXT and SRGB_ALPHA_EXT are accepted by the <format> and <internalformat> parameter of TexImage2D. GLES3 adds support for SRGB Textures but the accepted internal formats for TexImage2D are only sized formats GL_SRGB8 and GL_SRGB8_ALPHA8 and SRGB_EXT isn't a valid <format> in this case. So, we need to explicitly check for EXT_sRGB even with GLES3. Review URL: https://codereview.chromium.org/721733003 Cr-Commit-Position: refs/heads/master@{#305803}
* gpu: Make in-process default service globalboliu2014-11-262-26/+8
| | | | | | | | | | | | | This is a minor clean up to avoid creating/destroying multiple gpu threads when using the in-process command buffer. Removes some complexity in code and keeps a consistent thread id, just like the cross-process command buffer. BUG= Review URL: https://codereview.chromium.org/727093004 Cr-Commit-Position: refs/heads/master@{#305782}
* Add unsafe ES3 APIs: uniforms and attributes.zmo2014-11-2621-147/+3913
| | | | | | | | | | | BUG=429053 TEST=gpu_unittests R=bajones@chromium.org TBR=sievers@chromium.org Review URL: https://codereview.chromium.org/754193002 Cr-Commit-Position: refs/heads/master@{#305743}
* Avoid using MSVC alias analysis workaround on clang.jbauman2014-11-251-1/+2
| | | | | | | | | | It should be unnecessary and it causes a warning. BUG=412902 Review URL: https://codereview.chromium.org/753413002 Cr-Commit-Position: refs/heads/master@{#305710}
* Add unsafe ES3 API glGetInternalformativ to command buffer.zmo2014-11-2522-146/+443
| | | | | | | | | | | BUG=429053 TEST=gpu_unittests R=bajones@chromium.org TBR=sievers@chromium.org Review URL: https://codereview.chromium.org/749383002 Cr-Commit-Position: refs/heads/master@{#305680}
* Fixed gl_uniform_arrays WebGL conformance testsugoi2014-11-252-4/+12
| | | | | | | | | | Added integer overflow check to fix WebGL conformance test BUG=433386 Review URL: https://codereview.chromium.org/754883002 Cr-Commit-Position: refs/heads/master@{#305632}
* Add a second unsafe ES3 API in command buffer.zmo2014-11-2422-285/+459
| | | | | | | | | | | | | | | glCopuBufferSubData Also, I disabled validator for unsafe functions. BUG=429053 TEST=gpu_unittests R=bajones@chromium.org TBR=sievers@chromium.org Review URL: https://codereview.chromium.org/754873002 Cr-Commit-Position: refs/heads/master@{#305522}
* Fix unused function build error when USE_LIBPCI unsetjamescook2014-11-241-0/+2
| | | | | | | | | | | | IsPciSupported() is unused and causes a warning which is treated as an error during some cast_shell builds. BUG=436104 TEST=cast_shell compiles and runs on Linux desktop Review URL: https://codereview.chromium.org/751033003 Cr-Commit-Position: refs/heads/master@{#305498}
* Add first ES3 Unsafe APIs behind a commandline switch.zmo2014-11-2323-180/+481
| | | | | | | | | | | | | | I consulted the security team and they are OK with this as far as it's behind a flag and checking the flag is on the service side. BUG=429053 TEST=gpu_unittests R=kbr@chromium.org,bajones@chromium.org Review URL: https://codereview.chromium.org/748103002 Cr-Commit-Position: refs/heads/master@{#305387}
* gpu: fix CopyTextureCHROMIUM for immutable texture.dongseong.hwang2014-11-212-13/+42
| | | | | | | | | | | | | | We cannot use glCopyTexImage2D on the texture which is allocated by glTexStorage2D [1] [1] https://www.opengl.org/registry/specs/ARB/texture_storage.txt The fast path uses glCopyTexSubImage2D instead of glCopyTexImage2D. In addition, optimize CopyTextureCHROMIUM for GL_TEXTURE_RECTANGLE_ARB, which is often used by the compositor, so make CopyTextureCHROMIUM use the fast path. Review URL: https://codereview.chromium.org/744713002 Cr-Commit-Position: refs/heads/master@{#305268}
* Enable MSVC warning for unused locals.Peter Kasting2014-11-204-21/+15
| | | | | | | | | | | | | | There is seemingly a bug in the compiler where it occasionally claims a local is unused when it isn't. This forces a few places to either inline such locals or mark them ALLOW_UNUSED_LOCAL. BUG=81439 TEST=none R=brettw@chromium.org, cpu@chromium.org, jamesr@chromium.org, rvargas@chromium.org, sievers@chromium.org, sky@chromium.org, vitalybuka@chromium.org, wolenetz@chromium.org Review URL: https://codereview.chromium.org/731373002 Cr-Commit-Position: refs/heads/master@{#305108}
* gpu: Change the hex code of conflicted _CHROMIUM macrodongseong.hwang2014-11-203-9/+35
| | | | | | | | | | | | | | | | | Following macros are conflicted with khronos header. GL_COMMANDS_ISSUED_CHROMIUM GL_GET_ERROR_QUERY_CHROMIUM GL_LATENCY_QUERY_CHROMIUM GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM The hex code of them is changed to 0x600_ which is unused range. In addition, make build_gles2_cmd_buffer.py detect the collision. Review URL: https://codereview.chromium.org/715983004 Cr-Commit-Position: refs/heads/master@{#304933}
* Fix a crash in GLES2Implementation::~GLES2Implementationpenghuang2014-11-192-8/+25
| | | | | | | | BUG=434167 Review URL: https://codereview.chromium.org/729903003 Cr-Commit-Position: refs/heads/master@{#304754}
* Move SyncPointManager into gpu/command_buffer/serviceabarth2014-11-184-0/+150
| | | | | | | | | | | The SyncPointManager doesn't have any other dependencies and we'd like to reuse it in Mojo. This CL moves it from content to gpu to make it easier to reuse. TBR=jbauman@chromium.org Review URL: https://codereview.chromium.org/735823002 Cr-Commit-Position: refs/heads/master@{#304698}
* GPU: Add const modifier to two members of GLES2Implementation.penghuang2014-11-182-3/+3
| | | | | | | | BUG=None Review URL: https://codereview.chromium.org/742443002 Cr-Commit-Position: refs/heads/master@{#304686}
* gpu: fix CopyTextureCHROMIUM for GL_ARB_texture_rectangledongseong.hwang2014-11-181-2/+2
| | | | | | | | Fix errata in glsl code. Review URL: https://codereview.chromium.org/730043003 Cr-Commit-Position: refs/heads/master@{#304591}
* cc: Add UMA stats for texture copy latency.reveman2014-11-183-9/+16
| | | | | | | | | | | | | | | | | | Records the time between the issue of a texture copy operation and detecting that it has completed as measured by the GPU process. This data is useful to determine potential driver problems related to fences. Consistent high latency (200ms and above) for copy operations is a strong indication of a misbehaving fence extension. The data can also be used to determine the amount of staging resources to use for optimal performance. BUG=431845 Review URL: https://codereview.chromium.org/733053005 Cr-Commit-Position: refs/heads/master@{#304562}
* gpu: Un-blacklist ARB_sync on MacOSX.reveman2014-11-181-11/+0
| | | | | | | | BUG=371530 Review URL: https://codereview.chromium.org/731293002 Cr-Commit-Position: refs/heads/master@{#304557}
* gpu: Implement shader glClear() blit for broken IMG driverssievers2014-11-1813-2/+511
| | | | | | | | BUG=421271,434094 Review URL: https://codereview.chromium.org/719503003 Cr-Commit-Position: refs/heads/master@{#304545}
* Enable asynchronous glReadPixels on Windows.miu2014-11-156-10/+22
| | | | | | | | | | | | | | | | | | | | | | | | Chromium is using the GL ES 2.0 spec with ANGLE, which doesn't allow for async readback on its own. However, ANGLE also provides two extensions which, together, provide all the needed extra implementation: GL_NV_pixel_buffer_object and GL_EXT_map_buffer_range. This change enables the appropriate feature flags when the two extensions are present. It also changes the auto-generated bindings for the glMapBufferRange function so that glMapBufferRangeEXT is used instead of glMapBufferRange when ANGLE is initialized below the version 3 spec. In addition, this change adds propagation of service-side glMapBuffer() errors back to the glMapBufferCHROMIUM call client-side. In the process of writing tests for this, a minor shared memory allocation bug was revealed and also fixed. BUG=431420 Review URL: https://codereview.chromium.org/706173005 Cr-Commit-Position: refs/heads/master@{#304340}
* Workaround NVidia eglWaitSyncKHR bugboliu2014-11-143-1/+27
| | | | | | | | | | Workaround is to fallback to client wait. BUG=433057 Review URL: https://codereview.chromium.org/728683002 Cr-Commit-Position: refs/heads/master@{#304131}
* Add UMA histogram for D3D shader model.jmadill2014-11-131-0/+39
| | | | | | | | | | | | | This metric will allow us to determine what percentage of our Windows ANGLE users are using the D3D11 vs D3D9 back-end. It will also give us a breakdown of what kind of support there is in the wild for various GPU configs. BUG=432267 Review URL: https://codereview.chromium.org/719113003 Cr-Commit-Position: refs/heads/master@{#304107}
* command_buffer: Avoid uninitialized read in ShaderTranslatorCachekkinnunen2014-11-124-12/+75
| | | | | | | | | | | | | | | | | | | | | The key in ShaderTranslatorCache std::map is copied with memcpy and compared with memcmp. However, the key is a class that does not guarantee not having any padding. Padding in ShBuiltInResources causes the comparison be invalid. Valgrind reports uninitialized reads for this. Fix by preserving usage of memcmp. Initialize the object with memset. This should write any possible padding data to a well-defined state. Depends on an ANGLE fix where ShBuiltInResources is similarly initialized with memset. The resource data is copied to the key implicitly, and this may or may not copy the padding. Review URL: https://codereview.chromium.org/654253002 Cr-Commit-Position: refs/heads/master@{#303817}
* gpu: remove round trip at context initializationpiman2014-11-1226-929/+269
| | | | | | | | | | | | | | GLES2Implementation::QueryAndCacheStaticState used to do a round trip at initialization to cache static state. Instead, we can pass this static state through gpu::Capabilities, so that we avoid the round trip. Also remove glGetMultipleIntegervCHROMIUM, which is not used any more. BUG=430324 Review URL: https://codereview.chromium.org/711263002 Cr-Commit-Position: refs/heads/master@{#303791}
* gpu: Make sure sync queries complete on service side when calling glFinish.reveman2014-11-118-42/+50
| | | | | | | | | | | | This is a correctness fix as we can't assume GLFence::HasCompleted() will return true after glFinish has been called. BUG=430933 Review URL: https://codereview.chromium.org/707833003 Cr-Commit-Position: refs/heads/master@{#303584}
* Add GL_APPLE_fence support, enabling asynchronous glReadPixels for Mac.miu2014-11-112-1/+3
| | | | | | | | | | | | | | | | | | | With the removal of the CompositingIOSurface code a few months back, all the support for using APPLE fences to support asynchronous GPU readback was deleted along with it. While the current GPU readback code path does support asynchronous glReadPixels operations, it is disabled on Mac for lack of fence support. This change adds back the necessary fence support. This change should be safe, given that the pre-Mountain Lion blacklist item, disable_async_readpixels, is still in-place; and so we will retain synchronous readback behavior on systems with known buggy drivers. BUG=430586 Review URL: https://codereview.chromium.org/701103003 Cr-Commit-Position: refs/heads/master@{#303567}
* Remove a few unused typedefs. No behavior change.thakis2014-11-102-11/+0
| | | | | | | | | BUG=none TBR=thestig Review URL: https://codereview.chromium.org/715633002 Cr-Commit-Position: refs/heads/master@{#303512}
* Check if drivers support GL_OES_texture_float even with GLES3 context.kalyan.kondapally2014-11-082-1/+27
| | | | | | | | | | | GLES3 adds support for Float type but doesn't specify support for all formats with FLOAT as GL_OES_texture_float (i.e. LUMINANCE_ALPHA,LUMINANCE and Alpha). Hence, we need to explicitly check for support of this extension even with GLES3. Review URL: https://codereview.chromium.org/696603002 Cr-Commit-Position: refs/heads/master@{#303391}
* gn win: disable 4267 (need for win x64)scottmg2014-11-081-0/+3
| | | | | | | | | | (backported from mojo) R=jam@chromium.org Review URL: https://codereview.chromium.org/709793002 Cr-Commit-Position: refs/heads/master@{#303341}