Index: chrome/browser/chrome_content_browser_client.cc |
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc |
index 67a8da0997c29a1de1f205d0d2e24d19d198170e..a94313c24f9729a946697081ff3921d0a0d154b0 100644 |
--- a/chrome/browser/chrome_content_browser_client.cc |
+++ b/chrome/browser/chrome_content_browser_client.cc |
@@ -76,14 +76,20 @@ |
#if defined(OS_CHROMEOS) |
#include "chrome/browser/chromeos/chrome_browser_main_chromeos.h" |
-#elif defined(USE_AURA) |
-#include "chrome/browser/chrome_browser_main_aura.h" |
#elif defined(OS_WIN) |
#include "chrome/browser/chrome_browser_main_win.h" |
#elif defined(OS_MACOSX) |
#include "chrome/browser/chrome_browser_main_mac.h" |
#elif defined(OS_LINUX) |
-#include "chrome/browser/chrome_browser_main_gtk.h" |
+#include "chrome/browser/chrome_browser_main_linux.h" |
+#endif |
+ |
+#if defined(USE_AURA) |
+#include "chrome/browser/chrome_browser_parts_aura.h" |
+#endif |
+ |
+#if defined(TOOLKIT_USES_GTK) |
+#include "chrome/browser/chrome_browser_parts_gtk.h" |
#endif |
#if defined(OS_LINUX) |
@@ -103,7 +109,6 @@ |
#include "chrome/browser/ui/crypto_module_password_dialog.h" |
#endif |
- |
#if defined(USE_AURA) || defined(TOUCH_UI) |
#include "chrome/browser/renderer_host/render_widget_host_view_views.h" |
#elif defined(OS_WIN) |
@@ -192,19 +197,32 @@ namespace chrome { |
content::BrowserMainParts* ChromeContentBrowserClient::CreateBrowserMainParts( |
const MainFunctionParams& parameters) { |
+ // Construct the Main browser parts based on the OS type. |
+ content::BrowserMainParts* main_parts; |
+ |
+ // Note: OS_CHROMEOS defines OS_LINUX so handle it first. |
#if defined(OS_CHROMEOS) |
- return new ChromeBrowserMainPartsChromeos(parameters); |
-#elif defined(USE_AURA) |
- return new ChromeBrowserMainPartsAura(parameters); |
+ main_parts = new ChromeBrowserMainPartsChromeos(parameters); |
#elif defined(OS_WIN) |
- return new ChromeBrowserMainPartsWin(parameters); |
+ main_parts = new ChromeBrowserMainPartsWin(parameters); |
#elif defined(OS_MACOSX) |
- return new ChromeBrowserMainPartsMac(parameters); |
+ main_parts = new ChromeBrowserMainPartsMac(parameters); |
#elif defined(OS_LINUX) |
- return new ChromeBrowserMainPartsGtk(parameters); |
+ main_parts = new ChromeBrowserMainPartsLinux(parameters); |
#else |
- return NULL; |
+ NOTREACHED(); |
+ main_parts = new ChromeBrowserMainParts(parameters); |
+#endif |
+ |
+ // Construct additional browser parts. |
+#if defined(USE_AURA) |
+ main_parts->AddParts(new ChromeBrowserPartsAura()); |
#endif |
+#if defined(TOOLKIT_USES_GTK) |
+ main_parts->AddParts(new ChromeBrowserPartsGtk()); |
+#endif |
+ |
+ return main_parts; |
} |
RenderWidgetHostView* ChromeContentBrowserClient::CreateViewForWidget( |