Title: [161286] trunk/Source/WebCore
Revision
161286
Author
[email protected]
Date
2014-01-03 14:28:19 -0800 (Fri, 03 Jan 2014)

Log Message

[iOS] Upstream WebCore/css changes
https://bugs.webkit.org/show_bug.cgi?id=126237

Reviewed by Simon Fraser.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue): Added iOS-specific code and FIXME comment.
* css/CSSParser.cpp:
(WebCore::CSSParserContext::CSSParserContext): Ditto.
(WebCore::CSSParser::parseValue): Ditto.
* css/CSSPropertyNames.in: Added property -webkit-composition-fill-color. Also added FIXME comment.
* css/CSSValueKeywords.in: Added iOS-specific -apple-system-* values.
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): Added iOS-specific code and FIXME comments.
* css/MediaFeatureNames.h: Added media feature -webkit-video-playable-inline.
* css/MediaQueryEvaluator.cpp:
(WebCore::isRunningOnIPhoneOrIPod): Added. Also added FIXME comment.
(WebCore::video_playable_inlineMediaFeatureEval): Added.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::canShareStyleWithElement): Substitute toHTMLMediaElement() for toMediaElement().
(WebCore::StyleResolver::applyProperty): Added iOS-specific code and FIXME comment.
* css/html.css: Added iOS-specific CSS styles.
(input, textarea, keygen, select, button, isindex):
(isindex):
(input[type="date"]):
(input[type="datetime"]):
(input[type="datetime-local"]):
(input[type="month"]):
(input[type="time"]):
(textarea):
(input:-webkit-autofill):
(input[type="radio"], input[type="checkbox"]):
(input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button):
(input[type="range"]::-webkit-slider-thumb, input[type="range"]::-webkit-media-slider-thumb):
(input[type="range"]::-webkit-slider-thumb:active):
(input:disabled, textarea:disabled):
(input[readonly], textarea[readonly]):
(textarea::-webkit-input-placeholder):
(input[type="checkbox"]):
(input[type="radio"]):
(input[type="checkbox"]:checked, input[type="radio"]:checked):
(input[type="checkbox"]:checked:disabled, input[type="radio"]:checked:disabled):
(select:focus):
(select):
* css/mathml.css: Added iOS-specific CSS styles.
(math, mfenced > *):
(mo, mfenced):
* css/mediaControlsiOS.css: Added.
* css/svg.css: Added iOS-specific CSS styles.
(text, tspan, tref):

Modified Paths

Added Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (161285 => 161286)


--- trunk/Source/WebCore/ChangeLog	2014-01-03 21:45:55 UTC (rev 161285)
+++ trunk/Source/WebCore/ChangeLog	2014-01-03 22:28:19 UTC (rev 161286)
@@ -1,3 +1,56 @@
+2014-01-03  Daniel Bates  <[email protected]>
+
+        [iOS] Upstream WebCore/css changes
+        https://bugs.webkit.org/show_bug.cgi?id=126237
+
+        Reviewed by Simon Fraser.
+
+        * css/CSSComputedStyleDeclaration.cpp:
+        (WebCore::ComputedStyleExtractor::propertyValue): Added iOS-specific code and FIXME comment.
+        * css/CSSParser.cpp:
+        (WebCore::CSSParserContext::CSSParserContext): Ditto.
+        (WebCore::CSSParser::parseValue): Ditto.
+        * css/CSSPropertyNames.in: Added property -webkit-composition-fill-color. Also added FIXME comment.
+        * css/CSSValueKeywords.in: Added iOS-specific -apple-system-* values.
+        * css/DeprecatedStyleBuilder.cpp:
+        (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): Added iOS-specific code and FIXME comments.
+        * css/MediaFeatureNames.h: Added media feature -webkit-video-playable-inline.
+        * css/MediaQueryEvaluator.cpp:
+        (WebCore::isRunningOnIPhoneOrIPod): Added. Also added FIXME comment.
+        (WebCore::video_playable_inlineMediaFeatureEval): Added.
+        * css/StyleResolver.cpp:
+        (WebCore::StyleResolver::canShareStyleWithElement): Substitute toHTMLMediaElement() for toMediaElement().
+        (WebCore::StyleResolver::applyProperty): Added iOS-specific code and FIXME comment.
+        * css/html.css: Added iOS-specific CSS styles.
+        (input, textarea, keygen, select, button, isindex):
+        (isindex):
+        (input[type="date"]):
+        (input[type="datetime"]):
+        (input[type="datetime-local"]):
+        (input[type="month"]):
+        (input[type="time"]):
+        (textarea):
+        (input:-webkit-autofill):
+        (input[type="radio"], input[type="checkbox"]):
+        (input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button):
+        (input[type="range"]::-webkit-slider-thumb, input[type="range"]::-webkit-media-slider-thumb):
+        (input[type="range"]::-webkit-slider-thumb:active):
+        (input:disabled, textarea:disabled):
+        (input[readonly], textarea[readonly]):
+        (textarea::-webkit-input-placeholder):
+        (input[type="checkbox"]):
+        (input[type="radio"]):
+        (input[type="checkbox"]:checked, input[type="radio"]:checked):
+        (input[type="checkbox"]:checked:disabled, input[type="radio"]:checked:disabled):
+        (select:focus):
+        (select):
+        * css/mathml.css: Added iOS-specific CSS styles.
+        (math, mfenced > *):
+        (mo, mfenced):
+        * css/mediaControlsiOS.css: Added.
+        * css/svg.css: Added iOS-specific CSS styles.
+        (text, tspan, tref):
+
 2014-01-03  Brent Fulgham  <[email protected]>
 
         [WebGL] glScissor test is not accounted for when generating internal rendering textures.

