New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 720600 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Feature

Blocking:
issue 710826



Sign in to add a comment

Implement aura::WindowPortMus::CreateCompositorFrameSink()

Project Member Reported by penghuang@chromium.org, May 10 2017

Issue description

We need aura::WindowPortMus::CreateCompositorFrameSink() for
running Exo in Mushrome & Mustash.
 
Status: Started (was: Assigned)
Blockedon: 712302
Project Member

Comment 3 by bugdroid1@chromium.org, May 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9513fb02ee27908bacb21482a31ac3e800a135e9

commit 9513fb02ee27908bacb21482a31ac3e800a135e9
Author: penghuang <penghuang@chromium.org>
Date: Tue May 16 22:57:54 2017

Implement MusContextFactory::SharedMainThreadContextProvider()

This CL implements MusContextFactory::SharedMainThreadContextProvider()
which is needed by exo for uploading resources to GPU.

BUG= 720600 

Review-Url: https://codereview.chromium.org/2890453002
Cr-Commit-Position: refs/heads/master@{#472237}

[modify] https://crrev.com/9513fb02ee27908bacb21482a31ac3e800a135e9/ui/aura/mus/mus_context_factory.cc
[modify] https://crrev.com/9513fb02ee27908bacb21482a31ac3e800a135e9/ui/aura/mus/mus_context_factory.h

Project Member

Comment 4 by bugdroid1@chromium.org, May 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/77a8c758cc4731844a0308f23ccd2fd0e8fe14d9

commit 77a8c758cc4731844a0308f23ccd2fd0e8fe14d9
Author: penghuang <penghuang@chromium.org>
Date: Thu May 18 16:39:57 2017

Only send the FrameSinkId to client when it is necessary

The ui::ClientCompositorFrameSink doesn't really need the FameSinkId
for submitting frames, so remove it.

And for TopLevel Window, Embeddee and DisplayRoot, we don't need the
FrameSinkId to create the ui::ClientCompositorFrameSink, so remove
the FrameSinkId arg from related mojo IPC.

This CL also passes enable_surface_synchronization flag to
ui::ClientCompositorFrameSink via ctor.

BUG= 720600 

Review-Url: https://codereview.chromium.org/2886873002
Cr-Commit-Position: refs/heads/master@{#472841}

[modify] https://crrev.com/77a8c758cc4731844a0308f23ccd2fd0e8fe14d9/content/renderer/mus/renderer_window_tree_client.cc
[modify] https://crrev.com/77a8c758cc4731844a0308f23ccd2fd0e8fe14d9/content/renderer/mus/renderer_window_tree_client.h
[modify] https://crrev.com/77a8c758cc4731844a0308f23ccd2fd0e8fe14d9/services/ui/public/cpp/client_compositor_frame_sink.cc
[modify] https://crrev.com/77a8c758cc4731844a0308f23ccd2fd0e8fe14d9/services/ui/public/cpp/client_compositor_frame_sink.h
[modify] https://crrev.com/77a8c758cc4731844a0308f23ccd2fd0e8fe14d9/services/ui/public/interfaces/window_manager.mojom
[modify] https://crrev.com/77a8c758cc4731844a0308f23ccd2fd0e8fe14d9/services/ui/public/interfaces/window_tree.mojom
[modify] https://crrev.com/77a8c758cc4731844a0308f23ccd2fd0e8fe14d9/services/ui/test_wm/test_wm.cc
[modify] https://crrev.com/77a8c758cc4731844a0308f23ccd2fd0e8fe14d9/services/ui/ws/test_change_tracker.cc
[modify] https://crrev.com/77a8c758cc4731844a0308f23ccd2fd0e8fe14d9/services/ui/ws/test_change_tracker.h
[modify] https://crrev.com/77a8c758cc4731844a0308f23ccd2fd0e8fe14d9/services/ui/ws/test_utils.cc
[modify] https://crrev.com/77a8c758cc4731844a0308f23ccd2fd0e8fe14d9/services/ui/ws/test_utils.h
[modify] https://crrev.com/77a8c758cc4731844a0308f23ccd2fd0e8fe14d9/services/ui/ws/window_manager_client_unittest.cc
[modify] https://crrev.com/77a8c758cc4731844a0308f23ccd2fd0e8fe14d9/services/ui/ws/window_tree.cc
[modify] https://crrev.com/77a8c758cc4731844a0308f23ccd2fd0e8fe14d9/services/ui/ws/window_tree_client_unittest.cc
[modify] https://crrev.com/77a8c758cc4731844a0308f23ccd2fd0e8fe14d9/services/ui/ws/window_tree_unittest.cc
[modify] https://crrev.com/77a8c758cc4731844a0308f23ccd2fd0e8fe14d9/ui/aura/mus/mus_context_factory.cc
[modify] https://crrev.com/77a8c758cc4731844a0308f23ccd2fd0e8fe14d9/ui/aura/mus/mus_context_factory.h
[modify] https://crrev.com/77a8c758cc4731844a0308f23ccd2fd0e8fe14d9/ui/aura/mus/window_port_mus.cc
[modify] https://crrev.com/77a8c758cc4731844a0308f23ccd2fd0e8fe14d9/ui/aura/mus/window_port_mus.h
[modify] https://crrev.com/77a8c758cc4731844a0308f23ccd2fd0e8fe14d9/ui/aura/mus/window_tree_client.cc
[modify] https://crrev.com/77a8c758cc4731844a0308f23ccd2fd0e8fe14d9/ui/aura/mus/window_tree_client.h
[modify] https://crrev.com/77a8c758cc4731844a0308f23ccd2fd0e8fe14d9/ui/aura/mus/window_tree_client_unittest.cc
[modify] https://crrev.com/77a8c758cc4731844a0308f23ccd2fd0e8fe14d9/ui/aura/mus/window_tree_host_mus.cc
[modify] https://crrev.com/77a8c758cc4731844a0308f23ccd2fd0e8fe14d9/ui/aura/test/mus/window_tree_client_private.cc

Cc: varkha@chromium.org
Project Member

Comment 6 by bugdroid1@chromium.org, Jun 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/810bd6f44ea3be0e7ff4522190cf2e4924769e17

commit 810bd6f44ea3be0e7ff4522190cf2e4924769e17
Author: penghuang <penghuang@chromium.org>
Date: Fri Jun 09 15:36:02 2017

Implement aura::WindowPortMus::CreateCompositorFrameSink()

This CL implements aura::WindowPortMus::CreateCompositorFrameSink().
Exo will use it in Mushrome and Mustash to create a frame sink
and use it to submit frames.

BUG= 720600 

Review-Url: https://codereview.chromium.org/2875753002
Cr-Commit-Position: refs/heads/master@{#478287}

[modify] https://crrev.com/810bd6f44ea3be0e7ff4522190cf2e4924769e17/components/exo/surface.cc
[modify] https://crrev.com/810bd6f44ea3be0e7ff4522190cf2e4924769e17/components/viz/client/client_compositor_frame_sink.cc
[modify] https://crrev.com/810bd6f44ea3be0e7ff4522190cf2e4924769e17/components/viz/client/client_compositor_frame_sink.h
[modify] https://crrev.com/810bd6f44ea3be0e7ff4522190cf2e4924769e17/services/ui/ws/window_server.cc
[modify] https://crrev.com/810bd6f44ea3be0e7ff4522190cf2e4924769e17/services/ui/ws/window_tree.cc
[modify] https://crrev.com/810bd6f44ea3be0e7ff4522190cf2e4924769e17/services/ui/ws/window_tree_client_unittest.cc
[modify] https://crrev.com/810bd6f44ea3be0e7ff4522190cf2e4924769e17/ui/aura/local/window_port_local.cc
[modify] https://crrev.com/810bd6f44ea3be0e7ff4522190cf2e4924769e17/ui/aura/mus/window_mus.h
[modify] https://crrev.com/810bd6f44ea3be0e7ff4522190cf2e4924769e17/ui/aura/mus/window_port_mus.cc
[modify] https://crrev.com/810bd6f44ea3be0e7ff4522190cf2e4924769e17/ui/aura/mus/window_port_mus.h
[modify] https://crrev.com/810bd6f44ea3be0e7ff4522190cf2e4924769e17/ui/aura/mus/window_tree_client.cc

Status: Fixed (was: Started)
Project Member

Comment 8 by bugdroid1@chromium.org, Jun 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c390948c4980dd2a6afcc2cbc0775c38ff4c25f8

commit c390948c4980dd2a6afcc2cbc0775c38ff4c25f8
Author: rdevlin.cronin <rdevlin.cronin@chromium.org>
Date: Fri Jun 09 16:40:44 2017

Revert of Implement aura::WindowPortMus::CreateCompositorFrameSink() (patchset #27 id:620001 of https://codereview.chromium.org/2875753002/ )

Reason for revert:
Broke chromeos compile.

https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Fchromium.chromiumos%2FChromiumOS_x86-generic_Compile%2F36632%2F%2B%2Frecipes%2Fsteps%2Fcompile%2F0%2Fstdout

[1661/3845] CXX obj/ui/aura/aura/window_port_mus.o
FAILED: obj/ui/aura/aura/window_port_mus.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+9588.0.0+target_toolchain/usr/x86_64-pc-linux-gnu/i686-pc-linux-gnu/binutils-bin/2.25.51-gold -MMD -MF obj/ui/aura/aura/window_port_mus.o.d -DAURA_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 -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../../third_party/protobuf/src -Igen/protoc_out -I../../third_party/protobuf/src -I../../third_party/boringssl/src/include -I/b/c/b/ChromiumOS_x86_generic_Compile/.cros_cache/chrome-sdk/tarballs/x86-generic+9588.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+9588.0.0+sysroot_chromeos-base_chromeos-chrome.tar.xz/usr/include/nspr -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 -pthread -m32 -msse2 -mfpmath=sse -mmmx -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+9588.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 ../../ui/aura/mus/window_port_mus.cc -o obj/ui/aura/aura/window_port_mus.o
../../ui/aura/mus/window_port_mus.cc: In member function 'virtual std::unique_ptr<cc::CompositorFrameSink> aura::WindowPortMus::CreateCompositorFrameSink()':
../../ui/aura/mus/window_port_mus.cc:542:10: error: cannot bind 'std::unique_ptr<viz::ClientCompositorFrameSink>' lvalue to 'std::unique_ptr<viz::ClientCompositorFrameSink>&&'
   return frame_sink;
          ^
In file included from /b/c/b/ChromiumOS_x86_generic_Compile/.cros_cache/chrome-sdk/tarballs/x86-generic+9588.0.0+target_toolchain/usr/x86_64-pc-linux-gnu/i686-pc-linux-gnu/gcc-bin/4.9.x/../../../../lib/gcc/i686-pc-linux-gnu/4.9.x/include/g++-v4/memory:81:0,
                 from ../../base/sequence_checker_impl.h:8,
                 from ../../base/sequence_checker.h:10,
                 from ../../base/memory/ref_counted.h:19,
                 from ../../base/memory/weak_ptr.h:79,
                 from ../../components/viz/client/client_compositor_frame_sink.h:9,
                 from ../../ui/aura/mus/window_port_mus.h:16,
                 from ../../ui/aura/mus/window_port_mus.cc:5:
/b/c/b/ChromiumOS_x86_generic_Compile/.cros_cache/chrome-sdk/tarballs/x86-generic+9588.0.0+target_toolchain/usr/x86_64-pc-linux-gnu/i686-pc-linux-gnu/gcc-bin/4.9.x/../../../../lib/gcc/i686-pc-linux-gnu/4.9.x/include/g++-v4/bits/unique_ptr.h:220:2: note: initializing argument 1 of 'std::unique_ptr<_Tp, _Dp>::unique_ptr(std::unique_ptr<_Up, _Ep>&&) [with _Up = viz::ClientCompositorFrameSink; _Ep = std::default_delete<viz::ClientCompositorFrameSink>; <template-parameter-2-3> = void; _Tp = cc::CompositorFrameSink; _Dp = std::default_delete<cc::CompositorFrameSink>]'
  unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept
  ^
../../ui/aura/mus/window_port_mus.cc:543:1: error: control reaches end of non-void function [-Werror=return-type]
 }

Original issue's description:
> Implement aura::WindowPortMus::CreateCompositorFrameSink()
>
> This CL implements aura::WindowPortMus::CreateCompositorFrameSink().
> Exo will use it in Mushrome and Mustash to create a frame sink
> and use it to submit frames.
>
>
> BUG= 720600 
>
> Review-Url: https://codereview.chromium.org/2875753002
> Cr-Commit-Position: refs/heads/master@{#478287}
> Committed: https://chromium.googlesource.com/chromium/src/+/810bd6f44ea3be0e7ff4522190cf2e4924769e17

TBR=reveman@chromium.org,fsamuel@chromium.org,fsamuel@google.com,kylechar@chromium.org,sadrul@chromium.org,sky@chromium.org,penghuang@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 720600 

Review-Url: https://codereview.chromium.org/2934523002
Cr-Commit-Position: refs/heads/master@{#478304}

[modify] https://crrev.com/c390948c4980dd2a6afcc2cbc0775c38ff4c25f8/components/exo/surface.cc
[modify] https://crrev.com/c390948c4980dd2a6afcc2cbc0775c38ff4c25f8/components/viz/client/client_compositor_frame_sink.cc
[modify] https://crrev.com/c390948c4980dd2a6afcc2cbc0775c38ff4c25f8/components/viz/client/client_compositor_frame_sink.h
[modify] https://crrev.com/c390948c4980dd2a6afcc2cbc0775c38ff4c25f8/services/ui/ws/window_server.cc
[modify] https://crrev.com/c390948c4980dd2a6afcc2cbc0775c38ff4c25f8/services/ui/ws/window_tree.cc
[modify] https://crrev.com/c390948c4980dd2a6afcc2cbc0775c38ff4c25f8/services/ui/ws/window_tree_client_unittest.cc
[modify] https://crrev.com/c390948c4980dd2a6afcc2cbc0775c38ff4c25f8/ui/aura/local/window_port_local.cc
[modify] https://crrev.com/c390948c4980dd2a6afcc2cbc0775c38ff4c25f8/ui/aura/mus/window_mus.h
[modify] https://crrev.com/c390948c4980dd2a6afcc2cbc0775c38ff4c25f8/ui/aura/mus/window_port_mus.cc
[modify] https://crrev.com/c390948c4980dd2a6afcc2cbc0775c38ff4c25f8/ui/aura/mus/window_port_mus.h
[modify] https://crrev.com/c390948c4980dd2a6afcc2cbc0775c38ff4c25f8/ui/aura/mus/window_tree_client.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Jun 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7d3b44d7d03614dd15fda5e81df050b0e618ad2b

commit 7d3b44d7d03614dd15fda5e81df050b0e618ad2b
Author: penghuang <penghuang@chromium.org>
Date: Fri Jun 09 18:52:40 2017

Implement aura::WindowPortMus::CreateCompositorFrameSink()

This CL implements aura::WindowPortMus::CreateCompositorFrameSink().
Exo will use it in Mushrome and Mustash to create a frame sink
and use it to submit frames.

BUG= 720600 

Review-Url: https://codereview.chromium.org/2875753002
Cr-Original-Commit-Position: refs/heads/master@{#478287}
Committed: https://chromium.googlesource.com/chromium/src/+/810bd6f44ea3be0e7ff4522190cf2e4924769e17
Review-Url: https://codereview.chromium.org/2875753002
Cr-Commit-Position: refs/heads/master@{#478355}

[modify] https://crrev.com/7d3b44d7d03614dd15fda5e81df050b0e618ad2b/components/exo/surface.cc
[modify] https://crrev.com/7d3b44d7d03614dd15fda5e81df050b0e618ad2b/components/viz/client/client_compositor_frame_sink.cc
[modify] https://crrev.com/7d3b44d7d03614dd15fda5e81df050b0e618ad2b/components/viz/client/client_compositor_frame_sink.h
[modify] https://crrev.com/7d3b44d7d03614dd15fda5e81df050b0e618ad2b/services/ui/ws/window_server.cc
[modify] https://crrev.com/7d3b44d7d03614dd15fda5e81df050b0e618ad2b/services/ui/ws/window_tree.cc
[modify] https://crrev.com/7d3b44d7d03614dd15fda5e81df050b0e618ad2b/services/ui/ws/window_tree_client_unittest.cc
[modify] https://crrev.com/7d3b44d7d03614dd15fda5e81df050b0e618ad2b/ui/aura/local/window_port_local.cc
[modify] https://crrev.com/7d3b44d7d03614dd15fda5e81df050b0e618ad2b/ui/aura/mus/window_mus.h
[modify] https://crrev.com/7d3b44d7d03614dd15fda5e81df050b0e618ad2b/ui/aura/mus/window_port_mus.cc
[modify] https://crrev.com/7d3b44d7d03614dd15fda5e81df050b0e618ad2b/ui/aura/mus/window_port_mus.h
[modify] https://crrev.com/7d3b44d7d03614dd15fda5e81df050b0e618ad2b/ui/aura/mus/window_tree_client.cc

Blocking:
Blockedon: -712302
Components: -Internals>MUS Internals>Services>WindowService

Sign in to add a comment