Timeline



Apr 11, 2006:

10:31 PM Changeset in webkit [13833] by ggaren
  • 2 edits in trunk/JavaScriptCore

Reviewed by Maciej.

Minor code cleanup -- passes all the JS tests.

  • kjs/object_object.cpp: (ObjectObjectImp::construct): (ObjectObjectImp::callAsFunction):
9:46 PM Changeset in webkit [13832] by darin
  • 9 edits in trunk

JavaScriptCore:

  • another attempt to fix Windows build -- Vector in Forward.h was not working
  • kxmlcore/Forward.h: Remove Vector.
  • kxmlcore/Vector.h: Add back default arguments, remove include of Forward.h.

WebCore:

  • try to fix Windows build
  • html/HTMLCollection.h: Add back include of Vector.h.
  • page/Frame.h: Ditto.
  • platform/Timer.h: Ditto.
  • more changes for no-SVG (not working yet though)
  • editing/CompositeEditCommand.h: Added css_valueimpl.h include.
9:15 PM Changeset in webkit [13831] by darin
  • 3 edits in trunk/WebCore
  • try to fix no-SVG build
  • kwq/RenderTreeAsText.cpp: Added back an include only needed for non-SVG.
  • rendering/RenderObject.h: Ditto.
9:07 PM Changeset in webkit [13830] by darin
  • 12 edits
    3 deletes in trunk

JavaScriptCore:

  • try to fix Windows build -- HashForward.h was not working
  • kxmlcore/HashForward.h: Removed.
  • JavaScriptCore.xcodeproj/project.pbxproj: Remove HashForward.h.
  • kjs/collector.h: Remove use of HashForward.h.
  • kxmlcore/HashCountedSet.h: Remove include of HashForward.h, restore default arguments.
  • kxmlcore/HashMap.h: Ditto.
  • kxmlcore/HashSet.h: Ditto.

JavaScriptGlue:

  • try to fix Windows build
  • kxmlcore/HashForward.h: Removed.

WebCore:

  • try to fix Windows build
  • ForwardingHeaders/kxmlcore/HashForward.h: Removed.
  • dom/xml_tokenizer.h: Include another header instead of HashForward.h.
  • loader/Cache.h: Ditto.
  • page/Page.h: Ditto.
  • platform/TransferJob.h: Ditto.
8:14 PM Changeset in webkit [13829] by justing
  • 2 edits in trunk
7:07 PM Changeset in webkit [13828] by justing
  • 7 edits
    8 adds in trunk

LayoutTests:

Reviewed by harrison

Added to test changes:

  • editing/pasteboard/merge-end-1-expected.checksum: Added.
  • editing/pasteboard/merge-end-1-expected.png: Added.
  • editing/pasteboard/merge-end-1-expected.txt: Added.
  • editing/pasteboard/merge-end-1.html: Added.
  • editing/pasteboard/merge-end-2-expected.checksum: Added.
  • editing/pasteboard/merge-end-2-expected.png: Added.
  • editing/pasteboard/merge-end-2-expected.txt: Added.
  • editing/pasteboard/merge-end-2.html: Added.


Use the editing library so the test can be run in slow motion.

  • editing/deleting/merge-unrendered-space.html:


Merges after pasted content no longer happen unnecessary. These
tests used to do unnecessary merges that happened to move nodes
that served as selection endpoints, which cleared the selection.
So, you'll see changes to the selection change delegate calls.

  • editing/pasteboard/8145-2-expected.txt:
  • editing/pasteboard/paste-line-endings-010-expected.txt:
  • editing/pasteboard/paste-text-008-expected.txt:
  • editing/pasteboard/paste-text-009-expected.txt:

WebCore:

Reviewed by harrison


Fixes more instances of:
<rdar://problem/3950559>
CrashTracer: 2116 crashes in Mail at com.apple.WebCore: khtml::CompositeEditCommand::insertNodeAfter + 32

  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): Do paragraph merging using moveParagraphs.
6:18 PM Changeset in webkit [13827] by eseidel
  • 63 edits
    3 copies
    1 delete in branches/treecode/JavaScriptCore

Merged with HEAD (13826), rs=timo.

6:08 PM Changeset in webkit [13826] by eseidel
  • 1 edit in branches/treecode/JavaScriptCore/kjs/TreeCode.cpp

.5% speedup on ibench by using Completion&. r=darin

5:57 PM Changeset in webkit [13825] by justing
  • 7 edits
    4 adds in trunk

LayoutTests:

Reviewed by harrison

  • editing/deleting/merge-unrendered-space-expected.checksum: Added.
  • editing/deleting/merge-unrendered-space-expected.png: Added.
  • editing/deleting/merge-unrendered-space-expected.txt: Added.
  • editing/deleting/merge-unrendered-space.html: Added.

WebCore:

Reviewed by harrison


Some setup for work on paste performance.

  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::moveParagraph): Moved code from mergeParagraphs so that it can be used in ReplaceSelectionCommand.
  • editing/CompositeEditCommand.h:
  • editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::mergeParagraphs): (WebCore::DeleteSelectionCommand::doApply):
  • editing/VisiblePosition.cpp: (WebCore::VisiblePosition::init): Put the code that chooses m_deepPosition into initDeepPosition. (WebCore::VisiblePosition::initDeepPosition): Fixed a bug: don't fall through to the code that's only for positions inside unrendered space between blocks when there's a candidate downstream() is a candidate. Added a comment about why the fall through code is necessary.
  • editing/VisiblePosition.h:
1:02 PM Changeset in webkit [13824] by harrison
  • 3 edits in trunk/JavaScriptCore

Reviewed by Darin.

  • fixed clean build, broken by Darin's check-in
  • kjs/date_object.cpp: Add needed include of lookup.h.
  • kjs/regexp_object.cpp: Move include of .lut.h file below other includes.
12:45 PM Changeset in webkit [13823] by eseidel
  • 2 edits in trunk/WebKitSite

2006-04-11 Eric Seidel <eseidel@apple.com>

Reviewed by andersca.

  • quality/testing.html: fix run-mozilla-tests to run-javascriptcore-tests
10:51 AM Changeset in webkit [13822] by sullivan
  • 2 edits in trunk/WebCore

Reviewed by Darin Adler.


  • fixed <rdar://problem/4509328> highlight all matches hangs when searching for tab character on www.google.com (and others)


For reasons not yet completely understood, searching for a tab character on some pages (Google, Amazon) finds a match
with a non-collapsed range but then claims that the end visible position of the match is the original start visible
position of the search range. This was causing the highlightAllMatches code to loop forever. Fixed the loop by
checking for the non-advancing search range explicitly. I'm going to track down a reduction of the bogus
search-for-tab issue, and write that up as a separate bug (that bug is not a regression; you can "find" a tab on
google in Tiger also).

  • page/Frame.cpp: (WebCore::Frame::highlightAllMatchesForString): break the loop if the search range hasn't advanced
9:30 AM Changeset in webkit [13821] by darin
  • 352 edits
    7 adds
    1 delete in trunk

JavaScriptCore:

Rubber-stamped by John Sullivan.

  • switched from a shell script to a makefile for generated files
  • removed lots of unneeded includes
  • added new Forward.h and HashForward.h headers that allow compiling with fewer unneeded templates
  • DerivedSources.make: Added.
  • generate-derived-sources: Removed.
  • JavaScriptCore.xcodeproj/project.pbxproj: Added new files, changed to use DerivedSources.make.
  • kxmlcore/Forward.h: Added.
  • kxmlcore/HashForward.h: Added.
  • kxmlcore/HashCountedSet.h: Include HashForward for default args.
  • kxmlcore/HashMap.h: Ditto.
  • kxmlcore/HashSet.h: Ditto.
  • kjs/object.h:
  • kjs/object.cpp: Moved KJS_MAX_STACK into the .cpp file.
  • bindings/NP_jsobject.cpp:
  • bindings/c/c_instance.h:
  • bindings/jni/jni_class.h:
  • bindings/jni/jni_runtime.h:
  • bindings/jni/jni_utility.h:
  • bindings/objc/WebScriptObject.mm:
  • bindings/objc/WebScriptObjectPrivate.h:
  • bindings/objc/objc_class.h:
  • bindings/objc/objc_class.mm:
  • bindings/objc/objc_instance.h:
  • bindings/objc/objc_instance.mm:
  • bindings/objc/objc_runtime.mm:
  • bindings/objc/objc_utility.mm:
  • bindings/runtime.h:
  • bindings/runtime_array.cpp:
  • bindings/runtime_array.h:
  • bindings/runtime_method.cpp:
  • bindings/runtime_method.h:
  • bindings/runtime_object.cpp:
  • bindings/runtime_root.h:
  • kjs/JSImmediate.cpp:
  • kjs/Parser.h:
  • kjs/array_object.cpp:
  • kjs/array_object.h:
  • kjs/bool_object.cpp:
  • kjs/bool_object.h:
  • kjs/collector.h:
  • kjs/context.h:
  • kjs/debugger.cpp:
  • kjs/error_object.h:
  • kjs/function_object.h:
  • kjs/internal.h:
  • kjs/lexer.cpp:
  • kjs/math_object.cpp:
  • kjs/math_object.h:
  • kjs/nodes.cpp:
  • kjs/nodes.h:
  • kjs/number_object.cpp:
  • kjs/number_object.h:
  • kjs/object_object.cpp:
  • kjs/operations.cpp:
  • kjs/protected_reference.h:
  • kjs/reference.h:
  • kjs/reference_list.h:
  • kjs/regexp_object.h:
  • kjs/string_object.cpp:
  • kjs/string_object.h:
  • kjs/testkjs.cpp:
  • kjs/value.cpp:
  • kjs/value.h:
  • kxmlcore/HashTable.h:
  • kxmlcore/ListRefPtr.h:
  • kxmlcore/TCPageMap.h:
  • kxmlcore/Vector.h: Removed unneeded header includes.

