public ConsoleMessageEventArgs(CefBrowser browser, string message, string source, int line)
 {
     this.CefBrowser = browser;
     this.Message = message;
     this.Source = source;
     this.Line = line;
 }
        protected override bool OnBeforeBrowse(CefBrowser browser, CefFrame frame, CefRequest request, CefHandlerNavType navType, bool isRedirect)
        {
            #if DIAGNOSTICS
            Cef.Logger.Trace(LogTarget.CefRequestHandler, "OnBeforeBrowse: Method=[{0}] Url=[{1}] NavType=[{2}] IsRedirect=[{3}]", request.GetMethod(), request.GetURL(), navType, isRedirect);
            #endif

            var cancel = this.context.OnNavigating(frame, request, navType, isRedirect);
            if (cancel) return true;

            if (frame.IsMain)
            {
                // browser navigating to a new page
                this.context.ClearFrames();
                this.context.AttachMainFrame(frame);

                this.context.ClearReadyState();
                this.context.SetFrameReadyState(null, FrameReadyState.Navigating);
            }
            else if ((this.context.ReadyOptions & CefReadyOptions.Frames) != 0)
            {
                this.context.SetFrameReadyState(frame.GetName(), FrameReadyState.Navigating);
            }

            return false;
        }
 protected unsafe override void OnContextReleased(CefBrowser browser, CefFrame frame, CefV8Context context)
 {
     if (_context.MainFrame != null)
     {
         _context.MainFrame.UnbindV8Context();
     }
 }
Exemplo n.º 4
0
		protected override void OnBeforeClose(CefBrowser browser)
		{
			if (_core.InvokeRequired)
				_core.BeginInvoke((Action)_core.OnBeforeClose);
			else
				_core.OnBeforeClose();
		}
 protected override void OnAddressChange(CefBrowser browser, CefFrame frame, string url)
 {
     if (frame.IsMain)
     {
         _core.OnAddressChanged(url);
     }
 }
 protected override bool OnJSPrompt(CefBrowser browser, CefFrame frame, string message, string defaultValue, out bool retval, out string result)
 {
     // TODO: CefWebJSDialogHandler.OnJSPrompt
     retval = false;
     result = null;
     return false;
 }
Exemplo n.º 7
0
 protected override void OnAddressChange(CefBrowser browser, CefFrame frame, string url)
 {
     if (frame.IsMain)
     {
        _core.InvokeIfRequired(() => _core.OnAddressChanged(new AddressChangedEventArgs(frame, url)));
     }
 }
 protected override void OnNavStateChange(CefBrowser browser, bool canGoBack, bool canGoForward)
 {
     #if DIAGNOSTICS
     Cef.Logger.Trace(LogTarget.CefDisplayHandler, "OnNavStateChange: CanGoBack=[{0}] CanGoForward=[{1}]", canGoBack, canGoForward);
     #endif
     this.context.OnNavStateChanged(canGoBack, canGoForward);
 }
Exemplo n.º 9
0
		protected override bool OnConsoleMessage(CefBrowser browser, string message, string source, int line)
		{
			var e = new ConsoleMessageEventArgs(message, source, line);
			_core.InvokeIfRequired(() => _core.OnConsoleMessage(e));

			return e.Handled;
		}
Exemplo n.º 10
0
        protected override void OnAfterCreated(CefBrowser browser)
        {
            #if DIAGNOSTICS
            Cef.Logger.Trace(LogTarget.CefLifeSpanHandler, "OnAfterCreated");
            #endif

            this.context.OnAfterCreated(browser);

            // TODO: check context state, it can be already closed
            this.context.Attach(browser);

            /*
            if (!browser.IsPopup)
            {
                if (this.context.IsDisposed)
                {
                    browser.Close();
                    return;
                }

                this.context.browser = browser;
                this.context.browserWindowHandle = browser.WindowHandle;

                this.context.SetStyle(ControlStyles.Opaque, true);

                this.context.ResizeBrowserWindow();

                // FIXME: this is invalid - can't be accessed from another thread
                //if (this.control.Focused)
                //{
                //    this.control.browser.SetFocus(true);
                //}
            }
            */
        }
 public CefUncaughtExceptionEventArgs(CefBrowser browser, CefFrame frame, CefV8Context context, CefV8Exception exception, CefV8StackTrace stackTrace)
 {
     this.browser = browser;
     this.frame = frame;
     this.context = context;
     this.exception = exception;
     this.stackTrace = stackTrace;
 }
