<?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>117733</bug_id>
          
          <creation_ts>2013-06-18 03:40:47 -0700</creation_ts>
          <short_desc>[WK2][GTK] ASSERTION in WebKit::LayerTreeHostGtk::invalidate</short_desc>
          <delta_ts>2013-09-04 14:59:40 -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>WebKitGTK</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>http://praza.com/movementos-sociais/4872/o-pp-rexeita-abolir-as-touradas-porque-non-hai-risco-de-que-proliferen-en-galicia/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sergio Villar Senin">svillar</reporter>
          <assigned_to name="Alberto Garcia">berto</assigned_to>
          <cc>alex</cc>
    
    <cc>berto</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gustavo</cc>
    
    <cc>mrobinson</cc>
    
    <cc>svillar</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>901336</commentid>
    <comment_count>0</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2013-06-18 03:40:47 -0700</bug_when>
    <thetext>From time to time I hit this assertion:

ASSERTION FAILED: m_isValid
../../Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp(171) : virtual void WebKit::LayerTreeHostGtk::invalidate()
1   0x7f130553e7c7 /home/sergio/opt/gnome3/lib64/libjavascriptcoregtk-3.0.so.0(WTFCrash+0x1e) [0x7f130553e7c7]
2   0x7f130034fac3 /home/sergio/opt/gnome3/lib64/libwebkit2gtk-3.0.so.25(+0x81bac3) [0x7f130034fac3]
3   0x7f1300304458 /home/sergio/opt/gnome3/lib64/libwebkit2gtk-3.0.so.25(+0x7d0458) [0x7f1300304458]
4   0x7f1300306ada /home/sergio/opt/gnome3/lib64/libwebkit2gtk-3.0.so.25(+0x7d2ada) [0x7f1300306ada]
5   0x7f13019ac8ce /home/sergio/opt/gnome3/lib64/libwebkit2gtk-3.0.so.25(+0x1e788ce) [0x7f13019ac8ce]
6   0x7f12fcb16b5e /home/sergio/opt/gnome3/lib64/libglib-2.0.so.0(+0x57b5e) [0x7f12fcb16b5e]
7   0x7f12fcb14e01 /home/sergio/opt/gnome3/lib64/libglib-2.0.so.0(+0x55e01) [0x7f12fcb14e01]
8   0x7f12fcb15b66 /home/sergio/opt/gnome3/lib64/libglib-2.0.so.0(g_main_context_dispatch+0x33) [0x7f12fcb15b66]
9   0x7f12fcb15d56 /home/sergio/opt/gnome3/lib64/libglib-2.0.so.0(+0x56d56) [0x7f12fcb15d56]
10  0x7f12fcb16186 /home/sergio/opt/gnome3/lib64/libglib-2.0.so.0(g_main_loop_run+0x1d8) [0x7f12fcb16186]
11  0x7f13019ac46a /home/sergio/opt/gnome3/lib64/libwebkit2gtk-3.0.so.25(+0x1e7846a) [0x7f13019ac46a]
12  0x7f130025da5c /home/sergio/opt/gnome3/lib64/libwebkit2gtk-3.0.so.25(WebProcessMainGtk+0x114) [0x7f130025da5c]
13  0x4009bc /home/sergio/opt/gnome3/libexec/WebKitWebProcess(main+0x20) [0x4009bc]
14  0x7f12fc30fa55 /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f12fc30fa55]
15  0x4008d9 /home/sergio/opt/gnome3/libexec/WebKitWebProcess() [0x4008d9]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>903629</commentid>
    <comment_count>1</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2013-06-26 03:59:48 -0700</bug_when>
    <thetext>I can reproduce this always just by visiting the URL I pasted above in the URL field.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905073</commentid>
    <comment_count>2</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-07-01 09:41:41 -0700</bug_when>
    <thetext>Reproduced, I&apos;ll take a look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905302</commentid>
    <comment_count>3</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-07-02 02:55:42 -0700</bug_when>
    <thetext>LayerTreeHostGtk::invalidate() is called from
DrawingAreaImpl::exitAcceleratedCompositingMode() but m_isValid is
false because the call to glContext() fails when LayerTreeHost is
initialized.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905335</commentid>
    <comment_count>4</comment_count>
      <attachid>205891</attachid>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-07-02 04:45:13 -0700</bug_when>
    <thetext>Created attachment 205891
Patch

I think that m_isValid is incorrectly set to false if the GL context
cannot be created (which happens if e.g. the display does not support
XDamage or Xcomposite).

That doesn&apos;t really do anything other than breaking the assertion in
LayerTreeHostGtk::invalidate().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905348</commentid>
    <comment_count>5</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2013-07-02 05:08:15 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Created an attachment (id=205891) [details]
&gt; Patch
&gt; 
&gt; I think that m_isValid is incorrectly set to false if the GL context
&gt; cannot be created (which happens if e.g. the display does not support
&gt; XDamage or Xcomposite).

I don&apos;t think this is the case at least in my environment. Note that it&apos;s set to false also at the end of ::invalidate()
 
&gt; That doesn&apos;t really do anything other than breaking the assertion in
&gt; LayerTreeHostGtk::invalidate().

This is not true, in that case ::flushAndRederLayers will early return.

So my guess is that for whatever reason ::invalidate() is incorrectly called twice in a row.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905355</commentid>
    <comment_count>6</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-07-02 05:19:53 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; &gt; I think that m_isValid is incorrectly set to false if the GL
&gt; &gt; context cannot be created (which happens if e.g. the display does
&gt; &gt; not support XDamage or Xcomposite).
&gt; I don&apos;t think this is the case at least in my environment. Note that
&gt; it&apos;s set to false also at the end of ::invalidate()

Maybe you&apos;re hitting a different problem then, but I could definitely
reproduce it as I explained.

Did you manage to reproduce it again in your environment?

&gt; &gt; That doesn&apos;t really do anything other than breaking the assertion in
&gt; &gt; LayerTreeHostGtk::invalidate().
&gt;
&gt; This is not true, in that case ::flushAndRederLayers will early
&gt; return.

It would do it anyway because the call to glContext() immediately
after that would fail as well.

&gt; So my guess is that for whatever reason ::invalidate() is
&gt; incorrectly called twice in a row.

I can&apos;t see how that would happen, m_layerTreeHost is set to null
immediately after invalidating it in DrawingAreaImpl.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906138</commentid>
    <comment_count>7</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2013-07-04 04:53:39 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; &gt; I think that m_isValid is incorrectly set to false if the GL
&gt; &gt; &gt; context cannot be created (which happens if e.g. the display does
&gt; &gt; &gt; not support XDamage or Xcomposite).
&gt; &gt; I don&apos;t think this is the case at least in my environment. Note that
&gt; &gt; it&apos;s set to false also at the end of ::invalidate()
&gt; 
&gt; Maybe you&apos;re hitting a different problem then, but I could definitely
&gt; reproduce it as I explained.
&gt; 
&gt; Did you manage to reproduce it again in your environment?

What I mean is that my environment does support XDamage and XComposite, but I don&apos;t deny that the context creation may fail for some other reasons.

Our implementation is quite close to the Mac one, and it seems that we&apos;re maybe misusing m_isValid. The original purpose of that flag is to avoid flushes after an invalidation. We&apos;re setting it (incorrectly IMO) to false to track failures in the GLContext creation. So I indeed believe that your change is totally right (the flush won&apos;t happen anyway as you say if the context cannot be created).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906207</commentid>
    <comment_count>8</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-07-04 09:27:40 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Created an attachment (id=205891) [details]
