<?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>84953</bug_id>
          
          <creation_ts>2012-04-26 06:54:11 -0700</creation_ts>
          <short_desc>[Qt][WK2] QtWebKit2 doesn&apos;t have an API for getting a page source</short_desc>
          <delta_ts>2014-02-03 03:20:41 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jesus Sanchez-Palencia">jesus</reporter>
          <assigned_to name="Jesus Sanchez-Palencia">jesus</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>hausmann</cc>
    
    <cc>hugo.lima</cc>
    
    <cc>joel.parks</cc>
    
    <cc>kenneth</cc>
    
    <cc>menard</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zalan</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>610554</commentid>
    <comment_count>0</comment_count>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-04-26 06:54:11 -0700</bug_when>
    <thetext>Currently there is no way to implement a &quot;View source&quot; feature using our API if one is developing a browser. I would like to propose an experimental synchronous API for it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610575</commentid>
    <comment_count>1</comment_count>
      <attachid>138996</attachid>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-04-26 07:06:40 -0700</bug_when>
    <thetext>Created attachment 138996
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610576</commentid>
    <comment_count>2</comment_count>
      <attachid>138996</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-04-26 07:09:42 -0700</bug_when>
    <thetext>Comment on attachment 138996
Patch

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

&gt; Source/WebKit2/UIProcess/API/qt/qquickwebpage_p.h:39
&gt; +    Q_PROPERTY(QString source READ source FINAL)

sourceText ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610577</commentid>
    <comment_count>3</comment_count>
      <attachid>138996</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-04-26 07:12:26 -0700</bug_when>
    <thetext>Comment on attachment 138996
Patch

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

&gt; Source/WebKit2/UIProcess/qt/WebPageProxyQt.cpp:120
&gt; +    process()-&gt;sendSync(Messages::WebPage::GetSourceForFrameSync(frame-&gt;frameID()), Messages::WebPage::GetSourceForFrameSync::Reply(source), m_pageID);

I thought we were trying to avoid sync calls from public API?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610703</commentid>
    <comment_count>4</comment_count>
    <who name="Hugo Parente Lima">hugo.lima</who>
    <bug_when>2012-04-26 10:17:20 -0700</bug_when>
    <thetext>&gt;&gt; Source/WebKit2/UIProcess/API/qt/qquickwebpage_p.h:39
&gt;&gt; +    Q_PROPERTY(QString source READ source FINAL)
&gt; 
&gt; sourceText ?

I would prefer &quot;sourceCode&quot;, the webpage &quot;source&quot; probably was the internet ;-P</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>611516</commentid>
    <comment_count>5</comment_count>
      <attachid>139208</attachid>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-04-27 08:21:36 -0700</bug_when>
    <thetext>Created attachment 139208
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>611565</commentid>
    <comment_count>6</comment_count>
      <attachid>139208</attachid>
    <who name="alan">zalan</who>
    <bug_when>2012-04-27 09:12:03 -0700</bug_when>
    <thetext>Comment on attachment 139208
Patch

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

It would be somewhat cleaner, if WebPage could deal with the view-source handling on the webprocess side. It would save the extra API + m_isInViewSourceMode etc, although I am sure there&apos;s tons of things that would break because of the double scheme. (speaking of which, wondering how QUrl deals with view-source:https://, but probably it&apos;s fine)
Sigh.

&gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:1246
&gt; +        bool inViewSourceMode = false;

I&apos;d simply do bool inViewSourceMode = url.scheme() == QString::fromAscii(&quot;view-source&quot;);

&gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:1256
&gt; +            d-&gt;m_isInViewSourceMode = inViewSourceMode;

This will fail when webprocess is crashed in viewsource mode and view-source::url is reloaded.

&gt; Source/WebKit2/UIProcess/WebPageProxy.h:649
&gt; +    void setViewInSourceMode(bool);

setViewSourceMode(bool on)? Though I am not good at naming.

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:3166
&gt; +    if (m_mainFrame &amp;&amp; m_mainFrame-&gt;coreFrame())

No need to check against m_mainframe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>611766</commentid>
    <comment_count>7</comment_count>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-04-27 12:03:09 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; It would be somewhat cleaner, if WebPage could deal with the view-source handling on the webprocess side. It would save the extra API + m_isInViewSourceMode etc, although I am sure there&apos;s tons of things that would break because of the double scheme. (speaking of which, wondering how QUrl deals with view-source:https://, but probably it&apos;s fine)
&gt; Sigh.

Yep, exactly. I thought about adding a bool parameter to loadURL instead, but since Messages don&apos;t handle default values for its parameters I would need to add a &quot;false&quot; parameter to the other ports where they send the loadURL message.

And QUrl is handling it pretty fine, by the way. :)

&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:1246
&gt; &gt; +        bool inViewSourceMode = false;
&gt; 
&gt; I&apos;d simply do bool inViewSourceMode = url.scheme() == QString::fromAscii(&quot;view-source&quot;);

D&apos;oh, yep. Done. :)

&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:1256
&gt; &gt; +            d-&gt;m_isInViewSourceMode = inViewSourceMode;
&gt; 
&gt; This will fail when webprocess is crashed in viewsource mode and view-source::url is reloaded.

Good point. I did this to avoid extra IPC calls but now that you spotted this it might be a bad idea.


Thanks for the review, I will upload a patch soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>611776</commentid>
    <comment_count>8</comment_count>
      <attachid>139246</attachid>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-04-27 12:26:31 -0700</bug_when>
    <thetext>Created attachment 139246
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>612421</commentid>
    <comment_count>9</comment_count>
      <attachid>139246</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-04-29 04:04:16 -0700</bug_when>
    <thetext>Comment on attachment 139246
Patch

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

&gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:166
&gt; +    , m_isInViewSourceMode(false)

isInSourceViewingMode ? :)

&gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:1246
&gt; +        // Make sure we have a well formed URL after we remove the scheme

Dot at end

&gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:1247
&gt; +        QUrl urlToLoad = d-&gt;m_isInViewSourceMode ? QUrl::fromUserInput(url.toString(QUrl::RemoveScheme)) : url;

Doesnt fromUserInput do more than you need?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614244</commentid>
    <comment_count>10</comment_count>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-05-02 06:41:36 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 139246 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=139246&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:166
&gt; &gt; +    , m_isInViewSourceMode(false)
&gt; 
&gt; isInSourceViewingMode ? :)

It follows what we currently have in WebCore/page/Frame.h . :)

&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:1246
&gt; &gt; +        // Make sure we have a well formed URL after we remove the scheme
&gt; 
&gt; Dot at end

Done. Patch coming.

&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:1247
&gt; &gt; +        QUrl urlToLoad = d-&gt;m_isInViewSourceMode ? QUrl::fromUserInput(url.toString(QUrl::RemoveScheme)) : url;
&gt; 
&gt; Doesnt fromUserInput do more than you need?

I don&apos;t think so. If the user type in &quot;view-source:http:/www.google.com&quot; we really want to remove the first scheme (&quot;view-source&quot;) and then treat everything else as a URL fromUserInput.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614259</commentid>
    <comment_count>11</comment_count>
      <attachid>139805</attachid>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-05-02 06:55:04 -0700</bug_when>
    <thetext>Created attachment 139805
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614264</commentid>
    <comment_count>12</comment_count>
      <attachid>139805</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-05-02 07:02:40 -0700</bug_when>
    <thetext>Comment on attachment 139805
Patch

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

&gt; Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h:197
&gt; +    bool m_isInViewSourceMode;

Nitpick : Can you move the bool with the other ones so all the bools are together (maybe one day we can pack all of them).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614275</commentid>
    <comment_count>13</comment_count>
      <attachid>139810</attachid>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-05-02 07:22:00 -0700</bug_when>
    <thetext>Created attachment 139810
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614286</commentid>
    <comment_count>14</comment_count>
      <attachid>139810</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-05-02 07:34:15 -0700</bug_when>
    <thetext>Comment on attachment 139810
Patch

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

&gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:1270
&gt; +        QUrl urlToLoad = d-&gt;m_isInViewSourceMode ? QUrl::fromUserInput(url.toString(QUrl::RemoveScheme)) : url;

The application (say MiniBrowser) should enforce valid urls, not us. You should just strip it here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614404</commentid>
    <comment_count>15</comment_count>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-05-02 10:29:37 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 139810 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=139810&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:1270
&gt; &gt; +        QUrl urlToLoad = d-&gt;m_isInViewSourceMode ? QUrl::fromUserInput(url.toString(QUrl::RemoveScheme)) : url;
&gt; 
&gt; The application (say MiniBrowser) should enforce valid urls, not us. You should just strip it here.

Yes, we all agree on that and the applications are usually doing it. Let me just elaborate a bit more. WE have decided that this API would be implemented through &quot;view-source&quot;. Now we need to decide how to support it.

When we get the URL in QQuickWebView::setUrl it should have been through QUrl::fromUserInput from the application already, the problem is that the way &quot;view-source:&quot; is evaluated by QUrl. It is considered a valid URL (i.e. isValid() returns true) but it&apos;s not &quot;handled&quot;.

What do I mean by &quot;handled&quot;? Let&apos;s refer to 4 use-cases:

1) User types in &quot;www.foo.com&quot;
- isValid returns true, no matter we use QUrl ctor or ::fromUserInput()
- QUrl::fromUserInput will add http:// to it and return QUrl(&quot;http://www.foo.com&quot;)

2) User types in &quot;http:www.foo.com&quot;
- isValid returns false, no matter we use QUrl ctor or ::fromUserInput()
- QUrl::fromUserInput will do nothing and return QUrl(&quot;&quot;)

3) User types in &quot;view-source:www.foo.com&quot;
- isValid returns true, no matter we use QUrl ctor or ::fromUserInput()
- QUrl::fromUserInput will do nothing and return QUrl(&quot;view-source:www.foo.com&quot;)