JavaScriptGlue:

Rubber-stamped by John Sullivan.

  • added forwarding headers for the new Forward.h and HashForward.h files
  • kxmlcore/Forward.h: Added.
  • kxmlcore/HashForward.h: Added.

WebCore:

Rubber-stamped by John Sullivan (except for pbxproj change).

  • updated to use the new Forward.h and HashForward.h headers
  • moved the showTree debugging functions out of the WebCore namespace so they are easier to call from gdb, and renamed the showTree member functions so they don't get in the way; now you can do "call showTree(x)" in gdb and it just works
  • removed a lot of unneeded includes
  • WebCore.xcodeproj/project.pbxproj: Fixed a lot of paths that were not relative to the enclosing group.
  • ForwardingHeaders/kxmlcore/Forward.h: Added.
  • ForwardingHeaders/kxmlcore/HashForward.h: Added.
  • bindings/js/JSCanvasRenderingContext2DBase.cpp:
  • bindings/js/JSXMLHttpRequest.cpp:
  • bindings/js/JSXMLHttpRequest.h:
  • bindings/js/JSXSLTProcessor.h:
  • bindings/js/kjs_binding.h:
  • bindings/js/kjs_dom.cpp:
  • bindings/js/kjs_dom.h:
  • bindings/js/kjs_events.cpp:
  • bindings/js/kjs_events.h:
  • bindings/js/kjs_html.cpp:
  • bindings/js/kjs_navigator.cpp:
  • bindings/js/kjs_navigator.h:
  • bindings/js/kjs_proxy.cpp:
  • bindings/js/kjs_traversal.h:
  • bindings/js/kjs_window.cpp:
  • bindings/js/kjs_window.h:
  • bindings/objc/DOM.mm:
  • bindings/objc/DOMCSS.mm:
  • bindings/objc/DOMCore.h:
  • bindings/objc/DOMEvents.mm:
  • bindings/objc/DOMHTML.mm:
  • bindings/objc/DOMImplementationFront.h:
  • bindings/objc/DOMInternal.mm:
  • bindings/objc/DOMUtility.mm:
  • bindings/objc/DOMViews.mm:
  • bridge/BrowserExtension.h:
  • bridge/mac/BrowserExtensionMac.mm:
  • bridge/mac/FrameMac.h:
  • bridge/mac/FrameMac.mm:
  • bridge/mac/WebCoreFrameBridge.mm:
  • bridge/mac/WebCoreFrameNamespaces.mm:
  • bridge/mac/WebCoreJavaScript.mm:
  • bridge/win/PageWin.cpp:
  • css/CSSComputedStyleDeclaration.cpp:
  • css/css_base.h:
  • css/css_ruleimpl.h:
  • css/css_valueimpl.cpp:
  • css/cssparser.cpp:
  • css/cssparser.h:
  • css/cssstyleselector.cpp:
  • css/cssstyleselector.h:
  • dom/AbstractView.h:
  • dom/AtomicStringList.h:
  • dom/Attribute.cpp:
  • dom/Attribute.h:
  • dom/Comment.cpp:
  • dom/ContainerNode.cpp:
  • dom/DOMImplementation.cpp:
  • dom/DOMImplementation.h:
  • dom/Document.cpp:
  • dom/Document.h:
  • dom/Element.h:
  • dom/EventTargetNode.cpp: (WebCore::EventTargetNode::dump): (WebCore::forbidEventDispatch): (WebCore::allowEventDispatch): (WebCore::eventDispatchForbidden):
  • dom/EventTargetNode.h: (WebCore::EventTargetNode::postDispatchEventHandler):
  • dom/NamedAttrMap.h:
  • dom/Node.cpp: (WebCore::Node::showNode): (WebCore::Node::showTree): (WebCore::Node::showTreeAndMark): (showTree):
  • dom/Node.h:
  • dom/NodeList.cpp:
  • dom/NodeList.h:
  • dom/Position.cpp: (showTree):
  • dom/Position.h:
  • dom/Range.cpp:
  • dom/Range.h:
  • dom/StyledElement.cpp:
  • dom/StyledElement.h:
  • dom/dom2_eventsimpl.cpp:
  • dom/dom2_eventsimpl.h:
  • dom/dom2_traversalimpl.h:
  • dom/dom_xmlimpl.cpp:
  • dom/xml_tokenizer.cpp:
  • dom/xml_tokenizer.h:
  • editing/AppendNodeCommand.cpp:
  • editing/ApplyStyleCommand.cpp:
  • editing/ApplyStyleCommand.h:
  • editing/BreakBlockquoteCommand.cpp:
  • editing/CompositeEditCommand.cpp:
  • editing/CreateLinkCommand.cpp:
  • editing/DeleteFromTextNodeCommand.cpp:
  • editing/DeleteFromTextNodeCommand.h:
  • editing/DeleteSelectionCommand.cpp:
  • editing/EditCommand.cpp:
  • editing/EditCommand.h:
  • editing/HTMLInterchange.cpp:
  • editing/InsertIntoTextNodeCommand.cpp:
  • editing/InsertIntoTextNodeCommand.h:
  • editing/InsertLineBreakCommand.cpp:
  • editing/InsertNodeBeforeCommand.cpp:
  • editing/InsertParagraphSeparatorCommand.cpp:
  • editing/InsertTextCommand.cpp:
  • editing/JSEditor.cpp:
  • editing/JoinTextNodesCommand.cpp:
  • editing/MergeIdenticalElementsCommand.cpp:
  • editing/ModifySelectionListLevelCommand.cpp:
  • editing/MoveSelectionCommand.cpp:
  • editing/RebalanceWhitespaceCommand.h:
  • editing/RemoveCSSPropertyCommand.h:
  • editing/ReplaceSelectionCommand.cpp:
  • editing/ReplaceSelectionCommand.h:
  • editing/Selection.cpp: (WebCore::Selection::formatForDebugger): (WebCore::Selection::showTree): (showTree):
  • editing/Selection.h:
  • editing/SelectionController.cpp: (WebCore::SelectionController::formatForDebugger): (WebCore::SelectionController::showTree): (showTree):
  • editing/SelectionController.h:
  • editing/TextIterator.cpp:
  • editing/TextIterator.h:
  • editing/TypingCommand.cpp:
  • editing/TypingCommand.h:
  • editing/UnlinkCommand.cpp:
  • editing/VisiblePosition.cpp: (WebCore::isEqualIgnoringAffinity): (WebCore::VisiblePosition::formatForDebugger): (WebCore::VisiblePosition::showTree): (showTree):
  • editing/VisiblePosition.h: (WebCore::VisiblePosition::VisiblePosition): (WebCore::operator==):
  • editing/WrapContentsInDummySpanCommand.cpp:
  • editing/htmlediting.h:
  • editing/markup.cpp:
  • editing/markup.h: (WebCore::):
  • editing/visible_units.cpp:
  • html/CanvasGradient.cpp:
  • html/CanvasRenderingContext2D.h:
  • html/CanvasStyle.cpp:
  • html/CanvasStyle.h:
  • html/FormDataList.cpp:
  • html/FormDataList.h:
  • html/HTMLCollection.cpp:
  • html/HTMLCollection.h:
  • html/HTMLDocument.cpp:
  • html/HTMLDocument.h:
  • html/HTMLElement.cpp:
  • html/HTMLElementFactory.cpp:
  • html/HTMLElementFactory.h:
  • html/HTMLFormCollection.cpp:
  • html/HTMLFormElement.cpp:
  • html/HTMLFormElement.h:
  • html/HTMLInputElement.cpp:
  • html/HTMLParser.cpp:
  • html/HTMLSelectElement.cpp:
  • html/HTMLSelectElement.h:
  • html/HTMLTokenizer.cpp:
  • html/HTMLTokenizer.h:
  • html/html_baseimpl.cpp:
  • html/html_headimpl.h:
  • kcanvas/KCanvasCreator.cpp:
  • kcanvas/KCanvasFilters.h:
  • kcanvas/KCanvasPath.h:
  • kcanvas/KCanvasResources.h:
  • kcanvas/KCanvasTreeDebug.cpp:
  • kcanvas/RenderPath.cpp:
  • kcanvas/RenderPath.h:
  • kcanvas/device/KRenderingDevice.h:
  • kcanvas/device/KRenderingPaintServerGradient.h:
  • kcanvas/device/KRenderingPaintServerPattern.h:
  • kcanvas/device/KRenderingPaintServerSolid.h:
  • kcanvas/device/quartz/KCanvasFilterQuartz.mm:
  • kcanvas/device/quartz/KCanvasMaskerQuartz.h:
  • kcanvas/device/quartz/KCanvasResourcesQuartz.h:
  • kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
  • kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
  • khtml/misc/decoder.cpp:
  • khtml/misc/decoder.h:
  • khtml/xsl/XSLStyleSheet.cpp:
  • khtml/xsl/XSLTProcessor.cpp:
  • khtml/xsl/XSLTProcessor.h:
  • ksvg2/css/SVGRenderStyle.h:
  • ksvg2/ecma/GlobalObject.cpp:
  • ksvg2/misc/KCanvasRenderingStyle.h:
  • ksvg2/misc/SVGDocumentExtensions.h:
  • ksvg2/svg/SVGAngle.h:
  • ksvg2/svg/SVGAnimateColorElement.h:
  • ksvg2/svg/SVGAnimatedColor.h:
  • ksvg2/svg/SVGAnimatedLengthList.h:
  • ksvg2/svg/SVGAnimatedNumberList.h:
  • ksvg2/svg/SVGAnimatedString.h:
  • ksvg2/svg/SVGAnimatedTransformList.h:
  • ksvg2/svg/SVGAnimationElement.h:
  • ksvg2/svg/SVGColor.h:
  • ksvg2/svg/SVGCursorElement.h:
  • ksvg2/svg/SVGHelper.h:
  • ksvg2/svg/SVGLength.h:
  • ksvg2/svg/SVGList.h:
  • ksvg2/svg/SVGPaint.h:
  • ksvg2/svg/SVGPathSeg.h:
  • ksvg2/svg/SVGPatternElement.h:
  • ksvg2/svg/SVGSVGElement.cpp:
  • ksvg2/svg/SVGSVGElement.h:
  • ksvg2/svg/SVGStringList.h:
  • ksvg2/svg/SVGTransform.h:
  • kwq/AccessibilityObjectCache.mm:
  • kwq/ClipboardMac.mm:
  • kwq/JavaAppletWidget.mm:
  • kwq/KWQComboBox.mm:
  • kwq/KWQEditCommand.mm:
  • kwq/KWQFileButton.mm:
  • kwq/KWQKHTMLSettings.h:
  • kwq/KWQKSSLKeyGen.mm:
  • kwq/KWQLoader.mm:
  • kwq/KWQPageState.mm:
  • kwq/KWQTextEdit.mm:
  • kwq/RegularExpression.h:
  • kwq/RenderTreeAsText.cpp:
  • kwq/RenderTreeAsText.h:
  • kwq/WebCoreAXObject.mm:
  • loader/Cache.cpp:
  • loader/Cache.h:
  • loader/CachedCSSStyleSheet.cpp:
  • loader/CachedObject.h:
  • loader/CachedScript.cpp:
  • loader/CachedXBLDocument.cpp:
  • loader/CachedXBLDocument.h:
  • loader/CachedXSLStyleSheet.cpp:
  • loader/CachedXSLStyleSheet.h:
  • loader/DocLoader.cpp:
  • page/Frame.cpp:
  • page/Frame.h:
  • page/FramePrivate.h:
  • page/FrameTree.cpp:
  • page/FrameTree.h:
  • page/FrameView.cpp:
  • page/FrameView.h:
  • page/Page.cpp:
  • page/Page.h:
  • page/Plugin.h: (WebCore::Plugin::Plugin): (WebCore::Plugin::view):
  • platform/Color.cpp:
  • platform/FloatRect.h:
  • platform/Font.cpp:
  • platform/Font.h:
  • platform/FontFamily.cpp:
  • platform/GraphicsContext.cpp:
  • platform/Image.cpp:
  • platform/Image.h:
  • platform/IntRect.h:
  • platform/KURL.cpp:
  • platform/KURL.h:
  • platform/SegmentedString.h:
  • platform/Shared.h:
  • platform/StreamingTextDecoder.cpp:
  • platform/StringImpl.cpp:
  • platform/StringImpl.h:
  • platform/TextEncoding.h:
  • platform/Timer.cpp:
  • platform/Timer.h:
  • platform/TransferJob.cpp:
  • platform/TransferJob.h:
  • platform/TransferJobInternal.h:
  • platform/cairo/GraphicsContextCairo.cpp:
  • platform/cairo/ImageCairo.cpp:
  • platform/cairo/ImageSourceCairo.cpp:
  • platform/image-decoders/gif/GIFImageReader.cpp:
  • platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
  • platform/mac/FontFamilyMac.mm:
  • platform/mac/FontMac.mm:
  • platform/mac/ImageMac.mm:
  • platform/mac/TextEncodingMac.cpp:
  • platform/mac/TransferJobMac.mm:
  • platform/win/FontPlatformDataWin.cpp:
  • platform/win/TransferJobWin.cpp:
  • rendering/RenderBlock.cpp:
  • rendering/RenderBlock.h:
  • rendering/RenderBox.cpp:
  • rendering/RenderBox.h:
  • rendering/RenderCanvas.cpp:
  • rendering/RenderCanvas.h:
  • rendering/RenderContainer.cpp:
  • rendering/RenderFlexibleBox.h:
  • rendering/RenderFlow.cpp:
  • rendering/RenderFlow.h:
  • rendering/RenderImage.cpp:
  • rendering/RenderImage.h:
  • rendering/RenderLayer.cpp:
  • rendering/RenderLayer.h:
  • rendering/RenderObject.cpp: (showTree):
  • rendering/RenderObject.h:
  • rendering/RenderTableCell.h:
  • rendering/RenderTableSection.h:
  • rendering/RenderText.cpp:
  • rendering/RenderText.h:
  • rendering/RenderTextField.cpp:
  • rendering/RenderTextFragment.h:
  • rendering/RenderTheme.h:
  • rendering/RenderThemeMac.mm:
  • rendering/RenderThemeWin.cpp:
  • rendering/bidi.cpp:
  • rendering/render_form.h:
  • rendering/render_line.cpp: (showTree):
  • rendering/render_line.h:
  • rendering/render_list.cpp:
  • rendering/render_replaced.cpp:
  • rendering/render_replaced.h:
  • rendering/render_style.cpp:
  • rendering/render_style.h:
  • xml/xmlhttprequest.h:
