Closed Bug 17027 Opened 25 years ago Closed 16 years ago

Eliminate dead code from layout to reduce footprint

Categories

(Core :: Layout, defect, P1)

defect

Tracking

()

RESOLVED DUPLICATE of bug 121881
Future

People

(Reporter: sfraser_bugs, Assigned: kmcclusk)

References

Details

(Keywords: memory-footprint, perf)

Startup data show that loading the layout DLL is a significant proportion of
startup time; on Mac, this DLL is around 4Mb in size, and takes about 0.3 of a
second to load on a very fast machine. On slower machines, it could take over a
second.

There is apparently some code in layout that could be removed, or at least
#ifdeffed out. An example is the native form control frames, which could be
removed if we remove the dependency of viewer on native widgets.

So this bug should be used for dead code tracking and removal.
Kevin, would you be the right person to own the ifdefing out of native widgets
from gecko?
Assignee: nisheeth → kmcclusk
I think we need to add a define which which we will use to keep the native
widget frames and widgets in the debug build, but removes them from the release
build.
Status: NEW → ASSIGNED
Target Milestone: M13
Target Milestone: M13 → M14
Moving to M14
Assignee: kmcclusk → rods
Status: ASSIGNED → NEW
Reassigning to Rod
Keywords: perf
Summary: [Perf] Eliminate dead code from layout to reduce footprint → Eliminate dead code from layout to reduce footprint
*** Bug 14819 has been marked as a duplicate of this bug. ***
The extra widget classes have been removed from the windows dir.
I have removed all unneeded widget classes (except those needed by the viewer) 
the viewer required classes need to be moved to the viewer directory.

moving to M15
Target Milestone: M14 → M15
rods: is your code removal XP, or just Windows? This bug should only be 
considered fixed when it's been done XP.
My changes are for Windows, I figured I would reassign it to waqar or pink.
Status: NEW → ASSIGNED
nsLabel, nsButton, nsCheckButton, nsTextWidget, nsTextHelper have been removed 
from the widget factory and are not part of the viewer build (on Windows)

Now I need to move th Interfaces over and I will be able to hand the bug off.
mass-move to M16
Target Milestone: M15 → M16
Moving out by executive order.
Target Milestone: M16 → M17
This is mostly cleanup work that has to do with the viewer and the widget 
library setting to "future"
Target Milestone: M17 → Future
Waqar, I am assigning this to you to fix Linux and Mac. It is fixed on Windows. 
The native widgets needs to be moved from the widget/src/<platform> directory to  
webshell/tests/viewer/<platform> directory and then the builds changed.

Check out the directory webshell/tests/viewer/windows and you will see what 
files need to be moved (approximently). Call me if you have any questions.
Assignee: rods → waqar
Severity: normal → major
Status: ASSIGNED → NEW
Priority: P3 → P1
Target Milestone: Future → ---
Added footprint keyword
Keywords: footprint
Keywords: donttest
Set milestone to mozilla0.8
Target Milestone: --- → mozilla0.8
Working on it.
Status: NEW → ASSIGNED
Almost working, the code from widget directory has been removed but the viewer is 

having problem, I need to add some more methonds to the native widgets.

Target Milestone: mozilla0.8 → mozilla0.9
Target Milestone: mozilla0.9 → mozilla0.9.1
Taking this bug
Assignee: waqar → kmcclusk
Status: ASSIGNED → NEW
OS: Mac System 8.5 → Linux
Target Milestone: mozilla0.9.1 → mozilla0.9.3
Target Milestone: mozilla0.9.3 → mozilla0.9.4
Target Milestone: mozilla0.9.4 → mozilla0.9.5
Moving to Mozilla0.9.6
Target Milestone: mozilla0.9.5 → mozilla0.9.6
Severity: major → normal
Target Milestone: mozilla0.9.6 → mozilla1.0
Blocks: 104669
I think the solution is to re-write the viewer test app so it doesn't use any
native widgets then we can remove the remaining code from our GTK implementation
to reduce footprint.
Status: NEW → ASSIGNED
Target Milestone: mozilla1.0 → mozilla0.9.9
Target Milestone: mozilla0.9.9 → mozilla1.0.1
Bulk moving Mozilla1.01 bugs to future-P1. I will pull from the future-P1 list
to schedule bugs for post Mozilla1.0 milestones
Target Milestone: mozilla1.0.1 → Future
OS: Linux → All
Blocks: 191033
should this be dupped against http://bugzilla.mozilla.org/show_bug.cgi?id=139911 ?
Probably want to keep this as a separate bug.

Once the fix for bug 139911 lands it will allow us to remove the native widgets.
 So this bug should be marked dependent on bug 139911.
Depends on: 139911
alecf, jkeiser, isn't this what you're sorta doing right now anyway?
(In reply to comment #24)
> Probably want to keep this as a separate bug.
> 
> Once the fix for bug 139911 lands it will allow us to remove the native widgets.
>  So this bug should be marked dependent on bug 139911.

bug 139911 was done in 2003 ... is this bug still valid?

Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.