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

Unified Diff: content/browser/android/synchronous_compositor_host.cc

Issue 1970863002: sync compositor: Memory policy async IPC (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: os created ipc Created 4 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/android/synchronous_compositor_host.cc
diff --git a/content/browser/android/synchronous_compositor_host.cc b/content/browser/android/synchronous_compositor_host.cc
index 299ef5052e2a231a874faafed1264cd5ab5ff606..4b2d36ac87e488bfb62fce59e2767078d611b4b1 100644
--- a/content/browser/android/synchronous_compositor_host.cc
+++ b/content/browser/android/synchronous_compositor_host.cc
@@ -96,6 +96,8 @@ SynchronousCompositorHost::~SynchronousCompositorHost() {
bool SynchronousCompositorHost::OnMessageReceived(const IPC::Message& message) {
bool handled = true;
IPC_BEGIN_MESSAGE_MAP(SynchronousCompositorHost, message)
+ IPC_MESSAGE_HANDLER(SyncCompositorHostMsg_OutputSurfaceCreated,
+ OutputSurfaceCreated)
IPC_MESSAGE_HANDLER(SyncCompositorHostMsg_UpdateState, ProcessCommonParams)
IPC_MESSAGE_HANDLER(SyncCompositorHostMsg_OverScroll, OnOverScroll)
IPC_MESSAGE_UNHANDLED(handled = false)
@@ -316,8 +318,11 @@ void SynchronousCompositorHost::ReturnResources(
void SynchronousCompositorHost::SetMemoryPolicy(size_t bytes_limit) {
if (bytes_limit_ == bytes_limit)
return;
- bytes_limit_ = bytes_limit;
- SendAsyncCompositorStateIfNeeded();
+
+ if (sender_->Send(
+ new SyncCompositorMsg_SetMemoryPolicy(routing_id_, bytes_limit))) {
+ bytes_limit_ = bytes_limit;
+ }
}
void SynchronousCompositorHost::DidChangeRootLayerScrollOffset(
@@ -419,6 +424,14 @@ void SynchronousCompositorHost::BeginFrame(const cc::BeginFrameArgs& args) {
ProcessCommonParams(common_renderer_params);
}
+void SynchronousCompositorHost::OutputSurfaceCreated(
+ uint32_t output_surface_id) {
dcheng 2016/05/12 03:13:18 Doesn't appear to be used yet. How will it be used
boliu 2016/05/12 03:27:32 It's the same ID in the reply of SyncCompositorMsg
boliu 2016/05/12 14:03:27 Dropped in PS3
+ // New output surface is not aware of state from Browser side. So need to
+ // re-send all browser side state here.
+ sender_->Send(
+ new SyncCompositorMsg_SetMemoryPolicy(routing_id_, bytes_limit_));
+}
+
void SynchronousCompositorHost::OnOverScroll(
const SyncCompositorCommonRendererParams& params,
const DidOverscrollParams& over_scroll_params) {
@@ -429,7 +442,6 @@ void SynchronousCompositorHost::OnOverScroll(
void SynchronousCompositorHost::PopulateCommonParams(
SyncCompositorCommonBrowserParams* params) {
DCHECK(params);
- params->bytes_limit = bytes_limit_;
if (root_scroll_offset_updated_by_browser_) {
params->root_scroll_offset = root_scroll_offset_;
params->update_root_scroll_offset = root_scroll_offset_updated_by_browser_;
« no previous file with comments | « content/browser/android/synchronous_compositor_host.h ('k') | content/common/android/sync_compositor_messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698