Welcome Guest Search | Active Topics | Sign In | Register

change to WebView BeforeNavigate event Options
roger reynolds
Posted: Sunday, August 2, 2015 3:59:14 PM
Rank: Advanced Member
Groups: Member

Joined: 3/11/2014
Posts: 57
Seems in EO 2015 the BeforeNavigate event is being raised from a worker thread. To your credit, that is documented as such now too.
But it is changed from before (2014 for sure, don't know if it started this way in 2015 or not) and causes me, and perhaps others some issues.

I'm particularly puzzled by this statement in the docs:
Note: This event is raised by an internal worker thread. You must return from your event handling code as fast as possible.

What does that mean, "as fast as possible"? What are the implications of not returning as fast as possible, here that make this noteworthy. I mean, that is kind of like stating the obvious.

Really, the point is, this is a significant API behavior change. I would say that it is a potentially breaking change that should be called out in a document that lists any such changes from prior versions. I don't see any such document. Is there one? There doesn't appear to be any mention of the BeforeNavigate event in the online changelog either, for that matter.

My real question is - are there any other cases where events are now fired on a different thread, or any other significant behavior changes to existing API methods or events, etc...


Thanks
roger
eo_support
Posted: Sunday, August 2, 2015 6:19:03 PM
Rank: Administration
Groups: Administration

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

As far as I know this is the only one that has this kind of change. The change is due to a deadlock issue that was recently discovered that is unrelated to the 2015 release (which means that even if we had not released 2015 we would have had to make this change). The deadlock scenario involves a plugin making a call in the UI thread, which has a high probability of colliding with the BeforeNavigate event since this is also the time the plugin unloads for the previous page. When this occurs it can cause a deadlock scenario inside the browser engine. This deadlock scenario does not occur in the original chrome browser engine since it does not route any action through the UI thread. In order to resolve this issue, we had to move the event back to the IO thread. The fact that it is now in the IO thread means that it blocks all other IO operations in the browser engine. This is why the document explicitly mentioned that you must return from your event handling code as fast as possible --- for example, displaying a dialog asking user to continue or not would be a bad idea in this event. I apologize for the breaking change but please be rest assured that we are extremely careful when making this kind of changes as we do understand the implication of this kind of changes.

Thanks!
roger reynolds
Posted: Tuesday, August 4, 2015 8:29:37 PM
Rank: Advanced Member
Groups: Member

Joined: 3/11/2014
Posts: 57
Thanks for the clarification.
fwiw - I have identified a different, (likely related) issue, for which i have submitted a test project via email.
will be following up with that soon, hopefully...
roger reynolds
Posted: Thursday, August 13, 2015 12:46:21 PM
Rank: Advanced Member
Groups: Member

Joined: 3/11/2014
Posts: 57
Hey, so i submitted a test project via email, and got an initial confirmation that it was received.
That was over a week ago and i've heard nothing since, and have followed up a couple times via email asking for status.
I need to know if anybody is making any kind of progress on this or what.

Please follow up soon. The email subject line was "EO 2015 WebControl hangs when used from an Excel Addin project" and as far as i can tell, there is no other tracking info available for test project submission in that way.

Thanks.

roger
eo_support
Posted: Thursday, August 13, 2015 8:10:44 PM
Rank: Administration
Groups: Administration

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

I am really sorry about the delay. Unfortunately that is still sitting in our queue. Currently we have a blocking issue that we are trying to work out --- as soon as we work out that one we will look into the Excel AddIn issue. We are aware that you had this issue before and we are trying to get it resolved as soon as possible. Hopefully we will be able to get back to you early next week.

Thanks!
roger reynolds
Posted: Thursday, August 13, 2015 8:35:53 PM
Rank: Advanced Member
Groups: Member

Joined: 3/11/2014
Posts: 57
Ok, thanks for the update.
I'll follow up again next week sometime.
yvesm
Posted: Friday, August 14, 2015 12:22:44 AM
Rank: Advanced Member
Groups: Member

Joined: 12/1/2014
Posts: 57
This change creating a problem for me as well so I moved my code to the BeforeRequestLoad event. This seems to work.
eo_support
Posted: Friday, August 14, 2015 2:37:56 PM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,229
yvesm wrote:
This change creating a problem for me as well so I moved my code to the BeforeRequestLoad event. This seems to work.


Yes. BeforeRequestLoad would be a good alternative since it's still fired in the main thread. However please keep in mind that beforeRequestLoad is fired for every request, not just once for the whole page.

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.