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

Side by Side Diff: content/browser/renderer_host/compositor_impl_android.cc

Issue 2565783002: Moves ownership of the cc::Display's BeginFrameSource out of Display. (Closed)
Patch Set: Created 4 years 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "content/browser/renderer_host/compositor_impl_android.h" 5 #include "content/browser/renderer_host/compositor_impl_android.h"
6 6
7 #include <android/bitmap.h> 7 #include <android/bitmap.h>
8 #include <android/native_window_jni.h> 8 #include <android/native_window_jni.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 #include <unordered_set> 10 #include <unordered_set>
(...skipping 710 matching lines...) Expand 10 before | Expand all | Expand 10 after
721 721
722 if (context_provider) { 722 if (context_provider) {
723 gpu_capabilities_ = context_provider->ContextCapabilities(); 723 gpu_capabilities_ = context_provider->ContextCapabilities();
724 } else { 724 } else {
725 // TODO(danakj): Populate gpu_capabilities_ for VulkanContextProvider. 725 // TODO(danakj): Populate gpu_capabilities_ for VulkanContextProvider.
726 } 726 }
727 727
728 cc::SurfaceManager* manager = 728 cc::SurfaceManager* manager =
729 ui::ContextProviderFactory::GetInstance()->GetSurfaceManager(); 729 ui::ContextProviderFactory::GetInstance()->GetSurfaceManager();
730 auto* task_runner = base::ThreadTaskRunnerHandle::Get().get(); 730 auto* task_runner = base::ThreadTaskRunnerHandle::Get().get();
731 std::unique_ptr<ExternalBeginFrameSource> begin_frame_source( 731 begin_frame_source_.reset(new ExternalBeginFrameSource(this));
732 new ExternalBeginFrameSource(this));
733 std::unique_ptr<cc::DisplayScheduler> scheduler(new cc::DisplayScheduler( 732 std::unique_ptr<cc::DisplayScheduler> scheduler(new cc::DisplayScheduler(
734 begin_frame_source.get(), task_runner, 733 task_runner, display_output_surface->capabilities().max_frames_pending));
735 display_output_surface->capabilities().max_frames_pending));
736 734
737 display_.reset(new cc::Display( 735 display_.reset(new cc::Display(
738 HostSharedBitmapManager::current(), 736 HostSharedBitmapManager::current(),
739 BrowserGpuMemoryBufferManager::current(), 737 BrowserGpuMemoryBufferManager::current(),
740 host_->GetSettings().renderer_settings, frame_sink_id_, 738 host_->GetSettings().renderer_settings, frame_sink_id_,
741 std::move(begin_frame_source), std::move(display_output_surface), 739 begin_frame_source_.get(), std::move(display_output_surface),
742 std::move(scheduler), 740 std::move(scheduler),
743 base::MakeUnique<cc::TextureMailboxDeleter>(task_runner))); 741 base::MakeUnique<cc::TextureMailboxDeleter>(task_runner)));
744 742
745 auto compositor_frame_sink = 743 auto compositor_frame_sink =
746 vulkan_context_provider 744 vulkan_context_provider
747 ? base::MakeUnique<cc::DirectCompositorFrameSink>( 745 ? base::MakeUnique<cc::DirectCompositorFrameSink>(
748 frame_sink_id_, manager, display_.get(), 746 frame_sink_id_, manager, display_.get(),
749 vulkan_context_provider) 747 vulkan_context_provider)
750 : base::MakeUnique<cc::DirectCompositorFrameSink>( 748 : base::MakeUnique<cc::DirectCompositorFrameSink>(
751 frame_sink_id_, manager, display_.get(), context_provider, 749 frame_sink_id_, manager, display_.get(), context_provider,
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
838 836
839 cc::FrameSinkId CompositorImpl::GetFrameSinkId() { 837 cc::FrameSinkId CompositorImpl::GetFrameSinkId() {
840 return frame_sink_id_; 838 return frame_sink_id_;
841 } 839 }
842 840
843 bool CompositorImpl::HavePendingReadbacks() { 841 bool CompositorImpl::HavePendingReadbacks() {
844 return !readback_layer_tree_->children().empty(); 842 return !readback_layer_tree_->children().empty();
845 } 843 }
846 844
847 } // namespace content 845 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698