<?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>48479</bug_id>
          
          <creation_ts>2010-10-27 15:53:57 -0700</creation_ts>
          <short_desc>queryCommandValue should fall back to queryCommandState</short_desc>
          <delta_ts>2011-09-16 11:41:21 -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>HTML Editing</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="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>ayg</cc>
    
    <cc>darin</cc>
    
    <cc>enrica</cc>
    
    <cc>jparent</cc>
    
    <cc>ojan</cc>
    
    <cc>rolandsteiner</cc>
    
    <cc>tkent</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>300660</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-10-27 15:53:57 -0700</bug_when>
    <thetext>queryCommandValue should return &apos;true&apos; or &apos;false&apos; when the command doesn&apos;t return any string and queryCommandState is supported.  This is consistent with IE and will greatly improve WebKit&apos;s score on http://www.browserscope.org/richtext2/test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>300706</commentid>
    <comment_count>1</comment_count>
      <attachid>72113</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-10-27 16:54:11 -0700</bug_when>
    <thetext>Created attachment 72113
fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>300726</commentid>
    <comment_count>2</comment_count>
      <attachid>72113</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-10-27 17:19:29 -0700</bug_when>
    <thetext>Comment on attachment 72113
fixes the bug

View in context: https://bugs.webkit.org/attachment.cgi?id=72113&amp;action=review

I’m surprised that this functions works that way, but change looks OK. Do any of the test cases cover the mapping of mixed state to &quot;false&quot;?

