<?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>108404</bug_id>
          
          <creation_ts>2013-01-30 16:45:49 -0800</creation_ts>
          <short_desc>Default element styles are not always collected for sharing detection</short_desc>
          <delta_ts>2013-02-04 18:59:21 -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>CSS</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="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dominicc</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>shinyak</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tasak</cc>
    
    <cc>webcomponents-bugzilla</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>820803</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-01-30 16:45:49 -0800</bug_when>
    <thetext>If an element has a fairly complex shadow tree, the elements do not always resolve style correctly if they are shared. This can be occasionally seen on the Mac port on a page with &lt;video&gt; and multiple captions (e.g. LayoutTests/media/video-controls-captions-trackmenu*). The captions menu is part of the shadow structure, and elements in the menu are styled with a class name to indicate they should be &quot;ticked&quot;. Often you will see that all the elements are ticked, even when that is impossible. A recalculation of the style usually fixes it.

As a test I added some code to StyleResolver::locateSharedStyle() so that it will not return a valid style when the element is in the shadow tree. This fixes the problem.

    if (m_styledElement-&gt;isInShadowTree())
        return 0;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820804</commentid>
    <comment_count>1</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-01-30 16:47:04 -0800</bug_when>
    <thetext>&lt;rdar://problem/12913909&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820847</commentid>
    <comment_count>2</comment_count>
      <attachid>185631</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-01-30 17:16:53 -0800</bug_when>
    <thetext>Created attachment 185631
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820848</commentid>
    <comment_count>3</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-01-30 17:18:17 -0800</bug_when>
    <thetext>This fixes the problem, but obviously at the expense of performance. I&apos;d like to know the root cause.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821090</commentid>
    <comment_count>4</comment_count>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2013-01-30 22:11:20 -0800</bug_when>
    <thetext>Would you provide a test case which reproduces this issue?

Because:
- I looked at flakiness dashboard, http://test-results.appspot.com/dashboards/flakiness_dashboard.html#group=%40ToT%20-%20webkit.org&amp;showAllRuns=true&amp;tests=media%2Fvideo-controls-captions-track.*&amp;showExpectations=true

  However LayoutTests/media/video-controls-captions-trackmenu* seem not flaky.

- I ran Tools/Scripts/new-run-webkit-tests, but media/video-controls-captions-trackmenu* passed.

- I cannot see rdar://problem/12913909.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821091</commentid>
    <comment_count>5</comment_count>
      <attachid>185631</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2013-01-30 22:12:06 -0800</bug_when>
    <thetext>Comment on attachment 185631
Patch

I&apos;d rather we understand the problem at least before doing this. This seems like something that would stick around for a long time as it&apos;s not even clear from this patch now to reproduce it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821761</commentid>
    <comment_count>6</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-01-31 11:36:34 -0800</bug_when>
    <thetext>Running these as layout tests won&apos;t show the problem, because they don&apos;t examine the style of the shadow tree. Also, Chromium hasn&apos;t yet implemented the captions menu (afaik).

Anyway, I&apos;ll try to work out what&apos;s going on so that I can get a reproducible test case, but it might be really difficult because the problem only exposes itself with a complex shadow root, added internally (not a User Shadow Tree), and none of our built-in controls are that complex - with the exception of &lt;video&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821857</commentid>
    <comment_count>7</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-01-31 12:48:20 -0800</bug_when>
    <thetext>The problem seems to be that StyleResolver::locateSharedStyle does not notice that the elements have a className that would prevent them from sharing style. The resolver&apos;s RuleFeatureSet does not include any classNames, and thus the test for classNamesAffectedByRules(m_element-&gt;classNames()) fails. This causes elements in the shadow tree to share styles, even when they should not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821891</commentid>
    <comment_count>8</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-01-31 13:28:33 -0800</bug_when>
    <thetext>Actually, it may not be related to the shadow root. StyleResolver::collectFeatures runs before ensureDefaultStyleSheetsForElement. The first copies rules from the defaultStyle into its own rules, but misses anything added to the defaultStyle in the latter function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822064</commentid>
    <comment_count>9</comment_count>
      <attachid>185883</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-01-31 15:57:35 -0800</bug_when>
    <thetext>Created attachment 185883
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822066</commentid>
    <comment_count>10</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-01-31 16:02:11 -0800</bug_when>
    <thetext>Here is a much better patch that addresses the root problem (I hope). Antti should take a look at this.

