<?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>73971</bug_id>
          
          <creation_ts>2011-12-06 18:24:41 -0800</creation_ts>
          <short_desc>[Chromium] WebFrame should have an interface to invoke spellchecking in arbitrarily</short_desc>
          <delta_ts>2012-01-20 00:42:48 -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>HTML Editing</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>0</everconfirmed>
          <reporter name="Shinya Kawanaka">shinyak</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>shinyak</cc>
    
    <cc>shinyak</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>516428</commentid>
    <comment_count>0</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2011-12-06 18:24:41 -0800</bug_when>
    <thetext>We should have an interface to invoke spellchecking to implement the following chromium issue.
http://code.google.com/p/chromium/issues/detail?id=21225</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519032</commentid>
    <comment_count>1</comment_count>
      <attachid>118737</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2011-12-11 23:08:16 -0800</bug_when>
    <thetext>Created attachment 118737
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519033</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-11 23:11:31 -0800</bug_when>
    <thetext>Please wait for approval from fishd@chromium.org before submitting because this patch contains changes to the Chromium public API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519700</commentid>
    <comment_count>3</comment_count>
      <attachid>118737</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-12-12 17:02:25 -0800</bug_when>
    <thetext>Comment on attachment 118737
Patch

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

&gt; Source/WebKit/chromium/public/WebFrame.h:421
&gt; +    virtual void requestTextChecking() = 0;

This looks a lot like the WebSpellCheckClient::requestCheckingOfText method,
although I realize that they are totally different.  It seems unfortunate
for those two methods, which are different, to have such similar names.

This seems to be a fairly high-level function.  It appears to initiate a
spelling and grammar check of the selected editable text.  What if there
is no selection?  Does it spell check anything in that case?  What if
there is nothing editable in the current selection?  Maybe answering
some of these questions could help us consider a better name for this
function?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520002</commentid>
    <comment_count>4</comment_count>
      <attachid>118994</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2011-12-13 03:21:57 -0800</bug_when>
    <thetext>Created attachment 118994
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520004</commentid>
    <comment_count>5</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2011-12-13 03:30:51 -0800</bug_when>
    <thetext>&gt; This looks a lot like the WebSpellCheckClient::requestCheckingOfText method,
&gt; although I realize that they are totally different.  It seems unfortunate
&gt; for those two methods, which are different, to have such similar names.

The method of WebspellCheckClient is used to request spellchecking from WebKit to chromium, and my method is used to request spellchecking from chromium to WebKit. The former method is just to spellchecking, and the latter method does spellchecking and adding misspelling markers.

&gt; This seems to be a fairly high-level function. 

Yeah, I&apos;m now thinking so, too... So now I changed the code to give a node to the method. 

&gt; It appears to initiate a
&gt; spelling and grammar check of the selected editable text.  What if there
&gt; is no selection?  Does it spell check anything in that case?  What if
&gt; there is nothing editable in the current selection?  Maybe answering
&gt; some of these questions could help us consider a better name for this
&gt; function?

Actually what I want to solve by this patch is:
http://code.google.com/p/chromium/issues/detail?id=21225
Just for your information, I uploaded Chromium side patch in
http://codereview.chromium.org/8907016/

So what I want to do in this function is to spellcheck some area in the document (not just selected text).
If there is no node to spellcheck, this method should return immediately.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523158</commentid>
    <comment_count>6</comment_count>
      <attachid>118994</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-12-16 16:40:47 -0800</bug_when>
    <thetext>Comment on attachment 118994
Patch

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

&gt; Source/WebKit/chromium/public/WebFrame.h:421
&gt; +    virtual void requestTextChecking(const WebNode&amp;) = 0;

maybe this should take a WebElement instead?

from the chrome side, how do you know which WebFrame to call this
function on?  what if the focused editable content is actually in
a different frame?  are you using WebView::focusedFrame() for that?

&gt; Source/WebKit/chromium/public/WebNode.h:113
&gt; +    WEBKIT_EXPORT WebElement rootEditableElement() const;

it seems wrong for WebNode to know about elements.  maybe this should be a function
on WebElement?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523689</commentid>
    <comment_count>7</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2011-12-18 20:55:41 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 118994 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=118994&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/chromium/public/WebFrame.h:421
&gt; &gt; +    virtual void requestTextChecking(const WebNode&amp;) = 0;
&gt; 
&gt; maybe this should take a WebElement instead?

Thanks. It seems better.

&gt; 
&gt; from the chrome side, how do you know which WebFrame to call this
&gt; function on?  what if the focused editable content is actually in
&gt; a different frame?  are you using WebView::focusedFrame() for that?

Yes. Does it have any problem? If so, please let me know.

&gt; 
&gt; &gt; Source/WebKit/chromium/public/WebNode.h:113
&gt; &gt; +    WEBKIT_EXPORT WebElement rootEditableElement() const;
&gt; 
&gt; it seems wrong for WebNode to know about elements.  maybe this should be a function
&gt; on WebElement?

When considering TextNode, it seems natural that it knows rootEditableElement, I think.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523763</commentid>
    <comment_count>8</comment_count>
      <attachid>119825</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2011-12-18 23:21:17 -0800</bug_when>
    <thetext>Created attachment 119825
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>525446</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-12-21 12:11:18 -0800</bug_when>
    <thetext>Darin is your man.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>538260</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2012-01-18 15:33:30 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; &gt; from the chrome side, how do you know which WebFrame to call this
&gt; &gt; function on?  what if the focused editable content is actually in
&gt; &gt; a different frame?  are you using WebView::focusedFrame() for that?
&gt; 
&gt; Yes. Does it have any problem? If so, please let me know.

It should be fine.  I just wanted to make sure I understood the full picture.


&gt; &gt; &gt; Source/WebKit/chromium/public/WebNode.h:113
&gt; &gt; &gt; +    WEBKIT_EXPORT WebElement rootEditableElement() const;
&gt; &gt; 
&gt; &gt; it seems wrong for WebNode to know about elements.  maybe this should be a function
&gt; &gt; on WebElement?
&gt; 
&gt; When considering TextNode, it seems natural that it knows rootEditableElement, I think.

OK, I see.  That makes sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>538264</commentid>
    <comment_count>11</comment_count>
      <attachid>119825</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2012-01-18 15:36:24 -0800</bug_when>
    <thetext>Comment on attachment 119825
Patch

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

&gt; Source/WebKit/chromium/src/WebFrameImpl.cpp:1306
&gt; +    RefPtr&lt;Range&gt; rangeToCheck = rangeOfContents(static_cast&lt;PassRefPtr&lt;Element&gt; &gt;(webElem).get());

nit: use the WebNode::unwrap helper function here.

  RefPtr&lt;Range&gt; rangeToCheck = rangeOfContents(webElem.unwrap&lt;Element&gt;.get());</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539236</commentid>
    <comment_count>12</comment_count>
      <attachid>123239</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-01-19 18:52:19 -0800</bug_when>
    <thetext>Created attachment 123239
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539241</commentid>
    <comment_count>13</comment_count>
      <attachid>123241</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-01-19 19:02:36 -0800</bug_when>
    <thetext>Created attachment 123241
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539330</commentid>
    <comment_count>14</comment_count>
      <attachid>123241</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-20 00:42:43 -0800</bug_when>
    <thetext>Comment on attachment 123241
Patch for landing

Clearing flags on attachment: 123241

Committed r105489: &lt;http://trac.webkit.org/changeset/105489&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539331</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-20 00:42:48 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118737</attachid>
            <date>2011-12-11 23:08:16 -0800</date>
            <delta_ts>2011-12-13 03:21:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73971-20111212160815.patch</filename>
            <type>text/plain</type>
            <size>3498</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGZhZWIyNTM2ZWI5N2E0ZmY0YTg4YzM5MzJmM2ZkZjc5NjRjNjdkYjkuLmJhNDE4ODYwZTdiMzE4
