<?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>111242</bug_id>
          
          <creation_ts>2013-03-01 21:05:47 -0800</creation_ts>
          <short_desc>Plugins that are appropriately large w.r.t page size should autostart</short_desc>
          <delta_ts>2013-03-03 11:39:03 -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>Plug-ins</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>esprehn+autocc</cc>
    
    <cc>jonlee</cc>
    
    <cc>mjs</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>845718</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-03-01 21:05:47 -0800</bug_when>
    <thetext>A &quot;full-page&quot; flash site should never snapshot. The trick is getting the definition of full-page correct. I suggest something like the following:

- plugin is in the main frame (not an iframe)
- plugin is sized with %, and those are bigger than say 95
- the final size of the plugin is again about 95% of the viewport width and height</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845719</commentid>
    <comment_count>1</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-03-01 21:06:10 -0800</bug_when>
    <thetext>&lt;rdar://problem/13328176&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845722</commentid>
    <comment_count>2</comment_count>
      <attachid>191092</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-03-01 21:10:47 -0800</bug_when>
    <thetext>Created attachment 191092
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845724</commentid>
    <comment_count>3</comment_count>
      <attachid>191093</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-03-01 21:15:37 -0800</bug_when>
    <thetext>Created attachment 191093
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845741</commentid>
    <comment_count>4</comment_count>
      <attachid>191093</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-03-01 23:05:38 -0800</bug_when>
    <thetext>Comment on attachment 191093
Patch

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

&gt; Source/WebCore/ChangeLog:15
&gt; +        - The plug-in is in the main frame (not an iframe).
&gt; +        - The plug-in is sized using %, and both width and height are above 96%.
&gt; +        - The final width and height of the plug-in is more than 95% of the viewport
&gt; +          width and height respectively.

This seems strange. What&apos;s the downside to something like thresholding area(intersection(plugin rect, frame visible rect)) / area(frame visible rect)?

&gt; Source/WebCore/html/HTMLPlugInImageElement.cpp:430
&gt; +    RenderEmbeddedObject* renderEmbeddedObject = toRenderEmbeddedObject(renderer());

Technically you could go to renderbox instead if you wanted, I think... not that that changes anything.

