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

Side by Side Diff: webkit/glue/plugins/pepper_plugin_instance.cc

Issue 4550001: Fix optimized pepper painting (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 10 years, 1 month 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 "webkit/glue/plugins/pepper_plugin_instance.h" 5 #include "webkit/glue/plugins/pepper_plugin_instance.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/metrics/histogram.h" 8 #include "base/metrics/histogram.h"
9 #if defined(OS_MACOSX) 9 #if defined(OS_MACOSX)
10 #include "base/mac_util.h" 10 #include "base/mac_util.h"
(...skipping 564 matching lines...) Expand 10 before | Expand all | Expand 10 after
575 if (!bound_graphics_2d_ || !bound_graphics_2d_->is_always_opaque()) 575 if (!bound_graphics_2d_ || !bound_graphics_2d_->is_always_opaque())
576 return false; 576 return false;
577 577
578 // We specifically want to compare against the area covered by the backing 578 // We specifically want to compare against the area covered by the backing
579 // store when seeing if we cover the given paint bounds, since the backing 579 // store when seeing if we cover the given paint bounds, since the backing
580 // store could be smaller than the declared plugin area. 580 // store could be smaller than the declared plugin area.
581 ImageData* image_data = bound_graphics_2d_->image_data(); 581 ImageData* image_data = bound_graphics_2d_->image_data();
582 gfx::Rect plugin_backing_store_rect(position_.origin(), 582 gfx::Rect plugin_backing_store_rect(position_.origin(),
583 gfx::Size(image_data->width(), 583 gfx::Size(image_data->width(),
584 image_data->height())); 584 image_data->height()));
585 gfx::Rect plugin_paint_rect = plugin_backing_store_rect.Intersect(clip_); 585 gfx::Rect clip_page(clip_);
586 clip_page.Offset(position_.origin());
587 gfx::Rect plugin_paint_rect = plugin_backing_store_rect.Intersect(clip_page);
586 if (!plugin_paint_rect.Contains(paint_bounds)) 588 if (!plugin_paint_rect.Contains(paint_bounds))
587 return false; 589 return false;
588 590
589 *dib = image_data->platform_image()->GetTransportDIB(); 591 *dib = image_data->platform_image()->GetTransportDIB();
590 *location = plugin_backing_store_rect; 592 *location = plugin_backing_store_rect;
591 *clip = clip_; 593 *clip = clip_page;
592 return true; 594 return true;
593 } 595 }
594 596
595 string16 PluginInstance::GetSelectedText(bool html) { 597 string16 PluginInstance::GetSelectedText(bool html) {
596 if (!LoadSelectionInterface()) 598 if (!LoadSelectionInterface())
597 return string16(); 599 return string16();
598 600
599 PP_Var rv = plugin_selection_interface_->GetSelectedText(pp_instance(), html); 601 PP_Var rv = plugin_selection_interface_->GetSelectedText(pp_instance(), html);
600 scoped_refptr<StringVar> string(StringVar::FromPPVar(rv)); 602 scoped_refptr<StringVar> string(StringVar::FromPPVar(rv));
601 Var::PluginReleasePPVar(rv); // Release the ref the plugin transfered to us. 603 Var::PluginReleasePPVar(rv); // Release the ref the plugin transfered to us.
(...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after
1084 bounds.size.width = dest_rect.width(); 1086 bounds.size.width = dest_rect.width();
1085 bounds.size.height = dest_rect.height(); 1087 bounds.size.height = dest_rect.height();
1086 1088
1087 CGContextDrawImage(canvas, bounds, image); 1089 CGContextDrawImage(canvas, bounds, image);
1088 CGContextRestoreGState(canvas); 1090 CGContextRestoreGState(canvas);
1089 } 1091 }
1090 #endif // defined(OS_MACOSX) 1092 #endif // defined(OS_MACOSX)
1091 1093
1092 1094
1093 } // namespace pepper 1095 } // namespace pepper
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698