<?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>127034</bug_id>
          
          <creation_ts>2014-01-15 01:25:07 -0800</creation_ts>
          <short_desc>Suspend resource requests during computedStyle</short_desc>
          <delta_ts>2014-01-15 02:25:02 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Page Loading</component>
          <version>528+ (Nightly 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>japhet</cc>
    
    <cc>kangil.han</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>968212</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-01-15 01:25:07 -0800</bug_when>
    <thetext>We have some cases where getting computed style leads to crashes in loadPendingImages. This is probably caused by load callbacks triggering re-entering webkit and killing the StyleResolver. 

(lldb) bt
* thread #5: tid = 0x2403, 0x00720078 UIKit`.str44 + 636054, stop reason = EXC_BAD_ACCESS (code=13, address=0x0)
    frame #0: 0x00720078 UIKit`.str44 + 636054
    frame #1: 0x03400532 WebCore`WebCore::StyleResolver::loadPendingImages() + 802
    frame #2: 0x033f80f9 WebCore`WebCore::StyleResolver::applyMatchedProperties(WebCore::StyleResolver::MatchResult const&amp;) + 1097
    frame #3: 0x033f2bf1 WebCore`WebCore::StyleResolver::styleForElement(WebCore::Element*, WebCore::RenderStyle*, WebCore::StyleSharingBehavior, WebCore::RuleMatchingBehavior, WebCore::RenderRegion*) + 3489
    frame #4: 0x02a3b180 WebCore`WebCore::Document::styleForElementIgnoringPendingStylesheets(WebCore::Element*) + 144
    frame #5: 0x02b141b9 WebCore`WebCore::Element::computedStyle(WebCore::PseudoId) + 121
    frame #6: 0x0296e14f WebCore`WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue(WebCore::CSSPropertyID, WebCore::EUpdateLayout) const + 479    
    frame #7: 0x0296dc1f WebCore`WebCore::CSSComputedStyleDeclaration::getPropertyValue(WebCore::CSSPropertyID) const + 47
    frame #8: 0x02986a88 WebCore`WebCore::CSSComputedStyleDeclaration::getPropertyValue(WTF::String const&amp;) + 56
    frame #9: 0x02e0e997</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968213</commentid>
    <comment_count>1</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-01-15 01:25:49 -0800</bug_when>
    <thetext>&lt;rdar://problem/12369267&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968215</commentid>
    <comment_count>2</comment_count>
      <attachid>221240</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-01-15 01:30:39 -0800</bug_when>
    <thetext>Created attachment 221240
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968216</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-15 01:32:22 -0800</bug_when>
    <thetext>Attachment 221240 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/dom/Document.cpp&apos;, u&apos;Source/WebCore/loader/ResourceLoadScheduler.h&apos;, &apos;--commit-queue&apos;]&quot; exit_code: 1
ERROR: Source/WebCore/loader/ResourceLoadScheduler.h:67:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968218</commentid>
    <comment_count>4</comment_count>
      <attachid>221240</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-01-15 01:36:28 -0800</bug_when>
    <thetext>Comment on attachment 221240
patch

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

r=me..

