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

Side by Side Diff: chrome/browser/api/infobars/infobar_delegate.cc

Issue 10830353: Introduce InfoBarTabService API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Respond to review comments, merge to LKGR Created 8 years, 4 months 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 | Annotate | Revision Log
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/api/infobars/infobar_delegate.h" 5 #include "chrome/browser/api/infobars/infobar_delegate.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "build/build_config.h" 8 #include "build/build_config.h"
9 #include "chrome/browser/infobars/infobar_tab_helper.h" 9 #include "chrome/browser/api/infobars/infobar_tab_service.h"
10 #include "content/public/browser/navigation_controller.h" 10 #include "content/public/browser/navigation_controller.h"
11 #include "content/public/browser/navigation_details.h" 11 #include "content/public/browser/navigation_details.h"
12 #include "content/public/browser/navigation_entry.h" 12 #include "content/public/browser/navigation_entry.h"
13 #include "content/public/browser/web_contents.h" 13 #include "content/public/browser/web_contents.h"
14 14
15 using content::NavigationEntry; 15 using content::NavigationEntry;
16 16
17 // InfoBarDelegate ------------------------------------------------------------ 17 // InfoBarDelegate ------------------------------------------------------------
18 18
19 InfoBarDelegate::~InfoBarDelegate() { 19 InfoBarDelegate::~InfoBarDelegate() {
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 83
84 ThemeInstalledInfoBarDelegate* 84 ThemeInstalledInfoBarDelegate*
85 InfoBarDelegate::AsThemePreviewInfobarDelegate() { 85 InfoBarDelegate::AsThemePreviewInfobarDelegate() {
86 return NULL; 86 return NULL;
87 } 87 }
88 88
89 TranslateInfoBarDelegate* InfoBarDelegate::AsTranslateInfoBarDelegate() { 89 TranslateInfoBarDelegate* InfoBarDelegate::AsTranslateInfoBarDelegate() {
90 return NULL; 90 return NULL;
91 } 91 }
92 92
93 InfoBarDelegate::InfoBarDelegate(InfoBarTabHelper* infobar_helper) 93 InfoBarDelegate::InfoBarDelegate(InfoBarTabService* infobar_service)
94 : contents_unique_id_(0), 94 : contents_unique_id_(0),
95 owner_(infobar_helper) { 95 owner_(infobar_service) {
96 if (infobar_helper) 96 if (infobar_service)
97 StoreActiveEntryUniqueID(infobar_helper); 97 StoreActiveEntryUniqueID(infobar_service);
98 } 98 }
99 99
100 void InfoBarDelegate::StoreActiveEntryUniqueID( 100 void InfoBarDelegate::StoreActiveEntryUniqueID(
101 InfoBarTabHelper* infobar_helper) { 101 InfoBarTabService* infobar_service) {
102 NavigationEntry* active_entry = 102 NavigationEntry* active_entry =
103 infobar_helper->web_contents()->GetController().GetActiveEntry(); 103 infobar_service->GetWebContents()->GetController().GetActiveEntry();
104 contents_unique_id_ = active_entry ? active_entry->GetUniqueID() : 0; 104 contents_unique_id_ = active_entry ? active_entry->GetUniqueID() : 0;
105 } 105 }
106 106
107 bool InfoBarDelegate::ShouldExpireInternal( 107 bool InfoBarDelegate::ShouldExpireInternal(
108 const content::LoadCommittedDetails& details) const { 108 const content::LoadCommittedDetails& details) const {
109 return (contents_unique_id_ != details.entry->GetUniqueID()) || 109 return (contents_unique_id_ != details.entry->GetUniqueID()) ||
110 (content::PageTransitionStripQualifier( 110 (content::PageTransitionStripQualifier(
111 details.entry->GetTransitionType()) == 111 details.entry->GetTransitionType()) ==
112 content::PAGE_TRANSITION_RELOAD); 112 content::PAGE_TRANSITION_RELOAD);
113 } 113 }
114 114
115 void InfoBarDelegate::RemoveSelf() { 115 void InfoBarDelegate::RemoveSelf() {
116 if (owner_) 116 if (owner_)
117 owner_->RemoveInfoBar(this); // Clears |owner_|. 117 owner_->RemoveInfoBar(this); // Clears |owner_|.
118 } 118 }
OLDNEW
« no previous file with comments | « chrome/browser/api/infobars/infobar_delegate.h ('k') | chrome/browser/api/infobars/infobar_tab_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698