Closed Bug 1412023 Opened 7 years ago Closed 7 years ago

Memory Tool needs to use ES6 classes so that we can switch it over to PureComponent

Categories

(DevTools :: Memory, enhancement, P2)

enhancement

Tracking

(firefox58 fixed)

RESOLVED FIXED
Firefox 58
Tracking Status
firefox58 --- fixed

People

(Reporter: miker, Assigned: miker)

References

Details

Attachments

(1 file)

      No description provided.
Comment on attachment 8922760 [details]
Bug 1412023 - Memory Tool to ES6 classes

https://reviewboard.mozilla.org/r/193906/#review198982

DominatorTree.js and DominatorTreeItem.js were the only files where I needed to make manual changes. In both cases it just meant moving the class creation outside of createFactory e.g.

```
let factory = createFactory(createClass({
  ...
}));
```

Would have been changed to:

```
class FactoryClass extends Component {
  ...
}

let factory = createFactory(FactoryClass);
```
Comment on attachment 8922760 [details]
Bug 1412023 - Memory Tool to ES6 classes

https://reviewboard.mozilla.org/r/193906/#review198984

::: devtools/client/memory/components/DominatorTree.js:23
(Diff revision 1)
>  
>  /**
>   * A throbber that represents a subtree in the dominator tree that is actively
>   * being incrementally loaded and fetched from the `HeapAnalysesWorker`.
>   */
> -const DominatorTreeSubtreeFetching = createFactory(createClass({
> +class DominatorTreeSubtreeFetchingClass extends Component {

DominatorTree.js and DominatorTreeItem.js were the only files where I needed to make manual changes. In both cases it just meant moving the class creation outside of createFactory e.g.

```
let factory = createFactory(createClass({
  ...
}));
```

Would have been changed to:

```
class FactoryClass extends Component {
  ...
}

let factory = createFactory(FactoryClass);
```
Comment on attachment 8922760 [details]
Bug 1412023 - Memory Tool to ES6 classes

https://reviewboard.mozilla.org/r/193906/#review199020

Looks good, as long as you restore some of the mistakenly deleted comments.

::: devtools/client/memory/components/Heap.js:176
(Diff revision 1)
>    }
>  
>    return null;
>  }
>  
> -/**
> +class Heap extends Component {

This comment got deleted. Could you restore it?

::: devtools/client/memory/components/Individuals.js:13
(Diff revision 1)
>  const Tree = createFactory(require("devtools/client/shared/components/Tree"));
>  const DominatorTreeItem = createFactory(require("./DominatorTreeItem"));
>  const { TREE_ROW_HEIGHT } = require("../constants");
>  const models = require("../models");
>  
> -/**
> +class Individuals extends Component {

Comments here too.

::: devtools/client/memory/components/List.js:9
(Diff revision 1)
>  
>  "use strict";
>  
> -const { DOM: dom, createClass, PropTypes } = require("devtools/client/shared/vendor/react");
> +const { DOM: dom, Component, PropTypes } = require("devtools/client/shared/vendor/react");
>  
> -/**
> +class List extends Component {

Comments.
Attachment #8922760 - Flags: review?(gtatum) → review+
Pushed by mratcliffe@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/8dd4ccaed43e
Memory Tool to ES6 classes r=gregtatum
https://hg.mozilla.org/mozilla-central/rev/8dd4ccaed43e
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 58
Product: Firefox → DevTools
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: