From ec3649f6b8026ce42486144e7e94bd1b70f6bf45 Mon Sep 17 00:00:00 2001 From: Trent Apted Date: Tue, 26 Nov 2019 03:25:07 +0000 Subject: [PATCH] Revert "Move browser_protocol.pdl to third_party/blink/public/devtools_protocol" This reverts commit 3e9d66ebd52bee80d5746781b9b011131a4be7bc. Reason for revert: Widespread bot failures for Step "isolate tests" error like: isolate: isolate /b/s/w/ir/cache/builder/src/out/Release/devtools_type_check.isolate: partitioning deps: lstat /b/s/w/ir/cache/builder/src/third_party/blink/renderer/core/inspector/browser_protocol.pdl: no such file or directory Bug: 1028446 Original change's description: > Move browser_protocol.pdl to third_party/blink/public/devtools_protocol > > Bug: 1018108 > > This still retains a copy of protocol.json for compatibility with > devtools front_end. > Also, remove a presubmit for front-end compilation upon a change to PDL > since the front-end is in another repository now. > > Change-Id: I2faea62feca80776d2fc0a0b4ea00a90439ae005 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1898538 > Commit-Queue: Andrey Kosyakov > Reviewed-by: Jochen Eisinger > Reviewed-by: Dmitry Gozman > Cr-Commit-Position: refs/heads/master@{#718903} TBR=dgozman@chromium.org,caseq@chromium.org,pfeldman@chromium.org,jochen@chromium.org Change-Id: I39435e4be7dde62ffd48d1f72a0ecbbac9165ae1 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 1018108 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1935479 Reviewed-by: Trent Apted Commit-Queue: Trent Apted Cr-Commit-Position: refs/heads/master@{#718977} --- chrome/browser/devtools/BUILD.gn | 4 +- .../browser/devtools/BUILD.gn | 4 +- content/browser/devtools/BUILD.gn | 10 ++-- headless/BUILD.gn | 10 ++-- .../blink/public/devtools_protocol/BUILD.gn | 48 ------------------- .../blink/public/devtools_protocol/OWNERS | 6 --- .../blink/renderer/core/inspector/BUILD.gn | 46 ++++++++++++++---- .../blink/renderer/core/inspector/OWNERS | 8 ++++ .../renderer/core/inspector/PRESUBMIT.py | 35 ++++++++++++++ .../core/inspector}/browser_protocol-1.2.json | 0 .../core/inspector}/browser_protocol-1.3.json | 0 .../core/inspector}/browser_protocol.pdl | 0 .../inspector/inspector_protocol_config.json | 2 +- 13 files changed, 94 insertions(+), 79 deletions(-) delete mode 100644 third_party/blink/public/devtools_protocol/BUILD.gn delete mode 100644 third_party/blink/public/devtools_protocol/OWNERS create mode 100644 third_party/blink/renderer/core/inspector/PRESUBMIT.py rename third_party/blink/{public/devtools_protocol => renderer/core/inspector}/browser_protocol-1.2.json (100%) rename third_party/blink/{public/devtools_protocol => renderer/core/inspector}/browser_protocol-1.3.json (100%) rename third_party/blink/{public/devtools_protocol => renderer/core/inspector}/browser_protocol.pdl (100%) diff --git a/chrome/browser/devtools/BUILD.gn b/chrome/browser/devtools/BUILD.gn index fbdc1752d9f879..993db0a27477ea 100644 --- a/chrome/browser/devtools/BUILD.gn +++ b/chrome/browser/devtools/BUILD.gn @@ -45,11 +45,11 @@ if (!is_android) { script = _inspector_protocol + "/concatenate_protocols.py" deps = [ - "//third_party/blink/public/devtools_protocol:protocol_version", + "//third_party/blink/renderer/core/inspector:protocol_version", ] _blink_protocol_path = - "$root_gen_dir/third_party/blink/public/devtools_protocol/protocol.json" + "$root_gen_dir/third_party/blink/renderer/core/inspector/protocol.json" inputs = [ _blink_protocol_path, ] diff --git a/components/autofill_assistant/browser/devtools/BUILD.gn b/components/autofill_assistant/browser/devtools/BUILD.gn index b9cc466de3f79f..4733a8627786d7 100644 --- a/components/autofill_assistant/browser/devtools/BUILD.gn +++ b/components/autofill_assistant/browser/devtools/BUILD.gn @@ -54,10 +54,10 @@ foreach(domain, devtools_domains) { action("gen_devtools_client_api") { script = "devtools_api/client_api_generator.py" deps = [ - "//third_party/blink/public/devtools_protocol:protocol_version", + "//third_party/blink/renderer/core/inspector:protocol_version", ] inputs = [ - "$root_gen_dir/third_party/blink/public/devtools_protocol/protocol.json", + "$root_gen_dir/third_party/blink/renderer/core/inspector/protocol.json", ] outputs = generated_devtools_api diff --git a/content/browser/devtools/BUILD.gn b/content/browser/devtools/BUILD.gn index 187a511c6fd690..47e0c552569bb0 100644 --- a/content/browser/devtools/BUILD.gn +++ b/content/browser/devtools/BUILD.gn @@ -29,7 +29,7 @@ grit("devtools_resources") { grit_flags = [ "-E", "protocol_file=" + rebase_path( - "$root_gen_dir/third_party/blink/public/devtools_protocol/protocol.json", + "$root_gen_dir/third_party/blink/renderer/core/inspector/protocol.json", root_build_dir), ] @@ -37,7 +37,7 @@ grit("devtools_resources") { [ "SHARED_INTERMEDIATE_DIR=" + rebase_path(root_gen_dir, root_build_dir) ] deps = [ - "//third_party/blink/public/devtools_protocol:protocol_version", + "//third_party/blink/renderer/core/inspector:protocol_version", # This is the action that generates out .grd input file. "//third_party/blink/public:blink_generate_devtools_grd", @@ -47,10 +47,10 @@ grit("devtools_resources") { inspector_protocol_generate("protocol_sources") { visibility = [ "//content/browser" ] deps = [ - "//third_party/blink/public/devtools_protocol:protocol_version", + "//third_party/blink/renderer/core/inspector:protocol_version", ] _blink_protocol_path = rebase_path( - "$root_gen_dir/third_party/blink/public/devtools_protocol/protocol.json", + "$root_gen_dir/third_party/blink/renderer/core/inspector/protocol.json", root_build_dir) inspector_protocol_dir = "//third_party/inspector_protocol" @@ -59,7 +59,7 @@ inspector_protocol_generate("protocol_sources") { config_values = [ "protocol.path=$_blink_protocol_path" ] inputs = [ - "$root_gen_dir/third_party/blink/public/devtools_protocol/protocol.json", + "$root_gen_dir/third_party/blink/renderer/core/inspector/protocol.json", config_file, ] diff --git a/headless/BUILD.gn b/headless/BUILD.gn index 40fdb7529a8ce6..ed9c257d072228 100644 --- a/headless/BUILD.gn +++ b/headless/BUILD.gn @@ -170,10 +170,10 @@ foreach(domain, devtools_domains) { action("gen_devtools_client_api") { script = "lib/browser/devtools_api/client_api_generator.py" deps = [ - "//third_party/blink/public/devtools_protocol:protocol_version", + "//third_party/blink/renderer/core/inspector:protocol_version", ] inputs = [ - "$root_gen_dir/third_party/blink/public/devtools_protocol/protocol.json", + "$root_gen_dir/third_party/blink/renderer/core/inspector/protocol.json", ] outputs = generated_devtools_api @@ -213,10 +213,10 @@ if (headless_fontconfig_utils && !is_fuchsia) { inspector_protocol_generate("protocol_sources") { visibility = [ "//headless:headless_shared_sources" ] deps = [ - "//third_party/blink/public/devtools_protocol:protocol_version", + "//third_party/blink/renderer/core/inspector:protocol_version", ] _blink_protocol_path = rebase_path( - "$root_gen_dir/third_party/blink/public/devtools_protocol/protocol.json", + "$root_gen_dir/third_party/blink/renderer/core/inspector/protocol.json", root_build_dir) inspector_protocol_dir = "//third_party/inspector_protocol" @@ -225,7 +225,7 @@ inspector_protocol_generate("protocol_sources") { config_values = [ "protocol.path=$_blink_protocol_path" ] inputs = [ - "$root_gen_dir/third_party/blink/public/devtools_protocol/protocol.json", + "$root_gen_dir/third_party/blink/renderer/core/inspector/protocol.json", config_file, ] diff --git a/third_party/blink/public/devtools_protocol/BUILD.gn b/third_party/blink/public/devtools_protocol/BUILD.gn deleted file mode 100644 index 848c98947fb9cc..00000000000000 --- a/third_party/blink/public/devtools_protocol/BUILD.gn +++ /dev/null @@ -1,48 +0,0 @@ -import("//third_party/inspector_protocol/inspector_protocol.gni") -import("//v8/gni/v8.gni") - -_inspector_protocol_dir = "//third_party/inspector_protocol" -_protocol_out_dir = "$root_gen_dir/third_party/blink/public/devtools_protocol" - -action("protocol_compatibility_check") { - script = _inspector_protocol_dir + "/check_protocol_compatibility.py" - - inputs = [ - "browser_protocol.pdl", - "browser_protocol-1.3.json", - v8_inspector_js_protocol, - ] - _stamp = "$_protocol_out_dir/browser_protocol.stamp" - outputs = [ - _stamp, - ] - - args = [ - "--stamp", - rebase_path(_stamp, root_build_dir), - rebase_path("browser_protocol.pdl", root_build_dir), - rebase_path(v8_inspector_js_protocol, root_build_dir), - ] -} - -action("protocol_version") { - deps = [ - ":protocol_compatibility_check", - ] - script = _inspector_protocol_dir + "/concatenate_protocols.py" - - inputs = [ - "browser_protocol.pdl", - v8_inspector_js_protocol, - ] - output_file = "$_protocol_out_dir/protocol.json" - outputs = [ - output_file, - ] - - args = [ - rebase_path("browser_protocol.pdl", root_build_dir), - rebase_path(v8_inspector_js_protocol, root_build_dir), - rebase_path(output_file, root_build_dir), - ] -} diff --git a/third_party/blink/public/devtools_protocol/OWNERS b/third_party/blink/public/devtools_protocol/OWNERS deleted file mode 100644 index ddbdc49368a0fb..00000000000000 --- a/third_party/blink/public/devtools_protocol/OWNERS +++ /dev/null @@ -1,6 +0,0 @@ -alph@chromium.org -caseq@chromium.org -dgozman@chromium.org -pfeldman@chromium.org - -# COMPONENT: Platform>DevTools diff --git a/third_party/blink/renderer/core/inspector/BUILD.gn b/third_party/blink/renderer/core/inspector/BUILD.gn index 262b77892e1de6..26210163060f80 100644 --- a/third_party/blink/renderer/core/inspector/BUILD.gn +++ b/third_party/blink/renderer/core/inspector/BUILD.gn @@ -114,8 +114,6 @@ blink_core_sources("inspector") { inspector_protocol_generate("protocol_sources") { inspector_protocol_dir = _inspector_protocol_dir - browser_protocol = - "//third_party/blink/public/devtools_protocol/browser_protocol.pdl" out_dir = blink_core_output_dir config_file = "inspector_protocol_config.json" @@ -123,8 +121,8 @@ inspector_protocol_generate("protocol_sources") { config_values = [ "imported.path=$_imported" ] inputs = [ + "browser_protocol.pdl", v8_inspector_js_protocol, - browser_protocol, "inspector_protocol_config.json", ] @@ -219,17 +217,45 @@ jumbo_source_set("generated") { ] } -# TODO(caseq): remove once devtools-frontend is updated to use the -# correct location. -copy("protocol_version") { - sources = [ - "$root_gen_dir/third_party/blink/public/devtools_protocol/protocol.json", +action("protocol_compatibility_check") { + script = _inspector_protocol_dir + "/check_protocol_compatibility.py" + + inputs = [ + "browser_protocol.pdl", + "browser_protocol-1.3.json", + v8_inspector_js_protocol, + ] + _stamp = "$blink_core_output_dir/inspector/browser_protocol.stamp" + outputs = [ + _stamp, + ] + + args = [ + "--stamp", + rebase_path(_stamp, root_build_dir), + rebase_path("browser_protocol.pdl", root_build_dir), + rebase_path(v8_inspector_js_protocol, root_build_dir), + ] +} + +action("protocol_version") { + deps = [ + ":protocol_compatibility_check", + ] + script = _inspector_protocol_dir + "/concatenate_protocols.py" + + inputs = [ + "browser_protocol.pdl", + v8_inspector_js_protocol, ] output_file = "$blink_core_output_dir/inspector/protocol.json" outputs = [ output_file, ] - deps = [ - "//third_party/blink/public/devtools_protocol:protocol_version", + + args = [ + rebase_path("browser_protocol.pdl", root_build_dir), + rebase_path(v8_inspector_js_protocol, root_build_dir), + rebase_path(output_file, root_build_dir), ] } diff --git a/third_party/blink/renderer/core/inspector/OWNERS b/third_party/blink/renderer/core/inspector/OWNERS index 182cfa9ca81110..2b5fdc688b7c4a 100644 --- a/third_party/blink/renderer/core/inspector/OWNERS +++ b/third_party/blink/renderer/core/inspector/OWNERS @@ -4,4 +4,12 @@ dgozman@chromium.org pfeldman@chromium.org yangguo@chromium.org +# Changes to remote debugging protocol require devtools review to +# ensure backwards compatibility and committment to maintain. +per-file browser_protocol.pdl=set noparent +per-file browser_protocol.pdl=alph@chromium.org +per-file browser_protocol.pdl=dgozman@chromium.org +per-file browser_protocol.pdl=caseq@chromium.org +per-file browser_protocol.pdl=pfeldman@chromium.org + # COMPONENT: Platform>DevTools diff --git a/third_party/blink/renderer/core/inspector/PRESUBMIT.py b/third_party/blink/renderer/core/inspector/PRESUBMIT.py new file mode 100644 index 00000000000000..8106d2e5a6be4c --- /dev/null +++ b/third_party/blink/renderer/core/inspector/PRESUBMIT.py @@ -0,0 +1,35 @@ +# Copyright 2017 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + + +def _CompileDevtoolsFrontend(input_api, output_api): + # Need to get all affected files from change (not just within this subtree) + local_paths = [f.AbsoluteLocalPath() for f in input_api.change.AffectedFiles()] + devtools = input_api.os_path.realpath( + input_api.os_path.join(input_api.PresubmitLocalPath(), "..", "..", "..", "..", "devtools-frontend", "src")) + + # If a devtools file is changed, the PRESUBMIT hook in Source/devtools + # will run closure compiler + if (any("browser_protocol.pdl" in path for path in local_paths) and + all(devtools not in path for path in local_paths)): + compile_path = input_api.os_path.join( + input_api.PresubmitLocalPath(), "..", "..", "..", "..", "devtools-frontend", "src", "scripts", "test", "run_type_check.py") + out, _ = input_api.subprocess.Popen( + [input_api.python_executable, compile_path], stdout=input_api.subprocess.PIPE, + stderr=input_api.subprocess.STDOUT).communicate() + if "ERROR" in out or "WARNING" in out: + return [output_api.PresubmitError(out)] + if "NOTE" in out: + return [output_api.PresubmitPromptWarning(out)] + return [] + + +def CheckChangeOnUpload(input_api, output_api): + results = [] + results.extend(_CompileDevtoolsFrontend(input_api, output_api)) + return results + + +def CheckChangeOnCommit(input_api, output_api): + return [] diff --git a/third_party/blink/public/devtools_protocol/browser_protocol-1.2.json b/third_party/blink/renderer/core/inspector/browser_protocol-1.2.json similarity index 100% rename from third_party/blink/public/devtools_protocol/browser_protocol-1.2.json rename to third_party/blink/renderer/core/inspector/browser_protocol-1.2.json diff --git a/third_party/blink/public/devtools_protocol/browser_protocol-1.3.json b/third_party/blink/renderer/core/inspector/browser_protocol-1.3.json similarity index 100% rename from third_party/blink/public/devtools_protocol/browser_protocol-1.3.json rename to third_party/blink/renderer/core/inspector/browser_protocol-1.3.json diff --git a/third_party/blink/public/devtools_protocol/browser_protocol.pdl b/third_party/blink/renderer/core/inspector/browser_protocol.pdl similarity index 100% rename from third_party/blink/public/devtools_protocol/browser_protocol.pdl rename to third_party/blink/renderer/core/inspector/browser_protocol.pdl diff --git a/third_party/blink/renderer/core/inspector/inspector_protocol_config.json b/third_party/blink/renderer/core/inspector/inspector_protocol_config.json index 9d6502e3e9f82a..35feb021f29aac 100644 --- a/third_party/blink/renderer/core/inspector/inspector_protocol_config.json +++ b/third_party/blink/renderer/core/inspector/inspector_protocol_config.json @@ -1,6 +1,6 @@ { "protocol": { - "path": "../../../public/devtools_protocol/browser_protocol.pdl", + "path": "browser_protocol.pdl", "package": "third_party/blink/renderer/core/inspector/protocol", "output": "inspector/protocol", "namespace": ["blink", "protocol"],