Exemplo n.º 12
0
        protected override void OnTitleChange(CefBrowser browser, string title)
        {
            #if DIAGNOSTICS
            Cef.Logger.Trace(LogTarget.CefDisplayHandler, "OnTitleChange: Title=[{0}]", title);
            #endif

            this.context.OnTitleChanged(title);
        }
Exemplo n.º 13
0
 protected override void OnCursorChange(CefBrowser browser, IntPtr cursorHandle)
 {
     _uiHelper.PerformInUiThread(() =>
         {
             Cursor cursor = CursorInteropHelper.Create(new SafeFileHandle(cursorHandle, false));
             _owner.Cursor = cursor;
         });
 }
Exemplo n.º 14
0
 internal void Close()
 {
     if (_browser != null)
     {
         _browser.Dispose();
         _browser = null;
     }
 }
Exemplo n.º 15
0
        protected override bool DoClose(CefBrowser browser)
        {
            #if DIAGNOSTICS
            Cef.Logger.Trace(LogTarget.CefLifeSpanHandler, "DoClose");
            #endif

            return false;
        }
 public CefBeforePopupEventArgs(CefBrowser parentBrowser, CefPopupFeatures popupFeatures, CefWindowInfo windowInfo, string url, ref CefClient client, CefBrowserSettings settings)
 {
     this.parentBrowser = parentBrowser;
     this.popupFeatures = popupFeatures;
     this.windowInfo = windowInfo;
     this.url = url;
     this.client = client;
     this.settings = settings;
 }
Exemplo n.º 17
0
        protected override bool OnKeyEvent(CefBrowser browser, CefHandlerKeyEventType type, int code, CefHandlerKeyEventModifiers modifiers, bool isSystemKey, bool isAfterJavaScript)
        {
            #if DIAGNOSTICS
            Cef.Logger.Trace(LogTarget.CefKeyboardHandler, "OnKeyEvent: type=[{0}] code=[{1}] modifiers=[{2}] isSystemKey=[{3}] isAfterJavaScript=[{4}]", type, code, modifiers, isSystemKey, isAfterJavaScript);
            #endif

            // TODO: CefWebKeyboardHandler.OnKeyEvent: return this.context.PostKeyEvent(type, code, modifiers, isSystemKey);
            return false;
        }
Exemplo n.º 18
0
 protected override void OnAddressChange(CefBrowser browser, CefFrame frame, string url)
 {
     #if DIAGNOSTICS
     Cef.Logger.Trace(LogTarget.CefDisplayHandler, "OnAddressChange: URL=[{0}] Frame.IsMain=[{1}]", url, frame.IsMain);
     #endif
     if (frame.IsMain)
     {
         this.context.OnAddressChanged(url);
     }
 }
Exemplo n.º 19
0
 public void Close()
 {
     if (_browser != null)
     {
         var host = _browser.GetHost();
         host.CloseBrowser(true);
         host.Dispose();
         _browser.Dispose();
         _browser = null;
     }
 }
Exemplo n.º 20
0
        protected override bool OnConsoleMessage(CefBrowser browser, string message, string source, int line)
        {
            #if DIAGNOSTICS
            Cef.Logger.Trace(LogTarget.CefDisplayHandler, "OnConsoleMessage: Message=[{0}] Source=[{1}] Line=[{2}]", message, source, line);
            #endif
            // FIXME: check context state? if (this.context.IsDisposed) return false;

            this.context.OnConsoleMessage(new ConsoleMessageEventArgs(message, source, line));

            return true;
        }
Exemplo n.º 21
0
        // TODO: use OnBeforeResourceLoad to OnResourceResponse to detect resource loading, and waiting when all resources will be loaded
        protected override bool OnBeforeResourceLoad(CefBrowser browser, CefRequest request, out string redirectUrl, out CefStreamReader resourceStream, CefResponse response, int loadFlags)
        {
            var prevColor = Console.ForegroundColor;
            Console.ForegroundColor = ConsoleColor.DarkMagenta;
            Console.WriteLine("OnBeforeResourceLoad: {0}", request.GetURL());
            Console.ForegroundColor = prevColor;

            redirectUrl = null;
            resourceStream = null;
            return false;
        }
