| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The output_surface_id is unique for a particular renderer compositor
instance. It is used to avoid returning resources from lost context to
compositor with new context.
Plumb output_surface_id from SynchronousOutputSurface all the way
to android_webview::HardwareRenderer. To avoid having to send down
a map<id, resource list>, a simpler guarantee is to assume the
output_surface_id is increasing, so only need to return resources
of with highest output surface id and drop resources other resources.
BUG=592744
Review URL: https://codereview.chromium.org/1769913003
Cr-Commit-Position: refs/heads/master@{#382636}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A problem with the design in that blocking touch events could get
ahead of the non-blocking events was revealed in discussions. Change
the queue so that it processes all events going to the main thread.
It may elect to put blocking events in queues that it maintains so that
events are not re-ordered when dispatched to the main thread.
Force the ack behavior in the renderer to match the disposition
of the event. The benefit of this is uncancelable touch events
now can be coalesced if the main thread is behind.
BUG=489802
Review URL: https://codereview.chromium.org/1780953003
Cr-Commit-Position: refs/heads/master@{#381821}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is toward deleting the class entirely. These methods were not used
at all, or for a couple of them, had one caller which we redirect to the
GLES2Interface directly.
Adds a DEPS entry for core/testing/ to use GLES2Interface as there's
code in there calling things on WebGraphicsContext3D now.
R=kbr,esprehn,sievers,chrishtr
BUG=584497
CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel
Review URL: https://codereview.chromium.org/1809553002
Cr-Commit-Position: refs/heads/master@{#381586}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use chrome's async input delivery path in Android WebView. See bug
for potential incompatibility risk. Existing code path is not removed
in case compatibility is an issue.
Refactor out ui::SynchronousInputHandlerProxy parts from
InputHandlerManagerClient into a separate interface so that sync
compositor can use SynchronousInputHandlerProxy even without
routing input synchronously. Then just stop filtering input events in
sync compositor, hook up overscroll, and everything just works.
Tests:
testNoSpuriousOverScrolls requires synchronous input to maintain
the property that a single scroll call happens. Asynchronously the
test is not valid
AwContents.zoomIn is no longer synchronous which breaks
testPinchZoomUpdatesScrollRangeSynchronously. Can fix this
independently if this becomes a problem later.
BUG=545628
Review URL: https://codereview.chromium.org/1620053002
Cr-Commit-Position: refs/heads/master@{#380563}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Detect whether passive event listeners exist when handling wheel
and touch events. If the events can be handled on the compositor thread
and an event posted to main thread dispatch that. Add an event queue
for wheel and touch so that we can coalesce pending events for the main
thread.
BUG=489802
Review URL: https://codereview.chromium.org/1631963002
Cr-Commit-Position: refs/heads/master@{#376182}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Avoid regressing performance and memory when shipping the IPC
path for existing devices that only support running webview in single
process mode.
Use c/b/a/in_process to set a global SkCanvas pointer on the renderer
and use this SkCanvas pointer when in-process. This is memory and
thread safe because renderer only accesses the pointer as a response
to a synchronous IPC from browser, and the IPC itself provides a
memory barrier.
BUG=583455
Review URL: https://codereview.chromium.org/1697853002
Cr-Commit-Position: refs/heads/master@{#375750}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The one-copy inline video path is not fully working yet on
all GPUs. This patch makes the existing code path that uses
the in-process command buffer keep working, even with
--ipc-sync-compositing.
Separate stream texture part of SynchronousCompositorFactory
into SynchronousCompositorStreamTextureFactory. Then also set
it in the IPC-sync compositing path when running in single
process.
BUG=583455
Previous Committed: https://crrev.com/28a28af2a5488703659d4cada9c2da7c736407cb
Cr-Commit-Position: refs/heads/master@{#374304}
Review URL: https://codereview.chromium.org/1657093002
Cr-Commit-Position: refs/heads/master@{#374958}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(patchset #6 id:100001 of https://codereview.chromium.org/1657093002/ )
Reason for revert:
Broke webview unit tests which test runner silently ignored.
BUG=585585
Original issue's description:
> sync compositor: Allow sync stream texture over ipc compositing
>
> The one-copy inline video path is not fully working yet on
> all GPUs. This patch makes the existing code path that uses
> the in-process command buffer keep working, even with
> --ipc-sync-compositing.
>
> Separate stream texture part of SynchronousCompositorFactory
> into SynchronousCompositorStreamTextureFactory. Then also set
> it in the IPC-sync compositing path when running in single
> process.
>
> BUG=583455
>
> Committed: https://crrev.com/28a28af2a5488703659d4cada9c2da7c736407cb
> Cr-Commit-Position: refs/heads/master@{#374304}
TBR=sievers@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
BUG=583455
Review URL: https://codereview.chromium.org/1681323003
Cr-Commit-Position: refs/heads/master@{#374545}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The one-copy inline video path is not fully working yet on
all GPUs. This patch makes the existing code path that uses
the in-process command buffer keep working, even with
--ipc-sync-compositing.
Separate stream texture part of SynchronousCompositorFactory
into SynchronousCompositorStreamTextureFactory. Then also set
it in the IPC-sync compositing path when running in single
process.
BUG=583455
Review URL: https://codereview.chromium.org/1657093002
Cr-Commit-Position: refs/heads/master@{#374304}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This avoids a deadlock situation in android webview where
begin frames have stopped, but the blink main thread is blocked
indefinitely waiting for activation. See bug for details.
Plumb a signal that the BeginFrameSource is paused directly
through BeginFrameSourceObserver, and force activate any
pending activations when paused. This is similar to when
compositor becomes invisible, but BFS allows webview send
the signal without a hop to blink main thread.
BUG=539373
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1536353003
Cr-Commit-Position: refs/heads/master@{#369238}
|
|
|
|
|
|
|
|
|
|
|
| |
(╯^□^)╯︵ ❄☃❄
BUG=557422
R=avi@chromium.org
Review URL: https://codereview.chromium.org/1552733002
Cr-Commit-Position: refs/heads/master@{#367130}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Refactor SynchronousCompositorOutputSurface to expose the SwapBuffers
call to client. For IPC implementation, send the reply IPC inside
SwapBuffers instead of waiting for OnDraw to return.
This allows more code to run in parallel, since OnDraw generally calls
PrepareTiles after DrawAndSwap; now PrepareTiles can run in parallel
with IO/UI code. Depending on scheduling and available cores, this can
save up to ~0.7ms per frame of waiting time on UI thread.
BUG=545633
Review URL: https://codereview.chromium.org/1546383002
Cr-Commit-Position: refs/heads/master@{#367111}
|
|
|
|
|
|
|
|
|
| |
BUG=138542
TBR=skyostil@chromium.org
Review URL: https://codereview.chromium.org/1549943002
Cr-Commit-Position: refs/heads/master@{#366844}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL makes sure the resources in the cc::Surfaces are returned to the
correct synchronous compositor.
In order to achieve this, each ChildFrame (a wrapper around
CompositorFrame) will be tagged with the BrowserViewRenderer-generated
ID of the frame-producing compositor. A separate cc::SurfaceFactory will
be created for a new compositor. The SurfaceFactory that corresponds to
the old compositor will be destroyed when a new RVH becomes current and
sends a CompositorFrame tagged with the new compositor's ID.
When a resource is no longer needed, it will be inserted into a map
keyed by the ID of the compositor.
Other WebView APIs like onDraw, SetViewVisibility, etc. will be applied
to the compositor owned by the current RWHVA.
BUG=533516
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1456763002
Cr-Commit-Position: refs/heads/master@{#365726}
|
|
|
|
|
|
|
|
|
|
|
| |
Usage of std::vector for movable types has been recently whitelisted.
https://chromium-cpp.appspot.com/#library-whitelist
BUG=554289
Review URL: https://codereview.chromium.org/1467413004
Cr-Commit-Position: refs/heads/master@{#364073}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=535367
TEST=it all stays working
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
R=thakis@chromium.org
TBR=ben@chromium.org
Committed: https://crrev.com/32ff552858e014d454ce8b181f5aca1dfcf8f8fd
Cr-Commit-Position: refs/heads/master@{#363482}
Review URL: https://codereview.chromium.org/1370923002 .
Cr-Commit-Position: refs/heads/master@{#363564}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(patchset #19 id:360001 of https://codereview.chromium.org/1370923002/ )
Reason for revert:
Missed one.
Original issue's description:
> Enforce marking "override" for functions overriding Blink.
>
> BUG=535367
> TEST=it all stays working
> CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
> TBR=ben@chromium.org
>
> Committed: https://crrev.com/32ff552858e014d454ce8b181f5aca1dfcf8f8fd
> Cr-Commit-Position: refs/heads/master@{#363482}
TBR=thakis@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=535367
Review URL: https://codereview.chromium.org/1504913002
Cr-Commit-Position: refs/heads/master@{#363492}
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=535367
TEST=it all stays working
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
TBR=ben@chromium.org
Review URL: https://codereview.chromium.org/1370923002
Cr-Commit-Position: refs/heads/master@{#363482}
|
|
|
|
|
|
|
|
|
|
|
|
| |
The InputHandlerProxy in content/renderer implements the logic for
sending the intercepted web input events to the compositor. Move this
logic to ui to be used by mus/blimp.
BUG=550531
Review URL: https://codereview.chromium.org/1415953004
Cr-Commit-Position: refs/heads/master@{#361207}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove CreateStreamTexture from gpu_control.h.
Use CreateStreamTexture as a non virtual function in
command_buffer_proxy and in_process_command_buffer
(for STFSynchronous).Use CreateStreamTexture
instead of gl->CreateStreamTextureCHROMIUM.
BUG=516585, 339191
Review URL: https://codereview.chromium.org/1385883002
Cr-Commit-Position: refs/heads/master@{#359778}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ContextProviderCommandBuffer owns a WebGraphicsContext3DCommandBufferImpl and a
GrContextForWebGraphicsContext3D via scoped_ptr. The problem was
that the GrContext object held by GrContextForWebGraphicsContext3D
depended on interface pointers that reference an interface that is owned
by WebGraphicsContext3DCommandBufferImpl, so whenever the
GrContext outlived the ContextProviderCommandBuffer, we ended up in a
state where the interface function pointers are deallocated, but still
referenced. Then, attempts to use the GrContext would result in using
deallocated function pointers. Because the GrContext is a ref counted
object, it can easily outlive the ContextProviderCommandBuffer. This led to
a dangerous situation where we had to be careful about object destruction
order.
This CL fixes the problem for good by wrapping the ownership of the
WebGraphicsContext3DCommandBufferImpl into a subclass of
GrGLInterface, which is a ref counted object that can be owned jointly by
the GrContext and the ContextProviderCommandBuffer, thus guaranteeing
that the command buffer interface will remain valid for the lifetimes of the
GrContext and of the ContextProviderCommandBuffer.
BUG=551143
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1414683003
Cr-Commit-Position: refs/heads/master@{#359493}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Existing browser-renderer call path uses
SynchronousCompositorImpl to cross the logical process boundary:
[BrowserViewRenderer, RenderWidgetHostViewAndroid]
<-> SynchronousCompositorImpl <->
[SynchronousCompositorOutputSurface,
SynchronousCompositorExternalBeginFrameSource]
New call path, added behind kIPCSyncCompositing switch essentially
replaces SynchronousCompositorImpl with actual IPC code. New call
path looks like this:
[BrowserViewRenderer, RenderWidgetHostViewAndroid]
<-> SynchronousCompositorHost <-> IPC
<-> SynchronousCompositorFilter
<-> SynchronousCompositorProxy <->
[SynchronousCompositorOutputSurface,
SynchronousCompositorExternalBeginFrameSource]
Browser side:
Introduce SynchronousCompositorBase which adds methods used by RWHVA.
Add SynchronousCompositorHost which instead of calling to renderer
directly, uses sync IPCs instead.
Renderer side:
Add SynchronousCompositorFilter which is responsible for filtering sync
compositing messages and sending them to compositor thread. The filter
doubles as the SynchronousCompositorRegistry implementation. Filter is
owned by RenderThreadImpl so should outlive all other objects and the
compositor thread itself.
Add SynchronousCompositorProxy. This takes the place of
SynchronousCompositorImpl for the single-process path; the proxy is the
client for OutputSurface and BeginFrameSource. Proxy also receives sync
IPC from SynchronousCompositorHost and send replies and async IPCs back.
Proxy is used on the compositor thread only. Proxy lifetime is
controlled by the filter (registry) and is outlived by both
OutputSurface and BeginFrameSource so life time management is simple.
OutputSurface and BeginFrameSource are re-used.
IPCs:
There are common browser and renderer states that are sent on each
message from and to browser side. There is a versioning system for the
renderer state since messages may arrive out of order on the browser side.
BUG=526842
Review URL: https://codereview.chromium.org/1408123005
Cr-Commit-Position: refs/heads/master@{#357955}
|
|
|
|
|
|
|
|
|
|
| |
See bug for reasoning
BUG=159273
Review URL: https://codereview.chromium.org/1417893006
Cr-Commit-Position: refs/heads/master@{#356653}
|
|
|
|
|
|
|
|
|
|
|
| |
ContextProvider::VerifyContexts is not used anywhere.
BUG=544547
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1419923002
Cr-Commit-Position: refs/heads/master@{#355643}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ContextProvider::DestroyedOnMainThread was used on the main thread
to check when a context bound to different thread had been destroyed.
After crrev.com/1369843002, the only place where DestroyedOnMainThread
is called is on the shared main thread context, that is already bound
to the main thread.
DestroyedOnMainThread and the lock used to protect |destroyed| are no
longer needed.
BUG=544547
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1406923004
Cr-Commit-Position: refs/heads/master@{#355431}
|
|
|
|
|
|
|
|
|
|
|
| |
This is the first part of the separation of RenderViewHost and RenderWidgetHost. The separation of the Impls is yet to come.
BUG=478281
TEST=all green
Review URL: https://codereview.chromium.org/1392323003
Cr-Commit-Position: refs/heads/master@{#354258}
|
|
|
|
|
|
|
|
|
|
|
|
| |
Other than memory limits, synchronous compositor and regular
regular compositor share the same context creation logic.
So actually share the code path as well.
BUG=526842
Review URL: https://codereview.chromium.org/1395923003
Cr-Commit-Position: refs/heads/master@{#353837}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Create SynchronousCompositorRegistry interface in renderer
and rename implementation to InProc.
Move ExternalBeginFrameSource, OutputSurface
implementations to renderer, and create
client interfaces as necessary to break dependency on
browser objects.
Remove SynchronousCompositorContextProvider since it
is no longer needed.
BUG=526842
Review URL: https://codereview.chromium.org/1360133004
Cr-Commit-Position: refs/heads/master@{#353632}
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also simplify object lifetimes. Have SynchronousCompositorClient
outlive SynchronousCompositor so no need to have code to handle
setting and unsetting client.
BUG=509702
Review URL: https://codereview.chromium.org/1385543003
Cr-Commit-Position: refs/heads/master@{#353221}
|
|
|
|
|
|
|
|
| |
BUG=487471
Review URL: https://codereview.chromium.org/1368583006
Cr-Commit-Position: refs/heads/master@{#352372}
|
|
|
|
|
|
|
|
|
|
|
| |
For most things in android webview except in-line video.
IPC-based command buffer path is ready. See bug for details.
BUG=509702
Review URL: https://codereview.chromium.org/1325733003
Cr-Commit-Position: refs/heads/master@{#352350}
|
|
|
|
|
|
|
|
|
|
|
|
| |
This moves gpu memory policy code from gpumemorymanager to renderer compositor.
It will be useful for renderer to use off screen context.
BUG=526196
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1324413003
Cr-Commit-Position: refs/heads/master@{#352301}
|
|
|
|
|
|
|
|
|
|
| |
We don't need them any more.
BUG=487471
Review URL: https://codereview.chromium.org/1359163005
Cr-Commit-Position: refs/heads/master@{#350686}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This moves the responsibility to call BindToCurrentThread/SetupLock out
of cc::OutputSurface and to the maintainer of the (possibly) shared
context.
OutputSurface now needs to be destroyed on the same thread they
were created. OutputSurface::DetachFromClient() can be used to
destroy any resources that need to be destroyed on the thread
that the OutputSurface has been bound to.
BUG=523411,525811
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1336733002
Cr-Commit-Position: refs/heads/master@{#350409}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This removes the cc::LayerScrollOffsetDelegate interface, moving it
into the InputHandlerClient interface.
It also removes the pointer to cc::LayerTreeHostImpl (as a
cc::InputHandler*) from the WebView embedder code. Instead make the
WebView code always go through the SynchronousInputHandlerProxy (which
is the InputHandlerProxy) to talk to the compositor about input-related
things.
R=boliu, jdduke@chromium.org
BUG=531746
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1353013002
Cr-Commit-Position: refs/heads/master@{#350056}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://codereview.chromium.org/1336733002/ )
Reason for revert:
Broke GPU rasterization on Mac OS; please see https://code.google.com/p/chromium/issues/detail?id=523411#c26 .
I'm really sorry -- I don't know how this got past the CQ.
Original issue's description:
> cc: Implement shared worker contexts.
>
> This moves the responsibility to call BindToCurrentThread/SetupLock out
> of cc::OutputSurface and to the maintainer of the (possibly) shared
> context.
>
> OutputSurface now needs to be destroyed on the same thread they
> were created. OutputSurface::DetachFromClient() can be used to
> destroy any resources that need to be destroyed on the thread
> that the OutputSurface has been bound to.
>
> BUG=523411
> CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
>
> Committed: https://crrev.com/a47ef41ea03d3a5b8965eb700b682ddf8a1f055a
> Cr-Commit-Position: refs/heads/master@{#349274}
TBR=danakj@chromium.org,piman@chromium.org,sievers@chromium.org,reveman@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=523411
Review URL: https://codereview.chromium.org/1356463002
Cr-Commit-Position: refs/heads/master@{#349313}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This moves the responsibility to call BindToCurrentThread/SetupLock out
of cc::OutputSurface and to the maintainer of the (possibly) shared
context.
OutputSurface now needs to be destroyed on the same thread they
were created. OutputSurface::DetachFromClient() can be used to
destroy any resources that need to be destroyed on the thread
that the OutputSurface has been bound to.
BUG=523411
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1336733002
Cr-Commit-Position: refs/heads/master@{#349274}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This method is only called in one place, immediately after calling
UpdateRootLayerState, which sets the total scroll offset to the one
given. So cc can just re-use the offset it handed off directly instead
of setting it then getting it.
R=boliu, jdduke
BUG=531746
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1341973002
Cr-Commit-Position: refs/heads/master@{#348926}
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Need to unset need_animate_input_ before calling SynchronouslyAnimate,
since calling SynchronouslyAnimate can set need_animate_input_ again for
the next animation tick.
BUG=530124
R=danakj, jdduke
Review URL: https://codereview.chromium.org/1334773002
Cr-Commit-Position: refs/heads/master@{#348176}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently the SynchronousCompositorImpl knows the offset changed, so
it calles the InputHandler (LayerTreeHostImpl) which calls the
LayerTreeImpl. Then LayerTreeImpl needs to know the offset, so it calls
back to the SynchronousCompositorImpl through the
LayerScrollOffsetDelegate.
Just pass the offset to OnRootLayerDelegatedScrollOffsetChanged to
make this simpler and avoid the anti-pattern of having class A call
class B just to have class B get data from class A.
R=boliu, jdduke
BUG=522658
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1334573002
Cr-Commit-Position: refs/heads/master@{#348063}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
They don't need to go through cc, so let's not and this lets cc reason
about when/how things happen better.
Adds 2 new interfaces:
- SynchronousInputHandlerProxy. A limited view of the InputHandlerProxy
given out to WebView to control animating timing. It lets WebView call
SynchronouslyAnimate() to do animations. And if cc tried to also animate,
we'd hit a DCHECK.
- SynchronousInputHandler. An interface given to the InputHandlerProxy
as an alternate place to handle requests for animation. When it's
present animate requests go there instead of the usual InputHandler.
R=boliu, enne, hush, jdduke, sievers
BUG=522658
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1307203003
Cr-Commit-Position: refs/heads/master@{#348014}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
So it no longer depends on in_process code, in particular having android
webview be single process.
Preference is passed to RenderViewImpl on init, which is then used to
initialize blink and the compositor.
BUG=526842
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1309003006
Cr-Commit-Position: refs/heads/master@{#347528}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To run AwShell in this mode (no graphical output):
build/android/adb_android_webview_command_line --webview-sandboxed-renderer
Added a simple test for this mode. The next step will be to run all AW
instrumentation tests like this in addition to normal mode.
BUG=156062,525697
Review URL: https://codereview.chromium.org/1315633003
Cr-Commit-Position: refs/heads/master@{#346963}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cc::OutputSurface. (patchset #5 id:80001 of https://codereview.chromium.org/1317743002/ )
Reason for revert:
Likely causes crash on Mac: https://build.chromium.org/p/chromium.gpu/builders/Mac%20Release%20%28Intel%29/builds/54667
Going to see if reverting helps.
BUG=527186
Original issue's description:
> cc: Move worker context BindToCurrentThread/SetupLock calls out of cc::OutputSurface.
>
> This moves the responsibility to call these functions from
> cc:OutputSurface to the code that creates the context.
>
> BUG=523411
> CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
>
> Committed: https://crrev.com/10b73d7c140bc67ddeeaf716eb31df0977fe2497
> Cr-Commit-Position: refs/heads/master@{#346712}
TBR=avi@chromium.org,danakj@chromium.org,reveman@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=523411
Review URL: https://codereview.chromium.org/1317533003
Cr-Commit-Position: refs/heads/master@{#346736}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cc::OutputSurface.
This moves the responsibility to call these functions from
cc:OutputSurface to the code that creates the context.
BUG=523411
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1317743002
Cr-Commit-Position: refs/heads/master@{#346712}
|
|
|
|
|
|
|
|
|
|
|
|
| |
This has not been in use since r342756 when smoothness is disabled.
New plan to enable smoothness no longer involves this call.
BUG=520149
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1316933003
Cr-Commit-Position: refs/heads/master@{#346527}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Synchronous compositor client directly controls memory allocation. After
switching to ipc-based command buffer, this conflicts the memory
allocation callbacks from the command buffer.
Note in-process command buffer never supposed memory callbacks.
BUG=509702
Review URL: https://codereview.chromium.org/1268383003
Cr-Commit-Position: refs/heads/master@{#342267}
|
|
|
|
|
|
|
|
|
|
| |
We never transmit software frames over IPC anymore, so this is unnecessary.
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1265243004
Cr-Commit-Position: refs/heads/master@{#342265}
|
|
|
|
|
|
|
|
|
|
|
|
| |
Pass surface_id when trying to create OutputSurface. surface_id is used
to create the onscreen ipc context, which matches rest of chrome, and
also works around an initialization issue on start up.
BUG=509702
Review URL: https://codereview.chromium.org/1257723005
Cr-Commit-Position: refs/heads/master@{#340847}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Still default to use in-process command buffer. Add switch to make
testing easier.
With ipc command buffer, no need to initialize bindings early in start
up. This is ok because ipc command buffer is guaranteed to start before
the in-process one on render thread is created.
Video still runs with context on render thread. Child compositor, WebGL
and accelerated canvas will run with ipc command buffer when switch
is present.
BUG=509702
Review URL: https://codereview.chromium.org/1253553002
Cr-Commit-Position: refs/heads/master@{#339999}
|