Chromium Code Reviews| Index: chrome/browser/chromeos/input_method/component_extension_ime_manager_impl.cc |
| diff --git a/chrome/browser/chromeos/input_method/component_extension_ime_manager_impl.cc b/chrome/browser/chromeos/input_method/component_extension_ime_manager_impl.cc |
| index f43c208e7de9b4b3c9033065fd8430eecbc20de0..76a37267c9b0b927b22db1cb6997b8a91bdf177f 100644 |
| --- a/chrome/browser/chromeos/input_method/component_extension_ime_manager_impl.cc |
| +++ b/chrome/browser/chromeos/input_method/component_extension_ime_manager_impl.cc |
| @@ -11,6 +11,7 @@ |
| #include "chrome/browser/extensions/extension_system.h" |
| #include "chrome/browser/profiles/profile.h" |
| #include "chrome/browser/profiles/profile_manager.h" |
| +#include "chrome/common/extensions/extension.h" |
| #include "chrome/common/extensions/extension_file_util.h" |
| #include "chrome/common/extensions/extension_l10n_util.h" |
| #include "chrome/common/extensions/extension_manifest_constants.h" |
| @@ -152,12 +153,22 @@ bool ComponentExtensionIMEManagerImpl::ReadEngineComponent( |
| // static |
| bool ComponentExtensionIMEManagerImpl::ReadExtensionInfo( |
| const DictionaryValue& manifest, |
| + const std::string& extension_id, |
| ComponentExtensionIME* out) { |
| DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::FILE)); |
| if (!manifest.GetString(extension_manifest_keys::kDescription, |
| &out->description)) |
| return false; |
| - // TODO(nona): option page handling. |
| + std::string url_string; |
| + if (!manifest.GetString(extension_manifest_keys::kOptionsPage, &url_string)) |
| + return true; // It's okay to return true on no option page case. |
| + |
| + GURL gurl = extensions::Extension::GetResourceURL( |
|
satorux1
2013/04/15 04:16:08
gurl -> url
Seigo Nonaka
2013/04/15 04:25:53
Done.
|
| + extensions::Extension::GetBaseURLFromExtensionId(extension_id), |
| + url_string); |
| + if (!gurl.is_valid()) |
| + return false; |
| + out->options_page_url = gurl.spec(); |
| return true; |
| } |
| @@ -185,7 +196,9 @@ void ComponentExtensionIMEManagerImpl::ReadComponentExtensionsInfo( |
| if (!manifest.get()) |
| continue; |
| - if (!ReadExtensionInfo(*manifest.get(), &component_ime)) |
| + if (!ReadExtensionInfo(*manifest.get(), |
| + whitelisted_component_extension[i].id, |
| + &component_ime)) |
| continue; |
| component_ime.id = whitelisted_component_extension[i].id; |