public void OnContextCreated(ICefFrame frame, ICefV8Context context) { if (!objectCache.ContainsKey(frame.Identifier)) { objectCache.Add(frame.Identifier, new Dictionary <string, ICefV8Value>()); } }
public void OnContextCreated(ICefBrowser browser, ICefFrame frame, ICefV8Context context) { if (browsers.TryGetValue(browser.Identifier, out var browserController)) { browserController.OnContextCreated(frame, context); } }
public void OnBeforeNavigate(ICefFrame frame, ICefRequest request, CefNavigationType navigation_type, bool isRedirect) { if (objectCache.TryGetValue(frame.Identifier, out var frameObjectCache)) { frameObjectCache.Values.ToList().ForEach(f => f.Dispose()); frameObjectCache.Clear(); } }
public bool OnBeforeNavigation(ICefBrowser browser, ICefFrame frame, ICefRequest request, CefNavigationType navigation_type, bool isRedirect) { if (browsers.TryGetValue(browser.Identifier, out var browserController)) { browserController.OnBeforeNavigate(frame, request, navigation_type, isRedirect); } return(false); }
public void OnContextReleased(ICefFrame frame, ICefV8Context context) { if (objectCache.TryGetValue(frame.Identifier, out var frameObjectCache)) { frameObjectCache.Values.ToList().ForEach(f => f.Dispose()); frameObjectCache.Clear(); objectCache.Remove(frame.Identifier); } callbackRegistry.Clear(frame.Identifier); functionCallPromiseRegistry.Clear(frame.Identifier); dynamicObjectPromiseRegistry.Clear(frame.Identifier); }