private void OnBeforeEventPageBrowserCreate(object sender, BrowserCreateEventArgs e) { try { if (_schemeHandler == null) { // Create handler for loading the files within the package _schemeHandler = new PackagedApplicationSchemeHandlerFactory(Package); } e.Router = MessageRouter; if (Metadata.UpdateLaunchStatus != null) { Metadata.UpdateLaunchStatus("Loading event page ..."); } // PackagedApplicationSchemeHandlerFactory will create HTML source for EventPage, containing background scripts from the manifest ((ICefWebBrowser)sender).Source = _schemeHandler.EventPageUrl; } catch (Exception ex) { Logger.Error("Error creating event page browser", ex); } }
public override void CreateControl() { base.CreateControl(); if (!_controlCreated && !DesignMode) { if (!ParagonRuntime.IsInitialized) { ParagonRuntime.Initialize(); } _client = new CefWebClient(this); if (!IsPopup && _browser == null) { var settings = new CefBrowserSettings { Java = CefState.Disabled }; using (AutoStopwatch.TimeIt("Creating browser")) { var info = CefWindowInfo.Create(); var ea = new BrowserCreateEventArgs(); using (AutoStopwatch.TimeIt("Raising BeforeBrowserCreate event")) { BeforeBrowserCreate.Raise(this, ea); } _router = ea.Router; _currentUrl = _sourceUrl; if (IntPtr.Zero != ParentHandle) { RECT rect = new RECT(); Win32Api.GetClientRect(ParentHandle, ref rect); info.SetAsChild(ParentHandle, new CefRectangle(rect.Left, rect.Top, rect.Width, rect.Height)); } Logger.Info(string.Format("OnHandleCreated - Creating a browser with url {0}", _currentUrl)); CefBrowserHost.CreateBrowser(info, _client, settings, _currentUrl); } } _controlCreated = true; } }