Create a unified UIElement interface for Widget, View and Window |
|||||
Issue descriptionTo make ash_dev_tools_css_agent.cc cleaner, CSS agent shouldn't have to worry about which specific object (Widget, View or Window) it's referring to. Since Widget, View and Window have different method names which behave same way, i.e, window->IsVisible() vs view->Visibile(), a unified interface UIElement will have unified method names which then appropriately direct calls to actual Widget, View or Window methods.
,
Apr 26 2017
,
May 19 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6ca68936d643cf5636b9d5af16ed798a57b5c43b commit 6ca68936d643cf5636b9d5af16ed798a57b5c43b Author: afakhry <afakhry@chromium.org> Date: Fri May 19 21:36:13 2017 Revert of Create a unified UIElement interface for Widget, View and Window. (patchset #21 id:1020001 of https://codereview.chromium.org/2776543002/ ) Reason for revert: Fails to compile on ChromiumOS x86-generic Compile with error: [903/7505] CXX obj/ash/ash/ui_element.o FAILED: obj/ash/ash/ui_element.o /b/c/goma_client/gomacc i686-pc-linux-gnu-g++ -B/b/c/b/ChromiumOS_x86_generic_Compile/.cros_cache/chrome-sdk/tarballs/x86-generic+9536.0.0+target_toolchain/usr/x86_64-pc-linux-gnu/i686-pc-linux-gnu/binutils-bin/2.25.51-gold -MMD -MF obj/ash/ash/ui_element.o.d -DASH_IMPLEMENTATION -DV8_DEPRECATION_WARNINGS -DUSE_UDEV -DUSE_ASH=1 -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -DOS_CHROMEOS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DUSE_EGL -DTOOLKIT_VIEWS=1 -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DUCHAR_TYPE=uint16_t -DSK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS -DSK_HAS_PNG_LIBRARY -DSK_HAS_WEBP_LIBRARY -DSK_HAS_JPEG_LIBRARY -DSK_SUPPORT_GPU=1 -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DHAVE_PTHREAD -DMESA_EGL_NO_X11_HEADERS -I../.. -Igen -I../../third_party/libwebp -I../../third_party/khronos -I../../gpu -I../../third_party/ced/src -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -I../../skia/config -I../../skia/ext -I../../third_party/skia/include/c -I../../third_party/skia/include/config -I../../third_party/skia/include/core -I../../third_party/skia/include/effects -I../../third_party/skia/include/encode -I../../third_party/skia/include/images -I../../third_party/skia/include/lazy -I../../third_party/skia/include/pathops -I../../third_party/skia/include/pdf -I../../third_party/skia/include/pipe -I../../third_party/skia/include/ports -I../../third_party/skia/include/utils -I../../third_party/skia/third_party/vulkan -I../../third_party/skia/include/gpu -I../../third_party/skia/src/gpu -I../../third_party/skia/src/sksl -I/b/c/b/ChromiumOS_x86_generic_Compile/.cros_cache/chrome-sdk/tarballs/x86-generic+9536.0.0+sysroot_chromeos-base_chromeos-chrome.tar.xz/usr/include/dbus-1.0 -I/b/c/b/ChromiumOS_x86_generic_Compile/.cros_cache/chrome-sdk/tarballs/x86-generic+9536.0.0+sysroot_chromeos-base_chromeos-chrome.tar.xz/usr/lib/dbus-1.0/include -I../../third_party/protobuf/src -Igen/protoc_out -I../../third_party/protobuf/src -I../../third_party/libwebm/source -I../../third_party/boringssl/src/include -I/b/c/b/ChromiumOS_x86_generic_Compile/.cros_cache/chrome-sdk/tarballs/x86-generic+9536.0.0+sysroot_chromeos-base_chromeos-chrome.tar.xz/usr/include/nss -I/b/c/b/ChromiumOS_x86_generic_Compile/.cros_cache/chrome-sdk/tarballs/x86-generic+9536.0.0+sysroot_chromeos-base_chromeos-chrome.tar.xz/usr/include/nspr -I../../third_party/WebKit -Igen/third_party/WebKit -I../../v8/include -Igen/v8/include -I../../third_party/qcms/src -Igen -I../../third_party/mesa/src/include -fno-strict-aliasing -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -B../../third_party/binutils/Linux_x64/Release/bin -m32 -msse2 -mfpmath=sse -mmmx -pthread -Wall -Werror -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-missing-field-initializers -Wno-unused-parameter -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g2 -gsplit-dwarf --sysroot=../../../.cros_cache/chrome-sdk/tarballs/x86-generic+9536.0.0+sysroot_chromeos-base_chromeos-chrome.tar.xz -fvisibility=hidden -std=gnu++11 -Wno-narrowing -fno-rtti -fno-exceptions -fvisibility-inlines-hidden -march=i686 -pipe -march=i686 -pipe -pipe -march=i686 -mfpmath=sse -mmmx -msse -msse2 -msse3 -D__google_stl_debug_vector=1 -c ../../ash/devtools/ui_element.cc -o obj/ash/ash/ui_element.o ../../ash/devtools/ui_element.cc: In member function 'std::string ash::devtools::UIElement::GetTypeName() const': ../../ash/devtools/ui_element.cc:37:1: error: control reaches end of non-void function [-Werror=return-type] } ^ cc1plus.elf: all warnings being treated as errors Original issue's description: > Create a unified UIElement interface for Widget, View and Window. > > The unified interface will enable css_agent to set/access many > properties of widget, view and window without the need of knowing the > actual object type. A UIElement tree where each node can be either > view, widget and window will be kept in sync with tree structures of > window, widget and view objects. > > BUG= 700024 > > Review-Url: https://codereview.chromium.org/2776543002 > Cr-Commit-Position: refs/heads/master@{#473315} > Committed: https://chromium.googlesource.com/chromium/src/+/bdcdb17a4fa7ffea34afed460b776cc2e5032855 TBR=sadrul@chromium.org,thanhph@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= 700024 Review-Url: https://codereview.chromium.org/2899503002 Cr-Commit-Position: refs/heads/master@{#473331} [modify] https://crrev.com/6ca68936d643cf5636b9d5af16ed798a57b5c43b/ash/BUILD.gn [modify] https://crrev.com/6ca68936d643cf5636b9d5af16ed798a57b5c43b/ash/devtools/ash_devtools_css_agent.cc [modify] https://crrev.com/6ca68936d643cf5636b9d5af16ed798a57b5c43b/ash/devtools/ash_devtools_css_agent.h [modify] https://crrev.com/6ca68936d643cf5636b9d5af16ed798a57b5c43b/ash/devtools/ash_devtools_dom_agent.cc [modify] https://crrev.com/6ca68936d643cf5636b9d5af16ed798a57b5c43b/ash/devtools/ash_devtools_dom_agent.h [modify] https://crrev.com/6ca68936d643cf5636b9d5af16ed798a57b5c43b/ash/devtools/ash_devtools_unittest.cc [delete] https://crrev.com/eeb1406b336d5834d9362fad5e16af8ca45e6f0e/ash/devtools/ui_element.cc [delete] https://crrev.com/eeb1406b336d5834d9362fad5e16af8ca45e6f0e/ash/devtools/ui_element.h [delete] https://crrev.com/eeb1406b336d5834d9362fad5e16af8ca45e6f0e/ash/devtools/ui_element_delegate.h [delete] https://crrev.com/eeb1406b336d5834d9362fad5e16af8ca45e6f0e/ash/devtools/view_element.cc [delete] https://crrev.com/eeb1406b336d5834d9362fad5e16af8ca45e6f0e/ash/devtools/view_element.h [delete] https://crrev.com/eeb1406b336d5834d9362fad5e16af8ca45e6f0e/ash/devtools/widget_element.cc [delete] https://crrev.com/eeb1406b336d5834d9362fad5e16af8ca45e6f0e/ash/devtools/widget_element.h [delete] https://crrev.com/eeb1406b336d5834d9362fad5e16af8ca45e6f0e/ash/devtools/window_element.cc [delete] https://crrev.com/eeb1406b336d5834d9362fad5e16af8ca45e6f0e/ash/devtools/window_element.h
,
May 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/27d1ff58a6ae0788d6f9d776d3c593d853e919aa commit 27d1ff58a6ae0788d6f9d776d3c593d853e919aa Author: thanhph <thanhph@chromium.org> Date: Sat May 20 04:09:13 2017 Create a unified UIElement interface for Widget, View and Window. The unified interface will enable css_agent to set/access many properties of widget, view and window without the need of knowing the actual object type. A UIElement tree where each node can be either view, widget and window will be kept in sync with tree structures of window, widget and view objects. BUG= 700024 Review-Url: https://codereview.chromium.org/2776543002 Cr-Original-Commit-Position: refs/heads/master@{#473315} Committed: https://chromium.googlesource.com/chromium/src/+/bdcdb17a4fa7ffea34afed460b776cc2e5032855 Review-Url: https://codereview.chromium.org/2776543002 Cr-Commit-Position: refs/heads/master@{#473407} [modify] https://crrev.com/27d1ff58a6ae0788d6f9d776d3c593d853e919aa/ash/BUILD.gn [modify] https://crrev.com/27d1ff58a6ae0788d6f9d776d3c593d853e919aa/ash/devtools/ash_devtools_css_agent.cc [modify] https://crrev.com/27d1ff58a6ae0788d6f9d776d3c593d853e919aa/ash/devtools/ash_devtools_css_agent.h [modify] https://crrev.com/27d1ff58a6ae0788d6f9d776d3c593d853e919aa/ash/devtools/ash_devtools_dom_agent.cc [modify] https://crrev.com/27d1ff58a6ae0788d6f9d776d3c593d853e919aa/ash/devtools/ash_devtools_dom_agent.h [modify] https://crrev.com/27d1ff58a6ae0788d6f9d776d3c593d853e919aa/ash/devtools/ash_devtools_unittest.cc [add] https://crrev.com/27d1ff58a6ae0788d6f9d776d3c593d853e919aa/ash/devtools/ui_element.cc [add] https://crrev.com/27d1ff58a6ae0788d6f9d776d3c593d853e919aa/ash/devtools/ui_element.h [add] https://crrev.com/27d1ff58a6ae0788d6f9d776d3c593d853e919aa/ash/devtools/ui_element_delegate.h [add] https://crrev.com/27d1ff58a6ae0788d6f9d776d3c593d853e919aa/ash/devtools/view_element.cc [add] https://crrev.com/27d1ff58a6ae0788d6f9d776d3c593d853e919aa/ash/devtools/view_element.h [add] https://crrev.com/27d1ff58a6ae0788d6f9d776d3c593d853e919aa/ash/devtools/widget_element.cc [add] https://crrev.com/27d1ff58a6ae0788d6f9d776d3c593d853e919aa/ash/devtools/widget_element.h [add] https://crrev.com/27d1ff58a6ae0788d6f9d776d3c593d853e919aa/ash/devtools/window_element.cc [add] https://crrev.com/27d1ff58a6ae0788d6f9d776d3c593d853e919aa/ash/devtools/window_element.h
,
May 29 2017
,
Jul 6 2017
,
Aug 1 2017
,
Jan 22 2018
|
|||||
►
Sign in to add a comment |
|||||
Comment 1 by varkha@chromium.org
, Mar 14 2017