Bug 145892

Summary: Add an appearance keyword for wireless playback / airplay icon
Product: WebKit Reporter: Dean Jackson <dino>
Component: New BugsAssignee: Dean Jackson <dino>
Status: RESOLVED WONTFIX    
Severity: Normal CC: ANS0506, commit-queue, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 145902    
Bug Blocks:    
Attachments:
Description Flags
Patch simon.fraser: review+

Description Dean Jackson 2015-06-11 13:03:56 PDT
Add an appearance keyword for wireless playback / airplay icon
Comment 1 Radar WebKit Bug Importer 2015-06-11 13:04:47 PDT
<rdar://problem/21344872>
Comment 2 Dean Jackson 2015-06-11 13:10:24 PDT
Created attachment 254751 [details]
Patch
Comment 3 Simon Fraser (smfr) 2015-06-11 13:15:10 PDT
Comment on attachment 254751 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=254751&action=review

> Source/WebCore/css/CSSParser.cpp:12837
> +        if ((hasPrefix(buffer, length, "-apple-") && !hasPrefix(buffer, length, "-apple-system") && memcmp(buffer, "-apple-airplay", length)) || hasPrefix(buffer, length, "-khtml-")) {

This is getting unwieldy. It feels like we should use Strings, and have some data-driven way to specify that a -apple thing should not be mapped to a -webkit thing.
Comment 4 Dean Jackson 2015-06-11 13:21:04 PDT
Comment on attachment 254751 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=254751&action=review

>> Source/WebCore/css/CSSParser.cpp:12837
>> +        if ((hasPrefix(buffer, length, "-apple-") && !hasPrefix(buffer, length, "-apple-system") && memcmp(buffer, "-apple-airplay", length)) || hasPrefix(buffer, length, "-khtml-")) {
> 
> This is getting unwieldy. It feels like we should use Strings, and have some data-driven way to specify that a -apple thing should not be mapped to a -webkit thing.

Yes, the comment above and the bug I filed describes this :)

      // FIXME: The better way to do this would be to mark up CSSValueKeywords.in with
      // commands that indicate if the keyword should support a translation.
      // https://bugs.webkit.org/show_bug.cgi?id=145883
Comment 5 Dean Jackson 2015-06-11 13:51:13 PDT
Committed r185470: <http://trac.webkit.org/changeset/185470>
Comment 6 Alexey Proskuryakov 2015-06-11 17:15:32 PDT
ASan has detected buffer overruns on two tests after this patch, rolling out.

platform/mac/fast/text/trailing-word.html
platform/mac/fast/text/trailing-word-parse.html

================================================================
==63968==ERROR: AddressSanitizer: global-buffer-overflow on address 0x00011cfad02f at pc 0x00010e14e0ad bp 0x7fff51af02d0 sp 0x7fff51aefa80
READ of size 25 at 0x00011cfad02f thread T0
==63968==WARNING: failed to fork external symbolizer (errno: 1)
    #0 0x10e14e0ac in wrap_memcmp (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/7.0.0/lib/darwin/libclang_rt.asan_osx_dynamic.dylib+0x380ac)
    #1 0x11b02a349 in WebCore::CSSValueID WebCore::cssValueKeywordID<unsigned char>(unsigned char const*, unsigned int) 
    #2 0x11afd9648 in makeIdentValue(WebCore::CSSParserString) 
    #3 0x11a7bb3cd in cssyyparse(WebCore::CSSParser*) 
    #4 0x11aa2a8da in WebCore::CSSParser::parseRule(WebCore::StyleSheetContents*, WTF::String const&) 
    #5 0x11aa2a42c in WebCore::CSSStyleSheet::insertRule(WTF::String const&, unsigned int, int&) 
...
Comment 7 WebKit Commit Bot 2015-06-11 17:17:47 PDT
Re-opened since this is blocked by bug 145902
Comment 8 Dean Jackson 2015-06-11 19:39:15 PDT
We've decided to do this a different way.