<?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>85369</bug_id>
          
          <creation_ts>2012-05-02 06:11:28 -0700</creation_ts>
          <short_desc>[EFL] [DRT] keyboard-related tests do not pass</short_desc>
          <delta_ts>2012-05-24 12:37:39 -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 EFL</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>
          <dependson>84710</dependson>
    
    <dependson>85479</dependson>
    
    <dependson>85485</dependson>
    
    <dependson>85503</dependson>
    
    <dependson>86836</dependson>
    
    <dependson>86837</dependson>
    
    <dependson>86838</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Mikhail Pozdnyakov">mikhail.pozdnyakov</reporter>
          <assigned_to name="Mikhail Pozdnyakov">mikhail.pozdnyakov</assigned_to>
          <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>614227</commentid>
    <comment_count>0</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-02 06:11:28 -0700</bug_when>
    <thetext>PlatformKeyboardEventEfl implementation should be fixed:
- event.keyIdentifier, event.keyCode, event.charCode should have proper values 
- PlatformKeyboardEvent::getCurrentModifierState should be implemented

in order to unskip:
fast/events/js-keyboard-event-creation.html

fast/events/key-events-in-input-button.html
fast/events/key-events-in-input-text.html
fast/events/keydown-numpad-keys.html
fast/events/onsearch-enter.html
fast/events/option-tab.html
fast/events/special-key-events-in-input-text.html
fast/forms/button-enter-click.html
fast/forms/button-spacebar-click.html
fast/forms/enter-clicks-buttons.html
fast/forms/input-search-press-escape-key.html
fast/forms/input-text-enter.html
fast/forms/textinput-not-fired-on-enter-in-input.html
http/tests/misc/isindex-with-no-form.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627456</commentid>
    <comment_count>1</comment_count>
      <attachid>142660</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-18 01:17:38 -0700</bug_when>
    <thetext>Created attachment 142660
patch

Fixes the left testcases from the list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627526</commentid>
    <comment_count>2</comment_count>
      <attachid>142660</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-18 02:58:58 -0700</bug_when>
    <thetext>Comment on attachment 142660
patch

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

&gt; LayoutTests/ChangeLog:3
&gt; +        [EFL] PlatformKeyboardEventEfl implementation fix

This patch implements new functionality, fix potential bug and refactoring code. Please do not mix multiple patches into a patch.

&gt; Source/WebCore/platform/efl/EflKeyboardUtilities.cpp:228
&gt; +        return &quot;\x1b&quot;;

To be consistent with other condition, let&apos;s use String(&quot;&quot;).

&gt; Source/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp:444
&gt; +    // From GTK. Don&apos;t allow text insertion for nodes that cannot edit.

It looks this condition is clear. So, it seems to me &quot;From GTK&quot; is not needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627527</commentid>
    <comment_count>3</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-18 03:05:55 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 142660 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=142660&amp;action=review
&gt; 
&gt; &gt; LayoutTests/ChangeLog:3
&gt; &gt; +        [EFL] PlatformKeyboardEventEfl implementation fix
&gt; 
&gt; This patch implements new functionality, fix potential bug and refactoring code. Please do not mix multiple patches into a patch.

Thanks for review. Splitting it..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631315</commentid>
    <comment_count>4</comment_count>
      <attachid>143483</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-23 00:22:56 -0700</bug_when>
    <thetext>Created attachment 143483
patch v2 (drt changes)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631358</commentid>
    <comment_count>5</comment_count>
      <attachid>143483</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-23 00:59:58 -0700</bug_when>
    <thetext>Comment on attachment 143483
patch v2 (drt changes)

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

&gt; Tools/DumpRenderTree/efl/EventSender.cpp:455
&gt; +        modifiers |= EvasKeyModifierShift;

As we discussed on irc, I think we need to know why shift should be adjust into modifiers before landing this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631364</commentid>
    <comment_count>6</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-23 01:10:43 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 143483 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=143483&amp;action=review
&gt; 
&gt; &gt; Tools/DumpRenderTree/efl/EventSender.cpp:455
&gt; &gt; +        modifiers |= EvasKeyModifierShift;
&gt; 
&gt; As we discussed on irc, I think we need to know why shift should be adjust into modifiers before landing this patch.

Probable reason is that VK_ codes do not distinguish between lows and caps, and having of SHIFT modifier is the only way to understand the case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631376</commentid>
    <comment_count>7</comment_count>
      <attachid>143483</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-23 01:28:05 -0700</bug_when>
    <thetext>Comment on attachment 143483
patch v2 (drt changes)

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

&gt; Tools/DumpRenderTree/efl/EventSender.cpp:454
&gt; +    if ((character-&gt;length() == 1 ) &amp;&amp; (&apos;A&apos; &lt;= charCode &amp;&amp; charCode &lt;= &apos;Z&apos;))

I&apos;m not sure if this is webkit style, personally, I would prefer operand to operator in comparison condition. For example,
(charCode &gt;= &apos;A&apos; &amp;&amp; charCode &lt;= &apos;Z&apos;)

&gt;&gt;&gt; Tools/DumpRenderTree/efl/EventSender.cpp:455
&gt;&gt;&gt; +        modifiers |= EvasKeyModifierShift;
&gt;&gt; 
&gt;&gt; As we discussed on irc, I think we need to know why shift should be adjust into modifiers before landing this patch.
&gt; 
&gt; Probable reason is that VK_ codes do not distinguish between lows and caps, and having of SHIFT modifier is the only way to understand the case

