Object.observe is not a function
Reported by
dominik0...@googlemail.com,
Jul 26 2016
|
|||
Issue descriptionUserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36 Steps to reproduce the problem: 1. Run CEF based application (HTML5, JavaScript, CSS, etc.) 2. Launch Chrome Browser with URL: localhost:9909 (debugging CEF application) 3. URL: localhost:9909 shows Application link for starting DevTools 4. After launching DevTools, Debugger windows is empty and the console message says: Object.observe is not a function What is the expected behavior? I expect to debug CEF application like with Chrome Version 46 and lower What went wrong? After launching DevTools through CEF debug link: localhost:9909 the debugger window is empty and the project is NOT loaded. The error message is as follow: Object.observe is not a function Did this work before? Yes Chrome version 46 and lower Chrome version: 52.0.2743.82 Channel: stable OS Version: OS X 10.11.6 Flash Version: Shockwave Flash 22.0 r0 Neither #disable-javascript-harmony-shipping flag nor another solution with clean profile work as expected. The only workaround so far is to get the debugging sessionId through: localhost:9909 and to compose a new debugging URL like this: chrome-devtools://devtools/remote/serve_rev/@421af89822d7584df159127412320a9b14bb8563/inspector.html?remoteFrontend=true&ws=localhost:9909/devtools/page/<SESSIONID>
,
Aug 2 2016
Can we revisit this a bit? As far as I can see there is a compatibility path injected when chrome://inspect is used to remotely debug Android devices, even with long-obsolete devtools frontends. Object.observe emulation is one of the parts of it. See //content/browser/devtools/devtools_frontend_host_impl.cc Would it be possible to allow arbitrary remote debugging sessions to go through that compatibility path?
,
Aug 8 2016
The problem here is that browser doesn't know this is a debugging session. It's just an url served from localhost, it even talks to debugging target in different browser. I think it's possible to write a simple extension which injects a copy of third_party/WebKit/Source/devtools/front_end/devtools.js file as a content script before specific url is loaded in the browser. Does that help in your usecase?
,
Aug 8 2016
Could that extension access the exact evtools.js file embedded in the browser? If not, it will be a burden to keep everything in sync. In any case, it seems a bit odd that desktop-to-desktop remote devtools gets the second-class "get an extension" treatment, while desktop-to-android works out of the box via chrome://inspect. I was thinking more along the lines of having a "direct connection" feature in chrome://inspect to allow connecting to a debugging port without requiring it to be a discovered android device. Do you think that would be acceptable / feasible?
,
Aug 8 2016
Sure this sounds reasonable! In fact, we already have "--remote-debugging-targets=<host>:<port>" switch, and targets added this way should appear on chrome://inspect under Devices (not the best place, but at least something). From that point, any compatibility should work as designed. Unfortunately, making this work automatically is tricky, so we rely on user passing correct flags.
,
Aug 9 2016
"--remote-debugging-targets=<host>:<port>" would be great but it seems it only partially works for me. When I start Chrome with --remote-debugging-targets=localhost:9222 and the target old-chrome with 9222 as the remote debugging port, I see the open tabs in chrome://inspect Devices tab, I can open/close tabs, but clicking Inspect on any tab doesn't do anything :( 51.0.2704.79 Ubuntu 14.04 (64-bit) connecting to 48.0.2564.0 on the same machine.
,
Aug 17 2016
I see the tab being "focused" and not "inspected"
,
Aug 17 2016
Issue from comment #6 seems to have been fixed since Chrome 52.
,
Aug 18 2016
eostroukhov: Doesn't work for me. Clicking inspect focuses / switches tabs on the remote when I use 52.0.2743.116 or 53.0.2785.70 (remote is 48.0.2564.0), no devtools.
,
Apr 14 2017
This does not seem like a Chrome issue - it is caused by an external application.
,
Apr 24 2017
There is no external application involved here. The bug is about a remote debugging where a hosted devtools frontend becomes incompatible with the newer browser, and problems trying to trigger a compatibility path. |
|||
►
Sign in to add a comment |
|||
Comment 1 by dgozman@chromium.org
, Jul 27 2016Status: WontFix (was: Unconfirmed)