Exemplo n.º 22
0
        protected override void OnResourceResponse(CefBrowser browser, string url, CefResponse response, out CefContentFilter filter)
        {
            var prevColor = Console.ForegroundColor;
            Console.ForegroundColor = ConsoleColor.Magenta;
            Console.WriteLine("OnResourceResponse: {0} ({1})", url, response.GetHeader("Content-Length"));
            Console.ForegroundColor = prevColor;

            response.GetHeaderMap().Append("Access-Control-Allow-Origin", "*");

            filter = null;
            // filter = new CefWebProgressContentFilter();
        }
Exemplo n.º 23
0
		protected override bool OnBeforePopup(CefBrowser browser, CefFrame frame, string targetUrl, string targetFrameName, CefPopupFeatures popupFeatures, CefWindowInfo windowInfo, ref CefClient client, CefBrowserSettings settings, ref bool noJavascriptAccess)
		{
			var e = new BeforePopupEventArgs(frame, targetUrl, targetFrameName, popupFeatures, windowInfo, client, settings,
								 noJavascriptAccess);

			_core.InvokeIfRequired(() => _core.OnBeforePopup(e));

			client = e.Client;
			noJavascriptAccess = e.NoJavascriptAccess;

			return e.Handled;
		}
        protected unsafe override void OnContextCreated(CefBrowser browser, CefFrame frame, CefV8Context context)
        {
            if (frame.IsMain)
            {
                _context.MainFrame.BindContext(context);
            }

            var obj = context.GetGlobal();
            Cef.JSBindingContext.BindObjects(obj);
            _context.JSBindingContext.BindObjects(obj);
            obj.Dispose();
        }
Exemplo n.º 25
0
        internal void OnCreated(CefBrowser browser)
        {
            //if (_created) throw new InvalidOperationException("Browser already created.");
            _created = true;
            _browser = browser;

            var handler = Created;
            if (handler != null)
            {
                handler(this, EventArgs.Empty);
            }
        }
Exemplo n.º 26
0
        protected override void OnPaint(CefBrowser browser, CefPaintElementType type, CefRectangle[] dirtyRects, IntPtr buffer, int width, int height)
        {
            _logger.Debug("Type: {0} Buffer: {1:X8} Width: {2} Height: {3}", type, buffer, width, height);
            foreach (var rect in dirtyRects)
            {
                _logger.Debug("   DirtyRect: X={0} Y={1} W={2} H={3}", rect.X, rect.Y, rect.Width, rect.Height);
            }

            if (type == CefPaintElementType.View)
            {
                _owner.HandleViewPaint(browser, type, dirtyRects, buffer, width, height);
            }
            // 			else if (type == CefPaintElementType.Popup)
            // 				this.browser.HandleWidgetPaint(browser, type, dirtyRects, buffer, width, height);
        }
Exemplo n.º 27
0
        protected override void Dispose(bool disposing)
        {
            if (_browser != null)
            {
                var host = _browser.GetHost();
                host.CloseBrowser();
                host.ParentWindowWillClose();
                host.Dispose();
                _browser.Dispose();
                _browser = null;
                _browserWindowHandle = IntPtr.Zero;
            }

            base.Dispose(disposing);
        }
Exemplo n.º 28
0
        /// <summary>
        /// Returns the number of queries currently pending for the specified |browser|
        /// and/or |context|. Either or both values may be empty.
        /// </summary>
        public int GetPendingCount(CefBrowser browser = null, CefV8Context context = null)
        {
            Helpers.RequireRendererThread();

            if (_browserRequestInfoMap.IsEmpty) return 0;

            if (context != null)
            {
                var contextId = GetIDForContext(context, false);
                if (contextId == CefMessageRouter.ReservedId)
                    return 0;  // Nothing associated with the specified context.

                int count = 0;
                BrowserRequestInfoMap.Visitor visitor = (int browserId, KeyValuePair<int, int> infoId, RequestInfo info, ref bool remove) =>
                {
                    if (infoId.Key == contextId) count++;
                    return true;
                };

                if (browser != null)
                {
                    // Count requests associated with the specified browser.
                    _browserRequestInfoMap.FindAll(browser.Identifier, visitor);
                }
                else
                {
                    // Count all requests for all browsers.
                    _browserRequestInfoMap.FindAll(visitor);
                }

                return count;
            }
            else if (browser != null)
            {
                return _browserRequestInfoMap.Count(browser.Identifier);
            }
            else
            {
                return _browserRequestInfoMap.Count();
            }

            return 0;
        }