Unfortunately it&apos;s still really hard to get a reproducible test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822843</commentid>
    <comment_count>11</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2013-02-01 09:11:13 -0800</bug_when>
    <thetext>Thank you for working on this, Dean!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823476</commentid>
    <comment_count>12</comment_count>
      <attachid>185883</attachid>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2013-02-01 18:08:05 -0800</bug_when>
    <thetext>Comment on attachment 185883
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        Shadow tree doesn&apos;t calculate style correctly if shared

Should this summary be changed? From reading the comments it looks like your conclusion was that being in the shadow tree was a red herring.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823723</commentid>
    <comment_count>13</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-02-02 16:03:03 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 185883 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=185883&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:3
&gt; &gt; +        Shadow tree doesn&apos;t calculate style correctly if shared
&gt; 
&gt; Should this summary be changed? From reading the comments it looks like your conclusion was that being in the shadow tree was a red herring.

Good point. I&apos;ll update the ChangeLog after review, but change the title here now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823744</commentid>
    <comment_count>14</comment_count>
      <attachid>185883</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-02-02 18:05:55 -0800</bug_when>
    <thetext>Comment on attachment 185883
Patch

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

Good find! A test would be cool though I realize it may be difficult.

&gt; Source/WebCore/ChangeLog:12
&gt; +
&gt; +        This is a fairly obscure case that is difficult to reproduce. It most
&gt; +        often appeared when styling siblings in a complex shadow tree. The problem
&gt; +        was that ensureDefaultStyleSheetsForElement could add rules to the
&gt; +        defaultStyle, but that was not collected into the StyleResolver, which
&gt; +        uses the rules to detect if it should not share styles.

As mentioned, this needs to be updated the describe the actual problem.

&gt; Source/WebCore/css/StyleResolver.cpp:558
&gt; -static void ensureDefaultStyleSheetsForElement(Element* element)
&gt; +static bool ensureDefaultStyleSheetsForElement(Element* element)

I think you should use a bool&amp; argument instead of a return value. Currently it is rather mysterious in the call site what the return value means. Then you can use a sensibly named variable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825020</commentid>
    <comment_count>15</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-02-04 18:59:21 -0800</bug_when>
    <thetext>Committed r141844: &lt;http://trac.webkit.org/changeset/141844&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185631</attachid>
            <date>2013-01-30 17:16:53 -0800</date>
            <delta_ts>2013-01-31 15:57:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108404-20130131121337.patch</filename>
            <type>text/plain</type>
            <size>1873</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwODczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2E4ZWZlNDgyN2I5ZWI1
