<?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>71554</bug_id>
          
          <creation_ts>2011-11-04 05:07:32 -0700</creation_ts>
          <short_desc>[Qt] 4 Layout test fail due to network error constant values clash with WebkitError enum values in FrameloaderclientQt</short_desc>
          <delta_ts>2011-11-09 06:01:12 -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>FIXED</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="Deepak Sherveghar">bpwv64</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>hausmann</cc>
    
    <cc>jesus</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>496157</commentid>
    <comment_count>0</comment_count>
    <who name="Deepak Sherveghar">bpwv64</who>
    <bug_when>2011-11-04 05:07:32 -0700</bug_when>
    <thetext>Following layout test failed because of changeset r99071 Bug: https://bugs.webkit.org/show_bug.cgi?id=62108
1. fast/overflow/overflow-height-float-not-removed-crash.html
2. fast/overflow/overflow-height-float-not-removed-crash3.html
3. fast/css/acid2-pixel.html
4. fast/css/acid2.html

This is due to enum value clash between WebkitError and Qt Network error codes.
This bug was revealed by changeset r99071 Bug=62108.

As of now Csaba Osztrogonac has skipped the failing test case: Changeset = 99168.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496167</commentid>
    <comment_count>1</comment_count>
      <attachid>113651</attachid>
    <who name="Deepak Sherveghar">bpwv64</who>
    <bug_when>2011-11-04 05:28:06 -0700</bug_when>
    <thetext>Created attachment 113651
Patch.

The QNetworkReply::NetworkError constant values clash with enum values for WebKitError&apos;s.
Changed the enum values to 1k range. Fixes 4 failing layout test.
unskipped them as well from the platform qt skipped list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496175</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-11-04 05:55:13 -0700</bug_when>
    <thetext>Interesting. Can you explain _where_ or how they clash?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496179</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-11-04 06:16:15 -0700</bug_when>
    <thetext>I see it now, we use QNetworkReply::error() and pass it straight to the ResourceError constructor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496186</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-11-04 06:54:08 -0700</bug_when>
    <thetext>However... why do the &quot;clash&quot; matter? The error domain is all different. When we put a QNetworkReply error in the ResourceError, we use a &quot;QtWebKit&quot; domain. When we put the http status code it in, the domain is &quot;HTTP&quot;. And similarly when we put one of those errors in there, the domain is something else.

Do you know how the layout test failure relates to that? Where is the error() used and what is it compared to?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496362</commentid>
    <comment_count>5</comment_count>
    <who name="Deepak Sherveghar">bpwv64</who>
    <bug_when>2011-11-04 11:51:01 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; However... why do the &quot;clash&quot; matter? The error domain is all different. When we put a QNetworkReply error in the ResourceError, we use a &quot;QtWebKit&quot; domain. When we put the http status code it in, the domain is &quot;HTTP&quot;. And similarly when we put one of those errors in there, the domain is something else.
&gt; 
&gt; Do you know how the layout test failure relates to that? Where is the error() used and what is it compared to?

In my patch for bug:62108, I added a new condition in the method shouldFallBack
bool FrameLoaderClientQt::shouldFallBack(const WebCore::ResourceError&amp; error)
{
 - return !(error.isCancellation() || (error.errorCode() == WebKitErrorFrameLoadInterruptedByPolicyChange));
 + return !(error.isCancellation() || (error.errorCode() == WebKitErrorFrameLoadInterruptedByPolicyChange) || (error.errorCode() == WebKitErrorPluginWillHandleLoad));
}

The layout test fail because of this new condition.

shouldFallBack() tells the DOM if it should attempt to render the next nested fallback content if its parent fails to load.
In the failing layout test, we have an &lt;object&gt; tag with invalid url, expecting the fallback content to be loaded and rendered.
Now the object url fails to load, QNetworkReplyHandler sets the QNetworkReply::NetworkError as 203 (ContentNotFoundError).
Webkit calls shouldFallBack to check if fallback content can be loaded. Now since in shouldFallBack() we only check for error code and not for domains(which we actually should), error code 203 matches with WebKitErrorPluginWillHandleLoad enum value and returns false.

