<?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>69254</bug_id>
          
          <creation_ts>2011-10-03 05:32:30 -0700</creation_ts>
          <short_desc>[GTK] Add webkit_web_view_load_alternate_html() to WebKit2 GTK+ API</short_desc>
          <delta_ts>2011-10-04 11:11:08 -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>
          <dependson>69252</dependson>
          <blocked>69255</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>gustavo</cc>
    
    <cc>mrobinson</cc>
    
    <cc>pnormand</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>476914</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-10-03 05:32:30 -0700</bug_when>
    <thetext>Add webkit_web_view_load_alternate_html_string() than can be used to implement default error pages in WebKitWebLoaderclient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476915</commentid>
    <comment_count>1</comment_count>
      <attachid>109472</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-10-03 05:33:58 -0700</bug_when>
    <thetext>Created attachment 109472
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476916</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-03 05:35:53 -0700</bug_when>
    <thetext>Attachment 109472 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1

Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:69:  Extra space before ( in function call  [whitespace/parens] [4]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:72:  Extra space before ( in function call  [whitespace/parens] [4]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:75:  The parameter name &quot;context&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:75:  Extra space before ( in function call  [whitespace/parens] [4]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:78:  The parameter name &quot;web_view&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:78:  Extra space before ( in function call  [whitespace/parens] [4]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:81:  The parameter name &quot;web_view&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:81:  Extra space before ( in function call  [whitespace/parens] [4]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:84:  Extra space before ( in function call  [whitespace/parens] [4]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:84:  The parameter name &quot;web_view&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:85:  The parameter name &quot;loader_client&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:88:  Extra space before ( in function call  [whitespace/parens] [4]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:88:  The parameter name &quot;web_view&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:92:  Extra space before ( in function call  [whitespace/parens] [4]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:92:  The parameter name &quot;web_view&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:98:  The parameter name &quot;web_view&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:98:  Extra space before ( in function call  [whitespace/parens] [4]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:101:  The parameter name &quot;web_view&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:101:  Extra space before ( in function call  [whitespace/parens] [4]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:236:  webkit_web_view_load_alternate_html_string is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 20 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477024</commentid>
    <comment_count>3</comment_count>
      <attachid>109472</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-10-03 09:29:22 -0700</bug_when>
    <thetext>Comment on attachment 109472
Patch

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

Do we need two reviewers for transporting APIs from wk1 to wk2? I assume we will be reviewing the whole API set before we commit to it anyway, right?

&gt; Source/WebKit2/UIProcess/API/gtk/tests/testloading.c:231
&gt; +

needless line =P =)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477027</commentid>
    <comment_count>4</comment_count>
      <attachid>109472</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-10-03 09:33:20 -0700</bug_when>
    <thetext>Comment on attachment 109472
Patch

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

Great stuff, just some minor things below.

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:236
&gt;&gt; + * Request loading of an alternate content for a URI that is unreachable.
&gt;&gt; + * Using this method will preserve the back-forward list. The URI passed in
&gt;&gt; + * @base_uri has to be an absolute URI.
&gt;&gt; + * You can monitor the status of the load operation using the
&gt;&gt; + * #WebKitWebLoaderClient of @web_view. See webkit_web_view_get_loader_client().
&gt; 
&gt; webkit_web_view_load_alternate_html_string is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]

This is nice documentation. The only thing that I think it&apos;s lacking is a note about when it&apos;s appropriate to call this method. Does the user call it during a particular loader callback? Ther other quibble I have is that it seems useful outside of load failures, because it does something different with the back-forward list. I&apos;m not exactly sure what from the documentation you have, so that could be expanded a bit. I also think if it&apos;s useful in non-failure cases unreachableURI might need a different name.

&gt; Source/WebKit2/UIProcess/API/gtk/tests/testloading.c:30
&gt; +#define HTML_ALTERNATE &quot;&lt;html&gt;&lt;body&gt;Alternate Content&lt;/body&gt;&lt;/html&gt;&quot;

Please use static const char* for these type of strings. If they are only used in one place, be sure to place them in the innermost scope of their use.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477035</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-10-03 09:39:49 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 109472 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=109472&amp;action=review
&gt; 
&gt; Great stuff, just some minor things below.
&gt; 
&gt; &gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:236
&gt; &gt;&gt; + * Request loading of an alternate content for a URI that is unreachable.
&gt; &gt;&gt; + * Using this method will preserve the back-forward list. The URI passed in
&gt; &gt;&gt; + * @base_uri has to be an absolute URI.
&gt; &gt;&gt; + * You can monitor the status of the load operation using the
&gt; &gt;&gt; + * #WebKitWebLoaderClient of @web_view. See webkit_web_view_get_loader_client().
&gt; &gt; 
&gt; &gt; webkit_web_view_load_alternate_html_string is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
&gt; 
&gt; This is nice documentation. The only thing that I think it&apos;s lacking is a note about when it&apos;s appropriate to call this method. Does the user call it during a particular loader callback? Ther other quibble I have is that it seems useful outside of load failures, because it does something different with the back-forward list. I&apos;m not exactly sure what from the documentation you have, so that could be expanded a bit. I also think if it&apos;s useful in non-failure cases unreachableURI might need a different name.

This documentation is the same than webki1 API. The parameter is called &quot;unreachable&quot; in wk1 API, C API, WebKit2 and WebCore. 

&gt; &gt; Source/WebKit2/UIProcess/API/gtk/tests/testloading.c:30
&gt; &gt; +#define HTML_ALTERNATE &quot;&lt;html&gt;&lt;body&gt;Alternate Content&lt;/body&gt;&lt;/html&gt;&quot;
&gt; 
&gt; Please use static const char* for these type of strings. If they are only used in one place, be sure to place them in the innermost scope of their use.

Ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477047</commentid>
    <comment_count>6</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-10-03 09:51:16 -0700</bug_when>
    <thetext>(In reply to comment #5)

&gt; This documentation is the same than webki1 API. The parameter is called &quot;unreachable&quot; in wk1 API, C API, WebKit2 and WebCore. 

Check out the documentation in WebFrame.h in the Mac port. I think we should have something similar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477456</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-10-03 23:37:26 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; 
&gt; &gt; This documentation is the same than webki1 API. The parameter is called &quot;unreachable&quot; in wk1 API, C API, WebKit2 and WebCore. 
&gt; 
&gt; Check out the documentation in WebFrame.h in the Mac port. I think we should have something similar.

They use unreachable name too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477482</commentid>
    <comment_count>8</comment_count>
      <attachid>109591</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-10-04 01:33:05 -0700</bug_when>
    <thetext>Created attachment 109591
Updated patch

New patch adding doc comments suggested by Martin. I also renamed the function to load_html(), since it&apos;s shorter and it&apos;s obvious that it&apos;s a html string.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477484</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-04 01:35:40 -0700</bug_when>
    <thetext>Attachment 109591 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1

Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:69:  Extra space before ( in function call  [whitespace/parens] [4]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:72:  Extra space before ( in function call  [whitespace/parens] [4]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:75:  The parameter name &quot;context&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:75:  Extra space before ( in function call  [whitespace/parens] [4]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:78:  The parameter name &quot;web_view&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:78:  Extra space before ( in function call  [whitespace/parens] [4]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:81:  The parameter name &quot;web_view&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:81:  Extra space before ( in function call  [whitespace/parens] [4]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:84:  Extra space before ( in function call  [whitespace/parens] [4]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:84:  The parameter name &quot;web_view&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:85:  The parameter name &quot;loader_client&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:88:  Extra space before ( in function call  [whitespace/parens] [4]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:88:  The parameter name &quot;web_view&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:92:  Extra space before ( in function call  [whitespace/parens] [4]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:92:  The parameter name &quot;web_view&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:98:  The parameter name &quot;web_view&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:98:  Extra space before ( in function call  [whitespace/parens] [4]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:101:  The parameter name &quot;web_view&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:101:  Extra space before ( in function call  [whitespace/parens] [4]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:241:  webkit_web_view_load_alternate_html is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 20 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477738</commentid>
    <comment_count>10</comment_count>
      <attachid>109591</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-10-04 10:55:07 -0700</bug_when>
    <thetext>Comment on attachment 109591
Updated patch

Looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477765</commentid>
    <comment_count>11</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-10-04 11:11:08 -0700</bug_when>
    <thetext>Committed r96614: &lt;http://trac.webkit.org/changeset/96614&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109472</attachid>
            <date>2011-10-03 05:33:58 -0700</date>
            <delta_ts>2011-10-04 01:33:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-alternate-content.diff</filename>
            <type>text/plain</type>
            <size>8091</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA5ZDdjZWFiLi5hZmMxY2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTEtMTAtMDMgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIEFkZCB3ZWJraXRfd2ViX3ZpZXdfbG9hZF9hbHRlcm5hdGVfaHRt
bF9zdHJpbmcoKSB0byBXZWJLaXQyIEdUSysgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI1NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5j
cHA6CisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfbG9hZF9hbHRlcm5hdGVfaHRtbF9zdHJpbmcp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy90ZXN0bG9hZGluZy5jOgorICAgICAgICAobG9hZEFs
dGVybmF0ZUNvbnRlbnRMb2FkRmluaXNoZWQpOgorICAgICAgICAobG9hZEFsdGVybmF0ZUNvbnRl
bnRMb2FkRmFpbGVkKToKKyAgICAgICAgKHRlc3RMb2FkQWx0ZXJuYXRlQ29udGVudCk6CisgICAg
ICAgIChtYWluKToKKwogMjAxMS0xMC0wMiAgWmVubyBBbGJpc3NlciAgPHplbm8uYWxiaXNzZXJA
bm9raWEuY29tPgogCiAgICAgICAgIFtRdF1bV0syXVtNYWNdIFdlYktpdDIgZG9lcyBub3QgYnVp
bGQgb24gbWFjIGFmdGVyIG1lcmdlIG9mIFF0NSByZWZhY3RvciBicmFuY2guCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCmluZGV4IDg5
M2VjNGQuLmNkNjJjNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFdlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFdlYlZpZXcuY3BwCkBAIC0yMjMsNiArMjIzLDM2IEBAIHZvaWQgd2Via2l0X3dl
Yl92aWV3X2xvYWRfdXJpKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIGNvbnN0IGdjaGFyKiB1cmkp
CiB9CiAKIC8qKgorICogd2Via2l0X3dlYl92aWV3X2xvYWRfYWx0ZXJuYXRlX2h0bWxfc3RyaW5n
OgorICogQHdlYl92aWV3OiBhICNXZWJLaXRXZWJWaWV3CisgKiBAY29udGVudDogdGhlIGFsdGVy
bmF0ZSBjb250ZW50IHRvIGRpc3BsYXkgYXMgdGhlIG1haW4gcGFnZSBvZiB0aGUgQHdlYl92aWV3
CisgKiBAYmFzZV91cmk6IHRoZSBiYXNlIFVSSSBmb3IgcmVsYXRpdmUgbG9jYXRpb25zCisgKiBA
dW5yZWFjaGFibGVfdXJpOiB0aGUgVVJJIGZvciB0aGUgYWx0ZXJuYXRlIHBhZ2UgY29udGVudAor
ICoKKyAqIFJlcXVlc3QgbG9hZGluZyBvZiBhbiBhbHRlcm5hdGUgY29udGVudCBmb3IgYSBVUkkg
dGhhdCBpcyB1bnJlYWNoYWJsZS4KKyAqIFVzaW5nIHRoaXMgbWV0aG9kIHdpbGwgcHJlc2VydmUg
dGhlIGJhY2stZm9yd2FyZCBsaXN0LiBUaGUgVVJJIHBhc3NlZCBpbgorICogQGJhc2VfdXJpIGhh
cyB0byBiZSBhbiBhYnNvbHV0ZSBVUkkuCisgKiBZb3UgY2FuIG1vbml0b3IgdGhlIHN0YXR1cyBv
ZiB0aGUgbG9hZCBvcGVyYXRpb24gdXNpbmcgdGhlCisgKiAjV2ViS2l0V2ViTG9hZGVyQ2xpZW50
IG9mIEB3ZWJfdmlldy4gU2VlIHdlYmtpdF93ZWJfdmlld19nZXRfbG9hZGVyX2NsaWVudCgpLgor
ICovCit2b2lkIHdlYmtpdF93ZWJfdmlld19sb2FkX2FsdGVybmF0ZV9odG1sX3N0cmluZyhXZWJL
aXRXZWJWaWV3KiB3ZWJWaWV3LCBjb25zdCBnY2hhciogY29udGVudCwgY29uc3QgZ2NoYXIqIGJh
c2VVUkksIGNvbnN0IGdjaGFyKiB1bnJlYWNoYWJsZVVSSSkKK3sKKyAgICBnX3JldHVybl9pZl9m
YWlsKFdFQktJVF9JU19XRUJfVklFVyh3ZWJWaWV3KSk7CisgICAgZ19yZXR1cm5faWZfZmFpbChj
b250ZW50KTsKKworICAgIFdLU3RyaW5nUmVmIGh0bWxTdHJpbmcgPSBXS1N0cmluZ0NyZWF0ZVdp
dGhVVEY4Q1N0cmluZyhjb250ZW50KTsKKyAgICBXS1VSTFJlZiBiYXNlVVJMID0gYmFzZVVSSSA/
IFdLVVJMQ3JlYXRlV2l0aFVURjhDU3RyaW5nKGJhc2VVUkkpIDogMDsKKyAgICBXS1VSTFJlZiB1
bnJlYWNoYWJsZVVSTCA9IHVucmVhY2hhYmxlVVJJID8gV0tVUkxDcmVhdGVXaXRoVVRGOENTdHJp
bmcodW5yZWFjaGFibGVVUkkpIDogMDsKKyAgICBXZWJQYWdlUHJveHkqIHBhZ2UgPSB3ZWJraXRX
ZWJWaWV3QmFzZUdldFBhZ2UoV0VCS0lUX1dFQl9WSUVXX0JBU0Uod2ViVmlldykpOworICAgIFdL
UGFnZUxvYWRBbHRlcm5hdGVIVE1MU3RyaW5nKHRvQVBJKHBhZ2UpLCBodG1sU3RyaW5nLCBiYXNl
VVJMLCB1bnJlYWNoYWJsZVVSTCk7CisgICAgV0tSZWxlYXNlKGh0bWxTdHJpbmcpOworICAgIGlm
IChiYXNlVVJMKQorICAgICAgICBXS1JlbGVhc2UoYmFzZVVSTCk7CisgICAgaWYgKHVucmVhY2hh
YmxlVVJMKQorICAgICAgICBXS1JlbGVhc2UodW5yZWFjaGFibGVVUkwpOworfQorCisvKioKICAq
IHdlYmtpdF93ZWJfdmlld19nb19iYWNrOgogICogQHdlYl92aWV3OiBhICNXZWJLaXRXZWJWaWV3
CiAgKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
V2ViVmlldy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmll
dy5oCmluZGV4IGE3OWIyMWIuLjRkZWM5MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmgKQEAgLTY2LDMzICs2NiwzOSBAQCBzdHJ1Y3Qg
X1dlYktpdFdlYlZpZXdDbGFzcyB7CiB9OwogCiBXS19FWFBPUlQgR1R5cGUKLXdlYmtpdF93ZWJf
dmlld19nZXRfdHlwZSAgICAgICAgICAodm9pZCk7Cit3ZWJraXRfd2ViX3ZpZXdfZ2V0X3R5cGUg
ICAgICAgICAgICAgICAgICAgKHZvaWQpOwogCiBXS19FWFBPUlQgR3RrV2lkZ2V0ICoKLXdlYmtp
dF93ZWJfdmlld19uZXcgICAgICAgICAgICAgICAodm9pZCk7Cit3ZWJraXRfd2ViX3ZpZXdfbmV3
ICAgICAgICAgICAgICAgICAgICAgICAgKHZvaWQpOwogCiBXS19FWFBPUlQgR3RrV2lkZ2V0ICoK
LXdlYmtpdF93ZWJfdmlld19uZXdfd2l0aF9jb250ZXh0ICAoV2ViS2l0V2ViQ29udGV4dCAgICAg
ICpjb250ZXh0KTsKK3dlYmtpdF93ZWJfdmlld19uZXdfd2l0aF9jb250ZXh0ICAgICAgICAgICAo
V2ViS2l0V2ViQ29udGV4dCAgICAgICpjb250ZXh0KTsKIAogV0tfRVhQT1JUIFdlYktpdFdlYkNv
bnRleHQgKgotd2Via2l0X3dlYl92aWV3X2dldF9jb250ZXh0ICAgICAgIChXZWJLaXRXZWJWaWV3
ICAgICAgICAgKndlYl92aWV3KTsKK3dlYmtpdF93ZWJfdmlld19nZXRfY29udGV4dCAgICAgICAg
ICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAgICp3ZWJfdmlldyk7CiAKIFdLX0VYUE9SVCBX
ZWJLaXRXZWJMb2FkZXJDbGllbnQgKgotd2Via2l0X3dlYl92aWV3X2dldF9sb2FkZXJfY2xpZW50
IChXZWJLaXRXZWJWaWV3ICAgICAgICAgKndlYl92aWV3KTsKK3dlYmtpdF93ZWJfdmlld19nZXRf
bG9hZGVyX2NsaWVudCAgICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAgICp3ZWJfdmlldyk7
CiAKIFdLX0VYUE9SVCB2b2lkCi13ZWJraXRfd2ViX3ZpZXdfc2V0X2xvYWRlcl9jbGllbnQgKFdl
YktpdFdlYlZpZXcgICAgICAgICAqd2ViX3ZpZXcsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFdlYktpdFdlYkxvYWRlckNsaWVudCAqbG9hZGVyX2NsaWVudCk7Cit3ZWJraXRf
d2ViX3ZpZXdfc2V0X2xvYWRlcl9jbGllbnQgICAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAg
ICAqd2ViX3ZpZXcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFdlYktpdFdlYkxvYWRlckNsaWVudCAqbG9hZGVyX2NsaWVudCk7CiAKIFdLX0VYUE9SVCB2b2lk
Ci13ZWJraXRfd2ViX3ZpZXdfbG9hZF91cmkgICAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAg
ICAqd2ViX3ZpZXcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdj
aGFyICAgICAgICAgICAqdXJpKTsKK3dlYmtpdF93ZWJfdmlld19sb2FkX3VyaSAgICAgICAgICAg
ICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAgICp3ZWJfdmlldywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgICAgICAgICAgICp1cmkp
OwogCiBXS19FWFBPUlQgdm9pZAotd2Via2l0X3dlYl92aWV3X2dvX2JhY2sgICAgICAgICAgIChX
ZWJLaXRXZWJWaWV3ICAgICAgICAgKndlYl92aWV3KTsKK3dlYmtpdF93ZWJfdmlld19sb2FkX2Fs
dGVybmF0ZV9odG1sX3N0cmluZyAoV2ViS2l0V2ViVmlldyAgICAgICAgICp3ZWJfdmlldywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgICAg
ICAgICAgICpjb250ZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBnY2hhciAgICAgICAgICAgKmJhc2VfdXJpLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAgICAgICAgICAgKnVucmVhY2hh
YmxlX3VyaSk7CiAKIFdLX0VYUE9SVCB2b2lkCi13ZWJraXRfd2ViX3ZpZXdfZ29fZm9yd2FyZCAg
ICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAqd2ViX3ZpZXcpOword2Via2l0X3dlYl92aWV3
X2dvX2JhY2sgICAgICAgICAgICAgICAgICAgIChXZWJLaXRXZWJWaWV3ICAgICAgICAgKndlYl92
aWV3KTsKKworV0tfRVhQT1JUIHZvaWQKK3dlYmtpdF93ZWJfdmlld19nb19mb3J3YXJkICAgICAg
ICAgICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAgICp3ZWJfdmlldyk7CiAKIEdfRU5EX0RF
Q0xTCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3Rz
L3Rlc3Rsb2FkaW5nLmMgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy90
ZXN0bG9hZGluZy5jCmluZGV4IDc0OTgyYzAuLjYzODIwN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL3Rlc3Rsb2FkaW5nLmMKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvdGVzdGxvYWRpbmcuYwpAQCAtMjcsNiAr
MjcsOCBAQAogICogbG9va3MgbGlrZSBzb3VwIHJlZnVzZXMgdG8gc2VuZCBvciByZWNlaXZlIGEg
dG9vIHNtYWxsIGNodW5rICovCiAjZGVmaW5lIEhUTUxfU1RSSU5HICI8aHRtbD48Ym9keT5UZXN0
aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3Rp
bmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGlu
ZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5n
IVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3Rpbmch
VGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFU
ZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRl
c3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVz
dGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0
aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3Rp
bmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGlu
ZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5n
IVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3Rpbmch
PC9ib2R5PjwvaHRtbD4iCiAKKyNkZWZpbmUgSFRNTF9BTFRFUk5BVEUgIjxodG1sPjxib2R5PkFs
dGVybmF0ZSBDb250ZW50PC9ib2R5PjwvaHRtbD4iCisKIFNvdXBVUkkgKmJhc2VVUkk7CiAKIC8q
IEZvciByZWFsIHJlcXVlc3QgdGVzdGluZyAqLwpAQCAtMjIzLDYgKzIyNSwzNSBAQCBzdGF0aWMg
dm9pZCB0ZXN0TG9hZGluZ0Vycm9yKFdlYkxvYWRpbmdGaXh0dXJlICpmaXh0dXJlLCBnY29uc3Rw
b2ludGVyIGRhdGEpCiAgICAgZ19hc3NlcnQoZml4dHVyZS0+aGFzQmVlbkZhaWxlZCk7CiB9CiAK
K3N0YXRpYyBnYm9vbGVhbiBsb2FkQWx0ZXJuYXRlQ29udGVudExvYWRGaW5pc2hlZChXZWJLaXRX
ZWJMb2FkZXJDbGllbnQgKmNsaWVudCwgV2ViTG9hZGluZ0ZpeHR1cmUgKmZpeHR1cmUpCit7Cisg
ICAgZ19tYWluX2xvb3BfcXVpdChmaXh0dXJlLT5sb29wKTsKKworICAgIHJldHVybiBUUlVFOwor
fQorCitzdGF0aWMgZ2Jvb2xlYW4gbG9hZEFsdGVybmF0ZUNvbnRlbnRMb2FkRmFpbGVkKFdlYktp
dFdlYkxvYWRlckNsaWVudCAqY2xpZW50LCBjb25zdCBnY2hhciAqZmFpbGluZ1VSSSwgR0Vycm9y
ICplcnJvciwgV2ViTG9hZGluZ0ZpeHR1cmUgKmZpeHR1cmUpCit7CisgICAgZ19hc3NlcnRfbm90
X3JlYWNoZWQoKTsKKyAgICByZXR1cm4gVFJVRTsKK30KKworc3RhdGljIHZvaWQgdGVzdExvYWRB
bHRlcm5hdGVDb250ZW50KFdlYkxvYWRpbmdGaXh0dXJlICpmaXh0dXJlLCBnY29uc3Rwb2ludGVy
IGRhdGEpCit7CisgICAgY2hhciAqdXJpU3RyaW5nOworICAgIFdlYktpdFdlYkxvYWRlckNsaWVu
dCAqY2xpZW50ID0gd2Via2l0X3dlYl92aWV3X2dldF9sb2FkZXJfY2xpZW50KGZpeHR1cmUtPndl
YlZpZXcpOworCisgICAgZ19zaWduYWxfY29ubmVjdChjbGllbnQsICJsb2FkLWZpbmlzaGVkIiwg
R19DQUxMQkFDSyhsb2FkQWx0ZXJuYXRlQ29udGVudExvYWRGaW5pc2hlZCksIGZpeHR1cmUpOwor
ICAgIGdfc2lnbmFsX2Nvbm5lY3QoY2xpZW50LCAicHJvdmlzaW9uYWwtbG9hZC1mYWlsZWQiLCBH
X0NBTExCQUNLKGxvYWRBbHRlcm5hdGVDb250ZW50TG9hZEZhaWxlZCksIGZpeHR1cmUpOworICAg
IGdfc2lnbmFsX2Nvbm5lY3QoY2xpZW50LCAibG9hZC1mYWlsZWQiLCBHX0NBTExCQUNLKGxvYWRB
bHRlcm5hdGVDb250ZW50TG9hZEZhaWxlZCksIGZpeHR1cmUpOworCisgICAgdXJpU3RyaW5nID0g
Z2V0VVJJRm9yUGF0aCgiL2FsdGVybmF0ZSIpOworICAgIHdlYmtpdF93ZWJfdmlld19sb2FkX2Fs
dGVybmF0ZV9odG1sX3N0cmluZyhmaXh0dXJlLT53ZWJWaWV3LCBIVE1MX0FMVEVSTkFURSwgTlVM
TCwgdXJpU3RyaW5nKTsKKyAgICBnX2ZyZWUodXJpU3RyaW5nKTsKKworICAgIGdfbWFpbl9sb29w
X3J1bihmaXh0dXJlLT5sb29wKTsKK30KKwogaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2
KQogewogICAgIFNvdXBTZXJ2ZXIgKnNlcnZlcjsKQEAgLTI1MSw2ICsyODIsMTEgQEAgaW50IG1h
aW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgICAgICAgICAgd2ViTG9hZGluZ0ZpeHR1
cmVTZXR1cCwKICAgICAgICAgICAgICAgIHRlc3RMb2FkaW5nRXJyb3IsCiAgICAgICAgICAgICAg
ICB3ZWJMb2FkaW5nRml4dHVyZVRlYXJkb3duKTsKKyAgICBnX3Rlc3RfYWRkKCIvd2Via2l0Mi9s
b2FkaW5nL2FsdGVybmF0ZV9jb250ZW50IiwKKyAgICAgICAgICAgICAgIFdlYkxvYWRpbmdGaXh0
dXJlLCBOVUxMLAorICAgICAgICAgICAgICAgd2ViTG9hZGluZ0ZpeHR1cmVTZXR1cCwKKyAgICAg
ICAgICAgICAgIHRlc3RMb2FkQWx0ZXJuYXRlQ29udGVudCwKKyAgICAgICAgICAgICAgIHdlYkxv
YWRpbmdGaXh0dXJlVGVhcmRvd24pOwogCiAgICAgcmV0dXJuIGdfdGVzdF9ydW4oKTsKIH0K
</data>
<flag name="review"
          id="106719"
          type_id="1"
          status="-"
          setter="mrobinson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109591</attachid>
            <date>2011-10-04 01:33:05 -0700</date>
            <delta_ts>2011-10-04 10:55:07 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>wk2-alternate-content2.diff</filename>
            <type>text/plain</type>
            <size>7264</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBjZjU1NTdhLi43ZjQwNTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTEtMTAtMDQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIEFkZCB3ZWJraXRfd2ViX3ZpZXdfbG9hZF9hbHRlcm5hdGVfaHRt
bCgpIHRvIFdlYktpdDIgR1RLKyBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTY5MjU0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcDoKKyAg
ICAgICAgKHdlYmtpdF93ZWJfdmlld19sb2FkX2FsdGVybmF0ZV9odG1sKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9ndGsvdGVzdHMvdGVzdGxvYWRpbmcuYzoKKyAgICAgICAgKGxvYWRBbHRlcm5hdGVDb250ZW50
TG9hZEZpbmlzaGVkKToKKyAgICAgICAgKGxvYWRBbHRlcm5hdGVDb250ZW50TG9hZEZhaWxlZCk6
CisgICAgICAgICh0ZXN0TG9hZEFsdGVybmF0ZUNvbnRlbnQpOgorICAgICAgICAobWFpbik6CisK
IDIwMTEtMTAtMDMgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAg
ICAgICBDb250ZW50IGFyZWEgZG9lcyBub3QgcmV0dXJuIHRvIHRoZSBjb3JyZWN0IHBvc2l0aW9u
IGFmdGVyIHJ1YmJlcmJhbmRpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKaW5kZXggODkzZWM0ZC4uZDUwY2U3OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKQEAg
LTIyMyw2ICsyMjMsMzkgQEAgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfbG9hZF91cmkoV2ViS2l0V2Vi
Vmlldyogd2ViVmlldywgY29uc3QgZ2NoYXIqIHVyaSkKIH0KIAogLyoqCisgKiB3ZWJraXRfd2Vi
X3ZpZXdfbG9hZF9hbHRlcm5hdGVfaHRtbDoKKyAqIEB3ZWJfdmlldzogYSAjV2ViS2l0V2ViVmll
dworICogQGNvbnRlbnQ6IHRoZSBhbHRlcm5hdGUgY29udGVudCB0byBkaXNwbGF5IGFzIHRoZSBt
YWluIHBhZ2Ugb2YgdGhlIEB3ZWJfdmlldworICogQGJhc2VfdXJpOiB0aGUgYmFzZSBVUkkgZm9y
IHJlbGF0aXZlIGxvY2F0aW9ucworICogQHVucmVhY2hhYmxlX3VyaTogdGhlIFVSSSBmb3IgdGhl
IGFsdGVybmF0ZSBwYWdlIGNvbnRlbnQKKyAqCisgKiBSZXF1ZXN0IGxvYWRpbmcgb2YgYW4gYWx0
ZXJuYXRlIGNvbnRlbnQgZm9yIGEgVVJJIHRoYXQgaXMgdW5yZWFjaGFibGUuIFRoaXMgYWxsb3dz
IGNsaWVudHMKKyAqIHRvIGRpc3BsYXkgcGFnZS1sb2FkaW5nIGVycm9ycyBpbiB0aGUgI1dlYktp
dFdlYlZpZXcgaXRzZWxmLiBUaGlzIGlzIHR5cGljYWxseSBjYWxsZWQgZnJvbQorICogI1dlYktp
dFdlYkxvYWRlckNsaWVudDo6cHJvdmlzaW9uYWwtbG9hZC1mYWlsZWQgb3IgI1dlYktpdFdlYkxv
YWRlckNsaWVudDo6bG9hZC1mYWlsZWQKKyAqIHNpZ25hbHMuCisgKiBXaGVuIGNhbGxlZCBmcm9t
IHRob3NlIHNpZ25hbHMgdGhpcyBtZXRob2Qgd2lsbCBwcmVzZXJ2ZSB0aGUgYmFjay1mb3J3YXJk
IGxpc3QuIFRoZSBVUkkgcGFzc2VkIGluCisgKiBAYmFzZV91cmkgaGFzIHRvIGJlIGFuIGFic29s
dXRlIFVSSS4KKyAqIFlvdSBjYW4gbW9uaXRvciB0aGUgc3RhdHVzIG9mIHRoZSBsb2FkIG9wZXJh
dGlvbiB1c2luZyB0aGUKKyAqICNXZWJLaXRXZWJMb2FkZXJDbGllbnQgb2YgQHdlYl92aWV3LiBT
ZWUgd2Via2l0X3dlYl92aWV3X2dldF9sb2FkZXJfY2xpZW50KCkuCisgKi8KK3ZvaWQgd2Via2l0
X3dlYl92aWV3X2xvYWRfYWx0ZXJuYXRlX2h0bWwoV2ViS2l0V2ViVmlldyogd2ViVmlldywgY29u
c3QgZ2NoYXIqIGNvbnRlbnQsIGNvbnN0IGdjaGFyKiBiYXNlVVJJLCBjb25zdCBnY2hhciogdW5y
ZWFjaGFibGVVUkkpCit7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfV0VCX1ZJRVco
d2ViVmlldykpOworICAgIGdfcmV0dXJuX2lmX2ZhaWwoY29udGVudCk7CisKKyAgICBXS1N0cmlu
Z1JlZiBodG1sU3RyaW5nID0gV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoY29udGVudCk7
CisgICAgV0tVUkxSZWYgYmFzZVVSTCA9IGJhc2VVUkkgPyBXS1VSTENyZWF0ZVdpdGhVVEY4Q1N0
cmluZyhiYXNlVVJJKSA6IDA7CisgICAgV0tVUkxSZWYgdW5yZWFjaGFibGVVUkwgPSB1bnJlYWNo
YWJsZVVSSSA/IFdLVVJMQ3JlYXRlV2l0aFVURjhDU3RyaW5nKHVucmVhY2hhYmxlVVJJKSA6IDA7
CisgICAgV2ViUGFnZVByb3h5KiBwYWdlID0gd2Via2l0V2ViVmlld0Jhc2VHZXRQYWdlKFdFQktJ
VF9XRUJfVklFV19CQVNFKHdlYlZpZXcpKTsKKyAgICBXS1BhZ2VMb2FkQWx0ZXJuYXRlSFRNTFN0
cmluZyh0b0FQSShwYWdlKSwgaHRtbFN0cmluZywgYmFzZVVSTCwgdW5yZWFjaGFibGVVUkwpOwor
ICAgIFdLUmVsZWFzZShodG1sU3RyaW5nKTsKKyAgICBpZiAoYmFzZVVSTCkKKyAgICAgICAgV0tS
ZWxlYXNlKGJhc2VVUkwpOworICAgIGlmICh1bnJlYWNoYWJsZVVSTCkKKyAgICAgICAgV0tSZWxl
YXNlKHVucmVhY2hhYmxlVVJMKTsKK30KKworLyoqCiAgKiB3ZWJraXRfd2ViX3ZpZXdfZ29fYmFj
azoKICAqIEB3ZWJfdmlldzogYSAjV2ViS2l0V2ViVmlldwogICoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaAppbmRleCBhNzliMjFiLi5iZmY5
NzI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRX
ZWJWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2Vi
Vmlldy5oCkBAIC02NiwzMyArNjYsMzkgQEAgc3RydWN0IF9XZWJLaXRXZWJWaWV3Q2xhc3Mgewog
fTsKIAogV0tfRVhQT1JUIEdUeXBlCi13ZWJraXRfd2ViX3ZpZXdfZ2V0X3R5cGUgICAgICAgICAg
KHZvaWQpOword2Via2l0X3dlYl92aWV3X2dldF90eXBlICAgICAgICAgICAgKHZvaWQpOwogCiBX
S19FWFBPUlQgR3RrV2lkZ2V0ICoKLXdlYmtpdF93ZWJfdmlld19uZXcgICAgICAgICAgICAgICAo
dm9pZCk7Cit3ZWJraXRfd2ViX3ZpZXdfbmV3ICAgICAgICAgICAgICAgICAodm9pZCk7CiAKIFdL
X0VYUE9SVCBHdGtXaWRnZXQgKgotd2Via2l0X3dlYl92aWV3X25ld193aXRoX2NvbnRleHQgIChX
ZWJLaXRXZWJDb250ZXh0ICAgICAgKmNvbnRleHQpOword2Via2l0X3dlYl92aWV3X25ld193aXRo
X2NvbnRleHQgICAgKFdlYktpdFdlYkNvbnRleHQgICAgICAqY29udGV4dCk7CiAKIFdLX0VYUE9S
VCBXZWJLaXRXZWJDb250ZXh0ICoKLXdlYmtpdF93ZWJfdmlld19nZXRfY29udGV4dCAgICAgICAo
V2ViS2l0V2ViVmlldyAgICAgICAgICp3ZWJfdmlldyk7Cit3ZWJraXRfd2ViX3ZpZXdfZ2V0X2Nv
bnRleHQgICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAgICp3ZWJfdmlldyk7CiAKIFdLX0VY
UE9SVCBXZWJLaXRXZWJMb2FkZXJDbGllbnQgKgotd2Via2l0X3dlYl92aWV3X2dldF9sb2FkZXJf
Y2xpZW50IChXZWJLaXRXZWJWaWV3ICAgICAgICAgKndlYl92aWV3KTsKK3dlYmtpdF93ZWJfdmll
d19nZXRfbG9hZGVyX2NsaWVudCAgIChXZWJLaXRXZWJWaWV3ICAgICAgICAgKndlYl92aWV3KTsK
IAogV0tfRVhQT1JUIHZvaWQKLXdlYmtpdF93ZWJfdmlld19zZXRfbG9hZGVyX2NsaWVudCAoV2Vi
S2l0V2ViVmlldyAgICAgICAgICp3ZWJfdmlldywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgV2ViS2l0V2ViTG9hZGVyQ2xpZW50ICpsb2FkZXJfY2xpZW50KTsKK3dlYmtpdF93
ZWJfdmlld19zZXRfbG9hZGVyX2NsaWVudCAgIChXZWJLaXRXZWJWaWV3ICAgICAgICAgKndlYl92
aWV3LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlYktpdFdlYkxvYWRl
ckNsaWVudCAqbG9hZGVyX2NsaWVudCk7CiAKIFdLX0VYUE9SVCB2b2lkCi13ZWJraXRfd2ViX3Zp
ZXdfbG9hZF91cmkgICAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAqd2ViX3ZpZXcsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgICAgICAgICAq
dXJpKTsKK3dlYmtpdF93ZWJfdmlld19sb2FkX3VyaSAgICAgICAgICAgIChXZWJLaXRXZWJWaWV3
ICAgICAgICAgKndlYl92aWV3LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGdjaGFyICAgICAgICAgICAqdXJpKTsKIAogV0tfRVhQT1JUIHZvaWQKLXdlYmtpdF93
ZWJfdmlld19nb19iYWNrICAgICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAgICp3ZWJfdmll
dyk7Cit3ZWJraXRfd2ViX3ZpZXdfbG9hZF9hbHRlcm5hdGVfaHRtbCAoV2ViS2l0V2ViVmlldyAg
ICAgICAgICp3ZWJfdmlldywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBnY2hhciAgICAgICAgICAgKmNvbnRlbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgZ2NoYXIgICAgICAgICAgICpiYXNlX3VyaSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAgICAgICAgICAgKnVucmVhY2hh
YmxlX3VyaSk7CiAKIFdLX0VYUE9SVCB2b2lkCi13ZWJraXRfd2ViX3ZpZXdfZ29fZm9yd2FyZCAg
ICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAqd2ViX3ZpZXcpOword2Via2l0X3dlYl92aWV3
X2dvX2JhY2sgICAgICAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAqd2ViX3ZpZXcpOwor
CitXS19FWFBPUlQgdm9pZAord2Via2l0X3dlYl92aWV3X2dvX2ZvcndhcmQgICAgICAgICAgKFdl
YktpdFdlYlZpZXcgICAgICAgICAqd2ViX3ZpZXcpOwogCiBHX0VORF9ERUNMUwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy90ZXN0bG9hZGluZy5j
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvdGVzdGxvYWRpbmcuYwpp
bmRleCA3NDk4MmMwLi43NTBjOGNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay90ZXN0cy90ZXN0bG9hZGluZy5jCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL3Rlc3RzL3Rlc3Rsb2FkaW5nLmMKQEAgLTIyMyw2ICsyMjMsMzUgQEAgc3Rh
dGljIHZvaWQgdGVzdExvYWRpbmdFcnJvcihXZWJMb2FkaW5nRml4dHVyZSAqZml4dHVyZSwgZ2Nv
bnN0cG9pbnRlciBkYXRhKQogICAgIGdfYXNzZXJ0KGZpeHR1cmUtPmhhc0JlZW5GYWlsZWQpOwog
fQogCitzdGF0aWMgZ2Jvb2xlYW4gbG9hZEFsdGVybmF0ZUNvbnRlbnRMb2FkRmluaXNoZWQoV2Vi
S2l0V2ViTG9hZGVyQ2xpZW50ICpjbGllbnQsIFdlYkxvYWRpbmdGaXh0dXJlICpmaXh0dXJlKQor
eworICAgIGdfbWFpbl9sb29wX3F1aXQoZml4dHVyZS0+bG9vcCk7CisKKyAgICByZXR1cm4gVFJV
RTsKK30KKworc3RhdGljIGdib29sZWFuIGxvYWRBbHRlcm5hdGVDb250ZW50TG9hZEZhaWxlZChX
ZWJLaXRXZWJMb2FkZXJDbGllbnQgKmNsaWVudCwgY29uc3QgZ2NoYXIgKmZhaWxpbmdVUkksIEdF
cnJvciAqZXJyb3IsIFdlYkxvYWRpbmdGaXh0dXJlICpmaXh0dXJlKQoreworICAgIGdfYXNzZXJ0
X25vdF9yZWFjaGVkKCk7CisgICAgcmV0dXJuIFRSVUU7Cit9CisKK3N0YXRpYyB2b2lkIHRlc3RM
b2FkQWx0ZXJuYXRlQ29udGVudChXZWJMb2FkaW5nRml4dHVyZSAqZml4dHVyZSwgZ2NvbnN0cG9p
bnRlciBkYXRhKQoreworICAgIGNoYXIgKnVyaVN0cmluZzsKKyAgICBXZWJLaXRXZWJMb2FkZXJD
bGllbnQgKmNsaWVudCA9IHdlYmtpdF93ZWJfdmlld19nZXRfbG9hZGVyX2NsaWVudChmaXh0dXJl
LT53ZWJWaWV3KTsKKworICAgIGdfc2lnbmFsX2Nvbm5lY3QoY2xpZW50LCAibG9hZC1maW5pc2hl
ZCIsIEdfQ0FMTEJBQ0sobG9hZEFsdGVybmF0ZUNvbnRlbnRMb2FkRmluaXNoZWQpLCBmaXh0dXJl
KTsKKyAgICBnX3NpZ25hbF9jb25uZWN0KGNsaWVudCwgInByb3Zpc2lvbmFsLWxvYWQtZmFpbGVk
IiwgR19DQUxMQkFDSyhsb2FkQWx0ZXJuYXRlQ29udGVudExvYWRGYWlsZWQpLCBmaXh0dXJlKTsK
KyAgICBnX3NpZ25hbF9jb25uZWN0KGNsaWVudCwgImxvYWQtZmFpbGVkIiwgR19DQUxMQkFDSyhs
b2FkQWx0ZXJuYXRlQ29udGVudExvYWRGYWlsZWQpLCBmaXh0dXJlKTsKKworICAgIHVyaVN0cmlu
ZyA9IGdldFVSSUZvclBhdGgoIi9hbHRlcm5hdGUiKTsKKyAgICB3ZWJraXRfd2ViX3ZpZXdfbG9h
ZF9hbHRlcm5hdGVfaHRtbChmaXh0dXJlLT53ZWJWaWV3LCAiPGh0bWw+PGJvZHk+QWx0ZXJuYXRl
IENvbnRlbnQ8L2JvZHk+PC9odG1sPiIsIE5VTEwsIHVyaVN0cmluZyk7CisgICAgZ19mcmVlKHVy
aVN0cmluZyk7CisKKyAgICBnX21haW5fbG9vcF9ydW4oZml4dHVyZS0+bG9vcCk7Cit9CisKIGlu
dCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKIHsKICAgICBTb3VwU2VydmVyICpzZXJ2ZXI7
CkBAIC0yNTEsNiArMjgwLDExIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKICAg
ICAgICAgICAgICAgIHdlYkxvYWRpbmdGaXh0dXJlU2V0dXAsCiAgICAgICAgICAgICAgICB0ZXN0
TG9hZGluZ0Vycm9yLAogICAgICAgICAgICAgICAgd2ViTG9hZGluZ0ZpeHR1cmVUZWFyZG93bik7
CisgICAgZ190ZXN0X2FkZCgiL3dlYmtpdDIvbG9hZGluZy9hbHRlcm5hdGVfY29udGVudCIsCisg
ICAgICAgICAgICAgICBXZWJMb2FkaW5nRml4dHVyZSwgTlVMTCwKKyAgICAgICAgICAgICAgIHdl
YkxvYWRpbmdGaXh0dXJlU2V0dXAsCisgICAgICAgICAgICAgICB0ZXN0TG9hZEFsdGVybmF0ZUNv
bnRlbnQsCisgICAgICAgICAgICAgICB3ZWJMb2FkaW5nRml4dHVyZVRlYXJkb3duKTsKIAogICAg
IHJldHVybiBnX3Rlc3RfcnVuKCk7CiB9Cg==
</data>
<flag name="review"
          id="106859"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>