Bug 945097. Build widget/gtk in unified mode. r=karl,ehsan
☠☠ backed out by 89409f6726e6 ☠ ☠
authorRobert O'Callahan <robert@ocallahan.org>
Wed, 04 Dec 2013 14:06:16 +1300
changeset 174434 21b263335af58ee73f156340039b37d6fd5d27d0
parent 174433 b5d2afd3716472ffd2c88a0055cf665391f5edb2
child 174435 8b51998bca5bca1e5b413ae27407562cd9e583ac
push id445
push userffxbld
push dateMon, 10 Mar 2014 22:05:19 +0000
treeherdermozilla-release@dc38b741b04e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerskarl, ehsan
bugs945097
milestone28.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 945097. Build widget/gtk in unified mode. r=karl,ehsan
layout/inspector/inCSSValueSearch.cpp
layout/inspector/inCSSValueSearch.h
layout/inspector/inDOMUtils.cpp
layout/inspector/inDOMUtils.h
layout/inspector/inDOMView.cpp
layout/inspector/inDOMView.h
layout/inspector/inDeepTreeWalker.cpp
layout/inspector/inDeepTreeWalker.h
layout/inspector/inFlasher.cpp
layout/inspector/inFlasher.h
layout/inspector/inICSSValueSearch.idl
layout/inspector/inIDOMUtils.idl
layout/inspector/inIDOMView.idl
layout/inspector/inIDeepTreeWalker.idl
layout/inspector/inIFlasher.idl
layout/inspector/inISearchObserver.idl
layout/inspector/inISearchProcess.idl
layout/inspector/inLayoutUtils.cpp
layout/inspector/inLayoutUtils.h
layout/inspector/inSearchLoop.cpp
layout/inspector/inSearchLoop.h
layout/inspector/moz.build
layout/inspector/nsFontFace.cpp
layout/inspector/nsFontFace.h
layout/inspector/nsFontFaceList.cpp
layout/inspector/nsFontFaceList.h
layout/inspector/nsIDOMFontFace.idl
layout/inspector/nsIDOMFontFaceList.idl
layout/xul/crashtests/131008-1.xul
layout/xul/crashtests/137216-1.xul
layout/xul/crashtests/140218-1.xml
layout/xul/crashtests/151826-1.xul
layout/xul/crashtests/168724-1.xul
layout/xul/crashtests/189814-1.xul
layout/xul/crashtests/237787-1.xul
layout/xul/crashtests/265161-1.xul
layout/xul/crashtests/289410-1.xul
layout/xul/crashtests/291702-1.xul
layout/xul/crashtests/291702-2.xul
layout/xul/crashtests/291702-3.xul
layout/xul/crashtests/294371-1.xul
layout/xul/crashtests/311457-1.html
layout/xul/crashtests/321056-1.xhtml
layout/xul/crashtests/322786-1.xul
layout/xul/crashtests/325377.xul
layout/xul/crashtests/326834-1-inner.xul
layout/xul/crashtests/326834-1.html
layout/xul/crashtests/326879-1.xul
layout/xul/crashtests/327776-1.xul
layout/xul/crashtests/328135-1.xul
layout/xul/crashtests/329327-1.xul
layout/xul/crashtests/329407-1.xml
layout/xul/crashtests/329477-1.xhtml
layout/xul/crashtests/336962-1.xul
layout/xul/crashtests/344228-1.xul
layout/xul/crashtests/346083-1.xul
layout/xul/crashtests/346281-1.xul
layout/xul/crashtests/350460.xul
layout/xul/crashtests/360642-1.xul
layout/xul/crashtests/365151.xul
layout/xul/crashtests/366112-1.xul
layout/xul/crashtests/369942-1.xhtml
layout/xul/crashtests/374102-1.xul
layout/xul/crashtests/376137-1.html
layout/xul/crashtests/376137-2.html
layout/xul/crashtests/377592-1.svg
layout/xul/crashtests/381862.html
layout/xul/crashtests/382746-1.xul
layout/xul/crashtests/382899-1.xul
layout/xul/crashtests/383236-1.xul
layout/xul/crashtests/384037-1.xhtml
layout/xul/crashtests/384105-1-inner.xul
layout/xul/crashtests/384105-1.html
layout/xul/crashtests/384491-1.xhtml
layout/xul/crashtests/384871-1-inner.xul
layout/xul/crashtests/384871-1.html
layout/xul/crashtests/387033-1.xhtml
layout/xul/crashtests/387080-1.xul
layout/xul/crashtests/391974-1-inner.xul
layout/xul/crashtests/391974-1.html
layout/xul/crashtests/394120-1.xhtml
layout/xul/crashtests/397293.xhtml
layout/xul/crashtests/397304-1.html
layout/xul/crashtests/398326-1.xhtml
layout/xul/crashtests/399013.xul
layout/xul/crashtests/400779-1.xhtml
layout/xul/crashtests/402912-1.xhtml
layout/xul/crashtests/408904-1.xul
layout/xul/crashtests/412479-1.xhtml
layout/xul/crashtests/415394-1.xhtml
layout/xul/crashtests/420424-1.xul
layout/xul/crashtests/430356-1.xhtml
layout/xul/crashtests/431738.xhtml
layout/xul/crashtests/432058-1.xul
layout/xul/crashtests/432068-1.xul
layout/xul/crashtests/432068-2.xul
layout/xul/crashtests/433296-1.xul
layout/xul/crashtests/433429.xul
layout/xul/crashtests/434458-1.xul
layout/xul/crashtests/452185.html
layout/xul/crashtests/452185.xml
layout/xul/crashtests/460900-1.xul
layout/xul/crashtests/464149-1.xul
layout/xul/crashtests/464407-1.xhtml
layout/xul/crashtests/467080.xul
layout/xul/crashtests/467481-1.xul
layout/xul/crashtests/470063-1.html
layout/xul/crashtests/470272.html
layout/xul/crashtests/472189.xul
layout/xul/crashtests/475133.html
layout/xul/crashtests/488210-1.xhtml
layout/xul/crashtests/495728-1.xul
layout/xul/crashtests/508927-1.xul
layout/xul/crashtests/508927-2.xul
layout/xul/crashtests/514300-1.xul
layout/xul/crashtests/536931-1.xhtml
layout/xul/crashtests/538308-1.xul
layout/xul/crashtests/557174-1.xml
layout/xul/crashtests/564705-1.xul
layout/xul/crashtests/583957-1.html
layout/xul/crashtests/crashtests.list
layout/xul/crashtests/menulist-focused.xhtml
layout/xul/moz.build
layout/xul/nsBox.cpp
layout/xul/nsBox.h
layout/xul/nsBoxFrame.cpp
layout/xul/nsBoxFrame.h
layout/xul/nsBoxLayout.cpp
layout/xul/nsBoxLayout.h
layout/xul/nsBoxLayoutState.cpp
layout/xul/nsBoxLayoutState.h
layout/xul/nsBoxObject.cpp
layout/xul/nsBoxObject.h
layout/xul/nsButtonBoxFrame.cpp
layout/xul/nsButtonBoxFrame.h
layout/xul/nsContainerBoxObject.cpp
layout/xul/nsDeckFrame.cpp
layout/xul/nsDeckFrame.h
layout/xul/nsDocElementBoxFrame.cpp
layout/xul/nsGroupBoxFrame.cpp
layout/xul/nsIBoxObject.idl
layout/xul/nsIBrowserBoxObject.idl
layout/xul/nsIContainerBoxObject.idl
layout/xul/nsIEditorBoxObject.idl
layout/xul/nsIIFrameBoxObject.idl
layout/xul/nsIListBoxObject.idl
layout/xul/nsIMenuBoxObject.idl
layout/xul/nsIPopupBoxObject.idl
layout/xul/nsIRootBox.h
layout/xul/nsIScrollBoxObject.idl
layout/xul/nsIScrollbarMediator.h
layout/xul/nsISliderListener.idl
layout/xul/nsImageBoxFrame.cpp
layout/xul/nsImageBoxFrame.h
layout/xul/nsLeafBoxFrame.cpp
layout/xul/nsLeafBoxFrame.h
layout/xul/nsListBoxBodyFrame.cpp
layout/xul/nsListBoxBodyFrame.h
layout/xul/nsListBoxLayout.cpp
layout/xul/nsListBoxLayout.h
layout/xul/nsListBoxObject.cpp
layout/xul/nsListItemFrame.cpp
layout/xul/nsListItemFrame.h
layout/xul/nsMenuBarFrame.cpp
layout/xul/nsMenuBarFrame.h
layout/xul/nsMenuBarListener.cpp
layout/xul/nsMenuBarListener.h
layout/xul/nsMenuBoxObject.cpp
layout/xul/nsMenuFrame.cpp
layout/xul/nsMenuFrame.h
layout/xul/nsMenuParent.h
layout/xul/nsMenuPopupFrame.cpp
layout/xul/nsMenuPopupFrame.h
layout/xul/nsPIBoxObject.h
layout/xul/nsPIListBoxObject.h
layout/xul/nsPopupBoxObject.cpp
layout/xul/nsPopupSetFrame.cpp
layout/xul/nsPopupSetFrame.h
layout/xul/nsProgressMeterFrame.cpp
layout/xul/nsProgressMeterFrame.h
layout/xul/nsRepeatService.cpp
layout/xul/nsRepeatService.h
layout/xul/nsResizerFrame.cpp
layout/xul/nsResizerFrame.h
layout/xul/nsRootBoxFrame.cpp
layout/xul/nsScrollBoxFrame.cpp
layout/xul/nsScrollBoxObject.cpp
layout/xul/nsScrollbarButtonFrame.cpp
layout/xul/nsScrollbarButtonFrame.h
layout/xul/nsScrollbarFrame.cpp
layout/xul/nsScrollbarFrame.h
layout/xul/nsSliderFrame.cpp
layout/xul/nsSliderFrame.h
layout/xul/nsSplitterFrame.cpp
layout/xul/nsSplitterFrame.h
layout/xul/nsSprocketLayout.cpp
layout/xul/nsSprocketLayout.h
layout/xul/nsStackFrame.cpp
layout/xul/nsStackFrame.h
layout/xul/nsStackLayout.cpp
layout/xul/nsStackLayout.h
layout/xul/nsTextBoxFrame.cpp
layout/xul/nsTextBoxFrame.h
layout/xul/nsTitleBarFrame.cpp
layout/xul/nsTitleBarFrame.h
layout/xul/nsXULLabelFrame.cpp
layout/xul/nsXULLabelFrame.h
layout/xul/nsXULPopupManager.cpp
layout/xul/nsXULPopupManager.h
layout/xul/nsXULTooltipListener.cpp
layout/xul/nsXULTooltipListener.h
layout/xul/reftest/image-scaling-min-height-1-ref.xul
layout/xul/reftest/image-scaling-min-height-1.xul
layout/xul/reftest/image-size-ref.xul
layout/xul/reftest/image-size.xul
layout/xul/reftest/image4x3.png
layout/xul/reftest/popup-explicit-size-ref.xul
layout/xul/reftest/popup-explicit-size.xul
layout/xul/reftest/reftest.list
layout/xul/reftest/textbox-multiline-noresize.xul
layout/xul/reftest/textbox-multiline-ref.xul
layout/xul/reftest/textbox-multiline-resize.xul
layout/xul/test/test_bug381167.xhtml
layout/xul/test/test_bug393970.xul
layout/xul/test/test_bug477754.xul
layout/xul/test/test_bug511075.html
layout/xul/test/test_popupSizeTo.xul
layout/xul/test/test_resizer.xul
layout/xul/test/test_resizer_incontent.xul
layout/xul/test/test_splitter.xul
layout/xul/test/test_stack.xul
layout/xul/test/test_windowminmaxsize.xul
layout/xul/test/window_resizer.xul
layout/xul/test/window_resizer_element.xul
widget/gtk/maiRedundantObjectFactory.c
widget/gtk/moz.build
widget/gtk/mozcontainer.c
--- a/widget/gtk/maiRedundantObjectFactory.c
+++ b/widget/gtk/maiRedundantObjectFactory.c
@@ -10,18 +10,16 @@
 
 static void mai_redundant_object_factory_class_init (
                               maiRedundantObjectFactoryClass *klass);
 
 static AtkObject* mai_redundant_object_factory_create_accessible (
                               GObject *obj);
 static GType mai_redundant_object_factory_get_accessible_type (void);
 