Modified: trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp (161285 => 161286)


--- trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp	2014-01-03 21:45:55 UTC (rev 161285)
+++ trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp	2014-01-03 22:28:19 UTC (rev 161286)
@@ -348,6 +348,10 @@
     CSSPropertyWebkitRtlOrdering,
 #if PLATFORM(IOS)
     CSSPropertyWebkitTouchCallout,
+
+    // FIXME: This property shouldn't be iOS-specific. Once we fix up its usage in InlineTextBox::paintCompositionBackground()
+    // we should move it outside the PLATFORM(IOS)-guard. See <https://bugs.webkit.org/show_bug.cgi?id=126296>.
+    CSSPropertyWebkitCompositionFillColor,
 #endif
 #if ENABLE(CSS_SHAPES)
     CSSPropertyWebkitShapeInside,
@@ -2739,6 +2743,12 @@
         }
         case CSSPropertyWebkitRtlOrdering:
             return cssValuePool().createIdentifierValue(style->rtlOrdering() ? CSSValueVisual : CSSValueLogical);
+#if PLATFORM(IOS)
+        // FIXME: This property shouldn't be iOS-specific. Once we fix up its usage in InlineTextBox::paintCompositionBackground()
+        // we should remove the PLATFORM(IOS)-guard. See <https://bugs.webkit.org/show_bug.cgi?id=126296>.
+        case CSSPropertyWebkitCompositionFillColor:
+            return currentColorOrValidColor(style.get(), style->compositionFillColor());
+#endif
 #if ENABLE(TOUCH_EVENTS)
         case CSSPropertyWebkitTapHighlightColor:
             return currentColorOrValidColor(style.get(), style->tapHighlightColor());

Modified: trunk/Source/WebCore/css/CSSParser.cpp (161285 => 161286)


--- trunk/Source/WebCore/css/CSSParser.cpp	2014-01-03 21:45:55 UTC (rev 161285)
+++ trunk/Source/WebCore/css/CSSParser.cpp	2014-01-03 22:28:19 UTC (rev 161286)
@@ -264,6 +264,12 @@
     , enforcesCSSMIMETypeInNoQuirksMode(true)
     , useLegacyBackgroundSizeShorthandBehavior(false)
 {
+#if PLATFORM(IOS)
+    // FIXME: Force the site specific quirk below to work on iOS. Investigating other site specific quirks
+    // to see if we can enable the preference all together is to be handled by:
+    // <rdar://problem/8493309> Investigate Enabling Site Specific Quirks in MobileSafari and UIWebView
+    needsSiteSpecificQuirks = true;
+#endif
 }
 
 CSSParserContext::CSSParserContext(Document& document, const URL& baseURL, const String& charset)
