<?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>26494</bug_id>
          
          <creation_ts>2009-06-17 15:12:57 -0700</creation_ts>
          <short_desc>RenderTheme::themeForPage reads from Settings before it has been initialized by WebKit</short_desc>
          <delta_ts>2009-06-19 23:22:02 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</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="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>kenneth</cc>
    
    <cc>sfalken</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>126559</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2009-06-17 15:12:57 -0700</bug_when>
    <thetext>r44758 added RenderTheme::themeForPage and a call to it from the Page constructor. In RenderThemeSafari.cpp, the themeForPage implementation using Settings to decide which instance of a RenderTheme subclass to return.

But the Page constructor (and thus themeForPage) is called before Settings has been initialized by WebKit. This caused bug 26493, though we&apos;ve worked around the issue for now. It would be better to fix the design problem here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126699</commentid>
    <comment_count>1</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2009-06-18 08:35:40 -0700</bug_when>
    <thetext>Wouldn&apos;t it make sense to initialize the settings before constructing a page? or is there any reason for not doing so?

WebView (windows) already calls &quot;WebPreferences* sharedPreferences = WebPreferences::sharedStandardPreferences();&quot; before constructing the Page().

Couldn&apos;t we add the below before creating the Page?

bool shouldPaintNativeControls;
if (SUCCEEDED(m_preferences-&gt;shouldPaintNativeControls(&amp;shouldPaintNativeControls)))
    Settings::setShouldPaintNativeControls(shouldPaintNativeControls)

both functions are static.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126704</commentid>
    <comment_count>2</comment_count>
      <attachid>31497</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2009-06-18 09:02:11 -0700</bug_when>
    <thetext>Created attachment 31497
Suggested fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127105</commentid>
    <comment_count>3</comment_count>
    <who name="Steve Falkenburg">sfalken</who>
    <bug_when>2009-06-19 22:30:52 -0700</bug_when>
    <thetext>Looking at this again, I&apos;m not sure the fix is correct. Investigating...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127108</commentid>
    <comment_count>4</comment_count>
    <who name="Steve Falkenburg">sfalken</who>
    <bug_when>2009-06-19 23:14:53 -0700</bug_when>
    <thetext>OK - tested the patch. It works.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127109</commentid>
    <comment_count>5</comment_count>
    <who name="Steve Falkenburg">sfalken</who>
    <bug_when>2009-06-19 23:22:02 -0700</bug_when>
    <thetext>Landed fix in r44890.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>31497</attachid>
            <date>2009-06-18 09:02:11 -0700</date>
            <delta_ts>2009-06-19 23:14:29 -0700</delta_ts>
            <desc>Suggested fix</desc>
            <filename>0001-2009-06-18-Kenneth-Rohde-Christiansen-kenneth.chr.patch</filename>
            <type>text/plain</type>
            <size>2397</size>
            <attacher name="Kenneth Rohde Christiansen">kenneth</attacher>
            
              <data encoding="base64">RnJvbSAyNDljNzBhNWQzYTgwOTc1MDgyYTY4ZTY0MDcxMWM5MGM2MWMyNzliIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEBz
cGlzbmlnZWwub3NtdGMuaW5kdC5vcmcuYnI+CkRhdGU6IFRodSwgMTggSnVuIDIwMDkgMTI6NTk6
MzkgLTAzMDAKU3ViamVjdDogW1BBVENIXSAyMDA5LTA2LTE4ICBLZW5uZXRoIFJvaGRlIENocmlz
dGlhbnNlbiAgPGtlbm5ldGguY2hyaXN0aWFuc2VuQG9wZW5ib3NzYS5vcmc+CgogICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjY0OTQKICAgICAgICBCdWcgMjY0OTQ6IFJlbmRlclRoZW1lOjp0
aGVtZUZvclBhZ2UgcmVhZHMgZnJvbSBTZXR0aW5ncyBiZWZvcmUgaXQgaGFzCiAgICAgICAgYmVl
biBpbml0aWFsaXplZCBieSBXZWJLaXQKCiAgICAgICAgR2V0IHRoZSBzaG91bGRQYWludE5hdGl2
ZUNvbnRyb2xzIHByZWZlcmVuY2UgYW5kIHVwZGF0ZSB0aGUgc2V0dGluZ3MKICAgICAgICBiZWZv
cmUgaW5pdGlhbGl6aW5nIHRoZSBwYWdlLCBhcyB0aGUgcGFnZSBkZXBlbmRzIG9uIGl0IGFmdGVy
IHRoZQogICAgICAgIHRoZW1lRm9yUGFnZSBjaGFuZ2UuCgogICAgICAgICogV2ViVmlldy5jcHA6
CiAgICAgICAgKFdlYlZpZXc6OmluaXRXaXRoRnJhbWUpOgotLS0KIFdlYktpdC93aW4vQ2hhbmdl
TG9nICAgfCAgIDE1ICsrKysrKysrKysrKysrKwogV2ViS2l0L3dpbi9XZWJWaWV3LmNwcCB8ICAg
IDYgKysrKystCiAyIGZpbGVzIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25z
KC0pCgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9XZWJLaXQvd2luL0NoYW5n
ZUxvZwppbmRleCBhZjYzZjFkLi41NGRmMzNlIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NoYW5n
ZUxvZworKysgYi9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDA5LTA2
LTE4ICBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGguY2hyaXN0aWFuc2VuQG9w
ZW5ib3NzYS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2NDk0CisgICAg
ICAgIEJ1ZyAyNjQ5NDogUmVuZGVyVGhlbWU6OnRoZW1lRm9yUGFnZSByZWFkcyBmcm9tIFNldHRp
bmdzIGJlZm9yZSBpdCBoYXMKKyAgICAgICAgYmVlbiBpbml0aWFsaXplZCBieSBXZWJLaXQKKwor
ICAgICAgICBHZXQgdGhlIHNob3VsZFBhaW50TmF0aXZlQ29udHJvbHMgcHJlZmVyZW5jZSBhbmQg
dXBkYXRlIHRoZSBzZXR0aW5ncworICAgICAgICBiZWZvcmUgaW5pdGlhbGl6aW5nIHRoZSBwYWdl
LCBhcyB0aGUgcGFnZSBkZXBlbmRzIG9uIGl0IGFmdGVyIHRoZQorICAgICAgICB0aGVtZUZvclBh
Z2UgY2hhbmdlLgorCisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3Ojpp
bml0V2l0aEZyYW1lKToKKwogMjAwOS0wNi0xNyAgU3RldmUgRmFsa2VuYnVyZyAgPHNmYWxrZW5A
YXBwbGUuY29tPgogCiAgICAgICAgIENvbnNvbGlkYXRlIFdlYktpdCBDT00gaW50ZXJmYWNlcy4K
ZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViVmlldy5jcHAgYi9XZWJLaXQvd2luL1dlYlZpZXcu
Y3BwCmluZGV4IDkwODFhNzEuLmE2NzExOGMgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViVmll
dy5jcHAKKysrIGIvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcApAQCAtMjE3NCw3ICsyMTc0LDExIEBA
IEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViVmlldzo6aW5pdFdpdGhGcmFtZSgKICAgICBX
ZWJLaXRTZXRXZWJEYXRhYmFzZXNQYXRoSWZOZWNlc3NhcnkoKTsKICNlbmRpZgogICAgIFdlYktp
dFNldEFwcGxpY2F0aW9uQ2FjaGVQYXRoSWZOZWNlc3NhcnkoKTsKLSAgICAKKworICAgIEJPT0wg
c2hvdWxkUGFpbnROYXRpdmVDb250cm9sczsKKyAgICBpZiAoU1VDQ0VFREVEKG1fcHJlZmVyZW5j
ZXMtPnNob3VsZFBhaW50TmF0aXZlQ29udHJvbHMoJnNob3VsZFBhaW50TmF0aXZlQ29udHJvbHMp
KSkKKyAgICAgICAgU2V0dGluZ3M6OnNldFNob3VsZFBhaW50TmF0aXZlQ29udHJvbHMoc2hvdWxk
UGFpbnROYXRpdmVDb250cm9scykKKwogICAgIG1fcGFnZSA9IG5ldyBQYWdlKG5ldyBXZWJDaHJv
bWVDbGllbnQodGhpcyksIG5ldyBXZWJDb250ZXh0TWVudUNsaWVudCh0aGlzKSwgbmV3IFdlYkVk
aXRvckNsaWVudCh0aGlzKSwgbmV3IFdlYkRyYWdDbGllbnQodGhpcyksIG5ldyBXZWJJbnNwZWN0
b3JDbGllbnQodGhpcykpOwogCiAgICAgQlNUUiBsb2NhbFN0b3JhZ2VQYXRoOwotLSAKMS42LjAu
NAoK
</data>
<flag name="review"
          id="16145"
          type_id="1"
          status="+"
          setter="sfalken"
    />
          </attachment>
      

    </bug>

</bugzilla>