| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/chromeos/first_run/drive_first_run_controller.h" | 5 #include "chrome/browser/chromeos/first_run/drive_first_run_controller.h" |
| 6 | 6 |
| 7 #include "ash/shell.h" | 7 #include "ash/shell.h" |
| 8 #include "ash/system/tray/system_tray_delegate.h" | 8 #include "ash/system/tray/system_tray_delegate.h" |
| 9 #include "base/callback.h" | 9 #include "base/callback.h" |
| 10 #include "base/memory/weak_ptr.h" | 10 #include "base/memory/weak_ptr.h" |
| (...skipping 14 matching lines...) Expand all Loading... |
| 25 #include "content/public/browser/browser_thread.h" | 25 #include "content/public/browser/browser_thread.h" |
| 26 #include "content/public/browser/navigation_controller.h" | 26 #include "content/public/browser/navigation_controller.h" |
| 27 #include "content/public/browser/notification_details.h" | 27 #include "content/public/browser/notification_details.h" |
| 28 #include "content/public/browser/notification_observer.h" | 28 #include "content/public/browser/notification_observer.h" |
| 29 #include "content/public/browser/notification_registrar.h" | 29 #include "content/public/browser/notification_registrar.h" |
| 30 #include "content/public/browser/notification_source.h" | 30 #include "content/public/browser/notification_source.h" |
| 31 #include "content/public/browser/notification_types.h" | 31 #include "content/public/browser/notification_types.h" |
| 32 #include "content/public/browser/site_instance.h" | 32 #include "content/public/browser/site_instance.h" |
| 33 #include "content/public/browser/web_contents.h" | 33 #include "content/public/browser/web_contents.h" |
| 34 #include "content/public/browser/web_contents_observer.h" | 34 #include "content/public/browser/web_contents_observer.h" |
| 35 #include "extensions/browser/extension_registry.h" |
| 35 #include "extensions/browser/extension_system.h" | 36 #include "extensions/browser/extension_system.h" |
| 36 #include "extensions/common/extension.h" | 37 #include "extensions/common/extension.h" |
| 38 #include "extensions/common/extension_set.h" |
| 37 #include "grit/generated_resources.h" | 39 #include "grit/generated_resources.h" |
| 38 #include "grit/theme_resources.h" | 40 #include "grit/theme_resources.h" |
| 39 #include "ui/base/l10n/l10n_util.h" | 41 #include "ui/base/l10n/l10n_util.h" |
| 40 #include "ui/base/resource/resource_bundle.h" | 42 #include "ui/base/resource/resource_bundle.h" |
| 41 #include "ui/message_center/message_center.h" | 43 #include "ui/message_center/message_center.h" |
| 42 #include "ui/message_center/notification.h" | 44 #include "ui/message_center/notification.h" |
| 43 #include "ui/message_center/notification_delegate.h" | 45 #include "ui/message_center/notification_delegate.h" |
| 44 #include "url/gurl.h" | 46 #include "url/gurl.h" |
| 45 | 47 |
| 46 namespace chromeos { | 48 namespace chromeos { |
| (...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 290 WindowContainerType window_container_type, | 292 WindowContainerType window_container_type, |
| 291 const base::string16& frame_name, | 293 const base::string16& frame_name, |
| 292 const GURL& target_url, | 294 const GURL& target_url, |
| 293 const std::string& partition_id, | 295 const std::string& partition_id, |
| 294 content::SessionStorageNamespace* session_storage_namespace) { | 296 content::SessionStorageNamespace* session_storage_namespace) { |
| 295 | 297 |
| 296 if (window_container_type == WINDOW_CONTAINER_TYPE_NORMAL) | 298 if (window_container_type == WINDOW_CONTAINER_TYPE_NORMAL) |
| 297 return true; | 299 return true; |
| 298 | 300 |
| 299 // Check that the target URL is for the Drive app. | 301 // Check that the target URL is for the Drive app. |
| 300 ExtensionService* service = | 302 const extensions::Extension* extension = |
| 301 extensions::ExtensionSystem::Get(profile_)->extension_service(); | 303 extensions::ExtensionRegistry::Get(profile_) |
| 302 const extensions::Extension *extension = | 304 ->enabled_extensions().GetAppByURL(target_url); |
| 303 service->GetInstalledApp(target_url); | |
| 304 if (!extension || extension->id() != app_id_) | 305 if (!extension || extension->id() != app_id_) |
| 305 return true; | 306 return true; |
| 306 | 307 |
| 307 // The background contents creation is normally done in Browser, but | 308 // The background contents creation is normally done in Browser, but |
| 308 // because we're using a detached WebContents, we need to do it ourselves. | 309 // because we're using a detached WebContents, we need to do it ourselves. |
| 309 BackgroundContentsService* background_contents_service = | 310 BackgroundContentsService* background_contents_service = |
| 310 BackgroundContentsServiceFactory::GetForProfile(profile_); | 311 BackgroundContentsServiceFactory::GetForProfile(profile_); |
| 311 | 312 |
| 312 // Prevent redirection if background contents already exists. | 313 // Prevent redirection if background contents already exists. |
| 313 if (background_contents_service->GetAppBackgroundContents( | 314 if (background_contents_service->GetAppBackgroundContents( |
| (...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 478 base::UTF8ToUTF16(extension->name()), | 479 base::UTF8ToUTF16(extension->name()), |
| 479 message_center::NotifierId(message_center::NotifierId::APPLICATION, | 480 message_center::NotifierId(message_center::NotifierId::APPLICATION, |
| 480 kDriveHostedAppId), | 481 kDriveHostedAppId), |
| 481 data, | 482 data, |
| 482 new DriveOfflineNotificationDelegate(profile_))); | 483 new DriveOfflineNotificationDelegate(profile_))); |
| 483 notification->set_priority(message_center::LOW_PRIORITY); | 484 notification->set_priority(message_center::LOW_PRIORITY); |
| 484 message_center::MessageCenter::Get()->AddNotification(notification.Pass()); | 485 message_center::MessageCenter::Get()->AddNotification(notification.Pass()); |
| 485 } | 486 } |
| 486 | 487 |
| 487 } // namespace chromeos | 488 } // namespace chromeos |
| OLD | NEW |