New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 629914 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Mar 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Feature



Sign in to add a comment

Improve hosted mode workflow

Project Member Reported by chenwilliam@chromium.org, Jul 20 2016

Issue description

Improve hosted mode workflow

1) create a server that uses proxy and cache to serve the correct protocol json files 
- this will eliminate the need to manually submit CLs to update the protocol json
2) create npm scripts that simplify the hosted mode development steps 
(e.g. "npm run chrome" to start Chrome with the RDP open on 9222 and other flags 
and "npm run server" to the start the local server serving the files).

In addition, there are a couple of opportunities to improve our external contribution story:
1) include package.json and license into the repo
2) run the cron job that syncs the git subtree for devtools frontend in its own instance
 
Project Member

Comment 2 by bugdroid1@chromium.org, Jul 27 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/13e20a50fcaf3134c48dfad74c3b1991ba7c9cec

commit 13e20a50fcaf3134c48dfad74c3b1991ba7c9cec
Author: chenwilliam <chenwilliam@chromium.org>
Date: Wed Jul 27 02:29:57 2016

DevTools: implement proxy server for hosted mode

Completed:
- Simple web server for serving static assets using node
- Proxies requests for certain files
- In-memory cache of proxied files from previous requests
- Add npm script "npm run server" to start the web server
- Users can use a custom port: "PORT=3000 npm run server"

Notes:
- Sends dummy response for InspectorBackendCommands.js because it’s not needed
for hosted mode and avoids a console error

BUG= 629914 

