We are trying to run Eclipse application using JCEF. On windows it works fine, but on MacOSX it doesn't work.
When we run example such as tests.detailed.MainFrame or tests.simple.MainFrame, it works fine.
We using SWT_AWT.new_Frame(composite) to embed browser into SWT application.
Below is our code:
- Code: Select all
Composite composite = new Composite(shell, SWT.EMBEDDED);
Frame frame = SWT_AWT.new_Frame(composite);
CefSettings settings = new CefSettings();
settings.windowless_rendering_enabled = useOSR;
settings.windowless_rendering_enabled = useOSR;
settings.background_color = settings.new ColorType(100, 255, 242, 211);
CefApp myApp = CefApp.getInstance(argss, settings);
CefVersion version = myApp.getVersion();
System.out.println("Using:\n" + version);
CefApp.addAppHandler(new AppHandler(argss));
client_ = myApp.createClient();
// Create the browser.
CefBrowser browser = client_.createBrowser("http://www.google.com", false, false, null);
browerUI_ = browser.getUIComponent();
frame.add(browerUI_, BorderLayout.CENTER);
When we debug it, org.cef.browser.mac.CefBrowserWindowMac class is used to get window handle. But it doesn't work. It returns 0.
AWT application such as tests.detailed.MainFrame returns CPlatformWindow class, but SWT returns CViewPlatformEmbeddedFrame. It doesn't have method execute. So it returns 0.
How can we fix it?