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 27df9071ae3bbe02233e5cbee84896bb59a5a99c..3486563494c8152f736547ed08d0f4bfc6ec785b 100644 |
--- a/chrome/browser/chrome_content_browser_client.cc |
+++ b/chrome/browser/chrome_content_browser_client.cc |
@@ -74,13 +74,19 @@ |
#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_linux.h" |
+#endif |
+ |
+#if defined(USE_AURA) |
+#include "chrome/browser/chrome_browser_main_aura.h" |
+#endif |
+ |
+#if defined(TOOLKIT_USES_GTK) |
#include "chrome/browser/chrome_browser_main_gtk.h" |
#endif |
@@ -101,7 +107,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) |
@@ -186,19 +191,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( |