Opened 7 years ago

Closed 6 years ago

Last modified 5 years ago

#16540 closed defect (fixed)

dom-style has incorrect float aliases for IE10

Reported by: Ben McKernan Owned by: Eugene Lazutkin
Priority: blocker Milestone: 1.8.7
Component: HTML Version: 1.8.3
Keywords: ie10 Cc:
Blocked By: Blocking:

Description

In IE10 doing a domStyle.get(node, 'float') will return and empty string whereas doing domStyle.get(node).cssFloat will return the correct value.

Attachments (1)

carousel.patch (438 bytes) - added by Sebastien Brunot 6 years ago.
Fix an exception in dojox/mobile/Carousel that follows the fix to dojo/dom-style. (IBM CCLA).

Download all attachments as: .zip

Change History (12)

comment:1 Changed 7 years ago by cjolif

Keywords: ie10 added

comment:2 Changed 7 years ago by bill

Component: CoreHTML
Owner: set to Eugene Lazutkin

Probably from this line in dom-style.js:

var _floatStyle = has("ie") ? "styleFloat" : "cssFloat",

comment:3 Changed 7 years ago by Eugene Lazutkin

Of course, MS docs are clear as mud: http://msdn.microsoft.com/en-us/library/ie/ms535231%28v=vs.85%29.aspx --- both cssFloat and styleFloat are listed, yet the latter has no documentation. From cssFloat docs it appears that it is supported since IE9, so we can make a clean cut there (pending testing).

Last edited 7 years ago by Eugene Lazutkin (previous) (diff)

comment:4 Changed 7 years ago by bill

I figured it could be a simple feature test, i.e.

"cssFloat" in node.style

That doesn't work? Otherwise you need to worry about quirksmode etc., in other words has("ie") < 9 may not be precise enough.

Last edited 7 years ago by bill (previous) (diff)

comment:5 Changed 7 years ago by dylan

Milestone: tbd1.9
Priority: undecidedblocker

I think this should be fixed for IE10 support in 1.9.

comment:6 Changed 6 years ago by Eugene Lazutkin

Resolution: fixed
Status: newclosed

In [31127]:

Sniffing cssFloat on a node, thx Bill, !strict, fixes #16540.

comment:7 Changed 6 years ago by bill

Resolution: fixed
Status: closedreopened

Re:

name = (_floatAliases[name] && "cssFloat" in n.style ? "cssFloat" : "styleFloat")
     || name

Isn't it missing parentheses? When name starts as a hash (from a call to domStyle.set(node, { … }) it gets changed to "styleFloat". Presumably the same problem when name starts as a string like "display".

I'm seeing errors in Menu_a11y.html on IE10 but I imagine this causes errors in lots of places.

comment:8 Changed 6 years ago by Eugene Lazutkin

Resolution: fixed
Status: reopenedclosed

In [31144]:

Removed extra () from a style name interpolator, thx Bill, !strict, fixes #16540.

comment:9 Changed 6 years ago by Sebastien Brunot

Thanks to this fix, a noop was discovered in dojox/Mobile/Carousel. Unfortunately, this is no longer a noop after the fix and an exception in raised by the Carousel component. I'm attaching a fix to solve this issue.

Changed 6 years ago by Sebastien Brunot

Attachment: carousel.patch added

Fix an exception in dojox/mobile/Carousel that follows the fix to dojo/dom-style. (IBM CCLA).

comment:10 Changed 6 years ago by cjolif

In [31149]:

refs #16540. Fix an exception in dojox/mobile/Carousel that follows the fix to dojo/dom-style. Thanks Sebastien Brunot (IBM CCLA). !strict.

comment:11 Changed 5 years ago by bill

Milestone: 1.91.8.7

Backported to 1.8 in 56f7863bfedeb1388349f77daf5f2a34d41e32c0.

Note: See TracTickets for help on using tickets.