Backed out changeset b5d2afd37164 (bug 945091) for mochitest-8 bustage on a CLOSED TREE
authorCarsten "Tomcat" Book <cbook@mozilla.com>
Wed, 04 Dec 2013 09:23:39 +0100
changeset 173466 c18738d7ee310a617dd020baaa59fabfe7d82cbd
parent 173465 89409f6726e6e50137cd72c8081b0a0c99187873
child 173467 e59da97401eaa0fb5bd608fe0dc9d26d461afe5a
push id3224
push userlsblakk@mozilla.com
push dateTue, 04 Feb 2014 01:06:49 +0000
treeherdermozilla-beta@60c04d0987f1 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs945091
milestone28.0a1
backs outb5d2afd3716472ffd2c88a0055cf665391f5edb2
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
Backed out changeset b5d2afd37164 (bug 945091) for mochitest-8 bustage on a CLOSED TREE
accessible/src/base/moz.build
accessible/src/generic/moz.build
accessible/src/html/moz.build
accessible/src/mac/moz.build
accessible/src/xul/moz.build
content/base/src/moz.build
content/canvas/src/moz.build
content/events/src/moz.build
content/html/content/src/moz.build
content/media/moz.build
content/svg/content/src/moz.build
content/xul/content/src/moz.build
content/xul/document/src/moz.build
docshell/base/moz.build
dom/base/moz.build
dom/plugins/base/moz.build
editor/libeditor/html/moz.build
layout/base/moz.build
layout/build/moz.build
layout/forms/moz.build
layout/generic/moz.build
layout/ipc/moz.build
layout/mathml/moz.build
layout/moz.build
layout/reftests/reftest.list
layout/style/moz.build
layout/svg/moz.build
layout/tables/moz.build
layout/xul/base/public/moz.build
layout/xul/base/public/nsIBoxObject.idl
layout/xul/base/public/nsIBrowserBoxObject.idl
layout/xul/base/public/nsIContainerBoxObject.idl
layout/xul/base/public/nsIEditorBoxObject.idl
layout/xul/base/public/nsIIFrameBoxObject.idl
layout/xul/base/public/nsIListBoxObject.idl
layout/xul/base/public/nsIMenuBoxObject.idl
layout/xul/base/public/nsIPopupBoxObject.idl
layout/xul/base/public/nsIScrollBoxObject.idl
layout/xul/base/public/nsIScrollbarMediator.h
layout/xul/base/public/nsISliderListener.idl
layout/xul/base/public/nsPIBoxObject.h
layout/xul/base/public/nsXULPopupManager.h
layout/xul/base/reftest/image-scaling-min-height-1-ref.xul
layout/xul/base/reftest/image-scaling-min-height-1.xul
layout/xul/base/reftest/image-size-ref.xul
layout/xul/base/reftest/image-size.xul
layout/xul/base/reftest/image4x3.png
layout/xul/base/reftest/popup-explicit-size-ref.xul
layout/xul/base/reftest/popup-explicit-size.xul
layout/xul/base/reftest/reftest.list
layout/xul/base/reftest/textbox-multiline-noresize.xul
layout/xul/base/reftest/textbox-multiline-ref.xul
layout/xul/base/reftest/textbox-multiline-resize.xul
layout/xul/base/src/crashtests/131008-1.xul
layout/xul/base/src/crashtests/137216-1.xul
layout/xul/base/src/crashtests/140218-1.xml
layout/xul/base/src/crashtests/151826-1.xul
layout/xul/base/src/crashtests/168724-1.xul
layout/xul/base/src/crashtests/189814-1.xul
layout/xul/base/src/crashtests/237787-1.xul
layout/xul/base/src/crashtests/265161-1.xul
layout/xul/base/src/crashtests/289410-1.xul
layout/xul/base/src/crashtests/291702-1.xul
layout/xul/base/src/crashtests/291702-2.xul
layout/xul/base/src/crashtests/291702-3.xul
layout/xul/base/src/crashtests/294371-1.xul
layout/xul/base/src/crashtests/311457-1.html
layout/xul/base/src/crashtests/321056-1.xhtml
layout/xul/base/src/crashtests/322786-1.xul
layout/xul/base/src/crashtests/325377.xul
layout/xul/base/src/crashtests/326834-1-inner.xul
layout/xul/base/src/crashtests/326834-1.html
layout/xul/base/src/crashtests/326879-1.xul
layout/xul/base/src/crashtests/327776-1.xul
layout/xul/base/src/crashtests/328135-1.xul
layout/xul/base/src/crashtests/329327-1.xul
layout/xul/base/src/crashtests/329407-1.xml
layout/xul/base/src/crashtests/329477-1.xhtml
layout/xul/base/src/crashtests/336962-1.xul
layout/xul/base/src/crashtests/344228-1.xul
layout/xul/base/src/crashtests/346083-1.xul
layout/xul/base/src/crashtests/346281-1.xul
layout/xul/base/src/crashtests/350460.xul
layout/xul/base/src/crashtests/360642-1.xul
layout/xul/base/src/crashtests/365151.xul
layout/xul/base/src/crashtests/366112-1.xul
layout/xul/base/src/crashtests/369942-1.xhtml
layout/xul/base/src/crashtests/374102-1.xul
layout/xul/base/src/crashtests/376137-1.html
layout/xul/base/src/crashtests/376137-2.html
layout/xul/base/src/crashtests/377592-1.svg
layout/xul/base/src/crashtests/381862.html
layout/xul/base/src/crashtests/382746-1.xul
layout/xul/base/src/crashtests/382899-1.xul
layout/xul/base/src/crashtests/383236-1.xul
layout/xul/base/src/crashtests/384037-1.xhtml
layout/xul/base/src/crashtests/384105-1-inner.xul
layout/xul/base/src/crashtests/384105-1.html
layout/xul/base/src/crashtests/384491-1.xhtml
layout/xul/base/src/crashtests/384871-1-inner.xul
layout/xul/base/src/crashtests/384871-1.html
layout/xul/base/src/crashtests/387033-1.xhtml
layout/xul/base/src/crashtests/387080-1.xul
layout/xul/base/src/crashtests/391974-1-inner.xul
layout/xul/base/src/crashtests/391974-1.html
layout/xul/base/src/crashtests/394120-1.xhtml
layout/xul/base/src/crashtests/397293.xhtml
layout/xul/base/src/crashtests/397304-1.html
layout/xul/base/src/crashtests/398326-1.xhtml
layout/xul/base/src/crashtests/399013.xul
layout/xul/base/src/crashtests/400779-1.xhtml
layout/xul/base/src/crashtests/402912-1.xhtml
layout/xul/base/src/crashtests/408904-1.xul
layout/xul/base/src/crashtests/412479-1.xhtml
layout/xul/base/src/crashtests/415394-1.xhtml
layout/xul/base/src/crashtests/420424-1.xul
layout/xul/base/src/crashtests/430356-1.xhtml
layout/xul/base/src/crashtests/431738.xhtml
layout/xul/base/src/crashtests/432058-1.xul
layout/xul/base/src/crashtests/432068-1.xul
layout/xul/base/src/crashtests/432068-2.xul
layout/xul/base/src/crashtests/433296-1.xul
layout/xul/base/src/crashtests/433429.xul
layout/xul/base/src/crashtests/434458-1.xul
layout/xul/base/src/crashtests/452185.html
layout/xul/base/src/crashtests/452185.xml
layout/xul/base/src/crashtests/460900-1.xul
layout/xul/base/src/crashtests/464149-1.xul
layout/xul/base/src/crashtests/464407-1.xhtml
layout/xul/base/src/crashtests/467080.xul
layout/xul/base/src/crashtests/467481-1.xul
layout/xul/base/src/crashtests/470063-1.html
layout/xul/base/src/crashtests/470272.html
layout/xul/base/src/crashtests/472189.xul
layout/xul/base/src/crashtests/475133.html
layout/xul/base/src/crashtests/488210-1.xhtml
layout/xul/base/src/crashtests/495728-1.xul
layout/xul/base/src/crashtests/508927-1.xul
layout/xul/base/src/crashtests/508927-2.xul
layout/xul/base/src/crashtests/514300-1.xul
layout/xul/base/src/crashtests/536931-1.xhtml
layout/xul/base/src/crashtests/538308-1.xul
layout/xul/base/src/crashtests/557174-1.xml
layout/xul/base/src/crashtests/564705-1.xul
layout/xul/base/src/crashtests/583957-1.html
layout/xul/base/src/crashtests/crashtests.list
layout/xul/base/src/crashtests/menulist-focused.xhtml
layout/xul/base/src/moz.build
layout/xul/base/src/nsBox.cpp
layout/xul/base/src/nsBox.h
layout/xul/base/src/nsBoxFrame.cpp
layout/xul/base/src/nsBoxFrame.h
layout/xul/base/src/nsBoxLayout.cpp
layout/xul/base/src/nsBoxLayout.h
layout/xul/base/src/nsBoxLayoutState.cpp
layout/xul/base/src/nsBoxLayoutState.h
layout/xul/base/src/nsBoxObject.cpp
layout/xul/base/src/nsBoxObject.h
layout/xul/base/src/nsButtonBoxFrame.cpp
layout/xul/base/src/nsButtonBoxFrame.h
layout/xul/base/src/nsContainerBoxObject.cpp
layout/xul/base/src/nsDeckFrame.cpp
layout/xul/base/src/nsDeckFrame.h
layout/xul/base/src/nsDocElementBoxFrame.cpp
layout/xul/base/src/nsGroupBoxFrame.cpp
layout/xul/base/src/nsIRootBox.h
layout/xul/base/src/nsImageBoxFrame.cpp
layout/xul/base/src/nsImageBoxFrame.h
layout/xul/base/src/nsLeafBoxFrame.cpp
layout/xul/base/src/nsLeafBoxFrame.h
layout/xul/base/src/nsListBoxBodyFrame.cpp
layout/xul/base/src/nsListBoxBodyFrame.h
layout/xul/base/src/nsListBoxLayout.cpp
layout/xul/base/src/nsListBoxLayout.h
layout/xul/base/src/nsListBoxObject.cpp
layout/xul/base/src/nsListItemFrame.cpp
layout/xul/base/src/nsListItemFrame.h
layout/xul/base/src/nsMenuBarFrame.cpp
layout/xul/base/src/nsMenuBarFrame.h
layout/xul/base/src/nsMenuBarListener.cpp
layout/xul/base/src/nsMenuBarListener.h
layout/xul/base/src/nsMenuBoxObject.cpp
layout/xul/base/src/nsMenuFrame.cpp
layout/xul/base/src/nsMenuFrame.h
layout/xul/base/src/nsMenuParent.h
layout/xul/base/src/nsMenuPopupFrame.cpp
layout/xul/base/src/nsMenuPopupFrame.h
layout/xul/base/src/nsPIListBoxObject.h
layout/xul/base/src/nsPopupBoxObject.cpp
layout/xul/base/src/nsPopupSetFrame.cpp
layout/xul/base/src/nsPopupSetFrame.h
layout/xul/base/src/nsProgressMeterFrame.cpp
layout/xul/base/src/nsProgressMeterFrame.h
layout/xul/base/src/nsRepeatService.cpp
layout/xul/base/src/nsRepeatService.h
layout/xul/base/src/nsResizerFrame.cpp
layout/xul/base/src/nsResizerFrame.h
layout/xul/base/src/nsRootBoxFrame.cpp
layout/xul/base/src/nsScrollBoxFrame.cpp
layout/xul/base/src/nsScrollBoxObject.cpp
layout/xul/base/src/nsScrollbarButtonFrame.cpp
layout/xul/base/src/nsScrollbarButtonFrame.h
layout/xul/base/src/nsScrollbarFrame.cpp
layout/xul/base/src/nsScrollbarFrame.h
layout/xul/base/src/nsSliderFrame.cpp
layout/xul/base/src/nsSliderFrame.h
layout/xul/base/src/nsSplitterFrame.cpp
layout/xul/base/src/nsSplitterFrame.h
layout/xul/base/src/nsSprocketLayout.cpp
layout/xul/base/src/nsSprocketLayout.h
layout/xul/base/src/nsStackFrame.cpp
layout/xul/base/src/nsStackFrame.h
layout/xul/base/src/nsStackLayout.cpp
layout/xul/base/src/nsStackLayout.h
layout/xul/base/src/nsTextBoxFrame.cpp
layout/xul/base/src/nsTextBoxFrame.h
layout/xul/base/src/nsTitleBarFrame.cpp
layout/xul/base/src/nsTitleBarFrame.h
layout/xul/base/src/nsXULLabelFrame.cpp
layout/xul/base/src/nsXULLabelFrame.h
layout/xul/base/src/nsXULPopupManager.cpp
layout/xul/base/src/nsXULTooltipListener.cpp
layout/xul/base/src/nsXULTooltipListener.h
layout/xul/base/test/chrome.ini
layout/xul/base/test/mochitest.ini
layout/xul/base/test/moz.build
layout/xul/base/test/test_bug381167.xhtml
layout/xul/base/test/test_bug393970.xul
layout/xul/base/test/test_bug477754.xul
layout/xul/base/test/test_bug511075.html
layout/xul/base/test/test_popupSizeTo.xul
layout/xul/base/test/test_resizer.xul
layout/xul/base/test/test_resizer_incontent.xul
layout/xul/base/test/test_splitter.xul
layout/xul/base/test/test_stack.xul
layout/xul/base/test/test_windowminmaxsize.xul
layout/xul/base/test/window_resizer.xul
layout/xul/base/test/window_resizer_element.xul
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/grid/moz.build
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/chrome.ini
layout/xul/test/mochitest.ini
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
layout/xul/tree/moz.build
testing/crashtest/crashtests.list
widget/cocoa/moz.build
widget/gtk/moz.build
widget/windows/moz.build
widget/windows/winrt/moz.build
widget/xpwidgets/moz.build
--- a/accessible/src/base/moz.build
+++ b/accessible/src/base/moz.build
@@ -59,17 +59,17 @@ if a11y_log:
     ]
 
 LOCAL_INCLUDES += [
     '../../../content/xbl/src',
     '../../../ipc/chromium/src',
     '../../../layout/generic',
     '../../../layout/style',
     '../../../layout/svg',
-    '../../../layout/xul',
+    '../../../layout/xul/base/src',
     '../../../layout/xul/tree/',
     '../generic',
     '../html',
     '../xpcom',
     '../xul',
 ]
 
 if CONFIG['MOZ_ENABLE_GTK']:
