diff options
author | shuchen@chromium.org <shuchen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-11-12 05:24:34 +0000 |
---|---|---|
committer | shuchen@chromium.org <shuchen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-11-12 05:24:34 +0000 |
commit | 3e14d6fd7206eb920aec5a0aa657ca8a233ae2fc (patch) | |
tree | 09fd2829364ebf6546462aca8b791674ccee7ef6 /chromeos/ime | |
parent | f07db232d2c9ba90ae55b6986895adfbce6a117c (diff) | |
download | chromium_src-3e14d6fd7206eb920aec5a0aa657ca8a233ae2fc.zip chromium_src-3e14d6fd7206eb920aec5a0aa657ca8a233ae2fc.tar.gz chromium_src-3e14d6fd7206eb920aec5a0aa657ca8a233ae2fc.tar.bz2 |
[IME API] Implement parsing 'input_view' url from manifest and pass it into input method engine. This cl doesn't include the code to use 'input_view' url. Later cl's will use it to create input view window.
BUG=chromium:316524
TEST=Locally verified and no breakage.
Review URL: https://codereview.chromium.org/66253003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234414 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chromeos/ime')
-rw-r--r-- | chromeos/ime/component_extension_ime_manager.cc | 3 | ||||
-rw-r--r-- | chromeos/ime/component_extension_ime_manager.h | 1 | ||||
-rw-r--r-- | chromeos/ime/input_method_descriptor.cc | 6 | ||||
-rw-r--r-- | chromeos/ime/input_method_descriptor.h | 11 | ||||
-rw-r--r-- | chromeos/ime/input_method_manager.h | 1 | ||||
-rw-r--r-- | chromeos/ime/input_method_whitelist.cc | 5 |
6 files changed, 19 insertions, 8 deletions
diff --git a/chromeos/ime/component_extension_ime_manager.cc b/chromeos/ime/component_extension_ime_manager.cc index 7331328..2773575 100644 --- a/chromeos/ime/component_extension_ime_manager.cc +++ b/chromeos/ime/component_extension_ime_manager.cc @@ -154,7 +154,8 @@ input_method::InputMethodDescriptors component_extension_imes_[i].engines[j].layouts, component_extension_imes_[i].engines[j].language_codes, false, // Do not use IME on login screen. - component_extension_imes_[i].options_page_url)); + component_extension_imes_[i].options_page_url, + component_extension_imes_[i].input_view_url)); } } return result; diff --git a/chromeos/ime/component_extension_ime_manager.h b/chromeos/ime/component_extension_ime_manager.h index 2685ee8..96472d2 100644 --- a/chromeos/ime/component_extension_ime_manager.h +++ b/chromeos/ime/component_extension_ime_manager.h @@ -33,6 +33,7 @@ struct CHROMEOS_EXPORT ComponentExtensionIME { std::string manifest; // the contents of manifest.json std::string description; // description of extension. GURL options_page_url; // an URL to option page. + GURL input_view_url; // an URL to input view page. base::FilePath path; std::vector<ComponentExtensionEngine> engines; }; diff --git a/chromeos/ime/input_method_descriptor.cc b/chromeos/ime/input_method_descriptor.cc index e68b3bb..7e6cb15 100644 --- a/chromeos/ime/input_method_descriptor.cc +++ b/chromeos/ime/input_method_descriptor.cc @@ -19,13 +19,15 @@ InputMethodDescriptor::InputMethodDescriptor( const std::vector<std::string>& keyboard_layouts, const std::vector<std::string>& language_codes, bool is_login_keyboard, - const GURL& options_page_url) + const GURL& options_page_url, + const GURL& input_view_url) : id_(id), name_(name), keyboard_layouts_(keyboard_layouts), language_codes_(language_codes), is_login_keyboard_(is_login_keyboard), - options_page_url_(options_page_url) { + options_page_url_(options_page_url), + input_view_url_(input_view_url) { } std::string InputMethodDescriptor::GetPreferredKeyboardLayout() const { diff --git a/chromeos/ime/input_method_descriptor.h b/chromeos/ime/input_method_descriptor.h index 32f3de9..cec186b 100644 --- a/chromeos/ime/input_method_descriptor.h +++ b/chromeos/ime/input_method_descriptor.h @@ -24,7 +24,8 @@ class CHROMEOS_EXPORT InputMethodDescriptor { const std::vector<std::string>& keyboard_layouts, const std::vector<std::string>& language_codes, bool is_login_keyboard, - const GURL& options_page_url); + const GURL& options_page_url, + const GURL& input_view_url); ~InputMethodDescriptor(); // Accessors @@ -64,9 +65,13 @@ class CHROMEOS_EXPORT InputMethodDescriptor { // Options page URL e.g. // "chrome-extension://ceaajjmckiakobniehbjpdcidfpohlin/options.html". - // We can't use GURL here due to dependency policy. This field is valid only - // for input method extension. + // This field is valid only for input method extension. GURL options_page_url_; + + // Input View URL e.g. + // "chrome-extension://ceaajjmckiakobniehbjpdcidfpohlin/my_input_view.html". + // This field is valid only for input method extension. + GURL input_view_url_; }; typedef std::vector<InputMethodDescriptor> InputMethodDescriptors; diff --git a/chromeos/ime/input_method_manager.h b/chromeos/ime/input_method_manager.h index 4f6d24b..34bec37 100644 --- a/chromeos/ime/input_method_manager.h +++ b/chromeos/ime/input_method_manager.h @@ -143,6 +143,7 @@ class CHROMEOS_EXPORT InputMethodManager { const std::vector<std::string>& layouts, const std::vector<std::string>& languages, const GURL& options_url, + const GURL& inputview_url, InputMethodEngine* instance) = 0; // Removes an input method extension. diff --git a/chromeos/ime/input_method_whitelist.cc b/chromeos/ime/input_method_whitelist.cc index 495eb1c..c6cd097e 100644 --- a/chromeos/ime/input_method_whitelist.cc +++ b/chromeos/ime/input_method_whitelist.cc @@ -47,8 +47,9 @@ InputMethodWhitelist::GetSupportedInputMethods() const { layouts, languages, kInputMethods[i].is_login_keyboard, - GURL())); // options page url, not available for non-extension input - // method. + GURL(), // options page url. + GURL() // input view page url. + )); } return input_methods.Pass(); } |