Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[rap-dev] Support Internet Explorer < 9 without VML

Hello,

we are using RAP 1.5.2 for about 7 applications among 400 customers. Most of them still stick to Windows XP and therefore to IE 8 (because our customers are mostly bank institutes who depend on external IT service provider).

Recently a security vulnerability in the Microsoft VML-Library came up which was fixed by an out-of-band patch (http://support.microsoft.com/kb/2964358 relating to https://technet.microsoft.com/de-de/library/security/ms14-021).

Instead of using this patch the service provider of our customers suggested disabling the VML-capabilities of IE by unregistering the dll "%CommonProgramFiles%\Microsoft Shared\VGX\vgx.dll". This makes every RAP-application non-functional on IE < 9, because it tries to initialize an org.eclipse.rwt.VML in org.eclipse.rwt.GraphicsUtil, if the engine reports to support VML [1].

As far as we can see, IE up to version 8 reports as engine name "mshtml", which in org.eclipse.rwt.Client leads to returning true in function supportsVml. [2]

So the question is: Is it possible to get around this with
 a) not having the customers upgrade to IE >= 9
 b) not having the customers use a different browser
 c) not having the customers to re-enable the vgx.dll
?

Best regards

Frank Jakop
Teamleiter
________________________

arxes-tolina GmbH
Salzufer 8, 10587 Berlin
http://www.arxes-tolina.de

[1]

statics : {
    _renderClass : null,
   
    init : function() {
      if( this._renderClass == null ) {
        if( org.eclipse.rwt.Client.supportsVml() ) {
          this._renderClass = org.eclipse.rwt.VML;
        } else if ( org.eclipse.rwt.Client.supportsSvg() ) {
          this._renderClass = org.eclipse.rwt.SVG;
        }
        if( this._renderClass != null ) {
          this._renderClass.init();
        }
      }
    },


[2]
supportsVml : function() {
      return ( this.getEngine() === "mshtml" ) && ( this.getVersion() >= 5.5 );
},

Back to the top