v8/test/inspector/runtime/runtime-disable-preserve-injected-script.js
Alexey Kozyatinskiy e6f5a80f0e [inspector] don't discard injected-script on runtime.disable
Most methods on runtime agent are available when agent is disabled, we compile
injected-script lazily and should not invalidate it on runtime.disable since it
will invalidate all related objectIds.

R=dgozman@chromium.org

Bug: none
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I86f3c5d6908862cd4c0847c433f35a6d83c6396b
Reviewed-on: https://chromium-review.googlesource.com/607153
Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47265}
2017-08-10 04:33:14 +00:00

26 lines
993 B
JavaScript

// 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.
(async function test() {
let {session, contextGroup, Protocol} =
InspectorTest.start(
"Tests that Runtime.disable doesn't invalidate injected-script.");
Protocol.Runtime.enable();
let {result:{result:{objectId}}} = await Protocol.Runtime.evaluate({
expression: "({a:1})"
});
var {result:{result}} = await Protocol.Runtime.getProperties({objectId});
InspectorTest.logMessage(result.find(property => property.name === 'a'));
InspectorTest.log('Disabling agent..');
await Protocol.Runtime.disable();
var result = await Protocol.Runtime.getProperties({objectId});
if (result.error) {
InspectorTest.logMessage(result);
} else {
var props = result.result.result;
InspectorTest.logMessage(props.find(property => property.name === 'a'));
}
InspectorTest.completeTest();
})()