NDViMGFkYTViY2RmMDE5YWJjMzY0NGE5ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTEtMTItMTEgIFNoaW55YSBLYXdhbmFrYSAgPHNoaW55YWtAZ29v
Z2xlLmNvbT4KKworICAgICAgICBbY2hyb21pdW1dIFdlYkZyYW1lIHNob3VsZCBoYXZlIGFuIGlu
dGVyZmFjZSB0byBpbnZva2Ugc3BlbGxjaGVja2luZyBpbiBhcmJpdHJhcmlseS4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczOTcxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpbnRlcmZhY2UgaXMg
bmVjZXNzYXJ5IHRvIHJlY2hlY2sgc3BlbGxpbmcgb2YgdGhlIGN1cnJlbnQgZWxlbWVudC4KKwor
ICAgICAgICAqIHB1YmxpYy9XZWJGcmFtZS5oOgorICAgICAgICAqIHNyYy9XZWJGcmFtZUltcGwu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OnJlcXVlc3RUZXh0Q2hlY2tpbmcp
OgorICAgICAgICAgIFJlcXVlc3RzIHNwZWxsY2hlY2tpbmcgZm9yIHRoZSBlbGVtZW50IGhhdmlu
ZyBjdXJyZW50IHNlbGVjdGlvbi4KKyAgICAgICAgKiBzcmMvV2ViRnJhbWVJbXBsLmg6CisKIDIw
MTEtMTItMDkgIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBbY2hyb21pdW1dIFJlbW92ZSBmb3J3YXJkaW5nIGhlYWRlcnMgZm9yIFdlYkxheWVyIEFQSXMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmggYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oCmluZGV4IDg1YmJkYTEwODVl
YjM2Mzk1OTE3MTJhMDQyMGFiZGNjOGNjZDhmYzkuLmJhZDkwOGRmZmU2ZjIyZmU5OGYzZWFkNzcw
MDIzNTM0ZmM5YTQ1ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYkZyYW1lLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUu
aApAQCAtNDE4LDcgKzQxOCw3IEBAIHB1YmxpYzoKICAgICAvLyBTcGVsbC1jaGVja2luZyBzdXBw
b3J0LgogICAgIHZpcnR1YWwgdm9pZCBlbmFibGVDb250aW51b3VzU3BlbGxDaGVja2luZyhib29s
KSA9IDA7CiAgICAgdmlydHVhbCBib29sIGlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVk
KCkgY29uc3QgPSAwOwotCisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RUZXh0Q2hlY2tpbmcoKSA9
IDA7CiAKICAgICAvLyBTZWxlY3Rpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkZyYW1lSW1wbC5jcHAKaW5kZXggMzMwZjBhOWRhNTEyMTA2NmY3MjY4MWNhYWYxZDQ0OTc0
ZTJmNjA5My4uYzEyMWMxY2RlYmViOWFiOWIxZTVlOTc2N2UyYzRlNDQzYTQzNmYxYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCkBAIC0xMzMsNiArMTMz
LDcgQEAKICNpbmNsdWRlICJTZWN1cml0eVBvbGljeS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgi
CiAjaW5jbHVkZSAiU2tpYVV0aWxzLmgiCisjaW5jbHVkZSAiU3BlbGxDaGVja2VyLmgiCiAjaW5j
bHVkZSAiU3Vic3RpdHV0ZURhdGEuaCIKICNpbmNsdWRlICJUZXh0QWZmaW5pdHkuaCIKICNpbmNs
dWRlICJUZXh0SXRlcmF0b3IuaCIKQEAgLTEyOTcsNiArMTI5OCwyMSBAQCBib29sIFdlYkZyYW1l
SW1wbDo6aXNDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoKSBjb25zdAogICAgIHJldHVy
biBmcmFtZSgpLT5lZGl0b3IoKS0+aXNDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoKTsK
IH0KIAordm9pZCBXZWJGcmFtZUltcGw6OnJlcXVlc3RUZXh0Q2hlY2tpbmcoKQoreworICAgIGlm
ICghZnJhbWUoKS0+c2VsZWN0aW9uKCkpCisgICAgICAgIHJldHVybjsKKworICAgIEVsZW1lbnQq
IGVsZW0gPSBmcmFtZSgpLT5zZWxlY3Rpb24oKS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpOworCisg
ICAgaWYgKCFlbGVtKQorICAgICAgICByZXR1cm47CisKKyAgICBSZWZQdHI8UmFuZ2U+IHJhbmdl
ID0gUmFuZ2U6OmNyZWF0ZShtX2ZyYW1lLT5kb2N1bWVudCgpLCBmaXJzdFBvc2l0aW9uSW5Ob2Rl
KGVsZW0pLCBsYXN0UG9zaXRpb25Jbk5vZGUoZWxlbSkpOworICAgIGZyYW1lKCktPmVkaXRvcigp
LT5zcGVsbENoZWNrZXIoKS0+cmVxdWVzdENoZWNraW5nRm9yKFNwZWxsQ2hlY2tSZXF1ZXN0Ojpj
cmVhdGUoVGV4dENoZWNraW5nVHlwZVNwZWxsaW5nIHwgVGV4dENoZWNraW5nVHlwZUdyYW1tYXIs
IHJhbmdlLCByYW5nZSkpOworCit9CisKIGJvb2wgV2ViRnJhbWVJbXBsOjpoYXNTZWxlY3Rpb24o
KSBjb25zdAogewogICAgIFdlYlBsdWdpbkNvbnRhaW5lckltcGwqIHBsdWdpbkNvbnRhaW5lciA9
IHBsdWdpbkNvbnRhaW5lckZyb21GcmFtZShmcmFtZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViRnJhbWVJbXBsLmgKaW5kZXggZDQ4Y2NiZGQ0OTI0NGVhOGM4ODI0ODU1Nzg2NTFh
MjVkYzJhYjgyMi4uN2ZhZjE3YjdhYjc0MzZhZjMxZmExMzg3NTBiMGY5ZGFmOWMyYWYxYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKQEAgLTE1OCw2ICsxNTgs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzQ29tbWFuZEVuYWJsZWQoY29uc3QgV2Vi
U3RyaW5nJikgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIGVuYWJsZUNvbnRpbnVvdXNTcGVsbENo
ZWNraW5nKGJvb2wpOwogICAgIHZpcnR1YWwgYm9vbCBpc0NvbnRpbnVvdXNTcGVsbENoZWNraW5n
RW5hYmxlZCgpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0VGV4dENoZWNraW5nKCk7
CiAgICAgdmlydHVhbCBib29sIGhhc1NlbGVjdGlvbigpIGNvbnN0OwogICAgIHZpcnR1YWwgV2Vi
UmFuZ2Ugc2VsZWN0aW9uUmFuZ2UoKSBjb25zdDsKICAgICB2aXJ0dWFsIFdlYlN0cmluZyBzZWxl
Y3Rpb25Bc1RleHQoKSBjb25zdDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118994</attachid>
            <date>2011-12-13 03:21:57 -0800</date>
            <delta_ts>2011-12-18 23:21:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73971-20111213202156.patch</filename>
            <type>text/plain</type>
            <size>5662</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDhlNGEwNzA2MzE3MzM4YTc1M2VjNDZiZWUyODhhOWIwMWNlZmRjOTkuLjU2YTJiMGE5ZmFjOTZl
ZmI5MTlkMjUwMmVhOTUyNTFkM2FlMDNiMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTEtMTItMTMgIFNoaW55YSBLYXdhbmFrYSAgPHNoaW55YWtAZ29v
Z2xlLmNvbT4KKworICAgICAgICBbY2hyb21pdW1dIFdlYkZyYW1lIHNob3VsZCBoYXZlIGFuIGlu
dGVyZmFjZSB0byBpbnZva2Ugc3BlbGxjaGVja2luZyBpbiBhcmJpdHJhcmlseS4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczOTcxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpbnRlcmZhY2UgaXMg
bmVjZXNzYXJ5IHRvIHJlY2hlY2sgc3BlbGxpbmcgb2YgYW4gYXJiaXRyYXJ5IGVsZW1lbnQuCisK
KyAgICAgICAgKiBwdWJsaWMvV2ViRnJhbWUuaDoKKyAgICAgICAgKiBwdWJsaWMvV2ViTm9kZS5o
OgorICAgICAgICAqIHNyYy9XZWJGcmFtZUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJG
cmFtZUltcGw6OnJlcXVlc3RUZXh0Q2hlY2tpbmcpOgorICAgICAgICAgIFJlcXVlc3RzIHNwZWxs
Y2hlY2tpbmcgZm9yIHRoZSBlbGVtZW50IGhhdmluZyBjdXJyZW50IHNlbGVjdGlvbi4KKyAgICAg
ICAgKiBzcmMvV2ViRnJhbWVJbXBsLmg6CisgICAgICAgICogc3JjL1dlYk5vZGUuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJOb2RlOjpyb290RWRpdGFibGVFbGVtZW50KToKKyAgICAgICAgICBU
YWtlcyBhIHJvb3QgZWRpdGFibGUgZWxlbWVudCBmcm9tIE5vZGUuCisKIDIwMTEtMTItMTIgIFJ5
b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgV2ViS2l0IGNvZGUgc2hv
dWxkbid0IGJlIGNhbGxpbmcgYXBwbHlDb21tYW5kIGRpcmVjdGx5CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViRnJhbWUuaAppbmRleCA4NWJiZGExMDg1ZWIzNjM5NTkxNzEyYTA0MjBh
YmRjYzhjY2Q4ZmM5Li43NWRiMTg1MmMxZTdmZDlhMzQwY2JlODZkZWNlZTlmNGMwOTExN2Y1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmgKQEAgLTQxOCw3ICs0MTgs
NyBAQCBwdWJsaWM6CiAgICAgLy8gU3BlbGwtY2hlY2tpbmcgc3VwcG9ydC4KICAgICB2aXJ0dWFs
IHZvaWQgZW5hYmxlQ29udGludW91c1NwZWxsQ2hlY2tpbmcoYm9vbCkgPSAwOwogICAgIHZpcnR1
YWwgYm9vbCBpc0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCgpIGNvbnN0ID0gMDsKLQor
ICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0VGV4dENoZWNraW5nKGNvbnN0IFdlYk5vZGUmKSA9IDA7
CiAKICAgICAvLyBTZWxlY3Rpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViTm9kZS5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
Tm9kZS5oCmluZGV4IDM4YmUzYjY2ZjI5MzQ5Nzc4MWFmNzIyZTJlN2NlOTg1YjNhZmI3ZWQuLmQ0
ZWU4NzRlOWQ2YjJlODM5Y2I0MjliZDI2YTQ4N2Y2ZWRlYzU2NjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk5vZGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJOb2RlLmgKQEAgLTQyLDYgKzQyLDcgQEAgY2xhc3MgV2ViRE9NRXZl
bnQ7CiBjbGFzcyBXZWJET01FdmVudExpc3RlbmVyOwogY2xhc3MgV2ViRE9NRXZlbnRMaXN0ZW5l
clByaXZhdGU7CiBjbGFzcyBXZWJEb2N1bWVudDsKK2NsYXNzIFdlYkVsZW1lbnQ7CiBjbGFzcyBX
ZWJGcmFtZTsKIGNsYXNzIFdlYk5vZGVMaXN0OwogCkBAIC0xMDksNiArMTEwLDcgQEAgcHVibGlj
OgogICAgIFdFQktJVF9FWFBPUlQgYm9vbCBkaXNwYXRjaEV2ZW50KGNvbnN0IFdlYkRPTUV2ZW50
Jik7CiAgICAgV0VCS0lUX0VYUE9SVCB2b2lkIHNpbXVsYXRlQ2xpY2soKTsKICAgICBXRUJLSVRf
RVhQT1JUIFdlYk5vZGVMaXN0IGdldEVsZW1lbnRzQnlUYWdOYW1lKGNvbnN0IFdlYlN0cmluZyYp
IGNvbnN0OworICAgIFdFQktJVF9FWFBPUlQgV2ViRWxlbWVudCByb290RWRpdGFibGVFbGVtZW50
KCkgY29uc3Q7CiAKICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhlIG5vZGUgaGFzIGEgbm9uLWVt
cHR5IGJvdW5kaW5nIGJveCBpbiBsYXlvdXQuCiAgICAgLy8gVGhpcyBkb2VzIG5vdCAxMDAlIGd1
YXJhbnRlZSB0aGUgdXNlciBjYW4gc2VlIGl0LCBidXQgaXMgcHJldHR5IGNsb3NlLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKaW5kZXggY2M1MTRlYmMyMjMx
NzVkMThhODVmNDlkY2QwOGZiOWFkZjMxOGM2Ny4uZmFkM2IyNzJkZThmZmQ2ODhiOWQ0MTEzZWRm
YTRiNTcyYjU1ZjQ4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
RnJhbWVJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUlt
cGwuY3BwCkBAIC0xMDYsNiArMTA2LDcgQEAKICNpbmNsdWRlICJJY29uVVJMLmgiCiAjaW5jbHVk
ZSAiSW5zcGVjdG9yQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIktVUkwuaCIKKyNpbmNsdWRlICJO
b2RlLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBhZ2VPdmVybGF5LmgiCiAjaW5j
bHVkZSAicGFpbnRpbmcvR3JhcGhpY3NDb250ZXh0QnVpbGRlci5oIgpAQCAtMTMzLDYgKzEzNCw3
IEBACiAjaW5jbHVkZSAiU2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgog
I2luY2x1ZGUgIlNraWFVdGlscy5oIgorI2luY2x1ZGUgIlNwZWxsQ2hlY2tlci5oIgogI2luY2x1
ZGUgIlN1YnN0aXR1dGVEYXRhLmgiCiAjaW5jbHVkZSAiVGV4dEFmZmluaXR5LmgiCiAjaW5jbHVk
ZSAiVGV4dEl0ZXJhdG9yLmgiCkBAIC0xMjk2LDYgKzEyOTgsMTYgQEAgYm9vbCBXZWJGcmFtZUlt
cGw6OmlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKCkgY29uc3QKICAgICByZXR1cm4g
ZnJhbWUoKS0+ZWRpdG9yKCktPmlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKCk7CiB9
CiAKK3ZvaWQgV2ViRnJhbWVJbXBsOjpyZXF1ZXN0VGV4dENoZWNraW5nKGNvbnN0IFdlYk5vZGUm
IHdlYk5vZGUpCit7CisgICAgaWYgKHdlYk5vZGUuaXNOdWxsKCkpCisgICAgICAgIHJldHVybjsK
KworICAgIFJlZlB0cjxOb2RlPiBub2RlVG9DaGVjayA9IHN0YXRpY19jYXN0PFBhc3NSZWZQdHI8
Tm9kZT4gPih3ZWJOb2RlKTsKKyAgICBSZWZQdHI8UmFuZ2U+IHJhbmdlVG9DaGVjayA9IFJhbmdl
OjpjcmVhdGUoZnJhbWUoKS0+ZG9jdW1lbnQoKSwgZmlyc3RQb3NpdGlvbkluTm9kZShub2RlVG9D
aGVjay5nZXQoKSksIGxhc3RQb3NpdGlvbkluTm9kZShub2RlVG9DaGVjay5nZXQoKSkpOworICAg
IGZyYW1lKCktPmVkaXRvcigpLT5zcGVsbENoZWNrZXIoKS0+cmVxdWVzdENoZWNraW5nRm9yKFNw
ZWxsQ2hlY2tSZXF1ZXN0OjpjcmVhdGUoVGV4dENoZWNraW5nVHlwZVNwZWxsaW5nIHwgVGV4dENo
ZWNraW5nVHlwZUdyYW1tYXIsIHJhbmdlVG9DaGVjaywgcmFuZ2VUb0NoZWNrKSk7Cit9CisKIGJv
b2wgV2ViRnJhbWVJbXBsOjpoYXNTZWxlY3Rpb24oKSBjb25zdAogewogICAgIFdlYlBsdWdpbkNv
bnRhaW5lckltcGwqIHBsdWdpbkNvbnRhaW5lciA9IHBsdWdpbkNvbnRhaW5lckZyb21GcmFtZShm
cmFtZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1l
SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKaW5kZXgg
ZDQ4Y2NiZGQ0OTI0NGVhOGM4ODI0ODU1Nzg2NTFhMjVkYzJhYjgyMi4uYjczMmJiYjBmYzFlYmFm
MDYyMWZiNzQ0OTY0ZTMyMzMwNmQ5OWEzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViRnJhbWVJbXBsLmgKQEAgLTE1OCw2ICsxNTgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBi
b29sIGlzQ29tbWFuZEVuYWJsZWQoY29uc3QgV2ViU3RyaW5nJikgY29uc3Q7CiAgICAgdmlydHVh
bCB2b2lkIGVuYWJsZUNvbnRpbnVvdXNTcGVsbENoZWNraW5nKGJvb2wpOwogICAgIHZpcnR1YWwg
Ym9vbCBpc0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCgpIGNvbnN0OworICAgIHZpcnR1
YWwgdm9pZCByZXF1ZXN0VGV4dENoZWNraW5nKGNvbnN0IFdlYk5vZGUmKTsKICAgICB2aXJ0dWFs
IGJvb2wgaGFzU2VsZWN0aW9uKCkgY29uc3Q7CiAgICAgdmlydHVhbCBXZWJSYW5nZSBzZWxlY3Rp
b25SYW5nZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgV2ViU3RyaW5nIHNlbGVjdGlvbkFzVGV4dCgp
IGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTm9kZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJOb2RlLmNwcAppbmRleCBhNGEyNmYy
ZWVmMTc4MDg5ZWE1NzNhNWFhNDhkZWUwOThlMzBlM2NjLi42OTkwOGM5Yjc0MGNkMmYzODg3MDBl
NDFiNzZlZGQxZmNlMzg4NzdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJOb2RlLmNw
cApAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIldlYkRPTUV2ZW50LmgiCiAjaW5jbHVkZSAi
V2ViRE9NRXZlbnRMaXN0ZW5lci5oIgogI2luY2x1ZGUgIldlYkRvY3VtZW50LmgiCisjaW5jbHVk
ZSAiV2ViRWxlbWVudC5oIgogI2luY2x1ZGUgIldlYkZyYW1lSW1wbC5oIgogI2luY2x1ZGUgIldl
Yk5vZGVMaXN0LmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViU3RyaW5nLmgiCkBAIC0yMDcsNiAr
MjA4LDExIEBAIFdlYk5vZGVMaXN0IFdlYk5vZGU6OmdldEVsZW1lbnRzQnlUYWdOYW1lKGNvbnN0
IFdlYlN0cmluZyYgdGFnKSBjb25zdAogICAgIHJldHVybiBXZWJOb2RlTGlzdChtX3ByaXZhdGUt
PmdldEVsZW1lbnRzQnlUYWdOYW1lKHRhZykpOwogfQogCitXZWJFbGVtZW50IFdlYk5vZGU6OnJv
b3RFZGl0YWJsZUVsZW1lbnQoKSBjb25zdAoreworICAgIHJldHVybiBXZWJFbGVtZW50KG1fcHJp
dmF0ZS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpKTsKK30KKwogYm9vbCBXZWJOb2RlOjpoYXNOb25F
bXB0eUJvdW5kaW5nQm94KCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9wcml2YXRlLT5oYXNOb25F
bXB0eUJvdW5kaW5nQm94KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119825</attachid>
            <date>2011-12-18 23:21:17 -0800</date>
            <delta_ts>2012-01-19 18:52:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73971-20111219162115.patch</filename>
            <type>text/plain</type>
            <size>5559</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzMTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGU4OTljNjcyYmQxYWExNjZkYjJhNmJiOTA4ZjdmN2E3ZmU4ZjAyN2MuLmI1YmI5OThkY2EyYTc5
MGZiMGUwMzE3M2YwN2JiYmQ5NzVhMDNlYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTEtMTItMTggIFNoaW55YSBLYXdhbmFrYSAgPHNoaW55YWtAZ29v
Z2xlLmNvbT4KKworICAgICAgICBbY2hyb21pdW1dIFdlYkZyYW1lIHNob3VsZCBoYXZlIGFuIGlu
dGVyZmFjZSB0byBpbnZva2Ugc3BlbGxjaGVja2luZyBpbiBhcmJpdHJhcmlseS4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczOTcxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpbnRlcmZhY2UgaXMg
bmVjZXNzYXJ5IHRvIHJlY2hlY2sgc3BlbGxpbmcgb2YgYW4gYXJiaXRyYXJ5IGVsZW1lbnQuCisK
KyAgICAgICAgKiBwdWJsaWMvV2ViRnJhbWUuaDoKKyAgICAgICAgKiBwdWJsaWMvV2ViTm9kZS5o
OgorICAgICAgICAqIHNyYy9XZWJGcmFtZUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJG
cmFtZUltcGw6OnJlcXVlc3RUZXh0Q2hlY2tpbmcpOgorICAgICAgICAgIFJlcXVlc3RzIHNwZWxs
Y2hlY2tpbmcgZm9yIHRoZSBlbGVtZW50IGhhdmluZyBjdXJyZW50IHNlbGVjdGlvbi4KKyAgICAg
ICAgKiBzcmMvV2ViRnJhbWVJbXBsLmg6CisgICAgICAgICogc3JjL1dlYk5vZGUuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJOb2RlOjpyb290RWRpdGFibGVFbGVtZW50KToKKyAgICAgICAgICBU
YWtlcyBhIHJvb3QgZWRpdGFibGUgZWxlbWVudCBmcm9tIE5vZGUuCisKIDIwMTEtMTItMTggIEph
bWVzIEtvemlhbnNraSAgPGtvekBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBB
ZGQgd29ybGRJZCBwYXJhbWV0ZXIgdG8gYWxsb3dTY3JpcHRFeHRlbnNpb24oKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmgKaW5kZXggODViYmRhMTA4NWViMzYzOTU5MTcx
MmEwNDIwYWJkY2M4Y2NkOGZjOS4uOTU3NGM0OTBlZDAyNzRmNjI0M2Q0NmEzYjdmZmY3M2QwZDg5
Y2ViMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oCkBAIC00MTgs
NyArNDE4LDcgQEAgcHVibGljOgogICAgIC8vIFNwZWxsLWNoZWNraW5nIHN1cHBvcnQuCiAgICAg
dmlydHVhbCB2b2lkIGVuYWJsZUNvbnRpbnVvdXNTcGVsbENoZWNraW5nKGJvb2wpID0gMDsKICAg
ICB2aXJ0dWFsIGJvb2wgaXNDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoKSBjb25zdCA9
IDA7Ci0KKyAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFRleHRDaGVja2luZyhjb25zdCBXZWJFbGVt
ZW50JikgPSAwOwogCiAgICAgLy8gU2VsZWN0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk5vZGUuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYk5vZGUuaAppbmRleCAzOGJlM2I2NmYyOTM0OTc3ODFhZjcyMmUyZTdjZTk4NWIz
YWZiN2VkLi5kNGVlODc0ZTlkNmIyZTgzOWNiNDI5YmQyNmE0ODdmNmVkZWM1NjYwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJOb2RlLmgKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTm9kZS5oCkBAIC00Miw2ICs0Miw3IEBAIGNsYXNz
IFdlYkRPTUV2ZW50OwogY2xhc3MgV2ViRE9NRXZlbnRMaXN0ZW5lcjsKIGNsYXNzIFdlYkRPTUV2
ZW50TGlzdGVuZXJQcml2YXRlOwogY2xhc3MgV2ViRG9jdW1lbnQ7CitjbGFzcyBXZWJFbGVtZW50
OwogY2xhc3MgV2ViRnJhbWU7CiBjbGFzcyBXZWJOb2RlTGlzdDsKIApAQCAtMTA5LDYgKzExMCw3
IEBAIHB1YmxpYzoKICAgICBXRUJLSVRfRVhQT1JUIGJvb2wgZGlzcGF0Y2hFdmVudChjb25zdCBX
ZWJET01FdmVudCYpOwogICAgIFdFQktJVF9FWFBPUlQgdm9pZCBzaW11bGF0ZUNsaWNrKCk7CiAg
ICAgV0VCS0lUX0VYUE9SVCBXZWJOb2RlTGlzdCBnZXRFbGVtZW50c0J5VGFnTmFtZShjb25zdCBX
ZWJTdHJpbmcmKSBjb25zdDsKKyAgICBXRUJLSVRfRVhQT1JUIFdlYkVsZW1lbnQgcm9vdEVkaXRh
YmxlRWxlbWVudCgpIGNvbnN0OwogCiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIHRoZSBub2RlIGhh
cyBhIG5vbi1lbXB0eSBib3VuZGluZyBib3ggaW4gbGF5b3V0LgogICAgIC8vIFRoaXMgZG9lcyBu
b3QgMTAwJSBndWFyYW50ZWUgdGhlIHVzZXIgY2FuIHNlZSBpdCwgYnV0IGlzIHByZXR0eSBjbG9z
ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCmluZGV4IGU1
YWU5YzUxODliMTg1OGJhZGM5ODA2MWNhNDc2OTY4OGY0YmYyMjkuLjcyMzk0ZGJmZTZjMGI5OGQx
NTZhN2Y1ZDVlYTA4OTcyNjg5NGYwMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViRnJhbWVJbXBsLmNwcApAQCAtMTA2LDYgKzEwNiw3IEBACiAjaW5jbHVkZSAiSWNvblVSTC5o
IgogI2luY2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJLVVJMLmgiCisj
aW5jbHVkZSAiTm9kZS5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlT3Zlcmxh
eS5oIgogI2luY2x1ZGUgInBhaW50aW5nL0dyYXBoaWNzQ29udGV4dEJ1aWxkZXIuaCIKQEAgLTEz
Myw2ICsxMzQsNyBAQAogI2luY2x1ZGUgIlNlY3VyaXR5UG9saWN5LmgiCiAjaW5jbHVkZSAiU2V0
dGluZ3MuaCIKICNpbmNsdWRlICJTa2lhVXRpbHMuaCIKKyNpbmNsdWRlICJTcGVsbENoZWNrZXIu
aCIKICNpbmNsdWRlICJTdWJzdGl0dXRlRGF0YS5oIgogI2luY2x1ZGUgIlRleHRBZmZpbml0eS5o
IgogI2luY2x1ZGUgIlRleHRJdGVyYXRvci5oIgpAQCAtMTI5Niw2ICsxMjk4LDE2IEBAIGJvb2wg
V2ViRnJhbWVJbXBsOjppc0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCgpIGNvbnN0CiAg
ICAgcmV0dXJuIGZyYW1lKCktPmVkaXRvcigpLT5pc0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5h
YmxlZCgpOwogfQogCit2b2lkIFdlYkZyYW1lSW1wbDo6cmVxdWVzdFRleHRDaGVja2luZyhjb25z
dCBXZWJFbGVtZW50JiB3ZWJFbGVtKQoreworICAgIGlmICh3ZWJFbGVtLmlzTnVsbCgpKQorICAg
ICAgICByZXR1cm47CisKKyAgICBSZWZQdHI8UmFuZ2U+IHJhbmdlVG9DaGVjayA9IHJhbmdlT2ZD
b250ZW50cyhzdGF0aWNfY2FzdDxQYXNzUmVmUHRyPEVsZW1lbnQ+ID4od2ViRWxlbSkuZ2V0KCkp
OworCisgICAgZnJhbWUoKS0+ZWRpdG9yKCktPnNwZWxsQ2hlY2tlcigpLT5yZXF1ZXN0Q2hlY2tp
bmdGb3IoU3BlbGxDaGVja1JlcXVlc3Q6OmNyZWF0ZShUZXh0Q2hlY2tpbmdUeXBlU3BlbGxpbmcg
fCBUZXh0Q2hlY2tpbmdUeXBlR3JhbW1hciwgcmFuZ2VUb0NoZWNrLCByYW5nZVRvQ2hlY2spKTsK
K30KKwogYm9vbCBXZWJGcmFtZUltcGw6Omhhc1NlbGVjdGlvbigpIGNvbnN0CiB7CiAgICAgV2Vi
UGx1Z2luQ29udGFpbmVySW1wbCogcGx1Z2luQ29udGFpbmVyID0gcGx1Z2luQ29udGFpbmVyRnJv
bUZyYW1lKGZyYW1lKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViRnJhbWVJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwu
aAppbmRleCAyM2U2MGQ5ODA0MzMxYzg2ZjdhNWIwYjFmYzhhZDRjZGRlN2Y4ZTJkLi5kZTM4ZDBk
Y2FlYTdkN2FlMGNkNTcxNzZkMTc2NTIxMTAwMTNmYmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJGcmFtZUltcGwuaApAQCAtMTU4LDYgKzE1OCw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIGJvb2wgaXNDb21tYW5kRW5hYmxlZChjb25zdCBXZWJTdHJpbmcmKSBjb25zdDsKICAg
ICB2aXJ0dWFsIHZvaWQgZW5hYmxlQ29udGludW91c1NwZWxsQ2hlY2tpbmcoYm9vbCk7CiAgICAg
dmlydHVhbCBib29sIGlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKCkgY29uc3Q7Cisg
ICAgdmlydHVhbCB2b2lkIHJlcXVlc3RUZXh0Q2hlY2tpbmcoY29uc3QgV2ViRWxlbWVudCYpOwog
ICAgIHZpcnR1YWwgYm9vbCBoYXNTZWxlY3Rpb24oKSBjb25zdDsKICAgICB2aXJ0dWFsIFdlYlJh
bmdlIHNlbGVjdGlvblJhbmdlKCkgY29uc3Q7CiAgICAgdmlydHVhbCBXZWJTdHJpbmcgc2VsZWN0
aW9uQXNUZXh0KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJOb2RlLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk5vZGUuY3BwCmlu
ZGV4IGE0YTI2ZjJlZWYxNzgwODllYTU3M2E1YWE0OGRlZTA5OGUzMGUzY2MuLjY5OTA4YzliNzQw
Y2QyZjM4ODcwMGU0MWI3NmVkZDFmY2UzODg3N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYk5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYk5vZGUuY3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAiV2ViRE9NRXZlbnQuaCIK
ICNpbmNsdWRlICJXZWJET01FdmVudExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiV2ViRG9jdW1lbnQu
aCIKKyNpbmNsdWRlICJXZWJFbGVtZW50LmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVJbXBsLmgiCiAj
aW5jbHVkZSAiV2ViTm9kZUxpc3QuaCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJTdHJpbmcuaCIK
QEAgLTIwNyw2ICsyMDgsMTEgQEAgV2ViTm9kZUxpc3QgV2ViTm9kZTo6Z2V0RWxlbWVudHNCeVRh
Z05hbWUoY29uc3QgV2ViU3RyaW5nJiB0YWcpIGNvbnN0CiAgICAgcmV0dXJuIFdlYk5vZGVMaXN0
KG1fcHJpdmF0ZS0+Z2V0RWxlbWVudHNCeVRhZ05hbWUodGFnKSk7CiB9CiAKK1dlYkVsZW1lbnQg
V2ViTm9kZTo6cm9vdEVkaXRhYmxlRWxlbWVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIFdlYkVs
ZW1lbnQobV9wcml2YXRlLT5yb290RWRpdGFibGVFbGVtZW50KCkpOworfQorCiBib29sIFdlYk5v
ZGU6Omhhc05vbkVtcHR5Qm91bmRpbmdCb3goKSBjb25zdAogewogICAgIHJldHVybiBtX3ByaXZh
dGUtPmhhc05vbkVtcHR5Qm91bmRpbmdCb3goKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123239</attachid>
            <date>2012-01-19 18:52:19 -0800</date>
            <delta_ts>2012-01-19 18:55:18 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-73971-20120120115217.patch</filename>
            <type>text/plain</type>
            <size>5536</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1NDcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDdjY2IwY2Q3MjI1ZjI1ZTBlZDllNmRmY2Y5ZjU3OTQwNWViYzhlNWIuLjc2MzMzNDk2Y2E1Mzg0
YjYwMTNhNTAyYzBiMDc5NGExYTNiOTEwMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTItMDEtMTkgIFNoaW55YSBLYXdhbmFrYSAgPHNoaW55YWtAZ29v
Z2xlLmNvbT4KKworICAgICAgICBbY2hyb21pdW1dIFdlYkZyYW1lIHNob3VsZCBoYXZlIGFuIGlu
dGVyZmFjZSB0byBpbnZva2Ugc3BlbGxjaGVja2luZyBpbiBhcmJpdHJhcmlseS4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczOTcxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVyLgorCisgICAgICAgIFRoaXMgaW50ZXJmYWNlIGlzIG5l
Y2Vzc2FyeSB0byByZWNoZWNrIHNwZWxsaW5nIG9mIGFuIGFyYml0cmFyeSBlbGVtZW50LgorCisg
ICAgICAgICogcHVibGljL1dlYkZyYW1lLmg6CisgICAgICAgICogcHVibGljL1dlYk5vZGUuaDoK
KyAgICAgICAgKiBzcmMvV2ViRnJhbWVJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJh
bWVJbXBsOjpyZXF1ZXN0VGV4dENoZWNraW5nKToKKyAgICAgICAgICBSZXF1ZXN0cyBzcGVsbGNo
ZWNraW5nIGZvciB0aGUgZWxlbWVudCBoYXZpbmcgY3VycmVudCBzZWxlY3Rpb24uCisgICAgICAg
ICogc3JjL1dlYkZyYW1lSW1wbC5oOgorICAgICAgICAqIHNyYy9XZWJOb2RlLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViTm9kZTo6cm9vdEVkaXRhYmxlRWxlbWVudCk6CisgICAgICAgICAgVGFr
ZXMgYSByb290IGVkaXRhYmxlIGVsZW1lbnQgZnJvbSBOb2RlLgorCiAyMDEyLTAxLTE5ICBBbGV4
YW5kcmUgRWxpYXMgIDxhZWxpYXNAZ29vZ2xlLmNvbT4KIAogICAgICAgICBbY2hyb21pdW1dIERy
YXcgZ3V0dGVyIHF1YWRzIG91dHNpZGUgcm9vdCBjb250ZW50IGxheWVyCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaAppbmRleCA4NWJiZGExMDg1ZWIzNjM5NTkxNzEyYTA0
MjBhYmRjYzhjY2Q4ZmM5Li45NTc0YzQ5MGVkMDI3NGY2MjQzZDQ2YTNiN2ZmZjczZDBkODljZWIy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmgKQEAgLTQxOCw3ICs0
MTgsNyBAQCBwdWJsaWM6CiAgICAgLy8gU3BlbGwtY2hlY2tpbmcgc3VwcG9ydC4KICAgICB2aXJ0
dWFsIHZvaWQgZW5hYmxlQ29udGludW91c1NwZWxsQ2hlY2tpbmcoYm9vbCkgPSAwOwogICAgIHZp
cnR1YWwgYm9vbCBpc0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCgpIGNvbnN0ID0gMDsK
LQorICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0VGV4dENoZWNraW5nKGNvbnN0IFdlYkVsZW1lbnQm
KSA9IDA7CiAKICAgICAvLyBTZWxlY3Rpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9wdWJsaWMvV2ViTm9kZS5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViTm9kZS5oCmluZGV4IDM4YmUzYjY2ZjI5MzQ5Nzc4MWFmNzIyZTJlN2NlOTg1YjNhZmI3
ZWQuLmQ0ZWU4NzRlOWQ2YjJlODM5Y2I0MjliZDI2YTQ4N2Y2ZWRlYzU2NjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk5vZGUuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJOb2RlLmgKQEAgLTQyLDYgKzQyLDcgQEAgY2xhc3MgV2Vi
RE9NRXZlbnQ7CiBjbGFzcyBXZWJET01FdmVudExpc3RlbmVyOwogY2xhc3MgV2ViRE9NRXZlbnRM
aXN0ZW5lclByaXZhdGU7CiBjbGFzcyBXZWJEb2N1bWVudDsKK2NsYXNzIFdlYkVsZW1lbnQ7CiBj
bGFzcyBXZWJGcmFtZTsKIGNsYXNzIFdlYk5vZGVMaXN0OwogCkBAIC0xMDksNiArMTEwLDcgQEAg
cHVibGljOgogICAgIFdFQktJVF9FWFBPUlQgYm9vbCBkaXNwYXRjaEV2ZW50KGNvbnN0IFdlYkRP
TUV2ZW50Jik7CiAgICAgV0VCS0lUX0VYUE9SVCB2b2lkIHNpbXVsYXRlQ2xpY2soKTsKICAgICBX
RUJLSVRfRVhQT1JUIFdlYk5vZGVMaXN0IGdldEVsZW1lbnRzQnlUYWdOYW1lKGNvbnN0IFdlYlN0
cmluZyYpIGNvbnN0OworICAgIFdFQktJVF9FWFBPUlQgV2ViRWxlbWVudCByb290RWRpdGFibGVF
bGVtZW50KCkgY29uc3Q7CiAKICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhlIG5vZGUgaGFzIGEg
bm9uLWVtcHR5IGJvdW5kaW5nIGJveCBpbiBsYXlvdXQuCiAgICAgLy8gVGhpcyBkb2VzIG5vdCAx
MDAlIGd1YXJhbnRlZSB0aGUgdXNlciBjYW4gc2VlIGl0LCBidXQgaXMgcHJldHR5IGNsb3NlLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKaW5kZXggM2M5MDE1
ZmM3ZTgwNGI0OGNiMDg3MjIxYzNiODIyNDQzYTAyN2ZhZi4uOWNiMTZiOWYxNzM5MjQ0NmMxYjg5
ZjUwNDkzNTk1YTRjNDFhNDMzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRnJhbWVJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJG
cmFtZUltcGwuY3BwCkBAIC0xMDYsNiArMTA2LDcgQEAKICNpbmNsdWRlICJJY29uVVJMLmgiCiAj
aW5jbHVkZSAiSW5zcGVjdG9yQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIktVUkwuaCIKKyNpbmNs
dWRlICJOb2RlLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBhZ2VPdmVybGF5Lmgi
CiAjaW5jbHVkZSAicGFpbnRpbmcvR3JhcGhpY3NDb250ZXh0QnVpbGRlci5oIgpAQCAtMTMzLDYg
KzEzNCw3IEBACiAjaW5jbHVkZSAiU2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlICJTZXR0aW5n
cy5oIgogI2luY2x1ZGUgIlNraWFVdGlscy5oIgorI2luY2x1ZGUgIlNwZWxsQ2hlY2tlci5oIgog
I2luY2x1ZGUgIlN1YnN0aXR1dGVEYXRhLmgiCiAjaW5jbHVkZSAiVGV4dEFmZmluaXR5LmgiCiAj
aW5jbHVkZSAiVGV4dEl0ZXJhdG9yLmgiCkBAIC0xMjk0LDYgKzEyOTYsMTYgQEAgYm9vbCBXZWJG
cmFtZUltcGw6OmlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKCkgY29uc3QKICAgICBy
ZXR1cm4gZnJhbWUoKS0+ZWRpdG9yKCktPmlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVk
KCk7CiB9CiAKK3ZvaWQgV2ViRnJhbWVJbXBsOjpyZXF1ZXN0VGV4dENoZWNraW5nKGNvbnN0IFdl
YkVsZW1lbnQmIHdlYkVsZW0pCit7CisgICAgaWYgKHdlYkVsZW0uaXNOdWxsKCkpCisgICAgICAg
IHJldHVybjsKKworICAgIFJlZlB0cjxSYW5nZT4gcmFuZ2VUb0NoZWNrID0gcmFuZ2VPZkNvbnRl
bnRzKHdlYkVsZW0udW53cmFwPEVsZW1lbnQ+LmdldCgpKTsKKworICAgIGZyYW1lKCktPmVkaXRv
cigpLT5zcGVsbENoZWNrZXIoKS0+cmVxdWVzdENoZWNraW5nRm9yKFNwZWxsQ2hlY2tSZXF1ZXN0
OjpjcmVhdGUoVGV4dENoZWNraW5nVHlwZVNwZWxsaW5nIHwgVGV4dENoZWNraW5nVHlwZUdyYW1t
YXIsIHJhbmdlVG9DaGVjaywgcmFuZ2VUb0NoZWNrKSk7Cit9CisKIGJvb2wgV2ViRnJhbWVJbXBs
OjpoYXNTZWxlY3Rpb24oKSBjb25zdAogewogICAgIFdlYlBsdWdpbkNvbnRhaW5lckltcGwqIHBs
dWdpbkNvbnRhaW5lciA9IHBsdWdpbkNvbnRhaW5lckZyb21GcmFtZShmcmFtZSgpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKaW5kZXggMjNlNjBkOTgwNDMzMWM4
NmY3YTViMGIxZmM4YWQ0Y2RkZTdmOGUyZC4uZGUzOGQwZGNhZWE3ZDdhZTBjZDU3MTc2ZDE3NjUy
MTEwMDEzZmJkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJh
bWVJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgK
QEAgLTE1OCw2ICsxNTgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzQ29tbWFuZEVu
YWJsZWQoY29uc3QgV2ViU3RyaW5nJikgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIGVuYWJsZUNv
bnRpbnVvdXNTcGVsbENoZWNraW5nKGJvb2wpOwogICAgIHZpcnR1YWwgYm9vbCBpc0NvbnRpbnVv
dXNTcGVsbENoZWNraW5nRW5hYmxlZCgpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0
VGV4dENoZWNraW5nKGNvbnN0IFdlYkVsZW1lbnQmKTsKICAgICB2aXJ0dWFsIGJvb2wgaGFzU2Vs
ZWN0aW9uKCkgY29uc3Q7CiAgICAgdmlydHVhbCBXZWJSYW5nZSBzZWxlY3Rpb25SYW5nZSgpIGNv
bnN0OwogICAgIHZpcnR1YWwgV2ViU3RyaW5nIHNlbGVjdGlvbkFzVGV4dCgpIGNvbnN0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTm9kZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJOb2RlLmNwcAppbmRleCBhNGEyNmYyZWVmMTc4MDg5ZWE1
NzNhNWFhNDhkZWUwOThlMzBlM2NjLi42OTkwOGM5Yjc0MGNkMmYzODg3MDBlNDFiNzZlZGQxZmNl
Mzg4NzdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJOb2RlLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJOb2RlLmNwcApAQCAtNDIsNiAr
NDIsNyBAQAogI2luY2x1ZGUgIldlYkRPTUV2ZW50LmgiCiAjaW5jbHVkZSAiV2ViRE9NRXZlbnRM
aXN0ZW5lci5oIgogI2luY2x1ZGUgIldlYkRvY3VtZW50LmgiCisjaW5jbHVkZSAiV2ViRWxlbWVu
dC5oIgogI2luY2x1ZGUgIldlYkZyYW1lSW1wbC5oIgogI2luY2x1ZGUgIldlYk5vZGVMaXN0Lmgi
CiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViU3RyaW5nLmgiCkBAIC0yMDcsNiArMjA4LDExIEBAIFdl
Yk5vZGVMaXN0IFdlYk5vZGU6OmdldEVsZW1lbnRzQnlUYWdOYW1lKGNvbnN0IFdlYlN0cmluZyYg
dGFnKSBjb25zdAogICAgIHJldHVybiBXZWJOb2RlTGlzdChtX3ByaXZhdGUtPmdldEVsZW1lbnRz
QnlUYWdOYW1lKHRhZykpOwogfQogCitXZWJFbGVtZW50IFdlYk5vZGU6OnJvb3RFZGl0YWJsZUVs
ZW1lbnQoKSBjb25zdAoreworICAgIHJldHVybiBXZWJFbGVtZW50KG1fcHJpdmF0ZS0+cm9vdEVk
aXRhYmxlRWxlbWVudCgpKTsKK30KKwogYm9vbCBXZWJOb2RlOjpoYXNOb25FbXB0eUJvdW5kaW5n
Qm94KCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9wcml2YXRlLT5oYXNOb25FbXB0eUJvdW5kaW5n
Qm94KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123241</attachid>
            <date>2012-01-19 19:02:36 -0800</date>
            <delta_ts>2012-01-20 00:42:43 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-73971-20120120120234.patch</filename>
            <type>text/plain</type>
            <size>5559</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1NDcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDdjY2IwY2Q3MjI1ZjI1ZTBlZDllNmRmY2Y5ZjU3OTQwNWViYzhlNWIuLjc2MzMzNDk2Y2E1Mzg0
YjYwMTNhNTAyYzBiMDc5NGExYTNiOTEwMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTItMDEtMTkgIFNoaW55YSBLYXdhbmFrYSAgPHNoaW55YWtAZ29v
Z2xlLmNvbT4KKworICAgICAgICBbY2hyb21pdW1dIFdlYkZyYW1lIHNob3VsZCBoYXZlIGFuIGlu
dGVyZmFjZSB0byBpbnZva2Ugc3BlbGxjaGVja2luZyBpbiBhcmJpdHJhcmlseS4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczOTcxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVyLgorCisgICAgICAgIFRoaXMgaW50ZXJmYWNlIGlzIG5l
Y2Vzc2FyeSB0byByZWNoZWNrIHNwZWxsaW5nIG9mIGFuIGFyYml0cmFyeSBlbGVtZW50LgorCisg
ICAgICAgICogcHVibGljL1dlYkZyYW1lLmg6CisgICAgICAgICogcHVibGljL1dlYk5vZGUuaDoK
KyAgICAgICAgKiBzcmMvV2ViRnJhbWVJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJh
bWVJbXBsOjpyZXF1ZXN0VGV4dENoZWNraW5nKToKKyAgICAgICAgICBSZXF1ZXN0cyBzcGVsbGNo
ZWNraW5nIGZvciB0aGUgZWxlbWVudCBoYXZpbmcgY3VycmVudCBzZWxlY3Rpb24uCisgICAgICAg
ICogc3JjL1dlYkZyYW1lSW1wbC5oOgorICAgICAgICAqIHNyYy9XZWJOb2RlLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViTm9kZTo6cm9vdEVkaXRhYmxlRWxlbWVudCk6CisgICAgICAgICAgVGFr
ZXMgYSByb290IGVkaXRhYmxlIGVsZW1lbnQgZnJvbSBOb2RlLgorCiAyMDEyLTAxLTE5ICBBbGV4
YW5kcmUgRWxpYXMgIDxhZWxpYXNAZ29vZ2xlLmNvbT4KIAogICAgICAgICBbY2hyb21pdW1dIERy
YXcgZ3V0dGVyIHF1YWRzIG91dHNpZGUgcm9vdCBjb250ZW50IGxheWVyCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaAppbmRleCA4NWJiZGExMDg1ZWIzNjM5NTkxNzEyYTA0
MjBhYmRjYzhjY2Q4ZmM5Li45NTc0YzQ5MGVkMDI3NGY2MjQzZDQ2YTNiN2ZmZjczZDBkODljZWIy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmgKQEAgLTQxOCw3ICs0
MTgsNyBAQCBwdWJsaWM6CiAgICAgLy8gU3BlbGwtY2hlY2tpbmcgc3VwcG9ydC4KICAgICB2aXJ0
dWFsIHZvaWQgZW5hYmxlQ29udGludW91c1NwZWxsQ2hlY2tpbmcoYm9vbCkgPSAwOwogICAgIHZp
cnR1YWwgYm9vbCBpc0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCgpIGNvbnN0ID0gMDsK
LQorICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0VGV4dENoZWNraW5nKGNvbnN0IFdlYkVsZW1lbnQm
KSA9IDA7CiAKICAgICAvLyBTZWxlY3Rpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9wdWJsaWMvV2ViTm9kZS5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViTm9kZS5oCmluZGV4IDM4YmUzYjY2ZjI5MzQ5Nzc4MWFmNzIyZTJlN2NlOTg1YjNhZmI3
ZWQuLmQ0ZWU4NzRlOWQ2YjJlODM5Y2I0MjliZDI2YTQ4N2Y2ZWRlYzU2NjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk5vZGUuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJOb2RlLmgKQEAgLTQyLDYgKzQyLDcgQEAgY2xhc3MgV2Vi
RE9NRXZlbnQ7CiBjbGFzcyBXZWJET01FdmVudExpc3RlbmVyOwogY2xhc3MgV2ViRE9NRXZlbnRM
aXN0ZW5lclByaXZhdGU7CiBjbGFzcyBXZWJEb2N1bWVudDsKK2NsYXNzIFdlYkVsZW1lbnQ7CiBj
bGFzcyBXZWJGcmFtZTsKIGNsYXNzIFdlYk5vZGVMaXN0OwogCkBAIC0xMDksNiArMTEwLDcgQEAg
cHVibGljOgogICAgIFdFQktJVF9FWFBPUlQgYm9vbCBkaXNwYXRjaEV2ZW50KGNvbnN0IFdlYkRP
TUV2ZW50Jik7CiAgICAgV0VCS0lUX0VYUE9SVCB2b2lkIHNpbXVsYXRlQ2xpY2soKTsKICAgICBX
RUJLSVRfRVhQT1JUIFdlYk5vZGVMaXN0IGdldEVsZW1lbnRzQnlUYWdOYW1lKGNvbnN0IFdlYlN0
cmluZyYpIGNvbnN0OworICAgIFdFQktJVF9FWFBPUlQgV2ViRWxlbWVudCByb290RWRpdGFibGVF
bGVtZW50KCkgY29uc3Q7CiAKICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhlIG5vZGUgaGFzIGEg
bm9uLWVtcHR5IGJvdW5kaW5nIGJveCBpbiBsYXlvdXQuCiAgICAgLy8gVGhpcyBkb2VzIG5vdCAx
MDAlIGd1YXJhbnRlZSB0aGUgdXNlciBjYW4gc2VlIGl0LCBidXQgaXMgcHJldHR5IGNsb3NlLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKaW5kZXggM2M5MDE1
ZmM3ZTgwNGI0OGNiMDg3MjIxYzNiODIyNDQzYTAyN2ZhZi4uOWQwZTBjMzQzMzE4MWE2NTg5OWUx
NDRlNmE2NWI5NjhkZjY2Nzg1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRnJhbWVJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJG
cmFtZUltcGwuY3BwCkBAIC0xMDYsNiArMTA2LDcgQEAKICNpbmNsdWRlICJJY29uVVJMLmgiCiAj
aW5jbHVkZSAiSW5zcGVjdG9yQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIktVUkwuaCIKKyNpbmNs
dWRlICJOb2RlLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBhZ2VPdmVybGF5Lmgi
CiAjaW5jbHVkZSAicGFpbnRpbmcvR3JhcGhpY3NDb250ZXh0QnVpbGRlci5oIgpAQCAtMTMzLDYg
KzEzNCw3IEBACiAjaW5jbHVkZSAiU2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlICJTZXR0aW5n
cy5oIgogI2luY2x1ZGUgIlNraWFVdGlscy5oIgorI2luY2x1ZGUgIlNwZWxsQ2hlY2tlci5oIgog
I2luY2x1ZGUgIlN1YnN0aXR1dGVEYXRhLmgiCiAjaW5jbHVkZSAiVGV4dEFmZmluaXR5LmgiCiAj
aW5jbHVkZSAiVGV4dEl0ZXJhdG9yLmgiCkBAIC0xMjk0LDYgKzEyOTYsMTYgQEAgYm9vbCBXZWJG
cmFtZUltcGw6OmlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKCkgY29uc3QKICAgICBy
ZXR1cm4gZnJhbWUoKS0+ZWRpdG9yKCktPmlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVk
KCk7CiB9CiAKK3ZvaWQgV2ViRnJhbWVJbXBsOjpyZXF1ZXN0VGV4dENoZWNraW5nKGNvbnN0IFdl
YkVsZW1lbnQmIHdlYkVsZW0pCit7CisgICAgaWYgKHdlYkVsZW0uaXNOdWxsKCkpCisgICAgICAg
IHJldHVybjsKKworICAgIFJlZlB0cjxSYW5nZT4gcmFuZ2VUb0NoZWNrID0gcmFuZ2VPZkNvbnRl
bnRzKGNvbnN0X2Nhc3Q8RWxlbWVudCo+KHdlYkVsZW0uY29uc3RVbndyYXA8RWxlbWVudD4oKSkp
OworCisgICAgZnJhbWUoKS0+ZWRpdG9yKCktPnNwZWxsQ2hlY2tlcigpLT5yZXF1ZXN0Q2hlY2tp
bmdGb3IoU3BlbGxDaGVja1JlcXVlc3Q6OmNyZWF0ZShUZXh0Q2hlY2tpbmdUeXBlU3BlbGxpbmcg
fCBUZXh0Q2hlY2tpbmdUeXBlR3JhbW1hciwgcmFuZ2VUb0NoZWNrLCByYW5nZVRvQ2hlY2spKTsK
K30KKwogYm9vbCBXZWJGcmFtZUltcGw6Omhhc1NlbGVjdGlvbigpIGNvbnN0CiB7CiAgICAgV2Vi
UGx1Z2luQ29udGFpbmVySW1wbCogcGx1Z2luQ29udGFpbmVyID0gcGx1Z2luQ29udGFpbmVyRnJv
bUZyYW1lKGZyYW1lKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViRnJhbWVJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwu
aAppbmRleCAyM2U2MGQ5ODA0MzMxYzg2ZjdhNWIwYjFmYzhhZDRjZGRlN2Y4ZTJkLi5kZTM4ZDBk
Y2FlYTdkN2FlMGNkNTcxNzZkMTc2NTIxMTAwMTNmYmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJGcmFtZUltcGwuaApAQCAtMTU4LDYgKzE1OCw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIGJvb2wgaXNDb21tYW5kRW5hYmxlZChjb25zdCBXZWJTdHJpbmcmKSBjb25zdDsKICAg
ICB2aXJ0dWFsIHZvaWQgZW5hYmxlQ29udGludW91c1NwZWxsQ2hlY2tpbmcoYm9vbCk7CiAgICAg
dmlydHVhbCBib29sIGlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKCkgY29uc3Q7Cisg
ICAgdmlydHVhbCB2b2lkIHJlcXVlc3RUZXh0Q2hlY2tpbmcoY29uc3QgV2ViRWxlbWVudCYpOwog
ICAgIHZpcnR1YWwgYm9vbCBoYXNTZWxlY3Rpb24oKSBjb25zdDsKICAgICB2aXJ0dWFsIFdlYlJh
bmdlIHNlbGVjdGlvblJhbmdlKCkgY29uc3Q7CiAgICAgdmlydHVhbCBXZWJTdHJpbmcgc2VsZWN0
aW9uQXNUZXh0KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJOb2RlLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk5vZGUuY3BwCmlu
ZGV4IGE0YTI2ZjJlZWYxNzgwODllYTU3M2E1YWE0OGRlZTA5OGUzMGUzY2MuLjY5OTA4YzliNzQw
Y2QyZjM4ODcwMGU0MWI3NmVkZDFmY2UzODg3N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYk5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYk5vZGUuY3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAiV2ViRE9NRXZlbnQuaCIK
ICNpbmNsdWRlICJXZWJET01FdmVudExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiV2ViRG9jdW1lbnQu
aCIKKyNpbmNsdWRlICJXZWJFbGVtZW50LmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVJbXBsLmgiCiAj
aW5jbHVkZSAiV2ViTm9kZUxpc3QuaCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJTdHJpbmcuaCIK
QEAgLTIwNyw2ICsyMDgsMTEgQEAgV2ViTm9kZUxpc3QgV2ViTm9kZTo6Z2V0RWxlbWVudHNCeVRh
Z05hbWUoY29uc3QgV2ViU3RyaW5nJiB0YWcpIGNvbnN0CiAgICAgcmV0dXJuIFdlYk5vZGVMaXN0
KG1fcHJpdmF0ZS0+Z2V0RWxlbWVudHNCeVRhZ05hbWUodGFnKSk7CiB9CiAKK1dlYkVsZW1lbnQg
V2ViTm9kZTo6cm9vdEVkaXRhYmxlRWxlbWVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIFdlYkVs
ZW1lbnQobV9wcml2YXRlLT5yb290RWRpdGFibGVFbGVtZW50KCkpOworfQorCiBib29sIFdlYk5v
ZGU6Omhhc05vbkVtcHR5Qm91bmRpbmdCb3goKSBjb25zdAogewogICAgIHJldHVybiBtX3ByaXZh
dGUtPmhhc05vbkVtcHR5Qm91bmRpbmdCb3goKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>