@@ -280,6 +286,12 @@
     , enforcesCSSMIMETypeInNoQuirksMode(!document.settings() || document.settings()->enforceCSSMIMETypeInNoQuirksMode())
     , useLegacyBackgroundSizeShorthandBehavior(document.settings() ? document.settings()->useLegacyBackgroundSizeShorthandBehavior() : false)
 {
+#if PLATFORM(IOS)
+    // FIXME: Force the site specific quirk below to work on iOS. Investigating other site specific quirks
+    // to see if we can enable the preference all together is to be handled by:
+    // <rdar://problem/8493309> Investigate Enabling Site Specific Quirks in MobileSafari and UIWebView
+    needsSiteSpecificQuirks = true;
+#endif
 }
 
 bool operator==(const CSSParserContext& a, const CSSParserContext& b)
@@ -2760,6 +2772,19 @@
 #endif
 
 #if PLATFORM(IOS)
+    // FIXME: CSSPropertyWebkitCompositionFillColor shouldn't be iOS-specific. Once we fix up its usage in
+    // InlineTextBox::paintCompositionBackground() we should move it outside the PLATFORM(IOS)-guard.
+    // See <https://bugs.webkit.org/show_bug.cgi?id=126296>.
+    case CSSPropertyWebkitCompositionFillColor:
+        if ((id >= CSSValueAqua && id <= CSSValueWindowtext) || id == CSSValueMenu
+            || (id >= CSSValueWebkitFocusRingColor && id < CSSValueWebkitText && inQuirksMode())) {
+            validPrimitive = true;
+        } else {
+            parsedValue = parseColor();
+            if (parsedValue)
+                m_valueList->next();
+        }
+        break;
     case CSSPropertyWebkitTouchCallout:
         if (id == CSSValueDefault || id == CSSValueNone)
             validPrimitive = true;
