| Index: chrome/browser/extensions/api/notification_provider/notification_provider_api.cc | 
| diff --git a/chrome/browser/extensions/api/notification_provider/notification_provider_api.cc b/chrome/browser/extensions/api/notification_provider/notification_provider_api.cc | 
| deleted file mode 100644 | 
| index 01de9042518bc4141439f19f9426458c0881507b..0000000000000000000000000000000000000000 | 
| --- a/chrome/browser/extensions/api/notification_provider/notification_provider_api.cc | 
| +++ /dev/null | 
| @@ -1,310 +0,0 @@ | 
| -// Copyright 2014 The Chromium Authors. All rights reserved. | 
| -// Use of this source code is governed by a BSD-style license that can be | 
| -// found in the LICENSE file. | 
| - | 
| -#include "chrome/browser/extensions/api/notification_provider/notification_provider_api.h" | 
| - | 
| -#include <utility> | 
| - | 
| -#include "base/callback.h" | 
| -#include "base/guid.h" | 
| -#include "base/rand_util.h" | 
| -#include "base/strings/string_number_conversions.h" | 
| -#include "base/strings/utf_string_conversions.h" | 
| -#include "chrome/browser/browser_process.h" | 
| -#include "chrome/browser/notifications/notification.h" | 
| -#include "chrome/browser/notifications/notification_ui_manager.h" | 
| -#include "chrome/browser/notifications/notifier_state_tracker.h" | 
| -#include "chrome/browser/notifications/notifier_state_tracker_factory.h" | 
| -#include "extensions/browser/event_router.h" | 
| -#include "extensions/common/extension.h" | 
| -#include "extensions/common/features/feature.h" | 
| -#include "ui/base/layout.h" | 
| -#include "ui/message_center/message_center.h" | 
| -#include "ui/message_center/notifier_settings.h" | 
| -#include "url/gurl.h" | 
| - | 
| -namespace extensions { | 
| - | 
| -NotificationProviderEventRouter::NotificationProviderEventRouter( | 
| -    Profile* profile) | 
| -    : profile_(profile) { | 
| -} | 
| - | 
| -NotificationProviderEventRouter::~NotificationProviderEventRouter() { | 
| -} | 
| - | 
| -void NotificationProviderEventRouter::CreateNotification( | 
| -    const std::string& notification_provider_id, | 
| -    const std::string& sender_id, | 
| -    const std::string& notification_id, | 
| -    const api::notifications::NotificationOptions& options) { | 
| -  Create(notification_provider_id, sender_id, notification_id, options); | 
| -} | 
| - | 
| -void NotificationProviderEventRouter::UpdateNotification( | 
| -    const std::string& notification_provider_id, | 
| -    const std::string& sender_id, | 
| -    const std::string& notification_id, | 
| -    const api::notifications::NotificationOptions& options) { | 
| -  Update(notification_provider_id, sender_id, notification_id, options); | 
| -} | 
| -void NotificationProviderEventRouter::ClearNotification( | 
| -    const std::string& notification_provider_id, | 
| -    const std::string& sender_id, | 
| -    const std::string& notification_id) { | 
| -  Clear(notification_provider_id, sender_id, notification_id); | 
| -} | 
| - | 
| -void NotificationProviderEventRouter::Create( | 
| -    const std::string& notification_provider_id, | 
| -    const std::string& sender_id, | 
| -    const std::string& notification_id, | 
| -    const api::notifications::NotificationOptions& options) { | 
| -  std::unique_ptr<base::ListValue> args = | 
| -      api::notification_provider::OnCreated::Create(sender_id, notification_id, | 
| -                                                    options); | 
| - | 
| -  std::unique_ptr<Event> event(new Event( | 
| -      events::NOTIFICATION_PROVIDER_ON_CREATED, | 
| -      api::notification_provider::OnCreated::kEventName, std::move(args))); | 
| - | 
| -  EventRouter::Get(profile_) | 
| -      ->DispatchEventToExtension(notification_provider_id, std::move(event)); | 
| -} | 
| - | 
| -void NotificationProviderEventRouter::Update( | 
| -    const std::string& notification_provider_id, | 
| -    const std::string& sender_id, | 
| -    const std::string& notification_id, | 
| -    const api::notifications::NotificationOptions& options) { | 
| -  std::unique_ptr<base::ListValue> args = | 
| -      api::notification_provider::OnUpdated::Create(sender_id, notification_id, | 
| -                                                    options); | 
| - | 
| -  std::unique_ptr<Event> event(new Event( | 
| -      events::NOTIFICATION_PROVIDER_ON_UPDATED, | 
| -      api::notification_provider::OnUpdated::kEventName, std::move(args))); | 
| - | 
| -  EventRouter::Get(profile_) | 
| -      ->DispatchEventToExtension(notification_provider_id, std::move(event)); | 
| -} | 
| - | 
| -void NotificationProviderEventRouter::Clear( | 
| -    const std::string& notification_provider_id, | 
| -    const std::string& sender_id, | 
| -    const std::string& notification_id) { | 
| -  std::unique_ptr<base::ListValue> args = | 
| -      api::notification_provider::OnCleared::Create(sender_id, notification_id); | 
| - | 
| -  std::unique_ptr<Event> event(new Event( | 
| -      events::NOTIFICATION_PROVIDER_ON_CLEARED, | 
| -      api::notification_provider::OnCleared::kEventName, std::move(args))); | 
| - | 
| -  EventRouter::Get(profile_) | 
| -      ->DispatchEventToExtension(notification_provider_id, std::move(event)); | 
| -} | 
| - | 
| -NotificationProviderNotifyOnClearedFunction:: | 
| -    NotificationProviderNotifyOnClearedFunction() { | 
| -} | 
| - | 
| -NotificationProviderNotifyOnClearedFunction:: | 
| -    ~NotificationProviderNotifyOnClearedFunction() { | 
| -} | 
| - | 
| -ExtensionFunction::ResponseAction | 
| -NotificationProviderNotifyOnClearedFunction::Run() { | 
| -  std::unique_ptr<api::notification_provider::NotifyOnCleared::Params> params = | 
| -      api::notification_provider::NotifyOnCleared::Params::Create(*args_); | 
| -  EXTENSION_FUNCTION_VALIDATE(params.get()); | 
| - | 
| -  const Notification* notification = | 
| -      g_browser_process->notification_ui_manager()->FindById( | 
| -          params->notification_id, | 
| -          NotificationUIManager::GetProfileID(GetProfile())); | 
| - | 
| -  bool found_notification = notification != NULL; | 
| -  if (found_notification) | 
| -    notification->delegate()->Close(true); | 
| - | 
| -  return RespondNow( | 
| -      ArgumentList(api::notification_provider::NotifyOnCleared::Results::Create( | 
| -          found_notification))); | 
| -} | 
| - | 
| -NotificationProviderNotifyOnClickedFunction:: | 
| -    NotificationProviderNotifyOnClickedFunction() { | 
| -} | 
| - | 
| -NotificationProviderNotifyOnClickedFunction:: | 
| -    ~NotificationProviderNotifyOnClickedFunction() { | 
| -} | 
| - | 
| -ExtensionFunction::ResponseAction | 
| -NotificationProviderNotifyOnClickedFunction::Run() { | 
| -  std::unique_ptr<api::notification_provider::NotifyOnClicked::Params> params = | 
| -      api::notification_provider::NotifyOnClicked::Params::Create(*args_); | 
| -  EXTENSION_FUNCTION_VALIDATE(params.get()); | 
| - | 
| -  const Notification* notification = | 
| -      g_browser_process->notification_ui_manager()->FindById( | 
| -          params->notification_id, | 
| -          NotificationUIManager::GetProfileID(GetProfile())); | 
| - | 
| -  bool found_notification = notification != NULL; | 
| -  if (found_notification) | 
| -    notification->delegate()->Click(); | 
| - | 
| -  return RespondNow( | 
| -      ArgumentList(api::notification_provider::NotifyOnClicked::Results::Create( | 
| -          found_notification))); | 
| -} | 
| - | 
| -NotificationProviderNotifyOnButtonClickedFunction:: | 
| -    NotificationProviderNotifyOnButtonClickedFunction() { | 
| -} | 
| - | 
| -NotificationProviderNotifyOnButtonClickedFunction:: | 
| -    ~NotificationProviderNotifyOnButtonClickedFunction() { | 
| -} | 
| - | 
| -ExtensionFunction::ResponseAction | 
| -NotificationProviderNotifyOnButtonClickedFunction::Run() { | 
| -  std::unique_ptr<api::notification_provider::NotifyOnButtonClicked::Params> | 
| -      params = | 
| -          api::notification_provider::NotifyOnButtonClicked::Params::Create( | 
| -              *args_); | 
| -  EXTENSION_FUNCTION_VALIDATE(params.get()); | 
| - | 
| -  const Notification* notification = | 
| -      g_browser_process->notification_ui_manager()->FindById( | 
| -          params->notification_id, | 
| -          NotificationUIManager::GetProfileID(GetProfile())); | 
| - | 
| -  bool found_notification = notification != NULL; | 
| -  if (found_notification) | 
| -    notification->delegate()->ButtonClick(params->button_index); | 
| - | 
| -  return RespondNow(ArgumentList( | 
| -      api::notification_provider::NotifyOnButtonClicked::Results::Create( | 
| -          found_notification))); | 
| -} | 
| - | 
| -NotificationProviderNotifyOnPermissionLevelChangedFunction:: | 
| -    NotificationProviderNotifyOnPermissionLevelChangedFunction() { | 
| -} | 
| - | 
| -NotificationProviderNotifyOnPermissionLevelChangedFunction:: | 
| -    ~NotificationProviderNotifyOnPermissionLevelChangedFunction() { | 
| -} | 
| - | 
| -ExtensionFunction::ResponseAction | 
| -NotificationProviderNotifyOnPermissionLevelChangedFunction::Run() { | 
| -  std::unique_ptr< | 
| -      api::notification_provider::NotifyOnPermissionLevelChanged::Params> | 
| -      params = api::notification_provider::NotifyOnPermissionLevelChanged:: | 
| -          Params::Create(*args_); | 
| -  EXTENSION_FUNCTION_VALIDATE(params.get()); | 
| - | 
| -  // Third party apps/extensions with notification provider API will not be able | 
| -  // to change permission levels of web notifiers, because the list of allowed | 
| -  // websites should only be set in Chrome Settings manually by users. But they | 
| -  // are able to change permission levels of application type notifiers. | 
| -  bool is_application_type = | 
| -      (params->notifier_type == | 
| -       api::notification_provider::NotifierType::NOTIFIER_TYPE_APPLICATION); | 
| -  if (is_application_type) { | 
| -    bool enabled = | 
| -        (params->level == api::notification_provider::NotifierPermissionLevel:: | 
| -                              NOTIFIER_PERMISSION_LEVEL_GRANTED); | 
| - | 
| -    NotifierStateTracker* notifier_state_tracker = | 
| -        NotifierStateTrackerFactory::GetForProfile(GetProfile()); | 
| - | 
| -    message_center::NotifierId notifier_id( | 
| -        message_center::NotifierId::NotifierType::APPLICATION, | 
| -        params->notifier_id); | 
| - | 
| -    notifier_state_tracker->SetNotifierEnabled(notifier_id, enabled); | 
| -  } | 
| - | 
| -  return RespondNow( | 
| -      ArgumentList(api::notification_provider::NotifyOnPermissionLevelChanged:: | 
| -                       Results::Create(is_application_type))); | 
| -} | 
| - | 
| -NotificationProviderNotifyOnShowSettingsFunction:: | 
| -    NotificationProviderNotifyOnShowSettingsFunction() { | 
| -} | 
| - | 
| -NotificationProviderNotifyOnShowSettingsFunction:: | 
| -    ~NotificationProviderNotifyOnShowSettingsFunction() { | 
| -} | 
| - | 
| -ExtensionFunction::ResponseAction | 
| -NotificationProviderNotifyOnShowSettingsFunction::Run() { | 
| -  std::unique_ptr<api::notification_provider::NotifyOnShowSettings::Params> | 
| -      params = api::notification_provider::NotifyOnShowSettings::Params::Create( | 
| -          *args_); | 
| -  EXTENSION_FUNCTION_VALIDATE(params.get()); | 
| - | 
| -  bool has_advanced_settings; | 
| -  // Only application type notifiers have advanced settings. | 
| -  if (params->notifier_type == | 
| -      api::notification_provider::NotifierType::NOTIFIER_TYPE_APPLICATION) { | 
| -    // TODO(dewittj): Refactor NotificationUIManage API to have a getter of | 
| -    // NotifierSettingsProvider, since it holds the settings provider. | 
| -    message_center::NotifierSettingsProvider* settings_provider = | 
| -        message_center::MessageCenter::Get()->GetNotifierSettingsProvider(); | 
| - | 
| -    message_center::NotifierId notifier_id( | 
| -        message_center::NotifierId::NotifierType::APPLICATION, | 
| -        params->notifier_id); | 
| - | 
| -    has_advanced_settings = | 
| -        settings_provider->NotifierHasAdvancedSettings(notifier_id); | 
| -    if (has_advanced_settings) | 
| -      settings_provider->OnNotifierAdvancedSettingsRequested(notifier_id, NULL); | 
| -  } else { | 
| -    has_advanced_settings = false; | 
| -  } | 
| - | 
| -  return RespondNow(ArgumentList( | 
| -      api::notification_provider::NotifyOnShowSettings::Results::Create( | 
| -          has_advanced_settings))); | 
| -} | 
| - | 
| -NotificationProviderGetNotifierFunction:: | 
| -    NotificationProviderGetNotifierFunction() { | 
| -} | 
| - | 
| -NotificationProviderGetNotifierFunction:: | 
| -    ~NotificationProviderGetNotifierFunction() { | 
| -} | 
| - | 
| -ExtensionFunction::ResponseAction | 
| -NotificationProviderGetNotifierFunction::Run() { | 
| -  api::notification_provider::Notifier notifier; | 
| - | 
| -  return RespondNow(ArgumentList( | 
| -      api::notification_provider::GetNotifier::Results::Create(notifier))); | 
| -} | 
| - | 
| -NotificationProviderGetAllNotifiersFunction:: | 
| -    NotificationProviderGetAllNotifiersFunction() { | 
| -} | 
| - | 
| -NotificationProviderGetAllNotifiersFunction:: | 
| -    ~NotificationProviderGetAllNotifiersFunction() { | 
| -} | 
| - | 
| -ExtensionFunction::ResponseAction | 
| -NotificationProviderGetAllNotifiersFunction::Run() { | 
| -  std::vector<api::notification_provider::Notifier> notifiers; | 
| - | 
| -  return RespondNow(ArgumentList( | 
| -      api::notification_provider::GetAllNotifiers::Results::Create(notifiers))); | 
| -} | 
| - | 
| -}  // namespace extensions | 
|  |