Review-Url: https://codereview.chromium.org/2167413002
Cr-Commit-Position: refs/heads/master@{#408018}

[delete] https://crrev.com/9502bad0f8dd68836373a6dfc1eae65f85a6e98a/third_party/WebKit/Source/devtools/front_end/sdk/protocol/README.md
[delete] https://crrev.com/9502bad0f8dd68836373a6dfc1eae65f85a6e98a/third_party/WebKit/Source/devtools/front_end/sdk/protocol/browser_protocol.json
[delete] https://crrev.com/9502bad0f8dd68836373a6dfc1eae65f85a6e98a/third_party/WebKit/Source/devtools/front_end/sdk/protocol/js_protocol.json
[modify] https://crrev.com/13e20a50fcaf3134c48dfad74c3b1991ba7c9cec/third_party/WebKit/Source/devtools/package.json
[add] https://crrev.com/13e20a50fcaf3134c48dfad74c3b1991ba7c9cec/third_party/WebKit/Source/devtools/scripts/hosted_mode/server.js

Project Member

Comment 3 by bugdroid1@chromium.org, Aug 4 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c453b7819ecc95fad800c61c31c8c2db31839725

commit c453b7819ecc95fad800c61c31c8c2db31839725
Author: chenwilliam <chenwilliam@chromium.org>
Date: Thu Aug 04 19:56:57 2016

DevTools: improve UX for hosted mode + fix bug

This CL includes several quick improvements for hosted mode:
- Properly serves InspectorBackendCommands.js. It turns out the metadata from
the file is necessary for certain operations (e.g. $0 in the console).
- Can now customize remote debugging port in addition to server port
(e.g. REMOTE_DEBUGGING_PORT=9333 PORT=1234 npm run server)
- Provides helpful info if you go to server root path: (e.g. http://localhost:8090/).
As Paul pointed out, users may go here to check if the server is working.
“Please go to http://localhost:9222#http://localhost:8090/front_end/inspector.html?experiments=true”
(Note: it accounts for custom ports passed in)
- Add chrome favicon (same favicon as https://developer.chrome.com/devtools)

I'll update the docs with the RDP info once this CL has landed.

BUG= 629914 

Review-Url: https://codereview.chromium.org/2195113002
Cr-Commit-Position: refs/heads/master@{#409878}

[modify] https://crrev.com/c453b7819ecc95fad800c61c31c8c2db31839725/third_party/WebKit/Source/devtools/front_end/inspector.js
[modify] https://crrev.com/c453b7819ecc95fad800c61c31c8c2db31839725/third_party/WebKit/Source/devtools/scripts/hosted_mode/server.js

Project Member

Comment 4 by bugdroid1@chromium.org, Sep 14 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f32d6d1fb625c48f647273dd3db5e1c5bceb1c84

commit f32d6d1fb625c48f647273dd3db5e1c5bceb1c84
Author: chenwilliam <chenwilliam@chromium.org>
Date: Wed Sep 14 03:08:09 2016

DevTools: find and launch chrome in debug mode

Cross-platform node.js script to automatically find Chrome Canary (in Mac and Windows)
and launch it with debug flags.

I've updated README which explains the workflow for users.

Workflow commands (from /devtools):
* npm start - starts Chrome and development server
* npm run chrome - starts Chrome browser
* npm run server - starts development server

BUG= 629914 

Review-Url: https://codereview.chromium.org/2337713002
Cr-Commit-Position: refs/heads/master@{#418469}

[modify] https://crrev.com/f32d6d1fb625c48f647273dd3db5e1c5bceb1c84/third_party/WebKit/Source/devtools/package.json
[modify] https://crrev.com/f32d6d1fb625c48f647273dd3db5e1c5bceb1c84/third_party/WebKit/Source/devtools/readme.md
[add] https://crrev.com/f32d6d1fb625c48f647273dd3db5e1c5bceb1c84/third_party/WebKit/Source/devtools/scripts/chrome_debug_launcher/launch_chrome.js
[add] https://crrev.com/f32d6d1fb625c48f647273dd3db5e1c5bceb1c84/third_party/WebKit/Source/devtools/scripts/chrome_debug_launcher/package.json
[modify] https://crrev.com/f32d6d1fb625c48f647273dd3db5e1c5bceb1c84/third_party/WebKit/Source/devtools/scripts/hosted_mode/server.js
[add] https://crrev.com/f32d6d1fb625c48f647273dd3db5e1c5bceb1c84/third_party/WebKit/Source/devtools/scripts/start_chrome_and_server.js

Screenshot of the remote debugging page with custom devtools frontend
custom-view-of-remote-debugging.png
67.7 KB View Download
Project Member

Comment 6 by bugdroid1@chromium.org, Nov 1 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/359abf8463487cc61c260b34053a14022185f7f9

commit 359abf8463487cc61c260b34053a14022185f7f9
Author: lushnikov <lushnikov@chromium.org>
Date: Tue Nov 01 18:58:09 2016

DevTools: introduce --custom-devtools-frontend flag.

This patch introduces the --custom-devtools-frontend flag
with a value of an HTTP endpoint which should serve
devtools front-end.

With this flag, the custom front-end will be available
under the chrome-devtools://devtools/custom/inspector.html.
This front-end will get devtools bindings, which basically
means it's a full-featured hosted mode.

Example use:

   chrome --custom-devtools-frontend=http://localhost:8090/front_end

In order to make a use of the new flag, the remote debugging
front-end page can point to the custom devtools url. In order to do
so, it should be provided a special hash value:

   localhost:9222#custom=true&experiments=true

BUG= 629914 
R=pfeldman, dgozman

Review-Url: https://codereview.chromium.org/2458033003
Cr-Commit-Position: refs/heads/master@{#429064}

[modify] https://crrev.com/359abf8463487cc61c260b34053a14022185f7f9/chrome/browser/devtools/frontend/devtools_discovery_page.html
[modify] https://crrev.com/359abf8463487cc61c260b34053a14022185f7f9/chrome/browser/ui/webui/devtools_ui.cc
[modify] https://crrev.com/359abf8463487cc61c260b34053a14022185f7f9/chrome/common/chrome_switches.cc
[modify] https://crrev.com/359abf8463487cc61c260b34053a14022185f7f9/chrome/common/chrome_switches.h
[modify] https://crrev.com/359abf8463487cc61c260b34053a14022185f7f9/chrome/common/url_constants.cc
[modify] https://crrev.com/359abf8463487cc61c260b34053a14022185f7f9/chrome/common/url_constants.h

Project Member

Comment 7 by bugdroid1@chromium.org, Nov 2 2016

Project Member

Comment 8 by bugdroid1@chromium.org, Nov 2 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/16056dbccd68723d61feaf6e9a9518a300485c2c

commit 16056dbccd68723d61feaf6e9a9518a300485c2c
Author: lushnikov <lushnikov@chromium.org>
Date: Wed Nov 02 21:56:43 2016

DevTools: isolate settings of custom devtoools front-end.

Currently, changing a setting inside custom devtools front-end (the one
served through chrome-devtools://devtools/custom) will change the same
setting inside bundled devtools.

This is unfortunate. In the setup we aim for, the custom devtools
are inspected by the bundled devtools, and we want them to be
independent of each other.

This patch starts using local storage for the settings of the
chrome-devtools://devtools/custom front-end.

Note: settings will be isolated, whereas experiments won't.

BUG= 629914 
R=dgozman

Review-Url: https://codereview.chromium.org/2474563002
Cr-Commit-Position: refs/heads/master@{#429414}

[modify] https://crrev.com/16056dbccd68723d61feaf6e9a9518a300485c2c/third_party/WebKit/Source/devtools/front_end/main/Main.js

Project Member

Comment 9 by bugdroid1@chromium.org, Nov 9 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/06d6b72bec8b7a0d1edc53b7597eb1a5acb78285

commit 06d6b72bec8b7a0d1edc53b7597eb1a5acb78285
Author: lushnikov <lushnikov@chromium.org>
Date: Wed Nov 09 01:45:00 2016

Revert of DevTools: isolate settings of custom devtoools front-end. (patchset #3 id:40001 of https://codereview.chromium.org/2474563002/ )

Reason for revert:
Reverting this patchset since it doesn't fully address problem. LocalStorage settings still clash.

Original issue's description:
> DevTools: isolate settings of custom devtoools front-end.
>
> Currently, changing a setting inside custom devtools front-end (the one
> served through chrome-devtools://devtools/custom) will change the same
> setting inside bundled devtools.
>
> This is unfortunate. In the setup we aim for, the custom devtools
> are inspected by the bundled devtools, and we want them to be
> independent of each other.
>
> This patch starts using local storage for the settings of the
> chrome-devtools://devtools/custom front-end.
>
> Note: settings will be isolated, whereas experiments won't.
>
> BUG= 629914 
> R=dgozman
>
> Committed: https://crrev.com/16056dbccd68723d61feaf6e9a9518a300485c2c
> Cr-Commit-Position: refs/heads/master@{#429414}

TBR=dgozman@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG= 629914 

Review-Url: https://codereview.chromium.org/2483333003
Cr-Commit-Position: refs/heads/master@{#430814}

[modify] https://crrev.com/06d6b72bec8b7a0d1edc53b7597eb1a5acb78285/third_party/WebKit/Source/devtools/front_end/main/Main.js

Project Member

Comment 10 by bugdroid1@chromium.org, Nov 10 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7abe75523c7e774d534ec529146b86f6b25c05f3

commit 7abe75523c7e774d534ec529146b86f6b25c05f3
Author: lushnikov <lushnikov@chromium.org>
Date: Thu Nov 10 19:05:03 2016

DevTools: settings of custom devtools should not interfere with bundled devtools

Currently, changing a setting inside custom devtools front-end (the one
served through chrome-devtools://devtools/custom) will change the same
setting inside bundled devtools.

This is unfortunate. In the setup we aim for, the custom devtools
are inspected by the bundled devtools, and we want them to be
independent of each other.

This patch makes WI.SettingStorage to use a prefix for all the keys
being stored in case of custom frontend.

Note: settings will be isolated, whereas experiments won't.

BUG= 629914 
R=dgozman

Review-Url: https://codereview.chromium.org/2487373002
Cr-Commit-Position: refs/heads/master@{#431309}

[modify] https://crrev.com/7abe75523c7e774d534ec529146b86f6b25c05f3/third_party/WebKit/Source/devtools/front_end/common/Settings.js
[modify] https://crrev.com/7abe75523c7e774d534ec529146b86f6b25c05f3/third_party/WebKit/Source/devtools/front_end/host/Platform.js
[modify] https://crrev.com/7abe75523c7e774d534ec529146b86f6b25c05f3/third_party/WebKit/Source/devtools/front_end/main/Main.js

Project Member

Comment 11 by bugdroid1@chromium.org, Nov 10 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fdd431e08a4729eac09d876d988b9534a670a65b

commit fdd431e08a4729eac09d876d988b9534a670a65b
Author: chenwilliam <chenwilliam@chromium.org>
Date: Thu Nov 10 19:55:14 2016

DevTools: improve launch chrome (add --reset-profile option)

- by default, re-use the same dev profile for user-data-dir unless user wants to
clear their dev profile by using "--reset-profile"
- better support for looking up chromium on Linux
- enables devtools experiment flag (for the built-in DevTools)

BUG= 629914 

Review-Url: https://codereview.chromium.org/2493573003
Cr-Commit-Position: refs/heads/master@{#431325}

[modify] https://crrev.com/fdd431e08a4729eac09d876d988b9534a670a65b/third_party/WebKit/Source/devtools/.gitignore
[modify] https://crrev.com/fdd431e08a4729eac09d876d988b9534a670a65b/third_party/WebKit/Source/devtools/readme.md
[modify] https://crrev.com/fdd431e08a4729eac09d876d988b9534a670a65b/third_party/WebKit/Source/devtools/scripts/chrome_debug_launcher/launch_chrome.js
[modify] https://crrev.com/fdd431e08a4729eac09d876d988b9534a670a65b/third_party/WebKit/Source/devtools/scripts/start_chrome_and_server.js

Project Member

Comment 12 by bugdroid1@chromium.org, Nov 15 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c1da08f9c7e7e856d7f1fb9bed9b838e058a7ba7

commit c1da08f9c7e7e856d7f1fb9bed9b838e058a7ba7
Author: chenwilliam <chenwilliam@chromium.org>
Date: Tue Nov 15 01:06:59 2016

DevTools: hosted mode fallback if generated files aren't uploaded yet

Hosted mode fetches a couple of generated files from the cloud. Because there's
a delay between when a commit lands in trunk and when it's uploaded to appspot, oftentimes
users experience an error when trying to run hosted mode with Chromium close to tip of
tree. This provides a fallback so that the hosted mode proxy server tries to fetch
it an earlier revision of the same file.

BUG= 629914 

Review-Url: https://codereview.chromium.org/2489033003
Cr-Commit-Position: refs/heads/master@{#432044}

[modify] https://crrev.com/c1da08f9c7e7e856d7f1fb9bed9b838e058a7ba7/third_party/WebKit/Source/devtools/scripts/hosted_mode/server.js
[modify] https://crrev.com/c1da08f9c7e7e856d7f1fb9bed9b838e058a7ba7/third_party/WebKit/Source/devtools/scripts/utils.js

Project Member

Comment 13 by bugdroid1@chromium.org, Nov 19 2016

Status: Fixed (was: Assigned)

Sign in to add a comment