Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(360)

Side by Side Diff: cc/CCThreadProxy.cpp

Issue 10916279: Chromium compositor change implementing page-scale driven pinch-zoom. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Remove dependency on content_common from cc for access to kEnablePinchZoomInCompositor. Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "config.h" 5 #include "config.h"
6 6
7 #include "CCThreadProxy.h" 7 #include "CCThreadProxy.h"
8 8
9 #include "CCDelayBasedTimeSource.h" 9 #include "CCDelayBasedTimeSource.h"
10 #include "CCDrawQuad.h" 10 #include "CCDrawQuad.h"
(...skipping 442 matching lines...) Expand 10 before | Expand all | Expand 10 after
453 setNeedsForcedCommitOnImplThread(); 453 setNeedsForcedCommitOnImplThread();
454 } 454 }
455 455
456 void CCThreadProxy::scheduledActionBeginFrame() 456 void CCThreadProxy::scheduledActionBeginFrame()
457 { 457 {
458 TRACE_EVENT0("cc", "CCThreadProxy::scheduledActionBeginFrame"); 458 TRACE_EVENT0("cc", "CCThreadProxy::scheduledActionBeginFrame");
459 ASSERT(!m_pendingBeginFrameRequest); 459 ASSERT(!m_pendingBeginFrameRequest);
460 m_pendingBeginFrameRequest = adoptPtr(new BeginFrameAndCommitState()); 460 m_pendingBeginFrameRequest = adoptPtr(new BeginFrameAndCommitState());
461 m_pendingBeginFrameRequest->monotonicFrameBeginTime = monotonicallyIncreasin gTime(); 461 m_pendingBeginFrameRequest->monotonicFrameBeginTime = monotonicallyIncreasin gTime();
462 m_pendingBeginFrameRequest->scrollInfo = m_layerTreeHostImpl->processScrollD eltas(); 462 m_pendingBeginFrameRequest->scrollInfo = m_layerTreeHostImpl->processScrollD eltas();
463 m_pendingBeginFrameRequest->implTransform = m_layerTreeHostImpl->implTransfo rm();
463 m_pendingBeginFrameRequest->memoryAllocationLimitBytes = m_layerTreeHostImpl ->memoryAllocationLimitBytes(); 464 m_pendingBeginFrameRequest->memoryAllocationLimitBytes = m_layerTreeHostImpl ->memoryAllocationLimitBytes();
464 m_layerTreeHost->getEvictedContentTexturesBackings(m_pendingBeginFrameReques t->evictedContentsTexturesBackings); 465 m_layerTreeHost->getEvictedContentTexturesBackings(m_pendingBeginFrameReques t->evictedContentsTexturesBackings);
465 466
466 m_mainThreadProxy->postTask(createCCThreadTask(this, &CCThreadProxy::beginFr ame)); 467 m_mainThreadProxy->postTask(createCCThreadTask(this, &CCThreadProxy::beginFr ame));
467 468
468 if (m_beginFrameCompletionEventOnImplThread) { 469 if (m_beginFrameCompletionEventOnImplThread) {
469 m_beginFrameCompletionEventOnImplThread->signal(); 470 m_beginFrameCompletionEventOnImplThread->signal();
470 m_beginFrameCompletionEventOnImplThread = 0; 471 m_beginFrameCompletionEventOnImplThread = 0;
471 } 472 }
472 } 473 }
(...skipping 24 matching lines...) Expand all
497 m_commitRequestSentToImplThread = true; 498 m_commitRequestSentToImplThread = true;
498 499
499 // On the other hand, the animationRequested flag needs to be cleared 500 // On the other hand, the animationRequested flag needs to be cleared
500 // here so that any animation requests generated by the apply or animate 501 // here so that any animation requests generated by the apply or animate
501 // callbacks will trigger another frame. 502 // callbacks will trigger another frame.
502 m_animateRequested = false; 503 m_animateRequested = false;
503 504
504 // FIXME: technically, scroll deltas need to be applied for dropped commits as well. 505 // FIXME: technically, scroll deltas need to be applied for dropped commits as well.
505 // Re-do the commit flow so that we don't send the scrollInfo on the BFAC me ssage. 506 // Re-do the commit flow so that we don't send the scrollInfo on the BFAC me ssage.
506 m_layerTreeHost->applyScrollAndScale(*request->scrollInfo); 507 m_layerTreeHost->applyScrollAndScale(*request->scrollInfo);
508 m_layerTreeHost->setImplTransform(request->implTransform);
507 509
508 if (!m_inCompositeAndReadback && !m_layerTreeHost->visible()) { 510 if (!m_inCompositeAndReadback && !m_layerTreeHost->visible()) {
509 m_commitRequested = false; 511 m_commitRequested = false;
510 m_commitRequestSentToImplThread = false; 512 m_commitRequestSentToImplThread = false;
511 m_forcedCommitRequested = false; 513 m_forcedCommitRequested = false;
512 514
513 TRACE_EVENT0("cc", "EarlyOut_NotVisible"); 515 TRACE_EVENT0("cc", "EarlyOut_NotVisible");
514 CCProxy::implThread()->postTask(createCCThreadTask(this, &CCThreadProxy: :beginFrameAbortedOnImplThread)); 516 CCProxy::implThread()->postTask(createCCThreadTask(this, &CCThreadProxy: :beginFrameAbortedOnImplThread));
515 return; 517 return;
516 } 518 }
(...skipping 415 matching lines...) Expand 10 before | Expand all | Expand 10 after
932 CCThreadProxy::BeginFrameAndCommitState::BeginFrameAndCommitState() 934 CCThreadProxy::BeginFrameAndCommitState::BeginFrameAndCommitState()
933 : monotonicFrameBeginTime(0) 935 : monotonicFrameBeginTime(0)
934 { 936 {
935 } 937 }
936 938
937 CCThreadProxy::BeginFrameAndCommitState::~BeginFrameAndCommitState() 939 CCThreadProxy::BeginFrameAndCommitState::~BeginFrameAndCommitState()
938 { 940 {
939 } 941 }
940 942
941 } // namespace cc 943 } // namespace cc
OLDNEW
« cc/CCLayerTreeHostImplTest.cpp ('K') | « cc/CCThreadProxy.h ('k') | cc/LayerChromium.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698