Firefox RC1 breaks Stylish with "TypeError: stylesheet has no properties"




9 years ago
9 years ago


(Reporter: Jason Barnabe (np), Assigned: smaug)


(4 keywords)

1.8 Branch
Windows XP
regression, testcase, verified1.8.1.12, verified1.8.1.13
Dependency tree / graph
Bug Flags:
blocking1.8.1.12 +
in-testsuite ?

Firefox Tracking Flags

(Not tracked)



(2 attachments, 1 obsolete attachment)



9 years ago
With Stylish 0.5.3 and Firefox RC1:

1. Click on the Stylish icon, Write Style, For this URL...
2. Preview

Result: TypeError: stylesheet has no properties

This worked with

I'm the author of Stylish and I can make changes to it if required.
Flags: blocking1.8.1.12?

Comment 1

9 years ago
Stylish is trying to get a nsIDOMDocumentStyle from a string of CSS text. To do this, it:

1. Creates a document: document.implementation.createDocument(stylishCommon.XULNS, "stylish-parse", null)
2. Appends a link element with a data URI to the document's document element.
3. Gets a stylesheet object out of the document: doc.QueryInterface(Components.interfaces.nsIDOMDocumentStyle).styleSheets[0]
4. Checks to make sure it's done loading. It's expecting stylesheet.cssRules.length to throw NS_ERROR_DOM_INVALID_ACCESS_ERR if it's not done. Instead, 'stylesheet' is undefined.

Comment 2

9 years ago
'stylesheet' never gets defined, even on subsequent checks.


9 years ago
Keywords: regression
Olli, could this be a regression from bug 393762?
Jason, could you try these two builds? (before/after bug 393762)

Comment 5

9 years ago
2008-01-22-04-mozilla1.8 - Bug not present
2008-01-23-03-mozilla1.8 - Bug present

Comment 6

9 years ago
Any chance to get a minimal testcase, attached using "Add an attachment"

Comment 7

9 years ago
Haven't yet tested, but my guess is that since loading external files from
data document (which are now created when .createDocument is used) isn't
allowed anymore, loading stylesheets using a data document doesn't work either.

Comment 8

9 years ago
So this is a regression from bug 382636.
Do we want to allow loading external files on branch, but perhaps not on trunk?
... I need to still verify that that is the case here.

Comment 9

9 years ago
Created attachment 300429 [details]


9 years ago
Assignee: nobody → Olli.Pettay

Comment 10

9 years ago
Created attachment 300432 [details] [diff] [review]
revert back the old behavior

Do we want to use this? Jonas, bz, anyone?
Doesn't regress Bug 393762 or Bug 393761
Attachment #300432 - Flags: review?(jonas)
Component: General → XML
Product: Firefox → Core
QA Contact: general → xml
Version: 2.0 Branch → 1.8 Branch

Comment 11

9 years ago
Created attachment 300438 [details]
testcase, works on Opera and Safari too

Opera gives the same result as 2.0.11, Safari same as trunk
Attachment #300429 - Attachment is obsolete: true
I thought we already set createDocument() documents to be data documents...  If we don't, that seems like a bug.

I'm not sure about the security aspect of it, though.  If it's safe, it might indeed make sense to revert that part for compat reasons.

Comment 13

9 years ago
No we didn't set .createDocuments as data documents.
It is IMO a bug, which is now fixed both on branch (sort of accidentally) and on
trunk (on purpose).
The extension must be changed for FF3, but during FF2 it is better to not change
the behavior unless absolutely needed.
Attachment #300432 - Flags: superreview+
Attachment #300432 - Flags: review?(jonas)
Attachment #300432 - Flags: review+


9 years ago
Attachment #300432 - Flags: approval1.8.1.12?
It's not just the extension, the testcase shows this change affects web content. Dunno if anyone uses it, but it's definitely a potentially web-breaking change not just an addon problem.
Comment on attachment 300432 [details] [diff] [review]
revert back the old behavior

approved for, a=dveditz for release-drivers
Attachment #300432 - Flags: approval1.8.1.12? → approval1.8.1.12+

Comment 16

9 years ago
Jason, could you please try next nightlies. Thanks!
Last Resolved: 9 years ago
Keywords: fixed1.8.1.12, testcase
Resolution: --- → FIXED

Comment 17

9 years ago
Checked in to GECKO181_20080128_RELBRANCH and MOZILLA_1_8_BRANCH 
Keywords: fixed1.8.1.13
Please get some mochitests in?
Flags: in-testsuite?

Comment 19

9 years ago
To test the current trunk behavior? Or branch behavior?

Comment 20

9 years ago
I guess trunk. That is IMO what we want, or otherwise we should allow
also image loads etc on data documents.
Flags: blocking1.8.1.12? → blocking1.8.1.12+
The primary bugs to regression test are of course bug 393762 and bug 393761.

This will, of course, regress bug 382636 since this bug is basically about backing that one out. That is expected and OK for the 1.8 branch.

Make sure it doesn't regress old bug 325005 (which checks the "loadedAsData"
Blocks: 382636
This is fixed in Mozilla/5.0 (X11; U; Linux i686; en-US; rv: Gecko/2008013015 Firefox/ I've verified it.
Keywords: fixed1.8.1.12 → verified1.8.1.12
Flags: blocking1.8.1.12+ → blocking1.8.1.12?
Flags: blocking1.8.1.12?
Flags: blocking1.8.1.12+
Blocks: 414327
Verified FIXED using Bonsai:

Replacing fixed1.8.1.13 keyword with verified1.8.1.13.
Keywords: fixed1.8.1.13 → verified1.8.1.13
(In reply to comment #23)
> Verified FIXED using Bonsai:
> Replacing fixed1.8.1.13 keyword with verified1.8.1.13.

Commented in the wrong bug, sorry, restoring fixed1.8.1.13 keyword.
Keywords: verified1.8.1.13 → fixed1.8.1.13
This is verified for as well.

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv: Gecko/2008031114 Firefox/
Keywords: fixed1.8.1.13 → verified1.8.1.13
You need to log in before you can comment on or make changes to this bug.