Opened 13 years ago

Closed 13 years ago

#4950 closed bug (fixed)

CSSStyleDeclaration is used incorrectly

Reported by: divide Owned by:
Priority: major Milestone: 1.8
Component: ui.effects.core Version: 1.7.2
Keywords: konqueror, kjs, CSSStyleDeclaration, CSS, styles, getComputedStyle, animateClass Cc: [email protected]
Blocked by: Blocking:

Description

Currently animateClass() (and perhaps others) iterate directly over CSSStyleDeclaration returned from getComputedStyle() as if it were a hash with style values contained directly. But this convenient access mode is not codified in standards (http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration) and thus not necessarily available in all browsers.

In particular, KJS (Konqueror), as of KDE 4.3.75, only provides standards-compliant interface to CSSStyleDeclaration, which renders animateClass() (and any and all effects depending on it) unusable.

Change History (4)

comment:1 Changed 13 years ago by divide

The following function converts to hash for drop-in replacement:

function css2hash(css) {
	var out = {};
	var i;
	for (i = 0; i < css.length; i++) {
		var key = css.item(i);
		out[key] = css.getPropertyValue(key);
	}
	return out;
}

comment:2 Changed 13 years ago by Scott González

Can you please test against trunk? This code has been completely rewritten.

comment:3 Changed 13 years ago by Scott González

Component: ui.coreeffects.core
Milestone: TBD1.8

comment:4 Changed 13 years ago by Scott González

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.