<?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>31079</bug_id>
          
          <creation_ts>2009-11-03 12:54:28 -0800</creation_ts>
          <short_desc>(r48167) &quot;Document.h&quot; includes &quot;Page.h&quot;, makes WebCore painful to work on</short_desc>
          <delta_ts>2009-11-03 13:06:36 -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>OS X 10.5</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="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>160171</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2009-11-03 12:54:28 -0800</bug_when>
    <thetext>In resolving https://bugs.webkit.org/show_bug.cgi?id=25503, http://trac.webkit.org/changeset/48167 changed a forward declaration of &quot;Page&quot; in &quot;Document.h&quot; to an include of &quot;Page.h&quot; and it seems like it was for the sole purpose of convenience (there&apos;s no indication that the inline status of the method in the header was important to this patch)

 I noticed this while working on BackForwardList.h and having to recompile over 1,000 files for every tweak I made.  Any time we add a header to &quot;Document.h&quot;, we&apos;re increasing the change that work on the dark corners of WebCore will cause world rebuilds.

This is not good for the project.

I&apos;ll have a patch coming up shortly that removes #include &quot;Page.h&quot; from Document.h, and also removes #include &quot;BackForwardList.h&quot; from Page.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160173</commentid>
    <comment_count>1</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2009-11-03 12:56:01 -0800</bug_when>
    <thetext>In retrospect, the BackForwardList.h include is a lot older and would affect WebKit builds as well, so I&apos;ll hold off for now.

The Document.h include is still only a couple of months old and much much MUCH more severe, so I&apos;ll have a patch for that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160178</commentid>
    <comment_count>2</comment_count>
      <attachid>42409</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2009-11-03 13:00:58 -0800</bug_when>
    <thetext>Created attachment 42409
Revert Document.h to a forward declaration of Page, move the inline function into Document.cpp, and add the Page.h include to the few other sites that now need it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160183</commentid>
    <comment_count>3</comment_count>
      <attachid>42409</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-11-03 13:04:13 -0800</bug_when>
    <thetext>Comment on attachment 42409
Revert Document.h to a forward declaration of Page, move the inline function into Document.cpp, and add the Page.h include to the few other sites that now need it.

&gt; +InspectorTimelineAgent* Document::inspectorTimelineAgent() const {
&gt; +    return page() ? page()-&gt;inspectorTimelineAgent() : 0;
&gt; +}

Please move the brace to a separate line rather than having it on the same line as the function.

Otherwise, fine, r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160184</commentid>
    <comment_count>4</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2009-11-03 13:06:36 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/50476</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42409</attachid>
            <date>2009-11-03 13:00:58 -0800</date>
            <delta_ts>2009-11-03 13:04:13 -0800</delta_ts>
            <desc>Revert Document.h to a forward declaration of Page, move the inline function into Document.cpp, and add the Page.h include to the few other sites that now need it.</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>4214</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MDQ3NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMDktMTEtMDMgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTA3OSAtIFJlbW92ZSAjaW5j
