File tree Expand file tree Collapse file tree 4 files changed +25
-5
lines changed Expand file tree Collapse file tree 4 files changed +25
-5
lines changed Original file line number Diff line number Diff line change @@ -16,6 +16,7 @@ set(SOURCES
16
16
CSS/Parser/CSSParser.cpp
17
17
CSS/PropertyID.cpp
18
18
CSS/PropertyID.h
19
+ CSS/QuirksModeStyleSheetSource.cpp
19
20
CSS/Selector.cpp
20
21
CSS/SelectorEngine.cpp
21
22
CSS/StyleDeclaration.cpp
@@ -329,5 +330,13 @@ add_custom_command(
329
330
MAIN_DEPENDENCY CSS/Default.css
330
331
)
331
332
333
+ add_custom_command (
334
+ OUTPUT CSS/QuirksModeStyleSheetSource.cpp
335
+ COMMAND ${write_if_different} CSS/QuirksModeStyleSheetSource.cpp ${CMAKE_CURRENT_SOURCE_DIR} /Scripts/GenerateStyleSheetSource.sh quirks_mode_stylesheet_source ${CMAKE_CURRENT_SOURCE_DIR} /CSS/QuirksMode.css
336
+ VERBATIM
337
+ DEPENDS Scripts/GenerateStyleSheetSource.sh
338
+ MAIN_DEPENDENCY CSS/Default.css
339
+ )
340
+
332
341
serenity_lib(LibWeb web)
333
342
target_link_libraries (LibWeb LibCore LibJS LibMarkdown LibGemini LibGUI LibGfx LibTextCodec LibProtocol LibImageDecoderClient)
Original file line number Diff line number Diff line change @@ -147,8 +147,3 @@ blockquote {
147
147
margin-left : 25px ;
148
148
margin-right : 25px ;
149
149
}
150
-
151
- /* FIXME: I think this should only apply in quirks mode. */
152
- table {
153
- text-align : left;
154
- }
Original file line number Diff line number Diff line change
1
+ table {
2
+ text-align : left;
3
+ }
Original file line number Diff line number Diff line change @@ -57,10 +57,23 @@ static StyleSheet& default_stylesheet()
57
57
return *sheet;
58
58
}
59
59
60
+ static StyleSheet& quirks_mode_stylesheet ()
61
+ {
62
+ static StyleSheet* sheet;
63
+ if (!sheet) {
64
+ extern const char quirks_mode_stylesheet_source[];
65
+ String css = quirks_mode_stylesheet_source;
66
+ sheet = parse_css (CSS::ParsingContext (), css).leak_ref ();
67
+ }
68
+ return *sheet;
69
+ }
70
+
60
71
template <typename Callback>
61
72
void StyleResolver::for_each_stylesheet (Callback callback) const
62
73
{
63
74
callback (default_stylesheet ());
75
+ if (document ().in_quirks_mode ())
76
+ callback (quirks_mode_stylesheet ());
64
77
for (auto & sheet : document ().style_sheets ().sheets ()) {
65
78
callback (sheet);
66
79
}
You can’t perform that action at this time.
0 commit comments