⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Jan 5, 2006:

9:57 PM Changeset in webkit [11902] by tomernic
  • 2 edits in trunk/WebKit

Reviewed by Geoff.

<rdar://problem/4400804> Client-side redirect to a non-HTTP URL confuses Safari

  • WebView.subproj/WebFrame.m: (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): If we were waiting for a quick redirect, but the policy delegate decided to ignore it, then we need to report that the client redirect was cancelled.
6:30 PM Changeset in webkit [11901]
  • 13 copies
    3 deletes in tags/JavaScriptCore-312~3~1

This commit was manufactured by cvs2svn to create tag
'JavaScriptCore-312~3~1'.

6:30 PM Changeset in webkit [11900] by thatcher
  • 1 edit in branches/Safari-1-3-branch/JavaScriptCore/bindings/objc/objc_utility.mm

Build fix.

6:26 PM Changeset in webkit [11899]
  • 73 copies
    5 deletes in tags/JavaScriptCore-417~8~1

This commit was manufactured by cvs2svn to create tag
'JavaScriptCore-417~8~1'.

6:26 PM Changeset in webkit [11898] by thatcher
  • 1 edit in branches/Safari-2-0-branch/JavaScriptCore/bindings/objc/objc_utility.mm

Fix a build problem on the branch, different than TOT.

6:00 PM Changeset in webkit [11897] by thatcher
  • 2 edits in branches/Safari-2-0-branch/JavaScriptCore

Versioning to JavaScriptCore-417.8.1

5:59 PM Changeset in webkit [11896] by thatcher
  • 4 edits in branches/Safari-2-0-branch/JavaScriptCore

Merges fixes from TOT to Safari-2-0-branch

2005-12-19 Geoffrey Garen <​ggaren@apple.com>

Reviewed by Maciej.

Fixed <rdar://problem/4370397> Missing return statement in
JSMethodNameToObjcMethodName.

JSMethodNameToObjcMethodName had a check for a name being too long, but
the check was missing a return statement.

A lot of this code was confusing and some of it was wrong, so I fixed
it up, added some asserts to catch this type of bug in the future,
changed some comments, and renamed some variables.

The two advantages of the new algorithm are (1) It makes writing past
the end of the buffer virtually impossible because the test on the main
loop is "while (not past end of buffer)" and (2) It's twice as fast
because it doesn't call strlen. (There's no need to call strlen when
we're walking the string ourselves.)

methodsNamed also supports arbitrary-length method names now. Just in
case the AppKit folks start getting REALLY verbose...

  • bindings/objc/objc_class.mm: (KJS::Bindings::ObjcClass::methodsNamed):
  • bindings/objc/objc_utility.h:
  • bindings/objc/objc_utility.mm: (KJS::Bindings::JSMethodNameToObjcMethodName):
5:49 PM Changeset in webkit [11895]
  • 212 copies
    17 deletes in tags/WebCore-417~18~1

This commit was manufactured by cvs2svn to create tag
'WebCore-417~18~1'.

5:49 PM Changeset in webkit [11894] by thatcher
  • 2 edits in branches/Safari-2-0-branch/WebCore

Versioning to WebCore-417.18.1

5:48 PM Changeset in webkit [11893] by thatcher
  • 3 edits in branches/Safari-2-0-branch/WebCore

Merged fix from TOT to Safari-2-0-branch

2005-10-25 Beth Dakin <Beth Dakin>

Reviewed by Maciej

Fix for <rdar://problem/4148730> SureSec si#182 safari heap overflow.
When a table has a really huge rowSpan, Safari used to crash because
the malloc of the grid for the table failed. This fix just checks for
the success of the malloc.

  • khtml/rendering/render_table.cpp: (RenderTableSection::ensureRows): Return false if the grid resize is not successful. (RenderTableSection::addCell): Return early if ensureRows() returned false.
  • khtml/rendering/render_table.h: Make ensureRows() return a bool instead of void.
5:39 PM Changeset in webkit [11892] by thatcher
  • 2 edits in branches/Safari-1-3-branch/JavaScriptCore

Version to JavaScriptCore-312.3.1

5:35 PM Changeset in webkit [11891]
  • 121 copies
    5 deletes in tags/WebCore-315~14~1

This commit was manufactured by cvs2svn to create tag
'WebCore-315~14~1'.

5:35 PM Changeset in webkit [11890] by thatcher
  • 2 edits in branches/Safari-1-3-branch/WebCore

Versioning to WebCore-315.14.1

5:33 PM Changeset in webkit [11889] by thatcher
  • 3 edits in branches/Safari-1-3-branch/WebCore

Merged fix from TOT to Safari-1-3-branch

2005-10-25 Beth Dakin <Beth Dakin>

Reviewed by Maciej

Fix for <rdar://problem/4148730> SureSec si#182 safari heap overflow.
When a table has a really huge rowSpan, Safari used to crash because
the malloc of the grid for the table failed. This fix just checks for
the success of the malloc.

  • khtml/rendering/render_table.cpp: (RenderTableSection::ensureRows): Return false if the grid resize is not successful. (RenderTableSection::addCell): Return early if ensureRows() returned false.
  • khtml/rendering/render_table.h: Make ensureRows() return a bool instead of void.
