Welcome Guest Search | Active Topics | Sign In | Register

EO.Browser for WPF Application Options
Ramesh Muthu
Posted: Friday, December 20, 2019 11:02:54 AM
Rank: Newbie
Groups: Member

Joined: 12/20/2019
Posts: 7
We have a WPF based Windows application and we use Microsoft's WebBrowser Control (wrapper around IE) to load the web pages. We planned to support Chromium based interface to load pages within our app and we are evaluating EO.WebBrowser as part of it. Could you please let us know if the following features are available in EO.Browser and the Microsoft's WebBrowser equivalent APIs availability as well.

1.Events
1. NewWindow3
2. DocumentCompleted
3. ProgressChanged
4. WM_PARENTNOTIFY

Cookie Handling:
Does EO.Browser create multiple process every time a new instance of EO.Browser is created for the same domain as like chrome (which launches multiple process). If yes, how the cookie handling is done?

Does EO.BBrowser supports following feature?
Back & Forward
Refresh
Print
Opening PDF and Office documents within the browser

Thanks
Ramesh
eo_support
Posted: Friday, December 20, 2019 2:57:46 PM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,071
Hi,

The Chromium browser engine does not support these features:

1. ProgressChanged. It only gives you loading=true/false information. It does not give you progress information such as 10%, 20%, etc;
2. It can not open Office document;
3. Notification are not done through WM_PARENTNOTIFY. If you wish to intercept input event, you can take a look of this topic:

https://www.essentialobjects.com/doc/webbrowser/advanced/input_events.aspx

The rest are fine.

EO.WebBrowser does use the same multi-process architecture as Chromium. Cookies are maintained per EO.WebBrowser version, not per process. So multi-process should not have any impact on this. By default, the cookie/cache folder is created in your temp folder and version number is part of the name of that folder. You can override this folder through this property:

https://www.essentialobjects.com/doc/eo.webengine.engineoptions.cachepath.aspx

Thanks!
Ramesh Muthu
Posted: Friday, December 27, 2019 9:48:06 AM
Rank: Newbie
Groups: Member

Joined: 12/20/2019
Posts: 7
Hi,
We are replacing IE Newwindow3 Event with EO browser webview_newwindow Event.
When we opening the popup as a ModalessWindow,we are unable to access the main page.
please find below the code snippet for opening the popup.


