<?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>32663</bug_id>
          
          <creation_ts>2009-12-17 07:47:11 -0800</creation_ts>
          <short_desc>Don&apos;t include all JSC headers everywhere</short_desc>
          <delta_ts>2009-12-17 14:32:23 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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>0</everconfirmed>
          <reporter name="Benjamin Otte">otte</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aroben</cc>
    
    <cc>eric</cc>
    
    <cc>evan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>172773</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Otte">otte</who>
    <bug_when>2009-12-17 07:47:11 -0800</bug_when>
    <thetext>Currently PlatformString.h #include&apos;s almost all of JSC. As that is a pretty central header for WebCore, it means JSC headers get included almost everywhere inside a WebCore build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172778</commentid>
    <comment_count>1</comment_count>
      <attachid>45070</attachid>
    <who name="Benjamin Otte">otte</who>
    <bug_when>2009-12-17 08:02:42 -0800</bug_when>
    <thetext>Created attachment 45070
patch

PlatformString.h included almost all of JSC via runtime/Identifier.h. This patch gets rid of this include by forward-declaring the required classes instead.
This reduces the build size of the object files on a Gtk debug build by 10%. The resulting libwebkit.so gets 5% smaller.

Somebody should probably make sure it still compiles on mac and qt as PlatformString.h pulled a lot of other headers that must now be included manually (like the one math.h fix for Gtk I have in the patch).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172780</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-17 08:04:46 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 45070 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172785</commentid>
    <comment_count>3</comment_count>
      <attachid>45070</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2009-12-17 08:17:43 -0800</bug_when>
    <thetext>Comment on attachment 45070
patch

&gt; -#if USE(JSC)
&gt; -#include &lt;runtime/Identifier.h&gt;
&gt; -#else
&gt; -// runtime/Identifier.h brings in a variety of wtf headers.  We explicitly
&gt; -// include them in the case of non-JSC builds to keep things consistent.
&gt;  #include &lt;wtf/HashMap.h&gt;
&gt;  #include &lt;wtf/HashSet.h&gt;
&gt;  #include &lt;wtf/OwnPtr.h&gt;
&gt; -#endif

I think it&apos;s worth adding a FIXME here saying that we shouldn&apos;t #include these headers, either, unless absolutely necessary.

r=me, but commit-queue- so you can consider adding the FIXME.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172852</commentid>
    <comment_count>4</comment_count>
      <attachid>45085</attachid>
    <who name="Benjamin Otte">otte</who>
    <bug_when>2009-12-17 10:31:30 -0800</bug_when>
    <thetext>Created attachment 45085
another patch

Here&apos;s a patch that removes all the headers you mentioned. It compiled without a complaint here.

I&apos;m filing it as a separate patch so the potential fallout of missing includes can be detected easier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172853</commentid>
    <comment_count>5</comment_count>
      <attachid>45070</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-12-17 10:32:14 -0800</bug_when>
    <thetext>Comment on attachment 45070
patch

Rejecting patch 45070 from commit-queue.

otte@gnome.org does not have committer permissions according to http://trac.webkit.org/browser/trunk/WebKitTools/Scripts/modules/committers.py.

- If you have committer rights please correct the error in WebKitTools/Scripts/modules/committers.py by adding yourself to the file (no review needed) and then set the committer flag again.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172884</commentid>
    <comment_count>6</comment_count>
      <attachid>45085</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2009-12-17 11:07:21 -0800</bug_when>
    <thetext>Comment on attachment 45085
another patch

Looks good to me. I&apos;ll take care of landing these two patches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172907</commentid>
    <comment_count>7</comment_count>
      <attachid>45070</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2009-12-17 12:02:16 -0800</bug_when>
    <thetext>Comment on attachment 45070
patch

Landed in r52275</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172914</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2009-12-17 12:39:49 -0800</bug_when>
    <thetext>Committed r52278: &lt;http://trac.webkit.org/changeset/52278&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172953</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-12-17 14:32:23 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 45070 [details])
