| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/tools/test_shell/webwidget_host.h" | 5 #include "webkit/tools/test_shell/webwidget_host.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "skia/ext/platform_canvas.h" | 8 #include "skia/ext/platform_canvas.h" |
| 9 #include "third_party/WebKit/Source/WebKit/chromium/public/WebInputEvent.h" | 9 #include "third_party/WebKit/Source/WebKit/chromium/public/WebInputEvent.h" |
| 10 #include "third_party/WebKit/Source/WebKit/chromium/public/WebPopupMenu.h" | 10 #include "third_party/WebKit/Source/WebKit/chromium/public/WebPopupMenu.h" |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 127 case WM_SETFOCUS: | 127 case WM_SETFOCUS: |
| 128 host->SetFocus(true); | 128 host->SetFocus(true); |
| 129 break; | 129 break; |
| 130 | 130 |
| 131 case WM_KILLFOCUS: | 131 case WM_KILLFOCUS: |
| 132 host->SetFocus(false); | 132 host->SetFocus(false); |
| 133 break; | 133 break; |
| 134 } | 134 } |
| 135 } | 135 } |
| 136 | 136 |
| 137 return DefWindowProc(hwnd, message, wparam, lparam);; | 137 return DefWindowProc(hwnd, message, wparam, lparam); |
| 138 } | 138 } |
| 139 | 139 |
| 140 void WebWidgetHost::DidInvalidateRect(const gfx::Rect& damaged_rect) { | 140 void WebWidgetHost::DidInvalidateRect(const gfx::Rect& damaged_rect) { |
| 141 DLOG_IF(WARNING, painting_) << "unexpected invalidation while painting"; | 141 DLOG_IF(WARNING, painting_) << "unexpected invalidation while painting"; |
| 142 | 142 |
| 143 // If this invalidate overlaps with a pending scroll, then we have to | 143 // If this invalidate overlaps with a pending scroll, then we have to |
| 144 // downgrade to invalidating the scroll rect. | 144 // downgrade to invalidating the scroll rect. |
| 145 if (damaged_rect.Intersects(scroll_rect_)) { | 145 if (damaged_rect.Intersects(scroll_rect_)) { |
| 146 paint_rect_ = paint_rect_.Union(scroll_rect_); | 146 paint_rect_ = paint_rect_.Union(scroll_rect_); |
| 147 ResetScrollRect(); | 147 ResetScrollRect(); |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 234 RECT r; | 234 RECT r; |
| 235 GetClientRect(view_, &r); | 235 GetClientRect(view_, &r); |
| 236 gfx::Rect client_rect(r); | 236 gfx::Rect client_rect(r); |
| 237 | 237 |
| 238 // Allocate a canvas if necessary | 238 // Allocate a canvas if necessary |
| 239 if (!canvas_.get()) { | 239 if (!canvas_.get()) { |
| 240 ResetScrollRect(); | 240 ResetScrollRect(); |
| 241 paint_rect_ = client_rect; | 241 paint_rect_ = client_rect; |
| 242 canvas_.reset(new skia::PlatformCanvas( | 242 canvas_.reset(new skia::PlatformCanvas( |
| 243 paint_rect_.width(), paint_rect_.height(), true)); | 243 paint_rect_.width(), paint_rect_.height(), true)); |
| 244 canvas_->drawARGB(0, 0, 0, 0); |
| 244 } | 245 } |
| 245 | 246 |
| 246 webwidget_->animate(0.0); | 247 webwidget_->animate(0.0); |
| 247 | 248 |
| 248 // This may result in more invalidation | 249 // This may result in more invalidation |
| 249 webwidget_->layout(); | 250 webwidget_->layout(); |
| 250 | 251 |
| 251 // Scroll the canvas if necessary | 252 // Scroll the canvas if necessary |
| 252 scroll_rect_ = client_rect.Intersect(scroll_rect_); | 253 scroll_rect_ = client_rect.Intersect(scroll_rect_); |
| 253 if (!scroll_rect_.IsEmpty()) { | 254 if (!scroll_rect_.IsEmpty()) { |
| (...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 373 void WebWidgetHost::PaintRect(const gfx::Rect& rect) { | 374 void WebWidgetHost::PaintRect(const gfx::Rect& rect) { |
| 374 #ifndef NDEBUG | 375 #ifndef NDEBUG |
| 375 DCHECK(!painting_); | 376 DCHECK(!painting_); |
| 376 #endif | 377 #endif |
| 377 DCHECK(canvas_.get()); | 378 DCHECK(canvas_.get()); |
| 378 | 379 |
| 379 set_painting(true); | 380 set_painting(true); |
| 380 webwidget_->paint(canvas_.get(), rect); | 381 webwidget_->paint(canvas_.get(), rect); |
| 381 set_painting(false); | 382 set_painting(false); |
| 382 } | 383 } |
| OLD | NEW |