mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
- Factor platform-specific code out of CefBrowserHostImpl (issue #1749).
- Introduce native/ and osr/ folders for native (non-platform-agnostic) and osr (windowless) code respectively. - Introduce CefBrowserPlatformDelegate for abstracting platform-specific implementations of browser host functionality. - Move dialog and menu code to separate manager and platform-specific runner implementations exposed via CefBrowserPlatformDelegate. - Standardize focus-handling behavior between windowed and windowless implementations. CefFocusHandler::OnSetFocus() will now also be called for osr focus changes. - Support multiple simultaneous popups (issue #1289).
This commit is contained in:
40
libcef/browser/menu_runner.h
Normal file
40
libcef/browser/menu_runner.h
Normal file
@@ -0,0 +1,40 @@
|
||||
// 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 "base/memory/scoped_ptr.h"
|
||||
#include "base/strings/string16.h"
|
||||
|
||||
namespace content {
|
||||
struct ContextMenuParams;
|
||||
}
|
||||
|
||||
namespace ui {
|
||||
class MenuModel;
|
||||
}
|
||||
|
||||
class CefBrowserHostImpl;
|
||||
|
||||
// Provides platform-specific menu implementations for CefMenuCreator.
|
||||
class CefMenuRunner {
|
||||
public:
|
||||
virtual bool RunContextMenu(CefBrowserHostImpl* browser,
|
||||
ui::MenuModel* model,
|
||||
const content::ContextMenuParams& params) = 0;
|
||||
virtual void CancelContextMenu() {}
|
||||
virtual bool FormatLabel(base::string16& label) { return false; }
|
||||
|
||||
protected:
|
||||
// Allow deletion via scoped_ptr only.
|
||||
friend struct base::DefaultDeleter<CefMenuRunner>;
|
||||
|
||||
CefMenuRunner() {}
|
||||
virtual ~CefMenuRunner() {}
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefMenuRunner);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_MENU_RUNNER_H_
|
Reference in New Issue
Block a user