<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>163459</bug_id>
          
          <creation_ts>2016-10-14 14:37:41 -0700</creation_ts>
          <short_desc>ASSERTION FAILED: m_fonts in &amp;WebCore::FontCascade::primaryFont</short_desc>
          <delta_ts>2016-10-23 00:26:26 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>116980</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Renata Hodovan">hodovan</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>dino</cc>
    
    <cc>hodovan</cc>
    
    <cc>jonlee</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1240415</commentid>
    <comment_count>0</comment_count>
    <who name="Renata Hodovan">hodovan</who>
    <bug_when>2016-10-14 14:37:41 -0700</bug_when>
    <thetext>Load the attached test with debug webkittestrunner.

Checked version: 2c9fa6e
OS: Darwin-15.6.0-x86_64-i386-64bit

&lt;style&gt;*{font-size:calc(6% - 7ch&lt;/style&gt;&lt;math&gt;

Backtrace:

ASSERTION FAILED: m_fonts
WebKit/Source/WebCore/platform/graphics/FontCascade.h(342) : const WebCore::Font &amp;WebCore::FontCascade::primaryFont() const
1   0x10a6dc4f1 WTFCrash
2   0x10f030caa WebCore::FontCascade::primaryFont() const
3   0x10f030c35 WebCore::FontCascade::fontMetrics() const
4   0x113dd2585 WebCore::RenderStyle::fontMetrics() const
5   0x10f72c2b3 WebCore::CSSPrimitiveValue::computeNonCalcLengthDouble(WebCore::CSSToLengthConversionData const&amp;, unsigned short, double)
6   0x10f72bd50 WebCore::CSSPrimitiveValue::computeLengthDouble(WebCore::CSSToLengthConversionData const&amp;) const
7   0x10f72be6d float WebCore::CSSPrimitiveValue::computeLength&lt;float&gt;(WebCore::CSSToLengthConversionData const&amp;) const
8   0x10f40d3ba WebCore::CSSCalcPrimitiveValue::createCalcExpression(WebCore::CSSToLengthConversionData const&amp;) const
9   0x10f4111dc WebCore::CSSCalcBinaryOperation::createCalcExpression(WebCore::CSSToLengthConversionData const&amp;) const
10  0x10ee90adf WebCore::CSSCalcValue::createCalculationValue(WebCore::CSSToLengthConversionData const&amp;) const
11  0x11488b243 WebCore::StyleBuilderCustom::applyValueFontSize(WebCore::StyleResolver&amp;, WebCore::CSSValue&amp;)
12  0x11488093c WebCore::StyleBuilder::applyProperty(WebCore::CSSPropertyID, WebCore::StyleResolver&amp;, WebCore::CSSValue&amp;, bool, bool)
13  0x1149c18f2 WebCore::StyleResolver::applyProperty(WebCore::CSSPropertyID, WebCore::CSSValue*, WebCore::SelectorChecker::LinkMatchMask, WebCore::StyleResolver::MatchResult const*)
14  0x1149c799f WebCore::StyleResolver::CascadedProperties::Property::apply(WebCore::StyleResolver&amp;, WebCore::StyleResolver::MatchResult const*)
15  0x1149b6e97 WebCore::StyleResolver::applyCascadedProperties(WebCore::StyleResolver::CascadedProperties&amp;, int, int, WebCore::StyleResolver::MatchResult const*)
16  0x1149b42b9 WebCore::StyleResolver::applyMatchedProperties(WebCore::StyleResolver::MatchResult const&amp;, WebCore::Element const&amp;, WebCore::StyleResolver::ShouldUseMatchedPropertiesCache)
17  0x1149b0a7a WebCore::StyleResolver::styleForElement(WebCore::Element const&amp;, WebCore::RenderStyle const*, WebCore::RuleMatchingBehavior, WebCore::RenderRegion const*, WebCore::SelectorFilter const*)
18  0x114a3c1c2 WebCore::Style::TreeResolver::styleForElement(WebCore::Element&amp;, WebCore::RenderStyle const&amp;)
19  0x114a3cdff WebCore::Style::TreeResolver::resolveElement(WebCore::Element&amp;)
20  0x114a40726 WebCore::Style::TreeResolver::resolveComposedTree()
21  0x114a4225a WebCore::Style::TreeResolver::resolve(WebCore::Style::Change)
22  0x10faff483 WebCore::Document::recalcStyle(WebCore::Style::Change)
23  0x10faea00b WebCore::Document::updateStyleIfNeeded()
24  0x10fb24a9a WebCore::Document::finishedParsing()
25  0x1107ab556 WebCore::HTMLConstructionSite::finishedParsing()
26  0x110aa35b8 WebCore::HTMLTreeBuilder::finished()
27  0x11081ecfc WebCore::HTMLDocumentParser::end()
28  0x11081a9e7 WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd()
29  0x11081a64e WebCore::HTMLDocumentParser::prepareToStopParsing()
30  0x11081ed9c WebCore::HTMLDocumentParser::attemptToEnd()
31  0x11081edf4 WebCore::HTMLDocumentParser::finish()
ASAN:DEADLYSIGNAL
=================================================================
==8135==ERROR: AddressSanitizer: SEGV on unknown address 0x0000bbadbeef (pc 0x00010a6dc529 bp 0x7fff5edcaaf0 sp 0x7fff5edcaae0 T0)
    #0 0x10a6dc528 in WTFCrash (WebKit/WebKitBuild/Debug/JavaScriptCore.framework/Versions/A/JavaScriptCore+0x2d01528)
    #1 0x10f030ca9 in WebCore::FontCascade::primaryFont() const (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x6bcca9)
    #2 0x10f030c34 in WebCore::FontCascade::fontMetrics() const (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x6bcc34)
    #3 0x113dd2584 in WebCore::RenderStyle::fontMetrics() const (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x545e584)
    #4 0x10f72c2b2 in WebCore::CSSPrimitiveValue::computeNonCalcLengthDouble(WebCore::CSSToLengthConversionData const&amp;, unsigned short, double) (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0xdb82b2)
    #5 0x10f72bd4f in WebCore::CSSPrimitiveValue::computeLengthDouble(WebCore::CSSToLengthConversionData const&amp;) const (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0xdb7d4f)
    #6 0x10f72be6c in float WebCore::CSSPrimitiveValue::computeLength&lt;float&gt;(WebCore::CSSToLengthConversionData const&amp;) const (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0xdb7e6c)
    #7 0x10f40d3b9 in WebCore::CSSCalcPrimitiveValue::createCalcExpression(WebCore::CSSToLengthConversionData const&amp;) const (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0xa993b9)
    #8 0x10f4111db in WebCore::CSSCalcBinaryOperation::createCalcExpression(WebCore::CSSToLengthConversionData const&amp;) const (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0xa9d1db)
    #9 0x10ee90ade in WebCore::CSSCalcValue::createCalculationValue(WebCore::CSSToLengthConversionData const&amp;) const (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x51cade)
    #10 0x11488b242 in WebCore::StyleBuilderCustom::applyValueFontSize(WebCore::StyleResolver&amp;, WebCore::CSSValue&amp;) (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x5f17242)
    #11 0x11488093b in WebCore::StyleBuilder::applyProperty(WebCore::CSSPropertyID, WebCore::StyleResolver&amp;, WebCore::CSSValue&amp;, bool, bool) (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x5f0c93b)
    #12 0x1149c18f1 in WebCore::StyleResolver::applyProperty(WebCore::CSSPropertyID, WebCore::CSSValue*, WebCore::SelectorChecker::LinkMatchMask, WebCore::StyleResolver::MatchResult const*) (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x604d8f1)
    #13 0x1149c799e in WebCore::StyleResolver::CascadedProperties::Property::apply(WebCore::StyleResolver&amp;, WebCore::StyleResolver::MatchResult const*) (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x605399e)
    #14 0x1149b6e96 in WebCore::StyleResolver::applyCascadedProperties(WebCore::StyleResolver::CascadedProperties&amp;, int, int, WebCore::StyleResolver::MatchResult const*) (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x6042e96)
    #15 0x1149b42b8 in WebCore::StyleResolver::applyMatchedProperties(WebCore::StyleResolver::MatchResult const&amp;, WebCore::Element const&amp;, WebCore::StyleResolver::ShouldUseMatchedPropertiesCache) (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x60402b8)
    #16 0x1149b0a79 in WebCore::StyleResolver::styleForElement(WebCore::Element const&amp;, WebCore::RenderStyle const*, WebCore::RuleMatchingBehavior, WebCore::RenderRegion const*, WebCore::SelectorFilter const*) (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x603ca79)
    #17 0x114a3c1c1 in WebCore::Style::TreeResolver::styleForElement(WebCore::Element&amp;, WebCore::RenderStyle const&amp;) (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x60c81c1)
    #18 0x114a3cdfe in WebCore::Style::TreeResolver::resolveElement(WebCore::Element&amp;) (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x60c8dfe)
    #19 0x114a40725 in WebCore::Style::TreeResolver::resolveComposedTree() (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x60cc725)
    #20 0x114a42259 in WebCore::Style::TreeResolver::resolve(WebCore::Style::Change) (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x60ce259)
    #21 0x10faff482 in WebCore::Document::recalcStyle(WebCore::Style::Change) (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x118b482)
    #22 0x10faea00a in WebCore::Document::updateStyleIfNeeded() (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x117600a)
    #23 0x10fb24a99 in WebCore::Document::finishedParsing() (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x11b0a99)
    #24 0x1107ab555 in WebCore::HTMLConstructionSite::finishedParsing() (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x1e37555)
    #25 0x110aa35b7 in WebCore::HTMLTreeBuilder::finished() (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x212f5b7)
    #26 0x11081ecfb in WebCore::HTMLDocumentParser::end() (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x1eaacfb)
    #27 0x11081a9e6 in WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd() (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x1ea69e6)
    #28 0x11081a64d in WebCore::HTMLDocumentParser::prepareToStopParsing() (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x1ea664d)
    #29 0x11081ed9b in WebCore::HTMLDocumentParser::attemptToEnd() (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x1eaad9b)
    #30 0x11081edf3 in WebCore::HTMLDocumentParser::finish() (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x1eaadf3)
    #31 0x10fce997f in WebCore::DocumentWriter::end() (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x137597f)
    #32 0x10fc43e56 in WebCore::DocumentLoader::finishedLoading(double) (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x12cfe56)
    #33 0x10fc4398a in WebCore::DocumentLoader::notifyFinished(WebCore::CachedResource&amp;) (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x12cf98a)
    #34 0x10ef85b23 in WebCore::CachedResource::checkNotify() (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x611b23)
    #35 0x10ef85d13 in WebCore::CachedResource::finishLoading(WebCore::SharedBuffer*) (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x611d13)
    #36 0x10ef7ad54 in WebCore::CachedRawResource::finishLoading(WebCore::SharedBuffer*) (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x606d54)
    #37 0x114a73e8e in WebCore::SubresourceLoader::didFinishLoading(double) (WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore+0x60ffe8e)
    #38 0x1028d043e in WebKit::WebResourceLoader::didFinishResourceLoad(double) (WebKit/WebKitBuild/Debug/WebKit.framework/Versions/A/WebKit+0x1a9143e)
    #39 0x1028de6ce in void IPC::callMemberFunctionImpl&lt;WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(double), std::__1::tuple&lt;double&gt;, 0ul&gt;(WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(double), std::__1::tuple&lt;double&gt;&amp;&amp;, std::__1::integer_sequence&lt;unsigned long, 0ul&gt;) (WebKit/WebKitBuild/Debug/WebKit.framework/Versions/A/WebKit+0x1a9f6ce)
    #40 0x1028de374 in void IPC::callMemberFunction&lt;WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(double), std::__1::tuple&lt;double&gt;, std::__1::integer_sequence&lt;unsigned long, 0ul&gt; &gt;(std::__1::tuple&lt;double&gt;&amp;&amp;, WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(double)) (WebKit/WebKitBuild/Debug/WebKit.framework/Versions/A/WebKit+0x1a9f374)
    #41 0x1028db680 in void IPC::handleMessage&lt;Messages::WebResourceLoader::DidFinishResourceLoad, WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(double)&gt;(IPC::Decoder&amp;, WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(double)) (WebKit/WebKitBuild/Debug/WebKit.framework/Versions/A/WebKit+0x1a9c680)
    #42 0x1028d9a10 in WebKit::WebResourceLoader::didReceiveWebResourceLoaderMessage(IPC::Connection&amp;, IPC::Decoder&amp;) (WebKit/WebKitBuild/Debug/WebKit.framework/Versions/A/WebKit+0x1a9aa10)
    #43 0x101602da9 in WebKit::NetworkProcessConnection::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;) (WebKit/WebKitBuild/Debug/WebKit.framework/Versions/A/WebKit+0x7c3da9)
    #44 0x101016fba in IPC::Connection::dispatchMessage(IPC::Decoder&amp;) (WebKit/WebKitBuild/Debug/WebKit.framework/Versions/A/WebKit+0x1d7fba)
    #45 0x100fff7c4 in IPC::Connection::dispatchMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;) (WebKit/WebKitBuild/Debug/WebKit.framework/Versions/A/WebKit+0x1c07c4)
    #46 0x101017ca5 in IPC::Connection::dispatchOneMessage() (WebKit/WebKitBuild/Debug/WebKit.framework/Versions/A/WebKit+0x1d8ca5)
    #47 0x10102825c in IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;)::$_14::operator()() (WebKit/WebKitBuild/Debug/WebKit.framework/Versions/A/WebKit+0x1e925c)
    #48 0x101028188 in WTF::Function&lt;void ()&gt;::CallableWrapper&lt;IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;)::$_14&gt;::call() (WebKit/WebKitBuild/Debug/WebKit.framework/Versions/A/WebKit+0x1e9188)
    #49 0x10a760830 in WTF::Function&lt;void ()&gt;::operator()() const (WebKit/WebKitBuild/Debug/JavaScriptCore.framework/Versions/A/JavaScriptCore+0x2d85830)
    #50 0x10a7aad50 in WTF::RunLoop::performWork() (WebKit/WebKitBuild/Debug/JavaScriptCore.framework/Versions/A/JavaScriptCore+0x2dcfd50)
    #51 0x10a7abb11 in WTF::RunLoop::performWork(void*) (WebKit/WebKitBuild/Debug/JavaScriptCore.framework/Versions/A/JavaScriptCore+0x2dd0b11)
    #52 0x7fff80d30880 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ (/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation+0xaa880)
    #53 0x7fff80d0ffbb in __CFRunLoopDoSources0 (/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation+0x89fbb)
    #54 0x7fff80d0f4de in __CFRunLoopRun (/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation+0x894de)
    #55 0x7fff80d0eed7 in CFRunLoopRunSpecific (/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation+0x88ed7)
    #56 0x7fff820ef934 in RunCurrentEventLoopInMode (/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox+0x30934)
    #57 0x7fff820ef76e in ReceiveNextEventCommon (/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox+0x3076e)
    #58 0x7fff820ef5ae in _BlockUntilNextEventMatchingListInModeWithFilter (/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox+0x305ae)
    #59 0x7fff8d754df5 in _DPSNextEvent (/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit+0x48df5)
    #60 0x7fff8d754225 in -[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:] (/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit+0x48225)
    #61 0x7fff8d748d7f in -[NSApplication run] (/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit+0x3cd7f)
    #62 0x7fff8d712367 in NSApplicationMain (/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit+0x6367)
    #63 0x7fff9201a193 in _xpc_objc_main (/usr/lib/system/libxpc.dylib+0x11193)
    #64 0x7fff92018bbd in xpc_main (/usr/lib/system/libxpc.dylib+0xfbbd)
    #65 0x100e21f73 in main (WebKit/WebKitBuild/Debug/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.WebContent.xpc/Contents/MacOS/com.apple.WebKit.WebContent.Development+0x100001f73)
    #66 0x7fff89c9e5ac in start (/usr/lib/system/libdyld.dylib+0x35ac)
    #67 0x0  (&lt;unknown module&gt;)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV (WebKit/WebKitBuild/Debug/JavaScriptCore.framework/Versions/A/JavaScriptCore+0x2d01528) in WTFCrash
==8135==ABORTING
#CRASHED - com.apple.WebKit.WebContent.Development (pid 8135)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243232</commentid>
    <comment_count>1</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-10-21 19:39:18 -0700</bug_when>
    <thetext>StyleBuilderCustom::applyValueFontSize()

This is because &lt;math&gt; elements get their on font-family.

We apply font properties in-order, so font-family comes first, then font-size.

When we apply font-family, if the element&apos;s font family matches the parent&apos;s font family, we don&apos;t create a new StyleInheritedData (because both elements can share). However, because &lt;math&gt; gets its own font family, the families don&apos;t match, so a new inherited data is created. This new inherited data&apos;s font descriptor hasn&apos;t been update()d. Then, we try to apply font-size, which erroneously tries to read from the current element&apos;s un-update()d font.

Font-dependent units are supposed to be resolved relative to the parent font size. We do this correctly with simple things like font-size: 2ch. However, once we start using calc(), StyleBuilderCustom::applyValueFontSize() takes a different code path.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243233</commentid>
    <comment_count>2</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-10-21 19:39:45 -0700</bug_when>
    <thetext>Because of this, another reduction is

&lt;style&gt;div{font-size:calc(6% - 7ch&lt;/style&gt;&lt;div style=&quot;font-family: &apos;Helvetica&apos;;&quot;&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243240</commentid>
    <comment_count>3</comment_count>
      <attachid>292451</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-10-21 20:04:30 -0700</bug_when>
    <thetext>Created attachment 292451
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243304</commentid>
    <comment_count>4</comment_count>
      <attachid>292451</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-10-21 23:17:56 -0700</bug_when>
    <thetext>Comment on attachment 292451
Patch

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

&gt; Source/WebCore/css/StyleBuilderCustom.h:1591
&gt; +            const CSSToLengthConversionData&amp; conversionData = styleResolver.state().cssToLengthConversionData();

Can this use some form of auto instead of writing out the long type?

&gt; Source/WebCore/css/StyleBuilderCustom.h:1592
&gt; +            CSSToLengthConversionData parentConversionData(styleResolver.parentStyle(), conversionData.rootStyle(), styleResolver.document().renderView(), 1.0f, true);

I think this would read better with the modern { } style:

    CSSToLengthConversionData parentConversionData { styleResolver.parentStyle(), conversionData.rootStyle(), styleResolver.document().renderView(), 1.0f, true };

That way it’s more clear that it’s not a function call.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243491</commentid>
    <comment_count>5</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-10-23 00:26:26 -0700</bug_when>
    <thetext>Committed r207726: &lt;http://trac.webkit.org/changeset/207726&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292451</attachid>
            <date>2016-10-21 20:04:30 -0700</date>
            <delta_ts>2016-10-21 23:17:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163459-20161021200050.patch</filename>
            <type>text/plain</type>
            <size>4192</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3Njg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTNiMmVjYWZjMzA1Zjgy
Zjk3MDNjNzAxOTA2ZTM3ZGI1MDFkN2EwYi4uNjMwZTcyZjg4M2YwNGY3ZGFlYzBiZGZkMWE1NDRk
MDBiNzAwOWI5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE2LTEwLTIxICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgQVNTRVJUSU9O
IEZBSUxFRDogbV9mb250cyBpbiAmV2ViQ29yZTo6Rm9udENhc2NhZGU6OnByaW1hcnlGb250Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM0NTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgQ1NTIFVu
aXRzIGFuZCBWYWx1ZXMgc3BlYyBzdGF0ZXMgdGhhdCBmb250LXJlbGF0aXZlIHVuaXRzLCB3aGVu
IHVzZWQKKyAgICAgICAgaW4gdGhlIGZvbnQtc2l6ZSBwcm9wZXJ0eSwgYXJlIHJlc29sdmVkIGFn
YWluc3QgdGhlIHBhcmVudCBlbGVtZW50LiBXaGVuCisgICAgICAgIGNhbGMoKSBpcyBzcGVjaWZp
ZWQsIHdlIHdlcmUgdHJ5aW5nIHRvIHJlc29sdmUgdGhlbSBhZ2FpbnN0IHRoZSBjdXJyZW50Cisg
ICAgICAgIGVsZW1lbnQsIHdoaWNoIGlzIGltcG9zc2libGUgYmVjYXVzZSBvZiB0aGUgY2lyY3Vs
YXIgZGVwZW5kZW5jeS4gSW5zdGVhZCwKKyAgICAgICAgd2Ugc2hvdWxkIHJlc29sdmUgYWdhaW5z
dCB0aGUgcGFyZW50IHN0eWxlIHRoZSBzYW1lIHdheSBhcyB3aGVuIGNhbGMoKSAKKyAgICAgICAg
aXNuJ3Qgc3BlY2lmaWVkLgorCisgICAgICAgIFRlc3Q6IGZhc3QvdGV4dC9mb250LXNpemUtY2Fs
Yy5odG1sCisKKyAgICAgICAgKiBjc3MvU3R5bGVCdWlsZGVyQ3VzdG9tLmg6CisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVGb250U2l6ZSk6CisKIDIwMTYt
MTAtMjEgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViQ29y
ZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OnN0b3BTZXNzaW9uICsgMTMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJDdXN0b20uaCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZUJ1aWxkZXJDdXN0b20uaAppbmRleCA2MDlhYWQ1NTJiMTYwZWE3MWQ3MjlmN2FmMTNm
YWMzMWJiMGIwODVkLi5mYmM1MzYzOTU1YmQ1ZTgwZTkwYzFmNzRmOGI1Yzg0YTk2MTZmZDgwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlckN1c3RvbS5oCkBAIC0xNTg3LDkgKzE1ODcs
MTEgQEAgaW5saW5lIHZvaWQgU3R5bGVCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlRm9udFNpemUo
U3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwKICAgICAgICAgICAgIHN0eWxlUmVzb2x2ZXIu
c3RhdGUoKS5zZXRGb250U2l6ZUhhc1ZpZXdwb3J0VW5pdHMocHJpbWl0aXZlVmFsdWUuaXNWaWV3
cG9ydFBlcmNlbnRhZ2VMZW5ndGgoKSk7CiAgICAgICAgIH0gZWxzZSBpZiAocHJpbWl0aXZlVmFs
dWUuaXNQZXJjZW50YWdlKCkpCiAgICAgICAgICAgICBzaXplID0gKHByaW1pdGl2ZVZhbHVlLmZs
b2F0VmFsdWUoKSAqIHBhcmVudFNpemUpIC8gMTAwLjBmOwotICAgICAgICBlbHNlIGlmIChwcmlt
aXRpdmVWYWx1ZS5pc0NhbGN1bGF0ZWRQZXJjZW50YWdlV2l0aExlbmd0aCgpKQotICAgICAgICAg
ICAgc2l6ZSA9IHByaW1pdGl2ZVZhbHVlLmNzc0NhbGNWYWx1ZSgpLT5jcmVhdGVDYWxjdWxhdGlv
blZhbHVlKHN0eWxlUmVzb2x2ZXIuc3RhdGUoKS5jc3NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCku
Y29weVdpdGhBZGp1c3RlZFpvb20oMS4wZikpLT5ldmFsdWF0ZShwYXJlbnRTaXplKTsKLSAgICAg
ICAgZWxzZQorICAgICAgICBlbHNlIGlmIChwcmltaXRpdmVWYWx1ZS5pc0NhbGN1bGF0ZWRQZXJj
ZW50YWdlV2l0aExlbmd0aCgpKSB7CisgICAgICAgICAgICBjb25zdCBDU1NUb0xlbmd0aENvbnZl
cnNpb25EYXRhJiBjb252ZXJzaW9uRGF0YSA9IHN0eWxlUmVzb2x2ZXIuc3RhdGUoKS5jc3NUb0xl
bmd0aENvbnZlcnNpb25EYXRhKCk7CisgICAgICAgICAgICBDU1NUb0xlbmd0aENvbnZlcnNpb25E
YXRhIHBhcmVudENvbnZlcnNpb25EYXRhKHN0eWxlUmVzb2x2ZXIucGFyZW50U3R5bGUoKSwgY29u
dmVyc2lvbkRhdGEucm9vdFN0eWxlKCksIHN0eWxlUmVzb2x2ZXIuZG9jdW1lbnQoKS5yZW5kZXJW
aWV3KCksIDEuMGYsIHRydWUpOworICAgICAgICAgICAgc2l6ZSA9IHByaW1pdGl2ZVZhbHVlLmNz
c0NhbGNWYWx1ZSgpLT5jcmVhdGVDYWxjdWxhdGlvblZhbHVlKHBhcmVudENvbnZlcnNpb25EYXRh
KS0+ZXZhbHVhdGUocGFyZW50U2l6ZSk7CisgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgcmV0
dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDMzNmNkMzVlZTc1MTEzNjBiMzgzYjQ1ZmRiZWNhODhmODVi
ZTgwODAuLmQzNGQ4OGIzYmEwZmVkN2E3NzUzZTcxNzc2ZjYyZGJlMWEyMjE4OWIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMyBAQAorMjAxNi0xMC0yMSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRA
YXBwbGUuY29tPgorCisgICAgICAgIEFTU0VSVElPTiBGQUlMRUQ6IG1fZm9udHMgaW4gJldlYkNv
cmU6OkZvbnRDYXNjYWRlOjpwcmltYXJ5Rm9udAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYzNDU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L3RleHQvZm9udC1zaXplLWNhbGMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvZm9udC1zaXplLWNhbGMuaHRtbDogQWRk
ZWQuCisKIDIwMTYtMTAtMjEgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAg
ICAgICBEbyBub3QgbXV0YXRlIHRoZSByZW5kZXIgdHJlZSB3aGlsZSBjb2xsZWN0aW5nIHNlbGVj
dGlvbiByZXBhaW50IHJlY3RzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Zv
bnQtc2l6ZS1jYWxjLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LXNp
emUtY2FsYy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjJmOWZlMGMwNTJmNjJhYzAxNzgwNTcy
NjE3MDFlZTllZmZjODYxMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC9mb250LXNpemUtY2FsYy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAorVGhpcyB0ZXN0IHBh
c3NlcyBpZiB0aGVyZSBpcyBubyBjcmFzaC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC9mb250LXNpemUtY2FsYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtc2l6
ZS1jYWxjLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWM1YWUyYzQwNDI1NGE2NjRjMjUzNjM0OWEyMWU0NTQ2
MTA1ZWQ1YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LXNp
emUtY2FsYy5odG1sCkBAIC0wLDAgKzEsMTcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxzdHlsZT4KK2RpdiB7CisJZm9udC1zaXplOiBjYWxjKDYlICsgN2NoKTsKK30KKzwv
c3R5bGU+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIu
ZHVtcEFzVGV4dCgpOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgc3R5bGU9ImZv
bnQtZmFtaWx5OiAnSGVsdmV0aWNhJzsiPlRoaXMgdGVzdCBwYXNzZXMgaWYgdGhlcmUgaXMgbm8g
Y3Jhc2guPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="315529"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>