<?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>69610</bug_id>
          
          <creation_ts>2011-10-07 02:20:33 -0700</creation_ts>
          <short_desc>[GTK] Add webkit_web_view_stop_loading() to WebKit2 GTK+ API</short_desc>
          <delta_ts>2011-10-21 01:08:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>gustavo</cc>
    
    <cc>pnormand</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>479889</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-10-07 02:20:33 -0700</bug_when>
    <thetext>It&apos;s currently missing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479894</commentid>
    <comment_count>1</comment_count>
      <attachid>110111</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-10-07 02:29:51 -0700</bug_when>
    <thetext>Created attachment 110111
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479899</commentid>
    <comment_count>2</comment_count>
      <attachid>110112</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-10-07 02:40:01 -0700</bug_when>
    <thetext>Created attachment 110112
Updated patch

I forgot to add g_return_if_fail macro.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>483914</commentid>
    <comment_count>3</comment_count>
      <attachid>110995</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-10-14 05:03:21 -0700</bug_when>
    <thetext>Created attachment 110995
Patch updated to current git master</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484014</commentid>
    <comment_count>4</comment_count>
      <attachid>110995</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-10-14 09:13:48 -0700</bug_when>
    <thetext>Comment on attachment 110995
Patch updated to current git master

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

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:287
&gt; + * Does nothing if no content is being loaded.

Does nothing... -&gt; This method does nothing...

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:290
&gt; + * #WebKitWebLoaderClient::load-failed will be emitted on current

current -&gt; the current

&gt; Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:103
&gt; +    WebKitWebLoaderClient* client = webkit_web_view_get_loader_client(test-&gt;m_webView);
&gt; +
&gt; +    g_signal_connect(client, &quot;load-committed&quot;, G_CALLBACK(loadCancelledLoadCommitted), test);
&gt; +    g_signal_connect(client, &quot;load-failed&quot;, G_CALLBACK(loadCancelledLoadFailed), test);
&gt; +    g_signal_connect(client, &quot;load-finished&quot;, G_CALLBACK(loadCancelledLoadFinished), test);
&gt; +
&gt; +    webkit_web_view_load_uri(test-&gt;m_webView, kServer-&gt;getURIForPath(&quot;/cancelled&quot;).data());

I think this can be simplified by using a load tracking test. Here you can just make a simple class:

class LoadStopTrackingTest : public LoadTrackingTest {
    MAKE_GLIB_TEST_FIXTURE(LoadTrackingTest);
public:
    virtual void loadCommitted(WebKitWebLoaderClient* client) {
        LoadTrackingTest::loadCommitted(client);
        webkit_web_view_stop_loading(test-&gt;m_webView);
    }
}

and then later

LoadStopTrackingTest::add(&quot;WebKitWebView&quot;, &quot;stop-loading&quot;, testLoadCancelled);

You could also store the load error as a GOwnPtr member to assert that it&apos;s the right one. This would be a useful feature for LoadTrackingTest.

