protected virtual void OnWebMessageRecieved(WebMessageReceivedEventArgs e)
 {
     if (WebMessageRecieved != null)
     {
         WebMessageRecieved(this, e);
     }
 }
        private void EventViewWebMessageRecieved(object sender, WebMessageReceivedEventArgs e)
        {
            string source = _webviewEventView.Source;

            string webMessageAsString = e.WebMessageAsString;

            if (webMessageAsString == _sampleUri)
            {
                if (webMessageAsString.StartsWith("webResourceRequested,on"))
                {
                    EnableWebResourceRequestedEvent(true);
                }
                else if (webMessageAsString.StartsWith("webResourceRequested,off"))
                {
                    EnableWebResourceRequestedEvent(false);
                }
            }
        }
Esempio n. 3
0
 protected override void OnWebMessageRecieved(WebMessageReceivedEventArgs e)
 {
     _parentBrowser.HandleTabMessageReceived(_tabId, this, e);
     base.OnWebMessageRecieved(e);
 }
Esempio n. 4
0
        public void OnWebMessageRecieved(WebMessageReceivedEventArgs args)
        {
            string source = args.Source;
            string json   = args.WebMessageAsJson;
            string str    = args.WebMessageAsString;

            JObject jsonObj = JObject.Parse(json);

            if (!jsonObj.ContainsKey("message"))
            {
                return;
            }

            if (!jsonObj.ContainsKey("args"))
            {
                return;
            }


            Messages m;

            if (!Enum.TryParse <Messages>(jsonObj["message"].Value <string>(), out m))
            {
                return;
            }
            JToken msgArgs = jsonObj["args"];

            switch (m)
            {
            case Messages.MG_CREATE_TAB:
            {
                int  tabId          = msgArgs["tabId"].Value <int>();
                bool shouldBeActive = msgArgs["active"].Value <bool>();

                Tab newTab = Tab.CreateNewTab(this, _contentEnvironment, tabId, shouldBeActive);

                if (!_tabDictionary.ContainsKey(tabId))
                {
                    gridLayout.Children.Add(newTab);
                    Grid.SetRow(newTab, 1);
                    Grid.SetColumnSpan(newTab, 2);

                    _tabDictionary.Add(tabId, newTab);
                }
            }
            break;

            case Messages.MG_NAVIGATE:
            {
                string uri           = msgArgs["uri"].Value <string>();
                string browserScheme = "browser://";

                if (uri.Contains(browserScheme))
                {
                    string path = uri.Substring(browserScheme.Length);
                    if (path == "favorites" ||
                        path == "settings" ||
                        path == "history")
                    {
                        string filePath = "Content\\content_ui\\";
                        filePath  = Path.Combine(filePath, path);
                        filePath += ".html";
                        string fullPath = GetFullPathFor(filePath);
                        _tabDictionary[_activeTabId].Navigate(fullPath);
                    }
                    else
                    {
                        System.Diagnostics.Debug.WriteLine("Requested unknown browser page");
                    }
                }
                else
                {
                    _tabDictionary[_activeTabId].Navigate(uri);
                }
            }
            break;

            case Messages.MG_GO_FORWARD:
            {
                _tabDictionary[_activeTabId].GoForward();
            }
            break;

            case Messages.MG_GO_BACK:
            {
                _tabDictionary[_activeTabId].GoBack();
            }
            break;

            case Messages.MG_RELOAD:
            {
                _tabDictionary[_activeTabId].Reload();
            }
            break;

            case Messages.MG_CANCEL:
            {
                _tabDictionary[_activeTabId].CallDevToolsProtocolMethod("Page.stopLoading", "{}", null);
            }
            break;

            case Messages.MG_SWITCH_TAB:
            {
                int tabId = msgArgs["tabId"].Value <int>();

                SwitchToTab(tabId);
            }
            break;

            case Messages.MG_CLOSE_TAB:
            {
                int tabId = msgArgs["tabId"].Value <int>();
                gridLayout.Children.Remove(_tabDictionary[tabId]);
                _tabDictionary.Remove(tabId);
            }
            break;

            case Messages.MG_CLOSE_WINDOW:
            {
                Close();
            }
            break;

            case Messages.MG_SHOW_OPTIONS:
            {
                myPopup.IsOpen = true;
//                        _optionsWebView.Visibility = Visibility.Visible;
                ResizeUIWebViews();
                //_optionsWebView.BringToFront();
                _optionsWebView.Focus();
            }
            break;

            case Messages.MG_HIDE_OPTIONS:
            {
                myPopup.IsOpen = false;
//                        _optionsWebView.Visibility = Visibility.Hidden;
            }
            break;

            case Messages.MG_OPTION_SELECTED:
            {
                _tabDictionary[_activeTabId].Focus();
            }
            break;

            case Messages.MG_GET_FAVORITES:
            case Messages.MG_GET_SETTINGS:
            case Messages.MG_GET_HISTORY:
            {
                // Forward back to requesting tab
                JToken tabIdToken = msgArgs["tabId"];
                int    tabId      = tabIdToken.Value <int>();

                RemoveFields(msgArgs, new string[] { "tabId" });

                PostJsonToWebView(jsonObj, _tabDictionary[tabId]);
            }
            break;
            }
        }
