| 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/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/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 405 | 405 |
| 406 show_url_animation_.reset(new gfx::SlideAnimation(this)); | 406 show_url_animation_.reset(new gfx::SlideAnimation(this)); |
| 407 show_url_animation_->SetTweenType(kShowTweenType); | 407 show_url_animation_->SetTweenType(kShowTweenType); |
| 408 show_url_animation_->SetSlideDuration(200); | 408 show_url_animation_->SetSlideDuration(200); |
| 409 | 409 |
| 410 hide_url_animation_.reset(new gfx::SlideAnimation(this)); | 410 hide_url_animation_.reset(new gfx::SlideAnimation(this)); |
| 411 hide_url_animation_->SetTweenType(kHideTweenType); | 411 hide_url_animation_->SetTweenType(kHideTweenType); |
| 412 hide_url_animation_->SetSlideDuration(175); | 412 hide_url_animation_->SetSlideDuration(175); |
| 413 | 413 |
| 414 content::Source<Profile> profile_source = content::Source<Profile>(profile()); | 414 content::Source<Profile> profile_source = content::Source<Profile>(profile()); |
| 415 registrar_.Add( | |
| 416 this, chrome::NOTIFICATION_EXTENSION_LOADED_DEPRECATED, profile_source); | |
| 417 registrar_.Add(this, | 415 registrar_.Add(this, |
| 418 chrome::NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED, | 416 extensions::NOTIFICATION_EXTENSION_LOADED_DEPRECATED, |
| 417 profile_source); |
| 418 registrar_.Add(this, |
| 419 extensions::NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED, |
| 419 profile_source); | 420 profile_source); |
| 420 | 421 |
| 421 // Initialize the location entry. We do this to avoid a black flash which is | 422 // Initialize the location entry. We do this to avoid a black flash which is |
| 422 // visible when the location entry has just been initialized. | 423 // visible when the location entry has just been initialized. |
| 423 Update(NULL); | 424 Update(NULL); |
| 424 } | 425 } |
| 425 | 426 |
| 426 bool LocationBarView::IsInitialized() const { | 427 bool LocationBarView::IsInitialized() const { |
| 427 return omnibox_view_ != NULL; | 428 return omnibox_view_ != NULL; |
| 428 } | 429 } |
| (...skipping 780 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1209 i != page_action_views_.end(); ++i) { | 1210 i != page_action_views_.end(); ++i) { |
| 1210 (*i)->UpdateVisibility( | 1211 (*i)->UpdateVisibility( |
| 1211 GetToolbarModel()->input_in_progress() ? NULL : web_contents, url); | 1212 GetToolbarModel()->input_in_progress() ? NULL : web_contents, url); |
| 1212 | 1213 |
| 1213 // Check if the visibility of the action changed and notify if it did. | 1214 // Check if the visibility of the action changed and notify if it did. |
| 1214 ExtensionAction* action = (*i)->image_view()->page_action(); | 1215 ExtensionAction* action = (*i)->image_view()->page_action(); |
| 1215 if (old_visibility.find(action) == old_visibility.end() || | 1216 if (old_visibility.find(action) == old_visibility.end() || |
| 1216 old_visibility[action] != (*i)->visible()) { | 1217 old_visibility[action] != (*i)->visible()) { |
| 1217 changed = true; | 1218 changed = true; |
| 1218 content::NotificationService::current()->Notify( | 1219 content::NotificationService::current()->Notify( |
| 1219 chrome::NOTIFICATION_EXTENSION_PAGE_ACTION_VISIBILITY_CHANGED, | 1220 extensions::NOTIFICATION_EXTENSION_PAGE_ACTION_VISIBILITY_CHANGED, |
| 1220 content::Source<ExtensionAction>(action), | 1221 content::Source<ExtensionAction>(action), |
| 1221 content::Details<WebContents>(web_contents)); | 1222 content::Details<WebContents>(web_contents)); |
| 1222 } | 1223 } |
| 1223 } | 1224 } |
| 1224 } | 1225 } |
| 1225 return changed; | 1226 return changed; |
| 1226 } | 1227 } |
| 1227 | 1228 |
| 1228 bool LocationBarView::RefreshZoomView() { | 1229 bool LocationBarView::RefreshZoomView() { |
| 1229 DCHECK(zoom_view_); | 1230 DCHECK(zoom_view_); |
| (...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1376 Layout(); | 1377 Layout(); |
| 1377 SchedulePaint(); | 1378 SchedulePaint(); |
| 1378 } | 1379 } |
| 1379 } | 1380 } |
| 1380 | 1381 |
| 1381 void LocationBarView::UpdatePageActions() { | 1382 void LocationBarView::UpdatePageActions() { |
| 1382 size_t count_before = page_action_views_.size(); | 1383 size_t count_before = page_action_views_.size(); |
| 1383 bool changed = RefreshPageActionViews(); | 1384 bool changed = RefreshPageActionViews(); |
| 1384 if (page_action_views_.size() != count_before) { | 1385 if (page_action_views_.size() != count_before) { |
| 1385 content::NotificationService::current()->Notify( | 1386 content::NotificationService::current()->Notify( |
| 1386 chrome::NOTIFICATION_EXTENSION_PAGE_ACTION_COUNT_CHANGED, | 1387 extensions::NOTIFICATION_EXTENSION_PAGE_ACTION_COUNT_CHANGED, |
| 1387 content::Source<LocationBar>(this), | 1388 content::Source<LocationBar>(this), |
| 1388 content::NotificationService::NoDetails()); | 1389 content::NotificationService::NoDetails()); |
| 1389 } | 1390 } |
| 1390 | 1391 |
| 1391 if (changed) { | 1392 if (changed) { |
| 1392 Layout(); | 1393 Layout(); |
| 1393 SchedulePaint(); | 1394 SchedulePaint(); |
| 1394 } | 1395 } |
| 1395 } | 1396 } |
| 1396 | 1397 |
| 1397 void LocationBarView::InvalidatePageActions() { | 1398 void LocationBarView::InvalidatePageActions() { |
| 1398 size_t count_before = page_action_views_.size(); | 1399 size_t count_before = page_action_views_.size(); |
| 1399 DeletePageActionViews(); | 1400 DeletePageActionViews(); |
| 1400 if (page_action_views_.size() != count_before) { | 1401 if (page_action_views_.size() != count_before) { |
| 1401 content::NotificationService::current()->Notify( | 1402 content::NotificationService::current()->Notify( |
| 1402 chrome::NOTIFICATION_EXTENSION_PAGE_ACTION_COUNT_CHANGED, | 1403 extensions::NOTIFICATION_EXTENSION_PAGE_ACTION_COUNT_CHANGED, |
| 1403 content::Source<LocationBar>(this), | 1404 content::Source<LocationBar>(this), |
| 1404 content::NotificationService::NoDetails()); | 1405 content::NotificationService::NoDetails()); |
| 1405 } | 1406 } |
| 1406 } | 1407 } |
| 1407 | 1408 |
| 1408 void LocationBarView::UpdateOpenPDFInReaderPrompt() { | 1409 void LocationBarView::UpdateOpenPDFInReaderPrompt() { |
| 1409 open_pdf_in_reader_view_->Update( | 1410 open_pdf_in_reader_view_->Update( |
| 1410 GetToolbarModel()->input_in_progress() ? NULL : GetWebContents()); | 1411 GetToolbarModel()->input_in_progress() ? NULL : GetWebContents()); |
| 1411 Layout(); | 1412 Layout(); |
| 1412 SchedulePaint(); | 1413 SchedulePaint(); |
| (...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1741 ShowFirstRunBubble(); | 1742 ShowFirstRunBubble(); |
| 1742 } | 1743 } |
| 1743 | 1744 |
| 1744 //////////////////////////////////////////////////////////////////////////////// | 1745 //////////////////////////////////////////////////////////////////////////////// |
| 1745 // LocationBarView, private content::NotificationObserver implementation: | 1746 // LocationBarView, private content::NotificationObserver implementation: |
| 1746 | 1747 |
| 1747 void LocationBarView::Observe(int type, | 1748 void LocationBarView::Observe(int type, |
| 1748 const content::NotificationSource& source, | 1749 const content::NotificationSource& source, |
| 1749 const content::NotificationDetails& details) { | 1750 const content::NotificationDetails& details) { |
| 1750 switch (type) { | 1751 switch (type) { |
| 1751 case chrome::NOTIFICATION_EXTENSION_LOADED_DEPRECATED: | 1752 case extensions::NOTIFICATION_EXTENSION_LOADED_DEPRECATED: |
| 1752 case chrome::NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED: | 1753 case extensions::NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED: |
| 1753 Update(NULL); | 1754 Update(NULL); |
| 1754 break; | 1755 break; |
| 1755 | 1756 |
| 1756 default: | 1757 default: |
| 1757 NOTREACHED() << "Unexpected notification."; | 1758 NOTREACHED() << "Unexpected notification."; |
| 1758 } | 1759 } |
| 1759 } | 1760 } |
| 1760 | 1761 |
| 1761 //////////////////////////////////////////////////////////////////////////////// | 1762 //////////////////////////////////////////////////////////////////////////////// |
| 1762 // LocationBarView, private SearchModelObserver implementation: | 1763 // LocationBarView, private SearchModelObserver implementation: |
| 1763 | 1764 |
| 1764 void LocationBarView::ModelChanged(const SearchModel::State& old_state, | 1765 void LocationBarView::ModelChanged(const SearchModel::State& old_state, |
| 1765 const SearchModel::State& new_state) { | 1766 const SearchModel::State& new_state) { |
| 1766 const bool visible = !GetToolbarModel()->input_in_progress() && | 1767 const bool visible = !GetToolbarModel()->input_in_progress() && |
| 1767 new_state.voice_search_supported; | 1768 new_state.voice_search_supported; |
| 1768 if (mic_search_view_->visible() != visible) { | 1769 if (mic_search_view_->visible() != visible) { |
| 1769 mic_search_view_->SetVisible(visible); | 1770 mic_search_view_->SetVisible(visible); |
| 1770 Layout(); | 1771 Layout(); |
| 1771 } | 1772 } |
| 1772 } | 1773 } |
| OLD | NEW |