Hence the test case fail because fallback contents are not rendered.

Just did a quick check with the codebase and found that chromium port and webkit2 are the only port that check for domain along with error code.
I think as explained by you, we should also add domain check along with error code in shouldFallBack().
With domain check in place, enum constant value changes would not be required.

I was thinking somewhere along the lines of webkit2, Something like below for shouldFallBack() 

bool FrameLoaderClientQt::shouldFallBack(const WebCore::ResourceError&amp; error)
{
   ResourceError cancelledError = cancelledError(ResourceRequest());

   if (error.errorCode() == cancelledError.errorCode() &amp;&amp; error.domain() == cancelledError.domain())
        return false;

   if (error.errorCode() == WebKitErrorFrameLoadInterruptedByPolicyChange  &amp;&amp; error.domain() == String(&quot;WebKitErrorDomain&quot;))
        return false;

   if (error.errorCode() == WebKitErrorPlugInWillHandleLoad  &amp;&amp; error.domain() == String(&quot;WebKit&quot;))
        return false;

   return true;
}

Does that seem reasonable ???</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496383</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-11-04 12:15:33 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; However... why do the &quot;clash&quot; matter? The error domain is all different. When we put a QNetworkReply error in the ResourceError, we use a &quot;QtWebKit&quot; domain. When we put the http status code it in, the domain is &quot;HTTP&quot;. And similarly when we put one of those errors in there, the domain is something else.
&gt; &gt; 
&gt; &gt; Do you know how the layout test failure relates to that? Where is the error() used and what is it compared to?
&gt; 
&gt; In my patch for bug:62108, I added a new condition in the method shouldFallBack
&gt; bool FrameLoaderClientQt::shouldFallBack(const WebCore::ResourceError&amp; error)
&gt; {
&gt;  - return !(error.isCancellation() || (error.errorCode() == WebKitErrorFrameLoadInterruptedByPolicyChange));
&gt;  + return !(error.isCancellation() || (error.errorCode() == WebKitErrorFrameLoadInterruptedByPolicyChange) || (error.errorCode() == WebKitErrorPluginWillHandleLoad));
&gt; }
&gt; 
&gt; The layout test fail because of this new condition.

Ahh, I see. Thanks for the explanation :)

&gt; shouldFallBack() tells the DOM if it should attempt to render the next nested fallback content if its parent fails to load.
&gt; In the failing layout test, we have an &lt;object&gt; tag with invalid url, expecting the fallback content to be loaded and rendered.
&gt; Now the object url fails to load, QNetworkReplyHandler sets the QNetworkReply::NetworkError as 203 (ContentNotFoundError).
&gt; Webkit calls shouldFallBack to check if fallback content can be loaded. Now since in shouldFallBack() we only check for error code and not for domains(which we actually should), error code 203 matches with WebKitErrorPluginWillHandleLoad enum value and returns false.
&gt; 
&gt; Hence the test case fail because fallback contents are not rendered.
&gt; 
&gt; Just did a quick check with the codebase and found that chromium port and webkit2 are the only port that check for domain along with error code.
&gt; I think as explained by you, we should also add domain check along with error code in shouldFallBack().
&gt; With domain check in place, enum constant value changes would not be required.
&gt; 
&gt; I was thinking somewhere along the lines of webkit2, Something like below for shouldFallBack() 
&gt; 
&gt; bool FrameLoaderClientQt::shouldFallBack(const WebCore::ResourceError&amp; error)
&gt; {
&gt;    ResourceError cancelledError = cancelledError(ResourceRequest());
&gt; 
&gt;    if (error.errorCode() == cancelledError.errorCode() &amp;&amp; error.domain() == cancelledError.domain())
&gt;         return false;
&gt; 
&gt;    if (error.errorCode() == WebKitErrorFrameLoadInterruptedByPolicyChange  &amp;&amp; error.domain() == String(&quot;WebKitErrorDomain&quot;))
&gt;         return false;
&gt; 
&gt;    if (error.errorCode() == WebKitErrorPlugInWillHandleLoad  &amp;&amp; error.domain() == String(&quot;WebKit&quot;))
&gt;         return false;
&gt; 
&gt;    return true;
&gt; }
&gt; 
&gt; Does that seem reasonable ???

