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).
Internally filed at <rdar://problem/12628083>
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.
(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?