<?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>77168</bug_id>
          
          <creation_ts>2012-01-26 17:59:00 -0800</creation_ts>
          <short_desc>[Windows] Optionally invert colors when drawing to a WebView&apos;s backing store.</short_desc>
          <delta_ts>2012-01-30 12:18:04 -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>New Bugs</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>77352</blocked>
    
    <blocked>77354</blocked>
    
    <blocked>77355</blocked>
    
    <blocked>77356</blocked>
    
    <blocked>77358</blocked>
    
    <blocked>77359</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>macpherson</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>543702</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2012-01-26 17:59:00 -0800</bug_when>
    <thetext>[Windows] Optionally invert colors when drawing to a WebView&apos;s backing store.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543704</commentid>
    <comment_count>1</comment_count>
      <attachid>124230</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2012-01-26 18:06:38 -0800</bug_when>
    <thetext>Created attachment 124230
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543712</commentid>
    <comment_count>2</comment_count>
      <attachid>124230</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-01-26 18:17:06 -0800</bug_when>
    <thetext>Comment on attachment 124230
Patch

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

&gt; Source/WebCore/css/CSSPrimitiveValueMappings.h:291
&gt; +        default:
&gt; +            ASSERT_NOT_REACHED();
&gt; +            break;

By adding default here, we won’t get warnings if we accidentally leave out one value from the switch statement. We want those warnings at compile time. To get the run-time assertion we are losing the compile-time check.

If we want both, then we need to change the break statements into return statements, and then we can put an ASSERT_NOT_REACHED after the switch statement.

&gt; Source/WebKit/win/WebView.cpp:1159
&gt; +            gc.fillRect(dirtyRect, Color(0xFF, 0xFF, 0xFF), ColorSpaceDeviceRGB, CompositeDifference);

Should we use Color::white or 0xFFFFFFFF instead of Color(0xFF, 0xFF, 0xFF)?

&gt; Source/WebKit/win/WebView.h:1004
&gt; +    bool m_shouldInvertColors;

A public data member is not the right style for something you can change on a WebView. Normally we’d use a getter/setter function pair or something along those lines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543718</commentid>
    <comment_count>3</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2012-01-26 18:27:47 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 124230 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=124230&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/css/CSSPrimitiveValueMappings.h:291
&gt; &gt; +        default:
&gt; &gt; +            ASSERT_NOT_REACHED();
&gt; &gt; +            break;
&gt; 
&gt; By adding default here, we won’t get warnings if we accidentally leave out one value from the switch statement. We want those warnings at compile time. To get the run-time assertion we are losing the compile-time check.
&gt; 
&gt; If we want both, then we need to change the break statements into return statements, and then we can put an ASSERT_NOT_REACHED after the switch statement.

This is in a ctor so I think I can just remove the default label to achieve what we want here.
&gt; 
&gt; &gt; Source/WebKit/win/WebView.cpp:1159
&gt; &gt; +            gc.fillRect(dirtyRect, Color(0xFF, 0xFF, 0xFF), ColorSpaceDeviceRGB, CompositeDifference);
&gt; 
&gt; Should we use Color::white or 0xFFFFFFFF instead of Color(0xFF, 0xFF, 0xFF)?

Sure. I&apos;ll use Color::white
&gt; 
&gt; &gt; Source/WebKit/win/WebView.h:1004
&gt; &gt; +    bool m_shouldInvertColors;
&gt; 
&gt; A public data member is not the right style for something you can change on a WebView. Normally we’d use a getter/setter function pair or something along those lines.