&gt; Patch
&gt; 
&gt; I think that m_isValid is incorrectly set to false if the GL context
&gt; cannot be created (which happens if e.g. the display does not support
&gt; XDamage or Xcomposite).
&gt; 
&gt; That doesn&apos;t really do anything other than breaking the assertion in
&gt; LayerTreeHostGtk::invalidate().

Perhaps the solution for this is to check host-&gt;m_isValid in LayerTreeHostGtk::create and return null from that factory if it&apos;s false.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906226</commentid>
    <comment_count>9</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-07-04 11:40:32 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Perhaps the solution for this is to check host-&gt;m_isValid in
&gt; LayerTreeHostGtk::create and return null from that factory if it&apos;s
&gt; false.

But we still need to invalidate and destroy the object, so we should
probably attempt to create the glContext() at the beginning of the
initialize method then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906233</commentid>
    <comment_count>10</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-07-04 11:52:03 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; Perhaps the solution for this is to check host-&gt;m_isValid in
&gt; &gt; LayerTreeHostGtk::create and return null from that factory if it&apos;s
&gt; &gt; false.
&gt; 
&gt; But we still need to invalidate and destroy the object, so we should
&gt; probably attempt to create the glContext() at the beginning of the
&gt; initialize method then.

I don&apos;t think we need to explicitly invalidate the object because when the RefPtr goes out of scope in LayerTreeHostGtk::create, the destructor will clean up its members. The only reason this doesn&apos;t happen now is because we call host.release().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906247</commentid>
    <comment_count>11</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-07-04 12:46:06 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; &gt; But we still need to invalidate and destroy the object, so we
&gt; &gt; should probably attempt to create the glContext() at the beginning
&gt; &gt; of the initialize method then.
&gt; I don&apos;t think we need to explicitly invalidate the object because
&gt; when the RefPtr goes out of scope in LayerTreeHostGtk::create, the
&gt; destructor will clean up its members. The only reason this doesn&apos;t
&gt; happen now is because we call host.release().

We do because of the ASSERT(!m_rootLayer) in the destructor.

DrawingAreaImpl::enterAcceleratedCompositingMode() is also not
considering the possibility that LayerTreeHost::create() returns 0.

So there&apos;s a few things we need to look into.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906248</commentid>
    <comment_count>12</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-07-04 12:51:50 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; &gt; But we still need to invalidate and destroy the object, so we
&gt; &gt; &gt; should probably attempt to create the glContext() at the beginning
&gt; &gt; &gt; of the initialize method then.
&gt; &gt; I don&apos;t think we need to explicitly invalidate the object because
&gt; &gt; when the RefPtr goes out of scope in LayerTreeHostGtk::create, the
&gt; &gt; destructor will clean up its members. The only reason this doesn&apos;t
&gt; &gt; happen now is because we call host.release().
&gt; 
&gt; We do because of the ASSERT(!m_rootLayer) in the destructor.

There&apos;s no reason the assertion has to remain, if the situation is no longer unexpected. :)

&gt; DrawingAreaImpl::enterAcceleratedCompositingMode() is also not
&gt; considering the possibility that LayerTreeHost::create() returns 0.

This seems to be a bigger issue. It seems the code has changed a bit since I originally wrote it, as returning null would disable AC implicitly. It&apos;s probably safer to check during initialization if the system supports XComposite and XDamage and force the page settings to disable AC if not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906904</commentid>
    <comment_count>13</comment_count>
      <attachid>206264</attachid>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-07-08 14:04:48 -0700</bug_when>
    <thetext>Created attachment 206264
Patch

Second attempt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906905</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-08 14:06:01 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906908</commentid>
    <comment_count>15</comment_count>
      <attachid>206265</attachid>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-07-08 14:16:18 -0700</bug_when>
    <thetext>Created attachment 206265
Patch

Oops, there was a hunk missing in the previous patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906950</commentid>
    <comment_count>16</comment_count>
      <attachid>206265</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-07-08 16:18:35 -0700</bug_when>
    <thetext>Comment on attachment 206265
Patch

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

The bits in WebKitWebView look good to me, but I think any fixes for LayerTreeHost should be split out into another patch. I think given your comments earlier that the approach of returning null isn&apos;t a safe one (as the assertion you added attests). I think we are just going to have to make sure that we do not return an invalid LayerTreeHost.

&gt; Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:70
&gt; -    return host.release();
&gt; +    return host-&gt;m_isValid ? host.release() : 0;
&gt;  }
&gt;  

It seems that we could actually dispense with this part of the patch entirely?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907052</commentid>
    <comment_count>17</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-07-09 02:45:19 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; The bits in WebKitWebView look good to me, but I think any fixes for
&gt; LayerTreeHost should be split out into another patch. I think given
&gt; your comments earlier that the approach of returning null isn&apos;t a
&gt; safe one (as the assertion you added attests). I think we are just
&gt; going to have to make sure that we do not return an invalid
&gt; LayerTreeHost.

The situation here is that, with the changes in WebKitWebView, the
scenario where LayerTreeHost fails to get the GL context is not
supposed to happen, ever.

So that change alone would be enough to fix the crash.

The other part of the patch just tries to fix the inconsistencies in
LayerTreeHost.

If we still want to return a non-null LayerTreeHost we can do
something like what I proposed in my first patch (comment 4). The code
already deals with the scenario where glContext() returns null, it was
only the assertion that was causing problems (that&apos;s why it only
crashed in debug builds).

Still I think it&apos;s a good idea to detect when we&apos;re incorrectly
attempting to enter AC mode, because that&apos;s not supposed to happen.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907100</commentid>
    <comment_count>18</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-07-09 06:49:09 -0700</bug_when>
    <thetext>Sure. All that makes sense to me. I think these two things are just turning into two patches as they become two separate topics: fixing non-xcomposite situations and fixing the more general issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907118</commentid>
    <comment_count>19</comment_count>
      <attachid>206323</attachid>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-07-09 08:13:58 -0700</bug_when>
    <thetext>Created attachment 206323
Patch

Okay, this patch disables AC if the system doesn&apos;t support it. This fixes the crash.

Later I can file a separate bug to fix the LayerTreeHost thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907169</commentid>
    <comment_count>20</comment_count>
      <attachid>206323</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-07-09 10:16:13 -0700</bug_when>
    <thetext>Comment on attachment 206323
Patch

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

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:383
&gt; +#if USE(TEXTURE_MAPPER_GL)
&gt; +    if (!webkitWebViewBaseHasRedirectedWindow(WEBKIT_WEB_VIEW_BASE(webView)))
&gt; +        webkitSettingsGetPreferences(settings)-&gt;setAcceleratedCompositingEnabled(false);
&gt; +#endif

I&apos;m realizing now that this might be an issue for WebKitTestRunner since it&apos;s implemented using WebkitWebViewBase instead of WebKitWebView. Is there any way to accomplish this in WebKitWebViewBase only?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907224</commentid>
    <comment_count>21</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-07-09 14:34:38 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; I&apos;m realizing now that this might be an issue for WebKitTestRunner
&gt; since it&apos;s implemented using WebkitWebViewBase instead of
&gt; WebKitWebView. Is there any way to accomplish this in
&gt; WebKitWebViewBase only?

That would be even better because all the redirectedWindow handling is
made in WebKitWebViewBase already. However I didn&apos;t see the way to do
it easily. I&apos;ll give it one more try.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923970</commentid>
    <comment_count>22</comment_count>
      <attachid>210362</attachid>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-09-03 05:53:56 -0700</bug_when>
    <thetext>Created attachment 210362
Patch using WebKitWebViewBase

Here&apos;s the implementation using WebKitWebViewBase.