&gt; Rejecting patch 45070 from commit-queue.
&gt; 
&gt; otte@gnome.org does not have committer permissions according to
&gt; http://trac.webkit.org/browser/trunk/WebKitTools/Scripts/modules/committers.py.
&gt; 
&gt; - If you have committer rights please correct the error in
&gt; WebKitTools/Scripts/modules/committers.py by adding yourself to the file (no
&gt; review needed) and then set the committer flag again.
&gt; 
&gt; - If you do not have committer rights please read
&gt; http://webkit.org/coding/contributing.html for instructions on how to use
&gt; bugzilla flags.


Sorry about the rejection.  The bot currently requires a restart after mods to committres.py.  I need to update the failure message to note that.  I just restarted the bot, so you should be able to set cq+ just fine now.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45070</attachid>
            <date>2009-12-17 08:02:42 -0800</date>
            <delta_ts>2009-12-17 12:02:15 -0800</delta_ts>
            <desc>patch</desc>
            <filename>diff</filename>
            <type>text/plain</type>
            <size>3079</size>
            <attacher name="Benjamin Otte">otte</attacher>
            
              <data encoding="base64">Y29tbWl0IGQ4NzJiZDU4OTMzZmI5NmQ1OTYwNWM2YmJiMTI2MGVhYmRlYjU1OTMKQXV0aG9yOiBC
