summaryrefslogtreecommitdiffstats
path: root/chrome/common/extensions
diff options
context:
space:
mode:
authorzork@chromium.org <zork@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-27 07:16:24 +0000
committerzork@chromium.org <zork@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-27 07:16:24 +0000
commite74ffe2a2968d8d86ddcdb940e70416f16faec9c (patch)
tree9da468de4fa71bba260170e7123bdfa68cbe94c9 /chrome/common/extensions
parentf5ec7242455afc1747ef0d328990d567d8b2b2fe (diff)
downloadchromium_src-e74ffe2a2968d8d86ddcdb940e70416f16faec9c.zip
chromium_src-e74ffe2a2968d8d86ddcdb940e70416f16faec9c.tar.gz
chromium_src-e74ffe2a2968d8d86ddcdb940e70416f16faec9c.tar.bz2
Take the IME Extension API out of experimental:
- s/experimental.input.ime/input.ime/g (file contents and names). - s/EXPERIMENTAL_INPUT_IME/INPUT_IME/g (ditto). - re-sort anything out of order as a result. - regenerate docs. BUG=chromium-os:23646 TEST=browser_tests --gtest_filter=ExtensionApiTest.InputImeApiBasic Review URL: http://codereview.chromium.org/9169081 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119396 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/extensions')
-rw-r--r--chrome/common/extensions/api/extension_api.cc2
-rw-r--r--chrome/common/extensions/api/input.ime.json (renamed from chrome/common/extensions/api/experimental.input.ime.json)3
-rw-r--r--chrome/common/extensions/docs/api_index.html2
-rw-r--r--chrome/common/extensions/docs/js/api_page_generator.js2
-rw-r--r--chrome/common/extensions/docs/samples.html2
-rw-r--r--chrome/common/extensions/docs/samples.json17
-rw-r--r--chrome/common/extensions/extension.cc9
-rw-r--r--chrome/common/extensions/extension_permission_set.cc2
-rw-r--r--chrome/common/extensions/extension_permission_set.h2
-rw-r--r--chrome/common/extensions/extension_permission_set_unittest.cc2
10 files changed, 33 insertions, 10 deletions
diff --git a/chrome/common/extensions/api/extension_api.cc b/chrome/common/extensions/api/extension_api.cc
index 1459e3a..a012c49 100644
--- a/chrome/common/extensions/api/extension_api.cc
+++ b/chrome/common/extensions/api/extension_api.cc
@@ -91,7 +91,6 @@ ExtensionAPI::ExtensionAPI() {
IDR_EXTENSION_API_JSON_EXPERIMENTAL_DNS,
IDR_EXTENSION_API_JSON_EXPERIMENTAL_DOWNLOADS,
IDR_EXTENSION_API_JSON_EXPERIMENTAL_INFOBARS,
- IDR_EXTENSION_API_JSON_EXPERIMENTAL_INPUT_IME,
IDR_EXTENSION_API_JSON_EXPERIMENTAL_INPUT_UI,
IDR_EXTENSION_API_JSON_EXPERIMENTAL_INPUT_VIRTUALKEYBOARD,
IDR_EXTENSION_API_JSON_EXPERIMENTAL_PROCESSES,
@@ -106,6 +105,7 @@ ExtensionAPI::ExtensionAPI() {
IDR_EXTENSION_API_JSON_HISTORY,
IDR_EXTENSION_API_JSON_I18N,
IDR_EXTENSION_API_JSON_IDLE,
+ IDR_EXTENSION_API_JSON_INPUT_IME,
IDR_EXTENSION_API_JSON_INPUTMETHODPRIVATE,
IDR_EXTENSION_API_JSON_MANAGEMENT,
IDR_EXTENSION_API_JSON_MEDIAPLAYERPRIVATE,
diff --git a/chrome/common/extensions/api/experimental.input.ime.json b/chrome/common/extensions/api/input.ime.json
index 9c4030e..8227c02 100644
--- a/chrome/common/extensions/api/experimental.input.ime.json
+++ b/chrome/common/extensions/api/input.ime.json
@@ -1,8 +1,7 @@
[
{
- "namespace": "experimental.input.ime",
+ "namespace": "input.ime",
"platforms": ["chromeos"],
- "nodoc": true,
"types": [
{
"id": "KeyboardEvent",
diff --git a/chrome/common/extensions/docs/api_index.html b/chrome/common/extensions/docs/api_index.html
index 78dc513..f1b2f50 100644
--- a/chrome/common/extensions/docs/api_index.html
+++ b/chrome/common/extensions/docs/api_index.html
@@ -374,7 +374,7 @@ Here are the supported chrome.* APIs:
</p>
<ul>
- <li><a href="bookmarks.html" js="">bookmarks</a></li><li><a href="browserAction.html" js="">browserAction</a></li><li><a href="contentSettings.html" js="">contentSettings</a></li><li><a href="contextMenus.html" js="">contextMenus</a></li><li><a href="cookies.html" js="">cookies</a></li><li><a href="debugger.html" js="">debugger</a></li><li><a href="extension.html" js="">extension</a></li><li><a href="fileBrowserHandler.html" js="">fileBrowserHandler</a></li><li><a href="history.html" js="">history</a></li><li><a href="i18n.html" js="">i18n</a></li><li><a href="idle.html" js="">idle</a></li><li><a href="management.html" js="">management</a></li><li><a href="omnibox.html" js="">omnibox</a></li><li><a href="pageAction.html" js="">pageAction</a></li><li><a href="pageCapture.html" js="">pageCapture</a></li><li><a href="permissions.html" js="">permissions</a></li><li><a href="privacy.html" js="">privacy</a></li><li><a href="proxy.html" js="">proxy</a></li><li><a href="storage.html" js="">storage</a></li><li><a href="tabs.html" js="">tabs</a></li><li><a href="tts.html" js="">tts</a></li><li><a href="ttsEngine.html" js="">ttsEngine</a></li><li><a href="types.html" js="">types</a></li><li><a href="webNavigation.html" js="">webNavigation</a></li><li><a href="webRequest.html" js="">webRequest</a></li><li><a href="windows.html" js="">windows</a></li>
+ <li><a href="bookmarks.html" js="">bookmarks</a></li><li><a href="browserAction.html" js="">browserAction</a></li><li><a href="contentSettings.html" js="">contentSettings</a></li><li><a href="contextMenus.html" js="">contextMenus</a></li><li><a href="cookies.html" js="">cookies</a></li><li><a href="debugger.html" js="">debugger</a></li><li><a href="extension.html" js="">extension</a></li><li><a href="fileBrowserHandler.html" js="">fileBrowserHandler</a></li><li><a href="history.html" js="">history</a></li><li><a href="i18n.html" js="">i18n</a></li><li><a href="idle.html" js="">idle</a></li><li><a href="input.ime.html" js="">input.ime</a></li><li><a href="management.html" js="">management</a></li><li><a href="omnibox.html" js="">omnibox</a></li><li><a href="pageAction.html" js="">pageAction</a></li><li><a href="pageCapture.html" js="">pageCapture</a></li><li><a href="permissions.html" js="">permissions</a></li><li><a href="privacy.html" js="">privacy</a></li><li><a href="proxy.html" js="">proxy</a></li><li><a href="storage.html" js="">storage</a></li><li><a href="tabs.html" js="">tabs</a></li><li><a href="tts.html" js="">tts</a></li><li><a href="ttsEngine.html" js="">ttsEngine</a></li><li><a href="types.html" js="">types</a></li><li><a href="webNavigation.html" js="">webNavigation</a></li><li><a href="webRequest.html" js="">webRequest</a></li><li><a href="windows.html" js="">windows</a></li>
</ul>
<h2 id="experimental">Experimental APIs</h2>
diff --git a/chrome/common/extensions/docs/js/api_page_generator.js b/chrome/common/extensions/docs/js/api_page_generator.js
index 568ec62..b838b22 100644
--- a/chrome/common/extensions/docs/js/api_page_generator.js
+++ b/chrome/common/extensions/docs/js/api_page_generator.js
@@ -37,7 +37,6 @@ var MODULE_SCHEMAS = [
'../api/experimental.dns.json',
'../api/experimental.downloads.json',
'../api/experimental.infobars.json',
- '../api/experimental.input.ime.json',
'../api/experimental.input.ui.json',
'../api/experimental.input.virtualKeyboard.json',
'../api/experimental.processes.json',
@@ -52,6 +51,7 @@ var MODULE_SCHEMAS = [
'../api/history.json',
'../api/i18n.json',
'../api/idle.json',
+ '../api/input.ime.json',
'../api/inputMethodPrivate.json',
'../api/management.json',
'../api/mediaPlayerPrivate.json',
diff --git a/chrome/common/extensions/docs/samples.html b/chrome/common/extensions/docs/samples.html
index 350296d..432a613 100644
--- a/chrome/common/extensions/docs/samples.html
+++ b/chrome/common/extensions/docs/samples.html
@@ -454,6 +454,8 @@
</span><span>
<a href="javascript:void(0);" onclick="setFilter('chrome.idle', this)">chrome.idle</a><span>, </span>
</span><span>
+ <a href="javascript:void(0);" onclick="setFilter('chrome.input.ime', this)">chrome.input.ime</a><span>, </span>
+ </span><span>
<a href="javascript:void(0);" onclick="setFilter('chrome.management', this)">chrome.management</a><span>, </span>
</span><span>
<a href="javascript:void(0);" onclick="setFilter('chrome.omnibox', this)">chrome.omnibox</a><span>, </span>
diff --git a/chrome/common/extensions/docs/samples.json b/chrome/common/extensions/docs/samples.json
index 9af2653..72b1eee 100644
--- a/chrome/common/extensions/docs/samples.json
+++ b/chrome/common/extensions/docs/samples.json
@@ -106,6 +106,23 @@
"chrome.i18n.getMessage": "i18n.html#method-getMessage",
"chrome.idle.onStateChanged": "idle.html#event-onStateChanged",
"chrome.idle.queryState": "idle.html#method-queryState",
+ "chrome.input.ime.clearComposition": "input.ime.html#method-clearComposition",
+ "chrome.input.ime.commitText": "input.ime.html#method-commitText",
+ "chrome.input.ime.eventHandled": "input.ime.html#method-eventHandled",
+ "chrome.input.ime.onActivate": "input.ime.html#event-onActivate",
+ "chrome.input.ime.onBlur": "input.ime.html#event-onBlur",
+ "chrome.input.ime.onCandidateClicked": "input.ime.html#event-onCandidateClicked",
+ "chrome.input.ime.onDeactivated": "input.ime.html#event-onDeactivated",
+ "chrome.input.ime.onFocus": "input.ime.html#event-onFocus",
+ "chrome.input.ime.onInputContextUpdate": "input.ime.html#event-onInputContextUpdate",
+ "chrome.input.ime.onKeyEvent": "input.ime.html#event-onKeyEvent",
+ "chrome.input.ime.onMenuItemActivated": "input.ime.html#event-onMenuItemActivated",
+ "chrome.input.ime.setCandidateWindowProperties": "input.ime.html#method-setCandidateWindowProperties",
+ "chrome.input.ime.setCandidates": "input.ime.html#method-setCandidates",
+ "chrome.input.ime.setComposition": "input.ime.html#method-setComposition",
+ "chrome.input.ime.setCursorPosition": "input.ime.html#method-setCursorPosition",
+ "chrome.input.ime.setMenuItems": "input.ime.html#method-setMenuItems",
+ "chrome.input.ime.updateMenuItems": "input.ime.html#method-updateMenuItems",
"chrome.management.get": "management.html#method-get",
"chrome.management.getAll": "management.html#method-getAll",
"chrome.management.getPermissionWarningsById": "management.html#method-getPermissionWarningsById",
diff --git a/chrome/common/extensions/extension.cc b/chrome/common/extensions/extension.cc
index 8dae526..92d0c5e 100644
--- a/chrome/common/extensions/extension.cc
+++ b/chrome/common/extensions/extension.cc
@@ -2106,8 +2106,7 @@ bool Extension::InitFromValue(extensions::Manifest* manifest, int flags,
}
}
- if (api_permissions.count(ExtensionAPIPermission::kExperimental) &&
- manifest->HasKey(keys::kInputComponents)) {
+ if (manifest->HasKey(keys::kInputComponents)) {
ListValue* list_value = NULL;
if (!manifest->GetList(keys::kInputComponents, &list_value)) {
*error = ASCIIToUTF16(errors::kInvalidInputComponents);
@@ -2145,6 +2144,12 @@ bool Extension::InitFromValue(extensions::Manifest* manifest, int flags,
if (type_str == "ime") {
type = INPUT_COMPONENT_TYPE_IME;
} else if (type_str == "virtual_keyboard") {
+ if (api_permissions.count(ExtensionAPIPermission::kExperimental)) {
+ // Virtual Keyboards require the experimental flag.
+ *error = ExtensionErrorUtils::FormatErrorMessageUTF16(
+ errors::kInvalidInputComponentType, base::IntToString(i));
+ return false;
+ }
type = INPUT_COMPONENT_TYPE_VIRTUAL_KEYBOARD;
} else {
*error = ExtensionErrorUtils::FormatErrorMessageUTF16(
diff --git a/chrome/common/extensions/extension_permission_set.cc b/chrome/common/extensions/extension_permission_set.cc
index 7d68b9a..921eed6 100644
--- a/chrome/common/extensions/extension_permission_set.cc
+++ b/chrome/common/extensions/extension_permission_set.cc
@@ -242,7 +242,7 @@ void ExtensionAPIPermission::RegisterAllPermissions(
kIdle, "idle", 0, ExtensionPermissionMessage::kNone,
kFlagNone, kTypeDefault);
info->RegisterPermission(
- kIme, "ime", 0, ExtensionPermissionMessage::kNone,
+ kInput, "input", 0, ExtensionPermissionMessage::kNone,
kFlagImpliesFullURLAccess, kTypeDefault);
info->RegisterPermission(
kInputMethodPrivate, "inputMethodPrivate", 0,
diff --git a/chrome/common/extensions/extension_permission_set.h b/chrome/common/extensions/extension_permission_set.h
index f287bb7..59b71a5 100644
--- a/chrome/common/extensions/extension_permission_set.h
+++ b/chrome/common/extensions/extension_permission_set.h
@@ -111,7 +111,7 @@ class ExtensionAPIPermission {
kGeolocation,
kHistory,
kIdle,
- kIme,
+ kInput,
kInputMethodPrivate,
kManagement,
kMediaPlayerPrivate,
diff --git a/chrome/common/extensions/extension_permission_set_unittest.cc b/chrome/common/extensions/extension_permission_set_unittest.cc
index 3b20fe5..4c6b028 100644
--- a/chrome/common/extensions/extension_permission_set_unittest.cc
+++ b/chrome/common/extensions/extension_permission_set_unittest.cc
@@ -654,7 +654,7 @@ TEST(ExtensionPermissionSetTest, PermissionMessages) {
// The ime, proxy, and webRequest permissions are warned as part of host
// permission checks.
- skip.insert(ExtensionAPIPermission::kIme);
+ skip.insert(ExtensionAPIPermission::kInput);
skip.insert(ExtensionAPIPermission::kProxy);
skip.insert(ExtensionAPIPermission::kWebRequest);
skip.insert(ExtensionAPIPermission::kWebRequestBlocking);