Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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/frame/browser_view.h" | 5 #include "chrome/browser/ui/views/frame/browser_view.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 74 #include "chrome/browser/ui/views/frame/browser_view_layout.h" | 74 #include "chrome/browser/ui/views/frame/browser_view_layout.h" |
| 75 #include "chrome/browser/ui/views/frame/browser_view_layout_delegate.h" | 75 #include "chrome/browser/ui/views/frame/browser_view_layout_delegate.h" |
| 76 #include "chrome/browser/ui/views/frame/contents_layout_manager.h" | 76 #include "chrome/browser/ui/views/frame/contents_layout_manager.h" |
| 77 #include "chrome/browser/ui/views/frame/immersive_mode_controller.h" | 77 #include "chrome/browser/ui/views/frame/immersive_mode_controller.h" |
| 78 #include "chrome/browser/ui/views/frame/top_container_view.h" | 78 #include "chrome/browser/ui/views/frame/top_container_view.h" |
| 79 #include "chrome/browser/ui/views/frame/web_contents_close_handler.h" | 79 #include "chrome/browser/ui/views/frame/web_contents_close_handler.h" |
| 80 #include "chrome/browser/ui/views/ime/ime_warning_bubble_view.h" | 80 #include "chrome/browser/ui/views/ime/ime_warning_bubble_view.h" |
| 81 #include "chrome/browser/ui/views/infobars/infobar_container_view.h" | 81 #include "chrome/browser/ui/views/infobars/infobar_container_view.h" |
| 82 #include "chrome/browser/ui/views/location_bar/location_bar_view.h" | 82 #include "chrome/browser/ui/views/location_bar/location_bar_view.h" |
| 83 #include "chrome/browser/ui/views/location_bar/location_icon_view.h" | 83 #include "chrome/browser/ui/views/location_bar/location_icon_view.h" |
| 84 #include "chrome/browser/ui/views/location_bar/star_view.h" | |
| 84 #include "chrome/browser/ui/views/location_bar/zoom_bubble_view.h" | 85 #include "chrome/browser/ui/views/location_bar/zoom_bubble_view.h" |
| 85 #include "chrome/browser/ui/views/new_back_shortcut_bubble.h" | 86 #include "chrome/browser/ui/views/new_back_shortcut_bubble.h" |
| 86 #include "chrome/browser/ui/views/omnibox/omnibox_view_views.h" | 87 #include "chrome/browser/ui/views/omnibox/omnibox_view_views.h" |
| 87 #include "chrome/browser/ui/views/profiles/profile_indicator_icon.h" | 88 #include "chrome/browser/ui/views/profiles/profile_indicator_icon.h" |
| 88 #include "chrome/browser/ui/views/session_crashed_bubble_view.h" | 89 #include "chrome/browser/ui/views/session_crashed_bubble_view.h" |
| 89 #include "chrome/browser/ui/views/status_bubble_views.h" | 90 #include "chrome/browser/ui/views/status_bubble_views.h" |
| 90 #include "chrome/browser/ui/views/tabs/browser_tab_strip_controller.h" | 91 #include "chrome/browser/ui/views/tabs/browser_tab_strip_controller.h" |
| 91 #include "chrome/browser/ui/views/tabs/tab.h" | 92 #include "chrome/browser/ui/views/tabs/tab.h" |
| 92 #include "chrome/browser/ui/views/tabs/tab_strip.h" | 93 #include "chrome/browser/ui/views/tabs/tab_strip.h" |
| 93 #include "chrome/browser/ui/views/toolbar/app_menu_button.h" | 94 #include "chrome/browser/ui/views/toolbar/app_menu_button.h" |
| (...skipping 1142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1236 } | 1237 } |
| 1237 | 1238 |
| 1238 void BrowserView::ShowUpdateChromeDialog() { | 1239 void BrowserView::ShowUpdateChromeDialog() { |
| 1239 UpdateRecommendedMessageBox::Show(GetNativeWindow()); | 1240 UpdateRecommendedMessageBox::Show(GetNativeWindow()); |
| 1240 } | 1241 } |
| 1241 | 1242 |
| 1242 void BrowserView::ShowBookmarkBubble(const GURL& url, bool already_bookmarked) { | 1243 void BrowserView::ShowBookmarkBubble(const GURL& url, bool already_bookmarked) { |
| 1243 std::unique_ptr<BubbleSyncPromoDelegate> delegate; | 1244 std::unique_ptr<BubbleSyncPromoDelegate> delegate; |
| 1244 delegate.reset(new BookmarkBubbleSignInDelegate(browser_.get())); | 1245 delegate.reset(new BookmarkBubbleSignInDelegate(browser_.get())); |
| 1245 | 1246 |
| 1246 views::View* anchor_view = GetToolbarView()->GetBookmarkBubbleAnchor(); | 1247 views::View* anchor_view = toolbar_->GetBookmarkBubbleAnchor(); |
|
sky
2016/09/29 03:17:40
I find this change confusing because it's assuming
Evan Stade
2016/09/29 17:20:01
sure, sounds reasonable. done.
| |
| 1247 views::Widget* bubble_widget = BookmarkBubbleView::ShowBubble( | 1248 views::Widget* bubble_widget = BookmarkBubbleView::ShowBubble( |
| 1248 anchor_view, gfx::Rect(), nullptr, bookmark_bar_view_.get(), | 1249 anchor_view, gfx::Rect(), nullptr, bookmark_bar_view_.get(), |
| 1249 std::move(delegate), browser_->profile(), url, already_bookmarked); | 1250 std::move(delegate), browser_->profile(), url, already_bookmarked); |
| 1250 GetToolbarView()->OnBubbleCreatedForAnchor(anchor_view, bubble_widget); | 1251 bubble_widget->AddObserver(toolbar_->location_bar()->star_view()); |
| 1251 } | 1252 } |
| 1252 | 1253 |
| 1253 void BrowserView::ShowBookmarkAppBubble( | 1254 void BrowserView::ShowBookmarkAppBubble( |
| 1254 const WebApplicationInfo& web_app_info, | 1255 const WebApplicationInfo& web_app_info, |
| 1255 const ShowBookmarkAppBubbleCallback& callback) { | 1256 const ShowBookmarkAppBubbleCallback& callback) { |
| 1256 BookmarkAppConfirmationView::CreateAndShow(GetNativeWindow(), web_app_info, | 1257 BookmarkAppConfirmationView::CreateAndShow(GetNativeWindow(), web_app_info, |
| 1257 callback); | 1258 callback); |
| 1258 } | 1259 } |
| 1259 | 1260 |
| 1260 autofill::SaveCardBubbleView* BrowserView::ShowSaveCreditCardBubble( | 1261 autofill::SaveCardBubbleView* BrowserView::ShowSaveCreditCardBubble( |
| 1261 content::WebContents* web_contents, | 1262 content::WebContents* web_contents, |
| 1262 autofill::SaveCardBubbleController* controller, | 1263 autofill::SaveCardBubbleController* controller, |
| 1263 bool is_user_gesture) { | 1264 bool is_user_gesture) { |
| 1264 views::View* anchor_view = GetToolbarView()->GetSaveCreditCardBubbleAnchor(); | 1265 views::View* anchor_view = toolbar_->GetSaveCreditCardBubbleAnchor(); |
| 1265 autofill::SaveCardBubbleViews* view = new autofill::SaveCardBubbleViews( | 1266 autofill::SaveCardBubbleViews* view = new autofill::SaveCardBubbleViews( |
| 1266 anchor_view, web_contents, controller); | 1267 anchor_view, web_contents, controller); |
| 1267 GetToolbarView()->OnBubbleCreatedForAnchor(anchor_view, view->GetWidget()); | 1268 toolbar_->OnBubbleCreatedForAnchor(anchor_view, view->GetWidget()); |
| 1268 view->Show(is_user_gesture ? autofill::SaveCardBubbleViews::USER_GESTURE | 1269 view->Show(is_user_gesture ? autofill::SaveCardBubbleViews::USER_GESTURE |
| 1269 : autofill::SaveCardBubbleViews::AUTOMATIC); | 1270 : autofill::SaveCardBubbleViews::AUTOMATIC); |
| 1270 return view; | 1271 return view; |
| 1271 } | 1272 } |
| 1272 | 1273 |
| 1273 void BrowserView::ShowTranslateBubble( | 1274 void BrowserView::ShowTranslateBubble( |
| 1274 content::WebContents* web_contents, | 1275 content::WebContents* web_contents, |
| 1275 translate::TranslateStep step, | 1276 translate::TranslateStep step, |
| 1276 translate::TranslateErrors::Type error_type, | 1277 translate::TranslateErrors::Type error_type, |
| 1277 bool is_user_gesture) { | 1278 bool is_user_gesture) { |
| 1278 if (contents_web_view_->HasFocus() && | 1279 if (contents_web_view_->HasFocus() && |
| 1279 !GetLocationBarView()->IsMouseHovered()) { | 1280 !GetLocationBarView()->IsMouseHovered()) { |
| 1280 content::RenderViewHost* rvh = web_contents->GetRenderViewHost(); | 1281 content::RenderViewHost* rvh = web_contents->GetRenderViewHost(); |
| 1281 if (rvh->IsFocusedElementEditable()) | 1282 if (rvh->IsFocusedElementEditable()) |
| 1282 return; | 1283 return; |
| 1283 } | 1284 } |
| 1284 | 1285 |
| 1285 ChromeTranslateClient* chrome_translate_client = | 1286 ChromeTranslateClient* chrome_translate_client = |
| 1286 ChromeTranslateClient::FromWebContents(web_contents); | 1287 ChromeTranslateClient::FromWebContents(web_contents); |
| 1287 translate::LanguageState& language_state = | 1288 translate::LanguageState& language_state = |
| 1288 chrome_translate_client->GetLanguageState(); | 1289 chrome_translate_client->GetLanguageState(); |
| 1289 language_state.SetTranslateEnabled(true); | 1290 language_state.SetTranslateEnabled(true); |
| 1290 | 1291 |
| 1291 if (IsMinimized()) | 1292 if (IsMinimized()) |
| 1292 return; | 1293 return; |
| 1293 | 1294 |
| 1294 views::View* anchor_view = GetToolbarView()->GetTranslateBubbleAnchor(); | 1295 views::View* anchor_view = toolbar_->GetTranslateBubbleAnchor(); |
| 1295 views::Widget* bubble_widget = TranslateBubbleView::ShowBubble( | 1296 views::Widget* bubble_widget = TranslateBubbleView::ShowBubble( |
| 1296 anchor_view, web_contents, step, | 1297 anchor_view, web_contents, step, |
| 1297 error_type, is_user_gesture ? TranslateBubbleView::USER_GESTURE | 1298 error_type, is_user_gesture ? TranslateBubbleView::USER_GESTURE |
| 1298 : TranslateBubbleView::AUTOMATIC); | 1299 : TranslateBubbleView::AUTOMATIC); |
| 1299 GetToolbarView()->OnBubbleCreatedForAnchor(anchor_view, bubble_widget); | 1300 toolbar_->OnBubbleCreatedForAnchor(anchor_view, bubble_widget); |
| 1300 } | 1301 } |
| 1301 | 1302 |
| 1302 #if BUILDFLAG(ENABLE_ONE_CLICK_SIGNIN) | 1303 #if BUILDFLAG(ENABLE_ONE_CLICK_SIGNIN) |
| 1303 void BrowserView::ShowOneClickSigninConfirmation( | 1304 void BrowserView::ShowOneClickSigninConfirmation( |
| 1304 const base::string16& email, | 1305 const base::string16& email, |
| 1305 const StartSyncCallback& start_sync_callback) { | 1306 const StartSyncCallback& start_sync_callback) { |
| 1306 std::unique_ptr<OneClickSigninLinksDelegate> delegate( | 1307 std::unique_ptr<OneClickSigninLinksDelegate> delegate( |
| 1307 new OneClickSigninLinksDelegateImpl(browser())); | 1308 new OneClickSigninLinksDelegateImpl(browser())); |
| 1308 OneClickSigninDialogView::ShowDialog(email, std::move(delegate), | 1309 OneClickSigninDialogView::ShowDialog(email, std::move(delegate), |
| 1309 GetNativeWindow(), start_sync_callback); | 1310 GetNativeWindow(), start_sync_callback); |
| (...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1526 } | 1527 } |
| 1527 | 1528 |
| 1528 LocationBarView* BrowserView::GetLocationBarView() const { | 1529 LocationBarView* BrowserView::GetLocationBarView() const { |
| 1529 return toolbar_ ? toolbar_->location_bar() : nullptr; | 1530 return toolbar_ ? toolbar_->location_bar() : nullptr; |
| 1530 } | 1531 } |
| 1531 | 1532 |
| 1532 views::View* BrowserView::GetTabContentsContainerView() const { | 1533 views::View* BrowserView::GetTabContentsContainerView() const { |
| 1533 return contents_web_view_; | 1534 return contents_web_view_; |
| 1534 } | 1535 } |
| 1535 | 1536 |
| 1536 ToolbarView* BrowserView::GetToolbarView() const { | |
| 1537 return toolbar_; | |
| 1538 } | |
| 1539 | |
| 1540 /////////////////////////////////////////////////////////////////////////////// | 1537 /////////////////////////////////////////////////////////////////////////////// |
| 1541 // BrowserView, TabStripModelObserver implementation: | 1538 // BrowserView, TabStripModelObserver implementation: |
| 1542 | 1539 |
| 1543 void BrowserView::TabInsertedAt(TabStripModel* tab_strip_model, | 1540 void BrowserView::TabInsertedAt(TabStripModel* tab_strip_model, |
| 1544 WebContents* contents, | 1541 WebContents* contents, |
| 1545 int index, | 1542 int index, |
| 1546 bool foreground) { | 1543 bool foreground) { |
| 1547 #if defined(USE_AURA) | 1544 #if defined(USE_AURA) |
| 1548 // WebContents inserted in tabs might not have been added to the root | 1545 // WebContents inserted in tabs might not have been added to the root |
| 1549 // window yet. Per http://crbug/342672 add them now since drawing the | 1546 // window yet. Per http://crbug/342672 add them now since drawing the |
| (...skipping 1112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2662 } | 2659 } |
| 2663 | 2660 |
| 2664 extensions::ActiveTabPermissionGranter* | 2661 extensions::ActiveTabPermissionGranter* |
| 2665 BrowserView::GetActiveTabPermissionGranter() { | 2662 BrowserView::GetActiveTabPermissionGranter() { |
| 2666 content::WebContents* web_contents = GetActiveWebContents(); | 2663 content::WebContents* web_contents = GetActiveWebContents(); |
| 2667 if (!web_contents) | 2664 if (!web_contents) |
| 2668 return nullptr; | 2665 return nullptr; |
| 2669 return extensions::TabHelper::FromWebContents(web_contents) | 2666 return extensions::TabHelper::FromWebContents(web_contents) |
| 2670 ->active_tab_permission_granter(); | 2667 ->active_tab_permission_granter(); |
| 2671 } | 2668 } |
| OLD | NEW |