ZW5qYW1pbiBPdHRlIDxvdHRlQGdub21lLm9yZz4KRGF0ZTogICBUaHUgRGVjIDE3IDE2OjUyOjM2
IDIwMDkgKzAxMDAKCiAgICBEb24ndCBpbmNsdWRlIGFsbCBKU0MgaGVhZGVycyBldmVyeXdoZXJl
CiAgICAKICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjY2Mwog
ICAgCiAgICBQbGF0Zm9ybVN0cmluZy5oIGluY2x1ZGVkIGFsbW9zdCBhbGwgb2YgSlNDIHZpYSBy
dW50aW1lL0lkZW50aWZpZXIuaC4KICAgIFRoaXMgcGF0Y2ggZ2V0cyByaWQgb2YgdGhpcyBpbmNs
dWRlIGJ5IGZvcndhcmQtZGVjbGFyaW5nIHRoZSByZXF1aXJlZAogICAgY2xhc3NlcyBpbnN0ZWFk
LgogICAgVGhpcyByZWR1Y2VzIHRoZSBidWlsZCBzaXplIG9mIHRoZSBvYmplY3QgZmlsZXMgb24g
YSBHdGsgZGVidWcgYnVpbGQKICAgIGJ5IDEwJS4gVGhlIHJlc3VsdGluZyBsaWJ3ZWJraXQuc28g
Z2V0cyA1JSBzbWFsbGVyLgogICAgCiAgICBObyBuZXcgdGVzdHMgYXMgaXQncyBqdXN0IGEgYnVp
bGQgaW1wcm92ZW1lbnQuCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCA1YjliNGE3Li44NDJkMzA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDA5LTEy
LTE3ICBCZW5qYW1pbiBPdHRlICA8b3R0ZUBnbm9tZS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRG9uJ3QgaW5jbHVkZSBhbGwgSlNDIGhlYWRl
cnMgZXZlcnl3aGVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MzI2NjMKKworICAgICAgICBQbGF0Zm9ybVN0cmluZy5oIGluY2x1ZGVkIGFsbW9zdCBh
bGwgb2YgSlNDIHZpYSBydW50aW1lL0lkZW50aWZpZXIuaC4KKyAgICAgICAgVGhpcyBwYXRjaCBn
ZXRzIHJpZCBvZiB0aGlzIGluY2x1ZGUgYnkgZm9yd2FyZC1kZWNsYXJpbmcgdGhlIHJlcXVpcmVk
CisgICAgICAgIGNsYXNzZXMgaW5zdGVhZC4KKyAgICAgICAgVGhpcyByZWR1Y2VzIHRoZSBidWls
ZCBzaXplIG9mIHRoZSBvYmplY3QgZmlsZXMgb24gYSBHdGsgZGVidWcgYnVpbGQKKyAgICAgICAg
YnkgMTAlLiBUaGUgcmVzdWx0aW5nIGxpYndlYmtpdC5zbyBnZXRzIDUlIHNtYWxsZXIuCisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzIGFzIGl0J3MganVzdCBhIGJ1aWxkIGltcHJvdmVtZW50LgorCisg
ICAgICAgICogcGxhdGZvcm0vZ3RrL0xvY2FsaXplZFN0cmluZ3NHdGsuY3BwOgorICAgICAgICBp
bmNsdWRlIG1hdGguaCBoZXJlIChpdCB1c2VkIHRvIGJlIHB1bGxlZCBieSBKU0MpCisgICAgICAg
ICogcGxhdGZvcm0vdGV4dC9QbGF0Zm9ybVN0cmluZy5oOgorICAgICAgICAqIHBsYXRmb3JtL3Rl
eHQvU3RyaW5nLmNwcDoKKwogMjAwOS0xMS0wNiAgQmVuamFtaW4gT3R0ZSAgPG90dGVAZ25vbWUu
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ndGsvTG9jYWxpemVkU3RyaW5nc0d0ay5jcHAgYi9XZWJDb3JlL3Bs
YXRmb3JtL2d0ay9Mb2NhbGl6ZWRTdHJpbmdzR3RrLmNwcAppbmRleCA1ODA5ZTQ3Li4yZDhkZmM0
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Mb2NhbGl6ZWRTdHJpbmdzR3RrLmNw
cAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Mb2NhbGl6ZWRTdHJpbmdzR3RrLmNwcApAQCAt
MzgsNiArMzgsNyBAQAogCiAjaW5jbHVkZSA8Z2xpYi9naTE4bi1saWIuaD4KICNpbmNsdWRlIDxn
dGsvZ3RrLmg+CisjaW5jbHVkZSA8bWF0aC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9QbGF0Zm9ybVN0cmluZy5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L1BsYXRmb3JtU3RyaW5nLmgKaW5kZXggMjQ3NTM2YS4uYzk4OGMxZCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1BsYXRmb3JtU3RyaW5nLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1BsYXRmb3JtU3RyaW5nLmgKQEAgLTMxLDE1ICszMSw5IEBA
CiAjaW5jbHVkZSA8b2JqYy9vYmpjLmg+CiAjZW5kaWYKIAotI2lmIFVTRShKU0MpCi0jaW5jbHVk
ZSA8cnVudGltZS9JZGVudGlmaWVyLmg+Ci0jZWxzZQotLy8gcnVudGltZS9JZGVudGlmaWVyLmgg
YnJpbmdzIGluIGEgdmFyaWV0eSBvZiB3dGYgaGVhZGVycy4gIFdlIGV4cGxpY2l0bHkKLS8vIGlu
Y2x1ZGUgdGhlbSBpbiB0aGUgY2FzZSBvZiBub24tSlNDIGJ1aWxkcyB0byBrZWVwIHRoaW5ncyBj
b25zaXN0ZW50LgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hT
ZXQuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+Ci0jZW5kaWYKIAogI2lmIFBMQVRGT1JNKENG
KQogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgX19DRlN0cmluZyAqIENGU3RyaW5nUmVmOwpAQCAtNjAs
NiArNTQsMTMgQEAgY2xhc3Mgd3hTdHJpbmc7CiBjbGFzcyBCU3RyaW5nOwogI2VuZGlmCiAKKyNp
ZiBVU0UoSlNDKQorbmFtZXNwYWNlIEpTQyB7CitjbGFzcyBJZGVudGlmaWVyOworY2xhc3MgVVN0
cmluZzsKK30KKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENTdHJpbmc7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvU3RyaW5nLmNwcCBiL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9TdHJpbmcuY3BwCmluZGV4IDI0NjU5YTQuLjgzNDJiMGIgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9TdHJpbmcuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9TdHJpbmcuY3BwCkBAIC0zNyw2ICszNyw4IEBACiAjaW5jbHVkZSA8d3RmL3VuaWNv
ZGUvVVRGOC5oPgogCiAjaWYgVVNFKEpTQykKKyNpbmNsdWRlIDxydW50aW1lL0lkZW50aWZpZXIu
aD4KKwogdXNpbmcgSlNDOjpJZGVudGlmaWVyOwogdXNpbmcgSlNDOjpVU3RyaW5nOwogI2VuZGlm
Cg==
</data>
<flag name="commit-queue"
          id="27044"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45085</attachid>
            <date>2009-12-17 10:31:30 -0800</date>
            <delta_ts>2009-12-17 11:07:21 -0800</delta_ts>
            <desc>another patch</desc>
            <filename>diff</filename>
            <type>text/plain</type>
            <size>1579</size>
            <attacher name="Benjamin Otte">otte</attacher>
            
              <data encoding="base64">Y29tbWl0IDFkOGFiMjI0ODg5MTcyZDk3MWFlNGM3ZmQ3NmUyMzU5NTJmZDE5N2IKQXV0aG9yOiBC
