Ejemplo n.º 1
0
func CreateBrowser(browserSettings *BrowserSettings, url string, offscreenRendering bool) (browser *Browser) {
	log.Debug("CreateBrowser, url=%s", url)

	// Initialize cef_window_info_t structure.
	var windowInfo *C.cef_window_info_t
	windowInfo = (*C.cef_window_info_t)(C.calloc(1, C.sizeof_cef_window_info_t))
	if offscreenRendering {
		windowInfo.windowless_rendering_enabled = 1
		windowInfo.transparent_painting_enabled = 1
	}
	C.cef_browser_host_create_browser(windowInfo, _ClientHandler, CEFString(url), browserSettings.ToCStruct(), nil)
	b, err := globalLifespanHandler.RegisterAndWaitForBrowser()
	if err != nil {
		log.Error("ERROR %v", err)
		panic("Failed to create a browser")
	}
	b.RenderHandler = &DefaultRenderHandler{b}
	browsers[b.Id] = b
	return b
}