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

Side by Side Diff: webkit/plugins/npapi/webplugin_delegate_impl_mac.mm

Issue 11110004: Make gfx::Rect class operations consistently mutate the class they are called on. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: cc/ fixes Created 8 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 unified diff | Download patch
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 "webkit/plugins/npapi/webplugin_delegate_impl.h" 5 #include "webkit/plugins/npapi/webplugin_delegate_impl.h"
6 6
7 #import <Cocoa/Cocoa.h> 7 #import <Cocoa/Cocoa.h>
8 #import <QuartzCore/QuartzCore.h> 8 #import <QuartzCore/QuartzCore.h>
9 #include <unistd.h> 9 #include <unistd.h>
10 10
(...skipping 437 matching lines...) Expand 10 before | Expand all | Expand 10 after
448 const gfx::Rect& damage_rect) { 448 const gfx::Rect& damage_rect) {
449 // If we get a paint event before we are completely set up (e.g., a nested 449 // If we get a paint event before we are completely set up (e.g., a nested
450 // call while the plugin is still in NPP_SetWindow), bail. 450 // call while the plugin is still in NPP_SetWindow), bail.
451 if (!have_called_set_window_ || (use_buffer_context_ && !buffer_context_)) 451 if (!have_called_set_window_ || (use_buffer_context_ && !buffer_context_))
452 return; 452 return;
453 DCHECK(!use_buffer_context_ || buffer_context_ == context); 453 DCHECK(!use_buffer_context_ || buffer_context_ == context);
454 454
455 base::StatsRate plugin_paint("Plugin.Paint"); 455 base::StatsRate plugin_paint("Plugin.Paint");
456 base::StatsScope<base::StatsRate> scope(plugin_paint); 456 base::StatsScope<base::StatsRate> scope(plugin_paint);
457 457
458 gfx::Rect paint_rect; 458 gfx::Rect paint_rect = damage_rect;
459 if (use_buffer_context_) { 459 if (use_buffer_context_) {
460 // Plugin invalidates trigger asynchronous paints with the original 460 // Plugin invalidates trigger asynchronous paints with the original
461 // invalidation rect; the plugin may be resized before the paint is handled, 461 // invalidation rect; the plugin may be resized before the paint is handled,
462 // so we need to ensure that the damage rect is still sane. 462 // so we need to ensure that the damage rect is still sane.
463 paint_rect = damage_rect.Intersect( 463 paint_rect.Intersect(
464 gfx::Rect(0, 0, window_rect_.width(), window_rect_.height())); 464 gfx::Rect(0, 0, window_rect_.width(), window_rect_.height()));
465 } else { 465 } else {
466 // Use the actual window region when drawing directly to the window context. 466 // Use the actual window region when drawing directly to the window context.
467 paint_rect = damage_rect.Intersect(window_rect_); 467 paint_rect.Intersect(window_rect_);
468 } 468 }
469 469
470 ScopedActiveDelegate active_delegate(this); 470 ScopedActiveDelegate active_delegate(this);
471 471
472 CGContextSaveGState(context); 472 CGContextSaveGState(context);
473 473
474 if (!use_buffer_context_) { 474 if (!use_buffer_context_) {
475 // Reposition the context origin so that plugins will draw at the correct 475 // Reposition the context origin so that plugins will draw at the correct
476 // location in the window. 476 // location in the window.
477 CGContextClipToRect(context, paint_rect.ToCGRect()); 477 CGContextClipToRect(context, paint_rect.ToCGRect());
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
763 DCHECK(!composited_); 763 DCHECK(!composited_);
764 windowed_handle_ = handle; 764 windowed_handle_ = handle;
765 surface_->SetWindowHandle(handle); 765 surface_->SetWindowHandle(handle);
766 UpdateAcceleratedSurface(); 766 UpdateAcceleratedSurface();
767 // Kick off the drawing timer, if necessary. 767 // Kick off the drawing timer, if necessary.
768 PluginVisibilityChanged(); 768 PluginVisibilityChanged();
769 } 769 }
770 770
771 } // namespace npapi 771 } // namespace npapi
772 } // namespace webkit 772 } // namespace webkit
OLDNEW
« no previous file with comments | « webkit/plugins/npapi/webplugin_delegate_impl_gtk.cc ('k') | webkit/plugins/ppapi/ppapi_plugin_instance.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698