Timeline
Apr 9, 2006:
- 10:40 PM Changeset in webkit [13805] by
-
- 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
-
- 3 edits in trunk/JavaScriptCore
Reviewed by eric.
- Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=8284 prevent unnecessary entries in the "nodes with extra refs" hash table
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
-
- 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
-
- 3 edits3 adds in trunk
Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7877 XMLHttpRequest ignores username/password passed to open()
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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 14 edits4 adds in trunk
LayoutTests:
Reviewed by Anders.
- test changes for http://bugzilla.opendarwin.org/show_bug.cgi?id=4884 Canvas element breaks when RenderObject creation is deferred by external CSS
- 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.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4884 Canvas element breaks when RenderObject creation is deferred by external CSS
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
-
- 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
-
- 3 edits4 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
-
- 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
-
- 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
-
- 17 edits8 adds in trunk
LayoutTests:
Reviewed by Beth.
- tests for http://bugzilla.opendarwin.org/show_bug.cgi?id=7622 REGRESSION: New text fields should compute maxlength considering composed character sequences
- 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.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7622 REGRESSION: New text fields should compute maxlength considering composed character sequences
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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 11 edits3 copies3 adds in trunk
Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8264 toLowerCase and toUpperCase don't honor special mappings
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
-
- 2 edits in trunk/WebKit
Reviewed by Adele Peterson.
- fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=8260 REGRESSION: Assertion failure: ![_private->iconsToSaveWithURLs containsObject:iconURLString] in WebIconDatabase.m:695-[WebIconDatabase(WebInternal) _retainIconForIconURLString:]
- Misc/WebIconDatabase.m: (-[WebIconDatabase _retainIconForIconURLString:]): This new assertion was one block too high; moved it in.