@@ -12729,7 +12754,8 @@
     if (buffer[0] == '-') {
         // If the prefix is -apple- or -khtml-, change it to -webkit-.
         // This makes the string one character longer.
-        if (hasPrefix(buffer, length, "-apple-") || hasPrefix(buffer, length, "-khtml-")) {
+        // On iOS we don't want to change values starting with -apple-system to -webkit-system.
+        if ((hasPrefix(buffer, length, "-apple-") && !hasPrefix(buffer, length, "-apple-system")) || hasPrefix(buffer, length, "-khtml-")) {
             memmove(buffer + 7, buffer + 6, length + 1 - 6);
             memcpy(buffer, "-webkit", 7);
             ++length;

Modified: trunk/Source/WebCore/css/CSSPropertyNames.in (161285 => 161286)


--- trunk/Source/WebCore/css/CSSPropertyNames.in	2014-01-03 21:45:55 UTC (rev 161285)
+++ trunk/Source/WebCore/css/CSSPropertyNames.in	2014-01-03 22:28:19 UTC (rev 161286)
@@ -465,4 +465,8 @@
 #endif
 #if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS
 -webkit-touch-callout [Inherited]
+
+// FIXME: This property shouldn't be iOS-specific. Once we fix up its usage in InlineTextBox::paintCompositionBackground()
+// we should move it outside the WTF_PLATFORM_IOS-guard.
+-webkit-composition-fill-color [Inherited]
 #endif

Modified: trunk/Source/WebCore/css/CSSValueKeywords.in (161285 => 161286)


--- trunk/Source/WebCore/css/CSSValueKeywords.in	2014-01-03 21:45:55 UTC (rev 161285)
+++ trunk/Source/WebCore/css/CSSValueKeywords.in	2014-01-03 22:28:19 UTC (rev 161286)
@@ -31,6 +31,23 @@
 -webkit-mini-control
 -webkit-small-control
 -webkit-control
+
+#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS
+-apple-system-headline
+-apple-system-body
+-apple-system-subheadline
+-apple-system-footnote
+-apple-system-caption1
+-apple-system-caption2
+-apple-system-short-headline
+-apple-system-short-body
+-apple-system-short-subheadline
+-apple-system-short-footnote
+-apple-system-short-caption1
+-apple-system-tall-body
+#endif
+
+// This has to go after the -apple-system versions.
 status-bar
 
 //

Modified: trunk/Source/WebCore/css/DeprecatedStyleBuilder.cpp (161285 => 161286)


--- trunk/Source/WebCore/css/DeprecatedStyleBuilder.cpp	2014-01-03 21:45:55 UTC (rev 161285)
+++ trunk/Source/WebCore/css/DeprecatedStyleBuilder.cpp	2014-01-03 22:28:19 UTC (rev 161286)
@@ -2312,7 +2312,15 @@
     setPropertyHandler(CSSPropertyImageResolution, ApplyPropertyImageResolution::createHandler());
 #endif
     setPropertyHandler(CSSPropertyLeft, ApplyPropertyLength<&RenderStyle::left, &RenderStyle::setLeft, &RenderStyle::initialOffset, AutoEnabled>::createHandler());
+
+    // FIXME: We should reconcile the difference in datatype between iOS and OpenSource. On iOS we want letter spacing to
+    // be float for sub-pixel kerning. See <https://bugs.webkit.org/show_bug.cgi?id=20606>.
+#if !PLATFORM(IOS)
     setPropertyHandler(CSSPropertyLetterSpacing, ApplyPropertyComputeLength<int, &RenderStyle::letterSpacing, &RenderStyle::setLetterSpacing, &RenderStyle::initialLetterWordSpacing, NormalEnabled, ThicknessDisabled, SVGZoomEnabled>::createHandler());
+#else
+    setPropertyHandler(CSSPropertyLetterSpacing, ApplyPropertyComputeLength<float, &RenderStyle::letterSpacing, &RenderStyle::setLetterSpacing, &RenderStyle::initialLetterWordSpacing, NormalEnabled, ThicknessDisabled, SVGZoomEnabled>::createHandler());
+#endif
+
 #if ENABLE(IOS_TEXT_AUTOSIZING)
     setPropertyHandler(CSSPropertyLineHeight, ApplyPropertyLineHeightForIOSTextAutosizing::createHandler());
 #else
@@ -2528,7 +2536,15 @@
     setPropertyHandler(CSSPropertyWidows, ApplyPropertyAuto<short, &RenderStyle::widows, &RenderStyle::setWidows, &RenderStyle::hasAutoWidows, &RenderStyle::setHasAutoWidows>::createHandler());
     setPropertyHandler(CSSPropertyWidth, ApplyPropertyLength<&RenderStyle::width, &RenderStyle::setWidth, &RenderStyle::initialSize, AutoEnabled, LegacyIntrinsicEnabled, IntrinsicEnabled, NoneDisabled, UndefinedDisabled>::createHandler());
     setPropertyHandler(CSSPropertyWordBreak, ApplyPropertyDefault<EWordBreak, &RenderStyle::wordBreak, EWordBreak, &RenderStyle::setWordBreak, EWordBreak, &RenderStyle::initialWordBreak>::createHandler());
+
+    // FIXME: We should reconcile the difference in datatype between iOS and OpenSource. On iOS we want word spacing to
+    // be float for sub-pixel kerning. See <https://bugs.webkit.org/show_bug.cgi?id=20606>.
+#if !PLATFORM(IOS)
     setPropertyHandler(CSSPropertyWordSpacing, ApplyPropertyComputeLength<int, &RenderStyle::wordSpacing, &RenderStyle::setWordSpacing, &RenderStyle::initialLetterWordSpacing, NormalEnabled, ThicknessDisabled, SVGZoomEnabled>::createHandler());
+#else
+    setPropertyHandler(CSSPropertyWordSpacing, ApplyPropertyComputeLength<float, &RenderStyle::wordSpacing, &RenderStyle::setWordSpacing, &RenderStyle::initialLetterWordSpacing, NormalEnabled, ThicknessDisabled, SVGZoomEnabled>::createHandler());
+#endif
+
     // UAs must treat 'word-wrap' as an alternate name for the 'overflow-wrap' property. So using the same handlers.
     setPropertyHandler(CSSPropertyWordWrap, ApplyPropertyDefault<EOverflowWrap, &RenderStyle::overflowWrap, EOverflowWrap, &RenderStyle::setOverflowWrap, EOverflowWrap, &RenderStyle::initialOverflowWrap>::createHandler());
     setPropertyHandler(CSSPropertyZIndex, ApplyPropertyAuto<int, &RenderStyle::zIndex, &RenderStyle::setZIndex, &RenderStyle::hasAutoZIndex, &RenderStyle::setHasAutoZIndex>::createHandler());

Modified: trunk/Source/WebCore/css/MediaFeatureNames.h (161285 => 161286)


--- trunk/Source/WebCore/css/MediaFeatureNames.h	2014-01-03 21:45:55 UTC (rev 161285)
+++ trunk/Source/WebCore/css/MediaFeatureNames.h	2014-01-03 22:28:19 UTC (rev 161286)
@@ -73,6 +73,7 @@
     macro(transform_3d, "-webkit-transform-3d") \
     macro(transition, "-webkit-transition") \
     macro(animation, "-webkit-animation") \
+    macro(video_playable_inline, "-webkit-video-playable-inline") \
     CSS_MEDIAQUERY_VIEW_MODE(macro)
 
 // end of macro

Modified: trunk/Source/WebCore/css/MediaQueryEvaluator.cpp (161285 => 161286)


--- trunk/Source/WebCore/css/MediaQueryEvaluator.cpp	2014-01-03 21:45:55 UTC (rev 161285)
+++ trunk/Source/WebCore/css/MediaQueryEvaluator.cpp	2014-01-03 22:28:19 UTC (rev 161286)
@@ -59,6 +59,10 @@
 #include "RenderLayerCompositor.h"
 #endif
 
+#if PLATFORM(IOS)
+#include "WebCoreSystemInterface.h"
+#endif
+
 namespace WebCore {
 
 using namespace MediaFeatureNames;
@@ -624,6 +628,22 @@
 }
 #endif // ENABLE(VIEW_MODE_CSS_MEDIA)
 
+// FIXME: Find a better place for this function. Maybe ChromeClient?
+static inline bool isRunningOnIPhoneOrIPod()
+{
+#if PLATFORM(IOS)
+    static wkDeviceClass deviceClass = iosDeviceClass();
+    return deviceClass == wkDeviceClassiPhone || deviceClass == wkDeviceClassiPod;
+#else
+    return false;
+#endif
+}
+
+static bool video_playable_inlineMediaFeatureEval(CSSValue*, RenderStyle*, Frame* frame, MediaFeaturePrefix)
+{
+    return !isRunningOnIPhoneOrIPod() || frame->settings().mediaPlaybackAllowsInline();
+}
+
 enum PointerDeviceType { TouchPointer, MousePointer, NoPointer, UnknownPointer };
 
 static PointerDeviceType leastCapablePrimaryPointerDeviceType(Frame* frame)

Modified: trunk/Source/WebCore/css/StyleResolver.cpp (161285 => 161286)


--- trunk/Source/WebCore/css/StyleResolver.cpp	2014-01-03 21:45:55 UTC (rev 161285)
+++ trunk/Source/WebCore/css/StyleResolver.cpp	2014-01-03 22:28:19 UTC (rev 161286)
@@ -712,7 +712,7 @@
 
 #if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
     // With proxying, the media elements are backed by a RenderEmbeddedObject.
-    if ((element->hasTagName(videoTag) || element->hasTagName(audioTag)) && toMediaElement(element)->shouldUseVideoPluginProxy())
+    if ((element->hasTagName(videoTag) || element->hasTagName(audioTag)) && toHTMLMediaElement(element)->shouldUseVideoPluginProxy())
         return false;
 #endif
 
@@ -2609,6 +2609,17 @@
         state.style()->setTouchCalloutEnabled(primitiveValue->getStringValue().lower() != "none");
         return;
     }
+
+    // FIXME: CSSPropertyWebkitCompositionFillColor shouldn't be iOS-specific. Once we fix up its usage in
+    // InlineTextBox::paintCompositionBackground() we should move it outside the PLATFORM(IOS)-guard.
+    // See <https://bugs.webkit.org/show_bug.cgi?id=126296>.
+    case CSSPropertyWebkitCompositionFillColor: {
+        HANDLE_INHERIT_AND_INITIAL(compositionFillColor, CompositionFillColor);
+        if (!primitiveValue)
+            break;
+        state.style()->setCompositionFillColor(colorFromPrimitiveValue(primitiveValue));
+        return;
+    }
 #endif
 #if ENABLE(TOUCH_EVENTS)
     case CSSPropertyWebkitTapHighlightColor: {

Modified: trunk/Source/WebCore/css/html.css (161285 => 161286)


--- trunk/Source/WebCore/css/html.css	2014-01-03 21:45:55 UTC (rev 161285)
+++ trunk/Source/WebCore/css/html.css	2014-01-03 22:28:19 UTC (rev 161286)
@@ -399,7 +399,9 @@
 
 input, textarea, keygen, select, button, isindex {
     margin: 0__qem;
+#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)
     font: -webkit-small-control;
+#endif
     color: initial;
     letter-spacing: normal;
     word-spacing: normal;
@@ -419,11 +421,25 @@
     display: none
 }
 
-input, input[type="password"], input[type="search"], isindex {
+input,
+input[type="password"],
+input[type="search"],
+#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS
+textarea,
+input[type="range"],
+#endif
+isindex {
     -webkit-appearance: textfield;
-    padding: 1px;
     background-color: white;
+#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS
+    border-radius: 5px;
+    font: 11px Helvetica, -webkit-pictograph;
+    border: 1px solid #4c4c4c;
+    padding: 0.2em 0.5em 0.3em 0.5em;
+#else
     border: 2px inset;
+    padding: 1px;
+#endif
     -webkit-rtl-ordering: logical;
     -webkit-user-select: text;
     cursor: auto;
@@ -499,7 +515,9 @@
     -webkit-appearance: menulist-button;
     display: -webkit-inline-flex;
     overflow: hidden;
+#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)
     width: 10em;
+#endif
 }
 #endif
 #if defined(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) && ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE
@@ -508,7 +526,9 @@
     -webkit-appearance: menulist-button;
     display: -webkit-inline-flex;
     overflow: hidden;
+#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)
     width: 10em;
+#endif
 }
 #endif
 #if defined(ENABLE_INPUT_TYPE_DATETIMELOCAL) && ENABLE_INPUT_TYPE_DATETIMELOCAL
@@ -517,7 +537,9 @@
     -webkit-appearance: menulist-button;
     display: -webkit-inline-flex;
     overflow: hidden;
+#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)
     width: 10em;
+#endif
 }
 #endif
 #if defined(ENABLE_INPUT_TYPE_MONTH) && ENABLE_INPUT_TYPE_MONTH
@@ -526,7 +548,9 @@
     -webkit-appearance: menulist-button;
     display: -webkit-inline-flex;
     overflow: hidden;
+#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)
     width: 10em;
+#endif
 }
 #endif
 #if defined(ENABLE_INPUT_TYPE_TIME) && ENABLE_INPUT_TYPE_TIME
@@ -535,10 +559,13 @@
     -webkit-appearance: menulist-button;
     display: -webkit-inline-flex;
     overflow: hidden;
+#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)
     width: 10em;
+#endif
 }
 #endif
 #if defined(ENABLE_INPUT_TYPE_WEEK) && ENABLE_INPUT_TYPE_WEEK
