<?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>39887</bug_id>
          
          <creation_ts>2010-05-28 10:57:17 -0700</creation_ts>
          <short_desc>[chromium] Add isXHTMLDocument() to Chromium&apos;s WebKit::WebDocument</short_desc>
          <delta_ts>2010-06-01 15:22:35 -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>WebKit API</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</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="Aaron Boodman">aa</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>231794</commentid>
    <comment_count>0</comment_count>
    <who name="Aaron Boodman">aa</who>
    <bug_when>2010-05-28 10:57:17 -0700</bug_when>
    <thetext>Add isXHTMLDocument() to Chromium&apos;s WebKit::WebDocument</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231796</commentid>
    <comment_count>1</comment_count>
      <attachid>57345</attachid>
    <who name="Aaron Boodman">aa</who>
    <bug_when>2010-05-28 11:01:07 -0700</bug_when>
    <thetext>Created attachment 57345
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231850</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-28 11:54:27 -0700</bug_when>
    <thetext>Attachment 57345 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/2644039</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231873</commentid>
    <comment_count>3</comment_count>
    <who name="Aaron Boodman">aa</who>
    <bug_when>2010-05-28 12:34:13 -0700</bug_when>
    <thetext>Whoops. Please hold for better patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231887</commentid>
    <comment_count>4</comment_count>
      <attachid>57364</attachid>
    <who name="Aaron Boodman">aa</who>
    <bug_when>2010-05-28 12:55:55 -0700</bug_when>
    <thetext>Created attachment 57364
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231916</commentid>
    <comment_count>5</comment_count>
      <attachid>57364</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-05-28 13:49:35 -0700</bug_when>
    <thetext>Comment on attachment 57364
Patch

WebCore/ChangeLog:5
 +          Added isXHTMLDocument() to WebCore::Document.
nit: add bug link

WebKit/chromium/ChangeLog:5
 +          Add isXHTMLDocument() to WebDocument.
nit: add bug link</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231978</commentid>
    <comment_count>6</comment_count>
    <who name="Aaron Boodman">aa</who>
    <bug_when>2010-05-28 15:43:15 -0700</bug_when>
    <thetext>Committed r60377: &lt;http://trac.webkit.org/changeset/60377&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231979</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-28 15:44:50 -0700</bug_when>
    <thetext>Why would you want this?

Don&apos;t you want to know if it&apos;s XML vs. HTML?  I can&apos;t remember if there is a difference between an XHTML document and an SVG document.

Then again, all of this is going to change in HTML5.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231980</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-28 15:46:10 -0700</bug_when>
    <thetext>WebCore currently has 3 types of documents:

HTMLDocument (exposes things like document.body)
Document (generic XML, no .body)
SVGDocument (&lt;svg&gt; root, exposes a couple SVG-specific things).

HTML5 has opinions on all of this.  I think all interfaces are exposed on all document types in HTML5.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231986</commentid>
    <comment_count>9</comment_count>
    <who name="Aaron Boodman">aa</who>
    <bug_when>2010-05-28 15:51:34 -0700</bug_when>
    <thetext>I want to know whether the document has things like a body node.

When I debugged through it Document::isHTMLDocument() is not currently true for XHTML documents. m_xhtml is true, but m_html is false. So I added this method so that I could catch the XHTML case.

Is there a better fix?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231992</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-28 15:57:20 -0700</bug_when>
    <thetext>Well, the real fix is HTML5. :)  But I&apos;m surprised you don&apos;t just check document.body and if that fails, check document.documentElement.firstChild.

It&apos;s lame that our XHTML documents don&apos;t have a .body (even though no spec until HTML5 said they should), but the .documentElement is a pretty common workaround.

Again, all of this will go away when we move to HTML5&apos;s document structure (I don&apos;t know when that will be).  We should just design whatever API so that it is future compatible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>232002</commentid>
    <comment_count>11</comment_count>
    <who name="Aaron Boodman">aa</who>
    <bug_when>2010-05-28 16:26:54 -0700</bug_when>
    <thetext>You are right, that is a better fix. I&apos;m going to rollback this change and submit one just checking document.documentElement&apos;s node name is HTML, which is close enough to what I&apos;m after, and more forward compatible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>232967</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-06-01 15:18:18 -0700</bug_when>
    <thetext>&gt; It&apos;s lame that our XHTML documents don&apos;t have a .body (even though
&gt; no spec until HTML5 said they should)

They do, and have done for a long time. Implemented in bug 12628.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>232968</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-06-01 15:22:35 -0700</bug_when>
    <thetext>&gt; SVGDocument (&lt;svg&gt; root, exposes a couple SVG-specific things).

