Git Product home page Git Product logo

Comments (10)

zwri avatar zwri commented on May 3, 2024

Hi Umar,

Yes, good idea. I'll modify the proxy to add a command-line arg for the
URL (http:// or local file://), so you can point it to different DevTools
files.

The proxy currently uses an old copy of DevTools that's hosted on appspot.
Ideally we could use Blink's Git website URL, but it looks like they only
provide marked-up HTML views of files, not "raw" views. I'll send them an
email. Once this works, I'll change the proxy's default URL.

Lastly, I plan to add support to read Chrome's "resources.pak" file. That
way the proxy will reuse Chrome's local DevTools files by default, with no
special setup or network access! I've already figured out the pak format
and indexing, but it'll be a couple weeks before I find time to implement
this.

Todd

from ios-webkit-debug-proxy.

umaar avatar umaar commented on May 3, 2024

Hey Todd, that's great, thank you for the update.

from ios-webkit-debug-proxy.

zwri avatar zwri commented on May 3, 2024

Hi Umar, I just committed support for a new command-line argument to specify the DevTools URL. Please try it out!

Here's info from `ios_webkit_debug_proxy --help`:
  -f, --frontend URL    DevTools frontend UI path or URL, defaults to:
          http://chrome-devtools-frontend.appspot.com/static/18.0.1025.74/devtools.html
        E.g. to use a local WebKit checkout:
          /usr/local/WebCore/inspector/front-end/inspector.html
        E.g. to use a remote server:
          http://foo.com:1234/bar/inspector.html
        The value must end in ".html"
  --no-frontend     Disable the DevTools frontend.
As noted above, the default URL is the same appspot server as before, but I plan to change that soon, once we figure out where to host our copy of DevTools -- options include chromium.googlesource.com, gstatic.com, and our own webpagetest.org.
Blink's Git repo contains ".qrc" files that are compiled into ".js", so if you run from the repo as-is the inspector won't load, but the proxy will print the easy fix:
    Missing code-generated WebKit file:
        /usr/local/WebCore/inspector/front-end/InspectorBackendCommands.js
    A matching ".qrc" exists, so try generating the ".js":
        cd /usr/local/WebCore/inspector/front-end/..
        mkdir -p tmp
        ./CodeGeneratorInspector.py Inspector.json --output_h_dir tmp --output_cpp_dir tmp
        mv tmp/*.js /usr/local/WebCore/inspector/front-end

from ios-webkit-debug-proxy.

pmeenan avatar pmeenan commented on May 3, 2024

Btw, if you just up the version number to a more recent chrome build it
will also work. I believe there are hosted versions from every chrome
release on the appspot project.


Sent from my slab of glass with no keyboard so it will be a miracle if you
receive what I meant to type.

On May 24, 2013, at 7:57 PM, Todd Wright [email protected] wrote:

Hi Umar, I just committed support for a new command-line argument to
specify the DevTools URL. Please try it out!

Here's info from ios_webkit_debug_proxy --help:
-f, --frontend URL DevTools frontend UI path or URL, defaults to:
http://chrome-devtools-frontend.appspot.com/static/18.0.1025.74/devtools.html
E.g. to use a local WebKit checkout:
/usr/local/WebCore/inspector/front-end/inspector.html
E.g. to use a remote server:
http://foo.com:1234/bar/inspector.html
The value must end in ".html"
--no-frontend Disable the DevTools frontend.

As noted above, the default URL is the same appspot server as before, but I
plan to change that soon, once we figure out where to host our copy of
DevTools -- options include chromium.googlesource.com, gstatic.com, and our
own webpagetest.org.

Blink's Git repo contains ".qrc" files that are compiled into ".js", so if
you run from the repo as-is the inspector won't load, but the proxy will
print the easy fix:
Missing code-generated WebKit file:
/usr/local/WebCore/inspector/front-end/InspectorBackendCommands.js
A matching ".qrc" exists, so try generating the ".js":
cd /usr/local/WebCore/inspector/front-end/..
mkdir -p tmp
./CodeGeneratorInspector.py Inspector.json --output_h_dir tmp
--output_cpp_dir tmp
mv tmp/*.js /usr/local/WebCore/inspector/front-end


Reply to this email directly or view it on
GitHubhttps://github.com//issues/12#issuecomment-18436069
.

from ios-webkit-debug-proxy.

umaar avatar umaar commented on May 3, 2024

That's great Todd, nice work! Patrick, good to know, you're right, most Chrome releases seemed to work for the hosted DevTools.

A few small issues I noticed were various things in the DevTools not working (using 29.0.1518.2 for the DevTools version). For example adding styles wouldn't work (for me at least), kept getting JavaScript errors like:
Request with id = 249 failed. [object Object] not sure if that's a problem with the DevTools however - but basically various UI elements in the DevTools would not react like expected when clicked upon, often resulting in JavaScript errors (note I tried various Chrome releases for the hosted DevTools).

Also just thought I'd mention, after running the commands multiple times, my iOS device froze! Not sure if it's related to this tool though, errors were:

usbmuxd_get_result: Received packet is too small!
usbmuxd_connect: Connect failed, Error code=-1
Could not connect to lockdownd. Exiting.: Undefined error: 0

A hard reset of the device fixed this.

That being said, a lot of new things did work which was cool to use with iOS! The Safari Inspector doesn't feel as feature rich, so this is a powerful thing for developers.

from ios-webkit-debug-proxy.

zwri avatar zwri commented on May 3, 2024

It's interesting that adding styles doesn't work. Do you get the same error in the Safari Inspector? Also, did you see this error in the old DevTools (18.0.1025.74) or only the latest DevTools (29.0.1518.2)?

I've never seen that usbmuxd error before. My guess is that it's either a usbmuxd bug or an iOS bug -- if it's the latter, I imagine that Safari's inspector would have frozen, too. Please let me know if it happens again, especially if you can create a reproducible test case.

from ios-webkit-debug-proxy.

umaar avatar umaar commented on May 3, 2024

I didn't get the same error in Safari's Inspector. With 27.0.1453.93 & 29.0.1518.2 I do get the errors e.g.

screen shot 2013-06-03 at 22 33 04

(That's the Chrome DevTools inspecting http://localhost:9222/devtools/devtools.html?host=localhost:9222&page=1)

Trying version 18.0.1025.74 seems to work perfectly.

from ios-webkit-debug-proxy.

zwri avatar zwri commented on May 3, 2024

Added "-f" support to specify a different inspector URL. Changing the default URL is blocked on #20 element styles.

from ios-webkit-debug-proxy.

schickling avatar schickling commented on May 3, 2024

@umaar / @wrightt where can I find a list of the most recent hosted devtools versions?
A local checkout of this doesn't seem to work.

from ios-webkit-debug-proxy.

SamHasler avatar SamHasler commented on May 3, 2024

@schickling You can get a list of devtools versions from this page: https://src.chromium.org/chrome/releases/

Although most are not hosted on chrome-devtools-frontend.appspot.com

from ios-webkit-debug-proxy.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.