Index: extensions/browser/api/app_runtime/app_runtime_api.cc |
diff --git a/extensions/browser/api/app_runtime/app_runtime_api.cc b/extensions/browser/api/app_runtime/app_runtime_api.cc |
index 2b225df2f2f35628f5559423d10840d59fafbd0b..463110fead415d333215f8c50a2d9643cb3553fd 100644 |
--- a/extensions/browser/api/app_runtime/app_runtime_api.cc |
+++ b/extensions/browser/api/app_runtime/app_runtime_api.cc |
@@ -75,7 +75,7 @@ void DispatchOnLaunchedEventImpl( |
->SetLastLaunchTime(extension_id, base::Time::Now()); |
} |
-app_runtime::LaunchSource getLaunchSourceEnum( |
+app_runtime::LaunchSource GetLaunchSourceEnum( |
extensions::AppLaunchSource source) { |
switch (source) { |
case extensions::SOURCE_APP_LAUNCHER: |
@@ -137,13 +137,17 @@ void AppRuntimeEventRouter::DispatchOnEmbedRequestedEvent( |
void AppRuntimeEventRouter::DispatchOnLaunchedEvent( |
BrowserContext* context, |
const Extension* extension, |
- extensions::AppLaunchSource source) { |
+ extensions::AppLaunchSource source, |
+ std::unique_ptr<app_runtime::ActionData> action_data) { |
app_runtime::LaunchData launch_data; |
- app_runtime::LaunchSource source_enum = getLaunchSourceEnum(source); |
+ app_runtime::LaunchSource source_enum = GetLaunchSourceEnum(source); |
if (extensions::FeatureSwitch::trace_app_source()->IsEnabled()) { |
launch_data.source = source_enum; |
} |
+ |
+ launch_data.action_data = std::move(action_data); |
+ |
DispatchOnLaunchedEventImpl(extension->id(), source_enum, |
launch_data.ToValue(), context); |
} |
@@ -165,20 +169,25 @@ void AppRuntimeEventRouter::DispatchOnRestartedEvent( |
void AppRuntimeEventRouter::DispatchOnLaunchedEventWithFileEntries( |
BrowserContext* context, |
const Extension* extension, |
+ extensions::AppLaunchSource source, |
const std::string& handler_id, |
const std::vector<EntryInfo>& entries, |
- const std::vector<GrantedFileEntry>& file_entries) { |
+ const std::vector<GrantedFileEntry>& file_entries, |
+ std::unique_ptr<app_runtime::ActionData> action_data) { |
+ app_runtime::LaunchSource source_enum = GetLaunchSourceEnum(source); |
+ |
// TODO(sergeygs): Use the same way of creating an event (using the generated |
// boilerplate) as below in DispatchOnLaunchedEventWithUrl. |
std::unique_ptr<base::DictionaryValue> launch_data(new base::DictionaryValue); |
launch_data->SetString("id", handler_id); |
- app_runtime::LaunchSource source_enum = |
- app_runtime::LAUNCH_SOURCE_FILE_HANDLER; |
if (extensions::FeatureSwitch::trace_app_source()->IsEnabled()) { |
launch_data->SetString("source", app_runtime::ToString(source_enum)); |
} |
+ if (action_data) |
+ launch_data->Set("actionData", action_data->ToValue()); |
+ |
std::unique_ptr<base::ListValue> items(new base::ListValue); |
DCHECK(file_entries.size() == entries.size()); |
for (size_t i = 0; i < file_entries.size(); ++i) { |