Bug 151714

Summary: When Debug UI is enabled, Inspecting the Inspector should always be available
Product: WebKit Reporter: BJ Burg <bburg>
Component: Web InspectorAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: graouts, inspector-bugzilla-changes, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 147066    

Description BJ Burg 2015-12-01 12:28:39 PST
NOTES:

We currently require some extra steps to enable 2nd-level inspector. It's currently guarded by two different NSUserDefaults (http://trac.webkit.org/wiki/WebInspectorDebugging#InspectingtheInspector).

It has been proposed elsewhere that we add a separate DebugUI button for inspecting the inspector. I would like a shortcut too, Cmd-Shift-Opt-I (Cmd-Shift-Opt matches other DebugUI shortcuts).
Comment 1 BJ Burg 2015-12-01 12:28:56 PST
Internally filed at <rdar://problem/12628083>
Comment 2 BJ Burg 2015-12-13 12:38:48 PST
the "Inspect Element" context menu item is added inside WebCore code. It checks InspectorController::enabled(), which calls to developerExtrasEnabled(), which in the Web case, is tied to PageSettings::developerExtrasEnabled(). The second-level inspector has a separate page group.

To make 2nd-level inspector always available, we can always add the context menu in engineering builds only if the inspection level is >0.
Comment 3 BJ Burg 2015-12-13 13:02:03 PST
(In reply to comment #2)
>
> To make 2nd-level inspector always available, we can always add the context
> menu in engineering builds only if the inspection level is >0.

It would be even better if we can execute some injected script if inspectionLevel() > 0 to see if debug UI is enabled. 

We'd need to evaluate the following from InspectorController (in the context of the main frame's document).

!!(WebInspector && WebInspector.debugUIEnabled())

How can we evaluate something like this in the main frame's ExecState?