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; |