mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-02-18 05:00:48 +01:00
Add context menu support (issue #509):
- Add new CefContextMenuHandler, CefContextMenuParams and CefMenuModel classes. - Add cef_strings.grd and related infrastructure for supporting translation of CEF strings. - Generate include/cef_pack_resources.h and include/cef_pack_strings.h files at build time that include all IDs used by CEF pack files. git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@596 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
parent
7bc494880f
commit
effbca00e2
@ -155,6 +155,10 @@ void CefMenuCreator::ExecuteCommand(CefRefPtr<CefMenuModelImpl> source,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void CefMenuCreator::MenuWillShow(CefRefPtr<CefMenuModelImpl> source) {
|
void CefMenuCreator::MenuWillShow(CefRefPtr<CefMenuModelImpl> source) {
|
||||||
|
// May be called for sub-menus as well.
|
||||||
|
if (source.get() != model_.get())
|
||||||
|
return;
|
||||||
|
|
||||||
// Notify the host before showing the context menu.
|
// Notify the host before showing the context menu.
|
||||||
content::RenderWidgetHostView* view =
|
content::RenderWidgetHostView* view =
|
||||||
browser_->GetWebContents()->GetRenderWidgetHostView();
|
browser_->GetWebContents()->GetRenderWidgetHostView();
|
||||||
@ -163,6 +167,10 @@ void CefMenuCreator::MenuWillShow(CefRefPtr<CefMenuModelImpl> source) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void CefMenuCreator::MenuClosed(CefRefPtr<CefMenuModelImpl> source) {
|
void CefMenuCreator::MenuClosed(CefRefPtr<CefMenuModelImpl> source) {
|
||||||
|
// May be called for sub-menus as well.
|
||||||
|
if (source.get() != model_.get())
|
||||||
|
return;
|
||||||
|
|
||||||
// Notify the client.
|
// Notify the client.
|
||||||
CefRefPtr<CefClient> client = browser_->GetClient();
|
CefRefPtr<CefClient> client = browser_->GetClient();
|
||||||
if (client.get()) {
|
if (client.get()) {
|
||||||
|
@ -19,10 +19,10 @@ class CefMenuDelegate : public MenuGtk::Delegate {
|
|||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
|
|
||||||
CefMenuCreatorRunnerWin::CefMenuCreatorRunnerWin() {
|
CefMenuCreatorRunnerGtk::CefMenuCreatorRunnerGtk) {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CefMenuCreatorRunnerWin::RunContextMenu(CefMenuCreator* manager) {
|
bool CefMenuCreatorRunnerGtk::RunContextMenu(CefMenuCreator* manager) {
|
||||||
if (!menu_delegate_.get())
|
if (!menu_delegate_.get())
|
||||||
menu_delegate_.reset(new CefMenuDelegate);
|
menu_delegate_.reset(new CefMenuDelegate);
|
||||||
|
|
||||||
|
@ -11,22 +11,22 @@
|
|||||||
#import "chrome/browser/ui/cocoa/menu_controller.h"
|
#import "chrome/browser/ui/cocoa/menu_controller.h"
|
||||||
#include "content/public/browser/web_contents_view.h"
|
#include "content/public/browser/web_contents_view.h"
|
||||||
|
|
||||||
CefMenuCreatorRunnerWin::CefMenuCreatorRunnerMac()
|
CefMenuCreatorRunnerMac::CefMenuCreatorRunnerMac()
|
||||||
: menu_controller_(nil) {
|
: menu_controller_(nil) {
|
||||||
}
|
}
|
||||||
|
|
||||||
CefMenuCreatorRunnerWin::~CefMenuCreatorRunnerMac() {
|
CefMenuCreatorRunnerMac::~CefMenuCreatorRunnerMac() {
|
||||||
if (menu_controller_ != nil)
|
if (menu_controller_ != nil)
|
||||||
[menu_controller_ release];
|
[menu_controller_ release];
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CefMenuCreatorRunnerWin::RunContextMenu(CefMenuCreator* manager) {
|
bool CefMenuCreatorRunnerMac::RunContextMenu(CefMenuCreator* manager) {
|
||||||
// Create a menu controller based on the model.
|
// Create a menu controller based on the model.
|
||||||
if (menu_controller_ != nil)
|
if (menu_controller_ != nil)
|
||||||
[menu_controller_ release];
|
[menu_controller_ release];
|
||||||
menu_controller_ =
|
menu_controller_ =
|
||||||
[[MenuController alloc] initWithModel:manager.model()
|
[[MenuController alloc] initWithModel:manager->model()
|
||||||
useWithPopUpButtonCell:NO]);
|
useWithPopUpButtonCell:NO];
|
||||||
|
|
||||||
NSView* parent_view =
|
NSView* parent_view =
|
||||||
manager->browser()->GetWebContents()->GetContentNativeView();
|
manager->browser()->GetWebContents()->GetContentNativeView();
|
||||||
|
@ -98,7 +98,11 @@ def MakeFile(output, input):
|
|||||||
guard = 'CEF_INCLUDE_'+string.upper(filename.replace('.', '_'))+'_'
|
guard = 'CEF_INCLUDE_'+string.upper(filename.replace('.', '_'))+'_'
|
||||||
result = result.replace('$GUARD$', guard)
|
result = result.replace('$GUARD$', guard)
|
||||||
|
|
||||||
|
if path_exists(output):
|
||||||
old_contents = read_file(output)
|
old_contents = read_file(output)
|
||||||
|
else:
|
||||||
|
old_contents = ''
|
||||||
|
|
||||||
if (result != old_contents):
|
if (result != old_contents):
|
||||||
write_file(output, result)
|
write_file(output, result)
|
||||||
sys.stdout.write('File '+output+' updated.\n')
|
sys.stdout.write('File '+output+' updated.\n')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user