コード例 #1
0
 public void OnContextCreated(ICefFrame frame, ICefV8Context context)
 {
     if (!objectCache.ContainsKey(frame.Identifier))
     {
         objectCache.Add(frame.Identifier, new Dictionary <string, ICefV8Value>());
     }
 }
コード例 #2
0
 public void OnContextCreated(ICefBrowser browser, ICefFrame frame, ICefV8Context context)
 {
     if (browsers.TryGetValue(browser.Identifier, out var browserController))
     {
         browserController.OnContextCreated(frame, context);
     }
 }
コード例 #3
0
 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();
     }
 }
コード例 #4
0
        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);
        }
コード例 #5
0
 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);
 }