4:17 AM Changeset in webkit [13820] by eseidel
  • 2 edits in branches/treecode/JavaScriptCore

misc small speedups to bring 2% more on the js ibench. r=mjs

2:03 AM Changeset in webkit [13819] by eseidel
  • 9 edits in branches/treecode/JavaScriptCore/kjs

Roll DeclaredFunctionImp::call() down into the interpreter loop for a 5% speed gain on ibench. r=mjs

Apr 10, 2006:

9:40 PM Changeset in webkit [13818] by ap
  • 2 edits
    2 moves
    1 delete in trunk

Reviewed by Darin.

WebKitTools:

  • Scripts/run-webkit-tests: Added support for running .pl and .php tests, removed support for .text. Reduced the number of places that explicitly list supported extensions. Some of the changes come from bug 8121, the patch for which got landed only partially.

LayoutTests:

  • http/tests/incremental/slow-utf8-text.pl: Added (renamed from .text).
  • http/tests/incremental/slow-utf8-text.text: Removed.
  • http/tests/incremental/split-hex-entities.pl: Added (renamed from .html).
  • http/tests/incremental/split-hex-entities.html: Removed.
  • http/tests/incremental/.htaccess: Removed.
9:17 PM Changeset in webkit [13817] by sullivan
  • 4 edits in trunk/WebKit

