cef/libcef/browser/menu_runner.h
Marshall Greenblatt 17fc2b3e3b Various fixes related to the C++11/14 update (see issue #3140)
- Convert scoped_ptr to std::unique_ptr from <memory>
- Convert arraysize to base::size from include/base/cef_cxx17_backports.h
- Convert NULL to nullptr
- Include include/base/cef_callback.h instead of include/base/cef_bind.h
- Implicit conversion of CefRefPtr<T> or scoped_refptr<T> to T* is gone;
  use .get() instead

See the issue for additional details.
2021-06-18 13:42:31 -04:00

40 lines
1.1 KiB
C++

// Copyright (c) 2012 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that can
// be found in the LICENSE file.
#ifndef CEF_LIBCEF_BROWSER_MENU_RUNNER_H_
#define CEF_LIBCEF_BROWSER_MENU_RUNNER_H_
#include <memory>
#include <string>
#include "base/macros.h"
namespace content {
struct ContextMenuParams;
}
class AlloyBrowserHostImpl;
class CefMenuModelImpl;
// Provides platform-specific menu implementations for CefMenuCreator.
class CefMenuRunner {
public:
virtual bool RunContextMenu(AlloyBrowserHostImpl* browser,
CefMenuModelImpl* model,
const content::ContextMenuParams& params) = 0;
virtual void CancelContextMenu() {}
virtual bool FormatLabel(std::u16string& label) { return false; }
protected:
// Allow deletion via std::unique_ptr only.
friend std::default_delete<CefMenuRunner>;
CefMenuRunner() {}
virtual ~CefMenuRunner() {}
DISALLOW_COPY_AND_ASSIGN(CefMenuRunner);
};
#endif // CEF_LIBCEF_BROWSER_MENU_RUNNER_H_