+#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)
 input[type="week"] {
     -webkit-align-items: center;
     -webkit-appearance: menulist-button;
@@ -547,11 +574,14 @@
     width: 10em;
 }
 #endif
+#endif
 
+#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)
 input::-webkit-date-and-time-value {
     margin: 1px 24px 1px 4px;
     white-space: pre;
 }
+#endif
 
 input::-webkit-inner-spin-button {
     -webkit-appearance: inner-spin-button;
@@ -590,10 +620,15 @@
 
 textarea {
     -webkit-appearance: textarea;
+#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)
     background-color: white;
     border: 1px solid;
     -webkit-rtl-ordering: logical;
     -webkit-user-select: text;
+#else
+    -webkit-nbsp-mode: space;
+    -webkit-line-break: after-white-space;
+#endif
     -webkit-flex-direction: column;
     resize: auto;
     cursor: auto;
@@ -634,16 +669,25 @@
 }
 
 input:-webkit-autofill {
+#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS
+    background-color: #F7EC87 !important;
+#else
     background-color: #FAFFBD !important;
+#endif
     background-image:none !important;
     color: #000000 !important;
 }
 
 input[type="radio"], input[type="checkbox"] {
     margin: 3px 0.5ex;
+#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS
+    border: 1px solid #4c4c4c;
+    box-sizing: border-box;
+#else
     padding: initial;
     background-color: initial;
     border: initial;
+#endif
 }
 
 input[type="button"], input[type="submit"], input[type="reset"] {
@@ -664,9 +708,17 @@
     text-align: center;
     cursor: default;
     color: ButtonText;
+#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)
     padding: 2px 6px 3px 6px;
     border: 2px outset ButtonFace;
     background-color: ButtonFace;
+#else
+    padding: 0 1.0em;
+    border: 1px solid #4c4c4c;
+    /* We want to be as close to background-color:transparent as possible without actually being transparent. */
+    background-color: rgba(255, 255, 255, 0.01);
+    font: 11px Helvetica;
+#endif
     box-sizing: border-box
 }
 
@@ -700,8 +752,31 @@
     box-sizing: border-box;
     -webkit-user-modify: read-only !important;
     display: block;
+#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS
+    background-color: white;
+    border: 1px solid rgb(66, 66, 66);
+    padding: 0px;
+#endif
 }
 
