| Index: chrome/browser/views/browser_actions_container.h
|
| ===================================================================
|
| --- chrome/browser/views/browser_actions_container.h (revision 37723)
|
| +++ chrome/browser/views/browser_actions_container.h (working copy)
|
| @@ -19,8 +19,8 @@
|
| #include "views/controls/resize_gripper.h"
|
| #include "views/view.h"
|
|
|
| +class BrowserActionOverflowMenuController;
|
| class BrowserActionsContainer;
|
| -class BrowserActionOverflowMenuController;
|
| class Extension;
|
| class ExtensionAction;
|
| class ExtensionPopup;
|
| @@ -49,6 +49,9 @@
|
| // Called to update the display to match the browser action's state.
|
| void UpdateState();
|
|
|
| + // Returns the default icon, if any.
|
| + const SkBitmap& default_icon() const { return default_icon_; }
|
| +
|
| // Overridden from views::View. Return a 0-inset so the icon can draw all the
|
| // way to the edge of the view if it wants.
|
| virtual gfx::Insets GetInsets() const;
|
| @@ -137,6 +140,8 @@
|
|
|
| // The button this view contains.
|
| BrowserActionButton* button_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(BrowserActionView);
|
| };
|
|
|
| ////////////////////////////////////////////////////////////////////////////////
|
| @@ -217,6 +222,7 @@
|
| public NotificationObserver,
|
| public BrowserBubble::Delegate,
|
| public views::ViewMenuDelegate,
|
| + public views::DragController,
|
| public views::ResizeGripper::ResizeGripperDelegate,
|
| public AnimationDelegate,
|
| public ExtensionToolbarModel::Observer {
|
| @@ -249,6 +255,9 @@
|
| // Update the views to reflect the state of the browser action icons.
|
| void RefreshBrowserActionViews();
|
|
|
| + // Sets up the browser action view vector.
|
| + void CreateBrowserActionViews();
|
| +
|
| // Delete all browser action views.
|
| void DeleteBrowserActionViews();
|
|
|
| @@ -265,6 +274,14 @@
|
| virtual void ViewHierarchyChanged(bool is_add,
|
| views::View* parent,
|
| views::View* child);
|
| + virtual bool GetDropFormats(
|
| + int* formats, std::set<OSExchangeData::CustomFormat>* custom_formats);
|
| + virtual bool AreDropTypesRequired();
|
| + virtual bool CanDrop(const OSExchangeData& data);
|
| + virtual void OnDragEntered(const views::DropTargetEvent& event);
|
| + virtual int OnDragUpdated(const views::DropTargetEvent& event);
|
| + virtual void OnDragExited();
|
| + virtual int OnPerformDrop(const views::DropTargetEvent& event);
|
|
|
| // Overridden from NotificationObserver:
|
| virtual void Observe(NotificationType type,
|
| @@ -281,6 +298,18 @@
|
| // Overridden from views::ViewMenuDelegate:
|
| virtual void RunMenu(View* source, const gfx::Point& pt);
|
|
|
| + // Overridden from views::DragController:
|
| + virtual void WriteDragData(View* sender,
|
| + int press_x,
|
| + int press_y,
|
| + OSExchangeData* data);
|
| + virtual int GetDragOperations(View* sender, int x, int y);
|
| + virtual bool CanStartDrag(View* sender,
|
| + int press_x,
|
| + int press_y,
|
| + int x,
|
| + int y);
|
| +
|
| // Overridden from ResizeGripper::ResizeGripperDelegate:
|
| virtual void OnResize(int resize_amount, bool done_resizing);
|
|
|
| @@ -302,14 +331,19 @@
|
| // ExtensionToolbarModel::Observer implementation.
|
| virtual void BrowserActionAdded(Extension* extension, int index);
|
| virtual void BrowserActionRemoved(Extension* extension);
|
| + virtual void BrowserActionMoved(Extension* extension, int index);
|
|
|
| // Closes the overflow menu if open.
|
| void CloseOverflowMenu();
|
|
|
| // Takes a width in pixels, calculates how many icons fit within that space
|
| // (up to the maximum number of icons in our vector) and shaves off the
|
| - // excess pixels.
|
| - int ClampToNearestIconCount(int pixels) const;
|
| + // excess pixels. |allow_shrink_to_minimum| specifies whether this function
|
| + // clamps the size down further (down to ContainerMinSize()) if there is not
|
| + // room for even one icon. When determining how large the container should be
|
| + // this should be |true|. When determining where to place items, such as the
|
| + // drop indicator, this should be |false|.
|
| + int ClampToNearestIconCount(int pixels, bool allow_shrink_to_minimum) const;
|
|
|
| // Calculates the width of the container area NOT used to show the icons (the
|
| // controls to the left and to the right of the icons).
|
| @@ -374,6 +408,9 @@
|
| // are done animating.
|
| int animation_target_size_;
|
|
|
| + // The x position for where to draw the drop indicator. -1 if no indicator.
|
| + int drop_indicator_position_;
|
| +
|
| ScopedRunnableMethodFactory<BrowserActionsContainer> task_factory_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(BrowserActionsContainer);
|
|
|