This is in the private block, isn&apos;t it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543745</commentid>
    <comment_count>4</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2012-01-26 19:33:54 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; (From update of attachment 124230 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=124230&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit/win/WebView.h:1004
&gt; &gt; &gt; +    bool m_shouldInvertColors;
&gt; &gt; 
&gt; &gt; A public data member is not the right style for something you can change on a WebView. Normally we’d use a getter/setter function pair or something along those lines.
&gt; 
&gt; This is in the private block, isn&apos;t it?

I should add that I plan to add the API to enable this feature in a follow-on patch, hence the private variable with no getter or setter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543768</commentid>
    <comment_count>5</comment_count>
      <attachid>124246</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2012-01-26 20:01:52 -0800</bug_when>
    <thetext>Created attachment 124246
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545235</commentid>
    <comment_count>6</comment_count>
      <attachid>124246</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-01-30 11:27:44 -0800</bug_when>
    <thetext>Comment on attachment 124246
Patch

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

You should probably file bugs on other graphics backends to implement difference.  Especially Cairo, since they use win/WebView.

&gt; Source/WebKit/win/WebView.cpp:335
&gt; +    : m_shouldInvertColors(false)
&gt; +    , m_refCount(0)

I would be good if refCount remained first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545263</commentid>
    <comment_count>7</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2012-01-30 12:01:46 -0800</bug_when>
    <thetext>Committed r106274: &lt;http://trac.webkit.org/changeset/106274&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124230</attachid>
            <date>2012-01-26 18:06:38 -0800</date>
            <delta_ts>2012-01-26 20:01:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77168-20120126180640.patch</filename>
            <type>text/plain</type>
            <size>6021</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1OTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzMyOTNhOTFjMDhkNTVi
NTg2MzFiOWQzOTRkOGI5NWI1ODI1OGY3Yi4uMTZlOTQ4MzQ4ODg4OTA2ZDRiNzZkYzExMDBiMDM0
MTgyZjc2Mjc5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTAxLTI2ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbV2luZG93c10gT3B0aW9uYWxs
eSBpbnZlcnQgY29sb3JzIHdoZW4gZHJhd2luZyB0byBhIFdlYlZpZXcncyBiYWNraW5nIHN0b3Jl
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcxNjgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGNzcy9D
U1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmg6IEFzc2VydCB0aGF0IENvbXBvc2l0ZURpZmZlcmVu
Y2UgKG9yCisgICAgICAgIGFub3RoZXIgbmV3IENvbXBvc2l0ZU9wZXJhdG9yKSBpcyBub3QgY29u
dmVydGVkIHRvIGEgQ1NTIHZhbHVlLgorICAgICAgICBFeHBvc2luZyBuZXcgY29tcG9zaXRpbmcg
b3BlcmF0aW9ucyB0byBDU1MgaXMgb3V0c2lkZSB0aGUgc2NvcGUgb2YgdGhpcworICAgICAgICBw
YXRjaC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVW
YWx1ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBlcy5oOiBBZGQg
Q29tcG9zaXRlRGlmZmVyZW5jZSBhcyBhCisgICAgICAgIENvbXBvc2l0ZU9wZXJhdG9yLiBBbHNv
LCByZW1vdmUgYW4gb3V0ZGF0ZWQgY29tbWVudC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0Nv
bnRleHQ6OnNldFBsYXRmb3JtQ29tcG9zaXRlT3BlcmF0aW9uKTogTWFwCisgICAgICAgIENvbXBv
c2l0ZURpZmZlcmVuY2UgdG8ga0NHQmxlbmRNb2RlRGlmZmVyZW5jZS4KKwogMjAxMi0wMS0yNCAg
VnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5z
cGVjdG9yOiBJbXByb3ZlIHVzZXIgZXhwZXJpZW5jZSBvZiBhZHZhbmNlZCBzZWFyY2ggcGFuZWwg
Y2xvc2luZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCBjYzU1NzI3ZDI4ZjZhMmQyYjQ3Mjk0MjExOTk4
MWJkZDNiNWJhNjBkLi41OTE3NGRjMTAzZDFhODYzYzVjMDNhZjQ2NzZmNTgwMmI5NzQ4YWM5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMDEtMjYgIEFuZHkgRXN0ZXMg
IDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtXaW5kb3dzXSBPcHRpb25hbGx5IGludmVy
dCBjb2xvcnMgd2hlbiBkcmF3aW5nIHRvIGEgV2ViVmlldydzIGJhY2tpbmcgc3RvcmUuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzE2OAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy5jcHA6
CisgICAgICAgIChXZWJWaWV3OjpXZWJWaWV3KTogSW5pdGlhbGl6ZSBtX3Nob3VsZEludmVydENv
bG9ycyB0byBmYWxzZS4KKyAgICAgICAgKFdlYlZpZXc6OnBhaW50SW50b0JhY2tpbmdTdG9yZSk6
IElmIG1fc2hvdWxkSW52ZXJ0Q29sb3JzIGlzIHRydWUsIGRyYXcKKyAgICAgICAgYW4gb3BhcXVl
IHdoaXRlIHF1YWQgdXNpbmcgdGhlIENvbXBvc2l0ZURpZmZlcmVuY2UgYmxlbmQgbW9kZS4gVGhp
cworICAgICAgICBibGVuZCBvcGVyYXRpb24gaW5zdHJ1Y3RzIENvcmVHcmFwaGljcyB0byB0YWtl
IHRoZSBkaWZmZXJlbmNlIGJldHdlZW4KKyAgICAgICAgdGhlIHNvdXJjZSBwaXhlbCAod2hpdGUp
IGFuZCB0aGUgYmFja2dyb3VuZCBwaXhlbCwgcmVzdWx0aW5nIGluIGFuCisgICAgICAgIGludmVy
dGVkIHBpeGVsLgorICAgICAgICAqIFdlYlZpZXcuaDogRGVmaW5lIG1fc2hvdWxkSW52ZXJ0Q29s
b3JzLgorCiAyMDEyLTAxLTIzICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29t
PgogCiAgICAgICAgIFNob3cgbGF5ZXIgYm9yZGVycyBmb3Igc2Nyb2xsYmFyIGxheWVycwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKaW5kZXggNjA5
NmQ5Mzk5Yjk4ZjViZTQ0NGNjYjVhNDVlMGRjYWQzNmZlNGExZC4uYmRkNDlmZDQ1YTZiOTUzNjk3
MGM2NTk5YjBhMzA5MGU2MTE0OTI4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJp
bWl0aXZlVmFsdWVNYXBwaW5ncy5oCkBAIC0yODUsNiArMjg1LDEwIEBAIHRlbXBsYXRlPD4gaW5s
aW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShDb21wb3NpdGVPcGVyYXRv
ciBlKQogICAgICAgICBjYXNlIENvbXBvc2l0ZVBsdXNMaWdodGVyOgogICAgICAgICAgICAgbV92
YWx1ZS5pZGVudCA9IENTU1ZhbHVlUGx1c0xpZ2h0ZXI7CiAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgY2FzZSBDb21wb3NpdGVEaWZmZXJlbmNlOgorICAgICAgICBkZWZhdWx0OgorICAgICAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICBicmVhazsKICAgICB9CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
VHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzVHlwZXMu
aAppbmRleCAxYTA3ZjAwODMwNzY4YzZjY2JmODI4ODZiZjc4ZjI3MGZlOWQ2MjBmLi5lNjU5NmQ5
NWM3NGQ2ZGZmODhhY2RiOTk1N2I0ZWE4ODg5YTQ2YTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc1R5cGVzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBlcy5oCkBAIC0zMCw5ICszMCw2IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIC8vIE5vdGU6IFRoZXNlIGNvbnN0YW50cyBleGFj
dGx5IG1hdGNoIHRoZSBOU0NvbXBvc2l0ZU9wZXJhdG9yIGNvbnN0YW50cyBvZgotICAgIC8vIEFw
cEtpdCBvbiBNYWMgT1MgWCBUaWdlci4gSWYgdGhlc2UgZXZlciBjaGFuZ2UsIHdlJ2xsIG5lZWQg
dG8gY2hhbmdlIHRoZQotICAgIC8vIE1hYyBPUyBYIFRpZ2VyIHBsYXRmb3JtIGNvZGUgdG8gbWFw
IG9uZSB0byB0aGUgb3RoZXIuCiAgICAgZW51bSBDb21wb3NpdGVPcGVyYXRvciB7CiAgICAgICAg
IENvbXBvc2l0ZUNsZWFyLAogICAgICAgICBDb21wb3NpdGVDb3B5LApAQCAtNDYsNyArNDMsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIENvbXBvc2l0ZURlc3RpbmF0aW9uQXRvcCwK
ICAgICAgICAgQ29tcG9zaXRlWE9SLAogICAgICAgICBDb21wb3NpdGVQbHVzRGFya2VyLAotICAg
ICAgICBDb21wb3NpdGVQbHVzTGlnaHRlcgorICAgICAgICBDb21wb3NpdGVQbHVzTGlnaHRlciwK
KyAgICAgICAgQ29tcG9zaXRlRGlmZmVyZW5jZQogICAgIH07CiAKICAgICBlbnVtIEdyYWRpZW50
U3ByZWFkTWV0aG9kIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcAppbmRleCAxZmE5MTQxMDVlY2Y5MGIwMDJh
OWE4NzFmMWY4NjczZTM3YzQyYzgxLi5iOGU2YmI0NzdjZDE1NzUxYTE0MjFiYTk5ZjMxYTcwODcz
ZWFiMjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9H
cmFwaGljc0NvbnRleHRDRy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCkBAIC0xNjAxLDYgKzE2MDEsOSBAQCB2b2lkIEdy
YXBoaWNzQ29udGV4dDo6c2V0UGxhdGZvcm1Db21wb3NpdGVPcGVyYXRpb24oQ29tcG9zaXRlT3Bl
cmF0b3IgbW9kZSkKICAgICBjYXNlIENvbXBvc2l0ZVBsdXNMaWdodGVyOgogICAgICAgICB0YXJn
ZXQgPSBrQ0dCbGVuZE1vZGVQbHVzTGlnaHRlcjsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBD
b21wb3NpdGVEaWZmZXJlbmNlOgorICAgICAgICB0YXJnZXQgPSBrQ0dCbGVuZE1vZGVEaWZmZXJl
bmNlOworICAgICAgICBicmVhazsKICAgICB9CiAgICAgQ0dDb250ZXh0U2V0QmxlbmRNb2RlKHBs
YXRmb3JtQ29udGV4dCgpLCB0YXJnZXQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93
aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAppbmRleCA5MjZk
YzgyMDM5NTRhYWIzYTA1NWQ0YWJhNGQyNmQyMmQzMDU2ZGRkLi40YzgwNTAzMzE3MzA3OGRjMmYx
OTYyZDlmMzI3MTMwYjFiODJhNWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJW
aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcApAQCAtMzMxLDcgKzMz
MSw4IEBAIGVudW0gewogYm9vbCBXZWJWaWV3OjpzX2FsbG93U2l0ZVNwZWNpZmljSGFja3MgPSBm
YWxzZTsKIAogV2ViVmlldzo6V2ViVmlldygpCi0gICAgOiBtX3JlZkNvdW50KDApCisgICAgOiBt
X3Nob3VsZEludmVydENvbG9ycyhmYWxzZSkKKyAgICAsIG1fcmVmQ291bnQoMCkKICNpZiAhQVNT
RVJUX0RJU0FCTEVECiAgICAgLCBtX2RlbGV0aW9uSGFzQmVndW4oZmFsc2UpCiAjZW5kaWYKQEAg
LTExNTQsNiArMTE1NSw4IEBAIHZvaWQgV2ViVmlldzo6cGFpbnRJbnRvQmFja2luZ1N0b3JlKEZy
YW1lVmlldyogZnJhbWVWaWV3LCBIREMgYml0bWFwREMsIGNvbnN0IEluCiAgICAgaWYgKGZyYW1l
VmlldyAmJiBmcmFtZVZpZXctPmZyYW1lKCkgJiYgZnJhbWVWaWV3LT5mcmFtZSgpLT5jb250ZW50
UmVuZGVyZXIoKSkgewogICAgICAgICBnYy5jbGlwKGRpcnR5UmVjdCk7CiAgICAgICAgIGZyYW1l
Vmlldy0+cGFpbnQoJmdjLCBkaXJ0eVJlY3QpOworICAgICAgICBpZiAobV9zaG91bGRJbnZlcnRD
b2xvcnMpCisgICAgICAgICAgICBnYy5maWxsUmVjdChkaXJ0eVJlY3QsIENvbG9yKDB4RkYsIDB4
RkYsIDB4RkYpLCBDb2xvclNwYWNlRGV2aWNlUkdCLCBDb21wb3NpdGVEaWZmZXJlbmNlKTsKICAg
ICB9CiAgICAgZ2MucmVzdG9yZSgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4v
V2ViVmlldy5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5oCmluZGV4IDM4MjMwY2IzNjdh
OWEyYTRjYmE2ZjVjMzc5MWM1M2E3MjRhNGI1ODguLjdkMmE2ZTJmOWEyZDc0YTIwZmYyNjFiYzk1
YzRlMGFhN2ZjNGRlMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmgKQEAgLTEwMDEsNiArMTAwMSw4IEBAIHBy
aXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGZsdXNoUGVuZGluZ0dyYXBoaWNzTGF5ZXJDaGFuZ2Vz
KCk7CiAjZW5kaWYKIAorICAgIGJvb2wgbV9zaG91bGRJbnZlcnRDb2xvcnM7CisKIHByb3RlY3Rl
ZDoKICAgICBzdGF0aWMgYm9vbCByZWdpc3RlcldlYlZpZXdXaW5kb3dDbGFzcygpOwogICAgIHN0
YXRpYyBMUkVTVUxUIENBTExCQUNLIFdlYlZpZXdXbmRQcm9jKEhXTkQgaFduZCwgVUlOVCBtZXNz
YWdlLCBXUEFSQU0gd1BhcmFtLCBMUEFSQU0gbFBhcmFtKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124246</attachid>
            <date>2012-01-26 20:01:52 -0800</date>
            <delta_ts>2012-01-30 11:27:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77168-20120126200153.patch</filename>
            <type>text/plain</type>
            <size>5948</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1OTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzMyOTNhOTFjMDhkNTVi
NTg2MzFiOWQzOTRkOGI5NWI1ODI1OGY3Yi4uNzYxODBjOWYwMDhkNTIzN2JkMDMxNTU2MGExZWNi
Yzk2OTY0ZTNhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTAxLTI2ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbV2luZG93c10gT3B0aW9uYWxs
eSBpbnZlcnQgY29sb3JzIHdoZW4gZHJhd2luZyB0byBhIFdlYlZpZXcncyBiYWNraW5nIHN0b3Jl
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcxNjgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGNzcy9D
U1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmg6IEFzc2VydCB0aGF0IENvbXBvc2l0ZURpZmZlcmVu
Y2UgaXMKKyAgICAgICAgbm90IGNvbnZlcnRlZCB0byBhIENTUyB2YWx1ZS4gRXhwb3NpbmcgYSBu
ZXcgY29tcG9zaXRpbmcgb3BlcmF0aW9uIHRvCisgICAgICAgIENTUyBpcyBvdXRzaWRlIHRoZSBz
Y29wZSBvZiB0aGlzIHBhdGNoLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6
OkNTU1ByaW1pdGl2ZVZhbHVlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c1R5cGVzLmg6IEFkZCBDb21wb3NpdGVEaWZmZXJlbmNlIGFzIGEKKyAgICAgICAgQ29tcG9zaXRl
T3BlcmF0b3IuIEFsc28sIHJlbW92ZSBhbiBvdXRkYXRlZCBjb21tZW50LgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dDo6c2V0UGxhdGZvcm1Db21wb3NpdGVPcGVyYXRpb24pOiBNYXAK
KyAgICAgICAgQ29tcG9zaXRlRGlmZmVyZW5jZSB0byBrQ0dCbGVuZE1vZGVEaWZmZXJlbmNlLgor
CiAyMDEyLTAxLTI0ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IEltcHJvdmUgdXNlciBleHBlcmllbmNlIG9mIGFkdmFuY2Vk
IHNlYXJjaCBwYW5lbCBjbG9zaW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IGNjNTU3MjdkMjhmNmEy
ZDJiNDcyOTQyMTE5OTgxYmRkM2I1YmE2MGQuLjU5MTc0ZGMxMDNkMWE4NjNjNWMwM2FmNDY3NmY1
ODAyYjk3NDhhYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMi0wMS0y
NiAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dpbmRvd3NdIE9w
dGlvbmFsbHkgaW52ZXJ0IGNvbG9ycyB3aGVuIGRyYXdpbmcgdG8gYSBXZWJWaWV3J3MgYmFja2lu
ZyBzdG9yZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTc3MTY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OldlYlZpZXcpOiBJbml0aWFsaXplIG1f
c2hvdWxkSW52ZXJ0Q29sb3JzIHRvIGZhbHNlLgorICAgICAgICAoV2ViVmlldzo6cGFpbnRJbnRv
QmFja2luZ1N0b3JlKTogSWYgbV9zaG91bGRJbnZlcnRDb2xvcnMgaXMgdHJ1ZSwgZHJhdworICAg
ICAgICBhbiBvcGFxdWUgd2hpdGUgcXVhZCB1c2luZyB0aGUgQ29tcG9zaXRlRGlmZmVyZW5jZSBi
bGVuZCBtb2RlLiBUaGlzCisgICAgICAgIGJsZW5kIG9wZXJhdGlvbiBpbnN0cnVjdHMgQ29yZUdy
YXBoaWNzIHRvIHRha2UgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbgorICAgICAgICB0aGUgc291cmNl
IHBpeGVsICh3aGl0ZSkgYW5kIHRoZSBiYWNrZ3JvdW5kIHBpeGVsLCByZXN1bHRpbmcgaW4gYW4K
KyAgICAgICAgaW52ZXJ0ZWQgcGl4ZWwuCisgICAgICAgICogV2ViVmlldy5oOiBEZWZpbmUgbV9z
aG91bGRJbnZlcnRDb2xvcnMuCisKIDIwMTItMDEtMjMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZy
YXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgU2hvdyBsYXllciBib3JkZXJzIGZvciBzY3JvbGxi
YXIgbGF5ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFs
dWVNYXBwaW5ncy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGlu
Z3MuaAppbmRleCA2MDk2ZDkzOTliOThmNWJlNDQ0Y2NiNWE0NWUwZGNhZDM2ZmU0YTFkLi5jNTkx
NjQ2NmNhMjZjZGYzMTFhYjRlM2Q0Zjg4M2U3ZGMzYTA0NDQyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKQEAgLTI4NSw2ICsyODUsOSBAQCB0
ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoQ29t
cG9zaXRlT3BlcmF0b3IgZSkKICAgICAgICAgY2FzZSBDb21wb3NpdGVQbHVzTGlnaHRlcjoKICAg
ICAgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZVBsdXNMaWdodGVyOwogICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ29tcG9zaXRlRGlmZmVyZW5jZToKKyAgICAgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgfQogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc1R5cGVz
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc1R5cGVzLmgKaW5k
ZXggMWEwN2YwMDgzMDc2OGM2Y2NiZjgyODg2YmY3OGYyNzBmZTlkNjIwZi4uZTY1OTZkOTVjNzRk
NmRmZjg4YWNkYjk5NTdiNGVhODg4OWE0NmExYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzVHlwZXMuaApAQCAtMzAsOSArMzAsNiBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLSAgICAvLyBOb3RlOiBUaGVzZSBjb25zdGFudHMgZXhhY3RseSBt
YXRjaCB0aGUgTlNDb21wb3NpdGVPcGVyYXRvciBjb25zdGFudHMgb2YKLSAgICAvLyBBcHBLaXQg
b24gTWFjIE9TIFggVGlnZXIuIElmIHRoZXNlIGV2ZXIgY2hhbmdlLCB3ZSdsbCBuZWVkIHRvIGNo
YW5nZSB0aGUKLSAgICAvLyBNYWMgT1MgWCBUaWdlciBwbGF0Zm9ybSBjb2RlIHRvIG1hcCBvbmUg
dG8gdGhlIG90aGVyLgogICAgIGVudW0gQ29tcG9zaXRlT3BlcmF0b3IgewogICAgICAgICBDb21w
b3NpdGVDbGVhciwKICAgICAgICAgQ29tcG9zaXRlQ29weSwKQEAgLTQ2LDcgKzQzLDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBDb21wb3NpdGVEZXN0aW5hdGlvbkF0b3AsCiAgICAg
ICAgIENvbXBvc2l0ZVhPUiwKICAgICAgICAgQ29tcG9zaXRlUGx1c0RhcmtlciwKLSAgICAgICAg
Q29tcG9zaXRlUGx1c0xpZ2h0ZXIKKyAgICAgICAgQ29tcG9zaXRlUGx1c0xpZ2h0ZXIsCisgICAg
ICAgIENvbXBvc2l0ZURpZmZlcmVuY2UKICAgICB9OwogCiAgICAgZW51bSBHcmFkaWVudFNwcmVh
ZE1ldGhvZCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
Zy9HcmFwaGljc0NvbnRleHRDRy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAKaW5kZXggMWZhOTE0MTA1ZWNmOTBiMDAyYTlhODcx
ZjFmODY3M2UzN2M0MmM4MS4uYjhlNmJiNDc3Y2QxNTc1MWExNDIxYmE5OWYzMWE3MDg3M2VhYjIy
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhp
Y3NDb250ZXh0Q0cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nn
L0dyYXBoaWNzQ29udGV4dENHLmNwcApAQCAtMTYwMSw2ICsxNjAxLDkgQEAgdm9pZCBHcmFwaGlj
c0NvbnRleHQ6OnNldFBsYXRmb3JtQ29tcG9zaXRlT3BlcmF0aW9uKENvbXBvc2l0ZU9wZXJhdG9y
IG1vZGUpCiAgICAgY2FzZSBDb21wb3NpdGVQbHVzTGlnaHRlcjoKICAgICAgICAgdGFyZ2V0ID0g
a0NHQmxlbmRNb2RlUGx1c0xpZ2h0ZXI7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29tcG9z
aXRlRGlmZmVyZW5jZToKKyAgICAgICAgdGFyZ2V0ID0ga0NHQmxlbmRNb2RlRGlmZmVyZW5jZTsK
KyAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIENHQ29udGV4dFNldEJsZW5kTW9kZShwbGF0Zm9y
bUNvbnRleHQoKSwgdGFyZ2V0KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dl
YlZpZXcuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKaW5kZXggOTI2ZGM4MjAz
OTU0YWFiM2EwNTVkNGFiYTRkMjZkMjJkMzA1NmRkZC4uZGVjOWVlNTRmYzkzMGQzNjRjYzZjMTVl
NTNmMjQzMTMwNTBkZTllYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5j
cHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKQEAgLTMzMSw3ICszMzEsOCBA
QCBlbnVtIHsKIGJvb2wgV2ViVmlldzo6c19hbGxvd1NpdGVTcGVjaWZpY0hhY2tzID0gZmFsc2U7
CiAKIFdlYlZpZXc6OldlYlZpZXcoKQotICAgIDogbV9yZWZDb3VudCgwKQorICAgIDogbV9zaG91
bGRJbnZlcnRDb2xvcnMoZmFsc2UpCisgICAgLCBtX3JlZkNvdW50KDApCiAjaWYgIUFTU0VSVF9E
SVNBQkxFRAogICAgICwgbV9kZWxldGlvbkhhc0JlZ3VuKGZhbHNlKQogI2VuZGlmCkBAIC0xMTU0
LDYgKzExNTUsOCBAQCB2b2lkIFdlYlZpZXc6OnBhaW50SW50b0JhY2tpbmdTdG9yZShGcmFtZVZp
ZXcqIGZyYW1lVmlldywgSERDIGJpdG1hcERDLCBjb25zdCBJbgogICAgIGlmIChmcmFtZVZpZXcg
JiYgZnJhbWVWaWV3LT5mcmFtZSgpICYmIGZyYW1lVmlldy0+ZnJhbWUoKS0+Y29udGVudFJlbmRl
cmVyKCkpIHsKICAgICAgICAgZ2MuY2xpcChkaXJ0eVJlY3QpOwogICAgICAgICBmcmFtZVZpZXct
PnBhaW50KCZnYywgZGlydHlSZWN0KTsKKyAgICAgICAgaWYgKG1fc2hvdWxkSW52ZXJ0Q29sb3Jz
KQorICAgICAgICAgICAgZ2MuZmlsbFJlY3QoZGlydHlSZWN0LCBDb2xvcjo6d2hpdGUsIENvbG9y
U3BhY2VEZXZpY2VSR0IsIENvbXBvc2l0ZURpZmZlcmVuY2UpOwogICAgIH0KICAgICBnYy5yZXN0
b3JlKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmggYi9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJWaWV3LmgKaW5kZXggMzgyMzBjYjM2N2E5YTJhNGNiYTZmNWMzNzkx
YzUzYTcyNGE0YjU4OC4uN2QyYTZlMmY5YTJkNzRhMjBmZjI2MWJjOTVjNGUwYWE3ZmM0ZGUzNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvd2luL1dlYlZpZXcuaApAQCAtMTAwMSw2ICsxMDAxLDggQEAgcHJpdmF0ZToKICAgICB2aXJ0
dWFsIHZvaWQgZmx1c2hQZW5kaW5nR3JhcGhpY3NMYXllckNoYW5nZXMoKTsKICNlbmRpZgogCisg
ICAgYm9vbCBtX3Nob3VsZEludmVydENvbG9yczsKKwogcHJvdGVjdGVkOgogICAgIHN0YXRpYyBi
b29sIHJlZ2lzdGVyV2ViVmlld1dpbmRvd0NsYXNzKCk7CiAgICAgc3RhdGljIExSRVNVTFQgQ0FM
TEJBQ0sgV2ViVmlld1duZFByb2MoSFdORCBoV25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFy
YW0sIExQQVJBTSBsUGFyYW0pOwo=
</data>
<flag name="review"
          id="125457"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>