Changeset 106632 in webkit
- Timestamp:
- Feb 2, 2012 11:30:20 PM (12 years ago)
- Location:
- trunk
- Files:
-
- 8 added
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r106631 r106632 1 2012-02-02 Matt Falkenhagen <falken@chromium.org> 2 3 Use content-language from http-equiv to set document locale and font 4 https://bugs.webkit.org/show_bug.cgi?id=76701 5 6 Reviewed by Darin Adler. 7 8 Add tests that content-language from http-equiv sets document locale and is used in font selection. 9 10 * fast/text/content-language-case-insensitivity-expected.txt: Added. 11 * fast/text/content-language-case-insensitivity.html: Added. 12 * fast/text/content-language-mapped-to-webkit-locale-expected.txt: Added. 13 * fast/text/content-language-mapped-to-webkit-locale.html: Added. 14 * fast/text/international/content-language-font-selection-expected.html: Added. 15 * fast/text/international/content-language-font-selection.html: Added. 16 * fast/text/international/content-language-with-subtags-expected.html: Added. 17 * fast/text/international/content-language-with-subtags.html: Added. 18 * fast/text/lang-mapped-to-webkit-locale-expected.txt: 19 * fast/text/lang-mapped-to-webkit-locale.xhtml: Fix some style issues. 20 * fast/text/xml-lang-ignored-in-html-expected.txt: 21 * fast/text/xml-lang-ignored-in-html.html: Fix some style issues. 22 * platform/efl/Skipped: Skip tests using overridePreference("WebKit*FontMap"...) on non-Chromium ports. 23 * platform/gtk-wk2/Skipped: Ditto. 24 * platform/gtk/Skipped: Ditto. 25 * platform/mac/Skipped: Ditto. 26 * platform/qt/Skipped: Ditto. 27 * platform/win/Skipped: Ditto. 28 * platform/wincairo/Skipped: Ditto. 29 * platform/wk2/Skipped: Ditto. 30 1 31 2012-02-02 Csaba Osztrogonác <ossy@webkit.org> 2 32 -
trunk/LayoutTests/fast/text/lang-mapped-to-webkit-locale-expected.txt
r103608 r106632 1 1 This is a test for bug 67586. HTML attributes lang and xml:lang are mapped to '-webkit-locale' to use their value in font fallback. 2 2 3 PASS getLangOfNode('x1') is "ja"4 PASS getLangOfNode('x2') is "ja"5 PASS getLangOfNode('x3') is "ja"6 PASS getLangOfNode('l1') is "zh"7 PASS getLangOfNode('l2') is "zh"8 PASS getLangOfNode('l3') is "zh"9 PASS getLangOfNode('m1') is "ko"10 PASS getLangOfNode('m2') is "fr"11 PASS getLangOfNode('m3') is "fr"12 PASS getLangOfNode('n1') is "fr"13 PASS getLangOfNode('n2') is "fr"14 PASS getLangOfNode('n3') is "sv"15 PASS getLangOfNode('p1') is "ja"16 PASS getLangOfNode('p2') is "auto"17 PASS getLangOfNode('q1') is "ja"18 PASS getLangOfNode('q2') is "auto"19 PASS getLangOfNode('q3') is "auto"20 PASS getLangOfNode('q4') is "ar"21 PASS getLangOfNode('q5') is "auto"22 PASS getLangOfNode('q6') is "' '"23 PASS getLangOfNode('q7') is "auto"24 PASS getLangOfNode('q8') is "xyzzy"25 PASS getLangOfNode('q9') is "'][;][['"3 PASS languageOfNode('x1') is "ja" 4 PASS languageOfNode('x2') is "ja" 5 PASS languageOfNode('x3') is "ja" 6 PASS languageOfNode('l1') is "zh" 7 PASS languageOfNode('l2') is "zh" 8 PASS languageOfNode('l3') is "zh" 9 PASS languageOfNode('m1') is "ko" 10 PASS languageOfNode('m2') is "fr" 11 PASS languageOfNode('m3') is "fr" 12 PASS languageOfNode('n1') is "fr" 13 PASS languageOfNode('n2') is "fr" 14 PASS languageOfNode('n3') is "sv" 15 PASS languageOfNode('p1') is "ja" 16 PASS languageOfNode('p2') is "auto" 17 PASS languageOfNode('q1') is "ja" 18 PASS languageOfNode('q2') is "auto" 19 PASS languageOfNode('q3') is "auto" 20 PASS languageOfNode('q4') is "ar" 21 PASS languageOfNode('q5') is "auto" 22 PASS languageOfNode('q6') is "' '" 23 PASS languageOfNode('q7') is "auto" 24 PASS languageOfNode('q8') is "xyzzy" 25 PASS languageOfNode('q9') is "'][;][['" 26 26 PASS successfullyParsed is true 27 27 -
trunk/LayoutTests/fast/text/lang-mapped-to-webkit-locale.xhtml
r103608 r106632 25 25 </div> 26 26 <script> 27 function getLangOfNode(n) {28 e = document.getElementById(n);29 return window.getComputedStyle(e ).webkitLocale;27 function languageOfNode(id) { 28 var element = document.getElementById(id); 29 return window.getComputedStyle(element).webkitLocale; 30 30 } 31 shouldBeEqualToString(" getLangOfNode('x1')", "ja");32 shouldBeEqualToString(" getLangOfNode('x2')", "ja");33 shouldBeEqualToString(" getLangOfNode('x3')", "ja");34 shouldBeEqualToString(" getLangOfNode('l1')", "zh");35 shouldBeEqualToString(" getLangOfNode('l2')", "zh");36 shouldBeEqualToString(" getLangOfNode('l3')", "zh");37 shouldBeEqualToString(" getLangOfNode('m1')", "ko");38 shouldBeEqualToString(" getLangOfNode('m2')", "fr");39 shouldBeEqualToString(" getLangOfNode('m3')", "fr");40 shouldBeEqualToString(" getLangOfNode('n1')", "fr");41 shouldBeEqualToString(" getLangOfNode('n2')", "fr");42 shouldBeEqualToString(" getLangOfNode('n3')", "sv");43 shouldBeEqualToString(" getLangOfNode('p1')", "ja");44 shouldBeEqualToString(" getLangOfNode('p2')", "auto");45 shouldBeEqualToString(" getLangOfNode('q1')", "ja");46 shouldBeEqualToString(" getLangOfNode('q2')", "auto");47 shouldBeEqualToString(" getLangOfNode('q3')", "auto");48 shouldBeEqualToString(" getLangOfNode('q4')", "ar");49 shouldBeEqualToString(" getLangOfNode('q5')", "auto");50 shouldBeEqualToString(" getLangOfNode('q6')", "' '");51 shouldBeEqualToString(" getLangOfNode('q7')", "auto");52 shouldBeEqualToString(" getLangOfNode('q8')", "xyzzy");53 shouldBeEqualToString(" getLangOfNode('q9')", "'][;][['");31 shouldBeEqualToString("languageOfNode('x1')", "ja"); 32 shouldBeEqualToString("languageOfNode('x2')", "ja"); 33 shouldBeEqualToString("languageOfNode('x3')", "ja"); 34 shouldBeEqualToString("languageOfNode('l1')", "zh"); 35 shouldBeEqualToString("languageOfNode('l2')", "zh"); 36 shouldBeEqualToString("languageOfNode('l3')", "zh"); 37 shouldBeEqualToString("languageOfNode('m1')", "ko"); 38 shouldBeEqualToString("languageOfNode('m2')", "fr"); 39 shouldBeEqualToString("languageOfNode('m3')", "fr"); 40 shouldBeEqualToString("languageOfNode('n1')", "fr"); 41 shouldBeEqualToString("languageOfNode('n2')", "fr"); 42 shouldBeEqualToString("languageOfNode('n3')", "sv"); 43 shouldBeEqualToString("languageOfNode('p1')", "ja"); 44 shouldBeEqualToString("languageOfNode('p2')", "auto"); 45 shouldBeEqualToString("languageOfNode('q1')", "ja"); 46 shouldBeEqualToString("languageOfNode('q2')", "auto"); 47 shouldBeEqualToString("languageOfNode('q3')", "auto"); 48 shouldBeEqualToString("languageOfNode('q4')", "ar"); 49 shouldBeEqualToString("languageOfNode('q5')", "auto"); 50 shouldBeEqualToString("languageOfNode('q6')", "' '"); 51 shouldBeEqualToString("languageOfNode('q7')", "auto"); 52 shouldBeEqualToString("languageOfNode('q8')", "xyzzy"); 53 shouldBeEqualToString("languageOfNode('q9')", "'][;][['"); 54 54 55 55 var successfullyParsed = true; -
trunk/LayoutTests/fast/text/xml-lang-ignored-in-html-expected.txt
r103608 r106632 1 1 This tests that the attribute in no namespace with no prefix and with the literal localname "xml:lang" is ignored in HTML. See bug 67586. 2 2 3 PASS getLangOfNode('m1') is "auto"4 PASS getLangOfNode('n1') is "ko"5 PASS getLangOfNode('o1') is "ar"6 PASS getLangOfNode('o2') is "ar"3 PASS languageOfNode('m1') is "auto" 4 PASS languageOfNode('n1') is "ko" 5 PASS languageOfNode('o1') is "ar" 6 PASS languageOfNode('o2') is "ar" 7 7 PASS successfullyParsed is true 8 8 -
trunk/LayoutTests/fast/text/xml-lang-ignored-in-html.html
r103608 r106632 1 1 <html xmlns="http://www.w3.org/1999/xhtml"> 2 2 <head> 3 <link rel="stylesheet" href="../js/resources/js-test-style.css" />3 <link rel="stylesheet" href="../js/resources/js-test-style.css"> 4 4 <script src="../js/resources/js-test-pre.js"></script> 5 5 </head> … … 8 8 <a href="http://webkit.org/b/67586">bug 67586</a>.</p> 9 9 <div id="console"></div> 10 <div xml:lang="ar" id="m1"></div> </div>10 <div xml:lang="ar" id="m1"></div> 11 11 <div lang="ko"><div xml:lang="ar" id="n1"></div></div> 12 12 <div lang="ar" id="o1"><div xml:lang="" id="o2"></div></div> 13 13 <script> 14 function getLangOfNode(n) {15 e = document.getElementById(n);16 return window.getComputedStyle(e ).webkitLocale;14 function languageOfNode(id) { 15 var element = document.getElementById(id); 16 return window.getComputedStyle(element).webkitLocale; 17 17 } 18 shouldBeEqualToString(" getLangOfNode('m1')", "auto");19 shouldBeEqualToString(" getLangOfNode('n1')", "ko");20 shouldBeEqualToString(" getLangOfNode('o1')", "ar");21 shouldBeEqualToString(" getLangOfNode('o2')", "ar");18 shouldBeEqualToString("languageOfNode('m1')", "auto"); 19 shouldBeEqualToString("languageOfNode('n1')", "ko"); 20 shouldBeEqualToString("languageOfNode('o1')", "ar"); 21 shouldBeEqualToString("languageOfNode('o2')", "ar"); 22 22 23 23 var successfullyParsed = true; -
trunk/LayoutTests/platform/efl/Skipped
r106431 r106632 719 719 fast/repaint/no-caret-repaint-in-non-content-editable-element.html 720 720 fast/spatial-navigation 721 fast/text/international/content-language-font-selection.html 722 fast/text/international/content-language-with-subtags.html 721 723 fast/text/international/locale-sensitive-fonts.html 722 724 fast/text/zero-font-size.html -
trunk/LayoutTests/platform/gtk-wk2/Skipped
r102955 r106632 209 209 # WebKit2 needs layoutTestController.overridePreference 210 210 # https://bugs.webkit.org/show_bug.cgi?id=42197 211 fast/text/international/content-language-font-selection.html 212 fast/text/international/content-language-with-subtags.html 211 213 fast/text/international/locale-sensitive-fonts.html 212 214 fast/repaint/no-caret-repaint-in-non-content-editable-element.html -
trunk/LayoutTests/platform/gtk/Skipped
r106546 r106632 375 375 # layoutTestController.overridePreference("WebKit*FontMap"...) is not 376 376 # supported. 377 fast/text/international/content-language-font-selection.html 378 fast/text/international/content-language-with-subtags.html 377 379 fast/text/international/locale-sensitive-fonts.html 378 380 -
trunk/LayoutTests/platform/mac/Skipped
r106463 r106632 494 494 495 495 # DRT doesn't support overridePreference("WebKit*FontMap"...) 496 fast/text/international/content-language-font-selection.html 497 fast/text/international/content-language-with-subtags.html 496 498 fast/text/international/locale-sensitive-fonts.html 497 499 -
trunk/LayoutTests/platform/qt/Skipped
r106631 r106632 995 995 # Missing DRT ability to override 'standard' preferences. 996 996 fast/dom/Window/timer-resume-on-navigation-back.html 997 fast/text/international/content-language-font-selection.html 998 fast/text/international/content-language-with-subtags.html 997 999 fast/text/international/locale-sensitive-fonts.html 998 1000 loader/go-back-to-different-window-size.html -
trunk/LayoutTests/platform/win/Skipped
r106593 r106632 1503 1503 1504 1504 # DRT doesn't support overridePreference("WebKit*FontMap"...) 1505 fast/text/international/content-language-font-selection.html 1506 fast/text/international/content-language-with-subtags.html 1505 1507 fast/text/international/locale-sensitive-fonts.html 1506 1508 -
trunk/LayoutTests/platform/wincairo/Skipped
r106337 r106632 2027 2027 2028 2028 # DRT doesn't support overridePreference("WebKit*FontMap"...) 2029 fast/text/international/content-language-font-selection.html 2030 fast/text/international/content-language-with-subtags.html 2029 2031 fast/text/international/locale-sensitive-fonts.html 2030 2032 -
trunk/LayoutTests/platform/wk2/Skipped
r106457 r106632 291 291 fast/repaint/no-caret-repaint-in-non-content-editable-element.html 292 292 fast/text/zero-font-size.html 293 fast/text/international/content-language-font-selection.html 294 fast/text/international/content-language-with-subtags.html 293 295 fast/text/international/locale-sensitive-fonts.html 294 296 css3/filters/effect-combined.html -
trunk/Source/WebCore/ChangeLog
r106630 r106632 1 2012-02-02 Matt Falkenhagen <falken@chromium.org> 2 3 Use content-language from http-equiv to set document locale and font 4 https://bugs.webkit.org/show_bug.cgi?id=76701 5 6 Reviewed by Darin Adler. 7 8 So far, only content-language set through http-equiv is used; the HTTP Content-Language 9 header is not yet supported. 10 11 Tests: fast/text/content-language-case-insensitivity.html 12 fast/text/content-language-mapped-to-webkit-locale.html 13 fast/text/international/content-language-font-selection-expected.html 14 fast/text/international/content-language-font-selection.html 15 fast/text/international/content-language-with-subtags-expected.html 16 fast/text/international/content-language-with-subtags.html 17 18 * css/CSSStyleSelector.cpp: 19 (WebCore::CSSStyleSelector::styleForDocument): Use content language when selecting initial font. 20 * dom/Document.cpp: 21 (WebCore::Document::setContentLanguage): Recalculate style so language is taken into account. 22 (WebCore): 23 * dom/Document.h: 24 (Document): 25 1 26 2012-02-02 Sheriff Bot <webkit.review.bot@gmail.com> 2 27 -
trunk/Source/WebCore/css/CSSStyleSelector.cpp
r106568 r106632 1404 1404 documentStyle->setPageScaleTransform(frame ? frame->frameScaleFactor() : 1); 1405 1405 documentStyle->setUserModify(document->inDesignMode() ? READ_WRITE : READ_ONLY); 1406 documentStyle->setLocale(document->contentLanguage()); 1406 1407 1407 1408 Element* docElement = document->documentElement(); … … 1434 1435 FontDescription fontDescription; 1435 1436 fontDescription.setUsePrinterFont(document->printing()); 1437 fontDescription.setScript(localeToScriptCodeForFontSelection(documentStyle->locale())); 1436 1438 if (Settings* settings = document->settings()) { 1437 1439 fontDescription.setRenderingMode(settings->fontRenderingMode()); 1438 const AtomicString& st dfont = settings->standardFontFamily();1439 if (!st dfont.isEmpty()) {1440 const AtomicString& standardFont = settings->standardFontFamily(fontDescription.script()); 1441 if (!standardFont.isEmpty()) { 1440 1442 fontDescription.setGenericFamily(FontDescription::StandardFamily); 1441 fontDescription.firstFamily().setFamily(st dfont);1443 fontDescription.firstFamily().setFamily(standardFont); 1442 1444 fontDescription.firstFamily().appendFamily(0); 1443 1445 } -
trunk/Source/WebCore/dom/Document.cpp
r106530 r106632 1103 1103 } 1104 1104 1105 void Document::setContentLanguage(const String& language) 1106 { 1107 if (m_contentLanguage == language) 1108 return; 1109 m_contentLanguage = language; 1110 1111 // Recalculate style so language is used when selecting the initial font. 1112 styleSelectorChanged(DeferRecalcStyle); 1113 } 1114 1105 1115 void Document::setXMLVersion(const String& version, ExceptionCode& ec) 1106 1116 { -
trunk/Source/WebCore/dom/Document.h
r106530 r106632 388 388 389 389 String contentLanguage() const { return m_contentLanguage; } 390 void setContentLanguage(const String& lang) { m_contentLanguage = lang; }390 void setContentLanguage(const String&); 391 391 392 392 String xmlEncoding() const { return m_xmlEncoding; }
Note: See TracChangeset
for help on using the changeset viewer.