If Virtual key codes only can distinguish them, I&apos;m ok. But, in my opinion, it is good to add comment for this to here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631378</commentid>
    <comment_count>8</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-23 01:30:58 -0700</bug_when>
    <thetext>(In reply to comment #7)

&gt;&gt; If Virtual key codes only can distinguish them
Oops, wrong typing.

If virtual key codes only can distinguish between lows and caps when there is shift modifier in modifier, I&apos;m ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631462</commentid>
    <comment_count>9</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-23 03:41:08 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; 
&gt; &gt;&gt; If Virtual key codes only can distinguish them
&gt; Oops, wrong typing.
&gt; 
&gt; If virtual key codes only can distinguish between lows and caps when there is shift modifier in modifier, I&apos;m ok.

Here is the actual reason described:

From d15ea3fef52046f49dbca9a8f7633799255c7750 Mon Sep 17 00:00:00 2001
From: &quot;darin@apple.com&quot; &lt;darin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc&gt;
Date: Thu, 29 Nov 2007 00:43:14 +0000
Subject: [PATCH]         Reviewed by Adam Roben.

        * DumpRenderTree/mac/EventSendingController.mm:
        (-[EventSendingController keyDown:withModifiers:]):
        Send capital letters through as lowercase letters with the shift key down
        rather than sending them as if they were highly unusual &quot;capital letter keys&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632326</commentid>
    <comment_count>10</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-23 19:31:00 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; &gt; Tools/DumpRenderTree/efl/EventSender.cpp:454
&gt; &gt; +    if ((character-&gt;length() == 1 ) &amp;&amp; (&apos;A&apos; &lt;= charCode &amp;&amp; charCode &lt;= &apos;Z&apos;))
&gt; 
&gt; I&apos;m not sure if this is webkit style, personally, I would prefer operand to operator in comparison condition. For example,
&gt; (charCode &gt;= &apos;A&apos; &amp;&amp; charCode &lt;= &apos;Z&apos;)

Any opinions ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632351</commentid>
    <comment_count>11</comment_count>
      <attachid>143483</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-05-23 19:58:50 -0700</bug_when>
    <thetext>Comment on attachment 143483
patch v2 (drt changes)

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

&gt; Tools/DumpRenderTree/efl/EventSender.cpp:442
&gt; -    int charCode = JSStringGetCharactersPtr(character)[0];
&gt; +    const char charCode = JSStringGetCharactersPtr(character)[0];

Why change this?

&gt;&gt; Tools/DumpRenderTree/efl/EventSender.cpp:454
&gt;&gt; +    if ((character-&gt;length() == 1 ) &amp;&amp; (&apos;A&apos; &lt;= charCode &amp;&amp; charCode &lt;= &apos;Z&apos;))
&gt; 
&gt; I&apos;m not sure if this is webkit style, personally, I would prefer operand to operator in comparison condition. For example,
&gt; (charCode &gt;= &apos;A&apos; &amp;&amp; charCode &lt;= &apos;Z&apos;)

I second Gyuyoung&apos;s comment, and there&apos;s also an extra space after &quot;1&quot;.

&gt;&gt;&gt;&gt; Tools/DumpRenderTree/efl/EventSender.cpp:455
&gt;&gt;&gt;&gt; +        modifiers |= EvasKeyModifierShift;
&gt;&gt;&gt; 
&gt;&gt;&gt; As we discussed on irc, I think we need to know why shift should be adjust into modifiers before landing this patch.
&gt;&gt; 
&gt;&gt; Probable reason is that VK_ codes do not distinguish between lows and caps, and having of SHIFT modifier is the only way to understand the case
&gt; 
&gt; If Virtual key codes only can distinguish them, I&apos;m ok. But, in my opinion, it is good to add comment for this to here.

Adding a comment would be good for future reference.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632713</commentid>
    <comment_count>12</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-24 06:19:26 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 143483 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=143483&amp;action=review
&gt; 
&gt; &gt; Tools/DumpRenderTree/efl/EventSender.cpp:442
&gt; &gt; -    int charCode = JSStringGetCharactersPtr(character)[0];
&gt; &gt; +    const char charCode = JSStringGetCharactersPtr(character)[0];
&gt; 
&gt; Why change this?
Did it to avoid unnecessary conversions each time we compare &apos;charCode&apos; with a symbol. Will remove it from the patch as it is not related to actual fix of DRT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632719</commentid>
    <comment_count>13</comment_count>
      <attachid>143814</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-24 06:28:34 -0700</bug_when>
    <thetext>Created attachment 143814
patch v3 (fixed review comments)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632723</commentid>
    <comment_count>14</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-24 06:32:29 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #7)
&gt; &gt; &gt; Tools/DumpRenderTree/efl/EventSender.cpp:454
&gt; &gt; &gt; +    if ((character-&gt;length() == 1 ) &amp;&amp; (&apos;A&apos; &lt;= charCode &amp;&amp; charCode &lt;= &apos;Z&apos;))
&gt; &gt; 
&gt; &gt; I&apos;m not sure if this is webkit style, personally, I would prefer operand to operator in comparison condition. For example,
&gt; &gt; (charCode &gt;= &apos;A&apos; &amp;&amp; charCode &lt;= &apos;Z&apos;)
&gt; 
&gt; Any opinions ?

Let&apos;s do this way. Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632742</commentid>
    <comment_count>15</comment_count>
      <attachid>143814</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-05-24 07:01:40 -0700</bug_when>
    <thetext>Comment on attachment 143814
patch v3 (fixed review comments)

Looks good, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633060</commentid>
    <comment_count>16</comment_count>
      <attachid>143814</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-24 12:37:26 -0700</bug_when>
    <thetext>Comment on attachment 143814
patch v3 (fixed review comments)

Clearing flags on attachment: 143814

Committed r118404: &lt;http://trac.webkit.org/changeset/118404&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633061</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-24 12:37:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142660</attachid>
            <date>2012-05-18 01:17:38 -0700</date>
            <delta_ts>2012-05-18 03:06:31 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bug85369</filename>
            <type>text/plain</type>
            <size>8881</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IDMxYmQ3M2MyYjIyNTUxNGZkZjlhNDViNzQ3ZWYyNDU1OTYyNzkxZDQKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPHBvemRueWFrb3YubWlraGFpbEBnbWFpbC5jb20+CkRhdGU6ICAg
RnJpIE1heSAxOCAxMToxNjoyMiAyMDEyICswMzAwCgogICAgYnVnODUzNjkKCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDcy
YWFlZi4uZWM3YTFmOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA1LTE4ICBNaWtoYWls
IFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgorCisgICAgICAgIFtF
RkxdIFBsYXRmb3JtS2V5Ym9hcmRFdmVudEVmbCBpbXBsZW1lbnRhdGlvbiBmaXgKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1MzY5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvU2tp
cHBlZDogVW5za2lwcGVkIGJ1Zy1yZWxhdGVkIHRlc3RzLgorICAgICAgICAqIHBsYXRmb3JtL2Vm
bC90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6IEFkZGVkIGZhc3QvZXZlbnRzL29wdGlvbi10YWIuaHRt
bC4KKwogMjAxMi0wNS0xNyAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8xMTQxOTkzMz4gUHJvYmxlbXMgd2l0aCBmbGlwcGVkIHdyaXRp
bmcgbW9kZXMgYW5kIGNvbXBvc2l0aW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9lZmwvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCmluZGV4IDE0
MzQzY2IuLjBjN2Y2Y2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lw
cGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCkBAIC03ODIsMTIgKzc4
Miw2IEBAIGZhc3QvZm9ybXMvZm9jdXMyLmh0bWwKIGZhc3QvZXZlbnRzL2RyYWctaW4tZnJhbWVz
Lmh0bWwKIGZhc3QvZXZlbnRzL2RyYWctcGFyZW50LW5vZGUuaHRtbAogCi0jIEJVRzoga2V5Ym9h
cmQtcmVsYXRlZCBidWdzLCBnZW5lcmFsbHkgaW4gdGhlIEV2ZW50U2VuZGVyLVBsYXRmb3JtS2V5
Ym9hcmRFdmVudEVmbCBpbnRlcmFjdGlvbgotZmFzdC9ldmVudHMva2V5LWV2ZW50cy1pbi1pbnB1
dC1idXR0b24uaHRtbAotZmFzdC9ldmVudHMva2V5LWV2ZW50cy1pbi1pbnB1dC10ZXh0Lmh0bWwK
LWZhc3QvZXZlbnRzL29wdGlvbi10YWIuaHRtbAotZmFzdC9mb3Jtcy9pbnB1dC1zZWFyY2gtcHJl
c3MtZXNjYXBlLWtleS5odG1sCi0KICMgQlVHOiBub3Qgc2Nyb2xsaW5nIGNvcnJlY3RseQogZmFz
dC9ldmVudHMvbW91c2Vkb3duLWluLXN1YmZyYW1lLXNjcm9sbGJhci5odG1sCiBmYXN0L2V2ZW50
cy9zY3JvbGwtYWZ0ZXItY2xpY2stb24tdGFiLWluZGV4Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2VmbC90ZXN0X2V4cGVjdGF0aW9ucy50eHQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9lZmwvdGVzdF9leHBlY3RhdGlvbnMudHh0CmluZGV4IDU5NWM1YmMuLjY3OTYwYzUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC90ZXN0X2V4cGVjdGF0aW9ucy50
eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL3Rlc3RfZXhwZWN0YXRpb25zLnR4dApA
QCAtNDQ0LDYgKzQ0NCw5IEBAIEJVR1dLRUZMIFNLSVAgOiBodHRwL3Rlc3RzL3htbGh0dHByZXF1
ZXN0L2RlZmF1bHQtY29udGVudC10eXBlLWRhc2hib2FyZC5odG1sID0KIC8vIERvZXNuJ3QgYXBw
bHkgdG8gcGxhdGZvcm1zIHRoYXQgZG9uJ3QgZW5mb3JjZSB0aGUgQ0ZOZXR3b3JrLXN0eWxlIDNy
ZCBwYXJ0eSBjb29raWUgcG9saWN5CiBCVUdXSzM1ODI0IFNLSVAgOiBodHRwL3Rlc3RzL2Nvb2tp
ZXMvdGhpcmQtcGFydHktY29va2llLXJlbGF4aW5nLmh0bWwgPSBGQUlMCiAKKy8vIFdlYktpdCBF
RkwgdXNlcyBkaWZmZXJlbnQga2V5Ym9hcmQgYWNjZWxlcmF0b3JzIHRoYW4gU2FmYXJpICh2aWEg
Q2hyb21pdW0pLgorQlVHV0tFRkwgU0tJUCA6IGZhc3QvZXZlbnRzL29wdGlvbi10YWIuaHRtbCA9
IEZBSUwKKwogLy8gVGVzdCBpcyBmbGFreSBvbiBvdGhlciBwbGF0Zm9ybXMuCiBCVUdXSzg2NDMz
IDogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2NyaXB0LXNyYy1y
ZWRpcmVjdC5odG1sID0gVEVYVAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDk0ZjFlNS4uM2RjMmEyOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTA1LTE4ICBNaWtoYWlsIFBvemRueWFrb3Yg
IDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgorCisgICAgICAgIFtFRkxdIFBsYXRmb3Jt
S2V5Ym9hcmRFdmVudEVmbCBpbXBsZW1lbnRhdGlvbiBmaXgKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1MzY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvRWZsS2V5Ym9hcmRVdGls
aXRpZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlS2V5TWFwKTogQWRkZWQgRVNDIGtl
eSBzdXBwb3J0IHRvIHRoZSBtYXAuCisgICAgICAgIChXZWJDb3JlOjpzaW5nbGVDaGFyYWN0ZXJT
dHJpbmcpOiAgQWRkZWQgRVNDIGtleSBzdXBwb3J0LgorCiAyMDEyLTA1LTE3ICBDYXJsb3MgR2Fy
Y2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBLVVJMOjpm
aWxlU3lzdGVtUGF0aCgpIHNob3VsZCBzdHJpcCB0aGUgcXVlcnkgb2YgdGhlIHVyaQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL0VmbEtleWJvYXJkVXRpbGl0aWVzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9FZmxLZXlib2FyZFV0aWxpdGllcy5jcHAK
aW5kZXggNThjMDU4Zi4uNTI5MTgyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZWZsL0VmbEtleWJvYXJkVXRpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9lZmwvRWZsS2V5Ym9hcmRVdGlsaXRpZXMuY3BwCkBAIC04NCw2ICs4NCw3IEBAIHN0YXRp
YyB2b2lkIGNyZWF0ZUtleU1hcCgpCiAgICAga2V5TWFwKCkuc2V0KCJJU09fTGVmdF9UYWIiLCAi
VSswMDA5Iik7CiAgICAga2V5TWFwKCkuc2V0KCJCYWNrU3BhY2UiLCAiVSswMDA4Iik7CiAgICAg
a2V5TWFwKCkuc2V0KCJzcGFjZSIsICJVKzAwMjAiKTsKKyAgICBrZXlNYXAoKS5zZXQoIkVzY2Fw
ZSIsICJVKzAwMUIiKTsKICAgICBrZXlNYXAoKS5zZXQoIlByaW50IiwgIlByaW50U2NyZWVuIik7
CiAgICAgLy8gS2V5cGFkIGxvY2F0aW9uCiAgICAga2V5TWFwKCkuc2V0KCJLUF9MZWZ0IiwgIkxl
ZnQiKTsKQEAgLTIyMyw2ICsyMjQsOSBAQCBTdHJpbmcgc2luZ2xlQ2hhcmFjdGVyU3RyaW5nKGNv
bnN0IFN0cmluZyYga2V5TmFtZSkKICAgICAgICAgcmV0dXJuIFN0cmluZygiXHQiKTsKICAgICBp
ZiAoa2V5TmFtZSA9PSAiUHJpbnQiKQogICAgICAgICByZXR1cm4gU3RyaW5nKCIiKTsKKyAgICBp
ZiAoa2V5TmFtZSA9PSAiRXNjYXBlIikKKyAgICAgICAgcmV0dXJuICJceDFiIjsKKwogICAgIHJl
dHVybiBrZXlOYW1lOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggMWZmNWRiMy4uNTVjYTcxOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA1LTE4ICBNaWtoYWlsIFBv
emRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgorCisgICAgICAgIFtFRkxd
IFBsYXRmb3JtS2V5Ym9hcmRFdmVudEVmbCBpbXBsZW1lbnRhdGlvbiBmaXgKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1MzY5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRG8gbm90IGFsbG93IHRleHQgaW5z
ZXJ0aW9uIGZvciBub2RlcyB0aGF0IGNhbm5vdCBlZGl0LgorCisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvckNsaWVu
dEVmbDo6aGFuZGxlRWRpdGluZ0tleWJvYXJkRXZlbnQpOgorCiAyMDEyLTA1LTE3ICBSYXBoYWVs
IEt1Ym8gZGEgQ29zdGEgIDxyYWt1Y29Ad2Via2l0Lm9yZz4KIAogICAgICAgICBbRUZMXVtEUlRd
IENhbGwgcmVzZXRJbnRlcm5hbHNPYmplY3QoKSBhZnRlciBlYWNoIHRlc3QuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwIGIv
U291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmNwcAppbmRl
eCA3NWEwNGUzLi41ZmMxMGNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNv
cmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5jcHAKQEAgLTQ0MSw2ICs0NDEsMTAgQEAgYm9vbCBF
ZGl0b3JDbGllbnRFZmw6OmhhbmRsZUVkaXRpbmdLZXlib2FyZEV2ZW50KEtleWJvYXJkRXZlbnQq
IGV2ZW50KQogICAgIGlmIChjb21tYW5kLmV4ZWN1dGUoZXZlbnQpKQogICAgICAgICByZXR1cm4g
dHJ1ZTsKIAorICAgIC8vIEZyb20gR1RLLiBEb24ndCBhbGxvdyB0ZXh0IGluc2VydGlvbiBmb3Ig
bm9kZXMgdGhhdCBjYW5ub3QgZWRpdC4KKyAgICBpZiAoIWZyYW1lLT5lZGl0b3IoKS0+Y2FuRWRp
dCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICAvLyBEb24ndCBpbnNlcnQgbnVsbCBv
ciBjb250cm9sIGNoYXJhY3RlcnMgYXMgdGhleSBjYW4gcmVzdWx0IGluIHVuZXhwZWN0ZWQgYmVo
YXZpb3VyCiAgICAgaWYgKGV2ZW50LT5jaGFyQ29kZSgpIDwgJyAnKQogICAgICAgICByZXR1cm4g
ZmFsc2U7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5k
ZXggYzQ5ZDI5OS4uMTRmOTRmYSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rv
b2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA1LTE4ICBNaWtoYWlsIFBvemRu
eWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgorCisgICAgICAgIFtFRkxdIFBs
YXRmb3JtS2V5Ym9hcmRFdmVudEVmbCBpbXBsZW1lbnRhdGlvbiBmaXgKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1MzY5CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXZhc0tleU1vZGlmaWVyIGlzIG9mIHVu
c2lnbmVkIGludCB0eXBlLiBBZGRlZCBFU0Mga2V5IHN1cHBvcnQuIEFkZGVkIFNISUZUIG1vZGlm
aWVyIGZvciBjYXBzLiAKKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2VmbC9FdmVudFNlbmRl
ci5jcHA6CisgICAgICAgIChtb2RpZmllcnNGcm9tSlNWYWx1ZSk6CisgICAgICAgIChrZXlOYW1l
RnJvbUpTVmFsdWUpOgorCiAyMDEyLTA1LTE3ICBSYXBoYWVsIEt1Ym8gZGEgQ29zdGEgIDxyYWt1
Y29Ad2Via2l0Lm9yZz4KIAogICAgICAgICBbRUZMXVtEUlRdIENhbGwgcmVzZXRJbnRlcm5hbHNP
YmplY3QoKSBhZnRlciBlYWNoIHRlc3QuCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9lZmwvRXZlbnRTZW5kZXIuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0V2ZW50U2Vu
ZGVyLmNwcAppbmRleCAxNmQ5MTE4Li5iMDBlZDRlIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9lZmwvRXZlbnRTZW5kZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Vm
bC9FdmVudFNlbmRlci5jcHAKQEAgLTcxLDEzICs3MSwxMiBAQCBlbnVtIEtleUxvY2F0aW9uQ29k
ZSB7CiAgICAgRG9tS2V5TG9jYXRpb25OdW1wYWQKIH07CiAKLWVudW0gRXZhc0tleU1vZGlmaWVy
IHsKLSAgICBFdmFzS2V5TW9kaWZpZXJOb25lICAgID0gMCwKLSAgICBFdmFzS2V5TW9kaWZpZXJD
b250cm9sID0gMSA8PCAwLAotICAgIEV2YXNLZXlNb2RpZmllclNoaWZ0ICAgPSAxIDw8IDEsCi0g
ICAgRXZhc0tleU1vZGlmaWVyQWx0ICAgICA9IDEgPDwgMiwKLSAgICBFdmFzS2V5TW9kaWZpZXJN
ZXRhICAgID0gMSA8PCAzCi19OwordHlwZWRlZiB1bnNpZ25lZCBpbnQgRXZhc0tleU1vZGlmaWVy
OworY29uc3QgRXZhc0tleU1vZGlmaWVyIEV2YXNLZXlNb2RpZmllck5vbmUgPSAwOworY29uc3Qg
RXZhc0tleU1vZGlmaWVyIEV2YXNLZXlNb2RpZmllckNvbnRyb2wgPSAxIDw8IDA7Citjb25zdCBF
dmFzS2V5TW9kaWZpZXIgRXZhc0tleU1vZGlmaWVyU2hpZnQgICA9IDEgPDwgMTsKK2NvbnN0IEV2
YXNLZXlNb2RpZmllciBFdmFzS2V5TW9kaWZpZXJBbHQgICAgID0gMSA8PCAyOworY29uc3QgRXZh
c0tleU1vZGlmaWVyIEV2YXNLZXlNb2RpZmllck1ldGEgICAgPSAxIDw8IDM7CiAKIGVudW0gRXZh
c01vdXNlQnV0dG9uIHsKICAgICBFdmFzTW91c2VCdXR0b25Ob25lLApAQCAtMjM3LDEyICsyMzYs
MTIgQEAgc3RhdGljIEV2YXNLZXlNb2RpZmllciBtb2RpZmllcnNGcm9tSlNWYWx1ZShKU0NvbnRl
eHRSZWYgY29udGV4dCwgY29uc3QgSlNWYWx1ZVIKICAgICBpZiAoIW1vZGlmaWVyc0FycmF5KQog
ICAgICAgICByZXR1cm4gRXZhc0tleU1vZGlmaWVyTm9uZTsKIAotICAgIHVuc2lnbmVkIG1vZGlm
aWVyID0gMDsKKyAgICBFdmFzS2V5TW9kaWZpZXIgbW9kaWZpZXIgPSBFdmFzS2V5TW9kaWZpZXJO
b25lOwogICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBsZW5ndGhQcm9wZXJ0eShBZG9wdCwg
SlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoImxlbmd0aCIpKTsKICAgICBpbnQgbW9kaWZp
ZXJzQ291bnQgPSBKU1ZhbHVlVG9OdW1iZXIoY29udGV4dCwgSlNPYmplY3RHZXRQcm9wZXJ0eShj
b250ZXh0LCBtb2RpZmllcnNBcnJheSwgbGVuZ3RoUHJvcGVydHkuZ2V0KCksIDApLCAwKTsKICAg
ICBmb3IgKGludCBpID0gMDsgaSA8IG1vZGlmaWVyc0NvdW50OyArK2kpCi0gICAgICAgIG1vZGlm
aWVyIHw9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihtb2RpZmllckZyb21KU1ZhbHVlKGNvbnRleHQs
IEpTT2JqZWN0R2V0UHJvcGVydHlBdEluZGV4KGNvbnRleHQsIG1vZGlmaWVyc0FycmF5LCBpLCAw
KSkpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxFdmFzS2V5TW9kaWZpZXI+KG1vZGlmaWVyKTsK
KyAgICAgICAgbW9kaWZpZXIgfD0gbW9kaWZpZXJGcm9tSlNWYWx1ZShjb250ZXh0LCBKU09iamVj
dEdldFByb3BlcnR5QXRJbmRleChjb250ZXh0LCBtb2RpZmllcnNBcnJheSwgaSwgMCkpOworICAg
IHJldHVybiBtb2RpZmllcjsKIH0KIAogc3RhdGljIEpTVmFsdWVSZWYgbW91c2VEb3duQ2FsbGJh
Y2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJl
ZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1
bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQpAQCAtNDM5LDcgKzQzOCw3IEBAIHN0YXRp
YyBLZXlFdmVudEluZm8qIGtleU5hbWVGcm9tSlNWYWx1ZShKU1N0cmluZ1JlZiBjaGFyYWN0ZXIs
IEV2YXNLZXlNb2RpZmllciBtCiAgICAgaWYgKGVxdWFscyhjaGFyYWN0ZXIsICJGMTIiKSkKICAg
ICAgICAgcmV0dXJuIG5ldyBLZXlFdmVudEluZm8oIkYxMiIsICIiLCBtb2RpZmllcnMpOwogCi0g
ICAgaW50IGNoYXJDb2RlID0gSlNTdHJpbmdHZXRDaGFyYWN0ZXJzUHRyKGNoYXJhY3RlcilbMF07
CisgICAgY29uc3QgY2hhciBjaGFyQ29kZSA9IEpTU3RyaW5nR2V0Q2hhcmFjdGVyc1B0cihjaGFy
YWN0ZXIpWzBdOwogICAgIGlmIChjaGFyQ29kZSA9PSAnXG4nIHx8IGNoYXJDb2RlID09ICdccicp
CiAgICAgICAgIHJldHVybiBuZXcgS2V5RXZlbnRJbmZvKCJSZXR1cm4iLCAiUmV0dXJuIiwgbW9k
aWZpZXJzKTsKICAgICBpZiAoY2hhckNvZGUgPT0gJ1x0JykKQEAgLTQ0OCw2ICs0NDcsMTEgQEAg
c3RhdGljIEtleUV2ZW50SW5mbyoga2V5TmFtZUZyb21KU1ZhbHVlKEpTU3RyaW5nUmVmIGNoYXJh
Y3RlciwgRXZhc0tleU1vZGlmaWVyIG0KICAgICAgICAgcmV0dXJuIG5ldyBLZXlFdmVudEluZm8o
IkJhY2tTcGFjZSIsICJCYWNrU3BhY2UiLCBtb2RpZmllcnMpOwogICAgIGlmIChjaGFyQ29kZSA9
PSAnICcpCiAgICAgICAgIHJldHVybiBuZXcgS2V5RXZlbnRJbmZvKCJzcGFjZSIsICIgIiwgbW9k
aWZpZXJzKTsKKyAgICBpZiAoY2hhckNvZGUgPT0gJ1x4MUInKQorICAgICAgICByZXR1cm4gbmV3
IEtleUV2ZW50SW5mbygiRXNjYXBlIiwgIkVzY2FwZSIsIG1vZGlmaWVycyk7CisKKyAgICBpZiAo
KGNoYXJhY3Rlci0+bGVuZ3RoKCkgPT0gMSApICYmICgnQScgPD0gY2hhckNvZGUgJiYgY2hhckNv
ZGUgPD0gJ1onKSkKKyAgICAgICAgbW9kaWZpZXJzIHw9IEV2YXNLZXlNb2RpZmllclNoaWZ0Owog
CiAgICAgcmV0dXJuIG5ldyBLZXlFdmVudEluZm8oY2hhcmFjdGVyLT51c3RyaW5nKCkudXRmOCgp
LCBjaGFyYWN0ZXItPnVzdHJpbmcoKS51dGY4KCksIG1vZGlmaWVycyk7CiB9Cg==
</data>
<flag name="commit-queue"
          id="149041"
          type_id="3"
          status="-"
          setter="gyuyoung.kim"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143483</attachid>
            <date>2012-05-23 00:22:56 -0700</date>
            <delta_ts>2012-05-24 06:28:34 -0700</delta_ts>
            <desc>patch v2 (drt changes)</desc>
            <filename>bug85369_v2</filename>
            <type>text/plain</type>
            <size>3173</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IGI2NzNlMzMyNjcyYWExMWE2Yzk5YzgzYjBlZDM3YzMzYjkwMmQ0ZGYKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPHBvemRueWFrb3YubWlraGFpbEBnbWFpbC5jb20+CkRhdGU6ICAg
V2VkIE1heSAyMyAxMDoyMDoyOSAyMDEyICswMzAwCgogICAgYnVnPTg1MzY5CgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDhh
NWU0YWIuLjU3ZDQyMjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMi0wNS0yMyAgTWlraGFp
bCBQb3pkbnlha292ICA8bWlraGFpbC5wb3pkbnlha292QGludGVsLmNvbT4KKworICAgICAgICBb
RUZMXSBbRFJUXSBrZXlib2FyZC1yZWxhdGVkIHRlc3RzIGRvIG5vdCBwYXNzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTM2OQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZWZsL1NraXBw
ZWQ6IFVuc2tpcHBlZCBrZXlib2FyZC1yZWxhdGVkIHRlc3RzLgorCiAyMDEyLTA1LTIyICBBYmhp
c2hlayBBcnlhICA8aW5mZXJub0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQXNzZXJ0aW9uIGZh
aWx1cmUgKHRvUmVuZGVyQm94KCkgY2FsbGVkIG9uIGEgUmVuZGVySW5saW5lKSBiZW5lYXRoIFJl
bmRlckJsb2NrOjpibG9ja0JlZm9yZVdpdGhpblNlbGVjdGlvblJvb3QoKQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9l
ZmwvU2tpcHBlZAppbmRleCBlOTYwNTRlLi5lODY1MTcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvU2tp
cHBlZApAQCAtNjU2LDExICs2NTYsNiBAQCBmYXN0L2Zvcm1zL2ZvY3VzMi5odG1sCiBmYXN0L2V2
ZW50cy9kcmFnLWluLWZyYW1lcy5odG1sCiBmYXN0L2V2ZW50cy9kcmFnLXBhcmVudC1ub2RlLmh0
bWwKIAotIyBCVUc6IGtleWJvYXJkLXJlbGF0ZWQgYnVncywgZ2VuZXJhbGx5IGluIHRoZSBFdmVu
dFNlbmRlci1QbGF0Zm9ybUtleWJvYXJkRXZlbnRFZmwgaW50ZXJhY3Rpb24KLWZhc3QvZXZlbnRz
L2tleS1ldmVudHMtaW4taW5wdXQtYnV0dG9uLmh0bWwKLWZhc3QvZXZlbnRzL2tleS1ldmVudHMt
aW4taW5wdXQtdGV4dC5odG1sCi1mYXN0L2V2ZW50cy9vcHRpb24tdGFiLmh0bWwKLQogIyBCVUc6
IG5vdCBzY3JvbGxpbmcgY29ycmVjdGx5CiBmYXN0L2V2ZW50cy9tb3VzZWRvd24taW4tc3ViZnJh
bWUtc2Nyb2xsYmFyLmh0bWwKIGZhc3QvZXZlbnRzL3Njcm9sbC1hZnRlci1jbGljay1vbi10YWIt
aW5kZXguaHRtbApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9n
CmluZGV4IGVlZmZkNDEuLjVlMDlmZTAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysg
Yi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wNS0yMyAgTWlraGFpbCBQ
b3pkbnlha292ICA8bWlraGFpbC5wb3pkbnlha292QGludGVsLmNvbT4KKworICAgICAgICBbRUZM
XSBbRFJUXSBrZXlib2FyZC1yZWxhdGVkIHRlc3RzIGRvIG5vdCBwYXNzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTM2OQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZWZsL0V2
ZW50U2VuZGVyLmNwcDoKKyAgICAgICAgKGtleU5hbWVGcm9tSlNWYWx1ZSk6IEFkZCBTSElGVCBt
b2RpZmllciBmb3IgY2FwaXRhbCBsZXR0ZXJzLgorCiAyMDEyLTA1LTIyICBNaWtoYWlsIFBvemRu
eWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgogCiAgICAgICAgIFtHVEtdW0RS
VF0gV3JvbmcgY2FjaGUgbW9kZWwgaXMgdGFrZW4gaW4gTGF5b3V0VGVzdENvbnRyb2xsZXIncyBz
ZXRDYWNoZU1vZGVsKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9FdmVu
dFNlbmRlci5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRXZlbnRTZW5kZXIuY3BwCmlu
ZGV4IGVlMGNmNGEuLjk1MjdjYmMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Vm
bC9FdmVudFNlbmRlci5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0V2ZW50U2Vu
ZGVyLmNwcApAQCAtNDM5LDcgKzQzOSw3IEBAIHN0YXRpYyBLZXlFdmVudEluZm8qIGtleU5hbWVG
cm9tSlNWYWx1ZShKU1N0cmluZ1JlZiBjaGFyYWN0ZXIsIHVuc2lnbmVkIG1vZGlmaWVyCiAgICAg
aWYgKGVxdWFscyhjaGFyYWN0ZXIsICJGMTIiKSkKICAgICAgICAgcmV0dXJuIG5ldyBLZXlFdmVu
dEluZm8oIkYxMiIsICIiLCBtb2RpZmllcnMpOwogCi0gICAgaW50IGNoYXJDb2RlID0gSlNTdHJp
bmdHZXRDaGFyYWN0ZXJzUHRyKGNoYXJhY3RlcilbMF07CisgICAgY29uc3QgY2hhciBjaGFyQ29k
ZSA9IEpTU3RyaW5nR2V0Q2hhcmFjdGVyc1B0cihjaGFyYWN0ZXIpWzBdOwogICAgIGlmIChjaGFy
Q29kZSA9PSAnXG4nIHx8IGNoYXJDb2RlID09ICdccicpCiAgICAgICAgIHJldHVybiBuZXcgS2V5
RXZlbnRJbmZvKCJSZXR1cm4iLCAiUmV0dXJuIiwgbW9kaWZpZXJzKTsKICAgICBpZiAoY2hhckNv
ZGUgPT0gJ1x0JykKQEAgLTQ1MSw2ICs0NTEsOSBAQCBzdGF0aWMgS2V5RXZlbnRJbmZvKiBrZXlO
YW1lRnJvbUpTVmFsdWUoSlNTdHJpbmdSZWYgY2hhcmFjdGVyLCB1bnNpZ25lZCBtb2RpZmllcgog
ICAgIGlmIChjaGFyQ29kZSA9PSAnXHgxQicpCiAgICAgICAgIHJldHVybiBuZXcgS2V5RXZlbnRJ
bmZvKCJFc2NhcGUiLCAiRXNjYXBlIiwgbW9kaWZpZXJzKTsKIAorICAgIGlmICgoY2hhcmFjdGVy
LT5sZW5ndGgoKSA9PSAxICkgJiYgKCdBJyA8PSBjaGFyQ29kZSAmJiBjaGFyQ29kZSA8PSAnWicp
KQorICAgICAgICBtb2RpZmllcnMgfD0gRXZhc0tleU1vZGlmaWVyU2hpZnQ7CisKICAgICByZXR1
cm4gbmV3IEtleUV2ZW50SW5mbyhjaGFyYWN0ZXItPnVzdHJpbmcoKS51dGY4KCksIGNoYXJhY3Rl
ci0+dXN0cmluZygpLnV0ZjgoKSwgbW9kaWZpZXJzKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143814</attachid>
            <date>2012-05-24 06:28:34 -0700</date>
            <delta_ts>2012-05-24 12:37:26 -0700</delta_ts>
            <desc>patch v3 (fixed review comments)</desc>
            <filename>bug85369_v3</filename>
            <type>text/plain</type>
            <size>2842</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IDY5OWUzY2IxNjZmNWM2M2U2Mzg5YWU4MjAwZjM5ZGU1MDY3NWUyYTMKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPHBvemRueWFrb3YubWlraGFpbEBnbWFpbC5jb20+CkRhdGU6ICAg
VGh1IE1heSAyNCAxNjoyNzowNSAyMDEyICswMzAwCgogICAgYnVnODUzNjkKCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2I4
MjU5Yy4uYThjN2RmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEyLTA1LTIzICBNaWtoYWls
IFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgorCisgICAgICAgIFtF
RkxdIFtEUlRdIGtleWJvYXJkLXJlbGF0ZWQgdGVzdHMgZG8gbm90IHBhc3MKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1MzY5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvU2tpcHBl
ZDogVW5za2lwcGVkIGtleWJvYXJkLXJlbGF0ZWQgdGVzdHMuCisKIDIwMTItMDUtMjQgIE1pa2hh
aWwgUG96ZG55YWtvdiAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CiAKICAgICAgICAg
W0VGTF1bRFJUXSBjb21wb3NpdGluZy9yZXBhaW50L29wYWNpdHktYmV0d2Vlbi1hYnNvbHV0ZS5o
dG1sIGRvZXMgbm90IHBhc3MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9T
a2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKaW5kZXggMWYxZjAyNS4u
MjdhY2NjMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKQEAgLTY0MSwxMSArNjQxLDYgQEAg
ZmFzdC9mb3Jtcy9mb2N1czIuaHRtbAogZmFzdC9ldmVudHMvZHJhZy1pbi1mcmFtZXMuaHRtbAog
ZmFzdC9ldmVudHMvZHJhZy1wYXJlbnQtbm9kZS5odG1sCiAKLSMgQlVHOiBrZXlib2FyZC1yZWxh
dGVkIGJ1Z3MsIGdlbmVyYWxseSBpbiB0aGUgRXZlbnRTZW5kZXItUGxhdGZvcm1LZXlib2FyZEV2
ZW50RWZsIGludGVyYWN0aW9uCi1mYXN0L2V2ZW50cy9rZXktZXZlbnRzLWluLWlucHV0LWJ1dHRv
bi5odG1sCi1mYXN0L2V2ZW50cy9rZXktZXZlbnRzLWluLWlucHV0LXRleHQuaHRtbAotZmFzdC9l
dmVudHMvb3B0aW9uLXRhYi5odG1sCi0KICMgQlVHOiBub3Qgc2Nyb2xsaW5nIGNvcnJlY3RseQog
ZmFzdC9ldmVudHMvbW91c2Vkb3duLWluLXN1YmZyYW1lLXNjcm9sbGJhci5odG1sCiBmYXN0L2V2
ZW50cy9zY3JvbGwtYWZ0ZXItY2xpY2stb24tdGFiLWluZGV4Lmh0bWwKZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2M2M1NzhlLi44MTAzMWU0IDEw
MDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTcgQEAKKzIwMTItMDUtMjMgIE1pa2hhaWwgUG96ZG55YWtvdiAgPG1pa2hhaWwucG96ZG55
YWtvdkBpbnRlbC5jb20+CisKKyAgICAgICAgW0VGTF0gW0RSVF0ga2V5Ym9hcmQtcmVsYXRlZCB0
ZXN0cyBkbyBub3QgcGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODUzNjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgU0hJRlQgbW9kaWZpZXIgZm9yIGNhcGl0YWwgbGV0dGVycyBhcyBWS18gCisg
ICAgICAgIGNvZGVzIGRvIG5vdCBkaXN0aW5ndWlzaCBiZXR3ZWVuIGxvd3MgYW5kIGNhcHMgYW5k
IGFsc28gdG8gYmUgY29uc2lzdGVudAorICAgICAgICB3aXRoIG90aGVyIHBvcnRzIHdoaWNoIHNl
bmQgY2FwcyBhcyBsb3dlcmNhc2UgbGV0dGVycyB3aXRoIHRoZSBzaGlmdCBrZXkgZG93bi4KKwor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2VmbC9FdmVudFNlbmRlci5jcHA6CisgICAgICAgIChr
ZXlOYW1lRnJvbUpTVmFsdWUpOiAKKwogMjAxMi0wNS0yNCAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8
b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF0gVW5yZXZpZXdlZCBmaXgsIGFkZCBFTkFC
TEVfQ1NTM19GTEVYQk9YIGFmdGVyIHIxMTgzMDQuCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9lZmwvRXZlbnRTZW5kZXIuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0V2
ZW50U2VuZGVyLmNwcAppbmRleCBiZDFjMDQzLi4zOGE4NjA5IDEwMDY0NAotLS0gYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9lZmwvRXZlbnRTZW5kZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2VmbC9FdmVudFNlbmRlci5jcHAKQEAgLTQ3NSw2ICs0NzUsOSBAQCBzdGF0aWMgS2V5RXZl
bnRJbmZvKiBrZXlOYW1lRnJvbUpTVmFsdWUoSlNTdHJpbmdSZWYgY2hhcmFjdGVyLCB1bnNpZ25l
ZCBtb2RpZmllcgogICAgIGlmIChjaGFyQ29kZSA9PSAnXHgxQicpCiAgICAgICAgIHJldHVybiBu
ZXcgS2V5RXZlbnRJbmZvKCJFc2NhcGUiLCAiRXNjYXBlIiwgbW9kaWZpZXJzKTsKIAorICAgIGlm
ICgoY2hhcmFjdGVyLT5sZW5ndGgoKSA9PSAxKSAmJiAoY2hhckNvZGUgPj0gJ0EnICYmIGNoYXJD
b2RlIDw9ICdaJykpCisgICAgICAgIG1vZGlmaWVycyB8PSBFdmFzS2V5TW9kaWZpZXJTaGlmdDsK
KwogICAgIHJldHVybiBuZXcgS2V5RXZlbnRJbmZvKGNoYXJhY3Rlci0+dXN0cmluZygpLnV0Zjgo
KSwgY2hhcmFjdGVyLT51c3RyaW5nKCkudXRmOCgpLCBtb2RpZmllcnMpOwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>