<?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>89098</bug_id>
          
          <creation_ts>2012-06-14 07:15:08 -0700</creation_ts>
          <short_desc>Add methods to select between offsets in an editable field.</short_desc>
          <delta_ts>2012-06-21 17:49:48 -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>New Bugs</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>
          
          <blocked>66687</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Oli Lan">olilan</reporter>
          <assigned_to name="Oli Lan">olilan</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>rniwa</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>649147</commentid>
    <comment_count>0</comment_count>
    <who name="Oli Lan">olilan</who>
    <bug_when>2012-06-14 07:15:08 -0700</bug_when>
    <thetext>Add a method to select between offsets in an editable field.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649156</commentid>
    <comment_count>1</comment_count>
      <attachid>147580</attachid>
    <who name="Oli Lan">olilan</who>
    <bug_when>2012-06-14 07:26:05 -0700</bug_when>
    <thetext>Created attachment 147580
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649161</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-14 07:29:47 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649164</commentid>
    <comment_count>3</comment_count>
    <who name="Oli Lan">olilan</who>
    <bug_when>2012-06-14 07:32:42 -0700</bug_when>
    <thetext>Hmm, it looks like the new html files in tests/data haven&apos;t been picked up in the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649169</commentid>
    <comment_count>4</comment_count>
      <attachid>147588</attachid>
    <who name="Oli Lan">olilan</who>
    <bug_when>2012-06-14 07:43:10 -0700</bug_when>
    <thetext>Created attachment 147588
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649170</commentid>
    <comment_count>5</comment_count>
    <who name="Oli Lan">olilan</who>
    <bug_when>2012-06-14 07:44:19 -0700</bug_when>
    <thetext>Patch 2 has the new test html files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649205</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-14 08:51:43 -0700</bug_when>
    <thetext>@rniwa: Would you be willing to review this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649284</commentid>
    <comment_count>7</comment_count>
      <attachid>147588</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-06-14 10:38:04 -0700</bug_when>
    <thetext>Comment on attachment 147588
Patch

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

&gt; Source/WebKit/chromium/ChangeLog:15
&gt; +        Reviewed by NOBODY (OOPS!).

This line should appear before the long description bug after the bug url.

&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:2098
&gt; +    Node* node = focusedWebCoreNode();
&gt; +    if (node &amp;&amp; node-&gt;isElementNode()) {
&gt; +        Element* elementNode = toElement(node);
&gt; +        if (elementNode-&gt;isTextFormControl()) {
&gt; +            HTMLTextFormControlElement* formElement = toTextFormControl(elementNode);
&gt; +            formElement-&gt;setSelectionRange(start, end);
&gt; +            return;
&gt; +        }
&gt; +    }

This code is redundant.

&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:2102
&gt; +    // For contenteditable nodes the focusedWebCoreNode may not be what we want (the editable
&gt; +    // node may not be focused even during editing). Also, we need to go to the ancestor node
&gt; +    // to apply the offsets.

This comment is redundant for anyone who understands editing code.
I&apos;d suggest we move all of this code to Editor.cpp so that we don&apos;t have to add this comment.

&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:2106
&gt; +    node = frame-&gt;selection()-&gt;start().containerNode();

Why do you want to use start&apos;s container node here? That sounds completely arbitrary except when both start &amp; end are in the same node.

