<?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>76834</bug_id>
          
          <creation_ts>2012-01-23 08:50:41 -0800</creation_ts>
          <short_desc>Relative pos. input fields in columns vanish when you start typing in them</short_desc>
          <delta_ts>2012-06-11 13:46:05 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</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>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Oliver Kohll">oliver</reporter>
          <assigned_to name="Pravin D">pravind.2k4</assigned_to>
          <cc>eric</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>mitz</cc>
    
    <cc>oliver</cc>
    
    <cc>pravind.2k4</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>540581</commentid>
    <comment_count>0</comment_count>
      <attachid>123566</attachid>
    <who name="Oliver Kohll">oliver</who>
    <bug_when>2012-01-23 08:50:41 -0800</bug_when>
    <thetext>Created attachment 123566
Test case for two column relative input bug

See attachment for test case. When you click the mouse in the input field at the end of the page and start typing, it vanishes. This happens when

* it&apos;s in a div set to two columns in CSS3
* it has position: relative

Tested in Safari 5.1.2 (7534.52.7) and Google Chrome 16.0.912.75</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540590</commentid>
    <comment_count>1</comment_count>
    <who name="Oliver Kohll">oliver</who>
    <bug_when>2012-01-23 09:05:47 -0800</bug_when>
    <thetext>It only seems to happen when the input appears in the second column</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641521</commentid>
    <comment_count>2</comment_count>
      <attachid>145787</attachid>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-06-05 07:28:17 -0700</bug_when>
    <thetext>Created attachment 145787
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641529</commentid>
    <comment_count>3</comment_count>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-06-05 07:35:07 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Created an attachment (id=145787) [details]
&gt; Patch

About the fix:
When a layout is called for a renderer contained inside a multi column container, if it has a separate renderlayer , then updateLayerPositions() is called. Here the pagination bit is always set to false which is not proper.

The patch calls updatePagination() if the pagination bit(m_isPaginated) is already set. The logic here is that if the m_isPaginated is already set to true, then it must have been part of a multi column container. So instead of just setting it false call updatePagination().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644046</commentid>
    <comment_count>4</comment_count>
      <attachid>145787</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-06-07 16:33:05 -0700</bug_when>
    <thetext>Comment on attachment 145787
Patch

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

&gt; Source/WebCore/rendering/RenderLayer.cpp:365
&gt; +    if ((flags &amp; UpdatePagination) || m_isPaginated)

I think it would be better to set the UpdatePagination flag in FrameView::layout. The issue is that we are doing a subtree relayout and the code makes the assumption that we would cross our parent with columns when doing the recursive descent and properly set this flag.

There is 2 upsides to using the flag:
* takes care of new nodes as m_isPaginated will be false on them.
* the new check is unneeded in full layout mode as m_isPaginated will be false or UpdatePagination will be properly set.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644463</commentid>
    <comment_count>5</comment_count>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-06-08 01:30:46 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 145787 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=145787&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderLayer.cpp:365
&gt; &gt; +    if ((flags &amp; UpdatePagination) || m_isPaginated)
&gt; 
&gt; I think it would be better to set the UpdatePagination flag in FrameView::layout. The issue is that we are doing a subtree relayout and the code makes the assumption that we would cross our parent with columns when doing the recursive descent and properly set this flag.
&gt; 
Thanks for the review :)

&gt; There is 2 upsides to using the flag:
&gt; * takes care of new nodes as m_isPaginated will be false on them.
&gt;
1 doubt... 
 Two cases for inserting a new node:
1) A node is added to the parent(node having multiple column). Then  UpdatePagination will be set and we have no problem.
2) A node is added to the current node&apos;s subtree. If the current node does not have multiple columns then m_isPaginated is by default FALSE on its children and does not req. updatation. If on the other hand the current node has multiple columns then its UpdatePagination will be set for its children from RenderLayer::updateLayerPositions() (we cross our parent with columns senario).

So this shud take care of updating the values of m_isPaginated for all children right ? Or I&apos;m missing something?

This being my first patch on Multi-cols, just trying to check if my understanding is correct :)

&gt; * the new check is unneeded in full layout mode as m_isPaginated will be false or UpdatePagination will be properly set.
&gt;
I guess it makes more sense to call set the UpdatePagination flag then use m_isPaginated.

I&apos;ll upload another patch with the changes that u have suggested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644548</commentid>
    <comment_count>6</comment_count>
      <attachid>146533</attachid>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-06-08 03:27:24 -0700</bug_when>
    <thetext>Created attachment 146533
Proposed Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644549</commentid>
    <comment_count>7</comment_count>
      <attachid>146533</attachid>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-06-08 03:29:37 -0700</bug_when>
    <thetext>Comment on attachment 146533
Proposed Patch

UpdatePagination flag is added to the flag list passed to RenderLayer::updatePositions() in FrameView::layout().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644742</commentid>
    <comment_count>8</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-06-08 09:36:25 -0700</bug_when>
    <thetext>&gt; &gt; There is 2 upsides to using the flag:
&gt; &gt; * takes care of new nodes as m_isPaginated will be false on them.
&gt; &gt;
&gt; 1 doubt... 
&gt;  Two cases for inserting a new node:
&gt; 1) A node is added to the parent(node having multiple column). Then  UpdatePagination will be set and we have no problem.
&gt; 2) A node is added to the current node&apos;s subtree. If the current node does not have multiple columns then m_isPaginated is by default FALSE on its children and does not req. updatation. If on the other hand the current node has multiple columns then its UpdatePagination will be set for its children from RenderLayer::updateLayerPositions() (we cross our parent with columns senario).
&gt; 
&gt; So this shud take care of updating the values of m_isPaginated for all children right ? Or I&apos;m missing something?

Yes, if you look at updatePagination, the whole subtree defined by the renderer with columns can have m_isPaginated set. Note that updateLayerPositions makes this assumption too by setting a flag to recompute the m_isPaginated on the whole subtree. If you add a child in this subtree, there is no guarantee that you will relayout the whole subtree (this is the root cause of this bug). With the original fix, you wouldn&apos;t recompute m_isPaginated for this child and thus may forget to set it as expected.

The condition for that to happen are likely difficult to reach and very fragile which is why I didn&apos;t ask for a test case for that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644748</commentid>
    <comment_count>9</comment_count>
      <attachid>146533</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-06-08 09:43:03 -0700</bug_when>
    <thetext>Comment on attachment 146533
Proposed Patch

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

&gt; Source/WebCore/page/FrameView.cpp:1121
&gt; +                                (m_doFullRepaint ? 0 : RenderLayer::CheckForRepaint | RenderLayer::UpdatePagination)

It&apos;s not totally right: m_doFullRepaint doesn&apos;t properly cover your case here. You should only set UpdatePagination if you are doing a subtree relayout (subtree) and the layer has the m_isPaginated flag set.

Please move the flag setting outside the function call (maybe in a new function) as it will start to get messy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645231</commentid>
    <comment_count>10</comment_count>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-06-08 21:13:33 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 146533 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=146533&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/FrameView.cpp:1121
&gt; &gt; +                                (m_doFullRepaint ? 0 : RenderLayer::CheckForRepaint | RenderLayer::UpdatePagination)
&gt; 
&gt; It&apos;s not totally right: m_doFullRepaint doesn&apos;t properly cover your case here. You should only set UpdatePagination if you are doing a subtree relayout (subtree) and the layer has the m_isPaginated flag set.
&gt; 
&gt; Please move the flag setting outside the function call (maybe in a new function) as it will start to get messy.
&gt;

I&apos;ll upload another patch with the suggested changes....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645313</commentid>
    <comment_count>11</comment_count>
      <attachid>146699</attachid>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-06-09 06:26:16 -0700</bug_when>
    <thetext>Created attachment 146699
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645314</commentid>
    <comment_count>12</comment_count>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-06-09 06:38:05 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 146533 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=146533&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/FrameView.cpp:1121
