Bug 46382

Summary: queryCommandState returns true even when in the mixed state
Product: WebKit Reporter: Ryosuke Niwa <rniwa>
Component: HTML EditingAssignee: Ryosuke Niwa <rniwa>
Status: RESOLVED FIXED    
Severity: Normal CC: darin, enrica, jparent, ojan, tonikitoo, tony
Priority: P2 Keywords: EasyFix
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on: 41989    
Bug Blocks: 45910    

Ryosuke Niwa
Reported 2010-09-23 11:57:50 PDT
queryCommandState shouldn't return true when the state is in the mixed tri state to be consistent with other browsers. In particular, bool Document::queryCommandState(const String& commandName) { return command(this, commandName).state() != FalseTriState; } should be bool Document::queryCommandState(const String& commandName) { return command(this, commandName).state() == TrueTriState; } instead.
Attachments
Darin Adler
Comment 1 2010-09-23 11:59:18 PDT
Code change seems great as long as we are sure the other browsers do indeed work that way.
Ryosuke Niwa
Comment 2 2010-09-23 12:11:56 PDT
Resolving bug naively is likely to produce a regression on Mac platforms if we don't fix https://bugs.webkit.org/show_bug.cgi?id=41989 first because we'll be inconsistently judging whether or not style is present in queryCommandState('bold') and execCommandState('bold', false, null).
Ryosuke Niwa
Comment 3 2010-09-23 12:22:39 PDT
(In reply to comment #1) > Code change seems great as long as we are sure the other browsers do indeed work that way. Yes, only WebKit returns true for queryCommandState('bold') on "hello <b>world</b>" for example.
Ryosuke Niwa
Comment 4 2010-09-27 14:11:53 PDT
Note You need to log in before you can comment on or make changes to this bug.