[Webkit-unassigned] [Bug 35953] New: REGRESSION: Docked/Undocked state of inspector broken on Windows

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Mar 9 18:49:11 PST 2010


https://bugs.webkit.org/show_bug.cgi?id=35953

           Summary: REGRESSION: Docked/Undocked state of inspector broken
                    on Windows
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Web Inspector
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: beidson at apple.com


Docked/Undocked state of inspector horribly broken on Windows.

The Inspector window ends up in an awful hybrid state where it half-thinks it
is docked, have doesn't, and draws horribly.

This regressed when I made changes to prevent docking if the host window would
be too small in http://trac.webkit.org/changeset/55172 and
http://trac.webkit.org/changeset/55107.

When you bring up the web inspector, the following occurs:
In WebCore::InspectorController::scriptObjectReady(), showWindow() is called. 
This calls up to InspectorClient::showWindow() which - in both the Windows and
Mac case - calls InspectorController::setWindowVisible(true, <shouldattach>),
which then later calls back up to InspectorClient::showWindow().

In both the windows and mac case, InspectorClient::showWindow() isn't design to
be called twice in this re-entrant manner, nor do I think it should be.

The crux of the problem is that scriptObjectReader() *actually* wants to call
setWindowVisible(true, <shouldattach>) directly.  One thing that probably kept
us from doing it this way is that the InspectorController didn't know how to
make the decision "should I be attached, or not?"

Indeed, both Windows and Mac have their own copies of the
"inspectorStartsAttached" settings key.  While the InspectorController in
WebCore has it's own copies of many other settings keys, it doesn't know about
this one at all.

I've verified locally that having scriptObjectReady() call setWindowVisible()
directly fixes this, and I think we need to clean up this mess!

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list