<?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>38448</bug_id>
          
          <creation_ts>2010-05-02 21:20:12 -0700</creation_ts>
          <short_desc>Web Inspector: Should Autocomplete Style Properties</short_desc>
          <delta_ts>2014-12-09 10:44:16 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>abarth</cc>
    
    <cc>burg</cc>
    
    <cc>bweinstein</cc>
    
    <cc>eric</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>me</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>robert.colburn+bugzilla</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>220013</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-05-02 21:20:12 -0700</bug_when>
    <thetext>Steps to Reproduce:

  1. Open the Console
  2. Type: document.body.style.col

Results:
I expected to see &quot;color&quot; autocomplete. Actual results were no autocompletions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>220015</commentid>
    <comment_count>1</comment_count>
      <attachid>54905</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-05-02 21:23:45 -0700</bug_when>
    <thetext>Created attachment 54905
[PATCH] Proposed Fix

The generated list in this example came from converting the properties list from the CSS Tokenizer. However, the list can be automatically generated like so:


&gt; // This is the list of properties
&gt; var properties = []
&gt; var keywords = window.getComputedStyle(document.documentElement);
&gt; for (var i = 0, len = keywords.length; i &lt; len; ++i) {
&gt; 
&gt;     // Strip leading hyphen from -vendor properties
&gt;     var property = keywords[i];
&gt;     if (property.charAt(0) === &quot;-&quot;)
&gt;         property = property.substring(1);
&gt; 
&gt;     // Turn hypens points into camel case points
&gt;     properties[i] = property.replace(/\-./g, function(c) {
&gt;         return c.charAt(1).toUpperCase();
&gt;     });
&gt; }
&gt; 
&gt; // `properties` contains the results</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>220016</commentid>
    <comment_count>2</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-05-02 21:26:05 -0700</bug_when>
    <thetext>I specifically wanted this so I could play with &quot;webkitTransform&quot; and friends =).

I only tested use in the console. I&apos;m not completely sure about other cases just yet. I just wanted some feedback on autogeneration Versus precompiled list before a final patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221219</commentid>
    <comment_count>3</comment_count>
      <attachid>54905</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-05-05 12:08:14 -0700</bug_when>
    <thetext>Comment on attachment 54905
[PATCH] Proposed Fix

WebCore/inspector/front-end/InjectedScript.js:133
 +          propertyNames = propertyNames.concat(InjectedScript._hiddenStyleProperties);
Be careful, _getPropertyNames above already has style properties due to your changes to InjectedScript._getPropertyNames.

In fact, if we are talking about autocomplete, you should only modify InjectedScript.getCompletions. Otherwise, style objects start containing weird properties in the object trees.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221243</commentid>
    <comment_count>4</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-05-05 13:08:22 -0700</bug_when>
    <thetext>Good point, thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224268</commentid>
    <comment_count>5</comment_count>
      <attachid>55779</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-05-11 17:13:37 -0700</bug_when>
    <thetext>Created attachment 55779
[PATCH] Improved Fix

- Only happens for autocompletion.
- Automatically generate the list of properties (I can convert this back if desired, but it is fast).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224335</commentid>
    <comment_count>6</comment_count>
      <attachid>55779</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2010-05-11 19:17:15 -0700</bug_when>
    <thetext>Comment on attachment 55779
[PATCH] Improved Fix

WebCore/inspector/front-end/InjectedScript.js:261
 +      var jsProperties = [];
properties is a simplier name, js prefix isn&apos;t needed.

Consider landing manually and not using CQ this time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224337</commentid>
    <comment_count>7</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2010-05-11 19:18:42 -0700</bug_when>
    <thetext>A small note, computed style does not have shorthands and is sometimes missing new properties, since they need to be added to the computed style list to show up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224339</commentid>
    <comment_count>8</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-05-11 19:27:17 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; A small note, computed style does not have shorthands and is sometimes missing new properties, since they need to be added to the computed style list to show up.

So would you prefer a pre-computed list, to be updated occasionally? Or maybe adding some kind of function that really does return a list of all style properties?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224344</commentid>
    <comment_count>9</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2010-05-11 19:33:05 -0700</bug_when>
    <thetext>It would be nice to have a way to get all the properties (shorthands and all) from the inspector host.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224345</commentid>
    <comment_count>10</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2010-05-11 19:33:32 -0700</bug_when>
    <thetext>We could use that for the syntax highlighter too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224346</commentid>
    <comment_count>11</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-05-11 19:35:30 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; It would be nice to have a way to get all the properties
&gt; (shorthands and all) from the inspector host.

(In reply to comment #10)
&gt; We could use that for the syntax highlighter too.

Yes, that is what I meant. =)

