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

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

Issue 253913003: Remove RenderWidgetHostView*::DidUpdateBackingStore. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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 unified diff | Download patch | Annotate | Revision Log
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/render_widget_host_impl.h" 5 #include "content/browser/renderer_host/render_widget_host_impl.h"
6 6
7 #include <math.h> 7 #include <math.h>
8 #include <set> 8 #include <set>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 1591 matching lines...) Expand 10 before | Expand all | Expand 10 after
1602 NOTIFICATION_RENDER_WIDGET_HOST_DID_UPDATE_BACKING_STORE, 1602 NOTIFICATION_RENDER_WIDGET_HOST_DID_UPDATE_BACKING_STORE,
1603 Source<RenderWidgetHost>(this), 1603 Source<RenderWidgetHost>(this),
1604 NotificationService::NoDetails()); 1604 NotificationService::NoDetails());
1605 1605
1606 // We don't need to update the view if the view is hidden. We must do this 1606 // We don't need to update the view if the view is hidden. We must do this
1607 // early return after the ACK is sent, however, or the renderer will not send 1607 // early return after the ACK is sent, however, or the renderer will not send
1608 // us more data. 1608 // us more data.
1609 if (is_hidden_) 1609 if (is_hidden_)
1610 return; 1610 return;
1611 1611
1612 // Now paint the view. Watch out: it might be destroyed already.
1613 if (view_ && !is_accelerated_compositing_active_) {
1614
1615 std::vector<ui::LatencyInfo> latency_info;
1616 for (size_t i = 0; i < params.latency_info.size(); i++) {
1617 ui::LatencyInfo info = params.latency_info[i];
1618 AddLatencyInfoComponentIds(&info);
1619 latency_info.push_back(info);
1620 }
1621
1622 view_being_painted_ = true;
1623 view_->DidUpdateBackingStore(params.scroll_rect, params.scroll_delta,
1624 params.copy_rects, latency_info);
1625 view_->DidReceiveRendererFrame();
1626 view_being_painted_ = false;
1627 }
1628
1629 // If we got a resize ack, then perhaps we have another resize to send? 1612 // If we got a resize ack, then perhaps we have another resize to send?
1630 bool is_resize_ack = 1613 bool is_resize_ack =
1631 ViewHostMsg_UpdateRect_Flags::is_resize_ack(params.flags); 1614 ViewHostMsg_UpdateRect_Flags::is_resize_ack(params.flags);
1632 if (is_resize_ack) 1615 if (is_resize_ack)
1633 WasResized(); 1616 WasResized();
1634 1617
1635 // Log the time delta for processing a paint message. 1618 // Log the time delta for processing a paint message.
1636 TimeTicks now = TimeTicks::Now(); 1619 TimeTicks now = TimeTicks::Now();
1637 TimeDelta delta = now - update_start; 1620 TimeDelta delta = now - update_start;
1638 UMA_HISTOGRAM_TIMES("MPArch.RWH_DidUpdateBackingStore", delta); 1621 UMA_HISTOGRAM_TIMES("MPArch.RWH_DidUpdateBackingStore", delta);
1639
1640 // Measures the time from receiving the MsgUpdateRect IPC to completing the
1641 // DidUpdateBackingStore() method. On platforms which have asynchronous
1642 // painting, such as Linux, this is the sum of MPArch.RWH_OnMsgUpdateRect,
1643 // MPArch.RWH_DidUpdateBackingStore, and the time spent asynchronously
1644 // waiting for the paint to complete.
1645 //
1646 // On other platforms, this will be equivalent to MPArch.RWH_OnMsgUpdateRect.
1647 delta = now - paint_start;
1648 UMA_HISTOGRAM_TIMES("MPArch.RWH_TotalPaintTime", delta);
1649 } 1622 }
1650 1623
1651 void RenderWidgetHostImpl::OnQueueSyntheticGesture( 1624 void RenderWidgetHostImpl::OnQueueSyntheticGesture(
1652 const SyntheticGesturePacket& gesture_packet) { 1625 const SyntheticGesturePacket& gesture_packet) {
1653 // Only allow untrustworthy gestures if explicitly enabled. 1626 // Only allow untrustworthy gestures if explicitly enabled.
1654 if (!CommandLine::ForCurrentProcess()->HasSwitch( 1627 if (!CommandLine::ForCurrentProcess()->HasSwitch(
1655 cc::switches::kEnableGpuBenchmarking)) { 1628 cc::switches::kEnableGpuBenchmarking)) {
1656 RecordAction(base::UserMetricsAction("BadMessageTerminate_RWH7")); 1629 RecordAction(base::UserMetricsAction("BadMessageTerminate_RWH7"));
1657 GetProcess()->ReceivedBadMessage(); 1630 GetProcess()->ReceivedBadMessage();
1658 return; 1631 return;
(...skipping 699 matching lines...) Expand 10 before | Expand all | Expand 10 after
2358 } 2331 }
2359 } 2332 }
2360 2333
2361 SkBitmap::Config RenderWidgetHostImpl::PreferredReadbackFormat() { 2334 SkBitmap::Config RenderWidgetHostImpl::PreferredReadbackFormat() {
2362 if (view_) 2335 if (view_)
2363 return view_->PreferredReadbackFormat(); 2336 return view_->PreferredReadbackFormat();
2364 return SkBitmap::kARGB_8888_Config; 2337 return SkBitmap::kARGB_8888_Config;
2365 } 2338 }
2366 2339
2367 } // namespace content 2340 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698