&gt; LayoutTests/editing/execCommand/script-tests/query-text-alignment.js:7
&gt; +function isEquivalentBoolean(string, bool) {

The function name here isn&apos;t all that clear.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>300750</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-10-27 17:59:36 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; I’m surprised that this functions works that way, but change looks OK. Do any of the test cases cover the mapping of mixed state to &quot;false&quot;?

I&apos;m pretty certain that query-command-state.js do test that.

&gt; &gt; LayoutTests/editing/execCommand/script-tests/query-text-alignment.js:7
&gt; &gt; +function isEquivalentBoolean(string, bool) {
&gt; 
&gt; The function name here isn&apos;t all that clear.

I don&apos;t like that name either but couldn&apos;t come up with a better name.  isEquivalentBooleanValue?  isBooleanValueEqualTo?  isBooleanEqualTo?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301333</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-10-28 14:20:50 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; &gt; &gt; LayoutTests/editing/execCommand/script-tests/query-text-alignment.js:7
&gt; &gt; &gt; +function isEquivalentBoolean(string, bool) {
&gt; &gt; 
&gt; &gt; The function name here isn&apos;t all that clear.
&gt; 
&gt; I don&apos;t like that name either but couldn&apos;t come up with a better name.  isEquivalentBooleanValue?  isBooleanValueEqualTo?  isBooleanEqualTo?

Tony pointed out that we can just do centerValue != center.toString() and get rid of the function.  I&apos;ll land after making this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301341</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-10-28 14:39:00 -0700</bug_when>
    <thetext>Committed r70810: &lt;http://trac.webkit.org/changeset/70810&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468667</commentid>
    <comment_count>6</comment_count>
    <who name="Aryeh Gregor">ayg</who>
    <bug_when>2011-09-16 11:41:21 -0700</bug_when>
    <thetext>For anyone interested, this is currently being discussed:

http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2011-September/033235.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72113</attachid>
            <date>2010-10-27 16:54:11 -0700</date>
            <delta_ts>2010-10-27 17:19:29 -0700</delta_ts>
            <desc>fixes the bug</desc>
            <filename>bug-48479-20101027165409.patch</filename>
            <type>text/plain</type>
            <size>5598</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MDcyMykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTAtMTAtMjcgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgcXVl
cnlDb21tYW5kVmFsdWUgc2hvdWxkIGZhbGwgYmFjayB0byBxdWVyeUNvbW1hbmRTdGF0ZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDg0NzkKKworICAg
ICAgICBBZGRlZCBhIGZhbGxiYWNrIHRvIENvbW1hbmQ6OnZhbHVlIHNvIHRoYXQgY29tbWFuZHMg
d2l0aCBhIHN0YXRlIGZ1bmN0aW9uIHdpdGhvdXQgYSB2YWx1ZSBmdW5jdGlvbgorICAgICAgICBy
ZXR1cm5zIHRoZSB2YWx1ZSByZXR1cm5lZCBieSB0aGUgc3RhdGUgZnVuY3Rpb24gYXMgYSBzdHJp
bmcuCisKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RWRpdG9yOjpDb21tYW5kOjp2YWx1ZSk6CisKIDIwMTAtMTAtMjYgIERhcmluIEFkbGVy
ICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCklu
ZGV4OiBXZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwCShyZXZpc2lvbiA3MDcwNCkKKysrIFdlYkNv
cmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTYzOCw2ICsx
NjM4LDggQEAgU3RyaW5nIEVkaXRvcjo6Q29tbWFuZDo6dmFsdWUoRXZlbnQqIHRyaQogewogICAg
IGlmICghaXNTdXBwb3J0ZWQoKSB8fCAhbV9mcmFtZSkKICAgICAgICAgcmV0dXJuIFN0cmluZygp
OworICAgIGlmIChtX2NvbW1hbmQtPnZhbHVlID09IHZhbHVlTnVsbCAmJiBtX2NvbW1hbmQtPnN0
YXRlICE9IHN0YXRlTm9uZSkKKyAgICAgICAgcmV0dXJuIG1fY29tbWFuZC0+c3RhdGUobV9mcmFt
ZS5nZXQoKSwgdHJpZ2dlcmluZ0V2ZW50KSA9PSBUcnVlVHJpU3RhdGUgPyAidHJ1ZSIgOiAiZmFs
c2UiOwogICAgIHJldHVybiBtX2NvbW1hbmQtPnZhbHVlKG1fZnJhbWUuZ2V0KCksIHRyaWdnZXJp
bmdFdmVudCk7CiB9CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDcwNzIzKQorKysgTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMTAtMjcgIFJ5
b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgcXVlcnlDb21tYW5kVmFsdWUgc2hvdWxkIGZhbGwgYmFj
ayB0byBxdWVyeUNvbW1hbmRTdGF0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NDg0NzkKKworICAgICAgICBNb2RpZmllZCB0aGUgZXhpc3RpbmcgdGVz
dHMgdG8gZW5zdXJlIHF1ZXJ5Q29tbWFuZFZhbHVlIHJldHVybnMgJ3RydWUnIG9yICdmYWxzZScK
KyAgICAgICAgZm9yIGNvbW1hbmRzIHRoYXQgc3VwcG9ydHMgcXVlcnlDb21tYW5kU3RhdGUuCisK
KyAgICAgICAgKiBlZGl0aW5nL2V4ZWNDb21tYW5kL3NjcmlwdC10ZXN0cy9xdWVyeS1jb21tYW5k
LXN0YXRlLmpzOgorICAgICAgICAodGVzdFF1ZXJ5Q29tbWFuZFN0YXRlKToKKyAgICAgICAgKiBl
ZGl0aW5nL2V4ZWNDb21tYW5kL3NjcmlwdC10ZXN0cy9xdWVyeS10ZXh0LWFsaWdubWVudC5qczoK
KyAgICAgICAgKGlzRXF1aXZhbGVudEJvb2xlYW4pOgorICAgICAgICAocXVlcnlUZXh0QWxpZ25t
ZW50KToKKwogMjAxMC0xMC0yNiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcv
ZXhlY0NvbW1hbmQvc2NyaXB0LXRlc3RzL3F1ZXJ5LWNvbW1hbmQtc3RhdGUuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9zY3JpcHQtdGVzdHMvcXVlcnkt
Y29tbWFuZC1zdGF0ZS5qcwkocmV2aXNpb24gNzA3MDQpCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5n
L2V4ZWNDb21tYW5kL3NjcmlwdC10ZXN0cy9xdWVyeS1jb21tYW5kLXN0YXRlLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC05LDExICs5LDE0IEBAIGZ1bmN0aW9uIHRlc3RRdWVyeUNvbW1hbmRTdGF0ZShj
b21tYW5kLCAKICAgICB0ZXN0Q29udGFpbmVyLmlubmVySFRNTCA9IGNvbnRlbnRzOwogICAgIHZh
ciBzZWxlY3RlZCA9IHNlbGVjdG9yKHRlc3RDb250YWluZXIpOwogICAgIHZhciBhY3R1YWxTdGF0
ZSA9IGRvY3VtZW50LnF1ZXJ5Q29tbWFuZFN0YXRlKGNvbW1hbmQpOworICAgIHZhciBhY3R1YWxW
YWx1ZSA9IGRvY3VtZW50LnF1ZXJ5Q29tbWFuZFZhbHVlKGNvbW1hbmQpOwogICAgIHZhciBhY3Rp
b24gPSAncXVlcnlDb21tYW5kU3RhdGUoIicgKyBjb21tYW5kICsgJyIpIHJldHVybnMgJyArIGFj
dHVhbFN0YXRlICsgJyB3aGVuIHNlbGVjdGluZyAnICsgc2VsZWN0ZWQgKyAnIG9mICInICsgY29u
dGVudHMgKyAnIic7Ci0gICAgaWYgKGFjdHVhbFN0YXRlID09PSBleHBlY3RlZFN0YXRlKQotICAg
ICAgICB0ZXN0UGFzc2VkKGFjdGlvbik7Ci0gICAgZWxzZQorICAgIGlmIChhY3R1YWxTdGF0ZSAh
PSBleHBlY3RlZFN0YXRlKQogICAgICAgICB0ZXN0RmFpbGVkKGFjdGlvbiArICcsIGV4cGVjdGVk
ICcgKyBleHBlY3RlZFN0YXRlICsgJycpOworICAgIGVsc2UgaWYgKChhY3R1YWxWYWx1ZSAhPSAn
dHJ1ZScgJiYgYWN0dWFsVmFsdWUgIT0gJ2ZhbHNlJykgfHwgYWN0dWFsU3RhdGUgIT0gZXZhbChh
Y3R1YWxWYWx1ZSkpCisgICAgICAgIHRlc3RGYWlsZWQoYWN0aW9uICsgJyBidXQgcXVlcnlDb21t
YW5kVmFsdWUgcmV0dXJuZWQgJyArIGFjdHVhbFZhbHVlKTsKKyAgICBlbHNlCisgICAgICAgIHRl
c3RQYXNzZWQoYWN0aW9uKTsKIH0KIAogZnVuY3Rpb24gc2VsZWN0QWxsKGNvbnRhaW5lcikgewpJ
bmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9zY3JpcHQtdGVzdHMvcXVlcnkt
dGV4dC1hbGlnbm1lbnQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9leGVj
Q29tbWFuZC9zY3JpcHQtdGVzdHMvcXVlcnktdGV4dC1hbGlnbm1lbnQuanMJKHJldmlzaW9uIDcw
NzA0KQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9zY3JpcHQtdGVzdHMvcXVl
cnktdGV4dC1hbGlnbm1lbnQuanMJKHdvcmtpbmcgY29weSkKQEAgLTQsNiArNCwxMCBAQCB2YXIg
dGVzdENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lCiB0ZXN0Q29udGFpbmVyLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CiBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRlc3RDb250YWlu
ZXIpOwogCitmdW5jdGlvbiBpc0VxdWl2YWxlbnRCb29sZWFuKHN0cmluZywgYm9vbCkgeworICAg
IHJldHVybiAoc3RyaW5nID09ICd0cnVlJyB8fCBzdHJpbmcgPT0gJ2ZhbHNlJykgJiYgZXZhbChz
dHJpbmcpID09IGJvb2w7Cit9CisKIGZ1bmN0aW9uIHF1ZXJ5VGV4dEFsaWdubWVudChzZWxlY3Rv
ciwgY29udGVudCwgZXhwZWN0ZWQpCiB7CiAgICAgdGVzdENvbnRhaW5lci5pbm5lckhUTUwgPSBj
b250ZW50OwpAQCAtMTIsMTUgKzE2LDIyIEBAIGZ1bmN0aW9uIHF1ZXJ5VGV4dEFsaWdubWVudChz
ZWxlY3RvciwgY28KICAgICB2YXIgZnVsbCA9IGRvY3VtZW50LnF1ZXJ5Q29tbWFuZFN0YXRlKCdq
dXN0aWZ5RnVsbCcpOwogICAgIHZhciBsZWZ0ID0gZG9jdW1lbnQucXVlcnlDb21tYW5kU3RhdGUo
J2p1c3RpZnlMZWZ0Jyk7CiAgICAgdmFyIHJpZ2h0ID0gZG9jdW1lbnQucXVlcnlDb21tYW5kU3Rh
dGUoJ2p1c3RpZnlSaWdodCcpOworICAgIHZhciBjZW50ZXJWYWx1ZSA9IGRvY3VtZW50LnF1ZXJ5
Q29tbWFuZFZhbHVlKCdqdXN0aWZ5Q2VudGVyJyk7CisgICAgdmFyIGZ1bGxWYWx1ZSA9IGRvY3Vt
ZW50LnF1ZXJ5Q29tbWFuZFZhbHVlKCdqdXN0aWZ5RnVsbCcpOworICAgIHZhciBsZWZ0VmFsdWUg
PSBkb2N1bWVudC5xdWVyeUNvbW1hbmRWYWx1ZSgnanVzdGlmeUxlZnQnKTsKKyAgICB2YXIgcmln
aHRWYWx1ZSA9IGRvY3VtZW50LnF1ZXJ5Q29tbWFuZFZhbHVlKCdqdXN0aWZ5UmlnaHQnKTsKICAg
ICBpZiAoKGNlbnRlciAmJiBmdWxsKSB8fCAoZnVsbCAmJiBsZWZ0KSB8fCAobGVmdCAmJiByaWdo
dCkgfHwgKHJpZ2h0ICYmIGNlbnRlcikpCiAgICAgICAgIHRlc3RGYWlsZWQoJ0luY29uc2lzdGVu
dCBzdGF0ZSB3aGVuIHNlbGVjdGluZyAnICsgc2VsZWN0ZWQgKyAnIG9mICInICsgY29udGVudCAr
ICciLiAgTW9yZSB0aGFuIG9uZSBvZiBqdXN0aWZ5Q2VudGVyLCBqdXN0aWZ5RnVsbCwganVzdGlm
eVJpZ2h0LCBhbmQganVzdGlmeUxlZnQgcmV0dXJuZWQgdHJ1ZS4nKQogCiAgICAgdmFyIGFjdHVh
bCA9IGNlbnRlciA/ICdjZW50ZXInIDogZnVsbCA/ICdmdWxsJyA6IGxlZnQgPyAnbGVmdCcgOiBy
aWdodCA/ICdyaWdodCcgOiAnJzsKICAgICB2YXIgYWN0aW9uID0gInF1ZXJ5Q29tbWFuZCgnZm9y
bWF0JykgcmV0dXJucyBcIiIgKyBhY3R1YWwgKyAnIiB3aGVuIHNlbGVjdGluZyAnICsgc2VsZWN0
ZWQgKyAnIG9mICInICsgY29udGVudCArICciJzsKLSAgICBpZiAoYWN0dWFsID09IGV4cGVjdGVk
KQotICAgICAgICB0ZXN0UGFzc2VkKGFjdGlvbik7Ci0gICAgZWxzZQorICAgIGlmIChhY3R1YWwg
IT0gZXhwZWN0ZWQpCiAgICAgICAgIHRlc3RGYWlsZWQoYWN0aW9uICsgJyBidXQgZXhwZWN0ZWQg
IicgKyBleHBlY3RlZCArICciJyk7CisgICAgZWxzZSBpZiAoIWlzRXF1aXZhbGVudEJvb2xlYW4o
Y2VudGVyVmFsdWUsIGNlbnRlcikgfHwgIWlzRXF1aXZhbGVudEJvb2xlYW4oZnVsbFZhbHVlLCBm
dWxsKQorICAgICAgICB8fCAhaXNFcXVpdmFsZW50Qm9vbGVhbihsZWZ0VmFsdWUsIGxlZnQpIHx8
ICFpc0VxdWl2YWxlbnRCb29sZWFuKHJpZ2h0VmFsdWUsIHJpZ2h0KSkKKyAgICAgICAgdGVzdEZh
aWxlZChhY3Rpb24gKyAnIGJ1dCB2YWx1ZXMgcmV0dXJuZWQgYnkgcXVlcnlDb21tYW5kU3RhdGUg
YW5kIHF1ZXJ5Q29tbWFuZFZhbHVlIGRpZCBub3QgbWF0Y2gnKTsKKyAgICBlbHNlCisgICAgICAg
IHRlc3RQYXNzZWQoYWN0aW9uKTsKIH0KIAogZnVuY3Rpb24gc2VsZWN0Rmlyc3RQb3NpdGlvbihj
b250YWluZXIpIHsK
</data>
<flag name="review"
          id="62294"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>