YzI4ZDNiNzY0NzgxNzFjNjg2MTU2NWIzNS4uZTJkNGI4NDYyYWNjYTdkNTIwMzdkODk1ZTQ4Yjdh
MGUwYTEzY2FhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIxIEBACiAyMDEzLTAxLTMwICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAorICAgICAgICBTaGFkb3cgdHJlZSBkb2Vzbid0
IGNhbGN1bGF0ZSBzdHlsZSBjb3JyZWN0bHkgaWYgc2hhcmVkCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDg0MDQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBPY2Nhc2lvbmFsbHksIHNoYWRvdyB0cmVlcyB3
aXRoIGNvbXBsZXggc3RydWN0dXJlcyBkbyBub3QKKyAgICAgICAgcmVzb2x2ZSBzdHlsZSBjb3Jy
ZWN0bHkuIFRoaXMgaXMgYSB0ZW1wb3JhcnkgZml4IHRvIGRpc2FibGUKKyAgICAgICAgc3R5bGUg
c2hhcmluZyBmb3Igc2hhZG93IGVsZW1lbnRzLCB3aGljaCBzZWVtcyB0byBiZSB0aGUKKyAgICAg
ICAgY2F1c2Ugb2YgdGhlIHByb2JsZW0uCisKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjpsb2NhdGVTaGFyZWRTdHlsZSk6
IEV4aXQgaWYgdGhlIGVsZW1lbnQKKyAgICAgICAgaXMgaW4gdGhlIHNoYWRvdyB0cmVlLgorCisy
MDEzLTAxLTMwICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKwogICAgICAgICBTbmFw
c2hvdHRlZCBwbHVnLWluIHNob3VsZCB1c2Ugc2hhZG93IHJvb3QKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwODI4NAogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVSZXNvbHZlci5jcHAKaW5kZXggNjg3YjM2OTMxMTJlMjE3NDQwM2ZjODc1N2ExNzAwZWQ4YjRh
OTM5Ni4uYjJkZmEwNTRiN2Y2NDVlZjg5Y2ZjOGM4ZjA5YWY2ODAyYjlhMjI1YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcApAQCAtMTMxOSw2ICsxMzE5LDEwIEBAIFJlbmRlclN0
eWxlKiBTdHlsZVJlc29sdmVyOjpsb2NhdGVTaGFyZWRTdHlsZSgpCiAgICAgaWYgKGVsZW1lbnRI
YXNEaXJlY3Rpb25BdXRvKG1fZWxlbWVudCkpCiAgICAgICAgIHJldHVybiAwOwogCisgICAgLy8g
RG8gbm90IHNoYXJlIHN0eWxlcyBpZiB3ZSBhcmUgaW4gYSBzaGFkb3cgdHJlZS4gU2VlIHdrYi51
Zy8xMDg0MDQuCisgICAgaWYgKG1fc3R5bGVkRWxlbWVudC0+aXNJblNoYWRvd1RyZWUoKSkKKyAg
ICAgICAgcmV0dXJuIDA7CisKICAgICAvLyBDYWNoZSB3aGV0aGVyIG1fZWxlbWVudCBpcyBhZmZl
Y3RlZCBieSBhbnkga25vd24gY2xhc3Mgc2VsZWN0b3JzLgogICAgIC8vIEZJWE1FOiBUaGlzIHNo
b3VsZG4ndCBiZSBhIG1lbWJlciB2YXJpYWJsZS4gVGhlIHN0eWxlIHNoYXJpbmcgY29kZSBjb3Vs
ZCBiZSBmYWN0b3JlZCBvdXQgb2YgU3R5bGVSZXNvbHZlci4KICAgICBtX2VsZW1lbnRBZmZlY3Rl
ZEJ5Q2xhc3NSdWxlcyA9IG1fZWxlbWVudCAmJiBtX2VsZW1lbnQtPmhhc0NsYXNzKCkgJiYgY2xh
c3NOYW1lc0FmZmVjdGVkQnlSdWxlcyhtX2VsZW1lbnQtPmNsYXNzTmFtZXMoKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185883</attachid>
            <date>2013-01-31 15:57:35 -0800</date>
            <delta_ts>2013-02-02 18:05:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108404-20130201105415.patch</filename>
            <type>text/plain</type>
            <size>5840</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxMzUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWE1YWM3YTcyMTYzMTcw
