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

Side by Side Diff: chrome/browser/tab_contents/infobar_container.cc

Issue 7327007: Moving notification types which are chrome specific to a new header file chrome_notification_type... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 5 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "build/build_config.h" 5 #include "build/build_config.h"
6 6
7 // TODO(pkasting): Port Mac to use this. 7 // TODO(pkasting): Port Mac to use this.
8 #if defined(TOOLKIT_VIEWS) || defined(TOOLKIT_GTK) 8 #if defined(TOOLKIT_VIEWS) || defined(TOOLKIT_GTK)
9 9
10 #include "chrome/browser/tab_contents/infobar_container.h" 10 #include "chrome/browser/tab_contents/infobar_container.h"
11 11
12 #include "chrome/browser/tab_contents/infobar.h" 12 #include "chrome/browser/tab_contents/infobar.h"
13 #include "chrome/browser/tab_contents/infobar_delegate.h" 13 #include "chrome/browser/tab_contents/infobar_delegate.h"
14 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" 14 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
15 #include "chrome/common/chrome_notification_types.h"
15 #include "content/common/notification_details.h" 16 #include "content/common/notification_details.h"
16 #include "content/common/notification_source.h" 17 #include "content/common/notification_source.h"
17 #include "ui/base/animation/slide_animation.h" 18 #include "ui/base/animation/slide_animation.h"
18 19
19 InfoBarContainer::Delegate::~Delegate() { 20 InfoBarContainer::Delegate::~Delegate() {
20 } 21 }
21 22
22 InfoBarContainer::InfoBarContainer(Delegate* delegate) 23 InfoBarContainer::InfoBarContainer(Delegate* delegate)
23 : delegate_(delegate), 24 : delegate_(delegate),
24 tab_contents_(NULL), 25 tab_contents_(NULL),
(...skipping 11 matching lines...) Expand all
36 while (!infobars_.empty()) { 37 while (!infobars_.empty()) {
37 InfoBar* infobar = infobars_.front(); 38 InfoBar* infobar = infobars_.front();
38 // Inform the infobar that it's hidden. If it was already closing, this 39 // Inform the infobar that it's hidden. If it was already closing, this
39 // closes its delegate. 40 // closes its delegate.
40 infobar->Hide(false); 41 infobar->Hide(false);
41 } 42 }
42 43
43 tab_contents_ = contents; 44 tab_contents_ = contents;
44 if (tab_contents_) { 45 if (tab_contents_) {
45 Source<TabContentsWrapper> tc_source(tab_contents_); 46 Source<TabContentsWrapper> tc_source(tab_contents_);
46 registrar_.Add(this, NotificationType::TAB_CONTENTS_INFOBAR_ADDED, 47 registrar_.Add(this, chrome::NOTIFICATION_TAB_CONTENTS_INFOBAR_ADDED,
47 tc_source); 48 tc_source);
48 registrar_.Add(this, NotificationType::TAB_CONTENTS_INFOBAR_REMOVED, 49 registrar_.Add(this, chrome::NOTIFICATION_TAB_CONTENTS_INFOBAR_REMOVED,
49 tc_source); 50 tc_source);
50 registrar_.Add(this, NotificationType::TAB_CONTENTS_INFOBAR_REPLACED, 51 registrar_.Add(this, chrome::NOTIFICATION_TAB_CONTENTS_INFOBAR_REPLACED,
51 tc_source); 52 tc_source);
52 53
53 for (size_t i = 0; i < tab_contents_->infobar_count(); ++i) { 54 for (size_t i = 0; i < tab_contents_->infobar_count(); ++i) {
54 // As when we removed the infobars above, we prevent callbacks to 55 // As when we removed the infobars above, we prevent callbacks to
55 // OnInfoBarAnimated() for each infobar. 56 // OnInfoBarAnimated() for each infobar.
56 AddInfoBar( 57 AddInfoBar(
57 tab_contents_->GetInfoBarDelegateAt(i)->CreateInfoBar(tab_contents_), 58 tab_contents_->GetInfoBarDelegateAt(i)->CreateInfoBar(tab_contents_),
58 i, false, NO_CALLBACK); 59 i, false, NO_CALLBACK);
59 } 60 }
60 } 61 }
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 // and at worst disastrous to call that. 114 // and at worst disastrous to call that.
114 delegate_ = NULL; 115 delegate_ = NULL;
115 116
116 // TODO(pkasting): Remove this once TabContentsWrapper calls CloseSoon(). 117 // TODO(pkasting): Remove this once TabContentsWrapper calls CloseSoon().
117 for (size_t i = infobars_.size(); i > 0; --i) 118 for (size_t i = infobars_.size(); i > 0; --i)
118 infobars_[i - 1]->CloseSoon(); 119 infobars_[i - 1]->CloseSoon();
119 120
120 ChangeTabContents(NULL); 121 ChangeTabContents(NULL);
121 } 122 }
122 123
123 void InfoBarContainer::Observe(NotificationType type, 124 void InfoBarContainer::Observe(int type,
124 const NotificationSource& source, 125 const NotificationSource& source,
125 const NotificationDetails& details) { 126 const NotificationDetails& details) {
126 switch (type.value) { 127 switch (type) {
127 case NotificationType::TAB_CONTENTS_INFOBAR_ADDED: 128 case chrome::NOTIFICATION_TAB_CONTENTS_INFOBAR_ADDED:
128 AddInfoBar( 129 AddInfoBar(
129 Details<InfoBarAddedDetails>(details)->CreateInfoBar(tab_contents_), 130 Details<InfoBarAddedDetails>(details)->CreateInfoBar(tab_contents_),
130 infobars_.size(), true, WANT_CALLBACK); 131 infobars_.size(), true, WANT_CALLBACK);
131 break; 132 break;
132 133
133 case NotificationType::TAB_CONTENTS_INFOBAR_REMOVED: { 134 case chrome::NOTIFICATION_TAB_CONTENTS_INFOBAR_REMOVED: {
134 InfoBarRemovedDetails* removed_details = 135 InfoBarRemovedDetails* removed_details =
135 Details<InfoBarRemovedDetails>(details).ptr(); 136 Details<InfoBarRemovedDetails>(details).ptr();
136 RemoveInfoBar(removed_details->first, removed_details->second); 137 RemoveInfoBar(removed_details->first, removed_details->second);
137 break; 138 break;
138 } 139 }
139 140
140 case NotificationType::TAB_CONTENTS_INFOBAR_REPLACED: { 141 case chrome::NOTIFICATION_TAB_CONTENTS_INFOBAR_REPLACED: {
141 InfoBarReplacedDetails* replaced_details = 142 InfoBarReplacedDetails* replaced_details =
142 Details<InfoBarReplacedDetails>(details).ptr(); 143 Details<InfoBarReplacedDetails>(details).ptr();
143 AddInfoBar(replaced_details->second->CreateInfoBar(tab_contents_), 144 AddInfoBar(replaced_details->second->CreateInfoBar(tab_contents_),
144 RemoveInfoBar(replaced_details->first, false), false, WANT_CALLBACK); 145 RemoveInfoBar(replaced_details->first, false), false, WANT_CALLBACK);
145 break; 146 break;
146 } 147 }
147 148
148 default: 149 default:
149 NOTREACHED(); 150 NOTREACHED();
150 break; 151 break;
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 return InfoBar::kDefaultArrowTargetHeight; 207 return InfoBar::kDefaultArrowTargetHeight;
207 // When the first infobar is animating closed, we animate the second infobar's 208 // When the first infobar is animating closed, we animate the second infobar's
208 // arrow target height from the default to the top target height. Note that 209 // arrow target height from the default to the top target height. Note that
209 // the animation values here are going from 1.0 -> 0.0 as the top bar closes. 210 // the animation values here are going from 1.0 -> 0.0 as the top bar closes.
210 return top_arrow_target_height_ + static_cast<int>( 211 return top_arrow_target_height_ + static_cast<int>(
211 (InfoBar::kDefaultArrowTargetHeight - top_arrow_target_height_) * 212 (InfoBar::kDefaultArrowTargetHeight - top_arrow_target_height_) *
212 first_infobar_animation.GetCurrentValue()); 213 first_infobar_animation.GetCurrentValue());
213 } 214 }
214 215
215 #endif // TOOLKIT_VIEWS || defined(TOOLKIT_GTK) 216 #endif // TOOLKIT_VIEWS || defined(TOOLKIT_GTK)
OLDNEW
« no previous file with comments | « chrome/browser/tab_contents/infobar_container.h ('k') | chrome/browser/tab_contents/popup_menu_helper_mac.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698