Chromium Code Reviews| Index: ui/views/widget/native_widget_mac.mm |
| diff --git a/ui/views/widget/native_widget_mac.mm b/ui/views/widget/native_widget_mac.mm |
| index e34f61d29a401810224eab5a67c3bf6cf9689f99..8ee2a6d7de3021510f2d1474f400b85a11a01558 100644 |
| --- a/ui/views/widget/native_widget_mac.mm |
| +++ b/ui/views/widget/native_widget_mac.mm |
| @@ -502,9 +502,15 @@ void NativeWidgetMac::RunShellDrag(View* view, |
| } |
| void NativeWidgetMac::SchedulePaintInRect(const gfx::Rect& rect) { |
| - // TODO(tapted): This should use setNeedsDisplayInRect:, once the coordinate |
| - // system of |rect| has been converted. |
| - [GetNativeView() setNeedsDisplay:YES]; |
| + // |rect| is relative to client area of the window. |
|
tapted
2016/02/10 02:28:02
needs a rebase off the other CL (probably the orde
karandeepb
2016/02/11 00:30:09
Done.
|
| + NSWindow* window = GetNativeWindow(); |
| + NSRect client_rect = [window contentRectForFrameRect:[window frame]]; |
| + NSRect target_rect = rect.ToCGRect(); |
| + |
| + // Convert to Appkit coordinate system (origin at bottom left). |
| + target_rect.origin.y = |
| + NSHeight(client_rect) - target_rect.origin.y - NSHeight(target_rect); |
| + [GetNativeView() setNeedsDisplayInRect:target_rect]; |
| if (bridge_ && bridge_->layer()) |
| bridge_->layer()->SchedulePaint(rect); |
| } |