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

Side by Side Diff: ui/views/win/hwnd_message_handler.cc

Issue 138073004: Fix omnibox height when less than 64 pixels tall. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 11 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 | « ui/views/win/hwnd_message_handler.h ('k') | 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) 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 "ui/views/win/hwnd_message_handler.h" 5 #include "ui/views/win/hwnd_message_handler.h"
6 6
7 #include <dwmapi.h> 7 #include <dwmapi.h>
8 #include <shellapi.h> 8 #include <shellapi.h>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 479 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 // If we're in fullscreen mode, we've changed the normal bounds to the monitor 490 // If we're in fullscreen mode, we've changed the normal bounds to the monitor
491 // rect, so return the saved bounds instead. 491 // rect, so return the saved bounds instead.
492 if (fullscreen_handler_->fullscreen()) 492 if (fullscreen_handler_->fullscreen())
493 return fullscreen_handler_->GetRestoreBounds(); 493 return fullscreen_handler_->GetRestoreBounds();
494 494
495 gfx::Rect bounds; 495 gfx::Rect bounds;
496 GetWindowPlacement(&bounds, NULL); 496 GetWindowPlacement(&bounds, NULL);
497 return bounds; 497 return bounds;
498 } 498 }
499 499
500 gfx::Rect HWNDMessageHandler::GetClientAreaBounds() const {
501 if (IsMinimized())
502 return gfx::Rect();
503 if (delegate_->WidgetSizeIsClientSize())
504 return GetClientAreaBoundsInScreen();
505 return GetWindowBoundsInScreen();
506 }
507
500 void HWNDMessageHandler::GetWindowPlacement( 508 void HWNDMessageHandler::GetWindowPlacement(
501 gfx::Rect* bounds, 509 gfx::Rect* bounds,
502 ui::WindowShowState* show_state) const { 510 ui::WindowShowState* show_state) const {
503 WINDOWPLACEMENT wp; 511 WINDOWPLACEMENT wp;
504 wp.length = sizeof(wp); 512 wp.length = sizeof(wp);
505 const bool succeeded = !!::GetWindowPlacement(hwnd(), &wp); 513 const bool succeeded = !!::GetWindowPlacement(hwnd(), &wp);
506 DCHECK(succeeded); 514 DCHECK(succeeded);
507 515
508 if (bounds != NULL) { 516 if (bounds != NULL) {
509 if (wp.showCmd == SW_SHOWNORMAL) { 517 if (wp.showCmd == SW_SHOWNORMAL) {
(...skipping 554 matching lines...) Expand 10 before | Expand all | Expand 10 after
1064 tme.hwndTrack = hwnd(); 1072 tme.hwndTrack = hwnd();
1065 tme.dwHoverTime = 0; 1073 tme.dwHoverTime = 0;
1066 TrackMouseEvent(&tme); 1074 TrackMouseEvent(&tme);
1067 } else if (mouse_tracking_flags != active_mouse_tracking_flags_) { 1075 } else if (mouse_tracking_flags != active_mouse_tracking_flags_) {
1068 TrackMouseEvents(active_mouse_tracking_flags_ | TME_CANCEL); 1076 TrackMouseEvents(active_mouse_tracking_flags_ | TME_CANCEL);
1069 TrackMouseEvents(mouse_tracking_flags); 1077 TrackMouseEvents(mouse_tracking_flags);
1070 } 1078 }
1071 } 1079 }
1072 1080
1073 void HWNDMessageHandler::ClientAreaSizeChanged() { 1081 void HWNDMessageHandler::ClientAreaSizeChanged() {
1074 RECT r = {0, 0, 0, 0}; 1082 gfx::Size s = GetClientAreaBounds().size();
1075 // In case of minimized window GetWindowRect can return normally unexpected
1076 // coordinates.
1077 if (!IsMinimized()) {
1078 if (delegate_->WidgetSizeIsClientSize())
1079 GetClientRect(hwnd(), &r);
1080 else
1081 GetWindowRect(hwnd(), &r);
1082 }
1083 gfx::Size s(std::max(0, static_cast<int>(r.right - r.left)),
1084 std::max(0, static_cast<int>(r.bottom - r.top)));
1085 delegate_->HandleClientSizeChanged(s); 1083 delegate_->HandleClientSizeChanged(s);
1086 if (use_layered_buffer_) 1084 if (use_layered_buffer_)
1087 layered_window_contents_.reset(new gfx::Canvas(s, 1.0f, false)); 1085 layered_window_contents_.reset(new gfx::Canvas(s, 1.0f, false));
1088 } 1086 }
1089 1087
1090 bool HWNDMessageHandler::GetClientAreaInsets(gfx::Insets* insets) const { 1088 bool HWNDMessageHandler::GetClientAreaInsets(gfx::Insets* insets) const {
1091 if (delegate_->GetClientAreaInsets(insets)) 1089 if (delegate_->GetClientAreaInsets(insets))
1092 return true; 1090 return true;
1093 DCHECK(insets->empty()); 1091 DCHECK(insets->empty());
1094 1092
(...skipping 1220 matching lines...) Expand 10 before | Expand all | Expand 10 after
2315 SetMsgHandled(FALSE); 2313 SetMsgHandled(FALSE);
2316 } 2314 }
2317 2315
2318 void HWNDMessageHandler::HandleTouchEvents(const TouchEvents& touch_events) { 2316 void HWNDMessageHandler::HandleTouchEvents(const TouchEvents& touch_events) {
2319 base::WeakPtr<HWNDMessageHandler> ref(weak_factory_.GetWeakPtr()); 2317 base::WeakPtr<HWNDMessageHandler> ref(weak_factory_.GetWeakPtr());
2320 for (size_t i = 0; i < touch_events.size() && ref; ++i) 2318 for (size_t i = 0; i < touch_events.size() && ref; ++i)
2321 delegate_->HandleTouchEvent(touch_events[i]); 2319 delegate_->HandleTouchEvent(touch_events[i]);
2322 } 2320 }
2323 2321
2324 } // namespace views 2322 } // namespace views
OLDNEW
« no previous file with comments | « ui/views/win/hwnd_message_handler.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698