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

Unified Diff: chrome/browser/ui/gtk/status_bubble_gtk.h

Issue 231733005: Delete the GTK+ port of Chrome. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remerge to ToT Created 6 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/gtk/status_bubble_gtk.h
diff --git a/chrome/browser/ui/gtk/status_bubble_gtk.h b/chrome/browser/ui/gtk/status_bubble_gtk.h
deleted file mode 100644
index 0d9460b303eaf3930e46caf0f620689f534cf67f..0000000000000000000000000000000000000000
--- a/chrome/browser/ui/gtk/status_bubble_gtk.h
+++ /dev/null
@@ -1,177 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_UI_GTK_STATUS_BUBBLE_GTK_H_
-#define CHROME_BROWSER_UI_GTK_STATUS_BUBBLE_GTK_H_
-
-#include <gtk/gtk.h>
-
-#include <string>
-
-#include "base/compiler_specific.h"
-#include "base/memory/scoped_ptr.h"
-#include "base/timer/timer.h"
-#include "chrome/browser/ui/status_bubble.h"
-#include "content/public/browser/notification_observer.h"
-#include "content/public/browser/notification_registrar.h"
-#include "ui/base/gtk/gtk_signal.h"
-#include "ui/base/gtk/owned_widget_gtk.h"
-#include "ui/gfx/animation/animation_delegate.h"
-#include "ui/gfx/point.h"
-#include "url/gurl.h"
-
-class GtkThemeService;
-class Profile;
-
-namespace gfx {
-class SlideAnimation;
-}
-
-// GTK implementation of StatusBubble. Unlike Windows, our status bubble
-// doesn't have the nice leave-the-window effect since we can't rely on the
-// window manager to not try to be "helpful" and center our popups, etc.
-// We therefore position it absolutely in a GtkFixed, that we don't own.
-class StatusBubbleGtk : public StatusBubble,
- public content::NotificationObserver,
- public gfx::AnimationDelegate {
- public:
- explicit StatusBubbleGtk(Profile* profile);
- virtual ~StatusBubbleGtk();
-
- bool flip_horizontally() const { return flip_horizontally_; }
- int y_offset() const { return y_offset_; }
-
- // StatusBubble implementation.
- virtual void SetStatus(const base::string16& status) OVERRIDE;
- virtual void SetURL(const GURL& url, const std::string& languages) OVERRIDE;
- virtual void Hide() OVERRIDE;
- virtual void MouseMoved(const gfx::Point& location,
- bool left_content) OVERRIDE;
-
- // gfx::AnimationDelegate implementation.
- virtual void AnimationEnded(const gfx::Animation* animation) OVERRIDE;
- virtual void AnimationProgressed(const gfx::Animation* animation) OVERRIDE;
-
- // Called when the download shelf becomes visible or invisible.
- // This is used by to ensure that the status bubble does not obscure
- // the download shelf, when it is visible.
- virtual void UpdateDownloadShelfVisibility(bool visible) OVERRIDE;
-
- // Overridden from content::NotificationObserver:
- virtual void Observe(int type,
- const content::NotificationSource& source,
- const content::NotificationDetails& details) OVERRIDE;
-
- // Top of the widget hierarchy for a StatusBubble. This top level widget is
- // guarenteed to have its gtk_widget_name set to "status-bubble" for
- // identification.
- GtkWidget* widget() { return container_.get(); }
-
- private:
- // Sets the text of the label widget and controls visibility. (As contrasted
- // with setting the current status or URL text, which may be ignored for now).
- void SetStatusTextTo(const std::string& status_utf8);
-
- // Sets the status text to the current value of |url_|, eliding it as
- // necessary.
- void SetStatusTextToURL();
-
- // Sets the status bubble's location in the parent GtkFixed, shows the widget
- // and makes sure that the status bubble has the highest z-order.
- void Show();
-
- // Builds the widgets, containers, etc.
- void InitWidgets();
-
- // Notification from the window that we should retheme ourself.
- void UserChangedTheme();
-
- // Sets whether the bubble should be flipped horizontally and displayed on the
- // opposite side of the tab contents. Reshapes the container and queues a
- // redraw if necessary.
- void SetFlipHorizontally(bool flip_horizontally);
-
- // Expand the bubble up to the full width of the browser, so that the entire
- // URL may be seen. Called after the user hovers over a link for sufficient
- // time.
- void ExpandURL();
-
- // Adjust the actual size of the bubble by changing the label's size request.
- void UpdateLabelSizeRequest();
-
- // Returns true if the status bubble is in the expand-state (i.e., is
- // currently expanded or in the process of expanding).
- bool expanded() {
- return expand_animation_.get();
- }
-
- CHROMEGTK_CALLBACK_1(StatusBubbleGtk, gboolean, HandleMotionNotify,
- GdkEventMotion*);
-
- CHROMEGTK_CALLBACK_1(StatusBubbleGtk, gboolean, HandleEnterNotify,
- GdkEventCrossing*);
-
- content::NotificationRegistrar registrar_;
-
- // Provides colors.
- GtkThemeService* theme_service_;
-
- // The toplevel event box.
- ui::OwnedWidgetGtk container_;
-
- // The GtkAlignment holding |label_|.
- GtkWidget* padding_;
-
- // The GtkLabel holding the text.
- ui::OwnedWidgetGtk label_;
-
- // The status text we want to display when there are no URLs to display.
- std::string status_text_;
-
- // The URL we are displaying for.
- GURL url_;
-
- // The possibly elided url text we want to display.
- std::string url_text_;
-
- // Used to determine the character set that the user can read (for eliding
- // the url text).
- std::string languages_;
-
- // A timer that hides our window after a delay.
- base::OneShotTimer<StatusBubbleGtk> hide_timer_;
-
- // A timer that expands our window after a delay.
- base::OneShotTimer<StatusBubbleGtk> expand_timer_;
-
- // The animation for resizing the status bubble on long hovers.
- scoped_ptr<gfx::SlideAnimation> expand_animation_;
-
- // The start and end width of the current resize animation.
- int start_width_;
- int desired_width_;
-
- // Should the bubble be flipped horizontally (e.g. displayed on the right for
- // an LTR language)? We move the bubble to the other side of the tab contents
- // rather than sliding it down when the download shelf is visible.
- bool flip_horizontally_;
-
- // Vertical offset used to hide the status bubble as the pointer nears it.
- int y_offset_;
-
- // If the download shelf is visible, do not obscure it.
- bool download_shelf_is_visible_;
-
- // 'location' and 'left_content' values from the last invocation of
- // MouseMoved(). We hang onto these so we can move the bubble if necessary
- // when its text changes, triggering a size change.
- gfx::Point last_mouse_location_;
- bool last_mouse_left_content_;
-
- // Shortly after the cursor enters the status bubble, we'll get a message
- // that the cursor left the content area. This lets us ignore that.
- bool ignore_next_left_content_;
-};
-
-#endif // CHROME_BROWSER_UI_GTK_STATUS_BUBBLE_GTK_H_

Powered by Google App Engine
This is Rietveld 408576698