&gt; Source/WebCore/html/HTMLPlugInImageElement.cpp:441
&gt; +    if (inMainFrame &amp;&amp; styleWidth.isPercent() &amp;&amp; (styleWidth.percent() &gt; sizingFullPageThresholdPercentage)
&gt; +        &amp;&amp; styleHeight.isPercent() &amp;&amp; (styleHeight.percent() &gt; sizingFullPageThresholdPercentage)
&gt; +        &amp;&amp; (static_cast&lt;float&gt;(contentWidth) / visibleViewSize.width() * 100 &gt; sizingFullPageThresholdPercentage)
&gt; +        &amp;&amp; (static_cast&lt;float&gt;(contentHeight) / visibleViewSize.height() * 100 &gt; sizingFullPageThresholdPercentage)) {

That&apos;s quite the condition. Is there anything we can do to make this less insane?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845749</commentid>
    <comment_count>5</comment_count>
      <attachid>191093</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2013-03-01 23:38:24 -0800</bug_when>
    <thetext>Comment on attachment 191093
Patch

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

&gt; Source/WebCore/ChangeLog:13
&gt; +        - The plug-in is sized using %, and both width and height are above 96%.

Given that I think all the sites that use percentages use 100%, we should just go for that instead.

&gt;&gt; Source/WebCore/ChangeLog:15
&gt;&gt; +          width and height respectively.
&gt; 
&gt; This seems strange. What&apos;s the downside to something like thresholding area(intersection(plugin rect, frame visible rect)) / area(frame visible rect)?

Checking the height and width separately is more restrictive, which I think is good, but I think we do need to clip the width and height against the visible frame rect. Consider a full-page size plugin that&apos;s initially placed mostly along the bottom border of the page.

&gt; Source/WebCore/ChangeLog:20
&gt; +        the tests above.

How about considering the border box of the plugin element instead?

&gt;&gt; Source/WebCore/html/HTMLPlugInImageElement.cpp:441
&gt;&gt; +        &amp;&amp; (static_cast&lt;float&gt;(contentHeight) / visibleViewSize.height() * 100 &gt; sizingFullPageThresholdPercentage)) {
&gt; 
&gt; That&apos;s quite the condition. Is there anything we can do to make this less insane?

We might have to extend this to clip the width and height against the frame.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845842</commentid>
    <comment_count>6</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2013-03-02 12:11:01 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 191093 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=191093&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:15
&gt; &gt; +        - The plug-in is in the main frame (not an iframe).
&gt; &gt; +        - The plug-in is sized using %, and both width and height are above 96%.
&gt; &gt; +        - The final width and height of the plug-in is more than 95% of the viewport
&gt; &gt; +          width and height respectively.
&gt; 
&gt; This seems strange. What&apos;s the downside to something like thresholding area(intersection(plugin rect, frame visible rect)) / area(frame visible rect)?

Tim&apos;s rule seems more logical to me too, but maybe there is a reason for Dean&apos;s?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845907</commentid>
    <comment_count>7</comment_count>
      <attachid>191093</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-03-02 19:51:50 -0800</bug_when>
    <thetext>Comment on attachment 191093
Patch

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

&gt;&gt;&gt;&gt; Source/WebCore/ChangeLog:15
&gt;&gt;&gt;&gt; +          width and height respectively.
&gt;&gt;&gt; 
&gt;&gt;&gt; This seems strange. What&apos;s the downside to something like thresholding area(intersection(plugin rect, frame visible rect)) / area(frame visible rect)?
&gt;&gt; 
&gt;&gt; Checking the height and width separately is more restrictive, which I think is good, but I think we do need to clip the width and height against the visible frame rect. Consider a full-page size plugin that&apos;s initially placed mostly along the bottom border of the page.
&gt; 
&gt; Tim&apos;s rule seems more logical to me too, but maybe there is a reason for Dean&apos;s?

I have no attachment to the logic I posted. I&apos;ll upload a patch that compares area ratios.

&gt;&gt; Source/WebCore/ChangeLog:20
&gt;&gt; +        the tests above.
&gt; 
&gt; How about considering the border box of the plugin element instead?

I should have been a little more clear. zombo.com is an extremely simple page. The &quot;border&quot; is just the default 8px margin on the &lt;body&gt;. The plugin takes up all the available space it can, but if the window size is, say 200x200, then the plugin can only get 186x186.

Most full-page plugin sites do margin:0;padding;0 then object 100% * 100%, so I feel like this will be a fairly rarely hit rule.

&gt;&gt; Source/WebCore/html/HTMLPlugInImageElement.cpp:430
&gt;&gt; +    RenderEmbeddedObject* renderEmbeddedObject = toRenderEmbeddedObject(renderer());
&gt; 
&gt; Technically you could go to renderbox instead if you wanted, I think... not that that changes anything.

That&apos;s true! I just moved the code around, but I&apos;ll swap to RenderBox as well.

&gt;&gt;&gt; Source/WebCore/html/HTMLPlugInImageElement.cpp:441
&gt;&gt;&gt; +        &amp;&amp; (static_cast&lt;float&gt;(contentHeight) / visibleViewSize.height() * 100 &gt; sizingFullPageThresholdPercentage)) {
&gt;&gt; 
&gt;&gt; That&apos;s quite the condition. Is there anything we can do to make this less insane?
&gt; 
&gt; We might have to extend this to clip the width and height against the frame.

It does look over-complex, but it isn&apos;t really too bad. How about I separate it into some nested tests? (unfortunately we&apos;re testing FOR something here, so I can&apos;t return early).

We need the logic to make sure we don&apos;t miss plugins that are 100% by 100% but contained in an element that provides the sizing (that isn&apos;t the body).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845916</commentid>
    <comment_count>8</comment_count>
      <attachid>191126</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-03-02 22:28:28 -0800</bug_when>
    <thetext>Created attachment 191126
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845917</commentid>
    <comment_count>9</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-03-02 22:49:32 -0800</bug_when>
    <thetext>New patch uses area calculation, which makes the logic look a little more friendly. And RenderBox rather than RenderEmbeddedObject.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845918</commentid>
    <comment_count>10</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-03-02 22:50:43 -0800</bug_when>
    <thetext>It seems this comment in the review didn&apos;t get posted here:

I was going to add the intersection, but I&apos;m not sure there would be many cases where it is different from just the plugin rect. Remember that we&apos;re already testing for 100% w/h, so it would be unusual to have a bunch of content on the page and then a 100% plugin.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845930</commentid>
    <comment_count>11</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2013-03-02 23:22:18 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; It seems this comment in the review didn&apos;t get posted here:
&gt; 
&gt; I was going to add the intersection, but I&apos;m not sure there would be many cases where it is different from just the plugin rect. Remember that we&apos;re already testing for 100% w/h, so it would be unusual to have a bunch of content on the page and then a 100% plugin.

Ok! Unofficial r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846042</commentid>
    <comment_count>12</comment_count>
      <attachid>191126</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-03-03 10:58:37 -0800</bug_when>
    <thetext>Comment on attachment 191126
Patch

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

&gt; Source/WebCore/ChangeLog:19
&gt; +        This is definitely not foolproof. For example, zombo.com has a slight
&gt; +        border around its plug-in. As the window size gets smaller, the body margin
&gt; +        takes up more than 5% of the width or height, and the plug-in doesn&apos;t pass
&gt; +        the tests above.

How could you not fix zombo com???  You are supposed to be able to do anything there!!!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846046</commentid>
    <comment_count>13</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-03-03 11:39:03 -0800</bug_when>
    <thetext>Committed r144577: &lt;http://trac.webkit.org/changeset/144577&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191092</attachid>
            <date>2013-03-01 21:10:47 -0800</date>
            <delta_ts>2013-03-01 21:15:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111242-20130301210658.patch</filename>
            <type>text/plain</type>
            <size>4880</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NDY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWMyODhlOWVjYThhMWM5
NGI0YWY5ZjlmMjQ2ZmE5ZWE0MTdkNjkxYi4uN2Y3M2QwN2EzNmZhMTUwZWI5Y2MyZDkxOTczMDg5
ODkyNmI0YzY1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEzLTAzLTAxICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBQbHVnLWlucyB0aGF0IGFyZSBh
cHByb3ByaWF0ZWx5IGxhcmdlIHcuci50IHBhZ2Ugc2l6ZSBzaG91bGQgYXV0b3N0YXJ0CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTEyNDIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBICJmdWxsLXBhZ2Ui
IHBsdWctaW4gc2l0ZSBzaG91bGQgbmV2ZXIgc25hcHNob3QuIFRoZSB0cmljayBpcworICAgICAg
ICBob3cgdG8gZGV0ZXJtaW5lIHdoYXQgaXMgZnVsbC1wYWdlLiBUaGlzIGNoYW5nZSBpbXBsZW1l
bnRzIHRoZQorICAgICAgICBmb2xsb3dpbmcgYWxnb3JpdGhtLgorCisgICAgICAgIC0gVGhlIHBs
dWctaW4gaXMgaW4gdGhlIG1haW4gZnJhbWUgKG5vdCBhbiBpZnJhbWUpLgorICAgICAgICAtIFRo
ZSBwbHVnLWluIGlzIHNpemVkIHVzaW5nICUsIGFuZCBib3RoIHdpZHRoIGFuZCBoZWlnaHQgYXJl
IGFib3ZlIDk2JS4KKyAgICAgICAgLSBUaGUgZmluYWwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUg
cGx1Zy1pbiBpcyBtb3JlIHRoYW4gOTUlIG9mIHRoZSB2aWV3cG9ydAorICAgICAgICAgIHdpZHRo
IGFuZCBoZWlnaHQgcmVzcGVjdGl2ZWx5LgorCisgICAgICAgICogaHRtbC9IVE1MUGx1Z0luSW1h
Z2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOiBOZXcgc3RhdGljIGNvbnN0YW50OiBz
aXppbmdGdWxsUGFnZVRocmVzaG9sZFBlcmNlbnRhZ2UKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQ
bHVnSW5JbWFnZUVsZW1lbnQ6OnN1YmZyYW1lTG9hZGVyV2lsbENyZWF0ZVBsdWdJbik6IEltcGxl
bWVudHMKKyAgICAgICAgICAgIHRoZSBydWxlcyBkZXNjcmliZWQgYWJvdmUuCisKIDIwMTMtMDMt
MDEgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2Vi
IEluc3BlY3RvcjogTmF2aWdhdG9yIHNob3VsZCBzaG93IHRyZWUgZWxlbWVudCBmb3IgZWFjaCBm
b2xkZXIgaW4gdGhlIHNvdXJjZSBwYXRoLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBs
dWdJbkltYWdlRWxlbWVudC5jcHAKaW5kZXggODRlMGVkZGNjZGI0ZGE4NGZhZTFhOGQxZmRlYzQ2
MTgyYTY5NjBjNi4uNTIwZjM4NmIwMjVmNjQ0N2I3NGMwY2YwMDZmOTMyY2U1MzU0YTY0ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwCkBAIC01
Nyw2ICs1Nyw3IEBAIHN0YXRpYyBjb25zdCBpbnQgc2l6aW5nVGlueURpbWVuc2lvblRocmVzaG9s
ZCA9IDQwOwogc3RhdGljIGNvbnN0IGludCBzaXppbmdTbWFsbFdpZHRoVGhyZXNob2xkID0gMjUw
Owogc3RhdGljIGNvbnN0IGludCBzaXppbmdNZWRpdW1XaWR0aFRocmVzaG9sZCA9IDQ1MDsKIHN0
YXRpYyBjb25zdCBpbnQgc2l6aW5nTWVkaXVtSGVpZ2h0VGhyZXNob2xkID0gMzAwOworc3RhdGlj
IGNvbnN0IGludCBzaXppbmdGdWxsUGFnZVRocmVzaG9sZFBlcmNlbnRhZ2UgPSA5NjsKIAogLy8g
VGhpcyBkZWxheSBzaG91bGQgbm90IGV4Y2VlZCB0aGUgc25hcHNob3QgZGVsYXkgaW4gUGx1Z2lu
Vmlldy5jcHAKIHN0YXRpYyBjb25zdCBkb3VibGUgc2ltdWxhdGVkTW91c2VDbGlja1RpbWVyRGVs
YXkgPSAuNzU7CkBAIC00MTQsNyArNDE1LDkgQEAgdm9pZCBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50
OjpzdWJmcmFtZUxvYWRlcldpbGxDcmVhdGVQbHVnSW4oY29uc3QgS1VSTCYgdXJsKQogICAgICAg
ICB8fCAhZG9jdW1lbnQoKS0+cGFnZSgpLT5zZXR0aW5ncygpLT5wbHVnSW5TbmFwc2hvdHRpbmdF
bmFibGVkKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChkb2N1bWVudCgpLT5pc1BsdWdp
bkRvY3VtZW50KCkgJiYgZG9jdW1lbnQoKS0+ZnJhbWUoKSA9PSBkb2N1bWVudCgpLT5wYWdlKCkt
Pm1haW5GcmFtZSgpKSB7CisgICAgYm9vbCBpbk1haW5GcmFtZSA9IGRvY3VtZW50KCktPmZyYW1l
KCkgPT0gZG9jdW1lbnQoKS0+cGFnZSgpLT5tYWluRnJhbWUoKTsKKworICAgIGlmIChkb2N1bWVu
dCgpLT5pc1BsdWdpbkRvY3VtZW50KCkgJiYgaW5NYWluRnJhbWUpIHsKICAgICAgICAgTE9HKFBs
dWdpbnMsICIlcCBQbHVnLWluIGRvY3VtZW50IGluIG1haW4gZnJhbWUiLCB0aGlzKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KQEAgLTQyNCwxMSArNDI3LDI0IEBAIHZvaWQgSFRNTFBsdWdJbklt
YWdlRWxlbWVudDo6c3ViZnJhbWVMb2FkZXJXaWxsQ3JlYXRlUGx1Z0luKGNvbnN0IEtVUkwmIHVy
bCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIExheW91dFJlY3QgcmVjdCA9IHRvUmVu
ZGVyRW1iZWRkZWRPYmplY3QocmVuZGVyZXIoKSktPmNvbnRlbnRCb3hSZWN0KCk7Ci0gICAgaW50
IHdpZHRoID0gcmVjdC53aWR0aCgpOwotICAgIGludCBoZWlnaHQgPSByZWN0LmhlaWdodCgpOwot
ICAgIGlmICh3aWR0aCA8PSBzaXppbmdUaW55RGltZW5zaW9uVGhyZXNob2xkIHx8IGhlaWdodCA8
PSBzaXppbmdUaW55RGltZW5zaW9uVGhyZXNob2xkKSB7Ci0gICAgICAgIExPRyhQbHVnaW5zLCAi
JXAgUGx1Zy1pbiBpcyAlZHglZCwgc2V0IHRvIHBsYXkiLCB0aGlzLCB3aWR0aCwgaGVpZ2h0KTsK
KyAgICBSZW5kZXJFbWJlZGRlZE9iamVjdCogcmVuZGVyRW1iZWRkZWRPYmplY3QgPSB0b1JlbmRl
ckVtYmVkZGVkT2JqZWN0KHJlbmRlcmVyKCkpOworICAgIExlbmd0aCBzdHlsZVdpZHRoID0gcmVu
ZGVyRW1iZWRkZWRPYmplY3QtPnN0eWxlKCktPndpZHRoKCk7CisgICAgTGVuZ3RoIHN0eWxlSGVp
Z2h0ID0gcmVuZGVyRW1iZWRkZWRPYmplY3QtPnN0eWxlKCktPmhlaWdodCgpOworICAgIExheW91
dFJlY3QgY29udGVudEJveFJlY3QgPSByZW5kZXJFbWJlZGRlZE9iamVjdC0+Y29udGVudEJveFJl
Y3QoKTsKKyAgICBpbnQgY29udGVudFdpZHRoID0gY29udGVudEJveFJlY3Qud2lkdGgoKTsKKyAg
ICBpbnQgY29udGVudEhlaWdodCA9IGNvbnRlbnRCb3hSZWN0LmhlaWdodCgpOworICAgIEludFNp
emUgdmlzaWJsZVZpZXdTaXplID0gZG9jdW1lbnQoKS0+ZnJhbWUoKS0+dmlldygpLT52aXNpYmxl
U2l6ZSgpOworCisgICAgaWYgKGluTWFpbkZyYW1lICYmIHN0eWxlV2lkdGguaXNQZXJjZW50KCkg
JiYgKHN0eWxlV2lkdGgucGVyY2VudCgpID4gc2l6aW5nRnVsbFBhZ2VUaHJlc2hvbGRQZXJjZW50
YWdlKQorICAgICAgICAmJiBzdHlsZUhlaWdodC5pc1BlcmNlbnQoKSAmJiAoc3R5bGVIZWlnaHQu
cGVyY2VudCgpID4gc2l6aW5nRnVsbFBhZ2VUaHJlc2hvbGRQZXJjZW50YWdlKQorICAgICAgICAm
JiAoc3RhdGljX2Nhc3Q8ZmxvYXQ+KGNvbnRlbnRXaWR0aCkgLyB2aXNpYmxlVmlld1NpemUud2lk
dGgoKSAqIDEwMCA+IHNpemluZ0Z1bGxQYWdlVGhyZXNob2xkUGVyY2VudGFnZSkKKyAgICAgICAg
JiYgKHN0YXRpY19jYXN0PGZsb2F0Pihjb250ZW50SGVpZ2h0KSAvIHZpc2libGVWaWV3U2l6ZS5o
ZWlnaHQoKSAqIDEwMCA+IHNpemluZ0Z1bGxQYWdlVGhyZXNob2xkUGVyY2VudGFnZSkpIHsKKyAg
ICAgICAgTE9HKFBsdWdpbnMsICIlcCBQbHVnLWluIGlzIHRvcCBsZXZlbCBmdWxsIHBhZ2UsIHNl
dCB0byBwbGF5IiwgdGhpcyk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoY29u
dGVudFdpZHRoIDw9IHNpemluZ1RpbnlEaW1lbnNpb25UaHJlc2hvbGQgfHwgY29udGVudEhlaWdo
dCA8PSBzaXppbmdUaW55RGltZW5zaW9uVGhyZXNob2xkKSB7CisgICAgICAgIExPRyhQbHVnaW5z
LCAiJXAgUGx1Zy1pbiBpcyAlZHglZCwgc2V0IHRvIHBsYXkiLCB0aGlzLCBjb250ZW50V2lkdGgs
IGNvbnRlbnRIZWlnaHQpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC00NDYsNyArNDYy
LDcgQEAgdm9pZCBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50OjpzdWJmcmFtZUxvYWRlcldpbGxDcmVh
dGVQbHVnSW4oY29uc3QgS1VSTCYgdXJsKQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAg
TE9HKFBsdWdpbnMsICIlcCBQbHVnLWluIGhhc2ggJXggaXMgJWR4JWQsIG9yaWdpbiBpcyBub3Qg
YXV0by1zdGFydCwgc2V0IHRvIHdhaXQgZm9yIHNuYXBzaG90IiwgdGhpcywgbV9wbHVnSW5Pcmln
aW5IYXNoLCB3aWR0aCwgaGVpZ2h0KTsKKyAgICBMT0coUGx1Z2lucywgIiVwIFBsdWctaW4gaGFz
aCAleCBpcyAlZHglZCwgb3JpZ2luIGlzIG5vdCBhdXRvLXN0YXJ0LCBzZXQgdG8gd2FpdCBmb3Ig
c25hcHNob3QiLCB0aGlzLCBtX3BsdWdJbk9yaWdpbkhhc2gsIGNvbnRlbnRXaWR0aCwgY29udGVu
dEhlaWdodCk7CiAgICAgLy8gV2UgbWF5IGhhdmUgZ290IHRvIHRoaXMgcG9pbnQgYnkgcmVzdGFy
dGluZyBhIHNuYXBzaG90dGVkIHBsdWctaW4sIGluIHdoaWNoIGNhc2Ugd2UgZG9uJ3Qgd2FudCB0
bwogICAgIC8vIHJlc2V0IHRoZSBkaXNwbGF5IHN0YXRlLgogICAgIGlmIChkaXNwbGF5U3RhdGUo
KSAhPSBQbGF5aW5nV2l0aFBlbmRpbmdNb3VzZUNsaWNrKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191093</attachid>
            <date>2013-03-01 21:15:37 -0800</date>
            <delta_ts>2013-03-02 22:28:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111242-20130301211147.patch</filename>
            <type>text/plain</type>
            <size>5151</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NDY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWMyODhlOWVjYThhMWM5
NGI0YWY5ZjlmMjQ2ZmE5ZWE0MTdkNjkxYi4uMzk3MmEzOWRkZTE3NTI3Y2M5ZTkwM2IxY2MyZWY3
OWJmMzRjMjVlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEzLTAzLTAxICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBQbHVnLWlucyB0aGF0IGFyZSBh
cHByb3ByaWF0ZWx5IGxhcmdlIHcuci50IHBhZ2Ugc2l6ZSBzaG91bGQgYXV0b3N0YXJ0CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTEyNDIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBICJmdWxsLXBhZ2Ui
IHBsdWctaW4gc2l0ZSBzaG91bGQgbmV2ZXIgc25hcHNob3QuIFRoZSB0cmljayBpcworICAgICAg
ICBob3cgdG8gZGV0ZXJtaW5lIHdoYXQgaXMgZnVsbC1wYWdlLiBUaGlzIGNoYW5nZSBpbXBsZW1l
bnRzIHRoZQorICAgICAgICBmb2xsb3dpbmcgYWxnb3JpdGhtLgorCisgICAgICAgIC0gVGhlIHBs
dWctaW4gaXMgaW4gdGhlIG1haW4gZnJhbWUgKG5vdCBhbiBpZnJhbWUpLgorICAgICAgICAtIFRo
ZSBwbHVnLWluIGlzIHNpemVkIHVzaW5nICUsIGFuZCBib3RoIHdpZHRoIGFuZCBoZWlnaHQgYXJl
IGFib3ZlIDk2JS4KKyAgICAgICAgLSBUaGUgZmluYWwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUg
cGx1Zy1pbiBpcyBtb3JlIHRoYW4gOTUlIG9mIHRoZSB2aWV3cG9ydAorICAgICAgICAgIHdpZHRo
IGFuZCBoZWlnaHQgcmVzcGVjdGl2ZWx5LgorCisgICAgICAgIFRoaXMgaXMgZGVmaW5pdGVseSBu
b3QgZm9vbHByb29mLiBGb3IgZXhhbXBsZSwgem9tYm8uY29tIGhhcyBhIHNsaWdodAorICAgICAg
ICBib3JkZXIgYXJvdW5kIGl0cyBwbHVnLWluLiBBcyB0aGUgd2luZG93IHNpemUgZ2V0cyBzbWFs
bGVyLCB0aGUgYm9yZGVyIHRha2VzCisgICAgICAgIHVwIG1vcmUgdGhhbiA1JSBvZiB0aGUgd2lk
dGggb3IgaGVpZ2h0LCBhbmQgdGhlIHBsdWctaW4gZG9lc24ndCBwYXNzCisgICAgICAgIHRoZSB0
ZXN0cyBhYm92ZS4KKworICAgICAgICAqIGh0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlKTogTmV3IHN0YXRpYyBjb25zdGFudDogc2l6aW5nRnVsbFBhZ2VU
aHJlc2hvbGRQZXJjZW50YWdlCisgICAgICAgIChXZWJDb3JlOjpIVE1MUGx1Z0luSW1hZ2VFbGVt
ZW50OjpzdWJmcmFtZUxvYWRlcldpbGxDcmVhdGVQbHVnSW4pOiBJbXBsZW1lbnRzCisgICAgICAg
ICAgICB0aGUgcnVsZXMgZGVzY3JpYmVkIGFib3ZlLgorCiAyMDEzLTAzLTAxICBWc2V2b2xvZCBW
bGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IE5h
dmlnYXRvciBzaG91bGQgc2hvdyB0cmVlIGVsZW1lbnQgZm9yIGVhY2ggZm9sZGVyIGluIHRoZSBz
b3VyY2UgcGF0aC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbklt
YWdlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1l
bnQuY3BwCmluZGV4IDg0ZTBlZGRjY2RiNGRhODRmYWUxYThkMWZkZWM0NjE4MmE2OTYwYzYuLjUy
MGYzODZiMDI1ZjY0NDdiNzRjMGNmMDA2ZjkzMmNlNTM1NGE2NGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcApAQCAtNTcsNiArNTcsNyBAQCBz
dGF0aWMgY29uc3QgaW50IHNpemluZ1RpbnlEaW1lbnNpb25UaHJlc2hvbGQgPSA0MDsKIHN0YXRp
YyBjb25zdCBpbnQgc2l6aW5nU21hbGxXaWR0aFRocmVzaG9sZCA9IDI1MDsKIHN0YXRpYyBjb25z
dCBpbnQgc2l6aW5nTWVkaXVtV2lkdGhUaHJlc2hvbGQgPSA0NTA7CiBzdGF0aWMgY29uc3QgaW50
IHNpemluZ01lZGl1bUhlaWdodFRocmVzaG9sZCA9IDMwMDsKK3N0YXRpYyBjb25zdCBpbnQgc2l6
aW5nRnVsbFBhZ2VUaHJlc2hvbGRQZXJjZW50YWdlID0gOTY7CiAKIC8vIFRoaXMgZGVsYXkgc2hv
dWxkIG5vdCBleGNlZWQgdGhlIHNuYXBzaG90IGRlbGF5IGluIFBsdWdpblZpZXcuY3BwCiBzdGF0
aWMgY29uc3QgZG91YmxlIHNpbXVsYXRlZE1vdXNlQ2xpY2tUaW1lckRlbGF5ID0gLjc1OwpAQCAt
NDE0LDcgKzQxNSw5IEBAIHZvaWQgSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6c3ViZnJhbWVMb2Fk
ZXJXaWxsQ3JlYXRlUGx1Z0luKGNvbnN0IEtVUkwmIHVybCkKICAgICAgICAgfHwgIWRvY3VtZW50
KCktPnBhZ2UoKS0+c2V0dGluZ3MoKS0+cGx1Z0luU25hcHNob3R0aW5nRW5hYmxlZCgpKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBpZiAoZG9jdW1lbnQoKS0+aXNQbHVnaW5Eb2N1bWVudCgpICYm
IGRvY3VtZW50KCktPmZyYW1lKCkgPT0gZG9jdW1lbnQoKS0+cGFnZSgpLT5tYWluRnJhbWUoKSkg
eworICAgIGJvb2wgaW5NYWluRnJhbWUgPSBkb2N1bWVudCgpLT5mcmFtZSgpID09IGRvY3VtZW50
KCktPnBhZ2UoKS0+bWFpbkZyYW1lKCk7CisKKyAgICBpZiAoZG9jdW1lbnQoKS0+aXNQbHVnaW5E
b2N1bWVudCgpICYmIGluTWFpbkZyYW1lKSB7CiAgICAgICAgIExPRyhQbHVnaW5zLCAiJXAgUGx1
Zy1pbiBkb2N1bWVudCBpbiBtYWluIGZyYW1lIiwgdGhpcyk7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CkBAIC00MjQsMTEgKzQyNywyNCBAQCB2b2lkIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OnN1
YmZyYW1lTG9hZGVyV2lsbENyZWF0ZVBsdWdJbihjb25zdCBLVVJMJiB1cmwpCiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKLSAgICBMYXlvdXRSZWN0IHJlY3QgPSB0b1JlbmRlckVtYmVkZGVkT2Jq
ZWN0KHJlbmRlcmVyKCkpLT5jb250ZW50Qm94UmVjdCgpOwotICAgIGludCB3aWR0aCA9IHJlY3Qu
d2lkdGgoKTsKLSAgICBpbnQgaGVpZ2h0ID0gcmVjdC5oZWlnaHQoKTsKLSAgICBpZiAod2lkdGgg
PD0gc2l6aW5nVGlueURpbWVuc2lvblRocmVzaG9sZCB8fCBoZWlnaHQgPD0gc2l6aW5nVGlueURp
bWVuc2lvblRocmVzaG9sZCkgewotICAgICAgICBMT0coUGx1Z2lucywgIiVwIFBsdWctaW4gaXMg
JWR4JWQsIHNldCB0byBwbGF5IiwgdGhpcywgd2lkdGgsIGhlaWdodCk7CisgICAgUmVuZGVyRW1i
ZWRkZWRPYmplY3QqIHJlbmRlckVtYmVkZGVkT2JqZWN0ID0gdG9SZW5kZXJFbWJlZGRlZE9iamVj
dChyZW5kZXJlcigpKTsKKyAgICBMZW5ndGggc3R5bGVXaWR0aCA9IHJlbmRlckVtYmVkZGVkT2Jq
ZWN0LT5zdHlsZSgpLT53aWR0aCgpOworICAgIExlbmd0aCBzdHlsZUhlaWdodCA9IHJlbmRlckVt
YmVkZGVkT2JqZWN0LT5zdHlsZSgpLT5oZWlnaHQoKTsKKyAgICBMYXlvdXRSZWN0IGNvbnRlbnRC
b3hSZWN0ID0gcmVuZGVyRW1iZWRkZWRPYmplY3QtPmNvbnRlbnRCb3hSZWN0KCk7CisgICAgaW50
IGNvbnRlbnRXaWR0aCA9IGNvbnRlbnRCb3hSZWN0LndpZHRoKCk7CisgICAgaW50IGNvbnRlbnRI
ZWlnaHQgPSBjb250ZW50Qm94UmVjdC5oZWlnaHQoKTsKKyAgICBJbnRTaXplIHZpc2libGVWaWV3
U2l6ZSA9IGRvY3VtZW50KCktPmZyYW1lKCktPnZpZXcoKS0+dmlzaWJsZVNpemUoKTsKKworICAg
IGlmIChpbk1haW5GcmFtZSAmJiBzdHlsZVdpZHRoLmlzUGVyY2VudCgpICYmIChzdHlsZVdpZHRo
LnBlcmNlbnQoKSA+IHNpemluZ0Z1bGxQYWdlVGhyZXNob2xkUGVyY2VudGFnZSkKKyAgICAgICAg
JiYgc3R5bGVIZWlnaHQuaXNQZXJjZW50KCkgJiYgKHN0eWxlSGVpZ2h0LnBlcmNlbnQoKSA+IHNp
emluZ0Z1bGxQYWdlVGhyZXNob2xkUGVyY2VudGFnZSkKKyAgICAgICAgJiYgKHN0YXRpY19jYXN0
PGZsb2F0Pihjb250ZW50V2lkdGgpIC8gdmlzaWJsZVZpZXdTaXplLndpZHRoKCkgKiAxMDAgPiBz
aXppbmdGdWxsUGFnZVRocmVzaG9sZFBlcmNlbnRhZ2UpCisgICAgICAgICYmIChzdGF0aWNfY2Fz
dDxmbG9hdD4oY29udGVudEhlaWdodCkgLyB2aXNpYmxlVmlld1NpemUuaGVpZ2h0KCkgKiAxMDAg
PiBzaXppbmdGdWxsUGFnZVRocmVzaG9sZFBlcmNlbnRhZ2UpKSB7CisgICAgICAgIExPRyhQbHVn
aW5zLCAiJXAgUGx1Zy1pbiBpcyB0b3AgbGV2ZWwgZnVsbCBwYWdlLCBzZXQgdG8gcGxheSIsIHRo
aXMpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKGNvbnRlbnRXaWR0aCA8PSBz
aXppbmdUaW55RGltZW5zaW9uVGhyZXNob2xkIHx8IGNvbnRlbnRIZWlnaHQgPD0gc2l6aW5nVGlu
eURpbWVuc2lvblRocmVzaG9sZCkgeworICAgICAgICBMT0coUGx1Z2lucywgIiVwIFBsdWctaW4g
aXMgJWR4JWQsIHNldCB0byBwbGF5IiwgdGhpcywgY29udGVudFdpZHRoLCBjb250ZW50SGVpZ2h0
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNDQ2LDcgKzQ2Miw3IEBAIHZvaWQgSFRN
TFBsdWdJbkltYWdlRWxlbWVudDo6c3ViZnJhbWVMb2FkZXJXaWxsQ3JlYXRlUGx1Z0luKGNvbnN0
IEtVUkwmIHVybCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIExPRyhQbHVnaW5zLCAi
JXAgUGx1Zy1pbiBoYXNoICV4IGlzICVkeCVkLCBvcmlnaW4gaXMgbm90IGF1dG8tc3RhcnQsIHNl
dCB0byB3YWl0IGZvciBzbmFwc2hvdCIsIHRoaXMsIG1fcGx1Z0luT3JpZ2luSGFzaCwgd2lkdGgs
IGhlaWdodCk7CisgICAgTE9HKFBsdWdpbnMsICIlcCBQbHVnLWluIGhhc2ggJXggaXMgJWR4JWQs
IG9yaWdpbiBpcyBub3QgYXV0by1zdGFydCwgc2V0IHRvIHdhaXQgZm9yIHNuYXBzaG90IiwgdGhp
cywgbV9wbHVnSW5PcmlnaW5IYXNoLCBjb250ZW50V2lkdGgsIGNvbnRlbnRIZWlnaHQpOwogICAg
IC8vIFdlIG1heSBoYXZlIGdvdCB0byB0aGlzIHBvaW50IGJ5IHJlc3RhcnRpbmcgYSBzbmFwc2hv
dHRlZCBwbHVnLWluLCBpbiB3aGljaCBjYXNlIHdlIGRvbid0IHdhbnQgdG8KICAgICAvLyByZXNl
dCB0aGUgZGlzcGxheSBzdGF0ZS4KICAgICBpZiAoZGlzcGxheVN0YXRlKCkgIT0gUGxheWluZ1dp
dGhQZW5kaW5nTW91c2VDbGljaykK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191126</attachid>
            <date>2013-03-02 22:28:28 -0800</date>
            <delta_ts>2013-03-03 10:58:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111242-20130302222437.patch</filename>
            <type>text/plain</type>
            <size>5004</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NDY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWMyODhlOWVjYThhMWM5
NGI0YWY5ZjlmMjQ2ZmE5ZWE0MTdkNjkxYi4uYzQ2ZWZlMzUxYmYyNGQwMThlOWZjM2Y5YjBmY2M2
ZTlhZjIzYjE1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEzLTAzLTAxICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBQbHVnLWlucyB0aGF0IGFyZSBh
cHByb3ByaWF0ZWx5IGxhcmdlIHcuci50IHBhZ2Ugc2l6ZSBzaG91bGQgYXV0b3N0YXJ0CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTEyNDIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBICJmdWxsLXBhZ2Ui
IHBsdWctaW4gc2l0ZSBzaG91bGQgbmV2ZXIgc25hcHNob3QuIFRoZSB0cmljayBpcworICAgICAg
ICBob3cgdG8gZGV0ZXJtaW5lIHdoYXQgaXMgZnVsbC1wYWdlLiBUaGlzIGNoYW5nZSBpbXBsZW1l
bnRzIHRoZQorICAgICAgICBmb2xsb3dpbmcgYWxnb3JpdGhtLgorCisgICAgICAgIC0gVGhlIHBs
dWctaW4gaXMgaW4gdGhlIG1haW4gZnJhbWUgKG5vdCBhbiBpZnJhbWUpLgorICAgICAgICAtIFRo
ZSBwbHVnLWluIGlzIHNpemVkIHdpdGggd2lkdGggYW5kIGhlaWdodCAxMDAlLgorICAgICAgICAt
IFRoZSBkaXNwbGF5ZWQgYXJlYSBvZiB0aGUgcGx1Zy1pbiBpcyBtb3JlIHRoYW4gOTYlIG9mIHRo
ZSB2aWV3cG9ydCBhcmVhLgorCisgICAgICAgIFRoaXMgaXMgZGVmaW5pdGVseSBub3QgZm9vbHBy
b29mLiBGb3IgZXhhbXBsZSwgem9tYm8uY29tIGhhcyBhIHNsaWdodAorICAgICAgICBib3JkZXIg
YXJvdW5kIGl0cyBwbHVnLWluLiBBcyB0aGUgd2luZG93IHNpemUgZ2V0cyBzbWFsbGVyLCB0aGUg
Ym9keSBtYXJnaW4KKyAgICAgICAgdGFrZXMgdXAgbW9yZSB0aGFuIDUlIG9mIHRoZSB3aWR0aCBv
ciBoZWlnaHQsIGFuZCB0aGUgcGx1Zy1pbiBkb2Vzbid0IHBhc3MKKyAgICAgICAgdGhlIHRlc3Rz
IGFib3ZlLgorCisgICAgICAgICogaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmUpOiBOZXcgc3RhdGljIGNvbnN0YW50OiBzaXppbmdGdWxsUGFnZVRocmVz
aG9sZFBlcmNlbnRhZ2UKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6
OnN1YmZyYW1lTG9hZGVyV2lsbENyZWF0ZVBsdWdJbik6IEltcGxlbWVudHMKKyAgICAgICAgICAg
IHRoZSBydWxlcyBkZXNjcmliZWQgYWJvdmUuCisKIDIwMTMtMDMtMDEgIFZzZXZvbG9kIFZsYXNv
diAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogTmF2aWdh
dG9yIHNob3VsZCBzaG93IHRyZWUgZWxlbWVudCBmb3IgZWFjaCBmb2xkZXIgaW4gdGhlIHNvdXJj
ZSBwYXRoLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5j
cHAKaW5kZXggODRlMGVkZGNjZGI0ZGE4NGZhZTFhOGQxZmRlYzQ2MTgyYTY5NjBjNi4uYjZhMGYx
ODY0NDMzNTE3M2U1ZTI3MWJkNmMyNzJlNjFhZTE4NmFkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwCkBAIC01Nyw2ICs1Nyw3IEBAIHN0YXRp
YyBjb25zdCBpbnQgc2l6aW5nVGlueURpbWVuc2lvblRocmVzaG9sZCA9IDQwOwogc3RhdGljIGNv
bnN0IGludCBzaXppbmdTbWFsbFdpZHRoVGhyZXNob2xkID0gMjUwOwogc3RhdGljIGNvbnN0IGlu
dCBzaXppbmdNZWRpdW1XaWR0aFRocmVzaG9sZCA9IDQ1MDsKIHN0YXRpYyBjb25zdCBpbnQgc2l6
aW5nTWVkaXVtSGVpZ2h0VGhyZXNob2xkID0gMzAwOworc3RhdGljIGNvbnN0IGZsb2F0IHNpemlu
Z0Z1bGxQYWdlQXJlYVJhdGlvVGhyZXNob2xkID0gMC45NjsKIAogLy8gVGhpcyBkZWxheSBzaG91
bGQgbm90IGV4Y2VlZCB0aGUgc25hcHNob3QgZGVsYXkgaW4gUGx1Z2luVmlldy5jcHAKIHN0YXRp
YyBjb25zdCBkb3VibGUgc2ltdWxhdGVkTW91c2VDbGlja1RpbWVyRGVsYXkgPSAuNzU7CkBAIC00
MTQsNyArNDE1LDkgQEAgdm9pZCBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50OjpzdWJmcmFtZUxvYWRl
cldpbGxDcmVhdGVQbHVnSW4oY29uc3QgS1VSTCYgdXJsKQogICAgICAgICB8fCAhZG9jdW1lbnQo
KS0+cGFnZSgpLT5zZXR0aW5ncygpLT5wbHVnSW5TbmFwc2hvdHRpbmdFbmFibGVkKCkpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIGlmIChkb2N1bWVudCgpLT5pc1BsdWdpbkRvY3VtZW50KCkgJiYg
ZG9jdW1lbnQoKS0+ZnJhbWUoKSA9PSBkb2N1bWVudCgpLT5wYWdlKCktPm1haW5GcmFtZSgpKSB7
CisgICAgYm9vbCBpbk1haW5GcmFtZSA9IGRvY3VtZW50KCktPmZyYW1lKCkgPT0gZG9jdW1lbnQo
KS0+cGFnZSgpLT5tYWluRnJhbWUoKTsKKworICAgIGlmIChkb2N1bWVudCgpLT5pc1BsdWdpbkRv
Y3VtZW50KCkgJiYgaW5NYWluRnJhbWUpIHsKICAgICAgICAgTE9HKFBsdWdpbnMsICIlcCBQbHVn
LWluIGRvY3VtZW50IGluIG1haW4gZnJhbWUiLCB0aGlzKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KQEAgLTQyNCwxMSArNDI3LDI1IEBAIHZvaWQgSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6c3Vi
ZnJhbWVMb2FkZXJXaWxsQ3JlYXRlUGx1Z0luKGNvbnN0IEtVUkwmIHVybCkKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAotICAgIExheW91dFJlY3QgcmVjdCA9IHRvUmVuZGVyRW1iZWRkZWRPYmpl
Y3QocmVuZGVyZXIoKSktPmNvbnRlbnRCb3hSZWN0KCk7Ci0gICAgaW50IHdpZHRoID0gcmVjdC53
aWR0aCgpOwotICAgIGludCBoZWlnaHQgPSByZWN0LmhlaWdodCgpOwotICAgIGlmICh3aWR0aCA8
PSBzaXppbmdUaW55RGltZW5zaW9uVGhyZXNob2xkIHx8IGhlaWdodCA8PSBzaXppbmdUaW55RGlt
ZW5zaW9uVGhyZXNob2xkKSB7Ci0gICAgICAgIExPRyhQbHVnaW5zLCAiJXAgUGx1Zy1pbiBpcyAl
ZHglZCwgc2V0IHRvIHBsYXkiLCB0aGlzLCB3aWR0aCwgaGVpZ2h0KTsKKyAgICBSZW5kZXJCb3gq
IHJlbmRlckVtYmVkZGVkT2JqZWN0ID0gdG9SZW5kZXJCb3gocmVuZGVyZXIoKSk7CisgICAgTGVu
Z3RoIHN0eWxlV2lkdGggPSByZW5kZXJFbWJlZGRlZE9iamVjdC0+c3R5bGUoKS0+d2lkdGgoKTsK
KyAgICBMZW5ndGggc3R5bGVIZWlnaHQgPSByZW5kZXJFbWJlZGRlZE9iamVjdC0+c3R5bGUoKS0+
aGVpZ2h0KCk7CisgICAgTGF5b3V0UmVjdCBjb250ZW50Qm94UmVjdCA9IHJlbmRlckVtYmVkZGVk
T2JqZWN0LT5jb250ZW50Qm94UmVjdCgpOworICAgIGludCBjb250ZW50V2lkdGggPSBjb250ZW50
Qm94UmVjdC53aWR0aCgpOworICAgIGludCBjb250ZW50SGVpZ2h0ID0gY29udGVudEJveFJlY3Qu
aGVpZ2h0KCk7CisgICAgaW50IGNvbnRlbnRBcmVhID0gY29udGVudFdpZHRoICogY29udGVudEhl
aWdodDsKKyAgICBJbnRTaXplIHZpc2libGVWaWV3U2l6ZSA9IGRvY3VtZW50KCktPmZyYW1lKCkt
PnZpZXcoKS0+dmlzaWJsZVNpemUoKTsKKyAgICBpbnQgdmlzaWJsZUFyZWEgPSB2aXNpYmxlVmll
d1NpemUud2lkdGgoKSAqIHZpc2libGVWaWV3U2l6ZS5oZWlnaHQoKTsKKworICAgIGlmIChpbk1h
aW5GcmFtZSAmJiBzdHlsZVdpZHRoLmlzUGVyY2VudCgpICYmIChzdHlsZVdpZHRoLnBlcmNlbnQo
KSA9PSAxMDApCisgICAgICAgICYmIHN0eWxlSGVpZ2h0LmlzUGVyY2VudCgpICYmIChzdHlsZUhl
aWdodC5wZXJjZW50KCkgPT0gMTAwKQorICAgICAgICAmJiAoc3RhdGljX2Nhc3Q8ZmxvYXQ+KGNv
bnRlbnRBcmVhKSAvIHZpc2libGVBcmVhID4gc2l6aW5nRnVsbFBhZ2VBcmVhUmF0aW9UaHJlc2hv
bGQpKSB7CisgICAgICAgIExPRyhQbHVnaW5zLCAiJXAgUGx1Zy1pbiBpcyB0b3AgbGV2ZWwgZnVs
bCBwYWdlLCBzZXQgdG8gcGxheSIsIHRoaXMpOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgaWYgKGNvbnRlbnRXaWR0aCA8PSBzaXppbmdUaW55RGltZW5zaW9uVGhyZXNob2xkIHx8IGNv
bnRlbnRIZWlnaHQgPD0gc2l6aW5nVGlueURpbWVuc2lvblRocmVzaG9sZCkgeworICAgICAgICBM
T0coUGx1Z2lucywgIiVwIFBsdWctaW4gaXMgJWR4JWQsIHNldCB0byBwbGF5IiwgdGhpcywgY29u
dGVudFdpZHRoLCBjb250ZW50SGVpZ2h0KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAt
NDQ2LDcgKzQ2Myw3IEBAIHZvaWQgSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6c3ViZnJhbWVMb2Fk
ZXJXaWxsQ3JlYXRlUGx1Z0luKGNvbnN0IEtVUkwmIHVybCkKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAotICAgIExPRyhQbHVnaW5zLCAiJXAgUGx1Zy1pbiBoYXNoICV4IGlzICVkeCVkLCBvcmln
aW4gaXMgbm90IGF1dG8tc3RhcnQsIHNldCB0byB3YWl0IGZvciBzbmFwc2hvdCIsIHRoaXMsIG1f
cGx1Z0luT3JpZ2luSGFzaCwgd2lkdGgsIGhlaWdodCk7CisgICAgTE9HKFBsdWdpbnMsICIlcCBQ
bHVnLWluIGhhc2ggJXggaXMgJWR4JWQsIG9yaWdpbiBpcyBub3QgYXV0by1zdGFydCwgc2V0IHRv
IHdhaXQgZm9yIHNuYXBzaG90IiwgdGhpcywgbV9wbHVnSW5PcmlnaW5IYXNoLCBjb250ZW50V2lk
dGgsIGNvbnRlbnRIZWlnaHQpOwogICAgIC8vIFdlIG1heSBoYXZlIGdvdCB0byB0aGlzIHBvaW50
IGJ5IHJlc3RhcnRpbmcgYSBzbmFwc2hvdHRlZCBwbHVnLWluLCBpbiB3aGljaCBjYXNlIHdlIGRv
bid0IHdhbnQgdG8KICAgICAvLyByZXNldCB0aGUgZGlzcGxheSBzdGF0ZS4KICAgICBpZiAoZGlz
cGxheVN0YXRlKCkgIT0gUGxheWluZ1dpdGhQZW5kaW5nTW91c2VDbGljaykK
</data>
<flag name="review"
          id="211995"
          type_id="1"
          status="+"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>