func main() { // Executable's directory exeDir := cocoa.GetExecutableDir() // CEF subprocesses. cef.ExecuteProcess(nil) // Initialize CEF. settings := cef.Settings{} settings.CachePath = exeDir + "/webcache" // Set to empty to disable settings.LogSeverity = cef.LOGSEVERITY_DEFAULT // LOGSEVERITY_VERBOSE settings.LogFile = exeDir + "/debug.log" //settings.LocalesDirPath = cwd + "/cef.framework/Resources" //settings.ResourcesDirPath = cwd + "/cef.framework/Resources" cef.Initialize(settings) // Create Window using Cocoa API. cocoa.InitializeApp() window := cocoa.CreateWindow("cef2go example", 1024, 768) cocoa.ConnectDestroySignal(window, OnDestroyWindow) cocoa.ActivateApp() // Create browser. browserSettings := cef.BrowserSettings{} url := "file://" + exeDir + "/example.html" cef.CreateBrowser(window, browserSettings, url) // CEF loop and shutdown. cef.RunMessageLoop() cef.Shutdown() os.Exit(0) }
func main() { // TODO: It should be executable's directory used // rather than working directory. cwd, _ := os.Getwd() // CEF subprocesses. cef.ExecuteProcess(nil) // CEF initialize. settings := cef.Settings{} settings.CachePath = cwd + "/webcache" // Set to empty to disable settings.LogSeverity = cef.LOGSEVERITY_DEFAULT // LOGSEVERITY_VERBOSE settings.LogFile = cwd + "/debug.log" cef.Initialize(settings) // Create GTK window. gtk.Initialize() window := gtk.CreateWindow("cef2go example", 1024, 768) gtk.ConnectDestroySignal(window, OnDestroyWindow) // Create browser. browserSettings := cef.BrowserSettings{} url := "file://" + cwd + "/example.html" cef.CreateBrowser(window, browserSettings, url) // CEF loop and shutdown. cef.RunMessageLoop() cef.Shutdown() os.Exit(0) }
func main() { hInstance, e := wingui.GetModuleHandle(nil) if e != nil { wingui.AbortErrNo("GetModuleHandle", e) } cef.ExecuteProcess(unsafe.Pointer(hInstance)) settings := cef.Settings{} settings.CachePath = "webcache" // Set to empty to disable settings.LogSeverity = cef.LOGSEVERITY_DEFAULT // LOGSEVERITY_VERBOSE cef.Initialize(settings) wndproc := syscall.NewCallback(WndProc) Logger.Println("CreateWindow") hwnd := wingui.CreateWindow("cef2go example", wndproc) browserSettings := cef.BrowserSettings{} // TODO: It should be executable's directory used // rather than working directory. url, _ := os.Getwd() url = "file://" + url + "/example.html" cef.CreateBrowser(unsafe.Pointer(hwnd), browserSettings, url) // It should be enough to call WindowResized after 10ms, // though to be sure let's extend it to 100ms. time.AfterFunc(time.Millisecond*100, func() { cef.WindowResized(unsafe.Pointer(hwnd)) }) cef.RunMessageLoop() cef.Shutdown() os.Exit(0) }
func Test_ExecuteProcess(t *testing.T) { Logger.Println("Test_ExecuteProcess") // If called for the browser process it will return // immediately with a value of -1 code := cef.ExecuteProcess(nil) Logger.Println("ExecuteProcess returned:", code) }