ZW5qYW1pbiBPdHRlIDxvdHRlQGdub21lLm9yZz4KRGF0ZTogICBUaHUgRGVjIDE3IDE5OjI5OjI0
IDIwMDkgKzAxMDAKCiAgICBEb24ndCBpbmNsdWRlIGFsbCBKU0MgaGVhZGVycyBldmVyeXdoZXJl
CiAgICAKICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjY2Mwog
ICAgCiAgICBSZW1vdmUgSGFzaE1hcCBIYXNoU2V0IGFuZCBPd25QdHIgaW5jbHVkZXMgZnJvbSBQ
bGF0Zm9ybVN0cmluZy5oLgogICAgUmVkdWNlcyBjb2RlIHNpemUgb2YgR3RrIGJ1aWxkIGJ5IGFu
b3RoZXIgNSUuCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCA3YTE2Y2M3Li5kZjg3Y2QzIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtNSw2ICs1LDE4IEBACiAgICAgICAgIERvbid0
IGluY2x1ZGUgYWxsIEpTQyBoZWFkZXJzIGV2ZXJ5d2hlcmUKICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyNjYzCiAKKyAgICAgICAgUmVtb3ZlIEhhc2hN
YXAgSGFzaFNldCBhbmQgT3duUHRyIGluY2x1ZGVzIGZyb20gUGxhdGZvcm1TdHJpbmcuaC4KKyAg
ICAgICAgUmVkdWNlcyBjb2RlIHNpemUgb2YgR3RrIGJ1aWxkIGJ5IGFub3RoZXIgNSUuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS90ZXh0L1BsYXRmb3JtU3RyaW5nLmg6CisKKzIwMDktMTItMTcgIEJl
bmphbWluIE90dGUgIDxvdHRlQGdub21lLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBEb24ndCBpbmNsdWRlIGFsbCBKU0MgaGVhZGVycyBldmVy
eXdoZXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0z
MjY2MworCiAgICAgICAgIFBsYXRmb3JtU3RyaW5nLmggaW5jbHVkZWQgYWxtb3N0IGFsbCBvZiBK
U0MgdmlhIHJ1bnRpbWUvSWRlbnRpZmllci5oLgogICAgICAgICBUaGlzIHBhdGNoIGdldHMgcmlk
IG9mIHRoaXMgaW5jbHVkZSBieSBmb3J3YXJkLWRlY2xhcmluZyB0aGUgcmVxdWlyZWQKICAgICAg
ICAgY2xhc3NlcyBpbnN0ZWFkLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1Bs
YXRmb3JtU3RyaW5nLmggYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUGxhdGZvcm1TdHJpbmcuaApp
bmRleCBjOTg4YzFkLi44YTM3OWJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
UGxhdGZvcm1TdHJpbmcuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUGxhdGZvcm1TdHJp
bmcuaApAQCAtMzEsMTAgKzMxLDYgQEAKICNpbmNsdWRlIDxvYmpjL29iamMuaD4KICNlbmRpZgog
Ci0jaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2lu
Y2x1ZGUgPHd0Zi9Pd25QdHIuaD4KLQogI2lmIFBMQVRGT1JNKENGKQogdHlwZWRlZiBjb25zdCBz
dHJ1Y3QgX19DRlN0cmluZyAqIENGU3RyaW5nUmVmOwogI2VuZGlmCg==
</data>
<flag name="review"
          id="27059"
          type_id="1"
          status="+"
          setter="aroben"
    />
    <flag name="commit-queue"
          id="27060"
          type_id="3"
          status="-"
          setter="aroben"
    />
          </attachment>
      

    </bug>

</bugzilla>