5:25 PM Changeset in webkit [11888] by thatcher
  • 4 edits in branches/Safari-1-3-branch/JavaScriptCore

Merges fixes from TOT to Safari-1-3-branch

2005-12-19 Geoffrey Garen <​ggaren@apple.com>

Reviewed by Maciej.

Fixed <rdar://problem/4370397> Missing return statement in
JSMethodNameToObjcMethodName.

JSMethodNameToObjcMethodName had a check for a name being too long, but
the check was missing a return statement.

A lot of this code was confusing and some of it was wrong, so I fixed
it up, added some asserts to catch this type of bug in the future,
changed some comments, and renamed some variables.

The two advantages of the new algorithm are (1) It makes writing past
the end of the buffer virtually impossible because the test on the main
loop is "while (not past end of buffer)" and (2) It's twice as fast
because it doesn't call strlen. (There's no need to call strlen when
we're walking the string ourselves.)

methodsNamed also supports arbitrary-length method names now. Just in
case the AppKit folks start getting REALLY verbose...

  • bindings/objc/objc_class.mm: (KJS::Bindings::ObjcClass::methodsNamed):
  • bindings/objc/objc_utility.h:
  • bindings/objc/objc_utility.mm: (KJS::Bindings::JSMethodNameToObjcMethodName):
4:12 PM Changeset in webkit [11887] by sullivan
  • 2 edits in trunk/WebKit
  • WebView.subproj/WebPDFView.m: (-[WebPDFView _fakeKeyEventWithFunctionKey:]): Just added a FIXME comment about how to clean up this minor hack in the future.
3:57 PM Changeset in webkit [11886] by sullivan
  • 5 edits in trunk/WebKit

Reviewed by Tim O.

  • fixed these bugs: <rdar://problem/3021785> page up/down don't work on frameset pages unless you click <rdar://problem/3021788> Page Up/Down moves an unscrollable frame if you click on it first

and the WebKit part of this (need new Safari too for complete fix):
<rdar://problem/4378905> Page up/down don't work in PDFs when address field is focused

I moved some logic down from Safari that dealt with finding the largest scrollable child frame in a frameset,
and added support for standard scrolling-related selectors to WebPDFView. The latter was needed for 4378905;
the former was needed due to side effects of the Safari part of the change. As long as I was doing the former,
I also used that logic to fix 3021785 and 3021788.

  • WebView.subproj/WebFrameViewPrivate.h: new currently-private methods _hasScrollBars and _largestChildWithScrollBars
  • WebView.subproj/WebFrameView.m: (-[WebFrameView scrollToBeginningOfDocument:]): if we don't have scroll bars, operate on our largest child with scroll bars instead (-[WebFrameView scrollToEndOfDocument:]): ditto (-[WebFrameView _pageVertically:]): ditto (-[WebFrameView _pageHorizontally:]): ditto (-[WebFrameView _scrollLineVertically:]): ditto (-[WebFrameView _scrollLineHorizontally:]): ditto (-[WebFrameView keyDown:]): where we were bailing out if ![self allowsScrolling], also check for whether there's a child with scroll bars, and don't bail out if so (-[WebFrameView _area]): new helper method used to implement _largestChildWithScrollBars (code moved from Safari) (-[WebFrameView _hasScrollBars]): new method, just returns YES if either scroll bar is showing (code moved from Safari) (-[WebFrameView _largestChildWithScrollBars]): new method, returns the child with the largest area that is showing at least one scroll bar (code moved from Safari and tweaked a little)
  • WebView.subproj/WebPDFView.m: (-[WebPDFView _fakeKeyEventWithFunctionKey:]): new method, hackaround for the fact that PDFView handles key downs from standard scrolling keys but does not implement the standard responder selectors (-[WebPDFView scrollPageDown:]): use _fakeKeyEventWithFunctionKey: to get the PDFView to scroll appropriately (-[WebPDFView scrollPageUp:]): ditto (-[WebPDFView scrollToBeginningOfDocument:]): ditto (-[WebPDFView scrollToEndOfDocument:]): ditto
  • WebView.subproj/WebView.m: add scrollToBeginningOfDocument and scrollToEndOfDocument to the list of responder operations that we hand off appropriately to the responder chain. These two aren't defined in any header but are generated by Home and End keys and used by the text system.
2:23 PM Changeset in webkit [11885] by ggaren
  • 6 edits
    10 adds in trunk

LayoutTests:

Layout test for ​http://bugzilla.opendarwin.org/show_bug.cgi?id=6318
REGRESSION: Repro crash in JS called from Flash on bdash.net.nz

  • fast/plugins/netscape-back-forward-expected.txt: Added.
  • fast/plugins/netscape-back-forward.html: Added.
  • fast/plugins/resources/go-back.html: Added.

WebKit:

Reviewed by Darin.

  • WebKit.exp: export WebPluginDatabase class, which DumpRenderTree needs to add plugins to the runtime.

WebKitTools:

Reviewed by darin.

Also wrote first test plugin.

  • DumpRenderTree/DumpRenderTree.m: (main): (1) Put the WebView in an invisible window, because PlugIns are optimized not to load if there's no parent window. (2) Tell WebKit to load any PlugIns in the directory from which we loaded. This means we can build nasty PlugIns alongside DumpRenderTree and they'll load automagically during layout testing, but they won't be added to the user's system, hosing apps like Safari.
  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Added new test PlugIn to project.