YWFkYTc0M2YzY2RhNjc3OGUxMTdlZDExMi4uMWNmNTk0OGZkMTBlNjQ0YjNkY2Y5NjJiZmZkMzc1
YTRiYjkxMjY2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEzLTAxLTMxICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBTaGFkb3cgdHJlZSBkb2Vzbid0
IGNhbGN1bGF0ZSBzdHlsZSBjb3JyZWN0bHkgaWYgc2hhcmVkCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDg0MDQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEgZmFpcmx5IG9ic2N1cmUgY2Fz
ZSB0aGF0IGlzIGRpZmZpY3VsdCB0byByZXByb2R1Y2UuIEl0IG1vc3QKKyAgICAgICAgb2Z0ZW4g
YXBwZWFyZWQgd2hlbiBzdHlsaW5nIHNpYmxpbmdzIGluIGEgY29tcGxleCBzaGFkb3cgdHJlZS4g
VGhlIHByb2JsZW0KKyAgICAgICAgd2FzIHRoYXQgZW5zdXJlRGVmYXVsdFN0eWxlU2hlZXRzRm9y
RWxlbWVudCBjb3VsZCBhZGQgcnVsZXMgdG8gdGhlCisgICAgICAgIGRlZmF1bHRTdHlsZSwgYnV0
IHRoYXQgd2FzIG5vdCBjb2xsZWN0ZWQgaW50byB0aGUgU3R5bGVSZXNvbHZlciwgd2hpY2gKKyAg
ICAgICAgdXNlcyB0aGUgcnVsZXMgdG8gZGV0ZWN0IGlmIGl0IHNob3VsZCBub3Qgc2hhcmUgc3R5
bGVzLgorCisgICAgICAgIFRoZSBmaXggaXMgdG8gZGV0ZWN0IGlmIHdlIG5lZWQgdG8gY29sbGVj
dCBhZnRlciBhZGRpbmcgYQorICAgICAgICBzdHlsZSBmb3IgYW4gZWxlbWVudC4gVGhpcyBtaWdo
dCBjYXVzZSBhIGxpdHRsZSBtb3JlIHdvcmssIGJ1dAorICAgICAgICBpbiBteSB0ZXN0aW5nIGl0
IGRvZXNuJ3QgaGFwcGVuIHZlcnkgb2Z0ZW4uCisKKyAgICAgICAgVW5mb3J0dW5hdGVseSBpdCBp
cyBoYXJkIHRvIGdldCBhIHJlcHJvZHVjaWJsZSB0ZXN0IGZvciB0aGlzLgorCisgICAgICAgICog
Y3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZW5zdXJlRGVmYXVsdFN0
eWxlU2hlZXRzRm9yRWxlbWVudCk6IENoYW5nZWQgdG8gYSBib29sZWFuIHJldHVybiB2YWx1ZSwg
aWYgc3R5bGUgbmVlZHMgdG8gYmUgY29sbGVjdGVkLgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVS
ZXNvbHZlcjo6c3R5bGVGb3JFbGVtZW50KTogSWYgd2UgbmVlZCB0byBjb2xsZWN0IGFmdGVyIGFk
ZGluZyBkZWZhdWx0IHN0eWxlcywgZG8gc28uCisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29s
dmVyOjpjb2xsZWN0RmVhdHVyZXMpOiBNYWtlIHN1cmUgdGhlIGRlZmF1bHRTdHlsZSBleGlzdHMg
YmVmb3JlIGFkZGluZyB0byBpdC4KKwogMjAxMy0wMS0zMCAgRGVhbiBKYWNrc29uICA8ZGlub0Bh
cHBsZS5jb20+CiAKICAgICAgICAgU25hcHNob3R0ZWQgcGx1Zy1pbiBzaG91bGQgdXNlIHNoYWRv
dyByb290CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKaW5kZXggODg1Mzg1ZjU0ODkx
ODc2YWVjMjE4NzQ3MjA4MTNmMTI3MDk4YzY0YS4uOWFmOGVkZGZjMDcwNzkzMmI2YzQ5YTZjY2Iw
ZGQzZDBiNTQzOTZhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcApAQCAtNTU1
LDEwICs1NTUsMTQgQEAgc3RhdGljIFJ1bGVTZXQqIHZpZXdTb3VyY2VTdHlsZSgpCiAgICAgcmV0
dXJuIGRlZmF1bHRWaWV3U291cmNlU3R5bGU7CiB9CiAKLXN0YXRpYyB2b2lkIGVuc3VyZURlZmF1
bHRTdHlsZVNoZWV0c0ZvckVsZW1lbnQoRWxlbWVudCogZWxlbWVudCkKK3N0YXRpYyBib29sIGVu
c3VyZURlZmF1bHRTdHlsZVNoZWV0c0ZvckVsZW1lbnQoRWxlbWVudCogZWxlbWVudCkKIHsKLSAg
ICBpZiAoc2ltcGxlRGVmYXVsdFN0eWxlU2hlZXQgJiYgIWVsZW1lbnRDYW5Vc2VTaW1wbGVEZWZh
dWx0U3R5bGUoZWxlbWVudCkpCisgICAgYm9vbCBjaGFuZ2VkRGVmYXVsdFN0eWxlID0gZmFsc2U7
CisKKyAgICBpZiAoc2ltcGxlRGVmYXVsdFN0eWxlU2hlZXQgJiYgIWVsZW1lbnRDYW5Vc2VTaW1w
bGVEZWZhdWx0U3R5bGUoZWxlbWVudCkpIHsKICAgICAgICAgbG9hZEZ1bGxEZWZhdWx0U3R5bGUo
KTsKKyAgICAgICAgY2hhbmdlZERlZmF1bHRTdHlsZSA9IHRydWU7CisgICAgfQogCiAjaWYgRU5B
QkxFKFNWRykKICAgICBpZiAoZWxlbWVudC0+aXNTVkdFbGVtZW50KCkgJiYgIXN2Z1N0eWxlU2hl
ZXQpIHsKQEAgLTU2Niw2ICs1NzAsNyBAQCBzdGF0aWMgdm9pZCBlbnN1cmVEZWZhdWx0U3R5bGVT
aGVldHNGb3JFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgICAgIHN2Z1N0eWxlU2hlZXQg
PSBwYXJzZVVBU2hlZXQoc3ZnVXNlckFnZW50U3R5bGVTaGVldCwgc2l6ZW9mKHN2Z1VzZXJBZ2Vu
dFN0eWxlU2hlZXQpKTsKICAgICAgICAgZGVmYXVsdFN0eWxlLT5hZGRSdWxlc0Zyb21TaGVldChz
dmdTdHlsZVNoZWV0LCBzY3JlZW5FdmFsKCkpOwogICAgICAgICBkZWZhdWx0UHJpbnRTdHlsZS0+
YWRkUnVsZXNGcm9tU2hlZXQoc3ZnU3R5bGVTaGVldCwgcHJpbnRFdmFsKCkpOworICAgICAgICBj
aGFuZ2VkRGVmYXVsdFN0eWxlID0gdHJ1ZTsKICAgICB9CiAjZW5kaWYKIApAQCAtNTc1LDYgKzU4
MCw3IEBAIHN0YXRpYyB2b2lkIGVuc3VyZURlZmF1bHRTdHlsZVNoZWV0c0ZvckVsZW1lbnQoRWxl
bWVudCogZWxlbWVudCkKICAgICAgICAgbWF0aE1MU3R5bGVTaGVldCA9IHBhcnNlVUFTaGVldCht
YXRobWxVc2VyQWdlbnRTdHlsZVNoZWV0LCBzaXplb2YobWF0aG1sVXNlckFnZW50U3R5bGVTaGVl
dCkpOwogICAgICAgICBkZWZhdWx0U3R5bGUtPmFkZFJ1bGVzRnJvbVNoZWV0KG1hdGhNTFN0eWxl
U2hlZXQsIHNjcmVlbkV2YWwoKSk7CiAgICAgICAgIGRlZmF1bHRQcmludFN0eWxlLT5hZGRSdWxl
c0Zyb21TaGVldChtYXRoTUxTdHlsZVNoZWV0LCBwcmludEV2YWwoKSk7CisgICAgICAgIGNoYW5n
ZWREZWZhdWx0U3R5bGUgPSB0cnVlOwogICAgIH0KICNlbmRpZgogCkBAIC01ODQsNiArNTkwLDcg
QEAgc3RhdGljIHZvaWQgZW5zdXJlRGVmYXVsdFN0eWxlU2hlZXRzRm9yRWxlbWVudChFbGVtZW50
KiBlbGVtZW50KQogICAgICAgICBtZWRpYUNvbnRyb2xzU3R5bGVTaGVldCA9IHBhcnNlVUFTaGVl
dChtZWRpYVJ1bGVzKTsKICAgICAgICAgZGVmYXVsdFN0eWxlLT5hZGRSdWxlc0Zyb21TaGVldCht
ZWRpYUNvbnRyb2xzU3R5bGVTaGVldCwgc2NyZWVuRXZhbCgpKTsKICAgICAgICAgZGVmYXVsdFBy
aW50U3R5bGUtPmFkZFJ1bGVzRnJvbVNoZWV0KG1lZGlhQ29udHJvbHNTdHlsZVNoZWV0LCBwcmlu
dEV2YWwoKSk7CisgICAgICAgIGNoYW5nZWREZWZhdWx0U3R5bGUgPSB0cnVlOwogICAgIH0KICNl
bmRpZgogCkBAIC01OTMsNiArNjAwLDcgQEAgc3RhdGljIHZvaWQgZW5zdXJlRGVmYXVsdFN0eWxl
U2hlZXRzRm9yRWxlbWVudChFbGVtZW50KiBlbGVtZW50KQogICAgICAgICBmdWxsc2NyZWVuU3R5
bGVTaGVldCA9IHBhcnNlVUFTaGVldChmdWxsc2NyZWVuUnVsZXMpOwogICAgICAgICBkZWZhdWx0
U3R5bGUtPmFkZFJ1bGVzRnJvbVNoZWV0KGZ1bGxzY3JlZW5TdHlsZVNoZWV0LCBzY3JlZW5FdmFs
KCkpOwogICAgICAgICBkZWZhdWx0UXVpcmtzU3R5bGUtPmFkZFJ1bGVzRnJvbVNoZWV0KGZ1bGxz
Y3JlZW5TdHlsZVNoZWV0LCBzY3JlZW5FdmFsKCkpOworICAgICAgICBjaGFuZ2VkRGVmYXVsdFN0
eWxlID0gdHJ1ZTsKICAgICB9CiAjZW5kaWYKIApAQCAtNjAwLDEwICs2MDgsMTIgQEAgc3RhdGlj
IHZvaWQgZW5zdXJlRGVmYXVsdFN0eWxlU2hlZXRzRm9yRWxlbWVudChFbGVtZW50KiBlbGVtZW50
KQogICAgICAgICBTdHJpbmcgcGx1Z0luc1J1bGVzID0gU3RyaW5nKHBsdWdJbnNVc2VyQWdlbnRT
dHlsZVNoZWV0LCBzaXplb2YocGx1Z0luc1VzZXJBZ2VudFN0eWxlU2hlZXQpKSArIFJlbmRlclRo
ZW1lOjp0aGVtZUZvclBhZ2UoZWxlbWVudC0+ZG9jdW1lbnQoKS0+cGFnZSgpKS0+ZXh0cmFQbHVn
SW5zU3R5bGVTaGVldCgpICsgZWxlbWVudC0+ZG9jdW1lbnQoKS0+cGFnZSgpLT5jaHJvbWUoKS0+
Y2xpZW50KCktPnBsdWdJbkV4dHJhU3R5bGVTaGVldCgpOwogICAgICAgICBwbHVnSW5zU3R5bGVT
aGVldCA9IHBhcnNlVUFTaGVldChwbHVnSW5zUnVsZXMpOwogICAgICAgICBkZWZhdWx0U3R5bGUt
PmFkZFJ1bGVzRnJvbVNoZWV0KHBsdWdJbnNTdHlsZVNoZWV0LCBzY3JlZW5FdmFsKCkpOworICAg
ICAgICBjaGFuZ2VkRGVmYXVsdFN0eWxlID0gdHJ1ZTsKICAgICB9CiAKICAgICBBU1NFUlQoZGVm
YXVsdFN0eWxlLT5mZWF0dXJlcygpLmlkc0luUnVsZXMuaXNFbXB0eSgpKTsKICAgICBBU1NFUlQo
bWF0aE1MU3R5bGVTaGVldCB8fCBkZWZhdWx0U3R5bGUtPmZlYXR1cmVzKCkuc2libGluZ1J1bGVz
LmlzRW1wdHkoKSk7CisgICAgcmV0dXJuIGNoYW5nZWREZWZhdWx0U3R5bGU7CiB9CiAKIHZvaWQg
U3R5bGVSZXNvbHZlcjo6YWRkTWF0Y2hlZFByb3BlcnRpZXMoTWF0Y2hSZXN1bHQmIG1hdGNoUmVz
dWx0LCBjb25zdCBTdHlsZVByb3BlcnR5U2V0KiBwcm9wZXJ0aWVzLCBTdHlsZVJ1bGUqIHJ1bGUs
IHVuc2lnbmVkIGxpbmtNYXRjaFR5cGUsIFByb3BlcnR5V2hpdGVsaXN0VHlwZSBwcm9wZXJ0eVdo
aXRlbGlzdFR5cGUpCkBAIC0xNjA3LDcgKzE2MTcsOCBAQCBQYXNzUmVmUHRyPFJlbmRlclN0eWxl
PiBTdHlsZVJlc29sdmVyOjpzdHlsZUZvckVsZW1lbnQoRWxlbWVudCogZWxlbWVudCwgUmVuZGVy
UwogICAgICAgICBtX3N0eWxlLT5zZXRJbnNpZGVMaW5rKGxpbmtTdGF0ZSk7CiAgICAgfQogCi0g
ICAgZW5zdXJlRGVmYXVsdFN0eWxlU2hlZXRzRm9yRWxlbWVudChlbGVtZW50KTsKKyAgICBpZiAo
ZW5zdXJlRGVmYXVsdFN0eWxlU2hlZXRzRm9yRWxlbWVudChlbGVtZW50KSkKKyAgICAgICAgY29s
bGVjdEZlYXR1cmVzKCk7CiAKICAgICBNYXRjaFJlc3VsdCBtYXRjaFJlc3VsdDsKICAgICBpZiAo
bWF0Y2hpbmdCZWhhdmlvciA9PSBNYXRjaE9ubHlVc2VyQWdlbnRSdWxlcykKQEAgLTUzOTUsOCAr
NTQwNiwxMCBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6OmNvbGxlY3RGZWF0dXJlcygpCiAgICAgLy8g
Q29sbGVjdCBhbGwgaWRzIGFuZCBydWxlcyB1c2luZyBzaWJsaW5nIHNlbGVjdG9ycyAoOmZpcnN0
LWNoaWxkIGFuZCBzaW1pbGFyKQogICAgIC8vIGluIHRoZSBjdXJyZW50IHNldCBvZiBzdHlsZXNo
ZWV0cy4gU3R5bGUgc2hhcmluZyBjb2RlIHVzZXMgdGhpcyBpbmZvcm1hdGlvbiB0byByZWplY3QK
ICAgICAvLyBzaGFyaW5nIGNhbmRpZGF0ZXMuCi0gICAgbV9mZWF0dXJlcy5hZGQoZGVmYXVsdFN0
eWxlLT5mZWF0dXJlcygpKTsKLSAgICBtX2ZlYXR1cmVzLmFkZChtX2F1dGhvclN0eWxlLT5mZWF0
dXJlcygpKTsKKyAgICBpZiAoZGVmYXVsdFN0eWxlKQorICAgICAgICBtX2ZlYXR1cmVzLmFkZChk
ZWZhdWx0U3R5bGUtPmZlYXR1cmVzKCkpOworICAgIGlmIChtX2F1dGhvclN0eWxlKQorICAgICAg
ICBtX2ZlYXR1cmVzLmFkZChtX2F1dGhvclN0eWxlLT5mZWF0dXJlcygpKTsKICAgICBpZiAoZG9j
dW1lbnQoKS0+aXNWaWV3U291cmNlKCkpCiAgICAgICAgIG1fZmVhdHVyZXMuYWRkKHZpZXdTb3Vy
Y2VTdHlsZSgpLT5mZWF0dXJlcygpKTsKIAo=
</data>
<flag name="review"
          id="205124"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>