Не против если я тут буду писать свои мысли по поводу разработки Mozilla? Что то типа блога. Если тут присутствуют люди участвующие в разработки и которые могут помочь со внесением моих изменений в код, то вообще замечательно :) Итак начну.
Про свое отношение к коду на C++ я уже говорил в других темах (http://forum.mozilla.ru/viewtopic.php?pid=19244#p19244 и http://forum.mozilla.ru/viewtopic.php?pid=19957#p19957), тут продолжу :)
Читающим желательно хоть немного предстовлять процесс сборки приложений и знать основы C++, иначе текст будет не очень понятен.
Так вот, внес я некоторые изменения в заголовки widget/src/qt. Изменения про которые я уже говорил, минимизировать в заголовки включение других заголовков... Результат получился следующий:
До:

Выделить код

Код:

-rw-r--r--  1 swappp users 197080 Май  9 19:50 moc_mozqwidget.o
-rw-r--r--  1 swappp users 202736 Май  9 19:50 moc_nsEventQueueWatcher.o
-rw-r--r--  1 swappp users 239692 Май  9 19:50 moc_nsMime.o
-rw-r--r--  1 swappp users 190212 Май  9 19:50 moc_nsQtEventDispatcher.o
-rw-r--r--  1 swappp users 443904 Май  9 19:50 moc_nsScrollbar.o
-rw-r--r--  1 swappp users 399700 Май  9 19:50 mozqwidget.o
-rw-r--r--  1 swappp users 239552 Май  9 19:50 nsAppShell.o
-rw-r--r--  1 swappp users  35080 Май  9 19:50 nsBidiKeyboard.o
-rw-r--r--  1 swappp users 388068 Май  9 19:50 nsClipboard.o
-rw-r--r--  1 swappp users 528192 Май  9 19:50 nsCommonWidget.o
-rw-r--r--  1 swappp users 392412 Май  9 19:50 nsDragService.o
-rw-r--r--  1 swappp users 126128 Май  9 19:50 nsEventQueueWatcher.o
-rw-r--r--  1 swappp users 633732 Май  9 19:50 nsFilePicker.o
-rw-r--r--  1 swappp users 209536 Май  9 19:50 nsLookAndFeel.o
-rw-r--r--  1 swappp users 379160 Май  9 19:50 nsMime.o
-rw-r--r--  1 swappp users 400196 Май  9 19:50 nsQtEventDispatcher.o
-rw-r--r--  1 swappp users 434856 Май  9 19:50 nsScrollbar.o
-rw-r--r--  1 swappp users 538952 Май  9 19:50 nsSound.o
-rw-r--r--  1 swappp users 174560 Май  9 19:50 nsToolkit.o
-rw-r--r--  1 swappp users 481676 Май  9 19:50 nsWidgetFactory.o
-rw-r--r--  1 swappp users 431236 Май  9 19:50 nsWindow.o

После (только измененные файлы):

Выделить код

Код:

-rw-r--r--  1 swappp users 239660 Май 10 20:17 moc_nsMime.o
-rw-r--r--  1 swappp users 443840 Май 10 20:28 moc_nsScrollbar.o
-rw-r--r--  1 swappp users 387908 Май 10 20:35 nsClipboard.o
-rw-r--r--  1 swappp users 528128 Май 10 20:35 nsCommonWidget.o
-rw-r--r--  1 swappp users 392060 Май 10 20:36 nsDragService.o
-rw-r--r--  1 swappp users 378712 Май 10 20:36 nsMime.o
-rw-r--r--  1 swappp users 434792 Май 10 20:36 nsScrollbar.o
-rw-r--r--  1 swappp users 467148 Май 10 20:36 nsWidgetFactory.o
-rw-r--r--  1 swappp users 431172 Май 10 20:37 nsWindow.o

Изменения практически не влияют на конечный исполняемый файл, т.к. дубли убираются при линковки, но время компиляции сокращается.
Казалось бы, код Qt еще молодой и не оптимизированный, я его взял только по тому, что знаю иерархию классов Qt и мне легче понять что лишние. Но тоже самое я нашел и исправил в других частях кода (parser/htmlparser/src/CNavDTD.h убрал #include "nsIParser.h" и вставил class nsIParser;, после чего все отлично собралось и работало)...

Зачем это все надо? В первую очередь для самих разработчиков, т.е. сокращение времени компиляции и использования рессурсов компьютера.