PlugIn added to project:

  • DumpRenderTree/TestNetscapePlugIn.subproj/Info.plist: Added.
  • DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.c: Added. (getPluginClass): (initializeIdentifiers): (pluginHasProperty): (pluginHasMethod): (pluginGetProperty): (pluginSetProperty): (pluginInvoke): (pluginInvokeDefault): (pluginInvalidate): (pluginAllocate): (pluginDeallocate):
  • DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h: Added.
  • DumpRenderTree/TestNetscapePlugIn.subproj/main.c: Added. (NP_Initialize): (NP_GetEntryPoints): (NP_Shutdown): (NPP_New): (NPP_Destroy): (NPP_SetWindow): (NPP_NewStream): (NPP_DestroyStream): (NPP_WriteReady): (NPP_Write): (NPP_StreamAsFile): (NPP_Print): (NPP_HandleEvent): (NPP_URLNotify): (NPP_GetValue): (NPP_SetValue):
12:48 PM Changeset in webkit [11884] by ap
  • 454 edits in trunk/LayoutTests

Reviewed by Darin.

Added UTF-8 BOMs to css2.1 tests.
​http://bugzilla.opendarwin.org/show_bug.cgi?id=6312

9:44 AM Changeset in webkit [11883] by darin
  • 1 edit in trunk/WebCore/ChangeLog

Move log message to top of file where it belongs.

Jan 4, 2006:

10:41 PM Changeset in webkit [11882] by mjs
  • 15 edits
    2 adds
    2 deletes in trunk

WebCore:

Reviewed by Eric.

Based on a patch by Eric.

  • khtml/xsl/xslt_processorimpl.cpp: (DOM::xsltParamArrayFromParameterMap): (DOM::freeXsltParamArray): Use fastMalloc/fastFree.

(DOM::createFragmentFromSource):
If the output is "text", just create a text node and add
it to the fragment.

WebKit:

Reviewed by Darin.

  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadPluginRequest:]): Set frame name straight on the bridge, instead of having it bubble through the view and frame.
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge initWithFrameName:view:]): don't pass name to frame, we own it now; set it on ourselves directly (-[WebBridge findFrameNamed:]): removed (-[WebBridge createWindowWithURL:frameName:]): set name on bridge, not webview (-[WebBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]): (-[WebBridge runModal]): remove excess braces
  • WebKit.xcodeproj/project.pbxproj:
  • WebView.subproj/WebControllerSets.h: Removed.
  • WebView.subproj/WebControllerSets.m: Removed.
  • WebView.subproj/WebFrame.m: (-[WebFramePrivate name]): removed (-[WebFramePrivate setName:]): removed (-[WebFramePrivate dealloc]): don't release name, we no longer have one (-[WebFrame _appendChild:]): removed (-[WebFrame _removeChild:]): removed (-[WebFrame _createItem:]): removed stray space (-[WebFrame _immediateChildFrameNamed:]): Just call the bridge (-[WebFrame _setName:]): removed (-[WebFrame _detachFromParent]): remove bridge from parent note self (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]): (-[WebFrame _addChild:]): Call appendChild: on bridge, not self (-[WebFrame _nextFrameWithWrap:]): just call bridge (and moved helpers there) (-[WebFrame _previousFrameWithWrap:]): just call bridge (and moved helpers there) (-[WebFrame _initWithWebFrameView:webView:bridge:]): don't take a name any more (-[WebFrame _setFrameNamespace:]): just call bridge (-[WebFrame _frameNamespace]): just call bridge (-[WebFrame _hasSelection]): remove excess braces (-[WebFrame _clearSelection]): ditto (-[WebFrame initWithName:webFrameView:webView:]): no more name (-[WebFrame name]): just call bridge (-[WebFrame findFrameNamed:]): just call bridge (and moved helpers there) (-[WebFrame parentFrame]): fixed for new style
  • WebView.subproj/WebFrameInternal.h:
  • WebView.subproj/WebFramePrivate.h:
  • WebView.subproj/WebView.m:
  • WebView.subproj/WebViewPrivate.h:
5:13 PM Changeset in webkit [11881]
  • 121 copies
    5 deletes in tags/WebCore-315~14

This commit was manufactured by cvs2svn to create tag
'WebCore-315~14'.

5:13 PM Changeset in webkit [11880] by thatcher
  • 2 edits in branches/Safari-1-3-branch/WebCore

Versioning.

1:44 PM Changeset in webkit [11879] by ggaren
  • 5 edits in trunk/JavaScriptCore

Patch by ​kimmo.t.kinnunen@nokia.com, reviewed by darin, tweaked by me.

  • kjs/function_object.cpp: (FunctionObjectImp::construct):
  • kjs/lexer.cpp: (Lexer::shift): (Lexer::lex): (Lexer::isWhiteSpace): (Lexer::isLineTerminator): (Lexer::isIdentStart): (Lexer::isIdentPart): (isDecimalDigit): (Lexer::scanRegExp):
  • kjs/lexer.h: (KJS::Lexer::):
  • tests/mozilla/expected.html: Updated test results.
