<?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>113263</bug_id>
          
          <creation_ts>2013-03-25 18:45:09 -0700</creation_ts>
          <short_desc>[BlackBerry] WebOverlay::pixelViewportRect() should return pixel viewport coordinates</short_desc>
          <delta_ts>2013-03-26 10:46:55 -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>WebKit BlackBerry</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Arvid Nilsson">anilsson</reporter>
          <assigned_to name="Arvid Nilsson">anilsson</assigned_to>
          <cc>anilsson</cc>
    
    <cc>jpetsovits</cc>
    
    <cc>mifenton</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yodai</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>863257</commentid>
    <comment_count>0</comment_count>
    <who name="Arvid Nilsson">anilsson</who>
    <bug_when>2013-03-25 18:45:09 -0700</bug_when>
    <thetext>But today returns window coordinates, which sometimes happen to coincide with the pixel viewport coordinates, sometimes not.

PR 312404</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>863262</commentid>
    <comment_count>1</comment_count>
      <attachid>194974</attachid>
    <who name="Arvid Nilsson">anilsson</who>
    <bug_when>2013-03-25 18:54:41 -0700</bug_when>
    <thetext>Created attachment 194974
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>863660</commentid>
    <comment_count>2</comment_count>
      <attachid>194974</attachid>
    <who name="Mike Fenton">mifenton</who>
    <bug_when>2013-03-26 07:36:38 -0700</bug_when>
    <thetext>Comment on attachment 194974
Patch

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

&gt; Source/WebCore/platform/graphics/blackberry/LayerRenderer.cpp:573
&gt; +    FloatRect result = toPixelCoordinates(rect, m_viewport, surfaceHeight);

A more meaningful variable than result could be helpful here.  pixelRect?

As well, if the delta calculation was put ahead the calculation, adjustment and return would all be nicely grouped.

&gt; Source/WebCore/platform/graphics/blackberry/LayerRenderer.cpp:583
&gt; +    FloatRect result = toPixelCoordinates(rect, m_viewport, surfaceHeight);

See other comment.