Exemplo n.º 29
0
        protected override void OnBeforeClose(CefBrowser browser)
        {
            #if DIAGNOSTICS
            Cef.Logger.Trace(LogTarget.CefLifeSpanHandler, "OnBeforeClose");
            #endif

            // TODO: raise Closing event ?
            this.context.Detach();
            browser.Dispose();

            /*
            if (!browser.IsPopup)
            {
                browser.Dispose();

                if (this.context.browser != null)
                {
                    this.context.browser.Dispose();
                    this.context.browser = null;
                    this.context.browserWindowHandle = IntPtr.Zero;
                }

                if (!this.context.IsDisposed)
                {
                    if (this.context.InvokeRequired)
                    {
                        this.context.BeginInvoke(new Action(this.context.DestroyHandle));
                    }
                    else
                    {
                        this.context.DestroyHandle();
                    }
                }
            }
            else
            {
                browser.Dispose();
            }
            */
        }
Exemplo n.º 30
0
        protected override void OnStatusMessage(CefBrowser browser, string value, CefHandlerStatusType type)
        {
            #if DIAGNOSTICS
            Cef.Logger.Trace(LogTarget.CefDisplayHandler, "OnStatusMessage: Type=[{0}] Value=[{1}]", type, value);
            #endif

            /*
            // TODO: popups support...

            if (value.Length == 0)
            {
                this.statusMessages.Remove(type);
                GetMostImportantStatusMessage(this.statusMessages, out type, out value);
            }
            else
            {
                this.statusMessages[type] = value;
            }

            this.context.PostStatusMessage(new StatusMessageEventArgs(type, value ?? ""));
            */
        }
Exemplo n.º 31
0
 protected override void OnPopupShow(CefBrowser browser, bool show)
 {
     _owner.OnPopupShow(show);
 }
 /// <inheritdoc/>
 protected override CefResourceHandler Create(CefBrowser browser, CefFrame frame, string schemeName, CefRequest request)
 {
     return(new DefaultExternalRequestSchemeHandler(_sharedClient));
 }
Exemplo n.º 33
0
 protected override void OnResetDialogState(CefBrowser browser)
 {
 }
Exemplo n.º 34
0
 protected internal unsafe override bool GetAudioParameters(CefBrowser browser, ref CefAudioParameters @params)
 {
     return(_implementation.GetAudioParameters(browser, ref @params));
 }
Exemplo n.º 35
0
 protected override void OnPopupSize(CefBrowser browser, CefRectangle rect)
 {
 }
Exemplo n.º 36
0
 protected override void OnScrollOffsetChanged(CefBrowser browser, double x, double y)
 {
 }
Exemplo n.º 37
0
 protected internal unsafe override void OnAudioStreamPacket(CefBrowser browser, IntPtr data, int frames, long pts)
 {
     _implementation.OnAudioStreamPacket(browser, data, frames, pts);
 }
Exemplo n.º 38
0
 protected override bool DoClose(CefBrowser browser)
 {
     // TODO: ... dispose core
     return(false);
 }
Exemplo n.º 39
0
        protected override void OnAfterCreated(CefBrowser browser)
        {
            base.OnAfterCreated(browser);

            _core.InvokeIfRequired(() => _core.OnBrowserAfterCreated(browser));
        }
Exemplo n.º 40
0
 protected override bool OnDragEnter(CefBrowser browser, CefDragData dragData, CefDragOperationsMask mask)
 {
     //throw new NotImplementedException();
     return(true);
 }