1:32 PM Changeset in webkit [11878] by darin
  • 1 edit
    1 add in trunk/LayoutTests
  • added a missing test result
  • svg/custom/fractional-rects-expected.png: Added.
1:21 PM Changeset in webkit [11877] by andersca
  • 2 edits in trunk/LayoutTests

2006-01-04 Anders Carlsson <​andersca@mac.com>

Reviewed by Eric.

  • fast/xsl/xslt-processer-expected.txt: Update.
1:17 PM Changeset in webkit [11876] by andersca
  • 2 edits in trunk/WebCore

2006-01-04 Anders Carlsson <​andersca@mac.com>

Reviewed by Eric.

Based on a patch by Eric.

  • khtml/xsl/xslt_processorimpl.cpp: (DOM::xsltParamArrayFromParameterMap): (DOM::freeXsltParamArray): Use fastMalloc/fastFree.

(DOM::createFragmentFromSource):
If the output is "text", just create a text node and add
it to the fragment.

1:10 PM Changeset in webkit [11875] by thatcher
  • 1 edit
    3 adds in trunk/WebKitTools

Reviewed by Darin.
Created by Eric.
Tweaked and tested by me.

New scripts to work with Subversion when the switch happens.
These will replace cvs-apply, cvs-unapply, and cvs-create-patch.

  • Scripts/svn-apply: Added.
  • Scripts/svn-create-patch: Added.
  • Scripts/svn-unapply: Added.
1:05 PM Changeset in webkit [11874] by ggaren
  • 3 edits
    2 adds in trunk

LayoutTests:

Layout test for ​http://bugzilla.opendarwin.org/show_bug.cgi?id=6311
document.plugins doesn't exist

  • fast/dom/HTMLDocument/document-plugins-expected.txt: Added.
  • fast/dom/HTMLDocument/document-plugins.html: Added.

WebCore:

Reviewed by darin.

  • khtml/ecma/kjs_html.cpp: Added 'plugins' as synonym for 'embeds'
12:01 PM Changeset in webkit [11873] by ggaren
  • 3 edits
    3 adds in trunk

LayoutTests:

Layout test for <rdar://problem/4214080> document.embeds:
embeds[0].Play() undefined at languageguide.org prevents audio playing
on mouseover

  • fast/dom/object-embed-plugin-scripting-expected.txt: Added.
  • fast/dom/object-embed-plugin-scripting.html: Added.
  • fast/dom/resources/articles.m4a: Added.

WebCore:

Reviewed by darin.

  • Fixed <rdar://problem/4214080> document.embeds: embeds[0].Play() undefined at languageguide.org prevents audio playing on mouseover
  • Layout test: fast/dom/object-embed-plugin-scripting.html

A common idiom the kids like to use these days for plugins is to nest
an <embed> inside an <object>, and assume that IE will honor the first,
Mozilla the second. We happen to honor both, but the rules dictate that
only the outer <object> gets a plugin/renderer. (A plugin is a

renderer.) This is a problem because sites ID us as Mozilla and
therefore attempt to script their plugins through the <embed>, which
has no plugin/renderer. The fix here is to have an <embed> return its
parent node's plugin/renderer when queried, if and only if it has no
renderer of its own and its parent node is an <object>. We may decide
to restrict this further in the future.

One happy consequence of this patch is that all the apple.com Quicktime
websites we had previously broken with TOT are now fixed.

  • khtml/html/html_objectimpl.cpp: (DOM::HTMLEmbedElementImpl::getEmbedInstance): The "if (!r)" clause implements the logic I just described. The code below it I changed just for style, to match the style in getObjectInstance().

(DOM::HTMLEmbedElementImpl::rendererIsNeeded): Assert that an <object>
parent has a renderer because we're going to use it later.

(DOM::HTMLObjectElementImpl::rendererIsNeeded): Changed to match style
of HTMLEmbedElementImpl counterpart.

6:42 AM Changeset in webkit [11872] by ap
  • 2 edits
    1 add in trunk/WebCore

Reviewed by Darin, landed by ap.

  • khtml/rendering/render_object.cpp: (RenderObject::repaintAfterLayoutIfNeeded): Repaint parts of the border that moved.
  • manual-tests/border-repaint-glitch.html: Added.
12:23 AM Changeset in webkit [11871] by eseidel
  • 190 edits
    3 adds in trunk/LayoutTests

Bug #: 4462
Submitted by: kimmo
Reviewed by: eseidel

