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

Side by Side Diff: chrome/browser/ui/views/location_bar/location_bar_view.cc

Issue 819623003: Add more checks to ShowPageActionPopup (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years 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
« no previous file with comments | « chrome/browser/ui/views/location_bar/location_bar_view.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 "chrome/browser/ui/views/location_bar/location_bar_view.h" 5 #include "chrome/browser/ui/views/location_bar/location_bar_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <map> 8 #include <map>
9 9
10 #include "base/i18n/rtl.h" 10 #include "base/i18n/rtl.h"
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
177 search_button_(NULL), 177 search_button_(NULL),
178 is_popup_mode_(is_popup_mode), 178 is_popup_mode_(is_popup_mode),
179 show_focus_rect_(false), 179 show_focus_rect_(false),
180 template_url_service_(NULL), 180 template_url_service_(NULL),
181 dropdown_animation_offset_(0), 181 dropdown_animation_offset_(0),
182 starting_omnibox_offset_(0), 182 starting_omnibox_offset_(0),
183 current_omnibox_offset_(0), 183 current_omnibox_offset_(0),
184 starting_omnibox_leading_inset_(0), 184 starting_omnibox_leading_inset_(0),
185 current_omnibox_leading_inset_(0), 185 current_omnibox_leading_inset_(0),
186 current_omnibox_width_(0), 186 current_omnibox_width_(0),
187 ending_omnibox_width_(0) { 187 ending_omnibox_width_(0),
188 web_contents_null_at_last_refresh_(true) {
188 edit_bookmarks_enabled_.Init( 189 edit_bookmarks_enabled_.Init(
189 bookmarks::prefs::kEditBookmarksEnabled, profile->GetPrefs(), 190 bookmarks::prefs::kEditBookmarksEnabled, profile->GetPrefs(),
190 base::Bind(&LocationBarView::Update, base::Unretained(this), 191 base::Bind(&LocationBarView::Update, base::Unretained(this),
191 static_cast<content::WebContents*>(NULL))); 192 static_cast<content::WebContents*>(NULL)));
192 193
193 if (browser_) 194 if (browser_)
194 browser_->search_model()->AddObserver(this); 195 browser_->search_model()->AddObserver(this);
195 } 196 }
196 197
197 LocationBarView::~LocationBarView() { 198 LocationBarView::~LocationBarView() {
(...skipping 873 matching lines...) Expand 10 before | Expand all | Expand 10 after
1071 PageActions new_page_actions; 1072 PageActions new_page_actions;
1072 1073
1073 WebContents* web_contents = GetWebContents(); 1074 WebContents* web_contents = GetWebContents();
1074 if (web_contents) { 1075 if (web_contents) {
1075 extensions::TabHelper* extensions_tab_helper = 1076 extensions::TabHelper* extensions_tab_helper =
1076 extensions::TabHelper::FromWebContents(web_contents); 1077 extensions::TabHelper::FromWebContents(web_contents);
1077 extensions::LocationBarController* controller = 1078 extensions::LocationBarController* controller =
1078 extensions_tab_helper->location_bar_controller(); 1079 extensions_tab_helper->location_bar_controller();
1079 new_page_actions = controller->GetCurrentActions(); 1080 new_page_actions = controller->GetCurrentActions();
1080 } 1081 }
1082 web_contents_null_at_last_refresh_ = web_contents == NULL;
1081 1083
1082 // On startup we sometimes haven't loaded any extensions. This makes sure 1084 // On startup we sometimes haven't loaded any extensions. This makes sure
1083 // we catch up when the extensions (and any page actions) load. 1085 // we catch up when the extensions (and any page actions) load.
1084 if (page_actions_ != new_page_actions) { 1086 if (page_actions_ != new_page_actions) {
1085 changed = true; 1087 changed = true;
1086 1088
1087 page_actions_.swap(new_page_actions); 1089 page_actions_.swap(new_page_actions);
1088 DeletePageActionViews(); // Delete the old views (if any). 1090 DeletePageActionViews(); // Delete the old views (if any).
1089 1091
1090 // Create the page action views. 1092 // Create the page action views.
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
1308 1310
1309 bool LocationBarView::ShowPageActionPopup( 1311 bool LocationBarView::ShowPageActionPopup(
1310 const extensions::Extension* extension, 1312 const extensions::Extension* extension,
1311 bool grant_tab_permissions) { 1313 bool grant_tab_permissions) {
1312 ExtensionAction* extension_action = 1314 ExtensionAction* extension_action =
1313 extensions::ExtensionActionManager::Get(profile())->GetPageAction( 1315 extensions::ExtensionActionManager::Get(profile())->GetPageAction(
1314 *extension); 1316 *extension);
1315 CHECK(extension_action); 1317 CHECK(extension_action);
1316 PageActionWithBadgeView* page_action_view = 1318 PageActionWithBadgeView* page_action_view =
1317 GetPageActionView(extension_action); 1319 GetPageActionView(extension_action);
1318 CHECK(page_action_view); 1320 if (!page_action_view) {
1321 CHECK(!web_contents_null_at_last_refresh_);
1322 CHECK(!is_popup_mode_);
1323 CHECK(!extensions::FeatureSwitch::extension_action_redesign()->IsEnabled());
1324 CHECK(false);
1325 }
1319 PageActionImageView* page_action_image_view = page_action_view->image_view(); 1326 PageActionImageView* page_action_image_view = page_action_view->image_view();
1320 CHECK(page_action_image_view); 1327 CHECK(page_action_image_view);
1321 ExtensionActionViewController* extension_action_view_controller = 1328 ExtensionActionViewController* extension_action_view_controller =
1322 page_action_image_view->view_controller(); 1329 page_action_image_view->view_controller();
1323 CHECK(extension_action_view_controller); 1330 CHECK(extension_action_view_controller);
1324 return extension_action_view_controller->ExecuteAction(grant_tab_permissions); 1331 return extension_action_view_controller->ExecuteAction(grant_tab_permissions);
1325 } 1332 }
1326 1333
1327 void LocationBarView::UpdateOpenPDFInReaderPrompt() { 1334 void LocationBarView::UpdateOpenPDFInReaderPrompt() {
1328 open_pdf_in_reader_view_->Update( 1335 open_pdf_in_reader_view_->Update(
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after
1665 1672
1666 void LocationBarView::ModelChanged(const SearchModel::State& old_state, 1673 void LocationBarView::ModelChanged(const SearchModel::State& old_state,
1667 const SearchModel::State& new_state) { 1674 const SearchModel::State& new_state) {
1668 const bool visible = !GetToolbarModel()->input_in_progress() && 1675 const bool visible = !GetToolbarModel()->input_in_progress() &&
1669 new_state.voice_search_supported; 1676 new_state.voice_search_supported;
1670 if (mic_search_view_->visible() != visible) { 1677 if (mic_search_view_->visible() != visible) {
1671 mic_search_view_->SetVisible(visible); 1678 mic_search_view_->SetVisible(visible);
1672 Layout(); 1679 Layout();
1673 } 1680 }
1674 } 1681 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/location_bar/location_bar_view.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698