Skip to content

Commit

Permalink
inspector: allow es6 module liveedit
Browse files Browse the repository at this point in the history
After total liveedit rewrite, liveedit works with module, we can remove
the guard.

[email protected]

Bug: chromium:806261
Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Ide15eca2ab6d8ba7df4e7fae541c4a65794eeea8
Reviewed-on: https://chromium-review.googlesource.com/1238914
Reviewed-by: Dmitry Gozman <[email protected]>
Commit-Queue: Aleksey Kozyatinskiy <[email protected]>
Cr-Commit-Position: refs/heads/master@{#56151}
  • Loading branch information
alexkozy authored and Commit Bot committed Sep 21, 2018
1 parent 1e6d960 commit 0cec56a
Show file tree
Hide file tree
Showing 6 changed files with 67 additions and 46 deletions.
4 changes: 0 additions & 4 deletions src/inspector/v8-debugger-agent-impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -858,10 +858,6 @@ Response V8DebuggerAgentImpl::setScriptSource(
if (it == m_scripts.end()) {
return Response::Error("No script with given id found");
}
if (it->second->isModule()) {
// TODO(kozyatinskiy): LiveEdit should support ES6 module
return Response::Error("Editing module's script is not supported.");
}
int contextId = it->second->executionContextId();
InspectedContext* inspected = m_inspector->getContext(contextId);
if (!inspected) {
Expand Down
1 change: 0 additions & 1 deletion src/inspector/v8-debugger-script.cc
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,6 @@ class ActualScript : public V8DebuggerScript {

void setSource(const String16& newSource, bool preview,
v8::debug::LiveEditResult* result) override {
DCHECK(!isModule());
v8::EscapableHandleScope scope(m_isolate);
v8::Local<v8::String> v8Source = toV8String(m_isolate, newSource);
if (!m_script.Get(m_isolate)->SetScriptSource(v8Source, preview, result)) {
Expand Down
17 changes: 17 additions & 0 deletions test/inspector/debugger/es6-module-liveedit-expected.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
Checks liveedit with ES6 modules.
console.log message from function before patching:
{
type : string
value : module1
}
Debugger.setScriptSource result:
{
callFrames : [
]
stackChanged : false
}
console.log message from function after patching:
{
type : string
value : patched module1
}
50 changes: 50 additions & 0 deletions test/inspector/debugger/es6-module-liveedit.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
// Copyright 2017 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

const {session, contextGroup, Protocol} =
InspectorTest.start('Checks liveedit with ES6 modules.');

const moduleSource = `
export function foo() {
console.log('module1');
return 42;
}
foo()`;

const newModuleSource = `
export function foo() {
console.log('patched module1');
return 42;
}
foo()`;

const callFooSource = `
import { foo } from 'module';
foo();`;

(async function test() {
await Protocol.Runtime.enable();
await Protocol.Debugger.enable();
contextGroup.addModule(moduleSource, 'module');
const [{ params: { scriptId } }, { params: { args }}] = [
await Protocol.Debugger.onceScriptParsed(),
await Protocol.Runtime.onceConsoleAPICalled()
];
InspectorTest.log('console.log message from function before patching:')
InspectorTest.logMessage(args[0]);

const {result} = await Protocol.Debugger.setScriptSource({
scriptId,
scriptSource: newModuleSource
});
InspectorTest.log('Debugger.setScriptSource result:');
InspectorTest.logMessage(result);

contextGroup.addModule(callFooSource, 'callFoo');
const { params: {args: patchedArgs } } =
await Protocol.Runtime.onceConsoleAPICalled();
InspectorTest.log('console.log message from function after patching:')
InspectorTest.logMessage(patchedArgs[0]);
InspectorTest.completeTest();
})()

This file was deleted.

33 changes: 0 additions & 33 deletions test/inspector/debugger/es6-module-set-script-source.js

This file was deleted.

0 comments on commit 0cec56a

Please sign in to comment.