Bug 20042 - UI frozen when the debugger is paused
Summary: UI frozen when the debugger is paused
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Web Inspector (Deprecated) (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Timothy Hatcher
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-07-15 10:22 PDT by Anthony Ricaud
Modified: 2008-08-24 15:29 PDT (History)
2 users (show)

See Also:


Attachments
Testcase (845 bytes, text/html)
2008-07-15 10:27 PDT, Anthony Ricaud
no flags Details
Real testcase (828 bytes, text/html)
2008-07-15 10:29 PDT, Anthony Ricaud
no flags Details
Proposed patch (4.08 KB, patch)
2008-08-22 14:05 PDT, Timothy Hatcher
darin: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Anthony Ricaud 2008-07-15 10:22:32 PDT
In certain cases, the inspector UI can be frozen while the debugger is paused. I've found one way to reproduce this, there might be others.

The test uses /loaded|complete/.test(document.readyState) to simulate DOMContentLoaded. It's a test widely used for earlier versions of WebKit.

Steps to reproduce:
1) Open the testcase
2) Open the inspector
3) Try to show/hide the console.

Actual behaviour:
The console panel doesn't open

Expected behaviour:
The console panel should open
Comment 1 Anthony Ricaud 2008-07-15 10:27:09 PDT
Created attachment 22280 [details]
Testcase
Comment 2 Anthony Ricaud 2008-07-15 10:29:20 PDT
Created attachment 22281 [details]
Real testcase
Comment 3 Anthony Ricaud 2008-07-15 10:34:00 PDT
(In reply to comment #0)
> In certain cases, the inspector UI can be frozen while the debugger is paused.
> I've found one way to reproduce this, there might be others.
> 
> The test uses /loaded|complete/.test(document.readyState) to simulate
> DOMContentLoaded. It's a test widely used for earlier versions of WebKit.
> 
> Steps to reproduce:
> 1) Open the testcase
> 2) Open the inspector
> 3) Try to show/hide the console.
> 
> Actual behaviour:
> The console panel doesn't open
> 
> Expected behaviour:
> The console panel should open
> 
Sorry for the wrong steps. New ones :
1) Open the testcase
2) Open the inspector
3) Enable the script debugger (the page reloads)
4) Try to show/hide the console.
Comment 4 Timothy Hatcher 2008-08-22 14:05:54 PDT
Created attachment 22945 [details]
Proposed patch
Comment 5 Darin Adler 2008-08-24 15:08:24 PDT
Comment on attachment 22945 [details]
Proposed patch

r=me

This seems like the right fix unless we can change the design so fireTimersInNestedEventLoop is no longer needed. I'm still hoping we can do that some day.
Comment 6 Timothy Hatcher 2008-08-24 15:29:20 PDT
Landed in r35908.