Updated layout tests after QRect (size & point) to Q*F change
​http://bugzilla.opendarwin.org/show_bug.cgi?id=4462

  • svg/W3C-SVG-1.1/animate-elem-02-t-expected.txt:
  • svg/W3C-SVG-1.1/animate-elem-03-t-expected.txt:
  • svg/W3C-SVG-1.1/animate-elem-04-t-expected.txt:
  • svg/W3C-SVG-1.1/animate-elem-05-t-expected.txt:
  • svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt:
  • svg/W3C-SVG-1.1/animate-elem-07-t-expected.txt:
  • svg/W3C-SVG-1.1/animate-elem-08-t-expected.txt:
  • svg/W3C-SVG-1.1/animate-elem-09-t-expected.txt:
  • svg/W3C-SVG-1.1/animate-elem-10-t-expected.txt:
  • svg/W3C-SVG-1.1/animate-elem-11-t-expected.txt:
  • svg/W3C-SVG-1.1/animate-elem-12-t-expected.txt:
  • svg/W3C-SVG-1.1/animate-elem-13-t-expected.txt:
  • svg/W3C-SVG-1.1/animate-elem-14-t-expected.txt:
  • svg/W3C-SVG-1.1/animate-elem-15-t-expected.txt:
  • svg/W3C-SVG-1.1/animate-elem-16-t-expected.txt:
  • svg/W3C-SVG-1.1/animate-elem-17-t-expected.txt:
  • svg/W3C-SVG-1.1/animate-elem-18-t-expected.txt:
  • svg/W3C-SVG-1.1/animate-elem-19-t-expected.txt:
  • svg/W3C-SVG-1.1/animate-elem-20-t-expected.txt:
  • svg/W3C-SVG-1.1/animate-elem-21-t-expected.txt:
  • svg/W3C-SVG-1.1/animate-elem-22-b-expected.txt:
  • svg/W3C-SVG-1.1/animate-elem-23-t-expected.txt:
  • svg/W3C-SVG-1.1/animate-elem-24-t-expected.txt:
  • svg/W3C-SVG-1.1/animate-elem-25-t-expected.txt:
  • svg/W3C-SVG-1.1/animate-elem-26-t-expected.txt:
  • svg/W3C-SVG-1.1/animate-elem-27-t-expected.txt:
  • svg/W3C-SVG-1.1/animate-elem-28-t-expected.txt:
  • svg/W3C-SVG-1.1/animate-elem-29-b-expected.txt:
  • svg/W3C-SVG-1.1/color-prof-01-f-expected.txt:
  • svg/W3C-SVG-1.1/color-prop-01-b-expected.txt:
  • svg/W3C-SVG-1.1/color-prop-02-f-expected.txt:
  • svg/W3C-SVG-1.1/color-prop-03-t-expected.txt:
  • svg/W3C-SVG-1.1/coords-trans-01-b-expected.txt:
  • svg/W3C-SVG-1.1/coords-trans-02-t-expected.txt:
  • svg/W3C-SVG-1.1/coords-trans-03-t-expected.txt:
  • svg/W3C-SVG-1.1/coords-trans-04-t-expected.txt:
  • svg/W3C-SVG-1.1/coords-trans-05-t-expected.txt:
  • svg/W3C-SVG-1.1/coords-trans-06-t-expected.txt:
  • svg/W3C-SVG-1.1/coords-units-01-b-expected.txt:
  • svg/W3C-SVG-1.1/coords-units-02-b-expected.txt:
  • svg/W3C-SVG-1.1/coords-units-03-b-expected.txt:
  • svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.checksum:
  • svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.txt:
  • svg/W3C-SVG-1.1/extend-namespace-01-f-expected.txt:
  • svg/W3C-SVG-1.1/filters-blend-01-b-expected.txt:
  • svg/W3C-SVG-1.1/filters-color-01-b-expected.txt:
  • svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt:
  • svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt:
  • svg/W3C-SVG-1.1/filters-conv-01-f-expected.txt:
  • svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.txt:
  • svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt:
  • svg/W3C-SVG-1.1/filters-example-01-b-expected.checksum:
  • svg/W3C-SVG-1.1/filters-example-01-b-expected.png:
  • svg/W3C-SVG-1.1/filters-example-01-b-expected.txt:
  • svg/W3C-SVG-1.1/filters-gauss-01-b-expected.txt:
  • svg/W3C-SVG-1.1/filters-image-01-b-expected.checksum:
  • svg/W3C-SVG-1.1/filters-image-01-b-expected.txt:
  • svg/W3C-SVG-1.1/filters-light-01-f-expected.checksum:
  • svg/W3C-SVG-1.1/filters-light-01-f-expected.txt:
  • svg/W3C-SVG-1.1/filters-morph-01-f-expected.txt:
  • svg/W3C-SVG-1.1/filters-offset-01-b-expected.txt:
  • svg/W3C-SVG-1.1/filters-specular-01-f-expected.checksum:
  • svg/W3C-SVG-1.1/filters-specular-01-f-expected.txt:
  • svg/W3C-SVG-1.1/filters-tile-01-b-expected.txt:
  • svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt:
  • svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt:
  • svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt:
  • svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt:
  • svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt:
  • svg/W3C-SVG-1.1/interact-cursor-01-f-expected.txt:
  • svg/W3C-SVG-1.1/interact-dom-01-b-expected.txt:
  • svg/W3C-SVG-1.1/interact-events-01-b-expected.txt:
  • svg/W3C-SVG-1.1/interact-order-01-b-expected.txt:
  • svg/W3C-SVG-1.1/interact-order-02-b-expected.txt:
  • svg/W3C-SVG-1.1/interact-order-03-b-expected.txt:
  • svg/W3C-SVG-1.1/interact-zoom-01-t-expected.txt:
  • svg/W3C-SVG-1.1/linking-a-01-b-expected.txt:
  • svg/W3C-SVG-1.1/linking-a-02-b-expected.txt:
  • svg/W3C-SVG-1.1/linking-a-03-b-expected.txt:
  • svg/W3C-SVG-1.1/linking-a-04-t-expected.txt:
  • svg/W3C-SVG-1.1/linking-uri-01-b-expected.txt:
  • svg/W3C-SVG-1.1/linking-uri-02-b-expected.txt:
  • svg/W3C-SVG-1.1/linking-uri-03-t-expected.txt:
  • svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt:
  • svg/W3C-SVG-1.1/masking-opacity-01-b-expected.txt:
  • svg/W3C-SVG-1.1/masking-path-01-b-expected.txt:
  • svg/W3C-SVG-1.1/masking-path-02-b-expected.txt:
  • svg/W3C-SVG-1.1/masking-path-03-b-expected.txt:
  • svg/W3C-SVG-1.1/masking-path-04-b-expected.txt:
  • svg/W3C-SVG-1.1/masking-path-05-f-expected.txt:
  • svg/W3C-SVG-1.1/metadata-example-01-b-expected.txt:
  • svg/W3C-SVG-1.1/painting-fill-01-t-expected.txt:
  • svg/W3C-SVG-1.1/painting-fill-02-t-expected.txt:
  • svg/W3C-SVG-1.1/painting-fill-03-t-expected.txt:
  • svg/W3C-SVG-1.1/painting-fill-04-t-expected.txt:
  • svg/W3C-SVG-1.1/painting-marker-01-f-expected.txt:
  • svg/W3C-SVG-1.1/painting-marker-02-f-expected.txt:
  • svg/W3C-SVG-1.1/painting-render-01-b-expected.txt:
  • svg/W3C-SVG-1.1/painting-stroke-01-t-expected.txt:
  • svg/W3C-SVG-1.1/painting-stroke-02-t-expected.txt:
  • svg/W3C-SVG-1.1/painting-stroke-03-t-expected.txt:
  • svg/W3C-SVG-1.1/painting-stroke-04-t-expected.txt:
  • svg/W3C-SVG-1.1/paths-data-01-t-expected.txt:
  • svg/W3C-SVG-1.1/paths-data-02-t-expected.txt:
  • svg/W3C-SVG-1.1/paths-data-03-f-expected.txt:
  • svg/W3C-SVG-1.1/paths-data-04-t-expected.txt:
  • svg/W3C-SVG-1.1/paths-data-05-t-expected.txt:
  • svg/W3C-SVG-1.1/paths-data-06-t-expected.txt:
  • svg/W3C-SVG-1.1/paths-data-07-t-expected.txt:
  • svg/W3C-SVG-1.1/pservers-grad-01-b-expected.txt:
  • svg/W3C-SVG-1.1/pservers-grad-02-b-expected.txt:
  • svg/W3C-SVG-1.1/pservers-grad-03-b-expected.txt:
  • svg/W3C-SVG-1.1/pservers-grad-04-b-expected.txt:
  • svg/W3C-SVG-1.1/pservers-grad-05-b-expected.txt:
  • svg/W3C-SVG-1.1/pservers-grad-06-b-expected.txt:
  • svg/W3C-SVG-1.1/pservers-grad-07-b-expected.txt:
  • svg/W3C-SVG-1.1/pservers-grad-08-b-expected.txt:
  • svg/W3C-SVG-1.1/pservers-grad-09-b-expected.txt:
  • svg/W3C-SVG-1.1/pservers-grad-10-b-expected.txt:
  • svg/W3C-SVG-1.1/pservers-grad-11-b-expected.txt:
  • svg/W3C-SVG-1.1/pservers-grad-12-b-expected.txt:
  • svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.txt:
  • svg/W3C-SVG-1.1/render-elems-01-t-expected.txt:
  • svg/W3C-SVG-1.1/render-elems-02-t-expected.txt:
  • svg/W3C-SVG-1.1/render-elems-06-t-expected.txt:
  • svg/W3C-SVG-1.1/render-elems-07-t-expected.txt:
  • svg/W3C-SVG-1.1/render-elems-08-t-expected.txt:
  • svg/W3C-SVG-1.1/render-groups-01-b-expected.txt:
  • svg/W3C-SVG-1.1/render-groups-03-t-expected.txt:
  • svg/W3C-SVG-1.1/script-handle-01-b-expected.txt:
  • svg/W3C-SVG-1.1/script-handle-02-b-expected.txt:
  • svg/W3C-SVG-1.1/script-handle-03-b-expected.txt:
  • svg/W3C-SVG-1.1/script-handle-04-b-expected.txt:
  • svg/W3C-SVG-1.1/shapes-circle-01-t-expected.txt:
  • svg/W3C-SVG-1.1/shapes-ellipse-01-t-expected.txt:
  • svg/W3C-SVG-1.1/shapes-line-01-t-expected.txt:
  • svg/W3C-SVG-1.1/shapes-polygon-01-t-expected.txt:
  • svg/W3C-SVG-1.1/shapes-polyline-01-t-expected.txt:
  • svg/W3C-SVG-1.1/shapes-rect-01-t-expected.txt:
  • svg/W3C-SVG-1.1/struct-cond-01-t-expected.txt:
  • svg/W3C-SVG-1.1/struct-cond-02-t-expected.txt:
  • svg/W3C-SVG-1.1/struct-defs-01-t-expected.txt:
  • svg/W3C-SVG-1.1/struct-dom-01-b-expected.txt:
  • svg/W3C-SVG-1.1/struct-dom-02-b-expected.txt:
  • svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt:
  • svg/W3C-SVG-1.1/struct-dom-04-b-expected.txt:
  • svg/W3C-SVG-1.1/struct-dom-05-b-expected.txt:
  • svg/W3C-SVG-1.1/struct-dom-06-b-expected.txt:
  • svg/W3C-SVG-1.1/struct-group-01-t-expected.txt:
  • svg/W3C-SVG-1.1/struct-group-02-b-expected.txt:
  • svg/W3C-SVG-1.1/struct-image-01-t-expected.txt:
  • svg/W3C-SVG-1.1/struct-image-02-b-expected.checksum:
  • svg/W3C-SVG-1.1/struct-image-02-b-expected.txt:
  • svg/W3C-SVG-1.1/struct-image-03-t-expected.txt:
  • svg/W3C-SVG-1.1/struct-image-04-t-expected.txt:
  • svg/W3C-SVG-1.1/struct-image-05-b-expected.txt:
  • svg/W3C-SVG-1.1/struct-symbol-01-b-expected.txt:
  • svg/W3C-SVG-1.1/styling-css-01-b-expected.txt:
  • svg/W3C-SVG-1.1/styling-css-02-b-expected.txt:
  • svg/W3C-SVG-1.1/styling-css-03-b-expected.txt:
  • svg/W3C-SVG-1.1/styling-inherit-01-b-expected.txt:
  • svg/W3C-SVG-1.1/styling-pres-01-t-expected.txt:
  • svg/W3C-SVG-1.1/text-align-01-b-expected.txt:
  • svg/W3C-SVG-1.1/text-align-02-b-expected.txt:
  • svg/W3C-SVG-1.1/text-align-03-b-expected.txt:
  • svg/W3C-SVG-1.1/text-align-04-b-expected.txt:
  • svg/W3C-SVG-1.1/text-align-05-b-expected.txt:
  • svg/W3C-SVG-1.1/text-align-06-b-expected.txt:
  • svg/W3C-SVG-1.1/text-altglyph-01-b-expected.txt:
  • svg/W3C-SVG-1.1/text-deco-01-b-expected.txt:
  • svg/W3C-SVG-1.1/text-fonts-01-t-expected.txt:
  • svg/W3C-SVG-1.1/text-fonts-02-t-expected.txt:
  • svg/W3C-SVG-1.1/text-intro-01-t-expected.txt:
  • svg/W3C-SVG-1.1/text-intro-02-b-expected.txt:
  • svg/W3C-SVG-1.1/text-intro-03-b-expected.txt:
  • svg/W3C-SVG-1.1/text-intro-04-t-expected.txt:
  • svg/W3C-SVG-1.1/text-path-01-b-expected.txt:
  • svg/W3C-SVG-1.1/text-spacing-01-b-expected.txt:
  • svg/W3C-SVG-1.1/text-text-01-b-expected.txt:
  • svg/W3C-SVG-1.1/text-text-03-b-expected.txt:
  • svg/W3C-SVG-1.1/text-tref-01-b-expected.txt:
  • svg/W3C-SVG-1.1/text-tselect-01-b-expected.txt:
  • svg/W3C-SVG-1.1/text-tspan-01-b-expected.txt:
  • svg/W3C-SVG-1.1/text-ws-01-t-expected.txt:
  • svg/W3C-SVG-1.1/text-ws-02-t-expected.txt:
  • svg/custom/control-points-for-S-and-T-expected.txt:
  • svg/custom/fractional-rects-expected.checksum: Added.
  • svg/custom/fractional-rects-expected.txt: Added.
  • svg/custom/fractional-rects.svg: Added.
  • svg/custom/path-bad-data-expected.txt:
  • svg/custom/path-update-expected.txt:
  • svg/custom/use-forward-refs-expected.txt:
12:20 AM Changeset in webkit [11870] by eseidel
  • 34 edits
    9 adds in trunk/WebCore

Bug #: 4462
Submitted by: kimmo
Reviewed by: eseidel

Changed use of QRect to QRectF in the points where SVG can have
fractional numbers
​http://bugzilla.opendarwin.org/show_bug.cgi?id=4462

Added test cases:

  • svg/custom/fractional-rects.svg: copy of rounded-rects.svg with fractional coordinates.
  • WebCore.xcodeproj/project.pbxproj:
  • kwq/KWQWMatrix.h:
  • kwq/KWQWMatrix.mm: (QWMatrix::mapRect): mapRect for QRectF
  • kwq/KWQRectF.h:
  • kwq/KWQRectF.mm: Added. QRectF impl
  • kwq/KWQSizeF.h:
  • kwq/KWQSizeF.mm: Added.QSizeF impl
  • kwq/KWQPointF.h:
  • kwq/KWQPointF.mm: Added. QPointF impl
  • kcanvas/KCanvasContainer.cpp: (KCanvasContainer::fillContains): (KCanvasContainer::strokeContains): (KCanvasContainer::relativeBBox): (KCanvasContainer::getAspectRatio): QRect -> QRectF
  • kcanvas/KCanvasContainer.h:
  • kcanvas/KCanvasFilters.cpp: (KCanvasFilterEffect::subRegion): (KCanvasFilterEffect::setSubRegion): QRect -> QRectF
  • kcanvas/KCanvasFilters.h: (KCanvasFilter::filterRect): (KCanvasFilter::setFilterRect): QRect -> QRectF (KCanvasFEConvolveMatrix::kernelSize): (KCanvasFEConvolveMatrix::setKernelSize): (KCanvasFEConvolveMatrix::targetOffset): (KCanvasFEConvolveMatrix::setTargetOffset): QSize -> QSizeF
  • kcanvas/KCanvasItem.cpp: (RenderPath::fillContains): (RenderPath::strokeContains): (RenderPath::relativeBBox): QRect -> QRectF
  • kcanvas/KCanvasItem.h:
  • kcanvas/KCanvasResources.cpp: (KCanvasMarker::draw): QRect -> QRectF
  • kcanvas/KCanvasResources.h:
  • kcanvas/KCanvasTreeDebug.cpp: (hasFractions): helper function (operator<<): QSizeF operator, QRectF operator
  • kcanvas/KCanvasTreeDebug.h:
  • kcanvas/device/KRenderingPaintServerGradient.cpp: (KRenderingPaintServerLinearGradient::gradientStart): (KRenderingPaintServerLinearGradient::setGradientStart): (KRenderingPaintServerLinearGradient::gradientEnd): (KRenderingPaintServerLinearGradient::setGradientEnd): (KRenderingPaintServerRadialGradient::gradientCenter): (KRenderingPaintServerRadialGradient::setGradientCenter): (KRenderingPaintServerRadialGradient::gradientFocal): (KRenderingPaintServerRadialGradient::setGradientFocal): QPoint -> QPointF
  • kcanvas/device/KRenderingPaintServerGradient.h:
  • kcanvas/device/KRenderingPaintServerPattern.cpp: (KRenderingPaintServerPattern::Private::Private): x, y, width, height -> QRectF (KRenderingPaintServerPattern::setBbox): replaced get/set methods (KRenderingPaintServerPattern::bbox): replaced get/set methods (KRenderingPaintServerPattern::externalRepresentation):
  • kcanvas/device/KRenderingPaintServerPattern.h:
  • kcanvas/device/quartz/KCanvasFilterQuartz.h:
  • kcanvas/device/quartz/KCanvasFilterQuartz.mm: (KCanvasFilterQuartz::prepareFilter): (KCanvasFilterQuartz::applyFilter): QRect -> QRectF
  • kcanvas/device/quartz/KCanvasItemQuartz.h: (KCanvasItemQuartz::getAbsoluteRepaintRect): QRect -> QRectF
  • kcanvas/device/quartz/KCanvasItemQuartz.mm: (drawMarkerWithData): (KCanvasItemQuartz::drawMarkersIfNeeded): (KCanvasItemQuartz::paint): QRect -> QRectF (KCanvasItemQuartz::nodeAtPoint): QPoint -> QPointF (KCanvasItemQuartz::bboxForPath) :QRect -> QRectF (KCanvasItemQuartz::hitsPath):
  • kcanvas/device/quartz/KCanvasResourcesQuartz.h: (KCanvasContainerQuartz::getAbsoluteRepaintRect): QRect -> QRectF
  • kcanvas/device/quartz/KRenderingPaintServerQuartz.mm: (KRenderingPaintServerPatternQuartz::draw): QRect -> QRectF
  • khtml/rendering/render_object.h: (khtml::RenderObject::relativeBBox):QRect -> QRectF
  • ksvg2/svg/SVGFilterElementImpl.cpp: (SVGFilterElementImpl::canvasResource): QRect -> QRectF
  • ksvg2/svg/SVGFilterPrimitiveStandardAttributesImpl.cpp: (SVGFilterPrimitiveStandardAttributesImpl::setStandardAttributes):
  • ksvg2/svg/SVGLengthImpl.cpp: (SVGLengthImpl::value): QRect -> QRectF
  • ksvg2/svg/SVGLinearGradientElementImpl.cpp: (SVGLinearGradientElementImpl::buildGradient): QPoint -> QPointF, removed integer conversions
  • ksvg2/svg/SVGLocatableImpl.cpp: (SVGLocatableImpl::getBBox): Rect -> QRectF
  • ksvg2/svg/SVGPatternElementImpl.cpp: (SVGPatternElementImpl::drawPatternContentIntoTile): QRect -> QRectF
  • ksvg2/svg/SVGRadialGradientElementImpl.cpp: (SVGRadialGradientElementImpl::buildGradient): QPoint -> QPointF, removed integer conversions
  • ksvg2/svg/SVGSVGElementImpl.cpp: (SVGSVGElementImpl::checkIntersection): QRect -> QRectF, removed integer conversions (SVGSVGElementImpl::checkEnclosure): QRect -> QRectF, removed integer conversions
Note: See TracTimeline for information about the timeline view.