| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I have taken a very simple strategy. I have
retained all LayerImpl functions related to
transfer of ownership (AddChild, etc). These now
update raw pointers on the LayerImpl as well as
updating true ownership by talking to the LTI.
This allows most unit test code to remain as is.
LayerImpl's may be constructed and ownership may
be transferred just as it had been.
BUG=594026
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1801853002
Cr-Commit-Position: refs/heads/master@{#382619}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch moves SkipImageCanvas into a separate file in the same
directory as ImageHijackCanvas and also moves the creation of
SkipImageCanvas to raster source playback (the same place as
ImageHijackCanvas is created).
BUG=594679
R=enne, ericrk
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1799883002
Cr-Commit-Position: refs/heads/master@{#381101}
|
|
|
|
|
|
|
|
|
|
|
| |
Also, erase LayerTreeSettings::use_compositor_animation_timelines flag.
BUG=575041
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1783613004
Cr-Commit-Position: refs/heads/master@{#380914}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Merge tests from layer_tree_host_unittest_animation_timelines.cc
onto their respective layer_tree_host_unittest_animation.cc entries.
Erase layer_tree_host_unittest_animation_timelines.cc.
BUG=575041
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1766483002
Cr-Commit-Position: refs/heads/master@{#380343}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SurfaceManager now maintains a dag of surface id namespaces.
Optionally, a single BeginFrameSource input can be attached to a single
namespace node. Every namespace node also has a SurfaceFactoryClient.
This client is informed of a current BeginFrameSource, which is chosen
from any BeginFrameSource attached to it or a parent of that node.
Any children of that namespace also are able to use that source.
SurfaceManager is responsible for picking which source to use, of which
it currently just picks the first one until that source goes is removed
after which it arbitrarily picks another valid one. In practice, this
means that a window moved to another display in ChromeOS will switch its
BeginFrameSource after the window is dropped onto the new window.
Because the users of this dag all have very different requirements, the
ordering of SurfaceFactoryClient registration, namespace hierarchy
registration, and BeginFrameSource attaching are not particularly
strict. BeginFrameSources, SurfaceFactoryClients, and hierarchies can
be registered and unregistered in any order with respect to each other.
BUG=401331
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1673783004
Cr-Commit-Position: refs/heads/master@{#379988}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch moves ImageHijackCanvas to a separate file in preparation
for overriding SkCanvas instead. This would mean that the canvas has
to be plumbed from earlier in the pipeline and having it in a separate
file helps.
R=enne, ericrk
BUG=590859
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1758113004
Cr-Commit-Position: refs/heads/master@{#379146}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now updating scrolling information on impl side can be independent of layer impl.
There are still some left-over changes corresponding to NoteLayerPropertiesChanged.
SyncedScrollOffset of scrollable layers are now stored in property trees instead of
layer impl. The main thread property tree has one copy while pending and active share
one.
BUG=568830
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1736073002
Cr-Commit-Position: refs/heads/master@{#379116}
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now we are always using property trees, the names saying from property
trees are redundant.
BUG=
R=enne
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1751983002
Cr-Commit-Position: refs/heads/master@{#379042}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch separates ImageDecodeController into the software and gpu
components, which are created when tile manager resources are set.
This allows independent development of the two paths without extra
complications involved trying to handle both cases in the same class.
R=enne, ericrk
BUG=581423
CQ_EXTRA_TRYBOTS=tryserver.blink:linux_blink_rel
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1642803003
Cr-Commit-Position: refs/heads/master@{#378895}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This iterator (unlike the other iterators which are intended to operate
on the RSLL) will traverse a collection of LayerImpls. It is intended
to be used whenever we currently do a walk over the LayerImpl tree.
It currently operates on a tree of layers, but if we migrate all code
to work in terms of this iterator, when we change the underlying
iterator implementation to work on lists, all code will be updated in
unison.
BUG=557194
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1758823003
Cr-Commit-Position: refs/heads/master@{#378827}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://codereview.chromium.org/1746603002/ )
Reason for revert:
I'm going to try another, less code churny approach to the layer list refactor.
Original issue's description:
> Introduce LayerListImpl
>
> In this cl, the LayerTreeImpl constructs a LayerListImpl.
> The idea being that most plumbing won't need to change at
> first to get the list to where it needs to be. The first
> consumer of the LayerTreeImpl that I'm attempting to
> teach to speak LayerListImpl-ese is the LayerImpl. That
> has not been completely finished in this cl so that it
> doesn't become too big and difficult to review.
>
> NB: since the actual storage of the LayerImpls doesn't
> change in this cl (they're still in the LayerTreeImpl),
> there's no need to guard this work behind a flag.
>
> BUG=557194
> CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
>
> Committed: https://crrev.com/299bf1f63b8253c77530b904874f3435f9bde6d3
> Cr-Commit-Position: refs/heads/master@{#378398}
TBR=weiliangc@chromium.org,ajuma@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=557194
Review URL: https://codereview.chromium.org/1751243002
Cr-Commit-Position: refs/heads/master@{#378608}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In this cl, the LayerTreeImpl constructs a LayerListImpl.
The idea being that most plumbing won't need to change at
first to get the list to where it needs to be. The first
consumer of the LayerTreeImpl that I'm attempting to
teach to speak LayerListImpl-ese is the LayerImpl. That
has not been completely finished in this cl so that it
doesn't become too big and difficult to review.
NB: since the actual storage of the LayerImpls doesn't
change in this cl (they're still in the LayerTreeImpl),
there's no need to guard this work behind a flag.
BUG=557194
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1746603002
Cr-Commit-Position: refs/heads/master@{#378398}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
TargetProperty is intended to be used as an alias in Source/platform/animation/CompositorTargetProperty.h
This is slightly better then untyped approach used here:
https://codereview.chromium.org/1599673002
where we setup struct with constants in it and pass uint32_t everywhere.
An alternative approach with strongly typed enum
considered too verbose:
https://codereview.chromium.org/1698813002/
BUG=577016
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1700653002
Cr-Commit-Position: refs/heads/master@{#377501}
|
|
|
|
|
|
|
|
|
| |
BUG=575053
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1730853002
Cr-Commit-Position: refs/heads/master@{#377200}
|
|
|
|
|
|
|
|
|
|
|
| |
This isn't being used anymore.
BUG=581526
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1711283002
Cr-Commit-Position: refs/heads/master@{#376367}
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL adds Plumbing for picture serialization and deserialization
from //blimp to DrawingDisplayItem.
BUG=577262
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1675763002
Cr-Commit-Position: refs/heads/master@{#375053}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a fine-grained rework of https://codereview.chromium.org/1679923004/
The diff:
1) We test more general AnimationHost::PushPropertiesTo
2) We spawn unique layer for each player instead of using just one root layer.
BUG=574859
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1680373004
Cr-Commit-Position: refs/heads/master@{#374613}
|
|
|
|
|
|
|
|
|
|
|
| |
We now use SurfaceLayer instead in all cases.
BUG=579275
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1675023002
Cr-Commit-Position: refs/heads/master@{#374311}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a reland of https://codereview.chromium.org/1653003006/
Consolidating the _run targets into the test template should make them
easier to maintain (and, eventually, remove).
BUG=583694
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1662053002
Cr-Commit-Position: refs/heads/master@{#373385}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://codereview.chromium.org/1653003006/ )
Reason for revert:
Broke angle_unittests_run, which doesn't follow the template:
https://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Linux%20Builder/builds/53646/steps/compile/logs/stdio
Original issue's description:
> Move gn _run target generation into test().
>
> TBR=brettw@chromium.org
> BUG=
> CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
>
> Committed: https://crrev.com/6b1b03783b81ea27bb521c02aa84b74f06d6f71a
> Cr-Commit-Position: refs/heads/master@{#373232}
TBR=phosek@chromium.org,brettw@chromium.org,jbudorick@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/1664653003
Cr-Commit-Position: refs/heads/master@{#373257}
|
|
|
|
|
|
|
|
|
|
| |
TBR=brettw@chromium.org
BUG=
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1653003006
Cr-Commit-Position: refs/heads/master@{#373232}
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
client LayerTreeHost.
This also fixes the error for commits aborted on the server due to output surface lost.
BUG=550687, 577301
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1583033002
Cr-Commit-Position: refs/heads/master@{#372522}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Added RemoteChannelMain and RemoteChannelImpl to serialize and transmit
inter-proxy messages between the main and impl components of the
compositor using protobufs.
- Added RemoteChannelHost to be used by the cc embedder as the API for
interacting with the impl components of the remote compositor.
- Added tests to verify the initialization and shutdown sequence for the
remote compositor.
BUG=550687
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1513643010
Cr-Commit-Position: refs/heads/master@{#372236}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch reworks ImageDecodeController and the surrounding
system to give control over image decodes to the compositor.
Perf note:
This is disabled on android, and should only affect desktop.
That being said, this patch changes the behavior with
respect to image decodes, so some perf changes are expected.
BUG=516751
R=enne, reed1
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1418573002
Cr-Commit-Position: refs/heads/master@{#370188}
|
|
|
|
|
|
|
|
|
| |
BUG=550687
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1581773002
Cr-Commit-Position: refs/heads/master@{#369836}
|
|
|
|
|
|
|
|
|
| |
BUG=550687
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1583023004
Cr-Commit-Position: refs/heads/master@{#369541}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As part of the cc commit flow, we need to be able to serialize
the LayerTreeHost. Not all state is necessary to serialize to
be able to do a commit on the client side, so only some members
are included in the proto.
BUG=561210
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1519293002
Cr-Commit-Position: refs/heads/master@{#369450}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change assigns one of three possible categories:
GPU, HIGH_PRIORITY and LOW_PRIORITY to each task.
There will be a follow-up CL which makes RasterWorkerPool
respect these categories (rather than just treating them
as an additional priority).
BUG=
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1493703004
Cr-Commit-Position: refs/heads/master@{#369085}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Serialize the properties specific to the PictureLayer subclass. This
required a few slight changes:
- Don't query LayerImpl::bounds() in PictureLayer::PushPropertiesTo().
Instead rely on either Layer::bounds() or
Layer::paint_properties().bounds depending on the
source_frame_number. Since LayerImpl's bounds are set by
Layer::PushPropertiesTo() right before this check, this should
result in the same behavior.
- Create an EmptyContentLayerClient to be used by all PictureLayer
instances created by
LayerProtoConverter::FindOrAllocateAndConstruct().
BUG=538710
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1527863002
Cr-Commit-Position: refs/heads/master@{#367300}
|
|
|
|
|
|
|
|
|
|
|
|
| |
As part of serializing cc::LayerTreeHost, we also need to
serialize the cc::LayerTreeBounds.
BUG=561210
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1532973002
Cr-Commit-Position: refs/heads/master@{#366155}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The error was introduced by https://codereview.chromium.org/1417053005/
where using TimeDelta::FromSeconds for a double value caused the
DelayedUniqueNotifier to be initialized with zero delay.
This also fixes the flakiness for BenchmarkSmokeTest.thread_times on
Win7 bots, caused by an increase in the number of trace events from the
DelayedUniqueNotifier running with zero delay.
BUG=568120, 569658
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1527893002
Cr-Commit-Position: refs/heads/master@{#365492}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For compositor worker scroll customization, we need a dumb struct
which contains all of the scroll state.
This enables let's us easily convert between the blink and cc scroll
state types.
See https://codereview.chromium.org/1419663005/ for high level context,
and https://codereview.chromium.org/1415703002/ for the blink equivalent
to this patch.
BUG=505851
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1508093002
Cr-Commit-Position: refs/heads/master@{#365028}
|
|
|
|
|
|
|
|
|
|
| |
The recording was disabled in https://codereview.chromium.org/1464313007/
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1511743004
Cr-Commit-Position: refs/heads/master@{#364456}
|
|
|
|
|
|
|
|
|
|
|
|
| |
As part of serializing cc::LayerTreeHost, we also need to
serialize the cc::LayerTreeSettings.
BUG=561210
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1504273002
Cr-Commit-Position: refs/heads/master@{#364452}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the final patch that splits ThreadProxy into ProxyMain and
ProxyImpl routing all inter-proxy communication using ChannelMain
and ChannelImpl.
ThreadProxy currently implements the logic for glueing together the
Scheduler, LayerTreeHostImpl and the LayerTreeHost and separating these
components across the main and impl thread boundary. This patch isolates
the logic for this glue code in ThreadProxy exclusive to each thread to
ProxyMain and ProxyImpl. This will allow us to abstract the medium the
2 sides use to communicate with each other so these components can be
run across a thread/process/network boundary.
ThreadedChannel implements the in-process threaded case.
BUG=527200
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1417053005
Cr-Commit-Position: refs/heads/master@{#364034}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The compositor can currently be run in single threaded or threaded mode.
The LayerTreeHost needs to be aware of the mode it is running in for 2
reasons:
1) To safely cast Proxy to SingleThreadProxy to make calls which
are supported only in single threaded mode.
2) To make decisions which require excluding browser compositors which
run only in single threaded mode.
The LayerTreeHost checks if it has the impl task runner to know the
mode of operation. Using the enum will make the purpose of this check
explicit at the call sites and allow the addition of the remote mode to
the compositor which will be run in the renderer but will not have an
impl task runner since all impl thread operations will be run on the
client compositor.
BUG=550687
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1464313007
Cr-Commit-Position: refs/heads/master@{#363708}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows usage in other tests which interface with observers.
The change also refactors the EXPECT_* macros so they can be used with further expectations and closer match the EXPECT_CALL form.
The EXPECT_* macros also now work with a second implicit sequence such as;
{
::testing::InSequence seq;
EXPECT_BEGIN_FRAME_USED(obs, 100, 200, 300);
EXPECT_CALL(other, Function());
EXPECT_BEGIN_FRAME_USED(obs, 400, 500, 600);
}
R=brianderson
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1493233002
Cr-Commit-Position: refs/heads/master@{#363147}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As part of serializing cc::LayerTreeHost, we also need to
serialize the cc::LayerTreeSettings and the
cc::ManagedMemoryPolicy.
This CL focuses on the cc::ManagedMemoryPolicy and the
gpu::MemoryAllocation::PriorityCutoff enum.
BUG=561210
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1490513005
Cr-Commit-Position: refs/heads/master@{#362603}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As part of serializing cc::LayerTreeHost, we also need to
serialize the cc::LayerTreeSettings and the cc::RendererSettings.
This CL focuses only on the renderer settings.
BUG=561210
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1476753002
Cr-Commit-Position: refs/heads/master@{#362558}
|
|
|
|
|
|
|
|
|
|
|
|
| |
Turn on verify property trees for all cc_unittests.
R=ajuma
BUG=
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1484143004
Cr-Commit-Position: refs/heads/master@{#362538}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As part of serializing cc::LayerTreeHost, we also need to
serialize the cc::LayerTreeSettings and the
cc::LayerTreeDebugState.
This CL focuses only on the debug state.
BUG=561210
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1469393004
Cr-Commit-Position: refs/heads/master@{#362534}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
TaskGraphWorkQueue.
There are two new classes:
SynchronousTaskGraphRunner - used in some tests and by LayerTreeHostImpl
SingleThreadTaskGraphRunner - used in a number of tests (wrapped by TestTaskGraphRunner) and by GpuProcessTransportFactory and CompositorImplAndroid.
Additionally RasterWorkerPool has been re-worked to use the new helper.
BUG=
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1449133002
Cr-Commit-Position: refs/heads/master@{#362338}
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Along with future patches, this will help reduce sizes of display lists
and minorly improve raster performance.
This is a Chromium restyled version of Blink's ContiguousContainer.
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1479593003
Cr-Commit-Position: refs/heads/master@{#362308}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When property trees are enabled, draw properties are only
computed for drawn layers. This means that when a non-drawn
layer's draw transform is needed, it must be computed
on-demand using the transform tree rather than being read
from the layer's draw properties.
BUG=560275
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1479883002
Cr-Commit-Position: refs/heads/master@{#362196}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The core issue here is that Blink, when it sees that it needs to
change the scrollbar in any way (even just moving the thumb), uses the
signal blink::Scrollbar::setNeedsPaintInvalidation(). This will trigger
a call to cc::PaintedScrollbarLayer::Update(), which will re-paint all
controls into textures and then emit quads the quads for the controls.
We often only need to re-arrange the quads for the controls of the
scrollbar, not re-paint them.
The system that knows whether or not the controls need to be
repainted is blink::ScrollbarTheme (because that's the code that knows
the theme that will be used to do the painting).
Add blink::ScrollbarTheme::shouldRepaintAllPartsOnInvalidation() to
indicate if a call to blink::Scrollbar::setNeedsPaintInvalidation()
should cause re-painting of all of the controls. If this returns false
for a given theme, then methods blink::Scrollbar::setNeedsPaintTrack()
and blink::Scrollbar::setNeedsPaintThumb() may be used to specify more
granular control.
Back in cc::PaintedScrollbarLayer::Update(), use the methods
cc::Scrollbar::NeedsPaintPart() to check if re-paint is needed (it is
hooked up to the bit that is set by the blink::Scrollbar methods).
While we're in the neighborhood, it is worth noting that most of the
repainting of scrollbars on Mac is due to the alpha of the thumb or the
track changing. Add methods to blink::Scrollbar to query the opacity
of the controls, so that we can do the blending at compositing time
instead of requiring a repaint.
And, while we're in that neighborhood, fix cc::CALayerOverlay's
FromTextureQuad function to correctly take into account per-vertex
opacity.
BUG=549277
TEST=
- Set the system to only show scrollbars while scrolling
- Open a page with a vertical scrollbar
- Scroll to make the scroll thumb appear
- Hover the mouse somewhere below the thumb
- The thumb should become thicker and the track should appear
- After some time, the thumb and the track should fade away
TEST=
- Open a page with a scrollbar and search (command-F) for some text
- Ensure that the ticks on the vertical scrollbar appear
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1458703010
Cr-Commit-Position: refs/heads/master@{#361938}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For the (de)serialization of property trees and layers, we need to be
able to serialize several data types and this CL adds conversions and
a unit test for the cc::Region type.
The conversion of cc::Region happens by serializing a list of
gfx::Rect objects, and then on the deserialization side the union
of the gfx::Rect objects are created to recreate the cc::Region.
The initial version of this CL used writeToMemory and readFromMemory
in Skia, and a suggestion was made to fix using uint8_t instead of
char[], and this change still keeps this fix, even after those methods
are not in use anymore.
This is done in a separate CL to keep the logic-changing CLs clean
and focused.
BUG=538710
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1460503004
Cr-Commit-Position: refs/heads/master@{#361302}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The recent formatter alphebetizing change is causing a lot of noise in
code reviews. Figured it'd be worth a clean-up CL.
Exact command I ran:
find . -name "*.gn*" -exec gn format --in-place "{}" \;
TBR=ddorwin@chromium.org
BUG=554928
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1464873002
Cr-Commit-Position: refs/heads/master@{#360891}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Be able to send and receive compositor protos to/from the render
process and the browser process. Messages are piped through the
browser process to/from the network and renderer. A separate client
(go/blimp) will render the compositor protos. This is part of the
compositor refactor around splitting ThreadProxy into two components.
- Hook the proto sending into the BlimpEngineSession class.
- Set up a RemoteProtoChannel interface on the CC side to be used by the
ChannelMain class once we start building that from the LayerTreeHost.
BUG=552055
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1442853005
Cr-Commit-Position: refs/heads/master@{#360452}
|
|
|
|
|
|
|
|
|
|
|
| |
It's somewhat confusing to have to find it in cc/trees/layer_tree_settings.h.
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
TBR=dtrainor@chromium.org,piman@chromium.org
Review URL: https://codereview.chromium.org/1462613002
Cr-Commit-Position: refs/heads/master@{#360441}
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch removes ScopedPtrVector and cc::remove_if. It depends on
https://codereview.chromium.org/1441613002 for TakeBack.
R=danakj
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1437413002
Cr-Commit-Position: refs/heads/master@{#360318}
|