summaryrefslogtreecommitdiffstats
path: root/chromeos/ime
diff options
context:
space:
mode:
authorshuchen@chromium.org <shuchen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-12 05:24:34 +0000
committershuchen@chromium.org <shuchen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-12 05:24:34 +0000
commit3e14d6fd7206eb920aec5a0aa657ca8a233ae2fc (patch)
tree09fd2829364ebf6546462aca8b791674ccee7ef6 /chromeos/ime
parentf07db232d2c9ba90ae55b6986895adfbce6a117c (diff)
downloadchromium_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.cc3
-rw-r--r--chromeos/ime/component_extension_ime_manager.h1
-rw-r--r--chromeos/ime/input_method_descriptor.cc6
-rw-r--r--chromeos/ime/input_method_descriptor.h11
-rw-r--r--chromeos/ime/input_method_manager.h1
-rw-r--r--chromeos/ime/input_method_whitelist.cc5
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();
}