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

Side by Side Diff: chrome/browser/renderer_host/render_widget_host_view_mac.mm

Issue 147232: Corrects RWHVCocoa to convert from flipped to unflipped... (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: '' Created 11 years, 5 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
« 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) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 "chrome/browser/renderer_host/render_widget_host_view_mac.h" 5 #include "chrome/browser/renderer_host/render_widget_host_view_mac.h"
6 6
7 #include "base/histogram.h" 7 #include "base/histogram.h"
8 #include "base/sys_string_conversions.h" 8 #include "base/sys_string_conversions.h"
9 #include "chrome/browser/browser_trial.h" 9 #include "chrome/browser/browser_trial.h"
10 #import "chrome/browser/cocoa/rwhvm_editcommand_helper.h" 10 #import "chrome/browser/cocoa/rwhvm_editcommand_helper.h"
(...skipping 432 matching lines...) Expand 10 before | Expand all | Expand 10 after
443 443
444 CGRect paint_rect_cg = paint_rect.ToCGRect(); 444 CGRect paint_rect_cg = paint_rect.ToCGRect();
445 NSRect paint_rect_ns = [self RectToNSRect:paint_rect]; 445 NSRect paint_rect_ns = [self RectToNSRect:paint_rect];
446 canvas->getTopPlatformDevice().DrawToContext( 446 canvas->getTopPlatformDevice().DrawToContext(
447 context, paint_rect_ns.origin.x, paint_rect_ns.origin.y, 447 context, paint_rect_ns.origin.x, paint_rect_ns.origin.y,
448 &paint_rect_cg); 448 &paint_rect_cg);
449 } 449 }
450 450
451 // Fill the remaining portion of the damaged_rect with white 451 // Fill the remaining portion of the damaged_rect with white
452 if (damaged_rect.right() > bitmap_rect.right()) { 452 if (damaged_rect.right() > bitmap_rect.right()) {
453 NSRect r; 453 int x = std::max(bitmap_rect.right(), damaged_rect.x());
454 r.origin.x = std::max(bitmap_rect.right(), damaged_rect.x()); 454 int y = std::min(bitmap_rect.bottom(), damaged_rect.bottom());
455 r.origin.y = std::min(bitmap_rect.bottom(), damaged_rect.bottom()); 455 int width = damaged_rect.right() - x;
456 r.size.width = damaged_rect.right() - r.origin.x; 456 int height = damaged_rect.y() - y;
457 r.size.height = damaged_rect.y() - r.origin.y; 457
458 // Extra fun to get around the fact that gfx::Rects can't have
459 // negative sizes.
460 if (width < 0) {
461 x += width;
462 width = -width;
463 }
464 if (height < 0) {
465 y += height;
466 height = -height;
467 }
468
469 NSRect r = [self RectToNSRect:gfx::Rect(x, y, width, height)];
458 [[NSColor whiteColor] set]; 470 [[NSColor whiteColor] set];
459 NSRectFill(r); 471 NSRectFill(r);
460 } 472 }
461 if (damaged_rect.bottom() > bitmap_rect.bottom()) { 473 if (damaged_rect.bottom() > bitmap_rect.bottom()) {
462 NSRect r; 474 int x = damaged_rect.x();
463 r.origin.x = damaged_rect.x(); 475 int y = damaged_rect.bottom();
464 r.origin.y = damaged_rect.bottom(); 476 int width = damaged_rect.right() - x;
465 r.size.width = damaged_rect.right() - r.origin.x; 477 int height = std::max(bitmap_rect.bottom(), damaged_rect.y()) - y;
466 r.size.height = std::max(bitmap_rect.bottom(), damaged_rect.y()) - 478
467 r.origin.y; 479 // Extra fun to get around the fact that gfx::Rects can't have
480 // negative sizes.
481 if (width < 0) {
482 x += width;
483 width = -width;
484 }
485 if (height < 0) {
486 y += height;
487 height = -height;
488 }
489
490 NSRect r = [self RectToNSRect:gfx::Rect(x, y, width, height)];
468 [[NSColor whiteColor] set]; 491 [[NSColor whiteColor] set];
469 NSRectFill(r); 492 NSRectFill(r);
470 } 493 }
471 if (!renderWidgetHostView_->whiteout_start_time_.is_null()) { 494 if (!renderWidgetHostView_->whiteout_start_time_.is_null()) {
472 base::TimeDelta whiteout_duration = base::TimeTicks::Now() - 495 base::TimeDelta whiteout_duration = base::TimeTicks::Now() -
473 renderWidgetHostView_->whiteout_start_time_; 496 renderWidgetHostView_->whiteout_start_time_;
474 UMA_HISTOGRAM_TIMES("MPArch.RWHH_WhiteoutDuration", whiteout_duration); 497 UMA_HISTOGRAM_TIMES("MPArch.RWHH_WhiteoutDuration", whiteout_duration);
475 498
476 // Reset the start time to 0 so that we start recording again the next 499 // Reset the start time to 0 so that we start recording again the next
477 // time the backing store is NULL... 500 // time the backing store is NULL...
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
523 546
524 return editCommand_helper_->IsMenuItemEnabled(action, self); 547 return editCommand_helper_->IsMenuItemEnabled(action, self);
525 } 548 }
526 549
527 - (RenderWidgetHostViewMac*)renderWidgetHostViewMac { 550 - (RenderWidgetHostViewMac*)renderWidgetHostViewMac {
528 return renderWidgetHostView_; 551 return renderWidgetHostView_;
529 } 552 }
530 553
531 @end 554 @end
532 555
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