Reviewed by Tim Omernick.


  • fixed <rdar://problem/4139799> Seed: Safari: Private Browsing leaves traces in Icon Cache


  • Misc/WebIconDatabasePrivate.h: new ivars: pageURLsBoundDuringPrivateBrowsing, iconURLsBoundDuringPrivateBrowsing, and privateBrowsingEnabled
  • Misc/WebIconDatabase.m: (-[NSMutableDictionary init]): initialize new ivars, and listen for notifications that WebPreferences changed so we can react to changes to private browsing. (-[NSMutableDictionary iconForURL:withSize:cache:]): Don't remove icon URL from extraRetain dictionary; that's now done in _forgetIconForIconURLString. (I left a comment here earlier about why I was worried about this change, but I convinced myself that it's fine.) (-[WebIconDatabase removeAllIcons]): Removed no-longer-true (and never very clear) comment, and braces. Also remove all objects from the two private-browsing-related dictionaries. (-[WebIconDatabase _setIcon:forIconURL:]): remember icon URL if private browsing is enabled (-[WebIconDatabase _setHaveNoIconForIconURL:]): remember icon URL if private browsing is enabled (-[WebIconDatabase _setIconURL:forURL:]): added an assert that helped me out at one point (-[WebIconDatabase _clearDictionaries]): clear the two new dictionaries too (-[WebIconDatabase _loadIconDictionaries]): made an existing ERROR not fire in the expected case where there are no icons at all on disk (-[WebIconDatabase _updateFileDatabase]): when saving the pageURLToIconURL dictionary to disk, first remove any values that were created during private browsing (-[WebIconDatabase _retainIconForIconURLString:]): skip the code that deals with saving changes to disk if private browsing is enabled (-[WebIconDatabase _forgetIconForIconURLString:]): Remove the icon URL from extraRetain dictionary here. We're forgetting everything about this icon URL so we should forget its former extraRetain count too. (-[WebIconDatabase _resetCachedWebPreferences:]): Cache the new value of private browsing. If it has now been turned off, forget everything we learned while it was on. This causes (e.g.) icons for bookmarks or pre-existing history items to be forgotten if the icon was only learned during private browsing.
  • History/WebHistoryItem.m: removed an unnecessary #import I happened to notice
4:36 PM Changeset in webkit [13816] by darin
  • 2 edits in trunk/LayoutTests
  • fast/dom/gc-4-expected.txt: Add one blank line (test result was failing).
4:30 PM Changeset in webkit [13815] by darin
  • 2 edits in trunk/WebCore
  • try to fix the Windows build
  • WebCore.vcproj/WebCore/WebCore.vcproj: Fix mistaken bad editing of AdditionalIncludeDirectories.
3:30 PM Changeset in webkit [13814] by hyatt
  • 6 edits in trunk/WebCore

Make focus ring painting respect clips set by WebCore (e.g., overflow).

Reviewed by darin

  • platform/GraphicsContext.h:
  • platform/mac/GraphicsContextMac.mm: (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate): (WebCore::GraphicsContext::setFocusRingClip): (WebCore::GraphicsContext::clearFocusRingClip): (WebCore::GraphicsContext::drawFocusRing):
  • platform/mac/WebCoreGraphicsBridge.h:
  • platform/mac/WebCoreGraphicsBridge.m: (-[WebCoreGraphicsBridge drawFocusRingWithPath:radius:color:clipRect:]):
  • rendering/RenderLayer.cpp: (WebCore::setClip): (WebCore::restoreClip):
3:29 PM Changeset in webkit [13813] by hyatt
  • 2 edits in trunk/WebKit

Make the broken CG focus ring painting work when WebCore sets a clip
(in addition to respecting the dirty rect clip).

Reviewed by darin

  • WebCoreSupport/WebGraphicsBridge.m: (-[WebGraphicsBridge drawFocusRingWithPath:radius:color:clipRect:]):
3:12 PM Changeset in webkit [13812] by darin
  • 4 edits
    28 copies
    1 delete in trunk/WebCore

Reviewed by Geoff.

  • death to khtml/ecma, long live bindings/js
  • khtml/ecma: Removed. Moved all files to bindings/js.
  • bindings/js/JSDOMParser.cpp: Added.
  • bindings/js/JSDOMParser.h: Added.
  • bindings/js/JSXMLHttpRequest.cpp: Added.
  • bindings/js/JSXMLHttpRequest.h: Added.
  • bindings/js/JSXMLSerializer.cpp: Added.
  • bindings/js/JSXMLSerializer.h: Added.
  • bindings/js/JSXSLTProcessor.cpp: Added.
  • bindings/js/JSXSLTProcessor.h: Added.
  • bindings/js/kjs_binding.cpp: Added.
  • bindings/js/kjs_binding.h: Added.
  • bindings/js/kjs_css.cpp: Added.
  • bindings/js/kjs_css.h: Added.
  • bindings/js/kjs_dom.cpp: Added.
  • bindings/js/kjs_dom.h: Added.
  • bindings/js/kjs_events.cpp: Added.
  • bindings/js/kjs_events.h: Added.
  • bindings/js/kjs_html.cpp: Added.
  • bindings/js/kjs_html.h: Added.
  • bindings/js/kjs_navigator.cpp: Added.
  • bindings/js/kjs_navigator.h: Added.
  • bindings/js/kjs_proxy.cpp: Added.
  • bindings/js/kjs_proxy.h: Added.
  • bindings/js/kjs_traversal.cpp: Added.
  • bindings/js/kjs_traversal.h: Added.
  • bindings/js/kjs_views.cpp: Added.
  • bindings/js/kjs_views.h: Added.
  • bindings/js/kjs_window.cpp: Added.
  • bindings/js/kjs_window.h: Added.
  • DerivedSources.make: Removed khtml/ecma from directory list.
  • WebCore.vcproj/WebCore/WebCore.vcproj: Moved files from khtml/ecma to bindings/js.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
3:09 PM Changeset in webkit [13811] by eseidel
  • 21 edits
    4 copies
    1 delete in branches/treecode/JavaScriptCore

Re-base the treecode branch to latest HEAD.

I used the following command:
svn merge -r 13663:13752 svn+ssh://eseidel@svn.opensource.apple.com/svn/webkit/trunk/JavaScriptCore

The merge was rubber-stamped by Tim Hatcher.

2:40 PM Changeset in webkit [13810] by darin
  • 2 edits in trunk/LayoutTests
  • fast/dom/gc-4.html: Test had a bug where it used <canvas> without a </canvas> tag. Changed test to include a </canvas> tag.
2:38 PM Changeset in webkit [13809] by darin
  • 3 edits in trunk/WebCore

Reviewed by Geoff.

  • try to fix the Windows build
  • html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::reset): Put code to release m_drawingContext into an APPLE ifdef.
  • platform/win/TemporaryLinkStubs.cpp:
2:10 PM Changeset in webkit [13808] by ggaren
  • 2 edits in trunk/WebKitSite

Reviewed by Beth.

  • projects/compat/hitlist.html: updated dates
2:04 PM Changeset in webkit [13807] by eseidel
  • 1 delete in branches/temp-tree-code

Remove the temporary import branch for treecode.

2:02 PM Changeset in webkit [13806] by eseidel
  • 1 move in branches/treecode

Move the treecode branch to its proper place.

1:34 PM Changeset in webkit [13755] by thatcher
  • 1 add in branches/temp-tree-code

New branch folder for an upcoming import.

10:02 AM Changeset in webkit [13754] by ap
  • 2 edits
    1 add in trunk/WebCore

Fix by Mitz Pettel, reviewed by Eric.

  • kwq/WebCoreAXObject.mm: (-[WebCoreAXObject doAXTextMarkerForPosition:]): Removed the addition of scroll offsets, which is redundant for scrolled views, then changed the first view to be the document's scrolled view instead of its scroll view (all subsequent views were already scrolled views).
  • manual-tests/dictionary-scrolled-iframe.html: Added.
9:49 AM Changeset in webkit [13753] by darin
  • 92 edits in trunk

LayoutTests:

  • regenerated pixel results because many may be affected by the fix for bug 8100

WebKit:

