Index: ui/views/controls/menu/menu_runner.h |
diff --git a/ui/views/controls/menu/menu_runner.h b/ui/views/controls/menu/menu_runner.h |
index 824afdf8d4b52a37c7a37eb4bc8f36d67ebd8aa4..51796f23a83990ff3cb6d11fa35a55b860d1dc3f 100644 |
--- a/ui/views/controls/menu/menu_runner.h |
+++ b/ui/views/controls/menu/menu_runner.h |
@@ -34,7 +34,7 @@ class Widget; |
namespace internal { |
class DisplayChangeListener; |
-class MenuRunnerImpl; |
+class MenuRunnerImplInterface; |
} |
namespace test { |
@@ -133,9 +133,16 @@ class VIEWS_EXPORT MenuRunner { |
// Sets an implementation of RunMenuAt. This is intended to be used at test. |
void SetRunnerHandler(scoped_ptr<MenuRunnerHandler> runner_handler); |
+ internal::MenuRunnerImplInterface* CreateImpl(int32 types); |
+ internal::MenuRunnerImplInterface* CreateNativeImpl(); |
tapted
2014/06/24 23:28:08
Id probably try to have
MenuRunnerImplInterface::
|
+ |
+ ui::MenuModel* menu_model_; // Weak. Owned by our owner. |
+ // NULL if constructed with a MenuView. |
scoped_ptr<MenuModelAdapter> menu_model_adapter_; |
+ MenuItemView* menu_view_; // Weak. Owned by holder_. Can be NULL. |
- internal::MenuRunnerImpl* holder_; |
+ // We own this. No scoped_ptr because it is destroyed by calling Release(). |
+ internal::MenuRunnerImplInterface* holder_; |
// An implementation of RunMenuAt. This is usually NULL and ignored. If this |
// is not NULL, this implementation will be used. |
@@ -164,7 +171,7 @@ class DisplayChangeListener { |
DisplayChangeListener() {} |
}; |
-} |
+} // namespace internal |
} // namespace views |