-static gpointer parent_class = NULL;
-
 GType
 mai_redundant_object_factory_get_type (void)
 {
   static GType type = 0;
 
   if (!type)
   {
     static const GTypeInfo tinfo =
@@ -45,18 +43,16 @@ mai_redundant_object_factory_get_type (v
   return type;
 }
 
 static void
 mai_redundant_object_factory_class_init (maiRedundantObjectFactoryClass *klass)
 {
   AtkObjectFactoryClass *class = ATK_OBJECT_FACTORY_CLASS (klass);
 
-  parent_class = g_type_class_peek_parent (klass);
-
   class->create_accessible = mai_redundant_object_factory_create_accessible;
   class->get_accessible_type = mai_redundant_object_factory_get_accessible_type;
 }
 
 /**
  * mai_redundant_object_factory_new:
  *
  * Creates an instance of an #AtkObjectFactory which generates primitive
--- a/widget/gtk/moz.build
+++ b/widget/gtk/moz.build
@@ -10,75 +10,82 @@ else:
     LIBRARY_NAME = 'widget_gtk3'
 
 EXPORTS += [
     'mozcontainer.h',
     'nsGTKToolkit.h',
     'nsIImageToPixbuf.h',
 ]
 
-SOURCES += [
-    'nsAppShell.cpp',
+UNIFIED_SOURCES += [
+    'mozcontainer.c',
     'nsBidiKeyboard.cpp',
     'nsColorPicker.cpp',
     'nsFilePicker.cpp',
-    'nsGtkIMModule.cpp',
     'nsGtkKeyUtils.cpp',
     'nsImageToPixbuf.cpp',
     'nsLookAndFeel.cpp',
     'nsNativeKeyBindings.cpp',
     'nsNativeThemeGTK.cpp',
     'nsScreenGtk.cpp',
     'nsScreenManagerGtk.cpp',
     'nsSound.cpp',
     'nsToolkit.cpp',
-    'nsWidgetFactory.cpp',
-    'nsWindow.cpp',
     'WidgetTraceEvent.cpp',
 ]
 
+# These files force-enable NSPR logging and thus cannot be built in unified mode
+SOURCES += [
+    'nsAppShell.cpp',
+    'nsGtkIMModule.cpp',
+    'nsWidgetFactory.cpp',
+    'nsWindow.cpp',
+]
+
 if CONFIG['MOZ_X11']:
-    SOURCES += [
+    UNIFIED_SOURCES += [
         'nsIdleServiceGTK.cpp',
     ]
 
 if CONFIG['NS_PRINTING']:
-    SOURCES += [
+    UNIFIED_SOURCES += [
         'nsCUPSShim.cpp',
-        'nsDeviceContextSpecG.cpp',
         'nsPaperPS.cpp',
         'nsPrintDialogGTK.cpp',
         'nsPrintOptionsGTK.cpp',
         'nsPrintSettingsGTK.cpp',
         'nsPSPrinters.cpp',
     ]
+    # This file force-enables NSPR logging and thus cannot be built in unified mode
+    SOURCES += [
+        'nsDeviceContextSpecG.cpp',
+    ]
 
 if CONFIG['MOZ_X11']:
+    UNIFIED_SOURCES += [
+        'nsClipboard.cpp',
+    ]
+    # This file force-enables NSPR logging and thus cannot be built in unified mode
     SOURCES += [
-        'nsClipboard.cpp',
         'nsDragService.cpp',
     ]
 
 FAIL_ON_WARNINGS = True
 
-SOURCES += [
-    'mozcontainer.c',
-]
-
 if CONFIG['ACCESSIBILITY']:
-    SOURCES += [
+    UNIFIED_SOURCES += [
         'maiRedundantObjectFactory.c',
     ]
 
 if CONFIG['MOZ_ENABLE_GTK2']:
-    SOURCES += [
+    UNIFIED_SOURCES += [
         'gtk2drawing.c',
     ]
 else:
-    SOURCES += [
+    UNIFIED_SOURCES += [
         'gtk3drawing.c',
     ]
 
 include('/ipc/chromium/chromium-config.mozbuild')
 
 FINAL_LIBRARY = 'xul'
 
 LOCAL_INCLUDES += [
--- a/widget/gtk/mozcontainer.c
+++ b/widget/gtk/mozcontainer.c
@@ -43,18 +43,16 @@ struct _MozContainerChild {
     gint y;
 };
 
 static void moz_container_allocate_child (MozContainer      *container,
                                           MozContainerChild *child);
 static MozContainerChild *
 moz_container_get_child (MozContainer *container, GtkWidget *child);
 
-static GtkContainerClass *parent_class = NULL;
-
 /* public methods */
 
 GType
 moz_container_get_type(void)
 {
     static GType moz_container_type = 0;
 
     if (!moz_container_type) {
@@ -148,18 +146,16 @@ moz_container_move (MozContainer *contai
 void
 moz_container_class_init (MozContainerClass *klass)
 {
     /*GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
       GtkObjectClass *object_class = GTK_OBJECT_CLASS (klass); */
     GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass);
     GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
-    parent_class = g_type_class_peek_parent (klass);
-
     widget_class->map = moz_container_map;
     widget_class->unmap = moz_container_unmap;
     widget_class->realize = moz_container_realize;
     widget_class->size_allocate = moz_container_size_allocate;
 
     container_class->remove = moz_container_remove;
     container_class->forall = moz_container_forall;
     container_class->add = moz_container_add;