OLD | NEW |
---|---|
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_view_win.h" | 5 #include "content/browser/renderer_host/render_widget_host_view_win.h" |
6 | 6 |
7 #include <dwmapi.h> | 7 #include <dwmapi.h> |
8 #include <InputScope.h> | 8 #include <InputScope.h> |
9 #include <wtsapi32.h> | 9 #include <wtsapi32.h> |
10 #pragma comment(lib, "wtsapi32.lib") | 10 #pragma comment(lib, "wtsapi32.lib") |
(...skipping 756 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
767 | 767 |
768 void RenderWidgetHostViewWin::DidUpdateBackingStore( | 768 void RenderWidgetHostViewWin::DidUpdateBackingStore( |
769 const gfx::Rect& scroll_rect, | 769 const gfx::Rect& scroll_rect, |
770 const gfx::Vector2d& scroll_delta, | 770 const gfx::Vector2d& scroll_delta, |
771 const std::vector<gfx::Rect>& copy_rects, | 771 const std::vector<gfx::Rect>& copy_rects, |
772 const ui::LatencyInfo& latency_info) { | 772 const ui::LatencyInfo& latency_info) { |
773 software_latency_info_.MergeWith(latency_info); | 773 software_latency_info_.MergeWith(latency_info); |
774 if (is_hidden_) | 774 if (is_hidden_) |
775 return; | 775 return; |
776 | 776 |
777 DidReceiveRendererFrame(); | |
piman
2013/07/02 01:49:09
So, on Windows, the accelerated swap doesn't get t
danakj
2013/07/03 18:05:39
Hm. The GpuProcessHost calls the RWVImpl to tell i
| |
778 | |
777 // Schedule invalidations first so that the ScrollWindowEx call is closer to | 779 // Schedule invalidations first so that the ScrollWindowEx call is closer to |
778 // Redraw. That minimizes chances of "flicker" resulting if the screen | 780 // Redraw. That minimizes chances of "flicker" resulting if the screen |
779 // refreshes before we have a chance to paint the exposed area. Somewhat | 781 // refreshes before we have a chance to paint the exposed area. Somewhat |
780 // surprisingly, this ordering matters. | 782 // surprisingly, this ordering matters. |
781 | 783 |
782 for (size_t i = 0; i < copy_rects.size(); ++i) { | 784 for (size_t i = 0; i < copy_rects.size(); ++i) { |
783 gfx::Rect pixel_rect = ui::win::DIPToScreenRect(copy_rects[i]); | 785 gfx::Rect pixel_rect = ui::win::DIPToScreenRect(copy_rects[i]); |
784 // Damage might not be DIP aligned. | 786 // Damage might not be DIP aligned. |
785 pixel_rect.Inset(-1, -1); | 787 pixel_rect.Inset(-1, -1); |
786 RECT bounds = pixel_rect.ToRECT(); | 788 RECT bounds = pixel_rect.ToRECT(); |
(...skipping 2435 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3222 return new RenderWidgetHostViewWin(widget); | 3224 return new RenderWidgetHostViewWin(widget); |
3223 } | 3225 } |
3224 | 3226 |
3225 // static | 3227 // static |
3226 void RenderWidgetHostViewPort::GetDefaultScreenInfo( | 3228 void RenderWidgetHostViewPort::GetDefaultScreenInfo( |
3227 WebKit::WebScreenInfo* results) { | 3229 WebKit::WebScreenInfo* results) { |
3228 GetScreenInfoForWindow(0, results); | 3230 GetScreenInfoForWindow(0, results); |
3229 } | 3231 } |
3230 | 3232 |
3231 } // namespace content | 3233 } // namespace content |
OLD | NEW |