| OLD | NEW |
| 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 "chrome/browser/ui/views/infobars/infobar_view.h" | 5 #include "chrome/browser/ui/views/infobars/infobar_view.h" |
| 6 | 6 |
| 7 #if defined(OS_WIN) | 7 #if defined(OS_WIN) |
| 8 #include <shellapi.h> | 8 #include <shellapi.h> |
| 9 #endif | 9 #endif |
| 10 | 10 |
| (...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 326 // Cancel any menus we may have open. It doesn't make sense to leave them | 326 // Cancel any menus we may have open. It doesn't make sense to leave them |
| 327 // open while we're hidden, and if we're going to become unowned, we can't | 327 // open while we're hidden, and if we're going to become unowned, we can't |
| 328 // allow the user to choose any options and potentially call functions that | 328 // allow the user to choose any options and potentially call functions that |
| 329 // try to access the owner. | 329 // try to access the owner. |
| 330 menu_runner_.reset(); | 330 menu_runner_.reset(); |
| 331 | 331 |
| 332 // It's possible to be called twice (once with |animate| true and once with it | 332 // It's possible to be called twice (once with |animate| true and once with it |
| 333 // false); in this case the second SetFocusManager() call will silently no-op. | 333 // false); in this case the second SetFocusManager() call will silently no-op. |
| 334 SetFocusManager(NULL); | 334 SetFocusManager(NULL); |
| 335 | 335 |
| 336 #if defined(OS_WIN) && !defined(USE_AURA) | |
| 337 if (!animate) | 336 if (!animate) |
| 338 return; | 337 return; |
| 339 | 338 |
| 340 // Do not restore focus (and active state with it) if some other top-level | 339 // Do not restore focus (and active state with it) if some other top-level |
| 341 // window became active. | 340 // window became active. |
| 342 views::Widget* widget = GetWidget(); | 341 views::Widget* widget = GetWidget(); |
| 343 if (!widget || gfx::DoesWindowBelongToActiveWindow(widget->GetNativeView())) | 342 if (!widget || widget->IsActive()) |
| 344 FocusLastFocusedExternalView(); | 343 FocusLastFocusedExternalView(); |
| 345 #endif | |
| 346 } | 344 } |
| 347 | 345 |
| 348 void InfoBarView::PlatformSpecificOnHeightsRecalculated() { | 346 void InfoBarView::PlatformSpecificOnHeightsRecalculated() { |
| 349 // Ensure that notifying our container of our size change will result in a | 347 // Ensure that notifying our container of our size change will result in a |
| 350 // re-layout. | 348 // re-layout. |
| 351 InvalidateLayout(); | 349 InvalidateLayout(); |
| 352 } | 350 } |
| 353 | 351 |
| 354 void InfoBarView::GetAccessibleState(ui::AccessibleViewState* state) { | 352 void InfoBarView::GetAccessibleState(ui::AccessibleViewState* state) { |
| 355 if (delegate()) { | 353 if (delegate()) { |
| (...skipping 11 matching lines...) Expand all Loading... |
| 367 void InfoBarView::OnWillChangeFocus(View* focused_before, View* focused_now) { | 365 void InfoBarView::OnWillChangeFocus(View* focused_before, View* focused_now) { |
| 368 views::ExternalFocusTracker::OnWillChangeFocus(focused_before, focused_now); | 366 views::ExternalFocusTracker::OnWillChangeFocus(focused_before, focused_now); |
| 369 | 367 |
| 370 // This will trigger some screen readers to read the entire contents of this | 368 // This will trigger some screen readers to read the entire contents of this |
| 371 // infobar. | 369 // infobar. |
| 372 if (focused_before && focused_now && !Contains(focused_before) && | 370 if (focused_before && focused_now && !Contains(focused_before) && |
| 373 Contains(focused_now)) { | 371 Contains(focused_now)) { |
| 374 NotifyAccessibilityEvent(ui::AccessibilityTypes::EVENT_ALERT, true); | 372 NotifyAccessibilityEvent(ui::AccessibilityTypes::EVENT_ALERT, true); |
| 375 } | 373 } |
| 376 } | 374 } |
| OLD | NEW |