Closed Bug 1343774 Opened 7 years ago Closed 7 years ago

remove unused functions

Categories

(DevTools :: Netmonitor, enhancement, P1)

enhancement

Tracking

(firefox55 fixed)

RESOLVED FIXED
Firefox 55
Iteration:
55.3 - Apr 17
Tracking Status
firefox55 --- fixed

People

(Reporter: gasolin, Assigned: gasolin)

References

Details

(Whiteboard: [netmonitor])

Attachments

(2 files)

As discussed from bug 1340464 comment 28,

* Remove isConnected()
* Remove unused getCurrentActivity()
* Remove unused supportsTransferredResponseSize()
* Move implementation of waitForAllRequestsFinished() out of controller to damp.js 
http://searchfox.org/mozilla-central/source/testing/talos/talos/tests/devtools/addon/content/damp.js#120
supportsPerfStats() is safe to remove since we don't detect it in summary button but only in request-list-context-menu.js
Iteration: --- → 54.3 - Mar 6
Flags: qe-verify?
Priority: -- → P1
Whiteboard: [netmonitor] → [netmonitor-reserve]
Status: NEW → ASSIGNED
Comment on attachment 8842737 [details]
Bug 1343774 - remove unused functions;

https://reviewboard.mozilla.org/r/116502/#review118658

Please see my inline comment


Thanks!
Honza