Could this function be
FloatRect pixelRect(toPixelViewCoordinates(rect);
pixelRect.scale(1 / m_scale);
return enclosingIntRect(pixelRect);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>863661</commentid>
    <comment_count>3</comment_count>
      <attachid>194974</attachid>
    <who name="Arvid Nilsson">anilsson</who>
    <bug_when>2013-03-26 07:44:09 -0700</bug_when>
    <thetext>Comment on attachment 194974
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/blackberry/LayerRenderer.cpp:573
&gt;&gt; +    FloatRect result = toPixelCoordinates(rect, m_viewport, surfaceHeight);
&gt; 
&gt; A more meaningful variable than result could be helpful here.  pixelRect?
&gt; 
&gt; As well, if the delta calculation was put ahead the calculation, adjustment and return would all be nicely grouped.

Good point

&gt;&gt; Source/WebCore/platform/graphics/blackberry/LayerRenderer.cpp:583
&gt;&gt; +    FloatRect result = toPixelCoordinates(rect, m_viewport, surfaceHeight);
&gt; 
&gt; See other comment.
&gt; 
&gt; Could this function be
&gt; FloatRect pixelRect(toPixelViewCoordinates(rect);
&gt; pixelRect.scale(1 / m_scale);
&gt; return enclosingIntRect(pixelRect);

The reason I opted for some code duplication here was to get floating point precision, unfortunately toPixelViewportCoordinates returns an IntPoint. However, the rounding should be harmless, I&apos;ll go for your suggestion instead to keep it DRY.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>863664</commentid>
    <comment_count>4</comment_count>
      <attachid>195086</attachid>
    <who name="Arvid Nilsson">anilsson</who>
    <bug_when>2013-03-26 07:50:35 -0700</bug_when>
    <thetext>Created attachment 195086
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>863669</commentid>
    <comment_count>5</comment_count>
      <attachid>195086</attachid>
    <who name="Mike Fenton">mifenton</who>
    <bug_when>2013-03-26 07:57:20 -0700</bug_when>
    <thetext>Comment on attachment 195086
Patch

Looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>863671</commentid>
    <comment_count>6</comment_count>
      <attachid>195086</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2013-03-26 08:03:17 -0700</bug_when>
    <thetext>Comment on attachment 195086
Patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>863820</commentid>
    <comment_count>7</comment_count>
      <attachid>195086</attachid>
    <who name="Arvid Nilsson">anilsson</who>
    <bug_when>2013-03-26 10:43:12 -0700</bug_when>
    <thetext>Comment on attachment 195086
Patch

Thanks Rob and Jakob!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>863822</commentid>
    <comment_count>8</comment_count>
    <who name="Arvid Nilsson">anilsson</who>
    <bug_when>2013-03-26 10:43:31 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 195086 [details])
&gt; Thanks Rob and Jakob!

Err, I mean Rob and Mike.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>863830</commentid>
    <comment_count>9</comment_count>
      <attachid>195086</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-26 10:46:52 -0700</bug_when>
    <thetext>Comment on attachment 195086
Patch

Clearing flags on attachment: 195086

Committed r146906: &lt;http://trac.webkit.org/changeset/146906&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>863831</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-26 10:46:55 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194974</attachid>
            <date>2013-03-25 18:54:41 -0700</date>
            <delta_ts>2013-03-26 07:50:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113263-20130326025023.patch</filename>
            <type>text/plain</type>
            <size>10558</size>
            <attacher name="Arvid Nilsson">anilsson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2NzI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjdhZWU5MjRmOWM5MGRi
MjYyOWNmMDFmMjNkN2Q1MzUwMTI3OGQ5YS4uMTc5MGRlMDEyZWZlNGE5ZmFmNzFkYWVlM2RkMWQ3
MzllYTcwYTQ4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEzLTAzLTI1ICBBcnZp
ZCBOaWxzc29uICA8YW5pbHNzb25AcmltLmNvbT4KKworICAgICAgICBbQmxhY2tCZXJyeV0gV2Vi
T3ZlcmxheTo6cGl4ZWxWaWV3cG9ydFJlY3QoKSBzaG91bGQgcmV0dXJuIHBpeGVsIHZpZXdwb3J0
IGNvb3JkaW5hdGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTMyNjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBQUiAzMTI0MDQKKworICAgICAgICBGaXggV2ViT3ZlcmxheTo6cGl4ZWxWaWV3cG9ydFJl
Y3QoKSB0byByZXR1cm4gdGhlIHBpeGVsIHZpZXdwb3J0IHJlY3QKKyAgICAgICAgaW5zdGVhZCBv
ZiB0aGUgd2luZG93IHJlY3QuIFRoZXNlIGFyZSBkaWZmZXJlbnQgaWYgdGhlIHdlYiBwYWdlIGlz
CisgICAgICAgIHJlbmRlcmVkIHN0YXJ0aW5nIGF0IGEgd2luZG93IGNvb3JkaW5hdGUgb3RoZXIg
dGhhbiAwLDAuIFRoZSBjbGlwIHJlY3QKKyAgICAgICAgZW5jb2RlcyB0aGUgcG9zaXRpb24gd2Un
cmUgcmVuZGVyZWQgYXQsIGFuZCBjYW4gYmUgdXNlZCB0byB0cmFuc2xhdGUKKyAgICAgICAgdGhl
IHJlY3QgZXhwcmVzc2VkIGluIHdpbmRvdyBjb29yZGluYXRlcyB0byB0aGUgcGl4ZWwgdmlld3Bv
cnQKKyAgICAgICAgY29vcmRpbmF0ZSBzeXN0ZW0uCisKKyAgICAgICAgQWxzbyBwZXJmb3JtIHNv
bWUgY2xlYW51cCBvZiByZWxhdGVkIGNvZGUuCisKKyAgICAgICAgT25seSBtYW51YWxseSB0ZXN0
YWJsZS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvTGF5ZXJDb21w
b3NpdGluZ1RocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXllckNvbXBvc2l0aW5nVGhy
ZWFkOjpnZXRUcmFuc2Zvcm1lZEhvbGVQdW5jaFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
ZXJDb21wb3NpdGluZ1RocmVhZDo6ZHJhd1RleHR1cmVzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9ibGFja2JlcnJ5L0xheWVyUmVuZGVyZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
dG9QaXhlbENvb3JkaW5hdGVzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5ZXJSZW5kZXJlcjo6dG9XaW5kb3dDb29yZGluYXRlcyk6CisgICAgICAgIChXZWJDb3Jl
OjpMYXllclJlbmRlcmVyOjp0b1BpeGVsVmlld3BvcnRDb29yZGluYXRlcyk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXllclJlbmRlcmVyOjp0b0RvY3VtZW50Vmlld3BvcnRDb29yZGluYXRlcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyOjp1cGRhdGVMYXllcnNSZWN1cnNpdmUpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvTGF5ZXJSZW5kZXJlci5oOgor
ICAgICAgICAoTGF5ZXJSZW5kZXJlcik6CisKIDIwMTMtMDMtMjQgIENocmlzIEZsZWl6YWNoICA8
Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogQ3Jhc2ggaW4gV2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eVNwaW5CdXR0b246OmluY3JlbWVudEJ1dHRvbigpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5
L0NoYW5nZUxvZwppbmRleCBjNzJhNjJiNzdhMTgxZGZlMGM1NjljODYzYjQwNDYwYzdiMDM3NGQy
Li44MDgzZDE4OWExOWIwM2NjYzcyMjgyYjkyZTEzZjUzYjViOTE4MTFjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMy0wMy0yNSAgQXJ2aWQgTmls
c3NvbiAgPGFuaWxzc29uQHJpbS5jb20+CisKKyAgICAgICAgW0JsYWNrQmVycnldIFdlYk92ZXJs
YXk6OnBpeGVsVmlld3BvcnRSZWN0KCkgc2hvdWxkIHJldHVybiBwaXhlbCB2aWV3cG9ydCBjb29y
ZGluYXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTEzMjYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UFIgMzEyNDA0CisKKyAgICAgICAgRml4ZWQgYnkgcmV0dXJuaW5nIHBpeGVsIHZpZXdwb3J0IGNv
b3JkaW5hdGVzIGluc3RlYWQgb2Ygd2luZG93CisgICAgICAgIGNvb3JkaW5hdGVzLgorCisgICAg
ICAgICogQXBpL1dlYk92ZXJsYXkuY3BwOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpX
ZWJPdmVybGF5UHJpdmF0ZUNvbXBvc2l0aW5nVGhyZWFkOjpwaXhlbFZpZXdwb3J0UmVjdCk6CisK
IDIwMTMtMDMtMjIgIE5pbWEgR2hhbmF2YXRpYW4gIDxuZ2hhbmF2YXRpYW5AYmxhY2tiZXJyeS5j
b20+CiAKICAgICAgICAgW0JsYWNrQmVycnldIEJ1aWxkIGZpeCBpbiBJbnB1dEhhbmRsZXIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvTGF5
ZXJDb21wb3NpdGluZ1RocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ibGFja2JlcnJ5L0xheWVyQ29tcG9zaXRpbmdUaHJlYWQuY3BwCmluZGV4IGQ3MTVhYTQ2MTFm
NmVkZTI4YTRjMGQ2NmM3M2I5ZTQ5YTUyM2VmZjEuLmQzMzlkZDBkMWViNDdlYTIyMWIxNTcwZmU1
YTkwYzNiNTNjMmQ5ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2JsYWNrYmVycnkvTGF5ZXJDb21wb3NpdGluZ1RocmVhZC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9MYXllckNvbXBvc2l0aW5nVGhyZWFk
LmNwcApAQCAtMTgyLDcgKzE4Miw3IEBAIEZsb2F0UXVhZCBMYXllckNvbXBvc2l0aW5nVGhyZWFk
OjpnZXRUcmFuc2Zvcm1lZEhvbGVQdW5jaFJlY3QoKSBjb25zdAogCiAgICAgLy8gSW4gb3JkZXIg
dG8gY2xpcCB3ZSBuZWVkIHRvIGRldGVybWluZSB0aGUgY3VycmVudCBwb3NpdGlvbiBvZiB0aGlz
IGxheWVyLCB3aGljaAogICAgIC8vIGlzIGVuY29kZWQgaW4gdGhlIG1fZHJhd1RyYW5zZm9ybSB2
YWx1ZSwgd2hpY2ggd2FzIHVzZWQgdG8gaW5pdGlhbGl6ZSBtX2RyYXdSZWN0LgotICAgIEludFJl
Y3QgZHJhd1JlY3QgPSBtX2xheWVyUmVuZGVyZXItPnRvV2ViS2l0RG9jdW1lbnRDb29yZGluYXRl
cyhtX2RyYXdSZWN0KTsKKyAgICBJbnRSZWN0IGRyYXdSZWN0ID0gbV9sYXllclJlbmRlcmVyLT50
b0RvY3VtZW50Vmlld3BvcnRDb29yZGluYXRlcyhtX2RyYXdSZWN0KTsKIAogICAgIC8vIEFzc2Vy
dCB0aGF0IGluIHRoaXMgY2FzZSwgd2hlcmUgdGhlIGhvbGUgcHVuY2ggcmVjdGFuZ2xlIGVxdWFs
cyB0aGUgc2l6ZSBvZiB0aGUgbGF5ZXIsCiAgICAgLy8gdGhlIGRyYXdSZWN0IGhhcyB0aGUgc2Ft
ZSBzaXplIGFzIHRoZSBob2xlIHB1bmNoLgpAQCAtMjUyLDEwICsyNTIsOSBAQCB2b2lkIExheWVy
Q29tcG9zaXRpbmdUaHJlYWQ6OmRyYXdUZXh0dXJlcyhkb3VibGUgc2NhbGUsIGNvbnN0IEdMRVMy
UHJvZ3JhbSYgcHJvZwogICAgICAgICAgICAgICAgIEZsb2F0UG9pbnQgcChtX3RyYW5zZm9ybWVk
Qm91bmRzLnAxKCkueCgpICogdnJ3MiArIHZydzIgKyB2aXNpYmxlUmVjdC54KCksCiAgICAgICAg
ICAgICAgICAgICAgIC1tX3RyYW5zZm9ybWVkQm91bmRzLnAxKCkueSgpICogdnJoMiArIHZyaDIg
KyB2aXNpYmxlUmVjdC55KCkpOwogICAgICAgICAgICAgICAgIHBhaW50UmVjdCA9IEludFJlY3Qo
cm91bmRlZEludFBvaW50KHApLCBtX2JvdW5kcyk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgICAgIEZsb2F0UmVjdCByID0gbV9sYXllclJlbmRlcmVyLT50b1dlYktpdFdpbmRv
d0Nvb3JkaW5hdGVzKG1fZHJhd1JlY3QpOwotICAgICAgICAgICAgICAgIHBhaW50UmVjdCA9IGVu
Y2xvc2luZ0ludFJlY3Qocik7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2UKKyAg
ICAgICAgICAgICAgICBwYWludFJlY3QgPSBtX2xheWVyUmVuZGVyZXItPnRvV2luZG93Q29vcmRp
bmF0ZXMobV9kcmF3UmVjdCk7CisKICAgICAgICAgICAgIG1fbWVkaWFQbGF5ZXItPnBhaW50KDAs
IHBhaW50UmVjdCk7CiAgICAgICAgICAgICBNZWRpYVBsYXllclByaXZhdGUqIG1wcCA9IHN0YXRp
Y19jYXN0PE1lZGlhUGxheWVyUHJpdmF0ZSo+KG1fbWVkaWFQbGF5ZXItPnBsYXRmb3JtTWVkaWEo
KS5tZWRpYS5xbnhNZWRpYVBsYXllcik7CiAgICAgICAgICAgICBtcHAtPmRyYXdCdWZmZXJpbmdB
bmltYXRpb24obV9kcmF3VHJhbnNmb3JtLCBwcm9ncmFtKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvTGF5ZXJSZW5kZXJlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L0xheWVyUmVuZGVyZXIu
Y3BwCmluZGV4IDdlYzMyYzk5MWYzNDk5YjM2YjkxM2I2ZDc0OTYyYjg2OGI5MWJlMGYuLjJiMTBj
NGUzZDY1YTVkZTU1MWM1NTNjNTY5YTZhOWUxNzViZDA4MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvTGF5ZXJSZW5kZXJlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9MYXllclJlbmRl
cmVyLmNwcApAQCAtNTQ1LDMxICs1NDUsNDYgQEAgSW50UmVjdCBMYXllclJlbmRlcmVyOjp0b09w
ZW5HTFdpbmRvd0Nvb3JkaW5hdGVzKGNvbnN0IEZsb2F0UmVjdCYgcikgY29uc3QKICAgICByZXR1
cm4gSW50UmVjdChnbFJvdW5kKHIueCgpICogdncyICsgb3gpLCBnbFJvdW5kKHIueSgpICogdmgy
ICsgb3kpLCBnbFJvdW5kKHIud2lkdGgoKSAqIHZ3MiksIGdsUm91bmQoci5oZWlnaHQoKSAqIHZo
MikpOwogfQogCitzdGF0aWMgRmxvYXRSZWN0IHRvUGl4ZWxDb29yZGluYXRlcyhjb25zdCBGbG9h
dFJlY3QmIHJlY3QsIGNvbnN0IEludFJlY3QmIHZpZXdwb3J0LCBpbnQgc3VyZmFjZUhlaWdodCkK
K3sKKyAgICBmbG9hdCB2dzIgPSB2aWV3cG9ydC53aWR0aCgpIC8gMi4wOworICAgIGZsb2F0IHZo
MiA9IHZpZXdwb3J0LmhlaWdodCgpIC8gMi4wOworICAgIGZsb2F0IG94ID0gdmlld3BvcnQueCgp
ICsgdncyOworICAgIGZsb2F0IG95ID0gc3VyZmFjZUhlaWdodCAtICh2aWV3cG9ydC55KCkgKyB2
aDIpOworICAgIHJldHVybiBGbG9hdFJlY3QocmVjdC54KCkgKiB2dzIgKyBveCwgLShyZWN0Lnko
KSArIHJlY3QuaGVpZ2h0KCkpICogdmgyICsgb3ksIHJlY3Qud2lkdGgoKSAqIHZ3MiwgcmVjdC5o
ZWlnaHQoKSAqIHZoMik7Cit9CisKIC8vIFRyYW5zZm9ybSBub3JtYWxpemVkIGRldmljZSBjb29y
ZGluYXRlcyB0byB3aW5kb3cgY29vcmRpbmF0ZXMgYXMgV2ViS2l0IHVuZGVyc3RhbmRzIHRoZW0u
CiAvLwogLy8gVGhlIE9wZW5HTCBzdXJmYWNlIG1heSBiZSBsYXJnZXIgdGhhbiB0aGUgV2ViS2l0
IHdpbmRvdywgYW5kIE9wZW5HTCB3aW5kb3cgY29vcmRpbmF0ZXMKIC8vIGhhdmUgb3JpZ2luIGlu
IGJvdHRvbSBsZWZ0IHdoaWxlIFdlYktpdCB3aW5kb3cgY29vcmRpbmF0ZXMgb3JpZ2luIGlzIGlu
IHRvcCBsZWZ0LgogLy8gVGhlIHZpZXdwb3J0IGlzIHNldHVwIHRvIGNvdmVyIHRoZSB1cHBlciBw
b3J0aW9uIG9mIHRoZSBsYXJnZXIgT3BlbkdMIHN1cmZhY2UuCi1JbnRSZWN0IExheWVyUmVuZGVy
ZXI6OnRvV2ViS2l0V2luZG93Q29vcmRpbmF0ZXMoY29uc3QgRmxvYXRSZWN0JiByKSBjb25zdAor
SW50UmVjdCBMYXllclJlbmRlcmVyOjp0b1dpbmRvd0Nvb3JkaW5hdGVzKGNvbnN0IEZsb2F0UmVj
dCYgcmVjdCkgY29uc3QKIHsKLSAgICBmbG9hdCB2dzIgPSBtX3ZpZXdwb3J0LndpZHRoKCkgLyAy
LjA7Ci0gICAgZmxvYXQgdmgyID0gbV92aWV3cG9ydC5oZWlnaHQoKSAvIDIuMDsKLSAgICBmbG9h
dCBveCA9IG1fdmlld3BvcnQueCgpICsgdncyOwotICAgIGZsb2F0IG95ID0gbV9jbGllbnQtPmNv
bnRleHQoKS0+c3VyZmFjZVNpemUoKS5oZWlnaHQoKSAtIChtX3ZpZXdwb3J0LnkoKSArIHZoMik7
Ci0gICAgcmV0dXJuIGVuY2xvc2luZ0ludFJlY3QoRmxvYXRSZWN0KHIueCgpICogdncyICsgb3gs
IC0oci55KCkrci5oZWlnaHQoKSkgKiB2aDIgKyBveSwgci53aWR0aCgpICogdncyLCByLmhlaWdo
dCgpICogdmgyKSk7CisgICAgcmV0dXJuIGVuY2xvc2luZ0ludFJlY3QodG9QaXhlbENvb3JkaW5h
dGVzKHJlY3QsIG1fdmlld3BvcnQsIG1fY2xpZW50LT5jb250ZXh0KCktPnN1cmZhY2VTaXplKCku
aGVpZ2h0KCkpKTsKK30KKworSW50UmVjdCBMYXllclJlbmRlcmVyOjp0b1BpeGVsVmlld3BvcnRD
b29yZGluYXRlcyhjb25zdCBGbG9hdFJlY3QmIHJlY3QpIGNvbnN0Cit7CisgICAgLy8gVGhlIGNs
aXAgcmVjdCBkZWZpbmVzIHRoZSB3ZWIgcGFnZSdzIHBpeGVsIHZpZXdwb3J0ICh0byB1c2UgVmll
d3BvcnRBY2Nlc3NvciB0ZXJtaW5vbG9neSksCisgICAgLy8gbm90IHRvIGJlIGNvbmZ1c2VkIHdp
dGggdGhlIEdMIHZpZXdwb3J0LiBTbyB0cmFuc2xhdGUgZnJvbSB3aW5kb3cgY29vcmRpbmF0ZXMg
dG8gcGl4ZWwKKyAgICAvLyB2aWV3cG9ydCBjb29yZGluYXRlcy4KKyAgICBpbnQgc3VyZmFjZUhl
aWdodCA9IG1fY2xpZW50LT5jb250ZXh0KCktPnN1cmZhY2VTaXplKCkuaGVpZ2h0KCk7CisgICAg
RmxvYXRSZWN0IHJlc3VsdCA9IHRvUGl4ZWxDb29yZGluYXRlcyhyZWN0LCBtX3ZpZXdwb3J0LCBz
dXJmYWNlSGVpZ2h0KTsKKyAgICBGbG9hdFJlY3QgZGVsdGEgPSB0b1BpeGVsQ29vcmRpbmF0ZXMo
bV9jbGlwUmVjdCwgbV92aWV3cG9ydCwgc3VyZmFjZUhlaWdodCk7CisgICAgcmVzdWx0Lm1vdmUo
LWRlbHRhLngoKSwgLWRlbHRhLnkoKSk7CisgICAgcmV0dXJuIGVuY2xvc2luZ0ludFJlY3QocmVz
dWx0KTsKIH0KIAotLy8gU2ltaWxhciB0byB0b1dlYktpdFdpbmRvd0Nvb3JkaW5hdGVzIGV4Y2Vw
dCB0aGF0IHRoaXMgYWxzbyB0YWtlcyBhbnkgem9vbSBpbnRvIGFjY291bnQuCi1JbnRSZWN0IExh
eWVyUmVuZGVyZXI6OnRvV2ViS2l0RG9jdW1lbnRDb29yZGluYXRlcyhjb25zdCBGbG9hdFJlY3Qm
IHIpIGNvbnN0CitJbnRSZWN0IExheWVyUmVuZGVyZXI6OnRvRG9jdW1lbnRWaWV3cG9ydENvb3Jk
aW5hdGVzKGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkgY29uc3QKIHsKLSAgICAvLyBUaGUgem9vbSBp
cyB0aGUgcmF0aW8gYmV0d2VlbiB2aXNpYmxlUmVjdCAob3IgbGF5b3V0UmVjdCkgYW5kIGRzdFJl
Y3QgcGFyYW1ldGVycyB3aGljaCBhcmUgcGFzc2VkIHRvIGRyYXdMYXllcnMKLSAgICBmbG9hdCB6
b29tID0gbV92aXNpYmxlUmVjdC53aWR0aCgpIC8gbV92aWV3cG9ydC53aWR0aCgpOwotICAgIC8v
IENvdWxkIGFzc2VydCBoZXJlIHRoYXQgaXQgZG9lc24ndCBtYXR0ZXIgd2hldGhlciB3ZSBjaG9v
c2Ugd2lkdGggb3IgaGVpZ2h0IGluIHRoZSBhYm92ZSBzdGF0ZW1lbnQ6Ci0gICAgLy8gYmVjYXVz
ZSBib3RoIHJlY3RhbmdsZXMgc2hvdWxkIGhhdmUgdmVyeSBzaW1pbGFyIHNoYXBlcyAoc3ViamVj
dCBvbmx5IHRvIHBpeGVsIHJvdW5kaW5nIGVycm9yKS4KLQotICAgIEludFJlY3QgcmVzdWx0ID0g
dG9XZWJLaXRXaW5kb3dDb29yZGluYXRlcyhyKTsKLSAgICByZXN1bHQuc2NhbGUoem9vbSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKKyAgICAvLyBTaW1pbGFyIHRvIHRvUGl4ZWxWaWV3cG9ydENvb3Jk
aW5hdGVzIGV4Y2VwdCB0aGF0IHRoaXMgYWxzbyB0YWtlcyBhbnkgem9vbSBpbnRvIGFjY291bnQu
CisgICAgaW50IHN1cmZhY2VIZWlnaHQgPSBtX2NsaWVudC0+Y29udGV4dCgpLT5zdXJmYWNlU2l6
ZSgpLmhlaWdodCgpOworICAgIEZsb2F0UmVjdCByZXN1bHQgPSB0b1BpeGVsQ29vcmRpbmF0ZXMo
cmVjdCwgbV92aWV3cG9ydCwgc3VyZmFjZUhlaWdodCk7CisgICAgRmxvYXRSZWN0IGRlbHRhID0g
dG9QaXhlbENvb3JkaW5hdGVzKG1fY2xpcFJlY3QsIG1fdmlld3BvcnQsIHN1cmZhY2VIZWlnaHQp
OworICAgIHJlc3VsdC5tb3ZlKC1kZWx0YS54KCksIC1kZWx0YS55KCkpOworICAgIHJlc3VsdC5z
Y2FsZSgxIC8gbV9zY2FsZSk7CisgICAgcmV0dXJuIGVuY2xvc2luZ0ludFJlY3QocmVzdWx0KTsK
IH0KIAogLy8gRHJhd3MgYSBkZWJ1ZyBib3JkZXIgYXJvdW5kIHRoZSBsYXllcidzIGJvdW5kcy4K
QEAgLTc5OSw3ICs4MTQsNyBAQCB2b2lkIExheWVyUmVuZGVyZXI6OnVwZGF0ZUxheWVyc1JlY3Vy
c2l2ZShMYXllckNvbXBvc2l0aW5nVGhyZWFkKiBsYXllciwgY29uc3QgVAogI2VuZGlmCiAKICAg
ICBpZiAobGF5ZXItPm5lZWRzVGV4dHVyZSgpICYmIGxheWVyVmlzaWJsZSkgewotICAgICAgICBJ
bnRSZWN0IGRpcnR5UmVjdCA9IHRvV2ViS2l0V2luZG93Q29vcmRpbmF0ZXMoaW50ZXJzZWN0aW9u
KGxheWVyLT5nZXREcmF3UmVjdCgpLCBjbGlwUmVjdCkpOworICAgICAgICBJbnRSZWN0IGRpcnR5
UmVjdCA9IHRvV2luZG93Q29vcmRpbmF0ZXMoaW50ZXJzZWN0aW9uKGxheWVyLT5nZXREcmF3UmVj
dCgpLCBjbGlwUmVjdCkpOwogICAgICAgICBtX2xhc3RSZW5kZXJpbmdSZXN1bHRzLmFkZERpcnR5
UmVjdChkaXJ0eVJlY3QpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9MYXllclJlbmRlcmVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L0xheWVyUmVuZGVyZXIuaAppbmRleCA5MTQy
ZTlkNDhhYWY4OWZkZDdiYWFkZWNkZWNlOGRkNDk5YzViODVlLi4zNmNjZTliNTViOGRjYTk3OTNj
NWQyMjA2NzY5MGRjMTgxZjRhODIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ibGFja2JlcnJ5L0xheWVyUmVuZGVyZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L0xheWVyUmVuZGVyZXIuaApAQCAtMTI2LDgg
KzEyNiw5IEBAIHB1YmxpYzoKICAgICAvLyBVc2VkIHdoZW4gYSBsYXllciBkaXNjb3ZlcnMgZHVy
aW5nIHJlbmRlcmluZyB0aGF0IGl0IG5lZWRzIGEgY29tbWl0LgogICAgIHZvaWQgc2V0TmVlZHND
b21taXQoKSB7IG1fbmVlZHNDb21taXQgPSB0cnVlOyB9CiAKLSAgICBJbnRSZWN0IHRvV2ViS2l0
V2luZG93Q29vcmRpbmF0ZXMoY29uc3QgRmxvYXRSZWN0JikgY29uc3Q7Ci0gICAgSW50UmVjdCB0
b1dlYktpdERvY3VtZW50Q29vcmRpbmF0ZXMoY29uc3QgRmxvYXRSZWN0JikgY29uc3Q7CisgICAg
SW50UmVjdCB0b1dpbmRvd0Nvb3JkaW5hdGVzKGNvbnN0IEZsb2F0UmVjdCYpIGNvbnN0OworICAg
IEludFJlY3QgdG9QaXhlbFZpZXdwb3J0Q29vcmRpbmF0ZXMoY29uc3QgRmxvYXRSZWN0JikgY29u
c3Q7CisgICAgSW50UmVjdCB0b0RvY3VtZW50Vmlld3BvcnRDb29yZGluYXRlcyhjb25zdCBGbG9h
dFJlY3QmKSBjb25zdDsKIAogICAgIC8vIElmIHRoZSBsYXllciBoYXMgYWxyZWFkeSBiZWVuIGRy
YXdlZCBvbiBhIHN1cmZhY2UuCiAgICAgYm9vbCBsYXllckFscmVhZHlPblN1cmZhY2UoTGF5ZXJD
b21wb3NpdGluZ1RocmVhZCopIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFj
a2JlcnJ5L0FwaS9XZWJPdmVybGF5LmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkv
V2ViT3ZlcmxheS5jcHAKaW5kZXggOGU1NmU4YTU3YmE0NzhlY2RjYjk3YWI3YmU5NTEwMmEwMGMy
YzUwMi4uNmVhZTYxZmQyYThhNmE0MjJlMWZmMDhiN2FhODIyMmNjNzY1YTMzNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJPdmVybGF5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYk92ZXJsYXkuY3BwCkBAIC02MjYsNyArNjI2LDcg
QEAgdm9pZCBXZWJPdmVybGF5UHJpdmF0ZUNvbXBvc2l0aW5nVGhyZWFkOjpyZW1vdmVBbmltYXRp
b24oY29uc3QgU3RyaW5nJiBuYW1lKQogUGxhdGZvcm06OkludFJlY3QgV2ViT3ZlcmxheVByaXZh
dGVDb21wb3NpdGluZ1RocmVhZDo6cGl4ZWxWaWV3cG9ydFJlY3QoKSBjb25zdAogewogICAgIGlm
IChMYXllclJlbmRlcmVyKiByZW5kZXJlciA9IG1fbGF5ZXJDb21wb3NpdGluZ1RocmVhZC0+bGF5
ZXJSZW5kZXJlcigpKQotICAgICAgICByZXR1cm4gcmVuZGVyZXItPnRvV2ViS2l0V2luZG93Q29v
cmRpbmF0ZXMobV9sYXllckNvbXBvc2l0aW5nVGhyZWFkLT5nZXREcmF3UmVjdCgpKTsKKyAgICAg
ICAgcmV0dXJuIHJlbmRlcmVyLT50b1BpeGVsVmlld3BvcnRDb29yZGluYXRlcyhtX2xheWVyQ29t
cG9zaXRpbmdUaHJlYWQtPmdldERyYXdSZWN0KCkpOwogCiAgICAgcmV0dXJuIFBsYXRmb3JtOjpJ
bnRSZWN0KCk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>195086</attachid>
            <date>2013-03-26 07:50:35 -0700</date>
            <delta_ts>2013-03-26 10:46:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113263-20130326154618.patch</filename>
            <type>text/plain</type>
            <size>10369</size>
            <attacher name="Arvid Nilsson">anilsson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2NzI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjdhZWU5MjRmOWM5MGRi
MjYyOWNmMDFmMjNkN2Q1MzUwMTI3OGQ5YS4uMTc5MGRlMDEyZWZlNGE5ZmFmNzFkYWVlM2RkMWQ3
MzllYTcwYTQ4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEzLTAzLTI1ICBBcnZp
ZCBOaWxzc29uICA8YW5pbHNzb25AcmltLmNvbT4KKworICAgICAgICBbQmxhY2tCZXJyeV0gV2Vi
T3ZlcmxheTo6cGl4ZWxWaWV3cG9ydFJlY3QoKSBzaG91bGQgcmV0dXJuIHBpeGVsIHZpZXdwb3J0
IGNvb3JkaW5hdGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTMyNjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBQUiAzMTI0MDQKKworICAgICAgICBGaXggV2ViT3ZlcmxheTo6cGl4ZWxWaWV3cG9ydFJl
Y3QoKSB0byByZXR1cm4gdGhlIHBpeGVsIHZpZXdwb3J0IHJlY3QKKyAgICAgICAgaW5zdGVhZCBv
ZiB0aGUgd2luZG93IHJlY3QuIFRoZXNlIGFyZSBkaWZmZXJlbnQgaWYgdGhlIHdlYiBwYWdlIGlz
CisgICAgICAgIHJlbmRlcmVkIHN0YXJ0aW5nIGF0IGEgd2luZG93IGNvb3JkaW5hdGUgb3RoZXIg
dGhhbiAwLDAuIFRoZSBjbGlwIHJlY3QKKyAgICAgICAgZW5jb2RlcyB0aGUgcG9zaXRpb24gd2Un
cmUgcmVuZGVyZWQgYXQsIGFuZCBjYW4gYmUgdXNlZCB0byB0cmFuc2xhdGUKKyAgICAgICAgdGhl
IHJlY3QgZXhwcmVzc2VkIGluIHdpbmRvdyBjb29yZGluYXRlcyB0byB0aGUgcGl4ZWwgdmlld3Bv
cnQKKyAgICAgICAgY29vcmRpbmF0ZSBzeXN0ZW0uCisKKyAgICAgICAgQWxzbyBwZXJmb3JtIHNv
bWUgY2xlYW51cCBvZiByZWxhdGVkIGNvZGUuCisKKyAgICAgICAgT25seSBtYW51YWxseSB0ZXN0
YWJsZS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvTGF5ZXJDb21w
b3NpdGluZ1RocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXllckNvbXBvc2l0aW5nVGhy
ZWFkOjpnZXRUcmFuc2Zvcm1lZEhvbGVQdW5jaFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
ZXJDb21wb3NpdGluZ1RocmVhZDo6ZHJhd1RleHR1cmVzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9ibGFja2JlcnJ5L0xheWVyUmVuZGVyZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
dG9QaXhlbENvb3JkaW5hdGVzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5ZXJSZW5kZXJlcjo6dG9XaW5kb3dDb29yZGluYXRlcyk6CisgICAgICAgIChXZWJDb3Jl
OjpMYXllclJlbmRlcmVyOjp0b1BpeGVsVmlld3BvcnRDb29yZGluYXRlcyk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXllclJlbmRlcmVyOjp0b0RvY3VtZW50Vmlld3BvcnRDb29yZGluYXRlcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyOjp1cGRhdGVMYXllcnNSZWN1cnNpdmUpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvTGF5ZXJSZW5kZXJlci5oOgor
ICAgICAgICAoTGF5ZXJSZW5kZXJlcik6CisKIDIwMTMtMDMtMjQgIENocmlzIEZsZWl6YWNoICA8
Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogQ3Jhc2ggaW4gV2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eVNwaW5CdXR0b246OmluY3JlbWVudEJ1dHRvbigpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5
L0NoYW5nZUxvZwppbmRleCBjNzJhNjJiNzdhMTgxZGZlMGM1NjljODYzYjQwNDYwYzdiMDM3NGQy
Li44MDgzZDE4OWExOWIwM2NjYzcyMjgyYjkyZTEzZjUzYjViOTE4MTFjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMy0wMy0yNSAgQXJ2aWQgTmls
c3NvbiAgPGFuaWxzc29uQHJpbS5jb20+CisKKyAgICAgICAgW0JsYWNrQmVycnldIFdlYk92ZXJs
YXk6OnBpeGVsVmlld3BvcnRSZWN0KCkgc2hvdWxkIHJldHVybiBwaXhlbCB2aWV3cG9ydCBjb29y
ZGluYXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTEzMjYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UFIgMzEyNDA0CisKKyAgICAgICAgRml4ZWQgYnkgcmV0dXJuaW5nIHBpeGVsIHZpZXdwb3J0IGNv
b3JkaW5hdGVzIGluc3RlYWQgb2Ygd2luZG93CisgICAgICAgIGNvb3JkaW5hdGVzLgorCisgICAg
ICAgICogQXBpL1dlYk92ZXJsYXkuY3BwOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpX
ZWJPdmVybGF5UHJpdmF0ZUNvbXBvc2l0aW5nVGhyZWFkOjpwaXhlbFZpZXdwb3J0UmVjdCk6CisK
IDIwMTMtMDMtMjIgIE5pbWEgR2hhbmF2YXRpYW4gIDxuZ2hhbmF2YXRpYW5AYmxhY2tiZXJyeS5j
b20+CiAKICAgICAgICAgW0JsYWNrQmVycnldIEJ1aWxkIGZpeCBpbiBJbnB1dEhhbmRsZXIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvTGF5
ZXJDb21wb3NpdGluZ1RocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ibGFja2JlcnJ5L0xheWVyQ29tcG9zaXRpbmdUaHJlYWQuY3BwCmluZGV4IGQ3MTVhYTQ2MTFm
NmVkZTI4YTRjMGQ2NmM3M2I5ZTQ5YTUyM2VmZjEuLmQzMzlkZDBkMWViNDdlYTIyMWIxNTcwZmU1
YTkwYzNiNTNjMmQ5ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2JsYWNrYmVycnkvTGF5ZXJDb21wb3NpdGluZ1RocmVhZC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9MYXllckNvbXBvc2l0aW5nVGhyZWFk
LmNwcApAQCAtMTgyLDcgKzE4Miw3IEBAIEZsb2F0UXVhZCBMYXllckNvbXBvc2l0aW5nVGhyZWFk
OjpnZXRUcmFuc2Zvcm1lZEhvbGVQdW5jaFJlY3QoKSBjb25zdAogCiAgICAgLy8gSW4gb3JkZXIg
dG8gY2xpcCB3ZSBuZWVkIHRvIGRldGVybWluZSB0aGUgY3VycmVudCBwb3NpdGlvbiBvZiB0aGlz
IGxheWVyLCB3aGljaAogICAgIC8vIGlzIGVuY29kZWQgaW4gdGhlIG1fZHJhd1RyYW5zZm9ybSB2
YWx1ZSwgd2hpY2ggd2FzIHVzZWQgdG8gaW5pdGlhbGl6ZSBtX2RyYXdSZWN0LgotICAgIEludFJl
Y3QgZHJhd1JlY3QgPSBtX2xheWVyUmVuZGVyZXItPnRvV2ViS2l0RG9jdW1lbnRDb29yZGluYXRl
cyhtX2RyYXdSZWN0KTsKKyAgICBJbnRSZWN0IGRyYXdSZWN0ID0gbV9sYXllclJlbmRlcmVyLT50
b0RvY3VtZW50Vmlld3BvcnRDb29yZGluYXRlcyhtX2RyYXdSZWN0KTsKIAogICAgIC8vIEFzc2Vy
dCB0aGF0IGluIHRoaXMgY2FzZSwgd2hlcmUgdGhlIGhvbGUgcHVuY2ggcmVjdGFuZ2xlIGVxdWFs
cyB0aGUgc2l6ZSBvZiB0aGUgbGF5ZXIsCiAgICAgLy8gdGhlIGRyYXdSZWN0IGhhcyB0aGUgc2Ft
ZSBzaXplIGFzIHRoZSBob2xlIHB1bmNoLgpAQCAtMjUyLDEwICsyNTIsOSBAQCB2b2lkIExheWVy
Q29tcG9zaXRpbmdUaHJlYWQ6OmRyYXdUZXh0dXJlcyhkb3VibGUgc2NhbGUsIGNvbnN0IEdMRVMy
UHJvZ3JhbSYgcHJvZwogICAgICAgICAgICAgICAgIEZsb2F0UG9pbnQgcChtX3RyYW5zZm9ybWVk
Qm91bmRzLnAxKCkueCgpICogdnJ3MiArIHZydzIgKyB2aXNpYmxlUmVjdC54KCksCiAgICAgICAg
ICAgICAgICAgICAgIC1tX3RyYW5zZm9ybWVkQm91bmRzLnAxKCkueSgpICogdnJoMiArIHZyaDIg
KyB2aXNpYmxlUmVjdC55KCkpOwogICAgICAgICAgICAgICAgIHBhaW50UmVjdCA9IEludFJlY3Qo
cm91bmRlZEludFBvaW50KHApLCBtX2JvdW5kcyk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgICAgIEZsb2F0UmVjdCByID0gbV9sYXllclJlbmRlcmVyLT50b1dlYktpdFdpbmRv
d0Nvb3JkaW5hdGVzKG1fZHJhd1JlY3QpOwotICAgICAgICAgICAgICAgIHBhaW50UmVjdCA9IGVu
Y2xvc2luZ0ludFJlY3Qocik7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2UKKyAg
ICAgICAgICAgICAgICBwYWludFJlY3QgPSBtX2xheWVyUmVuZGVyZXItPnRvV2luZG93Q29vcmRp
bmF0ZXMobV9kcmF3UmVjdCk7CisKICAgICAgICAgICAgIG1fbWVkaWFQbGF5ZXItPnBhaW50KDAs
IHBhaW50UmVjdCk7CiAgICAgICAgICAgICBNZWRpYVBsYXllclByaXZhdGUqIG1wcCA9IHN0YXRp
Y19jYXN0PE1lZGlhUGxheWVyUHJpdmF0ZSo+KG1fbWVkaWFQbGF5ZXItPnBsYXRmb3JtTWVkaWEo
KS5tZWRpYS5xbnhNZWRpYVBsYXllcik7CiAgICAgICAgICAgICBtcHAtPmRyYXdCdWZmZXJpbmdB
bmltYXRpb24obV9kcmF3VHJhbnNmb3JtLCBwcm9ncmFtKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvTGF5ZXJSZW5kZXJlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L0xheWVyUmVuZGVyZXIu
Y3BwCmluZGV4IDdlYzMyYzk5MWYzNDk5YjM2YjkxM2I2ZDc0OTYyYjg2OGI5MWJlMGYuLmVlY2Jm
YjlmYWQ0MDAyZjcyZGU4Y2E0MmNiZjNhNWQ4ZjJlOGVkYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvTGF5ZXJSZW5kZXJlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9MYXllclJlbmRl
cmVyLmNwcApAQCAtNTQ1LDMxICs1NDUsNDMgQEAgSW50UmVjdCBMYXllclJlbmRlcmVyOjp0b09w
ZW5HTFdpbmRvd0Nvb3JkaW5hdGVzKGNvbnN0IEZsb2F0UmVjdCYgcikgY29uc3QKICAgICByZXR1
cm4gSW50UmVjdChnbFJvdW5kKHIueCgpICogdncyICsgb3gpLCBnbFJvdW5kKHIueSgpICogdmgy
ICsgb3kpLCBnbFJvdW5kKHIud2lkdGgoKSAqIHZ3MiksIGdsUm91bmQoci5oZWlnaHQoKSAqIHZo
MikpOwogfQogCitzdGF0aWMgRmxvYXRSZWN0IHRvUGl4ZWxDb29yZGluYXRlcyhjb25zdCBGbG9h
dFJlY3QmIHJlY3QsIGNvbnN0IEludFJlY3QmIHZpZXdwb3J0LCBpbnQgc3VyZmFjZUhlaWdodCkK
K3sKKyAgICBmbG9hdCB2dzIgPSB2aWV3cG9ydC53aWR0aCgpIC8gMi4wOworICAgIGZsb2F0IHZo
MiA9IHZpZXdwb3J0LmhlaWdodCgpIC8gMi4wOworICAgIGZsb2F0IG94ID0gdmlld3BvcnQueCgp
ICsgdncyOworICAgIGZsb2F0IG95ID0gc3VyZmFjZUhlaWdodCAtICh2aWV3cG9ydC55KCkgKyB2
aDIpOworICAgIHJldHVybiBGbG9hdFJlY3QocmVjdC54KCkgKiB2dzIgKyBveCwgLShyZWN0Lnko
KSArIHJlY3QuaGVpZ2h0KCkpICogdmgyICsgb3ksIHJlY3Qud2lkdGgoKSAqIHZ3MiwgcmVjdC5o
ZWlnaHQoKSAqIHZoMik7Cit9CisKIC8vIFRyYW5zZm9ybSBub3JtYWxpemVkIGRldmljZSBjb29y
ZGluYXRlcyB0byB3aW5kb3cgY29vcmRpbmF0ZXMgYXMgV2ViS2l0IHVuZGVyc3RhbmRzIHRoZW0u
CiAvLwogLy8gVGhlIE9wZW5HTCBzdXJmYWNlIG1heSBiZSBsYXJnZXIgdGhhbiB0aGUgV2ViS2l0
IHdpbmRvdywgYW5kIE9wZW5HTCB3aW5kb3cgY29vcmRpbmF0ZXMKIC8vIGhhdmUgb3JpZ2luIGlu
IGJvdHRvbSBsZWZ0IHdoaWxlIFdlYktpdCB3aW5kb3cgY29vcmRpbmF0ZXMgb3JpZ2luIGlzIGlu
IHRvcCBsZWZ0LgogLy8gVGhlIHZpZXdwb3J0IGlzIHNldHVwIHRvIGNvdmVyIHRoZSB1cHBlciBw
b3J0aW9uIG9mIHRoZSBsYXJnZXIgT3BlbkdMIHN1cmZhY2UuCi1JbnRSZWN0IExheWVyUmVuZGVy
ZXI6OnRvV2ViS2l0V2luZG93Q29vcmRpbmF0ZXMoY29uc3QgRmxvYXRSZWN0JiByKSBjb25zdAor
SW50UmVjdCBMYXllclJlbmRlcmVyOjp0b1dpbmRvd0Nvb3JkaW5hdGVzKGNvbnN0IEZsb2F0UmVj
dCYgcmVjdCkgY29uc3QKIHsKLSAgICBmbG9hdCB2dzIgPSBtX3ZpZXdwb3J0LndpZHRoKCkgLyAy
LjA7Ci0gICAgZmxvYXQgdmgyID0gbV92aWV3cG9ydC5oZWlnaHQoKSAvIDIuMDsKLSAgICBmbG9h
dCBveCA9IG1fdmlld3BvcnQueCgpICsgdncyOwotICAgIGZsb2F0IG95ID0gbV9jbGllbnQtPmNv
bnRleHQoKS0+c3VyZmFjZVNpemUoKS5oZWlnaHQoKSAtIChtX3ZpZXdwb3J0LnkoKSArIHZoMik7
Ci0gICAgcmV0dXJuIGVuY2xvc2luZ0ludFJlY3QoRmxvYXRSZWN0KHIueCgpICogdncyICsgb3gs
IC0oci55KCkrci5oZWlnaHQoKSkgKiB2aDIgKyBveSwgci53aWR0aCgpICogdncyLCByLmhlaWdo
dCgpICogdmgyKSk7CisgICAgcmV0dXJuIGVuY2xvc2luZ0ludFJlY3QodG9QaXhlbENvb3JkaW5h
dGVzKHJlY3QsIG1fdmlld3BvcnQsIG1fY2xpZW50LT5jb250ZXh0KCktPnN1cmZhY2VTaXplKCku
aGVpZ2h0KCkpKTsKK30KKworSW50UmVjdCBMYXllclJlbmRlcmVyOjp0b1BpeGVsVmlld3BvcnRD
b29yZGluYXRlcyhjb25zdCBGbG9hdFJlY3QmIHJlY3QpIGNvbnN0Cit7CisgICAgLy8gVGhlIGNs
aXAgcmVjdCBkZWZpbmVzIHRoZSB3ZWIgcGFnZSdzIHBpeGVsIHZpZXdwb3J0ICh0byB1c2UgVmll
d3BvcnRBY2Nlc3NvciB0ZXJtaW5vbG9neSksCisgICAgLy8gbm90IHRvIGJlIGNvbmZ1c2VkIHdp
dGggdGhlIEdMIHZpZXdwb3J0LiBTbyB0cmFuc2xhdGUgZnJvbSB3aW5kb3cgY29vcmRpbmF0ZXMg
dG8gcGl4ZWwKKyAgICAvLyB2aWV3cG9ydCBjb29yZGluYXRlcy4KKyAgICBpbnQgc3VyZmFjZUhl
aWdodCA9IG1fY2xpZW50LT5jb250ZXh0KCktPnN1cmZhY2VTaXplKCkuaGVpZ2h0KCk7CisgICAg
RmxvYXRSZWN0IHBpeGVsVmlld3BvcnQgPSB0b1BpeGVsQ29vcmRpbmF0ZXMobV9jbGlwUmVjdCwg
bV92aWV3cG9ydCwgc3VyZmFjZUhlaWdodCk7CisgICAgRmxvYXRSZWN0IHJlc3VsdCA9IHRvUGl4
ZWxDb29yZGluYXRlcyhyZWN0LCBtX3ZpZXdwb3J0LCBzdXJmYWNlSGVpZ2h0KTsKKyAgICByZXN1
bHQubW92ZSgtcGl4ZWxWaWV3cG9ydC54KCksIC1waXhlbFZpZXdwb3J0LnkoKSk7CisgICAgcmV0
dXJuIGVuY2xvc2luZ0ludFJlY3QocmVzdWx0KTsKIH0KIAotLy8gU2ltaWxhciB0byB0b1dlYktp
dFdpbmRvd0Nvb3JkaW5hdGVzIGV4Y2VwdCB0aGF0IHRoaXMgYWxzbyB0YWtlcyBhbnkgem9vbSBp
bnRvIGFjY291bnQuCi1JbnRSZWN0IExheWVyUmVuZGVyZXI6OnRvV2ViS2l0RG9jdW1lbnRDb29y
ZGluYXRlcyhjb25zdCBGbG9hdFJlY3QmIHIpIGNvbnN0CitJbnRSZWN0IExheWVyUmVuZGVyZXI6
OnRvRG9jdW1lbnRWaWV3cG9ydENvb3JkaW5hdGVzKGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkgY29u
c3QKIHsKLSAgICAvLyBUaGUgem9vbSBpcyB0aGUgcmF0aW8gYmV0d2VlbiB2aXNpYmxlUmVjdCAo
b3IgbGF5b3V0UmVjdCkgYW5kIGRzdFJlY3QgcGFyYW1ldGVycyB3aGljaCBhcmUgcGFzc2VkIHRv
IGRyYXdMYXllcnMKLSAgICBmbG9hdCB6b29tID0gbV92aXNpYmxlUmVjdC53aWR0aCgpIC8gbV92
aWV3cG9ydC53aWR0aCgpOwotICAgIC8vIENvdWxkIGFzc2VydCBoZXJlIHRoYXQgaXQgZG9lc24n
dCBtYXR0ZXIgd2hldGhlciB3ZSBjaG9vc2Ugd2lkdGggb3IgaGVpZ2h0IGluIHRoZSBhYm92ZSBz
dGF0ZW1lbnQ6Ci0gICAgLy8gYmVjYXVzZSBib3RoIHJlY3RhbmdsZXMgc2hvdWxkIGhhdmUgdmVy
eSBzaW1pbGFyIHNoYXBlcyAoc3ViamVjdCBvbmx5IHRvIHBpeGVsIHJvdW5kaW5nIGVycm9yKS4K
LQotICAgIEludFJlY3QgcmVzdWx0ID0gdG9XZWJLaXRXaW5kb3dDb29yZGluYXRlcyhyKTsKLSAg
ICByZXN1bHQuc2NhbGUoem9vbSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKyAgICAvLyBTaW1pbGFy
IHRvIHRvUGl4ZWxWaWV3cG9ydENvb3JkaW5hdGVzIGV4Y2VwdCB0aGF0IHRoaXMgYWxzbyB0YWtl
cyBhbnkgem9vbSBpbnRvIGFjY291bnQuCisgICAgRmxvYXRSZWN0IHJlc3VsdCA9IHRvUGl4ZWxW
aWV3cG9ydENvb3JkaW5hdGVzKHJlY3QpOworICAgIHJlc3VsdC5zY2FsZSgxIC8gbV9zY2FsZSk7
CisgICAgcmV0dXJuIGVuY2xvc2luZ0ludFJlY3QocmVzdWx0KTsKIH0KIAogLy8gRHJhd3MgYSBk
ZWJ1ZyBib3JkZXIgYXJvdW5kIHRoZSBsYXllcidzIGJvdW5kcy4KQEAgLTc5OSw3ICs4MTEsNyBA
QCB2b2lkIExheWVyUmVuZGVyZXI6OnVwZGF0ZUxheWVyc1JlY3Vyc2l2ZShMYXllckNvbXBvc2l0
aW5nVGhyZWFkKiBsYXllciwgY29uc3QgVAogI2VuZGlmCiAKICAgICBpZiAobGF5ZXItPm5lZWRz
VGV4dHVyZSgpICYmIGxheWVyVmlzaWJsZSkgewotICAgICAgICBJbnRSZWN0IGRpcnR5UmVjdCA9
IHRvV2ViS2l0V2luZG93Q29vcmRpbmF0ZXMoaW50ZXJzZWN0aW9uKGxheWVyLT5nZXREcmF3UmVj
dCgpLCBjbGlwUmVjdCkpOworICAgICAgICBJbnRSZWN0IGRpcnR5UmVjdCA9IHRvV2luZG93Q29v
cmRpbmF0ZXMoaW50ZXJzZWN0aW9uKGxheWVyLT5nZXREcmF3UmVjdCgpLCBjbGlwUmVjdCkpOwog
ICAgICAgICBtX2xhc3RSZW5kZXJpbmdSZXN1bHRzLmFkZERpcnR5UmVjdChkaXJ0eVJlY3QpOwog
ICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxh
Y2tiZXJyeS9MYXllclJlbmRlcmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ibGFja2JlcnJ5L0xheWVyUmVuZGVyZXIuaAppbmRleCA5MTQyZTlkNDhhYWY4OWZkZDdiYWFk
ZWNkZWNlOGRkNDk5YzViODVlLi4zNmNjZTliNTViOGRjYTk3OTNjNWQyMjA2NzY5MGRjMTgxZjRh
ODIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ibGFja2Jl
cnJ5L0xheWVyUmVuZGVyZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ibGFja2JlcnJ5L0xheWVyUmVuZGVyZXIuaApAQCAtMTI2LDggKzEyNiw5IEBAIHB1YmxpYzoK
ICAgICAvLyBVc2VkIHdoZW4gYSBsYXllciBkaXNjb3ZlcnMgZHVyaW5nIHJlbmRlcmluZyB0aGF0
IGl0IG5lZWRzIGEgY29tbWl0LgogICAgIHZvaWQgc2V0TmVlZHNDb21taXQoKSB7IG1fbmVlZHND
b21taXQgPSB0cnVlOyB9CiAKLSAgICBJbnRSZWN0IHRvV2ViS2l0V2luZG93Q29vcmRpbmF0ZXMo
Y29uc3QgRmxvYXRSZWN0JikgY29uc3Q7Ci0gICAgSW50UmVjdCB0b1dlYktpdERvY3VtZW50Q29v
cmRpbmF0ZXMoY29uc3QgRmxvYXRSZWN0JikgY29uc3Q7CisgICAgSW50UmVjdCB0b1dpbmRvd0Nv
b3JkaW5hdGVzKGNvbnN0IEZsb2F0UmVjdCYpIGNvbnN0OworICAgIEludFJlY3QgdG9QaXhlbFZp
ZXdwb3J0Q29vcmRpbmF0ZXMoY29uc3QgRmxvYXRSZWN0JikgY29uc3Q7CisgICAgSW50UmVjdCB0
b0RvY3VtZW50Vmlld3BvcnRDb29yZGluYXRlcyhjb25zdCBGbG9hdFJlY3QmKSBjb25zdDsKIAog
ICAgIC8vIElmIHRoZSBsYXllciBoYXMgYWxyZWFkeSBiZWVuIGRyYXdlZCBvbiBhIHN1cmZhY2Uu
CiAgICAgYm9vbCBsYXllckFscmVhZHlPblN1cmZhY2UoTGF5ZXJDb21wb3NpdGluZ1RocmVhZCop
IGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJPdmVy
bGF5LmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViT3ZlcmxheS5jcHAKaW5k
ZXggOGU1NmU4YTU3YmE0NzhlY2RjYjk3YWI3YmU5NTEwMmEwMGMyYzUwMi4uNmVhZTYxZmQyYThh
NmE0MjJlMWZmMDhiN2FhODIyMmNjNzY1YTMzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9i
bGFja2JlcnJ5L0FwaS9XZWJPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVy
cnkvQXBpL1dlYk92ZXJsYXkuY3BwCkBAIC02MjYsNyArNjI2LDcgQEAgdm9pZCBXZWJPdmVybGF5
UHJpdmF0ZUNvbXBvc2l0aW5nVGhyZWFkOjpyZW1vdmVBbmltYXRpb24oY29uc3QgU3RyaW5nJiBu
YW1lKQogUGxhdGZvcm06OkludFJlY3QgV2ViT3ZlcmxheVByaXZhdGVDb21wb3NpdGluZ1RocmVh
ZDo6cGl4ZWxWaWV3cG9ydFJlY3QoKSBjb25zdAogewogICAgIGlmIChMYXllclJlbmRlcmVyKiBy
ZW5kZXJlciA9IG1fbGF5ZXJDb21wb3NpdGluZ1RocmVhZC0+bGF5ZXJSZW5kZXJlcigpKQotICAg
ICAgICByZXR1cm4gcmVuZGVyZXItPnRvV2ViS2l0V2luZG93Q29vcmRpbmF0ZXMobV9sYXllckNv
bXBvc2l0aW5nVGhyZWFkLT5nZXREcmF3UmVjdCgpKTsKKyAgICAgICAgcmV0dXJuIHJlbmRlcmVy
LT50b1BpeGVsVmlld3BvcnRDb29yZGluYXRlcyhtX2xheWVyQ29tcG9zaXRpbmdUaHJlYWQtPmdl
dERyYXdSZWN0KCkpOwogCiAgICAgcmV0dXJuIFBsYXRmb3JtOjpJbnRSZWN0KCk7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>