|
|
DescriptionSupport IME extensions for Ozone.
After cl https://codereview.chromium.org/324903002/, the X11 dependencies have been removed from IMF except for ImeKeyboard implementation for Ozone.
Without a valid ImeKeyboard implementation IME extensions can still work.
BUG=362698
TEST=Verified on Pixel device.
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=289319
Patch Set 1 #Patch Set 2 : #Patch Set 3 : rebased. #Patch Set 4 : build pass. #Patch Set 5 : rebased. #Patch Set 6 : fixed compiling failures. #
Total comments: 2
Messages
Total messages: 23 (0 generated)
nona@/spang@, can you please review this cl? Thanks
could you add TEST line about what you did for testing this CL. I don't know how to test ozone and how the ozone works. IIRC, ozone works without X11 but IIRC there are some X11 dependency in IME stuff, e.g. XLookupString. Could you add short description into this CL about how ozone IME works. Especially I'm interested in what environment the ozone is working on, e.g. GYP_CONFIG chromeos=1 is set in the case of ozone? extension is supported on ozone? what ui::InputMethod implementation is used in ozone? Thanks.
On 2014/08/05 04:42:01, Seigo Nonaka wrote: > could you add TEST line about what you did for testing this CL. > I don't know how to test ozone and how the ozone works. > > IIRC, ozone works without X11 but IIRC there are some X11 dependency in IME > stuff, e.g. XLookupString. Could you add short description into this CL about > how ozone IME works. Especially I'm interested in what environment the ozone is > working on, e.g. GYP_CONFIG chromeos=1 is set in the case of ozone? extension is > supported on ozone? what ui::InputMethod implementation is used in ozone? > > Thanks. Sorry I haven't tested the cl yet. I've added more comments in the CL description that why simply removing the #iddef (USE_X11) would work. I can successfully build chrome and unit_tests with use_ozone=1. But browser_tests failed to build with use_ozone=1. And I failed to run below command: "out/Release/chrome --user-data-dir=~/.config/cros --login-manager --ozone-platform=egltest". The error was: "failed to load libeglplatform_shim.so.1". I've also try to build a dev cros image: GYP_DEFINES="branding=Chrome buildtype=Official use_ozone=1" USE="-chrome_pdf -chrome_debug chrome_internal internal $USE" ./build_packages --board=$BOARD --nowithautotest And flash it to my Pixel device, but I don't think "use_ozone=1" works. @spang, can you please tell me how I can build/test chrome with ozone enabled? Thanks, Shu
On 2014/08/05 08:14:07, Shu Chen wrote: > On 2014/08/05 04:42:01, Seigo Nonaka wrote: > > could you add TEST line about what you did for testing this CL. > > I don't know how to test ozone and how the ozone works. > > > > IIRC, ozone works without X11 but IIRC there are some X11 dependency in IME > > stuff, e.g. XLookupString. Could you add short description into this CL about > > how ozone IME works. Especially I'm interested in what environment the ozone > is > > working on, e.g. GYP_CONFIG chromeos=1 is set in the case of ozone? extension > is > > supported on ozone? what ui::InputMethod implementation is used in ozone? > > > > Thanks. > > Sorry I haven't tested the cl yet. > > I've added more comments in the CL description that why simply removing the > #iddef (USE_X11) would work. > I can successfully build chrome and unit_tests with use_ozone=1. > But browser_tests failed to build with use_ozone=1. > > And I failed to run below command: "out/Release/chrome > --user-data-dir=~/.config/cros --login-manager --ozone-platform=egltest". > The error was: "failed to load libeglplatform_shim.so.1". > > I've also try to build a dev cros image: GYP_DEFINES="branding=Chrome > buildtype=Official use_ozone=1" USE="-chrome_pdf -chrome_debug chrome_internal > internal $USE" ./build_packages --board=$BOARD --nowithautotest > And flash it to my Pixel device, but I don't think "use_ozone=1" works. > > @spang, can you please tell me how I can build/test chrome with ozone enabled? I recommend doing this to test on pixel: 1. Download and install a link_freon image (or build one yourself). 2. Build chrome via simplechrome: cros chrome-sdk --board=link_freon gclient runhooks ninja -C out_link_freon/Release chrome chrome_sandbox 3. Install with the deploy_chrome tool > > Thanks, > Shu
> I recommend doing this to test on pixel: > > 1. Download and install a link_freon image (or build one yourself). > > 2. Build chrome via simplechrome: > > cros chrome-sdk --board=link_freon > gclient runhooks > ninja -C out_link_freon/Release chrome chrome_sandbox > > 3. Install with the deploy_chrome tool Compiling errors occurred for the 3rd step: (sdk link_freon R38-6123.0.0) shuchen@chenshu: ~/chrome/src $ ninja -C out_${SDK_BOARD}/Release -j50 chrome ninja: Entering directory `out_link_freon/Release' [187/18278] CC obj.host/native_client/src/shared/gio/gio.gio_mem_snapshot.o FAILED: /usr/local/google/home/shuchen/chrome/.cros_cache/common/goma+2/gomacc gcc -MMD -MF obj.host/native_client/src/shared/gio/gio.gio_mem_snapshot.o.d -DV8_DEPREC ATION_WARNINGS -DBLINK_SCALE_FILTERS_AT_RECORD_TIME -D_FILE_OFFSET_BITS=64 -DNACL_LINUX=1 -DNACL_OSX=0 -DNACL_WINDOWS=0 -D_BSD_SOURCE=1 -D_POSIX_C_SOURCE=199506 -D_XO PEN_SOURCE=600 -D_GNU_SOURCE=1 -D__STDC_LIMIT_MACROS=1 -DNACL_ANDROID=0 -DGOOGLE_CHROME_BUILD -DENABLE_RLZ -DCOMPONENT_BUILD -DTOOLKIT_VIEWS=1 -DUI_COMPOSITOR_IMAGE_T RANSPORT -DUSE_AURA=1 -DUSE_ASH=1 -DUSE_PANGO=1 -DUSE_CAIRO=1 -DUSE_CRAS=1 -DUSE_OZONE=1 -DUSE_DEFAULT_RENDER_THEME=1 -DIMAGE_LOADER_EXTENSION=1 -DENABLE_REMOTING=1 - DENABLE_WEBRTC=1 -DUSE_PROPRIETARY_CODECS -DENABLE_PEPPER_CDMS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DENABLE_HIDPI=1 -DUSE_UDEV -DDCHECK_ALWAYS_ON=1 - DENABLE_EGLIMAGE=1 -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_P ROD_WALLET_SERVICE=1 -DENABLE_BACKGROUND=1 -DENABLE_GOOGLE_NOW=1 -DCLD_VERSION=2 -DCLD2_DATA_SOURCE=static -DENABLE_FULL_PRINTING=1 -DENABLE_PRINTING=1 -DENABLE_SPELL CHECK=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_MANAGED_USERS=1 -DENABLE_MDNS=1 -DENABLE_SERVICE_DISCOVERY=1 -DNACL_TARGET_SUBARCH=64 -DNACL_ TARGET_ARCH=x86 -DNACL_BUILD_SUBARCH=64 -DNACL_BUILD_ARCH=x86 -DUSE_NSS=1 -DOS_CHROMEOS=1 -DNDEBUG -DOFFICIAL_BUILD -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -Igen -I../../native_client/src/third_party -I../.. -pthread -fno-exceptions -fno-strict-aliasing -Wno-unused-parameter -Wno-missing-field-initializers -fvisibility=hidden -pipe -fPIC -g -pthread -fno-exceptions -fno-exceptions -Wno-format -Wno-unused-result -m64 -Wheader-hygiene -Wno-char-subscripts -Wno-unneeded-internal-declaration - Wno-covered-switch-default -Wstring-conversion -Wno-c++11-narrowing -Wno-deprecated-register -O2 -fno-ident -fdata-sections -ffunction-sections -fno-unwind-tables -fn o-asynchronous-unwind-tables -O2 -fno-ident -fdata-sections -ffunction-sections -c ../../native_client/src/shared/gio/gio_mem_snapshot.c -o obj.host/native_client/s rc/shared/gio/gio.gio_mem_snapshot.o cc1: error: unrecognized command line option '-Wheader-hygiene' cc1: error: unrecognized command line option '-Wstring-conversion' cc1: warning: unrecognized command line option "-Wno-deprecated-register" [enabled by default] cc1: warning: unrecognized command line option "-Wno-c++11-narrowing" [enabled by default] cc1: warning: unrecognized command line option "-Wno-covered-switch-default" [enabled by default] cc1: warning: unrecognized command line option "-Wno-unneeded-internal-declaration" [enabled by default] [187/18278] CC obj.host/native_client/src/shared/gio/gio.gio_mem.o FAILED: /usr/local/google/home/shuchen/chrome/.cros_cache/common/goma+2/gomacc gcc -MMD -MF ... ... How can I fix it? Btw, my GYP define is (~/.gyp/include.gyp): { 'variables': { 'asan': 0, 'branding': 'Chrome', 'buildtype': 'Official', 'clang': 0, 'chromeos': 1, 'aura': 1, 'dcheck_always_on': 1, 'use_ozone': 1, 'component': 'shared_library' } }
I cannot reproduce your error. It looks like your build is passing clang flags to gcc. When did you last sync? Michael On Wed, Aug 6, 2014 at 10:26 AM, <shuchen@chromium.org> wrote: > >> I recommend doing this to test on pixel: > > >> 1. Download and install a link_freon image (or build one yourself). > > >> 2. Build chrome via simplechrome: > > >> cros chrome-sdk --board=link_freon >> gclient runhooks >> ninja -C out_link_freon/Release chrome chrome_sandbox > > >> 3. Install with the deploy_chrome tool > > > Compiling errors occurred for the 3rd step: > (sdk link_freon R38-6123.0.0) shuchen@chenshu: ~/chrome/src $ ninja -C > out_${SDK_BOARD}/Release -j50 chrome > ninja: Entering directory `out_link_freon/Release' > [187/18278] CC obj.host/native_client/src/shared/gio/gio.gio_mem_snapshot.o > FAILED: > /usr/local/google/home/shuchen/chrome/.cros_cache/common/goma+2/gomacc > gcc -MMD -MF obj.host/native_client/src/shared/gio/gio.gio_mem_snapshot.o.d > -DV8_DEPREC > ATION_WARNINGS -DBLINK_SCALE_FILTERS_AT_RECORD_TIME -D_FILE_OFFSET_BITS=64 > -DNACL_LINUX=1 -DNACL_OSX=0 -DNACL_WINDOWS=0 -D_BSD_SOURCE=1 > -D_POSIX_C_SOURCE=199506 -D_XO > PEN_SOURCE=600 -D_GNU_SOURCE=1 -D__STDC_LIMIT_MACROS=1 -DNACL_ANDROID=0 > -DGOOGLE_CHROME_BUILD -DENABLE_RLZ -DCOMPONENT_BUILD -DTOOLKIT_VIEWS=1 > -DUI_COMPOSITOR_IMAGE_T > RANSPORT -DUSE_AURA=1 -DUSE_ASH=1 -DUSE_PANGO=1 -DUSE_CAIRO=1 -DUSE_CRAS=1 > -DUSE_OZONE=1 -DUSE_DEFAULT_RENDER_THEME=1 -DIMAGE_LOADER_EXTENSION=1 > -DENABLE_REMOTING=1 - > DENABLE_WEBRTC=1 -DUSE_PROPRIETARY_CODECS -DENABLE_PEPPER_CDMS > -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DENABLE_HIDPI=1 > -DUSE_UDEV > -DDCHECK_ALWAYS_ON=1 - > DENABLE_EGLIMAGE=1 -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 > -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 > -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_P > ROD_WALLET_SERVICE=1 -DENABLE_BACKGROUND=1 -DENABLE_GOOGLE_NOW=1 > -DCLD_VERSION=2 > -DCLD2_DATA_SOURCE=static -DENABLE_FULL_PRINTING=1 -DENABLE_PRINTING=1 > -DENABLE_SPELL > CHECK=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 > -DENABLE_MANAGED_USERS=1 -DENABLE_MDNS=1 -DENABLE_SERVICE_DISCOVERY=1 > -DNACL_TARGET_SUBARCH=64 -DNACL_ > TARGET_ARCH=x86 -DNACL_BUILD_SUBARCH=64 -DNACL_BUILD_ARCH=x86 -DUSE_NSS=1 > -DOS_CHROMEOS=1 -DNDEBUG -DOFFICIAL_BUILD -DNVALGRIND > -DDYNAMIC_ANNOTATIONS_ENABLED=0 -Igen > -I../../native_client/src/third_party -I../.. -pthread -fno-exceptions > -fno-strict-aliasing -Wno-unused-parameter -Wno-missing-field-initializers > -fvisibility=hidden > -pipe -fPIC -g -pthread -fno-exceptions -fno-exceptions -Wno-format > -Wno-unused-result -m64 -Wheader-hygiene -Wno-char-subscripts > -Wno-unneeded-internal-declaration - > Wno-covered-switch-default -Wstring-conversion -Wno-c++11-narrowing > -Wno-deprecated-register -O2 -fno-ident -fdata-sections -ffunction-sections > -fno-unwind-tables -fn > o-asynchronous-unwind-tables -O2 -fno-ident -fdata-sections > -ffunction-sections > -c ../../native_client/src/shared/gio/gio_mem_snapshot.c -o > obj.host/native_client/s > rc/shared/gio/gio.gio_mem_snapshot.o > cc1: error: unrecognized command line option '-Wheader-hygiene' > cc1: error: unrecognized command line option '-Wstring-conversion' > cc1: warning: unrecognized command line option "-Wno-deprecated-register" > [enabled by default] > cc1: warning: unrecognized command line option "-Wno-c++11-narrowing" > [enabled > by default] > cc1: warning: unrecognized command line option "-Wno-covered-switch-default" > [enabled by default] > cc1: warning: unrecognized command line option > "-Wno-unneeded-internal-declaration" [enabled by default] > [187/18278] CC obj.host/native_client/src/shared/gio/gio.gio_mem.o > FAILED: > /usr/local/google/home/shuchen/chrome/.cros_cache/common/goma+2/gomacc > gcc -MMD -MF ... > ... > > How can I fix it? > > Btw, my GYP define is (~/.gyp/include.gyp): > > { > 'variables': { > 'asan': 0, > 'branding': 'Chrome', > 'buildtype': 'Official', > 'clang': 0, > 'chromeos': 1, > 'aura': 1, > 'dcheck_always_on': 1, > 'use_ozone': 1, > 'component': 'shared_library' > } > } > > > > https://codereview.chromium.org/444523003/ To unsubscribe from this group and stop receiving emails from it, send an email to chromium-reviews+unsubscribe@chromium.org.
Finally I got this cl verified on Ozone. The IMF works well and the IMEs works well too except some IMEs require NaCl, which doesn't seem to work on Ozone. I think that is a different issue and should be fixed separately. I've also triggered trybot runs for Ozone. Nona/Michael, can you please see whether this CL can be LGTM'ed? Thanks, Shu
Btw, I found the key event from Ozone doesn't have correct 'code' string, which is always empty. Is it a known issue?
lgtm with one comments https://codereview.chromium.org/444523003/diff/100001/ui/base/ime/input_metho... File ui/base/ime/input_method_factory.cc (right): https://codereview.chromium.org/444523003/diff/100001/ui/base/ime/input_metho... ui/base/ime/input_method_factory.cc:20: #include "ui/base/ime/input_method_minimal.h" So, input_method_minimal.h is no longer necessary? If so, please remove input_method_minimal.h and put #error here.
lgtm with one comments
On 2014/08/12 10:40:19, Shu Chen wrote: > Btw, I found the key event from Ozone doesn't have correct 'code' string, which > is always empty. Is it a known issue? Known issue, Kevin is helping us get these issues sorted out.
lgtm
https://codereview.chromium.org/444523003/diff/100001/ui/base/ime/input_metho... File ui/base/ime/input_method_factory.cc (right): https://codereview.chromium.org/444523003/diff/100001/ui/base/ime/input_metho... ui/base/ime/input_method_factory.cc:20: #include "ui/base/ime/input_method_minimal.h" On 2014/08/12 16:10:35, Seigo Nonaka wrote: > So, input_method_minimal.h is no longer necessary? > If so, please remove input_method_minimal.h and put #error here. There is code below to new InputMethodMinimal(). I would prefer to remain the code to avoid some potential breaks.
The CQ bit was checked by shuchen@chromium.org
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/shuchen@chromium.org/444523003/100001
+sky@ for approval of ui/base/ui_base.gyp.
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: chromium_presubmit on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presub...)
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presub...)
LGTM
The CQ bit was checked by shuchen@chromium.org
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/shuchen@chromium.org/444523003/100001
Message was sent while issue was closed.
Committed patchset #6 (100001) as 289319 |