bHVkZSAiUGFnZS5oIiBmcm9tIERvY3VtZW50LmgKKworICAgICAgICBObyBuZXcgdGVzdHMuIChO
byBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0eSkKKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6aW5zcGVjdG9yVGltZWxpbmVBZ2VudCk6IE1v
dmVkIGZyb20gRG9jdW1lbnQuaAorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorCisgICAgICAg
IEluY2x1ZGUgIlBhZ2UuaCIgZGlyZWN0bHk6CisgICAgICAgICogaHRtbC9IVE1MVmlkZW9FbGVt
ZW50LmNwcDoKKyAgICAgICAgKiBsb2FkZXIvUmVkaXJlY3RTY2hlZHVsZXIuY3BwOgorICAgICAg
ICAqIHBhZ2UvSGlzdG9yeS5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL01lZGlhQ29udHJvbEVs
ZW1lbnRzLmNwcDoKKyAgICAgICAgKiBzdG9yYWdlL1N0b3JhZ2VBcmVhSW1wbC5jcHA6CisKIDIw
MDktMTEtMDMgIEtlaXNoaSBIYXR0b3JpICA8Y2FzZXkuaGF0dG9yaUBnbWFpbC5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgpJbmRleDogV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkocmV2aXNp
b24gNTA0NDApCisrKyBXZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTQ2MzcsNCArNDYzNywxMCBAQCBib29sIERvY3VtZW50Ojppc1hIVE1MTVBEb2N1bWVudCgpIGNv
bnN0CiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShJTlNQRUNUT1IpCitJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50KiBEb2N1bWVudDo6aW5zcGVjdG9yVGltZWxpbmVBZ2VudCgpIGNvbnN0IHsKKyAgICBy
ZXR1cm4gcGFnZSgpID8gcGFnZSgpLT5pbnNwZWN0b3JUaW1lbGluZUFnZW50KCkgOiAwOworfQor
I2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvZG9tL0RvY3Vt
ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRG9jdW1lbnQuaAkocmV2aXNpb24gNTA0
NDApCisrKyBXZWJDb3JlL2RvbS9Eb2N1bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICsz
Myw2IEBACiAjaW5jbHVkZSAiQ29sbGVjdGlvblR5cGUuaCIKICNpbmNsdWRlICJDb2xvci5oIgog
I2luY2x1ZGUgIkRvY3VtZW50TWFya2VyLmgiCi0jaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUg
IlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUg
PHd0Zi9IYXNoQ291bnRlZFNldC5oPgpAQCAtODUsNiArODQsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0czsKICAgICBjbGFzcyBO
b2RlRmlsdGVyOwogICAgIGNsYXNzIE5vZGVJdGVyYXRvcjsKKyAgICBjbGFzcyBQYWdlOwogICAg
IGNsYXNzIFBsYXRmb3JtTW91c2VFdmVudDsKICAgICBjbGFzcyBQcm9jZXNzaW5nSW5zdHJ1Y3Rp
b247CiAgICAgY2xhc3MgUmFuZ2U7CkBAIC0xMTc1LDEyICsxMTc1LDYgQEAgaW5saW5lIGJvb2wg
Tm9kZTo6aXNEb2N1bWVudE5vZGUoKSBjb25zdAogICAgIHJldHVybiB0aGlzID09IG1fZG9jdW1l
bnQ7CiB9CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotaW5saW5lIEluc3BlY3RvclRpbWVsaW5l
QWdlbnQqIERvY3VtZW50OjppbnNwZWN0b3JUaW1lbGluZUFnZW50KCkgY29uc3QgewotICAgIHJl
dHVybiBwYWdlKCkgPyBwYWdlKCktPmluc3BlY3RvclRpbWVsaW5lQWdlbnQoKSA6IDA7Ci19Ci0j
ZW5kaWYKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRG9jdW1lbnRfaApJ
bmRleDogV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcAkocmV2aXNpb24gNTA0NDApCisrKyBXZWJD
b3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1LDYgKzM1
LDcgQEAKICNpbmNsdWRlICJIVE1MSW1hZ2VMb2FkZXIuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMu
aCIKICNpbmNsdWRlICJNYXBwZWRBdHRyaWJ1dGUuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5j
bHVkZSAiUmVuZGVySW1hZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJWaWRlby5oIgogCkluZGV4OiBX
ZWJDb3JlL2xvYWRlci9SZWRpcmVjdFNjaGVkdWxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9sb2FkZXIvUmVkaXJlY3RTY2hlZHVsZXIuY3BwCShyZXZpc2lvbiA1MDQ0MCkKKysrIFdlYkNv
cmUvbG9hZGVyL1JlZGlyZWN0U2NoZWR1bGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksNiAr
MzksNyBAQAogI2luY2x1ZGUgIkZyYW1lTG9hZFJlcXVlc3QuaCIKICNpbmNsdWRlICJGcmFtZUxv
YWRlci5oIgogI2luY2x1ZGUgIkhUTUxGb3JtRWxlbWVudC5oIgorI2luY2x1ZGUgIlBhZ2UuaCIK
ICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpJbmRl
eDogV2ViQ29yZS9wYWdlL0hpc3RvcnkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9I
aXN0b3J5LmNwcAkocmV2aXNpb24gNTA0NDApCisrKyBXZWJDb3JlL3BhZ2UvSGlzdG9yeS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIkZyYW1lLmgiCiAj
aW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvTWVkaWFDb250cm9sRWxlbWVudHMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL01lZGlhQ29udHJvbEVsZW1lbnRz
LmNwcAkocmV2aXNpb24gNTA0NDApCisrKyBXZWJDb3JlL3JlbmRlcmluZy9NZWRpYUNvbnRyb2xF
bGVtZW50cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJI
VE1MTmFtZXMuaCIKICNpbmNsdWRlICJMb2NhbGl6ZWRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiTW91
c2VFdmVudC5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJNZWRpYS5oIgog
I2luY2x1ZGUgIlJlbmRlclNsaWRlci5oIgogI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCkluZGV4
OiBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWFJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWFJbXBsLmNwcAkocmV2aXNpb24gNTA0NDApCisrKyBXZWJD
b3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWFJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiAr
MzAsNyBAQAogCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIkZyYW1lLmgi
CisjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU3Rv
cmFnZUFyZWFTeW5jLmgiCiAjaW5jbHVkZSAiU3RvcmFnZUV2ZW50RGlzcGF0Y2hlci5oIgo=
</data>
<flag name="review"
          id="23933"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>