Tests that debugger StepInto will step through inlined scripts.

Script source was shown.
Call stack:
    0) f1 (debugger-step-into-inlined-scripts.html:7)
    1)  (debugger-step-into-inlined-scripts.html:9)

Executing StepInto...
Call stack:
    0) f1 (debugger-step-into-inlined-scripts.html:7)
    1)  (debugger-step-into-inlined-scripts.html:9)

Executing StepInto...
Call stack:
    0)  (debugger-step-into-inlined-scripts.html:10)

Executing StepInto...
Call stack:
    0)  (debugger-step-into-inlined-scripts.html:17)

Executing StepInto...
Call stack:
    0) f2 (debugger-step-into-inlined-scripts.html:15)
    1)  (debugger-step-into-inlined-scripts.html:17)

Executing StepInto...
Call stack:
    0) f2 (debugger-step-into-inlined-scripts.html:15)
    1)  (debugger-step-into-inlined-scripts.html:17)

Executing StepInto...
Call stack:
    0)  (debugger-step-into-inlined-scripts.html:18)

Executing Resume...
Page reloaded.

