Index: chrome/browser/ui/views/exclusive_access_bubble_views.cc |
diff --git a/chrome/browser/ui/views/fullscreen_exit_bubble_views.cc b/chrome/browser/ui/views/exclusive_access_bubble_views.cc |
similarity index 77% |
rename from chrome/browser/ui/views/fullscreen_exit_bubble_views.cc |
rename to chrome/browser/ui/views/exclusive_access_bubble_views.cc |
index 9545d1ae45ed7d14fb61aea9494cce5142bc5c43..b5b5e682d696b75d946bca5d86ea48ed7ae2a33d 100644 |
--- a/chrome/browser/ui/views/fullscreen_exit_bubble_views.cc |
+++ b/chrome/browser/ui/views/exclusive_access_bubble_views.cc |
@@ -2,7 +2,7 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "chrome/browser/ui/views/fullscreen_exit_bubble_views.h" |
+#include "chrome/browser/ui/views/exclusive_access_bubble_views.h" |
#include "base/message_loop/message_loop.h" |
#include "base/strings/utf_string_conversions.h" |
@@ -35,7 +35,7 @@ |
#include "ui/base/l10n/l10n_util_win.h" |
#endif |
-// FullscreenExitView ---------------------------------------------------------- |
+// ExclusiveAccessView --------------------------------------------------------- |
namespace { |
@@ -62,8 +62,7 @@ class ButtonView : public views::View { |
ButtonView::ButtonView(views::ButtonListener* listener, |
int between_button_spacing) |
- : accept_button_(NULL), |
- deny_button_(NULL) { |
+ : accept_button_(NULL), deny_button_(NULL) { |
accept_button_ = new views::LabelButton(listener, base::string16()); |
accept_button_->SetStyle(views::Button::STYLE_BUTTON); |
accept_button_->SetFocusable(false); |
@@ -87,16 +86,16 @@ gfx::Size ButtonView::GetPreferredSize() const { |
} // namespace |
-class FullscreenExitBubbleViews::FullscreenExitView |
+class ExclusiveAccessBubbleViews::ExclusiveAccessView |
: public views::View, |
public views::ButtonListener, |
public views::LinkListener { |
public: |
- FullscreenExitView(FullscreenExitBubbleViews* bubble, |
- const base::string16& accelerator, |
- const GURL& url, |
- FullscreenExitBubbleType bubble_type); |
- ~FullscreenExitView() override; |
+ ExclusiveAccessView(ExclusiveAccessBubbleViews* bubble, |
+ const base::string16& accelerator, |
+ const GURL& url, |
+ ExclusiveAccessBubbleType bubble_type); |
+ ~ExclusiveAccessView() override; |
// views::ButtonListener |
void ButtonPressed(views::Button* sender, const ui::Event& event) override; |
@@ -104,10 +103,10 @@ class FullscreenExitBubbleViews::FullscreenExitView |
// views::LinkListener |
void LinkClicked(views::Link* source, int event_flags) override; |
- void UpdateContent(const GURL& url, FullscreenExitBubbleType bubble_type); |
+ void UpdateContent(const GURL& url, ExclusiveAccessBubbleType bubble_type); |
private: |
- FullscreenExitBubbleViews* bubble_; |
+ ExclusiveAccessBubbleViews* bubble_; |
// Clickable hint text for exiting fullscreen mode. |
views::Link* link_; |
@@ -118,14 +117,14 @@ class FullscreenExitBubbleViews::FullscreenExitView |
ButtonView* button_view_; |
const base::string16 browser_fullscreen_exit_accelerator_; |
- DISALLOW_COPY_AND_ASSIGN(FullscreenExitView); |
+ DISALLOW_COPY_AND_ASSIGN(ExclusiveAccessView); |
}; |
-FullscreenExitBubbleViews::FullscreenExitView::FullscreenExitView( |
- FullscreenExitBubbleViews* bubble, |
+ExclusiveAccessBubbleViews::ExclusiveAccessView::ExclusiveAccessView( |
+ ExclusiveAccessBubbleViews* bubble, |
const base::string16& accelerator, |
const GURL& url, |
- FullscreenExitBubbleType bubble_type) |
+ ExclusiveAccessBubbleType bubble_type) |
: bubble_(bubble), |
link_(NULL), |
mouse_lock_exit_instruction_(NULL), |
@@ -134,8 +133,7 @@ FullscreenExitBubbleViews::FullscreenExitView::FullscreenExitView( |
browser_fullscreen_exit_accelerator_(accelerator) { |
scoped_ptr<views::BubbleBorder> bubble_border( |
new views::BubbleBorder(views::BubbleBorder::NONE, |
- views::BubbleBorder::BIG_SHADOW, |
- SK_ColorWHITE)); |
+ views::BubbleBorder::BIG_SHADOW, SK_ColorWHITE)); |
set_background(new views::BubbleBackground(bubble_border.get())); |
SetBorder(bubble_border.Pass()); |
SetFocusable(false); |
@@ -195,10 +193,10 @@ FullscreenExitBubbleViews::FullscreenExitView::FullscreenExitView( |
UpdateContent(url, bubble_type); |
} |
-FullscreenExitBubbleViews::FullscreenExitView::~FullscreenExitView() { |
+ExclusiveAccessBubbleViews::ExclusiveAccessView::~ExclusiveAccessView() { |
} |
-void FullscreenExitBubbleViews::FullscreenExitView::ButtonPressed( |
+void ExclusiveAccessBubbleViews::ExclusiveAccessView::ButtonPressed( |
views::Button* sender, |
const ui::Event& event) { |
if (sender == button_view_->accept_button()) |
@@ -207,19 +205,19 @@ void FullscreenExitBubbleViews::FullscreenExitView::ButtonPressed( |
bubble_->Cancel(); |
} |
-void FullscreenExitBubbleViews::FullscreenExitView::LinkClicked( |
+void ExclusiveAccessBubbleViews::ExclusiveAccessView::LinkClicked( |
views::Link* link, |
int event_flags) { |
bubble_->ToggleFullscreen(); |
} |
-void FullscreenExitBubbleViews::FullscreenExitView::UpdateContent( |
+void ExclusiveAccessBubbleViews::ExclusiveAccessView::UpdateContent( |
const GURL& url, |
- FullscreenExitBubbleType bubble_type) { |
- DCHECK_NE(FEB_TYPE_NONE, bubble_type); |
+ ExclusiveAccessBubbleType bubble_type) { |
+ DCHECK_NE(EXCLUSIVE_ACCESS_BUBBLE_TYPE_NONE, bubble_type); |
message_label_->SetText(bubble_->GetCurrentMessageText()); |
- if (fullscreen_bubble::ShowButtonsForType(bubble_type)) { |
+ if (exclusive_access_bubble::ShowButtonsForType(bubble_type)) { |
link_->SetVisible(false); |
mouse_lock_exit_instruction_->SetVisible(false); |
button_view_->SetVisible(true); |
@@ -228,21 +226,23 @@ void FullscreenExitBubbleViews::FullscreenExitView::UpdateContent( |
} else { |
bool link_visible = true; |
base::string16 accelerator; |
- if (bubble_type == FEB_TYPE_BROWSER_FULLSCREEN_EXIT_INSTRUCTION || |
- bubble_type == FEB_TYPE_BROWSER_EXTENSION_FULLSCREEN_EXIT_INSTRUCTION) { |
+ if (bubble_type == |
+ EXCLUSIVE_ACCESS_BUBBLE_TYPE_BROWSER_FULLSCREEN_EXIT_INSTRUCTION || |
+ bubble_type == |
+ EXCLUSIVE_ACCESS_BUBBLE_TYPE_EXTENSION_FULLSCREEN_EXIT_INSTRUCTION) { |
accelerator = browser_fullscreen_exit_accelerator_; |
- } else if (bubble_type == FEB_TYPE_FULLSCREEN_EXIT_INSTRUCTION) { |
+ } else if (bubble_type == |
+ EXCLUSIVE_ACCESS_BUBBLE_TYPE_FULLSCREEN_EXIT_INSTRUCTION) { |
accelerator = l10n_util::GetStringUTF16(IDS_APP_ESC_KEY); |
} else { |
link_visible = false; |
} |
#if !defined(OS_CHROMEOS) |
if (link_visible) { |
- link_->SetText( |
- l10n_util::GetStringUTF16(IDS_EXIT_FULLSCREEN_MODE) + |
- base::UTF8ToUTF16(" ") + |
- l10n_util::GetStringFUTF16(IDS_EXIT_FULLSCREEN_MODE_ACCELERATOR, |
- accelerator)); |
+ link_->SetText(l10n_util::GetStringUTF16(IDS_EXIT_FULLSCREEN_MODE) + |
+ base::UTF8ToUTF16(" ") + |
+ l10n_util::GetStringFUTF16( |
+ IDS_EXIT_FULLSCREEN_MODE_ACCELERATOR, accelerator)); |
} |
#endif |
link_->SetVisible(link_visible); |
@@ -251,14 +251,13 @@ void FullscreenExitBubbleViews::FullscreenExitView::UpdateContent( |
} |
} |
+// ExclusiveAccessBubbleViews -------------------------------------------------- |
-// FullscreenExitBubbleViews --------------------------------------------------- |
- |
-FullscreenExitBubbleViews::FullscreenExitBubbleViews( |
+ExclusiveAccessBubbleViews::ExclusiveAccessBubbleViews( |
BrowserView* browser_view, |
const GURL& url, |
- FullscreenExitBubbleType bubble_type) |
- : FullscreenExitBubble(browser_view->browser(), url, bubble_type), |
+ ExclusiveAccessBubbleType bubble_type) |
+ : ExclusiveAccessBubble(browser_view->browser(), url, bubble_type), |
browser_view_(browser_view), |
popup_(NULL), |
animation_(new gfx::SlideAnimation(this)), |
@@ -267,11 +266,11 @@ FullscreenExitBubbleViews::FullscreenExitBubbleViews( |
// Create the contents view. |
ui::Accelerator accelerator(ui::VKEY_UNKNOWN, ui::EF_NONE); |
- bool got_accelerator = browser_view_->GetWidget()->GetAccelerator( |
- IDC_FULLSCREEN, &accelerator); |
+ bool got_accelerator = |
+ browser_view_->GetWidget()->GetAccelerator(IDC_FULLSCREEN, &accelerator); |
DCHECK(got_accelerator); |
- view_ = new FullscreenExitView( |
- this, accelerator.GetShortcutText(), url, bubble_type_); |
+ view_ = new ExclusiveAccessView(this, accelerator.GetShortcutText(), url, |
+ bubble_type_); |
// TODO(yzshen): Change to use the new views bubble, BubbleDelegateView. |
// TODO(pkotwicz): When this becomes a views bubble, make sure that this |
@@ -296,16 +295,14 @@ FullscreenExitBubbleViews::FullscreenExitBubbleViews( |
popup_->AddObserver(this); |
- registrar_.Add( |
- this, |
- chrome::NOTIFICATION_FULLSCREEN_CHANGED, |
- content::Source<FullscreenController>( |
- browser_view_->browser()->fullscreen_controller())); |
+ registrar_.Add(this, chrome::NOTIFICATION_FULLSCREEN_CHANGED, |
+ content::Source<FullscreenController>( |
+ browser_view_->browser()->fullscreen_controller())); |
UpdateForImmersiveState(); |
} |
-FullscreenExitBubbleViews::~FullscreenExitBubbleViews() { |
+ExclusiveAccessBubbleViews::~ExclusiveAccessBubbleViews() { |
popup_->RemoveObserver(this); |
// This is tricky. We may be in an ATL message handler stack, in which case |
@@ -321,10 +318,10 @@ FullscreenExitBubbleViews::~FullscreenExitBubbleViews() { |
base::MessageLoop::current()->DeleteSoon(FROM_HERE, popup_); |
} |
-void FullscreenExitBubbleViews::UpdateContent( |
+void ExclusiveAccessBubbleViews::UpdateContent( |
const GURL& url, |
- FullscreenExitBubbleType bubble_type) { |
- DCHECK_NE(FEB_TYPE_NONE, bubble_type); |
+ ExclusiveAccessBubbleType bubble_type) { |
+ DCHECK_NE(EXCLUSIVE_ACCESS_BUBBLE_TYPE_NONE, bubble_type); |
if (bubble_type_ == bubble_type && url_ == url) |
return; |
@@ -345,15 +342,16 @@ void FullscreenExitBubbleViews::UpdateContent( |
UpdateMouseWatcher(); |
} |
-void FullscreenExitBubbleViews::RepositionIfVisible() { |
+void ExclusiveAccessBubbleViews::RepositionIfVisible() { |
if (popup_->IsVisible()) |
UpdateBounds(); |
} |
-void FullscreenExitBubbleViews::UpdateMouseWatcher() { |
+void ExclusiveAccessBubbleViews::UpdateMouseWatcher() { |
bool should_watch_mouse = false; |
if (popup_->IsVisible()) |
- should_watch_mouse = !fullscreen_bubble::ShowButtonsForType(bubble_type_); |
+ should_watch_mouse = |
+ !exclusive_access_bubble::ShowButtonsForType(bubble_type_); |
else |
should_watch_mouse = CanMouseTriggerSlideIn(); |
@@ -366,10 +364,11 @@ void FullscreenExitBubbleViews::UpdateMouseWatcher() { |
StopWatchingMouse(); |
} |
-void FullscreenExitBubbleViews::UpdateForImmersiveState() { |
+void ExclusiveAccessBubbleViews::UpdateForImmersiveState() { |
AnimatedAttribute expected_animated_attribute = |
- browser_view_->immersive_mode_controller()->IsEnabled() ? |
- ANIMATED_ATTRIBUTE_OPACITY : ANIMATED_ATTRIBUTE_BOUNDS; |
+ browser_view_->immersive_mode_controller()->IsEnabled() |
+ ? ANIMATED_ATTRIBUTE_OPACITY |
+ : ANIMATED_ATTRIBUTE_BOUNDS; |
if (animated_attribute_ != expected_animated_attribute) { |
// If an animation is currently in progress, skip to the end because |
// switching the animated attribute midway through the animation looks |
@@ -390,7 +389,7 @@ void FullscreenExitBubbleViews::UpdateForImmersiveState() { |
UpdateMouseWatcher(); |
} |
-void FullscreenExitBubbleViews::UpdateBounds() { |
+void ExclusiveAccessBubbleViews::UpdateBounds() { |
gfx::Rect popup_rect(GetPopupRect(false)); |
if (!popup_rect.IsEmpty()) { |
popup_->SetBounds(popup_rect); |
@@ -398,11 +397,11 @@ void FullscreenExitBubbleViews::UpdateBounds() { |
} |
} |
-views::View* FullscreenExitBubbleViews::GetBrowserRootView() const { |
+views::View* ExclusiveAccessBubbleViews::GetBrowserRootView() const { |
return browser_view_->GetWidget()->GetRootView(); |
} |
-void FullscreenExitBubbleViews::AnimationProgressed( |
+void ExclusiveAccessBubbleViews::AnimationProgressed( |
const gfx::Animation* animation) { |
if (animated_attribute_ == ANIMATED_ATTRIBUTE_OPACITY) { |
int opacity = animation_->CurrentValueBetween(0, 255); |
@@ -422,20 +421,21 @@ void FullscreenExitBubbleViews::AnimationProgressed( |
} |
} |
-void FullscreenExitBubbleViews::AnimationEnded( |
+void ExclusiveAccessBubbleViews::AnimationEnded( |
const gfx::Animation* animation) { |
AnimationProgressed(animation); |
} |
-gfx::Rect FullscreenExitBubbleViews::GetPopupRect( |
+gfx::Rect ExclusiveAccessBubbleViews::GetPopupRect( |
bool ignore_animation_state) const { |
gfx::Size size(view_->GetPreferredSize()); |
// NOTE: don't use the bounds of the root_view_. On linux GTK changing window |
// size is async. Instead we use the size of the screen. |
gfx::Screen* screen = |
gfx::Screen::GetScreenFor(browser_view_->GetWidget()->GetNativeView()); |
- gfx::Rect screen_bounds = screen->GetDisplayNearestWindow( |
- browser_view_->GetWidget()->GetNativeView()).bounds(); |
+ gfx::Rect screen_bounds = |
+ screen->GetDisplayNearestWindow( |
+ browser_view_->GetWidget()->GetNativeView()).bounds(); |
int x = screen_bounds.x() + (screen_bounds.width() - size.width()) / 2; |
int top_container_bottom = screen_bounds.y(); |
@@ -465,40 +465,41 @@ gfx::Rect FullscreenExitBubbleViews::GetPopupRect( |
return gfx::Rect(gfx::Point(x, y), size); |
} |
-gfx::Point FullscreenExitBubbleViews::GetCursorScreenPoint() { |
- gfx::Point cursor_pos = gfx::Screen::GetScreenFor( |
- browser_view_->GetWidget()->GetNativeView())->GetCursorScreenPoint(); |
+gfx::Point ExclusiveAccessBubbleViews::GetCursorScreenPoint() { |
+ gfx::Point cursor_pos = |
+ gfx::Screen::GetScreenFor(browser_view_->GetWidget()->GetNativeView()) |
+ ->GetCursorScreenPoint(); |
views::View::ConvertPointFromScreen(GetBrowserRootView(), &cursor_pos); |
return cursor_pos; |
} |
-bool FullscreenExitBubbleViews::WindowContainsPoint(gfx::Point pos) { |
+bool ExclusiveAccessBubbleViews::WindowContainsPoint(gfx::Point pos) { |
return GetBrowserRootView()->HitTestPoint(pos); |
} |
-bool FullscreenExitBubbleViews::IsWindowActive() { |
+bool ExclusiveAccessBubbleViews::IsWindowActive() { |
return browser_view_->GetWidget()->IsActive(); |
} |
-void FullscreenExitBubbleViews::Hide() { |
+void ExclusiveAccessBubbleViews::Hide() { |
animation_->SetSlideDuration(kSlideOutDurationMs); |
animation_->Hide(); |
} |
-void FullscreenExitBubbleViews::Show() { |
+void ExclusiveAccessBubbleViews::Show() { |
animation_->SetSlideDuration(kSlideInDurationMs); |
animation_->Show(); |
} |
-bool FullscreenExitBubbleViews::IsAnimating() { |
+bool ExclusiveAccessBubbleViews::IsAnimating() { |
return animation_->is_animating(); |
} |
-bool FullscreenExitBubbleViews::CanMouseTriggerSlideIn() const { |
+bool ExclusiveAccessBubbleViews::CanMouseTriggerSlideIn() const { |
return !browser_view_->immersive_mode_controller()->IsEnabled(); |
} |
-void FullscreenExitBubbleViews::Observe( |
+void ExclusiveAccessBubbleViews::Observe( |
int type, |
const content::NotificationSource& source, |
const content::NotificationDetails& details) { |
@@ -506,7 +507,7 @@ void FullscreenExitBubbleViews::Observe( |
UpdateForImmersiveState(); |
} |
-void FullscreenExitBubbleViews::OnWidgetVisibilityChanged( |
+void ExclusiveAccessBubbleViews::OnWidgetVisibilityChanged( |
views::Widget* widget, |
bool visible) { |
UpdateMouseWatcher(); |