I will investigate this. This would really help keep in sync
the following places:

  - console autocompletion (injected side)
  - styles autocompletion (sidebar)
  - css tokenizer (highlighting)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224400</commentid>
    <comment_count>12</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-05-11 21:58:35 -0700</bug_when>
    <thetext>&gt; 
&gt;   - console autocompletion (injected side)
&gt;   - styles autocompletion (sidebar)
&gt;   - css tokenizer (highlighting)

Computed style is missing not only shorthands, but some longhand properties as well. I don&apos;t see border radius properties there for example. There is no single place with the CSS property names in the parser we could get them from, so whatever solution is, it would need to refactor some native code.

As a short term solution, we could generate a single white list of properties and use it from within three subsystems you mentioned above. We could push the list from the front-end to the injected script lazily if necessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224422</commentid>
    <comment_count>13</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-05-11 22:46:22 -0700</bug_when>
    <thetext>&gt; As a short term solution, we could generate a single white list of
&gt; properties and use it from within three subsystems you mentioned
&gt; above. We could push the list from the front-end to the injected
&gt; script lazily if necessary.

Should we include support for properties WebKit doesn&apos;t actually
understand? Like other browser vendor properties. I don&apos;t think we
should, that way we make it clear what is relevant in the browser
running WebKit.

I&apos;m wondering if a backend solution could twist that into a good
thing. For instance if the browser running the Web Inspector has
doesn&apos;t support some style properties (say they are hidden behind
an ENABLE flag) than that Web Inspector wouldn&apos;t highlight or
autocomplete those properties.

I&apos;m just thinking out loud though. A pre-compiled / generated
list is an easy solution, but I keep thinking its not easy to
maintain. This is really something that I think should be
investigated for a long term solution. 

(TAKE THAT Bugzilla! I can totally enforce my own 80 char wrap!)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240458</commentid>
    <comment_count>14</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-06-20 10:11:18 -0700</bug_when>
    <thetext>&gt; WebCore/inspector/front-end/InjectedScript.js:261
&gt;  +      var jsProperties = [];
&gt; properties is a simplier name, js prefix isn&apos;t needed.

Done.

&gt; I will investigate this. This would really help keep in sync
&gt; the following places:
&gt; 
&gt;   - console autocompletion (injected side)
&gt;   - styles autocompletion (sidebar)
&gt;   - css tokenizer (highlighting)

Filed Bug for this:
https://bugs.webkit.org/show_bug.cgi?id=40886

This would address Pavel&apos;s comments as well. For
instance this patch didn&apos;t autocomplete &quot;background&quot;
or &quot;borderRadius&quot; but it did longer versions.


Committed r61506
	M	WebCore/ChangeLog
	M	WebCore/inspector/front-end/InjectedScript.js
r61506 = 72b23490dfc195079550fc7c3f17fdee30e8dd3a (refs/remotes/trunk)
http://trac.webkit.org/changeset/61506</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240460</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-20 10:20:35 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/61506 might have broken GTK Linux 32-bit Release, GTK Linux 64-bit Release, and Qt Linux Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240486</commentid>
    <comment_count>16</comment_count>
    <who name="Nikita Vasilyev">me</who>
    <bug_when>2010-06-20 11:33:48 -0700</bug_when>
    <thetext>I think WebKit should just enumerate these properties, like all other browsers do. It will make this patch unnecessary.
https://bugs.webkit.org/show_bug.cgi?id=23946</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240490</commentid>
    <comment_count>17</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-06-20 11:43:34 -0700</bug_when>
    <thetext>The following line causes the crash:

  var keywords = window.getComputedStyle(document.documentElement);

Changing window to inspectedWindow, there is still the possibility
that inspectedWindow.document is no longer defined (on navigation)
and this causes the crash.

Nikita bring up a good point. So, I am going to revert this, and
try and tackle the problem from that angle.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240494</commentid>
    <comment_count>18</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-06-20 11:57:52 -0700</bug_when>
    <thetext>Rolled out in r61507
r61507 = dc59d8744308cdc41b57e3aaf96b26f58e4fe4ef (refs/remotes/trunk)
http://trac.webkit.org/changeset/61507

I&apos;m going to take Nikita&apos;s suggestion!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245495</commentid>
    <comment_count>19</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-07-01 12:46:38 -0700</bug_when>
    <thetext>I am not working on this for the time being. Someone else can jump on this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619584</commentid>
    <comment_count>20</comment_count>
    <who name="Rob Colburn">robert.colburn+bugzilla</who>
    <bug_when>2012-05-09 09:37:17 -0700</bug_when>
    <thetext>Old bug, appears complete on Chrome.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54905</attachid>
            <date>2010-05-02 21:23:45 -0700</date>
            <delta_ts>2010-05-11 17:13:37 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>auto.patch</filename>
            <type>text/plain</type>
            <size>7097</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODlhZGMxZC4uYzQ2YzY3MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0wNS0wMiAgSm9zZXBoIFBlY29y