&gt; &gt; +                                (m_doFullRepaint ? 0 : RenderLayer::CheckForRepaint | RenderLayer::UpdatePagination)
&gt; 
&gt; It&apos;s not totally right: m_doFullRepaint doesn&apos;t properly cover your case here. You should only set UpdatePagination if you are doing a subtree relayout (subtree) and the layer has the m_isPaginated flag set.
&gt; 

Inside FrameView::layout m_layoutRoot valid only if its a subtree relayout. Also the local variable bool subtree is true if m_layoutRoot is valid. So the variable subtree is used to determine it its a subtree relayout or not. Also RenderLayer* is passed to updateLayerPositionsFlagsForLayer() to determine if the layer is paginated or not. 

Reason for passing RenderLayer* 1) keep the logic for setting UpdatePagination flag withing updateLayerPositionsFlagsForLayer() and also in future if more flags are added to RenderLayer, then this layer pointer will be useful.

&gt; Please move the flag setting outside the function call (maybe in a new function) as it will start to get messy.
&gt; 

static helper function updateLayerPositionsFlagsForLayer() added to prepare the UpdateLayerPositionsFlags.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646019</commentid>
    <comment_count>13</comment_count>
      <attachid>146699</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-06-11 09:06:42 -0700</bug_when>
    <thetext>Comment on attachment 146699
Patch

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

&gt; Source/WebCore/page/FrameView.cpp:125
&gt; +static RenderLayer::UpdateLayerPositionsFlags updateLayerPositionsFlagsForLayer(RenderLayer* layer, bool subtreeRelayout, bool fullRepaint)

Not a huge fan of updateLayerPositionsFlagsForLayer, alternative names: flagsForUpdateLayerPosition, updateLayerPositionFlags. I would pick the second as it&apos;s shorter.

Note that WebKit style guide says that boolean should have a verb in them so the naming could be enhanced:
* I would rename |fullRepaint| to |didFullRepaint| for completeness
* |subtreeRelayout| -&gt; isRelayoutingSubtree, isLayoutingSubtree, didSubtreeRelayout

&gt; Source/WebCore/page/FrameView.cpp:130
&gt; +    if (subtreeRelayout &amp;&amp; layer &amp;&amp; layer-&gt;isPaginated())

