Project

General

Profile

Actions

Bug #36316

closed

RTE: Importing google webfonts breaks style sheet parsing

Added by Robert Vock almost 12 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Should have
Category:
RTE (rtehtmlarea + ckeditor)
Target version:
Start date:
2012-04-19
Due date:
% Done:

100%

Estimated time:
TYPO3 Version:
4.5
PHP Version:
5.3
Tags:
Complexity:
no-brainer
Is Regression:
Sprint Focus:

Description

The rte does not show any custom classes, if your rte.css imports google webfonts:

rte.css

@charset "UTF-8";
@import "http://fonts.googleapis.com/css?family=Quattrocento+Sans:400,700,400italic,700italic";
p.teaser {
font-weight:bold;
}

pageTS is configured with this teaser class, but the class does not show up in the style drop down.
Removing the @import solves this issue (the class shows up correctly).

Digging into the code, I found the bug in sysext/rtehtmlarea/htmlarea/htmlarea.js:
When parsing the rules, it only checks if it is an import rule and uses the cssRules of that stylesheet:
Line 3761:

if (cssRules[rule].styleSheet) {
    this.parseRules(cssRules[rule].styleSheet.cssRules);
}

The correct check would be:

if (cssRules[rule].styleSheet && cssRules[rule].styleSheet.cssRules) {
    this.parseRules(cssRules[rule].styleSheet.cssRules);
}

In the case of the google web fonts cssRules is null and the check for cssRules.length fails.


Related issues 1 (0 open1 closed)

Related to TYPO3 Core - Bug #49648: RTE: Importing google webfonts breaks style sheet parsing in FirefoxClosedStanislas Rolland2013-07-03

Actions
Actions

Also available in: Atom PDF