Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(95)

Unified Diff: extensions/browser/api/virtual_keyboard_private/virtual_keyboard_private_api.cc

Issue 2272563011: [Extensions] Convert some SyncExtensionFunctions (Closed)
Patch Set: fix Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: extensions/browser/api/virtual_keyboard_private/virtual_keyboard_private_api.cc
diff --git a/extensions/browser/api/virtual_keyboard_private/virtual_keyboard_private_api.cc b/extensions/browser/api/virtual_keyboard_private/virtual_keyboard_private_api.cc
index 05c14d8ecf6bfa1ef936e3a1f4edbbee1b309b8b..ce80c95037261e4b83018b5dce4a97d80dabd4bc 100644
--- a/extensions/browser/api/virtual_keyboard_private/virtual_keyboard_private_api.cc
+++ b/extensions/browser/api/virtual_keyboard_private/virtual_keyboard_private_api.cc
@@ -15,10 +15,6 @@
#include "extensions/common/api/virtual_keyboard_private.h"
#include "ui/events/event.h"
-namespace SetMode = extensions::api::virtual_keyboard_private::SetMode;
-namespace SetRequestedKeyboardState =
- extensions::api::virtual_keyboard_private::SetKeyboardState;
-
namespace extensions {
namespace {
@@ -27,151 +23,122 @@ const char kNotYetImplementedError[] =
"API is not implemented on this platform.";
const char kVirtualKeyboardNotEnabled[] =
"The virtual keyboard is not enabled.";
+const char kUnknownError[] = "Unknown error.";
+
+namespace keyboard = api::virtual_keyboard_private;
+
+} // namespace
-typedef BrowserContextKeyedAPIFactory<VirtualKeyboardAPI> factory;
+bool VirtualKeyboardPrivateFunction::PreRunValidation(std::string* error) {
+ if (!UIThreadExtensionFunction::PreRunValidation(error))
+ return false;
-VirtualKeyboardDelegate* GetDelegate(SyncExtensionFunction* f) {
- VirtualKeyboardAPI* api = factory::Get(f->browser_context());
+ VirtualKeyboardAPI* api =
+ BrowserContextKeyedAPIFactory<VirtualKeyboardAPI>::Get(browser_context());
DCHECK(api);
- return api ? api->delegate() : nullptr;
+ delegate_ = api->delegate();
+ if (!delegate_) {
+ *error = kNotYetImplementedError;
+ return false;
+ }
+ return true;
}
-} // namespace
+VirtualKeyboardPrivateFunction::~VirtualKeyboardPrivateFunction() {}
-bool VirtualKeyboardPrivateInsertTextFunction::RunSync() {
- VirtualKeyboardDelegate* delegate = GetDelegate(this);
- if (delegate) {
- base::string16 text;
- EXTENSION_FUNCTION_VALIDATE(args_->GetString(0, &text));
- return delegate->InsertText(text);
- }
- error_ = kNotYetImplementedError;
- return false;
+ExtensionFunction::ResponseAction
+VirtualKeyboardPrivateInsertTextFunction::Run() {
+ base::string16 text;
+ EXTENSION_FUNCTION_VALIDATE(args_->GetString(0, &text));
+ if (!delegate()->InsertText(text))
+ return RespondNow(Error(kUnknownError));
+ return RespondNow(NoArguments());
}
-bool VirtualKeyboardPrivateSendKeyEventFunction::RunSync() {
- VirtualKeyboardDelegate* delegate = GetDelegate(this);
- if (delegate) {
- base::Value* options_value = nullptr;
- base::DictionaryValue* params = nullptr;
- std::string type;
- int char_value;
- int key_code;
- std::string key_name;
- int modifiers;
-
- EXTENSION_FUNCTION_VALIDATE(args_->Get(0, &options_value));
- EXTENSION_FUNCTION_VALIDATE(options_value->GetAsDictionary(&params));
- EXTENSION_FUNCTION_VALIDATE(params->GetString("type", &type));
- EXTENSION_FUNCTION_VALIDATE(params->GetInteger("charValue", &char_value));
- EXTENSION_FUNCTION_VALIDATE(params->GetInteger("keyCode", &key_code));
- EXTENSION_FUNCTION_VALIDATE(params->GetString("keyName", &key_name));
- EXTENSION_FUNCTION_VALIDATE(params->GetInteger("modifiers", &modifiers));
- return delegate->SendKeyEvent(
- type, char_value, key_code, key_name, modifiers);
+ExtensionFunction::ResponseAction
+VirtualKeyboardPrivateSendKeyEventFunction::Run() {
+ std::unique_ptr<keyboard::SendKeyEvent::Params> params(
+ keyboard::SendKeyEvent::Params::Create(*args_));
+ EXTENSION_FUNCTION_VALIDATE(params);
+ EXTENSION_FUNCTION_VALIDATE(params->key_event.modifiers);
+ const keyboard::VirtualKeyboardEvent& event = params->key_event;
+ if (!delegate()->SendKeyEvent(keyboard::ToString(event.type),
+ event.char_value, event.key_code,
+ event.key_name, *event.modifiers)) {
+ return RespondNow(Error(kUnknownError));
}
- error_ = kNotYetImplementedError;
- return false;
+ return RespondNow(NoArguments());
}
-bool VirtualKeyboardPrivateHideKeyboardFunction::RunSync() {
- VirtualKeyboardDelegate* delegate = GetDelegate(this);
- if (delegate)
- return delegate->HideKeyboard();
- error_ = kNotYetImplementedError;
- return false;
+ExtensionFunction::ResponseAction
+VirtualKeyboardPrivateHideKeyboardFunction::Run() {
+ if (!delegate()->HideKeyboard())
+ return RespondNow(Error(kUnknownError));
+ return RespondNow(NoArguments());
}
-bool VirtualKeyboardPrivateSetHotrodKeyboardFunction::RunSync() {
- VirtualKeyboardDelegate* delegate = GetDelegate(this);
- if (delegate) {
- bool enable;
- EXTENSION_FUNCTION_VALIDATE(args_->GetBoolean(0, &enable));
- delegate->SetHotrodKeyboard(enable);
- return true;
- }
- error_ = kNotYetImplementedError;
- return false;
+ExtensionFunction::ResponseAction
+VirtualKeyboardPrivateSetHotrodKeyboardFunction::Run() {
+ bool enable = false;
+ EXTENSION_FUNCTION_VALIDATE(args_->GetBoolean(0, &enable));
+ delegate()->SetHotrodKeyboard(enable);
+ return RespondNow(NoArguments());
}
-bool VirtualKeyboardPrivateLockKeyboardFunction::RunSync() {
- VirtualKeyboardDelegate* delegate = GetDelegate(this);
- if (delegate) {
- bool lock;
- EXTENSION_FUNCTION_VALIDATE(args_->GetBoolean(0, &lock));
- return delegate->LockKeyboard(lock);
- }
- error_ = kNotYetImplementedError;
- return false;
+ExtensionFunction::ResponseAction
+VirtualKeyboardPrivateLockKeyboardFunction::Run() {
+ bool lock = false;
+ EXTENSION_FUNCTION_VALIDATE(args_->GetBoolean(0, &lock));
+ if (!delegate()->LockKeyboard(lock))
+ return RespondNow(Error(kUnknownError));
+ return RespondNow(NoArguments());
}
-bool VirtualKeyboardPrivateKeyboardLoadedFunction::RunSync() {
- VirtualKeyboardDelegate* delegate = GetDelegate(this);
- if (delegate)
- return delegate->OnKeyboardLoaded();
- error_ = kNotYetImplementedError;
- return false;
+ExtensionFunction::ResponseAction
+VirtualKeyboardPrivateKeyboardLoadedFunction::Run() {
+ if (!delegate()->OnKeyboardLoaded())
+ return RespondNow(Error(kUnknownError));
+ return RespondNow(NoArguments());
}
-bool VirtualKeyboardPrivateGetKeyboardConfigFunction::RunSync() {
- VirtualKeyboardDelegate* delegate = GetDelegate(this);
- if (delegate) {
- std::unique_ptr<base::DictionaryValue> results(new base::DictionaryValue());
- if (delegate->GetKeyboardConfig(results.get())) {
- SetResult(std::move(results));
- return true;
- }
- }
- return false;
+ExtensionFunction::ResponseAction
+VirtualKeyboardPrivateGetKeyboardConfigFunction::Run() {
+ std::unique_ptr<base::DictionaryValue> results(new base::DictionaryValue());
+ if (!delegate()->GetKeyboardConfig(results.get()))
+ return RespondNow(Error(kUnknownError));
+ return RespondNow(OneArgument(std::move(results)));
}
-bool VirtualKeyboardPrivateOpenSettingsFunction::RunSync() {
- VirtualKeyboardDelegate* delegate = GetDelegate(this);
- if (delegate) {
- if (delegate->IsLanguageSettingsEnabled())
- return delegate->ShowLanguageSettings();
- return false;
+ExtensionFunction::ResponseAction
+VirtualKeyboardPrivateOpenSettingsFunction::Run() {
+ if (!delegate()->IsLanguageSettingsEnabled() ||
+ !delegate()->ShowLanguageSettings()) {
+ return RespondNow(Error(kUnknownError));
}
- error_ = kNotYetImplementedError;
- return false;
+ return RespondNow(NoArguments());
}
-bool VirtualKeyboardPrivateSetModeFunction::RunSync() {
- VirtualKeyboardDelegate* delegate = GetDelegate(this);
- if (delegate) {
- std::unique_ptr<SetMode::Params> params = SetMode::Params::Create(*args_);
- EXTENSION_FUNCTION_VALIDATE(params);
- if (!delegate->SetVirtualKeyboardMode(params->mode)) {
- error_ = kVirtualKeyboardNotEnabled;
- return false;
- } else {
- return true;
- }
- }
- error_ = kNotYetImplementedError;
- return false;
+ExtensionFunction::ResponseAction VirtualKeyboardPrivateSetModeFunction::Run() {
+ std::unique_ptr<keyboard::SetMode::Params> params =
+ keyboard::SetMode::Params::Create(*args_);
+ EXTENSION_FUNCTION_VALIDATE(params);
+ if (!delegate()->SetVirtualKeyboardMode(params->mode))
+ return RespondNow(Error(kVirtualKeyboardNotEnabled));
+ return RespondNow(NoArguments());
}
-bool VirtualKeyboardPrivateSetKeyboardStateFunction::RunSync() {
- VirtualKeyboardDelegate* delegate = GetDelegate(this);
- if (delegate) {
- std::unique_ptr<SetRequestedKeyboardState::Params> params =
- SetRequestedKeyboardState::Params::Create(*args_);
- EXTENSION_FUNCTION_VALIDATE(params);
- if (!delegate->SetRequestedKeyboardState(params->state)) {
- error_ = kVirtualKeyboardNotEnabled;
- return false;
- } else {
- return true;
- }
- }
- error_ = kNotYetImplementedError;
- return false;
+ExtensionFunction::ResponseAction
+VirtualKeyboardPrivateSetKeyboardStateFunction::Run() {
+ std::unique_ptr<keyboard::SetKeyboardState::Params> params =
+ keyboard::SetKeyboardState::Params::Create(*args_);
+ EXTENSION_FUNCTION_VALIDATE(params);
+ if (!delegate()->SetRequestedKeyboardState(params->state))
+ return RespondNow(Error(kVirtualKeyboardNotEnabled));
+ return RespondNow(NoArguments());
}
VirtualKeyboardAPI::VirtualKeyboardAPI(content::BrowserContext* context) {
- delegate_ =
- extensions::ExtensionsAPIClient::Get()->CreateVirtualKeyboardDelegate();
+ delegate_ = ExtensionsAPIClient::Get()->CreateVirtualKeyboardDelegate();
}
VirtualKeyboardAPI::~VirtualKeyboardAPI() {

Powered by Google App Engine
This is Rietveld 408576698