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).
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?