Esempio n. 5
0
        public void HandleTabMessageReceived(int tabId, Tab webview, WebMessageReceivedEventArgs eventArgs)
        {
            string jsonString = eventArgs.WebMessageAsJson;

            JObject jsonObj = JObject.Parse(jsonString);

            string uri = webview.Source;

            Messages message;

            if (!Enum.TryParse <Messages>(jsonObj["message"].Value <string>(), out message))
            {
                return;
            }

            JToken args = jsonObj["args"];

            switch (message)
            {
            case Messages.MG_GET_FAVORITES:
            case Messages.MG_REMOVE_FAVORITE:
            {
                string fileURI = GetFilePathAsURI(GetFullPathFor("Content\\content_ui\\favorites.html"));
                // Only the favorites UI can request favorites
                if (fileURI == uri)
                {
                    args["tabId"] = tabId;
                    PostJsonToWebView(jsonObj, controlsWebView2);
                }
            }
            break;

            case Messages.MG_GET_SETTINGS:
            {
                string fileURI = GetFilePathAsURI(GetFullPathFor("Content\\content_ui\\settings.html"));
                // Only the settings UI can request settings
                if (fileURI == uri)
                {
                    args["tabId"] = tabId;
                    PostJsonToWebView(jsonObj, controlsWebView2);
                }
            }
            break;

            case Messages.MG_CLEAR_CACHE:
            {
                string fileURI = GetFilePathAsURI(GetFullPathFor("Content\\content_ui\\settings.html"));
                // Only the settings UI can request cache clearing
                if (fileURI == uri)
                {
                    args["content"]  = false;
                    args["controls"] = false;

                    if (ClearContentCache())
                    {
                        args["content"] = true;
                    }

                    if (ClearControlsCache())
                    {
                        args["controls"] = true;
                    }

                    PostJsonToWebView(jsonObj, _tabDictionary[tabId]);
                }
            }
            break;

            case Messages.MG_CLEAR_COOKIES:
            {
                string fileURI = GetFilePathAsURI(GetFullPathFor("Content\\content_ui\\settings.html"));
                // Only the settings UI can request cookies clearing
                if (fileURI == uri)
                {
                    args["content"]  = false;
                    args["controls"] = false;

                    if (ClearContentCookies())
                    {
                        args["content"] = true;
                    }

                    if (ClearControlsCookies())
                    {
                        args["controls"] = true;
                    }

                    PostJsonToWebView(jsonObj, _tabDictionary[tabId]);
                }
            }
            break;

            case Messages.MG_GET_HISTORY:
            case Messages.MG_REMOVE_HISTORY_ITEM:
            case Messages.MG_CLEAR_HISTORY:
            {
                string fileURI = GetFilePathAsURI(GetFullPathFor("Content\\content_ui\\history.html"));
                // Only the history UI can request history
                if (fileURI == uri)
                {
                    args["tabId"] = tabId;
                    PostJsonToWebView(jsonObj, controlsWebView2);
                }
            }
            break;

            default:
            {
                //OutputDebugString(L"Unexpected message\n");
            }
            break;
            }
        }
Esempio n. 6
0
 private void _optionsWebView_WebMessageRecieved(object sender, WebMessageReceivedEventArgs e)
 {
     OnWebMessageRecieved(e);
 }
Esempio n. 7
0
 private void controlsWebView2_WebMessageRecieved(object sender, WebMessageReceivedEventArgs e)
 {
     OnWebMessageRecieved(e);
 }
Esempio n. 8
0
 private void BrowserControl_WebMessageRecieved(object sender, WebMessageReceivedEventArgs e)
 {
     //	Perhaps look for this event.
 }
Esempio n. 9
0
 private void HandleWebMessageReceived(object sender, WebMessageReceivedEventArgs args)
 {
     Element.HandleWebMessageReceived(args.WebMessageAsString);
 }
        public void Invoke(ICoreWebView2 webview, ICoreWebView2WebMessageReceivedEventArgs args)
        {
            WebMessageReceivedEventArgs eventArgs = new WebMessageReceivedEventArgs(args);

            _callback.Invoke(eventArgs);
        }
Esempio n. 11
0
 private void OnWebMessageReceived(object sender, WebMessageReceivedEventArgs e)
 {
 }
Esempio n. 12
0
 private void OnWebViewWebMessageReceived(object sender, WebMessageReceivedEventArgs e)
 {
     Trace.TraceInformation("OnWebViewWebMessageReceived");
 }