::: devtools/client/netmonitor/netmonitor-controller.js
(Diff revision 3)
> -   *   after the previous one was finished, the wait will be ended in the "interim"
> -   *   period.
> -   * @returns a promise that resolves when the wait is done.
> -   * TODO: should be unified with whenDataAvailable in netmonitor-view.js
> -   */
> -  waitForAllRequestsFinished() {

This function is used by devtools-performer extension.

https://github.com/jsnajdr/devtools-performer

Perhaps we can copy the function also to the extension?
Attachment #8842737 - Flags: review?(odvarko)
Thanks for find it! I made a PR for devtools-performer so it will work as usual

https://github.com/jsnajdr/devtools-performer/pull/3
Attachment #8842737 - Flags: review?(odvarko)
Comment on attachment 8842737 [details]
Bug 1343774 - remove unused functions;

https://reviewboard.mozilla.org/r/116502/#review119080

::: devtools/client/netmonitor/netmonitor-controller.js:267
(Diff revision 3)
>     * @type boolean
>     */
>    get supportsCustomRequest() {
>      return this.webConsoleClient &&
>             (this.webConsoleClient.traits.customNetworkRequest ||
>              !this._target.isApp);

Remove !this._target.isApp check which is only used for Firefox OS.

::: devtools/client/netmonitor/netmonitor-controller.js:274
(Diff revision 3)
> -
> -  /**
>     * Getter that tells if the server can do network performance statistics.
>     * @type boolean
>     */
>    get supportsPerfStats() {

It's safe to remove supportsPerfStats() and remember to remove it in request-list-context-menu.js as well.
Attachment #8842737 - Flags: review-
Comment on attachment 8842737 [details]
Bug 1343774 - remove unused functions;

https://reviewboard.mozilla.org/r/116502/#review119080

> It's safe to remove supportsPerfStats() and remember to remove it in request-list-context-menu.js as well.

I'll remove isApp detection part, but `supportsPerfStats` still check traits support and is used in `request-list-context-menu`. We might need do that check in request-list-empty as well once we want to support running on Chrome.
Fred, I'd suggest that we can postpone to deal with supportsPerfStats check until we encounter the problem when porting to Chrome. As you mentioned, there are some places we didn't invoke `supportsPerfStats` check such as summary buttons and icon button in empty request list. However, so far the statistics panel still work as expected, so we can assume that this removal is safe.

If we get lucky and there is no issue after porting to Chrome, we don't even need to do a cleanup to remove supportsPerfStats in an additional step.

Thanks!
Iteration: 54.3 - Mar 6 → 55.1 - Mar 20
Flags: qe-verify? → qe-verify-
Iteration: 55.1 - Mar 20 → ---
Blocks: netmonitor-phaseII
No longer blocks: netmonitor-html
Whiteboard: [netmonitor-reserve] → [netmonitor]
Iteration: --- → 55.2 - Apr 3
Comment on attachment 8842737 [details]
Bug 1343774 - remove unused functions;

https://reviewboard.mozilla.org/r/116502/#review126756

According to the discussion last week this patch is still helpfull for further refactoring.

R+

Honza
Attachment #8842737 - Flags: review?(odvarko) → review+
thanks!
Keywords: checkin-needed
Backed out for failing browser_net_raw_headers.js, browser_net_resend.js and browser_net_resend_cors.js:

https://hg.mozilla.org/integration/autoland/rev/e458c6d70eaa97da3bab61b0ff09f4086b4a341f

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=405c692a053a454ced632ef0e1210e7ada3b9669&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-resultStatus=retry&filter-resultStatus=usercancel&filter-resultStatus=runnable
Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=86976718&repo=autoland

[task 2017-03-28T14:06:45.294272Z] 14:06:45     INFO - > Network events progress: 24/26, 4/4, got NetMonitor:NetworkEventUpdated:ResponseContent for server1.conn61.child1/netEvent31
[task 2017-03-28T14:06:45.295015Z] 14:06:45     INFO - > Network events progress: 25/26, 4/4, got NetMonitor:NetworkEventUpdated:EventTimings for server1.conn61.child1/netEvent32
[task 2017-03-28T14:06:45.295803Z] 14:06:45     INFO - > Network events progress: 26/26, 4/4, got NetMonitor:NetworkEventUpdated:ResponseContent for server1.conn61.child1/netEvent32
[task 2017-03-28T14:06:45.296566Z] 14:06:45     INFO - Buffered messages finished
[task 2017-03-28T14:06:45.297439Z] 14:06:45     INFO - TEST-UNEXPECTED-FAIL | devtools/client/netmonitor/test/browser_net_raw_headers.js | Uncaught exception - at chrome://mochikit/content/tests/SimpleTest/specialpowersAPI.js:1779 - TypeError: el is undefined
[task 2017-03-28T14:06:45.298202Z] 14:06:45     INFO - Stack trace:
[task 2017-03-28T14:06:45.298882Z] 14:06:45     INFO -     dispatchEvent@chrome://mochikit/content/tests/SimpleTest/specialpowersAPI.js:1779:5
[task 2017-03-28T14:06:45.299607Z] 14:06:45     INFO -     sendMouseEvent@chrome://mochikit/content/tests/SimpleTest/EventUtils.js:142:10
[task 2017-03-28T14:06:45.300333Z] 14:06:45     INFO -     @chrome://mochitests/content/browser/devtools/client/netmonitor/test/browser_net_raw_headers.js:32:3
[task 2017-03-28T14:06:45.301068Z] 14:06:45     INFO -     Tester_execTest@chrome://mochikit/content/browser-test.js:735:9
[task 2017-03-28T14:06:45.301750Z] 14:06:45     INFO -     Tester.prototype.nextTest</<@chrome://mochikit/content/browser-test.js:655:7
[task 2017-03-28T14:06:45.302427Z] 14:06:45     INFO -     SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:791:59
[task 2017-03-28T14:06:45.303145Z] 14:06:45     INFO -     Tester_execTest@chrome://mochikit/content/browser-test.js:735:9
[task 2017-03-28T14:06:45.303805Z] 14:06:45     INFO -     Tester.prototype.nextTest</<@chrome://mochikit/content/browser-test.js:655:7
[task 2017-03-28T14:06:45.304503Z] 14:06:45     INFO -     SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:791:59
[task 2017-03-28T14:06:45.305220Z] 14:06:45     INFO - Leaving test bound 
[task 2017-03-28T14:06:45.306199Z] 14:06:45     INFO - GECKO(1475) | JavaScript error: resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/netmonitor/components/request-list-header.js, line 70: TypeError: this.refs.header is undefined
[task 2017-03-28T14:06:45.307169Z] 14:06:45     INFO - Console message: [JavaScript Error: "TypeError: this.refs.header is undefined" {file: "resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/netmonitor/components/request-list-header.js" line: 70}]
[task 2017-03-28T14:06:45.308023Z] 14:06:45     INFO - Removing tab.
Flags: needinfo?(gasolin)
Thanks for notice. Will wait to rebase until the mega patch in Bug 1350215 is landed
Flags: needinfo?(gasolin)
Iteration: 55.2 - Apr 3 → 55.3 - Apr 17
Fred, Bug 1350215 has landed, could you rebase and land this patch again? Thanks!
Flags: needinfo?(gasolin)
Flags: needinfo?(gasolin)
Keywords: checkin-needed
The issue is when we remove the origin isApp condition check


```
(this.webConsoleClient.traits.customNetworkRequest ||
        !this._target.isApp);
```

The left webConsoleClient.traits.customNetworkRequest always return false, it hidden the `Edit and Resend` button on UI and fail the test.

Since this issues is aim to remove unused function, I'd keep it as it was so no extra issue happens
We're sorry, Autoland could not rebase your commits for you automatically. Please manually rebase your commits and try again.

hg error in cmd: hg rebase -s 3c8b26a08ef5 -d 6d936a886de8: rebasing 387515:3c8b26a08ef5 "Bug 1343774 - remove unused functions;r=Honza" (tip)
merging devtools/client/netmonitor/src/netmonitor-controller.js
merging testing/talos/talos/tests/devtools/addon/content/damp.js
warning: conflicts while merging testing/talos/talos/tests/devtools/addon/content/damp.js! (edit, then use 'hg resolve --mark')
unresolved conflicts (see hg resolve, then hg rebase --continue)
Flags: needinfo?(gasolin)
Keywords: checkin-needed
rebased to central/default
Flags: needinfo?(gasolin)
Keywords: checkin-needed
Backed out for failing talos damp:

https://hg.mozilla.org/integration/autoland/rev/52003a0a35b75248bc0bca3bc1f5430ee8a8b350

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=c001a250187557ef85a069c53bfe86fce8fed98d&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-resultStatus=retry&filter-resultStatus=usercancel&filter-resultStatus=runnable
Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=89489443&repo=autoland

03:03:42     INFO -  TEST-START | damp
03:03:42     INFO -  operating with platform_type : linux_
03:03:42     INFO -  Initialising browser for damp test...
03:03:42     INFO -  TEST-INFO | started process 5928 (/builds/slave/test/build/application/firefox/firefox -profile /tmp/tmpLdTzFs/profile http://localhost:54759/getInfo.html)
03:03:47     INFO -  PID 5928 | __metrics	Screen width/height:1600/1200
03:03:47     INFO -  PID 5928 | 	colorDepth:24
03:03:47     INFO -  PID 5928 | 	Browser inner width/height: 1024/697
03:03:47     INFO -  PID 5928 | __metrics
03:03:48     INFO -  PID 5928 | JavaScript error: resource://gre/modules/AsyncShutdown.jsm, line 673: Error: Phase "quit-application-granted" is finished, it is too late to register completion condition "SessionStore: flushing all windows"
03:03:48     INFO -  PID 5928 | JavaScript error: resource:///modules/BrowserUsageTelemetry.jsm, line 304: NS_ERROR_FAILURE: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIObserverService.removeObserver]
03:03:50     INFO -  TEST-INFO | 5928: exit 0
03:03:50     INFO -  Browser initialized.
03:03:50     INFO -  Running cycle 1/1 for damp test...
03:03:50     INFO -  TEST-INFO | started process 6023 (/builds/slave/test/build/application/firefox/firefox -profile /tmp/tmpLdTzFs/profile -tp file:/builds/slave/test/build/tests/talos/talos/tests/devtools/damp.manifest.develop -tpchrome -tpnoisy -tploadnocache -tpcycles 1 -tppagecycles 25)
03:04:02     INFO -  PID 6023 | RSS: Main: 155385856
03:04:02     INFO -  PID 6023 |
03:04:05     INFO -  PID 6023 | console.error:
03:04:05    ERROR -  PID 6023 |   Message: TypeError: doc.documentElement is null
03:04:05     INFO -  PID 6023 |   Stack:
03:04:05     INFO -  PID 6023 |     supportsHighlighters@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/actors/inspector.js:2916:9
03:04:05     INFO -  PID 6023 | handler@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/protocol.js:1082:19
03:04:05     INFO -  PID 6023 | onPacket@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/main.js:1759:15
03:04:05     INFO -  PID 6023 | receiveMessage@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/transport/transport.js:761:7
03:04:05     INFO -  PID 6023 |
03:04:05     INFO -  PID 6023 | supportsHighlighters@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/actors/inspector.js:2916:9
03:04:05     INFO -  PID 6023 | handler@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/protocol.js:1082:19
03:04:05     INFO -  PID 6023 | onPacket@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/main.js:1759:15
03:04:05     INFO -  PID 6023 | receiveMessage@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/transport/transport.js:761:7
03:04:09     INFO -  PID 6023 | *************************
03:04:09     INFO -  PID 6023 | A coding exception was thrown and uncaught in a Task.
03:04:09     INFO -  PID 6023 |
03:04:09    ERROR -  PID 6023 | Full message: TypeError: NetMonitorController.waitForAllRequestsFinished is not a function
03:04:09     INFO -  PID 6023 | Full stack: Damp.prototype.waitForNetworkRequests<@chrome://damp/content/damp.js:120:11
03:04:09     INFO -  PID 6023 | TaskImpl_run@resource://gre/modules/Task.jsm:319:42
03:04:09     INFO -  PID 6023 | TaskImpl@resource://gre/modules/Task.jsm:277:3
03:04:09     INFO -  PID 6023 | asyncFunction@resource://gre/modules/Task.jsm:252:14
03:04:09     INFO -  PID 6023 | _getToolLoadingTests/subtests.netmonitorOpen<@chrome://damp/content/damp.js:325:30
03:04:09     INFO -  PID 6023 | TaskImpl_run@resource://gre/modules/Task.jsm:319:42
03:04:09     INFO -  PID 6023 | process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:922:23
03:04:09     INFO -  PID 6023 | walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:806:7
03:04:09     INFO -  PID 6023 | Promise*scheduleWalkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:739:11
03:04:09     INFO -  PID 6023 | schedulePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:770:7
03:04:09     INFO -  PID 6023 | completePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:707:7
03:04:09     INFO -  PID 6023 | promise callback*completePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:698:7
03:04:09     INFO -  PID 6023 | Promise.resolve/<@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:512:36
03:04:09     INFO -  PID 6023 | Promise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:390:5
03:04:09     INFO -  PID 6023 | Promise.resolve@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:512:10
03:04:09     INFO -  PID 6023 | onLoad@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/framework/toolbox.js:1477:7
03:04:09     INFO -  PID 6023 |
03:04:09     INFO -  PID 6023 | *************************
03:04:09     INFO -  PID 6023 | *************************
03:04:09     INFO -  PID 6023 | A coding exception was thrown and uncaught in a Task.
03:04:09     INFO -  PID 6023 |
03:04:09    ERROR -  PID 6023 | Full message: TypeError: NetMonitorController.waitForAllRequestsFinished is not a function
03:04:09     INFO -  PID 6023 | Full stack: Damp.prototype.waitForNetworkRequests<@chrome://damp/content/damp.js:120:11
03:04:09     INFO -  PID 6023 | TaskImpl_run@resource://gre/modules/Task.jsm:319:42
03:04:09     INFO -  PID 6023 | TaskImpl@resource://gre/modules/Task.jsm:277:3
03:04:09     INFO -  PID 6023 | asyncFunction@resource://gre/modules/Task.jsm:252:14
03:04:09     INFO -  PID 6023 | _getToolLoadingTests/subtests.netmonitorOpen<@chrome://damp/content/damp.js:325:30
03:04:09     INFO -  PID 6023 | TaskImpl_run@resource://gre/modules/Task.jsm:319:42
03:04:09     INFO -  PID 6023 | process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:922:23
03:04:09     INFO -  PID 6023 | walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:806:7
03:04:09     INFO -  PID 6023 | Promise*scheduleWalkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:739:11
03:04:09     INFO -  PID 6023 | schedulePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:770:7
03:04:09     INFO -  PID 6023 | completePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:707:7
03:04:09     INFO -  PID 6023 | promise callback*completePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:698:7
03:04:09     INFO -  PID 6023 | Promise.resolve/<@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:512:36
03:04:09     INFO -  PID 6023 | Promise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:390:5
03:04:09     INFO -  PID 6023 | Promise.resolve@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:512:10
03:04:09     INFO -  PID 6023 | onLoad@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/framework/toolbox.js:1477:7
03:04:09     INFO -  PID 6023 |
03:04:09     INFO -  PID 6023 | *************************
03:08:50     INFO -  PID 6023 | *************************
03:08:50     INFO -  PID 6023 | A coding exception was thrown and uncaught in a Task.
03:08:50     INFO -  PID 6023 |
03:08:50    ERROR -  PID 6023 | Full message: TypeError: NetworkError when attempting to fetch resource.
03:08:50     INFO -  PID 6023 | Full stack:
03:08:50     INFO -  PID 6023 | *************************
03:08:50     INFO -  PID 6023 | *************************
03:08:50     INFO -  PID 6023 | A coding exception was thrown and uncaught in a Task.
03:08:50     INFO -  PID 6023 |
03:08:50    ERROR -  PID 6023 | Full message: TypeError: NetworkError when attempting to fetch resource.
03:08:50     INFO -  PID 6023 | Full stack:
03:08:50     INFO -  PID 6023 | *************************
03:08:50     INFO -  PID 6023 | *************************
03:08:50     INFO -  PID 6023 | A coding exception was thrown and uncaught in a Task.
03:08:50     INFO -  PID 6023 |
03:08:50    ERROR -  PID 6023 | Full message: TypeError: NetworkError when attempting to fetch resource.
03:08:50     INFO -  PID 6023 | Full stack:
03:08:50     INFO -  PID 6023 | *************************
03:08:50     INFO -  PID 6023 | *************************
03:08:50     INFO -  PID 6023 | A coding exception was thrown and uncaught in a Task.
03:08:50     INFO -  PID 6023 |
03:08:50    ERROR -  PID 6023 | Full message: TypeError: NetworkError when attempting to fetch resource.
03:08:50     INFO -  PID 6023 | Full stack:
03:08:50     INFO -  PID 6023 | *************************
04:03:50     INFO -  Timeout waiting for test completion; killing browser...
04:03:50     INFO -  Terminating psutil.Process(pid=6023, name='firefox')
04:03:50     INFO -  PID 6023 | ExceptionHandler::GenerateDump cloned child ExceptionHandler::WaitForContinueSignal waiting for continue signal...
04:03:50     INFO -  PID 6023 | 6180
04:03:50     INFO -  PID 6023 | ExceptionHandler::SendContinueSignalToChild sent continue signal to child
04:03:50     INFO -  TEST-UNEXPECTED-ERROR | damp | timeout
04:03:50    ERROR -  Traceback (most recent call last):
04:03:50     INFO -    File "/builds/slave/test/build/tests/talos/talos/run_tests.py", line 202, in run_tests
04:03:50     INFO -      talos_results.add(mytest.runTest(browser_config, test))
04:03:50     INFO -    File "/builds/slave/test/build/tests/talos/talos/ttest.py", line 70, in runTest
04:03:50     INFO -      return self._runTest(browser_config, test_config, setup)
04:03:50     INFO -    File "/builds/slave/test/build/tests/talos/talos/ttest.py", line 174, in _runTest
04:03:50     INFO -      if counter_management else None),
04:03:50     INFO -    File "/builds/slave/test/build/tests/talos/talos/talos_process.py", line 127, in run_browser
04:03:50     INFO -      raise TalosError("timeout")
04:03:50     INFO -  TalosError: timeout
Flags: needinfo?(gasolin)
It seems like we need to regenerate addon bundle for damp.js test.

jryans, could you tell us how to generate new addon bundle? Thanks
Flags: needinfo?(jryans)
(In reply to Ricky Chien [:rickychien] from comment #24)
> It seems like we need to regenerate addon bundle for damp.js test.
> 
> jryans, could you tell us how to generate new addon bundle? Thanks

Sure!  (It's a bit strange!)

There's a general overview[1] as well as the signing keys[2], which should help explain most of it.

Here are some more specific steps for DAMP:

1. Delete the existing file at testing/talos/talos/tests/devtools/addon/devtools-signed.xpi (because you are going to zip the add-on directory, and you don't want the old XPI inside the new one.  Someone should probably change the path that's used here to avoid this, but that's for another day...)
2. Follow steps on wiki[1]. (There's no build for this add-on, so you can skip step 2 on that page.)
3. Move and rename your output XPI so that it replaces the previous copy of devtools-signed.xpi.

Unfortunately, I don't think you can force a try run to use the signed add-on (try is special cased to run the code directly).  So, you sort of just have to hope you did it right and try to land again.

If you have more questions, :jmaher is a good one to ask about this.

[1]: https://wiki.mozilla.org/EngineeringProductivity/HowTo/SignExtensions
[2]: https://mana.mozilla.org/wiki/display/ateam/Signing+Extensions+in+Tree
Flags: needinfo?(jryans)
Thanks! I follow the wiki to pack and sign the xpi with jpm tool. Commit in a separate PR for rubber stamp.
Flags: needinfo?(gasolin)
Comment on attachment 8856311 [details]
Bug 1343774 - Update devtools-signed.xpi;

https://reviewboard.mozilla.org/r/128210/#review130736

Seems reasonable, thanks!
Attachment #8856311 - Flags: review?(jryans) → review+
https://hg.mozilla.org/mozilla-central/rev/32dba2c55e98
https://hg.mozilla.org/mozilla-central/rev/50cb1ce431d7
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 55
Product: Firefox → DevTools
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: