<?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>25899</bug_id>
          
          <creation_ts>2009-05-20 16:36:41 -0700</creation_ts>
          <short_desc>[Chromium] PC Chromium: keyboard selection in Hebrew select element doesn&apos;t work</short_desc>
          <delta_ts>2009-06-22 13:23:12 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Xiaomei Ji">xji</reporter>
          <assigned_to name="Xiaomei Ji">xji</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>paul</cc>
    
    <cc>playmobil</cc>
    
    <cc>progame+wk</cc>
    
    <cc>xji</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>122223</commentid>
    <comment_count>0</comment_count>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2009-05-20 16:36:41 -0700</bug_when>
    <thetext>Keyboard selection in Hebrew select element does not work.
Chromium bug
http://crbug.com/8052</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122385</commentid>
    <comment_count>1</comment_count>
      <attachid>30549</attachid>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2009-05-21 10:47:28 -0700</bug_when>
    <thetext>Created attachment 30549
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122589</commentid>
    <comment_count>2</comment_count>
      <attachid>30549</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-05-22 00:42:51 -0700</bug_when>
    <thetext>Comment on attachment 30549
patch

The patch looks sane to me, but I think we can make a test for this, no?  We certainly can fake key events from DumpRenderTree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122596</commentid>
    <comment_count>3</comment_count>
      <attachid>30549</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-05-22 00:55:10 -0700</bug_when>
    <thetext>Comment on attachment 30549
patch

r- for lack of test per Eric&apos;s comment. Please resubmit with a regression test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122734</commentid>
    <comment_count>4</comment_count>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2009-05-22 14:01:13 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 30549 [review])
&gt; The patch looks sane to me, but I think we can make a test for this, no?  We
&gt; certainly can fake key events from DumpRenderTree.
&gt; 

I am not sure how to auto-test this, and seems that there is no test for PopupMenuChromium.cpp.
Let me look into it further. </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122761</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-05-22 18:54:19 -0700</bug_when>
    <thetext>The selection is exposed via select.value no?  You can input key events directly to the element using eventSender.

Something like this:

&lt;select id=&quot;mySelect&gt;...

&lt;script&gt;
mySelect.focus()
eventSender.key... 
assert(mySelect.value == &quot;some string I wanted it to search for&quot;);
&lt;/scirpt&gt;
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123196</commentid>
    <comment_count>6</comment_count>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2009-05-26 14:26:02 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; The selection is exposed via select.value no?  You can input key events
&gt; directly to the element using eventSender.
&gt; 
&gt; Something like this:
&gt; 
&gt; &lt;select id=&quot;mySelect&gt;...
&gt; 
&gt; &lt;script&gt;
&gt; mySelect.focus()
&gt; eventSender.key... 
&gt; assert(mySelect.value == &quot;some string I wanted it to search for&quot;);
&gt; &lt;/scirpt&gt;
&gt; 

Tony has a patch in which he explained why PopupMenuChromium.cpp is not testable.
His patch is:
https://bugs.webkit.org/attachment.cgi?id=30676

The comments are:
+        Not testable since it involves sending a keyboard event to
+        the popup, which is not possible (eventSender sends the key
+        events through webview, we want to go through the webwidget).


But I think my patch should be:
- m_lastCharTime = now;
+ #if PLATFORM(WIN_OS)
+     if (event.type() == PlatformKeyboardEvent::Char) 
+         m_lastCharTime = now;
+ #else
+     if (event.type() == PlatformKeyboardEvent::KeyDown) 
+         m_lastCharTime = now;
+ #endif

I will test in Mac and upload the patch again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123210</commentid>
    <comment_count>7</comment_count>
      <attachid>30687</attachid>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2009-05-26 17:01:41 -0700</bug_when>
    <thetext>Created attachment 30687
patch (version 2)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123867</commentid>
    <comment_count>8</comment_count>
      <attachid>30687</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-01 12:03:18 -0700</bug_when>
    <thetext>Comment on attachment 30687
patch (version 2)

I think this should be separated out into a static function.  Then the code becomes:

if (isCharacterForPrefixString(event))
   m_lastCharTime = now;
(Or some other equally suitable or better name)

And the long comment can be inside the static function, as well as the #if usage.

This also needs a test case.  Even if it&apos;s just a manual test in WebCore/manual-tests/

I would expect there is a way to test this using eventSender though, so you could make an automated test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123872</commentid>
    <comment_count>9</comment_count>
    <who name="Paul Godavari">paul</who>
    <bug_when>2009-06-01 12:27:48 -0700</bug_when>
    <thetext>&gt; This also needs a test case.  Even if it&apos;s just a manual test in
&gt; WebCore/manual-tests/
&gt; 
&gt; I would expect there is a way to test this using eventSender though, so you
&gt; could make an automated test.

I do not believe there is a way to fully test this with an automated test. You might be able to fake a click on the select control, but then you need to fake mouse move and click events to select something. I spent a great deal of time trying this last week to fix this bug: https://bugs.webkit.org/show_bug.cgi?id=25904

In the end, I created a manual test that demonstrates the fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123895</commentid>
    <comment_count>10</comment_count>
      <attachid>30845</attachid>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2009-06-01 17:03:15 -0700</bug_when>
    <thetext>Created attachment 30845
patch w/ manual test

The patched function PopListBox::typeAheadFind() is only called through WebWidgetImpl::HandleInputEvent(), never through WebviewImpl::HandleInputEvent().

If eventSender.keyDown() send events to webview, not webwidget, that means we can not use it to auto-test the patch.

Or maybe I misunderstood anything?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124406</commentid>
    <comment_count>11</comment_count>
      <attachid>30970</attachid>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2009-06-04 16:36:44 -0700</bug_when>
    <thetext>Created attachment 30970
patch w/ manual test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124803</commentid>
    <comment_count>12</comment_count>
      <attachid>30970</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-08 14:04:55 -0700</bug_when>
    <thetext>Comment on attachment 30970
patch w/ manual test

Style:
+static bool isCharacterTypeEvent(const PlatformKeyboardEvent&amp; event) {


I&apos;m confused why PopupListBox is in this file at all.  Generally WebKit has one-class-per-file.

Why doesn&apos;t WebKitWin need this same code?  Or does it already have it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125541</commentid>
    <comment_count>13</comment_count>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2009-06-12 15:06:34 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 30970 [review])
&gt; Style:
&gt; +static bool isCharacterTypeEvent(const PlatformKeyboardEvent&amp; event) {
&gt; 
&gt; 
&gt; I&apos;m confused why PopupListBox is in this file at all.  Generally WebKit has
&gt; one-class-per-file.

I do not know why it is there originally. Maybe someone more familiar with the file history knows it better.

&gt; 
&gt; Why doesn&apos;t WebKitWin need this same code?  Or does it already have it?
&gt; 

WebKitWin also has a similar function:  SelectElement::typeAheadFind(), but it is called only when the event type is Char type, that is why it does not need to check inside the method.
The caller is: SelectElement::defaultEventHandler(), in which, it checks whether isPrintableChar(keyboardEvent-&gt;charCode()) is true before calling typeAheadFind(). 
KeyboardEvent::charCode() returns character code for keypress, 0 for keydown and keyup.

PopupListBox::typeAheadFind() is called by PopupListBox::handleKeyEvent(), which handles all the platform keyboard events (keyup, keydown, char, rawkeydown) from WebWidgetImpl::HandleInputEvent(), and differentiate Char type event is needed inside typeAheadFind().
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126832</commentid>
    <comment_count>14</comment_count>
      <attachid>30970</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-18 17:38:11 -0700</bug_when>
    <thetext>Comment on attachment 30970
patch w/ manual test

Looks fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127433</commentid>
    <comment_count>15</comment_count>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2009-06-22 13:22:58 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/44948

Sending        WebCore/ChangeLog
Adding         WebCore/manual-tests/keyboard_select_non_english.html
Sending        WebCore/platform/chromium/PopupMenuChromium.cpp
</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30549</attachid>
            <date>2009-05-21 10:47:28 -0700</date>
            <delta_ts>2009-05-22 00:55:10 -0700</delta_ts>
            <desc>patch</desc>
            <filename>25899.v1</filename>
            <type>text/plain</type>
            <size>1807</size>
            <attacher name="Xiaomei Ji">xji</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0Mzk3MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMDktMDUtMjEgIFhpYW9tZWkgSmkgIDx4amlAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdBUk5J
Tkc6IE5PIFRFU1QgQ0FTRVMgQURERUQgT1IgQ0hBTkdFRAorCisgICAgICAgIFRoaXMgcGF0Y2gg
aXMgb25lIHBhcnQgb2YgdGhlIGZpeCBmb3IgaXNzdWUgImtleWJvYXJkIHNlbGVjdGlvbiBpbgor
ICAgICAgICBIZWJyZXcgc2VsZWN0IGVsZW1lbnQgZG9lcyBub3Qgd29yayBpbiBXaW5kb3dzIi4g
VGhlIG90aGVyIHBhcnQgb2YgdGhlCisgICAgICAgIGZpeCBpcyBpbiBjaHJvbWl1bSdzIHdlYmtp
dC9nbHVlIGxheWVyLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjU4OTkKKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9t
aXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBvcHVwTGlzdEJveDo6dHlwZUFoZWFkRmluZCk6
IFNpbmNlIG1fbGFzdENoYXJUaW1lIGlzIHVzZWQgdG8KKyAgICAgICAgaW5kaWNhdGUgd2hldGhl
ciB1c2VyIHR5cGVzIG11bHRpcGxlIGNoYXJhY3RlcnMgY29udGludWVseSBhcyBhIHNlYXJjaAor
ICAgICAgICBwcmVmaXggb3Igbm90LCBpdCBzaG91bGQgYmUgb25seSBhc3NpZ25lZCB3aGVuIHRo
ZSBldmVudCB0eXBlIGlzICJDaGFyIi4KKwogMjAwOS0wNS0yMSAgRXJpYyBTZWlkZWwgIDxlcmlj
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4K
SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0u
Y3BwCShyZXZpc2lvbiA0Mzk3MSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBN
ZW51Q2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02OTIsNyArNjkyLDExIEBAIHZvaWQg
UG9wdXBMaXN0Qm94Ojp0eXBlQWhlYWRGaW5kKGNvbnN0IFAKICAgICBUaW1lU3RhbXAgbm93ID0g
c3RhdGljX2Nhc3Q8VGltZVN0YW1wPihjdXJyZW50VGltZSgpICogMTAwMC4wZik7CiAgICAgVGlt
ZVN0YW1wIGRlbHRhID0gbm93IC0gbV9sYXN0Q2hhclRpbWU7CiAKLSAgICBtX2xhc3RDaGFyVGlt
ZSA9IG5vdzsKKyAgICAvLyBtX2xhc3RDaGFyVGltZSBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXRo
ZXIgdXNlciB0eXBlZCBpbiBhIHByZWZpeCBzdHJpbmcKKyAgICAvLyBvciBhIHByZWZpeCBjaGFy
YWN0ZXIuIEl0IHNob3VsZCBiZSBvbmx5IHZhbGlkIHdoZW4gdGhlIGV2ZW50IHR5cGUgaXMgCisg
ICAgLy8gUGxhdGZvcm1LZXlib2FyZEV2ZW50OjpDaGFyLCBub3QgUmF3S2V5RG93biwgS2V5RG93
biwgb3IgS2V5VXAgdHlwZS4KKyAgICBpZiAoZXZlbnQudHlwZSgpID09IFBsYXRmb3JtS2V5Ym9h
cmRFdmVudDo6Q2hhcikgCisgICAgICAgIG1fbGFzdENoYXJUaW1lID0gbm93OwogCiAgICAgVUNo
YXIgYyA9IGV2ZW50LndpbmRvd3NWaXJ0dWFsS2V5Q29kZSgpOwogCg==
</data>
<flag name="review"
          id="15437"
          type_id="1"
          status="-"
          setter="mjs"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30687</attachid>
            <date>2009-05-26 17:01:41 -0700</date>
            <delta_ts>2009-06-01 12:03:18 -0700</delta_ts>
            <desc>patch (version 2)</desc>
            <filename>patch.new</filename>
            <type>text/plain</type>
            <size>2201</size>
            <attacher name="Xiaomei Ji">xji</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NDE2MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMDktMDUtMjEgIFhpYW9tZWkgSmkgIDx4amlAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vdCB0
ZXN0YWJsZSBzaW5jZSBpdCBpbnZvbHZlcyBzZW5kaW5nIGEga2V5Ym9hcmQgZXZlbnQgdG8KKyAg
ICAgICAgdGhlIHBvcHVwLCB3aGljaCBpcyBub3QgcG9zc2libGUgKGV2ZW50U2VuZGVyIHNlbmRz
IHRoZSBrZXkKKyAgICAgICAgZXZlbnRzIHRocm91Z2ggd2Vidmlldywgd2Ugd2FudCB0byBnbyB0
aHJvdWdoIHRoZSB3ZWJ3aWRnZXQpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaXMgb25lIHBhcnQg
b2YgdGhlIGZpeCBmb3IgaXNzdWUgImtleWJvYXJkIHNlbGVjdGlvbiBpbgorICAgICAgICBIZWJy
ZXcgc2VsZWN0IGVsZW1lbnQgZG9lcyBub3Qgd29yayBpbiBXaW5kb3dzIi4gVGhlIG90aGVyIHBh
cnQgb2YgdGhlCisgICAgICAgIGZpeCBpcyBpbiBjaHJvbWl1bSdzIHdlYmtpdC9nbHVlIGxheWVy
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU4OTkK
KworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBvcHVwTGlzdEJveDo6dHlwZUFoZWFkRmluZCk6IFNpbmNlIG1fbGFz
dENoYXJUaW1lIGlzIHVzZWQgdG8KKyAgICAgICAgaW5kaWNhdGUgd2hldGhlciB1c2VyIHR5cGVz
IG11bHRpcGxlIGNoYXJhY3RlcnMgY29udGludWVseSBhcyBhIHNlYXJjaAorICAgICAgICBwcmVm
aXggb3Igbm90LCBpdCBzaG91bGQgYmUgb25seSBhc3NpZ25lZCB3aGVuIHRoZSBldmVudCB0eXBl
IGlzICJDaGFyIgorICAgICAgICBpbiBXaW5kb3dzLCBvciAiS2V5RG93biIgaW4gTWFjLgorCiAy
MDA5LTA1LTI2ICBKaWFuIExpICA8amlhbmxpQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVt
L1BvcHVwTWVudUNocm9taXVtLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2No
cm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcAkocmV2aXNpb24gNDM5NzEpCisrKyBXZWJDb3Jl
L3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNjkyLDcgKzY5MiwxNyBAQCB2b2lkIFBvcHVwTGlzdEJveDo6dHlwZUFoZWFkRmluZChjb25z
dCBQCiAgICAgVGltZVN0YW1wIG5vdyA9IHN0YXRpY19jYXN0PFRpbWVTdGFtcD4oY3VycmVudFRp
bWUoKSAqIDEwMDAuMGYpOwogICAgIFRpbWVTdGFtcCBkZWx0YSA9IG5vdyAtIG1fbGFzdENoYXJU
aW1lOwogCi0gICAgbV9sYXN0Q2hhclRpbWUgPSBub3c7CisgICAgLy8gbV9sYXN0Q2hhclRpbWUg
aXMgdXNlZCB0byBpbmRpY2F0ZSB3aGV0aGVyIHVzZXIgdHlwZWQgaW4gYSBwcmVmaXggc3RyaW5n
CisgICAgLy8gb3IgYSBwcmVmaXggY2hhcmFjdGVyLiBJbiBXaW5kb3dzLCBpdCBzaG91bGQgYmUg
b25seSB2YWxpZCB3aGVuIHRoZSAKKyAgICAvLyBldmVudCB0eXBlIGlzIFBsYXRmb3JtS2V5Ym9h
cmRFdmVudDo6Q2hhciwgbm90IFJhd0tleURvd24uIEluIE1hYyBPUywgaXQKKyAgICAvLyBzaG91
bGQgYmUgb25seSB2YWxpZCB3aGVuIHRoZSBldmVudCB0eXBlIGlzIEtleURvd24sIG5vdCBLZXlV
cC4KKyNpZiBQTEFURk9STShXSU5fT1MpCisgICAgaWYgKGV2ZW50LnR5cGUoKSA9PSBQbGF0Zm9y
bUtleWJvYXJkRXZlbnQ6OkNoYXIpCisgICAgICAgIG1fbGFzdENoYXJUaW1lID0gbm93OworI2Vs
c2UKKyAgICBpZiAoZXZlbnQudHlwZSgpID09IFBsYXRmb3JtS2V5Ym9hcmRFdmVudDo6S2V5RG93
bikKKyAgICAgICAgbV9sYXN0Q2hhclRpbWUgPSBub3c7CisjZW5kaWYKIAogICAgIFVDaGFyIGMg
PSBldmVudC53aW5kb3dzVmlydHVhbEtleUNvZGUoKTsKIAo=
</data>
<flag name="review"
          id="15546"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30845</attachid>
            <date>2009-06-01 17:03:15 -0700</date>
            <delta_ts>2009-06-01 17:03:15 -0700</delta_ts>
            <desc>patch w/ manual test</desc>
            <filename>25988.v2</filename>
            <type>text/plain</type>
            <size>4516</size>
            <attacher name="Xiaomei Ji">xji</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NDMzOCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMDktMDYtMDEgIFhpYW9tZWkgSmkgIDx4amlAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vdCBh
dXRvLXRlc3RhYmxlIHNpbmNlIGl0IGludm9sdmVzIHNlbmRpbmcgYSBrZXlib2FyZCBldmVudCB0
bworICAgICAgICB0aGUgcG9wdXAsIHdoaWNoIGlzIG5vdCBwb3NzaWJsZSAoZXZlbnRTZW5kZXIg
c2VuZHMgdGhlIGtleQorICAgICAgICBldmVudHMgdGhyb3VnaCB3ZWJ2aWV3LCB3ZSB3YW50IHRv
IGdvIHRocm91Z2ggdGhlIHdlYndpZGdldCkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBvbmUg
cGFydCBvZiB0aGUgZml4IGZvciBpc3N1ZSAia2V5Ym9hcmQgc2VsZWN0aW9uIGluCisgICAgICAg
IEhlYnJldyBzZWxlY3QgZWxlbWVudCBkb2VzIG5vdCB3b3JrIGluIFdpbmRvd3MiLiBUaGUgb3Ro
ZXIgcGFydCBvZiB0aGUKKyAgICAgICAgZml4IGlzIGluIGNocm9taXVtJ3Mgd2Via2l0L2dsdWUg
bGF5ZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
NTg5OQorCisgICAgICAgICogbWFudWFsLXRlc3RzL2tleWJvYXJkX3NlbGVjdF9ub25fZW5nbGlz
aC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJv
bWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc0NoYXJhY3RlclR5cGVFdmVudCk6IEFkZGVk
LiBDaGVjayB3aGV0aGVyIHRoZSBldmVudCBpcyBhIAorICAgICAgICBjaGFyYWN0ZXIgdHlwZSBl
dmVudC4gIkNoYXIiIGluIFdpbmRvd3Mgb3IgIktleURvd24iIGluIE1hYyBpcyBjaGFyYWN0ZXIK
KyAgICAgICAgdHlwZSBldmVudC4KKyAgICAgICAgKFdlYkNvcmU6OlBvcHVwTGlzdEJveDo6dHlw
ZUFoZWFkRmluZCk6IFNpbmNlIG1fbGFzdENoYXJUaW1lIGlzIHVzZWQgdG8KKyAgICAgICAgaW5k
aWNhdGUgd2hldGhlciB1c2VyIHR5cGVzIG11bHRpcGxlIGNoYXJhY3RlcnMgY29udGludWVseSBh
cyBhIHNlYXJjaAorICAgICAgICBwcmVmaXggb3Igbm90LCBpdCBzaG91bGQgYmUgb25seSBhc3Np
Z25lZCB3aGVuIHRoZSBldmVudCBpcyBjaGFyYWN0ZXIgCisgICAgICAgIHR5cGUgZXZlbnQuIAor
CiAyMDA5LTA2LTAxICBOaWtvbGFzIFppbW1lcm1hbm4gIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCkluZGV4OiBXZWJDb3JlL21hbnVhbC10
ZXN0cy9rZXlib2FyZF9zZWxlY3Rfbm9uX2VuZ2xpc2guaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL21hbnVhbC10ZXN0cy9rZXlib2FyZF9zZWxlY3Rfbm9uX2VuZ2xpc2guaHRtbAkocmV2aXNp
b24gMCkKKysrIFdlYkNvcmUvbWFudWFsLXRlc3RzL2tleWJvYXJkX3NlbGVjdF9ub25fZW5nbGlz
aC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8TUVUQSBIVFRQLUVRVUlWPSJDT05URU5ULVRZUEUiIENPTlRFTlQ9InRl
eHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+Cis8dGl0bGU+CitUZXN0IHNlbGVjdCBub24gRW5nbGlz
aCBlbGVtZW50Cis8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+CitTZWUgYnVnOjxhIGhyZWY9Imh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTg5OSI+MjU4OTk8L2E+Lgor
PHA+CitDaG9vc2UgdGhlIGNvcnJlY3QgaW5wdXQgbWV0aG9kLiBPcGVuIHRoZSBzZWxlY3QgZWxl
bWVudCB0aGVuIHR5cGUgdGhlIGZpcnN0IAorbGV0dGVyIG9mIG9uZSBvZiB0aGUgZWxlbWVudHMu
IFRoZSBzZWFyY2ggcHJlZml4IHNob3VsZCBiZSB0aGUgZmlyc3Qgbm9uIEVuZ2xpc2gKK2xldHRl
ciwgbm90IHRoZSB2YWx1ZSBvZiB0aGUgcGh5c2ljYWwga2V5Ym9hcmQgcGx1cyB0aGUgbmF0aXZl
IG5vbiBFbmdsaXNoCitsZXR0ZXIuIEZvciBleGFtcGxlLCBzZXQgdGhlIGlucHV0IG1ldGhvZCBh
cyBIZWJyZXcsIGhpdCBrZXlib2FyZCAnYycsIHRoZQordHJhbnNsYXRlZCBIZWJyZXcgY2hhcmFj
dGVyIGlzICfXkScuIFRoZSBzZWFyY2ggcHJlZml4IHNob3VsZCBiZSAn15EnLCBub3QgImPXkSIu
CitBbmQgdGhlIHJpZ2h0IGVsZW1lbnQgc2hvdWxkIGJlIHNlbGVjdGVkLgorPHA+CisKK0hlYnJl
dyBTZWxlY3Q6Cis8c2VsZWN0IHN0eWxlPSJkaXJlY3Rpb246cnRsIj4KKyAgPG9wdGlvbj7XkNeQ
15A8L29wdGlvbj4KKyAgPG9wdGlvbj7XkdeR15E8L29wdGlvbj4KKyAgPG9wdGlvbj7XkteS15I8
L29wdGlvbj4KKyAgPG9wdGlvbj7Xk9eT15PXkyDXnteZ15zXlCDXoteo15XXm9eUINee15DXldeT
LCDXm9eT15kg16nXmdeU15nXlCDXkNek16nXqCDXnNeo15DXldeqINeZ15nXqdeV16g8L29wdGlv
bj4KKzwvc2VsZWN0PgorCitSdXNzaWFuIFNlbGVjdDogCis8c2VsZWN0PgorICA8b3B0aW9uPtGE
0LjRgdCyPC9vcHRpb24+CisgIDxvcHRpb24+0YPQsNC/PC9vcHRpb24+CisgIDxvcHRpb24+0YDR
iNC+0Ls8L29wdGlvbj4KKyAgPG9wdGlvbj7QtNGM0YI8L29wdGlvbj4KKzwvc2VsZWN0PgorPC9i
b2R5PgorPC9odG1sPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2ViQ29yZS9tYW51YWwtdGVzdHMv
a2V5Ym9hcmRfc2VsZWN0X25vbl9lbmdsaXNoLmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOYW1lOiBzdm46ZXhl
Y3V0YWJsZQogICArICoKCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVu
dUNocm9taXVtLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Bv
cHVwTWVudUNocm9taXVtLmNwcAkocmV2aXNpb24gNDM5NzEpCisrKyBXZWJDb3JlL3BsYXRmb3Jt
L2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjg2LDEz
ICs2ODYsMzIgQEAgc3RhdGljIFN0cmluZyBzdHJpcExlYWRpbmdXaGl0ZVNwYWNlKGNvbgogICAg
IHJldHVybiBzdHJpbmcuc3Vic3RyaW5nKGksIGxlbmd0aCAtIGkpOwogfQogCitib29sIGlzQ2hh
cmFjdGVyVHlwZUV2ZW50KGNvbnN0IFBsYXRmb3JtS2V5Ym9hcmRFdmVudCYgZXZlbnQpIHsKKyAg
ICAvLyBDaGVjayB3aGV0aGVyIHRoZSBldmVudCBpcyBhIGNoYXJhY3Rlci10eXBlZCBldmVudCBv
ciBub3QuIAorICAgIC8vIEluIFdpbmRvd3MsIFBsYXRmb3JtS2V5Ym9hcmRFdmVudDo6Q2hhciAo
bm90IFJhd0tleURvd24pIHR5cGUgZXZlbnQKKyAgICAvLyBpcyBjb25zaWRlcmVkIGFzIGNoYXJh
Y3RlciB0eXBlIGV2ZW50LiBJbiBNYWMgT1MsIEtleURvd24gKG5vdCAKKyAgICAvLyBLZXlVcCkg
aXMgY29uc2lkZXJlZCBhcyBjaGFyYWN0ZXIgdHlwZSBldmVudC4KKyNpZiBQTEFURk9STShXSU5f
T1MpCisgICAgaWYgKGV2ZW50LnR5cGUoKSA9PSBQbGF0Zm9ybUtleWJvYXJkRXZlbnQ6OkNoYXIp
CisgICAgICAgIHJldHVybiB0cnVlOworI2Vsc2UKKyAgICBpZiAoZXZlbnQudHlwZSgpID09IFBs
YXRmb3JtS2V5Ym9hcmRFdmVudDo6S2V5RG93bikKKyAgICAgICAgcmV0dXJuIHRydWU7CisjZW5k
aWYKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIC8vIEZyb20gSFRNTFNlbGVjdEVsZW1lbnQuY3Bw
LCB3aXRoIG1vZGlmaWNhdGlvbnMKIHZvaWQgUG9wdXBMaXN0Qm94Ojp0eXBlQWhlYWRGaW5kKGNv
bnN0IFBsYXRmb3JtS2V5Ym9hcmRFdmVudCYgZXZlbnQpCiB7CiAgICAgVGltZVN0YW1wIG5vdyA9
IHN0YXRpY19jYXN0PFRpbWVTdGFtcD4oY3VycmVudFRpbWUoKSAqIDEwMDAuMGYpOwogICAgIFRp
bWVTdGFtcCBkZWx0YSA9IG5vdyAtIG1fbGFzdENoYXJUaW1lOwogCi0gICAgbV9sYXN0Q2hhclRp
bWUgPSBub3c7CisgICAgLy8gUmVzZXQgdGhlIHRpbWUgd2hlbiB1c2VyIHR5cGVzIGluIGEgY2hh
cmFjdGVyLiBUaGUgdGltZSBnYXAgYmV0d2VlbgorICAgIC8vIGxhc3QgY2hhcmFjdGVyIGFuZCB0
aGUgY3VycmVudCBjaGFyYWN0ZXIgaXMgdXNlZCB0byBpbmRpY2F0ZSB3aGV0aGVyCisgICAgLy8g
dXNlciB0eXBlZCBpbiBhIHN0cmluZyBvciBqdXN0IGEgY2hhcmFjdGVyIGFzIHRoZSBzZWFyY2gg
cHJlZml4LgorICAgIGlmIChpc0NoYXJhY3RlclR5cGVFdmVudChldmVudCkpCisgICAgICAgIG1f
bGFzdENoYXJUaW1lID0gbm93OwogCiAgICAgVUNoYXIgYyA9IGV2ZW50LndpbmRvd3NWaXJ0dWFs
S2V5Q29kZSgpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30970</attachid>
            <date>2009-06-04 16:36:44 -0700</date>
            <delta_ts>2009-06-18 17:38:11 -0700</delta_ts>
            <desc>patch w/ manual test</desc>
            <filename>25899.v3</filename>
            <type>text/plain</type>
            <size>4523</size>
            <attacher name="Xiaomei Ji">xji</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NDMzOCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMDktMDYtMDEgIFhpYW9tZWkgSmkgIDx4amlAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vdCBh
dXRvLXRlc3RhYmxlIHNpbmNlIGl0IGludm9sdmVzIHNlbmRpbmcgYSBrZXlib2FyZCBldmVudCB0
bworICAgICAgICB0aGUgcG9wdXAsIHdoaWNoIGlzIG5vdCBwb3NzaWJsZSAoZXZlbnRTZW5kZXIg
c2VuZHMgdGhlIGtleQorICAgICAgICBldmVudHMgdGhyb3VnaCB3ZWJ2aWV3LCB3ZSB3YW50IHRv
IGdvIHRocm91Z2ggdGhlIHdlYndpZGdldCkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBvbmUg
cGFydCBvZiB0aGUgZml4IGZvciBpc3N1ZSAia2V5Ym9hcmQgc2VsZWN0aW9uIGluCisgICAgICAg
IEhlYnJldyBzZWxlY3QgZWxlbWVudCBkb2VzIG5vdCB3b3JrIGluIFdpbmRvd3MiLiBUaGUgb3Ro
ZXIgcGFydCBvZiB0aGUKKyAgICAgICAgZml4IGlzIGluIGNocm9taXVtJ3Mgd2Via2l0L2dsdWUg
bGF5ZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
NTg5OQorCisgICAgICAgICogbWFudWFsLXRlc3RzL2tleWJvYXJkX3NlbGVjdF9ub25fZW5nbGlz
aC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJv
bWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc0NoYXJhY3RlclR5cGVFdmVudCk6IEFkZGVk
LiBDaGVjayB3aGV0aGVyIHRoZSBldmVudCBpcyBhIAorICAgICAgICBjaGFyYWN0ZXIgdHlwZSBl
dmVudC4gIkNoYXIiIGluIFdpbmRvd3Mgb3IgIktleURvd24iIGluIE1hYyBpcyBjaGFyYWN0ZXIK
KyAgICAgICAgdHlwZSBldmVudC4KKyAgICAgICAgKFdlYkNvcmU6OlBvcHVwTGlzdEJveDo6dHlw
ZUFoZWFkRmluZCk6IFNpbmNlIG1fbGFzdENoYXJUaW1lIGlzIHVzZWQgdG8KKyAgICAgICAgaW5k
aWNhdGUgd2hldGhlciB1c2VyIHR5cGVzIG11bHRpcGxlIGNoYXJhY3RlcnMgY29udGludWVseSBh
cyBhIHNlYXJjaAorICAgICAgICBwcmVmaXggb3Igbm90LCBpdCBzaG91bGQgYmUgb25seSBhc3Np
Z25lZCB3aGVuIHRoZSBldmVudCBpcyBjaGFyYWN0ZXIgCisgICAgICAgIHR5cGUgZXZlbnQuIAor
CiAyMDA5LTA2LTAxICBOaWtvbGFzIFppbW1lcm1hbm4gIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCkluZGV4OiBXZWJDb3JlL21hbnVhbC10
ZXN0cy9rZXlib2FyZF9zZWxlY3Rfbm9uX2VuZ2xpc2guaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL21hbnVhbC10ZXN0cy9rZXlib2FyZF9zZWxlY3Rfbm9uX2VuZ2xpc2guaHRtbAkocmV2aXNp
b24gMCkKKysrIFdlYkNvcmUvbWFudWFsLXRlc3RzL2tleWJvYXJkX3NlbGVjdF9ub25fZW5nbGlz
aC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8TUVUQSBIVFRQLUVRVUlWPSJDT05URU5ULVRZUEUiIENPTlRFTlQ9InRl
eHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+Cis8dGl0bGU+CitUZXN0IHNlbGVjdCBub24gRW5nbGlz
aCBlbGVtZW50Cis8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+CitTZWUgYnVnOjxhIGhyZWY9Imh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTg5OSI+MjU4OTk8L2E+Lgor
PHA+CitDaG9vc2UgdGhlIGNvcnJlY3QgaW5wdXQgbWV0aG9kLiBPcGVuIHRoZSBzZWxlY3QgZWxl
bWVudCB0aGVuIHR5cGUgdGhlIGZpcnN0IAorbGV0dGVyIG9mIG9uZSBvZiB0aGUgZWxlbWVudHMu
IFRoZSBzZWFyY2ggcHJlZml4IHNob3VsZCBiZSB0aGUgZmlyc3Qgbm9uIEVuZ2xpc2gKK2xldHRl
ciwgbm90IHRoZSB2YWx1ZSBvZiB0aGUgcGh5c2ljYWwga2V5Ym9hcmQgcGx1cyB0aGUgbmF0aXZl
IG5vbiBFbmdsaXNoCitsZXR0ZXIuIEZvciBleGFtcGxlLCBzZXQgdGhlIGlucHV0IG1ldGhvZCBh
cyBIZWJyZXcsIGhpdCBrZXlib2FyZCAnYycsIHRoZQordHJhbnNsYXRlZCBIZWJyZXcgY2hhcmFj
dGVyIGlzICfXkScuIFRoZSBzZWFyY2ggcHJlZml4IHNob3VsZCBiZSAn15EnLCBub3QgImPXkSIu
CitBbmQgdGhlIHJpZ2h0IGVsZW1lbnQgc2hvdWxkIGJlIHNlbGVjdGVkLgorPHA+CisKK0hlYnJl
dyBTZWxlY3Q6Cis8c2VsZWN0IHN0eWxlPSJkaXJlY3Rpb246cnRsIj4KKyAgPG9wdGlvbj7XkNeQ
15A8L29wdGlvbj4KKyAgPG9wdGlvbj7XkdeR15E8L29wdGlvbj4KKyAgPG9wdGlvbj7XkteS15I8
L29wdGlvbj4KKyAgPG9wdGlvbj7Xk9eT15PXkyDXnteZ15zXlCDXoteo15XXm9eUINee15DXldeT
LCDXm9eT15kg16nXmdeU15nXlCDXkNek16nXqCDXnNeo15DXldeqINeZ15nXqdeV16g8L29wdGlv
bj4KKzwvc2VsZWN0PgorCitSdXNzaWFuIFNlbGVjdDogCis8c2VsZWN0PgorICA8b3B0aW9uPtGE
0LjRgdCyPC9vcHRpb24+CisgIDxvcHRpb24+0YPQsNC/PC9vcHRpb24+CisgIDxvcHRpb24+0YDR
iNC+0Ls8L29wdGlvbj4KKyAgPG9wdGlvbj7QtNGM0YI8L29wdGlvbj4KKzwvc2VsZWN0PgorPC9i
b2R5PgorPC9odG1sPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2ViQ29yZS9tYW51YWwtdGVzdHMv
a2V5Ym9hcmRfc2VsZWN0X25vbl9lbmdsaXNoLmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOYW1lOiBzdm46ZXhl
Y3V0YWJsZQogICArICoKCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVu
dUNocm9taXVtLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Bv
cHVwTWVudUNocm9taXVtLmNwcAkocmV2aXNpb24gNDM5NzEpCisrKyBXZWJDb3JlL3BsYXRmb3Jt
L2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjg2LDEz
ICs2ODYsMzIgQEAgc3RhdGljIFN0cmluZyBzdHJpcExlYWRpbmdXaGl0ZVNwYWNlKGNvbgogICAg
IHJldHVybiBzdHJpbmcuc3Vic3RyaW5nKGksIGxlbmd0aCAtIGkpOwogfQogCitzdGF0aWMgYm9v
bCBpc0NoYXJhY3RlclR5cGVFdmVudChjb25zdCBQbGF0Zm9ybUtleWJvYXJkRXZlbnQmIGV2ZW50
KSB7CisgICAgLy8gQ2hlY2sgd2hldGhlciB0aGUgZXZlbnQgaXMgYSBjaGFyYWN0ZXItdHlwZWQg
ZXZlbnQgb3Igbm90LiAKKyAgICAvLyBJbiBXaW5kb3dzLCBQbGF0Zm9ybUtleWJvYXJkRXZlbnQ6
OkNoYXIgKG5vdCBSYXdLZXlEb3duKSB0eXBlIGV2ZW50CisgICAgLy8gaXMgY29uc2lkZXJlZCBh
cyBjaGFyYWN0ZXIgdHlwZSBldmVudC4gSW4gTWFjIE9TLCBLZXlEb3duIChub3QgCisgICAgLy8g
S2V5VXApIGlzIGNvbnNpZGVyZWQgYXMgY2hhcmFjdGVyIHR5cGUgZXZlbnQuCisjaWYgUExBVEZP
Uk0oV0lOX09TKQorICAgIGlmIChldmVudC50eXBlKCkgPT0gUGxhdGZvcm1LZXlib2FyZEV2ZW50
OjpDaGFyKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyNlbHNlCisgICAgaWYgKGV2ZW50LnR5cGUo
KSA9PSBQbGF0Zm9ybUtleWJvYXJkRXZlbnQ6OktleURvd24pCisgICAgICAgIHJldHVybiB0cnVl
OworI2VuZGlmCisgICAgcmV0dXJuIGZhbHNlOworfQorCiAvLyBGcm9tIEhUTUxTZWxlY3RFbGVt
ZW50LmNwcCwgd2l0aCBtb2RpZmljYXRpb25zCiB2b2lkIFBvcHVwTGlzdEJveDo6dHlwZUFoZWFk
RmluZChjb25zdCBQbGF0Zm9ybUtleWJvYXJkRXZlbnQmIGV2ZW50KQogewogICAgIFRpbWVTdGFt
cCBub3cgPSBzdGF0aWNfY2FzdDxUaW1lU3RhbXA+KGN1cnJlbnRUaW1lKCkgKiAxMDAwLjBmKTsK
ICAgICBUaW1lU3RhbXAgZGVsdGEgPSBub3cgLSBtX2xhc3RDaGFyVGltZTsKIAotICAgIG1fbGFz
dENoYXJUaW1lID0gbm93OworICAgIC8vIFJlc2V0IHRoZSB0aW1lIHdoZW4gdXNlciB0eXBlcyBp
biBhIGNoYXJhY3Rlci4gVGhlIHRpbWUgZ2FwIGJldHdlZW4KKyAgICAvLyBsYXN0IGNoYXJhY3Rl
ciBhbmQgdGhlIGN1cnJlbnQgY2hhcmFjdGVyIGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hldGhlcgor
ICAgIC8vIHVzZXIgdHlwZWQgaW4gYSBzdHJpbmcgb3IganVzdCBhIGNoYXJhY3RlciBhcyB0aGUg
c2VhcmNoIHByZWZpeC4KKyAgICBpZiAoaXNDaGFyYWN0ZXJUeXBlRXZlbnQoZXZlbnQpKQorICAg
ICAgICBtX2xhc3RDaGFyVGltZSA9IG5vdzsKIAogICAgIFVDaGFyIGMgPSBldmVudC53aW5kb3dz
VmlydHVhbEtleUNvZGUoKTsKIAo=
</data>
<flag name="review"
          id="15744"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>