Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 473905

Summary: RAP based applications do not load in Microsoft Edge (Windows 10)
Product: [RT] RAP Reporter: Thomas Hendel <hendel>
Component: RWTAssignee: Project Inbox <rap-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: michael.froeschen, mknauer, tbuschto
Version: 3.0   
Target Milestone: 3.1 M1   
Hardware: PC   
OS: Windows 8   
Whiteboard: SR301
Attachments:
Description Flags
Screenshot after switching to IE11 emulation none

Description Thomas Hendel CLA 2015-07-30 07:01:41 EDT
Try to start a RAP application (including the RAP demos provided at http://www.eclipse.org/rap/demos/) in Microsoft Edge (Windows 10, released).
You'll see only a blank page.

You can open the developer console ([F12]) and switch to IE11 emulation. Then, it raises some JS errors.
If you switch to Google Chrome emualtion, then the application starts.
Comment 1 Thomas Hendel CLA 2015-07-30 08:18:26 EDT
Created attachment 255535 [details]
Screenshot after switching to IE11 emulation

Added a screenshot of edge's developer console showing the JS errors that were raised after switching to IE11 emulation
Comment 2 Tim Buschtoens CLA 2015-07-30 08:53:39 EDT
I tested RAP 3.0 with the Windows 10 TP, and that worked fine. I will try again once I have the final version installed. (Hopefully in a few days)
Comment 3 Thomas Hendel CLA 2015-07-31 03:59:02 EDT
I tried to debug it:

An exception is thrown when rap-client.js evaluates browser settings.

Affectetd code in rap-client.js (10,6001):

{var c=(this._engineName===_[109])?navigator.userLanguage:navigator.language;var b=c.toLowerCase(); ...

The value of "this._engineName" and "_[109]" both are "trident", so the compare operation yields true.
But "navigator.userLanguage" is undefinded. This leads to the exception at the next statement.
Well, "navigator.language" *is* defined (and set to "de-DE" in my case).

By the way: the user agent string (navigator.userAgent) is
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240".
So it should be possible to identify "Edge". I guess, that Edge should be the only browser that has "Edge" in the user agent string :-)
Comment 4 Tim Buschtoens CLA 2015-08-04 08:35:19 EDT
Fixed with commit 1ef67157a0a92b4bfe08998ad0273d7d1a9a8659.

Edge was correctly detected, they just removed that userLanguage string.
Comment 5 Michael Fröschen CLA 2015-10-12 03:15:13 EDT
Is there a reason why this is not done for the Service Releases?
Comment 6 Ivan Furnadjiev CLA 2015-10-12 03:21:32 EDT
Just checked. It's fixed in SR1 too.