WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
43924
Web Inspector: -[WebInspector attach] and detach should work
https://bugs.webkit.org/show_bug.cgi?id=43924
Summary
Web Inspector: -[WebInspector attach] and detach should work
Joseph Pecoraro
Reported
2010-08-12 10:53:31 PDT
Currently they do nothing. I just got a report:
> It seems like WebInspector detach: should do this, but > it doesn't actually do anything!
Looks like their implementation is empty. They should call down to the controller, who should call requestToAttach or Detach on its InspectorFrontendClient. Currently the only caller to that is from JavaScript.
Attachments
[PATCH] Implement attach and detach
(4.21 KB, patch)
2010-08-12 14:00 PDT
,
Joseph Pecoraro
pfeldman
: review-
Details
Formatted Diff
Diff
[PATCH] Allow attach and detach entirely in WebKit
(13.64 KB, patch)
2010-08-14 22:51 PDT
,
Joseph Pecoraro
pfeldman
: review+
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Joseph Pecoraro
Comment 1
2010-08-12 14:00:46 PDT
Created
attachment 64257
[details]
[PATCH] Implement attach and detach
Joseph Pecoraro
Comment 2
2010-08-12 14:01:51 PDT
Does this need a test? I tested locally in gdb.
Pavel Feldman
Comment 3
2010-08-12 14:09:42 PDT
Comment on
attachment 64257
[details]
[PATCH] Implement attach and detach We've been ripping attach/detach logic from the InspectorController/Client intentionally since it is a pure 'view' concept. Ideally, it should be implemented entirely in the WebKit layer - no need to dive into WebCore. You should look at what InspectorFrontendClient is calling in WebKit and wire WebKit API to those WebKit methods directly.
Mark Rowe (bdash)
Comment 4
2010-08-12 17:20:38 PDT
These methods were gutted in
r56051
without explanation <
http://trac.webkit.org/changeset/56051/trunk/WebKit/mac/WebInspector/WebInspector.mm
> Why was that ok to begin with?!
Mark Rowe (bdash)
Comment 5
2010-08-12 17:22:46 PDT
For what it’s worth, an explanation of why it’s ok to turn methods like that in to no-ops is exactly the sort of thing that the ChangeLog should include. Sadly, the ChangeLog entry from
r56051
is effectively worthless. It includes only a vague, high-level description of the change with no per-function commentary as is customary in WebKit ChangeLog entries.
Pavel Feldman
Comment 6
2010-08-12 22:19:58 PDT
(In reply to
comment #4
)
> These methods were gutted in
r56051
without explanation <
http://trac.webkit.org/changeset/56051/trunk/WebKit/mac/WebInspector/WebInspector.mm
> > > Why was that ok to begin with?!
Yeah, oversight from my side, sorry. We were supposed to file a follow up bug and fix it. The change was getting too large, so we needed to land it.
Mark Rowe (bdash)
Comment 7
2010-08-12 22:28:20 PDT
(In reply to
comment #6
)
> (In reply to
comment #4
) > > These methods were gutted in
r56051
without explanation <
http://trac.webkit.org/changeset/56051/trunk/WebKit/mac/WebInspector/WebInspector.mm
> > > > > Why was that ok to begin with?! > > Yeah, oversight from my side, sorry. We were supposed to file a follow up bug and fix it. The change was getting too large, so we needed to land it.
It’s never OK to completely break API or SPI that a port exposes. That’s a completely inappropriate manner in which to split up work.
Pavel Feldman
Comment 8
2010-08-12 22:40:11 PDT
> It’s never OK to completely break API or SPI that a port exposes. That’s a completely inappropriate manner in which to split up work.
I agree, we are taking actions to resolve it asap. Sorry about that.
Joseph Pecoraro
Comment 9
2010-08-14 22:51:58 PDT
Created
attachment 64436
[details]
[PATCH] Allow attach and detach entirely in WebKit I'm not sure what the best name for the class would be... WebInspectorFrontend is okay, but a little misleading. Maybe it should be WebInspectorLocalFrontend, to indicate that it only makes sense to attach/detach a local frontend.
Pavel Feldman
Comment 10
2010-08-14 23:07:28 PDT
Comment on
attachment 64436
[details]
[PATCH] Allow attach and detach entirely in WebKit Thanks for doing this. Afaik Yury was going to fix it pretty much the same way. Not sure whether you need this new public abstraction and the delegation. I'd simply place a reference to WebInspectorFrontendClient into WebInspectorPrivate.h. Rationale: WebInspector.h is the api to inspector and I am not sure we should distinguish between backend and front-end on the WebKit embedder level. Otherwise looks good! If you provide the rationale for the interface, I am not against putting r+!
Joseph Pecoraro
Comment 11
2010-08-14 23:22:22 PDT
> Thanks for doing this. Afaik Yury was going to fix it pretty much the same way.
Oh. I should have just assigned it to me when I decided I was going to implement it. I had some spare time tonight.
> I am not sure we should distinguish between backend and front-end on > the WebKit embedder level.
I agree, but that I figured distinction already exists because of InspectorClient and InspectorFrontendClient.
> Otherwise looks good! If you provide the rationale for the interface, I am not > against putting r+!
My rationale for the extra class was that the extra class is an Obj-C wrapper around the C++ class. I thought this was a common thing to do, or at least I had seen the pattern so I felt I should emulate it. I'm fine with either approach. WebKit clients should still only see and use the "WebInspector" class. They don't have access to the WebInspectorFrontend.
Pavel Feldman
Comment 12
2010-08-15 00:04:39 PDT
> > I am not sure we should distinguish between backend and front-end on > > the WebKit embedder level. > > I agree, but that I figured distinction already exists because of InspectorClient > and InspectorFrontendClient. >
My point was that we should distinguish between those on the WebKit level, but not pass distinction further to the embedder.
> My rationale for the extra class was that the extra class is an Obj-C > wrapper around the C++ class. I thought this was a common thing to do, or > at least I had seen the pattern so I felt I should emulate it. I'm fine with > either approach. WebKit clients should still only see and use the > "WebInspector" class. They don't have access to the WebInspectorFrontend.
It was unclear from the code: header is there, it does not look too much different from WebInspector itself. As a result, embedder might get confused. Bug given that we maintain close relationship with the embedder, I guess it is fine.
Joseph Pecoraro
Comment 13
2010-08-15 13:16:06 PDT
Committed
r65383
M WebKit/WebKit.xcodeproj/project.pbxproj M WebKit/ChangeLog M WebKit/mac/WebCoreSupport/WebInspectorClient.mm M WebKit/mac/ChangeLog M WebKit/mac/WebInspector/WebInspectorPrivate.h M WebKit/mac/WebInspector/WebInspector.h A WebKit/mac/WebInspector/WebInspectorFrontend.h M WebKit/mac/WebInspector/WebInspector.mm A WebKit/mac/WebInspector/WebInspectorFrontend.mm
r65383
= 250fdc600fdbc0febbc313f8415741fb7889429b
http://trac.webkit.org/changeset/65383
Yury Semikhatsky
Comment 14
2010-08-15 23:06:46 PDT
(In reply to
comment #13
)
> Committed
r65383
> M WebKit/WebKit.xcodeproj/project.pbxproj > M WebKit/ChangeLog > M WebKit/mac/WebCoreSupport/WebInspectorClient.mm > M WebKit/mac/ChangeLog > M WebKit/mac/WebInspector/WebInspectorPrivate.h > M WebKit/mac/WebInspector/WebInspector.h > A WebKit/mac/WebInspector/WebInspectorFrontend.h > M WebKit/mac/WebInspector/WebInspector.mm > A WebKit/mac/WebInspector/WebInspectorFrontend.mm >
r65383
= 250fdc600fdbc0febbc313f8415741fb7889429b >
http://trac.webkit.org/changeset/65383
Thanks for fixing this! I was trying to do it on Friday but my knowledge of Obj-C is very limited so I didn't complete my change.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug