| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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/renderer/gpu/render_widget_compositor.h" | 5 #include "content/renderer/gpu/render_widget_compositor.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <cmath> | 9 #include <cmath> |
| 10 #include <limits> | 10 #include <limits> |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 59 #include "gpu/command_buffer/service/gpu_switches.h" | 59 #include "gpu/command_buffer/service/gpu_switches.h" |
| 60 #include "services/ui/public/cpp/gpu/context_provider_command_buffer.h" | 60 #include "services/ui/public/cpp/gpu/context_provider_command_buffer.h" |
| 61 #include "third_party/WebKit/public/platform/WebCompositeAndReadbackAsyncCallbac
k.h" | 61 #include "third_party/WebKit/public/platform/WebCompositeAndReadbackAsyncCallbac
k.h" |
| 62 #include "third_party/WebKit/public/platform/WebCompositorMutatorClient.h" | 62 #include "third_party/WebKit/public/platform/WebCompositorMutatorClient.h" |
| 63 #include "third_party/WebKit/public/platform/WebLayoutAndPaintAsyncCallback.h" | 63 #include "third_party/WebKit/public/platform/WebLayoutAndPaintAsyncCallback.h" |
| 64 #include "third_party/WebKit/public/platform/WebRuntimeFeatures.h" | 64 #include "third_party/WebKit/public/platform/WebRuntimeFeatures.h" |
| 65 #include "third_party/WebKit/public/platform/WebSize.h" | 65 #include "third_party/WebKit/public/platform/WebSize.h" |
| 66 #include "third_party/WebKit/public/platform/scheduler/renderer/renderer_schedul
er.h" | 66 #include "third_party/WebKit/public/platform/scheduler/renderer/renderer_schedul
er.h" |
| 67 #include "third_party/WebKit/public/web/WebKit.h" | 67 #include "third_party/WebKit/public/web/WebKit.h" |
| 68 #include "third_party/WebKit/public/web/WebSelection.h" | 68 #include "third_party/WebKit/public/web/WebSelection.h" |
| 69 #include "third_party/skia/include/core/SkImage.h" |
| 69 #include "ui/gfx/switches.h" | 70 #include "ui/gfx/switches.h" |
| 70 #include "ui/gl/gl_switches.h" | 71 #include "ui/gl/gl_switches.h" |
| 71 #include "ui/native_theme/native_theme_features.h" | 72 #include "ui/native_theme/native_theme_features.h" |
| 72 #include "ui/native_theme/overlay_scrollbar_constants_aura.h" | 73 #include "ui/native_theme/overlay_scrollbar_constants_aura.h" |
| 73 | 74 |
| 74 namespace base { | 75 namespace base { |
| 75 class Value; | 76 class Value; |
| 76 } | 77 } |
| 77 | 78 |
| 78 namespace cc { | 79 namespace cc { |
| (...skipping 1010 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1089 } | 1090 } |
| 1090 | 1091 |
| 1091 void RenderWidgetCompositor::SetBrowserControlsShownRatio(float ratio) { | 1092 void RenderWidgetCompositor::SetBrowserControlsShownRatio(float ratio) { |
| 1092 layer_tree_host_->SetBrowserControlsShownRatio(ratio); | 1093 layer_tree_host_->SetBrowserControlsShownRatio(ratio); |
| 1093 } | 1094 } |
| 1094 | 1095 |
| 1095 void RenderWidgetCompositor::setBottomControlsHeight(float height) { | 1096 void RenderWidgetCompositor::setBottomControlsHeight(float height) { |
| 1096 layer_tree_host_->SetBottomControlsHeight(height); | 1097 layer_tree_host_->SetBottomControlsHeight(height); |
| 1097 } | 1098 } |
| 1098 | 1099 |
| 1100 void RenderWidgetCompositor::RequestDecode( |
| 1101 sk_sp<SkImage> image, |
| 1102 const base::Callback<void(bool)>& callback) { |
| 1103 layer_tree_host_->QueueImageDecode(std::move(image), callback); |
| 1104 |
| 1105 // If we're compositing synchronously, the SetNeedsCommit call which will be |
| 1106 // issued by |layer_tree_host_| is not going to cause a commit, due to the |
| 1107 // fact that this would make layout tests slow and cause flakiness. However, |
| 1108 // in this case we actually need a commit to transfer the decode requests to |
| 1109 // the impl side. So, force a commit to happen. |
| 1110 if (CompositeIsSynchronous()) { |
| 1111 base::ThreadTaskRunnerHandle::Get()->PostTask( |
| 1112 FROM_HERE, base::Bind(&RenderWidgetCompositor::SynchronouslyComposite, |
| 1113 weak_factory_.GetWeakPtr())); |
| 1114 } |
| 1115 } |
| 1116 |
| 1099 void RenderWidgetCompositor::WillBeginMainFrame() { | 1117 void RenderWidgetCompositor::WillBeginMainFrame() { |
| 1100 delegate_->WillBeginCompositorFrame(); | 1118 delegate_->WillBeginCompositorFrame(); |
| 1101 } | 1119 } |
| 1102 | 1120 |
| 1103 void RenderWidgetCompositor::DidBeginMainFrame() {} | 1121 void RenderWidgetCompositor::DidBeginMainFrame() {} |
| 1104 | 1122 |
| 1105 void RenderWidgetCompositor::BeginMainFrame(const cc::BeginFrameArgs& args) { | 1123 void RenderWidgetCompositor::BeginMainFrame(const cc::BeginFrameArgs& args) { |
| 1106 compositor_deps_->GetRendererScheduler()->WillBeginFrame(args); | 1124 compositor_deps_->GetRendererScheduler()->WillBeginFrame(args); |
| 1107 double frame_time_sec = (args.frame_time - base::TimeTicks()).InSecondsF(); | 1125 double frame_time_sec = (args.frame_time - base::TimeTicks()).InSecondsF(); |
| 1108 delegate_->BeginMainFrame(frame_time_sec); | 1126 delegate_->BeginMainFrame(frame_time_sec); |
| (...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1237 const cc::LocalSurfaceId& local_surface_id) { | 1255 const cc::LocalSurfaceId& local_surface_id) { |
| 1238 layer_tree_host_->SetLocalSurfaceId(local_surface_id); | 1256 layer_tree_host_->SetLocalSurfaceId(local_surface_id); |
| 1239 } | 1257 } |
| 1240 | 1258 |
| 1241 void RenderWidgetCompositor::NotifySwapTime(ReportTimeCallback callback) { | 1259 void RenderWidgetCompositor::NotifySwapTime(ReportTimeCallback callback) { |
| 1242 QueueSwapPromise(base::MakeUnique<ReportTimeSwapPromise>( | 1260 QueueSwapPromise(base::MakeUnique<ReportTimeSwapPromise>( |
| 1243 std::move(callback), base::ThreadTaskRunnerHandle::Get())); | 1261 std::move(callback), base::ThreadTaskRunnerHandle::Get())); |
| 1244 } | 1262 } |
| 1245 | 1263 |
| 1246 } // namespace content | 1264 } // namespace content |
| OLD | NEW |