Verify that JavaScript SourceMap handle different sourcemaps with overlapping sources.

Running: dumpInitialNavigator
top
  127.0.0.1:8000
    devtools/resources
      inspected-page.html

Running: attachFrame1
top
  127.0.0.1:8000
    devtools/resources
      inspected-page.html
  (no domain)
    _test_create-frame1.js
  frame1 (frame1.html)
    127.0.0.1:8000
      devtools/bindings/resources/jssourcemaps-with-overlapping-sources
        frame1.html
        common.ts
        script1.js
        unique1.ts

Running: attachAnotherFrame1
top
  127.0.0.1:8000
    devtools/resources
      inspected-page.html
  (no domain)
    _test_create-anotherFrame1.js
    _test_create-frame1.js
  anotherFrame1 (frame1.html)
    127.0.0.1:8000
      devtools/bindings/resources/jssourcemaps-with-overlapping-sources
        frame1.html
        common.ts
        script1.js
        unique1.ts
  frame1 (frame1.html)
    127.0.0.1:8000
      devtools/bindings/resources/jssourcemaps-with-overlapping-sources
        frame1.html
        common.ts
        script1.js
        unique1.ts

Running: attachFrame2
top
  127.0.0.1:8000
    devtools/resources
      inspected-page.html
  (no domain)
    _test_create-anotherFrame1.js
    _test_create-frame1.js
    _test_create-frame2.js
  anotherFrame1 (frame1.html)
    127.0.0.1:8000
      devtools/bindings/resources/jssourcemaps-with-overlapping-sources
        frame1.html
        common.ts
        script1.js
        unique1.ts
  frame1 (frame1.html)
    127.0.0.1:8000
      devtools/bindings/resources/jssourcemaps-with-overlapping-sources
        frame1.html
        common.ts
        script1.js
        unique1.ts
  frame2 (frame2.html)
    127.0.0.1:8000
      devtools/bindings/resources/jssourcemaps-with-overlapping-sources
        frame2.html
        common.ts
        script2.js
        unique2.ts

Running: detachAnotherFrame1
top
  127.0.0.1:8000
    devtools/resources
      inspected-page.html
  (no domain)
    _test_create-anotherFrame1.js
    _test_create-frame1.js
    _test_create-frame2.js
    _test_detach-anotherFrame1.js
  frame1 (frame1.html)
    127.0.0.1:8000
      devtools/bindings/resources/jssourcemaps-with-overlapping-sources
        frame1.html
        common.ts
        script1.js
        unique1.ts
  frame2 (frame2.html)
    127.0.0.1:8000
      devtools/bindings/resources/jssourcemaps-with-overlapping-sources
        frame2.html
        common.ts
        script2.js
        unique2.ts

Running: detachFrame2
top
  127.0.0.1:8000
    devtools/resources
      inspected-page.html
  (no domain)
    _test_create-anotherFrame1.js
    _test_create-frame1.js
    _test_create-frame2.js
    _test_detach-anotherFrame1.js
    _test_detachFrame2.js
  frame1 (frame1.html)
    127.0.0.1:8000
      devtools/bindings/resources/jssourcemaps-with-overlapping-sources
        frame1.html
        common.ts
        script1.js
        unique1.ts

Running: detachFrame1
top
  127.0.0.1:8000
    devtools/resources
      inspected-page.html
  (no domain)
    _test_create-anotherFrame1.js
    _test_create-frame1.js
    _test_create-frame2.js
    _test_detach-anotherFrame1.js
    _test_detachFrame1.js
    _test_detachFrame2.js