void WebView_NewWindow(object sender, NewWindowEventArgs e)
{
e.Accepted = true;
Window wnd = new Window();
EO.Wpf.WebControl NEwwebctrl = new EO.Wpf.WebControl();
wnd.Content = NEwwebctrl;
NEwwebctrl.WebView.Url = e.TargetUrl;
wnd.Show();
eo_support
Posted: Monday, December 30, 2019 11:18:40 AM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,071
Hi,

This is because you created a new WebView (through the new webControl object). You MUST accept the WebView passed to you through the event argument like this:

Code: C#
NEwwebctrl.WebView = e.WebView;


You do not need to set this WebView's Url.

Thanks!

Ramesh Muthu
Posted: Thursday, January 2, 2020 9:12:34 AM
Rank: Newbie
Groups: Member

Joined: 12/20/2019
Posts: 7
Hi

We are trying to achieve Updating Progress bar status,Controlling visibility of stop and refresh buttons based on page loading status.
we tried with WebView.IsLoadingChanged event but event args is not returning true/false.
Can you please let me know which event can be used to achieve above use case.


eo_support
Posted: Thursday, January 2, 2020 3:52:47 PM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,071
Hi,

You would check WebView.IsLoading property.

Thanks!
Ramesh Muthu
Posted: Thursday, January 2, 2020 4:16:37 PM
Rank: Newbie
Groups: Member

Joined: 12/20/2019
Posts: 7
We tried the WebView.IsLoading property its always having the true value even after the page loading is completed.
eo_support
Posted: Friday, January 3, 2020 4:09:11 PM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,071
Hi,

You can try to load the page with our TabbedBrowser sample application and see if the status bar text eventually changes from "Loading.." to "Ready". That message is updated based on IsLoadingChanged event and IsLoading property. If that works correctly, then IsLoading is functioning properly. If that doesn't work correctly, then you can PM us the Url and we will investigate further.

Thanks!
Ramesh Muthu
Posted: Tuesday, January 21, 2020 11:39:19 AM
Rank: Newbie
Groups: Member

Joined: 12/20/2019
Posts: 7
Hi,
Am Getting the below error message for few web pages.

"Current page accepts/Requires client certificate.Please handle NeedClientCertificate event."

Am able to suppress the message by adding the below code

void WebView_NeedClientCertificate(object sender, NeedClientCertificateEventArgs e)
{
e.ContinueWithoutCertificate();
}
i would like to know whether it will affect other web pages which depends on the certificates ?
eo_support
Posted: Tuesday, January 21, 2020 4:05:57 PM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,071
Hi,

When you call e.ContinueWithoutCertificate() without any condition obviously it will do that for all pages that wants a client certificate.

Exactly how that will affect your page depends on your page. For example, if your page asks for user name and password and you click cancel, then your page will be the one that decides what happens after that. It can give you a generic "accessed denied" error, or it can redirect you to another login page, or it can choose to proceed but only display you non-user related information. Obviously nobody else can answer this questions for you. The same for certificate, if it wants one and you don't provide it, nobody else can tell you how it will react.

Thanks!
Ramesh Muthu
Posted: Thursday, January 30, 2020 9:13:02 AM
Rank: Newbie
Groups: Member

Joined: 12/20/2019
Posts: 7
We are trying to achieve the close wpf pop window on clicking the close button inside the webpage.We are using the WM_PARENT notify in Ie Browser.
we trying to achieve the same in EO with the help of IInputMsgFilter.PreDispatchMsg

Can you please provide the wparam values for button click and window.close/Webview close actions in EO webview.

eo_support
Posted: Thursday, January 30, 2020 6:58:30 PM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,071
Ramesh Muthu wrote:
We are trying to achieve the close wpf pop window on clicking the close button inside the webpage.We are using the WM_PARENT notify in Ie Browser.
we trying to achieve the same in EO with the help of IInputMsgFilter.PreDispatchMsg

Can you please provide the wparam values for button click and window.close/Webview close actions in EO webview.



We do not provide support on specific Windows messages. You can search Microsoft documentation for more details, or you can simply set a breakpoint in your code and find out the exact value using the debugger.
Ramesh Muthu
Posted: Monday, February 10, 2020 9:33:25 AM
Rank: Newbie
Groups: Member

Joined: 12/20/2019
Posts: 7
Can you please let us know if E.O browser.NET can be integrated in 64-bit app?
We tried compile the below sample with 64bit configuration and we are getting System.Reflection.TargetInvocationException. On further analysis it is trying to pick the dlls from syswow64 -
Not sure if its a expected behavior.can you please clarify.

"C:\windows\SysWOW64\rundll32.exe".

Call stack below.

at EO.Internal.i3.k.b()
at EO.Internal.i3.k.e()
at EO.Internal.i3.p()
at EO.Internal.i3.a(Boolean& A_0, axv[] A_1, String A_2, String A_3)
at EO.Internal.i3.a(axv[] A_0, String A_1, String A_2)
at EO.Internal.at6.b()
at EO.Internal.pf.a(Action A_0)
at EO.WebEngine.Engine.Start(WindowsIdentity user)
at EO.Internal.at6.c()
at EO.Internal.cl..ctor(WebView A_0)
at EO.WebBrowser.WebView.t()
at EO.WebBrowser.WebView.b(IntPtr A_0, Boolean A_1)
at EO.Wpf.WebViewHost.b.a()

Sample code:
public MainWindow()
{
InitializeComponent();

this.Loaded += MainWindow_Loaded;
}

void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
this.webControl1.WebView.LoadUrl("www.google.com");
}


<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:eo="http://schemas.essentialobjects.com/wpf/"
Title="EO Brower" Height="700" Width="700">
<Grid x:Name="grd">


<eo:WebControl Name="webControl1" >

</eo:WebControl>
</Grid>
</Window>

eo_support
Posted: Monday, February 10, 2020 10:46:53 AM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,071
Hi,

You can use our DLL in both 32 bit and 64 bit application. In another word, the bit mode of your application does not matter.

The browser engine itself always runs in 32 bit mode in a separate child process. This is why it uses "C:\windows\SysWOW64\rundll32.exe". It does not affect the bit mode of your application.

If you continue to have problem, please try to:

1. Update to the latest build;
2. Enable EO Worker process;

https://www.essentialobjects.com/doc/common/eowp.aspx

If you still have problems after these steps, please post the stack trace and error message again and we will investigate further.

Thanks!


You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.