&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:2107
&gt; +    if (node &amp;&amp; node-&gt;shouldUseInputMethod()) {

If anything, what you want to do is to obtain the root editable element and use TextIterator&apos;s static functions to obtain range given start &amp; length offsets from the beginning of the element.

&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:2110
&gt; +        Position startPosition(node, start, Position::PositionIsOffsetInAnchor);
&gt; +        Position endPosition(node, end, Position::PositionIsOffsetInAnchor);

What guarantees that start and end are in the same node? If this is specific to composition, then the method name should reflect that.
Also, I&apos;d prefer moving this code to Editor.h/cpp next to getCompositionSelection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650207</commentid>
    <comment_count>8</comment_count>
    <who name="Oli Lan">olilan</who>
    <bug_when>2012-06-15 08:18:54 -0700</bug_when>
    <thetext>Thanks for the review. I&apos;ll rework this to take into account all your comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650248</commentid>
    <comment_count>9</comment_count>
      <attachid>147835</attachid>
    <who name="Oli Lan">olilan</who>
    <bug_when>2012-06-15 09:26:41 -0700</bug_when>
    <thetext>Created attachment 147835
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651820</commentid>
    <comment_count>10</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-18 15:44:38 -0700</bug_when>
    <thetext>@rniwa: Are you happy with this patch now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651842</commentid>
    <comment_count>11</comment_count>
      <attachid>147835</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-06-18 16:02:47 -0700</bug_when>
    <thetext>Comment on attachment 147835
Patch

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

r=me provided the following nits are addressed.

&gt; Source/WebCore/editing/Editor.cpp:2352
&gt; +    Element* rootEditable = m_frame-&gt;selection()-&gt;rootEditableElement();

Nit: root editable what? &quot;editable&quot; is an adjective, not a noun. I&apos;d prefer spelling out rootEditableElement. Element is fine as well.

&gt; Source/WebCore/editing/Editor.cpp:2360
&gt; +    return m_frame-&gt;selection()-&gt;setSelectedRange(range.get(), WebCore::VP_DEFAULT_AFFINITY, false);

Nit: No need for WebCore::</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654845</commentid>
    <comment_count>12</comment_count>
      <attachid>148878</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-21 13:43:38 -0700</bug_when>
    <thetext>Created attachment 148878
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>655079</commentid>
    <comment_count>13</comment_count>
      <attachid>148878</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-21 17:49:42 -0700</bug_when>
    <thetext>Comment on attachment 148878
Patch for landing

Clearing flags on attachment: 148878

Committed r120985: &lt;http://trac.webkit.org/changeset/120985&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>655080</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-21 17:49:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147580</attachid>
            <date>2012-06-14 07:26:05 -0700</date>
            <delta_ts>2012-06-14 07:43:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89098-20120614152604.patch</filename>
            <type>text/plain</type>
            <size>6044</size>
            <attacher name="Oli Lan">olilan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwMzEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGY2NGJmNjA2MTkwNzIwOTUwZDNmZDBkMTY1MmE4MzE4YTExYmQ5ZWQuLjc5Y2M2M2MwNTlmYWIw
ODRlNTg5MGQxNGVjNmI0OWZlMzQ2NWYwMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzAgQEAKKzIwMTItMDYtMTQgIE9saSBMYW4gIDxvbGlsYW5AY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIEFkZCBhIG1ldGhvZCB0byBzZWxlY3QgYmV0d2VlbiBvZmZzZXRzIGluIGFu
IGVkaXRhYmxlIGZpZWxkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODkwOTgKKworICAgICAgICBUaGlzIGFkZHMgYSBuZXcgbWV0aG9kIFdlYlZpZXdJ
bXBsOjpzZXRFZGl0YWJsZVNlbGVjdGlvbk9mZnNldHMsIHdoaWNoIGNhbiBiZSB1c2VkIHRvIHNl
bGVjdCBiZXR3ZWVuIHR3bworICAgICAgICBjaGFyYWN0ZXIgcG9zaXRpb25zIGluIGFuIGVkaXRh
YmxlIGZpZWxkLiBUaGlzIGNhbiBiZSB1c2VkIGZvciBJTUUgZmVhdHVyZXMgdGhhdCByZXF1aXJl
IHRoZSBhYmlsaXR5CisgICAgICAgIHRvIG1hbmlwdWxhdGUgdGhlIHNlbGVjdGlvbiwgZm9yIGV4
YW1wbGUgb24gQW5kcm9pZCB3aGVyZSB0aGUgbWV0aG9kIElucHV0Q29ubmVjdGlvbiNzZXRTZWxl
Y3Rpb24gaXMKKyAgICAgICAgdXNlZC4KKworICAgICAgICBUaGUgbWV0aG9kIHdvcmtzIGZvciBp
bnB1dHMvdGV4dGFyZWFzIChpLmUuIHRleHQgZm9ybSBjb250cm9scykgYW5kIGNvbnRlbnRlZGl0
YWJsZSBub2Rlcy4KKworICAgICAgICBUaGUgbmV3IHRlc3QgaW4gV2ViVmlld1Rlc3QgdGVzdHMg
Ym90aCB0aGVzZSBjYXNlcy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHB1YmxpYy9XZWJWaWV3Lmg6CisgICAgICAgIChXZWJWaWV3KToKKyAgICAg
ICAgKiBzcmMvV2ViVmlld0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6
c2V0RWRpdGFibGVTZWxlY3Rpb25PZmZzZXRzKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAg
ICogc3JjL1dlYlZpZXdJbXBsLmg6CisgICAgICAgIChXZWJWaWV3SW1wbCk6CisgICAgICAgICog
dGVzdHMvV2ViVmlld1Rlc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpURVNUX0YpOgorICAgICAg
ICAoV2ViS2l0KToKKwogMjAxMi0wNi0xNCAgWW9zaGlmdW1pIElub3VlICA8eW9zaW5AY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV1bRm9ybXNdIFdlIHNob3VsZCByZW1vdmUgRU5B
QkxFX0lOUFVUX1RZUEVfVElNRT0wIGFuZCBzbyBvbiB0byBhbGxvd3MgdXMgdG8gb3ZlcnJpZGUg
dGhlbSBieSB+Ly5neXAvaW5jbHVkZS5neXBpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJWaWV3LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJWaWV3LmgKaW5kZXggNTQyYjEwMjFhNjQ0NjVlMzg2YWI0M2Y0YWNjZTNiMGY4MzYxY2U5My4u
MWM1MDAyNDZmM2ZmZDk1YjliMjU1MWEwNWYzNDk5ZmQxODNmM2ZkMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYlZpZXcuaApAQCAtNDUzLDYgKzQ1Myw4IEBAIHB1YmxpYzoKICAg
ICAvLyBieSB0aGUgY29tcG9zaXRvcikgYnV0IG11c3QgYmUgY29tcGxldGVkIGJ5IHRoZSBXZWJW
aWV3LgogICAgIHZpcnR1YWwgdm9pZCB0cmFuc2ZlckFjdGl2ZVdoZWVsRmxpbmdBbmltYXRpb24o
Y29uc3QgV2ViQWN0aXZlV2hlZWxGbGluZ1BhcmFtZXRlcnMmKSA9IDA7CiAKKyAgICB2aXJ0dWFs
IHZvaWQgc2V0RWRpdGFibGVTZWxlY3Rpb25PZmZzZXRzKGludCBzdGFydCwgaW50IGVuZCkgPSAw
OworCiAgICAgLy8gVmlzaWJpbGl0eSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiAgICAgLy8gU2V0cyB0aGUgdmlzaWJpbGl0eSBv
ZiB0aGUgV2ViVmlldy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNw
cAppbmRleCBhYjY3NzUxZTczNGE1NGE1YTk0N2RjMzE1OTlmYTk2ZjNjZGI3ZWE1Li4zZDM0NGU2
MjgyZjc3NTJiMDJmZDkwZjQxOTQ4YWEzZjFmYWM4MjY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC0yMDg1LDYgKzIwODUsMzUgQEAgYm9vbCBXZWJW
aWV3SW1wbDo6c2VsZWN0aW9uVGV4dERpcmVjdGlvbihXZWJUZXh0RGlyZWN0aW9uJiBzdGFydCwg
V2ViVGV4dERpcmVjdGkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBXZWJWaWV3SW1wbDo6
c2V0RWRpdGFibGVTZWxlY3Rpb25PZmZzZXRzKGludCBzdGFydCwgaW50IGVuZCkKK3sKKyAgICBO
b2RlKiBub2RlID0gZm9jdXNlZFdlYkNvcmVOb2RlKCk7CisgICAgaWYgKG5vZGUgJiYgbm9kZS0+
aXNFbGVtZW50Tm9kZSgpKSB7CisgICAgICAgIEVsZW1lbnQqIGVsZW1lbnROb2RlID0gdG9FbGVt
ZW50KG5vZGUpOworICAgICAgICBpZiAoZWxlbWVudE5vZGUtPmlzVGV4dEZvcm1Db250cm9sKCkp
IHsKKyAgICAgICAgICAgIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50KiBmb3JtRWxlbWVudCA9
IHRvVGV4dEZvcm1Db250cm9sKGVsZW1lbnROb2RlKTsKKyAgICAgICAgICAgIGZvcm1FbGVtZW50
LT5zZXRTZWxlY3Rpb25SYW5nZShzdGFydCwgZW5kKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQorICAgIH0KKworICAgIC8vIEZvciBjb250ZW50ZWRpdGFibGUgbm9kZXMgdGhlIGZv
Y3VzZWRXZWJDb3JlTm9kZSBtYXkgbm90IGJlIHdoYXQgd2Ugd2FudCAodGhlIGVkaXRhYmxlCisg
ICAgLy8gbm9kZSBtYXkgbm90IGJlIGZvY3VzZWQgZXZlbiBkdXJpbmcgZWRpdGluZykuIEFsc28s
IHdlIG5lZWQgdG8gZ28gdG8gdGhlIGFuY2VzdG9yIG5vZGUKKyAgICAvLyB0byBhcHBseSB0aGUg
b2Zmc2V0cy4KKyAgICBjb25zdCBGcmFtZSogZnJhbWUgPSBmb2N1c2VkV2ViQ29yZUZyYW1lKCk7
CisgICAgaWYgKCFmcmFtZSkKKyAgICAgICAgcmV0dXJuOworICAgIG5vZGUgPSBmcmFtZS0+c2Vs
ZWN0aW9uKCktPnN0YXJ0KCkuY29udGFpbmVyTm9kZSgpOworICAgIGlmIChub2RlICYmIG5vZGUt
PnNob3VsZFVzZUlucHV0TWV0aG9kKCkpIHsKKyAgICAgICAgbm9kZSA9IG5vZGUtPnNoYWRvd0Fu
Y2VzdG9yTm9kZSgpOworICAgICAgICBQb3NpdGlvbiBzdGFydFBvc2l0aW9uKG5vZGUsIHN0YXJ0
LCBQb3NpdGlvbjo6UG9zaXRpb25Jc09mZnNldEluQW5jaG9yKTsKKyAgICAgICAgUG9zaXRpb24g
ZW5kUG9zaXRpb24obm9kZSwgZW5kLCBQb3NpdGlvbjo6UG9zaXRpb25Jc09mZnNldEluQW5jaG9y
KTsKKyAgICAgICAgVmlzaWJsZVNlbGVjdGlvbiBuZXdTZWxlY3Rpb24oc3RhcnRQb3NpdGlvbiwg
ZW5kUG9zaXRpb24pOworICAgICAgICBpZiAoIW5ld1NlbGVjdGlvbi5pc05vbmUoKSkKKyAgICAg
ICAgICAgIGZyYW1lLT5zZWxlY3Rpb24oKS0+c2V0U2VsZWN0aW9uKG5ld1NlbGVjdGlvbik7Cisg
ICAgfQorfQorCiBib29sIFdlYlZpZXdJbXBsOjpjYXJldE9yU2VsZWN0aW9uUmFuZ2Uoc2l6ZV90
KiBsb2NhdGlvbiwgc2l6ZV90KiBsZW5ndGgpCiB7CiAgICAgY29uc3QgRnJhbWUqIGZvY3VzZWQg
PSBmb2N1c2VkV2ViQ29yZUZyYW1lKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJWaWV3SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmll
d0ltcGwuaAppbmRleCA3YmRkYTkwZjQwZDhlOGFjZTViMWE2YjY3YzY4ZWNjZjdhNmVlZjA1Li42
YmRjMmE2NDFmMmY2ZDE0OTZmNDE4ODhjYjdiYmY5YWI3YTNmMGUwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKQEAgLTE1MCw2ICsxNTAsNyBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCBib29sIGNvbXBvc2l0aW9uUmFuZ2Uoc2l6ZV90KiBsb2NhdGlvbiwgc2l6ZV90
KiBsZW5ndGgpOwogICAgIHZpcnR1YWwgV2ViVGV4dElucHV0SW5mbyB0ZXh0SW5wdXRJbmZvKCk7
CiAgICAgdmlydHVhbCBXZWJUZXh0SW5wdXRUeXBlIHRleHRJbnB1dFR5cGUoKTsKKyAgICB2aXJ0
dWFsIHZvaWQgc2V0RWRpdGFibGVTZWxlY3Rpb25PZmZzZXRzKGludCBzdGFydCwgaW50IGVuZCk7
CiAgICAgdmlydHVhbCBib29sIHNlbGVjdGlvbkJvdW5kcyhXZWJSZWN0JiBzdGFydCwgV2ViUmVj
dCYgZW5kKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgc2VsZWN0aW9uVGV4dERpcmVjdGlvbihX
ZWJUZXh0RGlyZWN0aW9uJiBzdGFydCwgV2ViVGV4dERpcmVjdGlvbiYgZW5kKSBjb25zdDsKICAg
ICB2aXJ0dWFsIGJvb2wgY2FyZXRPclNlbGVjdGlvblJhbmdlKHNpemVfdCogbG9jYXRpb24sIHNp
emVfdCogbGVuZ3RoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMv
V2ViVmlld1Rlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJWaWV3VGVz
dC5jcHAKaW5kZXggYWVmNWM5NGNlYWFiYjEwNDAyYTY4MmFlMmFhYWYxZmVlNGZkYzAwOC4uZjg1
OGZlN2I1ODFlN2IxODNjNGI0YmQ1YTMzNzI3NGJlMDYxOWM1OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJWaWV3VGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS90ZXN0cy9XZWJWaWV3VGVzdC5jcHAKQEAgLTMwNiw0ICszMDYsMjMgQEAgVEVT
VF9GKFdlYlZpZXdUZXN0LCBESVNBQkxFRF9UZXh0SW5wdXRUeXBlKQogCiB9CiAKK1RFU1RfRihX
ZWJWaWV3VGVzdCwgU2V0RWRpdGFibGVTZWxlY3Rpb25PZmZzZXRzKQoreworICAgIEZyYW1lVGVz
dEhlbHBlcnM6OnJlZ2lzdGVyTW9ja2VkVVJMTG9hZChtX2Jhc2VVUkwsICJpbnB1dF9maWVsZF9w
b3B1bGF0ZWQuaHRtbCIpOworICAgIFdlYlZpZXcqIHdlYlZpZXcgPSBGcmFtZVRlc3RIZWxwZXJz
OjpjcmVhdGVXZWJWaWV3QW5kTG9hZChtX2Jhc2VVUkwgKyAiaW5wdXRfZmllbGRfcG9wdWxhdGVk
Lmh0bWwiKTsKKyAgICB3ZWJWaWV3LT5zZXRJbml0aWFsRm9jdXMoZmFsc2UpOworICAgIHdlYlZp
ZXctPnNldEVkaXRhYmxlU2VsZWN0aW9uT2Zmc2V0cyg1LCAxMyk7CisgICAgV2ViRnJhbWVJbXBs
KiBmcmFtZSA9IHN0YXRpY19jYXN0PFdlYkZyYW1lSW1wbCo+KHdlYlZpZXctPm1haW5GcmFtZSgp
KTsKKyAgICBFWFBFQ1RfRVEoIjU2Nzg5YWJjIiwgZnJhbWUtPnNlbGVjdGlvbkFzVGV4dCgpKTsK
KyAgICB3ZWJWaWV3LT5jbG9zZSgpOworCisgICAgRnJhbWVUZXN0SGVscGVyczo6cmVnaXN0ZXJN
b2NrZWRVUkxMb2FkKG1fYmFzZVVSTCwgImNvbnRlbnRfZWRpdGFibGVfcG9wdWxhdGVkLmh0bWwi
KTsKKyAgICB3ZWJWaWV3ID0gRnJhbWVUZXN0SGVscGVyczo6Y3JlYXRlV2ViVmlld0FuZExvYWQo
bV9iYXNlVVJMICsgImNvbnRlbnRfZWRpdGFibGVfcG9wdWxhdGVkLmh0bWwiKTsKKyAgICB3ZWJW
aWV3LT5zZXRJbml0aWFsRm9jdXMoZmFsc2UpOworICAgIHdlYlZpZXctPnNldEVkaXRhYmxlU2Vs
ZWN0aW9uT2Zmc2V0cyg4LCAxOSk7CisgICAgZnJhbWUgPSBzdGF0aWNfY2FzdDxXZWJGcmFtZUlt
cGwqPih3ZWJWaWV3LT5tYWluRnJhbWUoKSk7CisgICAgRVhQRUNUX0VRKCI4OWFiY2RlZmdoaSIs
IGZyYW1lLT5zZWxlY3Rpb25Bc1RleHQoKSk7CisgICAgd2ViVmlldy0+Y2xvc2UoKTsKK30KKwog
fQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147588</attachid>
            <date>2012-06-14 07:43:10 -0700</date>
            <delta_ts>2012-06-15 09:26:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89098-20120614154309.patch</filename>
            <type>text/plain</type>
            <size>6872</size>
            <attacher name="Oli Lan">olilan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwMzEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGY2NGJmNjA2MTkwNzIwOTUwZDNmZDBkMTY1MmE4MzE4YTExYmQ5ZWQuLjc5Y2M2M2MwNTlmYWIw
ODRlNTg5MGQxNGVjNmI0OWZlMzQ2NWYwMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzAgQEAKKzIwMTItMDYtMTQgIE9saSBMYW4gIDxvbGlsYW5AY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIEFkZCBhIG1ldGhvZCB0byBzZWxlY3QgYmV0d2VlbiBvZmZzZXRzIGluIGFu
IGVkaXRhYmxlIGZpZWxkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODkwOTgKKworICAgICAgICBUaGlzIGFkZHMgYSBuZXcgbWV0aG9kIFdlYlZpZXdJ
bXBsOjpzZXRFZGl0YWJsZVNlbGVjdGlvbk9mZnNldHMsIHdoaWNoIGNhbiBiZSB1c2VkIHRvIHNl
bGVjdCBiZXR3ZWVuIHR3bworICAgICAgICBjaGFyYWN0ZXIgcG9zaXRpb25zIGluIGFuIGVkaXRh
YmxlIGZpZWxkLiBUaGlzIGNhbiBiZSB1c2VkIGZvciBJTUUgZmVhdHVyZXMgdGhhdCByZXF1aXJl
IHRoZSBhYmlsaXR5CisgICAgICAgIHRvIG1hbmlwdWxhdGUgdGhlIHNlbGVjdGlvbiwgZm9yIGV4
YW1wbGUgb24gQW5kcm9pZCB3aGVyZSB0aGUgbWV0aG9kIElucHV0Q29ubmVjdGlvbiNzZXRTZWxl
Y3Rpb24gaXMKKyAgICAgICAgdXNlZC4KKworICAgICAgICBUaGUgbWV0aG9kIHdvcmtzIGZvciBp
bnB1dHMvdGV4dGFyZWFzIChpLmUuIHRleHQgZm9ybSBjb250cm9scykgYW5kIGNvbnRlbnRlZGl0
YWJsZSBub2Rlcy4KKworICAgICAgICBUaGUgbmV3IHRlc3QgaW4gV2ViVmlld1Rlc3QgdGVzdHMg
Ym90aCB0aGVzZSBjYXNlcy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHB1YmxpYy9XZWJWaWV3Lmg6CisgICAgICAgIChXZWJWaWV3KToKKyAgICAg
ICAgKiBzcmMvV2ViVmlld0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6
c2V0RWRpdGFibGVTZWxlY3Rpb25PZmZzZXRzKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAg
ICogc3JjL1dlYlZpZXdJbXBsLmg6CisgICAgICAgIChXZWJWaWV3SW1wbCk6CisgICAgICAgICog
dGVzdHMvV2ViVmlld1Rlc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpURVNUX0YpOgorICAgICAg
ICAoV2ViS2l0KToKKwogMjAxMi0wNi0xNCAgWW9zaGlmdW1pIElub3VlICA8eW9zaW5AY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV1bRm9ybXNdIFdlIHNob3VsZCByZW1vdmUgRU5B
QkxFX0lOUFVUX1RZUEVfVElNRT0wIGFuZCBzbyBvbiB0byBhbGxvd3MgdXMgdG8gb3ZlcnJpZGUg
dGhlbSBieSB+Ly5neXAvaW5jbHVkZS5neXBpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJWaWV3LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJWaWV3LmgKaW5kZXggNTQyYjEwMjFhNjQ0NjVlMzg2YWI0M2Y0YWNjZTNiMGY4MzYxY2U5My4u
MWM1MDAyNDZmM2ZmZDk1YjliMjU1MWEwNWYzNDk5ZmQxODNmM2ZkMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYlZpZXcuaApAQCAtNDUzLDYgKzQ1Myw4IEBAIHB1YmxpYzoKICAg
ICAvLyBieSB0aGUgY29tcG9zaXRvcikgYnV0IG11c3QgYmUgY29tcGxldGVkIGJ5IHRoZSBXZWJW
aWV3LgogICAgIHZpcnR1YWwgdm9pZCB0cmFuc2ZlckFjdGl2ZVdoZWVsRmxpbmdBbmltYXRpb24o
Y29uc3QgV2ViQWN0aXZlV2hlZWxGbGluZ1BhcmFtZXRlcnMmKSA9IDA7CiAKKyAgICB2aXJ0dWFs
IHZvaWQgc2V0RWRpdGFibGVTZWxlY3Rpb25PZmZzZXRzKGludCBzdGFydCwgaW50IGVuZCkgPSAw
OworCiAgICAgLy8gVmlzaWJpbGl0eSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiAgICAgLy8gU2V0cyB0aGUgdmlzaWJpbGl0eSBv
ZiB0aGUgV2ViVmlldy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNw
cAppbmRleCBhYjY3NzUxZTczNGE1NGE1YTk0N2RjMzE1OTlmYTk2ZjNjZGI3ZWE1Li4zZDM0NGU2
MjgyZjc3NTJiMDJmZDkwZjQxOTQ4YWEzZjFmYWM4MjY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC0yMDg1LDYgKzIwODUsMzUgQEAgYm9vbCBXZWJW
aWV3SW1wbDo6c2VsZWN0aW9uVGV4dERpcmVjdGlvbihXZWJUZXh0RGlyZWN0aW9uJiBzdGFydCwg
V2ViVGV4dERpcmVjdGkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBXZWJWaWV3SW1wbDo6
c2V0RWRpdGFibGVTZWxlY3Rpb25PZmZzZXRzKGludCBzdGFydCwgaW50IGVuZCkKK3sKKyAgICBO
b2RlKiBub2RlID0gZm9jdXNlZFdlYkNvcmVOb2RlKCk7CisgICAgaWYgKG5vZGUgJiYgbm9kZS0+
aXNFbGVtZW50Tm9kZSgpKSB7CisgICAgICAgIEVsZW1lbnQqIGVsZW1lbnROb2RlID0gdG9FbGVt
ZW50KG5vZGUpOworICAgICAgICBpZiAoZWxlbWVudE5vZGUtPmlzVGV4dEZvcm1Db250cm9sKCkp
IHsKKyAgICAgICAgICAgIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50KiBmb3JtRWxlbWVudCA9
IHRvVGV4dEZvcm1Db250cm9sKGVsZW1lbnROb2RlKTsKKyAgICAgICAgICAgIGZvcm1FbGVtZW50
LT5zZXRTZWxlY3Rpb25SYW5nZShzdGFydCwgZW5kKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQorICAgIH0KKworICAgIC8vIEZvciBjb250ZW50ZWRpdGFibGUgbm9kZXMgdGhlIGZv
Y3VzZWRXZWJDb3JlTm9kZSBtYXkgbm90IGJlIHdoYXQgd2Ugd2FudCAodGhlIGVkaXRhYmxlCisg
ICAgLy8gbm9kZSBtYXkgbm90IGJlIGZvY3VzZWQgZXZlbiBkdXJpbmcgZWRpdGluZykuIEFsc28s
IHdlIG5lZWQgdG8gZ28gdG8gdGhlIGFuY2VzdG9yIG5vZGUKKyAgICAvLyB0byBhcHBseSB0aGUg
b2Zmc2V0cy4KKyAgICBjb25zdCBGcmFtZSogZnJhbWUgPSBmb2N1c2VkV2ViQ29yZUZyYW1lKCk7
CisgICAgaWYgKCFmcmFtZSkKKyAgICAgICAgcmV0dXJuOworICAgIG5vZGUgPSBmcmFtZS0+c2Vs
ZWN0aW9uKCktPnN0YXJ0KCkuY29udGFpbmVyTm9kZSgpOworICAgIGlmIChub2RlICYmIG5vZGUt
PnNob3VsZFVzZUlucHV0TWV0aG9kKCkpIHsKKyAgICAgICAgbm9kZSA9IG5vZGUtPnNoYWRvd0Fu
Y2VzdG9yTm9kZSgpOworICAgICAgICBQb3NpdGlvbiBzdGFydFBvc2l0aW9uKG5vZGUsIHN0YXJ0
LCBQb3NpdGlvbjo6UG9zaXRpb25Jc09mZnNldEluQW5jaG9yKTsKKyAgICAgICAgUG9zaXRpb24g
ZW5kUG9zaXRpb24obm9kZSwgZW5kLCBQb3NpdGlvbjo6UG9zaXRpb25Jc09mZnNldEluQW5jaG9y
KTsKKyAgICAgICAgVmlzaWJsZVNlbGVjdGlvbiBuZXdTZWxlY3Rpb24oc3RhcnRQb3NpdGlvbiwg
ZW5kUG9zaXRpb24pOworICAgICAgICBpZiAoIW5ld1NlbGVjdGlvbi5pc05vbmUoKSkKKyAgICAg
ICAgICAgIGZyYW1lLT5zZWxlY3Rpb24oKS0+c2V0U2VsZWN0aW9uKG5ld1NlbGVjdGlvbik7Cisg
ICAgfQorfQorCiBib29sIFdlYlZpZXdJbXBsOjpjYXJldE9yU2VsZWN0aW9uUmFuZ2Uoc2l6ZV90
KiBsb2NhdGlvbiwgc2l6ZV90KiBsZW5ndGgpCiB7CiAgICAgY29uc3QgRnJhbWUqIGZvY3VzZWQg
PSBmb2N1c2VkV2ViQ29yZUZyYW1lKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJWaWV3SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmll
d0ltcGwuaAppbmRleCA3YmRkYTkwZjQwZDhlOGFjZTViMWE2YjY3YzY4ZWNjZjdhNmVlZjA1Li42
YmRjMmE2NDFmMmY2ZDE0OTZmNDE4ODhjYjdiYmY5YWI3YTNmMGUwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKQEAgLTE1MCw2ICsxNTAsNyBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCBib29sIGNvbXBvc2l0aW9uUmFuZ2Uoc2l6ZV90KiBsb2NhdGlvbiwgc2l6ZV90
KiBsZW5ndGgpOwogICAgIHZpcnR1YWwgV2ViVGV4dElucHV0SW5mbyB0ZXh0SW5wdXRJbmZvKCk7
CiAgICAgdmlydHVhbCBXZWJUZXh0SW5wdXRUeXBlIHRleHRJbnB1dFR5cGUoKTsKKyAgICB2aXJ0
dWFsIHZvaWQgc2V0RWRpdGFibGVTZWxlY3Rpb25PZmZzZXRzKGludCBzdGFydCwgaW50IGVuZCk7
CiAgICAgdmlydHVhbCBib29sIHNlbGVjdGlvbkJvdW5kcyhXZWJSZWN0JiBzdGFydCwgV2ViUmVj
dCYgZW5kKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgc2VsZWN0aW9uVGV4dERpcmVjdGlvbihX
ZWJUZXh0RGlyZWN0aW9uJiBzdGFydCwgV2ViVGV4dERpcmVjdGlvbiYgZW5kKSBjb25zdDsKICAg
ICB2aXJ0dWFsIGJvb2wgY2FyZXRPclNlbGVjdGlvblJhbmdlKHNpemVfdCogbG9jYXRpb24sIHNp
emVfdCogbGVuZ3RoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMv
V2ViVmlld1Rlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJWaWV3VGVz
dC5jcHAKaW5kZXggYWVmNWM5NGNlYWFiYjEwNDAyYTY4MmFlMmFhYWYxZmVlNGZkYzAwOC4uZjg1
OGZlN2I1ODFlN2IxODNjNGI0YmQ1YTMzNzI3NGJlMDYxOWM1OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJWaWV3VGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS90ZXN0cy9XZWJWaWV3VGVzdC5jcHAKQEAgLTMwNiw0ICszMDYsMjMgQEAgVEVT
VF9GKFdlYlZpZXdUZXN0LCBESVNBQkxFRF9UZXh0SW5wdXRUeXBlKQogCiB9CiAKK1RFU1RfRihX
ZWJWaWV3VGVzdCwgU2V0RWRpdGFibGVTZWxlY3Rpb25PZmZzZXRzKQoreworICAgIEZyYW1lVGVz
dEhlbHBlcnM6OnJlZ2lzdGVyTW9ja2VkVVJMTG9hZChtX2Jhc2VVUkwsICJpbnB1dF9maWVsZF9w
b3B1bGF0ZWQuaHRtbCIpOworICAgIFdlYlZpZXcqIHdlYlZpZXcgPSBGcmFtZVRlc3RIZWxwZXJz
OjpjcmVhdGVXZWJWaWV3QW5kTG9hZChtX2Jhc2VVUkwgKyAiaW5wdXRfZmllbGRfcG9wdWxhdGVk
Lmh0bWwiKTsKKyAgICB3ZWJWaWV3LT5zZXRJbml0aWFsRm9jdXMoZmFsc2UpOworICAgIHdlYlZp
ZXctPnNldEVkaXRhYmxlU2VsZWN0aW9uT2Zmc2V0cyg1LCAxMyk7CisgICAgV2ViRnJhbWVJbXBs
KiBmcmFtZSA9IHN0YXRpY19jYXN0PFdlYkZyYW1lSW1wbCo+KHdlYlZpZXctPm1haW5GcmFtZSgp
KTsKKyAgICBFWFBFQ1RfRVEoIjU2Nzg5YWJjIiwgZnJhbWUtPnNlbGVjdGlvbkFzVGV4dCgpKTsK
KyAgICB3ZWJWaWV3LT5jbG9zZSgpOworCisgICAgRnJhbWVUZXN0SGVscGVyczo6cmVnaXN0ZXJN
b2NrZWRVUkxMb2FkKG1fYmFzZVVSTCwgImNvbnRlbnRfZWRpdGFibGVfcG9wdWxhdGVkLmh0bWwi
KTsKKyAgICB3ZWJWaWV3ID0gRnJhbWVUZXN0SGVscGVyczo6Y3JlYXRlV2ViVmlld0FuZExvYWQo
bV9iYXNlVVJMICsgImNvbnRlbnRfZWRpdGFibGVfcG9wdWxhdGVkLmh0bWwiKTsKKyAgICB3ZWJW
aWV3LT5zZXRJbml0aWFsRm9jdXMoZmFsc2UpOworICAgIHdlYlZpZXctPnNldEVkaXRhYmxlU2Vs
ZWN0aW9uT2Zmc2V0cyg4LCAxOSk7CisgICAgZnJhbWUgPSBzdGF0aWNfY2FzdDxXZWJGcmFtZUlt
cGwqPih3ZWJWaWV3LT5tYWluRnJhbWUoKSk7CisgICAgRVhQRUNUX0VRKCI4OWFiY2RlZmdoaSIs
IGZyYW1lLT5zZWxlY3Rpb25Bc1RleHQoKSk7CisgICAgd2ViVmlldy0+Y2xvc2UoKTsKK30KKwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9kYXRhL2NvbnRlbnRf
ZWRpdGFibGVfcG9wdWxhdGVkLmh0bWwgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL2Rh
dGEvY29udGVudF9lZGl0YWJsZV9wb3B1bGF0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMGQyYTU5YTc2
ZGRlYjRkM2ZjM2Q4NGZlZjJlYTU1OTliNjdhMWFkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS90ZXN0cy9kYXRhL2NvbnRlbnRfZWRpdGFibGVfcG9wdWxhdGVkLmh0
bWwKQEAgLTAsMCArMSBAQAorPHNwYW4gY29udGVudGVkaXRhYmxlPSJ0cnVlIj4wMTIzNDU2Nzg5
YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXo8L3NwYW4+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3Rlc3RzL2RhdGEvaW5wdXRfZmllbGRfcG9wdWxhdGVkLmh0bWwgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL2RhdGEvaW5wdXRfZmllbGRfcG9wdWxhdGVkLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNDg4OWFkNDkxMTE1OGU1NDI5YWE3NzdhODc3OTU4NGM0MTBkYzYwOQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvZGF0YS9pbnB1dF9m
aWVsZF9wb3B1bGF0ZWQuaHRtbApAQCAtMCwwICsxIEBACis8aW5wdXQgdmFsdWU9JzAxMjM0NTY3
ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eicvPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147835</attachid>
            <date>2012-06-15 09:26:41 -0700</date>
            <delta_ts>2012-06-21 13:43:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89098-20120615172640.patch</filename>
            <type>text/plain</type>
            <size>9013</size>
            <attacher name="Oli Lan">olilan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNDY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzkxMTEwOTU3OGM1MzVi
NmQwOTFiMDM2YzJkNDFiYmY0OGYwYTA5NC4uZTE1NTE2ZWM1MDgxYzBjN2ExOTY5N2RjYWMzNGQ3
ZDIyMGI1NjdkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTA2LTE1ICBPbGkg
TGFuICA8b2xpbGFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgbWV0aG9kcyB0byBzZWxl
Y3QgYmV0d2VlbiBvZmZzZXRzIGluIGFuIGVkaXRhYmxlIGZpZWxkLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODkwOTgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRzIGEgbmV3IG1ldGhvZCBzZXRTZWxl
Y3Rpb25PZmZzZXRzIHRvIEVkaXRvci4gVGhpcyBzZWxlY3RzIGJldHdlZW4KKyAgICAgICAgdGhl
IHR3byBpbnRlZ2VyIG9mZnNldHMgcHJvdmlkZWQgaW4gdGhlIG5vZGUgY3VycmVudGx5IGJlaW5n
IGVkaXRlZCwKKyAgICAgICAgYXNzdW1pbmcgdGhlIG9mZnNldHMgYXJlIGdpdmVuIHJlbGF0aXZl
IHRvIHRoZSByb290RWRpdGFibGVFbGVtZW50LgorICAgICAgICBJZiBubyBub2RlIG9yIGZpZWxk
IGlzIGN1cnJlbnRseSBiZWluZyBlZGl0ZWQsIHRoZSBtZXRob2QgcmV0dXJucyBmYWxzZS4KKyAg
ICAgICAgCisgICAgICAgIFRlc3Q6IGEgbmV3IHRlc3QgaGFzIGJlZW4gYWRkZWQgdG8gdGhlIGNo
cm9taXVtIHBvcnQncyBXZWJWaWV3VGVzdCB0aGF0CisgICAgICAgIGNhbGxzIHRoaXMgdmlhIFdl
YlZpZXdJbXBsOjpzZXRTZWxlY3Rpb25FZGl0YWJsZU9mZnNldHMuCisgICAgICAgIAorICAgICAg
ICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6c2V0U2Vs
ZWN0aW9uT2Zmc2V0cyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBlZGl0aW5nL0Vk
aXRvci5oOgorICAgICAgICAoRWRpdG9yKToKKwogMjAxMi0wNi0xNSAgRmxvcmluIE1hbGl0YSAg
PGZtYWxpdGFAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFNwZWN1bGFyIGxpZ2h0IGZpbHRlcnMg
cHJvZHVjZSBkYXJrIHJlc3VsdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggYmVlOTYz
OGJmM2I0MzUzYWFkYWYwODZhZTQwMzRkNTNhNGZkMDU1ZC4uYWNlZjdlY2MyNGRkZGEyOTQ5MTA2
MGRlNDc3NTg3ZWZmYjViYWY4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzOCBAQAorMjAxMi0wNi0xNSAgT2xpIExhbiAgPG9saWxhbkBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgQWRkIG1ldGhvZHMgdG8gc2VsZWN0IGJldHdlZW4gb2Zmc2V0cyBpbiBhbiBlZGl0YWJs
ZSBmaWVsZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg5MDk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhpcyBhZGRzIGEgbmV3IG1ldGhvZCBXZWJWaWV3SW1wbDo6c2V0RWRpdGFibGVTZWxlY3Rpb25P
ZmZzZXRzLCB3aGljaAorICAgICAgICBjYW4gYmUgdXNlZCB0byBzZWxlY3QgYmV0d2VlbiB0d28g
Y2hhcmFjdGVyIHBvc2l0aW9ucyBpbiB0aGUgbm9kZQorICAgICAgICBjdXJyZW50bHkgYmVpZ24g
ZWRpdGVkLgorCisgICAgICAgIFRoZSBvZmZzZXRzIGFyZSBhc3N1bWVkIHRvIGJlIHJlbGF0aXZl
IHRvIHRoZSByb290RWRpdGFibGVFbGVtZW50LgorICAgICAgICAKKyAgICAgICAgVGhpcyBjYW4g
YmUgdXNlZCBmb3IgSU1FIGZlYXR1cmVzIHRoYXQgcmVxdWlyZSB0aGUgYWJpbGl0eSB0byBtYW5p
cHVsYXRlCisgICAgICAgIHRoZSBzZWxlY3Rpb24sIGZvciBleGFtcGxlIG9uIEFuZHJvaWQgd2hl
cmUgdGhlIG1ldGhvZCBJbnB1dENvbm5lY3Rpb24jc2V0U2VsZWN0aW9uCisgICAgICAgIGlzIHVz
ZWQuCisKKyAgICAgICAgVGhpcyBtZXRob2QgY2FsbHMgYSBuZXcgbWV0aG9kIEVkaXRvcjo6c2V0
U2VsZWN0aW9uT2Zmc2V0cy4KKworICAgICAgICBUaGUgbWV0aG9kIHdvcmtzIGZvciBpbnB1dHMv
dGV4dGFyZWFzIChpLmUuIHRleHQgZm9ybSBjb250cm9scykgYW5kCisgICAgICAgIGNvbnRlbnRl
ZGl0YWJsZSBub2RlcywgYW5kIHRoZSBuZXcgdGVzdCBpbiBXZWJWaWV3VGVzdCB0ZXN0cyBib3Ro
IHRoZXNlIGNhc2VzLgorCisgICAgICAgICogcHVibGljL1dlYlZpZXcuaDoKKyAgICAgICAgKFdl
YlZpZXcpOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlZpZXdJbXBsOjpzZXRFZGl0YWJsZVNlbGVjdGlvbk9mZnNldHMpOgorICAgICAgICAoV2Vi
S2l0KToKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuaDoKKyAgICAgICAgKFdlYlZpZXdJbXBs
KToKKyAgICAgICAgKiB0ZXN0cy9XZWJWaWV3VGVzdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlRF
U1RfRik6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIHRlc3RzL2RhdGEvY29udGVudF9l
ZGl0YWJsZV9wb3B1bGF0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogdGVzdHMvZGF0YS9pbnB1
dF9maWVsZF9wb3B1bGF0ZWQuaHRtbDogQWRkZWQuCisKIDIwMTItMDYtMTUgIFNhbWkgS3lvc3Rp
bGEgIDxza3lvc3RpbEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBBbGxvdyBz
Y3JvbGxpbmcgbm9uLXJvb3QgbGF5ZXJzIGluIHRoZSBjb21wb3NpdG9yIHRocmVhZApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9FZGl0b3IuY3BwCmluZGV4IDM5YzlkM2NlYWFiZjRjNzMzZWI2ZWIxNTU3NzNjNmRm
YTRjYjcyOTYuLjVkY2EzNTdmNmMyMzliZjNmNWJjNGZiOTcwZGUyNjY0YzE5ZDkzODIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL0VkaXRvci5jcHAKQEAgLTIzNDcsNiArMjM0NywxOSBAQCBib29sIEVkaXRv
cjo6Z2V0Q29tcG9zaXRpb25TZWxlY3Rpb24odW5zaWduZWQmIHNlbGVjdGlvblN0YXJ0LCB1bnNp
Z25lZCYgc2VsZWN0aQogICAgIHJldHVybiB0cnVlOwogfQogCitib29sIEVkaXRvcjo6c2V0U2Vs
ZWN0aW9uT2Zmc2V0cyhpbnQgc2VsZWN0aW9uU3RhcnQsIGludCBzZWxlY3Rpb25FbmQpCit7Cisg
ICAgRWxlbWVudCogcm9vdEVkaXRhYmxlID0gbV9mcmFtZS0+c2VsZWN0aW9uKCktPnJvb3RFZGl0
YWJsZUVsZW1lbnQoKTsKKyAgICBpZiAoIXJvb3RFZGl0YWJsZSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgUmVmUHRyPFJhbmdlPiByYW5nZSA9IFRleHRJdGVyYXRvcjo6cmFuZ2VGcm9t
TG9jYXRpb25BbmRMZW5ndGgocm9vdEVkaXRhYmxlLCBzZWxlY3Rpb25TdGFydCwgc2VsZWN0aW9u
RW5kIC0gc2VsZWN0aW9uU3RhcnQpOworICAgIGlmICghcmFuZ2UpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgIHJldHVybiBtX2ZyYW1lLT5zZWxlY3Rpb24oKS0+c2V0U2VsZWN0ZWRSYW5n
ZShyYW5nZS5nZXQoKSwgV2ViQ29yZTo6VlBfREVGQVVMVF9BRkZJTklUWSwgZmFsc2UpOworfQor
CiB2b2lkIEVkaXRvcjo6dHJhbnNwb3NlKCkKIHsKICAgICBpZiAoIWNhbkVkaXQoKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0VkaXRvci5oCmluZGV4IGNiMTBiYzVhZjZhMGI2Yjg1MjhjZmFkYzMyZGYyODJiNDg1
NjM4M2QuLjJjM2YwNGZjODExMmEwOWI2ZDYzNzU2M2FhYTc1OWVmNTliMzFjYTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9FZGl0b3IuaApAQCAtMjk1LDYgKzI5NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGNh
bmNlbENvbXBvc2l0aW9uKCk7CiAgICAgUGFzc1JlZlB0cjxSYW5nZT4gY29tcG9zaXRpb25SYW5n
ZSgpIGNvbnN0OwogICAgIGJvb2wgZ2V0Q29tcG9zaXRpb25TZWxlY3Rpb24odW5zaWduZWQmIHNl
bGVjdGlvblN0YXJ0LCB1bnNpZ25lZCYgc2VsZWN0aW9uRW5kKSBjb25zdDsKKyAgICBib29sIHNl
dFNlbGVjdGlvbk9mZnNldHMoaW50IHNlbGVjdGlvblN0YXJ0LCBpbnQgc2VsZWN0aW9uRW5kKTsK
IAogICAgIC8vIGdldHRpbmcgaW50ZXJuYXRpb25hbCB0ZXh0IGlucHV0IGNvbXBvc2l0aW9uIHN0
YXRlIChmb3IgdXNlIGJ5IElubGluZVRleHRCb3gpCiAgICAgVGV4dCogY29tcG9zaXRpb25Ob2Rl
KCkgY29uc3QgeyByZXR1cm4gbV9jb21wb3NpdGlvbk5vZGUuZ2V0KCk7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXcuaCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYlZpZXcuaAppbmRleCA1NDJiMTAyMWE2NDQ2NWUzODZhYjQzZjRh
Y2NlM2IwZjgzNjFjZTkzLi4xZTU4ODJkMWEwYzNhZGQ4ODdlYWUzZTI4ZTkxZTZmNmU2YzhjZWE1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3LmgKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlldy5oCkBAIC00NTMsNiArNDUz
LDggQEAgcHVibGljOgogICAgIC8vIGJ5IHRoZSBjb21wb3NpdG9yKSBidXQgbXVzdCBiZSBjb21w
bGV0ZWQgYnkgdGhlIFdlYlZpZXcuCiAgICAgdmlydHVhbCB2b2lkIHRyYW5zZmVyQWN0aXZlV2hl
ZWxGbGluZ0FuaW1hdGlvbihjb25zdCBXZWJBY3RpdmVXaGVlbEZsaW5nUGFyYW1ldGVycyYpID0g
MDsKIAorICAgIHZpcnR1YWwgYm9vbCBzZXRFZGl0YWJsZVNlbGVjdGlvbk9mZnNldHMoaW50IHN0
YXJ0LCBpbnQgZW5kKSA9IDA7CisKICAgICAvLyBWaXNpYmlsaXR5IC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKICAgICAvLyBTZXRz
IHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBXZWJWaWV3LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViVmlld0ltcGwuY3BwCmluZGV4IDNkMzIyNjU2MGEzNzJiNTNhNWYzNDNiZDhiMDQ4ZmRm
MjZlZDI4NzcuLmQ3MTU0NGUzMWFjMjQ5NjhhYWJjZGJmMTE0NzYwMjQ1ODJlYmQ0MTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKQEAgLTIwODYsNiArMjA4
NiwxOSBAQCBib29sIFdlYlZpZXdJbXBsOjpzZWxlY3Rpb25UZXh0RGlyZWN0aW9uKFdlYlRleHRE
aXJlY3Rpb24mIHN0YXJ0LCBXZWJUZXh0RGlyZWN0aQogICAgIHJldHVybiB0cnVlOwogfQogCiti
b29sIFdlYlZpZXdJbXBsOjpzZXRFZGl0YWJsZVNlbGVjdGlvbk9mZnNldHMoaW50IHN0YXJ0LCBp
bnQgZW5kKQoreworICAgIGNvbnN0IEZyYW1lKiBmb2N1c2VkID0gZm9jdXNlZFdlYkNvcmVGcmFt
ZSgpOworICAgIGlmICghZm9jdXNlZCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgRWRp
dG9yKiBlZGl0b3IgPSBmb2N1c2VkLT5lZGl0b3IoKTsKKyAgICBpZiAoIWVkaXRvciB8fCAhZWRp
dG9yLT5jYW5FZGl0KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiBlZGl0
b3ItPnNldFNlbGVjdGlvbk9mZnNldHMoc3RhcnQsIGVuZCk7Cit9CisKIGJvb2wgV2ViVmlld0lt
cGw6OmNhcmV0T3JTZWxlY3Rpb25SYW5nZShzaXplX3QqIGxvY2F0aW9uLCBzaXplX3QqIGxlbmd0
aCkKIHsKICAgICBjb25zdCBGcmFtZSogZm9jdXNlZCA9IGZvY3VzZWRXZWJDb3JlRnJhbWUoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmggYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCmluZGV4IDRmNWMwNDhkOTc3
NDJhZDU5YjE1ZWNiMzQzZDg1YzhkM2EwMzE4NmYuLjcwYzYyMmNmZTkxZTYwZjM2M2MxMWVmODNm
M2Q4NWViMjdkMmU0NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlZpZXdJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwu
aApAQCAtMTUwLDYgKzE1MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgY29tcG9zaXRp
b25SYW5nZShzaXplX3QqIGxvY2F0aW9uLCBzaXplX3QqIGxlbmd0aCk7CiAgICAgdmlydHVhbCBX
ZWJUZXh0SW5wdXRJbmZvIHRleHRJbnB1dEluZm8oKTsKICAgICB2aXJ0dWFsIFdlYlRleHRJbnB1
dFR5cGUgdGV4dElucHV0VHlwZSgpOworICAgIHZpcnR1YWwgYm9vbCBzZXRFZGl0YWJsZVNlbGVj
dGlvbk9mZnNldHMoaW50IHN0YXJ0LCBpbnQgZW5kKTsKICAgICB2aXJ0dWFsIGJvb2wgc2VsZWN0
aW9uQm91bmRzKFdlYlJlY3QmIHN0YXJ0LCBXZWJSZWN0JiBlbmQpIGNvbnN0OwogICAgIHZpcnR1
YWwgYm9vbCBzZWxlY3Rpb25UZXh0RGlyZWN0aW9uKFdlYlRleHREaXJlY3Rpb24mIHN0YXJ0LCBX
ZWJUZXh0RGlyZWN0aW9uJiBlbmQpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBjYXJldE9yU2Vs
ZWN0aW9uUmFuZ2Uoc2l6ZV90KiBsb2NhdGlvbiwgc2l6ZV90KiBsZW5ndGgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJWaWV3VGVzdC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dlYlZpZXdUZXN0LmNwcAppbmRleCBhZWY1Yzk0Y2VhYWJi
MTA0MDJhNjgyYWUyYWFhZjFmZWU0ZmRjMDA4Li5mODU4ZmU3YjU4MWU3YjE4M2M0YjRiZDVhMzM3
Mjc0YmUwNjE5YzU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dl
YlZpZXdUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dlYlZpZXdU
ZXN0LmNwcApAQCAtMzA2LDQgKzMwNiwyMyBAQCBURVNUX0YoV2ViVmlld1Rlc3QsIERJU0FCTEVE
X1RleHRJbnB1dFR5cGUpCiAKIH0KIAorVEVTVF9GKFdlYlZpZXdUZXN0LCBTZXRFZGl0YWJsZVNl
bGVjdGlvbk9mZnNldHMpCit7CisgICAgRnJhbWVUZXN0SGVscGVyczo6cmVnaXN0ZXJNb2NrZWRV
UkxMb2FkKG1fYmFzZVVSTCwgImlucHV0X2ZpZWxkX3BvcHVsYXRlZC5odG1sIik7CisgICAgV2Vi
Vmlldyogd2ViVmlldyA9IEZyYW1lVGVzdEhlbHBlcnM6OmNyZWF0ZVdlYlZpZXdBbmRMb2FkKG1f
YmFzZVVSTCArICJpbnB1dF9maWVsZF9wb3B1bGF0ZWQuaHRtbCIpOworICAgIHdlYlZpZXctPnNl
dEluaXRpYWxGb2N1cyhmYWxzZSk7CisgICAgd2ViVmlldy0+c2V0RWRpdGFibGVTZWxlY3Rpb25P
ZmZzZXRzKDUsIDEzKTsKKyAgICBXZWJGcmFtZUltcGwqIGZyYW1lID0gc3RhdGljX2Nhc3Q8V2Vi
RnJhbWVJbXBsKj4od2ViVmlldy0+bWFpbkZyYW1lKCkpOworICAgIEVYUEVDVF9FUSgiNTY3ODlh
YmMiLCBmcmFtZS0+c2VsZWN0aW9uQXNUZXh0KCkpOworICAgIHdlYlZpZXctPmNsb3NlKCk7CisK
KyAgICBGcmFtZVRlc3RIZWxwZXJzOjpyZWdpc3Rlck1vY2tlZFVSTExvYWQobV9iYXNlVVJMLCAi
Y29udGVudF9lZGl0YWJsZV9wb3B1bGF0ZWQuaHRtbCIpOworICAgIHdlYlZpZXcgPSBGcmFtZVRl
c3RIZWxwZXJzOjpjcmVhdGVXZWJWaWV3QW5kTG9hZChtX2Jhc2VVUkwgKyAiY29udGVudF9lZGl0
YWJsZV9wb3B1bGF0ZWQuaHRtbCIpOworICAgIHdlYlZpZXctPnNldEluaXRpYWxGb2N1cyhmYWxz
ZSk7CisgICAgd2ViVmlldy0+c2V0RWRpdGFibGVTZWxlY3Rpb25PZmZzZXRzKDgsIDE5KTsKKyAg
ICBmcmFtZSA9IHN0YXRpY19jYXN0PFdlYkZyYW1lSW1wbCo+KHdlYlZpZXctPm1haW5GcmFtZSgp
KTsKKyAgICBFWFBFQ1RfRVEoIjg5YWJjZGVmZ2hpIiwgZnJhbWUtPnNlbGVjdGlvbkFzVGV4dCgp
KTsKKyAgICB3ZWJWaWV3LT5jbG9zZSgpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3Rlc3RzL2RhdGEvY29udGVudF9lZGl0YWJsZV9wb3B1bGF0ZWQuaHRtbCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvZGF0YS9jb250ZW50X2VkaXRhYmxlX3BvcHVs
YXRlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYwZDJhNTlhNzZkZGViNGQzZmMzZDg0ZmVmMmVhNTU5OWI2
N2ExYWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL2Rh
dGEvY29udGVudF9lZGl0YWJsZV9wb3B1bGF0ZWQuaHRtbApAQCAtMCwwICsxIEBACis8c3BhbiBj
b250ZW50ZWRpdGFibGU9InRydWUiPjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5
ejwvc3Bhbj4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvZGF0YS9p
bnB1dF9maWVsZF9wb3B1bGF0ZWQuaHRtbCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMv
ZGF0YS9pbnB1dF9maWVsZF9wb3B1bGF0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ODg5YWQ0OTExMTU4
ZTU0MjlhYTc3N2E4Nzc5NTg0YzQxMGRjNjA5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS90ZXN0cy9kYXRhL2lucHV0X2ZpZWxkX3BvcHVsYXRlZC5odG1sCkBAIC0w
LDAgKzEgQEAKKzxpbnB1dCB2YWx1ZT0nMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3
eHl6Jy8+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148878</attachid>
            <date>2012-06-21 13:43:38 -0700</date>
            <delta_ts>2012-06-21 17:49:41 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-89098-20120621134338.patch</filename>
            <type>text/plain</type>
            <size>9123</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwODYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2NlNzY5NjRiN2JjYzIw
YzBlMTIxYmQwZWU1ODE2MDFlNzgzZThhZC4uNzYxZGFjYzA3NTVmZmVkNzRiYjkwNGEwMGQ5OTA1
Mjk0YzYzYzQzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA2LTIxICBPbGkg
TGFuICA8b2xpbGFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgbWV0aG9kcyB0byBzZWxl
Y3QgYmV0d2VlbiBvZmZzZXRzIGluIGFuIGVkaXRhYmxlIGZpZWxkLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODkwOTgKKworICAgICAgICBSZXZpZXdl
ZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgor
CisgICAgICAgIEFkZHMgYSBuZXcgbWV0aG9kIHNldFNlbGVjdGlvbk9mZnNldHMgdG8gRWRpdG9y
LiBUaGlzIHNlbGVjdHMgYmV0d2VlbgorICAgICAgICB0aGUgdHdvIGludGVnZXIgb2Zmc2V0cyBw
cm92aWRlZCBpbiB0aGUgbm9kZSBjdXJyZW50bHkgYmVpbmcgZWRpdGVkLAorICAgICAgICBhc3N1
bWluZyB0aGUgb2Zmc2V0cyBhcmUgZ2l2ZW4gcmVsYXRpdmUgdG8gdGhlIHJvb3RFZGl0YWJsZUVs
ZW1lbnQuCisgICAgICAgIElmIG5vIG5vZGUgb3IgZmllbGQgaXMgY3VycmVudGx5IGJlaW5nIGVk
aXRlZCwgdGhlIG1ldGhvZCByZXR1cm5zIGZhbHNlLgorICAgICAgICAKKyAgICAgICAgVGVzdDog
YSBuZXcgdGVzdCBoYXMgYmVlbiBhZGRlZCB0byB0aGUgY2hyb21pdW0gcG9ydCdzIFdlYlZpZXdU
ZXN0IHRoYXQKKyAgICAgICAgY2FsbHMgdGhpcyB2aWEgV2ViVmlld0ltcGw6OnNldFNlbGVjdGlv
bkVkaXRhYmxlT2Zmc2V0cy4KKyAgICAgICAgCisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjpzZXRTZWxlY3Rpb25PZmZzZXRzKToKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmg6CisgICAgICAgIChFZGl0
b3IpOgorCiAyMDEyLTA2LTIwICBBYmhpc2hlayBBcnlhICA8aW5mZXJub0BjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgQ3Jhc2ggb24gYWNjZXNzaW5nIGEgcmVtb3ZlZCByZW5kZXJlciBmcm9tIHBl
cmNlbnQgaGVpZ2h0IGRlc2NlbmRhbnQgbWFwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRl
eCA2ODM0NmFlNzVlYWZkMzhiYTc1NWY5MWViZDZiZGFmYTA0NjU5OWJkLi44OTVmMGIwNTg1YWUz
MmRhZDRjMTkzZmUxN2RhZTU3YzNmZDcwZmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDQwIEBACisyMDEyLTA2LTIxICBPbGkgTGFuICA8b2xpbGFuQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBBZGQgbWV0aG9kcyB0byBzZWxlY3QgYmV0d2VlbiBvZmZzZXRzIGluIGFu
IGVkaXRhYmxlIGZpZWxkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODkwOTgKKworICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgIFRoaXMgYWRkcyBhIG5l
dyBtZXRob2QgV2ViVmlld0ltcGw6OnNldEVkaXRhYmxlU2VsZWN0aW9uT2Zmc2V0cywgd2hpY2gK
KyAgICAgICAgY2FuIGJlIHVzZWQgdG8gc2VsZWN0IGJldHdlZW4gdHdvIGNoYXJhY3RlciBwb3Np
dGlvbnMgaW4gdGhlIG5vZGUKKyAgICAgICAgY3VycmVudGx5IGJlaWduIGVkaXRlZC4KKworICAg
ICAgICBUaGUgb2Zmc2V0cyBhcmUgYXNzdW1lZCB0byBiZSByZWxhdGl2ZSB0byB0aGUgcm9vdEVk
aXRhYmxlRWxlbWVudC4KKyAgICAgICAgCisgICAgICAgIFRoaXMgY2FuIGJlIHVzZWQgZm9yIElN
RSBmZWF0dXJlcyB0aGF0IHJlcXVpcmUgdGhlIGFiaWxpdHkgdG8gbWFuaXB1bGF0ZQorICAgICAg
ICB0aGUgc2VsZWN0aW9uLCBmb3IgZXhhbXBsZSBvbiBBbmRyb2lkIHdoZXJlIHRoZSBtZXRob2Qg
SW5wdXRDb25uZWN0aW9uI3NldFNlbGVjdGlvbgorICAgICAgICBpcyB1c2VkLgorCisgICAgICAg
IFRoaXMgbWV0aG9kIGNhbGxzIGEgbmV3IG1ldGhvZCBFZGl0b3I6OnNldFNlbGVjdGlvbk9mZnNl
dHMuCisKKyAgICAgICAgVGhlIG1ldGhvZCB3b3JrcyBmb3IgaW5wdXRzL3RleHRhcmVhcyAoaS5l
LiB0ZXh0IGZvcm0gY29udHJvbHMpIGFuZAorICAgICAgICBjb250ZW50ZWRpdGFibGUgbm9kZXMs
IGFuZCB0aGUgbmV3IHRlc3QgaW4gV2ViVmlld1Rlc3QgdGVzdHMgYm90aCB0aGVzZSBjYXNlcy4K
KworICAgICAgICAqIHB1YmxpYy9XZWJWaWV3Lmg6CisgICAgICAgIChXZWJWaWV3KToKKyAgICAg
ICAgKiBzcmMvV2ViVmlld0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6
c2V0RWRpdGFibGVTZWxlY3Rpb25PZmZzZXRzKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAg
ICogc3JjL1dlYlZpZXdJbXBsLmg6CisgICAgICAgIChXZWJWaWV3SW1wbCk6CisgICAgICAgICog
dGVzdHMvV2ViVmlld1Rlc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpURVNUX0YpOgorICAgICAg
ICAoV2ViS2l0KToKKyAgICAgICAgKiB0ZXN0cy9kYXRhL2NvbnRlbnRfZWRpdGFibGVfcG9wdWxh
dGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHRlc3RzL2RhdGEvaW5wdXRfZmllbGRfcG9wdWxh
dGVkLmh0bWw6IEFkZGVkLgorCiAyMDEyLTA2LTE5ICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBTZXBhcmF0ZSBMYXllclJlbmRlcmVy
IGluaXRpYWxpemF0aW9uIGZyb20gdXBkYXRlTGF5ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL0VkaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5j
cHAKaW5kZXggMzljOWQzY2VhYWJmNGM3MzNlYjZlYjE1NTc3M2M2ZGZhNGNiNzI5Ni4uYjhhYTU3
MmIzODdmN2U5MzljM2MzOTY0ZjUyNzFjZmIyYzRiZGM5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRp
dG9yLmNwcApAQCAtMjM0Nyw2ICsyMzQ3LDE5IEBAIGJvb2wgRWRpdG9yOjpnZXRDb21wb3NpdGlv
blNlbGVjdGlvbih1bnNpZ25lZCYgc2VsZWN0aW9uU3RhcnQsIHVuc2lnbmVkJiBzZWxlY3RpCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgRWRpdG9yOjpzZXRTZWxlY3Rpb25PZmZzZXRzKGlu
dCBzZWxlY3Rpb25TdGFydCwgaW50IHNlbGVjdGlvbkVuZCkKK3sKKyAgICBFbGVtZW50KiByb290
RWRpdGFibGVFbGVtZW50ID0gbV9mcmFtZS0+c2VsZWN0aW9uKCktPnJvb3RFZGl0YWJsZUVsZW1l
bnQoKTsKKyAgICBpZiAoIXJvb3RFZGl0YWJsZUVsZW1lbnQpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKworICAgIFJlZlB0cjxSYW5nZT4gcmFuZ2UgPSBUZXh0SXRlcmF0b3I6OnJhbmdlRnJvbUxv
Y2F0aW9uQW5kTGVuZ3RoKHJvb3RFZGl0YWJsZUVsZW1lbnQsIHNlbGVjdGlvblN0YXJ0LCBzZWxl
Y3Rpb25FbmQgLSBzZWxlY3Rpb25TdGFydCk7CisgICAgaWYgKCFyYW5nZSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgcmV0dXJuIG1fZnJhbWUtPnNlbGVjdGlvbigpLT5zZXRTZWxlY3Rl
ZFJhbmdlKHJhbmdlLmdldCgpLCBWUF9ERUZBVUxUX0FGRklOSVRZLCBmYWxzZSk7Cit9CisKIHZv
aWQgRWRpdG9yOjp0cmFuc3Bvc2UoKQogewogICAgIGlmICghY2FuRWRpdCgpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRWRpdG9yLmgKaW5kZXggY2IxMGJjNWFmNmEwYjZiODUyOGNmYWRjMzJkZjI4MmI0ODU2Mzgz
ZC4uMmMzZjA0ZmM4MTEyYTA5YjZkNjM3NTYzYWFhNzU5ZWY1OWIzMWNhMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0VkaXRvci5oCkBAIC0yOTUsNiArMjk1LDcgQEAgcHVibGljOgogICAgIHZvaWQgY2FuY2Vs
Q29tcG9zaXRpb24oKTsKICAgICBQYXNzUmVmUHRyPFJhbmdlPiBjb21wb3NpdGlvblJhbmdlKCkg
Y29uc3Q7CiAgICAgYm9vbCBnZXRDb21wb3NpdGlvblNlbGVjdGlvbih1bnNpZ25lZCYgc2VsZWN0
aW9uU3RhcnQsIHVuc2lnbmVkJiBzZWxlY3Rpb25FbmQpIGNvbnN0OworICAgIGJvb2wgc2V0U2Vs
ZWN0aW9uT2Zmc2V0cyhpbnQgc2VsZWN0aW9uU3RhcnQsIGludCBzZWxlY3Rpb25FbmQpOwogCiAg
ICAgLy8gZ2V0dGluZyBpbnRlcm5hdGlvbmFsIHRleHQgaW5wdXQgY29tcG9zaXRpb24gc3RhdGUg
KGZvciB1c2UgYnkgSW5saW5lVGV4dEJveCkKICAgICBUZXh0KiBjb21wb3NpdGlvbk5vZGUoKSBj
b25zdCB7IHJldHVybiBtX2NvbXBvc2l0aW9uTm9kZS5nZXQoKTsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlldy5oIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViVmlldy5oCmluZGV4IDU0MmIxMDIxYTY0NDY1ZTM4NmFiNDNmNGFjY2Uz
YjBmODM2MWNlOTMuLjFlNTg4MmQxYTBjM2FkZDg4N2VhZTNlMjhlOTFlNmY2ZTZjOGNlYTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXcuaAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3LmgKQEAgLTQ1Myw2ICs0NTMsOCBA
QCBwdWJsaWM6CiAgICAgLy8gYnkgdGhlIGNvbXBvc2l0b3IpIGJ1dCBtdXN0IGJlIGNvbXBsZXRl
ZCBieSB0aGUgV2ViVmlldy4KICAgICB2aXJ0dWFsIHZvaWQgdHJhbnNmZXJBY3RpdmVXaGVlbEZs
aW5nQW5pbWF0aW9uKGNvbnN0IFdlYkFjdGl2ZVdoZWVsRmxpbmdQYXJhbWV0ZXJzJikgPSAwOwog
CisgICAgdmlydHVhbCBib29sIHNldEVkaXRhYmxlU2VsZWN0aW9uT2Zmc2V0cyhpbnQgc3RhcnQs
IGludCBlbmQpID0gMDsKKwogICAgIC8vIFZpc2liaWxpdHkgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogICAgIC8vIFNldHMgdGhl
IHZpc2liaWxpdHkgb2YgdGhlIFdlYlZpZXcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJWaWV3SW1wbC5jcHAKaW5kZXggNjdiN2MwNDFlNjI4MzUyNmIwNzBlY2VhYTkxZDg0OTFiMjc5
NGE3NS4uOTM3MjVmM2IwYjg0MjgzYmRiZjc4ODBkZGIxZTI5NDk0YTk1OTMxNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcApAQCAtMjA4Niw2ICsyMDg2LDE5
IEBAIGJvb2wgV2ViVmlld0ltcGw6OnNlbGVjdGlvblRleHREaXJlY3Rpb24oV2ViVGV4dERpcmVj
dGlvbiYgc3RhcnQsIFdlYlRleHREaXJlY3RpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wg
V2ViVmlld0ltcGw6OnNldEVkaXRhYmxlU2VsZWN0aW9uT2Zmc2V0cyhpbnQgc3RhcnQsIGludCBl
bmQpCit7CisgICAgY29uc3QgRnJhbWUqIGZvY3VzZWQgPSBmb2N1c2VkV2ViQ29yZUZyYW1lKCk7
CisgICAgaWYgKCFmb2N1c2VkKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBFZGl0b3Iq
IGVkaXRvciA9IGZvY3VzZWQtPmVkaXRvcigpOworICAgIGlmICghZWRpdG9yIHx8ICFlZGl0b3It
PmNhbkVkaXQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIGVkaXRvci0+
c2V0U2VsZWN0aW9uT2Zmc2V0cyhzdGFydCwgZW5kKTsKK30KKwogYm9vbCBXZWJWaWV3SW1wbDo6
Y2FyZXRPclNlbGVjdGlvblJhbmdlKHNpemVfdCogbG9jYXRpb24sIHNpemVfdCogbGVuZ3RoKQog
ewogICAgIGNvbnN0IEZyYW1lKiBmb2N1c2VkID0gZm9jdXNlZFdlYkNvcmVGcmFtZSgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKaW5kZXggNGY1YzA0OGQ5Nzc0MmFk
NTliMTVlY2IzNDNkODVjOGQzYTAzMTg2Zi4uNzBjNjIyY2ZlOTFlNjBmMzYzYzExZWY4M2YzZDg1
ZWIyN2QyZTQ0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmll
d0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCkBA
IC0xNTAsNiArMTUwLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBjb21wb3NpdGlvblJh
bmdlKHNpemVfdCogbG9jYXRpb24sIHNpemVfdCogbGVuZ3RoKTsKICAgICB2aXJ0dWFsIFdlYlRl
eHRJbnB1dEluZm8gdGV4dElucHV0SW5mbygpOwogICAgIHZpcnR1YWwgV2ViVGV4dElucHV0VHlw
ZSB0ZXh0SW5wdXRUeXBlKCk7CisgICAgdmlydHVhbCBib29sIHNldEVkaXRhYmxlU2VsZWN0aW9u
T2Zmc2V0cyhpbnQgc3RhcnQsIGludCBlbmQpOwogICAgIHZpcnR1YWwgYm9vbCBzZWxlY3Rpb25C
b3VuZHMoV2ViUmVjdCYgc3RhcnQsIFdlYlJlY3QmIGVuZCkgY29uc3Q7CiAgICAgdmlydHVhbCBi
b29sIHNlbGVjdGlvblRleHREaXJlY3Rpb24oV2ViVGV4dERpcmVjdGlvbiYgc3RhcnQsIFdlYlRl
eHREaXJlY3Rpb24mIGVuZCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGNhcmV0T3JTZWxlY3Rp
b25SYW5nZShzaXplX3QqIGxvY2F0aW9uLCBzaXplX3QqIGxlbmd0aCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dlYlZpZXdUZXN0LmNwcCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vdGVzdHMvV2ViVmlld1Rlc3QuY3BwCmluZGV4IGFlZjVjOTRjZWFhYmIxMDQw
MmE2ODJhZTJhYWFmMWZlZTRmZGMwMDguLmY4NThmZTdiNTgxZTdiMTgzYzRiNGJkNWEzMzcyNzRi
ZTA2MTljNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViVmll
d1Rlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViVmlld1Rlc3Qu
Y3BwCkBAIC0zMDYsNCArMzA2LDIzIEBAIFRFU1RfRihXZWJWaWV3VGVzdCwgRElTQUJMRURfVGV4
dElucHV0VHlwZSkKIAogfQogCitURVNUX0YoV2ViVmlld1Rlc3QsIFNldEVkaXRhYmxlU2VsZWN0
aW9uT2Zmc2V0cykKK3sKKyAgICBGcmFtZVRlc3RIZWxwZXJzOjpyZWdpc3Rlck1vY2tlZFVSTExv
YWQobV9iYXNlVVJMLCAiaW5wdXRfZmllbGRfcG9wdWxhdGVkLmh0bWwiKTsKKyAgICBXZWJWaWV3
KiB3ZWJWaWV3ID0gRnJhbWVUZXN0SGVscGVyczo6Y3JlYXRlV2ViVmlld0FuZExvYWQobV9iYXNl
VVJMICsgImlucHV0X2ZpZWxkX3BvcHVsYXRlZC5odG1sIik7CisgICAgd2ViVmlldy0+c2V0SW5p
dGlhbEZvY3VzKGZhbHNlKTsKKyAgICB3ZWJWaWV3LT5zZXRFZGl0YWJsZVNlbGVjdGlvbk9mZnNl
dHMoNSwgMTMpOworICAgIFdlYkZyYW1lSW1wbCogZnJhbWUgPSBzdGF0aWNfY2FzdDxXZWJGcmFt
ZUltcGwqPih3ZWJWaWV3LT5tYWluRnJhbWUoKSk7CisgICAgRVhQRUNUX0VRKCI1Njc4OWFiYyIs
IGZyYW1lLT5zZWxlY3Rpb25Bc1RleHQoKSk7CisgICAgd2ViVmlldy0+Y2xvc2UoKTsKKworICAg
IEZyYW1lVGVzdEhlbHBlcnM6OnJlZ2lzdGVyTW9ja2VkVVJMTG9hZChtX2Jhc2VVUkwsICJjb250
ZW50X2VkaXRhYmxlX3BvcHVsYXRlZC5odG1sIik7CisgICAgd2ViVmlldyA9IEZyYW1lVGVzdEhl
bHBlcnM6OmNyZWF0ZVdlYlZpZXdBbmRMb2FkKG1fYmFzZVVSTCArICJjb250ZW50X2VkaXRhYmxl
X3BvcHVsYXRlZC5odG1sIik7CisgICAgd2ViVmlldy0+c2V0SW5pdGlhbEZvY3VzKGZhbHNlKTsK
KyAgICB3ZWJWaWV3LT5zZXRFZGl0YWJsZVNlbGVjdGlvbk9mZnNldHMoOCwgMTkpOworICAgIGZy
YW1lID0gc3RhdGljX2Nhc3Q8V2ViRnJhbWVJbXBsKj4od2ViVmlldy0+bWFpbkZyYW1lKCkpOwor
ICAgIEVYUEVDVF9FUSgiODlhYmNkZWZnaGkiLCBmcmFtZS0+c2VsZWN0aW9uQXNUZXh0KCkpOwor
ICAgIHdlYlZpZXctPmNsb3NlKCk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vdGVzdHMvZGF0YS9jb250ZW50X2VkaXRhYmxlX3BvcHVsYXRlZC5odG1sIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9kYXRhL2NvbnRlbnRfZWRpdGFibGVfcG9wdWxhdGVk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjBkMmE1OWE3NmRkZWI0ZDNmYzNkODRmZWYyZWE1NTk5YjY3YTFh
ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvZGF0YS9j
b250ZW50X2VkaXRhYmxlX3BvcHVsYXRlZC5odG1sCkBAIC0wLDAgKzEgQEAKKzxzcGFuIGNvbnRl
bnRlZGl0YWJsZT0idHJ1ZSI+MDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6PC9z
cGFuPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9kYXRhL2lucHV0
X2ZpZWxkX3BvcHVsYXRlZC5odG1sIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9kYXRh
L2lucHV0X2ZpZWxkX3BvcHVsYXRlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ4ODlhZDQ5MTExNThlNTQy
OWFhNzc3YTg3Nzk1ODRjNDEwZGM2MDkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3Rlc3RzL2RhdGEvaW5wdXRfZmllbGRfcG9wdWxhdGVkLmh0bWwKQEAgLTAsMCAr
MSBAQAorPGlucHV0IHZhbHVlPScwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXon
Lz4K
</data>

          </attachment>
      

    </bug>

</bugzilla>