| OLD | NEW | 
|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/extensions/api/runtime/runtime_api.h" | 5 #include "chrome/browser/extensions/api/runtime/runtime_api.h" | 
| 6 | 6 | 
| 7 #include "chrome/browser/browser_process.h" | 7 #include "chrome/browser/browser_process.h" | 
| 8 #include "chrome/browser/extensions/event_router.h" | 8 #include "chrome/browser/extensions/event_router.h" | 
| 9 #include "chrome/browser/extensions/extension_host.h" | 9 #include "chrome/browser/extensions/extension_host.h" | 
| 10 #include "chrome/browser/extensions/extension_process_manager.h" | 10 #include "chrome/browser/extensions/extension_process_manager.h" | 
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 62       system->lazy_background_task_queue()-> | 62       system->lazy_background_task_queue()-> | 
| 63           ShouldEnqueueTask(profile, extension)) { | 63           ShouldEnqueueTask(profile, extension)) { | 
| 64     system->lazy_background_task_queue()->AddPendingTask( | 64     system->lazy_background_task_queue()->AddPendingTask( | 
| 65         profile, extension_id, | 65         profile, extension_id, | 
| 66         base::Bind(&DispatchOnStartupEventImpl, | 66         base::Bind(&DispatchOnStartupEventImpl, | 
| 67                    profile, extension_id, false)); | 67                    profile, extension_id, false)); | 
| 68     return; | 68     return; | 
| 69   } | 69   } | 
| 70 | 70 | 
| 71   scoped_ptr<base::ListValue> event_args(new ListValue()); | 71   scoped_ptr<base::ListValue> event_args(new ListValue()); | 
| 72   system->event_router()->DispatchEventToExtension( | 72   scoped_ptr<Event> event(new Event(kOnStartupEvent, event_args.Pass())); | 
| 73       extension_id, kOnStartupEvent, event_args.Pass(), NULL, GURL()); | 73   system->event_router()->DispatchEventToExtension(extension_id, event.Pass()); | 
| 74 } | 74 } | 
| 75 | 75 | 
| 76 }  // namespace | 76 }  // namespace | 
| 77 | 77 | 
| 78 // static | 78 // static | 
| 79 void RuntimeEventRouter::DispatchOnStartupEvent( | 79 void RuntimeEventRouter::DispatchOnStartupEvent( | 
| 80     Profile* profile, const std::string& extension_id) { | 80     Profile* profile, const std::string& extension_id) { | 
| 81   DispatchOnStartupEventImpl(profile, extension_id, true, NULL); | 81   DispatchOnStartupEventImpl(profile, extension_id, true, NULL); | 
| 82 } | 82 } | 
| 83 | 83 | 
| (...skipping 18 matching lines...) Expand all  Loading... | 
| 102   if (old_version.IsValid()) { | 102   if (old_version.IsValid()) { | 
| 103     info->SetString(kInstallReason, kInstallReasonUpdate); | 103     info->SetString(kInstallReason, kInstallReasonUpdate); | 
| 104     info->SetString(kInstallPreviousVersion, old_version.GetString()); | 104     info->SetString(kInstallPreviousVersion, old_version.GetString()); | 
| 105   } else if (chrome_updated) { | 105   } else if (chrome_updated) { | 
| 106     info->SetString(kInstallReason, kInstallReasonChromeUpdate); | 106     info->SetString(kInstallReason, kInstallReasonChromeUpdate); | 
| 107   } else { | 107   } else { | 
| 108     info->SetString(kInstallReason, kInstallReasonInstall); | 108     info->SetString(kInstallReason, kInstallReasonInstall); | 
| 109   } | 109   } | 
| 110   DCHECK(system->event_router()); | 110   DCHECK(system->event_router()); | 
| 111   system->event_router()->AddLazyEventListener(kOnInstalledEvent, extension_id); | 111   system->event_router()->AddLazyEventListener(kOnInstalledEvent, extension_id); | 
| 112   system->event_router()->DispatchEventToExtension( | 112   scoped_ptr<Event> event(new Event(kOnInstalledEvent, event_args.Pass())); | 
| 113       extension_id, kOnInstalledEvent, event_args.Pass(), NULL, GURL()); | 113   system->event_router()->DispatchEventToExtension(extension_id, event.Pass()); | 
| 114   system->event_router()->RemoveLazyEventListener(kOnInstalledEvent, | 114   system->event_router()->RemoveLazyEventListener(kOnInstalledEvent, | 
| 115                                                   extension_id); | 115                                                   extension_id); | 
| 116 } | 116 } | 
| 117 | 117 | 
| 118 // static | 118 // static | 
| 119 void RuntimeEventRouter::DispatchOnUpdateAvailableEvent( | 119 void RuntimeEventRouter::DispatchOnUpdateAvailableEvent( | 
| 120     Profile* profile, | 120     Profile* profile, | 
| 121     const std::string& extension_id, | 121     const std::string& extension_id, | 
| 122     const DictionaryValue* manifest) { | 122     const DictionaryValue* manifest) { | 
| 123   ExtensionSystem* system = ExtensionSystem::Get(profile); | 123   ExtensionSystem* system = ExtensionSystem::Get(profile); | 
| 124   if (!system) | 124   if (!system) | 
| 125     return; | 125     return; | 
| 126 | 126 | 
| 127   scoped_ptr<ListValue> args(new ListValue); | 127   scoped_ptr<ListValue> args(new ListValue); | 
| 128   args->Append(manifest->DeepCopy()); | 128   args->Append(manifest->DeepCopy()); | 
| 129   DCHECK(system->event_router()); | 129   DCHECK(system->event_router()); | 
| 130   system->event_router()->DispatchEventToExtension( | 130   scoped_ptr<Event> event(new Event(kOnUpdateAvailableEvent, args.Pass())); | 
| 131       extension_id, kOnUpdateAvailableEvent, args.Pass(), NULL, GURL()); | 131   system->event_router()->DispatchEventToExtension(extension_id, event.Pass()); | 
| 132 } | 132 } | 
| 133 | 133 | 
| 134 bool RuntimeGetBackgroundPageFunction::RunImpl() { | 134 bool RuntimeGetBackgroundPageFunction::RunImpl() { | 
| 135   ExtensionHost* host = | 135   ExtensionHost* host = | 
| 136       ExtensionSystem::Get(profile())->process_manager()-> | 136       ExtensionSystem::Get(profile())->process_manager()-> | 
| 137           GetBackgroundHostForExtension(extension_id()); | 137           GetBackgroundHostForExtension(extension_id()); | 
| 138   if (host) { | 138   if (host) { | 
| 139     OnPageLoaded(host); | 139     OnPageLoaded(host); | 
| 140   } else if (GetExtension()->has_lazy_background_page()) { | 140   } else if (GetExtension()->has_lazy_background_page()) { | 
| 141     ExtensionSystem::Get(profile())->lazy_background_task_queue()-> | 141     ExtensionSystem::Get(profile())->lazy_background_task_queue()-> | 
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 237   did_reply_ = true; | 237   did_reply_ = true; | 
| 238   results_.reset(new base::ListValue); | 238   results_.reset(new base::ListValue); | 
| 239   results_->AppendString(kUpdateFound); | 239   results_->AppendString(kUpdateFound); | 
| 240   base::DictionaryValue* details = new base::DictionaryValue; | 240   base::DictionaryValue* details = new base::DictionaryValue; | 
| 241   results_->Append(details); | 241   results_->Append(details); | 
| 242   details->SetString("version", version); | 242   details->SetString("version", version); | 
| 243   SendResponse(true); | 243   SendResponse(true); | 
| 244 } | 244 } | 
| 245 | 245 | 
| 246 }   // namespace extensions | 246 }   // namespace extensions | 
| OLD | NEW | 
|---|