Still we need to touch code from WebKitWebView to make sure that AC is
disabled if the settings are changed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>924540</commentid>
    <comment_count>23</comment_count>
      <attachid>210362</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-09-04 11:46:43 -0700</bug_when>
    <thetext>Comment on attachment 210362
Patch using WebKitWebViewBase

Isn&apos;t it sufficient to do this in webkitWebViewGroupAttachSettingsToPageGroup, which is the other place that we disable accelerated compositing? If not, then it seems the Wayland path is wrong...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>924551</commentid>
    <comment_count>24</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-09-04 12:18:47 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; Isn&apos;t it sufficient to do this in webkitWebViewGroupAttachSettingsToPageGroup

How is it different from doing it in WebKitWebView (see comment #20)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>924571</commentid>
    <comment_count>25</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-09-04 13:20:40 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; (In reply to comment #23)
&gt; &gt; Isn&apos;t it sufficient to do this in webkitWebViewGroupAttachSettingsToPageGroup
&gt; 
&gt; How is it different from doing it in WebKitWebView (see comment #20)?

Oh yes! Good point. I think the Wayland check probably needs to move to WebKitWebViewBase as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>924624</commentid>
    <comment_count>26</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-09-04 14:59:40 -0700</bug_when>
    <thetext>Committed r155066: &lt;http://trac.webkit.org/changeset/155066&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205891</attachid>
            <date>2013-07-02 04:45:13 -0700</date>
            <delta_ts>2013-07-08 14:04:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>117733.diff</filename>
            <type>text/plain</type>
            <size>1555</size>
            <attacher name="Alberto Garcia">berto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA1YjZhNjc5Li44ZWEzNmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTMtMDctMDIgIEFsYmVydG8gR2FyY2lhICA8YmVydG9AaWdhbGlhLmNvbT4KKworICAg
ICAgICBbV0syXVtHVEtdIEFTU0VSVElPTiBpbiBXZWJLaXQ6OkxheWVyVHJlZUhvc3RHdGs6Omlu
dmFsaWRhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTExNzczMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IElmIHRoZSBHTCBjb250ZXh0IGNhbm5vdCBiZSBjcmVhdGVkIHRoZW4gbV9pc1ZhbGlkIGlzIHNl
dCB0byBmYWxzZQorICAgICAgICBkdXJpbmcgdGhlIGluaXRpYWxpemF0aW9uIG9mIExheWVyVHJl
ZUhvc3RHdGsuCisKKyAgICAgICAgSG93ZXZlciB0aGF0IGRvZXNuJ3QgcmVhbGx5IGhhdmUgYW55
IGVmZmVjdCBvdGhlciB0aGFuIGJyZWFraW5nCisgICAgICAgIHRoZSBhc3NlcnRpb24gaW4gaW52
YWxpZGF0ZSgpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9MYXllclRyZWVI
b3N0R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdEd0azo6aW5pdGlhbGl6
ZSk6CisKIDIwMTMtMDYtMjggIEFuZHJlcyBHb21leiAgPGFnb21lekBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFtHVEtdIE1pbmlCcm93c2VyIGRvZXNuJ3Qgc29sdmUgdGhlIHNhdmluZyBsb2NhdGlv
biB3aGVuIHRoZXJlIGFyZSBubyBYREcgc2V0dGluZ3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvTGF5ZXJUcmVlSG9zdEd0ay5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL0xheWVyVHJlZUhvc3RHdGsuY3BwCmluZGV4
IDA0Njc5YmQuLmYyZDQxNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9ndGsvTGF5ZXJUcmVlSG9zdEd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL2d0ay9MYXllclRyZWVIb3N0R3RrLmNwcApAQCAtMTE2LDEwICsxMTYs
OCBAQCB2b2lkIExheWVyVHJlZUhvc3RHdGs6OmluaXRpYWxpemUoKQogICAgIG1fbGF5ZXJUcmVl
Q29udGV4dC53aW5kb3dIYW5kbGUgPSBtX3dlYlBhZ2UtPm5hdGl2ZVdpbmRvd0hhbmRsZSgpOwog
CiAgICAgR0xDb250ZXh0KiBjb250ZXh0ID0gZ2xDb250ZXh0KCk7Ci0gICAgaWYgKCFjb250ZXh0
KSB7Ci0gICAgICAgIG1faXNWYWxpZCA9IGZhbHNlOworICAgIGlmICghY29udGV4dCkKICAgICAg
ICAgcmV0dXJuOwotICAgIH0KIAogICAgIC8vIFRoZSBjcmVhdGlvbiBvZiB0aGUgVGV4dHVyZU1h
cHBlciBuZWVkcyBhbiBhY3RpdmUgT3BlbkdMIGNvbnRleHQuCiAgICAgY29udGV4dC0+bWFrZUNv
bnRleHRDdXJyZW50KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206264</attachid>
            <date>2013-07-08 14:04:48 -0700</date>
            <delta_ts>2013-07-08 14:16:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>117733.diff</filename>
            <type>text/plain</type>
            <size>5390</size>
            <attacher name="Alberto Garcia">berto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBhODA5ZDhkLi5lMTQzNjZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEg
QEAKKzIwMTMtMDctMDggIEFsYmVydG8gR2FyY2lhICA8YmVydG9AaWdhbGlhLmNvbT4KKworICAg
ICAgICBbV0syXVtHVEtdIEFTU0VSVElPTiBpbiBXZWJLaXQ6OkxheWVyVHJlZUhvc3RHdGs6Omlu
dmFsaWRhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTExNzczMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IElmIHRoZSBHTCBjb250ZXh0IGNhbm5vdCBiZSBjcmVhdGVkIHRoZW4gbV9pc1ZhbGlkIGlzIHNl
dCB0byBmYWxzZQorICAgICAgICBkdXJpbmcgdGhlIGluaXRpYWxpemF0aW9uIG9mIExheWVyVHJl
ZUhvc3RHdGsuIFRoYXQgYnJlYWtzIGFuCisgICAgICAgIGFzc2VydGlvbiBpbiBpbnZhbGlkYXRl
KCkuCisKKyAgICAgICAgVG8gZml4IHRoaXMgcHJvYmxlbSB0aGlzIHBhdGNoIG1ha2VzIExheWVy
VHJlZUhvc3RHdGs6OmNyZWF0ZSgpCisgICAgICAgIGRlc3Ryb3kgdGhlIG9iamVjdCBhbmQgcmV0
dXJuIG51bGwgaW4gdGhhdCBjYXNlLgorCisgICAgICAgIFRoZSBhY3R1YWwgc29sdXRpb24gaXMg
aG93ZXZlciB0byBkaXNhYmxlIGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nCisgICAgICAgIGlmIHRo
ZSBzeXN0ZW0gZG9lc24ndCBzdXBwb3J0IGl0LCBzbyB3ZSBkb24ndCBldmVuIHRyeSB0byBjcmVh
dGUKKyAgICAgICAgdGhlIG9iamVjdCB3aGVuIHdlIGtub3cgdGhhdCBpdCdzIGdvaW5nIHRvIGZh
aWwuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcDoKKyAg
ICAgICAgKHdlYmtpdFdlYlZpZXdVcGRhdGVTZXR0aW5ncyk6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwOgorICAgICAgICAod2Via2l0V2ViVmlld0Jh
c2VIYXNSZWRpcmVjdGVkV2luZG93KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRXZWJWaWV3QmFzZVByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJh
d2luZ0FyZWFJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFJbXBsOjplbnRl
ckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvZ3RrL0xheWVyVHJlZUhvc3RHdGsuY3BwOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVI
b3N0R3RrOjpjcmVhdGUpOgorCiAyMDEzLTA3LTA1ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0
b25AYXBwbGUuY29tPgogCiAgICAgICAgIFt3azJdIEFkZCBBUEkgdG8gbG9jayB0aGUgc2Nyb2xs
IHBvc2l0aW9uIGF0IHRoZSB0b3Agb3IgYm90dG9tIG9mIHRoZSBwYWdlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCmluZGV4IDI5NDk3
MDkuLjMwZTE5ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYlZpZXcuY3BwCkBAIC00Nyw2ICs0Nyw3IEBACiAjaW5jbHVkZSAiV2ViS2l0UHJp
dmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdFJlc3BvbnNlUG9saWN5RGVjaXNpb24uaCIKICNpbmNs
dWRlICJXZWJLaXRTY3JpcHREaWFsb2dQcml2YXRlLmgiCisjaW5jbHVkZSAiV2ViS2l0U2V0dGlu
Z3NQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0VUlDbGllbnQuaCIKICNpbmNsdWRlICJXZWJL
aXRVUklSZXF1ZXN0UHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdFVSSVJlc3BvbnNlUHJpdmF0
ZS5oIgpAQCAtMzc2LDYgKzM3NywxMSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRXZWJWaWV3VXBkYXRl
U2V0dGluZ3MoV2ViS2l0V2ViVmlldyogd2ViVmlldykKICAgICBwYWdlLT5zZXRDYW5SdW5Nb2Rh
bCh3ZWJraXRfc2V0dGluZ3NfZ2V0X2FsbG93X21vZGFsX2RpYWxvZ3Moc2V0dGluZ3MpKTsKICAg
ICBwYWdlLT5zZXRDdXN0b21Vc2VyQWdlbnQoU3RyaW5nOjpmcm9tVVRGOCh3ZWJraXRfc2V0dGlu
Z3NfZ2V0X3VzZXJfYWdlbnQoc2V0dGluZ3MpKSk7CiAKKyNpZiBVU0UoVEVYVFVSRV9NQVBQRVJf
R0wpCisgICAgaWYgKCF3ZWJraXRXZWJWaWV3QmFzZUhhc1JlZGlyZWN0ZWRXaW5kb3coV0VCS0lU
X1dFQl9WSUVXX0JBU0Uod2ViVmlldykpKQorICAgICAgICB3ZWJraXRTZXR0aW5nc0dldFByZWZl
cmVuY2VzKHNldHRpbmdzKS0+c2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoZmFsc2Up
OworI2VuZGlmCisKICAgICBnX3NpZ25hbF9jb25uZWN0KHNldHRpbmdzLCAibm90aWZ5OjphbGxv
dy1tb2RhbC1kaWFsb2dzIiwgR19DQUxMQkFDSyhhbGxvd01vZGFsRGlhbG9nc0NoYW5nZWQpLCB3
ZWJWaWV3KTsKICAgICBnX3NpZ25hbF9jb25uZWN0KHNldHRpbmdzLCAibm90aWZ5Ojp6b29tLXRl
eHQtb25seSIsIEdfQ0FMTEJBQ0soem9vbVRleHRPbmx5Q2hhbmdlZCksIHdlYlZpZXcpOwogICAg
IGdfc2lnbmFsX2Nvbm5lY3Qoc2V0dGluZ3MsICJub3RpZnk6OnVzZXItYWdlbnQiLCBHX0NBTExC
QUNLKHVzZXJBZ2VudENoYW5nZWQpLCB3ZWJWaWV3KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcAppbmRleCA2N2RkM2Ux
Li4wN2MzMzE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRXZWJWaWV3QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCkBAIC0xMDQwLDYgKzEwNDAsMTEgQEAgdm9pZCByZWRp
cmVjdGVkV2luZG93RGFtYWdlZENhbGxiYWNrKHZvaWQqIGRhdGEpCiB7CiAgICAgZ3RrX3dpZGdl
dF9xdWV1ZV9kcmF3KEdUS19XSURHRVQoZGF0YSkpOwogfQorCitib29sIHdlYmtpdFdlYlZpZXdC
YXNlSGFzUmVkaXJlY3RlZFdpbmRvdyhXZWJLaXRXZWJWaWV3QmFzZSogd2Via2l0V2ViVmlld0Jh
c2UpCit7CisgICAgcmV0dXJuIHdlYmtpdFdlYlZpZXdCYXNlLT5wcml2LT5yZWRpcmVjdGVkV2lu
ZG93OworfQogI2VuZGlmCiAKIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VTZXRGb2N1cyhXZWJLaXRX
ZWJWaWV3QmFzZSogd2ViVmlld0Jhc2UsIGJvb2wgZm9jdXNlZCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZS5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2VQcml2YXRl
LmgKaW5kZXggZTMwZmQ5NC4uOTQ0ODQwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2VQcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2VQcml2YXRlLmgKQEAgLTU0
LDYgKzU0LDcgQEAgdm9pZCB3ZWJraXRXZWJWaWV3QmFzZVVwZGF0ZVRleHRJbnB1dFN0YXRlKFdl
YktpdFdlYlZpZXdCYXNlKik7CiAKICNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpCiB2b2lkIHdl
YmtpdFdlYlZpZXdCYXNlUXVldWVEcmF3T2ZBY2NlbGVyYXRlZENvbXBvc2l0aW5nUmVzdWx0cyhX
ZWJLaXRXZWJWaWV3QmFzZSopOworYm9vbCB3ZWJraXRXZWJWaWV3QmFzZUhhc1JlZGlyZWN0ZWRX
aW5kb3coV2ViS2l0V2ViVmlld0Jhc2UqKTsKICNlbmRpZgogCiB2b2lkIHdlYmtpdFdlYlZpZXdC
YXNlU2V0Rm9jdXMoV2ViS2l0V2ViVmlld0Jhc2UqLCBib29sIGZvY3VzZWQpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcApp
bmRleCA2ZWUzYWY1Li4zOTI3N2FmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcApAQCAtNTIzLDggKzUyMyw5IEBAIHZv
aWQgRHJhd2luZ0FyZWFJbXBsOjplbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKEdyYXBo
aWNzTGF5ZXIqIGdyYXBoaWNzTGF5CiAgICAgbV93YW50c1RvRXhpdEFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdNb2RlID0gZmFsc2U7CiAKICAgICBBU1NFUlQoIW1fbGF5ZXJUcmVlSG9zdCk7Ci0KICAg
ICBtX2xheWVyVHJlZUhvc3QgPSBMYXllclRyZWVIb3N0OjpjcmVhdGUobV93ZWJQYWdlKTsKKyAg
ICBBU1NFUlQobV9sYXllclRyZWVIb3N0KTsKKwogICAgIGlmICghbV9pblVwZGF0ZUJhY2tpbmdT
dG9yZVN0YXRlKQogICAgICAgICBtX2xheWVyVHJlZUhvc3QtPnNldFNob3VsZE5vdGlmeUFmdGVy
TmV4dFNjaGVkdWxlZExheWVyRmx1c2godHJ1ZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvTGF5ZXJUcmVlSG9zdEd0ay5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL0xheWVyVHJlZUhvc3RHdGsuY3BwCmluZGV4
IGQzMDZlYTcuLmY5MWFjYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9ndGsvTGF5ZXJUcmVlSG9zdEd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL2d0ay9MYXllclRyZWVIb3N0R3RrLmNwcApAQCAtNjUsNyArNjUsNyBA
QCBQYXNzUmVmUHRyPExheWVyVHJlZUhvc3RHdGs+IExheWVyVHJlZUhvc3RHdGs6OmNyZWF0ZShX
ZWJQYWdlKiB3ZWJQYWdlKQogewogICAgIFJlZlB0cjxMYXllclRyZWVIb3N0R3RrPiBob3N0ID0g
YWRvcHRSZWYobmV3IExheWVyVHJlZUhvc3RHdGsod2ViUGFnZSkpOwogICAgIGhvc3QtPmluaXRp
YWxpemUoKTsKLSAgICByZXR1cm4gaG9zdC5yZWxlYXNlKCk7CisgICAgcmV0dXJuIGhvc3QtPm1f
aXNWYWxpZCA/IGhvc3QucmVsZWFzZSgpIDogMDsKIH0KIAogTGF5ZXJUcmVlSG9zdEd0azo6TGF5
ZXJUcmVlSG9zdEd0ayhXZWJQYWdlKiB3ZWJQYWdlKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206265</attachid>
            <date>2013-07-08 14:16:18 -0700</date>
            <delta_ts>2013-07-09 08:13:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>117733.diff</filename>
            <type>text/plain</type>
            <size>5633</size>
            <attacher name="Alberto Garcia">berto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBhODA5ZDhkLi5kYTY0NzA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIg
QEAKKzIwMTMtMDctMDggIEFsYmVydG8gR2FyY2lhICA8YmVydG9AaWdhbGlhLmNvbT4KKworICAg
ICAgICBbV0syXVtHVEtdIEFTU0VSVElPTiBpbiBXZWJLaXQ6OkxheWVyVHJlZUhvc3RHdGs6Omlu
dmFsaWRhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTExNzczMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IElmIHRoZSBHTCBjb250ZXh0IGNhbm5vdCBiZSBjcmVhdGVkIHRoZW4gbV9pc1ZhbGlkIGlzIHNl
dCB0byBmYWxzZQorICAgICAgICBkdXJpbmcgdGhlIGluaXRpYWxpemF0aW9uIG9mIExheWVyVHJl
ZUhvc3RHdGsuIFRoYXQgYnJlYWtzIGFuCisgICAgICAgIGFzc2VydGlvbiBpbiBpbnZhbGlkYXRl
KCkuCisKKyAgICAgICAgVG8gZml4IHRoaXMgcHJvYmxlbSB0aGlzIHBhdGNoIG1ha2VzIExheWVy
VHJlZUhvc3RHdGs6OmNyZWF0ZSgpCisgICAgICAgIGRlc3Ryb3kgdGhlIG9iamVjdCBhbmQgcmV0
dXJuIG51bGwgaW4gdGhhdCBjYXNlLgorCisgICAgICAgIFRoZSBhY3R1YWwgc29sdXRpb24gaXMg
aG93ZXZlciB0byBkaXNhYmxlIGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nCisgICAgICAgIGlmIHRo
ZSBzeXN0ZW0gZG9lc24ndCBzdXBwb3J0IGl0LCBzbyB3ZSBkb24ndCBldmVuIHRyeSB0byBjcmVh
dGUKKyAgICAgICAgdGhlIG9iamVjdCB3aGVuIHdlIGtub3cgdGhhdCBpdCdzIGdvaW5nIHRvIGZh
aWwuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcDoKKyAg
ICAgICAgKHdlYmtpdFdlYlZpZXdVcGRhdGVTZXR0aW5ncyk6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwOgorICAgICAgICAod2Via2l0V2ViVmlld0Jh
c2VIYXNSZWRpcmVjdGVkV2luZG93KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRXZWJWaWV3QmFzZVByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJh
d2luZ0FyZWFJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFJbXBsOjplbnRl
ckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvZ3RrL0xheWVyVHJlZUhvc3RHdGsuY3BwOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVI
b3N0R3RrOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0R3RrOjp+TGF5
ZXJUcmVlSG9zdEd0ayk6CisKIDIwMTMtMDctMDUgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRv
bkBhcHBsZS5jb20+CiAKICAgICAgICAgW3drMl0gQWRkIEFQSSB0byBsb2NrIHRoZSBzY3JvbGwg
cG9zaXRpb24gYXQgdGhlIHRvcCBvciBib3R0b20gb2YgdGhlIHBhZ2UKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKaW5kZXggMjk0OTcw
OS4uMzBlMTlmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0V2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0V2ViVmlldy5jcHAKQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNsdWRlICJXZWJLaXRQcml2
YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0UmVzcG9uc2VQb2xpY3lEZWNpc2lvbi5oIgogI2luY2x1
ZGUgIldlYktpdFNjcmlwdERpYWxvZ1ByaXZhdGUuaCIKKyNpbmNsdWRlICJXZWJLaXRTZXR0aW5n
c1ByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRVSUNsaWVudC5oIgogI2luY2x1ZGUgIldlYktp
dFVSSVJlcXVlc3RQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0VVJJUmVzcG9uc2VQcml2YXRl
LmgiCkBAIC0zNzYsNiArMzc3LDExIEBAIHN0YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdVcGRhdGVT
ZXR0aW5ncyhXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQogICAgIHBhZ2UtPnNldENhblJ1bk1vZGFs
KHdlYmtpdF9zZXR0aW5nc19nZXRfYWxsb3dfbW9kYWxfZGlhbG9ncyhzZXR0aW5ncykpOwogICAg
IHBhZ2UtPnNldEN1c3RvbVVzZXJBZ2VudChTdHJpbmc6OmZyb21VVEY4KHdlYmtpdF9zZXR0aW5n
c19nZXRfdXNlcl9hZ2VudChzZXR0aW5ncykpKTsKIAorI2lmIFVTRShURVhUVVJFX01BUFBFUl9H
TCkKKyAgICBpZiAoIXdlYmtpdFdlYlZpZXdCYXNlSGFzUmVkaXJlY3RlZFdpbmRvdyhXRUJLSVRf
V0VCX1ZJRVdfQkFTRSh3ZWJWaWV3KSkpCisgICAgICAgIHdlYmtpdFNldHRpbmdzR2V0UHJlZmVy
ZW5jZXMoc2V0dGluZ3MpLT5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZChmYWxzZSk7
CisjZW5kaWYKKwogICAgIGdfc2lnbmFsX2Nvbm5lY3Qoc2V0dGluZ3MsICJub3RpZnk6OmFsbG93
LW1vZGFsLWRpYWxvZ3MiLCBHX0NBTExCQUNLKGFsbG93TW9kYWxEaWFsb2dzQ2hhbmdlZCksIHdl
YlZpZXcpOwogICAgIGdfc2lnbmFsX2Nvbm5lY3Qoc2V0dGluZ3MsICJub3RpZnk6Onpvb20tdGV4
dC1vbmx5IiwgR19DQUxMQkFDSyh6b29tVGV4dE9ubHlDaGFuZ2VkKSwgd2ViVmlldyk7CiAgICAg
Z19zaWduYWxfY29ubmVjdChzZXR0aW5ncywgIm5vdGlmeTo6dXNlci1hZ2VudCIsIEdfQ0FMTEJB
Q0sodXNlckFnZW50Q2hhbmdlZCksIHdlYlZpZXcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCmluZGV4IDY3ZGQzZTEu
LjA3YzMzMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFdlYlZpZXdCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAKQEAgLTEwNDAsNiArMTA0MCwxMSBAQCB2b2lkIHJlZGly
ZWN0ZWRXaW5kb3dEYW1hZ2VkQ2FsbGJhY2sodm9pZCogZGF0YSkKIHsKICAgICBndGtfd2lkZ2V0
X3F1ZXVlX2RyYXcoR1RLX1dJREdFVChkYXRhKSk7CiB9CisKK2Jvb2wgd2Via2l0V2ViVmlld0Jh
c2VIYXNSZWRpcmVjdGVkV2luZG93KFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJraXRXZWJWaWV3QmFz
ZSkKK3sKKyAgICByZXR1cm4gd2Via2l0V2ViVmlld0Jhc2UtPnByaXYtPnJlZGlyZWN0ZWRXaW5k
b3c7Cit9CiAjZW5kaWYKIAogdm9pZCB3ZWJraXRXZWJWaWV3QmFzZVNldEZvY3VzKFdlYktpdFdl
YlZpZXdCYXNlKiB3ZWJWaWV3QmFzZSwgYm9vbCBmb2N1c2VkKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2VQcml2YXRlLmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZVByaXZhdGUu
aAppbmRleCBlMzBmZDk0Li45NDQ4NDA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZVByaXZhdGUuaApAQCAtNTQs
NiArNTQsNyBAQCB2b2lkIHdlYmtpdFdlYlZpZXdCYXNlVXBkYXRlVGV4dElucHV0U3RhdGUoV2Vi
S2l0V2ViVmlld0Jhc2UqKTsKIAogI2lmIFVTRShURVhUVVJFX01BUFBFUl9HTCkKIHZvaWQgd2Vi
a2l0V2ViVmlld0Jhc2VRdWV1ZURyYXdPZkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdSZXN1bHRzKFdl
YktpdFdlYlZpZXdCYXNlKik7Citib29sIHdlYmtpdFdlYlZpZXdCYXNlSGFzUmVkaXJlY3RlZFdp
bmRvdyhXZWJLaXRXZWJWaWV3QmFzZSopOwogI2VuZGlmCiAKIHZvaWQgd2Via2l0V2ViVmlld0Jh
c2VTZXRGb2N1cyhXZWJLaXRXZWJWaWV3QmFzZSosIGJvb2wgZm9jdXNlZCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCmlu
ZGV4IDZlZTNhZjUuLjM5Mjc3YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCkBAIC01MjMsOCArNTIzLDkgQEAgdm9p
ZCBEcmF3aW5nQXJlYUltcGw6OmVudGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUoR3JhcGhp
Y3NMYXllciogZ3JhcGhpY3NMYXkKICAgICBtX3dhbnRzVG9FeGl0QWNjZWxlcmF0ZWRDb21wb3Np
dGluZ01vZGUgPSBmYWxzZTsKIAogICAgIEFTU0VSVCghbV9sYXllclRyZWVIb3N0KTsKLQogICAg
IG1fbGF5ZXJUcmVlSG9zdCA9IExheWVyVHJlZUhvc3Q6OmNyZWF0ZShtX3dlYlBhZ2UpOworICAg
IEFTU0VSVChtX2xheWVyVHJlZUhvc3QpOworCiAgICAgaWYgKCFtX2luVXBkYXRlQmFja2luZ1N0
b3JlU3RhdGUpCiAgICAgICAgIG1fbGF5ZXJUcmVlSG9zdC0+c2V0U2hvdWxkTm90aWZ5QWZ0ZXJO
ZXh0U2NoZWR1bGVkTGF5ZXJGbHVzaCh0cnVlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9MYXllclRyZWVIb3N0R3RrLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvTGF5ZXJUcmVlSG9zdEd0ay5jcHAKaW5kZXgg
ZDMwNmVhNy4uNWEyZWExNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL2d0ay9MYXllclRyZWVIb3N0R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvZ3RrL0xheWVyVHJlZUhvc3RHdGsuY3BwCkBAIC02NSw3ICs2NSw3IEBA
IFBhc3NSZWZQdHI8TGF5ZXJUcmVlSG9zdEd0az4gTGF5ZXJUcmVlSG9zdEd0azo6Y3JlYXRlKFdl
YlBhZ2UqIHdlYlBhZ2UpCiB7CiAgICAgUmVmUHRyPExheWVyVHJlZUhvc3RHdGs+IGhvc3QgPSBh
ZG9wdFJlZihuZXcgTGF5ZXJUcmVlSG9zdEd0ayh3ZWJQYWdlKSk7CiAgICAgaG9zdC0+aW5pdGlh
bGl6ZSgpOwotICAgIHJldHVybiBob3N0LnJlbGVhc2UoKTsKKyAgICByZXR1cm4gaG9zdC0+bV9p
c1ZhbGlkID8gaG9zdC5yZWxlYXNlKCkgOiAwOwogfQogCiBMYXllclRyZWVIb3N0R3RrOjpMYXll
clRyZWVIb3N0R3RrKFdlYlBhZ2UqIHdlYlBhZ2UpCkBAIC0xNDEsNyArMTQxLDYgQEAgdm9pZCBM
YXllclRyZWVIb3N0R3RrOjppbml0aWFsaXplKCkKIExheWVyVHJlZUhvc3RHdGs6On5MYXllclRy
ZWVIb3N0R3RrKCkKIHsKICAgICBBU1NFUlQoIW1faXNWYWxpZCk7Ci0gICAgQVNTRVJUKCFtX3Jv
b3RMYXllcik7CiAgICAgY2FuY2VsUGVuZGluZ0xheWVyRmx1c2goKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206323</attachid>
            <date>2013-07-09 08:13:58 -0700</date>
            <delta_ts>2013-09-03 05:53:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>117733.diff</filename>
            <type>text/plain</type>
            <size>3558</size>
            <attacher name="Alberto Garcia">berto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBhODA5ZDhkLi40ZTA0NGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIg
QEAKKzIwMTMtMDctMDkgIEFsYmVydG8gR2FyY2lhICA8YmVydG9AaWdhbGlhLmNvbT4KKworICAg
ICAgICBbV0syXVtHVEtdIEFTU0VSVElPTiBpbiBXZWJLaXQ6OkxheWVyVHJlZUhvc3RHdGs6Omlu
dmFsaWRhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTExNzczMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IElmIHRoZSBHTCBjb250ZXh0IGNhbm5vdCBiZSBjcmVhdGVkIHRoZW4gYW4gaW52YWxpZAorICAg
ICAgICBMYXllclRyZWVIb3N0R3RrIG9iamVjdCB3aWxsIGJlIHJldHVybmVkLgorCisgICAgICAg
IFRoaXMgcGF0Y2ggZGlzYWJsZXMgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgaWYgdGhlIHN5c3Rl
bSBkb2Vzbid0CisgICAgICAgIHN1cHBvcnQgaXQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRXZWJWaWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdFdlYlZpZXdVcGRhdGVTZXR0
aW5ncyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3Bw
OgorICAgICAgICAod2Via2l0V2ViVmlld0Jhc2VIYXNSZWRpcmVjdGVkV2luZG93KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZVByaXZhdGUuaDoKKwogMjAx
My0wNy0wNSAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbd2syXSBBZGQgQVBJIHRvIGxvY2sgdGhlIHNjcm9sbCBwb3NpdGlvbiBhdCB0aGUgdG9wIG9y
IGJvdHRvbSBvZiB0aGUgcGFnZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRXZWJWaWV3LmNwcAppbmRleCAyOTQ5NzA5Li4zMGUxOWY1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcApAQCAt
NDcsNiArNDcsNyBAQAogI2luY2x1ZGUgIldlYktpdFByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJL
aXRSZXNwb25zZVBvbGljeURlY2lzaW9uLmgiCiAjaW5jbHVkZSAiV2ViS2l0U2NyaXB0RGlhbG9n
UHJpdmF0ZS5oIgorI2luY2x1ZGUgIldlYktpdFNldHRpbmdzUHJpdmF0ZS5oIgogI2luY2x1ZGUg
IldlYktpdFVJQ2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViS2l0VVJJUmVxdWVzdFByaXZhdGUuaCIK
ICNpbmNsdWRlICJXZWJLaXRVUklSZXNwb25zZVByaXZhdGUuaCIKQEAgLTM3Niw2ICszNzcsMTEg
QEAgc3RhdGljIHZvaWQgd2Via2l0V2ViVmlld1VwZGF0ZVNldHRpbmdzKFdlYktpdFdlYlZpZXcq
IHdlYlZpZXcpCiAgICAgcGFnZS0+c2V0Q2FuUnVuTW9kYWwod2Via2l0X3NldHRpbmdzX2dldF9h
bGxvd19tb2RhbF9kaWFsb2dzKHNldHRpbmdzKSk7CiAgICAgcGFnZS0+c2V0Q3VzdG9tVXNlckFn
ZW50KFN0cmluZzo6ZnJvbVVURjgod2Via2l0X3NldHRpbmdzX2dldF91c2VyX2FnZW50KHNldHRp
bmdzKSkpOwogCisjaWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKQorICAgIGlmICghd2Via2l0V2Vi
Vmlld0Jhc2VIYXNSZWRpcmVjdGVkV2luZG93KFdFQktJVF9XRUJfVklFV19CQVNFKHdlYlZpZXcp
KSkKKyAgICAgICAgd2Via2l0U2V0dGluZ3NHZXRQcmVmZXJlbmNlcyhzZXR0aW5ncyktPnNldEFj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKGZhbHNlKTsKKyNlbmRpZgorCiAgICAgZ19zaWdu
YWxfY29ubmVjdChzZXR0aW5ncywgIm5vdGlmeTo6YWxsb3ctbW9kYWwtZGlhbG9ncyIsIEdfQ0FM
TEJBQ0soYWxsb3dNb2RhbERpYWxvZ3NDaGFuZ2VkKSwgd2ViVmlldyk7CiAgICAgZ19zaWduYWxf
Y29ubmVjdChzZXR0aW5ncywgIm5vdGlmeTo6em9vbS10ZXh0LW9ubHkiLCBHX0NBTExCQUNLKHpv
b21UZXh0T25seUNoYW5nZWQpLCB3ZWJWaWV3KTsKICAgICBnX3NpZ25hbF9jb25uZWN0KHNldHRp
bmdzLCAibm90aWZ5Ojp1c2VyLWFnZW50IiwgR19DQUxMQkFDSyh1c2VyQWdlbnRDaGFuZ2VkKSwg
d2ViVmlldyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRXZWJWaWV3QmFzZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRXZWJWaWV3QmFzZS5jcHAKaW5kZXggNjdkZDNlMS4uMDdjMzMxOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNw
cApAQCAtMTA0MCw2ICsxMDQwLDExIEBAIHZvaWQgcmVkaXJlY3RlZFdpbmRvd0RhbWFnZWRDYWxs
YmFjayh2b2lkKiBkYXRhKQogewogICAgIGd0a193aWRnZXRfcXVldWVfZHJhdyhHVEtfV0lER0VU
KGRhdGEpKTsKIH0KKworYm9vbCB3ZWJraXRXZWJWaWV3QmFzZUhhc1JlZGlyZWN0ZWRXaW5kb3co
V2ViS2l0V2ViVmlld0Jhc2UqIHdlYmtpdFdlYlZpZXdCYXNlKQoreworICAgIHJldHVybiB3ZWJr
aXRXZWJWaWV3QmFzZS0+cHJpdi0+cmVkaXJlY3RlZFdpbmRvdzsKK30KICNlbmRpZgogCiB2b2lk
IHdlYmtpdFdlYlZpZXdCYXNlU2V0Rm9jdXMoV2ViS2l0V2ViVmlld0Jhc2UqIHdlYlZpZXdCYXNl
LCBib29sIGZvY3VzZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRXZWJWaWV3QmFzZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZS5oCmluZGV4IGUzMGZkOTQuLjk0NDg0
MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdl
YlZpZXdCYXNlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZS5oCkBAIC01NCw2ICs1NCw3IEBAIHZvaWQgd2Via2l0
V2ViVmlld0Jhc2VVcGRhdGVUZXh0SW5wdXRTdGF0ZShXZWJLaXRXZWJWaWV3QmFzZSopOwogCiAj
aWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKQogdm9pZCB3ZWJraXRXZWJWaWV3QmFzZVF1ZXVlRHJh
d09mQWNjZWxlcmF0ZWRDb21wb3NpdGluZ1Jlc3VsdHMoV2ViS2l0V2ViVmlld0Jhc2UqKTsKK2Jv
b2wgd2Via2l0V2ViVmlld0Jhc2VIYXNSZWRpcmVjdGVkV2luZG93KFdlYktpdFdlYlZpZXdCYXNl
Kik7CiAjZW5kaWYKIAogdm9pZCB3ZWJraXRXZWJWaWV3QmFzZVNldEZvY3VzKFdlYktpdFdlYlZp
ZXdCYXNlKiwgYm9vbCBmb2N1c2VkKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>210362</attachid>
            <date>2013-09-03 05:53:56 -0700</date>
            <delta_ts>2013-09-04 13:22:02 -0700</delta_ts>
            <desc>Patch using WebKitWebViewBase</desc>
            <filename>117733.diff</filename>
            <type>text/plain</type>
            <size>4441</size>
            <attacher name="Alberto Garcia">berto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBhMGZmMDFkLi5iYTk1MTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMg
QEAKKzIwMTMtMDktMDMgIEFsYmVydG8gR2FyY2lhICA8YmVydG9AaWdhbGlhLmNvbT4KKworICAg
ICAgICBbV0syXVtHVEtdIEFTU0VSVElPTiBpbiBXZWJLaXQ6OkxheWVyVHJlZUhvc3RHdGs6Omlu
dmFsaWRhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTExNzczMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IElmIHRoZSBHTCBjb250ZXh0IGNhbm5vdCBiZSBjcmVhdGVkIHRoZW4gYW4gaW52YWxpZAorICAg
ICAgICBMYXllclRyZWVIb3N0R3RrIG9iamVjdCB3aWxsIGJlIHJldHVybmVkLgorCisgICAgICAg
IFRoaXMgcGF0Y2ggZGlzYWJsZXMgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgaWYgdGhlIHN5c3Rl
bSBkb2Vzbid0CisgICAgICAgIHN1cHBvcnQgaXQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRXZWJWaWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdFdlYlZpZXdVcGRhdGVTZXR0
aW5ncyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3Bw
OgorICAgICAgICAod2Via2l0V2ViVmlld0Jhc2VVcGRhdGVQcmVmZXJlbmNlcyk6CisgICAgICAg
ICh3ZWJraXRXZWJWaWV3QmFzZUNyZWF0ZVdlYlBhZ2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZS5oOgorCiAyMDEzLTA5LTAyICBEYXJpbiBB
ZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBDdXQgZG93biBvbiBkb3VibGUgaGFz
aGluZyBhbmQgY29kZSBuZWVkbGVzc2x5IHVzaW5nIGhhc2ggdGFibGUgaXRlcmF0b3JzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCmlu
ZGV4IDcyZmU2NmEuLmRkNWU4ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCkBAIC0zNzksNiArMzc5LDggQEAgc3RhdGljIHZv
aWQgd2Via2l0V2ViVmlld1VwZGF0ZVNldHRpbmdzKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiAg
ICAgcGFnZS0+c2V0Q2FuUnVuTW9kYWwod2Via2l0X3NldHRpbmdzX2dldF9hbGxvd19tb2RhbF9k
aWFsb2dzKHNldHRpbmdzKSk7CiAgICAgcGFnZS0+c2V0Q3VzdG9tVXNlckFnZW50KFN0cmluZzo6
ZnJvbVVURjgod2Via2l0X3NldHRpbmdzX2dldF91c2VyX2FnZW50KHNldHRpbmdzKSkpOwogCisg
ICAgd2Via2l0V2ViVmlld0Jhc2VVcGRhdGVQcmVmZXJlbmNlcyhXRUJLSVRfV0VCX1ZJRVdfQkFT
RSh3ZWJWaWV3KSk7CisKICAgICBnX3NpZ25hbF9jb25uZWN0KHNldHRpbmdzLCAibm90aWZ5Ojph
bGxvdy1tb2RhbC1kaWFsb2dzIiwgR19DQUxMQkFDSyhhbGxvd01vZGFsRGlhbG9nc0NoYW5nZWQp
LCB3ZWJWaWV3KTsKICAgICBnX3NpZ25hbF9jb25uZWN0KHNldHRpbmdzLCAibm90aWZ5Ojp6b29t
LXRleHQtb25seSIsIEdfQ0FMTEJBQ0soem9vbVRleHRPbmx5Q2hhbmdlZCksIHdlYlZpZXcpOwog
ICAgIGdfc2lnbmFsX2Nvbm5lY3Qoc2V0dGluZ3MsICJub3RpZnk6OnVzZXItYWdlbnQiLCBHX0NB
TExCQUNLKHVzZXJBZ2VudENoYW5nZWQpLCB3ZWJWaWV3KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcAppbmRleCAwODcz
MzFiLi5iZGM4ZDVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCkBAIC00MCw3ICs0MCw5IEBACiAjaW5jbHVkZSAi
V2ViS2l0UHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdFdlYlZpZXdCYXNlQWNjZXNzaWJsZS5o
IgogI2luY2x1ZGUgIldlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZS5oIgorI2luY2x1ZGUgIldlYlBh
Z2VHcm91cC5oIgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgorI2luY2x1ZGUgIldlYlByZWZl
cmVuY2VzLmgiCiAjaW5jbHVkZSAiV2ViVmlld0Jhc2VJbnB1dE1ldGhvZEZpbHRlci5oIgogI2lu
Y2x1ZGUgPFdlYkNvcmUvQ2xpcGJvYXJkVXRpbGl0aWVzR3RrLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9EYXRhT2JqZWN0R3RrLmg+CkBAIC04OTIsNiArODk0LDE2IEBAIFdlYlBhZ2VQcm94eSogd2Vi
a2l0V2ViVmlld0Jhc2VHZXRQYWdlKFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJraXRXZWJWaWV3QmFz
ZSkKICAgICByZXR1cm4gd2Via2l0V2ViVmlld0Jhc2UtPnByaXYtPnBhZ2VQcm94eS5nZXQoKTsK
IH0KIAordm9pZCB3ZWJraXRXZWJWaWV3QmFzZVVwZGF0ZVByZWZlcmVuY2VzKFdlYktpdFdlYlZp
ZXdCYXNlKiB3ZWJraXRXZWJWaWV3QmFzZSkKK3sKKyNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wp
CisgICAgV2ViS2l0V2ViVmlld0Jhc2VQcml2YXRlKiBwcml2ID0gd2Via2l0V2ViVmlld0Jhc2Ut
PnByaXY7CisKKyAgICBpZiAoIXByaXYtPnJlZGlyZWN0ZWRXaW5kb3cpCisgICAgICAgIHByaXYt
PnBhZ2VQcm94eS0+cGFnZUdyb3VwKCktPnByZWZlcmVuY2VzKCktPnNldEFjY2VsZXJhdGVkQ29t
cG9zaXRpbmdFbmFibGVkKGZhbHNlKTsKKyNlbmRpZgorfQorCiB2b2lkIHdlYmtpdFdlYlZpZXdC
YXNlQ3JlYXRlV2ViUGFnZShXZWJLaXRXZWJWaWV3QmFzZSogd2Via2l0V2ViVmlld0Jhc2UsIFdl
YkNvbnRleHQqIGNvbnRleHQsIFdlYlBhZ2VHcm91cCogcGFnZUdyb3VwKQogewogICAgIFdlYktp
dFdlYlZpZXdCYXNlUHJpdmF0ZSogcHJpdiA9IHdlYmtpdFdlYlZpZXdCYXNlLT5wcml2OwpAQCAt
OTA4LDYgKzkyMCw4IEBAIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VDcmVhdGVXZWJQYWdlKFdlYktp
dFdlYlZpZXdCYXNlKiB3ZWJraXRXZWJWaWV3QmFzZSwgV2ViQ29uCiAgICAgICAgIHByaXYtPnBh
Z2VQcm94eS0+c2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ1dpbmRvd0lkKHByaXYtPnJlZGlyZWN0
ZWRXaW5kb3ctPndpbmRvd0lkKCkpOwogI2VuZGlmCiAKKyAgICB3ZWJraXRXZWJWaWV3QmFzZVVw
ZGF0ZVByZWZlcmVuY2VzKHdlYmtpdFdlYlZpZXdCYXNlKTsKKwogICAgIC8vIFRoaXMgbXVzdCBo
YXBwZW4gaGVyZSBpbnN0ZWFkIG9mIHRoZSBpbnN0YW5jZSBpbml0aWFsaXplciwgYmVjYXVzZSB0
aGUgaW5wdXQgbWV0aG9kCiAgICAgLy8gZmlsdGVyIG11c3QgaGF2ZSBhY2Nlc3MgdG8gdGhlIHBh
Z2UuCiAgICAgcHJpdi0+aW5wdXRNZXRob2RGaWx0ZXIuc2V0V2ViVmlldyh3ZWJraXRXZWJWaWV3
QmFzZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRXZWJWaWV3QmFzZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZS5oCmluZGV4IGUzMGZkOTQuLmY5YjhiZmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNl
UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdl
YlZpZXdCYXNlUHJpdmF0ZS5oCkBAIC01MSw2ICs1MSw3IEBAIFdlYktpdDo6V2ViQ29udGV4dE1l
bnVQcm94eUd0ayogd2Via2l0V2ViVmlld0Jhc2VHZXRBY3RpdmVDb250ZXh0TWVudVByb3h5KFdl
YktpCiBHZGtFdmVudCogd2Via2l0V2ViVmlld0Jhc2VUYWtlQ29udGV4dE1lbnVFdmVudChXZWJL
aXRXZWJWaWV3QmFzZSopOwogdm9pZCB3ZWJraXRXZWJWaWV3QmFzZVNldElucHV0TWV0aG9kU3Rh
dGUoV2ViS2l0V2ViVmlld0Jhc2UqLCBib29sIGVuYWJsZWQpOwogdm9pZCB3ZWJraXRXZWJWaWV3
QmFzZVVwZGF0ZVRleHRJbnB1dFN0YXRlKFdlYktpdFdlYlZpZXdCYXNlKik7Cit2b2lkIHdlYmtp
dFdlYlZpZXdCYXNlVXBkYXRlUHJlZmVyZW5jZXMoV2ViS2l0V2ViVmlld0Jhc2UqKTsKIAogI2lm
IFVTRShURVhUVVJFX01BUFBFUl9HTCkKIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VRdWV1ZURyYXdP
ZkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdSZXN1bHRzKFdlYktpdFdlYlZpZXdCYXNlKik7Cg==
</data>
<flag name="review"
          id="232460"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>