4) User types in &quot;view-source:http://www.foo.com&quot;
- isValid returns true, no matter we use QUrl ctor or ::fromUserInput()
- QUrl::fromUserInput will do nothing and return QUrl(&quot;view-source:http://www.foo.com&quot;)


In other words, if we just strip the URL we will only support fully typed urls (i.e. &quot;view-source:http://www.foo.com&quot;, or use case #4) and won&apos;t support the ones without scheme typed in (i.e. &quot;view-source:www.foo.com&quot;, or use case #3). Chromium, for instance, supports both cases.

If we only want to support #4, then stripping it only will be fine.
If we want to support #3 as well, then we need to strip it (remove view-source:) and afterwards let QUrl &quot;handle&quot; whatever is left so it adds http/https/ftp/foobar...

I don&apos;t believe this should be fixed in QUrl because it will then fallback to the discussion about whether #2 should work or not.

What do you guys think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615121</commentid>
    <comment_count>16</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-05-03 02:47:27 -0700</bug_when>
    <thetext>&gt; Yes, we all agree on that and the applications are usually doing it. Let me just elaborate a bit more. WE have decided that this API would be implemented through &quot;view-source&quot;. Now we need to decide how to support it.
&gt; 
&gt; When we get the URL in QQuickWebView::setUrl it should have been through QUrl::fromUserInput from the application already, the problem is that the way &quot;view-source:&quot; is evaluated by QUrl. It is considered a valid URL (i.e. isValid() returns true) but it&apos;s not &quot;handled&quot;.
&gt; 
&gt; What do I mean by &quot;handled&quot;? Let&apos;s refer to 4 use-cases:
&gt; 
&gt; 1) User types in &quot;www.foo.com&quot;
&gt; - isValid returns true, no matter we use QUrl ctor or ::fromUserInput()
&gt; - QUrl::fromUserInput will add http:// to it and return QUrl(&quot;http://www.foo.com&quot;)
&gt; 
&gt; 2) User types in &quot;http:www.foo.com&quot;
&gt; - isValid returns false, no matter we use QUrl ctor or ::fromUserInput()
&gt; - QUrl::fromUserInput will do nothing and return QUrl(&quot;&quot;)
&gt; 
&gt; 3) User types in &quot;view-source:www.foo.com&quot;
&gt; - isValid returns true, no matter we use QUrl ctor or ::fromUserInput()
&gt; - QUrl::fromUserInput will do nothing and return QUrl(&quot;view-source:www.foo.com&quot;)
&gt; 
&gt; 4) User types in &quot;view-source:http://www.foo.com&quot;
&gt; - isValid returns true, no matter we use QUrl ctor or ::fromUserInput()
&gt; - QUrl::fromUserInput will do nothing and return QUrl(&quot;view-source:http://www.foo.com&quot;)
&gt; 
&gt; 
&gt; In other words, if we just strip the URL we will only support fully typed urls (i.e. &quot;view-source:http://www.foo.com&quot;, or use case #4) and won&apos;t support the ones without scheme typed in (i.e. &quot;view-source:www.foo.com&quot;, or use case #3). Chromium, for instance, supports both cases.

The browser (say MiniBrowser) should do this.

QString userScheme;

if (urlString.startsWith(QLatin1String(&quot;view-source:&quot;))) {
    userScheme = QLatin1String(&quot;view-source:&quot;);
    urlString.remove(0, 12);
}

QUrl url = ::fromUserInput(urlString);
url ...


The more I look at this, it makes more sense to add this to the browser and add a experimental.sourceViewingMode: true

&gt; If we only want to support #4, then stripping it only will be fine.
&gt; If we want to support #3 as well, then we need to strip it (remove view-source:) and afterwards let QUrl &quot;handle&quot; whatever is left so it adds http/https/ftp/foobar...
&gt; 
&gt; I don&apos;t believe this should be fixed in QUrl because it will then fallback to the discussion about whether #2 should work or not.
&gt; 
&gt; What do you guys think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615202</commentid>
    <comment_count>17</comment_count>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-05-03 05:42:24 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; The browser (say MiniBrowser) should do this.
&gt; 
&gt; QString userScheme;
&gt; 
&gt; if (urlString.startsWith(QLatin1String(&quot;view-source:&quot;))) {
&gt;     userScheme = QLatin1String(&quot;view-source:&quot;);
&gt;     urlString.remove(0, 12);
&gt; }
&gt; 
&gt; QUrl url = ::fromUserInput(urlString);
&gt; url ...
&gt; 
&gt; 
&gt; The more I look at this, it makes more sense to add this to the browser and add a experimental.sourceViewingMode: true

Well, then these change the entire conversation we had on IRC about our WebView supporting &quot;view-source:&quot; out of the box. I will upload a new patch when we have reached a final decision here. Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615597</commentid>
    <comment_count>18</comment_count>
      <attachid>140088</attachid>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-05-03 14:04:05 -0700</bug_when>
    <thetext>Created attachment 140088
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615614</commentid>
    <comment_count>19</comment_count>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-05-03 14:13:15 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; The browser (say MiniBrowser) should do this.
&gt; 
&gt; QString userScheme;
&gt; 
&gt; if (urlString.startsWith(QLatin1String(&quot;view-source:&quot;))) {
&gt;     userScheme = QLatin1String(&quot;view-source:&quot;);
&gt;     urlString.remove(0, 12);
&gt; }
&gt; 
&gt; QUrl url = ::fromUserInput(urlString);
&gt; url ...

Ok, we agree on this. The browser should clean and fix the URL, even after the view-source:.

&gt; The more I look at this, it makes more sense to add this to the browser and add a experimental.sourceViewingMode: true

We disagree on this. :)

Me and Caio had a good chat about this and we still think the WebView should support &quot;view-source:&quot; instead of yet another experimental API being set/unset.

I believe the latest patch is a clean solution covering all the cases on MiniBrowser.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615622</commentid>
    <comment_count>20</comment_count>
      <attachid>140088</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-05-03 14:21:53 -0700</bug_when>
    <thetext>Comment on attachment 140088
Patch

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

&gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:1324
&gt; +    WTF::String url = d-&gt;m_isInViewSourceMode ? &quot;view-source:&quot; + mainFrame-&gt;url() : mainFrame-&gt;url();

what about?
StringBuilder url;
if (d-&gt;m_isInViewSourceMode)
   url.append(&quot;view-source:&quot;);
url.append(mainFrame-&gt;url());
return QUrl(url.toString());

&gt; Tools/MiniBrowser/qt/utils.cpp:99
&gt; +        // Make sure we have a well formed URL after the view-source scheme.

Give an example (e.g. view-source:www.google.com)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615626</commentid>
    <comment_count>21</comment_count>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-05-03 14:26:56 -0700</bug_when>
    <thetext>(In reply to comment #20)

Thanks for the review.

&gt; what about?
&gt; StringBuilder url;
&gt; if (d-&gt;m_isInViewSourceMode)
&gt;    url.append(&quot;view-source:&quot;);
&gt; url.append(mainFrame-&gt;url());
&gt; return QUrl(url.toString());

Cool! I can fix it before landing.

&gt; 
&gt; &gt; Tools/MiniBrowser/qt/utils.cpp:99
&gt; &gt; +        // Make sure we have a well formed URL after the view-source scheme.
&gt; 
&gt; Give an example (e.g. view-source:www.google.com)

Yep. I thought it was clear enough after all the discussion on the bug but I agree it needs a more explicit comment. I can also fix it before landing (something like &quot;(...) QUrl::fromUserInput doesn&apos;t sanitize urls starting with view-source:&quot;).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615629</commentid>
    <comment_count>22</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-05-03 14:28:47 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; (In reply to comment #20)
&gt; 
&gt; Thanks for the review.
&gt; 
&gt; &gt; what about?
&gt; &gt; StringBuilder url;
&gt; &gt; if (d-&gt;m_isInViewSourceMode)
&gt; &gt;    url.append(&quot;view-source:&quot;);
&gt; &gt; url.append(mainFrame-&gt;url());
&gt; &gt; return QUrl(url.toString());
&gt; 
&gt; Cool! I can fix it before landing.
&gt; 
&gt; &gt; 
&gt; &gt; &gt; Tools/MiniBrowser/qt/utils.cpp:99
&gt; &gt; &gt; +        // Make sure we have a well formed URL after the view-source scheme.
&gt; &gt; 
&gt; &gt; Give an example (e.g. view-source:www.google.com)
&gt; 
&gt; Yep. I thought it was clear enough after all the discussion on the bug but I agree it needs a more explicit comment. I can also fix it before landing (something like &quot;(...) QUrl::fromUserInput doesn&apos;t sanitize urls starting with view-source:&quot;).

In the code it&apos;s always better than in the bug tracking system, when people refactor they don&apos;t open the bugzilla and read the history of the bug :).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615743</commentid>
    <comment_count>23</comment_count>
      <attachid>140088</attachid>
    <who name="Rafael Brandao">rafael.lobo</who>
    <bug_when>2012-05-03 16:03:19 -0700</bug_when>
    <thetext>Comment on attachment 140088
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:1324
&gt;&gt; +    WTF::String url = d-&gt;m_isInViewSourceMode ? &quot;view-source:&quot; + mainFrame-&gt;url() : mainFrame-&gt;url();
&gt; 
&gt; what about?
&gt; StringBuilder url;
&gt; if (d-&gt;m_isInViewSourceMode)
&gt;    url.append(&quot;view-source:&quot;);
&gt; url.append(mainFrame-&gt;url());
&gt; return QUrl(url.toString());

Should &quot;view-source&quot; be declared static as well?

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:3164
&gt; +    m_mainFrame-&gt;coreFrame()-&gt;setInViewSourceMode(viewInSourceMode);

Is it possible that m_mainFrame or m_mainFrame-&gt;coreFrame() get derefered? If so, you should add null checks (or asserts).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615978</commentid>
    <comment_count>24</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2012-05-03 23:08:31 -0700</bug_when>
    <thetext>&gt; &gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:3164
&gt; &gt; +    m_mainFrame-&gt;coreFrame()-&gt;setInViewSourceMode(viewInSourceMode);
&gt; 
&gt; Is it possible that m_mainFrame or m_mainFrame-&gt;coreFrame() get derefered? If so, you should add null checks (or asserts).

m_mainFrame can&apos;t, but m_mainFrame-&gt;coreFrame() can get NULL. Check against only m_mainframe-&gt;coreFrame(). (assert is unnecessary here as having null coreframe is normal behavior)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616092</commentid>
    <comment_count>25</comment_count>
      <attachid>140193</attachid>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-05-04 05:15:31 -0700</bug_when>
    <thetext>Created attachment 140193
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616119</commentid>
    <comment_count>26</comment_count>
      <attachid>140193</attachid>
    <who name="alan">zalan</who>
    <bug_when>2012-05-04 06:04:42 -0700</bug_when>
    <thetext>Comment on attachment 140193
Patch

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

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:3774
&gt; +    process()-&gt;send(Messages::WebPage::SetViewInSourceMode(viewInSourceMode), m_pageID, 0);

Having the webprocess crashed at this point creates an interesting mismatch. If we put if (!isValid()) return; then webview and urlbar is in viewsource mode, while the reattached webprocess (the following load() ensures that) is in non-viewsource mode and there&apos;s the mismatch. OTOH, reattaching the webprocess in this setter function might look excessive. 
Since putting the webprocess in viewsource mode always followed by a load, it might make sense to combine these 2 into one function, something like loadURLWithViewSourceMode(url, viewsourceOn); and then do if (!isValid()) reattachToWebProcess(); but that&apos;s yet another load*() and I think we already have enough of them...or the WebPageProxy::load*() signatures could be extended to include the viewsource option, but that&apos;s not really desirable either.
Most likely putting the reattach() with proper commenting is the least worst option, unless someone comes up with something better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616432</commentid>
    <comment_count>27</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-05-04 11:00:36 -0700</bug_when>
    <thetext>I&apos;m also a bit sceptical about this. In view-source mode links are clickable, but who resets the mode on the Frame then? (and there are no tests that verify this)

In a browser I think the &quot;source view&quot; is always a separate tab/window that can only be closed by the user - from a WebKit POV it feels immutable. Any links clicked on are probably meant to be opened in a new tab.

I&apos;m not 100% sure this is the right interface, also because it adds complexity to the url property.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617520</commentid>
    <comment_count>28</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-05-07 04:38:53 -0700</bug_when>
    <thetext>(In reply to comment #27)
&gt; I&apos;m also a bit sceptical about this. In view-source mode links are clickable, but who resets the mode on the Frame then? (and there are no tests that verify this)
&gt; 
&gt; In a browser I think the &quot;source view&quot; is always a separate tab/window that can only be closed by the user - from a WebKit POV it feels immutable. Any links clicked on are probably meant to be opened in a new tab.

Which is the behavior of Chromium, every time you click on a link in the source it opens in a new tab.

&gt; 
&gt; I&apos;m not 100% sure this is the right interface, also because it adds complexity to the url property.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617809</commentid>
    <comment_count>29</comment_count>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-05-07 12:09:29 -0700</bug_when>
    <thetext>(In reply to comment #27)
&gt; I&apos;m not 100% sure this is the right interface, also because it adds complexity to the url property.

I&apos;ve tried to come up with something else, Simon, but none of the previous ideas convinced me so far. Any suggestions here?

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639971</commentid>
    <comment_count>30</comment_count>
      <attachid>140193</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-06-01 23:52:19 -0700</bug_when>
    <thetext>Comment on attachment 140193
Patch

I&apos;m taking this out of the review queue. The discussion on the mailing list was not very conclusive, but I think we can safely say that adding extra state/logic in QQuickWebView is not desirable compared to having the logic on the webcore side.

Where does Chromium deal with this situation and how would their approach map to ours?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>975442</commentid>
    <comment_count>31</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2014-02-03 03:20:41 -0800</bug_when>
    <thetext>=== Bulk closing of Qt bugs ===

If you believe that this bug report is still relevant for a non-Qt port of webkit.org, please re-open it and remove [Qt] from the summary.

If you believe that this is still an important QtWebKit bug, please fill a new report at https://bugreports.qt-project.org and add a link to this issue. See http://qt-project.org/wiki/ReportingBugsInQt for additional guidelines.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138996</attachid>
            <date>2012-04-26 07:06:40 -0700</date>
            <delta_ts>2012-04-27 08:21:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84953-20120426110600.patch</filename>
            <type>text/plain</type>
            <size>6804</size>
            <attacher name="Jesus Sanchez-Palencia">jesus</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1MzA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMzVjZDdiZTU5NGE3Mzk5
N2Y3ODIxNzQ0YTc3NzhhMzg5ZTllOTBkYy4uNjA1MjIyNmQ4MmE0NDcyYTA4OWNlYmY5ZTM0NDI2
YWVhMWRiM2Q5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTA0LTI2ICBKZXN1
cyBTYW5jaGV6LVBhbGVuY2lhICA8amVzdXMucGFsZW5jaWFAb3BlbmJvc3NhLm9yZz4KKworICAg
ICAgICBbUXRdW1dLMl0gUXRXZWJLaXQyIGRvZXNuJ3QgaGF2ZSBhbiBBUEkgZm9yIGdldHRpbmcg
YSBwYWdlIHNvdXJjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODQ5NTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGlzIHBhdGNoIGFkZHMgYSBzb3VyY2UgcHJvcGVydHkgdG8gUVF1aWNrV2ViUGFnZSBh
cyBhbiBleHBlcmltZW50YWwKKyAgICAgICAgQVBJIHNvIG9uZSBjYW4gZ2V0IGEgcGFnZSBzb3Vy
Y2UgYXMgYSBRU3RyaW5nLiBJdCB3YXMgaW1wbGVtZW50ZWQgYnkKKyAgICAgICAgYWRkaW5nIGEg
c3luY2hyb25vdXMgbWVzc2FnZSBiZXR3ZWVuIFdlYlBhZ2UgYW5kIFdlYlBhZ2VQcm94eSwgc2lu
Y2UKKyAgICAgICAgdGhlIGF2YWlsYWJsZSBhc3luY2hyb25vdXMgb25lIHdpdGggdGhlIHN0YXRp
YyBjYWxsYmFjayBkaWRuJ3QgZml0CisgICAgICAgIG91ciBBUEkgZGVzaWduLgorCisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJwYWdlLmNwcDoKKyAgICAgICAgKFFRdWlja1dl
YlBhZ2U6OnNvdXJjZSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJwYWdl
X3AuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgIChXZWJQ
YWdlUHJveHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9XZWJQYWdlUHJveHlRdC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Z2V0U291cmNlRm9yRnJhbWUpOgorICAgICAg
ICAoV2ViS2l0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAg
ICAgICAoV2ViUGFnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVz
c2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L1dlYlBhZ2VRdC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmdldFNvdXJjZUZvckZyYW1lU3luYyk6CisgICAg
ICAgIChXZWJLaXQpOgorCiAyMDEyLTA0LTI2ICBBbGV4YW5kZXIgRsOmcsO4eSAgPGFoZkAweDkw
LmRrPgogCiAgICAgICAgIFtRdF0gcjExNTMwMCBicm9rZSB0aGUgUXQgYnVpbGQgb24gTWFjIE9T
IFguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dl
YnBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJwYWdl
LmNwcAppbmRleCAyMDNjNzJiN2UwZjNkN2IwOWQ3NDRkMTEzNjExZGVhMGFkNjg1NzdmLi45Njg0
ZGMzMTQ4OGE4NzFkY2YzYWY1NDk2NjUxODJiOTNiNzI2ZDc2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBhZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2VicGFnZS5jcHAKQEAgLTE1NSw0ICsxNTUs
OSBAQCBRUXVpY2tXZWJQYWdlUHJpdmF0ZTo6flFRdWlja1dlYlBhZ2VQcml2YXRlKCkKIHsKIH0K
IAorUVN0cmluZyBRUXVpY2tXZWJQYWdlOjpzb3VyY2UoKSBjb25zdAoreworICAgIHJldHVybiBR
U3RyaW5nKGQtPndlYlBhZ2VQcm94eS0+Z2V0U291cmNlRm9yRnJhbWUoZC0+d2ViUGFnZVByb3h5
LT5tYWluRnJhbWUoKSkpOworfQorCiAjaW5jbHVkZSAibW9jX3FxdWlja3dlYnBhZ2VfcC5jcHAi
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBh
Z2VfcC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJwYWdlX3Au
aAppbmRleCAzYTExMmQ2MmIzZTlkY2MxZDk1MzkwMzlmNWMyMTVmMWNiN2NmOWNkLi5lMWNkYzlk
ODFhNzg3YzE0ODU5OGQwYWYzNWQ5YWZlODg4NGZlOTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBhZ2VfcC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2VicGFnZV9wLmgKQEAgLTM2LDYgKzM2LDcgQEAg
Y2xhc3MgUXRXZWJQYWdlRXZlbnRIYW5kbGVyOwogCiBjbGFzcyBRV0VCS0lUX0VYUE9SVCBRUXVp
Y2tXZWJQYWdlIDogcHVibGljIFFRdWlja0l0ZW0gewogICAgIFFfT0JKRUNUCisgICAgUV9QUk9Q
RVJUWShRU3RyaW5nIHNvdXJjZSBSRUFEIHNvdXJjZSBGSU5BTCkKIHB1YmxpYzoKICAgICBRUXVp
Y2tXZWJQYWdlKFFRdWlja1dlYlZpZXcqIHZpZXcgPSAwKTsKICAgICB2aXJ0dWFsIH5RUXVpY2tX
ZWJQYWdlKCk7CkBAIC01MCw2ICs1MSw4IEBAIHB1YmxpYzoKIAogICAgIFdlYktpdDo6UXRXZWJQ
YWdlRXZlbnRIYW5kbGVyKiBldmVudEhhbmRsZXIoKSBjb25zdDsKIAorICAgIFFTdHJpbmcgc291
cmNlKCkgY29uc3Q7CisKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIFFTR05vZGUqIHVwZGF0ZVBh
aW50Tm9kZShRU0dOb2RlKiwgVXBkYXRlUGFpbnROb2RlRGF0YSopOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggZWVjNDRlNTRhNGZkMzNkNjM0NWJmZjVjYmQ1
MmE2MzRlOTM2ZmI3MS4uOWE3NGQ5Y2UzODcwNGY1NDcwYjk3YjIyZDQ1M2ZmMmI4ZWZiOTdjMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMzM4LDYgKzMzOCw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldENvbXBvc2l0aW9uKGNvbnN0IFN0cmluZyYgdGV4dCwg
VmVjdG9yPFdlYkNvcmU6OkNvbXBvc2l0aW9uVW5kZXJsaW5lPiB1bmRlcmxpbmVzLCB1aW50NjRf
dCBzZWxlY3Rpb25TdGFydCwgdWludDY0X3Qgc2VsZWN0aW9uRW5kLCB1aW50NjRfdCByZXBsYWNl
bWVudFJhbmdlU3RhcnQsIHVpbnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VFbmQpOwogICAgIHZvaWQg
Y29uZmlybUNvbXBvc2l0aW9uKGNvbnN0IFN0cmluZyYgY29tcG9zaXRpb25TdHJpbmcsIGludDY0
X3Qgc2VsZWN0aW9uU3RhcnQsIGludDY0X3Qgc2VsZWN0aW9uTGVuZ3RoKTsKICAgICB2b2lkIGNh
bmNlbENvbXBvc2l0aW9uKCk7CisgICAgU3RyaW5nIGdldFNvdXJjZUZvckZyYW1lKFdlYkZyYW1l
UHJveHkqKSBjb25zdDsKICNlbmRpZgogI2lmIFBMQVRGT1JNKE1BQykKICAgICB2b2lkIHVwZGF0
ZVdpbmRvd0lzVmlzaWJsZShib29sIHdpbmRvd0lzVmlzaWJsZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViUGFnZVByb3h5UXQuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL3F0L1dlYlBhZ2VQcm94eVF0LmNwcAppbmRleCBhZTNjNGFhYjY3YWQxMzM4
YzU3ZTEwYWU3YzlmMGI2ZGU0MzQyZmNjLi5iZTgyMTM1YmJhMDY3N2I2NTRhZjFmMDk5NjMxZjlk
MmU5ODZmYjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViUGFn
ZVByb3h5UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJQYWdlUHJv
eHlRdC5jcHAKQEAgLTExNCw0ICsxMTQsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OndpbmRvd2Vk
UGx1Z2luR2VvbWV0cnlEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgZnJhbWUKIH0K
ICNlbmRpZgogCitTdHJpbmcgV2ViUGFnZVByb3h5OjpnZXRTb3VyY2VGb3JGcmFtZShXZWJGcmFt
ZVByb3h5KiBmcmFtZSkgY29uc3QKK3sKKyAgICBTdHJpbmcgc291cmNlID0gU3RyaW5nKCk7Cisg
ICAgcHJvY2VzcygpLT5zZW5kU3luYyhNZXNzYWdlczo6V2ViUGFnZTo6R2V0U291cmNlRm9yRnJh
bWVTeW5jKGZyYW1lLT5mcmFtZUlEKCkpLCBNZXNzYWdlczo6V2ViUGFnZTo6R2V0U291cmNlRm9y
RnJhbWVTeW5jOjpSZXBseShzb3VyY2UpLCBtX3BhZ2VJRCk7CisgICAgcmV0dXJuIHNvdXJjZTsK
K30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaAppbmRleCBkOWQyZGY3MmNkOTJjMTZhOGQ4ZDJmMjAzNGRhM2M3Zjgw
YTYyYmZjLi5lZDY4NzM0YzFhOGUzOTNlMGE5MTNmMDBkODQ5NGEzZGU1NjA4ZjdmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTM5MCw2ICszOTAs
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRDb21wb3NpdGlvbihjb25zdCBTdHJpbmcmIHRleHQs
IFZlY3RvcjxXZWJDb3JlOjpDb21wb3NpdGlvblVuZGVybGluZT4gdW5kZXJsaW5lcywgdWludDY0
X3Qgc2VsZWN0aW9uU3RhcnQsIHVpbnQ2NF90IHNlbGVjdGlvbkVuZCwgdWludDY0X3QgcmVwbGFj
ZW1lbnRSYW5nZVN0YXJ0LCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdlRW5kKTsKICAgICB2b2lk
IGNvbmZpcm1Db21wb3NpdGlvbihjb25zdCBTdHJpbmcmIHRleHQsIGludDY0X3Qgc2VsZWN0aW9u
U3RhcnQsIGludDY0X3Qgc2VsZWN0aW9uTGVuZ3RoKTsKICAgICB2b2lkIGNhbmNlbENvbXBvc2l0
aW9uKCk7CisgICAgdm9pZCBnZXRTb3VyY2VGb3JGcmFtZVN5bmModWludDY0X3QgZnJhbWVJRCwg
V1RGOjpTdHJpbmcmIHNvdXJjZSk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKE1BQykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2Vz
LmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMu
aW4KaW5kZXggODM4MWYyNjAzYjJhNTEzMTE2ZjQ2NGEyM2NhYmQ3ZTMxZmIwZGRmMy4uMTBhODFh
NDExOGEzOWMzOWI5NWE1NmM0YmU2ZWJkZTkwYWUxNmUyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KQEAgLTIyMCw2
ICsyMjAsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIHsKICAgICBTZXRDb21wb3NpdGlvbihXVEY6
OlN0cmluZyB0ZXh0LCBXVEY6OlZlY3RvcjxXZWJDb3JlOjpDb21wb3NpdGlvblVuZGVybGluZT4g
dW5kZXJsaW5lcywgdWludDY0X3Qgc2VsZWN0aW9uU3RhcnQsIHVpbnQ2NF90IHNlbGVjdGlvbkVu
ZCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZVN0YXJ0LCB1aW50NjRfdCByZXBsYWNlbWVudFJh
bmdlRW5kKQogICAgIENvbmZpcm1Db21wb3NpdGlvbihXVEY6OlN0cmluZyB0ZXh0LCBpbnQ2NF90
IHNlbGVjdGlvblN0YXJ0LCBpbnQ2NF90IHNlbGVjdGlvbkxlbmd0aCkKICAgICBDYW5jZWxDb21w
b3NpdGlvbigpCisgICAgR2V0U291cmNlRm9yRnJhbWVTeW5jKHVpbnQ2NF90IGZyYW1lSUQpIC0+
IChXVEY6OlN0cmluZyBzb3VyY2UpCiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKE1BQykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9XZWJQYWdlUXQuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L1dlYlBhZ2VRdC5jcHAKaW5k
ZXggNzE4MGE4Yzg4MzYwNjlkNzY4ZGNmMDk3MTYxNTZhMGJiNTY2MDRiZC4uZjQxYWQyODFkMjgx
MDRlYmUyMDAzOWVmMTIxYTYyYjMwOGE0OGQ4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL3F0L1dlYlBhZ2VRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL3F0L1dlYlBhZ2VRdC5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNp
bmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIldlYkVkaXRvckNsaWVudC5oIgog
I2luY2x1ZGUgIldlYkV2ZW50LmgiCisjaW5jbHVkZSAiV2ViRnJhbWUuaCIKICNpbmNsdWRlICJX
ZWJQYWdlUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKICNpbmNsdWRl
IDxXZWJDb3JlL0ZvY3VzQ29udHJvbGxlci5oPgpAQCAtNDExLDQgKzQxMiwxMCBAQCB2b2lkIFdl
YlBhZ2U6OmFwcGxpY2F0aW9uU2NoZW1lUmVwbHkoY29uc3QgUXROZXR3b3JrUmVwbHlEYXRhJiBy
ZXBseURhdGEpCiAgICAgbmV0d29ya1JlcGx5LT5maW5hbGl6ZSgpOwogfQogCit2b2lkIFdlYlBh
Z2U6OmdldFNvdXJjZUZvckZyYW1lU3luYyh1aW50NjRfdCBmcmFtZUlELCBTdHJpbmcmIHNvdXJj
ZSkKK3sKKyAgICBpZiAoV2ViRnJhbWUqIGZyYW1lID0gV2ViUHJvY2Vzczo6c2hhcmVkKCkud2Vi
RnJhbWUoZnJhbWVJRCkpCisgICAgICAgc291cmNlID0gZnJhbWUtPnNvdXJjZSgpOworfQorCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139208</attachid>
            <date>2012-04-27 08:21:36 -0700</date>
            <delta_ts>2012-04-27 12:26:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84953-20120427122057.patch</filename>
            <type>text/plain</type>
            <size>6972</size>
            <attacher name="Jesus Sanchez-Palencia">jesus</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1NDI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggODY4YjlkNjc0OTIwOGM3
OTVlZjJkZWI2NTU1N2RmNDg0ZGQyOTg1NS4uMjlhNDViMDlhY2JiMjY2OGUxNjQ2YWNiNWQ1ZTZi
YjBhMGEwZGJjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTA0LTI3ICBKZXN1
cyBTYW5jaGV6LVBhbGVuY2lhICA8amVzdXMucGFsZW5jaWFAb3BlbmJvc3NhLm9yZz4KKworICAg
ICAgICBbUXRdW1dLMl0gUXRXZWJLaXQyIGRvZXNuJ3QgaGF2ZSBhbiBBUEkgZm9yIGdldHRpbmcg
YSBwYWdlIHNvdXJjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODQ5NTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGlzIHBhdGNoIGFkZHMgYSB3YXkgc28gb25lIGNhbiBnZXQgYSBwYWdlIHNvdXJjZSBy
ZW5kZXJlZCBvbiB0aGUgd2VidmlldywKKyAgICAgICAgYnkgdXNpbmcgdGhlICJ2aWV3LXNvdXJj
ZToiIFVSTCBzY2hlbWUuIEl0IHdhcyBpbXBsZW1lbnRlZCBieQorICAgICAgICBhZGRpbmcgYSBt
ZXNzYWdlIHRvIFdlYlBhZ2UgYW5kIFdlYlBhZ2VQcm94eSB0aGF0IHdpbGwgdGhlbiB1c2Ugd2hh
dAorICAgICAgICBpcyBwcm92aWRlZCBieSBXZWJDb3JlOjpGcmFtZTo6c2V0Vmlld0luU291cmNl
TW9kZS4gVGhpcyBmdW5jdGlvbgorICAgICAgICBoYXMgdG8gYmUgY2FsbGVkIGJlZm9yZSBhIGxv
YWQgcmVxdWVzdC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5j
cHA6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6UVF1aWNrV2ViVmlld1ByaXZhdGUp
OgorICAgICAgICAoUVF1aWNrV2ViVmlldzo6dXJsKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXc6
OnNldFVybCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5o
OgorICAgICAgICAoUVF1aWNrV2ViVmlld1ByaXZhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNldFZpZXdJ
blNvdXJjZU1vZGUpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lmg6CisgICAgICAgIChXZWJQYWdlUHJveHkpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6c2V0Vmll
d0luU291cmNlTW9kZSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgIChXZWJQYWdlKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKwogMjAxMi0wNC0yNyAgWWFlbCBBaGFy
b24gIDx5YWVsLmFoYXJvbkBub2tpYS5jb20+CiAKICAgICAgICAgW1F0XVtXSzJdIHNldFZpc2li
bGVDb250ZW50c1JlY3QgaXMgbm90IHRocmVhZCBzYWZlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcAppbmRleCBkOTMyZTIwZTM5Yzk4NTkw
NDkyNjAyZjY2YzRhNzEzNmZkMmFhMmMzLi4zYjNkNmZmMzFlY2E0M2E0MzE0ZjljNzM4YmY2NDUy
ZTU1ZGQzZDJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Fx
dWlja3dlYnZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1
aWNrd2Vidmlldy5jcHAKQEAgLTE2Myw2ICsxNjMsNyBAQCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6
UVF1aWNrV2ViVmlld1ByaXZhdGUoUVF1aWNrV2ViVmlldyogdmlld3BvcnQpCiAgICAgLCBtX3Jl
bmRlclRvT2Zmc2NyZWVuQnVmZmVyKGZhbHNlKQogICAgICwgbV9sb2FkU3RhcnRlZFNpZ25hbFNl
bnQoZmFsc2UpCiAgICAgLCBtX2RpYWxvZ0FjdGl2ZShmYWxzZSkKKyAgICAsIG1faXNJblZpZXdT
b3VyY2VNb2RlKGZhbHNlKQogewogICAgIHZpZXdwb3J0LT5zZXRDbGlwKHRydWUpOwogICAgIHZp
ZXdwb3J0LT5zZXRQaXhlbEFsaWduZWQodHJ1ZSk7CkBAIC0xMjI0LDcgKzEyMjUsMTEgQEAgUVVy
bCBRUXVpY2tXZWJWaWV3Ojp1cmwoKSBjb25zdAogICAgICAgICByZXR1cm4gZC0+bV9kZWZlcnJl
ZFVybFRvTG9hZDsKIAogICAgIFFfQVNTRVJUKGQtPm1fY3VycmVudFVybCA9PSBkLT53ZWJQYWdl
UHJveHktPmFjdGl2ZVVSTCgpKTsKLSAgICByZXR1cm4gUVVybChkLT5tX2N1cnJlbnRVcmwpOwor
CisgICAgUVVybCB1cmwgPSBRVXJsKGQtPm1fY3VycmVudFVybCk7CisgICAgaWYgKGQtPm1faXNJ
blZpZXdTb3VyY2VNb2RlKQorICAgICAgICB1cmwuc2V0U2NoZW1lKFFTdHJpbmc6OmZyb21Bc2Np
aSgidmlldy1zb3VyY2U6IikgKyB1cmwuc2NoZW1lKCkpOworICAgIHJldHVybiB1cmw7CiB9CiAK
IHZvaWQgUVF1aWNrV2ViVmlldzo6c2V0VXJsKGNvbnN0IFFVcmwmIHVybCkKQEAgLTEyMzYsOCAr
MTI0MSwyMyBAQCB2b2lkIFFRdWlja1dlYlZpZXc6OnNldFVybChjb25zdCBRVXJsJiB1cmwpCiAK
ICAgICBpZiAoIWlzQ29tcG9uZW50Q29tcGxldGUoKSkKICAgICAgICAgZC0+bV9kZWZlcnJlZFVy
bFRvTG9hZCA9IHVybDsKLSAgICBlbHNlCi0gICAgICAgIGQtPndlYlBhZ2VQcm94eS0+bG9hZFVS
TCh1cmwudG9TdHJpbmcoKSk7CisgICAgZWxzZSB7CisgICAgICAgIFFVcmwgdXJsVG9Mb2FkOwor
ICAgICAgICBib29sIGluVmlld1NvdXJjZU1vZGUgPSBmYWxzZTsKKworICAgICAgICBpZiAodXJs
LnNjaGVtZSgpID09IFFTdHJpbmc6OmZyb21Bc2NpaSgidmlldy1zb3VyY2UiKSkgeworICAgICAg
ICAgICAgLy8gTWFrZSBzdXJlIHdlIGhhdmUgYSB3ZWxsIGZvcm1lZCBVUkwgYWZ0ZXIgd2UgcmVt
b3ZlIHRoZSBzY2hlbWUKKyAgICAgICAgICAgIHVybFRvTG9hZCA9IFFVcmw6OmZyb21Vc2VySW5w
dXQodXJsLnRvU3RyaW5nKFFVcmw6OlJlbW92ZVNjaGVtZSkpOworICAgICAgICAgICAgaW5WaWV3
U291cmNlTW9kZSA9IHRydWU7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgdXJsVG9Mb2Fk
ID0gdXJsOworCisgICAgICAgIGlmIChpblZpZXdTb3VyY2VNb2RlICE9IGQtPm1faXNJblZpZXdT
b3VyY2VNb2RlKSB7CisgICAgICAgICAgICBkLT5tX2lzSW5WaWV3U291cmNlTW9kZSA9IGluVmll
d1NvdXJjZU1vZGU7CisgICAgICAgICAgICBkLT53ZWJQYWdlUHJveHktPnNldFZpZXdJblNvdXJj
ZU1vZGUoZC0+bV9pc0luVmlld1NvdXJjZU1vZGUpOworICAgICAgICB9CisgICAgICAgIGQtPndl
YlBhZ2VQcm94eS0+bG9hZFVSTCh1cmxUb0xvYWQudG9TdHJpbmcoKSk7CisgICAgfQogCiAgICAg
ZW1pdFVybENoYW5nZUlmTmVlZGVkKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmgKaW5kZXggMDczNjgxZmZmZTY5YzJmMzYz
Y2U3NGU2YzRkMmRmZWExNDMzYmUyNS4uMzljNTZmODJhMzFkMjMwODU1YmM0YmRmMzNmYTliYTdl
MjE4NDg5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVp
Y2t3ZWJ2aWV3X3BfcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1
aWNrd2Vidmlld19wX3AuaApAQCAtMTk2LDYgKzE5Niw3IEBAIHByb3RlY3RlZDoKICAgICBRVXJs
IG1faWNvblVSTDsKICAgICBRVXJsIG1fZGVmZXJyZWRVcmxUb0xvYWQ7CiAgICAgV1RGOjpTdHJp
bmcgbV9jdXJyZW50VXJsOworICAgIGJvb2wgbV9pc0luVmlld1NvdXJjZU1vZGU7CiB9OwogCiBj
bGFzcyBRUXVpY2tXZWJWaWV3TGVnYWN5UHJpdmF0ZSA6IHB1YmxpYyBRUXVpY2tXZWJWaWV3UHJp
dmF0ZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDc0
OGE1NzM4N2Y1ZDYxODhjMGRjZTU2MGQyOGJmYTY5NTcxNTM1YjEuLmNjZWYxNDE2MzNhNGI0OTNj
ZDY3N2IzOTI4OTMyOGY1M2QzY2EyMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCkBAIC0zNzY5LDQgKzM3NjksOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6aGFu
ZGxlQWx0ZXJuYXRpdmVUZXh0VUlSZXN1bHQoY29uc3QgU3RyaW5nJiByZXN1bHQpCiB9CiAjZW5k
aWYgLy8gUExBVEZPUk0oTUFDKQogCit2b2lkIFdlYlBhZ2VQcm94eTo6c2V0Vmlld0luU291cmNl
TW9kZShib29sIHZpZXdJblNvdXJjZU1vZGUpCit7CisgICAgcHJvY2VzcygpLT5zZW5kKE1lc3Nh
Z2VzOjpXZWJQYWdlOjpTZXRWaWV3SW5Tb3VyY2VNb2RlKHZpZXdJblNvdXJjZU1vZGUpLCBtX3Bh
Z2VJRCwgMCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGVlYzQ0ZTU0YTRmZDMzZDYzNDViZmY1Y2JkNTJhNjM0
ZTkzNmZiNzEuLjI0MDJiNDZhMWVlZDBjZjJhYzJiMWMxMDA3MDk4MjBkNDQ2ZDJhOGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTY0Niw2ICs2NDYsOCBAQCBw
dWJsaWM6CiAgICAgLy8gV2ViUG9wdXBNZW51UHJveHk6OkNsaWVudAogICAgIHZpcnR1YWwgTmF0
aXZlV2ViTW91c2VFdmVudCogY3VycmVudGx5UHJvY2Vzc2VkTW91c2VEb3duRXZlbnQoKTsKIAor
ICAgIHZvaWQgc2V0Vmlld0luU291cmNlTW9kZShib29sKTsKKwogcHJpdmF0ZToKICAgICBXZWJQ
YWdlUHJveHkoUGFnZUNsaWVudCosIFBhc3NSZWZQdHI8V2ViUHJvY2Vzc1Byb3h5PiwgV2ViUGFn
ZUdyb3VwKiwgdWludDY0X3QgcGFnZUlEKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGY0MWM3ZTAxNTBlOTAwNjk0MTgyNGRiNjMzZGUy
MTk2MjM0ZDYzMmEuLjViMWIzMzVhMTg3ZWMxNTFkN2Q4ZDNiODljN2Y4MGVhNWYzNDkzNmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTMx
NjEsNCArMzE2MSwxMCBAQCB2b2lkIFdlYlBhZ2U6OnNldFZpc2liaWxpdHlTdGF0ZShpbnQgdmlz
aWJpbGl0eVN0YXRlLCBib29sIGlzSW5pdGlhbFN0YXRlKQogfQogI2VuZGlmCiAKK3ZvaWQgV2Vi
UGFnZTo6c2V0Vmlld0luU291cmNlTW9kZShib29sIHZpZXdJblNvdXJjZU1vZGUpCit7CisgICAg
aWYgKG1fbWFpbkZyYW1lICYmIG1fbWFpbkZyYW1lLT5jb3JlRnJhbWUoKSkKKyAgICAgICAgbV9t
YWluRnJhbWUtPmNvcmVGcmFtZSgpLT5zZXRJblZpZXdTb3VyY2VNb2RlKHZpZXdJblNvdXJjZU1v
ZGUpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IGQ5ZDJkZjcyY2Q5MmMxNmE4ZDhkMmYyMDM0ZGEz
YzdmODBhNjJiZmMuLmNmMjUyYjg5Njg3OTIyNDMxMDE2Njk3Y2E0NmQxMzUyMTFjYTU1Y2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtNTMxLDYg
KzUzMSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFZpc2liaWxpdHlTdGF0ZShpbnQgdmlzaWJp
bGl0eVN0YXRlLCBib29sIGlzSW5pdGlhbFN0YXRlKTsKICNlbmRpZgogCisgICAgdm9pZCBzZXRW
aWV3SW5Tb3VyY2VNb2RlKGJvb2wpOworCiBwcml2YXRlOgogICAgIFdlYlBhZ2UodWludDY0X3Qg
cGFnZUlELCBjb25zdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJik7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5k
ZXggODM4MWYyNjAzYjJhNTEzMTE2ZjQ2NGEyM2NhYmQ3ZTMxZmIwZGRmMy4uOTBhODg0OWU4MWI4
MTZiMDg4YzdjNjI3OTUyYjJlYmIxMzg0MTkzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KQEAgLTI2OSw0ICsyNjks
NiBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIHsKICNpZiBFTkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQ
SSkKICAgICBTZXRWaXNpYmlsaXR5U3RhdGUoaW50IHZpc2liaWxpdHlTdGF0ZSwgYm9vbCBpc0lu
aXRpYWxTdGF0ZSk7CiAjZW5kaWYKKworICAgIFNldFZpZXdJblNvdXJjZU1vZGUoYm9vbCB2aWV3
SW5Tb3VyY2VNb2RlKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139246</attachid>
            <date>2012-04-27 12:26:31 -0700</date>
            <delta_ts>2012-05-02 06:54:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84953-20120427162552.patch</filename>
            <type>text/plain</type>
            <size>6683</size>
            <attacher name="Jesus Sanchez-Palencia">jesus</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1NDMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggODY4YjlkNjc0OTIwOGM3
OTVlZjJkZWI2NTU1N2RmNDg0ZGQyOTg1NS4uMjlhNDViMDlhY2JiMjY2OGUxNjQ2YWNiNWQ1ZTZi
YjBhMGEwZGJjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTA0LTI3ICBKZXN1
cyBTYW5jaGV6LVBhbGVuY2lhICA8amVzdXMucGFsZW5jaWFAb3BlbmJvc3NhLm9yZz4KKworICAg
ICAgICBbUXRdW1dLMl0gUXRXZWJLaXQyIGRvZXNuJ3QgaGF2ZSBhbiBBUEkgZm9yIGdldHRpbmcg
YSBwYWdlIHNvdXJjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODQ5NTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGlzIHBhdGNoIGFkZHMgYSB3YXkgc28gb25lIGNhbiBnZXQgYSBwYWdlIHNvdXJjZSBy
ZW5kZXJlZCBvbiB0aGUgd2VidmlldywKKyAgICAgICAgYnkgdXNpbmcgdGhlICJ2aWV3LXNvdXJj
ZToiIFVSTCBzY2hlbWUuIEl0IHdhcyBpbXBsZW1lbnRlZCBieQorICAgICAgICBhZGRpbmcgYSBt
ZXNzYWdlIHRvIFdlYlBhZ2UgYW5kIFdlYlBhZ2VQcm94eSB0aGF0IHdpbGwgdGhlbiB1c2Ugd2hh
dAorICAgICAgICBpcyBwcm92aWRlZCBieSBXZWJDb3JlOjpGcmFtZTo6c2V0Vmlld0luU291cmNl
TW9kZS4gVGhpcyBmdW5jdGlvbgorICAgICAgICBoYXMgdG8gYmUgY2FsbGVkIGJlZm9yZSBhIGxv
YWQgcmVxdWVzdC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5j
cHA6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6UVF1aWNrV2ViVmlld1ByaXZhdGUp
OgorICAgICAgICAoUVF1aWNrV2ViVmlldzo6dXJsKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXc6
OnNldFVybCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5o
OgorICAgICAgICAoUVF1aWNrV2ViVmlld1ByaXZhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNldFZpZXdJ
blNvdXJjZU1vZGUpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lmg6CisgICAgICAgIChXZWJQYWdlUHJveHkpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6c2V0Vmll
d0luU291cmNlTW9kZSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgIChXZWJQYWdlKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKwogMjAxMi0wNC0yNyAgWWFlbCBBaGFy
b24gIDx5YWVsLmFoYXJvbkBub2tpYS5jb20+CiAKICAgICAgICAgW1F0XVtXSzJdIHNldFZpc2li
bGVDb250ZW50c1JlY3QgaXMgbm90IHRocmVhZCBzYWZlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcAppbmRleCBkOTMyZTIwZTM5Yzk4NTkw
NDkyNjAyZjY2YzRhNzEzNmZkMmFhMmMzLi44MDkyNWYyZTNiMTAxYTgyNjRhNDIwYjA1YmY2ZTk5
ZGU4MGMzNWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Fx
dWlja3dlYnZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1
aWNrd2Vidmlldy5jcHAKQEAgLTE2Myw2ICsxNjMsNyBAQCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6
UVF1aWNrV2ViVmlld1ByaXZhdGUoUVF1aWNrV2ViVmlldyogdmlld3BvcnQpCiAgICAgLCBtX3Jl
bmRlclRvT2Zmc2NyZWVuQnVmZmVyKGZhbHNlKQogICAgICwgbV9sb2FkU3RhcnRlZFNpZ25hbFNl
bnQoZmFsc2UpCiAgICAgLCBtX2RpYWxvZ0FjdGl2ZShmYWxzZSkKKyAgICAsIG1faXNJblZpZXdT
b3VyY2VNb2RlKGZhbHNlKQogewogICAgIHZpZXdwb3J0LT5zZXRDbGlwKHRydWUpOwogICAgIHZp
ZXdwb3J0LT5zZXRQaXhlbEFsaWduZWQodHJ1ZSk7CkBAIC0xMjI0LDcgKzEyMjUsMTEgQEAgUVVy
bCBRUXVpY2tXZWJWaWV3Ojp1cmwoKSBjb25zdAogICAgICAgICByZXR1cm4gZC0+bV9kZWZlcnJl
ZFVybFRvTG9hZDsKIAogICAgIFFfQVNTRVJUKGQtPm1fY3VycmVudFVybCA9PSBkLT53ZWJQYWdl
UHJveHktPmFjdGl2ZVVSTCgpKTsKLSAgICByZXR1cm4gUVVybChkLT5tX2N1cnJlbnRVcmwpOwor
CisgICAgUVVybCB1cmwgPSBRVXJsKGQtPm1fY3VycmVudFVybCk7CisgICAgaWYgKGQtPm1faXNJ
blZpZXdTb3VyY2VNb2RlKQorICAgICAgICB1cmwuc2V0U2NoZW1lKFFTdHJpbmc6OmZyb21MYXRp
bjEoInZpZXctc291cmNlOiIpICsgdXJsLnNjaGVtZSgpKTsKKyAgICByZXR1cm4gdXJsOwogfQog
CiB2b2lkIFFRdWlja1dlYlZpZXc6OnNldFVybChjb25zdCBRVXJsJiB1cmwpCkBAIC0xMjM2LDgg
KzEyNDEsMTMgQEAgdm9pZCBRUXVpY2tXZWJWaWV3OjpzZXRVcmwoY29uc3QgUVVybCYgdXJsKQog
CiAgICAgaWYgKCFpc0NvbXBvbmVudENvbXBsZXRlKCkpCiAgICAgICAgIGQtPm1fZGVmZXJyZWRV
cmxUb0xvYWQgPSB1cmw7Ci0gICAgZWxzZQotICAgICAgICBkLT53ZWJQYWdlUHJveHktPmxvYWRV
UkwodXJsLnRvU3RyaW5nKCkpOworICAgIGVsc2UgeworICAgICAgICBkLT5tX2lzSW5WaWV3U291
cmNlTW9kZSA9IHVybC5zY2hlbWUoKSA9PSBRU3RyaW5nOjpmcm9tTGF0aW4xKCJ2aWV3LXNvdXJj
ZSIpOworICAgICAgICAvLyBNYWtlIHN1cmUgd2UgaGF2ZSBhIHdlbGwgZm9ybWVkIFVSTCBhZnRl
ciB3ZSByZW1vdmUgdGhlIHNjaGVtZQorICAgICAgICBRVXJsIHVybFRvTG9hZCA9IGQtPm1faXNJ
blZpZXdTb3VyY2VNb2RlID8gUVVybDo6ZnJvbVVzZXJJbnB1dCh1cmwudG9TdHJpbmcoUVVybDo6
UmVtb3ZlU2NoZW1lKSkgOiB1cmw7CisgICAgICAgIGQtPndlYlBhZ2VQcm94eS0+c2V0Vmlld0lu
U291cmNlTW9kZShkLT5tX2lzSW5WaWV3U291cmNlTW9kZSk7CisgICAgICAgIGQtPndlYlBhZ2VQ
cm94eS0+bG9hZFVSTCh1cmxUb0xvYWQudG9TdHJpbmcoKSk7CisgICAgfQogCiAgICAgZW1pdFVy
bENoYW5nZUlmTmVlZGVkKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmgKaW5kZXggMDczNjgxZmZmZTY5YzJmMzYzY2U3NGU2
YzRkMmRmZWExNDMzYmUyNS4uMzljNTZmODJhMzFkMjMwODU1YmM0YmRmMzNmYTliYTdlMjE4NDg5
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2
aWV3X3BfcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vi
dmlld19wX3AuaApAQCAtMTk2LDYgKzE5Niw3IEBAIHByb3RlY3RlZDoKICAgICBRVXJsIG1faWNv
blVSTDsKICAgICBRVXJsIG1fZGVmZXJyZWRVcmxUb0xvYWQ7CiAgICAgV1RGOjpTdHJpbmcgbV9j
dXJyZW50VXJsOworICAgIGJvb2wgbV9pc0luVmlld1NvdXJjZU1vZGU7CiB9OwogCiBjbGFzcyBR
UXVpY2tXZWJWaWV3TGVnYWN5UHJpdmF0ZSA6IHB1YmxpYyBRUXVpY2tXZWJWaWV3UHJpdmF0ZSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDc0OGE1NzM4
N2Y1ZDYxODhjMGRjZTU2MGQyOGJmYTY5NTcxNTM1YjEuLmNjZWYxNDE2MzNhNGI0OTNjZDY3N2Iz
OTI4OTMyOGY1M2QzY2EyMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwCkBAIC0zNzY5LDQgKzM3NjksOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6aGFuZGxlQWx0
ZXJuYXRpdmVUZXh0VUlSZXN1bHQoY29uc3QgU3RyaW5nJiByZXN1bHQpCiB9CiAjZW5kaWYgLy8g
UExBVEZPUk0oTUFDKQogCit2b2lkIFdlYlBhZ2VQcm94eTo6c2V0Vmlld0luU291cmNlTW9kZShi
b29sIHZpZXdJblNvdXJjZU1vZGUpCit7CisgICAgcHJvY2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlOjpTZXRWaWV3SW5Tb3VyY2VNb2RlKHZpZXdJblNvdXJjZU1vZGUpLCBtX3BhZ2VJRCwg
MCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCmluZGV4IGVlYzQ0ZTU0YTRmZDMzZDYzNDViZmY1Y2JkNTJhNjM0ZTkzNmZi
NzEuLjI0MDJiNDZhMWVlZDBjZjJhYzJiMWMxMDA3MDk4MjBkNDQ2ZDJhOGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTY0Niw2ICs2NDYsOCBAQCBwdWJsaWM6
CiAgICAgLy8gV2ViUG9wdXBNZW51UHJveHk6OkNsaWVudAogICAgIHZpcnR1YWwgTmF0aXZlV2Vi
TW91c2VFdmVudCogY3VycmVudGx5UHJvY2Vzc2VkTW91c2VEb3duRXZlbnQoKTsKIAorICAgIHZv
aWQgc2V0Vmlld0luU291cmNlTW9kZShib29sKTsKKwogcHJpdmF0ZToKICAgICBXZWJQYWdlUHJv
eHkoUGFnZUNsaWVudCosIFBhc3NSZWZQdHI8V2ViUHJvY2Vzc1Byb3h5PiwgV2ViUGFnZUdyb3Vw
KiwgdWludDY0X3QgcGFnZUlEKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCmluZGV4IGY0MWM3ZTAxNTBlOTAwNjk0MTgyNGRiNjMzZGUyMTk2MjM0
ZDYzMmEuLjkxYjU2NWE5OGRhNWJkZTA3MmI4NjUzZWJmMzFlMjJhMGE1YWI5OGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTMxNjEsNCAr
MzE2MSw5IEBAIHZvaWQgV2ViUGFnZTo6c2V0VmlzaWJpbGl0eVN0YXRlKGludCB2aXNpYmlsaXR5
U3RhdGUsIGJvb2wgaXNJbml0aWFsU3RhdGUpCiB9CiAjZW5kaWYKIAordm9pZCBXZWJQYWdlOjpz
ZXRWaWV3SW5Tb3VyY2VNb2RlKGJvb2wgdmlld0luU291cmNlTW9kZSkKK3sKKyAgICBtX21haW5G
cmFtZS0+Y29yZUZyYW1lKCktPnNldEluVmlld1NvdXJjZU1vZGUodmlld0luU291cmNlTW9kZSk7
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggZDlkMmRmNzJjZDkyYzE2YThkOGQyZjIwMzRkYTNjN2Y4
MGE2MmJmYy4uY2YyNTJiODk2ODc5MjI0MzEwMTY2OTdjYTQ2ZDEzNTIxMWNhNTVjZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC01MzEsNiArNTMx
LDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0VmlzaWJpbGl0eVN0YXRlKGludCB2aXNpYmlsaXR5
U3RhdGUsIGJvb2wgaXNJbml0aWFsU3RhdGUpOwogI2VuZGlmCiAKKyAgICB2b2lkIHNldFZpZXdJ
blNvdXJjZU1vZGUoYm9vbCk7CisKIHByaXZhdGU6CiAgICAgV2ViUGFnZSh1aW50NjRfdCBwYWdl
SUQsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgppbmRleCA4
MzgxZjI2MDNiMmE1MTMxMTZmNDY0YTIzY2FiZDdlMzFmYjBkZGYzLi45MGE4ODQ5ZTgxYjgxNmIw
ODhjN2M2Mjc5NTJiMmViYjEzODQxOTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAtMjY5LDQgKzI2OSw2IEBA
IG1lc3NhZ2VzIC0+IFdlYlBhZ2UgewogI2lmIEVOQUJMRShQQUdFX1ZJU0lCSUxJVFlfQVBJKQog
ICAgIFNldFZpc2liaWxpdHlTdGF0ZShpbnQgdmlzaWJpbGl0eVN0YXRlLCBib29sIGlzSW5pdGlh
bFN0YXRlKTsKICNlbmRpZgorCisgICAgU2V0Vmlld0luU291cmNlTW9kZShib29sIHZpZXdJblNv
dXJjZU1vZGUpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139805</attachid>
            <date>2012-05-02 06:55:04 -0700</date>
            <delta_ts>2012-05-02 07:21:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84953-20120502105423.patch</filename>
            <type>text/plain</type>
            <size>6745</size>
            <attacher name="Jesus Sanchez-Palencia">jesus</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1ODIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZWRlNjc4NzhlNWJlNmE1
NmM4NDI2MWMyMDI1OWViYzQ2YmIxMzY2MS4uNjc0YmQzOTI4MTM4ZWM2ODJiMGU4ZTBlMmE3OTgw
YjUxNzRiY2ZkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTA0LTI3ICBKZXN1
cyBTYW5jaGV6LVBhbGVuY2lhICA8amVzdXMucGFsZW5jaWFAb3BlbmJvc3NhLm9yZz4KKworICAg
ICAgICBbUXRdW1dLMl0gUXRXZWJLaXQyIGRvZXNuJ3QgaGF2ZSBhbiBBUEkgZm9yIGdldHRpbmcg
YSBwYWdlIHNvdXJjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODQ5NTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGlzIHBhdGNoIGFkZHMgYSB3YXkgc28gb25lIGNhbiBnZXQgYSBwYWdlIHNvdXJjZSBy
ZW5kZXJlZCBvbiB0aGUgd2VidmlldywKKyAgICAgICAgYnkgdXNpbmcgdGhlICJ2aWV3LXNvdXJj
ZToiIFVSTCBzY2hlbWUuIEl0IHdhcyBpbXBsZW1lbnRlZCBieQorICAgICAgICBhZGRpbmcgYSBt
ZXNzYWdlIHRvIFdlYlBhZ2UgYW5kIFdlYlBhZ2VQcm94eSB0aGF0IHdpbGwgdGhlbiB1c2Ugd2hh
dAorICAgICAgICBpcyBwcm92aWRlZCBieSBXZWJDb3JlOjpGcmFtZTo6c2V0Vmlld0luU291cmNl
TW9kZS4gVGhpcyBmdW5jdGlvbgorICAgICAgICBoYXMgdG8gYmUgY2FsbGVkIGJlZm9yZSBhIGxv
YWQgcmVxdWVzdC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5j
cHA6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6UVF1aWNrV2ViVmlld1ByaXZhdGUp
OgorICAgICAgICAoUVF1aWNrV2ViVmlldzo6dXJsKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXc6
OnNldFVybCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5o
OgorICAgICAgICAoUVF1aWNrV2ViVmlld1ByaXZhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNldFZpZXdJ
blNvdXJjZU1vZGUpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lmg6CisgICAgICAgIChXZWJQYWdlUHJveHkpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6c2V0Vmll
d0luU291cmNlTW9kZSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgIChXZWJQYWdlKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKwogMjAxMi0wNS0wMiAgWmFsYW4gQnVq
dGFzICA8emJ1anRhc0BnbWFpbC5jb20+CiAKICAgICAgICAgW1F0XVtXSzJdIFJlbW92ZSByZWR1
bmRhbnQgdXBkYXRlVmlld3BvcnRBcmd1bWVudHMoKSBjYWxsIGZyb20gSFRNTEJvZHlFbGVtZW50
OjpkaWROb3RpZnlEZXNjZW5kYW50SW5zZXJldGlvbnMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKaW5kZXggYzJhMDNmMmUzMGI0MTU2
Y2I1NzM1MzAyMTc4YzgzYThkOGU4MWE1NC4uYzRiYzlhOTZhYjBlMGU1MzhmODQwYzgzOWQ5ZTY5
NjE2NmE2ZmQ0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9x
cXVpY2t3ZWJ2aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Fx
dWlja3dlYnZpZXcuY3BwCkBAIC0xNjIsNiArMTYyLDcgQEAgUVF1aWNrV2ViVmlld1ByaXZhdGU6
OlFRdWlja1dlYlZpZXdQcml2YXRlKFFRdWlja1dlYlZpZXcqIHZpZXdwb3J0KQogICAgICwgbV9u
YXZpZ2F0b3JRdE9iamVjdEVuYWJsZWQoZmFsc2UpCiAgICAgLCBtX3JlbmRlclRvT2Zmc2NyZWVu
QnVmZmVyKGZhbHNlKQogICAgICwgbV9kaWFsb2dBY3RpdmUoZmFsc2UpCisgICAgLCBtX2lzSW5W
aWV3U291cmNlTW9kZShmYWxzZSkKIHsKICAgICB2aWV3cG9ydC0+c2V0Q2xpcCh0cnVlKTsKICAg
ICB2aWV3cG9ydC0+c2V0UGl4ZWxBbGlnbmVkKHRydWUpOwpAQCAtMTI0Nyw3ICsxMjQ4LDExIEBA
IFFVcmwgUVF1aWNrV2ViVmlldzo6dXJsKCkgY29uc3QKICAgICAgICAgcmV0dXJuIGQtPm1fZGVm
ZXJyZWRVcmxUb0xvYWQ7CiAKICAgICBRX0FTU0VSVChkLT5tX2N1cnJlbnRVcmwgPT0gZC0+d2Vi
UGFnZVByb3h5LT5hY3RpdmVVUkwoKSk7Ci0gICAgcmV0dXJuIFFVcmwoZC0+bV9jdXJyZW50VXJs
KTsKKworICAgIFFVcmwgdXJsID0gUVVybChkLT5tX2N1cnJlbnRVcmwpOworICAgIGlmIChkLT5t
X2lzSW5WaWV3U291cmNlTW9kZSkKKyAgICAgICAgdXJsLnNldFNjaGVtZShRU3RyaW5nOjpmcm9t
TGF0aW4xKCJ2aWV3LXNvdXJjZToiKSArIHVybC5zY2hlbWUoKSk7CisgICAgcmV0dXJuIHVybDsK
IH0KIAogdm9pZCBRUXVpY2tXZWJWaWV3OjpzZXRVcmwoY29uc3QgUVVybCYgdXJsKQpAQCAtMTI1
OSw4ICsxMjY0LDEzIEBAIHZvaWQgUVF1aWNrV2ViVmlldzo6c2V0VXJsKGNvbnN0IFFVcmwmIHVy
bCkKIAogICAgIGlmICghaXNDb21wb25lbnRDb21wbGV0ZSgpKQogICAgICAgICBkLT5tX2RlZmVy
cmVkVXJsVG9Mb2FkID0gdXJsOwotICAgIGVsc2UKLSAgICAgICAgZC0+d2ViUGFnZVByb3h5LT5s
b2FkVVJMKHVybC50b1N0cmluZygpKTsKKyAgICBlbHNlIHsKKyAgICAgICAgZC0+bV9pc0luVmll
d1NvdXJjZU1vZGUgPSB1cmwuc2NoZW1lKCkgPT0gUVN0cmluZzo6ZnJvbUxhdGluMSgidmlldy1z
b3VyY2UiKTsKKyAgICAgICAgLy8gTWFrZSBzdXJlIHdlIGhhdmUgYSB3ZWxsIGZvcm1lZCBVUkwg
YWZ0ZXIgd2UgcmVtb3ZlIHRoZSBzY2hlbWUuCisgICAgICAgIFFVcmwgdXJsVG9Mb2FkID0gZC0+
bV9pc0luVmlld1NvdXJjZU1vZGUgPyBRVXJsOjpmcm9tVXNlcklucHV0KHVybC50b1N0cmluZyhR
VXJsOjpSZW1vdmVTY2hlbWUpKSA6IHVybDsKKyAgICAgICAgZC0+d2ViUGFnZVByb3h5LT5zZXRW
aWV3SW5Tb3VyY2VNb2RlKGQtPm1faXNJblZpZXdTb3VyY2VNb2RlKTsKKyAgICAgICAgZC0+d2Vi
UGFnZVByb3h5LT5sb2FkVVJMKHVybFRvTG9hZC50b1N0cmluZygpKTsKKyAgICB9CiAKICAgICBl
bWl0VXJsQ2hhbmdlSWZOZWVkZWQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaAppbmRleCAwNzBkMmFiNzg1Zjg5N2ZiYjhh
ZDA3YTEzZjc3YWM3NmVmYWZmNGQwLi5lMGI4YTBmZGVkYzQ1ODQ0Zjg0MGUwYWE2NDY1ZTYzNDcy
OGYxY2ZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlj
a3dlYnZpZXdfcF9wLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVp
Y2t3ZWJ2aWV3X3BfcC5oCkBAIC0xOTQsNiArMTk0LDcgQEAgcHJvdGVjdGVkOgogICAgIFFVcmwg
bV9pY29uVVJMOwogICAgIFFVcmwgbV9kZWZlcnJlZFVybFRvTG9hZDsKICAgICBXVEY6OlN0cmlu
ZyBtX2N1cnJlbnRVcmw7CisgICAgYm9vbCBtX2lzSW5WaWV3U291cmNlTW9kZTsKIH07CiAKIGNs
YXNzIFFRdWlja1dlYlZpZXdMZWdhY3lQcml2YXRlIDogcHVibGljIFFRdWlja1dlYlZpZXdQcml2
YXRlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggNzQ4
YTU3Mzg3ZjVkNjE4OGMwZGNlNTYwZDI4YmZhNjk1NzE1MzViMS4uY2NlZjE0MTYzM2E0YjQ5M2Nk
Njc3YjM5Mjg5MzI4ZjUzZDNjYTIyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAKQEAgLTM3NjksNCArMzc2OSw5IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpoYW5k
bGVBbHRlcm5hdGl2ZVRleHRVSVJlc3VsdChjb25zdCBTdHJpbmcmIHJlc3VsdCkKIH0KICNlbmRp
ZiAvLyBQTEFURk9STShNQUMpCiAKK3ZvaWQgV2ViUGFnZVByb3h5OjpzZXRWaWV3SW5Tb3VyY2VN
b2RlKGJvb2wgdmlld0luU291cmNlTW9kZSkKK3sKKyAgICBwcm9jZXNzKCktPnNlbmQoTWVzc2Fn
ZXM6OldlYlBhZ2U6OlNldFZpZXdJblNvdXJjZU1vZGUodmlld0luU291cmNlTW9kZSksIG1fcGFn
ZUlELCAwKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKaW5kZXggYTNlOWJiOGY3OWJjMDQ3YTdhODE4YjFlMmFiMzQyNTBm
OWExYzYzNy4uN2E0ODQ0NDQwYjIwZWRkM2U3ZTgzNjAzODFiMzc3YzdhZDNhOWIwMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtNjUxLDYgKzY1MSw4IEBAIHB1
YmxpYzoKICAgICAvLyBXZWJQb3B1cE1lbnVQcm94eTo6Q2xpZW50CiAgICAgdmlydHVhbCBOYXRp
dmVXZWJNb3VzZUV2ZW50KiBjdXJyZW50bHlQcm9jZXNzZWRNb3VzZURvd25FdmVudCgpOwogCisg
ICAgdm9pZCBzZXRWaWV3SW5Tb3VyY2VNb2RlKGJvb2wpOworCiBwcml2YXRlOgogICAgIFdlYlBh
Z2VQcm94eShQYWdlQ2xpZW50KiwgUGFzc1JlZlB0cjxXZWJQcm9jZXNzUHJveHk+LCBXZWJQYWdl
R3JvdXAqLCB1aW50NjRfdCBwYWdlSUQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggN2Y0ZDZkYmQ3YmY2YzRlNGQzNTZkZTk3OTM5ZDNh
NmQ3ODNiMWIxMy4uNmI0YzRjNDA1OGI2ZDEwMmEwMTYwYzk5MTIzMzJmYWI0N2FmMTE0OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMzE2
OCw0ICszMTY4LDkgQEAgdm9pZCBXZWJQYWdlOjpzZXRWaXNpYmlsaXR5U3RhdGUoaW50IHZpc2li
aWxpdHlTdGF0ZSwgYm9vbCBpc0luaXRpYWxTdGF0ZSkKIH0KICNlbmRpZgogCit2b2lkIFdlYlBh
Z2U6OnNldFZpZXdJblNvdXJjZU1vZGUoYm9vbCB2aWV3SW5Tb3VyY2VNb2RlKQoreworICAgIG1f
bWFpbkZyYW1lLT5jb3JlRnJhbWUoKS0+c2V0SW5WaWV3U291cmNlTW9kZSh2aWV3SW5Tb3VyY2VN
b2RlKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCBkOWQyZGY3MmNkOTJjMTZhOGQ4ZDJmMjAzNGRh
M2M3ZjgwYTYyYmZjLi5jZjI1MmI4OTY4NzkyMjQzMTAxNjY5N2NhNDZkMTM1MjExY2E1NWNlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTUzMSw2
ICs1MzEsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRWaXNpYmlsaXR5U3RhdGUoaW50IHZpc2li
aWxpdHlTdGF0ZSwgYm9vbCBpc0luaXRpYWxTdGF0ZSk7CiAjZW5kaWYKIAorICAgIHZvaWQgc2V0
Vmlld0luU291cmNlTW9kZShib29sKTsKKwogcHJpdmF0ZToKICAgICBXZWJQYWdlKHVpbnQ2NF90
IHBhZ2VJRCwgY29uc3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmlu
ZGV4IDgzODFmMjYwM2IyYTUxMzExNmY0NjRhMjNjYWJkN2UzMWZiMGRkZjMuLjkwYTg4NDllODFi
ODE2YjA4OGM3YzYyNzk1MmIyZWJiMTM4NDE5MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC0yNjksNCArMjY5
LDYgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZSB7CiAjaWYgRU5BQkxFKFBBR0VfVklTSUJJTElUWV9B
UEkpCiAgICAgU2V0VmlzaWJpbGl0eVN0YXRlKGludCB2aXNpYmlsaXR5U3RhdGUsIGJvb2wgaXNJ
bml0aWFsU3RhdGUpOwogI2VuZGlmCisKKyAgICBTZXRWaWV3SW5Tb3VyY2VNb2RlKGJvb2wgdmll
d0luU291cmNlTW9kZSk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139810</attachid>
            <date>2012-05-02 07:22:00 -0700</date>
            <delta_ts>2012-05-03 14:03:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84953-20120502112120.patch</filename>
            <type>text/plain</type>
            <size>6774</size>
            <attacher name="Jesus Sanchez-Palencia">jesus</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1ODIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZWRlNjc4NzhlNWJlNmE1
NmM4NDI2MWMyMDI1OWViYzQ2YmIxMzY2MS4uNjc0YmQzOTI4MTM4ZWM2ODJiMGU4ZTBlMmE3OTgw
YjUxNzRiY2ZkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTA0LTI3ICBKZXN1
cyBTYW5jaGV6LVBhbGVuY2lhICA8amVzdXMucGFsZW5jaWFAb3BlbmJvc3NhLm9yZz4KKworICAg
ICAgICBbUXRdW1dLMl0gUXRXZWJLaXQyIGRvZXNuJ3QgaGF2ZSBhbiBBUEkgZm9yIGdldHRpbmcg
YSBwYWdlIHNvdXJjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODQ5NTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGlzIHBhdGNoIGFkZHMgYSB3YXkgc28gb25lIGNhbiBnZXQgYSBwYWdlIHNvdXJjZSBy
ZW5kZXJlZCBvbiB0aGUgd2VidmlldywKKyAgICAgICAgYnkgdXNpbmcgdGhlICJ2aWV3LXNvdXJj
ZToiIFVSTCBzY2hlbWUuIEl0IHdhcyBpbXBsZW1lbnRlZCBieQorICAgICAgICBhZGRpbmcgYSBt
ZXNzYWdlIHRvIFdlYlBhZ2UgYW5kIFdlYlBhZ2VQcm94eSB0aGF0IHdpbGwgdGhlbiB1c2Ugd2hh
dAorICAgICAgICBpcyBwcm92aWRlZCBieSBXZWJDb3JlOjpGcmFtZTo6c2V0Vmlld0luU291cmNl
TW9kZS4gVGhpcyBmdW5jdGlvbgorICAgICAgICBoYXMgdG8gYmUgY2FsbGVkIGJlZm9yZSBhIGxv
YWQgcmVxdWVzdC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5j
cHA6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6UVF1aWNrV2ViVmlld1ByaXZhdGUp
OgorICAgICAgICAoUVF1aWNrV2ViVmlldzo6dXJsKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXc6
OnNldFVybCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5o
OgorICAgICAgICAoUVF1aWNrV2ViVmlld1ByaXZhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNldFZpZXdJ
blNvdXJjZU1vZGUpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lmg6CisgICAgICAgIChXZWJQYWdlUHJveHkpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6c2V0Vmll
d0luU291cmNlTW9kZSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgIChXZWJQYWdlKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKwogMjAxMi0wNS0wMiAgWmFsYW4gQnVq
dGFzICA8emJ1anRhc0BnbWFpbC5jb20+CiAKICAgICAgICAgW1F0XVtXSzJdIFJlbW92ZSByZWR1
bmRhbnQgdXBkYXRlVmlld3BvcnRBcmd1bWVudHMoKSBjYWxsIGZyb20gSFRNTEJvZHlFbGVtZW50
OjpkaWROb3RpZnlEZXNjZW5kYW50SW5zZXJldGlvbnMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKaW5kZXggYzJhMDNmMmUzMGI0MTU2
Y2I1NzM1MzAyMTc4YzgzYThkOGU4MWE1NC4uYzRiYzlhOTZhYjBlMGU1MzhmODQwYzgzOWQ5ZTY5
NjE2NmE2ZmQ0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9x
cXVpY2t3ZWJ2aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Fx
dWlja3dlYnZpZXcuY3BwCkBAIC0xNjIsNiArMTYyLDcgQEAgUVF1aWNrV2ViVmlld1ByaXZhdGU6
OlFRdWlja1dlYlZpZXdQcml2YXRlKFFRdWlja1dlYlZpZXcqIHZpZXdwb3J0KQogICAgICwgbV9u
YXZpZ2F0b3JRdE9iamVjdEVuYWJsZWQoZmFsc2UpCiAgICAgLCBtX3JlbmRlclRvT2Zmc2NyZWVu
QnVmZmVyKGZhbHNlKQogICAgICwgbV9kaWFsb2dBY3RpdmUoZmFsc2UpCisgICAgLCBtX2lzSW5W
aWV3U291cmNlTW9kZShmYWxzZSkKIHsKICAgICB2aWV3cG9ydC0+c2V0Q2xpcCh0cnVlKTsKICAg
ICB2aWV3cG9ydC0+c2V0UGl4ZWxBbGlnbmVkKHRydWUpOwpAQCAtMTI0Nyw3ICsxMjQ4LDExIEBA
IFFVcmwgUVF1aWNrV2ViVmlldzo6dXJsKCkgY29uc3QKICAgICAgICAgcmV0dXJuIGQtPm1fZGVm
ZXJyZWRVcmxUb0xvYWQ7CiAKICAgICBRX0FTU0VSVChkLT5tX2N1cnJlbnRVcmwgPT0gZC0+d2Vi
UGFnZVByb3h5LT5hY3RpdmVVUkwoKSk7Ci0gICAgcmV0dXJuIFFVcmwoZC0+bV9jdXJyZW50VXJs
KTsKKworICAgIFFVcmwgdXJsID0gUVVybChkLT5tX2N1cnJlbnRVcmwpOworICAgIGlmIChkLT5t
X2lzSW5WaWV3U291cmNlTW9kZSkKKyAgICAgICAgdXJsLnNldFNjaGVtZShRU3RyaW5nOjpmcm9t
TGF0aW4xKCJ2aWV3LXNvdXJjZToiKSArIHVybC5zY2hlbWUoKSk7CisgICAgcmV0dXJuIHVybDsK
IH0KIAogdm9pZCBRUXVpY2tXZWJWaWV3OjpzZXRVcmwoY29uc3QgUVVybCYgdXJsKQpAQCAtMTI1
OSw4ICsxMjY0LDEzIEBAIHZvaWQgUVF1aWNrV2ViVmlldzo6c2V0VXJsKGNvbnN0IFFVcmwmIHVy
bCkKIAogICAgIGlmICghaXNDb21wb25lbnRDb21wbGV0ZSgpKQogICAgICAgICBkLT5tX2RlZmVy
cmVkVXJsVG9Mb2FkID0gdXJsOwotICAgIGVsc2UKLSAgICAgICAgZC0+d2ViUGFnZVByb3h5LT5s
b2FkVVJMKHVybC50b1N0cmluZygpKTsKKyAgICBlbHNlIHsKKyAgICAgICAgZC0+bV9pc0luVmll
d1NvdXJjZU1vZGUgPSB1cmwuc2NoZW1lKCkgPT0gUVN0cmluZzo6ZnJvbUxhdGluMSgidmlldy1z
b3VyY2UiKTsKKyAgICAgICAgLy8gTWFrZSBzdXJlIHdlIGhhdmUgYSB3ZWxsIGZvcm1lZCBVUkwg
YWZ0ZXIgd2UgcmVtb3ZlIHRoZSBzY2hlbWUuCisgICAgICAgIFFVcmwgdXJsVG9Mb2FkID0gZC0+
bV9pc0luVmlld1NvdXJjZU1vZGUgPyBRVXJsOjpmcm9tVXNlcklucHV0KHVybC50b1N0cmluZyhR
VXJsOjpSZW1vdmVTY2hlbWUpKSA6IHVybDsKKyAgICAgICAgZC0+d2ViUGFnZVByb3h5LT5zZXRW
aWV3SW5Tb3VyY2VNb2RlKGQtPm1faXNJblZpZXdTb3VyY2VNb2RlKTsKKyAgICAgICAgZC0+d2Vi
UGFnZVByb3h5LT5sb2FkVVJMKHVybFRvTG9hZC50b1N0cmluZygpKTsKKyAgICB9CiAKICAgICBl
bWl0VXJsQ2hhbmdlSWZOZWVkZWQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaAppbmRleCAwNzBkMmFiNzg1Zjg5N2ZiYjhh
ZDA3YTEzZjc3YWM3NmVmYWZmNGQwLi4zNzJhY2M5YTFlYWIzM2E0MTMwNmQ2ZDVkMzZlNTA3Y2E0
Nzk0NDcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlj
a3dlYnZpZXdfcF9wLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVp
Y2t3ZWJ2aWV3X3BfcC5oCkBAIC0xOTEsNiArMTkxLDcgQEAgcHJvdGVjdGVkOgogICAgIGJvb2wg
bV9uYXZpZ2F0b3JRdE9iamVjdEVuYWJsZWQ7CiAgICAgYm9vbCBtX3JlbmRlclRvT2Zmc2NyZWVu
QnVmZmVyOwogICAgIGJvb2wgbV9kaWFsb2dBY3RpdmU7CisgICAgYm9vbCBtX2lzSW5WaWV3U291
cmNlTW9kZTsKICAgICBRVXJsIG1faWNvblVSTDsKICAgICBRVXJsIG1fZGVmZXJyZWRVcmxUb0xv
YWQ7CiAgICAgV1RGOjpTdHJpbmcgbV9jdXJyZW50VXJsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA3NDhhNTczODdmNWQ2MTg4YzBkY2U1NjBkMjhiZmE2
OTU3MTUzNWIxLi5jY2VmMTQxNjMzYTRiNDkzY2Q2NzdiMzkyODkzMjhmNTNkM2NhMjI5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMzc2OSw0ICszNzY5
LDkgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmhhbmRsZUFsdGVybmF0aXZlVGV4dFVJUmVzdWx0KGNv
bnN0IFN0cmluZyYgcmVzdWx0KQogfQogI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKIAordm9pZCBX
ZWJQYWdlUHJveHk6OnNldFZpZXdJblNvdXJjZU1vZGUoYm9vbCB2aWV3SW5Tb3VyY2VNb2RlKQor
eworICAgIHByb2Nlc3MoKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0Vmlld0luU291cmNl
TW9kZSh2aWV3SW5Tb3VyY2VNb2RlKSwgbV9wYWdlSUQsIDApOworfQorCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBhM2U5
YmI4Zjc5YmMwNDdhN2E4MThiMWUyYWIzNDI1MGY5YTFjNjM3Li43YTQ4NDQ0NDBiMjBlZGQzZTdl
ODM2MDM4MWIzNzdjN2FkM2E5YjAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oCkBAIC02NTEsNiArNjUxLDggQEAgcHVibGljOgogICAgIC8vIFdlYlBvcHVwTWVudVBy
b3h5OjpDbGllbnQKICAgICB2aXJ0dWFsIE5hdGl2ZVdlYk1vdXNlRXZlbnQqIGN1cnJlbnRseVBy
b2Nlc3NlZE1vdXNlRG93bkV2ZW50KCk7CiAKKyAgICB2b2lkIHNldFZpZXdJblNvdXJjZU1vZGUo
Ym9vbCk7CisKIHByaXZhdGU6CiAgICAgV2ViUGFnZVByb3h5KFBhZ2VDbGllbnQqLCBQYXNzUmVm
UHRyPFdlYlByb2Nlc3NQcm94eT4sIFdlYlBhZ2VHcm91cCosIHVpbnQ2NF90IHBhZ2VJRCk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCA3
ZjRkNmRiZDdiZjZjNGU0ZDM1NmRlOTc5MzlkM2E2ZDc4M2IxYjEzLi42YjRjNGM0MDU4YjZkMTAy
YTAxNjBjOTkxMjMzMmZhYjQ3YWYxMTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0zMTY4LDQgKzMxNjgsOSBAQCB2b2lkIFdlYlBhZ2U6
OnNldFZpc2liaWxpdHlTdGF0ZShpbnQgdmlzaWJpbGl0eVN0YXRlLCBib29sIGlzSW5pdGlhbFN0
YXRlKQogfQogI2VuZGlmCiAKK3ZvaWQgV2ViUGFnZTo6c2V0Vmlld0luU291cmNlTW9kZShib29s
IHZpZXdJblNvdXJjZU1vZGUpCit7CisgICAgbV9tYWluRnJhbWUtPmNvcmVGcmFtZSgpLT5zZXRJ
blZpZXdTb3VyY2VNb2RlKHZpZXdJblNvdXJjZU1vZGUpOworfQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4
IGQ5ZDJkZjcyY2Q5MmMxNmE4ZDhkMmYyMDM0ZGEzYzdmODBhNjJiZmMuLmNmMjUyYjg5Njg3OTIy
NDMxMDE2Njk3Y2E0NmQxMzUyMTFjYTU1Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtNTMxLDYgKzUzMSw4IEBAIHB1YmxpYzoKICAgICB2b2lk
IHNldFZpc2liaWxpdHlTdGF0ZShpbnQgdmlzaWJpbGl0eVN0YXRlLCBib29sIGlzSW5pdGlhbFN0
YXRlKTsKICNlbmRpZgogCisgICAgdm9pZCBzZXRWaWV3SW5Tb3VyY2VNb2RlKGJvb2wpOworCiBw
cml2YXRlOgogICAgIFdlYlBhZ2UodWludDY0X3QgcGFnZUlELCBjb25zdCBXZWJQYWdlQ3JlYXRp
b25QYXJhbWV0ZXJzJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggODM4MWYyNjAzYjJhNTEzMTE2ZjQ2NGEy
M2NhYmQ3ZTMxZmIwZGRmMy4uOTBhODg0OWU4MWI4MTZiMDg4YzdjNjI3OTUyYjJlYmIxMzg0MTkz
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
bWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UubWVzc2FnZXMuaW4KQEAgLTI2OSw0ICsyNjksNiBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIHsK
ICNpZiBFTkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQSSkKICAgICBTZXRWaXNpYmlsaXR5U3RhdGUo
aW50IHZpc2liaWxpdHlTdGF0ZSwgYm9vbCBpc0luaXRpYWxTdGF0ZSk7CiAjZW5kaWYKKworICAg
IFNldFZpZXdJblNvdXJjZU1vZGUoYm9vbCB2aWV3SW5Tb3VyY2VNb2RlKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140088</attachid>
            <date>2012-05-03 14:04:05 -0700</date>
            <delta_ts>2012-05-04 05:15:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84953-20120503180324.patch</filename>
            <type>text/plain</type>
            <size>8080</size>
            <attacher name="Jesus Sanchez-Palencia">jesus</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2MDA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTdkNjI1MzY3NzYzYzkx
YmZhNzA4OTA5MmE2NmE1YTNkOGVhM2ViYy4uOWMwYjdlYzkzYzgzY2I4Y2ZmZDJhNjdiODkyNGU2
ZTkzOGU0OTgwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTA1LTAzICBKZXN1
cyBTYW5jaGV6LVBhbGVuY2lhICA8amVzdXMucGFsZW5jaWFAb3BlbmJvc3NhLm9yZz4KKworICAg
ICAgICBbUXRdW1dLMl0gUXRXZWJLaXQyIGRvZXNuJ3QgaGF2ZSBhbiBBUEkgZm9yIGdldHRpbmcg
YSBwYWdlIHNvdXJjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODQ5NTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGlzIHBhdGNoIGFkZHMgYSB3YXkgc28gb25lIGNhbiBnZXQgYSBwYWdlIHNvdXJjZSBy
ZW5kZXJlZCBvbiB0aGUgd2VidmlldywKKyAgICAgICAgYnkgdXNpbmcgdGhlICJ2aWV3LXNvdXJj
ZToiIFVSTCBzY2hlbWUuIEl0IHdhcyBpbXBsZW1lbnRlZCBieQorICAgICAgICBhZGRpbmcgYSBt
ZXNzYWdlIHRvIFdlYlBhZ2UgYW5kIFdlYlBhZ2VQcm94eSB0aGF0IHdpbGwgdGhlbiB1c2Ugd2hh
dAorICAgICAgICBpcyBwcm92aWRlZCBieSBXZWJDb3JlOjpGcmFtZTo6c2V0Vmlld0luU291cmNl
TW9kZS4gVGhpcyBmdW5jdGlvbgorICAgICAgICBoYXMgdG8gYmUgY2FsbGVkIGJlZm9yZSBhIGxv
YWQgcmVxdWVzdC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5j
cHA6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6UVF1aWNrV2ViVmlld1ByaXZhdGUp
OgorICAgICAgICAoUVF1aWNrV2ViVmlldzo6dXJsKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXc6
OnNldFVybCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5o
OgorICAgICAgICAoUVF1aWNrV2ViVmlld1ByaXZhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNldFZpZXdJ
blNvdXJjZU1vZGUpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lmg6CisgICAgICAgIChXZWJQYWdlUHJveHkpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6c2V0Vmll
d0luU291cmNlTW9kZSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgIChXZWJQYWdlKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKwogMjAxMi0wNS0wMyAgRmFkeSBTYW11
ZWwgIDxmc2FtdWVsQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZW1vdmluZyBsaW5lIGluIGNv
bXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMgdGhhdCBlbmZvcmNlcyBhIG1pbmltdW0gc2NhbGUgZmFj
dG9yIHRvIG5ldmVyIGFsbG93IHpvb21pbmcgb3V0IG1vcmUgdGhhbiB2aWV3cG9ydApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKaW5kZXgg
NGM2OGI0YWUxZmU0NDhjZmE4NmQzYTQ2ZDhmODA5NzhkNTU3Mjk4Mi4uNWYwZjVjZmZlMTc4NGU0
NzgxZWE4ZTExZjc2YzI3NDYzMzU4ZDhjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCkBAIC0xNTksNiArMTU5LDcgQEAgUVF1aWNr
V2ViVmlld1ByaXZhdGU6OlFRdWlja1dlYlZpZXdQcml2YXRlKFFRdWlja1dlYlZpZXcqIHZpZXdw
b3J0KQogICAgICwgbV9uYXZpZ2F0b3JRdE9iamVjdEVuYWJsZWQoZmFsc2UpCiAgICAgLCBtX3Jl
bmRlclRvT2Zmc2NyZWVuQnVmZmVyKGZhbHNlKQogICAgICwgbV9kaWFsb2dBY3RpdmUoZmFsc2Up
CisgICAgLCBtX2lzSW5WaWV3U291cmNlTW9kZShmYWxzZSkKIHsKICAgICB2aWV3cG9ydC0+c2V0
Q2xpcCh0cnVlKTsKICAgICB2aWV3cG9ydC0+c2V0UGl4ZWxBbGlnbmVkKHRydWUpOwpAQCAtMTMy
MCw3ICsxMzIxLDggQEAgUVVybCBRUXVpY2tXZWJWaWV3Ojp1cmwoKSBjb25zdAogICAgIFJlZlB0
cjxXZWJGcmFtZVByb3h5PiBtYWluRnJhbWUgPSBkLT53ZWJQYWdlUHJveHktPm1haW5GcmFtZSgp
OwogICAgIGlmICghbWFpbkZyYW1lKQogICAgICAgICByZXR1cm4gUVVybCgpOwotICAgIHJldHVy
biBRVXJsKFFTdHJpbmcobWFpbkZyYW1lLT51cmwoKSkpOworICAgIFdURjo6U3RyaW5nIHVybCA9
IGQtPm1faXNJblZpZXdTb3VyY2VNb2RlID8gInZpZXctc291cmNlOiIgKyBtYWluRnJhbWUtPnVy
bCgpIDogbWFpbkZyYW1lLT51cmwoKTsKKyAgICByZXR1cm4gUVVybCh1cmwpOwogfQogCiB2b2lk
IFFRdWlja1dlYlZpZXc6OnNldFVybChjb25zdCBRVXJsJiB1cmwpCkBAIC0xMzM1LDcgKzEzMzcs
OSBAQCB2b2lkIFFRdWlja1dlYlZpZXc6OnNldFVybChjb25zdCBRVXJsJiB1cmwpCiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKLSAgICBkLT53ZWJQYWdlUHJveHktPmxvYWRVUkwodXJsLnRvU3Ry
aW5nKCkpOworICAgIGQtPm1faXNJblZpZXdTb3VyY2VNb2RlID0gdXJsLnNjaGVtZSgpID09IFFT
dHJpbmc6OmZyb21MYXRpbjEoInZpZXctc291cmNlIik7CisgICAgZC0+d2ViUGFnZVByb3h5LT5z
ZXRWaWV3SW5Tb3VyY2VNb2RlKGQtPm1faXNJblZpZXdTb3VyY2VNb2RlKTsKKyAgICBkLT53ZWJQ
YWdlUHJveHktPmxvYWRVUkwoZC0+bV9pc0luVmlld1NvdXJjZU1vZGUgPyB1cmwudG9TdHJpbmco
UVVybDo6UmVtb3ZlU2NoZW1lKSA6IHVybC50b1N0cmluZygpKTsKIH0KIAogUVVybCBRUXVpY2tX
ZWJWaWV3OjppY29uKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaAppbmRleCA0MTc2MThkMGE0MWNiMjU2MWZjMTEyNTQz
MDY5MmRjMzQ3YTdiMTM1Li5kOWM0NmM2NGQ0Yzc5YjVmZDMzZWE3OWEwZWIwNGRhM2UzMWRmZGJi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZp
ZXdfcF9wLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2
aWV3X3BfcC5oCkBAIC0xOTEsNiArMTkxLDcgQEAgcHJvdGVjdGVkOgogICAgIGJvb2wgbV9uYXZp
Z2F0b3JRdE9iamVjdEVuYWJsZWQ7CiAgICAgYm9vbCBtX3JlbmRlclRvT2Zmc2NyZWVuQnVmZmVy
OwogICAgIGJvb2wgbV9kaWFsb2dBY3RpdmU7CisgICAgYm9vbCBtX2lzSW5WaWV3U291cmNlTW9k
ZTsKICAgICBRVXJsIG1faWNvblVSTDsKICAgICBRVXJsIG1fZGVmZXJlZFVybFRvTG9hZDsKIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDdjYzMwZjQw
ZTE0OGYyNWFhOTQ3OWNkODEwZDkyZWQyNGQ4MzQxZDMuLjA1NzgxNjY2YzViNTgwOGEyZmJmY2Y1
ODhlZjE3ODczMzJjYzZiYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwCkBAIC0zNzY5LDQgKzM3NjksOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6aGFuZGxlQWx0
ZXJuYXRpdmVUZXh0VUlSZXN1bHQoY29uc3QgU3RyaW5nJiByZXN1bHQpCiB9CiAjZW5kaWYgLy8g
UExBVEZPUk0oTUFDKQogCit2b2lkIFdlYlBhZ2VQcm94eTo6c2V0Vmlld0luU291cmNlTW9kZShi
b29sIHZpZXdJblNvdXJjZU1vZGUpCit7CisgICAgcHJvY2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlOjpTZXRWaWV3SW5Tb3VyY2VNb2RlKHZpZXdJblNvdXJjZU1vZGUpLCBtX3BhZ2VJRCwg
MCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCmluZGV4IGEzZTliYjhmNzliYzA0N2E3YTgxOGIxZTJhYjM0MjUwZjlhMWM2
MzcuLjdhNDg0NDQ0MGIyMGVkZDNlN2U4MzYwMzgxYjM3N2M3YWQzYTliMDEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTY1MSw2ICs2NTEsOCBAQCBwdWJsaWM6
CiAgICAgLy8gV2ViUG9wdXBNZW51UHJveHk6OkNsaWVudAogICAgIHZpcnR1YWwgTmF0aXZlV2Vi
TW91c2VFdmVudCogY3VycmVudGx5UHJvY2Vzc2VkTW91c2VEb3duRXZlbnQoKTsKIAorICAgIHZv
aWQgc2V0Vmlld0luU291cmNlTW9kZShib29sKTsKKwogcHJpdmF0ZToKICAgICBXZWJQYWdlUHJv
eHkoUGFnZUNsaWVudCosIFBhc3NSZWZQdHI8V2ViUHJvY2Vzc1Byb3h5PiwgV2ViUGFnZUdyb3Vw
KiwgdWludDY0X3QgcGFnZUlEKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCmluZGV4IDE0NWNkODI1ZGQwMTBjMjk2N2IxNDRiM2IzZGM5MDAwNWZi
MzIyMmQuLjRmZWE5NGNhMjk4YTk0MjBjYWNlMDllZTA5M2E0NGYxMzY4N2QxOGEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTMxNTksNCAr
MzE1OSw5IEBAIHZvaWQgV2ViUGFnZTo6c2V0VmlzaWJpbGl0eVN0YXRlKGludCB2aXNpYmlsaXR5
U3RhdGUsIGJvb2wgaXNJbml0aWFsU3RhdGUpCiB9CiAjZW5kaWYKIAordm9pZCBXZWJQYWdlOjpz
ZXRWaWV3SW5Tb3VyY2VNb2RlKGJvb2wgdmlld0luU291cmNlTW9kZSkKK3sKKyAgICBtX21haW5G
cmFtZS0+Y29yZUZyYW1lKCktPnNldEluVmlld1NvdXJjZU1vZGUodmlld0luU291cmNlTW9kZSk7
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggZDlkMmRmNzJjZDkyYzE2YThkOGQyZjIwMzRkYTNjN2Y4
MGE2MmJmYy4uY2YyNTJiODk2ODc5MjI0MzEwMTY2OTdjYTQ2ZDEzNTIxMWNhNTVjZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC01MzEsNiArNTMx
LDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0VmlzaWJpbGl0eVN0YXRlKGludCB2aXNpYmlsaXR5
U3RhdGUsIGJvb2wgaXNJbml0aWFsU3RhdGUpOwogI2VuZGlmCiAKKyAgICB2b2lkIHNldFZpZXdJ
blNvdXJjZU1vZGUoYm9vbCk7CisKIHByaXZhdGU6CiAgICAgV2ViUGFnZSh1aW50NjRfdCBwYWdl
SUQsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgppbmRleCA4
MzgxZjI2MDNiMmE1MTMxMTZmNDY0YTIzY2FiZDdlMzFmYjBkZGYzLi45MGE4ODQ5ZTgxYjgxNmIw
ODhjN2M2Mjc5NTJiMmViYjEzODQxOTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAtMjY5LDQgKzI2OSw2IEBA
IG1lc3NhZ2VzIC0+IFdlYlBhZ2UgewogI2lmIEVOQUJMRShQQUdFX1ZJU0lCSUxJVFlfQVBJKQog
ICAgIFNldFZpc2liaWxpdHlTdGF0ZShpbnQgdmlzaWJpbGl0eVN0YXRlLCBib29sIGlzSW5pdGlh
bFN0YXRlKTsKICNlbmRpZgorCisgICAgU2V0Vmlld0luU291cmNlTW9kZShib29sIHZpZXdJblNv
dXJjZU1vZGUpOwogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IDJhMTUxYWY5NWU5MjdlMGM2ZGRmMjgzYzY1MmZmY2I4NzM0NGY5MWIuLmE5OGE3
ZmZiYjAzMTdkMTRjNzc4ZGU3Y2ZmMjY5OTE5MGQxZjI2OTEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0No
YW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wNS0w
MyAgSmVzdXMgU2FuY2hlei1QYWxlbmNpYSAgPGplc3VzLnBhbGVuY2lhQG9wZW5ib3NzYS5vcmc+
CisKKyAgICAgICAgW1F0XVtXSzJdIFF0V2ViS2l0MiBkb2Vzbid0IGhhdmUgYW4gQVBJIGZvciBn
ZXR0aW5nIGEgcGFnZSBzb3VyY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTg0OTUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhpcyBwYXRjaCBhZGRzIGEgd2F5IHNvIG9uZSBjYW4gZ2V0IGEgcGFnZSBz
b3VyY2UgcmVuZGVyZWQgb24gdGhlIHdlYnZpZXcsCisgICAgICAgIGJ5IHVzaW5nIHRoZSAidmll
dy1zb3VyY2U6IiBVUkwgc2NoZW1lLgorCisgICAgICAgICogTWluaUJyb3dzZXIvcXQvdXRpbHMu
Y3BwOgorICAgICAgICAoVXRpbHM6OnVybEZyb21Vc2VySW5wdXQpOgorCiAyMDEyLTA1LTAzICBB
bmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBJbmplY3RlZEJ1bmRsZUNv
bnRyb2xsZXJNYWMubW0gbmVlZHMgdG8gaW5jbHVkZSBjb25maWcuaApkaWZmIC0tZ2l0IGEvVG9v
bHMvTWluaUJyb3dzZXIvcXQvdXRpbHMuY3BwIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvdXRpbHMu
Y3BwCmluZGV4IGQ2NDkxY2M0ZTBmODQzN2Q0MmRjZTJiMTU1NTU3MjZkOWRhMzc4NmEuLjViYjlm
ZjgxNmFlZWY1NjU4NWFkNGE2YzcxMGRmNjIwMmI5MGZiYmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01p
bmlCcm93c2VyL3F0L3V0aWxzLmNwcAorKysgYi9Ub29scy9NaW5pQnJvd3Nlci9xdC91dGlscy5j
cHAKQEAgLTk0LDUgKzk0LDEyIEBAIFFVcmwgVXRpbHM6OnVybEZyb21Vc2VySW5wdXQoY29uc3Qg
UVN0cmluZyYgc3RyaW5nKQogICAgIGlmIChmaS5leGlzdHMoKSAmJiBmaS5pc1JlbGF0aXZlKCkp
CiAgICAgICAgIGlucHV0ID0gZmkuYWJzb2x1dGVGaWxlUGF0aCgpOwogCi0gICAgcmV0dXJuIFFV
cmw6OmZyb21Vc2VySW5wdXQoaW5wdXQpOworICAgIFFVcmwgdXJsID0gUVVybDo6ZnJvbVVzZXJJ
bnB1dChpbnB1dCk7CisgICAgaWYgKHVybC5zY2hlbWUoKSA9PSBRU3RyaW5nOjpmcm9tTGF0aW4x
KCJ2aWV3LXNvdXJjZSIpKSB7CisgICAgICAgIC8vIE1ha2Ugc3VyZSB3ZSBoYXZlIGEgd2VsbCBm
b3JtZWQgVVJMIGFmdGVyIHRoZSB2aWV3LXNvdXJjZSBzY2hlbWUuCisgICAgICAgIHVybCA9IFFV
cmw6OmZyb21Vc2VySW5wdXQodXJsLnRvU3RyaW5nKFFVcmw6OlJlbW92ZVNjaGVtZSkpOworICAg
ICAgICB1cmwgPSBRVXJsKFFTdHJpbmc6OmZyb21MYXRpbjEoInZpZXctc291cmNlOiIpICsgdXJs
LnRvU3RyaW5nKCkpOworICAgIH0KKworICAgIHJldHVybiB1cmw7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140193</attachid>
            <date>2012-05-04 05:15:31 -0700</date>
            <delta_ts>2012-06-01 23:52:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84953-20120504091451.patch</filename>
            <type>text/plain</type>
            <size>8515</size>
            <attacher name="Jesus Sanchez-Palencia">jesus</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2MDgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYjgzYmIyZGE2YTU3YzFl
MTdjMDY4YWZmZjBmNzI5YjEzMDBlM2VjZS4uZjBhNTQwZTVmZDkyNzgyNGI5Y2RiZDY3MTkzMWQ2
ODA4N2I2ZTE4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTA1LTAzICBKZXN1
cyBTYW5jaGV6LVBhbGVuY2lhICA8amVzdXMucGFsZW5jaWFAb3BlbmJvc3NhLm9yZz4KKworICAg
ICAgICBbUXRdW1dLMl0gUXRXZWJLaXQyIGRvZXNuJ3QgaGF2ZSBhbiBBUEkgZm9yIGdldHRpbmcg
YSBwYWdlIHNvdXJjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODQ5NTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGlzIHBhdGNoIGFkZHMgYSB3YXkgc28gb25lIGNhbiBnZXQgYSBwYWdlIHNvdXJjZSBy
ZW5kZXJlZCBvbiB0aGUgd2VidmlldywKKyAgICAgICAgYnkgdXNpbmcgdGhlICJ2aWV3LXNvdXJj
ZToiIFVSTCBzY2hlbWUuIEl0IHdhcyBpbXBsZW1lbnRlZCBieQorICAgICAgICBhZGRpbmcgYSBt
ZXNzYWdlIHRvIFdlYlBhZ2UgYW5kIFdlYlBhZ2VQcm94eSB0aGF0IHdpbGwgdGhlbiB1c2Ugd2hh
dAorICAgICAgICBpcyBwcm92aWRlZCBieSBXZWJDb3JlOjpGcmFtZTo6c2V0Vmlld0luU291cmNl
TW9kZS4gVGhpcyBmdW5jdGlvbgorICAgICAgICBoYXMgdG8gYmUgY2FsbGVkIGJlZm9yZSBhIGxv
YWQgcmVxdWVzdC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5j
cHA6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6UVF1aWNrV2ViVmlld1ByaXZhdGUp
OgorICAgICAgICAoUVF1aWNrV2ViVmlldzo6dXJsKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXc6
OnNldFVybCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5o
OgorICAgICAgICAoUVF1aWNrV2ViVmlld1ByaXZhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNldFZpZXdJ
blNvdXJjZU1vZGUpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lmg6CisgICAgICAgIChXZWJQYWdlUHJveHkpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6c2V0Vmll
d0luU291cmNlTW9kZSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgIChXZWJQYWdlKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKwogMjAxMi0wNS0wMyAgT2phbiBWYWZh
aSAgPG9qYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEhpc3RvZ3JhbSB0b3RhbCBhbGxvY2F0
ZWQgYnl0ZXMgaW4gdGhlIGFyZW5hIGluIGFkZGl0aW9uIHRvIHRoZSByZW5kZXIgdHJlZSBzaXpl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZp
ZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNw
cAppbmRleCA0YzY4YjRhZTFmZTQ0OGNmYTg2ZDNhNDZkOGY4MDk3OGQ1NTcyOTgyLi4zMjAyMjY0
MTZmMWFjYzIwZDQ0NmVlMzlmMWJkODk4MmFlNGFjNjU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKQEAgLTU1LDYgKzU1LDcgQEAK
ICNpbmNsdWRlIDxXS09wZW5QYW5lbFJlc3VsdExpc3RlbmVyLmg+CiAjaW5jbHVkZSA8d3RmL0Fz
c2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgorI2luY2x1ZGUgPHd0Zi90
ZXh0L1N0cmluZ0J1aWxkZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAog
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CkBAIC0xNTksNiArMTYwLDcgQEAgUVF1aWNrV2ViVmll
d1ByaXZhdGU6OlFRdWlja1dlYlZpZXdQcml2YXRlKFFRdWlja1dlYlZpZXcqIHZpZXdwb3J0KQog
ICAgICwgbV9uYXZpZ2F0b3JRdE9iamVjdEVuYWJsZWQoZmFsc2UpCiAgICAgLCBtX3JlbmRlclRv
T2Zmc2NyZWVuQnVmZmVyKGZhbHNlKQogICAgICwgbV9kaWFsb2dBY3RpdmUoZmFsc2UpCisgICAg
LCBtX2lzSW5WaWV3U291cmNlTW9kZShmYWxzZSkKIHsKICAgICB2aWV3cG9ydC0+c2V0Q2xpcCh0
cnVlKTsKICAgICB2aWV3cG9ydC0+c2V0UGl4ZWxBbGlnbmVkKHRydWUpOwpAQCAtMTMyMCw3ICsx
MzIyLDEyIEBAIFFVcmwgUVF1aWNrV2ViVmlldzo6dXJsKCkgY29uc3QKICAgICBSZWZQdHI8V2Vi
RnJhbWVQcm94eT4gbWFpbkZyYW1lID0gZC0+d2ViUGFnZVByb3h5LT5tYWluRnJhbWUoKTsKICAg
ICBpZiAoIW1haW5GcmFtZSkKICAgICAgICAgcmV0dXJuIFFVcmwoKTsKLSAgICByZXR1cm4gUVVy
bChRU3RyaW5nKG1haW5GcmFtZS0+dXJsKCkpKTsKKworICAgIFN0cmluZ0J1aWxkZXIgdXJsOwor
ICAgIGlmIChkLT5tX2lzSW5WaWV3U291cmNlTW9kZSkKKyAgICAgICAgdXJsLmFwcGVuZCgidmll
dy1zb3VyY2U6Iik7CisgICAgdXJsLmFwcGVuZChtYWluRnJhbWUtPnVybCgpKTsKKyAgICByZXR1
cm4gUVVybCh1cmwudG9TdHJpbmcoKSk7CiB9CiAKIHZvaWQgUVF1aWNrV2ViVmlldzo6c2V0VXJs
KGNvbnN0IFFVcmwmIHVybCkKQEAgLTEzMzUsNyArMTM0Miw5IEBAIHZvaWQgUVF1aWNrV2ViVmll
dzo6c2V0VXJsKGNvbnN0IFFVcmwmIHVybCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAg
IGQtPndlYlBhZ2VQcm94eS0+bG9hZFVSTCh1cmwudG9TdHJpbmcoKSk7CisgICAgZC0+bV9pc0lu
Vmlld1NvdXJjZU1vZGUgPSB1cmwuc2NoZW1lKCkgPT0gUVN0cmluZzo6ZnJvbUxhdGluMSgidmll
dy1zb3VyY2UiKTsKKyAgICBkLT53ZWJQYWdlUHJveHktPnNldFZpZXdJblNvdXJjZU1vZGUoZC0+
bV9pc0luVmlld1NvdXJjZU1vZGUpOworICAgIGQtPndlYlBhZ2VQcm94eS0+bG9hZFVSTChkLT5t
X2lzSW5WaWV3U291cmNlTW9kZSA/IHVybC50b1N0cmluZyhRVXJsOjpSZW1vdmVTY2hlbWUpIDog
dXJsLnRvU3RyaW5nKCkpOwogfQogCiBRVXJsIFFRdWlja1dlYlZpZXc6Omljb24oKSBjb25zdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3
X3BfcC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3Bf
cC5oCmluZGV4IDQxNzYxOGQwYTQxY2IyNTYxZmMxMTI1NDMwNjkyZGMzNDdhN2IxMzUuLmQ5YzQ2
YzY0ZDRjNzliNWZkMzNlYTc5YTBlYjA0ZGEzZTMxZGZkYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmgKQEAgLTE5MSw2ICsx
OTEsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBtX25hdmlnYXRvclF0T2JqZWN0RW5hYmxlZDsK
ICAgICBib29sIG1fcmVuZGVyVG9PZmZzY3JlZW5CdWZmZXI7CiAgICAgYm9vbCBtX2RpYWxvZ0Fj
dGl2ZTsKKyAgICBib29sIG1faXNJblZpZXdTb3VyY2VNb2RlOwogICAgIFFVcmwgbV9pY29uVVJM
OwogICAgIFFVcmwgbV9kZWZlcmVkVXJsVG9Mb2FkOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggN2NjMzBmNDBlMTQ4ZjI1YWE5NDc5Y2Q4MTBkOTJl
ZDI0ZDgzNDFkMy4uMDU3ODE2NjZjNWI1ODA4YTJmYmZjZjU4OGVmMTc4NzMzMmNjNmJjMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTM3NjksNCArMzc2
OSw5IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpoYW5kbGVBbHRlcm5hdGl2ZVRleHRVSVJlc3VsdChj
b25zdCBTdHJpbmcmIHJlc3VsdCkKIH0KICNlbmRpZiAvLyBQTEFURk9STShNQUMpCiAKK3ZvaWQg
V2ViUGFnZVByb3h5OjpzZXRWaWV3SW5Tb3VyY2VNb2RlKGJvb2wgdmlld0luU291cmNlTW9kZSkK
K3sKKyAgICBwcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldFZpZXdJblNvdXJj
ZU1vZGUodmlld0luU291cmNlTW9kZSksIG1fcGFnZUlELCAwKTsKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggYTNl
OWJiOGY3OWJjMDQ3YTdhODE4YjFlMmFiMzQyNTBmOWExYzYzNy4uN2E0ODQ0NDQwYjIwZWRkM2U3
ZTgzNjAzODFiMzc3YzdhZDNhOWIwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaApAQCAtNjUxLDYgKzY1MSw4IEBAIHB1YmxpYzoKICAgICAvLyBXZWJQb3B1cE1lbnVQ
cm94eTo6Q2xpZW50CiAgICAgdmlydHVhbCBOYXRpdmVXZWJNb3VzZUV2ZW50KiBjdXJyZW50bHlQ
cm9jZXNzZWRNb3VzZURvd25FdmVudCgpOwogCisgICAgdm9pZCBzZXRWaWV3SW5Tb3VyY2VNb2Rl
KGJvb2wpOworCiBwcml2YXRlOgogICAgIFdlYlBhZ2VQcm94eShQYWdlQ2xpZW50KiwgUGFzc1Jl
ZlB0cjxXZWJQcm9jZXNzUHJveHk+LCBXZWJQYWdlR3JvdXAqLCB1aW50NjRfdCBwYWdlSUQpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXgg
Mzg4M2E1YzdhYTZlYjcwYTJkYWZiN2NjOTMyMDIzY2EwYTQwZjJkMi4uYjQxYzE0Y2ZhNmQ4NTli
Y2I0MGY4NWFiNWI0M2YyM2Y2NWY0MmUwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMzE1OSw0ICszMTU5LDExIEBAIHZvaWQgV2ViUGFn
ZTo6c2V0VmlzaWJpbGl0eVN0YXRlKGludCB2aXNpYmlsaXR5U3RhdGUsIGJvb2wgaXNJbml0aWFs
U3RhdGUpCiB9CiAjZW5kaWYKIAordm9pZCBXZWJQYWdlOjpzZXRWaWV3SW5Tb3VyY2VNb2RlKGJv
b2wgdmlld0luU291cmNlTW9kZSkKK3sKKyAgICBpZiAoIW1fbWFpbkZyYW1lLT5jb3JlRnJhbWUo
KSkKKyAgICAgICAgcmV0dXJuOworICAgIG1fbWFpbkZyYW1lLT5jb3JlRnJhbWUoKS0+c2V0SW5W
aWV3U291cmNlTW9kZSh2aWV3SW5Tb3VyY2VNb2RlKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCBk
OWQyZGY3MmNkOTJjMTZhOGQ4ZDJmMjAzNGRhM2M3ZjgwYTYyYmZjLi5jZjI1MmI4OTY4NzkyMjQz
MTAxNjY5N2NhNDZkMTM1MjExY2E1NWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmgKQEAgLTUzMSw2ICs1MzEsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBz
ZXRWaXNpYmlsaXR5U3RhdGUoaW50IHZpc2liaWxpdHlTdGF0ZSwgYm9vbCBpc0luaXRpYWxTdGF0
ZSk7CiAjZW5kaWYKIAorICAgIHZvaWQgc2V0Vmlld0luU291cmNlTW9kZShib29sKTsKKwogcHJp
dmF0ZToKICAgICBXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgV2ViUGFnZUNyZWF0aW9u
UGFyYW1ldGVycyYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4IDgzODFmMjYwM2IyYTUxMzExNmY0NjRhMjNj
YWJkN2UzMWZiMGRkZjMuLjkwYTg4NDllODFiODE2YjA4OGM3YzYyNzk1MmIyZWJiMTM4NDE5MzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1l
c3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
Lm1lc3NhZ2VzLmluCkBAIC0yNjksNCArMjY5LDYgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZSB7CiAj
aWYgRU5BQkxFKFBBR0VfVklTSUJJTElUWV9BUEkpCiAgICAgU2V0VmlzaWJpbGl0eVN0YXRlKGlu
dCB2aXNpYmlsaXR5U3RhdGUsIGJvb2wgaXNJbml0aWFsU3RhdGUpOwogI2VuZGlmCisKKyAgICBT
ZXRWaWV3SW5Tb3VyY2VNb2RlKGJvb2wgdmlld0luU291cmNlTW9kZSk7CiB9CmRpZmYgLS1naXQg
YS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYjJjNzFlZDA4MjgyY2M2
YjJhMThlMjdhMDc0ODM1ZDY4NmZjMzgyNi4uYTRiZmQwZDU1NzJjMWQ5ZTA2ZDk5M2Y5YTVlNjI4
ODkxZWUzNThjMCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA1LTAzICBKZXN1cyBTYW5jaGV6LVBhbGVuY2lh
ICA8amVzdXMucGFsZW5jaWFAb3BlbmJvc3NhLm9yZz4KKworICAgICAgICBbUXRdW1dLMl0gUXRX
ZWJLaXQyIGRvZXNuJ3QgaGF2ZSBhbiBBUEkgZm9yIGdldHRpbmcgYSBwYWdlIHNvdXJjZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQ5NTMKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGFk
ZHMgYSB3YXkgc28gb25lIGNhbiBnZXQgYSBwYWdlIHNvdXJjZSByZW5kZXJlZCBvbiB0aGUgd2Vi
dmlldywKKyAgICAgICAgYnkgdXNpbmcgdGhlICJ2aWV3LXNvdXJjZToiIFVSTCBzY2hlbWUuCisK
KyAgICAgICAgKiBNaW5pQnJvd3Nlci9xdC91dGlscy5jcHA6CisgICAgICAgIChVdGlsczo6dXJs
RnJvbVVzZXJJbnB1dCk6CisKIDIwMTItMDUtMDMgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3Rv
cGhlLmR1bWV6QGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXSBEUlQgc2hvdWxkIG9iZXkgbGF5
b3V0VGVzdENvbnRyb2xsZXIncyBhZGRVUkxUb1JlZGlyZWN0KCkKZGlmZiAtLWdpdCBhL1Rvb2xz
L01pbmlCcm93c2VyL3F0L3V0aWxzLmNwcCBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L3V0aWxzLmNw
cAppbmRleCBkNjQ5MWNjNGUwZjg0MzdkNDJkY2UyYjE1NTU1NzI2ZDlkYTM3ODZhLi5kZmEwYWMz
NmU3Y2I4OTY5NWE1ODNiYzUwYzUzZjBhY2ZjYjBjY2FlIDEwMDY0NAotLS0gYS9Ub29scy9NaW5p
QnJvd3Nlci9xdC91dGlscy5jcHAKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvdXRpbHMuY3Bw
CkBAIC05NCw1ICs5NCwxNCBAQCBRVXJsIFV0aWxzOjp1cmxGcm9tVXNlcklucHV0KGNvbnN0IFFT
dHJpbmcmIHN0cmluZykKICAgICBpZiAoZmkuZXhpc3RzKCkgJiYgZmkuaXNSZWxhdGl2ZSgpKQog
ICAgICAgICBpbnB1dCA9IGZpLmFic29sdXRlRmlsZVBhdGgoKTsKIAotICAgIHJldHVybiBRVXJs
Ojpmcm9tVXNlcklucHV0KGlucHV0KTsKKyAgICBRVXJsIHVybCA9IFFVcmw6OmZyb21Vc2VySW5w
dXQoaW5wdXQpOworICAgIC8vIFFVcmw6OmZyb21Vc2VySW5wdXQgZG9lc24ndCAic2FuaXRpemUi
IHVybHMgc3RhcnRpbmcgd2l0aCB2aWV3LXNvdXJjZS4KKyAgICAvLyAoZS5nLiB2aWV3LXNvdXJj
ZTp3d3cuZm9vLmNvbSAtPiB2aWV3LXNvdXJjZTpodHRwOi8vd3d3LmZvby5jb20pCisgICAgaWYg
KHVybC5zY2hlbWUoKSA9PSBRU3RyaW5nOjpmcm9tTGF0aW4xKCJ2aWV3LXNvdXJjZSIpKSB7Cisg
ICAgICAgIC8vIE1ha2Ugc3VyZSB3ZSBoYXZlIGEgd2VsbCBmb3JtZWQgVVJMIGFmdGVyIHRoZSB2
aWV3LXNvdXJjZSBzY2hlbWUuCisgICAgICAgIHVybCA9IFFVcmw6OmZyb21Vc2VySW5wdXQodXJs
LnRvU3RyaW5nKFFVcmw6OlJlbW92ZVNjaGVtZSkpOworICAgICAgICB1cmwgPSBRVXJsKFFTdHJp
bmc6OmZyb21MYXRpbjEoInZpZXctc291cmNlOiIpICsgdXJsLnRvU3RyaW5nKCkpOworICAgIH0K
KworICAgIHJldHVybiB1cmw7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>