YXJvICA8am9lcGVja0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFNob3VsZCBBdXRvY29tcGxldGUgU3R5
bGUgUHJvcGVydGllcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Mzg0NDgKKworICAgICAgICBUaGlzIEF1dG9jb21wbGV0ZXMgc3R5bGUgcHJvcGVydGll
cyB3aGVuIGluIHRoZSBjb25zb2xlLgorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9J
bmplY3RlZFNjcmlwdC5qczoKKyAgICAgICAgKGluamVjdGVkU2NyaXB0Q29uc3RydWN0b3IpOgor
CiAyMDEwLTA0LTI1ICBKb3NlcGggUGVjb3Jhcm8gIDxqb2VwZWNrQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvSW5qZWN0ZWRTY3JpcHQuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvSW5qZWN0ZWRTY3JpcHQuanMKaW5kZXggYTU0YTEwYi4uYzk2ZjRkOCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luamVjdGVkU2NyaXB0LmpzCisrKyBi
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbmplY3RlZFNjcmlwdC5qcwpAQCAtMTI5LDYg
KzEyOSw4IEBAIEluamVjdGVkU2NyaXB0LmdldFByb3BlcnRpZXMgPSBmdW5jdGlvbihvYmplY3RQ
cm94eSwgaWdub3JlSGFzT3duUHJvcGVydHksIGFiYnJlCiAgICAgdmFyIHByb3BlcnR5TmFtZXMg
PSBpZ25vcmVIYXNPd25Qcm9wZXJ0eSA/IEluamVjdGVkU2NyaXB0Ll9nZXRQcm9wZXJ0eU5hbWVz
KG9iamVjdCkgOiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmplY3QpOwogICAgIGlmICgh
aWdub3JlSGFzT3duUHJvcGVydHkgJiYgb2JqZWN0Ll9fcHJvdG9fXykKICAgICAgICAgcHJvcGVy
dHlOYW1lcy5wdXNoKCJfX3Byb3RvX18iKTsKKyAgICBpZiAob2JqZWN0LmNvbnN0cnVjdG9yID09
PSBpbnNwZWN0ZWRXaW5kb3cuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLmNvbnN0cnVj
dG9yKQorICAgICAgICBwcm9wZXJ0eU5hbWVzID0gcHJvcGVydHlOYW1lcy5jb25jYXQoSW5qZWN0
ZWRTY3JpcHQuX2hpZGRlblN0eWxlUHJvcGVydGllcyk7CiAKICAgICBpZiAoanNFbmdpbmUgPT09
ICJ2OCIpIHsKICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIG9iamVjdCBpcyBhIHNjb3BlLgpAQCAt
MjUwLDExICsyNTIsNzUgQEAgSW5qZWN0ZWRTY3JpcHQuX3BvcHVsYXRlUHJvcGVydHlOYW1lcyA9
IGZ1bmN0aW9uKG9iamVjdCwgcmVzdWx0U2V0KQogICAgICAgICAgICAgdmFyIG5hbWVzID0gT2Jq
ZWN0LmdldE93blByb3BlcnR5TmFtZXMobyk7CiAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsg
aSA8IG5hbWVzLmxlbmd0aDsgKytpKQogICAgICAgICAgICAgICAgIHJlc3VsdFNldFtuYW1lc1tp
XSArICIiXSA9IHRydWU7CisgICAgICAgICAgICBpZiAobyA9PT0gaW5zcGVjdGVkV2luZG93LmRv
Y3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5fX3Byb3RvX18pCisgICAgICAgICAgICAgICAg
SW5qZWN0ZWRTY3JpcHQuX2FkZEhpZGRlblN0eWxlUHJvcGVydGllcyhyZXN1bHRTZXQpOwogICAg
ICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgIH0KICAgICB9CiB9CiAKK0luamVjdGVkU2NyaXB0
Ll9oaWRkZW5TdHlsZVByb3BlcnRpZXMgPSBbCisgICAgImJhY2tncm91bmQiLCAiYmFja2dyb3Vu
ZEF0dGFjaG1lbnQiLCAiYmFja2dyb3VuZENsaXAiLCAiYmFja2dyb3VuZENvbG9yIiwgImJhY2tn
cm91bmRJbWFnZSIsCisgICAgImJhY2tncm91bmRPcmlnaW4iLCAiYmFja2dyb3VuZFBvc2l0aW9u
IiwgImJhY2tncm91bmRQb3NpdGlvblgiLCAiYmFja2dyb3VuZFBvc2l0aW9uWSIsCisgICAgImJh
Y2tncm91bmRSZXBlYXQiLCAiYmFja2dyb3VuZFJlcGVhdFgiLCAiYmFja2dyb3VuZFJlcGVhdFki
LCAiYmFja2dyb3VuZFNpemUiLCAiYm9yZGVyIiwKKyAgICAiYm9yZGVyQm90dG9tIiwgImJvcmRl
ckJvdHRvbUNvbG9yIiwgImJvcmRlckJvdHRvbUxlZnRSYWRpdXMiLCAiYm9yZGVyQm90dG9tUmln
aHRSYWRpdXMiLAorICAgICJib3JkZXJCb3R0b21TdHlsZSIsICJib3JkZXJCb3R0b21XaWR0aCIs
ICJib3JkZXJDb2xsYXBzZSIsICJib3JkZXJDb2xvciIsICJib3JkZXJMZWZ0IiwKKyAgICAiYm9y
ZGVyTGVmdENvbG9yIiwgImJvcmRlckxlZnRTdHlsZSIsICJib3JkZXJMZWZ0V2lkdGgiLCAiYm9y
ZGVyUmFkaXVzIiwgImJvcmRlclJpZ2h0IiwKKyAgICAiYm9yZGVyUmlnaHRDb2xvciIsICJib3Jk
ZXJSaWdodFN0eWxlIiwgImJvcmRlclJpZ2h0V2lkdGgiLCAiYm9yZGVyU3BhY2luZyIsICJib3Jk
ZXJTdHlsZSIsCisgICAgImJvcmRlclRvcCIsICJib3JkZXJUb3BDb2xvciIsICJib3JkZXJUb3BM
ZWZ0UmFkaXVzIiwgImJvcmRlclRvcFJpZ2h0UmFkaXVzIiwgImJvcmRlclRvcFN0eWxlIiwKKyAg
ICAiYm9yZGVyVG9wV2lkdGgiLCAiYm9yZGVyV2lkdGgiLCAiYm90dG9tIiwgImNhcHRpb25TaWRl
IiwgImNsZWFyIiwgImNsaXAiLCAiY29sb3IiLCAiY29udGVudCIsCisgICAgImNvdW50ZXJJbmNy
ZW1lbnQiLCAiY291bnRlclJlc2V0IiwgImN1cnNvciIsICJkaXJlY3Rpb24iLCAiZGlzcGxheSIs
ICJlbXB0eUNlbGxzIiwgImZsb2F0IiwKKyAgICAiZm9udCIsICJmb250RmFtaWx5IiwgImZvbnRT
aXplIiwgImZvbnRTdHJldGNoIiwgImZvbnRTdHlsZSIsICJmb250VmFyaWFudCIsICJmb250V2Vp
Z2h0IiwKKyAgICAiaGVpZ2h0IiwgImxlZnQiLCAibGV0dGVyU3BhY2luZyIsICJsaW5lSGVpZ2h0
IiwgImxpc3RTdHlsZSIsICJsaXN0U3R5bGVJbWFnZSIsCisgICAgImxpc3RTdHlsZVBvc2l0aW9u
IiwgImxpc3RTdHlsZVR5cGUiLCAibWFyZ2luIiwgIm1hcmdpbkJvdHRvbSIsICJtYXJnaW5MZWZ0
IiwgIm1hcmdpblJpZ2h0IiwKKyAgICAibWFyZ2luVG9wIiwgIm1heEhlaWdodCIsICJtYXhXaWR0
aCIsICJtaW5IZWlnaHQiLCAibWluV2lkdGgiLCAib3BhY2l0eSIsICJvcnBoYW5zIiwgIm91dGxp
bmUiLAorICAgICJvdXRsaW5lQ29sb3IiLCAib3V0bGluZU9mZnNldCIsICJvdXRsaW5lU3R5bGUi
LCAib3V0bGluZVdpZHRoIiwgIm92ZXJmbG93IiwgIm92ZXJmbG93WCIsCisgICAgIm92ZXJmbG93
WSIsICJwYWRkaW5nIiwgInBhZGRpbmdCb3R0b20iLCAicGFkZGluZ0xlZnQiLCAicGFkZGluZ1Jp
Z2h0IiwgInBhZGRpbmdUb3AiLCAicGFnZSIsCisgICAgInBhZ2VCcmVha0FmdGVyIiwgInBhZ2VC
cmVha0JlZm9yZSIsICJwYWdlQnJlYWtJbnNpZGUiLCAicG9pbnRlckV2ZW50cyIsICJwb3NpdGlv
biIsICJxdW90ZXMiLAorICAgICJyZXNpemUiLCAicmlnaHQiLCAic2l6ZSIsICJzcmMiLCAidGFi
bGVMYXlvdXQiLCAidGV4dEFsaWduIiwgInRleHREZWNvcmF0aW9uIiwgInRleHRJbmRlbnQiLAor
ICAgICJ0ZXh0TGluZVRocm91Z2giLCAidGV4dExpbmVUaHJvdWdoQ29sb3IiLCAidGV4dExpbmVU
aHJvdWdoTW9kZSIsICJ0ZXh0TGluZVRocm91Z2hTdHlsZSIsCisgICAgInRleHRMaW5lVGhyb3Vn
aFdpZHRoIiwgInRleHRPdmVyZmxvdyIsICJ0ZXh0T3ZlcmxpbmUiLCAidGV4dE92ZXJsaW5lQ29s
b3IiLAorICAgICJ0ZXh0T3ZlcmxpbmVNb2RlIiwgInRleHRPdmVybGluZVN0eWxlIiwgInRleHRP
dmVybGluZVdpZHRoIiwgInRleHRSZW5kZXJpbmciLCAidGV4dFNoYWRvdyIsCisgICAgInRleHRU
cmFuc2Zvcm0iLCAidGV4dFVuZGVybGluZSIsICJ0ZXh0VW5kZXJsaW5lQ29sb3IiLCAidGV4dFVu
ZGVybGluZU1vZGUiLAorICAgICJ0ZXh0VW5kZXJsaW5lU3R5bGUiLCAidGV4dFVuZGVybGluZVdp
ZHRoIiwgInRvcCIsICJ1bmljb2RlQmlkaSIsICJ1bmljb2RlUmFuZ2UiLAorICAgICJ2ZXJ0aWNh
bEFsaWduIiwgInZpc2liaWxpdHkiLCAid2hpdGVTcGFjZSIsICJ3aWRvd3MiLCAid2lkdGgiLCAi
d29yZEJyZWFrIiwgIndvcmRTcGFjaW5nIiwKKyAgICAid29yZFdyYXAiLCAiekluZGV4IiwgInpv
b20iLCAid2Via2l0QW5pbWF0aW9uIiwgIndlYmtpdEFuaW1hdGlvbkRlbGF5IiwKKyAgICAid2Vi
a2l0QW5pbWF0aW9uRGlyZWN0aW9uIiwgIndlYmtpdEFuaW1hdGlvbkR1cmF0aW9uIiwgIndlYmtp
dEFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50IiwKKyAgICAid2Via2l0QW5pbWF0aW9uTmFtZSIsICJ3
ZWJraXRBbmltYXRpb25QbGF5U3RhdGUiLCAid2Via2l0QW5pbWF0aW9uVGltaW5nRnVuY3Rpb24i
LAorICAgICJ3ZWJraXRBcHBlYXJhbmNlIiwgIndlYmtpdEJhY2tmYWNlVmlzaWJpbGl0eSIsICJ3
ZWJraXRCYWNrZ3JvdW5kQ2xpcCIsCisgICAgIndlYmtpdEJhY2tncm91bmRDb21wb3NpdGUiLCAi
d2Via2l0QmFja2dyb3VuZE9yaWdpbiIsICJ3ZWJraXRCYWNrZ3JvdW5kU2l6ZSIsCisgICAgIndl
YmtpdEJpbmRpbmciLCAid2Via2l0Qm9yZGVyRml0IiwgIndlYmtpdEJvcmRlckhvcml6b250YWxT
cGFjaW5nIiwgIndlYmtpdEJvcmRlckltYWdlIiwKKyAgICAid2Via2l0Qm9yZGVyUmFkaXVzIiwg
IndlYmtpdEJvcmRlclZlcnRpY2FsU3BhY2luZyIsICJ3ZWJraXRCb3hBbGlnbiIsICJ3ZWJraXRC
b3hEaXJlY3Rpb24iLAorICAgICJ3ZWJraXRCb3hGbGV4IiwgIndlYmtpdEJveEZsZXhHcm91cCIs
ICJ3ZWJraXRCb3hMaW5lcyIsICJ3ZWJraXRCb3hPcmRpbmFsR3JvdXAiLAorICAgICJ3ZWJraXRC
b3hPcmllbnQiLCAid2Via2l0Qm94UGFjayIsICJ3ZWJraXRCb3hSZWZsZWN0IiwgIndlYmtpdEJv
eFNoYWRvdyIsICJ3ZWJraXRCb3hTaXppbmciLAorICAgICJ3ZWJraXRDb2x1bW5CcmVha0FmdGVy
IiwgIndlYmtpdENvbHVtbkJyZWFrQmVmb3JlIiwgIndlYmtpdENvbHVtbkJyZWFrSW5zaWRlIiwK
KyAgICAid2Via2l0Q29sdW1uQ291bnQiLCAid2Via2l0Q29sdW1uR2FwIiwgIndlYmtpdENvbHVt
blJ1bGUiLCAid2Via2l0Q29sdW1uUnVsZUNvbG9yIiwKKyAgICAid2Via2l0Q29sdW1uUnVsZVN0
eWxlIiwgIndlYmtpdENvbHVtblJ1bGVXaWR0aCIsICJ3ZWJraXRDb2x1bW5XaWR0aCIsICJ3ZWJr
aXRDb2x1bW5zIiwKKyAgICAid2Via2l0Rm9udFNpemVEZWx0YSIsICJ3ZWJraXRGb250U21vb3Ro
aW5nIiwgIndlYmtpdEhpZ2hsaWdodCIsICJ3ZWJraXRMaW5lQnJlYWsiLAorICAgICJ3ZWJraXRM
aW5lQ2xhbXAiLCAid2Via2l0TWFyZ2luQm90dG9tQ29sbGFwc2UiLCAid2Via2l0TWFyZ2luQ29s
bGFwc2UiLCAid2Via2l0TWFyZ2luU3RhcnQiLAorICAgICJ3ZWJraXRNYXJnaW5Ub3BDb2xsYXBz
ZSIsICJ3ZWJraXRNYXJxdWVlIiwgIndlYmtpdE1hcnF1ZWVEaXJlY3Rpb24iLCAid2Via2l0TWFy
cXVlZUluY3JlbWVudCIsCisgICAgIndlYmtpdE1hcnF1ZWVSZXBldGl0aW9uIiwgIndlYmtpdE1h
cnF1ZWVTcGVlZCIsICJ3ZWJraXRNYXJxdWVlU3R5bGUiLCAid2Via2l0TWFzayIsCisgICAgIndl
YmtpdE1hc2tBdHRhY2htZW50IiwgIndlYmtpdE1hc2tCb3hJbWFnZSIsICJ3ZWJraXRNYXNrQ2xp
cCIsICJ3ZWJraXRNYXNrQ29tcG9zaXRlIiwKKyAgICAid2Via2l0TWFza0ltYWdlIiwgIndlYmtp
dE1hc2tPcmlnaW4iLCAid2Via2l0TWFza1Bvc2l0aW9uIiwgIndlYmtpdE1hc2tQb3NpdGlvblgi
LAorICAgICJ3ZWJraXRNYXNrUG9zaXRpb25ZIiwgIndlYmtpdE1hc2tSZXBlYXQiLCAid2Via2l0
TWFza1JlcGVhdFgiLCAid2Via2l0TWFza1JlcGVhdFkiLAorICAgICJ3ZWJraXRNYXNrU2l6ZSIs
ICJ3ZWJraXRNYXRjaE5lYXJlc3RNYWlsQmxvY2txdW90ZUNvbG9yIiwgIndlYmtpdE5ic3BNb2Rl
IiwKKyAgICAid2Via2l0UGFkZGluZ1N0YXJ0IiwgIndlYmtpdFBlcnNwZWN0aXZlIiwgIndlYmtp
dFBlcnNwZWN0aXZlT3JpZ2luIiwKKyAgICAid2Via2l0UGVyc3BlY3RpdmVPcmlnaW5YIiwgIndl
YmtpdFBlcnNwZWN0aXZlT3JpZ2luWSIsICJ3ZWJraXRSdGxPcmRlcmluZyIsCisgICAgIndlYmtp
dFRleHREZWNvcmF0aW9uc0luRWZmZWN0IiwgIndlYmtpdFRleHRGaWxsQ29sb3IiLCAid2Via2l0
VGV4dFNlY3VyaXR5IiwKKyAgICAid2Via2l0VGV4dFNpemVBZGp1c3QiLCAid2Via2l0VGV4dFN0
cm9rZSIsICJ3ZWJraXRUZXh0U3Ryb2tlQ29sb3IiLCAid2Via2l0VGV4dFN0cm9rZVdpZHRoIiwK
KyAgICAid2Via2l0VHJhbnNmb3JtIiwgIndlYmtpdFRyYW5zZm9ybU9yaWdpbiIsICJ3ZWJraXRU
cmFuc2Zvcm1PcmlnaW5YIiwgIndlYmtpdFRyYW5zZm9ybU9yaWdpblkiLAorICAgICJ3ZWJraXRU
cmFuc2Zvcm1PcmlnaW5aIiwgIndlYmtpdFRyYW5zZm9ybVN0eWxlIiwgIndlYmtpdFRyYW5zaXRp
b24iLCAid2Via2l0VHJhbnNpdGlvbkRlbGF5IiwKKyAgICAid2Via2l0VHJhbnNpdGlvbkR1cmF0
aW9uIiwgIndlYmtpdFRyYW5zaXRpb25Qcm9wZXJ0eSIsICJ3ZWJraXRUcmFuc2l0aW9uVGltaW5n
RnVuY3Rpb24iLAorICAgICJ3ZWJraXRVc2VyRHJhZyIsICJ3ZWJraXRVc2VyTW9kaWZ5IiwgIndl
YmtpdFVzZXJTZWxlY3QiLCAid2Via2l0VmFyaWFibGVEZWNsYXJhdGlvbkJsb2NrIgorXTsKKwor
SW5qZWN0ZWRTY3JpcHQuX2FkZEhpZGRlblN0eWxlUHJvcGVydGllcyA9IGZ1bmN0aW9uKHJlc3Vs
dFNldCkKK3sKKyAgICB2YXIgaGlkZGVuU3R5bGVQcm9wZXJ0aWVzID0gSW5qZWN0ZWRTY3JpcHQu
X2hpZGRlblN0eWxlUHJvcGVydGllczsKKyAgICBmb3IgKHZhciBpID0gMCwgbGVuZ3RoID0gaGlk
ZGVuU3R5bGVQcm9wZXJ0aWVzLmxlbmd0aDsgaSA8IGxlbmd0aDsgKytpKQorICAgICAgICByZXN1
bHRTZXRbaGlkZGVuU3R5bGVQcm9wZXJ0aWVzW2ldXSA9IHRydWU7Cit9CisKIEluamVjdGVkU2Ny
aXB0Ll9nZXRQcm9wZXJ0eU5hbWVzID0gZnVuY3Rpb24ob2JqZWN0LCByZXN1bHRTZXQpCiB7CiAg
ICAgdmFyIHByb3BlcnR5TmFtZVNldCA9IHt9Owo=
</data>
<flag name="review"
          id="38975"
          type_id="1"
          status="-"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>55779</attachid>
            <date>2010-05-11 17:13:37 -0700</date>
            <delta_ts>2010-06-20 11:58:17 -0700</delta_ts>
            <desc>[PATCH] Improved Fix</desc>
            <filename>styles.patch</filename>
            <type>text/plain</type>
            <size>2858</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NmY0NGY4Zi4uYzZkYjAyMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0wNS0xMSAgSm9zZXBoIFBlY29y