layer cannot be NULL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646030</commentid>
    <comment_count>14</comment_count>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-06-11 09:28:25 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (From update of attachment 146699 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=146699&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/FrameView.cpp:125
&gt; &gt; +static RenderLayer::UpdateLayerPositionsFlags updateLayerPositionsFlagsForLayer(RenderLayer* layer, bool subtreeRelayout, bool fullRepaint)
&gt; 
&gt; Not a huge fan of updateLayerPositionsFlagsForLayer, alternative names: flagsForUpdateLayerPosition, updateLayerPositionFlags. I would pick the second as it&apos;s shorter.
&gt; 
UpdateLayerPositionsFlags is a typedef used in RenderLayer class. So is it ok to use updateLayerPositionFlags() ??

&gt; Note that WebKit style guide says that boolean should have a verb in them so the naming could be enhanced:
&gt; * |subtreeRelayout| -&gt; isRelayoutingSubtree, isLayoutingSubtree, didSubtreeRelayout
&gt; 
Is it ok if I use isInSubtreeRelayout instead ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646044</commentid>
    <comment_count>15</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-06-11 09:50:12 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #13)
&gt; &gt; (From update of attachment 146699 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=146699&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/page/FrameView.cpp:125
&gt; &gt; &gt; +static RenderLayer::UpdateLayerPositionsFlags updateLayerPositionsFlagsForLayer(RenderLayer* layer, bool subtreeRelayout, bool fullRepaint)
&gt; &gt; 
&gt; &gt; Not a huge fan of updateLayerPositionsFlagsForLayer, alternative names: flagsForUpdateLayerPosition, updateLayerPositionFlags. I would pick the second as it&apos;s shorter.
&gt; &gt; 
&gt; UpdateLayerPositionsFlags is a typedef used in RenderLayer class. So is it ok to use updateLayerPositionFlags() ??

Not sure if the compiler would let you do that. You have other names in case.

&gt; &gt; Note that WebKit style guide says that boolean should have a verb in them so the naming could be enhanced:
&gt; &gt; * |subtreeRelayout| -&gt; isRelayoutingSubtree, isLayoutingSubtree, didSubtreeRelayout
&gt; &gt; 
&gt; Is it ok if I use isInSubtreeRelayout instead ?

SGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646052</commentid>
    <comment_count>16</comment_count>
      <attachid>146869</attachid>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-06-11 10:05:05 -0700</bug_when>
    <thetext>Created attachment 146869
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646056</commentid>
    <comment_count>17</comment_count>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-06-11 10:06:25 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; Created an attachment (id=146869) [details]
&gt; Patch

Patch contains the suggested changes in review comment #13</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646151</commentid>
    <comment_count>18</comment_count>
      <attachid>146869</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-11 11:49:04 -0700</bug_when>
    <thetext>Comment on attachment 146869
Patch

Clearing flags on attachment: 146869

Committed r119996: &lt;http://trac.webkit.org/changeset/119996&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646152</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-11 11:49:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646219</commentid>
    <comment_count>20</comment_count>
    <who name="Oliver Kohll">oliver</who>
    <bug_when>2012-06-11 13:46:05 -0700</bug_when>
    <thetext>Thanks guys, nice one.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>123566</attachid>
            <date>2012-01-23 08:50:41 -0800</date>
            <delta_ts>2012-01-23 08:50:41 -0800</delta_ts>
            <desc>Test case for two column relative input bug</desc>
            <filename>coltest.html</filename>
            <type>text/html</type>
            <size>882</size>
            <attacher name="Oliver Kohll">oliver</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8dGl0bGU+UmVsYXRpdmUgcG9zaXRpb25lZCBpbnB1dHMgaW4gY3NzMyBj
b2x1bW5zPC90aXRsZT4KPC9oZWFkPgo8Ym9keT4KPGRpdiBzdHlsZT0iLXdlYmtpdC1jb2x1bW4t
Y291bnQ6IDIiPgogIExvcmVtIElwc3VtIGlzIHNpbXBseSBkdW1teSB0ZXh0IG9mIHRoZSBwcmlu
dGluZyBhbmQgdHlwZXNldHRpbmcgaW5kdXN0cnkuIExvcmVtIElwc3VtIGhhcyBiZWVuIHRoZSBp
bmR1c3RyeSdzIHN0YW5kYXJkIGR1bW15IHRleHQgZXZlciBzaW5jZSB0aGUgMTUwMHMsIHdoZW4g
YW4gdW5rbm93biBwcmludGVyIHRvb2sgYSBnYWxsZXkgb2YgdHlwZSBhbmQgc2NyYW1ibGVkIGl0
IHRvIG1ha2UgYSB0eXBlIHNwZWNpbWVuIGJvb2suIEl0IGhhcyBzdXJ2aXZlZCBub3Qgb25seSBm
aXZlIGNlbnR1cmllcywgYnV0IGFsc28gdGhlIGxlYXAgaW50byBlbGVjdHJvbmljIHR5cGVzZXR0
aW5nLCByZW1haW5pbmcgZXNzZW50aWFsbHkgdW5jaGFuZ2VkLiBJdCB3YXMgcG9wdWxhcmlzZWQg
aW4gdGhlIDE5NjBzIHdpdGggdGhlIHJlbGVhc2Ugb2YgTGV0cmFzZXQgc2hlZXRzIGNvbnRhaW5p
bmcgTG9yZW0gSXBzdW0gcGFzc2FnZXMsIGFuZCBtb3JlIHJlY2VudGx5IHdpdGggZGVza3RvcCBw
dWJsaXNoaW5nIHNvZnR3YXJlIGxpa2UgQWxkdXMgUGFnZU1ha2VyIGluY2x1ZGluZyB2ZXJzaW9u
cyBvZiBMb3JlbSBJcHN1bS4KICA8IS0tIFdoZW4geW91IHN0YXJ0IHR5cGluZyBpbiB0aGlzIGlu
cHV0LCBpdCB2YW5pc2hlcyBmcm9tIHRoZSBzY3JlZW4gLS0+CiAgPGlucHV0IG5hbWU9InR5cGVo
ZXJlIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlIiAvPgo8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+
CjwhLS0gb2xpdmVyQGd0d20uY28udWsgLS0+
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145787</attachid>
            <date>2012-06-05 07:28:17 -0700</date>
            <delta_ts>2012-06-08 03:27:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76834-20120606012734.patch</filename>
            <type>text/plain</type>
            <size>4585</size>
            <attacher name="Pravin D">pravind.2k4</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExOTQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA2LTA1ICBQcmF2aW4g
RCAgPHByYXZpbmQuMms0QGdtYWlsLmNvbT4KKworICAgICAgICBSZWxhdGl2ZSBwb3MuIGlucHV0
IGZpZWxkcyBpbiBjb2x1bW5zIHZhbmlzaCB3aGVuIHlvdSBzdGFydCB0eXBpbmcgaW4gdGhlbQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MzQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0
L211bHRpY29sL211bHRpY29sLXdpdGgtY2hpbGQtcmVuZGVyTGF5ZXItZm9yLWlucHV0Lmh0bWwK
KworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMYXllcjo6dXBkYXRlTGF5ZXJQb3NpdGlvbnMpOgorICAgICAgICBQYWdpbmF0aW9u
IGJpdChtX2lzUGFnaW5hdGVkKSB3YXMgYWxzbyBzZXQgdG8gZmFsc2UgaWYgdGhlIFVwZGF0ZUxh
eWVyUG9zaXRpb25zRmxhZ3MgZGlkIG5vdCBjb250YWluIFVwZGF0ZVBhZ2luYXRpb24gZmxhZy4K
KyAgICAgICAgVGhpcyBob3dldmVyIGlzIG5vdCBwcm9wZXIgYXMgdXBkYXRlTGF5ZXJQb3NpdGlv
bnMoKSBtYXliZSBjYWxsZWQgb25seSBmb3IgYSBsYXllciB3aGljaCBpcyBjb250YWluZWQgaW5z
aWRlIGEgY29udGFpbmVyIGhhdmluZyBtdWxpcGxlIGNvbHVtbnMKKyAgICAgICAgYW5kIG5vdCBm
b3IgaXRzIGNvbnRhaW5lci4KKwogMjAxMi0wNi0wNSAgQ2hhcmxlcyBXZWkgIDxjaGFybGVzLndl
aUB0b3JjaG1vYmlsZS5jb20uY24+CiAKICAgICAgICAgSlNDOm5lZWQgdG8gaW1wbGVtZW50IERp
Y3Rpb25hcnk6OmdldFdpdGhVbmRlZmluZWRPck51bGxDaGVjayBmb3IgSURCCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAJKHJldmlzaW9uIDExOTQ2OCkKKysr
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTM2Miw3ICszNjIsNyBAQCB2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVMYXllclBvc2l0aW9u
cyhMCiAKICAgICB1cGRhdGVWaXNpYmlsaXR5U3RhdHVzKCk7CiAKLSAgICBpZiAoZmxhZ3MgJiBV
cGRhdGVQYWdpbmF0aW9uKQorICAgIGlmICgoZmxhZ3MgJiBVcGRhdGVQYWdpbmF0aW9uKSB8fCBt
X2lzUGFnaW5hdGVkKQogICAgICAgICB1cGRhdGVQYWdpbmF0aW9uKCk7CiAgICAgZWxzZQogICAg
ICAgICBtX2lzUGFnaW5hdGVkID0gZmFsc2U7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMTk0ODQpCisr
KyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAor
MjAxMi0wNi0wNSAgUHJhdmluIEQgIDxwcmF2aW5kLjJrNEBnbWFpbC5jb20+CisKKyAgICAgICAg
UmVsYXRpdmUgcG9zLiBpbnB1dCBmaWVsZHMgaW4gY29sdW1ucyB2YW5pc2ggd2hlbiB5b3Ugc3Rh
cnQgdHlwaW5nIGluIHRoZW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTc2ODM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBmYXN0L211bHRpY29sL211bHRpY29sLXdpdGgtY2hpbGQtcmVuZGVyTGF5ZXIt
Zm9yLWlucHV0LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbXVsdGljb2wv
bXVsdGljb2wtd2l0aC1jaGlsZC1yZW5kZXJMYXllci1mb3ItaW5wdXQuaHRtbDogQWRkZWQuCisg
ICAgICAgICBQYWludCBsZXZlbCB0ZXN0IHJlcXVpcmVkIGFuZCB0ZXN0Y2FzZSBjb250YWlucyB0
ZXh0LCB0aHVzIHRoZSByZWZUZXN0LgorCiAyMDEyLTA2LTA1ICBSb2IgQnVpcyAgPHJ3bGJ1aXNA
d2Via2l0Lm9yZz4KIAogICAgICAgICBIaXQgQVNTRVJUIHdoZW4gZWRpdGluZyBhdHRyaWJ1dGUg
dmFsdWUgaW4gRWxlbWVudCBpbiBTVkcgRG9jdW1lbnQKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
bXVsdGljb2wvbXVsdGljb2wtd2l0aC1jaGlsZC1yZW5kZXJMYXllci1mb3ItaW5wdXQtZXhwZWN0
ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL211bHRpY29s
LXdpdGgtY2hpbGQtcmVuZGVyTGF5ZXItZm9yLWlucHV0LWV4cGVjdGVkLmh0bWwJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL211bHRpY29sLXdpdGgtY2hpbGQtcmVu
ZGVyTGF5ZXItZm9yLWlucHV0LWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MjAgQEAKKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+VGVzdGNhc2UgZm9yIGJ1ZyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MzQgPC90aXRsZT4KKzxzY3JpcHQ+Citm
dW5jdGlvbiBzdGFydFRlc3QoKXsKKyAgICB2YXIgaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgndGVzdCcpOworICAgIGlucHV0LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoJ0luc2VydFRleHQnLGZhbHNlLCdUZXN0aW5nJykKK30KKzwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHkgb25sb2FkPSJzdGFydFRlc3QoKTsiPgorPGRpdiBzdHlsZT0iLXdlYmtpdC1jb2x1bW4t
Y291bnQ6MiI+CisgICBGaWxsZXIgVGV4dCAgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQgRmlsbGVy
IFRleHQgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQgRmls
bGVyIFRleHQKKyAgIEZpbGxlciBUZXh0ICBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIg
VGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxs
ZXIgVGV4dAorICAgRmlsbGVyIFRleHQgIEZpbGxlciBUZXh0IEZpbGxlciBUZXh0IEZpbGxlciBU
ZXh0IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0IEZpbGxl
ciBUZXh0CisgICA8aW5wdXQgaWQ9InRlc3QiICAvPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL211bHRpY29sLXdpdGgtY2hpbGQtcmVu
ZGVyTGF5ZXItZm9yLWlucHV0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9t
dWx0aWNvbC9tdWx0aWNvbC13aXRoLWNoaWxkLXJlbmRlckxheWVyLWZvci1pbnB1dC5odG1sCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9tdWx0aWNvbC13aXRoLWNo
aWxkLXJlbmRlckxheWVyLWZvci1pbnB1dC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIw
IEBACis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlRlc3RjYXNlIGZvciBidWcgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODM0IDwvdGl0bGU+Cis8c2NyaXB0PgorZnVu
Y3Rpb24gc3RhcnRUZXN0KCl7CisgICAgdmFyIGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3Rlc3QnKTsKKyAgICBpbnB1dC5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCdJbnNlcnRUZXh0JyxmYWxzZSwnVGVzdGluZycpCit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5IG9ubG9hZD0ic3RhcnRUZXN0KCk7Ij4KKzxkaXYgc3R5bGU9Ii13ZWJraXQtY29sdW1uLWNv
dW50OjIiPgorICAgRmlsbGVyIFRleHQgIEZpbGxlciBUZXh0IEZpbGxlciBUZXh0IEZpbGxlciBU
ZXh0IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0IEZpbGxl
ciBUZXh0CisgICBGaWxsZXIgVGV4dCAgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQgRmlsbGVyIFRl
eHQgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQgRmlsbGVy
IFRleHQKKyAgIEZpbGxlciBUZXh0ICBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4
dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIg
VGV4dAorICAgPGlucHV0IGlkPSJ0ZXN0IiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7IiAvPgor
PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146533</attachid>
            <date>2012-06-08 03:27:24 -0700</date>
            <delta_ts>2012-06-09 06:26:09 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>bug-76834-20120608212642.patch</filename>
            <type>text/plain</type>
            <size>4797</size>
            <attacher name="Pravin D">pravind.2k4</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExOTgxNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA2LTA4ICBQcmF2aW4g
RCAgPHByYXZpbmQuMms0QGdtYWlsLmNvbT4KKworICAgICAgICBSZWxhdGl2ZSBwb3MuIGlucHV0
IGZpZWxkcyBpbiBjb2x1bW5zIHZhbmlzaCB3aGVuIHlvdSBzdGFydCB0eXBpbmcgaW4gdGhlbQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MzQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0
L211bHRpY29sL211bHRpY29sLXdpdGgtY2hpbGQtcmVuZGVyTGF5ZXItZm9yLWlucHV0Lmh0bWwK
KworICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1l
Vmlldzo6bGF5b3V0KToKKyAgICAgICAgVXBkYXRlUGFnaW5hdGlvbiBmbGFnIGFkZGVkIHRvIHRo
ZSBmbGFnIGxpc3QgcGFzc2VkIHRvIFJlbmRlckxheWVyOjp1cGRhdGVQb3NpdGlvbnMoKSBpbiBj
YXNlIG9mIHN1YnRyZWUgcmVsYXlvdXQuIAorCiAyMDEyLTA2LTA4ICBLZW50IFRhbXVyYSAgPHRr
ZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBNb3ZlIGZvcm0tcmVsYXRlZCBmdW5jdGlvbnMg
b2YgRG9jdW1lbnQgdG8gRm9ybUNvbnRyb2xsZXIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5jcHAJKHJldmlzaW9uIDExOTc4OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTExOCw3ICsxMTE4LDcgQEAgdm9pZCBGcmFtZVZpZXc6
OmxheW91dChib29sIGFsbG93U3VidHJlZQogICAgICAgICByb290LT52aWV3KCktPnJlcGFpbnQo
KTsgLy8gRklYTUU6IFRoaXMgaXNuJ3QgcmVhbGx5IHJpZ2h0LCBzaW5jZSB0aGUgUmVuZGVyVmll
dyBkb2Vzbid0IGZ1bGx5IGVuY29tcGFzcyB0aGUgdmlzaWJsZUNvbnRlbnRSZWN0KCkuIEl0IGp1
c3QgaGFwcGVucwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdG8gd29yayBv
dXQgbW9zdCBvZiB0aGUgdGltZSwgc2luY2UgZmlyc3QgbGF5b3V0cyBhbmQgcHJpbnRpbmcgZG9u
J3QgaGF2ZSB5b3Ugc2Nyb2xsZWQgYW55d2hlcmUuCiAgICAgbGF5ZXItPnVwZGF0ZUxheWVyUG9z
aXRpb25zKGhhc0xheWVyT2Zmc2V0ID8gJm9mZnNldEZyb21Sb290IDogMCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKG1fZG9GdWxsUmVwYWludCA/IDAgOiBSZW5kZXJMYXllcjo6
Q2hlY2tGb3JSZXBhaW50KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobV9kb0Z1
bGxSZXBhaW50ID8gMCA6IFJlbmRlckxheWVyOjpDaGVja0ZvclJlcGFpbnQgfCBSZW5kZXJMYXll
cjo6VXBkYXRlUGFnaW5hdGlvbikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBS
ZW5kZXJMYXllcjo6SXNDb21wb3NpdGluZ1VwZGF0ZVJvb3QKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfCBSZW5kZXJMYXllcjo6VXBkYXRlQ29tcG9zaXRpbmdMYXllcnMpOwogICAg
IGVuZERlZmVycmVkUmVwYWludHMoKTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDExOTgxNikKKysrIExh
eW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDEy
LTA2LTA4ICBQcmF2aW4gRCAgPHByYXZpbmQuMms0QGdtYWlsLmNvbT4KKworICAgICAgICBSZWxh
dGl2ZSBwb3MuIGlucHV0IGZpZWxkcyBpbiBjb2x1bW5zIHZhbmlzaCB3aGVuIHlvdSBzdGFydCB0
eXBpbmcgaW4gdGhlbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzY4MzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGZhc3QvbXVsdGljb2wvbXVsdGljb2wtd2l0aC1jaGlsZC1yZW5kZXJMYXllci1mb3It
aW5wdXQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9tdWx0aWNvbC9tdWx0
aWNvbC13aXRoLWNoaWxkLXJlbmRlckxheWVyLWZvci1pbnB1dC5odG1sOiBBZGRlZC4KKwogMjAx
Mi0wNi0wOCAgTm9lbCBHb3Jkb24gIDxub2VsLmdvcmRvbkBnbWFpbC5jb20+CiAKICAgICAgICAg
W2Nocm9taXVtXSBSdW4gb3B0aW1pemUtYmFzZWxpbmVzIG92ZXIgY2FudmFzLXRvRGF0YVVSTC13
ZWJwLmh0bWwgcmVzdWx0cwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9tdWx0aWNv
bC13aXRoLWNoaWxkLXJlbmRlckxheWVyLWZvci1pbnB1dC1leHBlY3RlZC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbXVsdGljb2wtd2l0aC1jaGlsZC1yZW5k
ZXJMYXllci1mb3ItaW5wdXQtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL2Zhc3QvbXVsdGljb2wvbXVsdGljb2wtd2l0aC1jaGlsZC1yZW5kZXJMYXllci1mb3ItaW5w
dXQtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMCBAQAorPGh0bWw+Cis8
aGVhZD4KKzx0aXRsZT5UZXN0Y2FzZSBmb3IgYnVnIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03NjgzNCA8L3RpdGxlPgorPHNjcmlwdD4KK2Z1bmN0aW9uIHN0YXJ0VGVz
dCgpeworICAgIHZhciBpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0Jyk7Cisg
ICAgaW5wdXQuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnSW5zZXJ0VGV4dCcs
ZmFsc2UsJ1Rlc3RpbmcnKQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InN0
YXJ0VGVzdCgpOyI+Cis8ZGl2IHN0eWxlPSItd2Via2l0LWNvbHVtbi1jb3VudDoyIj4KKyAgIEZp
bGxlciBUZXh0ICBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4
dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dAorICAgRmls
bGVyIFRleHQgIEZpbGxlciBUZXh0IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0
IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0CisgICBGaWxs
ZXIgVGV4dCAgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQg
RmlsbGVyIFRleHQgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQKKyAgIDxpbnB1
dCBpZD0idGVzdCIgIC8+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvbXVsdGljb2wvbXVsdGljb2wtd2l0aC1jaGlsZC1yZW5kZXJMYXllci1mb3ItaW5w
dXQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL211bHRpY29s
LXdpdGgtY2hpbGQtcmVuZGVyTGF5ZXItZm9yLWlucHV0Lmh0bWwJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9mYXN0L211bHRpY29sL211bHRpY29sLXdpdGgtY2hpbGQtcmVuZGVyTGF5ZXIt
Zm9yLWlucHV0Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjAgQEAKKzxodG1sPgorPGhl
YWQ+Cis8dGl0bGU+VGVzdGNhc2UgZm9yIGJ1ZyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzY4MzQgPC90aXRsZT4KKzxzY3JpcHQ+CitmdW5jdGlvbiBzdGFydFRlc3Qo
KXsKKyAgICB2YXIgaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdCcpOworICAg
IGlucHV0LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ0luc2VydFRleHQnLGZh
bHNlLCdUZXN0aW5nJykKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJzdGFy
dFRlc3QoKTsiPgorPGRpdiBzdHlsZT0iLXdlYmtpdC1jb2x1bW4tY291bnQ6MiI+CisgICBGaWxs
ZXIgVGV4dCAgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQg
RmlsbGVyIFRleHQgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQKKyAgIEZpbGxl
ciBUZXh0ICBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dCBG
aWxsZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dAorICAgRmlsbGVy
IFRleHQgIEZpbGxlciBUZXh0IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0IEZp
bGxlciBUZXh0IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0CisgICA8aW5wdXQg
aWQ9InRlc3QiIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsiIC8+Cis8L2Rpdj4KKzwvYm9keT4K
KzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146699</attachid>
            <date>2012-06-09 06:26:16 -0700</date>
            <delta_ts>2012-06-11 10:04:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76834-20120610002535.patch</filename>
            <type>text/plain</type>
            <size>7288</size>
            <attacher name="Pravin D">pravind.2k4</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExOTkwMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA2LTA5ICBQcmF2aW4g
RCAgPHByYXZpbmQuMms0QGdtYWlsLmNvbT4KKworICAgICAgICBSZWxhdGl2ZSBwb3MuIGlucHV0
IGZpZWxkcyBpbiBjb2x1bW5zIHZhbmlzaCB3aGVuIHlvdSBzdGFydCB0eXBpbmcgaW4gdGhlbQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MzQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0
L211bHRpY29sL211bHRpY29sLXdpdGgtY2hpbGQtcmVuZGVyTGF5ZXItZm9yLWlucHV0Lmh0bWwK
KworICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnVwZGF0
ZUxheWVyUG9zaXRpb25zRmxhZ3NGb3JMYXllcik6CisgICAgICAgIEhlbHBlciBmdW5jdGlvbiB0
byBwcmVwYXJlIHRoZSBVcGRhdGVMYXllclBvc2l0aW9uc0ZsYWdzIGJhc2VkIG9uIHRoZSBpbnB1
dCBwYXJhbWV0ZXJzLiAKKyAgICAgICAgSWYgZnVsbFJlcGFpbnQgZmxhZyBpcyBzZXQsIHRoZW4g
Q2hlY2tGb3JSZXBhaW50cyBmbGFnIGlzIHJlbW92ZWQgZnJvbSB0aGUgZGVmYXVsdCBmbGFncy4K
KyAgICAgICAgQWxzbyBkdWluZyBhIHJlbGF5b3V0IG9mIGEgc3VidHJlZSwgaWYgdGhlIFJlbmRl
ckxheWVyIG9mIHRoZSBzdWJ0cmVlIHJvb3QgaXMgcGFnaW5hdGVkIHRoZW4gdXBkYXRlUGFnaW5h
dGlvbiBmbGFnIGhhcyB0byBiZQorICAgICAgICBpbmNsdWRlZCBpbiB0aGUgZmxhZ3MuCisgICAg
ICAgIAorCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6
bGF5b3V0KToKKyAgICAgICAgTm93IHVzZXMgdGhlIGhlbHBlciBmdW5jdGlvbiB1cGRhdGVMYXll
clBvc2l0aW9uc0ZsYWdzRm9yTGF5ZXIoKSB0byBnZXQgdGhlIGZpbmFsIHNldCBvZiBVcGRhdGVM
YXllclBvc2l0aW9uc0ZsYWdzLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6aXNQYWdpbmF0ZWQpOgorICAgICAgICBU
aGlzIGlzIGZ1bmN0aW9uIGlzIG1hZGUgcHVibGljIHNvIHRoYXQgRnJhbWVWaWV3IGNsYXNzIGNh
biB1c2UgaXQgcHJlcGFyZSBVcGRhdGVMYXllclBvc2l0aW9uc0ZsYWdzLgorCisgICAgICAgIChS
ZW5kZXJMYXllcik6CisKIDIwMTItMDYtMDggIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgSW5kZXhlZERCOiBJbnNwZWN0b3Igc2hvdWxkIGhhbmRsZSBu
dWxsLCBzdHJpbmcsIGFuZCBhcnJheSBrZXlQYXRocwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmNwcAkocmV2aXNpb24gMTE5ODgxKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjIsNiArMTIyLDE2IEBAIHN0YXRpYyBpbmxpbmUg
UmVuZGVyVmlldyogcm9vdFJlbmRlcmVyKGMKICAgICByZXR1cm4gdmlldy0+ZnJhbWUoKSA/IHZp
ZXctPmZyYW1lKCktPmNvbnRlbnRSZW5kZXJlcigpIDogMDsKIH0KIAorc3RhdGljIFJlbmRlckxh
eWVyOjpVcGRhdGVMYXllclBvc2l0aW9uc0ZsYWdzIHVwZGF0ZUxheWVyUG9zaXRpb25zRmxhZ3NG
b3JMYXllcihSZW5kZXJMYXllciogbGF5ZXIsIGJvb2wgc3VidHJlZVJlbGF5b3V0LCBib29sIGZ1
bGxSZXBhaW50KQoreworICAgIFJlbmRlckxheWVyOjpVcGRhdGVMYXllclBvc2l0aW9uc0ZsYWdz
IGZsYWdzID0gUmVuZGVyTGF5ZXI6OmRlZmF1bHRGbGFnczsKKyAgICBpZiAoZnVsbFJlcGFpbnQp
CisgICAgICAgIGZsYWdzICY9IH5SZW5kZXJMYXllcjo6Q2hlY2tGb3JSZXBhaW50OworICAgIGlm
IChzdWJ0cmVlUmVsYXlvdXQgJiYgbGF5ZXIgJiYgbGF5ZXItPmlzUGFnaW5hdGVkKCkpCisgICAg
ICAgIGZsYWdzIHw9IFJlbmRlckxheWVyOjpVcGRhdGVQYWdpbmF0aW9uOworICAgIHJldHVybiBm
bGFnczsKK30KKwogRnJhbWVWaWV3OjpGcmFtZVZpZXcoRnJhbWUqIGZyYW1lKQogICAgIDogbV9m
cmFtZShmcmFtZSkKICAgICAsIG1fY2FuSGF2ZVNjcm9sbGJhcnModHJ1ZSkKQEAgLTExMTcsMTAg
KzExMjcsOCBAQCB2b2lkIEZyYW1lVmlldzo6bGF5b3V0KGJvb2wgYWxsb3dTdWJ0cmVlCiAgICAg
aWYgKG1fZG9GdWxsUmVwYWludCkKICAgICAgICAgcm9vdC0+dmlldygpLT5yZXBhaW50KCk7IC8v
IEZJWE1FOiBUaGlzIGlzbid0IHJlYWxseSByaWdodCwgc2luY2UgdGhlIFJlbmRlclZpZXcgZG9l
c24ndCBmdWxseSBlbmNvbXBhc3MgdGhlIHZpc2libGVDb250ZW50UmVjdCgpLiBJdCBqdXN0IGhh
cHBlbnMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRvIHdvcmsgb3V0IG1v
c3Qgb2YgdGhlIHRpbWUsIHNpbmNlIGZpcnN0IGxheW91dHMgYW5kIHByaW50aW5nIGRvbid0IGhh
dmUgeW91IHNjcm9sbGVkIGFueXdoZXJlLgotICAgIGxheWVyLT51cGRhdGVMYXllclBvc2l0aW9u
cyhoYXNMYXllck9mZnNldCA/ICZvZmZzZXRGcm9tUm9vdCA6IDAsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIChtX2RvRnVsbFJlcGFpbnQgPyAwIDogUmVuZGVyTGF5ZXI6OkNoZWNr
Rm9yUmVwYWludCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBSZW5kZXJMYXll
cjo6SXNDb21wb3NpdGluZ1VwZGF0ZVJvb3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCBSZW5kZXJMYXllcjo6VXBkYXRlQ29tcG9zaXRpbmdMYXllcnMpOworCisgICAgbGF5ZXIt
PnVwZGF0ZUxheWVyUG9zaXRpb25zKGhhc0xheWVyT2Zmc2V0ID8gJm9mZnNldEZyb21Sb290IDog
MCwgdXBkYXRlTGF5ZXJQb3NpdGlvbnNGbGFnc0ZvckxheWVyKGxheWVyLCBzdWJ0cmVlLCBtX2Rv
RnVsbFJlcGFpbnQpKTsKICAgICBlbmREZWZlcnJlZFJlcGFpbnRzKCk7CiAKICNpZiBVU0UoQUND
RUxFUkFURURfQ09NUE9TSVRJTkcpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuaAkocmV2aXNpb24gMTE5ODgxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM5Myw2ICszOTMsOCBAQCBwdWJsaWM6CiAg
ICAgLy8gUHJvdmlkaW5nIHxjYWNoZWRPZmZzZXR8IHByZXZlbnRzIGEgb3V0bGluZUJveEZvclJl
cGFpbnQgZnJvbSB3YWxraW5nIGJhY2sgdG8gdGhlIHJvb3QgZm9yIGVhY2ggbGF5ZXIgaW4gb3Vy
IHN1YnRyZWUuCiAgICAgLy8gVGhpcyBpcyBhbiBvcHRpbWlzdGljIG9wdGltaXphdGlvbiB0aGF0
IGlzIG5vdCBndWFyYW50ZWVkIHRvIHN1Y2NlZWQuCiAgICAgdm9pZCB1cGRhdGVMYXllclBvc2l0
aW9ucyhMYXlvdXRQb2ludCogb2Zmc2V0RnJvbVJvb3QsIFVwZGF0ZUxheWVyUG9zaXRpb25zRmxh
Z3MgPSBkZWZhdWx0RmxhZ3MpOworICAgIAorICAgIGJvb2wgaXNQYWdpbmF0ZWQoKSBjb25zdCB7
IHJldHVybiBtX2lzUGFnaW5hdGVkOyB9CiAKICAgICB2b2lkIHVwZGF0ZVRyYW5zZm9ybSgpOwog
CkBAIC04MTMsOCArODE1LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRyYXdQbGF0Zm9ybVJlc2l6
ZXJJbWFnZShHcmFwaGljc0NvbnRleHQqLCBJbnRSZWN0IHJlc2l6ZXJDb3JuZXJSZWN0KTsKIAog
ICAgIHZvaWQgdXBkYXRlUGFnaW5hdGlvbigpOwotICAgIGJvb2wgaXNQYWdpbmF0ZWQoKSBjb25z
dCB7IHJldHVybiBtX2lzUGFnaW5hdGVkOyB9Ci0KKyAgICAKICNpZiBVU0UoQUNDRUxFUkFURURf
Q09NUE9TSVRJTkcpICAgIAogICAgIGJvb2wgaGFzQ29tcG9zaXRpbmdEZXNjZW5kYW50KCkgY29u
c3QgeyByZXR1cm4gbV9oYXNDb21wb3NpdGluZ0Rlc2NlbmRhbnQ7IH0KICAgICB2b2lkIHNldEhh
c0NvbXBvc2l0aW5nRGVzY2VuZGFudChib29sIGIpICB7IG1faGFzQ29tcG9zaXRpbmdEZXNjZW5k
YW50ID0gYjsgfQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTE5OTAxKQorKysgTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDYtMDkgIFByYXZp
biBEICA8cHJhdmluZC4yazRAZ21haWwuY29tPgorCisgICAgICAgIFJlbGF0aXZlIHBvcy4gaW5w
dXQgZmllbGRzIGluIGNvbHVtbnMgdmFuaXNoIHdoZW4geW91IHN0YXJ0IHR5cGluZyBpbiB0aGVt
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgzNAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9t
dWx0aWNvbC9tdWx0aWNvbC13aXRoLWNoaWxkLXJlbmRlckxheWVyLWZvci1pbnB1dC1leHBlY3Rl
ZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L211bHRpY29sL211bHRpY29sLXdpdGgtY2hp
bGQtcmVuZGVyTGF5ZXItZm9yLWlucHV0Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTA2LTA4ICBWc2V2
b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEluZGV4ZWREQjog
SW5zcGVjdG9yIHNob3VsZCBoYW5kbGUgbnVsbCwgc3RyaW5nLCBhbmQgYXJyYXkga2V5UGF0aHMK
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbXVsdGljb2wtd2l0aC1jaGlsZC1yZW5k
ZXJMYXllci1mb3ItaW5wdXQtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L211bHRpY29sL211bHRpY29sLXdpdGgtY2hpbGQtcmVuZGVyTGF5ZXItZm9yLWlucHV0
LWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L211bHRpY29s
L211bHRpY29sLXdpdGgtY2hpbGQtcmVuZGVyTGF5ZXItZm9yLWlucHV0LWV4cGVjdGVkLmh0bWwJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjAgQEAKKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+VGVz
dGNhc2UgZm9yIGJ1ZyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4
MzQgPC90aXRsZT4KKzxzY3JpcHQ+CitmdW5jdGlvbiBzdGFydFRlc3QoKXsKKyAgICB2YXIgaW5w
dXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdCcpOworICAgIGlucHV0LmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ0luc2VydFRleHQnLGZhbHNlLCdUZXN0aW5nJykK
K30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJzdGFydFRlc3QoKTsiPgorPGRp
diBzdHlsZT0iLXdlYmtpdC1jb2x1bW4tY291bnQ6MiI+CisgICBGaWxsZXIgVGV4dCAgRmlsbGVy
IFRleHQgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQgRmls
bGVyIFRleHQgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQKKyAgIEZpbGxlciBUZXh0ICBGaWxsZXIg
VGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxs
ZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dAorICAgRmlsbGVyIFRleHQgIEZpbGxlciBU
ZXh0IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0IEZpbGxl
ciBUZXh0IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0CisgICA8aW5wdXQgaWQ9InRlc3QiICAvPgor
PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L211bHRpY29s
L211bHRpY29sLXdpdGgtY2hpbGQtcmVuZGVyTGF5ZXItZm9yLWlucHV0Lmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9tdWx0aWNvbC13aXRoLWNoaWxkLXJlbmRl
ckxheWVyLWZvci1pbnB1dC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9t
dWx0aWNvbC9tdWx0aWNvbC13aXRoLWNoaWxkLXJlbmRlckxheWVyLWZvci1pbnB1dC5odG1sCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIwIEBACis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlRlc3Rj
YXNlIGZvciBidWcgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODM0
IDwvdGl0bGU+Cis8c2NyaXB0PgorZnVuY3Rpb24gc3RhcnRUZXN0KCl7CisgICAgdmFyIGlucHV0
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QnKTsKKyAgICBpbnB1dC5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdJbnNlcnRUZXh0JyxmYWxzZSwnVGVzdGluZycpCit9
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0ic3RhcnRUZXN0KCk7Ij4KKzxkaXYg
c3R5bGU9Ii13ZWJraXQtY29sdW1uLWNvdW50OjIiPgorICAgRmlsbGVyIFRleHQgIEZpbGxlciBU
ZXh0IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0IEZpbGxl
ciBUZXh0IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0CisgICBGaWxsZXIgVGV4dCAgRmlsbGVyIFRl
eHQgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQgRmlsbGVy
IFRleHQgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQKKyAgIEZpbGxlciBUZXh0ICBGaWxsZXIgVGV4
dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIg
VGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dAorICAgPGlucHV0IGlkPSJ0ZXN0IiBzdHlsZT0i
cG9zaXRpb246cmVsYXRpdmU7IiAvPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146869</attachid>
            <date>2012-06-11 10:05:05 -0700</date>
            <delta_ts>2012-06-11 11:49:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76834-20120612040425.patch</filename>
            <type>text/plain</type>
            <size>7242</size>
            <attacher name="Pravin D">pravind.2k4</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExOTk4MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDEyLTA2LTExICBQcmF2aW4g
RCAgPHByYXZpbmQuMms0QGdtYWlsLmNvbT4KKworICAgICAgICBSZWxhdGl2ZSBwb3MuIGlucHV0
IGZpZWxkcyBpbiBjb2x1bW5zIHZhbmlzaCB3aGVuIHlvdSBzdGFydCB0eXBpbmcgaW4gdGhlbQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MzQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0
L211bHRpY29sL211bHRpY29sLXdpdGgtY2hpbGQtcmVuZGVyTGF5ZXItZm9yLWlucHV0Lmh0bWwK
KworICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnVwZGF0
ZUxheWVyUG9zaXRpb25GbGFncyk6CisgICAgICAgIEhlbHBlciBmdW5jdGlvbiB0byBwcmVwYXJl
IHRoZSBVcGRhdGVMYXllclBvc2l0aW9uc0ZsYWdzIGJhc2VkIG9uIHRoZSBpbnB1dCBwYXJhbWV0
ZXJzLgorICAgICAgICBJZiBkaWRGdWxsUmVwYWludCBmbGFnIGlzIHNldCwgdGhlbiBDaGVja0Zv
clJlcGFpbnRzIGZsYWcgaXMgcmVtb3ZlZCBmcm9tIHRoZSBkZWZhdWx0IGZsYWdzLgorICAgICAg
ICBBbHNvIGR1cmluZyBhIHJlbGF5b3V0IG9mIGEgc3VidHJlZSwgaWYgdGhlIFJlbmRlckxheWVy
IG9mIHRoZSBzdWJ0cmVlIHJvb3QgaXMgcGFnaW5hdGVkIHRoZW4gdXBkYXRlUGFnaW5hdGlvbiBm
bGFnIGlzCisgICAgICAgIGluY2x1ZGVkIGluIHRoZSBmbGFncy4gCisKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpsYXlvdXQpOgorICAgICAgICBOb3cg
dXNlcyB0aGUgaGVscGVyIGZ1bmN0aW9uIHVwZGF0ZUxheWVyUG9zaXRpb25GbGFncygpIHRvIGdl
dCB0aGUgZmluYWwgc2V0IG9mIFVwZGF0ZUxheWVyUG9zaXRpb25zRmxhZ3MuCisKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
Ojppc1BhZ2luYXRlZCk6CisgICAgICAgIChSZW5kZXJMYXllcik6CisgICAgICAgIGlzUGFnaW5h
dGVkIGZ1bmN0aW9uIGlzIG1hZGUgcHVibGljIHNvIHRoYXQgRnJhbWVWaWV3IGNsYXNzIGNhbiB1
c2UgaXQgcHJlcGFyZSBVcGRhdGVMYXllclBvc2l0aW9uc0ZsYWdzLgorCiAyMDEyLTA2LTA1ICBE
YW5hIEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0g
RnJlZSB0ZXh0dXJlIGZyb20gQ0NJT1N1cmZhY2VMYXllckltcGwgd2hlbiBpdCBpcyBkZXN0cm95
ZWQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAJKHJldmlzaW9uIDExOTk3OSkKKysr
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIy
LDYgKzEyMiwxNiBAQCBzdGF0aWMgaW5saW5lIFJlbmRlclZpZXcqIHJvb3RSZW5kZXJlcihjCiAg
ICAgcmV0dXJuIHZpZXctPmZyYW1lKCkgPyB2aWV3LT5mcmFtZSgpLT5jb250ZW50UmVuZGVyZXIo
KSA6IDA7CiB9CiAKK3N0YXRpYyBSZW5kZXJMYXllcjo6VXBkYXRlTGF5ZXJQb3NpdGlvbnNGbGFn
cyB1cGRhdGVMYXllclBvc2l0aW9uRmxhZ3MoUmVuZGVyTGF5ZXIqIGxheWVyLCBib29sIGlzUmVs
YXlvdXRpbmdTdWJ0cmVlLCBib29sIGRpZEZ1bGxSZXBhaW50KQoreworICAgIFJlbmRlckxheWVy
OjpVcGRhdGVMYXllclBvc2l0aW9uc0ZsYWdzIGZsYWdzID0gUmVuZGVyTGF5ZXI6OmRlZmF1bHRG
bGFnczsKKyAgICBpZiAoZGlkRnVsbFJlcGFpbnQpCisgICAgICAgIGZsYWdzICY9IH5SZW5kZXJM
YXllcjo6Q2hlY2tGb3JSZXBhaW50OworICAgIGlmIChpc1JlbGF5b3V0aW5nU3VidHJlZSAmJiBs
YXllci0+aXNQYWdpbmF0ZWQoKSkKKyAgICAgICAgZmxhZ3MgfD0gUmVuZGVyTGF5ZXI6OlVwZGF0
ZVBhZ2luYXRpb247CisgICAgcmV0dXJuIGZsYWdzOworfQorCiBGcmFtZVZpZXc6OkZyYW1lVmll
dyhGcmFtZSogZnJhbWUpCiAgICAgOiBtX2ZyYW1lKGZyYW1lKQogICAgICwgbV9jYW5IYXZlU2Ny
b2xsYmFycyh0cnVlKQpAQCAtMTExNywxMCArMTEyNyw4IEBAIHZvaWQgRnJhbWVWaWV3OjpsYXlv
dXQoYm9vbCBhbGxvd1N1YnRyZWUKICAgICBpZiAobV9kb0Z1bGxSZXBhaW50KQogICAgICAgICBy
b290LT52aWV3KCktPnJlcGFpbnQoKTsgLy8gRklYTUU6IFRoaXMgaXNuJ3QgcmVhbGx5IHJpZ2h0
LCBzaW5jZSB0aGUgUmVuZGVyVmlldyBkb2Vzbid0IGZ1bGx5IGVuY29tcGFzcyB0aGUgdmlzaWJs
ZUNvbnRlbnRSZWN0KCkuIEl0IGp1c3QgaGFwcGVucwogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gdG8gd29yayBvdXQgbW9zdCBvZiB0aGUgdGltZSwgc2luY2UgZmlyc3QgbGF5
b3V0cyBhbmQgcHJpbnRpbmcgZG9uJ3QgaGF2ZSB5b3Ugc2Nyb2xsZWQgYW55d2hlcmUuCi0gICAg
bGF5ZXItPnVwZGF0ZUxheWVyUG9zaXRpb25zKGhhc0xheWVyT2Zmc2V0ID8gJm9mZnNldEZyb21S
b290IDogMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1fZG9GdWxsUmVwYWlu
dCA/IDAgOiBSZW5kZXJMYXllcjo6Q2hlY2tGb3JSZXBhaW50KQotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8IFJlbmRlckxheWVyOjpJc0NvbXBvc2l0aW5nVXBkYXRlUm9vdAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFJlbmRlckxheWVyOjpVcGRhdGVDb21wb3Np
dGluZ0xheWVycyk7CisKKyAgICBsYXllci0+dXBkYXRlTGF5ZXJQb3NpdGlvbnMoaGFzTGF5ZXJP
ZmZzZXQgPyAmb2Zmc2V0RnJvbVJvb3QgOiAwLCB1cGRhdGVMYXllclBvc2l0aW9uRmxhZ3MobGF5
ZXIsIHN1YnRyZWUsIG1fZG9GdWxsUmVwYWludCkpOwogICAgIGVuZERlZmVycmVkUmVwYWludHMo
KTsKIAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5oCShyZXZpc2lvbiAxMTk5NzkpCisrKyBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzkzLDYgKzM5
Myw4IEBAIHB1YmxpYzoKICAgICAvLyBQcm92aWRpbmcgfGNhY2hlZE9mZnNldHwgcHJldmVudHMg
YSBvdXRsaW5lQm94Rm9yUmVwYWludCBmcm9tIHdhbGtpbmcgYmFjayB0byB0aGUgcm9vdCBmb3Ig
ZWFjaCBsYXllciBpbiBvdXIgc3VidHJlZS4KICAgICAvLyBUaGlzIGlzIGFuIG9wdGltaXN0aWMg
b3B0aW1pemF0aW9uIHRoYXQgaXMgbm90IGd1YXJhbnRlZWQgdG8gc3VjY2VlZC4KICAgICB2b2lk
IHVwZGF0ZUxheWVyUG9zaXRpb25zKExheW91dFBvaW50KiBvZmZzZXRGcm9tUm9vdCwgVXBkYXRl
TGF5ZXJQb3NpdGlvbnNGbGFncyA9IGRlZmF1bHRGbGFncyk7CisgICAgCisgICAgYm9vbCBpc1Bh
Z2luYXRlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNQYWdpbmF0ZWQ7IH0KIAogICAgIHZvaWQgdXBk
YXRlVHJhbnNmb3JtKCk7CiAKQEAgLTgxMyw4ICs4MTUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQg
ZHJhd1BsYXRmb3JtUmVzaXplckltYWdlKEdyYXBoaWNzQ29udGV4dCosIEludFJlY3QgcmVzaXpl
ckNvcm5lclJlY3QpOwogCiAgICAgdm9pZCB1cGRhdGVQYWdpbmF0aW9uKCk7Ci0gICAgYm9vbCBp
c1BhZ2luYXRlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNQYWdpbmF0ZWQ7IH0KLQorICAgIAogI2lm
IFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykgICAgCiAgICAgYm9vbCBoYXNDb21wb3NpdGlu
Z0Rlc2NlbmRhbnQoKSBjb25zdCB7IHJldHVybiBtX2hhc0NvbXBvc2l0aW5nRGVzY2VuZGFudDsg
fQogICAgIHZvaWQgc2V0SGFzQ29tcG9zaXRpbmdEZXNjZW5kYW50KGJvb2wgYikgIHsgbV9oYXND
b21wb3NpdGluZ0Rlc2NlbmRhbnQgPSBiOyB9CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMTk5ODMpCisr
KyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAor
MjAxMi0wNi0xMSAgUHJhdmluIEQgIDxwcmF2aW5kLjJrNEBnbWFpbC5jb20+CisKKyAgICAgICAg
UmVsYXRpdmUgcG9zLiBpbnB1dCBmaWVsZHMgaW4gY29sdW1ucyB2YW5pc2ggd2hlbiB5b3Ugc3Rh
cnQgdHlwaW5nIGluIHRoZW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTc2ODM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBmYXN0L211bHRpY29sL211bHRpY29sLXdpdGgtY2hpbGQtcmVuZGVyTGF5ZXIt
Zm9yLWlucHV0LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbXVsdGljb2wv
bXVsdGljb2wtd2l0aC1jaGlsZC1yZW5kZXJMYXllci1mb3ItaW5wdXQuaHRtbDogQWRkZWQuCisK
IDIwMTItMDYtMTEgIERvbWluaWMgQ29vbmV5ICA8ZG9taW5pY2NAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFtDaHJvbWl1bV0gVW5yZXZpZXdlZDogUmViYXNlbGluZSBtb3JlIFNWRyB0ZXN0cyBv
biBXaW5kb3dzLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9tdWx0aWNvbC13aXRo
LWNoaWxkLXJlbmRlckxheWVyLWZvci1pbnB1dC1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbXVsdGljb2wtd2l0aC1jaGlsZC1yZW5kZXJMYXll
ci1mb3ItaW5wdXQtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zh
c3QvbXVsdGljb2wvbXVsdGljb2wtd2l0aC1jaGlsZC1yZW5kZXJMYXllci1mb3ItaW5wdXQtZXhw
ZWN0ZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMCBAQAorPGh0bWw+Cis8aGVhZD4K
Kzx0aXRsZT5UZXN0Y2FzZSBmb3IgYnVnIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03NjgzNCA8L3RpdGxlPgorPHNjcmlwdD4KK2Z1bmN0aW9uIHN0YXJ0VGVzdCgpewor
ICAgIHZhciBpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0Jyk7CisgICAgaW5w
dXQuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnSW5zZXJ0VGV4dCcsZmFsc2Us
J1Rlc3RpbmcnKQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InN0YXJ0VGVz
dCgpOyI+Cis8ZGl2IHN0eWxlPSItd2Via2l0LWNvbHVtbi1jb3VudDoyIj4KKyAgIEZpbGxlciBU
ZXh0ICBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxs
ZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dAorICAgRmlsbGVyIFRl
eHQgIEZpbGxlciBUZXh0IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0IEZpbGxl
ciBUZXh0IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0CisgICBGaWxsZXIgVGV4
dCAgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQgRmlsbGVy
IFRleHQgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQKKyAgIDxpbnB1dCBpZD0i
dGVzdCIgIC8+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zh
c3QvbXVsdGljb2wvbXVsdGljb2wtd2l0aC1jaGlsZC1yZW5kZXJMYXllci1mb3ItaW5wdXQuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL211bHRpY29sLXdpdGgt
Y2hpbGQtcmVuZGVyTGF5ZXItZm9yLWlucHV0Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L211bHRpY29sL211bHRpY29sLXdpdGgtY2hpbGQtcmVuZGVyTGF5ZXItZm9yLWlu
cHV0Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjAgQEAKKzxodG1sPgorPGhlYWQ+Cis8
dGl0bGU+VGVzdGNhc2UgZm9yIGJ1ZyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzY4MzQgPC90aXRsZT4KKzxzY3JpcHQ+CitmdW5jdGlvbiBzdGFydFRlc3QoKXsKKyAg
ICB2YXIgaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdCcpOworICAgIGlucHV0
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ0luc2VydFRleHQnLGZhbHNlLCdU
ZXN0aW5nJykKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJzdGFydFRlc3Qo
KTsiPgorPGRpdiBzdHlsZT0iLXdlYmtpdC1jb2x1bW4tY291bnQ6MiI+CisgICBGaWxsZXIgVGV4
dCAgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQgRmlsbGVy
IFRleHQgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQgRmlsbGVyIFRleHQKKyAgIEZpbGxlciBUZXh0
ICBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIg
VGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dCBGaWxsZXIgVGV4dAorICAgRmlsbGVyIFRleHQg
IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0IEZpbGxlciBU
ZXh0IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0IEZpbGxlciBUZXh0CisgICA8aW5wdXQgaWQ9InRl
c3QiIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsiIC8+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>