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

Unified Diff: chrome/browser/renderer_host/backing_store_win.cc

Issue 3834003: On Windows, create a new TransportDIB::Handle struct which includes the file (Closed) Base URL: http://src.chromium.org/git/chromium.git
Patch Set: Rebase Created 10 years, 2 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: chrome/browser/renderer_host/backing_store_win.cc
diff --git a/chrome/browser/renderer_host/backing_store_win.cc b/chrome/browser/renderer_host/backing_store_win.cc
index 94d9cbf4b9bf86a2ea52cd91e2b828c0f2f40906..b8385d34737891288e0b44ca4e38129eb0d9ca67 100644
--- a/chrome/browser/renderer_host/backing_store_win.cc
+++ b/chrome/browser/renderer_host/backing_store_win.cc
@@ -69,7 +69,8 @@ void CallStretchDIBits(HDC hdc, int dest_x, int dest_y, int dest_w, int dest_h,
} // namespace
-BackingStoreWin::BackingStoreWin(RenderWidgetHost* widget, const gfx::Size& size)
+BackingStoreWin::BackingStoreWin(RenderWidgetHost* widget,
+ const gfx::Size& size)
: BackingStore(widget, size),
backing_store_dib_(NULL),
original_bitmap_(NULL) {
@@ -114,10 +115,12 @@ size_t BackingStoreWin::MemorySize() {
void BackingStoreWin::PaintToBackingStore(
RenderProcessHost* process,
- TransportDIB::Id bitmap,
+ TransportDIB::Id dib_id,
+ TransportDIB::Handle dib_handle,
const gfx::Rect& bitmap_rect,
const std::vector<gfx::Rect>& copy_rects,
bool* painted_synchronously) {
+ TransportDIB::ScopedHandle scoped_dib_handle(dib_handle);
// Our paints are always synchronous and the TransportDIB can be freed when
// we're done (even on error).
*painted_synchronously = true;
@@ -132,7 +135,8 @@ void BackingStoreWin::PaintToBackingStore(
original_bitmap_ = SelectObject(hdc_, backing_store_dib_);
}
- TransportDIB* dib = process->GetTransportDIB(bitmap);
+ TransportDIB* dib = process->GetTransportDIB(dib_id,
+ scoped_dib_handle.release());
if (!dib)
return;

Powered by Google App Engine
This is Rietveld 408576698