Closed Bug 907798 Opened 11 years ago Closed 11 years ago

Do not include TimeStamp.h in files that do not need it

Categories

(Core :: General, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla26

People

(Reporter: gsvelto, Assigned: gsvelto)

References

(Blocks 1 open bug)

Details

Attachments

(1 file, 3 obsolete files)

While working on the TimeStamp class I noticed that touching the header file would clobber half of my build; further investigation showed to me that TimeStamp.h is being included by a number of source files (and headers) that do not need it or could live with forward declarations of the TimeStamp and TimeDuration types. The files from which the header can be removed seem to be the following: content/media/plugins/MediaPluginHost.cpp dom/plugins/base/nsPluginTags.cpp gfx/layers/composite/LayerManagerComposite.cpp gfx/layers/composite/LayerManagerComposite.h gfx/layers/ipc/PLayerTransaction.ipdl gfx/layers/opengl/LayerManagerOGL.h image/src/FrameBlender.h image/src/VectorImage.h netwerk/protocol/http/nsHttpConnection.h widget/windows/winrt/FrameworkView.h widget/windows/winrt/MetroAppShell.h xpcom/build/XPCOM.h The files that need forward declarations are: gfx/layers/opengl/CompositorOGL.h tools/profiler/GeckoProfiler.h tools/profiler/GeckoProfilerFunc.h tools/profiler/GeckoProfilerImpl.h xpcom/threads/TimerThread.h
Tentative patch which builds correctly under Linux; I still have to do some more rigorous testing of this.
Assignee: nobody → gsvelto
Status: NEW → ASSIGNED
Comment on attachment 793539 [details] [diff] [review] [PATCH] Remove TimeStamp.h includes from source files that do not need it Review of attachment 793539 [details] [diff] [review]: ----------------------------------------------------------------- r=me when you get this to a stage where it builds everywhere! Please request for review again if you make any non-trivial changes in the process. Thanks!
Attachment #793539 - Flags: review+
(In reply to :Ehsan Akhgari (needinfo? me!) from comment #2) > r=me when you get this to a stage where it builds everywhere! > > Please request for review again if you make any non-trivial changes in the > process. Thanks! I had to refresh the patch because a couple of headers have already been removed in previous commits but for the rest this is identical. I've launched a try-run of the build on all our major architectures: https://tbpl.mozilla.org/?tree=Try&rev=98e2a2947b68 I had done one already with the previous patch and it turned out green everywhere: https://tbpl.mozilla.org/?tree=Try&rev=6cc7656c161e Is this enough or shall I build on more platforms?
Attachment #793539 - Attachment is obsolete: true
(In reply to Gabriele Svelto [:gsvelto] from comment #3) > Is this enough or shall I build on more platforms? You may want to build for B2G just to make sure you're not going to mysteriously shoot yourself in the foot. Otherwise, this is sufficient.
Refreshed the patch again as it's bit-rotting real fast; this time I've pushed to try with all platforms including B2G just in case: https://tbpl.mozilla.org/?tree=Try&rev=034cbda04980 If this sticks I'll ask for check-in.
Attachment #794085 - Attachment is obsolete: true
Fourth refresh and this time the patch hasn't bit-rotted before the try run completed :) https://tbpl.mozilla.org/?tree=Try&rev=71ad2984a615 This is r=ehsan as per comment 2, I've only refreshed the patch since then but no other changes were made.
Attachment #794630 - Attachment is obsolete: true
Keywords: checkin-needed
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla26
Depends on: 909139
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: