Closed Bug 1130200 Opened 11 years ago Closed 11 years ago

Performance++ should work with Fx2.0/Fx2.1

Categories

(DevTools :: Performance Tools (Profiler/Timeline), defect)

37 Branch
x86
macOS
defect
Not set
normal

Tracking

(firefox38 fixed)

RESOLVED FIXED
Firefox 38
Tracking Status
firefox38 --- fixed

People

(Reporter: jsantell, Assigned: jsantell)

References

Details

Attachments

(1 file, 2 obsolete files)

Gecko 32/34 (Fx2.0, Fx2.1): Mocks: MemoryActor, TimelineActor Features: should have working JS CallTree view.
Blocks: 1077476
Depends on: 1130204
Summary: Performance++ should work with Fx2.1/Fx2.2 → Performance++ should work with Fx2.0/Fx2.1
Attached patch 1130200-compat-perf.patch (obsolete) — Splinter Review
This fixes issues to allow this to work in fx2.0/2.1. Granted, it's only the JS call tree view.
Assignee: nobody → jsantell
Status: NEW → ASSIGNED
Attachment #8560158 - Flags: review?(vporof)
Comment on attachment 8560158 [details] [diff] [review] 1130200-compat-perf.patch Review of attachment 8560158 [details] [diff] [review]: ----------------------------------------------------------------- Very nice ::: browser/devtools/performance/modules/compatibility.js @@ +45,5 @@ > +exports.MockTimelineFront = MockTimelineFront; > + > +MockMemoryFront.prototype = MockTimelineFront.prototype = MockFront.prototype = { > + initialize: function() {}, > + destroy: function() {} Could just set the initialize and destroy methods in the MockFront constructor, to avoid having to define a prototype here. @@ +68,5 @@ > + * Takes a TabTarget, and checks through all methods that are needed > + * on the server's memory actor to determine if a mock or real MemoryActor > + * should be used. The last of the methods added to MemoryActor > + * landed in Gecko 35, so previous versions will fail this. Setting the `target`'s > + * MOCK_MEMORY_ACTOR property to true w w? @@ +74,5 @@ > + * @param {TabTarget} target > + * @return {Boolean} > + */ > +function* memoryActorSupported (target) { > + // This `target` property is used only in tests. Could elaborate a bit as to why. @@ +75,5 @@ > + * @return {Boolean} > + */ > +function* memoryActorSupported (target) { > + // This `target` property is used only in tests. > + if (target.MOCK_MEMORY_ACTOR) { Maybe renaming this to TEST_MOCK_MEMORY_ACTOR would be safer. @@ +97,5 @@ > + * @return {Boolean} > + */ > +function* timelineActorSupported(target) { > + // This `target` property is used only in tests. > + if (target.MOCK_TIMELINE_ACTOR) { Ditto here on the more elaborated comment and TEST_ prefix. ::: browser/devtools/performance/modules/front.js @@ +7,5 @@ > const { Task } = require("resource://gre/modules/Task.jsm"); > const { extend } = require("sdk/util/object"); > +const { > + MockMemoryFront, MockTimelineFront, memoryActorSupported, timelineActorSupported > +} = require("./compatibility"); Should lazyRequre all of these, since the front is imported in the toolbox, and doesn't need all of these right away. @@ +387,5 @@ > + > + /** > + * Returns an object indicating if mock actors are being used or not. > + * > + * @return object Nit: "Returns an object" "@return object" A bit redundant. @@ +389,5 @@ > + * Returns an object indicating if mock actors are being used or not. > + * > + * @return object > + */ > + mocksInUse: function () { Should make this a getter, or rename to getMocksInUse. ::: browser/devtools/performance/test/browser_perf-compatibility-01.js @@ +54,5 @@ > + "The timelineEndTime is the same as timelineStartTime."); > + is(memoryEndTime, memoryStartTime, > + "The memoryEndTime is the same as memoryStartTime."); > + > + yield removeTab(target.tab); Would be nice to test a bunch more stuff here, like everything in getAllData of a recording model.
Attachment #8560158 - Flags: review?(vporof) → review+
Attached patch 1130200-compat-perf.patch (obsolete) — Splinter Review
Lazily load modules, rename mock property to TEST_*, add another test that tests the front directly, checking that recording model has empty arrays and duration, etc. https://treeherder.mozilla.org/#/jobs?repo=try&revision=1dd182fb4787
Attachment #8560158 - Attachment is obsolete: true
Attachment #8560588 - Flags: review+
No longer depends on: 1130204
rebased
Attachment #8560588 - Attachment is obsolete: true
Attachment #8561595 - Flags: review+
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Whiteboard: [fixed-in-fx-team]
Target Milestone: --- → Firefox 38
Product: Firefox → DevTools
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: