| Index: mash/shelf/shelf_button_host.h
 | 
| diff --git a/ash/shelf/shelf_button_host.h b/mash/shelf/shelf_button_host.h
 | 
| similarity index 60%
 | 
| copy from ash/shelf/shelf_button_host.h
 | 
| copy to mash/shelf/shelf_button_host.h
 | 
| index b664c7f407777d18f7cad77671fb379c76f0b8ee..4111fdd2c797ec6c64426805f2e8b3e607d87e4e 100644
 | 
| --- a/ash/shelf/shelf_button_host.h
 | 
| +++ b/mash/shelf/shelf_button_host.h
 | 
| @@ -2,11 +2,12 @@
 | 
|  // Use of this source code is governed by a BSD-style license that can be
 | 
|  // found in the LICENSE file.
 | 
|  
 | 
| -#ifndef ASH_SHELF_SHELF_BUTTON_HOST_H_
 | 
| -#define ASH_SHELF_SHELF_BUTTON_HOST_H_
 | 
| +#ifndef MASH_SHELF_SHELF_BUTTON_HOST_H_
 | 
| +#define MASH_SHELF_SHELF_BUTTON_HOST_H_
 | 
|  
 | 
| -#include "ash/ash_export.h"
 | 
| +#include "base/logging.h"
 | 
|  #include "base/strings/string16.h"
 | 
| +#include "mash/shelf/shelf_types.h"
 | 
|  
 | 
|  namespace ui {
 | 
|  class LocatedEvent;
 | 
| @@ -16,11 +17,13 @@ namespace views {
 | 
|  class View;
 | 
|  }
 | 
|  
 | 
| -namespace ash {
 | 
| +namespace mash {
 | 
| +namespace shelf {
 | 
|  
 | 
| +// TODO(msw): Eliminate this abstraction and just pass pointers to ShelfView?
 | 
|  // The shelf buttons communicate back to the host by way of this interface.
 | 
|  // This interface is used to enable reordering the items on the shelf.
 | 
| -class ASH_EXPORT ShelfButtonHost {
 | 
| +class ShelfButtonHost {
 | 
|   public:
 | 
|    enum Pointer {
 | 
|      NONE,
 | 
| @@ -29,6 +32,29 @@ class ASH_EXPORT ShelfButtonHost {
 | 
|      TOUCH,
 | 
|    };
 | 
|  
 | 
| +  virtual ShelfAlignment GetAlignment() const = 0;
 | 
| +
 | 
| +  virtual bool IsHorizontalAlignment() const = 0;
 | 
| +
 | 
| +  // Helper function for choosing values specific to the shelf alignment.
 | 
| +  template<typename T>
 | 
| +  T PrimaryAxisValue(T horizontal, T vertical) const {
 | 
| +    return IsHorizontalAlignment() ? horizontal : vertical;
 | 
| +  }
 | 
| +
 | 
| +  // Helper function for choosing values specific to the shelf alignment.
 | 
| +  template<typename T>
 | 
| +  T SelectValueForShelfAlignment(T bottom, T left, T right, T top) const {
 | 
| +    switch (GetAlignment()) {
 | 
| +      case SHELF_ALIGNMENT_BOTTOM: return bottom;
 | 
| +      case SHELF_ALIGNMENT_LEFT:   return left;
 | 
| +      case SHELF_ALIGNMENT_RIGHT:  return right;
 | 
| +      case SHELF_ALIGNMENT_TOP:    return top;
 | 
| +    }
 | 
| +    NOTREACHED();
 | 
| +    return bottom;
 | 
| +  }
 | 
| +
 | 
|    // Invoked when a pointer device is pressed on a view.
 | 
|    virtual void PointerPressedOnButton(views::View* view,
 | 
|                                        Pointer pointer,
 | 
| @@ -60,6 +86,7 @@ class ASH_EXPORT ShelfButtonHost {
 | 
|    virtual ~ShelfButtonHost() {}
 | 
|  };
 | 
|  
 | 
| -}  // namespace ash
 | 
| +}  // namespace shelf
 | 
| +}  // namespace mash
 | 
|  
 | 
| -#endif  // ASH_SHELF_SHELF_BUTTON_HOST_H_
 | 
| +#endif  // MASH_SHELF_SHELF_BUTTON_HOST_H_
 | 
| 
 |