1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_BROWSER_TAB_CONTENTS_RENDER_VIEW_CONTEXT_MENU_BROWSERTEST_UTIL_H_ 6 #define CHROME_BROWSER_TAB_CONTENTS_RENDER_VIEW_CONTEXT_MENU_BROWSERTEST_UTIL_H_ 7 8 #include "base/basictypes.h" 9 #include "content/public/browser/notification_observer.h" 10 #include "content/public/browser/notification_registrar.h" 11 12 class RenderViewContextMenu; 13 14 class ContextMenuNotificationObserver : public content::NotificationObserver { 15 public: 16 // Wait for a context menu to be shown, and then execute |command_to_execute|. 17 explicit ContextMenuNotificationObserver(int command_to_execute); 18 virtual ~ContextMenuNotificationObserver(); 19 20 private: 21 virtual void Observe(int type, 22 const content::NotificationSource& source, 23 const content::NotificationDetails& details) OVERRIDE; 24 25 void ExecuteCommand(RenderViewContextMenu* context_menu); 26 27 content::NotificationRegistrar registrar_; 28 int command_to_execute_; 29 30 DISALLOW_COPY_AND_ASSIGN(ContextMenuNotificationObserver); 31 }; 32 33 #endif // CHROME_BROWSER_TAB_CONTENTS_RENDER_VIEW_CONTEXT_MENU_BROWSERTEST_UTIL_H_ 34