diff --git a/xpfe/appshell/moz.build b/xpfe/appshell/moz.build
index 76218104c014..cb9b63a990ac 100644
--- a/xpfe/appshell/moz.build
+++ b/xpfe/appshell/moz.build
@@ -4,5 +4,39 @@
 # 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/.
 
-DIRS += ['public', 'src']
+MOCHITEST_CHROME_MANIFESTS += ['test/chrome.ini']
 
+XPIDL_SOURCES += [
+    'nsIAppShellService.idl',
+    'nsIPopupWindowManager.idl',
+    'nsIWindowMediator.idl',
+    'nsIWindowMediatorListener.idl',
+    'nsIXULBrowserWindow.idl',
+    'nsIXULWindow.idl',
+]
+
+XPIDL_MODULE = 'appshell'
+
+EXPORTS += [
+    'nsAppShellCID.h',
+]
+
+UNIFIED_SOURCES += [
+    'nsAppShellFactory.cpp',
+    'nsAppShellService.cpp',
+    'nsAppShellWindowEnumerator.cpp',
+    'nsChromeTreeOwner.cpp',
+    'nsContentTreeOwner.cpp',
+    'nsWebShellWindow.cpp',
+    'nsWindowMediator.cpp',
+    'nsXULWindow.cpp',
+]
+
+LOCAL_INCLUDES += [
+    '/dom/base',
+]
+
+FAIL_ON_WARNINGS = True
+MSVC_ENABLE_PGO = True
+
+FINAL_LIBRARY = 'xul'
diff --git a/xpfe/appshell/public/nsAppShellCID.h b/xpfe/appshell/nsAppShellCID.h
similarity index 100%
rename from xpfe/appshell/public/nsAppShellCID.h
rename to xpfe/appshell/nsAppShellCID.h
diff --git a/xpfe/appshell/src/nsAppShellFactory.cpp b/xpfe/appshell/nsAppShellFactory.cpp
similarity index 100%
rename from xpfe/appshell/src/nsAppShellFactory.cpp
rename to xpfe/appshell/nsAppShellFactory.cpp
diff --git a/xpfe/appshell/src/nsAppShellService.cpp b/xpfe/appshell/nsAppShellService.cpp
similarity index 100%
rename from xpfe/appshell/src/nsAppShellService.cpp
rename to xpfe/appshell/nsAppShellService.cpp
diff --git a/xpfe/appshell/src/nsAppShellService.h b/xpfe/appshell/nsAppShellService.h
similarity index 100%
rename from xpfe/appshell/src/nsAppShellService.h
rename to xpfe/appshell/nsAppShellService.h
diff --git a/xpfe/appshell/src/nsAppShellWindowEnumerator.cpp b/xpfe/appshell/nsAppShellWindowEnumerator.cpp
similarity index 100%
rename from xpfe/appshell/src/nsAppShellWindowEnumerator.cpp
rename to xpfe/appshell/nsAppShellWindowEnumerator.cpp
diff --git a/xpfe/appshell/src/nsAppShellWindowEnumerator.h b/xpfe/appshell/nsAppShellWindowEnumerator.h
similarity index 100%
rename from xpfe/appshell/src/nsAppShellWindowEnumerator.h
rename to xpfe/appshell/nsAppShellWindowEnumerator.h
diff --git a/xpfe/appshell/src/nsChromeTreeOwner.cpp b/xpfe/appshell/nsChromeTreeOwner.cpp
similarity index 100%
rename from xpfe/appshell/src/nsChromeTreeOwner.cpp
rename to xpfe/appshell/nsChromeTreeOwner.cpp
diff --git a/xpfe/appshell/src/nsChromeTreeOwner.h b/xpfe/appshell/nsChromeTreeOwner.h
similarity index 100%
rename from xpfe/appshell/src/nsChromeTreeOwner.h
rename to xpfe/appshell/nsChromeTreeOwner.h
diff --git a/xpfe/appshell/src/nsContentTreeOwner.cpp b/xpfe/appshell/nsContentTreeOwner.cpp
similarity index 100%
rename from xpfe/appshell/src/nsContentTreeOwner.cpp
rename to xpfe/appshell/nsContentTreeOwner.cpp
diff --git a/xpfe/appshell/src/nsContentTreeOwner.h b/xpfe/appshell/nsContentTreeOwner.h
similarity index 100%
rename from xpfe/appshell/src/nsContentTreeOwner.h
rename to xpfe/appshell/nsContentTreeOwner.h
diff --git a/xpfe/appshell/public/nsIAppShellService.idl b/xpfe/appshell/nsIAppShellService.idl
similarity index 100%
rename from xpfe/appshell/public/nsIAppShellService.idl
rename to xpfe/appshell/nsIAppShellService.idl
diff --git a/xpfe/appshell/public/nsIPopupWindowManager.idl b/xpfe/appshell/nsIPopupWindowManager.idl
similarity index 100%
rename from xpfe/appshell/public/nsIPopupWindowManager.idl
rename to xpfe/appshell/nsIPopupWindowManager.idl
diff --git a/xpfe/appshell/public/nsIWindowMediator.idl b/xpfe/appshell/nsIWindowMediator.idl
similarity index 100%
rename from xpfe/appshell/public/nsIWindowMediator.idl
rename to xpfe/appshell/nsIWindowMediator.idl
diff --git a/xpfe/appshell/public/nsIWindowMediatorListener.idl b/xpfe/appshell/nsIWindowMediatorListener.idl
similarity index 100%
rename from xpfe/appshell/public/nsIWindowMediatorListener.idl
rename to xpfe/appshell/nsIWindowMediatorListener.idl
diff --git a/xpfe/appshell/public/nsIXULBrowserWindow.idl b/xpfe/appshell/nsIXULBrowserWindow.idl
similarity index 100%
rename from xpfe/appshell/public/nsIXULBrowserWindow.idl
rename to xpfe/appshell/nsIXULBrowserWindow.idl
diff --git a/xpfe/appshell/public/nsIXULWindow.idl b/xpfe/appshell/nsIXULWindow.idl
similarity index 100%
rename from xpfe/appshell/public/nsIXULWindow.idl
rename to xpfe/appshell/nsIXULWindow.idl
diff --git a/xpfe/appshell/src/nsWebShellWindow.cpp b/xpfe/appshell/nsWebShellWindow.cpp
similarity index 100%
rename from xpfe/appshell/src/nsWebShellWindow.cpp
rename to xpfe/appshell/nsWebShellWindow.cpp
diff --git a/xpfe/appshell/src/nsWebShellWindow.h b/xpfe/appshell/nsWebShellWindow.h
similarity index 100%
rename from xpfe/appshell/src/nsWebShellWindow.h
rename to xpfe/appshell/nsWebShellWindow.h
diff --git a/xpfe/appshell/src/nsWindowMediator.cpp b/xpfe/appshell/nsWindowMediator.cpp
similarity index 100%
rename from xpfe/appshell/src/nsWindowMediator.cpp
rename to xpfe/appshell/nsWindowMediator.cpp
diff --git a/xpfe/appshell/src/nsWindowMediator.h b/xpfe/appshell/nsWindowMediator.h
similarity index 100%
rename from xpfe/appshell/src/nsWindowMediator.h
rename to xpfe/appshell/nsWindowMediator.h
diff --git a/xpfe/appshell/src/nsXULWindow.cpp b/xpfe/appshell/nsXULWindow.cpp
similarity index 100%
rename from xpfe/appshell/src/nsXULWindow.cpp
rename to xpfe/appshell/nsXULWindow.cpp
diff --git a/xpfe/appshell/src/nsXULWindow.h b/xpfe/appshell/nsXULWindow.h
similarity index 100%
rename from xpfe/appshell/src/nsXULWindow.h
rename to xpfe/appshell/nsXULWindow.h
diff --git a/xpfe/appshell/public/moz.build b/xpfe/appshell/public/moz.build
deleted file mode 100644
index c96139567d1c..000000000000
--- a/xpfe/appshell/public/moz.build
+++ /dev/null
@@ -1,21 +0,0 @@
-# -*- 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 += [
-    'nsIAppShellService.idl',
-    'nsIPopupWindowManager.idl',
-    'nsIWindowMediator.idl',
-    'nsIWindowMediatorListener.idl',
-    'nsIXULBrowserWindow.idl',
-    'nsIXULWindow.idl',
-]
-
-XPIDL_MODULE = 'appshell'
-
-EXPORTS += [
-    'nsAppShellCID.h',
-]
-
diff --git a/xpfe/appshell/src/moz.build b/xpfe/appshell/src/moz.build
deleted file mode 100644
index b40dbabba782..000000000000
--- a/xpfe/appshell/src/moz.build
+++ /dev/null
@@ -1,27 +0,0 @@
-# -*- 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_CHROME_MANIFESTS += ['test/chrome.ini']
-
-UNIFIED_SOURCES += [
-    'nsAppShellFactory.cpp',
-    'nsAppShellService.cpp',
-    'nsAppShellWindowEnumerator.cpp',
-    'nsChromeTreeOwner.cpp',
-    'nsContentTreeOwner.cpp',
-    'nsWebShellWindow.cpp',
-    'nsWindowMediator.cpp',
-    'nsXULWindow.cpp',
-]
-
-LOCAL_INCLUDES += [
-    '/dom/base',
-]
-
-FAIL_ON_WARNINGS = True
-MSVC_ENABLE_PGO = True
-
-FINAL_LIBRARY = 'xul'
diff --git a/xpfe/appshell/src/test/chrome.ini b/xpfe/appshell/test/chrome.ini
similarity index 100%
rename from xpfe/appshell/src/test/chrome.ini
rename to xpfe/appshell/test/chrome.ini
diff --git a/xpfe/appshell/src/test/test_hiddenPrivateWindow.xul b/xpfe/appshell/test/test_hiddenPrivateWindow.xul
similarity index 100%
rename from xpfe/appshell/src/test/test_hiddenPrivateWindow.xul
rename to xpfe/appshell/test/test_hiddenPrivateWindow.xul