It seems that the only difference is how document.title works - as you mentioned, all documents expose all interfaces in HTML5.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>57345</attachid>
            <date>2010-05-28 11:01:07 -0700</date>
            <delta_ts>2010-05-28 12:39:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-39887-20100528110106.patch</filename>
            <type>text/plain</type>
            <size>1677</size>
            <attacher name="Aaron Boodman">aa</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCmluZGV4IGJhMzZiNWYuLmRjMDY4MzAgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEzIEBACisyMDEwLTA1LTI4ICBBYXJvbiBCb29kbWFuICA8YWFAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBpc1hIVE1M
RG9jdW1lbnQoKSB0byBXZWJEb2N1bWVudC4KKworICAgICAgICAqIHB1YmxpYy9XZWJEb2N1bWVu
dC5oOiBBZGQgaXNYSFRNTERvY3VtZW50KCkuCisgICAgICAgICogc3JjL1dlYkRvY3VtZW50LmNw
cDogZGl0dG8uCisgICAgICAgIChXZWJLaXQ6OldlYkRvY3VtZW50Ojppc1hIVE1MRG9jdW1lbnQp
OiBkaXR0b3JhbWEuCisKIDIwMTAtMDQtMTQgIEFhcm9uIEJvb2RtYW4gIDxhYUBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgTGV2aW4uCmRpZmYgLS1naXQgYS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYkRvY3VtZW50LmggYi9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYkRvY3VtZW50LmgKaW5kZXggMWYwOTY1My4uYzA5M2M1OCAxMDA2NDQKLS0tIGEvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJEb2N1bWVudC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViRG9jdW1lbnQuaApAQCAtNjIsNiArNjIsNyBAQCBwdWJsaWM6CiAgICAgLy8gUmV0dXJu
cyB0aGUgZnJhbWUgdGhlIGRvY3VtZW50IGJlbG9uZ3MgdG8gb3IgMCBpZiB0aGUgZG9jdW1lbnQg
aXMgZnJhbWVsZXNzLgogICAgIFdFQktJVF9BUEkgV2ViRnJhbWUqIGZyYW1lKCkgY29uc3Q7CiAg
ICAgV0VCS0lUX0FQSSBib29sIGlzSFRNTERvY3VtZW50KCkgY29uc3Q7CisgICAgV0VCS0lUX0FQ
SSBib29sIGlzWEhUTUxEb2N1bWVudCgpIGNvbnN0OwogICAgIFdFQktJVF9BUEkgYm9vbCBpc1Bs
dWdpbkRvY3VtZW50KCkgY29uc3Q7CiAgICAgV0VCS0lUX0FQSSBXZWJVUkwgYmFzZVVSTCgpIGNv
bnN0OwogICAgIFdFQktJVF9BUEkgV2ViVVJMIGZpcnN0UGFydHlGb3JDb29raWVzKCkgY29uc3Q7
CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRvY3VtZW50LmNwcCBiL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRG9jdW1lbnQuY3BwCmluZGV4IDIxZTJiYjguLjU5MWQyOTYgMTAw
NjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRG9jdW1lbnQuY3BwCisrKyBiL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRG9jdW1lbnQuY3BwCkBAIC02Miw2ICs2MiwxMSBAQCBib29sIFdl
YkRvY3VtZW50Ojppc0hUTUxEb2N1bWVudCgpIGNvbnN0CiAgICAgcmV0dXJuIGNvbnN0VW53cmFw
PERvY3VtZW50PigpLT5pc0hUTUxEb2N1bWVudCgpOwogfQogCitib29sIFdlYkRvY3VtZW50Ojpp
c1hIVE1MRG9jdW1lbnQoKSBjb25zdAoreworICAgIHJldHVybiBjb25zdFVud3JhcDxEb2N1bWVu
dD4oKS0+aXNYSFRNTERvY3VtZW50KCk7Cit9CisgIAogYm9vbCBXZWJEb2N1bWVudDo6aXNQbHVn
aW5Eb2N1bWVudCgpIGNvbnN0CiB7ICAKICAgICByZXR1cm4gY29uc3RVbndyYXA8RG9jdW1lbnQ+
KCktPmlzUGx1Z2luRG9jdW1lbnQoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>57364</attachid>
            <date>2010-05-28 12:55:55 -0700</date>
            <delta_ts>2010-05-28 13:49:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-39887-20100528125554.patch</filename>
            <type>text/plain</type>
            <size>2619</size>
            <attacher name="Aaron Boodman">aa</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YjBlZDY2ZC4uMmM0NDc4NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMC0wNS0yOCAgQWFyb24gQm9vZG1h
biAgPGFhQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGRlZCBpc1hIVE1MRG9jdW1lbnQoKSB0byBXZWJDb3JlOjpEb2N1bWVu
dC4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOiBBZGQgaXNYSFRNTERvY3VtZW50KCkuCisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6aXNYSFRNTERvY3VtZW50KTogRGl0dG8uCisKIDIw
MTAtMDQtMTQgIEFhcm9uIEJvb2RtYW4gIDxhYUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgRGF2aWQgTGV2aW4uCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5o
IGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCA5ZmUyZTAxLi5iYjI1ZjgwIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgK
QEAgLTM2Miw2ICszNjIsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBPdGhlciBtZXRob2RzIChub3Qg
cGFydCBvZiBET00pCiAgICAgYm9vbCBpc0hUTUxEb2N1bWVudCgpIGNvbnN0IHsgcmV0dXJuIG1f
aXNIVE1MOyB9CisgICAgYm9vbCBpc1hIVE1MRG9jdW1lbnQoKSBjb25zdCB7IHJldHVybiBtX2lz
WEhUTUw7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNJbWFnZURvY3VtZW50KCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KICNpZiBFTkFCTEUoU1ZHKQogICAgIHZpcnR1YWwgYm9vbCBpc1NWR0RvY3Vt
ZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGJhMzZiNWYuLmRj
MDY4MzAgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEwLTA1LTI4ICBBYXJvbiBC
b29kbWFuICA8YWFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZCBpc1hIVE1MRG9jdW1lbnQoKSB0byBXZWJEb2N1bWVudC4K
KworICAgICAgICAqIHB1YmxpYy9XZWJEb2N1bWVudC5oOiBBZGQgaXNYSFRNTERvY3VtZW50KCku
CisgICAgICAgICogc3JjL1dlYkRvY3VtZW50LmNwcDogZGl0dG8uCisgICAgICAgIChXZWJLaXQ6
OldlYkRvY3VtZW50Ojppc1hIVE1MRG9jdW1lbnQpOiBkaXR0b3JhbWEuCisKIDIwMTAtMDQtMTQg
IEFhcm9uIEJvb2RtYW4gIDxhYUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
RGF2aWQgTGV2aW4uCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRvY3Vt
ZW50LmggYi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRvY3VtZW50LmgKaW5kZXggMWYwOTY1
My4uYzA5M2M1OCAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJEb2N1bWVu
dC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRG9jdW1lbnQuaApAQCAtNjIsNiAr
NjIsNyBAQCBwdWJsaWM6CiAgICAgLy8gUmV0dXJucyB0aGUgZnJhbWUgdGhlIGRvY3VtZW50IGJl
bG9uZ3MgdG8gb3IgMCBpZiB0aGUgZG9jdW1lbnQgaXMgZnJhbWVsZXNzLgogICAgIFdFQktJVF9B
UEkgV2ViRnJhbWUqIGZyYW1lKCkgY29uc3Q7CiAgICAgV0VCS0lUX0FQSSBib29sIGlzSFRNTERv
Y3VtZW50KCkgY29uc3Q7CisgICAgV0VCS0lUX0FQSSBib29sIGlzWEhUTUxEb2N1bWVudCgpIGNv
bnN0OwogICAgIFdFQktJVF9BUEkgYm9vbCBpc1BsdWdpbkRvY3VtZW50KCkgY29uc3Q7CiAgICAg
V0VCS0lUX0FQSSBXZWJVUkwgYmFzZVVSTCgpIGNvbnN0OwogICAgIFdFQktJVF9BUEkgV2ViVVJM
IGZpcnN0UGFydHlGb3JDb29raWVzKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYkRvY3VtZW50LmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRG9jdW1lbnQu
Y3BwCmluZGV4IDIxZTJiYjguLjU5MWQyOTYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRG9jdW1lbnQuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRG9jdW1lbnQu
Y3BwCkBAIC02Miw2ICs2MiwxMSBAQCBib29sIFdlYkRvY3VtZW50Ojppc0hUTUxEb2N1bWVudCgp
IGNvbnN0CiAgICAgcmV0dXJuIGNvbnN0VW53cmFwPERvY3VtZW50PigpLT5pc0hUTUxEb2N1bWVu
dCgpOwogfQogCitib29sIFdlYkRvY3VtZW50Ojppc1hIVE1MRG9jdW1lbnQoKSBjb25zdAorewor
ICAgIHJldHVybiBjb25zdFVud3JhcDxEb2N1bWVudD4oKS0+aXNYSFRNTERvY3VtZW50KCk7Cit9
CisgIAogYm9vbCBXZWJEb2N1bWVudDo6aXNQbHVnaW5Eb2N1bWVudCgpIGNvbnN0CiB7ICAKICAg
ICByZXR1cm4gY29uc3RVbndyYXA8RG9jdW1lbnQ+KCktPmlzUGx1Z2luRG9jdW1lbnQoKTsK
</data>
<flag name="review"
          id="41928"
          type_id="1"
          status="+"
          setter="fishd"
    />
    <flag name="commit-queue"
          id="41937"
          type_id="3"
          status="-"
          setter="fishd"
    />
          </attachment>
      

    </bug>

</bugzilla>