From cb929f59b527fe890376e47613dfe1434a320bc0 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Tue, 11 Aug 2020 15:44:48 -0700 Subject: [PATCH] [clang 11] fix build errors due to -WWc++11-narrowing https://bugs.webkit.org/show_bug.cgi?id=211193 Reviewed by Adrian Perez de Castro. Fixes the following errors, Source/WebCore/html/MediaElementSession.cpp:1059:9: error: type 'WebCore::RenderMedia *' cannot be narrowed to 'bool' in initializer list [-Wc++11-narrowing] m_element.renderer(), ^~~~~~~~~~~~~~~~~~~~ Source/WebCore/style/StyleResolver.cpp:106:55: error: type 'const char [4]' cannot be narrowed to 'bool' in initializer list [-Wc++11-narrowing] m_mediaQueryEvaluator = MediaQueryEvaluator { "all" }; ^~~~~ Source/WebCore/style/StyleResolver.cpp:106:55: note: insert an explicit cast to silence this issue m_mediaQueryEvaluator = MediaQueryEvaluator { "all" }; ^~~~~ static_cast( ) * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::hasRenderer const): MediaElementSession was implicitly casting a pointer to a bool, which is not allowed with modern Clang checks. Add a helper method to encapsulate the now required static_cast. * html/MediaElementSession.cpp: Use the new helper method to see if the HTMLMediaElement has an associated renderer. (WebCore::MediaElementSession::updateMediaUsageIfChanged): * style/StyleResolver.cpp: This was calling MediaQueryEvaluator { "all" }; and seemingly expecting to cast a const char[] to a bool, or maybe String? It's confusing because of the MediaQueryEvaluator API. If it was implicitly converting to bool then that could be unintentional. Such casts are not allowed either now. The MediaQueryEvaluator's default constructor says it returns true for "all", which appears to be the original intent of this call, so I replaced it with that. (WebCore::Style::Resolver::Resolver): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@260951 268f45cc-cd09-0410-ab3c-d52691b4dbfc Upstream-Status: Backport [https://github.com/WebKit/webkit/commit/c3cf651016e4cdcb4350598d4a586821071f91bf.patch] Signed-off-by: Khem Raj --- Source/WebCore/style/StyleResolver.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/WebCore/style/StyleResolver.cpp b/Source/WebCore/style/StyleResolver.cpp index 8bf371a0..34580ddb 100644 --- a/Source/WebCore/style/StyleResolver.cpp +++ b/Source/WebCore/style/StyleResolver.cpp @@ -107,7 +107,7 @@ Resolver::Resolver(Document& document) if (view) m_mediaQueryEvaluator = MediaQueryEvaluator { view->mediaType() }; else - m_mediaQueryEvaluator = MediaQueryEvaluator { "all" }; + m_mediaQueryEvaluator = MediaQueryEvaluator { }; if (root) { m_rootDefaultStyle = styleForElement(*root, m_document.renderStyle(), nullptr, RuleMatchingBehavior::MatchOnlyUserAgentRules).renderStyle; -- 2.28.0