<?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>33617</bug_id>
          
          <creation_ts>2010-01-13 12:24:45 -0800</creation_ts>
          <short_desc>[Qt] DRT missing setUserStyleSheetLocation and setUserStyleSheetEnabled in LayoutTestController</short_desc>
          <delta_ts>2010-01-14 11:50:53 -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>Tools / Tests</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>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>33614</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Diego Gonzalez">diegohcg</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>hausmann</cc>
    
    <cc>jwieczorek</cc>
    
    <cc>kenneth</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>180336</commentid>
    <comment_count>0</comment_count>
    <who name="Diego Gonzalez">diegohcg</who>
    <bug_when>2010-01-13 12:24:45 -0800</bug_when>
    <thetext>The setUserStyleSheetLocation and setUserStyleSheetEnabled are missing in LayoutTestController,
which fails the http/tests/security/local-user-CSS-from-remote.html LayoutTest</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180356</commentid>
    <comment_count>1</comment_count>
      <attachid>46492</attachid>
    <who name="Diego Gonzalez">diegohcg</who>
    <bug_when>2010-01-13 12:48:51 -0800</bug_when>
    <thetext>Created attachment 46492
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180360</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-13 12:51:36 -0800</bug_when>
    <thetext>Attachment 46492 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp:174:  Should have a space between // and comment  [whitespace/comments] [4]
Total errors found: 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180386</commentid>
    <comment_count>3</comment_count>
    <who name="Jakub Wieczorek">jwieczorek</who>
    <bug_when>2010-01-13 13:48:57 -0800</bug_when>
    <thetext>Let me add my 3 cents...

&gt; --- a/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp
&gt; +++ b/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp
&gt; @@ -171,6 +171,7 @@ void WebPage::resetSettings()
&gt;      m_drt-&gt;layoutTestController()-&gt;setXSSAuditorEnabled(false);
&gt;  
&gt;      QWebSettings::setMaximumPagesInCache(0); // reset to default
&gt; +    settings()-&gt;setUserStyleSheetUrl(QUrl(&quot;&quot;)); //reset to default

The default constructor (QUrl()) would be fine as well.

&gt; --- a/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp
&gt; +++ b/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp
&gt; @@ -391,3 +391,22 @@ void LayoutTestController::overridePreference(const QString&amp; name, const QVarian
&gt;      else if (name == &quot;WebKitUsesPageCachePreferenceKey&quot;)
&gt;          QWebSettings::setMaximumPagesInCache(value.toInt());
&gt;  }
&gt; +
&gt; +static QUrl userStyleSheetLocation = QUrl(&quot;&quot;);

I would make it a member variable instead.