Reviewed by Darin.

  • WebCoreSupport/WebTextRenderer.m: (overrideLayoutOperation): For RTL runs, apply the word-rounding on the left. (CG_floatWidthForRun): For RTL runs, apply the last character's rounding on the left by adjusting the start position. (initializeWidthIterator): Added finalRoundingWidth field to WidthIterator. (advanceWidthIterator): For RTL runs, apply rounding on the left of the character, by increasing the width of the next character (which is the character to the left). For the last character, keep the rounding width in the iterator's finalRoundingWidth, to be used by CG_floatWidthForRun().

Apr 9, 2006:

10:40 PM Changeset in webkit [13805] by ggaren
  • 4 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

5% speedup by pushing all sourceelements nodes on the stack in one go

10:06 PM Changeset in webkit [13752] by ggaren
  • 3 edits in trunk/JavaScriptCore

Reviewed by eric.

This patch switches manual RefPtr exchange with use of
RefPtr::release to ensure that a node's ref count never tops 1
(in the normal case).

  • kjs/nodes.cpp: (BlockNode::BlockNode): (CaseBlockNode::CaseBlockNode):
  • kjs/nodes.h: (KJS::ArrayNode::ArrayNode): (KJS::ObjectLiteralNode::ObjectLiteralNode): (KJS::ArgumentsNode::ArgumentsNode): (KJS::VarStatementNode::VarStatementNode): (KJS::ForNode::ForNode): (KJS::CaseClauseNode::CaseClauseNode): (KJS::FuncExprNode::FuncExprNode): (KJS::FuncDeclNode::FuncDeclNode):
9:53 PM Changeset in webkit [13804] by ggaren
  • 2 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

prevent unnecessary entries in the extra ref count on nodes table

9:40 PM Changeset in webkit [13751] by ap
  • 3 edits
    3 adds in trunk

Reviewed by Darin.

Test: http/tests/xmlhttprequest/basic-auth.html

  • platform/KURL.cpp: (KURL::setUser): Enable a code path that handles non-empty user name - it was already present, but commented out and protected with an assertion. (KURL::setPass): Ditto.
7:45 PM Changeset in webkit [13750] by darin
  • 1 edit in trunk/LayoutTests/fast/canvas/canvas-before-css-expected.checksum

Removed bogus suffix I checked in by accident.

5:55 PM Changeset in webkit [13803] by eseidel
  • 1 edit in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs/TreeCode.cpp

Prevent int->double conversion in hot code path

5:31 PM Changeset in webkit [13802] by ggaren
  • 5 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

fixed up unwinding some more -- all the mozilla js tests now pass

4:48 PM Changeset in webkit [13749] by darin
  • 1 edit in trunk/WebKitTools/Scripts/do-webcore-rename

First early steps towards a next, much smaller, round of renames
in WebCore.

4:38 PM Changeset in webkit [13748] by darin
  • 14 edits
    4 adds in trunk

LayoutTests:

Reviewed by Anders.

  • fast/canvas/canvas-before-css-expected.checksum: Added.
  • fast/canvas/canvas-before-css-expected.png: Added.
  • fast/canvas/canvas-before-css-expected.txt: Added.
  • fast/canvas/canvas-before-css.html: Added.
  • fast/canvas/image-object-in-canvas.html: Test had a bug where it used <canvas> without a </canvas> tag. Changed test to include a </canvas> tag.
  • fast/canvas/patternfill-repeat-expected.txt: Updated for name change from RenderCanvasImage to RenderHTMLCanvas.
  • fast/canvas/image-object-in-canvas-expected.txt: Ditto.
  • fast/canvas/fillrect_gradient-expected.txt: Ditto.
  • fast/canvas/quadraticCurveTo-expected.txt: Ditto.

WebCore:

Reviewed by Anders.

Test: fast/canvas/canvas-before-css.html

This patch makes us match the canvas documentation in Hixie's Web Applications
draft as far as when the canvas is created and recreated and how it's sized.
It also gets rid of the compositeOperation attribute of the canvas element.
We can add that back if we need it. Anders points out that this specifically
changes behavior for canvas elements where the size is set in CSS and not with
width and height attributes. The CSS size now determines how big a box the canvas
is rendered into, but has no effect on the size of the canvas's buffer.

  • html/CanvasRenderingContext2D.h: Added overloads of drawImage that take HTMLCanvasElement, which is no longer derived from HTMLImageElement.
  • html/CanvasRenderingContext2D.cpp: (WebCore::imageSize): Renamed from imageOrCanvasSize. Now used for images only, because canvas is no longer derived from image. (WebCore::CanvasRenderingContext2D::drawImage): Split the implementation of this for image sources from the implementation for canvas sources. (WebCore::CanvasRenderingContext2D::willDraw): Changed to call a new willDraw function on the canvas element. (WebCore::CanvasRenderingContext2D::drawingContext): Changed to call drawingContext on the canvas element rather than the renderer.
  • html/HTMLCanvasElement.h: Changed HTMLCanvasElement to derive from HTMLElement instead of HTMLImageElement. Added width, height, setWidth, setHeight, willDraw, paint, drawingContext, createDrawingContext, and reset functions. Added m_size, m_createdDrawingContext, m_data, and m_drawingContext data members. Removed mapToEntry, attach, detach, and isURLAttribute functins.
  • html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::HTMLCanvasElement): Added initializers for new m_size, m_createdDrawingContext, m_data, and m_drawingContext data members. (WebCore::HTMLCanvasElement::~HTMLCanvasElement): Free m_data and m_drawingContext. (WebCore::HTMLCanvasElement::parseMappedAttribute): Got rid of special case for srcAttr, which is no longer needed since we aren't deriving from HTMLImageElement. Added code that triggers a reset when either width or height is set. (WebCore::HTMLCanvasElement::createRenderer): Added code to set the intrinsic width and height of the renderer to the size of the element. (WebCore::HTMLCanvasElement::setHeight): Added. Sets the height attribute. (WebCore::HTMLCanvasElement::setWidth): Added. Sets the width attribute. (WebCore::HTMLCanvasElement::willDraw): Added. Tells the renderer to repaint. Also has FIXME mentioning we could dirty only the part that has changed in the future. (WebCore::HTMLCanvasElement::reset): Added. Sets the size of the canvas and discards the old buffer, which is an indirect way of resetting the buffer to transparent black. (WebCore::HTMLCanvasElement::paint): Added. Draws the canvas image into the graphics context that's passed in. (WebCore::HTMLCanvasElement::createDrawingContext): Added. Allocates a buffer for the bits, then creates a bitmap context for drawing into the buffer. (WebCore::HTMLCanvasElement::drawingContext): Added. Calls createDrawingContext if needed, then returns the current drawing context. (WebCore::HTMLCanvasElement::createPlatformImage): Changed to always call CGContextFlush and to create the image from the context in this class.
  • rendering/RenderHTMLCanvas.h: Remove almost all of the contents of this file. Removed ~RenderHTMLCanvas, setNeedsImageUpdate, element, updateDrawnImage, drawingContext, createDrawingContext, and drawnImage functions and _drawingContext, _drawingContextData, _drawnImage, and _needsImageUpdate booleans. Changed RenderHTMLCanvas to derive from RenderReplaced instead of RenderImage.
  • rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::RenderHTMLCanvas): Changed to only initialize RenderReplaced. (WebCore::RenderHTMLCanvas::renderName): Moved this in here, since there's no good reason to have this virtual function inlined. (WebCore::RenderHTMLCanvas::paint): Changed implementation to use HTMLCanvasElement::paint instead ofcalling CGContextDrawImage directly. (WebCore::RenderHTMLCanvas::layout): Removed the code that detects changes in width and causes the drawing context to be recreated; instead, if the width and height changes we scale when we paint the canvas.
  • bindings/js/JSCanvasRenderingContext2DBase.cpp: (WebCore::JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction): Separated out handling for <canvas> vs. <img> elements in drawRect, since HTMLCanvasElement is no longer derived from HTMLImageElement.
3:00 PM Changeset in webkit [13747] by eseidel
  • 2 edits in trunk/WebCore

2006-04-09 Rob Buis <buis@kde.org>

Reviewed by eseidel. Landed by eseidel.

Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6027:
Dirty rect invalidation issues in mozilla sample

Make sure the paths calculate the new bounding box and not
use the cached bbox.

No automated test case possible.

  • kcanvas/RenderPath.cpp: (WebCore::RenderPath::setPath):
2:55 PM Changeset in webkit [13746] by eseidel
  • 3 edits
    4 adds in trunk

2006-04-09 Rob Buis <buis@kde.org>

Reviewed by darin. Landed by eseidel.

Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6930:
% width/height on nested <svg> tags do not work

Set the context correctly for inner <svg>, so calculation of
width/height for inner <svg> elements is done against the
viewport element.