&gt; Source/WebCore/loader/ResourceLoadScheduler.h:65
&gt; +    class Suspend {

This name feels a bit off. &quot;Suspender&quot;?

&gt; Source/WebCore/loader/ResourceLoadScheduler.h:67
&gt; +        Suspend(ResourceLoadScheduler&amp; scheduler) : m_scheduler(scheduler) { m_scheduler.suspendPendingRequests(); }

explicit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968239</commentid>
    <comment_count>5</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-01-15 02:25:02 -0800</bug_when>
    <thetext>https://trac.webkit.org/r162063</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221240</attachid>
            <date>2014-01-15 01:30:39 -0800</date>
            <delta_ts>2014-01-15 01:36:27 -0800</delta_ts>
            <desc>patch</desc>
            <filename>computed-style-suspend-requests.patch</filename>
            <type>text/plain</type>
            <size>3488</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2MjA1OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDE0LTAxLTE1ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBTdXNwZW5kIHJlc291cmNlIHJl
cXVlc3RzIGR1cmluZyBjb21wdXRlZFN0eWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMjcwMzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXZSBoYXZlIHNvbWUgY2FzZXMgd2hlcmUgZ2V0dGluZyBjb21w
dXRlZCBzdHlsZSBsZWFkcyB0byBjcmFzaGVzIGluIGxvYWRQZW5kaW5nSW1hZ2VzLiAKKyAgICAg
ICAgVGhpcyBpcyBwcm9iYWJseSBjYXVzZWQgYnkgbG9hZCBjYWxsYmFja3MgdHJpZ2dlcmluZyBy
ZS1lbnRlcmluZyB3ZWJraXQgYW5kIGtpbGxpbmcgdGhlIFN0eWxlUmVzb2x2ZXIuCisgICAgICAg
IAorICAgICAgICBBcyBhIHNwZWN1bGF0aXZlIGZpeCBzdXNwZW5kIHJlc291cmNlIGxvYWRzIChh
bmQgc28gY2FsbGJhY2tzKSB3aGVuIGdldHRpbmcgdGhlIGNvbXB1dGVkIHN0eWxlLgorICAgICAg
ICBXZSBkbyBzaW1pbGFyIHN1c3BlbnNpb24gZHVyaW5nIHJlbmRlciB0cmVlIGF0dGFjaCBmb3Ig
dGhlIHNhbWUgcmVhc29uLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjpzdHlsZUZvckVsZW1lbnRJZ25vcmluZ1BlbmRpbmdTdHlsZXNo
ZWV0cyk6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5oOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpTdXNwZW5kOjpTdXNwZW5kKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZFNjaGVkdWxlcjo6U3VzcGVuZDo6flN1c3BlbmQp
OgorCiAyMDE0LTAxLTE0ICBDaGFuZ1Nlb2sgT2ggIDxjaGFuZ3Nlb2sub2hAY29sbGFib3JhLmNv
bT4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeCBhZnRlciByMTYxOTgwLgpJbmRleDog
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAxNjIwNTgpCisrKyBTb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05Miw2ICs5Miw3IEBACiAjaW5j
bHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiSlNMYXp5RXZlbnRM
aXN0ZW5lci5oIgogI2luY2x1ZGUgIkxhbmd1YWdlLmgiCisjaW5jbHVkZSAiTG9hZGVyU3RyYXRl
Z3kuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTWFpbkZyYW1lLmgiCiAjaW5j
bHVkZSAiTWVkaWFDYW5TdGFydExpc3RlbmVyLmgiCkBAIC0xMDcsNiArMTA4LDcgQEAKICNpbmNs
dWRlICJQYWdlR3JvdXAuaCIKICNpbmNsdWRlICJQYWdlVHJhbnNpdGlvbkV2ZW50LmgiCiAjaW5j
bHVkZSAiUGxhdGZvcm1Mb2NhbGUuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCIK
ICNpbmNsdWRlICJQbHVnSW5zUmVzb3VyY2VzLmgiCiAjaW5jbHVkZSAiUGx1Z2luRG9jdW1lbnQu
aCIKICNpbmNsdWRlICJQb2ludGVyTG9ja0NvbnRyb2xsZXIuaCIKQEAgLTExNCw2ICsxMTYsNyBA
QAogI2luY2x1ZGUgIlByb2Nlc3NpbmdJbnN0cnVjdGlvbi5oIgogI2luY2x1ZGUgIlJlbmRlclZp
ZXcuaCIKICNpbmNsdWRlICJSZW5kZXJXaWRnZXQuaCIKKyNpbmNsdWRlICJSZXNvdXJjZUxvYWRT
Y2hlZHVsZXIuaCIKICNpbmNsdWRlICJSZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIlJ1bnRp
bWVFbmFibGVkRmVhdHVyZXMuaCIKICNpbmNsdWRlICJTY2hlbWVSZWdpc3RyeS5oIgpAQCAtMTg2
Niw2ICsxODY5LDkgQEAgUGFzc1JlZjxSZW5kZXJTdHlsZT4gRG9jdW1lbnQ6OnN0eWxlRm9yRQog
ewogICAgIEFTU0VSVF9BUkcoZWxlbWVudCwgJmVsZW1lbnQtPmRvY3VtZW50KCkgPT0gdGhpcyk7
CiAKKyAgICAvLyBPbiBpT1MgcmVxdWVzdCBkZWxlZ2F0ZXMgY2FsbGVkIGR1cmluZyBzdHlsZUZv
ckVsZW1lbnQgbWF5IHJlc3VsdCBpbiByZS1lbnRlcmluZyBXZWJLaXQgYW5kIGtpbGxpbmcgdGhl
IHN0eWxlIHJlc29sdmVyLgorICAgIFJlc291cmNlTG9hZFNjaGVkdWxlcjo6U3VzcGVuZCByZXF1
ZXN0U3VzcGVuZCgqcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvYWRlclN0cmF0ZWd5KCktPnJlc291
cmNlTG9hZFNjaGVkdWxlcigpKTsKKwogICAgIFRlbXBvcmFyeUNoYW5nZTxib29sPiBjaGFuZ2Uo
bV9pZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMsIHRydWUpOwogICAgIHJldHVybiBlbnN1cmVTdHls
ZVJlc29sdmVyKCkuc3R5bGVGb3JFbGVtZW50KGVsZW1lbnQsIGVsZW1lbnQtPnBhcmVudE5vZGUo
KSA/IGVsZW1lbnQtPnBhcmVudE5vZGUoKS0+Y29tcHV0ZWRTdHlsZSgpIDogbnVsbHB0cik7CiB9
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5o
CShyZXZpc2lvbiAxNjIwNTgpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2Fk
U2NoZWR1bGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTYyLDYgKzYyLDE0IEBAIHB1YmxpYzoKICAg
ICBib29sIGlzU2VyaWFsTG9hZGluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzU2VyaWFs
TG9hZGluZ0VuYWJsZWQ7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0U2VyaWFsTG9hZGluZ0VuYWJs
ZWQoYm9vbCBiKSB7IG1faXNTZXJpYWxMb2FkaW5nRW5hYmxlZCA9IGI7IH0KIAorICAgIGNsYXNz
IFN1c3BlbmQgeworICAgIHB1YmxpYzoKKyAgICAgICAgU3VzcGVuZChSZXNvdXJjZUxvYWRTY2hl
ZHVsZXImIHNjaGVkdWxlcikgOiBtX3NjaGVkdWxlcihzY2hlZHVsZXIpIHsgbV9zY2hlZHVsZXIu
c3VzcGVuZFBlbmRpbmdSZXF1ZXN0cygpOyB9CisgICAgICAgIH5TdXNwZW5kKCkgeyBtX3NjaGVk
dWxlci5yZXN1bWVQZW5kaW5nUmVxdWVzdHMoKTsgfQorICAgIHByaXZhdGU6CisgICAgICAgIFJl
c291cmNlTG9hZFNjaGVkdWxlciYgbV9zY2hlZHVsZXI7CisgICAgfTsKKwogcHJvdGVjdGVkOgog
ICAgIFJlc291cmNlTG9hZFNjaGVkdWxlcigpOwogICAgIHZpcnR1YWwgflJlc291cmNlTG9hZFNj
aGVkdWxlcigpOwo=
</data>
<flag name="review"
          id="245114"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>