[Webkit-unassigned] [Bug 27183] REGRESSION: document.documentElement.getScreenCTM() returns incorrect matrix.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Mar 31 09:11:29 PDT 2010


https://bugs.webkit.org/show_bug.cgi?id=27183


Nikolas Zimmermann <zimmermann at kde.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|webkit-unassigned at lists.web |zimmermann at kde.org
                   |kit.org                     |
  Attachment #32619|0                           |1
        is obsolete|                            |
  Attachment #40007|0                           |1
        is obsolete|                            |
  Attachment #40010|0                           |1
        is obsolete|                            |
  Attachment #52178|                            |review?
               Flag|                            |




--- Comment #13 from Nikolas Zimmermann <zimmermann at kde.org>  2010-03-31 09:11:28 PST ---
Created an attachment (id=52178)
 --> (https://bugs.webkit.org/attachment.cgi?id=52178)
Initial patch

Phew, this was more tricky than I thought. This is only a regression, because
of pure luck. The getScreenCTM() implementation was just plain wrong.
When we added support to handle non-SVG parent elements (mixed content
documents, ie. a <div> containing a <svg>) the implementation of getScreenCTM()
got worse. It has never been correct so far, and finally is after this patch.

Checked all testcases against Opera / Firefox, which both have bugs.
Firefox mixes up getCTM/getScreenCTM: when using absolute positioned <div>
object containing a <svg> it lists the left/top CSS translation as translation
values in the getCTM matrix, instead of just in the getScreenCTM matrix. Opera
gets all of this right. Opera has another bug leading to null matrices in
getCTM() when using viewBox on a <svg> fragment in a XHTML document.

I double-checked all testcases, by hand (fun to multiply this by hand and
verify ;-) and I'm happy with it now.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list