- 18 Jan, 2017 2 commits
-
-
kozyatinskiy authored
Currently V8 context just crashes on OOM, with this CL backend will send paused notification with OOM reason before OOM and will increase heap limits to allow further debugging on pause. BUG=chromium:675911 Review-Url: https://codereview.chromium.org/2624543004 Cr-Commit-Position: refs/heads/master@{#42480}
-
kozyatinskiy authored
V8InspectorSession::schedulePauseOnNextStatement and V8InspectorSession::cancelPauseOnNextStatement are now exposed in inspector tests. These methods are required at least for better blackboxing tests. BUG=v8:5842 R=dgozman@chromium.org Review-Url: https://codereview.chromium.org/2636613002 Cr-Commit-Position: refs/heads/master@{#42469}
-
- 15 Jan, 2017 1 commit
-
-
titzer authored
R=rossberg@chromium.org BUG=chromium:575167 Review-Url: https://codereview.chromium.org/2630553002 Cr-Original-Original-Commit-Position: refs/heads/master@{#42286} Committed: https://chromium.googlesource.com/v8/v8/+/fcc6e85ec6b01e5367795f98aff104b1ff23f619 Review-Url: https://codereview.chromium.org/2630553002 Cr-Original-Commit-Position: refs/heads/master@{#42315} Committed: https://chromium.googlesource.com/v8/v8/+/74a2f9b7d3c3d9a9284ab8d5a9d08618b8194966 Review-Url: https://codereview.chromium.org/2630553002 Cr-Commit-Position: refs/heads/master@{#42350}
-
- 13 Jan, 2017 2 commits
-
-
titzer authored
Revert of [wasm] Enforce that function bodies end with the \"end\" opcode. (patchset #6 id:100001 of https://codereview.chromium.org/2630553002/ ) Reason for revert: Still breaks Win64 clang build. Original issue's description: > [wasm] Enforce that function bodies end with the \"end\" opcode. > > R=rossberg@chromium.org > BUG=chromium:575167 > > Review-Url: https://codereview.chromium.org/2630553002 > Cr-Original-Commit-Position: refs/heads/master@{#42286} > Committed: https://chromium.googlesource.com/v8/v8/+/fcc6e85ec6b01e5367795f98aff104b1ff23f619 > Review-Url: https://codereview.chromium.org/2630553002 > Cr-Commit-Position: refs/heads/master@{#42315} > Committed: https://chromium.googlesource.com/v8/v8/+/74a2f9b7d3c3d9a9284ab8d5a9d08618b8194966 TBR=mtrofin@chromium.org,rossberg@chromium.org,jbroman@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:575167 Review-Url: https://codereview.chromium.org/2636463002 Cr-Commit-Position: refs/heads/master@{#42317}
-
titzer authored
R=rossberg@chromium.org BUG=chromium:575167 Review-Url: https://codereview.chromium.org/2630553002 Cr-Original-Commit-Position: refs/heads/master@{#42286} Committed: https://chromium.googlesource.com/v8/v8/+/fcc6e85ec6b01e5367795f98aff104b1ff23f619 Review-Url: https://codereview.chromium.org/2630553002 Cr-Commit-Position: refs/heads/master@{#42315}
-
- 12 Jan, 2017 4 commits
-
-
littledan authored
Revert of [wasm] Enforce that function bodies end with the \"end\" opcode. (patchset #1 id:1 of https://codereview.chromium.org/2628203003/ ) Reason for revert: OK, the failure really does seem to be due to this patch: It triggers Clang to crash FAILED: obj/test/unittests/unittests/function-body-decoder-unittest.obj E:\b\build\slave\cache\cipd\goma/gomacc.exe ../../third_party/llvm-build/Release+Asserts/bin/clang-cl.exe /nologo /showIncludes /FC @obj/test/unittests/unittests/function-body-decoder-unittest.obj.rsp /c ../../test/unittests/wasm/function-body-decoder-unittest.cc /Foobj/test/unittests/unittests/function-body-decoder-unittest.obj /Fd"obj/test/unittests/unittests_cc.pdb" Assertion failed: (NumGaps == 0 || Bias < MaxDefRange) && "large ranges should not have gaps", file E:\b\build\slave\win_upload_clang\build\src\third_party\llvm\lib\MC\MCCodeView.cpp, line 531 Wrote crash dump file "C:\Users\CHROME~2\AppData\Local\Temp\goma_temp.5068\clang-cl.exe-563144.dmp" Let's leave it out for now. Original issue's description: > Reland of [wasm] Enforce that function bodies end with the \"end\" opcode. (patchset #1 id:1 of https://codereview.chromium.org/2628883006/ ) > > Reason for revert: > Try a reland; this might not have been the source of tree-closing. > > Original issue's description: > > Revert of [wasm] Enforce that function bodies end with the \"end\" opcode. (patchset #3 id:40001 of https://codereview.chromium.org/2630553002/ ) > > > > Reason for revert: > > Caused tree to close by failing compilation: > > > > https://build.chromium.org/p/client.v8/builders/V8%20Win64%20-%20clang/builds/4451 > > > > Original issue's description: > > > [wasm] Enforce that function bodies end with the \"end\" opcode. > > > > > > R=rossberg@chromium.org > > > BUG=chromium:575167 > > > > > > Review-Url: https://codereview.chromium.org/2630553002 > > > Cr-Commit-Position: refs/heads/master@{#42286} > > > Committed: https://chromium.googlesource.com/v8/v8/+/fcc6e85ec6b01e5367795f98aff104b1ff23f619 > > > > TBR=mtrofin@chromium.org,rossberg@chromium.org,jbroman@chromium.org,titzer@chromium.org > > # Skipping CQ checks because original CL landed less than 1 days ago. > > NOPRESUBMIT=true > > NOTREECHECKS=true > > NOTRY=true > > BUG=chromium:575167 > > > > Review-Url: https://codereview.chromium.org/2628883006 > > Cr-Commit-Position: refs/heads/master@{#42287} > > Committed: https://chromium.googlesource.com/v8/v8/+/1d32a3989bc474745eeb618ebf094634f4efbb36 > > TBR=mtrofin@chromium.org,rossberg@chromium.org,jbroman@chromium.org,titzer@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=chromium:575167 > > Review-Url: https://codereview.chromium.org/2628203003 > Cr-Commit-Position: refs/heads/master@{#42296} > Committed: https://chromium.googlesource.com/v8/v8/+/e539bd8e0eb6afc8e7c98c38584928d6bc799b5b TBR=mtrofin@chromium.org,rossberg@chromium.org,jbroman@chromium.org,titzer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:575167 Review-Url: https://codereview.chromium.org/2633583002 Cr-Commit-Position: refs/heads/master@{#42298}
-
littledan authored
Reland of [wasm] Enforce that function bodies end with the \"end\" opcode. (patchset #1 id:1 of https://codereview.chromium.org/2628883006/ ) Reason for revert: Try a reland; this might not have been the source of tree-closing. Original issue's description: > Revert of [wasm] Enforce that function bodies end with the \"end\" opcode. (patchset #3 id:40001 of https://codereview.chromium.org/2630553002/ ) > > Reason for revert: > Caused tree to close by failing compilation: > > https://build.chromium.org/p/client.v8/builders/V8%20Win64%20-%20clang/builds/4451 > > Original issue's description: > > [wasm] Enforce that function bodies end with the \"end\" opcode. > > > > R=rossberg@chromium.org > > BUG=chromium:575167 > > > > Review-Url: https://codereview.chromium.org/2630553002 > > Cr-Commit-Position: refs/heads/master@{#42286} > > Committed: https://chromium.googlesource.com/v8/v8/+/fcc6e85ec6b01e5367795f98aff104b1ff23f619 > > TBR=mtrofin@chromium.org,rossberg@chromium.org,jbroman@chromium.org,titzer@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=chromium:575167 > > Review-Url: https://codereview.chromium.org/2628883006 > Cr-Commit-Position: refs/heads/master@{#42287} > Committed: https://chromium.googlesource.com/v8/v8/+/1d32a3989bc474745eeb618ebf094634f4efbb36 TBR=mtrofin@chromium.org,rossberg@chromium.org,jbroman@chromium.org,titzer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:575167 Review-Url: https://codereview.chromium.org/2628203003 Cr-Commit-Position: refs/heads/master@{#42296}
-
littledan authored
Revert of [wasm] Enforce that function bodies end with the \"end\" opcode. (patchset #3 id:40001 of https://codereview.chromium.org/2630553002/ ) Reason for revert: Caused tree to close by failing compilation: https://build.chromium.org/p/client.v8/builders/V8%20Win64%20-%20clang/builds/4451 Original issue's description: > [wasm] Enforce that function bodies end with the \"end\" opcode. > > R=rossberg@chromium.org > BUG=chromium:575167 > > Review-Url: https://codereview.chromium.org/2630553002 > Cr-Commit-Position: refs/heads/master@{#42286} > Committed: https://chromium.googlesource.com/v8/v8/+/fcc6e85ec6b01e5367795f98aff104b1ff23f619 TBR=mtrofin@chromium.org,rossberg@chromium.org,jbroman@chromium.org,titzer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:575167 Review-Url: https://codereview.chromium.org/2628883006 Cr-Commit-Position: refs/heads/master@{#42287}
-
titzer authored
R=rossberg@chromium.org BUG=chromium:575167 Review-Url: https://codereview.chromium.org/2630553002 Cr-Commit-Position: refs/heads/master@{#42286}
-
- 10 Jan, 2017 1 commit
-
-
kozyatinskiy authored
... which were done after the promise has been resolved. Goal of this CL - change promise instrumentation to support better callbacks, chained after promise resolution and prepare instrumentation for adding new asyncTaskCreated instrumentation. Instrumentation changes: - asyncTaskScheduled(recurring) when promise is fulfilled or rejected, - asyncTaskCancelled when promise is collected (since [1] we can be sure that promise will survive scheduled microtasks). Minor changes: - async task type in inspector <-> debugger API transferred by enum instead of string, - Debug manages async task ids based on promise objects. More details: https://docs.google.com/document/d/1u19N45f1gSF7M39mGsycJEK3IPyJgIXCBnWyiPeuJFE [1] https://codereview.chromium.org/2581503003/ BUG=chromium:632829,v8:5738 R=dgozman@chromium.org,yangguo@chromium.org,gsathya@chromium.org Review-Url: https://codereview.chromium.org/2578923002 Cr-Commit-Position: refs/heads/master@{#42178}
-
- 04 Jan, 2017 1 commit
-
-
clemensh authored
Ignition does not emit any byte code for some literal expression statements, so avoid testing for it. R=rmcilroy@chromium.org BUG=v8:5757 Review-Url: https://codereview.chromium.org/2612013002 Cr-Commit-Position: refs/heads/master@{#42067}
-
- 21 Dec, 2016 1 commit
-
-
titzer authored
This is more renaming work to comply with the naming in the public design repository. E.g. types are called "value types" and we no longer refer to ASTs. R=clemensh@chromium.org BUG= Review-Url: https://codereview.chromium.org/2594993002 Cr-Commit-Position: refs/heads/master@{#41891}
-
- 20 Dec, 2016 1 commit
-
-
titzer authored
R=clemensh@chromium.org CC=rossberg@chromium.org BUG=chromium:575167 Review-Url: https://codereview.chromium.org/2591753002 Cr-Commit-Position: refs/heads/master@{#41866}
-
- 18 Dec, 2016 1 commit
-
-
kozyatinskiy authored
BUG=v8:5738 R=dgozman@chromium.org Review-Url: https://codereview.chromium.org/2579403002 Cr-Commit-Position: refs/heads/master@{#41783}
-
- 13 Dec, 2016 1 commit
-
-
kozyatinskiy authored
BUG=v8:5738 R=dgozman@chromium.org Review-Url: https://codereview.chromium.org/2574803002 Cr-Commit-Position: refs/heads/master@{#41680}
-
- 06 Dec, 2016 1 commit
-
-
clemensh authored
*and* report all "virtual" wasm scripts right when the wasm script is registered at the inspector. WasmScript is a subtype of Script, with the cast checking that it is actually a wasm script. This layout makes it quite easy to implement functionality that is only available for wasm scripts, and allows to later directly use the WasmCompiledModule instead of the i::Script for backing the debug::WasmScript. We might also add virtual methods to provide different implementations for GetSourcePosition, Source and others. DisassembleWasmFunction now also becomes a method of this class instead of a static function on the DebugInterface. The WasmTranslation now uses the new WasmScript type instead of the Script wrapper, and also registers all virtual wasm scripts immediately when the wasm script is made public to the inspector (when the wasm module is created). R=yangguo@chromium.org,dgozman@chromium.org,titzer@chromium.org BUG=chromium:613110,chromium:659715 Review-Url: https://codereview.chromium.org/2531163010 Cr-Commit-Position: refs/heads/master@{#41519}
-
- 02 Dec, 2016 1 commit
-
-
luoe authored
Descriptions for (typed)arrays will use parenthesis instead of square brackets "Array(10)" instead of "Array[10]". This CL also adds size hints to descriptions of maps and sets. Related CL for DevTools: https://codereview.chromium.org/2524913002/ BUG=405845 Committed: https://crrev.com/92c77a57390e6a9ef726535b255a24359751992d Review-Url: https://codereview.chromium.org/2521853003 Cr-Original-Commit-Position: refs/heads/master@{#41237} Cr-Commit-Position: refs/heads/master@{#41442}
-
- 01 Dec, 2016 1 commit
-
-
kozyatinskiy authored
If we just call CreateDebugInfo in GetPossibleBreakpoints then we won't call PrepareFunctionForBreakPoints and won't be able to step into this function or pause at breakpoint inside. BUG=v8:5695 R=dgozman@chromium.org,yangguo@chromium.org Review-Url: https://codereview.chromium.org/2540943002 Cr-Commit-Position: refs/heads/master@{#41401}
-
- 24 Nov, 2016 3 commits
-
-
jgruber authored
This exposes scopes for suspended generator objects by adding a [[Scopes]] internal property to generator objects, similar to how scopes for functions currently not on the stack are handled. BUG=chromium:667286 Review-Url: https://codereview.chromium.org/2516973003 Cr-Commit-Position: refs/heads/master@{#41244}
-
machenbach authored
Revert of Use parenthesis in descriptions for array/map/set lengths/sizes (patchset #3 id:40001 of https://codereview.chromium.org/2521853003/ ) Reason for revert: Breaks layout tests: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/11595 https://github.com/v8/v8/wiki/Blink-layout-tests Original issue's description: > Use parenthesis in descriptions for array/map/set lengths/sizes > > Descriptions for (typed)arrays will use parenthesis instead of square brackets > "Array(10)" instead of "Array[10]". This CL also adds size hints to descriptions > of maps and sets. > > Related CL for DevTools: https://codereview.chromium.org/2524913002/ > > BUG=405845 > > Committed: https://crrev.com/92c77a57390e6a9ef726535b255a24359751992d > Cr-Commit-Position: refs/heads/master@{#41237} TBR=dgozman@chromium.org,kozyatinskiy@chromium.org,luoe@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=405845 Review-Url: https://codereview.chromium.org/2530803002 Cr-Commit-Position: refs/heads/master@{#41243}
-
luoe authored
Descriptions for (typed)arrays will use parenthesis instead of square brackets "Array(10)" instead of "Array[10]". This CL also adds size hints to descriptions of maps and sets. Related CL for DevTools: https://codereview.chromium.org/2524913002/ BUG=405845 Review-Url: https://codereview.chromium.org/2521853003 Cr-Commit-Position: refs/heads/master@{#41237}
-
- 23 Nov, 2016 1 commit
-
-
jgruber authored
BUG=v8:5530,chromium:667218 Review-Url: https://codereview.chromium.org/2519773003 Cr-Commit-Position: refs/heads/master@{#41205}
-
- 22 Nov, 2016 1 commit
-
-
clemensh authored
When disassembling functions for the inspector, we used an internal text representation before. This CL implements the official text format like it is understood by the spec interpreter. Example output: func $main (param i32) (result i32) block i32 get_local 0 i32.const 2 i32.lt_u if i32.const -2 return end get_local 0 call_indirect 0 end R=rossberg@chromium.org, titzer@chromium.org BUG=chromium:659715 Review-Url: https://codereview.chromium.org/2520943002 Cr-Commit-Position: refs/heads/master@{#41172}
-
- 17 Nov, 2016 3 commits
-
-
clemensh authored
TBR=ahaas@chromium.org, kozyatinskiy@chromium.org NOTRY=true NOTREECHECKS=true Review-Url: https://codereview.chromium.org/2503213004 Cr-Commit-Position: refs/heads/master@{#41069}
-
clemensh authored
The test just prints the source text of each line on the stack. Look how beautiful it reads \o/ BUG=chromium:659715 R=yangguo@chromium.org, kozyatinskiy@chromium.org CC=titzer@chromium.org Review-Url: https://codereview.chromium.org/2492123003 Cr-Commit-Position: refs/heads/master@{#41068}
-
kozyatinskiy authored
Inspector uses this type for all internal scripts, e.g. injected-script-source.js. Scripts with new type are not reported by remote debugging protocol, frames from them are ignored. CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel BUG=none R=yangguo@chromium.org,dgozman@chromium.org Review-Url: https://codereview.chromium.org/2499273003 Cr-Commit-Position: refs/heads/master@{#41056}
-
- 16 Nov, 2016 1 commit
-
-
clemensh authored
This allows to show wasm source (disassembled wasm code) in DevTools. See design doc for details. More tests for the disassembly will have to follow. Also, the text format (generated by V8) will be changed. BUG=chromium:659715 R=yangguo@chromium.org, kozyatinskiy@chromium.org, titzer@chromium.org, dgozman@chromium.org Review-Url: https://codereview.chromium.org/2493773003 Cr-Commit-Position: refs/heads/master@{#41055}
-
- 15 Nov, 2016 1 commit
-
-
clemensh authored
Before, we allocated one script per function per instance, and each script referenced the wasm instance and the function index. Now we only allocate one script per compiled wasm module, so the script also only references this WasmCompiledModule, which causes changes to many interfaces. Instead of fixing the disassemble API only used via debug.js, I decided to drop it for now. Some later CL will reintroduce it via DebugInterface. BUG=v8:5530,chromium:659715 R=yangguo@chromium.org, titzer@chromium.org CC=jgruber@chromium.org Review-Url: https://codereview.chromium.org/2493823003 Cr-Commit-Position: refs/heads/master@{#41004}
-
- 14 Nov, 2016 1 commit
-
-
yangguo authored
We are removing use of the debugger context. When the debugger triggers compilation, we may not have a context from which to create a JSArray. R=ishell@chromium.org BUG=chromium:664577 Review-Url: https://codereview.chromium.org/2479123002 Cr-Commit-Position: refs/heads/master@{#40956}
-
- 11 Nov, 2016 1 commit
-
-
yangguo authored
R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2492713005 Cr-Commit-Position: refs/heads/master@{#40934}
-
- 10 Nov, 2016 3 commits
-
-
yangguo authored
Revert of Compiling an array literal should be context-independent. (patchset #5 id:80001 of https://codereview.chromium.org/2479123002/ ) Reason for revert: speculative revert to fix https://uberchromegw.corp.google.com/i/client.v8/builders/V8%20Mac%20GC%20Stress/builds/9646/steps/Mjsunit%20%28flakes%29/logs/debug-scopes Original issue's description: > Compiling an array literal should be context-independent. > > We are removing use of the debugger context. When the debugger triggers > compilation, we may not have a context from which to create a JSArray. > > R=ishell@chromium.org TBR=ishell@chromium.org,verwaest@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2481363009 Cr-Commit-Position: refs/heads/master@{#40906}
-
yangguo authored
We are removing use of the debugger context. When the debugger triggers compilation, we may not have a context from which to create a JSArray. R=ishell@chromium.org Review-Url: https://codereview.chromium.org/2479123002 Cr-Commit-Position: refs/heads/master@{#40884}
-
jgruber authored
This adds information about an exception's caught/uncaught status to the Runtime.paused event in the data parameter: { "method": "Debugger.paused", "params": { "callFrames": [ [...] ], "data": { "description": "666", "type": "number", "uncaught": true, <--- "value": 666 }, "hitBreakpoints": [], "reason": "exception" } } BUG=v8:5530 Review-Url: https://codereview.chromium.org/2488733003 Cr-Commit-Position: refs/heads/master@{#40875}
-
- 09 Nov, 2016 1 commit
-
-
kozyatinskiy authored
Currently function like "() => 239" contains offset 3 as begin of function and 8 as end of function. This CL changes this to 6 and 9 respectively. BUG=chromium:566801 R=yangguo@chromium.org,dgozman@chromium.org TBR=adamk@chromium.org CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel Review-Url: https://codereview.chromium.org/2488493003 Cr-Commit-Position: refs/heads/master@{#40864}
-
- 04 Nov, 2016 4 commits
-
-
kozyatinskiy authored
This method iterates through all shared function info which are related to passed script, compiles debug code for SFI in range if needed and returns possible break locations. BUG=chromium:566801 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel Review-Url: https://codereview.chromium.org/2465553003 Cr-Commit-Position: refs/heads/master@{#40783}
-
yangguo authored
The old code path is going to be removed with the debug context api. R=kozyatinskiy@chromium.org Review-Url: https://codereview.chromium.org/2465833002 Cr-Commit-Position: refs/heads/master@{#40768}
-
machenbach authored
Revert of [debugger] simplify fetching scripts for inspector. (patchset #6 id:100001 of https://codereview.chromium.org/2465833002/ ) Reason for revert: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/11118 Rule of thumb: As long as the tests have not migrated yet, you most certainly need a blink rebase whenever you change expectations. Original issue's description: > [debugger] simplify fetching scripts for inspector. > > The old code path is going to be removed with the debug context api. > > R=kozyatinskiy@chromium.org TBR=kozyatinskiy@chromium.org,yangguo@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2473273005 Cr-Commit-Position: refs/heads/master@{#40764}
-
yangguo authored
The old code path is going to be removed with the debug context api. R=kozyatinskiy@chromium.org Review-Url: https://codereview.chromium.org/2465833002 Cr-Commit-Position: refs/heads/master@{#40759}
-
- 01 Nov, 2016 1 commit
-
-
kozyatinskiy authored
This roll includes one change: "[inspector_protocol] support fall through and moveable Maybe" [1]. [1] https://codereview.chromium.org/2468923002/ BUG=none R=dgozman@chromium.org Review-Url: https://codereview.chromium.org/2469063002 Cr-Commit-Position: refs/heads/master@{#40687}
-
- 29 Oct, 2016 1 commit
-
-
kozyatinskiy authored
* Introduced DebugInterface::Script - native wrapper on internal::Script. * Migrated getCompildScripts and scriptParsed to native wrapper. BUG=chromium:652939, v8:5510 R=yangguo@chromium.org,dgozman@chromium.org CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel Review-Url: https://codereview.chromium.org/2449213002 Cr-Commit-Position: refs/heads/master@{#40660}
-