&gt; Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:158
&gt; +    } else if (g_str_equal(path, &quot;/cancelled&quot;)) {
&gt; +        soup_message_headers_set_encoding(message-&gt;response_headers, SOUP_ENCODING_CHUNKED);
&gt; +        soup_message_body_append(message-&gt;response_body, SOUP_MEMORY_STATIC, responseString, strlen(responseString));
&gt; +        soup_server_unpause_message(server, message);
&gt; +        return;

Why is it important to have a cancelled message here? Wouldn&apos;t the existing default endpoint be fine?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485939</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-10-18 03:44:53 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 110995 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=110995&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:287
&gt; &gt; + * Does nothing if no content is being loaded.
&gt; 
&gt; Does nothing... -&gt; This method does nothing...

Ok.

&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:290
&gt; &gt; + * #WebKitWebLoaderClient::load-failed will be emitted on current
&gt; 
&gt; current -&gt; the current

Ok.

&gt; &gt; Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:103
&gt; &gt; +    WebKitWebLoaderClient* client = webkit_web_view_get_loader_client(test-&gt;m_webView);
&gt; &gt; +
&gt; &gt; +    g_signal_connect(client, &quot;load-committed&quot;, G_CALLBACK(loadCancelledLoadCommitted), test);
&gt; &gt; +    g_signal_connect(client, &quot;load-failed&quot;, G_CALLBACK(loadCancelledLoadFailed), test);
&gt; &gt; +    g_signal_connect(client, &quot;load-finished&quot;, G_CALLBACK(loadCancelledLoadFinished), test);
&gt; &gt; +
&gt; &gt; +    webkit_web_view_load_uri(test-&gt;m_webView, kServer-&gt;getURIForPath(&quot;/cancelled&quot;).data());
&gt; 
&gt; I think this can be simplified by using a load tracking test. Here you can just make a simple class:
&gt; 
&gt; class LoadStopTrackingTest : public LoadTrackingTest {
&gt;     MAKE_GLIB_TEST_FIXTURE(LoadTrackingTest);
&gt; public:
&gt;     virtual void loadCommitted(WebKitWebLoaderClient* client) {
&gt;         LoadTrackingTest::loadCommitted(client);
&gt;         webkit_web_view_stop_loading(test-&gt;m_webView);
&gt;     }
&gt; }
&gt; 
&gt; and then later
&gt; 
&gt; LoadStopTrackingTest::add(&quot;WebKitWebView&quot;, &quot;stop-loading&quot;, testLoadCancelled);

Ok, it looks much better indeed.

&gt; You could also store the load error as a GOwnPtr member to assert that it&apos;s the right one. This would be a useful feature for LoadTrackingTest.
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:158
&gt; &gt; +    } else if (g_str_equal(path, &quot;/cancelled&quot;)) {
&gt; &gt; +        soup_message_headers_set_encoding(message-&gt;response_headers, SOUP_ENCODING_CHUNKED);
&gt; &gt; +        soup_message_body_append(message-&gt;response_body, SOUP_MEMORY_STATIC, responseString, strlen(responseString));
&gt; &gt; +        soup_server_unpause_message(server, message);
&gt; &gt; +        return;
&gt; 
&gt; Why is it important to have a cancelled message here? Wouldn&apos;t the existing default endpoint be fine?

stop_loading() is aync too, so this is to make sure the load is cancelled before it&apos;s finished.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485942</commentid>
    <comment_count>6</comment_count>
      <attachid>111418</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-10-18 03:48:44 -0700</bug_when>
    <thetext>Created attachment 111418
Updated patch according to review comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>488176</commentid>
    <comment_count>7</comment_count>
      <attachid>111418</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-10-20 23:00:00 -0700</bug_when>
    <thetext>Comment on attachment 111418
Updated patch according to review comments

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

Great.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:293
&gt; + * If there is a loading operation in progress, it will be cancelled and
&gt; + * #WebKitWebLoaderClient::provisional-load-failed or
&gt; + * #WebKitWebLoaderClient::load-failed will be emitted on the current
&gt; + * #WebKitWebLoaderClient with %WEBKIT_NETWORK_ERROR_CANCELLED error.
&gt; + * See also webkit_web_view_get_loader_client().

This doc is awesome.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>488247</commentid>
    <comment_count>8</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-10-21 01:08:18 -0700</bug_when>
    <thetext>Committed r98080: &lt;http://trac.webkit.org/changeset/98080&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110111</attachid>
            <date>2011-10-07 02:29:51 -0700</date>
            <delta_ts>2011-10-07 02:40:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-stop-loading.diff</filename>
            <type>text/plain</type>
            <size>5173</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA1OWQ5MGU5Li5kMDEwYTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMTEtMTAtMDcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIEFkZCB3ZWJraXRfd2ViX3ZpZXdfc3RvcF9sb2FkaW5nKCkgdG8g
V2ViS2l0MiBHVEsrIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Njk2MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwOgorICAgICAgICAo
d2Via2l0X3dlYl92aWV3X3N0b3BfbG9hZGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViVmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL3Rl
c3Rsb2FkaW5nLmM6CisgICAgICAgIChsb2FkQ2FuY2VsbGVkTG9hZENvbW1pdHRlZCk6CisgICAg
ICAgIChsb2FkQ2FuY2VsbGVkTG9hZEZhaWxlZCk6CisgICAgICAgIChsb2FkQ2FuY2VsbGVkTG9h
ZEZpbmlzaGVkKToKKyAgICAgICAgKHRlc3RMb2FkaW5nQ2FuY2VsbGVkKToKKyAgICAgICAgKG1h
aW4pOgorCiAyMDExLTEwLTA2ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1Ad2Via2l0Lm9yZz4K
IAogICAgICAgICBbV2luQ2Fpcm9dIENvcnJlY3QgaW1wcm9wZXIgaWRlbnRpZmljYXRpb24gb2Yg
V0tRQyBleHRlbnNpb25zLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJWaWV3LmNwcAppbmRleCAyYzMzZjMzLi4zNjJlNGYyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcApAQCAtMjUx
LDYgKzI1MSwyNCBAQCB2b2lkIHdlYmtpdF93ZWJfdmlld19sb2FkX2FsdGVybmF0ZV9odG1sKFdl
YktpdFdlYlZpZXcqIHdlYlZpZXcsIGNvbnN0IGdjaGFyKiBjbwogfQogCiAvKioKKyAqIHdlYmtp
dF93ZWJfdmlld19zdG9wX2xvYWRpbmc6CisgKiBAd2ViX3ZpZXc6IGEgI1dlYktpdFdlYlZpZXcK
KyAqCisgKiBTdG9wcyBhbnkgb25nb2luZyBsb2FkaW5nIG9wZXJhdGlvbiBpbiBAd2ViX3ZpZXcu
CisgKiBEb2VzIG5vdGhpbmcgaWYgbm8gY29udGVudCBpcyBiZWluZyBsb2FkZWQuCisgKiBJZiB0
aGVyZSBpcyBhIGxvYWRpbmcgb3BlcmF0aW9uIGluIHByb2dyZXNzLCBpdCB3aWxsIGJlIGNhbmNl
bGxlZCBhbmQKKyAqICNXZWJLaXRXZWJMb2FkZXJDbGllbnQ6OnByb3Zpc2lvbmFsLWxvYWQtZmFp
bGVkIG9yCisgKiAjV2ViS2l0V2ViTG9hZGVyQ2xpZW50Ojpsb2FkLWZhaWxlZCB3aWxsIGJlIGVt
aXR0ZWQgb24gY3VycmVudAorICogI1dlYktpdFdlYkxvYWRlckNsaWVudCB3aXRoICVXRUJLSVRf
TkVUV09SS19FUlJPUl9DQU5DRUxMRUQgZXJyb3IuCisgKiBTZWUgYWxzbyB3ZWJraXRfd2ViX3Zp
ZXdfZ2V0X2xvYWRlcl9jbGllbnQoKS4KKyAqLwordm9pZCB3ZWJraXRfd2ViX3ZpZXdfc3RvcF9s
b2FkaW5nKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCit7CisgICAgV2ViUGFnZVByb3h5KiBwYWdl
ID0gd2Via2l0V2ViVmlld0Jhc2VHZXRQYWdlKFdFQktJVF9XRUJfVklFV19CQVNFKHdlYlZpZXcp
KTsKKyAgICBXS1BhZ2VTdG9wTG9hZGluZyh0b0FQSShwYWdlKSk7Cit9CisKKy8qKgogICogd2Vi
a2l0X3dlYl92aWV3X2dvX2JhY2s6CiAgKiBAd2ViX3ZpZXc6IGEgI1dlYktpdFdlYlZpZXcKICAq
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJW
aWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmgK
aW5kZXggZGUyNmE4NS4uZjFhZTFkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaApAQCAtOTQsNiArOTQsOCBAQCB3ZWJraXRfd2ViX3Zp
ZXdfbG9hZF9hbHRlcm5hdGVfaHRtbCAoV2ViS2l0V2ViVmlldyAgICAgICAgICp3ZWJfdmlldywK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAgICAgICAg
ICAgKmNvbnRlbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
Z2NoYXIgICAgICAgICAgICpiYXNlX3VyaSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBnY2hhciAgICAgICAgICAgKnVucmVhY2hhYmxlX3VyaSk7CitXRUJLSVRf
QVBJIHZvaWQKK3dlYmtpdF93ZWJfdmlld19zdG9wX2xvYWRpbmcgICAgICAgIChXZWJLaXRXZWJW
aWV3ICAgICAgICAgKndlYl92aWV3KTsKIAogV0VCS0lUX0FQSSB2b2lkCiB3ZWJraXRfd2ViX3Zp
ZXdfZ29fYmFjayAgICAgICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAgICp3ZWJfdmlldyk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy90ZXN0
bG9hZGluZy5jIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvdGVzdGxv
YWRpbmcuYwppbmRleCA2ODEzYjIzLi5kYzA3NjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy90ZXN0bG9hZGluZy5jCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL3Rlc3Rsb2FkaW5nLmMKQEAgLTIyNSw2ICsyMjUs
NDYgQEAgc3RhdGljIHZvaWQgdGVzdExvYWRpbmdFcnJvcihXZWJMb2FkaW5nRml4dHVyZSAqZml4
dHVyZSwgZ2NvbnN0cG9pbnRlciBkYXRhKQogICAgIGdfYXNzZXJ0KGZpeHR1cmUtPmhhc0JlZW5G
YWlsZWQpOwogfQogCisvKiBMb2FkIENhbmNlbGxlZCAqLworc3RhdGljIGdib29sZWFuIGxvYWRD
YW5jZWxsZWRMb2FkQ29tbWl0dGVkKFdlYktpdFdlYkxvYWRlckNsaWVudCAqY2xpZW50LCBXZWJM
b2FkaW5nRml4dHVyZSAqZml4dHVyZSkKK3sKKyAgICB3ZWJraXRfd2ViX3ZpZXdfc3RvcF9sb2Fk
aW5nKGZpeHR1cmUtPndlYlZpZXcpOworICAgIHJldHVybiBUUlVFOworfQorCitzdGF0aWMgZ2Jv
b2xlYW4gbG9hZENhbmNlbGxlZExvYWRGYWlsZWQoV2ViS2l0V2ViTG9hZGVyQ2xpZW50ICpjbGll
bnQsIGNvbnN0IGdjaGFyICpmYWlsaW5nVVJJLCBHRXJyb3IgKmVycm9yLCBXZWJMb2FkaW5nRml4
dHVyZSAqZml4dHVyZSkKK3sKKyAgICBnX2Fzc2VydChlcnJvcik7CisgICAgZ19hc3NlcnQoZ19l
cnJvcl9tYXRjaGVzKGVycm9yLCBXRUJLSVRfTkVUV09SS19FUlJPUiwgV0VCS0lUX05FVFdPUktf
RVJST1JfQ0FOQ0VMTEVEKSk7CisKKyAgICBnX21haW5fbG9vcF9xdWl0KGZpeHR1cmUtPmxvb3Ap
OworCisgICAgcmV0dXJuIFRSVUU7Cit9CisKK3N0YXRpYyBnYm9vbGVhbiBsb2FkQ2FuY2VsbGVk
TG9hZEZpbmlzaGVkKFdlYktpdFdlYkxvYWRlckNsaWVudCAqY2xpZW50LCBXZWJMb2FkaW5nRml4
dHVyZSAqZml4dHVyZSkKK3sKKyAgICBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpOworICAgIHJldHVy
biBUUlVFOworfQorCitzdGF0aWMgdm9pZCB0ZXN0TG9hZGluZ0NhbmNlbGxlZChXZWJMb2FkaW5n
Rml4dHVyZSAqZml4dHVyZSwgZ2NvbnN0cG9pbnRlciBkYXRhKQoreworICAgIGNoYXIgKnVyaVN0
cmluZzsKKyAgICBXZWJLaXRXZWJMb2FkZXJDbGllbnQgKmNsaWVudCA9IHdlYmtpdF93ZWJfdmll
d19nZXRfbG9hZGVyX2NsaWVudChmaXh0dXJlLT53ZWJWaWV3KTsKKworICAgIGdfc2lnbmFsX2Nv
bm5lY3QoY2xpZW50LCAibG9hZC1jb21taXR0ZWQiLCBHX0NBTExCQUNLKGxvYWRDYW5jZWxsZWRM
b2FkQ29tbWl0dGVkKSwgZml4dHVyZSk7CisgICAgZ19zaWduYWxfY29ubmVjdChjbGllbnQsICJs
b2FkLWZhaWxlZCIsIEdfQ0FMTEJBQ0sobG9hZENhbmNlbGxlZExvYWRGYWlsZWQpLCBmaXh0dXJl
KTsKKyAgICBnX3NpZ25hbF9jb25uZWN0KGNsaWVudCwgImxvYWQtZmluaXNoZWQiLCBHX0NBTExC
QUNLKGxvYWRDYW5jZWxsZWRMb2FkRmluaXNoZWQpLCBmaXh0dXJlKTsKKworICAgIHVyaVN0cmlu
ZyA9IGdldFVSSUZvclBhdGgoIi90ZXN0X2xvYWRpbmdfY2FuY2VsbGVkIik7CisgICAgd2Via2l0
X3dlYl92aWV3X2xvYWRfdXJpKGZpeHR1cmUtPndlYlZpZXcsIHVyaVN0cmluZyk7CisgICAgZ19m
cmVlKHVyaVN0cmluZyk7CisKKyAgICBnX21haW5fbG9vcF9ydW4oZml4dHVyZS0+bG9vcCk7CisK
K30KKwogc3RhdGljIGdib29sZWFuIGxvYWRBbHRlcm5hdGVDb250ZW50TG9hZEZpbmlzaGVkKFdl
YktpdFdlYkxvYWRlckNsaWVudCAqY2xpZW50LCBXZWJMb2FkaW5nRml4dHVyZSAqZml4dHVyZSkK
IHsKICAgICBnX21haW5fbG9vcF9xdWl0KGZpeHR1cmUtPmxvb3ApOwpAQCAtMzEzLDYgKzM1Mywx
MSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICAgICAgICAgICB3ZWJM
b2FkaW5nRml4dHVyZVNldHVwLAogICAgICAgICAgICAgICAgdGVzdExvYWRpbmdFcnJvciwKICAg
ICAgICAgICAgICAgIHdlYkxvYWRpbmdGaXh0dXJlVGVhcmRvd24pOworICAgIGdfdGVzdF9hZGQo
Ii93ZWJraXQyL2xvYWRpbmcvY2FuY2VsbGVkIiwKKyAgICAgICAgICAgICAgIFdlYkxvYWRpbmdG
aXh0dXJlLCBOVUxMLAorICAgICAgICAgICAgICAgd2ViTG9hZGluZ0ZpeHR1cmVTZXR1cCwKKyAg
ICAgICAgICAgICAgIHRlc3RMb2FkaW5nQ2FuY2VsbGVkLAorICAgICAgICAgICAgICAgd2ViTG9h
ZGluZ0ZpeHR1cmVUZWFyZG93bik7CiAgICAgZ190ZXN0X2FkZCgiL3dlYmtpdDIvbG9hZGluZy9h
bHRlcm5hdGVfY29udGVudCIsCiAgICAgICAgICAgICAgICBXZWJMb2FkaW5nRml4dHVyZSwgTlVM
TCwKICAgICAgICAgICAgICAgIHdlYkxvYWRpbmdGaXh0dXJlU2V0dXAsCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110112</attachid>
            <date>2011-10-07 02:40:01 -0700</date>
            <delta_ts>2011-10-14 05:03:21 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>wk2-stop-loading2.diff</filename>
            <type>text/plain</type>
            <size>5227</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA1OWQ5MGU5Li5kMDEwYTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMTEtMTAtMDcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIEFkZCB3ZWJraXRfd2ViX3ZpZXdfc3RvcF9sb2FkaW5nKCkgdG8g
V2ViS2l0MiBHVEsrIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Njk2MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwOgorICAgICAgICAo
d2Via2l0X3dlYl92aWV3X3N0b3BfbG9hZGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViVmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL3Rl
c3Rsb2FkaW5nLmM6CisgICAgICAgIChsb2FkQ2FuY2VsbGVkTG9hZENvbW1pdHRlZCk6CisgICAg
ICAgIChsb2FkQ2FuY2VsbGVkTG9hZEZhaWxlZCk6CisgICAgICAgIChsb2FkQ2FuY2VsbGVkTG9h
ZEZpbmlzaGVkKToKKyAgICAgICAgKHRlc3RMb2FkaW5nQ2FuY2VsbGVkKToKKyAgICAgICAgKG1h
aW4pOgorCiAyMDExLTEwLTA2ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1Ad2Via2l0Lm9yZz4K
IAogICAgICAgICBbV2luQ2Fpcm9dIENvcnJlY3QgaW1wcm9wZXIgaWRlbnRpZmljYXRpb24gb2Yg
V0tRQyBleHRlbnNpb25zLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJWaWV3LmNwcAppbmRleCAyYzMzZjMzLi5lNThkMGFkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcApAQCAtMjUx
LDYgKzI1MSwyNiBAQCB2b2lkIHdlYmtpdF93ZWJfdmlld19sb2FkX2FsdGVybmF0ZV9odG1sKFdl
YktpdFdlYlZpZXcqIHdlYlZpZXcsIGNvbnN0IGdjaGFyKiBjbwogfQogCiAvKioKKyAqIHdlYmtp
dF93ZWJfdmlld19zdG9wX2xvYWRpbmc6CisgKiBAd2ViX3ZpZXc6IGEgI1dlYktpdFdlYlZpZXcK
KyAqCisgKiBTdG9wcyBhbnkgb25nb2luZyBsb2FkaW5nIG9wZXJhdGlvbiBpbiBAd2ViX3ZpZXcu
CisgKiBEb2VzIG5vdGhpbmcgaWYgbm8gY29udGVudCBpcyBiZWluZyBsb2FkZWQuCisgKiBJZiB0
aGVyZSBpcyBhIGxvYWRpbmcgb3BlcmF0aW9uIGluIHByb2dyZXNzLCBpdCB3aWxsIGJlIGNhbmNl
bGxlZCBhbmQKKyAqICNXZWJLaXRXZWJMb2FkZXJDbGllbnQ6OnByb3Zpc2lvbmFsLWxvYWQtZmFp
bGVkIG9yCisgKiAjV2ViS2l0V2ViTG9hZGVyQ2xpZW50Ojpsb2FkLWZhaWxlZCB3aWxsIGJlIGVt
aXR0ZWQgb24gY3VycmVudAorICogI1dlYktpdFdlYkxvYWRlckNsaWVudCB3aXRoICVXRUJLSVRf
TkVUV09SS19FUlJPUl9DQU5DRUxMRUQgZXJyb3IuCisgKiBTZWUgYWxzbyB3ZWJraXRfd2ViX3Zp
ZXdfZ2V0X2xvYWRlcl9jbGllbnQoKS4KKyAqLwordm9pZCB3ZWJraXRfd2ViX3ZpZXdfc3RvcF9s
b2FkaW5nKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCit7CisgICAgZ19yZXR1cm5faWZfZmFpbChX
RUJLSVRfSVNfV0VCX1ZJRVcod2ViVmlldykpOworCisgICAgV2ViUGFnZVByb3h5KiBwYWdlID0g
d2Via2l0V2ViVmlld0Jhc2VHZXRQYWdlKFdFQktJVF9XRUJfVklFV19CQVNFKHdlYlZpZXcpKTsK
KyAgICBXS1BhZ2VTdG9wTG9hZGluZyh0b0FQSShwYWdlKSk7Cit9CisKKy8qKgogICogd2Via2l0
X3dlYl92aWV3X2dvX2JhY2s6CiAgKiBAd2ViX3ZpZXc6IGEgI1dlYktpdFdlYlZpZXcKICAqCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmgKaW5k
ZXggZGUyNmE4NS4uZjFhZTFkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFdlYlZpZXcuaApAQCAtOTQsNiArOTQsOCBAQCB3ZWJraXRfd2ViX3ZpZXdf
bG9hZF9hbHRlcm5hdGVfaHRtbCAoV2ViS2l0V2ViVmlldyAgICAgICAgICp3ZWJfdmlldywKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAgICAgICAgICAg
KmNvbnRlbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2No
YXIgICAgICAgICAgICpiYXNlX3VyaSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBnY2hhciAgICAgICAgICAgKnVucmVhY2hhYmxlX3VyaSk7CitXRUJLSVRfQVBJ
IHZvaWQKK3dlYmtpdF93ZWJfdmlld19zdG9wX2xvYWRpbmcgICAgICAgIChXZWJLaXRXZWJWaWV3
ICAgICAgICAgKndlYl92aWV3KTsKIAogV0VCS0lUX0FQSSB2b2lkCiB3ZWJraXRfd2ViX3ZpZXdf
Z29fYmFjayAgICAgICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAgICp3ZWJfdmlldyk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy90ZXN0bG9h
ZGluZy5jIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvdGVzdGxvYWRp
bmcuYwppbmRleCA2ODEzYjIzLi5kYzA3NjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay90ZXN0cy90ZXN0bG9hZGluZy5jCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL3Rlc3Rsb2FkaW5nLmMKQEAgLTIyNSw2ICsyMjUsNDYg
QEAgc3RhdGljIHZvaWQgdGVzdExvYWRpbmdFcnJvcihXZWJMb2FkaW5nRml4dHVyZSAqZml4dHVy
ZSwgZ2NvbnN0cG9pbnRlciBkYXRhKQogICAgIGdfYXNzZXJ0KGZpeHR1cmUtPmhhc0JlZW5GYWls
ZWQpOwogfQogCisvKiBMb2FkIENhbmNlbGxlZCAqLworc3RhdGljIGdib29sZWFuIGxvYWRDYW5j
ZWxsZWRMb2FkQ29tbWl0dGVkKFdlYktpdFdlYkxvYWRlckNsaWVudCAqY2xpZW50LCBXZWJMb2Fk
aW5nRml4dHVyZSAqZml4dHVyZSkKK3sKKyAgICB3ZWJraXRfd2ViX3ZpZXdfc3RvcF9sb2FkaW5n
KGZpeHR1cmUtPndlYlZpZXcpOworICAgIHJldHVybiBUUlVFOworfQorCitzdGF0aWMgZ2Jvb2xl
YW4gbG9hZENhbmNlbGxlZExvYWRGYWlsZWQoV2ViS2l0V2ViTG9hZGVyQ2xpZW50ICpjbGllbnQs
IGNvbnN0IGdjaGFyICpmYWlsaW5nVVJJLCBHRXJyb3IgKmVycm9yLCBXZWJMb2FkaW5nRml4dHVy
ZSAqZml4dHVyZSkKK3sKKyAgICBnX2Fzc2VydChlcnJvcik7CisgICAgZ19hc3NlcnQoZ19lcnJv
cl9tYXRjaGVzKGVycm9yLCBXRUJLSVRfTkVUV09SS19FUlJPUiwgV0VCS0lUX05FVFdPUktfRVJS
T1JfQ0FOQ0VMTEVEKSk7CisKKyAgICBnX21haW5fbG9vcF9xdWl0KGZpeHR1cmUtPmxvb3ApOwor
CisgICAgcmV0dXJuIFRSVUU7Cit9CisKK3N0YXRpYyBnYm9vbGVhbiBsb2FkQ2FuY2VsbGVkTG9h
ZEZpbmlzaGVkKFdlYktpdFdlYkxvYWRlckNsaWVudCAqY2xpZW50LCBXZWJMb2FkaW5nRml4dHVy
ZSAqZml4dHVyZSkKK3sKKyAgICBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpOworICAgIHJldHVybiBU
UlVFOworfQorCitzdGF0aWMgdm9pZCB0ZXN0TG9hZGluZ0NhbmNlbGxlZChXZWJMb2FkaW5nRml4
dHVyZSAqZml4dHVyZSwgZ2NvbnN0cG9pbnRlciBkYXRhKQoreworICAgIGNoYXIgKnVyaVN0cmlu
ZzsKKyAgICBXZWJLaXRXZWJMb2FkZXJDbGllbnQgKmNsaWVudCA9IHdlYmtpdF93ZWJfdmlld19n
ZXRfbG9hZGVyX2NsaWVudChmaXh0dXJlLT53ZWJWaWV3KTsKKworICAgIGdfc2lnbmFsX2Nvbm5l
Y3QoY2xpZW50LCAibG9hZC1jb21taXR0ZWQiLCBHX0NBTExCQUNLKGxvYWRDYW5jZWxsZWRMb2Fk
Q29tbWl0dGVkKSwgZml4dHVyZSk7CisgICAgZ19zaWduYWxfY29ubmVjdChjbGllbnQsICJsb2Fk
LWZhaWxlZCIsIEdfQ0FMTEJBQ0sobG9hZENhbmNlbGxlZExvYWRGYWlsZWQpLCBmaXh0dXJlKTsK
KyAgICBnX3NpZ25hbF9jb25uZWN0KGNsaWVudCwgImxvYWQtZmluaXNoZWQiLCBHX0NBTExCQUNL
KGxvYWRDYW5jZWxsZWRMb2FkRmluaXNoZWQpLCBmaXh0dXJlKTsKKworICAgIHVyaVN0cmluZyA9
IGdldFVSSUZvclBhdGgoIi90ZXN0X2xvYWRpbmdfY2FuY2VsbGVkIik7CisgICAgd2Via2l0X3dl
Yl92aWV3X2xvYWRfdXJpKGZpeHR1cmUtPndlYlZpZXcsIHVyaVN0cmluZyk7CisgICAgZ19mcmVl
KHVyaVN0cmluZyk7CisKKyAgICBnX21haW5fbG9vcF9ydW4oZml4dHVyZS0+bG9vcCk7CisKK30K
Kwogc3RhdGljIGdib29sZWFuIGxvYWRBbHRlcm5hdGVDb250ZW50TG9hZEZpbmlzaGVkKFdlYktp
dFdlYkxvYWRlckNsaWVudCAqY2xpZW50LCBXZWJMb2FkaW5nRml4dHVyZSAqZml4dHVyZSkKIHsK
ICAgICBnX21haW5fbG9vcF9xdWl0KGZpeHR1cmUtPmxvb3ApOwpAQCAtMzEzLDYgKzM1MywxMSBA
QCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICAgICAgICAgICB3ZWJMb2Fk
aW5nRml4dHVyZVNldHVwLAogICAgICAgICAgICAgICAgdGVzdExvYWRpbmdFcnJvciwKICAgICAg
ICAgICAgICAgIHdlYkxvYWRpbmdGaXh0dXJlVGVhcmRvd24pOworICAgIGdfdGVzdF9hZGQoIi93
ZWJraXQyL2xvYWRpbmcvY2FuY2VsbGVkIiwKKyAgICAgICAgICAgICAgIFdlYkxvYWRpbmdGaXh0
dXJlLCBOVUxMLAorICAgICAgICAgICAgICAgd2ViTG9hZGluZ0ZpeHR1cmVTZXR1cCwKKyAgICAg
ICAgICAgICAgIHRlc3RMb2FkaW5nQ2FuY2VsbGVkLAorICAgICAgICAgICAgICAgd2ViTG9hZGlu
Z0ZpeHR1cmVUZWFyZG93bik7CiAgICAgZ190ZXN0X2FkZCgiL3dlYmtpdDIvbG9hZGluZy9hbHRl
cm5hdGVfY29udGVudCIsCiAgICAgICAgICAgICAgICBXZWJMb2FkaW5nRml4dHVyZSwgTlVMTCwK
ICAgICAgICAgICAgICAgIHdlYkxvYWRpbmdGaXh0dXJlU2V0dXAsCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110995</attachid>
            <date>2011-10-14 05:03:21 -0700</date>
            <delta_ts>2011-10-18 03:48:44 -0700</delta_ts>
            <desc>Patch updated to current git master</desc>
            <filename>wk2-stop-loading2.diff</filename>
            <type>text/plain</type>
            <size>5897</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAxMDQyNDNjLi4xYjM1MzA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjMg
QEAKIDIwMTEtMTAtMTQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgogCisgICAgICAgIFtHVEtdIEFkZCB3ZWJraXRfd2ViX3ZpZXdfc3RvcF9sb2FkaW5nKCkgdG8g
V2ViS2l0MiBHVEsrIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Njk2MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwOgorICAgICAgICAo
d2Via2l0X3dlYl92aWV3X3N0b3BfbG9hZGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViVmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL1Rl
c3RXZWJLaXRXZWJMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAobG9hZENhbmNlbGxlZExvYWRD
b21taXR0ZWQpOgorICAgICAgICAobG9hZENhbmNlbGxlZExvYWRGYWlsZWQpOgorICAgICAgICAo
bG9hZENhbmNlbGxlZExvYWRGaW5pc2hlZCk6CisgICAgICAgICh0ZXN0TG9hZENhbmNlbGxlZCk6
CisgICAgICAgIChzZXJ2ZXJDYWxsYmFjayk6CisgICAgICAgIChiZWZvcmVBbGwpOgorCisyMDEx
LTEwLTE0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKwogICAg
ICAgICBbR1RLXSBCdWlsZCBpcyBicm9rZW4gd2l0aCBuZXcgbGQKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDk3CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKaW5kZXggMmIwNDMxYy4u
OTA3NDY0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0V2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0V2ViVmlldy5jcHAKQEAgLTI4MCw2ICsyODAsMjUgQEAgdm9pZCB3ZWJraXRfd2ViX3ZpZXdf
cmVsb2FkX2J5cGFzc19jYWNoZShXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQogfQogCiAvKioKKyAq
IHdlYmtpdF93ZWJfdmlld19zdG9wX2xvYWRpbmc6CisgKiBAd2ViX3ZpZXc6IGEgI1dlYktpdFdl
YlZpZXcKKyAqCisgKiBTdG9wcyBhbnkgb25nb2luZyBsb2FkaW5nIG9wZXJhdGlvbiBpbiBAd2Vi
X3ZpZXcuCisgKiBEb2VzIG5vdGhpbmcgaWYgbm8gY29udGVudCBpcyBiZWluZyBsb2FkZWQuCisg
KiBJZiB0aGVyZSBpcyBhIGxvYWRpbmcgb3BlcmF0aW9uIGluIHByb2dyZXNzLCBpdCB3aWxsIGJl
IGNhbmNlbGxlZCBhbmQKKyAqICNXZWJLaXRXZWJMb2FkZXJDbGllbnQ6OnByb3Zpc2lvbmFsLWxv
YWQtZmFpbGVkIG9yCisgKiAjV2ViS2l0V2ViTG9hZGVyQ2xpZW50Ojpsb2FkLWZhaWxlZCB3aWxs
IGJlIGVtaXR0ZWQgb24gY3VycmVudAorICogI1dlYktpdFdlYkxvYWRlckNsaWVudCB3aXRoICVX
RUJLSVRfTkVUV09SS19FUlJPUl9DQU5DRUxMRUQgZXJyb3IuCisgKiBTZWUgYWxzbyB3ZWJraXRf
d2ViX3ZpZXdfZ2V0X2xvYWRlcl9jbGllbnQoKS4KKyAqLwordm9pZCB3ZWJraXRfd2ViX3ZpZXdf
c3RvcF9sb2FkaW5nKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCit7CisgICAgZ19yZXR1cm5faWZf
ZmFpbChXRUJLSVRfSVNfV0VCX1ZJRVcod2ViVmlldykpOworCisgICAgV0tQYWdlU3RvcExvYWRp
bmcodG9BUEkod2Via2l0V2ViVmlld0Jhc2VHZXRQYWdlKFdFQktJVF9XRUJfVklFV19CQVNFKHdl
YlZpZXcpKSkpOworfQorCisvKioKICAqIHdlYmtpdF93ZWJfdmlld19nb19iYWNrOgogICogQHdl
Yl92aWV3OiBhICNXZWJLaXRXZWJWaWV3CiAgKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oCmluZGV4IDAxZDk3MmUuLjliZDFlNTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmgKQEAg
LTk0LDYgKzk0LDggQEAgd2Via2l0X3dlYl92aWV3X2xvYWRfYWx0ZXJuYXRlX2h0bWwgKFdlYktp
dFdlYlZpZXcgICAgICAgICAqd2ViX3ZpZXcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgZ2NoYXIgICAgICAgICAgICpjb250ZW50LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgICAgICAgICAqYmFzZV91cmksCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgICAgICAgICAg
ICp1bnJlYWNoYWJsZV91cmkpOworV0VCS0lUX0FQSSB2b2lkCit3ZWJraXRfd2ViX3ZpZXdfc3Rv
cF9sb2FkaW5nICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAgICp3ZWJfdmlldyk7CiAKIFdF
QktJVF9BUEkgdm9pZAogd2Via2l0X3dlYl92aWV3X3JlbG9hZCAgICAgICAgICAgICAgKFdlYktp
dFdlYlZpZXcgICAgICAgICAqd2ViX3ZpZXcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvVGVzdFdlYktpdFdlYkxvYWRlckNsaWVudC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy9UZXN0V2ViS2l0V2ViTG9hZGVy
Q2xpZW50LmNwcAppbmRleCBhMzExYjk2Li45ZmM4YzE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy9UZXN0V2ViS2l0V2ViTG9hZGVyQ2xpZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy9UZXN0V2ViS2l0
V2ViTG9hZGVyQ2xpZW50LmNwcApAQCAtNzAsNiArNzAsNDAgQEAgc3RhdGljIHZvaWQgdGVzdExv
YWRBbHRlcm5hdGVDb250ZW50KExvYWRUcmFja2luZ1Rlc3QqIHRlc3QsIGdjb25zdHBvaW50ZXIp
CiAgICAgYXNzZXJ0Tm9ybWFsTG9hZEhhcHBlbmVkQW5kQ2xlYXJFdmVudHModGVzdC0+bV9sb2Fk
RXZlbnRzKTsKIH0KIAorc3RhdGljIGdib29sZWFuIGxvYWRDYW5jZWxsZWRMb2FkQ29tbWl0dGVk
KFdlYktpdFdlYkxvYWRlckNsaWVudCosIFdlYlZpZXdUZXN0KiB0ZXN0KQoreworICAgIHdlYmtp
dF93ZWJfdmlld19zdG9wX2xvYWRpbmcodGVzdC0+bV93ZWJWaWV3KTsKKyAgICByZXR1cm4gVFJV
RTsKK30KKworc3RhdGljIGdib29sZWFuIGxvYWRDYW5jZWxsZWRMb2FkRmFpbGVkKFdlYktpdFdl
YkxvYWRlckNsaWVudCosIGNvbnN0IGdjaGFyKiwgR0Vycm9yKiBlcnJvciwgV2ViVmlld1Rlc3Qq
IHRlc3QpCit7CisgICAgZ19hc3NlcnQoZXJyb3IpOworICAgIGdfYXNzZXJ0KGdfZXJyb3JfbWF0
Y2hlcyhlcnJvciwgV0VCS0lUX05FVFdPUktfRVJST1IsIFdFQktJVF9ORVRXT1JLX0VSUk9SX0NB
TkNFTExFRCkpOworCisgICAgZ19tYWluX2xvb3BfcXVpdCh0ZXN0LT5tX21haW5Mb29wKTsKKwor
ICAgIHJldHVybiBUUlVFOworfQorCitzdGF0aWMgZ2Jvb2xlYW4gbG9hZENhbmNlbGxlZExvYWRG
aW5pc2hlZChXZWJLaXRXZWJMb2FkZXJDbGllbnQqLCBXZWJWaWV3VGVzdCopCit7CisgICAgZ19h
c3NlcnRfbm90X3JlYWNoZWQoKTsKKyAgICByZXR1cm4gVFJVRTsKK30KKworc3RhdGljIHZvaWQg
dGVzdExvYWRDYW5jZWxsZWQoV2ViVmlld1Rlc3QqIHRlc3QsIGdjb25zdHBvaW50ZXIpCit7Cisg
ICAgV2ViS2l0V2ViTG9hZGVyQ2xpZW50KiBjbGllbnQgPSB3ZWJraXRfd2ViX3ZpZXdfZ2V0X2xv
YWRlcl9jbGllbnQodGVzdC0+bV93ZWJWaWV3KTsKKworICAgIGdfc2lnbmFsX2Nvbm5lY3QoY2xp
ZW50LCAibG9hZC1jb21taXR0ZWQiLCBHX0NBTExCQUNLKGxvYWRDYW5jZWxsZWRMb2FkQ29tbWl0
dGVkKSwgdGVzdCk7CisgICAgZ19zaWduYWxfY29ubmVjdChjbGllbnQsICJsb2FkLWZhaWxlZCIs
IEdfQ0FMTEJBQ0sobG9hZENhbmNlbGxlZExvYWRGYWlsZWQpLCB0ZXN0KTsKKyAgICBnX3NpZ25h
bF9jb25uZWN0KGNsaWVudCwgImxvYWQtZmluaXNoZWQiLCBHX0NBTExCQUNLKGxvYWRDYW5jZWxs
ZWRMb2FkRmluaXNoZWQpLCB0ZXN0KTsKKworICAgIHdlYmtpdF93ZWJfdmlld19sb2FkX3VyaSh0
ZXN0LT5tX3dlYlZpZXcsIGtTZXJ2ZXItPmdldFVSSUZvclBhdGgoIi9jYW5jZWxsZWQiKS5kYXRh
KCkpOworICAgIGdfbWFpbl9sb29wX3J1bih0ZXN0LT5tX21haW5Mb29wKTsKK30KKwogc3RhdGlj
IHZvaWQgdGVzdFdlYlZpZXdSZWxvYWQoTG9hZFRyYWNraW5nVGVzdCogdGVzdCwgZ2NvbnN0cG9p
bnRlcikKIHsKICAgICAvLyBDaGVjayB0aGF0IG5vdGhpbmcgaGFwcGVucyB3aGVuIHRoZXJlJ3Mg
bm90aGluZyB0byByZWxvYWQuCkBAIC0xMTcsNiArMTUxLDExIEBAIHN0YXRpYyB2b2lkIHNlcnZl
ckNhbGxiYWNrKFNvdXBTZXJ2ZXIqIHNlcnZlciwgU291cE1lc3NhZ2UqIG1lc3NhZ2UsIGNvbnN0
IGNoYXIqCiAgICAgZWxzZSBpZiAoZ19zdHJfZXF1YWwocGF0aCwgIi9yZWRpcmVjdCIpKSB7CiAg
ICAgICAgIHNvdXBfbWVzc2FnZV9zZXRfc3RhdHVzKG1lc3NhZ2UsIFNPVVBfU1RBVFVTX01PVkVE
X1BFUk1BTkVOVExZKTsKICAgICAgICAgc291cF9tZXNzYWdlX2hlYWRlcnNfYXBwZW5kKG1lc3Nh
Z2UtPnJlc3BvbnNlX2hlYWRlcnMsICJMb2NhdGlvbiIsICIvbm9ybWFsIik7CisgICAgfSBlbHNl
IGlmIChnX3N0cl9lcXVhbChwYXRoLCAiL2NhbmNlbGxlZCIpKSB7CisgICAgICAgIHNvdXBfbWVz
c2FnZV9oZWFkZXJzX3NldF9lbmNvZGluZyhtZXNzYWdlLT5yZXNwb25zZV9oZWFkZXJzLCBTT1VQ
X0VOQ09ESU5HX0NIVU5LRUQpOworICAgICAgICBzb3VwX21lc3NhZ2VfYm9keV9hcHBlbmQobWVz
c2FnZS0+cmVzcG9uc2VfYm9keSwgU09VUF9NRU1PUllfU1RBVElDLCByZXNwb25zZVN0cmluZywg
c3RybGVuKHJlc3BvbnNlU3RyaW5nKSk7CisgICAgICAgIHNvdXBfc2VydmVyX3VucGF1c2VfbWVz
c2FnZShzZXJ2ZXIsIG1lc3NhZ2UpOworICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgc291
cF9tZXNzYWdlX2JvZHlfY29tcGxldGUobWVzc2FnZS0+cmVzcG9uc2VfYm9keSk7CkBAIC0xMzAs
NiArMTY5LDcgQEAgdm9pZCBiZWZvcmVBbGwoKQogICAgIExvYWRUcmFja2luZ1Rlc3Q6OmFkZCgi
V2ViS2l0V2ViTG9hZGVyQ2xpZW50IiwgImxvYWRpbmctc3RhdHVzIiwgdGVzdExvYWRpbmdTdGF0
dXMpOwogICAgIExvYWRUcmFja2luZ1Rlc3Q6OmFkZCgiV2ViS2l0V2ViTG9hZGVyQ2xpZW50Iiwg
ImxvYWRpbmctZXJyb3IiLCB0ZXN0TG9hZGluZ0Vycm9yKTsKICAgICBMb2FkVHJhY2tpbmdUZXN0
OjphZGQoIldlYktpdFdlYkxvYWRlckNsaWVudCIsICJsb2FkLWFsdGVybmF0ZS1jb250ZW50Iiwg
dGVzdExvYWRBbHRlcm5hdGVDb250ZW50KTsKKyAgICBXZWJWaWV3VGVzdDo6YWRkKCJXZWJLaXRX
ZWJWaWV3IiwgInN0b3AtbG9hZGluZyIsIHRlc3RMb2FkQ2FuY2VsbGVkKTsKICAgICBMb2FkVHJh
Y2tpbmdUZXN0OjphZGQoIldlYktpdFdlYlZpZXciLCAicHJvZ3Jlc3MiLCB0ZXN0TG9hZFByb2dy
ZXNzKTsKICAgICBMb2FkVHJhY2tpbmdUZXN0OjphZGQoIldlYktpdFdlYlZpZXciLCAicmVsb2Fk
IiwgdGVzdFdlYlZpZXdSZWxvYWQpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111418</attachid>
            <date>2011-10-18 03:48:44 -0700</date>
            <delta_ts>2011-10-20 23:00:00 -0700</delta_ts>
            <desc>Updated patch according to review comments</desc>
            <filename>wk2-stop-loading3.diff</filename>
            <type>text/plain</type>
            <size>7117</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA2YjM1ODVmLi40NWIzYWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjYg
QEAKIDIwMTEtMTAtMTggIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgogCisgICAgICAgIFtHVEtdIEFkZCB3ZWJraXRfd2ViX3ZpZXdfc3RvcF9sb2FkaW5nKCkgdG8g
V2ViS2l0MiBHVEsrIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Njk2MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwOgorICAgICAgICAo
d2Via2l0X3dlYl92aWV3X3N0b3BfbG9hZGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViVmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL0xv
YWRUcmFja2luZ1Rlc3QuY3BwOgorICAgICAgICAocHJvdmlzaW9uYWxMb2FkRmFpbGVkQ2FsbGJh
Y2spOgorICAgICAgICAobG9hZEZhaWxlZENhbGxiYWNrKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL2d0ay90ZXN0cy9UZXN0V2ViS2l0V2ViTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKExv
YWRTdG9wVHJhY2tpbmdUZXN0Ojpsb2FkQ29tbWl0dGVkKToKKyAgICAgICAgKExvYWRTdG9wVHJh
Y2tpbmdUZXN0Ojpsb2FkRmFpbGVkKToKKyAgICAgICAgKExvYWRTdG9wVHJhY2tpbmdUZXN0Ojps
b2FkRmluaXNoZWQpOgorICAgICAgICAodGVzdExvYWRDYW5jZWxsZWQpOgorICAgICAgICAoc2Vy
dmVyQ2FsbGJhY2spOgorICAgICAgICAoYmVmb3JlQWxsKToKKworMjAxMS0xMC0xOCAgQ2FybG9z
IEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKICAgICAgICAgW1VOSVhdIFVz
ZSBTT0NLX1NFUVBBQ0tFVCB3aGVuIGF2YWlsYWJsZQogICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEyODcKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAppbmRleCA4OWM0ZDAwLi5iYWJhNzI5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJW
aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJW
aWV3LmNwcApAQCAtMjgxLDYgKzI4MSwyNSBAQCB2b2lkIHdlYmtpdF93ZWJfdmlld19yZWxvYWRf
YnlwYXNzX2NhY2hlKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiB9CiAKIC8qKgorICogd2Via2l0
X3dlYl92aWV3X3N0b3BfbG9hZGluZzoKKyAqIEB3ZWJfdmlldzogYSAjV2ViS2l0V2ViVmlldwor
ICoKKyAqIFN0b3BzIGFueSBvbmdvaW5nIGxvYWRpbmcgb3BlcmF0aW9uIGluIEB3ZWJfdmlldy4K
KyAqIFRoaXMgbWV0aG9kIGRvZXMgbm90aGluZyBpZiBubyBjb250ZW50IGlzIGJlaW5nIGxvYWRl
ZC4KKyAqIElmIHRoZXJlIGlzIGEgbG9hZGluZyBvcGVyYXRpb24gaW4gcHJvZ3Jlc3MsIGl0IHdp
bGwgYmUgY2FuY2VsbGVkIGFuZAorICogI1dlYktpdFdlYkxvYWRlckNsaWVudDo6cHJvdmlzaW9u
YWwtbG9hZC1mYWlsZWQgb3IKKyAqICNXZWJLaXRXZWJMb2FkZXJDbGllbnQ6OmxvYWQtZmFpbGVk
IHdpbGwgYmUgZW1pdHRlZCBvbiB0aGUgY3VycmVudAorICogI1dlYktpdFdlYkxvYWRlckNsaWVu
dCB3aXRoICVXRUJLSVRfTkVUV09SS19FUlJPUl9DQU5DRUxMRUQgZXJyb3IuCisgKiBTZWUgYWxz
byB3ZWJraXRfd2ViX3ZpZXdfZ2V0X2xvYWRlcl9jbGllbnQoKS4KKyAqLwordm9pZCB3ZWJraXRf
d2ViX3ZpZXdfc3RvcF9sb2FkaW5nKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCit7CisgICAgZ19y
ZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfV0VCX1ZJRVcod2ViVmlldykpOworCisgICAgV0tQYWdl
U3RvcExvYWRpbmcodG9BUEkod2Via2l0V2ViVmlld0Jhc2VHZXRQYWdlKFdFQktJVF9XRUJfVklF
V19CQVNFKHdlYlZpZXcpKSkpOworfQorCisvKioKICAqIHdlYmtpdF93ZWJfdmlld19nb19iYWNr
OgogICogQHdlYl92aWV3OiBhICNXZWJLaXRXZWJWaWV3CiAgKgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oCmluZGV4IGJlNzZiZTguLmUzZDcz
MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdl
YlZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJW
aWV3LmgKQEAgLTk0LDYgKzk0LDggQEAgd2Via2l0X3dlYl92aWV3X2xvYWRfYWx0ZXJuYXRlX2h0
bWwgKFdlYktpdFdlYlZpZXcgICAgICAgICAqd2ViX3ZpZXcsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgICAgICAgICAgICpjb250ZW50LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgICAgICAgICAqYmFz
ZV91cmksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIg
ICAgICAgICAgICp1bnJlYWNoYWJsZV91cmkpOworV0VCS0lUX0FQSSB2b2lkCit3ZWJraXRfd2Vi
X3ZpZXdfc3RvcF9sb2FkaW5nICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAgICp3ZWJfdmll
dyk7CiAKIFdFQktJVF9BUEkgdm9pZAogd2Via2l0X3dlYl92aWV3X3JlbG9hZCAgICAgICAgICAg
ICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAqd2ViX3ZpZXcpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvTG9hZFRyYWNraW5nVGVzdC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy9Mb2FkVHJhY2tpbmdUZXN0LmNw
cAppbmRleCA4MDIxNDBiLi5mYTEyMDQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay90ZXN0cy9Mb2FkVHJhY2tpbmdUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy9Mb2FkVHJhY2tpbmdUZXN0LmNwcApAQCAtMzYs
NiArMzYsNyBAQCBzdGF0aWMgZ2Jvb2xlYW4gcHJvdmlzaW9uYWxMb2FkUmVjZWl2ZWRTZXJ2ZXJS
ZWRpcmVjdENhbGxiYWNrKFdlYktpdFdlYkxvYWRlckNsaQogCiBzdGF0aWMgZ2Jvb2xlYW4gcHJv
dmlzaW9uYWxMb2FkRmFpbGVkQ2FsbGJhY2soV2ViS2l0V2ViTG9hZGVyQ2xpZW50KiBjbGllbnQs
IGNvbnN0IGdjaGFyKiBmYWlsaW5nVVJJLCBHRXJyb3IqIGVycm9yLCBMb2FkVHJhY2tpbmdUZXN0
KiB0ZXN0KQogeworICAgIGdfYXNzZXJ0KGVycm9yKTsKICAgICB0ZXN0LT5wcm92aXNpb25hbExv
YWRGYWlsZWQoY2xpZW50LCBmYWlsaW5nVVJJLCBlcnJvcik7CiAgICAgcmV0dXJuIFRSVUU7CiB9
CkBAIC01NCw2ICs1NSw3IEBAIHN0YXRpYyBnYm9vbGVhbiBsb2FkRmluaXNoZWRDYWxsYmFjayhX
ZWJLaXRXZWJMb2FkZXJDbGllbnQqIGNsaWVudCwgTG9hZFRyYWNraW5nCiAKIHN0YXRpYyBnYm9v
bGVhbiBsb2FkRmFpbGVkQ2FsbGJhY2soV2ViS2l0V2ViTG9hZGVyQ2xpZW50KiBjbGllbnQsIGNv
bnN0IGdjaGFyKiBmYWlsaW5nVVJJLCBHRXJyb3IqIGVycm9yLCBMb2FkVHJhY2tpbmdUZXN0KiB0
ZXN0KQogeworICAgIGdfYXNzZXJ0KGVycm9yKTsKICAgICB0ZXN0LT5sb2FkRmFpbGVkKGNsaWVu
dCwgZmFpbGluZ1VSSSwgZXJyb3IpOwogICAgIHJldHVybiBUUlVFOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvVGVzdFdlYktpdFdlYkxvYWRl
ckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy9UZXN0
V2ViS2l0V2ViTG9hZGVyQ2xpZW50LmNwcAppbmRleCBhMzExYjk2Li43NmIzZGQxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy9UZXN0V2ViS2l0V2Vi
TG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90
ZXN0cy9UZXN0V2ViS2l0V2ViTG9hZGVyQ2xpZW50LmNwcApAQCAtNzAsNiArNzAsMzggQEAgc3Rh
dGljIHZvaWQgdGVzdExvYWRBbHRlcm5hdGVDb250ZW50KExvYWRUcmFja2luZ1Rlc3QqIHRlc3Qs
IGdjb25zdHBvaW50ZXIpCiAgICAgYXNzZXJ0Tm9ybWFsTG9hZEhhcHBlbmVkQW5kQ2xlYXJFdmVu
dHModGVzdC0+bV9sb2FkRXZlbnRzKTsKIH0KIAorY2xhc3MgTG9hZFN0b3BUcmFja2luZ1Rlc3Qg
OiBwdWJsaWMgTG9hZFRyYWNraW5nVGVzdCB7CitwdWJsaWM6CisgICAgTUFLRV9HTElCX1RFU1Rf
RklYVFVSRShMb2FkU3RvcFRyYWNraW5nVGVzdCk7CisKKyAgICB2aXJ0dWFsIHZvaWQgbG9hZENv
bW1pdHRlZChXZWJLaXRXZWJMb2FkZXJDbGllbnQqIGNsaWVudCkKKyAgICB7CisgICAgICAgIExv
YWRUcmFja2luZ1Rlc3Q6OmxvYWRDb21taXR0ZWQoY2xpZW50KTsKKyAgICAgICAgd2Via2l0X3dl
Yl92aWV3X3N0b3BfbG9hZGluZyhtX3dlYlZpZXcpOworICAgIH0KKyAgICB2aXJ0dWFsIHZvaWQg
bG9hZEZhaWxlZChXZWJLaXRXZWJMb2FkZXJDbGllbnQqIGNsaWVudCwgY29uc3QgZ2NoYXIqIGZh
aWxpbmdVUkksIEdFcnJvciogZXJyb3IpCisgICAgeworICAgICAgICBnX2Fzc2VydChnX2Vycm9y
X21hdGNoZXMoZXJyb3IsIFdFQktJVF9ORVRXT1JLX0VSUk9SLCBXRUJLSVRfTkVUV09SS19FUlJP
Ul9DQU5DRUxMRUQpKTsKKyAgICAgICAgTG9hZFRyYWNraW5nVGVzdDo6bG9hZEZhaWxlZChjbGll
bnQsIGZhaWxpbmdVUkksIGVycm9yKTsKKyAgICB9CisgICAgdmlydHVhbCB2b2lkIGxvYWRGaW5p
c2hlZChXZWJLaXRXZWJMb2FkZXJDbGllbnQqIGNsaWVudCkKKyAgICB7CisgICAgICAgIGdfYXNz
ZXJ0X25vdF9yZWFjaGVkKCk7CisgICAgfQorfTsKKworc3RhdGljIHZvaWQgdGVzdExvYWRDYW5j
ZWxsZWQoTG9hZFN0b3BUcmFja2luZ1Rlc3QqIHRlc3QsIGdjb25zdHBvaW50ZXIpCit7CisgICAg
d2Via2l0X3dlYl92aWV3X2xvYWRfdXJpKHRlc3QtPm1fd2ViVmlldywga1NlcnZlci0+Z2V0VVJJ
Rm9yUGF0aCgiL2NhbmNlbGxlZCIpLmRhdGEoKSk7CisgICAgdGVzdC0+d2FpdFVudGlsTG9hZEZp
bmlzaGVkKCk7CisKKyAgICBWZWN0b3I8TG9hZFRyYWNraW5nVGVzdDo6TG9hZEV2ZW50cz4mIGV2
ZW50cyA9IHRlc3QtPm1fbG9hZEV2ZW50czsKKyAgICBnX2Fzc2VydF9jbXBpbnQoZXZlbnRzLnNp
emUoKSwgPT0sIDMpOworICAgIGdfYXNzZXJ0X2NtcGludChldmVudHNbMF0sID09LCBMb2FkVHJh
Y2tpbmdUZXN0OjpQcm92aXNpb25hbExvYWRTdGFydGVkKTsKKyAgICBnX2Fzc2VydF9jbXBpbnQo
ZXZlbnRzWzFdLCA9PSwgTG9hZFRyYWNraW5nVGVzdDo6TG9hZENvbW1pdHRlZCk7CisgICAgZ19h
c3NlcnRfY21waW50KGV2ZW50c1syXSwgPT0sIExvYWRUcmFja2luZ1Rlc3Q6OkxvYWRGYWlsZWQp
OworfQorCiBzdGF0aWMgdm9pZCB0ZXN0V2ViVmlld1JlbG9hZChMb2FkVHJhY2tpbmdUZXN0KiB0
ZXN0LCBnY29uc3Rwb2ludGVyKQogewogICAgIC8vIENoZWNrIHRoYXQgbm90aGluZyBoYXBwZW5z
IHdoZW4gdGhlcmUncyBub3RoaW5nIHRvIHJlbG9hZC4KQEAgLTExNyw2ICsxNDksMTEgQEAgc3Rh
dGljIHZvaWQgc2VydmVyQ2FsbGJhY2soU291cFNlcnZlciogc2VydmVyLCBTb3VwTWVzc2FnZSog
bWVzc2FnZSwgY29uc3QgY2hhcioKICAgICBlbHNlIGlmIChnX3N0cl9lcXVhbChwYXRoLCAiL3Jl
ZGlyZWN0IikpIHsKICAgICAgICAgc291cF9tZXNzYWdlX3NldF9zdGF0dXMobWVzc2FnZSwgU09V
UF9TVEFUVVNfTU9WRURfUEVSTUFORU5UTFkpOwogICAgICAgICBzb3VwX21lc3NhZ2VfaGVhZGVy
c19hcHBlbmQobWVzc2FnZS0+cmVzcG9uc2VfaGVhZGVycywgIkxvY2F0aW9uIiwgIi9ub3JtYWwi
KTsKKyAgICB9IGVsc2UgaWYgKGdfc3RyX2VxdWFsKHBhdGgsICIvY2FuY2VsbGVkIikpIHsKKyAg
ICAgICAgc291cF9tZXNzYWdlX2hlYWRlcnNfc2V0X2VuY29kaW5nKG1lc3NhZ2UtPnJlc3BvbnNl
X2hlYWRlcnMsIFNPVVBfRU5DT0RJTkdfQ0hVTktFRCk7CisgICAgICAgIHNvdXBfbWVzc2FnZV9i
b2R5X2FwcGVuZChtZXNzYWdlLT5yZXNwb25zZV9ib2R5LCBTT1VQX01FTU9SWV9TVEFUSUMsIHJl
c3BvbnNlU3RyaW5nLCBzdHJsZW4ocmVzcG9uc2VTdHJpbmcpKTsKKyAgICAgICAgc291cF9zZXJ2
ZXJfdW5wYXVzZV9tZXNzYWdlKHNlcnZlciwgbWVzc2FnZSk7CisgICAgICAgIHJldHVybjsKICAg
ICB9CiAKICAgICBzb3VwX21lc3NhZ2VfYm9keV9jb21wbGV0ZShtZXNzYWdlLT5yZXNwb25zZV9i
b2R5KTsKQEAgLTEzMCw2ICsxNjcsNyBAQCB2b2lkIGJlZm9yZUFsbCgpCiAgICAgTG9hZFRyYWNr
aW5nVGVzdDo6YWRkKCJXZWJLaXRXZWJMb2FkZXJDbGllbnQiLCAibG9hZGluZy1zdGF0dXMiLCB0
ZXN0TG9hZGluZ1N0YXR1cyk7CiAgICAgTG9hZFRyYWNraW5nVGVzdDo6YWRkKCJXZWJLaXRXZWJM
b2FkZXJDbGllbnQiLCAibG9hZGluZy1lcnJvciIsIHRlc3RMb2FkaW5nRXJyb3IpOwogICAgIExv
YWRUcmFja2luZ1Rlc3Q6OmFkZCgiV2ViS2l0V2ViTG9hZGVyQ2xpZW50IiwgImxvYWQtYWx0ZXJu
YXRlLWNvbnRlbnQiLCB0ZXN0TG9hZEFsdGVybmF0ZUNvbnRlbnQpOworICAgIExvYWRTdG9wVHJh
Y2tpbmdUZXN0OjphZGQoIldlYktpdFdlYlZpZXciLCAic3RvcC1sb2FkaW5nIiwgdGVzdExvYWRD
YW5jZWxsZWQpOwogICAgIExvYWRUcmFja2luZ1Rlc3Q6OmFkZCgiV2ViS2l0V2ViVmlldyIsICJw
cm9ncmVzcyIsIHRlc3RMb2FkUHJvZ3Jlc3MpOwogICAgIExvYWRUcmFja2luZ1Rlc3Q6OmFkZCgi
V2ViS2l0V2ViVmlldyIsICJyZWxvYWQiLCB0ZXN0V2ViVmlld1JlbG9hZCk7CiB9Cg==
</data>
<flag name="review"
          id="109243"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>