Opened 7 years ago

Closed 7 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: divided.mind@…
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 7 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 7 years ago by scottgonzalez

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

comment:3 Changed 7 years ago by scottgonzalez

  • Component changed from ui.core to effects.core
  • Milestone changed from TBD to 1.8

comment:4 Changed 7 years ago by scottgonzalez

  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.