Exemplo n.º 41
0
        private void UpdateTexture(CefBrowser browser, EX9.Texture texture)
        {
            var sysmemTexture = texture.Tag as EX9.Texture;

            texture.Device.UpdateTexture(sysmemTexture, texture);
        }
Exemplo n.º 42
0
 protected override void OnPaint(CefBrowser browser, CefPaintElementType type, CefRectangle[] dirtyRects, IntPtr buffer, int width,
                                 int height)
 {
 }
Exemplo n.º 43
0
 protected override void OnDraggableRegionsChanged(CefBrowser browser, CefDraggableRegion[] regions)
 {
     //throw new NotImplementedException();
 }
Exemplo n.º 44
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CefGlueFrameHandler"/> class.
 /// </summary>
 /// <param name="browser">
 /// The browser.
 /// </param>
 public CefGlueFrameHandler(CefBrowser browser)
 {
     mBrowser = browser;
 }
Exemplo n.º 45
0
 public override void OnFindResult(CefBrowser browser, int identifier, int count, CefRect selectionRect, int activeMatchOrdinal, bool finalUpdate)
 {
     _implementation.OnFindResult(browser, identifier, count, selectionRect, activeMatchOrdinal, finalUpdate);
 }
Exemplo n.º 46
0
 protected internal unsafe override void OnAudioStreamError(CefBrowser browser, string message)
 {
     _implementation.OnAudioStreamError(browser, message);
 }
Exemplo n.º 47
0
 protected override bool OnProcessMessageReceived(CefBrowser browser, CefProcessId sourceProcess, CefProcessMessage message)
 {
     return(base.OnProcessMessageReceived(browser, sourceProcess, message));
 }
Exemplo n.º 48
0
 public CefShowPopupEventArgs(CefBrowser parentBrowser, bool show)
 {
     this.parentBrowser = parentBrowser;
     this.show          = show;
 }
Exemplo n.º 49
0
 protected override bool GetScreenPoint(CefBrowser browser, int viewX, int viewY, ref int screenX, ref int screenY)
 {
     _owner.GetScreenPoint(viewX, viewY, ref screenX, ref screenY);
     return(true);
 }
Exemplo n.º 50
0
            protected override bool GetViewRect(CefBrowser browser, ref CefRectangle rect)
            {
                rect = new CefRectangle(0, 0, 300, 300);

                return(true);
            }
Exemplo n.º 51
0
 protected override bool GetViewRect(CefBrowser browser, ref CefRectangle rect)
 {
     return(_owner.GetViewRect(ref rect));
 }
Exemplo n.º 52
0
 protected override bool OnProcessMessageReceived(CefBrowser browser, CefFrame frame, CefProcessId sourceProcess, CefProcessMessage message)
 {
     return(_browserMessageRouter?.OnProcessMessageReceived(browser, frame, sourceProcess, message) ?? false);
 }
Exemplo n.º 53
0
 protected internal unsafe override void OnAudioStreamStopped(CefBrowser browser)
 {
     _implementation.OnAudioStreamStopped(browser);
 }
Exemplo n.º 54
0
 protected override void OnAfterCreated(CefBrowser browser)
 {
     base.OnAfterCreated(browser);
     taskCompletionSource.TrySetResult(browser);
 }
Exemplo n.º 55
0
 protected internal unsafe override void OnAudioStreamStarted(CefBrowser browser, CefAudioParameters @params, int channels)
 {
     _implementation.OnAudioStreamStarted(browser, @params, channels);
 }
Exemplo n.º 56
0
 protected override void OnDialogClosed(CefBrowser browser)
 {
 }
 protected override void OnFindResult(CefBrowser browser, int identifier, int count, CefRectangle selectionRect, int activeMatchOrdinal, bool finalUpdate)
 {
 }
Exemplo n.º 58
0
 protected override bool GetScreenInfo(CefBrowser browser, CefScreenInfo screenInfo)
 {
     return(false);
 }
Exemplo n.º 59
0
 protected override void OnCursorChange(CefBrowser browser, IntPtr cursorHandle, CefCursorType type, CefCursorInfo customCursorInfo)
 {
 }
Exemplo n.º 60
0
 protected override void OnImeCompositionRangeChanged(CefBrowser browser, CefRange selectedRange, CefRectangle[] characterBounds)
 {
 }