+#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS
+input[type="range"]::-webkit-slider-thumb:active {
+    background-color: black;
+}
+
+input:disabled, textarea:disabled {
+    opacity: 0.4;
+}
+
+input[readonly], textarea[readonly] {
+    border-color: rgb(188, 188, 188);
+}
+
+textarea::-webkit-input-placeholder {
+    text-indent: 2px;
+}
+#endif
+
 input[type="button"]:disabled, input[type="submit"]:disabled, input[type="reset"]:disabled,
 input[type="file"]:disabled::-webkit-file-upload-button, button:disabled,
 select:disabled, keygen:disabled, optgroup:disabled, option:disabled,
@@ -709,6 +784,7 @@
     color: GrayText
 }
 
+#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)
 input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, input[type="file"]:active::-webkit-file-upload-button, button:active {
     border-style: inset
 }
@@ -716,6 +792,7 @@
 input[type="button"]:active:disabled, input[type="submit"]:active:disabled, input[type="reset"]:active:disabled, input[type="file"]:active:disabled::-webkit-file-upload-button, button:active:disabled {
     border-style: outset
 }
+#endif
 
 area, param {
     display: none
@@ -723,14 +800,53 @@
 
 input[type="checkbox"] {
     -webkit-appearance: checkbox;
+#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)
     box-sizing: border-box;
+#else
+    border-radius: 5px;
+    width: 16px;
+    height: 16px;
+    padding: 0px;
+    /* We want to be as close to background:transparent as possible without actually being transparent */
+    background-color: rgba(255, 255, 255, 0.01);
+#endif
 }
 
+#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS
 input[type="radio"] {
     -webkit-appearance: radio;
+    border-radius: 8px;
+    width: 16px;
+    height: 16px;
+    padding: 0px;
+    /* We want to be as close to background:transparent as possible without actually being transparent */
+    background-color: rgba(255, 255, 255, 0.01);
+}
+
+input[type="checkbox"]:checked, input[type="radio"]:checked {
+    background:rgba(0, 0, 0, 0.8);
+    border-color:rgba(255, 255, 255, 0.0);
+}
+
+input[type="checkbox"]:checked:disabled, input[type="radio"]:checked:disabled {
+    opacity:0.4;
+    background:rgba(0, 0, 0, 0.8);
+}
+#endif
+
+#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)
+input[type="radio"] {
+    -webkit-appearance: radio;
     box-sizing: border-box;
 }
+#endif
 
+#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS
+select:focus {
+    border-color: rgb(17, 46, 135);
+}
+#endif
+
 #if defined(ENABLE_INPUT_TYPE_COLOR) && ENABLE_INPUT_TYPE_COLOR
 
 input[type="color"] {
@@ -777,17 +893,30 @@
 #endif // defined(ENABLE_INPUT_TYPE_COLOR) && ENABLE_INPUT_TYPE_COLOR
 
 select {
+    box-sizing: border-box;
+#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS
+    -webkit-appearance: menulist-button;
+    letter-spacing: normal;
+    word-spacing: normal;
+    line-height: normal;
+    border: 1px solid #4c4c4c;
+    /* We want to be as close to background:transparent as possible without actually being transparent */
+    background-color: rgba(255, 255, 255, 0.01);
+    font: 11px Helvetica;
+    padding: 0 0.5em 0 0.5em;
+#else
     -webkit-appearance: menulist;
-    box-sizing: border-box;
+    border: 1px solid;
+    color: black;
+    background-color: white;
+#endif
     -webkit-align-items: center;
-    border: 1px solid;
     white-space: pre;
     -webkit-rtl-ordering: logical;
-    color: black;
-    background-color: white;
     cursor: default;
 }
 
+#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)
 select[size],
 select[multiple],
 select[size][multiple] {
@@ -806,6 +935,7 @@
     border-radius: 5px;
     white-space: pre;
 }
+#endif
 
 optgroup {
     font-weight: bolder;

Modified: trunk/Source/WebCore/css/mathml.css (161285 => 161286)


--- trunk/Source/WebCore/css/mathml.css	2014-01-03 21:45:55 UTC (rev 161285)
+++ trunk/Source/WebCore/css/mathml.css	2014-01-03 22:28:19 UTC (rev 161286)
@@ -11,11 +11,21 @@
 
 /* Keep font-family and other defaults here consistent with http://mxr.mozilla.org/mozilla-central/source/layout/mathml/mathml.css and feedback from www-math. */
 math, mfenced > * {
+#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS
+    /* We explicitly include the font Symbol as it's the iOS equivalent of font STIXGeneral. */
+    font-family: STIXGeneral, Symbol, "Times New Roman", sans-serif;
+#else
     font-family: MathJax_Main, STIXGeneral, "DejaVu Serif", Cambria, "Cambria Math", Times, serif;
+#endif
 }
 mo, mfenced {
+#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS
+    /* We explicitly include the font Symbol as it's the iOS equivalent of font STIXGeneral. */
+    font-family: STIXGeneral, Symbol, "Times New Roman", sans-serif;
+#else
     font-family: MathJax_Main, STIXGeneral, STIXSizeOneSym, "DejaVu Sans", "DejaVu Serif", Cambria, "Cambria Math",
         "Lucida Sans Unicode", "Arial Unicode MS", "Lucida Grande", OpenSymbol, "Standard Symbols L", sans-serif;
+#endif
 }
 
 math {

Added: trunk/Source/WebCore/css/mediaControlsiOS.css (0 => 161286)


--- trunk/Source/WebCore/css/mediaControlsiOS.css	                        (rev 0)
+++ trunk/Source/WebCore/css/mediaControlsiOS.css	2014-01-03 22:28:19 UTC (rev 161286)
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2012 Apple Inc.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+/* alternate media controls - Extend mediaControls.css */
+
+video::-webkit-media-text-track-container {
+    margin-bottom: 47px;
+}
+
+audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel {
+    display: none;
+}

Modified: trunk/Source/WebCore/css/svg.css (161285 => 161286)


--- trunk/Source/WebCore/css/svg.css	2014-01-03 21:45:55 UTC (rev 161285)
+++ trunk/Source/WebCore/css/svg.css	2014-01-03 22:28:19 UTC (rev 161286)
@@ -55,6 +55,12 @@
    white-space: nowrap
 }
 
+#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS
+text, tspan, tref {
+   -webkit-text-size-adjust: none;
+}
+#endif
+
 /* states */
 
 :focus {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to