Bug 128616

Summary: position:-webkit-sticky is not preserved across a copy
Product: WebKit Reporter: Myles C. Maxfield <mmaxfield>
Component: CSSAssignee: Beth Dakin <bdakin>
Status: RESOLVED FIXED    
Severity: Normal CC: rniwa, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   

Description Myles C. Maxfield 2014-02-11 12:27:56 PST
Right now we don't copy position:-webkit-sticky. This is because:
1. When copying styled elements, we parse the style properties again
2. CSSParserContext has a flag which can disable parsing -webkit-sticky
3. There are two constructors to CSSParserContext: one that takes a document and sets up the aforementioned flag, and a simple one that doesn't take a document and sets all the enableFoo flags to false
4. At the relevant place within copy code, we are far removed from the Document object, so we instead call the second constructor, thereby disabling parsing of -webkit-sticky
Comment 1 Radar WebKit Bug Importer 2014-02-11 12:31:21 PST
<rdar://problem/16039902>
Comment 2 Myles C. Maxfield 2014-02-11 12:32:19 PST
CSSParser::parseValue(MutableStyleProperties* declaration, CSSPropertyID propertyID, const String& string, bool important, CSSParserMode cssParserMode, StyleSheetContents* contextStyleSheet)
Comment 3 Myles C. Maxfield 2014-02-11 16:08:04 PST
It would be a good idea to simply get rid of this runtime flag altogether.
Comment 4 Myles C. Maxfield 2014-02-17 16:04:59 PST
The flag is gone. This is solved.