Yes, I think that&apos;s the correct fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496385</commentid>
    <comment_count>7</comment_count>
      <attachid>113651</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-11-04 12:16:16 -0700</bug_when>
    <thetext>Comment on attachment 113651
Patch.

Taking this patch out of the review queue. The right fix is to also check the error domain when checking the error code, as discussed/proposed :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498238</commentid>
    <comment_count>8</comment_count>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2011-11-08 10:37:10 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; &gt; Does that seem reasonable ???
&gt; 
&gt; Yes, I think that&apos;s the correct fix.

+1 as it goes along with the current WK2 implementation.

On a side note, the only thing that bothers me is using this strings for error domains (i.e. &quot;WebKit&quot;, &quot;HTTP&quot;, etc) everywhere. Perhaps we should concentrate static functions somewhere together with the error code enums and use them in both WK1 and WK2 implementations, pretty much everywhere we create or check a ResourceError. But this is another discussion and another patch, not needed for this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498783</commentid>
    <comment_count>9</comment_count>
      <attachid>114238</attachid>
    <who name="Deepak Sherveghar">bpwv64</who>
    <bug_when>2011-11-09 03:43:13 -0800</bug_when>
    <thetext>Created attachment 114238
Updated Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498853</commentid>
    <comment_count>10</comment_count>
      <attachid>114238</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-11-09 05:20:08 -0800</bug_when>
    <thetext>Comment on attachment 114238
Updated Patch

The patch looks good (the right fix), but I&apos;d prefer to replace the use of DEFINE_STATIC_LOCAL with a straight comparision of the domains as string literals.

The effort of unifying the string literals of the domains to a central place can be a separate patch.

So r- for the DEFINE_STATIC_LOCAL, but otherwise I really appreciate that you&apos;re fixing this rather nasty issue that is hard to find!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498858</commentid>
    <comment_count>11</comment_count>
      <attachid>114238</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-11-09 05:45:54 -0800</bug_when>
    <thetext>Comment on attachment 114238
Updated Patch

I changed my mind, I see that it&apos;s done like what in WebFrameLoaderClient, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498870</commentid>
    <comment_count>12</comment_count>
      <attachid>114238</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-09 06:01:07 -0800</bug_when>
    <thetext>Comment on attachment 114238
Updated Patch

Clearing flags on attachment: 114238

Committed r99699: &lt;http://trac.webkit.org/changeset/99699&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498871</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-09 06:01:12 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113651</attachid>
            <date>2011-11-04 05:28:06 -0700</date>
            <delta_ts>2011-11-09 03:43:13 -0800</delta_ts>
            <desc>Patch.</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>4148</size>
            <attacher name="Deepak Sherveghar">bpwv64</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvcXQvQ2hhbmdlTG9nCShyZXZpc2lvbiA5OTI3MikKKysrIFNvdXJjZS9XZWJLaXQvcXQv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTEtMDQgIERl
ZXBhayBTaGVydmVnaGFyICA8YnB3djY0QG1vdG9yb2xhLmNvbT4KKworICAgICAgICBbUXRdIDQg
TGF5b3V0IHRlc3QgZmFpbCBkdWUgdG8gbmV0d29yayBlcnJvciBjb25zdGFudCB2YWx1ZXMgY2xh
c2ggd2l0aCBXZWJraXRFcnJvciBlbnVtIHZhbHVlcyBpbiBGcmFtZWxvYWRlcmNsaWVudFF0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTU1NAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSB0aGUg
ZW51bSB2YWx1ZXMgZm9yIFdlYktpdEVycm9yJ3MgdG8gc29tZSBvdGhlciBjb25zdGFudCB2YWx1
ZSBzbyB0aGF0CisgICAgICAgIGl0IGRvZXMgbm90IGNsYXNoIHdpdGggcXQncyBuZXR3b3JrIGVy
cm9yIGNvZGVzLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRR
dC5jcHA6IGNoYW5nZWQgZW51bSBjb25zdGFudCB2YWx1ZXMgdG8gMWsgcmFuZ2UKKwogMjAxMS0x
MS0wMyAgUmFmYWVsIEJyYW5kYW8gIDxyYWZhZWwubG9ib0BvcGVuYm9zc2Eub3JnPgogCiAgICAg
ICAgIEZpeCB0c3RfUURlY2xhcmF0aXZlV2ViVmlldzo6YmFzaWNQcm9wZXJ0aWVzKCkgYW5kIGhp
c3RvcnlOYXYoKSBhdXRvdGVzdHMKSW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBv
cnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcAkocmV2aXNpb24gOTkyNjgp
CisrKyBTb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MzYsMTUgKzkzNiwxNyBAQCBXZWJDb3JlOjpSZXNvdXJj
ZUVycm9yIEZyYW1lTG9hZGVyQ2xpZW50CiB9CiAKIC8vIFRoaXMgd2FzIGNvcGllZCBmcm9tIGZp
bGUgIldlYktpdC9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdEVycm9ycy5oIi4KKy8vIFdl
IGRvbnQga2VlcCB0aGVzZSBjb3BpZWQgZW51bSB2YWx1ZXMgaW4gc3luYyB3aXRoIG1hYyBwb3J0
IGJlY2F1c2UKKy8vIGl0IGNsYXNoZXMgd2l0aCBRdCBuZXR3b3JrIGVycm9yIGNvbnN0YW50IHZh
bHVlLgogZW51bSB7Ci0gICAgV2ViS2l0RXJyb3JDYW5ub3RTaG93TUlNRVR5cGUgPSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMTAwLAotICAgIFdlYktpdEVycm9yQ2Fubm90U2hvd1VSTCA9
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwMSwKLSAgICBXZWJLaXRFcnJvckZy
YW1lTG9hZEludGVycnVwdGVkQnlQb2xpY3lDaGFuZ2UgPSAgICAgICAgICAgICAxMDIsCi0gICAg
V2ViS2l0RXJyb3JDYW5ub3RVc2VSZXN0cmljdGVkUG9ydCA9ICAgICAgICAgICAgICAgICAgICAg
ICAgMTAzLAotICAgIFdlYktpdEVycm9yQ2Fubm90RmluZFBsdWdJbiA9ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDIwMCwKLSAgICBXZWJLaXRFcnJvckNhbm5vdExvYWRQbHVnSW4gPSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDEsCi0gICAgV2ViS2l0RXJyb3JKYXZhVW5h
dmFpbGFibGUgPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAyLAotICAgIFdlYktp
dEVycm9yUGx1Z2luV2lsbEhhbmRsZUxvYWQgPSAgICAgICAgICAgICAgICAgICAgICAgICAgIDIw
MworICAgIFdlYktpdEVycm9yQ2Fubm90U2hvd01JTUVUeXBlID0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEwMDEsCisgICAgV2ViS2l0RXJyb3JDYW5ub3RTaG93VVJMID0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMTAwMSwKKyAgICBXZWJLaXRFcnJvckZyYW1lTG9hZElu
dGVycnVwdGVkQnlQb2xpY3lDaGFuZ2UgPSAgICAgICAgICAgICAxMDAyLAorICAgIFdlYktpdEVy
cm9yQ2Fubm90VXNlUmVzdHJpY3RlZFBvcnQgPSAgICAgICAgICAgICAgICAgICAgICAgIDEwMDMs
CisgICAgV2ViS2l0RXJyb3JDYW5ub3RGaW5kUGx1Z0luID0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgMjAwMCwKKyAgICBXZWJLaXRFcnJvckNhbm5vdExvYWRQbHVnSW4gPSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAyMDAxLAorICAgIFdlYktpdEVycm9ySmF2YVVuYXZhaWxh
YmxlID0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMDIsCisgICAgV2ViS2l0RXJy
b3JQbHVnaW5XaWxsSGFuZGxlTG9hZCA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwMwog
fTsKIAogV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBGcmFtZUxvYWRlckNsaWVudFF0OjpibG9ja2Vk
RXJyb3IoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQpJbmRleDogTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwko
cmV2aXNpb24gOTkyNzIpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxNCBAQAorMjAxMS0xMS0wNCAgRGVlcGFrIFNoZXJ2ZWdoYXIgIDxicHd2NjRA
bW90b3JvbGEuY29tPgorCisgICAgICAgIFtRdF0gNCBMYXlvdXQgdGVzdCBmYWlsIGR1ZSB0byBu
ZXR3b3JrIGVycm9yIGNvbnN0YW50IHZhbHVlcyBjbGFzaCB3aXRoIFdlYmtpdEVycm9yIGVudW0g
dmFsdWVzIGluIEZyYW1lbG9hZGVyY2xpZW50UXQgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTU1NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFVuLXNraXAgdGhlIGZhaWxpbmcgbGF5b3V0IHRlc3QsIHdo
aWNoIGZhaWxlZCBiZWNhdXNlIG9mIGNoYW5nZXNldCByOTkwNzEuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9xdC9Ta2lwcGVkOgorCiAyMDExLTExLTA0ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1h
bmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBza2lwIHNvbWUgZmFzdC92aWV3
cG9ydCBmYWlsaW5nIHRlc3RzIG9uIEdUSyBhZnRlciByOTkxOTUuCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L3F0L1NraXBwZWQJKHJldmlzaW9uIDk5MjY4KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQv
U2tpcHBlZAkod29ya2luZyBjb3B5KQpAQCAtMjQ3NywxMyArMjQ3Nyw2IEBAIHN2Zy96b29tL3Bh
Z2Uvem9vbS1pbWctcHJlc2VydmVBc3BlY3RSYXQKIHN2Zy96b29tL3BhZ2Uvem9vbS1zdmctYXMt
YmFja2dyb3VuZC13aXRoLXJlbGF0aXZlLXNpemUuaHRtbAogZmFzdC9iYWNrZ3JvdW5kcy9zaXpl
L2NvbnRhaW4tYW5kLWNvdmVyLXpvb21lZC5odG1sCiAKLSMgbmV3IGJ1ZyByZXZlYWxlZCBieSBy
OTkwNzEKLSMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyMTA4Ci1m
YXN0L292ZXJmbG93L292ZXJmbG93LWhlaWdodC1mbG9hdC1ub3QtcmVtb3ZlZC1jcmFzaC5odG1s
Ci1mYXN0L292ZXJmbG93L292ZXJmbG93LWhlaWdodC1mbG9hdC1ub3QtcmVtb3ZlZC1jcmFzaDMu
aHRtbAotZmFzdC9jc3MvYWNpZDItcGl4ZWwuaHRtbAotZmFzdC9jc3MvYWNpZDIuaHRtbAotCiAj
IFJFR1JFU1NJT04ocjk5MTk1KQogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzA2MDkKIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtODMuaHRtbAo=
</data>
<flag name="review"
          id="112090"
          type_id="1"
          status="-"
          setter="hausmann"
    />
    <flag name="commit-queue"
          id="112091"
          type_id="3"
          status="-"
          setter="hausmann"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114238</attachid>
            <date>2011-11-09 03:43:13 -0800</date>
            <delta_ts>2011-11-09 06:01:07 -0800</delta_ts>
            <desc>Updated Patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>3946</size>
            <attacher name="Deepak Sherveghar">bpwv64</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvcXQvQ2hhbmdlTG9nCShyZXZpc2lvbiA5OTY4MSkKKysrIFNvdXJjZS9XZWJLaXQvcXQv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTEtMDkgIERl
ZXBhayBTaGVydmVnaGFyICA8YnB3djY0QG1vdG9yb2xhLmNvbT4KKworICAgICAgICBbUXRdIDQg
TGF5b3V0IHRlc3QgZmFpbCBkdWUgdG8gbmV0d29yayBlcnJvciBjb25zdGFudCB2YWx1ZXMgY2xh
c2ggd2l0aCBXZWJraXRFcnJvciBlbnVtIHZhbHVlcyBpbiBGcmFtZWxvYWRlcmNsaWVudFF0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTU1NAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIHNob3VsZCBj
aGVjayB0aGUgZXJyb3IgZG9tYWluIHdoZW4gY2hlY2tpbmcgdGhlIGVycm9yIGNvZGUgaW4gc2hv
dWxkRmFsbEJhY2soKQorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGll
bnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudFF0OjpzaG91bGRG
YWxsQmFjayk6IGFkZGVkIGVycm9yIGRvbWFpbiBjaGVjaworCiAyMDExLTExLTA4ICBTaW1vbiBI
YXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdIFJlcGxh
Y2UgdXNlIG9mIFFBcHBsaWNhdGlvbiB3aXRoIFFHdWlBcHBsaWNhdGlvbgpJbmRleDogU291cmNl
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50
UXQuY3BwCShyZXZpc2lvbiA5OTY3NSkKKysrIFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBv
cnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk4Niw3ICs5ODYs
MjAgQEAgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBGcmFtZUxvYWRlckNsaWVudAogCiBib29sIEZy
YW1lTG9hZGVyQ2xpZW50UXQ6OnNob3VsZEZhbGxCYWNrKGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
RXJyb3ImIGVycm9yKQogewotICAgIHJldHVybiAhKGVycm9yLmlzQ2FuY2VsbGF0aW9uKCkgfHwg
KGVycm9yLmVycm9yQ29kZSgpID09IFdlYktpdEVycm9yRnJhbWVMb2FkSW50ZXJydXB0ZWRCeVBv
bGljeUNoYW5nZSkgfHwgKGVycm9yLmVycm9yQ29kZSgpID09IFdlYktpdEVycm9yUGx1Z2luV2ls
bEhhbmRsZUxvYWQpKTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFJlc291cmNlRXJy
b3IsIGNhbmNlbGxlZEVycm9yLCAodGhpcy0+Y2FuY2VsbGVkRXJyb3IoUmVzb3VyY2VSZXF1ZXN0
KCkpKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBSZXNvdXJjZUVycm9yLCBwbHVn
aW5XaWxsSGFuZGxlTG9hZEVycm9yLCAodGhpcy0+cGx1Z2luV2lsbEhhbmRsZUxvYWRFcnJvcihS
ZXNvdXJjZVJlc3BvbnNlKCkpKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBSZXNv
dXJjZUVycm9yLCBlcnJvckludGVycnVwdGVkRm9yUG9saWN5Q2hhbmdlLCAodGhpcy0+aW50ZXJy
dXB0ZWRGb3JQb2xpY3lDaGFuZ2VFcnJvcihSZXNvdXJjZVJlcXVlc3QoKSkpKTsKKworICAgIGlm
IChlcnJvci5lcnJvckNvZGUoKSA9PSBjYW5jZWxsZWRFcnJvci5lcnJvckNvZGUoKSAmJiBlcnJv
ci5kb21haW4oKSA9PSBjYW5jZWxsZWRFcnJvci5kb21haW4oKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgaWYgKGVycm9yLmVycm9yQ29kZSgpID09IGVycm9ySW50ZXJydXB0ZWRGb3JQ
b2xpY3lDaGFuZ2UuZXJyb3JDb2RlKCkgJiYgZXJyb3IuZG9tYWluKCkgPT0gZXJyb3JJbnRlcnJ1
cHRlZEZvclBvbGljeUNoYW5nZS5kb21haW4oKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgaWYgKGVycm9yLmVycm9yQ29kZSgpID09IHBsdWdpbldpbGxIYW5kbGVMb2FkRXJyb3IuZXJy
b3JDb2RlKCkgJiYgZXJyb3IuZG9tYWluKCkgPT0gcGx1Z2luV2lsbEhhbmRsZUxvYWRFcnJvci5k
b21haW4oKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIHRydWU7CiB9CiAK
IFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpEb2N1bWVudExvYWRlcj4gRnJhbWVMb2FkZXJDbGll
bnRRdDo6Y3JlYXRlRG9jdW1lbnRMb2FkZXIoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
JiByZXF1ZXN0LCBjb25zdCBTdWJzdGl0dXRlRGF0YSYgc3Vic3RpdHV0ZURhdGEpCkluZGV4OiBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiA5OTY4MSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE0IEBACisyMDExLTExLTA5ICBEZWVwYWsgU2hlcnZlZ2hhciAgPGJwd3Y2
NEBtb3Rvcm9sYS5jb20+CisKKyAgICAgICAgW1F0XSA0IExheW91dCB0ZXN0IGZhaWwgZHVlIHRv
IG5ldHdvcmsgZXJyb3IgY29uc3RhbnQgdmFsdWVzIGNsYXNoIHdpdGggV2Via2l0RXJyb3IgZW51
bSB2YWx1ZXMgaW4gRnJhbWVsb2FkZXJjbGllbnRRdAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE1NTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBVbi1za2lwIHRoZSA0IGZhaWxpbmcgbGF5b3V0IHRlc3Qs
IHdlIG5vdyBjaGVjayB0aGUgZXJyb3IgZG9tYWluIGFsb25nIHdpdGggdGhlIGVycm9yIGNvZGUg
aW4gc2hvdWxkRmFsbEJhY2soKQorCisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKwog
MjAxMS0xMS0wOSAgR2Fib3IgUmFwY3NhbnlpICA8cmdhYm9yQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgW1F0XSBVbnJldmlld2VkLiBVcGRhdGUgcGxhdGZvcm0gc3BlY2lmaWMgZXhwZWN0ZWQgcmVz
dWx0cyBhZ2Fpbi4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAkocmV2aXNpb24gOTk2NzUp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC0y
NDc2LDEzICsyNDc2LDYgQEAgaW5zcGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5zaW9ucy1jb25zb2xl
Lgogc3ZnL3pvb20vcGFnZS96b29tLWltZy1wcmVzZXJ2ZUFzcGVjdFJhdGlvLXN1cHBvcnQtMS5o
dG1sCiBmYXN0L2JhY2tncm91bmRzL3NpemUvY29udGFpbi1hbmQtY292ZXItem9vbWVkLmh0bWwK
IAotIyBuZXcgYnVnIHJldmVhbGVkIGJ5IHI5OTA3MQotIyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NjIxMDgKLWZhc3Qvb3ZlcmZsb3cvb3ZlcmZsb3ctaGVpZ2h0LWZs
b2F0LW5vdC1yZW1vdmVkLWNyYXNoLmh0bWwKLWZhc3Qvb3ZlcmZsb3cvb3ZlcmZsb3ctaGVpZ2h0
LWZsb2F0LW5vdC1yZW1vdmVkLWNyYXNoMy5odG1sCi1mYXN0L2Nzcy9hY2lkMi1waXhlbC5odG1s
Ci1mYXN0L2Nzcy9hY2lkMi5odG1sCi0KICMgUkVHUkVTU0lPTihyOTkxOTUpCiAjIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwOQogZmFzdC92aWV3cG9ydC92aWV3
cG9ydC04My5odG1sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>