Export to GitHub

google-web-toolkit - issue #3329

frame.style.setExpression not implemented in IE8


Posted on Feb 3, 2009 by Helpful Elephant

Found in GWT Release: 1.5.3

Detailed description: When I open page with gwt module in IE8, it display error messages: Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506; .NET CLR 3.5.30729) Timestamp: Tue, 3 Feb 2009 20:05:07 UTC

Message: Not implemented

Line: 6305 Char: 3 Code: 0 URI: http://localhost/PostAffiliatePro/trunk/client/www/com.qualityunit.pap.AffiliateLoginModule/5BE6E2E764FA39982EF56CD916144305.cache.html

Message: 'parentElement' is null or not an object Line: 6280 Char: 5 Code: 0 URI: http://localhost/PostAffiliatePro/trunk/client/www/com.qualityunit.pap.AffiliateLoginModule/5BE6E2E764FA39982EF56CD916144305.cache.html

I found, that the problem is on following line: line 6305: style.setExpression('left', 'this.__popup.offsetLeft'); it is located in function $onShow(popup)

AND line 6280: frame.parentElement.removeChild(frame); in function $onHide(popup){

Both functions are in WidgetCollection$WidgetIterator

Workaround if you have one: No workaround found yet

Links to the relevant GWT Developer Forum posts:

Attachments

Comment #1

Posted on Feb 3, 2009 by Helpful Elephant

similar problem is discussed here: http://www.ericmmartin.com/projects/simplemodal/#comment-6175

Comment #2

Posted on Feb 3, 2009 by Helpful Elephant

adding fixed the problem

But best would be to find reason and fix it also for standard IE8 mode

Comment #3

Posted on Feb 3, 2009 by Grumpy Horse

(No comment was entered for this change.)

Comment #4

Posted on Feb 25, 2009 by Swift Elephant

To John for further triage. Is this a general "we don't grok ie8 yet" bug, and if so is there an umbrella bug for such? If not, could you just mark this as accepted?

Comment #5

Posted on Feb 26, 2009 by Helpful Elephant

I don't like IE8 too (as all IE), but I think is time to not ignore IE8, because if it will be released officially, it will be late to fix such bugs. 50% of users of our applications have IE :-(

Comment #6

Posted on Mar 27, 2009 by Massive Rhino

Occurs with GWT 1.6.2 too. Using -style DETAILED the javascript function containing style.setExpression() is

function com_google_gwt_user_client_ui_impl_PopupImplIE6_$onShow__Lcom_google_gwt_user_client_ui_impl_PopupImplIE6_2Lcom_google_gwt_user_client_Element_2(popup)

Comment #7

Posted on Mar 30, 2009 by Massive Rhino

I commented out the style.setExpression() lines in the onShow() generated javascript and my popup windows seemed to work just fine in IE8 and IE6:

function com_google_gwt_user_client_ui_impl_PopupImplIE6_$onShow__Lcom_google_gwt_user_client_ui_impl_PopupImplIE6_2Lcom_google_gwt_user_client_Element_2(popup){ var frame = $doc.createElement($intern_1350); frame.src = $intern_1351; frame.scrolling = $intern_1352; frame.frameBorder = 0; popup.__frame = frame; frame.__popup = popup; var style = frame.style; style.position = $intern_1314; style.filter = $intern_1353; style.visibility = popup.style.visibility; style.border = 0; style.padding = 0; style.margin = 0; style.left = popup.offsetLeft; style.top = popup.offsetTop; style.width = popup.offsetWidth; style.height = popup.offsetHeight; style.zIndex = popup.style.zIndex; /* style.setExpression($intern_110, $intern_1354); style.setExpression($intern_111, $intern_1355); style.setExpression($intern_91, $intern_1356); style.setExpression($intern_93, $intern_1357); style.setExpression($intern_1358, $intern_1359); */ popup.parentElement.insertBefore(frame, popup); }

This is GWT 1.5.3.

Comment #8

Posted on Apr 15, 2009 by Massive Elephant

I've been working on explicit IE8 support (see issue 3558), which should make this problem go away.

Comment #9

Posted on Apr 28, 2009 by Massive Elephant

This is fixed along with issue 3558 (IE8 now completely skips all that stuff).

Comment #10

Posted on Jul 29, 2009 by Swift Elephant

(No comment was entered for this change.)

Comment #11

Posted on Aug 3, 2009 by Swift Ox

I still get erroneous behavior in IE8. However, if I put it in IE7 compatible mode, it works fine.

I upgraded to GWT 1.7 (from 1.6) and it didn't seem to fix the issue. I still get : Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; MS-RTC LM 8; InfoPath.2) Timestamp: Mon, 3 Aug 2009 17:02:15 UTC

Message: Not implemented

Line: 1867 Char: 324 Code: 0 URI: http://localhost:8080/MyProject/myproject/71C57EA2A332BD00DED9E2B73394450A.cache.html

Comment #12

Posted on Aug 3, 2009 by Massive Elephant

If you could post a sample that exhibits this behavior, that would be really helpful. The PopupImpl code that was using expressions is definitely not called on IE8 under normal circumstances.

Comment #13

Posted on Aug 3, 2009 by Massive Elephant

(No comment was entered for this change.)

Status: Fixed

Labels:
Category-UI Type-Defect Milestone-1_7