--- a/accessible/src/generic/moz.build
+++ b/accessible/src/generic/moz.build
@@ -22,17 +22,17 @@ UNIFIED_SOURCES += [
     'OuterDocAccessible.cpp',
     'RootAccessible.cpp',
     'TableCellAccessible.cpp',
     'TextLeafAccessible.cpp',
 ]
 
 LOCAL_INCLUDES += [
     '../../../layout/generic',
-    '../../../layout/xul',
+    '../../../layout/xul/base/src',
     '../base',
     '../html',
     '../xpcom',
     '../xul',
 ]
 
 if CONFIG['MOZ_ENABLE_GTK']:
     LOCAL_INCLUDES += [
--- a/accessible/src/html/moz.build
+++ b/accessible/src/html/moz.build
@@ -13,17 +13,17 @@ UNIFIED_SOURCES += [
     'HTMLListAccessible.cpp',
     'HTMLSelectAccessible.cpp',
     'HTMLTableAccessible.cpp',
 ]
 
 LOCAL_INCLUDES += [
     '../../../layout/generic',
     '../../../layout/tables',
-    '../../../layout/xul',
+    '../../../layout/xul/base/src',
     '../base',
     '../generic',
     '../xpcom',
 ]
 
 if CONFIG['MOZ_ENABLE_GTK']:
     LOCAL_INCLUDES += [
         '../atk',
--- a/accessible/src/mac/moz.build
+++ b/accessible/src/mac/moz.build
@@ -27,14 +27,14 @@ UNIFIED_SOURCES += [
 ]
 
 LOCAL_INCLUDES += [
     '../base',
     '../generic',
     '../html',
     '../xul',
     '/layout/generic',
-    '/layout/xul',
+    '/layout/xul/base/src',
     '/widget/cocoa',
     '/widget/xpwidgets',
 ]
 
 FINAL_LIBRARY = 'xul'
--- a/accessible/src/xul/moz.build
+++ b/accessible/src/xul/moz.build
@@ -16,18 +16,18 @@ UNIFIED_SOURCES += [
     'XULSliderAccessible.cpp',
     'XULTabAccessible.cpp',
     'XULTreeAccessible.cpp',
     'XULTreeGridAccessible.cpp',
 ]
 
 LOCAL_INCLUDES += [
     '../../../layout/generic',
-    '../../../layout/xul',
-    '../../../layout/xul/tree',
+    '../../../layout/xul/base/src',
+    '../../../layout/xul/tree//',
     '../base',
     '../generic',
     '../html',
     '../xpcom',
 ]
 
 if CONFIG['MOZ_ENABLE_GTK']:
     LOCAL_INCLUDES += [
--- a/content/base/src/moz.build
+++ b/content/base/src/moz.build
@@ -210,11 +210,11 @@ LOCAL_INCLUDES += [
     '/image/src',
     '/js/ipc',
     '/js/xpconnect/src',
     '/js/xpconnect/wrappers',
     '/layout/base',
     '/layout/generic',
     '/layout/style',
     '/layout/svg',
-    '/layout/xul',
+    '/layout/xul/base/src',
     '/netwerk/base/src',
 ]
--- a/content/canvas/src/moz.build
+++ b/content/canvas/src/moz.build
@@ -90,11 +90,11 @@ LOCAL_INCLUDES += [
     '/content/base/src',
     '/content/html/content/src',
     '/content/xul/content/src',
     '/dom/base',
     '/image/src',
     '/js/xpconnect/src',
     '/layout/generic',
     '/layout/style',
-    '/layout/xul',
+    '/layout/xul/base/src',
 ]
 
--- a/content/events/src/moz.build
+++ b/content/events/src/moz.build
@@ -82,17 +82,17 @@ LOCAL_INCLUDES += [
     '/content/base/src',
     '/content/html/content/src',
     '/content/xml/content/src',
     '/content/xul/content/src',
     '/dom/base',
     '/dom/settings',
     '/dom/src/storage',
     '/layout/generic',
-    '/layout/xul',
+    '/layout/xul/base/src',
     '/layout/xul/tree/',
 ]
 
 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
     LOCAL_INCLUDES += [
         '/dom/wifi',
     ]
 
--- a/content/html/content/src/moz.build
+++ b/content/html/content/src/moz.build
@@ -174,13 +174,13 @@ LOCAL_INCLUDES += [
     '/dom/base',
     '/editor/libeditor/base',
     '/editor/libeditor/text',
     '/editor/txmgr/src',
     '/layout/forms',
     '/layout/generic',
     '/layout/style',
     '/layout/tables',
-    '/layout/xul',
+    '/layout/xul/base/src',
     '/netwerk/base/src',
     '/xpcom/ds',
 ]
 
--- a/content/media/moz.build
+++ b/content/media/moz.build
@@ -159,17 +159,17 @@ if CONFIG['CPU_ARCH'] == 'arm' and CONFI
 MSVC_ENABLE_PGO = True
 
 include('/ipc/chromium/chromium-config.mozbuild')
 
 FINAL_LIBRARY = 'gklayout'
 LOCAL_INCLUDES += [
     '/content/base/src',
     '/layout/generic',
-    '/layout/xul',
+    '/layout/xul/base/src',
 ]
 
 if CONFIG['MOZ_DIRECTSHOW']:
     LOCAL_INCLUDES += [
         '/media/webrtc/trunk/webrtc/modules/video_capture/windows',
     ]
 
 DEFINES['MOZILLA_INTERNAL_API'] = True
--- a/content/svg/content/src/moz.build
+++ b/content/svg/content/src/moz.build
@@ -254,11 +254,11 @@ LOCAL_INCLUDES += [
     '/content/html/content/src',
     '/content/smil',
     '/content/xbl/src',
     '/content/xml/content/src',
     '/dom',
     '/layout/generic',
     '/layout/style',
     '/layout/svg',
-    '/layout/xul',
+    '/layout/xul/base/src',
 ]
 
--- a/content/xul/content/src/moz.build
+++ b/content/xul/content/src/moz.build
@@ -21,13 +21,13 @@ LOCAL_INCLUDES += [
     '/content/base/src',
     '/content/events/src',
     '/content/html/content/src',
     '/content/xbl/src',
     '/content/xml/content/src',
     '/content/xml/document/src',
     '/layout/generic',
     '/layout/style',
-    '/layout/xul',
+    '/layout/xul/base/src',
     '/xpcom/ds',
 ]
 
 FINAL_LIBRARY = 'gklayout'
--- a/content/xul/document/src/moz.build
+++ b/content/xul/document/src/moz.build
@@ -28,13 +28,13 @@ LOCAL_INCLUDES += [
     '/content/xml/document/src',
     '/content/xul/content/src',
     '/content/xul/templates/src',
     '/docshell/base',
     '/dom/base',
     '/layout/base',
     '/layout/generic',
     '/layout/style',
-    '/layout/xul',
+    '/layout/xul/base/src',
     '/xpcom/ds',
 ]
 
 FINAL_LIBRARY = 'gklayout'
--- a/docshell/base/moz.build
+++ b/docshell/base/moz.build
@@ -74,15 +74,15 @@ include('/ipc/chromium/chromium-config.m
 
 FINAL_LIBRARY = 'xul'
 LOCAL_INCLUDES += [
     '../shistory/src',
     '/content/base/src',
     '/dom/base',
     '/layout/base',
     '/layout/generic',
-    '/layout/xul',
+    '/layout/xul/base/src',
     '/netwerk/protocol/viewsource',
     '/xpcom/ds',
 ]
 
 if CONFIG['MOZ_TOOLKIT_SEARCH']:
     DEFINES['MOZ_TOOLKIT_SEARCH'] = True
--- a/dom/base/moz.build
+++ b/dom/base/moz.build
@@ -140,17 +140,17 @@ LOCAL_INCLUDES += [
     '../time',
     '/content/base/src',
     '/content/events/src',
     '/content/html/document/src',
     '/content/xbl/src',
     '/content/xul/document/src',
     '/layout/generic',
     '/layout/style',
-    '/layout/xul',
+    '/layout/xul/base/src',
 ]
 
 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
     LOCAL_INCLUDES += [
         '../fmradio',
         '../system/gonk',
     ]
 
--- a/dom/plugins/base/moz.build
+++ b/dom/plugins/base/moz.build
@@ -102,17 +102,17 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] != 'andr
 MSVC_ENABLE_PGO = True
 
 LOCAL_INCLUDES += [
     '/content/base/src',
     '/dom/base',
     '/gfx/skia/include/config',
     '/gfx/skia/include/core',
     '/layout/generic',
-    '/layout/xul',
+    '/layout/xul/base/src',
     '/widget/android',
     '/widget/xpwidgets',
     '/xpcom/base',
 ]
 
 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
     LOCAL_INCLUDES += [
         '/dom/plugins/base/android',
--- a/editor/libeditor/html/moz.build
+++ b/editor/libeditor/html/moz.build
@@ -31,12 +31,12 @@ FAIL_ON_WARNINGS = True
 LOCAL_INCLUDES += [
     '../base',
     '../text',
     '/content/base/src',
     '/editor/txmgr/src',
     '/layout/generic',
     '/layout/style',
     '/layout/tables',
-    '/layout/xul',
+    '/layout/xul/base/src',
 ]
 
 FINAL_LIBRARY = 'gklayout'
--- a/layout/base/moz.build
+++ b/layout/base/moz.build
@@ -121,17 +121,17 @@ LOCAL_INCLUDES += [
     '../../view/src',
     '../forms',
     '../generic',
     '../mathml',
     '../printing',
     '../style',
     '../svg',
     '../tables',
-    '../xul',
+    '../xul/base/src',
     '../xul/tree/',
     '/docshell/base',
     '/xpcom/ds',
 ]
 
 FINAL_LIBRARY = 'gklayout'
 
 MOCHITEST_MANIFESTS += ['tests/mochitest.ini']
--- a/layout/build/moz.build
+++ b/layout/build/moz.build
@@ -32,17 +32,17 @@ include('/ipc/chromium/chromium-config.m
 LOCAL_INCLUDES += [
     '../base',
     '../forms',
     '../generic',
     '../inspector',
     '../mathml',
     '../style',
     '../tables',
-    '../xul',
+    '../xul/base/src',
     '/caps/include',
     '/content/base/src',
     '/content/canvas/src',
     '/content/events/src',
     '/content/html/content/src',
     '/content/html/document/src',
     '/content/svg/content/src',
     '/content/xbl/src',
--- a/layout/forms/moz.build
+++ b/layout/forms/moz.build
@@ -45,10 +45,10 @@ FINAL_LIBRARY = 'gklayout'
 LOCAL_INCLUDES += [
     '../../content/base/src',
     '../../content/html/content/src',
     '../../editor/libeditor/base',
     '../../editor/libeditor/text',
     '../../editor/txmgr/src',
     '../base',
     '../generic',
-    '../xul',
+    '../xul/base/src',
 ]
--- a/layout/generic/moz.build
+++ b/layout/generic/moz.build
@@ -114,10 +114,10 @@ LOCAL_INCLUDES += [
     '../../content/xul/content/src',
     '../../dom/base',
     '../../dom/plugins/base',
     '../base',
     '../forms',
     '../style',
     '../svg',
     '../tables',
-    '../xul',
+    '../xul/base/src',
 ]
--- a/layout/ipc/moz.build
+++ b/layout/ipc/moz.build
@@ -24,10 +24,10 @@ FAIL_ON_WARNINGS = True
 include('/ipc/chromium/chromium-config.mozbuild')
 
 FINAL_LIBRARY = 'gklayout'
 
 LOCAL_INCLUDES += [
     '/content/base/src',
     '/layout/base',
     '/layout/generic',
-    '/layout/xul',
+    '/layout/xul/base/src',
 ]
--- a/layout/mathml/moz.build
+++ b/layout/mathml/moz.build
@@ -32,17 +32,17 @@ UNIFIED_SOURCES += [
 FAIL_ON_WARNINGS = True
 
 FINAL_LIBRARY = 'gklayout'
 LOCAL_INCLUDES += [
     '../base',
     '../generic',
     '../style',
     '../tables',
-    '../xul',
+    '../xul/base/src',
     '/content/base/src',
     '/content/mathml/content/src',
 ]
 
 if CONFIG['ENABLE_TESTS']:
     PARALLEL_DIRS += [
         'tests',
     ]
--- a/layout/moz.build
+++ b/layout/moz.build
@@ -6,26 +6,36 @@
 
 PARALLEL_DIRS += [
     'style',
     'base',
     'generic',
     'forms',
     'tables',
     'svg',
-    'xul',
+    'xul/base/public',
+    'xul/base/src',
     'ipc',
     'mathml',
     'inspector',
     'tools/recording',
 ]
 
 if CONFIG['NS_PRINTING']:
     PARALLEL_DIRS += ['printing']
 
+if CONFIG['MOZ_XUL']:
+    PARALLEL_DIRS += ['xul/tree', 'xul/grid']
+
+if CONFIG['ENABLE_TESTS']:
+    PARALLEL_DIRS += [
+        'xul/test',
+        'xul/base/test',
+    ]
+
 TEST_TOOL_DIRS += [
     'tools/reftest',
     'reftests/fonts',
     'reftests/fonts/mplus',
 ]
 
 DIRS += ['build', 'media']
 
--- a/layout/reftests/reftest.list
+++ b/layout/reftests/reftest.list
@@ -323,17 +323,17 @@ skip-if(B2G) include xul-document-load/r
 
 # xul/
 skip-if(B2G) include xul/reftest.list
 
 # webcomonents/
 include webcomponents/reftest.list
 
 # xul
-skip-if(B2G) include ../xul/reftest/reftest.list
+skip-if(B2G) include ../xul/base/reftest/reftest.list
 
 # xul grid
 skip-if(B2G) include ../xul/grid/reftests/reftest.list
 
 # z-index/
 skip-if(B2G) include z-index/reftest.list
 
 # reftest(s) to verify content bugfixes
--- a/layout/style/moz.build
+++ b/layout/style/moz.build
@@ -136,11 +136,11 @@ FINAL_LIBRARY = 'gklayout'
 
 LOCAL_INCLUDES += [
     '../../content/base/src',
     '../../content/html/content/src',
     '../../content/xbl/src',
     '../../content/xul/document/src',
     '../base',
     '../generic',
-    '../xul',
+    '../xul/base/src',
     '/dom/base',
 ]
--- a/layout/svg/moz.build
+++ b/layout/svg/moz.build
@@ -51,11 +51,11 @@ FAIL_ON_WARNINGS = True
 FINAL_LIBRARY = 'gklayout'
 LOCAL_INCLUDES += [
     '../../content/base/src',
     '../../content/svg/content/src',
     '../../widget',
     '../base',
     '../generic',
     '../style',
-    '../xul',
+    '../xul/base/src',
 ]
 
--- a/layout/tables/moz.build
+++ b/layout/tables/moz.build
@@ -33,12 +33,12 @@ FINAL_LIBRARY = 'gklayout'
 
 LOCAL_INCLUDES += [
     '../../content/base/src',
     '../../content/html/content/src',
     '../../intl/unicharutil/util',
     '../base',
     '../generic',
     '../style',
-    '../xul',
+    '../xul/base/src',
 ]
 
 DEFINES['DEBUG_TABLE_STRATEGY_off'] = True
new file mode 100644
--- /dev/null
+++ b/layout/xul/base/public/moz.build
@@ -0,0 +1,27 @@
+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+XPIDL_SOURCES += [
+    'nsIBoxObject.idl',
+    'nsIBrowserBoxObject.idl',
+    'nsIContainerBoxObject.idl',
+    'nsIEditorBoxObject.idl',
+    'nsIIFrameBoxObject.idl',
+    'nsIListBoxObject.idl',
+    'nsIMenuBoxObject.idl',
+    'nsIPopupBoxObject.idl',
+    'nsIScrollBoxObject.idl',
+    'nsISliderListener.idl',
+]
+
+XPIDL_MODULE = 'layout_xul'
+
+EXPORTS += [
+    'nsIScrollbarMediator.h',
+    'nsPIBoxObject.h',
+    'nsXULPopupManager.h',
+]
+
rename from layout/xul/nsIBoxObject.idl
rename to layout/xul/base/public/nsIBoxObject.idl
rename from layout/xul/nsIBrowserBoxObject.idl
rename to layout/xul/base/public/nsIBrowserBoxObject.idl
rename from layout/xul/nsIContainerBoxObject.idl
rename to layout/xul/base/public/nsIContainerBoxObject.idl
rename from layout/xul/nsIEditorBoxObject.idl
rename to layout/xul/base/public/nsIEditorBoxObject.idl
rename from layout/xul/nsIIFrameBoxObject.idl
rename to layout/xul/base/public/nsIIFrameBoxObject.idl
rename from layout/xul/nsIListBoxObject.idl
rename to layout/xul/base/public/nsIListBoxObject.idl
rename from layout/xul/nsIMenuBoxObject.idl
rename to layout/xul/base/public/nsIMenuBoxObject.idl
rename from layout/xul/nsIPopupBoxObject.idl
rename to layout/xul/base/public/nsIPopupBoxObject.idl
rename from layout/xul/nsIScrollBoxObject.idl
rename to layout/xul/base/public/nsIScrollBoxObject.idl
rename from layout/xul/nsIScrollbarMediator.h
rename to layout/xul/base/public/nsIScrollbarMediator.h
rename from layout/xul/nsISliderListener.idl
rename to layout/xul/base/public/nsISliderListener.idl
rename from layout/xul/nsPIBoxObject.h
rename to layout/xul/base/public/nsPIBoxObject.h
rename from layout/xul/nsXULPopupManager.h
rename to layout/xul/base/public/nsXULPopupManager.h
rename from layout/xul/reftest/image-scaling-min-height-1-ref.xul
rename to layout/xul/base/reftest/image-scaling-min-height-1-ref.xul
rename from layout/xul/reftest/image-scaling-min-height-1.xul
rename to layout/xul/base/reftest/image-scaling-min-height-1.xul
rename from layout/xul/reftest/image-size-ref.xul
rename to layout/xul/base/reftest/image-size-ref.xul
rename from layout/xul/reftest/image-size.xul
rename to layout/xul/base/reftest/image-size.xul
rename from layout/xul/reftest/image4x3.png
rename to layout/xul/base/reftest/image4x3.png
rename from layout/xul/reftest/popup-explicit-size-ref.xul
rename to layout/xul/base/reftest/popup-explicit-size-ref.xul
rename from layout/xul/reftest/popup-explicit-size.xul
rename to layout/xul/base/reftest/popup-explicit-size.xul
rename from layout/xul/reftest/reftest.list
rename to layout/xul/base/reftest/reftest.list
rename from layout/xul/reftest/textbox-multiline-noresize.xul
rename to layout/xul/base/reftest/textbox-multiline-noresize.xul
rename from layout/xul/reftest/textbox-multiline-ref.xul
rename to layout/xul/base/reftest/textbox-multiline-ref.xul
rename from layout/xul/reftest/textbox-multiline-resize.xul
rename to layout/xul/base/reftest/textbox-multiline-resize.xul
rename from layout/xul/crashtests/131008-1.xul
rename to layout/xul/base/src/crashtests/131008-1.xul
rename from layout/xul/crashtests/137216-1.xul
rename to layout/xul/base/src/crashtests/137216-1.xul
rename from layout/xul/crashtests/140218-1.xml
rename to layout/xul/base/src/crashtests/140218-1.xml
rename from layout/xul/crashtests/151826-1.xul
rename to layout/xul/base/src/crashtests/151826-1.xul
rename from layout/xul/crashtests/168724-1.xul
rename to layout/xul/base/src/crashtests/168724-1.xul
rename from layout/xul/crashtests/189814-1.xul
rename to layout/xul/base/src/crashtests/189814-1.xul
rename from layout/xul/crashtests/237787-1.xul
rename to layout/xul/base/src/crashtests/237787-1.xul
rename from layout/xul/crashtests/265161-1.xul
rename to layout/xul/base/src/crashtests/265161-1.xul
rename from layout/xul/crashtests/289410-1.xul
rename to layout/xul/base/src/crashtests/289410-1.xul
rename from layout/xul/crashtests/291702-1.xul
rename to layout/xul/base/src/crashtests/291702-1.xul
rename from layout/xul/crashtests/291702-2.xul
rename to layout/xul/base/src/crashtests/291702-2.xul
rename from layout/xul/crashtests/291702-3.xul
rename to layout/xul/base/src/crashtests/291702-3.xul
rename from layout/xul/crashtests/294371-1.xul
rename to layout/xul/base/src/crashtests/294371-1.xul
rename from layout/xul/crashtests/311457-1.html
rename to layout/xul/base/src/crashtests/311457-1.html
rename from layout/xul/crashtests/321056-1.xhtml
rename to layout/xul/base/src/crashtests/321056-1.xhtml
rename from layout/xul/crashtests/322786-1.xul
rename to layout/xul/base/src/crashtests/322786-1.xul
rename from layout/xul/crashtests/325377.xul
rename to layout/xul/base/src/crashtests/325377.xul
rename from layout/xul/crashtests/326834-1-inner.xul
rename to layout/xul/base/src/crashtests/326834-1-inner.xul
rename from layout/xul/crashtests/326834-1.html
rename to layout/xul/base/src/crashtests/326834-1.html
rename from layout/xul/crashtests/326879-1.xul
rename to layout/xul/base/src/crashtests/326879-1.xul
rename from layout/xul/crashtests/327776-1.xul
rename to layout/xul/base/src/crashtests/327776-1.xul
rename from layout/xul/crashtests/328135-1.xul
rename to layout/xul/base/src/crashtests/328135-1.xul
rename from layout/xul/crashtests/329327-1.xul
rename to layout/xul/base/src/crashtests/329327-1.xul
rename from layout/xul/crashtests/329407-1.xml
rename to layout/xul/base/src/crashtests/329407-1.xml
rename from layout/xul/crashtests/329477-1.xhtml
rename to layout/xul/base/src/crashtests/329477-1.xhtml
rename from layout/xul/crashtests/336962-1.xul
rename to layout/xul/base/src/crashtests/336962-1.xul
rename from layout/xul/crashtests/344228-1.xul
rename to layout/xul/base/src/crashtests/344228-1.xul
rename from layout/xul/crashtests/346083-1.xul
rename to layout/xul/base/src/crashtests/346083-1.xul
rename from layout/xul/crashtests/346281-1.xul
rename to layout/xul/base/src/crashtests/346281-1.xul
rename from layout/xul/crashtests/350460.xul
rename to layout/xul/base/src/crashtests/350460.xul
rename from layout/xul/crashtests/360642-1.xul
rename to layout/xul/base/src/crashtests/360642-1.xul
rename from layout/xul/crashtests/365151.xul
rename to layout/xul/base/src/crashtests/365151.xul
rename from layout/xul/crashtests/366112-1.xul
rename to layout/xul/base/src/crashtests/366112-1.xul
rename from layout/xul/crashtests/369942-1.xhtml
rename to layout/xul/base/src/crashtests/369942-1.xhtml
rename from layout/xul/crashtests/374102-1.xul
rename to layout/xul/base/src/crashtests/374102-1.xul
rename from layout/xul/crashtests/376137-1.html
rename to layout/xul/base/src/crashtests/376137-1.html
rename from layout/xul/crashtests/376137-2.html
rename to layout/xul/base/src/crashtests/376137-2.html
rename from layout/xul/crashtests/377592-1.svg
rename to layout/xul/base/src/crashtests/377592-1.svg
rename from layout/xul/crashtests/381862.html
rename to layout/xul/base/src/crashtests/381862.html
rename from layout/xul/crashtests/382746-1.xul
rename to layout/xul/base/src/crashtests/382746-1.xul
rename from layout/xul/crashtests/382899-1.xul
rename to layout/xul/base/src/crashtests/382899-1.xul
rename from layout/xul/crashtests/383236-1.xul
rename to layout/xul/base/src/crashtests/383236-1.xul
rename from layout/xul/crashtests/384037-1.xhtml
rename to layout/xul/base/src/crashtests/384037-1.xhtml
rename from layout/xul/crashtests/384105-1-inner.xul
rename to layout/xul/base/src/crashtests/384105-1-inner.xul
rename from layout/xul/crashtests/384105-1.html
rename to layout/xul/base/src/crashtests/384105-1.html
rename from layout/xul/crashtests/384491-1.xhtml
rename to layout/xul/base/src/crashtests/384491-1.xhtml
rename from layout/xul/crashtests/384871-1-inner.xul
rename to layout/xul/base/src/crashtests/384871-1-inner.xul
rename from layout/xul/crashtests/384871-1.html
rename to layout/xul/base/src/crashtests/384871-1.html
rename from layout/xul/crashtests/387033-1.xhtml
rename to layout/xul/base/src/crashtests/387033-1.xhtml
rename from layout/xul/crashtests/387080-1.xul
rename to layout/xul/base/src/crashtests/387080-1.xul
rename from layout/xul/crashtests/391974-1-inner.xul
rename to layout/xul/base/src/crashtests/391974-1-inner.xul
rename from layout/xul/crashtests/391974-1.html
rename to layout/xul/base/src/crashtests/391974-1.html
rename from layout/xul/crashtests/394120-1.xhtml
rename to layout/xul/base/src/crashtests/394120-1.xhtml
rename from layout/xul/crashtests/397293.xhtml
rename to layout/xul/base/src/crashtests/397293.xhtml
rename from layout/xul/crashtests/397304-1.html
rename to layout/xul/base/src/crashtests/397304-1.html
rename from layout/xul/crashtests/398326-1.xhtml
rename to layout/xul/base/src/crashtests/398326-1.xhtml
rename from layout/xul/crashtests/399013.xul
rename to layout/xul/base/src/crashtests/399013.xul
rename from layout/xul/crashtests/400779-1.xhtml
rename to layout/xul/base/src/crashtests/400779-1.xhtml
rename from layout/xul/crashtests/402912-1.xhtml
rename to layout/xul/base/src/crashtests/402912-1.xhtml
rename from layout/xul/crashtests/408904-1.xul
rename to layout/xul/base/src/crashtests/408904-1.xul
rename from layout/xul/crashtests/412479-1.xhtml
rename to layout/xul/base/src/crashtests/412479-1.xhtml
rename from layout/xul/crashtests/415394-1.xhtml
rename to layout/xul/base/src/crashtests/415394-1.xhtml
rename from layout/xul/crashtests/420424-1.xul
rename to layout/xul/base/src/crashtests/420424-1.xul
rename from layout/xul/crashtests/430356-1.xhtml
rename to layout/xul/base/src/crashtests/430356-1.xhtml
rename from layout/xul/crashtests/431738.xhtml
rename to layout/xul/base/src/crashtests/431738.xhtml
rename from layout/xul/crashtests/432058-1.xul
rename to layout/xul/base/src/crashtests/432058-1.xul
rename from layout/xul/crashtests/432068-1.xul
rename to layout/xul/base/src/crashtests/432068-1.xul
rename from layout/xul/crashtests/432068-2.xul
rename to layout/xul/base/src/crashtests/432068-2.xul
rename from layout/xul/crashtests/433296-1.xul
rename to layout/xul/base/src/crashtests/433296-1.xul
rename from layout/xul/crashtests/433429.xul
rename to layout/xul/base/src/crashtests/433429.xul
rename from layout/xul/crashtests/434458-1.xul
rename to layout/xul/base/src/crashtests/434458-1.xul
rename from layout/xul/crashtests/452185.html
rename to layout/xul/base/src/crashtests/452185.html
rename from layout/xul/crashtests/452185.xml
rename to layout/xul/base/src/crashtests/452185.xml
rename from layout/xul/crashtests/460900-1.xul
rename to layout/xul/base/src/crashtests/460900-1.xul
rename from layout/xul/crashtests/464149-1.xul
rename to layout/xul/base/src/crashtests/464149-1.xul
rename from layout/xul/crashtests/464407-1.xhtml
rename to layout/xul/base/src/crashtests/464407-1.xhtml
rename from layout/xul/crashtests/467080.xul
rename to layout/xul/base/src/crashtests/467080.xul
rename from layout/xul/crashtests/467481-1.xul
rename to layout/xul/base/src/crashtests/467481-1.xul
rename from layout/xul/crashtests/470063-1.html
rename to layout/xul/base/src/crashtests/470063-1.html
rename from layout/xul/crashtests/470272.html
rename to layout/xul/base/src/crashtests/470272.html
rename from layout/xul/crashtests/472189.xul
rename to layout/xul/base/src/crashtests/472189.xul
rename from layout/xul/crashtests/475133.html
rename to layout/xul/base/src/crashtests/475133.html
rename from layout/xul/crashtests/488210-1.xhtml
rename to layout/xul/base/src/crashtests/488210-1.xhtml
rename from layout/xul/crashtests/495728-1.xul
rename to layout/xul/base/src/crashtests/495728-1.xul
rename from layout/xul/crashtests/508927-1.xul
rename to layout/xul/base/src/crashtests/508927-1.xul
rename from layout/xul/crashtests/508927-2.xul
rename to layout/xul/base/src/crashtests/508927-2.xul
rename from layout/xul/crashtests/514300-1.xul
rename to layout/xul/base/src/crashtests/514300-1.xul
rename from layout/xul/crashtests/536931-1.xhtml
rename to layout/xul/base/src/crashtests/536931-1.xhtml
rename from layout/xul/crashtests/538308-1.xul
rename to layout/xul/base/src/crashtests/538308-1.xul
rename from layout/xul/crashtests/557174-1.xml
rename to layout/xul/base/src/crashtests/557174-1.xml
rename from layout/xul/crashtests/564705-1.xul
rename to layout/xul/base/src/crashtests/564705-1.xul
rename from layout/xul/crashtests/583957-1.html
rename to layout/xul/base/src/crashtests/583957-1.html
rename from layout/xul/crashtests/crashtests.list
rename to layout/xul/base/src/crashtests/crashtests.list
rename from layout/xul/crashtests/menulist-focused.xhtml
rename to layout/xul/base/src/crashtests/menulist-focused.xhtml
rename from layout/xul/moz.build
rename to layout/xul/base/src/moz.build
--- a/layout/xul/moz.build
+++ b/layout/xul/base/src/moz.build
@@ -1,35 +1,14 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-XPIDL_SOURCES += [
-    'nsIBoxObject.idl',
-    'nsIBrowserBoxObject.idl',
-    'nsIContainerBoxObject.idl',
-    'nsIEditorBoxObject.idl',
-    'nsIIFrameBoxObject.idl',
-    'nsIListBoxObject.idl',
-    'nsIMenuBoxObject.idl',
-    'nsIPopupBoxObject.idl',
-    'nsIScrollBoxObject.idl',
-    'nsISliderListener.idl',
-]
-
-XPIDL_MODULE = 'layout_xul'
-
-EXPORTS += [
-    'nsIScrollbarMediator.h',
-    'nsPIBoxObject.h',
-    'nsXULPopupManager.h',
-]
-
 UNIFIED_SOURCES += [
     'nsBox.cpp',
     'nsBoxFrame.cpp',
     'nsBoxLayout.cpp',
     'nsBoxLayoutState.cpp',
     'nsBoxObject.cpp',
     'nsButtonBoxFrame.cpp',
     'nsRepeatService.cpp',
@@ -68,29 +47,21 @@ if CONFIG['MOZ_XUL']:
         'nsScrollBoxObject.cpp',
         'nsSplitterFrame.cpp',
         'nsTextBoxFrame.cpp',
         'nsTitleBarFrame.cpp',
         'nsXULLabelFrame.cpp',
         'nsXULPopupManager.cpp',
     ]
 
-if CONFIG['ENABLE_TESTS']:
-    PARALLEL_DIRS += [
-        'test',
-    ]
-
-if CONFIG['MOZ_XUL']:
-    PARALLEL_DIRS += ['tree', 'grid']
-
 FAIL_ON_WARNINGS = True
 
 MSVC_ENABLE_PGO = True
 
 FINAL_LIBRARY = 'gklayout'
 LOCAL_INCLUDES += [
-    '../../content/base/src',
-    '../../content/events/src',
-    '../base',
-    '../generic',
-    '../style',
+    '../../../../content/base/src',
+    '../../../../content/events/src',
+    '../../../base',
+    '../../../generic',
+    '../../../style',
 ]
 
rename from layout/xul/nsBox.cpp
rename to layout/xul/base/src/nsBox.cpp
rename from layout/xul/nsBox.h
rename to layout/xul/base/src/nsBox.h
rename from layout/xul/nsBoxFrame.cpp
rename to layout/xul/base/src/nsBoxFrame.cpp
rename from layout/xul/nsBoxFrame.h
rename to layout/xul/base/src/nsBoxFrame.h
rename from layout/xul/nsBoxLayout.cpp
rename to layout/xul/base/src/nsBoxLayout.cpp
rename from layout/xul/nsBoxLayout.h
rename to layout/xul/base/src/nsBoxLayout.h
rename from layout/xul/nsBoxLayoutState.cpp
rename to layout/xul/base/src/nsBoxLayoutState.cpp
rename from layout/xul/nsBoxLayoutState.h
rename to layout/xul/base/src/nsBoxLayoutState.h
rename from layout/xul/nsBoxObject.cpp
rename to layout/xul/base/src/nsBoxObject.cpp
rename from layout/xul/nsBoxObject.h
rename to layout/xul/base/src/nsBoxObject.h
rename from layout/xul/nsButtonBoxFrame.cpp
rename to layout/xul/base/src/nsButtonBoxFrame.cpp
rename from layout/xul/nsButtonBoxFrame.h
rename to layout/xul/base/src/nsButtonBoxFrame.h
rename from layout/xul/nsContainerBoxObject.cpp
rename to layout/xul/base/src/nsContainerBoxObject.cpp
rename from layout/xul/nsDeckFrame.cpp
rename to layout/xul/base/src/nsDeckFrame.cpp
rename from layout/xul/nsDeckFrame.h
rename to layout/xul/base/src/nsDeckFrame.h
rename from layout/xul/nsDocElementBoxFrame.cpp
rename to layout/xul/base/src/nsDocElementBoxFrame.cpp
rename from layout/xul/nsGroupBoxFrame.cpp
rename to layout/xul/base/src/nsGroupBoxFrame.cpp
rename from layout/xul/nsIRootBox.h
rename to layout/xul/base/src/nsIRootBox.h
rename from layout/xul/nsImageBoxFrame.cpp
rename to layout/xul/base/src/nsImageBoxFrame.cpp
rename from layout/xul/nsImageBoxFrame.h
rename to layout/xul/base/src/nsImageBoxFrame.h
rename from layout/xul/nsLeafBoxFrame.cpp
rename to layout/xul/base/src/nsLeafBoxFrame.cpp
rename from layout/xul/nsLeafBoxFrame.h
rename to layout/xul/base/src/nsLeafBoxFrame.h
rename from layout/xul/nsListBoxBodyFrame.cpp
rename to layout/xul/base/src/nsListBoxBodyFrame.cpp
rename from layout/xul/nsListBoxBodyFrame.h
rename to layout/xul/base/src/nsListBoxBodyFrame.h
rename from layout/xul/nsListBoxLayout.cpp
rename to layout/xul/base/src/nsListBoxLayout.cpp
rename from layout/xul/nsListBoxLayout.h
rename to layout/xul/base/src/nsListBoxLayout.h
rename from layout/xul/nsListBoxObject.cpp
rename to layout/xul/base/src/nsListBoxObject.cpp
rename from layout/xul/nsListItemFrame.cpp
rename to layout/xul/base/src/nsListItemFrame.cpp
rename from layout/xul/nsListItemFrame.h
rename to layout/xul/base/src/nsListItemFrame.h
rename from layout/xul/nsMenuBarFrame.cpp
rename to layout/xul/base/src/nsMenuBarFrame.cpp
rename from layout/xul/nsMenuBarFrame.h
rename to layout/xul/base/src/nsMenuBarFrame.h
rename from layout/xul/nsMenuBarListener.cpp
rename to layout/xul/base/src/nsMenuBarListener.cpp
rename from layout/xul/nsMenuBarListener.h
rename to layout/xul/base/src/nsMenuBarListener.h
rename from layout/xul/nsMenuBoxObject.cpp
rename to layout/xul/base/src/nsMenuBoxObject.cpp
rename from layout/xul/nsMenuFrame.cpp
rename to layout/xul/base/src/nsMenuFrame.cpp
rename from layout/xul/nsMenuFrame.h
rename to layout/xul/base/src/nsMenuFrame.h
rename from layout/xul/nsMenuParent.h
rename to layout/xul/base/src/nsMenuParent.h
rename from layout/xul/nsMenuPopupFrame.cpp
rename to layout/xul/base/src/nsMenuPopupFrame.cpp
rename from layout/xul/nsMenuPopupFrame.h
rename to layout/xul/base/src/nsMenuPopupFrame.h
rename from layout/xul/nsPIListBoxObject.h
rename to layout/xul/base/src/nsPIListBoxObject.h
rename from layout/xul/nsPopupBoxObject.cpp
rename to layout/xul/base/src/nsPopupBoxObject.cpp
rename from layout/xul/nsPopupSetFrame.cpp
rename to layout/xul/base/src/nsPopupSetFrame.cpp
rename from layout/xul/nsPopupSetFrame.h
rename to layout/xul/base/src/nsPopupSetFrame.h
rename from layout/xul/nsProgressMeterFrame.cpp
rename to layout/xul/base/src/nsProgressMeterFrame.cpp
rename from layout/xul/nsProgressMeterFrame.h
rename to layout/xul/base/src/nsProgressMeterFrame.h
rename from layout/xul/nsRepeatService.cpp
rename to layout/xul/base/src/nsRepeatService.cpp
rename from layout/xul/nsRepeatService.h
rename to layout/xul/base/src/nsRepeatService.h
rename from layout/xul/nsResizerFrame.cpp
rename to layout/xul/base/src/nsResizerFrame.cpp
rename from layout/xul/nsResizerFrame.h
rename to layout/xul/base/src/nsResizerFrame.h
rename from layout/xul/nsRootBoxFrame.cpp
rename to layout/xul/base/src/nsRootBoxFrame.cpp
rename from layout/xul/nsScrollBoxFrame.cpp
rename to layout/xul/base/src/nsScrollBoxFrame.cpp
rename from layout/xul/nsScrollBoxObject.cpp
rename to layout/xul/base/src/nsScrollBoxObject.cpp
rename from layout/xul/nsScrollbarButtonFrame.cpp
rename to layout/xul/base/src/nsScrollbarButtonFrame.cpp
rename from layout/xul/nsScrollbarButtonFrame.h
rename to layout/xul/base/src/nsScrollbarButtonFrame.h
rename from layout/xul/nsScrollbarFrame.cpp
rename to layout/xul/base/src/nsScrollbarFrame.cpp
rename from layout/xul/nsScrollbarFrame.h
rename to layout/xul/base/src/nsScrollbarFrame.h
rename from layout/xul/nsSliderFrame.cpp
rename to layout/xul/base/src/nsSliderFrame.cpp
rename from layout/xul/nsSliderFrame.h
rename to layout/xul/base/src/nsSliderFrame.h
rename from layout/xul/nsSplitterFrame.cpp
rename to layout/xul/base/src/nsSplitterFrame.cpp
rename from layout/xul/nsSplitterFrame.h
rename to layout/xul/base/src/nsSplitterFrame.h
rename from layout/xul/nsSprocketLayout.cpp
rename to layout/xul/base/src/nsSprocketLayout.cpp
rename from layout/xul/nsSprocketLayout.h
rename to layout/xul/base/src/nsSprocketLayout.h
rename from layout/xul/nsStackFrame.cpp
rename to layout/xul/base/src/nsStackFrame.cpp
rename from layout/xul/nsStackFrame.h
rename to layout/xul/base/src/nsStackFrame.h
rename from layout/xul/nsStackLayout.cpp
rename to layout/xul/base/src/nsStackLayout.cpp
rename from layout/xul/nsStackLayout.h
rename to layout/xul/base/src/nsStackLayout.h
rename from layout/xul/nsTextBoxFrame.cpp
rename to layout/xul/base/src/nsTextBoxFrame.cpp
rename from layout/xul/nsTextBoxFrame.h
rename to layout/xul/base/src/nsTextBoxFrame.h
rename from layout/xul/nsTitleBarFrame.cpp
rename to layout/xul/base/src/nsTitleBarFrame.cpp
rename from layout/xul/nsTitleBarFrame.h
rename to layout/xul/base/src/nsTitleBarFrame.h
rename from layout/xul/nsXULLabelFrame.cpp
rename to layout/xul/base/src/nsXULLabelFrame.cpp
rename from layout/xul/nsXULLabelFrame.h
rename to layout/xul/base/src/nsXULLabelFrame.h
rename from layout/xul/nsXULPopupManager.cpp
rename to layout/xul/base/src/nsXULPopupManager.cpp
rename from layout/xul/nsXULTooltipListener.cpp
rename to layout/xul/base/src/nsXULTooltipListener.cpp
rename from layout/xul/nsXULTooltipListener.h
rename to layout/xul/base/src/nsXULTooltipListener.h
new file mode 100644
--- /dev/null
+++ b/layout/xul/base/test/chrome.ini
@@ -0,0 +1,12 @@
+[DEFAULT]
+support-files =
+  window_resizer.xul
+  window_resizer_element.xul
+
+[test_bug381167.xhtml]
+[test_bug393970.xul]
+[test_bug477754.xul]
+[test_popupSizeTo.xul]
+[test_resizer.xul]
+[test_stack.xul]
+[test_windowminmaxsize.xul]
new file mode 100644
--- /dev/null
+++ b/layout/xul/base/test/mochitest.ini
@@ -0,0 +1,5 @@
+[DEFAULT]
+
+[test_bug511075.html]
+[test_resizer_incontent.xul]
+[test_splitter.xul]
new file mode 100644
--- /dev/null
+++ b/layout/xul/base/test/moz.build
@@ -0,0 +1,10 @@
+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
+MOCHITEST_CHROME_MANIFESTS += ['chrome.ini']
+
rename from layout/xul/test/test_bug381167.xhtml
rename to layout/xul/base/test/test_bug381167.xhtml
rename from layout/xul/test/test_bug393970.xul
rename to layout/xul/base/test/test_bug393970.xul
rename from layout/xul/test/test_bug477754.xul
rename to layout/xul/base/test/test_bug477754.xul
rename from layout/xul/test/test_bug511075.html
rename to layout/xul/base/test/test_bug511075.html
rename from layout/xul/test/test_popupSizeTo.xul
rename to layout/xul/base/test/test_popupSizeTo.xul
rename from layout/xul/test/test_resizer.xul
rename to layout/xul/base/test/test_resizer.xul
rename from layout/xul/test/test_resizer_incontent.xul
rename to layout/xul/base/test/test_resizer_incontent.xul
rename from layout/xul/test/test_splitter.xul
rename to layout/xul/base/test/test_splitter.xul
rename from layout/xul/test/test_stack.xul
rename to layout/xul/base/test/test_stack.xul
rename from layout/xul/test/test_windowminmaxsize.xul
rename to layout/xul/base/test/test_windowminmaxsize.xul
rename from layout/xul/test/window_resizer.xul
rename to layout/xul/base/test/window_resizer.xul
rename from layout/xul/test/window_resizer_element.xul
rename to layout/xul/base/test/window_resizer_element.xul
--- a/layout/xul/grid/moz.build
+++ b/layout/xul/grid/moz.build
@@ -27,14 +27,14 @@ UNIFIED_SOURCES += [
     'nsGridRowLeafFrame.cpp',
     'nsGridRowLeafLayout.cpp',
 ]
 
 FAIL_ON_WARNINGS = True
 
 FINAL_LIBRARY = 'gklayout'
 LOCAL_INCLUDES += [
-    '..',
     '../../forms',
     '../../generic',
     '../../style',
+    '../base/src',
 ]
 
--- a/layout/xul/test/chrome.ini
+++ b/layout/xul/test/chrome.ini
@@ -1,17 +1,7 @@
 [DEFAULT]
-support-files =
-  window_resizer.xul
-  window_resizer_element.xul
 
 [test_bug159346.xul]
 [test_bug372685.xul]
-[test_bug381167.xhtml]
-[test_bug393970.xul]
 [test_bug398982-1.xul]
 [test_bug398982-2.xul]
-[test_bug477754.xul]
 [test_bug703150.xul]
-[test_popupSizeTo.xul]
-[test_resizer.xul]
-[test_stack.xul]
-[test_windowminmaxsize.xul]
--- a/layout/xul/test/mochitest.ini
+++ b/layout/xul/test/mochitest.ini
@@ -1,8 +1,5 @@
 [DEFAULT]
 
 [test_bug386386.html]
 [test_bug394800.xhtml]
-[test_bug511075.html]
 [test_bug563416.html]
-[test_resizer_incontent.xul]
-[test_splitter.xul]
--- a/layout/xul/tree/moz.build
+++ b/layout/xul/tree/moz.build
@@ -30,17 +30,17 @@ UNIFIED_SOURCES += [
     'nsTreeStyleCache.cpp',
     'nsTreeUtils.cpp',
 ]
 
 FAIL_ON_WARNINGS = True
 
 FINAL_LIBRARY = 'gklayout'
 LOCAL_INCLUDES += [
-    '..',
     '../../base',
     '../../forms',
     '../../generic',
     '../../style',
+    '../base/src',
     '/content/base/src',
     '/content/events/src',
 ]
 
--- a/testing/crashtest/crashtests.list
+++ b/testing/crashtest/crashtests.list
@@ -46,17 +46,17 @@ include ../../js/xpconnect/crashtests/cr
 include ../../layout/base/crashtests/crashtests.list
 include ../../layout/forms/crashtests/crashtests.list
 include ../../layout/generic/crashtests/crashtests.list
 include ../../layout/printing/crashtests/crashtests.list
 include ../../layout/mathml/crashtests/crashtests.list
 include ../../layout/style/crashtests/crashtests.list
 include ../../layout/svg/crashtests/crashtests.list
 include ../../layout/tables/crashtests/crashtests.list
-include ../../layout/xul/crashtests/crashtests.list
+include ../../layout/xul/base/src/crashtests/crashtests.list
 include ../../layout/xul/grid/crashtests/crashtests.list
 include ../../layout/xul/tree/crashtests/crashtests.list
 
 include ../../gfx/tests/crashtests/crashtests.list
 
 include ../../image/test/crashtests/crashtests.list
 include ../../dom/plugins/test/crashtests/crashtests.list
 
--- a/widget/cocoa/moz.build
+++ b/widget/cocoa/moz.build
@@ -70,11 +70,11 @@ if CONFIG['TARGET_CPU'] == 'x86_64':
     ]
 
 FINAL_LIBRARY = 'xul'
 LOCAL_INCLUDES += [
     '../shared',
     '../xpwidgets',
     '/layout/forms',
     '/layout/generic',
-    '/layout/xul',
+    '/layout/xul/base/src',
 ]
 
--- a/widget/gtk/moz.build
+++ b/widget/gtk/moz.build
@@ -80,17 +80,17 @@ else:
 include('/ipc/chromium/chromium-config.mozbuild')
 
 FINAL_LIBRARY = 'xul'
 
 LOCAL_INCLUDES += [
     '../shared',
     '../xpwidgets',
     '/layout/generic',
-    '/layout/xul',
+    '/layout/xul/base/src',
     '/other-licenses/atk-1.0',
 ]
 
 if CONFIG['MOZ_X11']:
     LOCAL_INCLUDES += [
         '../shared/x11',
     ]
 
--- a/widget/windows/moz.build
+++ b/widget/windows/moz.build
@@ -89,17 +89,17 @@ include('/ipc/chromium/chromium-config.m
 
 FINAL_LIBRARY = 'xul'
 
 LOCAL_INCLUDES += [
     '../shared',
     '../xpwidgets',
     '/content/events/src',
     '/layout/generic',
-    '/layout/xul',
+    '/layout/xul/base/src',
     '/toolkit/xre',
     '/xpcom/base',
 ]
 
 DEFINES['MOZ_UNICODE'] = True
 
 for var in ('MOZ_ENABLE_D3D9_LAYER', 'MOZ_ENABLE_D3D10_LAYER'):
     if CONFIG[var]:
--- a/widget/windows/winrt/moz.build
+++ b/widget/windows/winrt/moz.build
@@ -29,17 +29,17 @@ include('/ipc/chromium/chromium-config.m
 
 FINAL_LIBRARY = 'xul'
 
 LOCAL_INCLUDES += [
     '../',
     '../../shared',
     '../../xpwidgets',
     '/layout/generic',
-    '/layout/xul',
+    '/layout/xul/base/src',
     '/toolkit/xre',
     '/xpcom/base',
 ]
 
 DEFINES['MOZ_UNICODE'] = True
 
 for var in ('MOZ_ENABLE_D3D9_LAYER', 'MOZ_ENABLE_D3D10_LAYER'):
     if CONFIG[var]:
--- a/widget/xpwidgets/moz.build
+++ b/widget/xpwidgets/moz.build
@@ -69,17 +69,17 @@ LIBRARY_NAME = 'xpwidgets_s'
 
 include('/ipc/chromium/chromium-config.mozbuild')
 
 LOCAL_INCLUDES += [
     '../shared',
     '/layout/base',
     '/layout/forms',
     '/layout/generic',
-    '/layout/xul',
+    '/layout/xul/base/src',
     '/view/src',
 ]
 
 widget_dir = CONFIG['MOZ_WIDGET_TOOLKIT']
 if widget_dir in ('gtk3', 'gtk2'):
     # gtk3 shares includes with gtk2
     widget_dir = 'gtk'