source: webkit/trunk/Source/WebCore/css/MediaQueryParserContext.h

Last change on this file was 232806, checked in by [email protected], 7 years ago

Input form controls have a white background in dark mode, when they should not.

https://bugs.webkit.org/show_bug.cgi?id=186577
rdar://problem/39258325

Reviewed by Tim Horton.

Source/WebCore:

  • DerivedSources.make: Allow WTF_PLATFORM_MAC ifdefs to preprocess in html.css.
  • css/CSSValueKeywords.in: Added -apple-system-control-background.
  • css/MediaQueryExpression.cpp:

(WebCore::featureWithValidIdent): Allow dark mode media query in user agent stylesheets.
(WebCore::isFeatureValidWithoutValue): Ditto.

  • css/MediaQueryParserContext.cpp:

(WebCore::MediaQueryParserContext::MediaQueryParserContext): Transfer the CSSParserMode from CSSParserContext.

  • css/MediaQueryParserContext.h:
  • css/html.css: Set color and background-color to semantic colors for input, textarea, and select.

Make input background-color transparent in dark mode to match AppKit.

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::systemColor const): Added -apple-system-control-background.
(WebCore::RenderThemeMac::paintTextField): Adjust the drawing rect to match new artwork in macOS 10.14.

LayoutTests:

  • fast/css/apple-system-control-colors-expected.txt: Updated.
  • fast/css/apple-system-control-colors.html: Added -apple-system-control-background.
  • platform/gtk/fast/css/apple-system-control-colors-expected.txt: Updated.
File size: 1.7 KB
Line 
1/*
2 * Copyright (C) 2018 Apple Inc. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 *
13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 */
25
26#pragma once
27
28#include "CSSParserMode.h"
29
30namespace WebCore {
31
32class Document;
33struct CSSParserContext;
34
35struct MediaQueryParserContext {
36public:
37 MediaQueryParserContext() { }
38 MediaQueryParserContext(const CSSParserContext&);
39 WEBCORE_EXPORT MediaQueryParserContext(const Document&);
40
41 bool useSystemAppearance { false };
42 CSSParserMode mode { HTMLStandardMode };
43};
44
45} // namespace WebCore
Note: See TracBrowser for help on using the repository browser.