&gt; +void LayoutTestController::setUserStyleSheetLocation(const QString&amp; url)
&gt; +{
&gt; +    if (!url.isEmpty())

Is this check even needed?

&gt; +void LayoutTestController::setUserStyleSheetEnabled(bool enabled)
&gt; +{
&gt; +    QWebSettings* settings = m_topLoadingFrame-&gt;page()-&gt;settings();
&gt; +    if (settings) {

I doubt settings can be null here.

&gt; +        if (enabled)
&gt; +            settings-&gt;setUserStyleSheetUrl(userStyleSheetLocation);
&gt; +        else
&gt; +            settings-&gt;setUserStyleSheetUrl(QUrl(&quot;&quot;));

Same as above, I would use the default constructor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180397</commentid>
    <comment_count>4</comment_count>
    <who name="Diego Gonzalez">diegohcg</who>
    <bug_when>2010-01-13 14:03:11 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Let me add my 3 cents...
&gt; 
&gt; &gt; --- a/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp
&gt; &gt; +++ b/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp
&gt; &gt; @@ -171,6 +171,7 @@ void WebPage::resetSettings()
&gt; &gt;      m_drt-&gt;layoutTestController()-&gt;setXSSAuditorEnabled(false);
&gt; &gt;  
&gt; &gt;      QWebSettings::setMaximumPagesInCache(0); // reset to default
&gt; &gt; +    settings()-&gt;setUserStyleSheetUrl(QUrl(&quot;&quot;)); //reset to default
&gt; 
&gt; The default constructor (QUrl()) would be fine as well.
&gt; 
&gt; &gt; --- a/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp
&gt; &gt; +++ b/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp
&gt; &gt; @@ -391,3 +391,22 @@ void LayoutTestController::overridePreference(const QString&amp; name, const QVarian
&gt; &gt;      else if (name == &quot;WebKitUsesPageCachePreferenceKey&quot;)
&gt; &gt;          QWebSettings::setMaximumPagesInCache(value.toInt());
&gt; &gt;  }
&gt; &gt; +
&gt; &gt; +static QUrl userStyleSheetLocation = QUrl(&quot;&quot;);
&gt; 
&gt; I would make it a member variable instead.
&gt; 
&gt; &gt; +void LayoutTestController::setUserStyleSheetLocation(const QString&amp; url)
&gt; &gt; +{
&gt; &gt; +    if (!url.isEmpty())
&gt; 
&gt; Is this check even needed?
&gt; 
&gt; &gt; +void LayoutTestController::setUserStyleSheetEnabled(bool enabled)
&gt; &gt; +{
&gt; &gt; +    QWebSettings* settings = m_topLoadingFrame-&gt;page()-&gt;settings();
&gt; &gt; +    if (settings) {
&gt; 
&gt; I doubt settings can be null here.
&gt; 
&gt; &gt; +        if (enabled)
&gt; &gt; +            settings-&gt;setUserStyleSheetUrl(userStyleSheetLocation);
&gt; &gt; +        else
&gt; &gt; +            settings-&gt;setUserStyleSheetUrl(QUrl(&quot;&quot;));
&gt; 
&gt; Same as above, I would use the default constructor.

Good suggestions! Thanks a lot. Reviewing now</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180406</commentid>
    <comment_count>5</comment_count>
      <attachid>46507</attachid>
    <who name="Diego Gonzalez">diegohcg</who>
    <bug_when>2010-01-13 14:23:25 -0800</bug_when>
    <thetext>Created attachment 46507
Proposed patch v0.2

Correct style and add Jakub suggestions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180524</commentid>
    <comment_count>6</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-01-13 19:50:24 -0800</bug_when>
    <thetext>LGTM !

simon, kenneth , could one of you guys please review ? thx

(In reply to comment #5)
&gt; Created an attachment (id=46507) [details]
&gt; Proposed patch v0.2
&gt; 
&gt; Correct style and add Jakub suggestions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180570</commentid>
    <comment_count>7</comment_count>
      <attachid>46507</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-01-13 23:38:01 -0800</bug_when>
    <thetext>Comment on attachment 46507
Proposed patch v0.2

LGTM, r=me

&gt; +    if (enabled)
&gt; +        m_drt-&gt;webPage()-&gt;settings()-&gt;setUserStyleSheetUrl(m_userStyleSheetLocation);
&gt; +    else
&gt; +        m_drt-&gt;webPage()-&gt;settings()-&gt;setUserStyleSheetUrl(QUrl());

Do you know what happens if I give an invalid url to setUserStyleSheetUrl? Is that handled?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180607</commentid>
    <comment_count>8</comment_count>
      <attachid>46507</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-01-14 01:47:32 -0800</bug_when>
    <thetext>Comment on attachment 46507
Proposed patch v0.2

Clearing flags on attachment: 46507

Committed r53249: &lt;http://trac.webkit.org/changeset/53249&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180608</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-01-14 01:47:38 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180643</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-14 02:43:19 -0800</bug_when>
    <thetext>This looks like this caused one test to regress:
http://build.webkit.org/results/Qt%20Linux%20Release/r53249%20(5974)/http/tests/security/local-user-CSS-from-remote-pretty-diff.html

I&apos;m going to look at rolling this out unless someone is around to comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180644</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-14 02:46:17 -0800</bug_when>
    <thetext>In case the buildbot results are purged by the time someone looks at this, here is the failing diff:
--- layout-test-results/http/tests/security/local-user-CSS-from-remote-expected.txt	2010-01-14 01:54:07.000000000 -0800
+++ layout-test-results/http/tests/security/local-user-CSS-from-remote-actual.txt	2010-01-14 01:54:07.000000000 -0800
@@ -2,4 +2,4 @@
 To run this test manually you must set your user style sheet in your Safari preferences to LayoutTests/http/tests/security/resources/cssStyle.css 
 If the background is yellow then the user stylesheet was loaded.
 
-Test Passed: Local user stylesheet loaded.
+Test Failed: Local user stylesheet not loaded into remote document.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180645</commentid>
    <comment_count>12</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-01-14 02:46:54 -0800</bug_when>
    <thetext>I guess Diego will first be around in 2 hours or so. He is in the Manaus, Brazil time zone.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180646</commentid>
    <comment_count>13</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-14 02:48:21 -0800</bug_when>
    <thetext>Reverted r53249 for reason:

This caused http/tests/security/local-user-CSS-from-remote.html to fail on the Qt Release Build Bot.

Committed r53253: &lt;http://trac.webkit.org/changeset/53253&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180648</commentid>
    <comment_count>14</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-01-14 02:58:38 -0800</bug_when>
    <thetext>guys that test regressed because bug 33614  (see dependency field) has to land first ! kenneth , could look over that one and we re-try this ?

(In reply to comment #13)
&gt; Reverted r53249 for reason:
&gt; 
&gt; This caused http/tests/security/local-user-CSS-from-remote.html to fail on the
&gt; Qt Release Build Bot.
&gt; 
&gt; Committed r53253: &lt;http://trac.webkit.org/changeset/53253&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180650</commentid>
    <comment_count>15</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-01-14 02:59:20 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 46507 [details])
&gt; LGTM, r=me
&gt; 
&gt; &gt; +    if (enabled)
&gt; &gt; +        m_drt-&gt;webPage()-&gt;settings()-&gt;setUserStyleSheetUrl(m_userStyleSheetLocation);
&gt; &gt; +    else
&gt; &gt; +        m_drt-&gt;webPage()-&gt;settings()-&gt;setUserStyleSheetUrl(QUrl());
&gt; 
&gt; Do you know what happens if I give an invalid url to setUserStyleSheetUrl? Is
&gt; that handled?

in this case, it is like unsetting the userStyleSheet</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180654</commentid>
    <comment_count>16</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-14 03:03:11 -0800</bug_when>
    <thetext>Yup.  It&apos;s just better to roll-out first and ask questions later.  That way we keep the bots green more of the time.  In this case that&apos;s extra important because we have over a days worth of commits pent up in the commit-queue because it was blocked all day due to bug 33638.

This will be easy to roll back in once we can do so without breaking the bots.  Just go ahead and set r+/cq+ on the patch once it&apos;s ready to land again :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180827</commentid>
    <comment_count>17</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-01-14 11:49:09 -0800</bug_when>
    <thetext>
Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	LayoutTests/ChangeLog
	M	LayoutTests/platform/qt/Skipped
	M	WebKitTools/ChangeLog
	M	WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp
	M	WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp
	M	WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.h
Committed r53281</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180829</commentid>
    <comment_count>18</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-14 11:50:53 -0800</bug_when>
    <thetext>It&apos;s unclear what changed between checkins and why this new one isn&apos;t going to cause failures. :)  The bots will tell. :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46492</attachid>
            <date>2010-01-13 12:48:51 -0800</date>
            <delta_ts>2010-01-13 14:23:25 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>userStyleSheet.diff</filename>
            <type>text/plain</type>
            <size>4215</size>
            <attacher name="Diego Gonzalez">diegohcg</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiNTBjN2U4Li44ODRhMzljIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTAtMDEt
MTMgIERpZWdvIEdvbnphbGV6ICA8ZGllZ28uZ29uemFsZXpAb3BlbmJvc3NhLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIERSVCBtaXNz
aW5nIHNldFVzZXJTdHlsZVNoZWV0TG9jYXRpb24gYW5kIHNldFVzZXJTdHlsZVNoZWV0RW5hYmxl
ZCBpbiBMYXlvdXRUZXN0Q29udHJvbGxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzM2MTcKKworICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6
CisKIDIwMTAtMDEtMTMgIEZ1bWl0b3NoaSBVa2FpICA8dWthaUBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgVW5yZXZpZXdlZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Nr
aXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCmluZGV4IDVjZDA0NTMuLjRi
MWE3YzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZApAQCAtMjA0LDkgKzIwNCw2IEBAIGh0dHAv
dGVzdHMvc2VjdXJpdHkvaXNvbGF0ZWRXb3JsZAogaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENv
bnRlbnQKIGh0dHAvdGVzdHMvY2FjaGUvc3VicmVzb3VyY2UtZmFpbG92ZXItdG8tbmV0d29yay5o
dG1sCiAKLSMgTWlzc2luZyBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRVc2VyU3R5bGVTaGVldExv
Y2F0aW9uKCkgYW5kIGxheW91dFRlc3RDb250cm9sbGVyLnNldFVzZXJTdHlsZVNoZWV0RW5hYmxl
ZCgpCi1odHRwL3Rlc3RzL3NlY3VyaXR5L2xvY2FsLXVzZXItQ1NTLWZyb20tcmVtb3RlLmh0bWwK
LQogIyBNaXNzaW5nIGxheW91dFRlc3RDb250cm9sbGVyLmV2YWx1YXRlSW5XZWJJbnNwZWN0b3Io
KQogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzMwOTYKIGluc3Bl
Y3Rvci9jb29raWUtcmVzb3VyY2UtbWF0Y2guaHRtbApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMv
Q2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDg1MzEzYTMuLjQ2OTcwNzMg
MTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRUb29scy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0wMS0xMyAgRGllZ28gR29uemFsZXogIDxkaWVn
by5nb256YWxlekBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFtRdF0gRFJUIG1pc3Npbmcgc2V0VXNlclN0eWxlU2hlZXRMb2Nh
dGlvbiBhbmQgc2V0VXNlclN0eWxlU2hlZXRFbmFibGVkIGluIExheW91dFRlc3RDb250cm9sbGVy
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzYxNwor
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJQYWdlOjpyZXNldFNldHRpbmdzKToKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcDoKKyAgICAgICAgKExheW91dFRl
c3RDb250cm9sbGVyOjpzZXRVc2VyU3R5bGVTaGVldExvY2F0aW9uKToKKyAgICAgICAgKExheW91
dFRlc3RDb250cm9sbGVyOjpzZXRVc2VyU3R5bGVTaGVldEVuYWJsZWQpOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaDoKKwogMjAxMC0wMS0xMyAg
Sm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAbm9raWEuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcAppbmRleCA2MzY3ZmUzLi5iYjA3MGU4IDEw
MDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0
LmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0
LmNwcApAQCAtMTcxLDYgKzE3MSw3IEBAIHZvaWQgV2ViUGFnZTo6cmVzZXRTZXR0aW5ncygpCiAg
ICAgbV9kcnQtPmxheW91dFRlc3RDb250cm9sbGVyKCktPnNldFhTU0F1ZGl0b3JFbmFibGVkKGZh
bHNlKTsKIAogICAgIFFXZWJTZXR0aW5nczo6c2V0TWF4aW11bVBhZ2VzSW5DYWNoZSgwKTsgLy8g
cmVzZXQgdG8gZGVmYXVsdAorICAgIHNldHRpbmdzKCktPnNldFVzZXJTdHlsZVNoZWV0VXJsKFFV
cmwoIiIpKTsgLy9yZXNldCB0byBkZWZhdWx0CiB9CiAKIFFXZWJQYWdlICpXZWJQYWdlOjpjcmVh
dGVXaW5kb3coUVdlYlBhZ2U6OldlYldpbmRvd1R5cGUpCmRpZmYgLS1naXQgYS9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcCBiL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCmluZGV4IGUw
MTdlZTcuLjA5MjM1N2EgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0
L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCkBAIC0zOTEsMyArMzkxLDIyIEBAIHZv
aWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6Om92ZXJyaWRlUHJlZmVyZW5jZShjb25zdCBRU3RyaW5n
JiBuYW1lLCBjb25zdCBRVmFyaWFuCiAgICAgZWxzZSBpZiAobmFtZSA9PSAiV2ViS2l0VXNlc1Bh
Z2VDYWNoZVByZWZlcmVuY2VLZXkiKQogICAgICAgICBRV2ViU2V0dGluZ3M6OnNldE1heGltdW1Q
YWdlc0luQ2FjaGUodmFsdWUudG9JbnQoKSk7CiB9CisKK3N0YXRpYyBRVXJsIHVzZXJTdHlsZVNo
ZWV0TG9jYXRpb24gPSBRVXJsKCIiKTsKKwordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0
VXNlclN0eWxlU2hlZXRMb2NhdGlvbihjb25zdCBRU3RyaW5nJiB1cmwpCit7CisgICAgaWYgKCF1
cmwuaXNFbXB0eSgpKQorICAgICAgICB1c2VyU3R5bGVTaGVldExvY2F0aW9uID0gUVVybCh1cmwp
OworfQorCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRVc2VyU3R5bGVTaGVldEVuYWJs
ZWQoYm9vbCBlbmFibGVkKQoreworICAgIFFXZWJTZXR0aW5ncyogc2V0dGluZ3MgPSBtX3RvcExv
YWRpbmdGcmFtZS0+cGFnZSgpLT5zZXR0aW5ncygpOworICAgIGlmIChzZXR0aW5ncykgeworICAg
ICAgICBpZiAoZW5hYmxlZCkKKyAgICAgICAgICAgIHNldHRpbmdzLT5zZXRVc2VyU3R5bGVTaGVl
dFVybCh1c2VyU3R5bGVTaGVldExvY2F0aW9uKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAg
c2V0dGluZ3MtPnNldFVzZXJTdHlsZVNoZWV0VXJsKFFVcmwoIiIpKTsKKyAgICB9Cit9CmRpZmYg
LS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxl
clF0LmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxl
clF0LmgKaW5kZXggNDQ1MWI3YS4uOTQ1YjRkMyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oCisrKyBiL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaApAQCAtMTMzLDYgKzEz
Myw4IEBAIHB1YmxpYyBzbG90czoKIAogICAgIHZvaWQgd2FpdEZvclBvbGljeURlbGVnYXRlKCk7
CiAgICAgdm9pZCBvdmVycmlkZVByZWZlcmVuY2UoY29uc3QgUVN0cmluZyYgbmFtZSwgY29uc3Qg
UVZhcmlhbnQmIHZhbHVlKTsKKyAgICB2b2lkIHNldFVzZXJTdHlsZVNoZWV0TG9jYXRpb24oY29u
c3QgUVN0cmluZyYgdXJsKTsKKyAgICB2b2lkIHNldFVzZXJTdHlsZVNoZWV0RW5hYmxlZChib29s
IGVuYWJsZWQpOwogCiBwcml2YXRlIHNsb3RzOgogICAgIHZvaWQgcHJvY2Vzc1dvcmsoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46507</attachid>
            <date>2010-01-13 14:23:25 -0800</date>
            <delta_ts>2010-01-14 01:47:32 -0800</delta_ts>
            <desc>Proposed patch v0.2</desc>
            <filename>userStyleSheet.diff</filename>
            <type>text/plain</type>
            <size>4292</size>
            <attacher name="Diego Gonzalez">diegohcg</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiNTBjN2U4Li44ODRhMzljIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTAtMDEt
MTMgIERpZWdvIEdvbnphbGV6ICA8ZGllZ28uZ29uemFsZXpAb3BlbmJvc3NhLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIERSVCBtaXNz
aW5nIHNldFVzZXJTdHlsZVNoZWV0TG9jYXRpb24gYW5kIHNldFVzZXJTdHlsZVNoZWV0RW5hYmxl
ZCBpbiBMYXlvdXRUZXN0Q29udHJvbGxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzM2MTcKKworICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6
CisKIDIwMTAtMDEtMTMgIEZ1bWl0b3NoaSBVa2FpICA8dWthaUBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgVW5yZXZpZXdlZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Nr
aXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCmluZGV4IDVjZDA0NTMuLjRi
MWE3YzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZApAQCAtMjA0LDkgKzIwNCw2IEBAIGh0dHAv
dGVzdHMvc2VjdXJpdHkvaXNvbGF0ZWRXb3JsZAogaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENv
bnRlbnQKIGh0dHAvdGVzdHMvY2FjaGUvc3VicmVzb3VyY2UtZmFpbG92ZXItdG8tbmV0d29yay5o
dG1sCiAKLSMgTWlzc2luZyBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRVc2VyU3R5bGVTaGVldExv
Y2F0aW9uKCkgYW5kIGxheW91dFRlc3RDb250cm9sbGVyLnNldFVzZXJTdHlsZVNoZWV0RW5hYmxl
ZCgpCi1odHRwL3Rlc3RzL3NlY3VyaXR5L2xvY2FsLXVzZXItQ1NTLWZyb20tcmVtb3RlLmh0bWwK
LQogIyBNaXNzaW5nIGxheW91dFRlc3RDb250cm9sbGVyLmV2YWx1YXRlSW5XZWJJbnNwZWN0b3Io
KQogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzMwOTYKIGluc3Bl
Y3Rvci9jb29raWUtcmVzb3VyY2UtbWF0Y2guaHRtbApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMv
Q2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDg1MzEzYTMuLjQ2OTcwNzMg
MTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRUb29scy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0wMS0xMyAgRGllZ28gR29uemFsZXogIDxkaWVn
by5nb256YWxlekBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFtRdF0gRFJUIG1pc3Npbmcgc2V0VXNlclN0eWxlU2hlZXRMb2Nh
dGlvbiBhbmQgc2V0VXNlclN0eWxlU2hlZXRFbmFibGVkIGluIExheW91dFRlc3RDb250cm9sbGVy
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzYxNwor
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJQYWdlOjpyZXNldFNldHRpbmdzKToKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcDoKKyAgICAgICAgKExheW91dFRl
c3RDb250cm9sbGVyOjpzZXRVc2VyU3R5bGVTaGVldExvY2F0aW9uKToKKyAgICAgICAgKExheW91
dFRlc3RDb250cm9sbGVyOjpzZXRVc2VyU3R5bGVTaGVldEVuYWJsZWQpOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaDoKKwogMjAxMC0wMS0xMyAg
Sm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAbm9raWEuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcAppbmRleCA2MzY3ZmUzLi41MjkzOWU0IDEw
MDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0
LmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0
LmNwcApAQCAtMTcxLDYgKzE3MSw3IEBAIHZvaWQgV2ViUGFnZTo6cmVzZXRTZXR0aW5ncygpCiAg
ICAgbV9kcnQtPmxheW91dFRlc3RDb250cm9sbGVyKCktPnNldFhTU0F1ZGl0b3JFbmFibGVkKGZh
bHNlKTsKIAogICAgIFFXZWJTZXR0aW5nczo6c2V0TWF4aW11bVBhZ2VzSW5DYWNoZSgwKTsgLy8g
cmVzZXQgdG8gZGVmYXVsdAorICAgIHNldHRpbmdzKCktPnNldFVzZXJTdHlsZVNoZWV0VXJsKFFV
cmwoKSk7IC8vIHJlc2V0IHRvIGRlZmF1bHQKIH0KIAogUVdlYlBhZ2UgKldlYlBhZ2U6OmNyZWF0
ZVdpbmRvdyhRV2ViUGFnZTo6V2ViV2luZG93VHlwZSkKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwIGIvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKaW5kZXggZTAx
N2VlNy4uYzJlMDk3YiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
TGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKQEAgLTM5MSwzICszOTEsMTYgQEAgdm9p
ZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6b3ZlcnJpZGVQcmVmZXJlbmNlKGNvbnN0IFFTdHJpbmcm
IG5hbWUsIGNvbnN0IFFWYXJpYW4KICAgICBlbHNlIGlmIChuYW1lID09ICJXZWJLaXRVc2VzUGFn
ZUNhY2hlUHJlZmVyZW5jZUtleSIpCiAgICAgICAgIFFXZWJTZXR0aW5nczo6c2V0TWF4aW11bVBh
Z2VzSW5DYWNoZSh2YWx1ZS50b0ludCgpKTsKIH0KKwordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxl
cjo6c2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbihjb25zdCBRU3RyaW5nJiB1cmwpCit7CisgICAg
bV91c2VyU3R5bGVTaGVldExvY2F0aW9uID0gUVVybCh1cmwpOworfQorCit2b2lkIExheW91dFRl
c3RDb250cm9sbGVyOjpzZXRVc2VyU3R5bGVTaGVldEVuYWJsZWQoYm9vbCBlbmFibGVkKQorewor
ICAgIGlmIChlbmFibGVkKQorICAgICAgICBtX2RydC0+d2ViUGFnZSgpLT5zZXR0aW5ncygpLT5z
ZXRVc2VyU3R5bGVTaGVldFVybChtX3VzZXJTdHlsZVNoZWV0TG9jYXRpb24pOworICAgIGVsc2UK
KyAgICAgICAgbV9kcnQtPndlYlBhZ2UoKS0+c2V0dGluZ3MoKS0+c2V0VXNlclN0eWxlU2hlZXRV
cmwoUVVybCgpKTsKK30KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0
L0xheW91dFRlc3RDb250cm9sbGVyUXQuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0
L0xheW91dFRlc3RDb250cm9sbGVyUXQuaAppbmRleCA0NDUxYjdhLi5jZmY4NDc0IDEwMDY0NAot
LS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0
LmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xs
ZXJRdC5oCkBAIC0xMzMsNiArMTMzLDggQEAgcHVibGljIHNsb3RzOgogCiAgICAgdm9pZCB3YWl0
Rm9yUG9saWN5RGVsZWdhdGUoKTsKICAgICB2b2lkIG92ZXJyaWRlUHJlZmVyZW5jZShjb25zdCBR
U3RyaW5nJiBuYW1lLCBjb25zdCBRVmFyaWFudCYgdmFsdWUpOworICAgIHZvaWQgc2V0VXNlclN0
eWxlU2hlZXRMb2NhdGlvbihjb25zdCBRU3RyaW5nJiB1cmwpOworICAgIHZvaWQgc2V0VXNlclN0
eWxlU2hlZXRFbmFibGVkKGJvb2wgZW5hYmxlZCk7CiAKIHByaXZhdGUgc2xvdHM6CiAgICAgdm9p
ZCBwcm9jZXNzV29yaygpOwpAQCAtMTUxLDYgKzE1Myw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBt
X2hhbmRsZUVycm9yUGFnZXM7CiAgICAgYm9vbCBtX2xvYWRGaW5pc2hlZDsKIAorICAgIFFVcmwg
bV91c2VyU3R5bGVTaGVldExvY2F0aW9uOwogICAgIFFCYXNpY1RpbWVyIG1fdGltZW91dFRpbWVy
OwogICAgIFFXZWJGcmFtZSogbV90b3BMb2FkaW5nRnJhbWU7CiAgICAgV2ViQ29yZTo6RHVtcFJl
bmRlclRyZWUqIG1fZHJ0Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>