| Index: chrome/browser/infobars/infobar_service.cc
|
| diff --git a/chrome/browser/infobars/infobar_service.cc b/chrome/browser/infobars/infobar_service.cc
|
| index 3bc0e4e5c155f8e2716cdb95931059a775644c62..556086be5f1418ee60b9c14400b5cc2626b0b4e9 100644
|
| --- a/chrome/browser/infobars/infobar_service.cc
|
| +++ b/chrome/browser/infobars/infobar_service.cc
|
| @@ -14,44 +14,28 @@
|
| #include "content/public/browser/navigation_entry.h"
|
| #include "content/public/browser/notification_service.h"
|
| #include "content/public/browser/web_contents.h"
|
| +#include "ui/base/page_transition_types.h"
|
|
|
| -DEFINE_WEB_CONTENTS_USER_DATA_KEY(InfoBarService);
|
| -
|
| -using infobars::InfoBar;
|
| -using infobars::InfoBarDelegate;
|
| -using infobars::InfoBarManager;
|
| -
|
| -namespace {
|
|
|
| -bool IsReload(const content::LoadCommittedDetails& details) {
|
| - return ui::PageTransitionStripQualifier(
|
| - details.entry->GetTransitionType()) == ui::PAGE_TRANSITION_RELOAD;
|
| -
|
| -}
|
| -
|
| -} // namespace
|
| +DEFINE_WEB_CONTENTS_USER_DATA_KEY(InfoBarService);
|
|
|
| // static
|
| -InfoBarDelegate::NavigationDetails
|
| +infobars::InfoBarDelegate::NavigationDetails
|
| InfoBarService::NavigationDetailsFromLoadCommittedDetails(
|
| const content::LoadCommittedDetails& details) {
|
| - InfoBarDelegate::NavigationDetails navigation_details;
|
| + infobars::InfoBarDelegate::NavigationDetails navigation_details;
|
| navigation_details.entry_id = details.entry->GetUniqueID();
|
| navigation_details.is_navigation_to_different_page =
|
| details.is_navigation_to_different_page();
|
| navigation_details.did_replace_entry = details.did_replace_entry;
|
| - navigation_details.is_main_frame = details.is_main_frame;
|
| -
|
| - const ui::PageTransition transition = details.entry->GetTransitionType();
|
| - navigation_details.is_reload = IsReload(details);
|
| navigation_details.is_redirect =
|
| - (transition & ui::PAGE_TRANSITION_IS_REDIRECT_MASK) != 0;
|
| -
|
| + ui::PageTransitionIsRedirect(details.entry->GetTransitionType());
|
| return navigation_details;
|
| }
|
|
|
| // static
|
| -content::WebContents* InfoBarService::WebContentsFromInfoBar(InfoBar* infobar) {
|
| +content::WebContents* InfoBarService::WebContentsFromInfoBar(
|
| + infobars::InfoBar* infobar) {
|
| if (!infobar || !infobar->owner())
|
| return NULL;
|
| InfoBarService* infobar_service =
|
| @@ -75,25 +59,26 @@ int InfoBarService::GetActiveEntryID() {
|
| return active_entry ? active_entry->GetUniqueID() : 0;
|
| }
|
|
|
| -void InfoBarService::NotifyInfoBarAdded(InfoBar* infobar) {
|
| - InfoBarManager::NotifyInfoBarAdded(infobar);
|
| +void InfoBarService::NotifyInfoBarAdded(infobars::InfoBar* infobar) {
|
| + infobars::InfoBarManager::NotifyInfoBarAdded(infobar);
|
| // TODO(droger): Remove the notifications and have listeners change to be
|
| // InfoBarManager::Observers instead. See http://crbug.com/354380
|
| content::NotificationService::current()->Notify(
|
| chrome::NOTIFICATION_TAB_CONTENTS_INFOBAR_ADDED,
|
| content::Source<InfoBarService>(this),
|
| - content::Details<InfoBar::AddedDetails>(infobar));
|
| + content::Details<infobars::InfoBar::AddedDetails>(infobar));
|
| }
|
|
|
| -void InfoBarService::NotifyInfoBarRemoved(InfoBar* infobar, bool animate) {
|
| - InfoBarManager::NotifyInfoBarRemoved(infobar, animate);
|
| +void InfoBarService::NotifyInfoBarRemoved(infobars::InfoBar* infobar,
|
| + bool animate) {
|
| + infobars::InfoBarManager::NotifyInfoBarRemoved(infobar, animate);
|
| // TODO(droger): Remove the notifications and have listeners change to be
|
| // InfoBarManager::Observers instead. See http://crbug.com/354380
|
| - InfoBar::RemovedDetails removed_details(infobar, animate);
|
| + infobars::InfoBar::RemovedDetails removed_details(infobar, animate);
|
| content::NotificationService::current()->Notify(
|
| chrome::NOTIFICATION_TAB_CONTENTS_INFOBAR_REMOVED,
|
| content::Source<InfoBarService>(this),
|
| - content::Details<InfoBar::RemovedDetails>(&removed_details));
|
| + content::Details<infobars::InfoBar::RemovedDetails>(&removed_details));
|
| }
|
|
|
| // InfoBarService::CreateConfirmInfoBar() is implemented in platform-specific
|
| @@ -111,7 +96,10 @@ void InfoBarService::DidStartNavigationToPendingEntry(
|
|
|
| void InfoBarService::NavigationEntryCommitted(
|
| const content::LoadCommittedDetails& load_details) {
|
| - const bool ignore = ignore_next_reload_ && IsReload(load_details);
|
| + const bool ignore = ignore_next_reload_ &&
|
| + (ui::PageTransitionStripQualifier(
|
| + load_details.entry->GetTransitionType()) ==
|
| + ui::PAGE_TRANSITION_RELOAD);
|
| ignore_next_reload_ = false;
|
| if (!ignore)
|
| OnNavigation(NavigationDetailsFromLoadCommittedDetails(load_details));
|
|
|