Bug 138341

Summary: Web Inspector: Inspector pauses 3 times when evaluating window.decodeURI('%%%')
Product: WebKit Reporter: Joseph Pecoraro <joepeck>
Component: Web InspectorAssignee: Nobody <webkit-unassigned>
Status: RESOLVED WORKSFORME    
Severity: Normal CC: graouts, joepeck, mark.lam, timothy, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   

Description Joseph Pecoraro 2014-11-03 17:44:43 PST
* SUMMARY
When pausing on exceptions is enabled, Web Inspector pauses 3 times when evaluating window.decodeURI('%%%')

* STEPS TO REPRODUCE
1. Inspect any page
2. Enable Break on All Exceptions
3. js> window.decodeURI('%%%')
  => have to continue 3 times

* NOTES
(1) is the URI Error inside of the InjectedScript's eval(...)
(2) is the call site of the eval in the InjectedScript (var result = evalFunction.call(inspectedGlobalObject, expression);)
(3) is the last statement in the finally block in the InjectedScript catching the exception.

Mark, I think this might be JSC::Debugger pausing too many times for a single exception.
Comment 1 Radar WebKit Bug Importer 2014-11-03 17:45:38 PST
<rdar://problem/18861871>
Comment 2 Joseph Pecoraro 2014-11-04 09:50:55 PST
Heck, just causing a ReferenceError causes 3 pauses too:

    js> asdf

This is pretty annoying.
Comment 3 Joseph Pecoraro 2014-11-04 11:25:00 PST
Maybe we should auto-continue if all the call frames are just __WebInspectorInjectedScript__ or native. I think we used to have that.

Still, I am baffled by all of the pauses we are seeing.
Comment 4 Joseph Pecoraro 2015-06-25 16:25:10 PDT
This behaves as expected now! I think Mark's recent fixes with exceptions fixed the underlying issues here!