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); } } }
protected override void OnWebMessageRecieved(WebMessageReceivedEventArgs e) { _parentBrowser.HandleTabMessageReceived(_tabId, this, e); base.OnWebMessageRecieved(e); }
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; } }
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; } }
private void _optionsWebView_WebMessageRecieved(object sender, WebMessageReceivedEventArgs e) { OnWebMessageRecieved(e); }
private void controlsWebView2_WebMessageRecieved(object sender, WebMessageReceivedEventArgs e) { OnWebMessageRecieved(e); }
private void BrowserControl_WebMessageRecieved(object sender, WebMessageReceivedEventArgs e) { // Perhaps look for this event. }
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); }
private void OnWebMessageReceived(object sender, WebMessageReceivedEventArgs e) { }
private void OnWebViewWebMessageReceived(object sender, WebMessageReceivedEventArgs e) { Trace.TraceInformation("OnWebViewWebMessageReceived"); }