[webkit-reviews] review denied: [Bug 30332] Refactor ProfilesPanel to support multiple profile types : [Attachment 41100] patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Oct 14 01:15:12 PDT 2009
Pavel Feldman <pfeldman at chromium.org> has denied Alexander Pavlov (apavlov)
<apavlov at chromium.org>'s request for review:
Bug 30332: Refactor ProfilesPanel to support multiple profile types
https://bugs.webkit.org/show_bug.cgi?id=30332
Attachment 41100: patch
https://bugs.webkit.org/attachment.cgi?id=41100&action=review
------- Additional Comments from Pavel Feldman <pfeldman at chromium.org>
I'd suggest that you organize classes related to profile types a bit
differently. I would rename ProfileView.js to CPUProfile.js and put all
CPUProfile-related classes there:
- WebInspector.CPUProfileType (profile type)
- WebInspector.CPUProfile (profile wrapper around the native object)
- WebInspector.CPUProfileView (profile view)
>> createViewForProfile: function(profile)
Define createViewForProfile on profile itself - it anyway requires profile
instance
>> buttonClicked: function()
Given that you only expose buttonClicked to the profile implementor, how do you
treat changing the style for toggle buttons? One of the solutions would be to
re-read buttonTooltip, buttonStyle and buttonCaption upon button click.
>> this.registerProfileType(new WebInspector.ProfilesPanel.CPUProfileType());
and
>> this.registerProfileType(new
WebInspector.ProfilesPanel.HeapSnapshotProfileType());
I think these should go into inspector.js instead. profiles panel should not
really be aware of profile types.
>> _forEachProfile: function(func)
I don't think you need this - it just iterates over array. Several diffs in
this patch are driven by this change and are not necessary.
>> this.showProfile(this._profilesIdMap[this._makeKey(uid,
WebInspector.ProfilesPanel.CPUProfileType.TYPE_ID)]);
Can you change signature of showProfileById to showProfile(type, uid) or
showProfile(url) or something to remove the hardcoded CPUProfilerType?
>> setRecordingProfile: function(isProfiling)
This method should be defined on CPUProfileType only. Make a call straight into
it from inspector.js. You will need to care about updating button caption I was
talking above.
>> var cpuButton =
this._getButton(WebInspector.ProfilesPanel.CPUProfileType.TYPE_ID);
Why not to iterate over all buttons and disable them?
More information about the webkit-reviews
mailing list