Test: svg/custom/inner-percent.svg

  • ksvg2/svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::width): (WebCore::SVGSVGElement::height):
1:12 PM Changeset in webkit [13745] by eseidel
  • 2 edits in trunk/WebCore

2006-04-08 Rob Buis <buis@kde.org>

Reviewed by eseidel.

No automated test case possible.

Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7531:
hang in SVGPolygonElementImpl::toPathData in polygon test case

Make sure the points list is cleared, just like the path
list is cleared first before (re)parsing.

  • ksvg2/svg/SVGPolyElement.cpp: (SVGPolyElement::parseMappedAttribute):
1:03 AM Changeset in webkit [13744] by ap
  • 1 edit in trunk/LayoutTests/ChangeLog

Forgot to commit ChangeLog for JSC string capitalization fixes.

Apr 8, 2006:

10:08 PM Changeset in webkit [13743] by darin
  • 17 edits
    8 adds in trunk

LayoutTests:

Reviewed by Beth.

  • fast/forms/input-text-maxlength-expected.checksum: Added.
  • fast/forms/input-text-maxlength-expected.png: Added.
  • fast/forms/input-text-maxlength-expected.txt: Added.
  • fast/forms/input-text-maxlength.html: Added.
  • fast/forms/input-text-paste-maxlength-expected.checksum: Added.
  • fast/forms/input-text-paste-maxlength-expected.png: Added.
  • fast/forms/input-text-paste-maxlength-expected.txt: Added.
  • fast/forms/input-text-paste-maxlength.html: Added.

WebCore:

Reviewed by Beth.

Test: fast/forms/input-text-maxlength.html
Test: fast/forms/input-text-paste-maxlength.html

  • html/HTMLInputElement.h: Removed all friend classes (not needed any more). Renamed typeEnum to InputType. Made init() function private. Tweaked parameter names and formatting in many function declarations. Made canHaveSelection, selectionStart, and selectionEnd const. Made data members except for m_name private instead of protected. Added private functions constrainValue and recheckValue. Removed unused isEditable function.
  • html/HTMLInputElement.cpp: (WebCore::numGraphemeClusters): Added. (WebCore::numCharactersInGraphemeClusters): Added. (WebCore::HTMLInputElement::isKeyboardFocusable): Use inputType() instead of using m_type directly. (WebCore::HTMLInputElement::isMouseFocusable): Ditto. (WebCore::HTMLInputElement::focus): Ditto. (WebCore::HTMLInputElement::setInputType): Added code to call constrainValue or recheckValue so we will enforce maxLen if changing from a type that doesn't have maxLen to one that does. (WebCore::HTMLInputElement::type): More-standard formatting for switch statement. Put cases into alphabetical order. (WebCore::HTMLInputElement::state): Changed switch statement to include all case values and not include a default case to take advantage of gcc's missing case warning. (WebCore::HTMLInputElement::restoreState): Ditto. (WebCore::HTMLInputElement::canHaveSelection): Ditto. (WebCore::HTMLInputElement::selectionStart): Ditto. (WebCore::HTMLInputElement::selectionEnd): Ditto. (WebCore::HTMLInputElement::setSelectionStart): Ditto. (WebCore::HTMLInputElement::setSelectionEnd): Ditto. (WebCore::HTMLInputElement::select): Ditto. (WebCore::HTMLInputElement::setSelectionRange): Ditto. (WebCore::HTMLInputElement::click): Ditto. (WebCore::HTMLInputElement::accessKeyAction): Ditto. (WebCore::HTMLInputElement::parseMappedAttribute): Use inputType() instead of using m_type directly. Added call to recheckValue when parsing a new value for the maxlength attribute. (WebCore::HTMLInputElement::rendererIsNeeded): Changed switch statement to include all case values and not include a default case to take advantage of gcc's missing case warning. (WebCore::HTMLInputElement::createRenderer): Ditto. (WebCore::HTMLInputElement::attach): Remove code to condition the value attribute when done parsing. This is now all handled by constrainValue and recheckValue as needed. (WebCore::HTMLInputElement::isSuccessfulSubmitButton): Use inputType() instead of using m_type directly. (WebCore::HTMLInputElement::appendFormData): Ditto. Rearranged code a little. (WebCore::HTMLInputElement::setChecked): Ditto. (WebCore::HTMLInputElement::setIndeterminate): Ditto. (WebCore::HTMLInputElement::value): Ditto. Call constrainValue when reading the value out of the value attribute. (WebCore::HTMLInputElement::valueWithDefault): Use inputType() instead of using m_type directly. Changed switch statement to include all case values and not include a default case to take advantage of gcc's missing case warning. (WebCore::HTMLInputElement::setValue): Ditto. Call constrainValue when storing a value. (WebCore::HTMLInputElement::setValueFromRenderer): Added an assertion. (WebCore::HTMLInputElement::storesValueSeparateFromAttribute): Use inputType() instead of using m_type directly. (WebCore::HTMLInputElement::preDispatchEventHandler): Ditto. (WebCore::HTMLInputElement::postDispatchEventHandler): Ditto. (WebCore::HTMLInputElement::defaultEventHandler): Ditto. Changed code to truncate inserted text in a BeforeTextInsertedEvent to use the new constrainValue function and also the numGraphemeClusters function, so it's based on grapheme clusters instead of characters and shares code. (WebCore::HTMLInputElement::constrainValue): Added. (WebCore::HTMLInputElement::recheckValue): Added.
  • html/HTMLIsIndexElement.cpp: (WebCore::HTMLIsIndexElement::HTMLIsIndexElement): Removed unneeded code to set m_type to TEXT, which is already what it gets set to by the base class's constructor.
  • html/HTMLGenericFormElement.h: Removed unused isEditable function.
  • html/HTMLGenericFormElement.cpp: Ditto.
  • html/HTMLTextAreaElement.h: Ditto.
  • html/HTMLTextAreaElement.cpp: Ditto.
  • platform/StringImpl.cpp: (WebCore::StringImpl::truncate): Changed > to >= so that truncating to the size of the string does nothing, efficiently.
  • rendering/RenderText.h: Added declaration of characterBreakIterator.
  • rendering/RenderText.cpp: (WebCore::characterBreakIterator): Made this public so it can be used in other files. Maybe we should also move it to another source file later. Also renamed to remove the "get" from the title. (WebCore::RenderText::previousOffset): Updated for name change. (WebCore::RenderText::nextOffset): Updated for name change.
  • rendering/RenderTextField.cpp: (WebCore::RenderTextField::updateFromElement): Removed code to implement maxlength checking. That's handled entirely in the DOM now. Also moved down the code to get the value into a string so that it's done only in the case where the string is used.
  • rendering/render_form.cpp: (WebCore::RenderFileButton::valueChanged): Use setValueFromRenderer instead of setting the value directly in the input element. We changed this for all the other types a while ago, and it works just as well for the input element.
  • dom/BeforeTextInsertedEvent.h: Added setText function. Previously, clients changed the text by modifying the text object in place, but going forward we'd like to avoid that sort of thing.


  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment): Changed code to assume clients will change the text in the event rather than mutating the text object itself. This is compatible with possible future changes to String to be copy on write.
  • editing/TypingCommand.cpp: (WebCore::TypingCommand::insertText): Ditto.
1:51 PM Changeset in webkit [13801] by ggaren
  • 1 edit in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs/TreeCode.cpp

added missing fall through to case code

1:50 PM Changeset in webkit [13800] by ggaren
  • 2 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

refined rules for what the current completion state is

1:40 PM Changeset in webkit [13799] by eseidel
  • 2 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore

added shrinkTo and growTo to vector for speed gain

12:08 PM Changeset in webkit [13798] by eseidel
  • 2 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

fix try and switch

12:04 PM Changeset in webkit [13742] by ap
  • 2 edits in trunk/JavaScriptCore

Reviewed by Darin.

One more attempt - use reinterpret_cast, rather than static_cast.

11:54 AM Changeset in webkit [13741] by ap
  • 2 edits in trunk/JavaScriptCore

Reviewed by Darin.

An attempt to fix Win32 build - ICU uses wchar_t on Windows, so we need a type cast.

  • kxmlcore/unicode/icu/UnicodeIcu.h: (KXMLCore::Unicode::toLower): (KXMLCore::Unicode::toUpper):
10:21 AM Changeset in webkit [13740] by ap
  • 11 edits
    3 copies
    3 adds in trunk

Reviewed by Darin.

Test: fast/js/string-capitalization.html

  • JavaScriptCore.xcodeproj/project.pbxproj: Added KXMLCore::Unicode headers to the project.
  • icu/unicode/putil.h: Added (copied from WebCore).
  • icu/unicode/uiter.h: Ditto.
  • icu/unicode/ustring.h: Ditto.
  • kjs/string_object.cpp: (StringProtoFunc::callAsFunction): Use the new KXMLCore::Unicode::toUpper() and toLower().
  • kjs/ustring.cpp: Removed unused (and evil) UChar::toLower() and toUpper().
  • kjs/ustring.h: Ditto.
  • kxmlcore/unicode/Unicode.h: Corrected capitalization of the word Unicode.
  • kxmlcore/unicode/UnicodeCategory.h: Renamed include guard macro to match file name.
  • kxmlcore/unicode/icu/UnicodeIcu.h: (KXMLCore::Unicode::toLower): Work on strings, not individual characters. Use ICU root locale. (KXMLCore::Unicode::toUpper): Ditto. (KXMLCore::Unicode::isFormatChar): Use int32_t, which can hold a complete code point. (KXMLCore::Unicode::isSeparatorSpace): Ditto. (KXMLCore::Unicode::category): Ditto.
  • kxmlcore/unicode/qt4/UnicodeQt4.h: (KXMLCore::Unicode::toLower): Work on strings, not individual characters. (KXMLCore::Unicode::toUpper): Ditto. (KXMLCore::Unicode::isFormatChar): Use int32_t, which can hold a complete code point. (KXMLCore::Unicode::isSeparatorSpace): Ditto. (KXMLCore::Unicode::category): Ditto.
  • tests/mozilla/ecma/String/15.5.4.12-1.js: Corrected expected results.
  • tests/mozilla/ecma/String/15.5.4.12-5.js: Corrected expected results.
9:49 AM Changeset in webkit [13739] by sullivan
  • 2 edits in trunk/WebKit

Reviewed by Adele Peterson.

  • Misc/WebIconDatabase.m: (-[WebIconDatabase _retainIconForIconURLString:]): This new assertion was one block too high; moved it in.

Apr 7, 2006:

6:40 PM Changeset in webkit [13797] by eseidel
  • 1 edit in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs/TreeCode.cpp

fix assertion in ForInNodeExecutePopBreakUnwindBarrierState

6:31 PM Changeset in webkit [13796] by eseidel
  • 1 edit in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs/TreeCode.cpp

Fix FALL_THROUGH in debug builds

6:26 PM Changeset in webkit [13795] by ggaren
  • 2 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

fixed labeled break and continue

6:16 PM Changeset in webkit [13794] by eseidel
  • 1 edit in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs/TreeCode.cpp

add missing break in CommaNodeEvaluateState

6:02 PM Changeset in webkit [13793] by eseidel
  • 2 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

Add FALL_THROUGH macro

5:47 PM Changeset in webkit [13792] by ggaren
  • 1 edit in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs/TreeCode.cpp

fixed do-while by adding fake true value at the front

5:34 PM Changeset in webkit [13738] by darin
  • 4 edits
    4 adds in trunk

LayoutTests:

Reviewed by Hyatt.

  • fast/forms/input-text-drag-down-expected.checksum: Added.
  • fast/forms/input-text-drag-down-expected.png: Added.
  • fast/forms/input-text-drag-down-expected.txt: Added.
  • fast/forms/input-text-drag-down.html: Added.

WebCore:

Reviewed by Hyatt.

  • editing/Selection.cpp: (WebCore::comparePositions): Added. Takes shadow content into account. (WebCore::Selection::validate): Changed to call comparePositions instead of calling Range::compareBoundaryPoints directly. Also removed unneeded code to redundantly set m_start and m_end to null and did a bit of reformatting.
  • some tiny efficiency improvements to the tokenizer -- no measurable speedup, but removes a little bit of unneeded code
  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::parseTag): Changed all the places that do "unsigned short x = *c" to "unsigned short x = c->unicode()" when c is a QChar, otherwise we do an unnecessary conversion to char (which requires a branch to see if the c fits in a char).
5:27 PM Changeset in webkit [13791] by eseidel
  • 3 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

fix exception handling and loop continue states

5:21 PM Changeset in webkit [13737] by justing
  • 6 edits in trunk

Reviewed by harrison


Rolled the fix for 8250 back in and fixed a bug:
The local variables for the first and last nodes in the fragment
need to be reset when the fragment is changed for plaintext-only mode
or a change from the beforetextinserted event handler.

  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment):
5:16 PM Changeset in webkit [13736] by hyatt
  • 2 edits in trunk/WebKit

A fix that makes coalesced updates work much better (and makes our
single animated GIF timer work better). The new rect painting algorithm
for WebHTMLView will use the single unioned rect if the # of rects exceeds
a threshold (10 is my initial cut), or if the union has enough "wasted"
additional pixels (conservatively set at 75%).

Reviewed by darin

  • WebView/WebHTMLView.m: (-[NSArray drawSingleRect:]): (-[NSArray drawRect:]):
5:11 PM Changeset in webkit [13790] by ggaren
  • 1 edit in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs/TreeCode.cpp

fixed missing break in property list node

5:08 PM Changeset in webkit [13789] by ggaren
  • 1 edit in branches/temp-tree-code/trunk/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj

fixing missing break statement in property list node

4:55 PM Changeset in webkit [13735] by mjs
  • 3 edits
    2 adds in trunk

LayoutTests:

Reviewed by Darin.

Test case for this fix:


  • fixed REGRESSION: offsetParent on element with no offset parent crashes
  • fast/dom/Element/null-offset-parent.html: Added.

WebCore:

Reviewed by Darin.


  • fixed REGRESSION: offsetParent on element with no offset parent crashes
  • dom/Element.cpp: (WebCore::Element::offsetParent): Add missing null check.
4:50 PM Changeset in webkit [13734] by mjs
  • 3 edits in trunk/WebKit

Reviewed by Darin.


  • simplify archive loading
  • WebView/WebDataSource.m: (-[WebDataSource representation]): fix whitespace
  • WebView/WebHTMLRepresentation.m: (-[WebHTMLRepresentation loadArchive]): Use WebFrame's loadArchive: instead of trying to do a manual load here. (-[WebHTMLRepresentation documentSource]): No more special case for WebArchive.
4:42 PM Changeset in webkit [13788] by ggaren
  • 2 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

fixed up switch / case statements

4:35 PM Changeset in webkit [13787] by eseidel
  • 2 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

much better unwind barrier printing

4:01 PM Changeset in webkit [13733] by sullivan
  • 2 edits in trunk/WebKit

Reviewed by Tim Omernick.


  • fixed <rdar://problem/4507054> If an icon file is removed from disk behind Safari's back, Safari will not try to refetch it


In addition to letting WebIconDatabase recover from disk/memory mismatches as per 4507054, I also found
a bug in the way icons are remembered that could account for some of the other cases where
site icons didn't appear (and you'd get an ERROR on debug builds about WebIconDatabase saying it
had some icon when it really doesn't).

  • Misc/WebIconDatabase.m: (-[WebIconDatabase iconForURL:withSize:cache:]): When the icon file for a previously-saved site icon isn't found, forget about the darn icon URL thoroughly so that this situation is self-correcting. Formerly, once you got into this state WebKit would never find the icon again (short of removing the entire icon database cleanly). Note that this does *not* change the behavior of sites that didn't have a site icon when WebKit checked -- these will continue to not return a site icon indefinitely (that's a separate, possibly performance-sensitive issue). (-[WebIconDatabase _retainIconForIconURLString:]): This code did the wrong thing in the case where an icon was in the process of being forgotten about. In that case, the icon would still be in _private->iconsOnDiskWithURLs, so we wouldn't try to save it here, so the new icon wouldn't stick.
3:25 PM Changeset in webkit [13732] by justing
  • 3 edits
    4 adds in trunk

LayoutTests:

Reviewed by adele

  • fast/forms/input-maxlength-2-expected.checksum: Added.
  • fast/forms/input-maxlength-2-expected.png: Added.
  • fast/forms/input-maxlength-2-expected.txt: Added.
  • fast/forms/input-maxlength-2.html: Added.

WebCore:

Reviewed by adele


maxlength truncation in text fields didn't work if the fragment was a
single text node.

  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment):
2:57 PM Changeset in webkit [13731] by justing
  • 1 edit in trunk/WebCore/editing/ReplaceSelectionCommand.cpp

Rolling out the patch I just checked in.

1:46 PM Changeset in webkit [13730] by justing
  • 3 edits
    4 adds in trunk

LayoutTests:

Reviewed by harrison
<http://bugzilla.opendarwin.org/show_bug.cgi?id=8250>
REGRESSION: Interchange newlines aren't passed with the khtmlBeforeTextInsertedEvent

  • fast/forms/8250-expected.checksum: Added.
  • fast/forms/8250-expected.png: Added.
  • fast/forms/8250-expected.txt: Added.
  • fast/forms/8250.html: Added.

WebCore:

Reviewed by harrison


<http://bugzilla.opendarwin.org/show_bug.cgi?id=8250>
REGRESSION: Interchange newlines aren't passed with the khtmlBeforeTextInsertedEvent

  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment): Interchange content removal happened before khtmlBeforeTextInsertedEvent was sent.
12:51 PM Changeset in webkit [13786] by eseidel
  • 2 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

unify exception handling

12:36 PM Changeset in webkit [13729] by justing
  • 7 edits in trunk

LayoutTests:

Reviewed by adele
<http://bugzilla.opendarwin.org/show_bug.cgi?id=8219>
REGRESSION: Two extra newlines added when pasting a single styled line into a plaintext-only region

Updated to relfect fix:

  • editing/pasteboard/8145-1-expected.checksum:
  • editing/pasteboard/8145-1-expected.png:
  • editing/pasteboard/8145-1-expected.txt:
  • editing/pasteboard/8145-1.html:

WebCore:

Reviewed by adele


<http://bugzilla.opendarwin.org/show_bug.cgi?id=8219>
REGRESSION: Two extra newlines added when pasting a single styled line into a plaintext-only region

  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment): Converting the fragment to plaintext introduced an extraneous newline because the range passed to plainText ended after the paragraph containing the fragment built from the markup that TextEdit put on the paste board. TextIterator will emit a newline when it exits a paragraph. Two extra newlines were added because the '\n' in the plaintext string turns into an interchange newline, which isn't removed because of 8250, and the interchange newline looks like inline content that requires the insertion of a paragraph separator during paste. Fixed by creating a range using VisiblePositions at the start and the end of the node that holds the fragment during paste's test rendering.
11:41 AM Changeset in webkit [13728] by justing
  • 9 edits
    12 adds in trunk

LayoutTests:

Reviewed by harrison


<http://bugzilla.opendarwin.org/show_bug.cgi?id=8145>
REGRESSION: Pasting text from TextEdit with a bold word into text field results in crash

  • editing/pasteboard/8145-1-expected.checksum: Added.
  • editing/pasteboard/8145-1-expected.png: Added.
  • editing/pasteboard/8145-1-expected.txt: Added.
  • editing/pasteboard/8145-1.html: Added.
  • editing/pasteboard/8145-2-expected.checksum: Added.
  • editing/pasteboard/8145-2-expected.png: Added.
  • editing/pasteboard/8145-2-expected.txt: Added.
  • editing/pasteboard/8145-2.html: Added.
  • editing/pasteboard/8145-3-expected.checksum: Added.
  • editing/pasteboard/8145-3-expected.png: Added.
  • editing/pasteboard/8145-3-expected.txt: Added.
  • editing/pasteboard/8145-3.html: Added.
  • fast/forms/plaintext-mode-1-expected.txt:
  • fast/forms/plaintext-mode-1.html:

WebCore:

Reviewed by harrison


<http://bugzilla.opendarwin.org/show_bug.cgi?id=8145>
REGRESSION: Pasting text from TextEdit with a bold word into text field results in crash

  • editing/AppendNodeCommand.cpp: (WebCore::AppendNodeCommand::doApply): Assert that the node will be placed somewhere that's contenteditable.
  • editing/InsertNodeBeforeCommand.cpp: (WebCore::InsertNodeBeforeCommand::doApply): Ditto
  • editing/JSEditor.cpp: Enabled insertHTML for plaintext-only regions since it's useful for debugging rich content pastes into the new text fields.
  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): 1) After the first paragraph of the fragment has been merged with the first part of the paragraph where the paste occured, if the next node to be inserted is inline, we put it in a new paragraph because it was at the start of a paragraph in the fragment. The change is to insert a paragraph separator if insertionPos.next() is null or outside of the current editable region. 2) Before the paste begins, a paragraph separator is inserted in order to avoid nesting blocks from the fragment to be pasted inside the block where the paste will occur. I made two fixes to the code that decides whether or not to insert the paragraph separator and added testcases for each. Added a fixme because it appears that this code is also used to ensure that the aforementioned insertionPos will be at the end of a paragraph. This code should only be about preventing nesting.
10:06 AM Changeset in webkit [13727] by thatcher
  • 1 add in branches/Safari-2-0-branch/JavaScriptGlue/Makefile

Missing a makefile.

1:31 AM Changeset in webkit [13726] by mjs
  • 13 edits
    3 adds in trunk

LayoutTests:

Reviewed by Anders.

Added test case for incidental fix from this change:


  • fast/dom/Element/dimension-properties-unrendered-expected.txt: Added.
  • fast/dom/Element/dimension-properties-unrendered.html: Added.
  • fast/dom/Element/resources/dimension-properties-unrendered.js: Added.

WebCore:

Reviewed by Anders.

  • dom/Element.idl: Declare full interface in IDL.
  • dom/Element.h: (WebCore::Element::tagQName): Renamed from tagName, so the real DOM method can be called tagName. (WebCore::Element::tagName): inline alias for nodeName.
  • dom/Element.cpp: (WebCore::Element::scrollByUnits): Moved logic from JS bindings to core DOM. (WebCore::Element::scrollByLines): ditto (WebCore::Element::scrollByPages): ditto (WebCore::Element::offsetLeft): ditto, plus make unrendered elements return 0 not undefined (WebCore::Element::offsetTop): ditto, plus make unrendered elements return 0 not undefined (WebCore::Element::offsetWidth): ditto, plus make unrendered elements return 0 not undefined (WebCore::Element::offsetHeight): ditto, plus make unrendered elements return 0 not undefined (WebCore::Element::offsetParent): ditto (WebCore::Element::clientWidth): ditto, plus make unrendered elements return 0 not undefined (WebCore::Element::clientHeight): ditto, plus make unrendered elements return 0 not undefined (WebCore::Element::scrollLeft): ditto (WebCore::Element::scrollTop): ditto (WebCore::Element::setScrollLeft): ditto (WebCore::Element::setScrollTop): ditto (WebCore::Element::scrollWidth): ditto, plus make unrendered elements return 0 not undefined (WebCore::Element::scrollHeight): ditto, plus make unrendered elements return 0 not undefined
  • bindings/scripts/CodeGeneratorJS.pm: Added support for ConvertUndefinedToTrue, for benefit of scroll methods where omitted arguments should be treated as true. However, maybe explicit overloading in the IDL would be a better long-term approach for optional arguments.
  • khtml/ecma/kjs_binding.cpp: (KJS::valueToStringWithNullCheck): fixed formatting (KJS::valueToBooleanTreatUndefinedAsTrue): added for binding of scrollIntoView (isn't this lame?)
  • khtml/ecma/kjs_binding.h: (KJS::toJS): fixed formatting, added new stuff
  • khtml/ecma/kjs_dom.cpp: (KJS::DOMElement::getValueProperty): removed most of contents (KJS::DOMElement::putValueProperty): ditto (KJS::DOMElementProtoFunc::callAsFunction): ditto
  • css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::canShareStyleWithElement): updated for rename of tagName to tagQName (WebCore::CSSStyleSelector::checkOneSelector): ditto
  • dom/Document.cpp: (WebCore::Document::importNode): ditto
  • editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::removeInlineStyle): ditto (WebCore::areIdenticalElements): ditto
  • html/HTMLElement.cpp: (WebCore::HTMLElement::inEitherTagList): ditto (WebCore::HTMLElement::inInlineTagList): ditto (WebCore::HTMLElement::inBlockTagList): ditto
1:04 AM Changeset in webkit [13725] by hyatt
  • 2 edits in trunk/WebKit

Re-enable coalesced updates. Our move to a single timer has essentially
implemented coalescing of updates anyway, so the regression has already
come back. Since we have to deal with that now anyway, there's no reason
to visually tear also. :)

Reviewed by darin

  • ChangeLog:
  • WebView/WebView.m: (-[WebView _commonInitializationWithFrameName:groupName:]):
12:26 AM Changeset in webkit [13785] by eseidel
  • 3 edits in branches/temp-tree-code/branches/evaluate-execute-merge/JavaScriptCore/kjs

further fixes to exception handling, as well as doWhile and new expressions

Note: See TracTimeline for information about the timeline view.