Timeline



Sep 6, 2005:

7:38 PM Changeset in webkit [10479] by darin
  • 4 edits in trunk/WebCore

Reviewed by John Sullivan.

  • fixed storage leaks; one of the leaks caused these 3 bugs:

<rdar://problem/4231952> leaks of DOMStringImpl called from HTMLTokenizer::processToken, seen running WebKit tests
<http://bugzilla.opendarwin.org/show_bug.cgi?id=4797>

<rdar://problem/4233800> leak inside DOM::DocumentImpl::DocumentImpl, seen running webkit tests
<http://bugzilla.opendarwin.org/show_bug.cgi?id=4795>

<rdar://problem/4232812> leaks of NodeImpl called from HTMLParser::textCreateErrorCheck, seen running webkit tests
<http://bugzilla.opendarwin.org/show_bug.cgi?id=4796>

  • khtml/html/html_elementimpl.cpp: (HTMLElementImpl::setOuterHTML): Put ref/deref around call to replaceChild to avoid leaking the node being replaced. (HTMLElementImpl::setOuterText): Put ref/deref around call to replaceChild to avoid leaking the node being replaced. Also changed removeChild calls to use remove instead, both for simplicity and to fix the leak without having to add a SharedPtr or ref/deref pair.
  • khtml/html/html_tableimpl.cpp: (DOM::HTMLTableElementImpl::setCaption): Put ref/deref around call to replaceChild to avoid leaking the node being replaced. (DOM::HTMLTableElementImpl::setTHead): Ditto. (DOM::HTMLTableElementImpl::setTFoot): Ditto. (DOM::HTMLTableElementImpl::setTBody): Tweaked a bit to match the other functions as closely as possible. No leak here.
  • khtml/xml/dom_nodeimpl.cpp: (DOM::NodeImpl::remove): Added ref/deref to avoid leaking the node being removed. (DOM::NodeImpl::normalize): Changed two calls to removeChild to calls to remove to prevent leaks.
6:21 PM Changeset in webkit [12194] by ggaren
  • 1 edit
    3 adds
    1 delete in trunk/JavaScriptGlue

-upgraded project files to XCode 2.1

  • JavaScriptGlue.pbproj/project.pbxproj: Removed.
  • JavaScriptGlue.xcodeproj/.cvsignore: Added.
  • JavaScriptGlue.xcodeproj/project.pbxproj: Added.
4:53 PM Changeset in webkit [10478] by justing
  • 2 edits
    2 adds in trunk

Reviewed by harrison

Fixes <rdar://problem/3976872> REGRESSION (Mail): Pasted lines of plain text don't get the proper style if pasted into newlines

For style matched paste, style information was gathered incorrectly.

Test cases added:

  • layout-tests/editing/pasteboard/3976872-expected.txt: Added.
  • layout-tests/editing/pasteboard/3976872.html: Added.
  • khtml/editing/replace_selection_command.cpp: (khtml::ReplaceSelectionCommand::doApply): Even though the startBlock (selection.start().node()->enclosingBlockFlowElement) is where manipulation begins on a paste, it can be missing necessary style information.
4:46 PM Changeset in webkit [10477] by ggaren
  • 2 edits in trunk/WebKit
  • fixed build bustage from last checkin.

Reviewed by haytt.

  • History.subproj/WebBackForwardList.m: (-[WebBackForwardList pageCacheSize]): updated debug printf since we no longer have a variable called 'multiplier'
2:40 PM Changeset in webkit [10476] by hyatt
  • 3 edits in trunk/WebKit

Reduce the # of cached pages for a back/forward list. The old cache would cache the
following per tab:

1gb memory = 16 pages per tab/window
512mb memory = 8 pages per tab/window

<= 512mb memory = 4 pages per tab/window

This consumes far too much memory and is way too aggressive. The new cache sizes are
as follows:

1gb memory = 3 pages per tab/window

512mb memory = 2 pages per tab/window

< 512mb memory = 1 page per tab/window

Reviewed by john

  • History.subproj/WebBackForwardList.m: (-[WebBackForwardList pageCacheSize]):
  • WebView.subproj/WebPreferences.m: (+[WebPreferences initialize]):
3:19 AM Changeset in webkit [10475] by eseidel
  • 220 edits in trunk

Bug #: 4864
Submitted by: Tobias Lidskog <tobiaslidskog@mac.com>
Reviewed by: eseidel

Don't create empty fill/stroke servers if fill/stroke
are specified as "none".
http://bugzilla.opendarwin.org/show_bug.cgi?id=4864

Test cases updated:

  • svg-tests/W3C-SVG-1.1/Resources/animation-add-BE-09-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/animation-extRef-image1-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/animation-extRef-image2-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/animation-extRef-image3-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/coords-units-01-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/filters-blend-01-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/filters-color-01-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/filters-composite-01-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/filters-conv-01-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/filters-diffuse-01-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/filters-example-01-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/interact-dom-01-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/interact-order-02-b-targ-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/interact-order-03-b-targ-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/linking-uri-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/linkingCircle-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/linkingToc-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/paths-data-01-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/paths-data-02-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/paths-data-03-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/paths-data-04-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/rects-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/rects_b-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/shapes-ellipse-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/shapes-ellipse-01-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/shapes-rect-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/shapes-rect-01-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/struct-frag-01-B-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/text-align-01-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/text-align-02-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/text-align-03-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/text-altglyph-01-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/text-extTref-BE-18-targ-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/text-intro-01-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/text-tref-01-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/text-ws-01-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/toc-sv-expected.txt:
  • svg-tests/W3C-SVG-1.1/Resources/toc-svcmp-expected.txt:
  • svg-tests/W3C-SVG-1.1/animate-elem-02-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/animate-elem-03-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/animate-elem-04-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/animate-elem-05-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/animate-elem-06-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/animate-elem-07-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/animate-elem-08-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/animate-elem-09-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/animate-elem-10-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/animate-elem-11-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/animate-elem-12-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/animate-elem-13-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/animate-elem-14-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/animate-elem-15-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/animate-elem-16-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/animate-elem-17-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/animate-elem-18-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/animate-elem-19-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/animate-elem-20-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/animate-elem-21-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/animate-elem-22-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/animate-elem-23-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/animate-elem-24-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/animate-elem-25-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/animate-elem-26-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/animate-elem-27-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/animate-elem-28-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/animate-elem-29-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/color-prof-01-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/color-prop-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/color-prop-02-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/color-prop-03-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/coords-trans-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/coords-trans-02-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/coords-trans-03-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/coords-trans-04-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/coords-trans-05-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/coords-trans-06-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/coords-units-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/coords-units-02-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/coords-units-03-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/coords-viewattr-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/coords-viewattr-02-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/extend-namespace-01-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/filters-blend-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/filters-color-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/filters-composite-02-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/filters-comptran-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/filters-conv-01-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/filters-diffuse-01-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/filters-displace-01-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/filters-example-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/filters-gauss-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/filters-image-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/filters-light-01-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/filters-morph-01-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/filters-offset-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/filters-specular-01-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/filters-tile-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/filters-turb-01-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/fonts-elem-01-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/fonts-elem-02-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/fonts-elem-03-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/fonts-elem-04-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/interact-cursor-01-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/interact-dom-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/interact-events-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/interact-order-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/interact-order-02-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/interact-order-03-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/interact-zoom-01-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/linking-a-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/linking-a-02-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/linking-a-03-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/linking-a-04-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/linking-uri-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/linking-uri-02-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/linking-uri-03-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/masking-mask-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/masking-opacity-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/masking-path-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/masking-path-02-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/masking-path-03-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/masking-path-04-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/masking-path-05-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/metadata-example-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/painting-fill-01-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/painting-fill-02-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/painting-fill-03-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/painting-fill-04-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/painting-marker-01-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/painting-marker-02-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/painting-render-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/painting-stroke-01-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/painting-stroke-02-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/painting-stroke-03-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/painting-stroke-04-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/paths-data-01-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/paths-data-02-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/paths-data-03-f-expected.txt:
  • svg-tests/W3C-SVG-1.1/paths-data-04-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/paths-data-05-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/paths-data-06-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/paths-data-07-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/pservers-grad-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/pservers-grad-02-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/pservers-grad-03-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/pservers-grad-04-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/pservers-grad-05-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/pservers-grad-06-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/pservers-grad-07-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/pservers-grad-08-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/pservers-grad-09-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/pservers-grad-10-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/pservers-grad-11-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/pservers-grad-12-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/pservers-pattern-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/render-elems-01-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/render-elems-02-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/render-elems-03-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/render-elems-06-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/render-elems-07-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/render-elems-08-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/render-groups-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/render-groups-03-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/script-handle-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/script-handle-02-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/script-handle-03-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/script-handle-04-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/shapes-circle-01-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/shapes-ellipse-01-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/shapes-line-01-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/shapes-polygon-01-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/shapes-polyline-01-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/shapes-rect-01-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/struct-cond-01-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/struct-cond-02-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/struct-defs-01-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/struct-dom-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/struct-dom-02-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/struct-dom-03-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/struct-dom-04-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/struct-dom-05-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/struct-dom-06-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/struct-group-01-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/struct-group-02-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/struct-image-01-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/struct-image-02-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/struct-image-03-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/struct-image-04-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/struct-image-05-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/struct-symbol-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/styling-css-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/styling-css-02-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/styling-css-03-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/styling-inherit-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/styling-pres-01-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/text-align-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/text-align-02-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/text-align-03-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/text-align-04-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/text-align-05-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/text-align-06-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/text-altglyph-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/text-deco-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/text-fonts-01-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/text-fonts-02-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/text-intro-01-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/text-intro-02-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/text-intro-03-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/text-intro-04-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/text-path-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/text-spacing-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/text-text-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/text-text-03-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/text-tref-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/text-tselect-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/text-tspan-01-b-expected.txt:
  • svg-tests/W3C-SVG-1.1/text-ws-01-t-expected.txt:
  • svg-tests/W3C-SVG-1.1/text-ws-02-t-expected.txt:
  • ksvg2/misc/KCanvasRenderingStyle.cpp: (KCanvasRenderingStyle::updateFill): (KCanvasRenderingStyle::updateStroke):
2:18 AM Changeset in webkit [12193] by mjs
  • 3 edits in branches/Safari-2-0-branch/JavaScriptGlue

Reviewed by John.

  • fixed <rdar://problem/4234146> Denver Regression: for (x in y) broken in JavaScriptGlue (could cause crash)
  • UserObjectImp.cpp: (UserObjectImp::hasOwnProperty): Renamed from hasProperty and implemented in a lower-level way, to avoid relying on get.
  • UserObjectImp.h:
2:18 AM Changeset in webkit [12192]
  • 1 copy in branches/Safari-2-0-branch/JavaScriptGlue

This commit was manufactured by cvs2svn to create branch
'Safari-2-0-branch'.

1:10 AM Changeset in webkit [12191] by mjs
  • 21 adds in trunk/JavaScriptGlue

Rubber stamped by hyatt.

  • initial import of JavaScriptGlue into our repository
  • English.lproj/InfoPlist.strings: Added.
  • JSBase.cpp: Added. (JSBase::JSBase): (JSBase::~JSBase): (JSBase::Retain): (JSBase::Release): (JSBase::RetainCount): (JSBase::GetTypeID): (JSBase::CopyDescription): (JSBase::Equal):
  • JSBase.h: Added.
  • JSObject.cpp: Added. (JSUserObject::JSUserObject): (JSUserObject::~JSUserObject): (JSUserObject::CopyPropertyNames): (JSUserObject::CopyProperty): (JSUserObject::SetProperty): (JSUserObject::ImplementsCall): (JSUserObject::CallFunction): (JSUserObject::CopyCFValue): (JSUserObject::Equal): (JSUserObject::Mark): (JSUserObject::GetData):
  • JSObject.h: Added. (JSUserObject::DataType):
  • JSRun.cpp: Added. (JSRun::JSRun): (JSRun::~JSRun): (JSRun::Flags): (JSRun::GetSource): (JSRun::GlobalObject): (JSRun::GetInterpreter): (JSRun::Evaluate): (JSRun::CheckSyntax):
  • JSRun.h: Added. (JSInterpreter::JSInterpreter): (JSInterpreter::JSInterpreter::~JSInterpreter): (JSInterpreter::Flags):
  • JSUtils.cpp: Added. (CFStringToUString): (UStringToCFString): (CFStringToIdentifier): (IdentifierToCFString): (KJSValueToJSObject): (JSObjectKJSValue): (KJSValueToCFTypeInternal): (KJSValueToCFType): (GetCFNull):
  • JSUtils.h: Added. (RetainCFType): (ReleaseCFType):
  • JSValueWrapper.cpp: Added. (JSValueWrapper::JSValueWrapper): (JSValueWrapper::~JSValueWrapper): (JSValueWrapper::GetValue): (JSValueWrapper::GetExecState): (JSValueWrapper::GetJSObectCallBacks): (JSValueWrapper::JSObjectDispose): (JSValueWrapper::JSObjectCopyPropertyNames): (JSValueWrapper::JSObjectCopyProperty): (JSValueWrapper::JSObjectSetProperty): (JSValueWrapper::JSObjectCallFunction): (JSValueWrapper::JSObjectCopyCFValue): (JSValueWrapper::JSObjectMark):
  • JSValueWrapper.h: Added.
  • JavaScriptGlue.cpp: Added. (JSSetCFNull): (JSGetCFNull): (JSRetain): (JSRelease): (JSCopyDescription): (JSEqual): (JSGetTypeID): (JSGetRetainCount): (JSObjectCreate): (JSObjectCreateInternal): (JSObjectCopyCFValue): (JSObjectGetData): (JSObjectCopyProperty): (JSObjectSetProperty): (JSObjectCallFunction): (JSRunCreate): (JSRunCopySource): (JSRunCopyGlobalObject): (JSRunEvaluate): (JSRunCheckSyntax): (JSCollect): (JSTypeGetCFArrayCallBacks): (JSCFRetain): (JSCFRelease): (JSObjectCreateWithCFType): (CFJSObjectDispose): (JSObjectCopyPropertyNames): (CFJSObjectCopyProperty): (CFJSObjectSetProperty): (CFJSObjectCopyCFValue): (CFJSObjectEqual): (CFJSObjectCopyPropertyNames): (JSCreateCFArrayFromJSArray): (JSCreateJSArrayFromCFArray): (JSLockInterpreter): (JSUnlockInterpreter):
  • JavaScriptGlue.exp: Added.
  • JavaScriptGlue.h: Added.
  • JavaScriptGlue.pbproj/project.pbxproj: Added.
  • UserObjectImp.cpp: Added. (UserObjectPrototypeImp::UserObjectPrototypeImp): (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp): (UserObjectImp::UserObjectImp): (UserObjectImp::~UserObjectImp): (UserObjectImp::classInfo): (UserObjectImp::implementsCall): (UserObjectImp::call): (UserObjectImp::propList): (UserObjectImp::hasProperty): (UserObjectImp::get): (UserObjectImp::put): (UserObjectImp::GetJSUserObject): (UserObjectImp::toPrimitive): (UserObjectImp::toBoolean): (UserObjectImp::toNumber): (UserObjectImp::toString): (UserObjectImp::mark):
  • UserObjectImp.h: Added.

Sep 5, 2005:

4:12 PM Changeset in webkit [10474] by darin
  • 2 edits in trunk/WebKit

Reviewed by John Sullivan.

  • Carbon.subproj/HIWebView.m: Remove lots of unneeded declarations of private stuff. (Draw): Call WKNSWindowOverrideCGContext and WKNSWindowRestoreCGContext rather than calling a non-existent setCGContext: method on the context.
4:10 PM Changeset in webkit [10473] by darin
  • 2 edits
    2 adds in trunk

Reviewed by John Sullivan.

Test cases added:

  • layout-tests/fast/dom/Window/window-remove-event-listener.html: Added.
  • layout-tests/fast/dom/Window/window-remove-event-listener-expected.txt: Added.
  • khtml/ecma/kjs_window.cpp: (KJS::WindowFunc::callAsFunction): Fixed typo where window.removeEventListener would call addEventListener!
3:41 PM Changeset in webkit [10472] by darin
  • 4 edits in trunk

Reviewed by John Sullivan.

  • khtml/xml/dom_docimpl.cpp: (qualifiedNameIsValid): Added. (qualifiedNameIsMalformed): Added. (DOMImplementationImpl::createDocumentType): Added checks and exceptions using above functions. (DOMImplementationImpl::createDocument): Ditto.
  • layout-tests/dom/html/level2/core/createDocument08-expected.txt: Updated to expect success.
  • layout-tests/dom/html/level2/core/createDocumentType04-expected.txt: Ditto.
3:26 PM Changeset in webkit [10471] by sullivan
  • 4 edits in trunk

WebCore:

Reviewed by Dave Hyatt.

Test cases added: none, doesn't affect layout

  • fixed <rdar://problem/4211999> Safari quits when click-drag-hold an image that is set to automatically change.
  • khtml/khtmlview.cpp: (KHTMLView::updateDragAndDrop): add missing nil check

WebKit:

Reviewed by Dave Hyatt.

  • change related to <rdar://problem/4211999> Safari quits when click-drag-hold an image that is set to automatically change.
  • WebView.subproj/WebHTMLView.m: (-[NSArray namesOfPromisedFilesDroppedAtDestination:]): handle nil wrapper with ERROR and early return rather than ASSERT, since we now know of a way to reproduce this (written up as 4244861)
3:22 PM Changeset in webkit [10470] by darin
  • 2 edits in trunk/WebKit

Reviewed by John Sullivan.

  • WebCoreSupport.subproj/WebImageData.m: (removeAnimatingRendererFromView): Added. (removeFromDictionary): Added. (-[WebImageData removeAnimatingRenderer:]): Rewrote using CF functions rather than NS functions so that we never retain the views, since this can be called from a view's dealloc method. (setNeedsDisplayInAnimationRect): Added. (-[WebImageData _nextFrame:]): Rewrote as above, even though in this case it can't be called from the dealloc method.
1:25 PM Changeset in webkit [10469] by darin
  • 2 edits in trunk/WebCore

Reviewed by John Sullivan.

  • kwq/KWQTextField.mm: (-[KWQTextFieldController textView:shouldChangeTextInRange:replacementString:]): Allow a replacement string of nil.
10:18 AM Changeset in webkit [10468] by darin
  • 1 edit
    2 adds in trunk

Reviewed and landed by Darin.

  • added a test case that covers 8-digit hexadecimal entities
  • layout-tests/fast/parser/hex-entities-length.html: Added.
  • layout-tests/fast/parser/hex-entities-length-expected.txt: Added.

Sep 4, 2005:

9:01 PM Changeset in webkit [10467] by darin
  • 3 edits in trunk/WebCore

Reviewed by John Sullivan.

  • khtml/rendering/render_canvasimage.cpp: (RenderCanvasImage::paint): Don't try to paint if painting is disabled.
  • kwq/KWQPainter.mm: (QPainter::addClip): Do nothing if painting is disabled. (QPainter::addRoundedRectClip): Ditto. (QPainter::currentContext): Assert that painting is not disabled. (QPainter::beginTransparencyLayer): Do nothing if painting is disabled. (QPainter::endTransparencyLayer): Ditto. (QPainter::setShadow): Ditto. (QPainter::clearShadow): Ditto. (QPainter::initFocusRing): Ditto. (QPainter::addFocusRingRect): Ditto. (QPainter::drawFocusRing): Ditto.
8:43 PM Changeset in webkit [10466] by darin
  • 2 edits
    1 add in trunk/WebCore

Reviewed by John Sullivan.

Test cases added:

  • manual-tests/input-type-text-unconfirmed-inline-input.html: Added.
  • kwq/KWQTextField.mm: (-[KWQTextFieldController controlTextDidBeginEditing:]): Call setWantsNotificationForMarkedText:YES on the field editor so we get "text did change" calls even for changes to the marked text. (-[KWQTextFieldController controlTextDidChange:]): Only call the bridge when we have changes and there is no marked text -- this is good because the bridge is used to implement form auto-fill and preserves the existing behavior. A more elegant future fix would be to notify the bridge more often and have the auto-fill code itself implement the "don't auto-fill when there is marked text" rule. (-[NSTextField _KWQ_currentEditor]): Change type to NSTextView so we can use this function to code NSTextView-specific stuff. The field editors are always subclasses of NSTextView.
2:38 PM Changeset in webkit [10465] by darin
  • 2 edits in trunk/JavaScriptCore
  • kjs/identifier.cpp: Fix comment, add missing include. (Follow-on to changes from yesterday.)
1:56 PM Changeset in webkit [10464] by darin
  • 1 edit
    2 adds in trunk
  • added a layout test from Bugzilla for a bug that was fixed a while back
  • layout-tests/fast/parser/script-tag-with-trailing-slash-expected.txt: Added.
  • layout-tests/fast/parser/script-tag-with-trailing-slash.html: Added.
12:53 PM Changeset in webkit [10463] by darin
  • 3 edits in trunk/WebKitLibraries
  • WebKitSystemInterface.h: Update to latest
  • libWebKitSystemInterface.a: Ditto.
2:55 AM Changeset in webkit [10462] by darin
  • 3 edits in trunk/WebCore
  • temporarily disable LEAKS messages that are giving too many false positives we'll turn these back on again once we get them to really mean something.
  • khtml/xml/dom_elementimpl.cpp: (ElementImplCounter::~ElementImplCounter): Commented out the code to fprintf.
  • khtml/xml/dom_nodeimpl.cpp: (DOM::NodeImplCounter::~NodeImplCounter): Ditto.
2:22 AM Changeset in webkit [10461] by eseidel
  • 2 edits
    1 delete in trunk/WebCore

Bug #: none
Submitted by: eseidel
Reviewed by: none

No review needed, only affects SVG, removing unused files.

  • WebCore.xcodeproj/project.pbxproj: removed ksvg2/Scripts group.
  • ksvg2/scripts/ksvgstatus.xsl: Removed.
  • ksvg2/scripts/regressiontest.sh: Removed.
  • ksvg2/scripts/regressiontestsetup.sh: Removed.
2:10 AM Changeset in webkit [10460] by eseidel
  • 3 edits in trunk/WebCore

Bug #: none
Submitted by: eseidel
Reviewed by: none

No review needed, only affects SVG, only replacing line endings.

  • ksvg2/svg/SVGFEBlendElementImpl.h: CRLF -> LF
  • ksvg2/svg/SVGFEFloodElementImpl.h: CRLF -> LF Fixed two files with windows line endings.
1:23 AM Changeset in webkit [10459] by darin
  • 2 edits in trunk/WebCore
  • fixed the build
  • khtml/rendering/break_lines.cpp: Added missing include of <qstring.h>.
12:42 AM Changeset in webkit [10458] by darin
  • 5 edits in trunk/WebCore

Reviewed and landed by Darin.

No test cases added because this is a performance fix. Existing test cases continue to work.

  • khtml/rendering/break_lines.h: Declare the new nextBreakablePosition and also define a new isBreakable function that adds an in/out "next breakable position" parameter.
  • khtml/rendering/break_lines.cpp: (khtml::nextBreakablePosition): Replaced the old isBreakable with this function.
  • khtml/rendering/bidi.cpp: (khtml::RenderBlock::findNextLineBreak): Call the new version of isBreakable that uses the previously-found "next breakable" position until we pass it rather than analyzing each position separately to see if we can break there.
  • khtml/rendering/render_text.cpp: (RenderText::calcMinMaxWidth): Call the new isBreakable, and also do some things to streamline and perhaps speed up: a) use an index withing the string rather than within the word when finding a word break, b) use a cached copy of the string base pointer and the string length rather than repeatedly dereferencing str, c) use a cached copy of the current character rather than repeatedly fetching it. Darin also changed one confusing use of ? : to just use && instead.

Sep 3, 2005:

11:21 PM Changeset in webkit [10457] by darin
  • 9 edits in trunk/JavaScriptCore

Reviewed, tweaked and landed by Darin.

  • another try at some of the Windows compilation fixes should fix these bugs: 4546, 4831, 4834, 4643, 4830, 4832, 4833, 4835
  • kjs/collector.cpp: Add missing <setjmp.h> include.
  • kjs/date_object.cpp: Fix broken copysign macro.
  • kjs/dtoa.cpp: Move macro definitions down after all header includes.
  • kjs/fast_malloc.cpp: Add missing <assert.h> and <stddef.h> includes.
  • kjs/function.cpp: Remove broken isxdigit definition.
  • kjs/grammar.y: Add a missing semicolon (and remove an excess one).
  • kjs/identifier.cpp: Turn off AVOID_STATIC_CONSTRUCTORS because the placement new syntax doesn't seem to work in Visual C++ (I'm surprised to hear that, by the way).
  • kjs/value.h: Made ValueImp's destructor virtual because otherwise pointers to ValueImp on the stack aren't right for garbage collection on Windows (don't think it works that way with gcc's virtual table scheme, but it's a harmless change).
6:18 PM Changeset in webkit [10456] by darin
  • 22 edits in trunk/JavaScriptCore

Reviewed, tweaked and landed by Darin.

  • some Windows compilation fixes, hoping to fix the problems reported in these bugs: 4627, 4629, 4630, 4631, 4632, 4633, 4634, 4635, 4636, 4637, 4639, 4640, 4641, 4644, 4645
  • kjs/collector.cpp: Include <windows.h> on WIN32. Put thread-related code inside KJS_MULTIPLE_THREADS #if directives. (KJS::Collector::markCurrentThreadConservatively): Use NT_TIB to find the stack base on Win32.
  • kjs/config.h: Define HAVE_SYS_TIMEB_H for Win32.
  • kjs/date_object.cpp: Add include of <limits.h>. Add definitions of strncasecmp, isfinite, and copysign for Win32. (KJS::KRFCDate_parseDate): Move "errno = 0" line down closer to the first call to strol -- I believe that on Win32 there's some other call before that setting errno.
  • kjs/date_object.h: Remove unneeded include of <sys/time.h>.
  • kjs/dtoa.cpp: Add an undef of strtod, needed on Win32.
  • kjs/fast_malloc.cpp: Put #if !WIN32 around some customization that's not appropriate on Win32. (KJS::region_list_append): Add a missing cast so this Win32-specific function compiles in C++. (KJS::sbrk): Change parameter type to match the declaration.
  • kjs/function.cpp: (isxdigit): Define a locale-independent isxdigit on Win32.
  • kjs/function.h: Remove unneeded friend class Function for FunctionImp.
  • kjs/identifier.cpp: Took out the APPLE_CHANGES from around the AVOID_STATIC_CONSTRUCTORS define. We ultimately intend to phase out APPLE_CHANGES entirely. Also fix the non-AVOID_STATIC_CONSTRUCTORS code path.
  • kjs/internal.cpp: Remove uneeded include of <strings.h>, which was confused with <string.h>! Add a Win32 implementation of copysign. Put the threads code inside KJS_MULTIPLE_THREADS.
  • kjs/internal.h: Define a KJS_MULTIPLE_THREADS macro on non-Win32 only. Later we can make this specific to Mac OS X if we like.
  • kjs/interpreter_map.cpp: Add missing include of <stdlib.h>.
  • kjs/list.cpp: (KJS::ListImp::markValues): Use std::min instead of MIN. (KJS::List::copy): Ditto. (KJS::List::copyTail): Ditto.
  • kjs/math_object.cpp: (signbit): Add a Win32 implementation of signbit.
  • kjs/nodes.cpp: (Node::finalCheck): Use unsigned instead of uint. Put the use of always_inline inside GNUC.
  • kjs/number_object.cpp: (NumberProtoFuncImp::callAsFunction): Use "10.0" instead of "10" inside all the calls to pow to avoid ambiguity caused by overloading of pow on Win32, seen when passing an int rather than a double or float.
  • kjs/operations.cpp: (KJS::isInf): Add Win32 implementation. (KJS::isPosInf): Add Win32 implementation. (KJS::isNegInf): Add Win32 implementation.
  • kjs/regexp.cpp: Use unsigned instead of uint.
  • kjs/regexp.h: Ditto.
  • kjs/regexp_object.cpp: Ditto.
  • kjs/regexp_object.h: Ditto.
4:10 PM Changeset in webkit [10455] by hyatt
  • 18 edits in trunk/WebCore

This patch substantially reworks how mouse clicking and double clicking work in the DOM.

(1) screenY has been fixed so that it is no longer flipped. This makes the values consistent with
other browsers on the Mac (like Firefox) and with Windows.

(2) For synthetic events delivered when the click() method is invoked, the values are simply set to 0
and false (e.g., for button, shiftKey, detail and so on). This behavior matches Firefox. WinIE uses
the current key and mouse state, but this just results in delivery of nonsense data, so we have opted
to match Firefox.

(3) onclick now exactly matches the DOM "click" event definition. This means that onclick will now
fire on every single click (regardless of the click count), and onclick will now be considered the same
event as "click", meaning addEventListener "click"s and onclicks can interleave and work correctly during
the bubbling phase. This behavior again deviates deliberately from WinIE and matches Firefox. (In WinIE,
the onclick and ondblclick events are mutually exclusive, with click representing an odd clickCount and
dblclick representing an even clickCount).

(4) ondblclick has been changed to fire only when clickCount is exactly 2. This matches Firefox. dblclick
remains a separate synthetic event that fires independently of click with a clickCount of 2. This also
matches Firefox behavior.

(5) mouseover and mouseout have been patched not to fire when they occur on a disabled control. More generally, no
mouse event will be delivered to a disabled element. The current check only examines the target node, and this
is not good enough (but can be improved in a later patch). Some nodes will be children of disabled ancestors (e.g.,
options or children of a <button), and this is not yet taken into account.

(6) The behavior of shifting focus on a mousedown has been fixed to not occur if preventDefault has been set. This
matches Firefox.

Reviewed by darin

  • khtml/ecma/kjs_binding.cpp: (KJS::ScriptInterpreter::wasRunByUserGesture):
  • khtml/ecma/kjs_dom.cpp: (KJS::DOMNode::getValueProperty): (KJS::DOMNode::putValueProperty):
  • khtml/ecma/kjs_window.cpp: (KJS::Window::getValueProperty): (KJS::Window::put):
  • khtml/html/html_elementimpl.cpp: (HTMLElementImpl::parseMappedAttribute): (HTMLElementImpl::click):
  • khtml/html/html_formimpl.cpp: (DOM::HTMLInputElementImpl::defaultEventHandler):
  • khtml/html/html_inlineimpl.cpp: (DOM::HTMLAnchorElementImpl::defaultEventHandler):
  • khtml/khtmlview.cpp: (KHTMLViewPrivate::reset): (KHTMLView::viewportMousePressEvent): (KHTMLView::viewportMouseDoubleClickEvent): (KHTMLView::dispatchMouseEvent):
  • khtml/rendering/render_form.cpp: (RenderFormElement::slotClicked):
  • khtml/rendering/render_replaced.cpp: (RenderWidget::sendConsumedMouseUp): (RenderWidget::eventFilter):
  • khtml/rendering/render_replaced.h:
  • khtml/xml/EventNames.h:
  • khtml/xml/dom_nodeimpl.cpp: (DOM::NodeImpl::dispatchMouseEvent): (DOM::NodeImpl::dispatchSimulatedMouseEvent):
  • khtml/xml/dom_nodeimpl.h:
  • kwq/KWQAccObject.mm: (-[KWQAccObject mouseButtonListener]):
  • kwq/KWQEvent.h: (QMouseEvent::globalX): (QMouseEvent::globalY): (QMouseEvent::clickCount):
  • kwq/KWQEvent.mm: (positionForEvent): (globalPositionForEvent): (QMouseEvent::QMouseEvent):
  • kwq/KWQWidget.mm: (QWidget::sendConsumedMouseUp):
1:45 PM Changeset in webkit [10454] by darin
  • 4 edits
    2 adds
    4 deletes in trunk
  • fixed a mistake in the DOM tests, and an organizational issue that made them hard to run with run-webkit-tests (because run-webkit-tests assumes that any file with an .html extension is one of the tests)
  • layout-tests/dom/html/level2/html/HTMLFrameElement09-expected.txt: Updated to expect success. The failure we were seeing was due to an incorrect title in frame.html.
  • layout-tests/dom/html/level2/html/HTMLFrameElement09.html: Updated to get at iframe.html and frame.html from the resources subdirectory.
  • layout-tests/dom/html/level2/html/HTMLIFrameElement11.html-disabled: Updated to get at iframe.html and frame.html from the resources subdirectory.
  • layout-tests/dom/html/level2/html/frame.html: Removed. Since this is not a test, moved it into the resources subdirectory so the layout test engine won't see it.
  • layout-tests/dom/html/level2/html/iframe.html: Ditto.
  • layout-tests/dom/html/level2/html/resources/frame.html: Moved down here from the directory above. Adjusted URLs that specify resources still in the directory above to use "../" to find those. Also corrected the title of the file which was incorrect and causing HTMLFrameElement09 to fail.
  • layout-tests/dom/html/level2/html/resources/iframe.html: More of the same.
  • layout-tests/dom/html/level2/html/frame-expected.txt: Removed. This was not a test, so it should not have expected results.
  • layout-tests/dom/html/level2/html/iframe-expected.txt: Ditto.
1:02 AM Changeset in webkit [10453] by eseidel
  • 8 edits in trunk

Bug #: 4790
Submitted by: eseidel
Reviewed by: none

No review requested (only affects SVG), continuation of 4790.

  • WebCore.xcodeproj/project.pbxproj: updated include path
  • kdom/core/DocumentImpl.h: updated #include
  • kdom/xpointer/ElementSchemeImpl.h: ditto.
  • kdom/xpointer/ShortHandImpl.h: ditto.
  • kdom/xpointer/XMLNSSchemeImpl.h: ditto.
  • kdom/xpointer/XPath1SchemeImpl.h: ditto.
  • kdom/xpointer/XPointerSchemeImpl.h: ditto. http://bugzilla.opendarwin.org/show_bug.cgi?id=4790

Sep 2, 2005:

3:56 PM Changeset in webkit [10452]
  • 337 copies
    33 deletes in tags/Safari-416~6

This commit was manufactured by cvs2svn to create tag 'Safari-416~6'.

3:56 PM Changeset in webkit [10451] by adele
  • 6 edits in branches/Safari-2-0-branch

Versioning for Safari-2-0-branch - Safari-416.6

3:27 PM Changeset in webkit [10450] by adele
  • 4 edits in branches/Safari-2-0-branch

JavaScriptCore:

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

2005-09-02 Beth Dakin <Beth Dakin>

Fix for <rdar://problem/4235531> Regression: Safari crash in KWQStringData::makeUnicode
The other half of the fix is in WebCore.

Fix written by Maciej and Darin.
Reviewed by me/Maciej

As Maciej said in Radar: These problems was caused by a conflict between some of our custom
allocators, causing them to return null. Symptom is typically a null pointer dereference in
a place where it might be expected an allocation has just occurred.

  • kjs/fast_malloc.cpp: Added #define for MORECORE_CONTIGUOUS, MORECORE_CANNOT_TRIM,

and MALLOC_FAILURE_ACTION.

WebCore:

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

2005-09-02 Beth Dakin <Beth Dakin>

Fix for <rdar://problem/4235531> Denver Regression: Safari crash in KWQStringData::makeUnicode
The other half of the fix is in JavaScriptCore

Fix written by Maciej and Darin.
Reviewed by me/Maciej

As Maciej said in Radar: These problems was caused by a conflict between some of our custom
allocators, causing them to return null. Symptom is typically a null pointer dereference in
a place where it might be expected an allocation has just occurred.

  • khtml/misc/main_thread_malloc.cpp: Added #define for MORECORE_CONTIGUOUS, MORECORE_CANNOT_TRIM,

and MALLOC_FAILURE_ACTION.

3:14 PM Changeset in webkit [10449] by adele
  • 9 edits in branches/Safari-2-0-branch/WebCore

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

2005-09-02 Adele Peterson <adele@apple.com>

Reviewed by Darin.

Test cases updated: manual-tests/select_hr.html:
updated for case where selection is changed for a list box that has an <hr> in its list items, even though it doesn't appear in the list.

  • khtml/rendering/render_form.cpp: (RenderSelect::slotSelectionChanged): Added counter that increments only for visible list items (options and optgroups). Before this change, list boxes that had invisible <hr>s could have the visible selected option get out of sync from the selected state. (RenderSelect::updateSelection): ditto.
  • kwq/KWQListBox.h: Changed enum from ItemType to KWQListBoxItemType and values to KWQListBoxOption, KWQListBoxGroupLabel, and KWQListBoxSeparator. (KWQListBoxItem::KWQListBoxItem): ditto. (QListBox::appendItem): ditto. (QListBox::appendGroupLabel): ditto.
  • kwq/KWQListBox.mm: (QListBox::appendItem): ditto. (QListBox::sizeForNumberOfLines): ditto. (-[KWQTableView tableView:shouldSelectRow:]): ditto. (-[KWQTableView drawRow:clipRect:]): ditto.
  • kwq/KWQComboBox.h: (QComboBox::appendItem): ditto. (QComboBox::appendGroupLabel): ditto. (QComboBox::appendSeparator): ditto.
  • kwq/KWQComboBox.mm: (QComboBox::setTitle): ditto. (QComboBox::appendItem): ditto. (QComboBox::sizeHint): ditto. (QComboBox::populateMenu): ditto.

2005-08-31 Adele Peterson <adele@apple.com>

Reviewed by Dave Hyatt.

  • fixed <rdar://problem/4229189> add a way to get a separator into a <select>

This will allow an <hr> within a select element to display a separator in a popup menu.
These extra elements are added to our listItems array, which we use internally. But this should not
affect JavaScript operations, such as getting an index of an option element, or getting the length of the select,
or getting the selected index. In these cases, the <hr>s will be ignored.

Test cases added:

  • manual-tests/select_hr.html: Added.
  • khtml/html/html_formimpl.h: (DOM::HTMLSelectElementImpl::listItems): Now that our listItems can also contain <hr>s, I've changed listItems to be a QMemArray<HTMLElementImpl*> instead of QMemArray<HTMLGenericFormElementImpl*> (DOM::HTMLOptGroupElementImpl::checkDTD): Added check for <hr>
  • khtml/html/html_formimpl.cpp: (DOM::HTMLSelectElementImpl::checkDTD): Added check for <hr> (DOM::HTMLSelectElementImpl::add): Added check for <hr> so these elements can be added through Javascript. (DOM::HTMLSelectElementImpl::recalcListItems): Added case for <hr> to add the element to the listItems array. (DOM::HTMLSelectElementImpl::selectedIndex): Updated type for array of listItems. (DOM::HTMLSelectElementImpl::setSelectedIndex): ditto. (DOM::HTMLSelectElementImpl::length): ditto. (DOM::HTMLSelectElementImpl::remove): ditto. (DOM::HTMLSelectElementImpl::value): ditto. (DOM::HTMLSelectElementImpl::setValue): ditto. (DOM::HTMLSelectElementImpl::state): ditto. (DOM::HTMLSelectElementImpl::restoreState): ditto. (DOM::HTMLSelectElementImpl::appendFormData): ditto. (DOM::HTMLSelectElementImpl::optionToListIndex): ditto. (DOM::HTMLSelectElementImpl::listToOptionIndex): ditto. (DOM::HTMLSelectElementImpl::reset): ditto. (DOM::HTMLSelectElementImpl::notifyOptionSelected): ditto. (DOM::HTMLOptionElementImpl::index): ditto.
  • khtml/rendering/render_form.cpp: (RenderSelect::updateFromElement): If the list item is an <hr>, and we're not using a ListBox, then we call appendSeparator on the widget. (RenderSelect::layout): Updated type for array of listItems. (RenderSelect::slotSelected): ditto. (RenderSelect::slotSelectionChanged): ditto. (RenderSelect::updateSelection): ditto.
  • kwq/KWQListBox.h: Added ItemType enum with the following values: Option, GroupLabel, and Separator. (KWQListBoxItem::KWQListBoxItem): Updated to use ItemType instead of old isGroupLabel bool. (QListBox::appendItem): ditto. (QListBox::appendGroupLabel): ditto.
  • kwq/KWQComboBox.h: (QComboBox::appendItem): the private version of appendItem used to take isLabel as a parameter. Now it takes an ItemType. (QComboBox::appendGroupLabel): calls appendItem with an ItemType of GroupLabel (QComboBox::appendSeparator): calls appendItem with an ItemType of Separator
  • kwq/KWQComboBox.mm: (QComboBox::setTitle): Updated to check for the ItemType instead of the old isGroupLabel bool. (QComboBox::appendItem): If the new item is a Separator, then we add a separatorItem to the popup menu. (QComboBox::sizeHint): Updated to check for the ItemType instead of the old isGroupLabel bool. (QComboBox::populateMenu): If the new item is a Separator, then we add a separatorItem to the popup menu.
  • kwq/KWQListBox.mm: (QListBox::appendItem): Updated to use the ItemType instead of the old isLabel bool. (QListBox::sizeForNumberOfLines): ditto. (-[KWQTableView tableView:shouldSelectRow:]): ditto. (-[KWQTableView drawRow:clipRect:]): ditto.
2:34 PM Changeset in webkit [10448] by adele
  • 7 edits in trunk/WebCore

Reviewed by Darin.

Test cases updated: manual-tests/select_hr.html:
updated for case where selection is changed for a list box that has an <hr> in its list items, even though it doesn't appear in the list.

  • khtml/rendering/render_form.cpp: (RenderSelect::slotSelectionChanged): Added counter that increments only for visible list items (options and optgroups). Before this change, list boxes that had invisible <hr>s could have the visible selected option get out of sync from the selected state. (RenderSelect::updateSelection): ditto.
  • kwq/KWQListBox.h: Changed enum from ItemType to KWQListBoxItemType and values to KWQListBoxOption, KWQListBoxGroupLabel, and KWQListBoxSeparator. (KWQListBoxItem::KWQListBoxItem): ditto. (QListBox::appendItem): ditto. (QListBox::appendGroupLabel): ditto.
  • kwq/KWQListBox.mm: (QListBox::appendItem): ditto. (QListBox::sizeForNumberOfLines): ditto. (-[KWQTableView tableView:shouldSelectRow:]): ditto. (-[KWQTableView drawRow:clipRect:]): ditto.
  • kwq/KWQComboBox.h: (QComboBox::appendItem): ditto. (QComboBox::appendGroupLabel): ditto. (QComboBox::appendSeparator): ditto.
  • kwq/KWQComboBox.mm: (QComboBox::setTitle): ditto. (QComboBox::appendItem): ditto. (QComboBox::sizeHint): ditto. (QComboBox::populateMenu): ditto.
11:08 AM Changeset in webkit [10447] by bdakin
  • 4 edits in trunk

* empty log message *

9:47 AM Changeset in webkit [10446] by darin
  • 1 edit
    2 adds
    1 delete in trunk
  • added back a test now that Vicki fixed it so it no longer crashes
  • layout-tests/dom/html/level2/html/HTMLFrameElement09.html: Added.
  • layout-tests/dom/html/level2/html/HTMLFrameElement09-expected.txt: Added.
  • layout-tests/dom/html/level2/html/HTMLFrameElement09.html-disabled: Removed.
9:45 AM Changeset in webkit [10445] by darin
  • 3 edits in trunk/WebCore

Reviewed by Maciej.

  • khtml/editing/apply_style_command.h: Change m_style to be a SharedPtr.
  • khtml/editing/apply_style_command.cpp: (khtml::StyleChange::init): Added use of SharedPtr. (khtml::StyleChange::currentlyHasStyle): Ditto. (khtml::ApplyStyleCommand::ApplyStyleCommand): Ditto. (khtml::ApplyStyleCommand::~ApplyStyleCommand): Ditto. (khtml::ApplyStyleCommand::doApply): Ditto. (khtml::ApplyStyleCommand::applyRelativeFontStyleChange): Ditto. (khtml::ApplyStyleCommand::removeCSSStyle): Ditto. (khtml::hasTextDecorationProperty): Ditto. (khtml::ApplyStyleCommand::extractTextDecorationStyle): Ditto. (khtml::ApplyStyleCommand::extractAndNegateTextDecorationStyle): Ditto. (khtml::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode): Ditto. (khtml::ApplyStyleCommand::removeInlineStyle): Ditto. (khtml::ApplyStyleCommand::addInlineStyleIfNeeded): Ditto. (khtml::ApplyStyleCommand::computedFontSize): Ditto.
4:15 AM Changeset in webkit [10444] by eseidel
  • 12 edits
    1 add in trunk

Bug #: 4799
Submitted by: eseidel
Reviewed by: mjs

  • ForwardingHeaders/q3ptrdict.h: Added.
  • kdom/cache/KDOMCacheHelper.h:
  • kdom/cache/KDOMCachedDocument.cpp: (CachedDocument::checkNotify): (CachedDocument::error):
  • kdom/cache/KDOMCachedImage.cpp: (CachedImage::do_notify): (CachedImage::movieStatus): (CachedImage::data): (CachedImage::error):
  • kdom/cache/KDOMCachedObject.h:
  • kdom/cache/KDOMCachedScript.cpp: (CachedScript::checkNotify):
  • kdom/cache/KDOMCachedStyleSheet.cpp: (CachedStyleSheet::checkNotify): (CachedStyleSheet::error):
  • kdom/cache/KDOMLoader.cpp: (DocumentLoader::setAutoloadImages): (DocumentLoader::setShowAnimations): (Loader::numRequests): (Loader::cancelRequests): (Loader::jobForRequest):
  • kdom/cache/KDOMLoader.h:
  • kdom/ecma/Ecma.cpp: (Ecma::createEventListener):
  • kdom/ecma/ScriptInterpreter.cpp: (ScriptInterpreter::mark):
  • kwq/KWQPtrDict.h: Re-ran scripts from previous commit, now including QPtrDict. http://bugzilla.opendarwin.org/show_bug.cgi?id=4799
3:03 AM Changeset in webkit [10443] by eseidel
  • 101 edits
    10 adds in trunk

Bug #: 4799
Submitted by: eseidel
Reviewed by: mjs

  • ForwardingHeaders/q3cstring.h: Added.
  • ForwardingHeaders/q3dict.h: Added.
  • ForwardingHeaders/q3intdict.h: Added.
  • ForwardingHeaders/q3memarray.h: Added.
  • ForwardingHeaders/q3paintdevicemetrics.h: Added.
  • ForwardingHeaders/q3ptrcollection.h: Added.
  • ForwardingHeaders/q3ptrlist.h: Added.
  • ForwardingHeaders/q3ptrstack.h: Added.
  • ForwardingHeaders/q3valuelist.h: Added.
  • ForwardingHeaders/q3valuevector.h: Added.
  • kcanvas/KCanvas.cpp: (KCanvas::setCanvasSize): (KCanvas::invalidate):
  • kcanvas/KCanvasFilters.h: (KCanvasFEColorMatrix::values): (KCanvasFEColorMatrix::setValues):
  • kcanvas/KCanvasItem.h:
  • kcanvas/KCanvasPath.h:
  • kcanvas/KCanvasRegistry.cpp: (operator<<):
  • kcanvas/KCanvasRegistry.h:
  • kcanvas/KCanvasResources.h:
  • kcanvas/KCanvasTreeDebug.h: (operator<<):
  • kcanvas/KCanvasTypes.h:
  • kcanvas/KCanvasView.cpp:
  • kcanvas/device/KRenderingDevice.h:
  • kcanvas/device/KRenderingDeviceFactory.cpp: (KRenderingDeviceFactory::request): (KRenderingDeviceFactory::deviceList):
  • kcanvas/device/KRenderingDeviceFactory.h:
  • kcanvas/device/KRenderingPaintServerGradient.cpp: (KCSortedGradientStopList::compareItems):
  • kcanvas/device/KRenderingPaintServerGradient.h:
  • kcanvas/device/KRenderingStyle.h:
  • kdom/KDOMSettings.cpp: (KDOMSettings::isAdFiltered):
  • kdom/cache/KDOMCache.cpp: (Cache::init): (Cache::hasPending): (Cache::statistics):
  • kdom/cache/KDOMCache.h:
  • kdom/cache/KDOMCacheHelper.h:
  • kdom/cache/KDOMLoader.cpp: (Loader::numRequests): (Loader::cancelRequests):
  • kdom/cache/KDOMLoader.h:
  • kdom/core/DOMList.h:
  • kdom/core/DocumentImpl.cpp: (DocumentImpl::getElementById): (DocumentImpl::setPaintDevice): (DocumentImpl::getId):
  • kdom/core/DocumentImpl.h: (KDOM::DocumentImpl::paintDeviceMetrics): (KDOM::DocumentImpl::IdNameMapping::~IdNameMapping):
  • kdom/core/NamedNodeMapImpl.cpp: (RONamedNodeMapImpl::RONamedNodeMapImpl): (RONamedNodeMapImpl::getNamedItem):
  • kdom/core/NamedNodeMapImpl.h:
  • kdom/core/NodeImpl.cpp: (NodeImpl::compareDocumentPosition):
  • kdom/core/TextImpl.cpp: (TextImpl::wholeText): (TextImpl::checkChildren): (TextImpl::replaceWholeText): (TextImpl::logicallyAdjacentTextNodes):
  • kdom/core/TextImpl.h:
  • kdom/css/CSSPrimitiveValueImpl.cpp: (CSSPrimitiveValueImpl::computeLength): (CSSPrimitiveValueImpl::computeLengthFloat):
  • kdom/css/CSSPrimitiveValueImpl.h:
  • kdom/css/CSSRuleListImpl.h:
  • kdom/css/CSSStyleDeclarationImpl.cpp: (CSSStyleDeclarationImpl::CSSStyleDeclarationImpl): (CSSStyleDeclarationImpl::operator=): (CSSStyleDeclarationImpl::cssText): (CSSStyleDeclarationImpl::setCssText): (CSSStyleDeclarationImpl::getPropertyCSSValue): (CSSStyleDeclarationImpl::removeProperty): (CSSStyleDeclarationImpl::getPropertyPriority): (CSSStyleDeclarationImpl::setProperty):
  • kdom/css/CSSStyleDeclarationImpl.h: (KDOM::CSSStyleDeclarationImpl::values):
  • kdom/css/CSSStyleRuleImpl.cpp: (CSSStyleRuleImpl::setSelector):
  • kdom/css/CSSStyleRuleImpl.h: (KDOM::CSSStyleRuleImpl::selector):
  • kdom/css/CSSStyleSelector.cpp: (CSSStyleSelector::CSSStyleSelector): (CSSStyleSelector::computeFontSizes): (CSSStyleSelector::computeFontSizesFor): (nextFontSize): (CSSStyleSelector::addInlineDeclarations): (CSSStyleSelector::buildLists): (CSSStyleSelectorList::CSSStyleSelectorList): (CSSStyleSelectorList::append): (CSSStyleSelectorList::collect): (CSSOrderedPropertyList::compareItems): (CSSOrderedPropertyList::append): (CSSStyleSelector::convertToLength): (CSSStyleSelector::applyRule):
  • kdom/css/CSSStyleSelector.h: (KDOM::CSSStyleSelector::fontSizes): (KDOM::CSSStyleSelector::fixedFontSizes):
  • kdom/css/CSSStyleSheetImpl.cpp: (CSSStyleSheetImpl::CSSStyleSheetImpl):
  • kdom/css/CSSValueListImpl.cpp: (CSSValueListImpl::cssText):
  • kdom/css/CSSValueListImpl.h:
  • kdom/css/Font.cpp: (Font::update):
  • kdom/css/Font.h:
  • kdom/css/KDOMCSSParser.cpp: (CSSParser::createStyleDeclaration): (CSSParser::createCSSStyleDeclaration):
  • kdom/css/KDOMCSSParser.h:
  • kdom/css/MediaListImpl.cpp: (MediaListImpl::mediaText): (MediaListImpl::deleteMedium):
  • kdom/css/MediaListImpl.h:
  • kdom/css/StyleBaseImpl.cpp: (StyleBaseImpl::setParsedValue):
  • kdom/css/StyleBaseImpl.h:
  • kdom/css/StyleSheetListImpl.cpp: (StyleSheetListImpl::~StyleSheetListImpl): (StyleSheetListImpl::length): (StyleSheetListImpl::item):
  • kdom/css/StyleSheetListImpl.h:
  • kdom/ecma/ScriptInterpreter.cpp: (ScriptInterpreter::forgetDOMObject):
  • kdom/events/EventTargetImpl.cpp: (EventTargetImpl::addEventListener): (EventTargetImpl::removeEventListener): (EventTargetImpl::dispatchEvent): (EventTargetImpl::handleLocalEvents):
  • kdom/events/EventTargetImpl.h:
  • kdom/ls/LSParserImpl.cpp: (LSParserImpl::parse):
  • kdom/parser/KDOMDocumentBuilder.cpp:
  • kdom/xpath/impl/expression.cpp: (Expression::~Expression): (Expression::optimize): (Expression::isConstant):
  • kdom/xpath/impl/expression.h:
  • kdom/xpath/impl/functions.cpp: (Function::setArguments): (FunctionLibrary::getFunction):
  • kdom/xpath/impl/functions.h:
  • kdom/xpath/impl/path.cpp: (Path::~Path): (Path::optimize): (Path::doEvaluate): (Path::dump):
  • kdom/xpath/impl/path.h:
  • kdom/xpath/impl/step.cpp: (Step::Step): (Step::~Step): (Step::evaluate): (Step::optimize): (Step::dump):
  • kdom/xpath/impl/step.h:
  • kdom/xpath/impl/tokenizer.cpp: (Tokenizer::isAxisName): (Tokenizer::isNodeTypeName):
  • kdom/xpath/impl/tokenizer.h:
  • kdom/xpath/impl/util.h:
  • kdom/xpath/impl/variablereference.cpp: (VariableReference::doEvaluate):
  • kdom/xpointer/impl/ElementSchemeImpl.cpp: (ElementSchemeImpl::evaluate):
  • kdom/xpointer/impl/ElementSchemeImpl.h:
  • kdom/xpointer/impl/XPointerEvaluatorImpl.cpp: (XPointerEvaluatorImpl::createXPointer):
  • kdom/xpointer/impl/XPointerExpressionImpl.cpp:
  • kdom/xpointer/impl/XPointerExpressionImpl.h:
  • ksvg2/KSVGFactory.cpp: (KSVGFactory::createPartObject): (KSVGFactory::registerPart):
  • ksvg2/KSVGFactory.h: (KSVG::KSVGFactory::partList):
  • ksvg2/css/KSVGCSSParser.cpp: (SVGCSSParser::createCSSStyleDeclaration):
  • ksvg2/css/KSVGCSSParser.h:
  • ksvg2/css/SVGCSSStyleDeclarationImpl.cpp: (SVGCSSStyleDeclarationImpl::SVGCSSStyleDeclarationImpl):
  • ksvg2/css/SVGCSSStyleDeclarationImpl.h:
  • ksvg2/css/SVGCSSStyleSelector.cpp: (SVGCSSStyleSelector::loadDefaultStyle): (SVGCSSStyleSelector::addExtraDeclarations):
  • ksvg2/css/SVGCSSStyleSelector.h:
  • ksvg2/misc/KCanvasRenderingStyle.cpp: (KCanvasRenderingStyle::updateStroke): (KCanvasRenderingStyle::cssPrimitiveToLength):
  • ksvg2/misc/KSVGTimeScheduler.cpp: (SVGTimer::notifyAll):
  • ksvg2/misc/KSVGTimeScheduler.h:
  • ksvg2/svg/SVGDocumentImpl.cpp: (SVGDocumentImpl::finishedParsing): (SVGDocumentImpl::recalcStyleSelector):
  • ksvg2/svg/SVGDocumentImpl.h:
  • ksvg2/svg/SVGFEColorMatrixElementImpl.cpp: (SVGFEColorMatrixElementImpl::createCanvasItem):
  • ksvg2/svg/SVGList.h:
  • ksvg2/svg/SVGSVGElementImpl.cpp: (SVGSVGElementImpl::pixelUnitToMillimeterX): (SVGSVGElementImpl::pixelUnitToMillimeterY):
  • kwq/KWQCString.h: Added #define q->q3.
  • kwq/KWQCollection.h:
  • kwq/KWQDict.h:
  • kwq/KWQIntDict.h:
  • kwq/KWQMemArray.h:
  • kwq/KWQPaintDeviceMetrics.h:
  • kwq/KWQPtrList.h:
  • kwq/KWQPtrStack.h:
  • kwq/KWQValueList.h:
  • kwq/KWQValueVector.h: Pulled over first section of Qt4 changes from kdom, mapping existing Qt3 classes to their new Qt4 names and adding necessary #defines to kwq to allow supporting both names. http://bugzilla.opendarwin.org/show_bug.cgi?id=4799
Note: See TracTimeline for information about the timeline view.