Index: ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc |
diff --git a/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc b/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc |
index e22468a10f886eccc8c92530c65371d3ced0e970..b72f6f208e3fd8deb9939b8cae47183269bc1802 100644 |
--- a/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc |
+++ b/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc |
@@ -692,18 +692,10 @@ bool XkbKeyboardLayoutEngine::SetCurrentLayoutByName( |
.MayBlock(), |
base::Bind(&LoadKeymap, layout_name, base::ThreadTaskRunnerHandle::Get(), |
reply_callback)); |
- return true; |
#else |
- // Required by ozone-wayland (at least) for non ChromeOS builds. See |
- // http://xkbcommon.org/doc/current/md_doc_quick-guide.html for further info. |
- xkb_keymap* keymap = xkb_keymap_new_from_string( |
- xkb_context_.get(), layout_name.c_str(), XKB_KEYMAP_FORMAT_TEXT_V1, |
- XKB_KEYMAP_COMPILE_NO_FLAGS); |
- if (!keymap) |
- return false; |
- SetKeymap(keymap); |
- return true; |
+ NOTIMPLEMENTED(); |
#endif // defined(OS_CHROMEOS) |
+ return true; |
} |
void XkbKeyboardLayoutEngine::OnKeymapLoaded( |
@@ -802,13 +794,17 @@ bool XkbKeyboardLayoutEngine::Lookup(DomCode dom_code, |
return true; |
} |
-void XkbKeyboardLayoutEngine::SetKeymapFromStringForTest( |
- const char* keymap_string) { |
- xkb_keymap* keymap = xkb_keymap_new_from_string( |
- xkb_context_.get(), keymap_string, XKB_KEYMAP_FORMAT_TEXT_V1, |
+bool XkbKeyboardLayoutEngine::SetCurrentLayoutFromBuffer( |
+ const char* keymap_string, |
+ size_t size) { |
+ xkb_keymap* keymap = xkb_keymap_new_from_buffer( |
+ xkb_context_.get(), keymap_string, size, XKB_KEYMAP_FORMAT_TEXT_V1, |
XKB_KEYMAP_COMPILE_NO_FLAGS); |
- if (keymap) |
- SetKeymap(keymap); |
+ if (!keymap) |
+ return false; |
+ |
+ SetKeymap(keymap); |
+ return true; |
} |
void XkbKeyboardLayoutEngine::SetKeymap(xkb_keymap* keymap) { |