YXJvICA8am9lcGVja0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFNob3VsZCBBdXRvY29tcGxldGUgU3R5
bGUgUHJvcGVydGllcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Mzg0NDgKKworICAgICAgICBUaGlzIEF1dG9jb21wbGV0ZXMgc3R5bGUgcHJvcGVydGll
cyB3aGVuIGluIHRoZSBjb25zb2xlLgorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9J
bmplY3RlZFNjcmlwdC5qczoKKyAgICAgICAgKGluamVjdGVkU2NyaXB0Q29uc3RydWN0b3IpOgor
CiAyMDEwLTA1LTA3ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvSW5qZWN0ZWRTY3JpcHQuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5q
ZWN0ZWRTY3JpcHQuanMKaW5kZXggZTNiZTZhMy4uM2VjMzVhNSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luamVjdGVkU2NyaXB0LmpzCisrKyBiL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9JbmplY3RlZFNjcmlwdC5qcwpAQCAtMjU1LDYgKzI1NSwzNCBAQCBJ
bmplY3RlZFNjcmlwdC5fcG9wdWxhdGVQcm9wZXJ0eU5hbWVzID0gZnVuY3Rpb24ob2JqZWN0LCBy
ZXN1bHRTZXQpCiAgICAgfQogfQogCisvLyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlIHRoZSBsaXN0
IG9mIENTUyBwcm9wZXJ0aWVzLCBhbmQgY29udmVydAorLy8gdGhlbSB0byB0aGVpciBKYXZhU2Ny
aXB0IGFjY2Vzc2libGUgZm9ybS4KK0luamVjdGVkU2NyaXB0Ll9oaWRkZW5TdHlsZVByb3BlcnRp
ZXMgPSAoZnVuY3Rpb24oKSB7CisgICAgdmFyIGpzUHJvcGVydGllcyA9IFtdOworCisgICAgdmFy
IGtleXdvcmRzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVt
ZW50KTsKKyAgICBmb3IgKHZhciBpID0gMCwgbGVuID0ga2V5d29yZHMubGVuZ3RoOyBpIDwgbGVu
OyArK2kpIHsKKyAgICAgICAgLy8gU3RyaXAgbGVhZGluZyBoeXBoZW4gZnJvbSAiLXZlbmRvciIg
cHJvcGVydGllcy4KKyAgICAgICAgdmFyIHByb3BlcnR5ID0ga2V5d29yZHNbaV07CisgICAgICAg
IGlmIChwcm9wZXJ0eS5jaGFyQXQoMCkgPT09ICItIikKKyAgICAgICAgICAgIHByb3BlcnR5ID0g
cHJvcGVydHkuc3Vic3RyaW5nKDEpOworCisgICAgICAgIC8vIFR1cm4gaHlwZW5zIHBvaW50cyBp
bnRvIGNhbWVsIGNhc2UgcG9pbnRzLgorICAgICAgICBqc1Byb3BlcnRpZXNbaV0gPSBwcm9wZXJ0
eS5yZXBsYWNlKC9cLS4vZywgZnVuY3Rpb24obWF0Y2gpIHsKKyAgICAgICAgICAgIHJldHVybiBt
YXRjaC5jaGFyQXQoMSkudG9VcHBlckNhc2UoKTsKKyAgICAgICAgfSk7CisgICAgfQorCisgICAg
cmV0dXJuIGpzUHJvcGVydGllczsKK30pKCk7CisKK0luamVjdGVkU2NyaXB0Ll9hZGRIaWRkZW5T
dHlsZVByb3BlcnRpZXMgPSBmdW5jdGlvbihyZXN1bHRTZXQpCit7CisgICAgdmFyIGhpZGRlblN0
eWxlUHJvcGVydGllcyA9IEluamVjdGVkU2NyaXB0Ll9oaWRkZW5TdHlsZVByb3BlcnRpZXM7Cisg
ICAgZm9yICh2YXIgaSA9IDAsIGxlbmd0aCA9IGhpZGRlblN0eWxlUHJvcGVydGllcy5sZW5ndGg7
IGkgPCBsZW5ndGg7ICsraSkKKyAgICAgICAgcmVzdWx0U2V0W2hpZGRlblN0eWxlUHJvcGVydGll
c1tpXV0gPSB0cnVlOworfQorCiBJbmplY3RlZFNjcmlwdC5fZ2V0UHJvcGVydHlOYW1lcyA9IGZ1
bmN0aW9uKG9iamVjdCwgcmVzdWx0U2V0KQogewogICAgIHZhciBwcm9wZXJ0eU5hbWVTZXQgPSB7
fTsKQEAgLTI4NSw4ICszMTMsMTMgQEAgSW5qZWN0ZWRTY3JpcHQuZ2V0Q29tcGxldGlvbnMgPSBm
dW5jdGlvbihleHByZXNzaW9uLCBpbmNsdWRlSW5zcGVjdG9yQ29tbWFuZExpbmUKICAgICAgICAg
ICAgICAgICBleHByZXNzaW9uID0gInRoaXMiOwogICAgICAgICAgICAgZXhwcmVzc2lvblJlc3Vs
dCA9IEluamVjdGVkU2NyaXB0Ll9ldmFsdWF0ZU9uKGluc3BlY3RlZFdpbmRvdy5ldmFsLCBpbnNw
ZWN0ZWRXaW5kb3csIGV4cHJlc3Npb24pOwogICAgICAgICB9Ci0gICAgICAgIGlmICh0eXBlb2Yg
ZXhwcmVzc2lvblJlc3VsdCA9PSAib2JqZWN0IikKKworICAgICAgICBpZiAodHlwZW9mIGV4cHJl
c3Npb25SZXN1bHQgPT09ICJvYmplY3QiKSB7CiAgICAgICAgICAgICBJbmplY3RlZFNjcmlwdC5f
cG9wdWxhdGVQcm9wZXJ0eU5hbWVzKGV4cHJlc3Npb25SZXN1bHQsIHByb3BzKTsKKyAgICAgICAg
ICAgIGlmIChleHByZXNzaW9uUmVzdWx0LmNvbnN0cnVjdG9yID09PSBpbnNwZWN0ZWRXaW5kb3cu
ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLmNvbnN0cnVjdG9yKQorICAgICAgICAgICAg
ICAgIEluamVjdGVkU2NyaXB0Ll9hZGRIaWRkZW5TdHlsZVByb3BlcnRpZXMocHJvcHMpOworICAg
ICAgICB9CisKICAgICAgICAgaWYgKGluY2x1ZGVJbnNwZWN0b3JDb21tYW5kTGluZUFQSSkKICAg
ICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gaW5zcGVjdGVkV2luZG93LmNvbnNvbGUuX2luc3Bl
Y3RvckNvbW1hbmRMaW5lQVBJKQogICAgICAgICAgICAgICAgIGlmIChwcm9wLmNoYXJBdCgwKSAh
PT0gJ18nKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>