// Copyright (c) 2010 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. #include "chrome/browser/views/extensions/extension_action_context_menu.h" #include "chrome/browser/browser.h" #include "chrome/browser/browser_list.h" #include "chrome/browser/extensions/extensions_service.h" #include "chrome/browser/profile.h" ExtensionActionContextMenu::ExtensionActionContextMenu() : extension_(NULL) { } ExtensionActionContextMenu::~ExtensionActionContextMenu() { } void ExtensionActionContextMenu::Run(Extension* extension, const gfx::Point& point) { extension_ = extension; context_menu_contents_.reset( new ExtensionActionContextMenuModel(extension)); context_menu_menu_.reset(new views::Menu2(context_menu_contents_.get())); // This call blocks until the menu is dismissed or something is selected. context_menu_menu_->RunContextMenuAt(point); } void ExtensionActionContextMenu::Cancel() { if (context_menu_menu_.get()) context_menu_menu_->CancelMenu(); }