| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the renderer is swap throttled, the scheduler should wait until a
swap ack and then reschedule the deadline if necessary. This is to
avoid cases where we trigger the deadline too early and don't draw in
that frame.
BUG=437932
Review URL: https://codereview.chromium.org/775893006
Cr-Commit-Position: refs/heads/master@{#307329}
|
|
|
|
|
|
|
|
|
|
|
| |
The deadline for low-latency mode should be one frame interval off. It
was accidentally set to be an immediate deadline.
BUG=421923
Review URL: https://codereview.chromium.org/777353003
Cr-Commit-Position: refs/heads/master@{#307065}
|
|
|
|
|
|
|
|
|
|
| |
In STP, turn on main thread low latency mode. Remove ui::compositor
turn on for this mode since it's now duplicated. Remove duplicated
unittests since now all test running STP would use this mode.
Review URL: https://codereview.chromium.org/778643008
Cr-Commit-Position: refs/heads/master@{#306922}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In this mode scheduler completes a full cycle of BeginMainFrame, Commit,
Activate, and Draw before starts on next cycle. For SingleThreadProxy,
this also means that BeginMainFrame and Commit would be atomic action.
Add tests in LayerTreeHostTest for single thread non-impl side painting
with this mode.
BUG=421923
Review URL: https://codereview.chromium.org/695283005
Cr-Commit-Position: refs/heads/master@{#306621}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows easy tracing of a BeginFrameArgs object back to the
BeginFrameSource that created it. This is very useful as we have multiple
BeginFrameSources in the system now. The Primary / Background sources being a
perfect example.
While location tracking is highly optimised (as it is used in every base::Bind
calls) it doubles the size of BeginFrameArgs objects. Hence we only enable
location tracking in debug builds. In release builds we make sure to never
create the Location objects in the first place, so no extra strings are found
in the binary. This can be checked with the strings tool.
BUG=346230
DEPS=742683002
Review URL: https://codereview.chromium.org/735723005
Cr-Commit-Position: refs/heads/master@{#306326}
|
|
|
|
|
|
|
|
|
|
|
|
| |
Retro frames should not be discarded if there's a possibility
that they can be drawn. This CL also adds tests for the
expiration logic of retro frames.
BUG=413484
Review URL: https://codereview.chromium.org/577833002
Cr-Commit-Position: refs/heads/master@{#305873}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This cl is preparation for unified BeginFrame in cc layer.
This implements handling of forwarding_begin_frames_to_children in cc.
And this forwarding is not yet propagated to content layer.
R=brianderson@chromium.org
BUG=372086
TEST=cc_unittests
Review URL: https://codereview.chromium.org/723713003
Cr-Commit-Position: refs/heads/master@{#305226}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Rename BeginFrameArgs::CreateTyped to BeginFrameArgs::Create and remove
other versions.
* The other constructors where not used anywhere.
* The non-typed version was accidentally being used to create a SYNCHRONOUS
BeginFrameArgs.
* Fixed testing methods to understand type information.
* Create method for converting the type enum to string.
BUG=346230
Review URL: https://codereview.chromium.org/742683002
Cr-Commit-Position: refs/heads/master@{#305218}
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Grab the front of the retro frames stack and pop it before calling
BeginImplFrame, so we don't try to pop from an empty stack after
exiting BeginImplFrame.
R=brianderson
BUG=384582
Review URL: https://codereview.chromium.org/731653002
Cr-Commit-Position: refs/heads/master@{#304288}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removes the UpdateVisibleTiles scheduler state, instead if the
current set of raster tasks starts with a visible tile, we
optimistically call SetNeedsRedraw() at the start of each impl
frame to cause us to try and draw. At draw time we
UpdateVisibleTiles in the tile manager to collect any completed
tasks.
To handle other cases, whenever a visible tile is completed, we
call SetNeedsRedraw() in addition to setting damage on the layer.
Last, when NotifyReadyToDraw() happens, we have a complete frame,
so we can stop optimistically calling SetNeedsRedraw() at the
start of each impl frame.
This allows us to remove the full viewport damage when ending a
pinch gesture.
This change adds 2 integration unit tests for pinch zoom. The
first ensures that when a pinch ends we don't leave blurry tiles
on the screen, but update them to ideal. The second ensures we
continuously try to draw while we have an incomplete frame.
BUG=427423
Review URL: https://codereview.chromium.org/671653005
Cr-Commit-Position: refs/heads/master@{#304147}
|
|
|
|
|
|
|
|
|
|
|
| |
And make cc/ all linter clean.
R=enne
BUG=422353
Review URL: https://codereview.chromium.org/720323002
Cr-Commit-Position: refs/heads/master@{#304136}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
use_external_begin_frame_source
This flag is added into the LayerTreeSettings and SchedulerSettings.
This is a small piece of unified BeginFrame scheduling.
forward_begin_frames_to_children will be true when scheduler acts as a BeginFrame publisher
for child Scheduler.
begin_frame_scheduling_enabled is replaced with use_external_begin_frame_source for more
descriptive.
Also, same default value to use_external_begin_frame_source is used on LayerTreeSettings and
SchedulerSettings for less confusing.
This is dependent on https://codereview.chromium.org/619843002/.
R=brianderson@chromium.org
BUG=372086
Review URL: https://codereview.chromium.org/696413003
Cr-Commit-Position: refs/heads/master@{#303743}
|
|
|
|
|
|
|
|
|
|
|
|
| |
Decouple BeginFrame message from OutputSurface and creates new interface.
R=danakj@chromium.org, brianderson@chromium.org, skyostil@chromium.org, piman@chromium.org, boliu@chromium.org
BUG=416760
TEST=cc_unittests, content_unittests
Review URL: https://codereview.chromium.org/619843002
Cr-Commit-Position: refs/heads/master@{#303715}
|
|
|
|
|
|
|
|
|
|
|
|
| |
Send notifications when all visible tiles on the active tree are ready
to draw.
R=enne@chromium.org,reveman@chromium.org,brianderson@chromium.org,vmpstr@chromium.org
BUG=426501
Review URL: https://codereview.chromium.org/672283003
Cr-Commit-Position: refs/heads/master@{#303706}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Background ticking currently happens in the LayerTreeHostImpl, this makes it very hard to preserve the monotonicity guarantee needed by frame times. http://crrev.com/267783004 set up the scheduler to become the source of background ticks and this CL makes use of that functionality.
BUG=345459
Committed: https://crrev.com/4df3c4366015739a7c6b6c1539a8d7c9198e38ef
Cr-Commit-Position: refs/heads/master@{#302757}
Committed: https://crrev.com/185438b3e5e3f43ce2996da0022f510fbe193a6e
Cr-Commit-Position: refs/heads/master@{#303423}
Review URL: https://codereview.chromium.org/595973002
Cr-Commit-Position: refs/heads/master@{#303467}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the Scheduler. (patchset #10 id:480001 of https://codereview.chromium.org/595973002/)
Reason for revert:
Reverting because it breaks the following interactive_ui_tests;
* InterruptedAutoStartEnrollment
* LoginUIVisible
* PRE_InterruptedAutoStartEnrollment
* PRE_LoginUIVisible
The failure log is;
[27898:27924:1109/213628:FATAL:layer_animation_controller.cc(215)] Check failed: last_tick_time_ != base::TimeTicks().
#0 0x7f92b9beb75e base::debug::StackTrace::StackTrace()
#1 0x7f92b9c7ec82 logging::LogMessage::~LogMessage()
#2 0x7f92b8cdafc4 cc::LayerAnimationController::UpdateState()
#3 0x7f92b8fe9474 cc::LayerTreeHostImpl::UpdateAnimationState()
#4 0x7f92b902ecf4 cc::ThreadProxy::DrawSwapInternal()
#5 0x7f92b902f542 cc::ThreadProxy::ScheduledActionDrawAndSwapIfPossible()
#6 0x7f92b902f59c cc::ThreadProxy::ScheduledActionDrawAndSwapIfPossible()
#7 0x7f92b8f83324 cc::Scheduler::DrawAndSwapIfPossible()
#8 0x7f92b8f80541 cc::Scheduler::ProcessScheduledActions()
#9 0x7f92b8f7f54d cc::Scheduler::OnBeginImplFrameDeadline()
Original issue's description:
> Moving background animation ticking from LayerTreeHostImpl into the Scheduler.
>
> Background ticking currently happens in the LayerTreeHostImpl, this makes it very hard to preserve the monotonicity guarantee needed by frame times. http://crrev.com/267783004 set up the scheduler to become the source of background ticks and this CL makes use of that functionality.
>
> BUG=345459
>
> Committed: https://crrev.com/4df3c4366015739a7c6b6c1539a8d7c9198e38ef
> Cr-Commit-Position: refs/heads/master@{#302757}
>
> Committed: https://crrev.com/185438b3e5e3f43ce2996da0022f510fbe193a6e
> Cr-Commit-Position: refs/heads/master@{#303423}
TBR=danakj@chromium.org,brianderson@chromium.org,skyostil@chromium.org,ajuma@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=345459
Review URL: https://codereview.chromium.org/713783002
Cr-Commit-Position: refs/heads/master@{#303426}
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Background ticking currently happens in the LayerTreeHostImpl, this makes it very hard to preserve the monotonicity guarantee needed by frame times. http://crrev.com/267783004 set up the scheduler to become the source of background ticks and this CL makes use of that functionality.
BUG=345459
Committed: https://crrev.com/4df3c4366015739a7c6b6c1539a8d7c9198e38ef
Cr-Commit-Position: refs/heads/master@{#302757}
Review URL: https://codereview.chromium.org/595973002
Cr-Commit-Position: refs/heads/master@{#303423}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the Scheduler. (patchset #9 id:460001 of https://codereview.chromium.org/595973002/)
Reason for revert:
Reverting because of failure here http://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20Tests%20%28dbg%29%281%29
Will investigate tomorrow.
Original issue's description:
> Moving background animation ticking from LayerTreeHostImpl into the Scheduler.
>
> Background ticking currently happens in the LayerTreeHostImpl, this makes it very hard to preserve the monotonicity guarantee needed by frame times. http://crrev.com/267783004 set up the scheduler to become the source of background ticks and this CL makes use of that functionality.
>
> BUG=345459
>
> Committed: https://crrev.com/4df3c4366015739a7c6b6c1539a8d7c9198e38ef
> Cr-Commit-Position: refs/heads/master@{#302757}
TBR=danakj@chromium.org,brianderson@chromium.org,skyostil@chromium.org,ajuma@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=345459
Review URL: https://codereview.chromium.org/698413002
Cr-Commit-Position: refs/heads/master@{#302763}
|
|
|
|
|
|
|
|
|
|
| |
Background ticking currently happens in the LayerTreeHostImpl, this makes it very hard to preserve the monotonicity guarantee needed by frame times. http://crrev.com/267783004 set up the scheduler to become the source of background ticks and this CL makes use of that functionality.
BUG=345459
Review URL: https://codereview.chromium.org/595973002
Cr-Commit-Position: refs/heads/master@{#302757}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This moves the logic from the LayerTreeHostImpl into the scheduler which means
only ScheduledActionAnimate now updates animation state.
The further extends the work in http://crrev.com/206793003
BUG=346230
Committed: https://crrev.com/7fa5729cf6ac490cc3b257b7eb8093dcd1285e3a
Cr-Commit-Position: refs/heads/master@{#298396}
Review URL: https://codereview.chromium.org/621823003
Cr-Commit-Position: refs/heads/master@{#301358}
|
|
|
|
|
|
|
|
|
| |
BUG=417463
TBR=enne@chromium.org
Review URL: https://codereview.chromium.org/645853008
Cr-Commit-Position: refs/heads/master@{#300439}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On windows the timer resolution on battery power is quite low (15 ms).
The scheduler should take this into account while posting it's
deadline task - otherwise it risks giving way too much time to the
main thread which means frame rate is reduced by half in the worst
case.
BUG=407182
Review URL: https://codereview.chromium.org/554973002
Cr-Commit-Position: refs/heads/master@{#299984}
|
|
|
|
|
|
|
|
| |
R=enne
Review URL: https://codereview.chromium.org/662473003
Cr-Commit-Position: refs/heads/master@{#299809}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bisecting the UserAddingScreenTest.ScreenVisibility test timeouts
seems to have identified the causing CL.
This reverts the causing CL
4c6917e303938f0be7beb244abdfbf4723c2162f -- "cc:: Remove SwapAck throttling from Scheduler."
and enables tests again:
reverts 497a57a9b9c372cd58e3e1261d79916e4ca247c2 -- "Disable flaky timeout InlineLoginUIBrowserTest.DifferentStorageId on linux"
reverts ffc3747adcd49ca0185670dd6bc78078b4721544 -- "Disable WebViewAPITest.AcceptTouchEvents on Linux."
reverts efbbf859cec94c1a8d671499d190158fbdce3599 -- "Disabling UserImageManagerTest.SaveUserImageFromProfileImage.".
reverts f827c03bbf5971e2f24e32bd90ce4c40f5ee8f1c -- "Disable SharedOptionsTest.ScreenLockPreferencePrimary."
reverts 6e402f141ae341c5df18ca81e892089c47fae54f -- "Disable PreferencesTest.MultiProfiles."
reverts d65f70589ef04c62678b3e96d674689cbd3fd0c2 -- "Disable NetworkPortalDetectorImplBrowserTest.InSessionDetection."
BUG=423332,423094,423077,423053,423015,422998,422868
TBR=orglofch
Review URL: https://codereview.chromium.org/655783002
Cr-Commit-Position: refs/heads/master@{#299468}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LayerTreeHostImpl). (patchset #4 id:50001 of https://codereview.chromium.org/621823003/)
Reason for revert:
Some sites become "unresponsive" i.e. they work but have no ui changes. and the user need to switch between tabs in order of getting the actual page.
Original issue's description:
> Making scheduler run ANIMATE after a COMMIT (instead of LayerTreeHostImpl).
>
> This moves the logic from the LayerTreeHostImpl into the scheduler which means
> only ScheduledActionAnimate now updates animation state.
>
> The further extends the work in http://crrev.com/206793003
>
> BUG=346230
>
> Committed: https://crrev.com/7fa5729cf6ac490cc3b257b7eb8093dcd1285e3a
> Cr-Commit-Position: refs/heads/master@{#298396}
TBR=ajuma@chromium.org,skyostil@google.com,brianderson@chromium.org,danakj@chromium.org,skyostil@chromium.org,mithro@mithis.com
NOTREECHECKS=true
NOTRY=true
BUG=346230
Review URL: https://codereview.chromium.org/653013002
Cr-Commit-Position: refs/heads/master@{#299441}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes;
-------------------------------------------------------------------------------
Value of: state.NextAction()
Actual: 1
Expected: SchedulerStateMachine::ACTION_DRAW_AND_SWAP_ABORT
Which is: 8
-------------------------------------------------------------------------------
to
-------------------------------------------------------------------------------
Value of: SchedulerStateMachine::ActionToString(state.NextAction())
Actual: "ACTION_NONE"
Expected: SchedulerStateMachine::ActionToString( SchedulerStateMachine::ACTION_DRAW_AND_SWAP_ABORT)
Which is: "ACTION_DRAW_AND_SWAP_ABORT"
-------------------------------------------------------------------------------
BUG=416749
Review URL: https://codereview.chromium.org/639963006
Cr-Commit-Position: refs/heads/master@{#299282}
|
|
|
|
|
|
|
|
|
|
|
| |
Otherwise, tracing disabled-by-default-cc.debug.scheduler ends up saving full
layer tree dumps.
BUG=420607
Review URL: https://codereview.chromium.org/644643002
Cr-Commit-Position: refs/heads/master@{#298850}
|
|
|
|
|
|
|
|
|
|
| |
functions.
Didn't know these functions existed originally.
Review URL: https://codereview.chromium.org/637913004
Cr-Commit-Position: refs/heads/master@{#298849}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A previous patch applied these changes but was
reverted because it appeared to make
WebRtcBrowserTest.EstablishAudioVideoCallAndVerifyUnmutingWorks
flaky.
The test has been marked as flaky for other reasons so
adding the change back in.
BUG=311213
Review URL: https://codereview.chromium.org/597673008
Cr-Commit-Position: refs/heads/master@{#298502}
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This moves the logic from the LayerTreeHostImpl into the scheduler which means
only ScheduledActionAnimate now updates animation state.
The further extends the work in http://crrev.com/206793003
BUG=346230
Review URL: https://codereview.chromium.org/621823003
Cr-Commit-Position: refs/heads/master@{#298396}
|
|
|
|
|
|
|
|
| |
BUG=417463
Review URL: https://codereview.chromium.org/628443002
Cr-Commit-Position: refs/heads/master@{#298271}
|
|
|
|
|
|
|
|
| |
BUG=None
Review URL: https://codereview.chromium.org/618963003
Cr-Commit-Position: refs/heads/master@{#297589}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change;
* Makes non-vsync aligned rendering just another begin frame source.
* Makes it easier to add vsync/begin frame stabilisation / filtering in the future.
This CL no longer moves background ticking into the scheduler rather than the LayerTreeHostImpl, that will occur in a later CL.
BUG=345459
Review URL: https://codereview.chromium.org/267783004
Cr-Commit-Position: refs/heads/master@{#297389}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch ensures that we always activate when we become invisible.
The reason being is that when we come back to being visible again,
we don't need to rasterize both active and pending trees. We can
just rasterize what used to be the pending tree.
Since we set RequiresHighResToDraw on becoming visible, this also
ensures that we don't checkerboard on becoming visible.
BUG=410000, 417598
R=danakj, enne, brianderson
Review URL: https://codereview.chromium.org/605823002
Cr-Commit-Position: refs/heads/master@{#297303}
|
|
|
|
|
|
|
|
|
|
|
| |
The flag is set on all platforms and adds uneeded complexity to the
scheduler.
BUG=418368
Review URL: https://codereview.chromium.org/609003002
Cr-Commit-Position: refs/heads/master@{#297217}
|
|
|
|
|
|
|
|
|
|
|
|
| |
This will make easy to tell when the main thread is
in a high latency mode without having to infer based
on the surrounding context.
BUG=none
Review URL: https://codereview.chromium.org/561043002
Cr-Commit-Position: refs/heads/master@{#297110}
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes the trace to output to include;
* How much the deadline was missed by.
* The full BeginFrameArgs that was dropped.
BUG=346230
Review URL: https://codereview.chromium.org/579083002
Cr-Commit-Position: refs/heads/master@{#295631}
|
|
|
|
|
|
|
|
|
|
|
| |
Also makes the scheduler state machine output use the scheduler Now() value so
the output is identical on every run during tests.
BUG=380889
Review URL: https://codereview.chromium.org/576013002
Cr-Commit-Position: refs/heads/master@{#295251}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Actually running the tasks in the ordered you asked!
* Allow running only pending tasks, all tasks until idle, to a given time or
for a given period.
* Allow stopping of running tasks on *any* arbitrary condition. No longer will
your tasks stop working when someone adds a new task or changes the task
order!
* Task runner intimately connected to time and controls Now().
Supports both automatic management and manual control.
This change makes it possible for the scheduler_unit tests to be 100%
deterministic. It also allows them to be more flexible and less brittle.
BUG=380889
Review URL: https://codereview.chromium.org/387493002
Cr-Commit-Position: refs/heads/master@{#294059}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A previous patch changed the scheduling policy so that scroll handlers
get more of a chance of completing in the same frame as the scroll
update ("best effort sync scrolling"). It turns out this went a little
too far by fully disabling prefer smoothness mode in the presense of
scroll handlers. For instance, this caused us to start synchronously
waiting for asynchronous texture upload completion, leading to skipped
frames.
This patch adjusts the logic so that scroll handlers are still given an
opportunity to complete within the same frame (i.e., the deadline isn't
triggered early), but the tree activation policy is to prefer existing
content over new content.
We also rename the smoothness mode in the scheduler to "impl latency
takes priority" to make its purpose clearer.
BUG=404267
Review URL: https://codereview.chromium.org/522903002
Cr-Commit-Position: refs/heads/master@{#293369}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Proxy should use BeginFrame() to request new BeginFrame instead of BeginImplFrame().
The scheduler turns BeginFrames into BeginImplFrames or BeginRetroFrames
as necessary to make sure we don't start a new BeginImplFrame
before the previous deadline.
Some of public methods that are only used by itself moved into the private.
R=brianderson@chromium.org
BUG=NONE
TEST=cc_unittests
Review URL: https://codereview.chromium.org/536123002
Cr-Commit-Position: refs/heads/master@{#293259}
|
|
|
|
|
|
|
|
|
|
| |
BUG=393331
TEST=bots
R=brianderson@chromium.org
Review URL: https://codereview.chromium.org/533973002
Cr-Commit-Position: refs/heads/master@{#293046}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is to figure out which link in RAF is broken to cause flakiness.
My current guess is the compositor scheduler issue, and these logs can confirm.
BUG=393331
TEST=bots
R=kbr@chromium.org
TBR=brianderson@chromium.org
Review URL: https://codereview.chromium.org/516663004
Cr-Commit-Position: refs/heads/master@{#292735}
|
|
|
|
|
|
|
|
|
|
|
| |
This patch was generated by running the rewrite_scoped_refptr clang tool
on a Linux build.
BUG=110610
Review URL: https://codereview.chromium.org/502203003
Cr-Commit-Position: refs/heads/master@{#291833}
|
|
|
|
|
|
|
|
|
|
| |
BUG=380889
R=vmpstr
Review URL: https://codereview.chromium.org/470803007
Cr-Commit-Position: refs/heads/master@{#291477}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@291477 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
All compositors that use SingleThreadProxy are left calling composite
synchronously and now pass a flag to indicate that this is their
intention. This patch doesn't remove synchronous composite, but now
makes it mutually exclusive with scheduling.
Only cc unittests are exercising this code at this point, although it
also unifies a lot of the code for CompositeImmediately with the
scheduled path.
BUG=329552, 287250
Review URL: https://codereview.chromium.org/134623005
Cr-Commit-Position: refs/heads/master@{#291451}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@291451 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit r288866 because of crashes.
Old patch: https://codereview.chromium.org/134623005/
NOTRY=true
TBR=danakj@chromium.org,boliu@chromium.org,piman@chromium.org,ben@chromium.org
BUG=402943,403400
Review URL: https://codereview.chromium.org/475483002
Cr-Commit-Position: refs/heads/master@{#289395}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@289395 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This test failed with impl-side painting because PictureLayer did not
skip commits caused by invalidating the layer during Update.
Meanwhile, this CL has some changes that changed the flaky failures
into always-failures. The change is to make the
ThreadProxy::CommitPendingForTesting check not only if a main frame is
in progress, but also if one will happen in the future. The failure was
flaky because the commit would be requested but not happen immediately
when impl-side painting was on due to activation (if the machine was
suitably loaded at the time). I renamed CommitPendingForTesting to
MainFrameWillHappenForTesting because "CommitPending" is a specific
notion in the public API of the scheduler and I didn't want to confuse
these two.
R=ajuma, brianderson, enne
BUG=402449, 397120
Review URL: https://codereview.chromium.org/462803002
Cr-Commit-Position: refs/heads/master@{#289165}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@289165 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes ui::Compositor no longer in charge of
scheduling commits and draws, deferring it to cc::Scheduler.
Other compositors that use SingleThreadProxy are left calling composite
synchronously and now pass a flag to indicate that this is their
intention. This patch doesn't remove synchronous composite, but now
makes it mutually exclusive with scheduling.
BUG=329552, 287250
Review URL: https://codereview.chromium.org/134623005
Cr-Commit-Position: refs/heads/master@{#288866}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@288866 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(https://codereview.chromium.org/134623005/)
Reason for revert:
Broke some layout tests
Original issue's description:
> Make SingleThreadProxy a SchedulerClient
>
> This makes ui::Compositor no longer in charge of
> scheduling commits and draws, deferring it to cc::Scheduler.
>
> Other compositors that use SingleThreadProxy are left calling composite
> synchronously and now pass a flag to indicate that this is their
> intention. This patch doesn't remove synchronous composite, but now
> makes it mutually exclusive with scheduling.
>
> BUG=329552, 287250
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=287950
NOTRY=true
NOTREECHECKS=true
TBR=enne@chromium.org
Review URL: https://codereview.chromium.org/447133002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@287968 0039d316-1c4b-4281-b951-d872f2087c98
|