Timeline
May 30, 2005:
- 10:48 PM Changeset in webkit [9232] by
-
- 5 edits4 adds in trunk
Reviewed by John (fix for Radar bug) and Vicki (all the rest).
- fixed <rdar://problem/4105097> REGRESSION (138-139): Hitting Enter on a checkbox toggles check mark instead of submitting form
- fixed other problems discovered while trying to make a layout test to test this work:
- added newer DOM 3 event type constants
- fixed prototype setup bug preventing event initialization functions from being called
- fixed bug where any function taking an event parameter would crash with a nil-deref
- fixed incorrect ref/deref bug in MutationEventImpl that would cause a crash crash
Test cases added:
- layout-tests/fast/forms/check-box-enter-key-expected.txt: Added.
- layout-tests/fast/forms/check-box-enter-key.html: Added.
- layout-tests/fast/events/event-creation-expected.txt: Added.
- layout-tests/fast/events/event-creation.html: Added.
- khtml/html/html_formimpl.cpp: (DOM::HTMLInputElementImpl::defaultEventHandler): Separate the checks for the space bar and the Enter key and make Enter submit the form on a check box or radio button.
- khtml/ecma/kjs_events.cpp: (KJS::toEvent): Fixed bug where this was checking for DOMNode rather than DOMEvent, so always returning 0. Without this, both test cases above will crash. (KJS::DOMUIEvent::DOMUIEvent): Set prototype; without this, the event-creation test case will fail. (KJS::DOMMouseEvent::DOMMouseEvent): Set prototype; without this, the event-creation test case will fail. (KJS::DOMKeyboardEvent::DOMKeyboardEvent): Set prototype; without this, both test cases above will fail. (KJS::DOMMutationEvent::DOMMutationEvent): Set prototype; without this, both test cases above will fail.
- khtml/xml/dom2_eventsimpl.cpp: (MutationEventImpl::MutationEventImpl): Fix typo where the wrong object was ref'd. (MutationEventImpl::initMutationEvent): Ditto. This was causing the layout tests to crash with the new tests above.
- khtml/xml/dom_docimpl.cpp: (DocumentImpl::createEvent): Added new event types to match the current DOM Level 3 specification. The test above tests both the new event types and the old ones.
- 8:08 PM Changeset in webkit [9231] by
-
- 2 edits in trunk/WebCore
Reviewed by John.
No test case added because our layout test system doesn't allow us to do inline input.
- fixed <rdar://problem/4094066> REGRESSION (1.2.5-1.3): unconfirmed inline input is ignored in <textarea>, lost when form is submitted
- kwq/KWQTextArea.mm: (-[KWQTextArea _createTextView]): Call setWantsNotificationForMarkedText:YES.
- 6:20 PM Changeset in webkit [9230] by
-
- 7 edits6 adds in trunk
Reviewed by Darin.
- fixed <rdar://problem/4125222> Dashboard heap size grows over time (leak caused by JavaScript DOM node wrappers?)
- changed per-document DOMObject caching to work with DOMNodes, since that is all it was used for anyway.
Test cases added: (these tests actually ensure that DOM wrappers
are sufficiently protected from GC to match other browsers, they
do not verify that the leak is fixed since there's no way to test
that with layout tests).
- layout-tests/fast/dom/gc-1-expected.txt: Added.
- layout-tests/fast/dom/gc-1.html: Added.
- layout-tests/fast/dom/gc-2-expected.txt: Added.
- layout-tests/fast/dom/gc-2.html: Added.
- layout-tests/fast/dom/gc-3-expected.txt: Added.
- layout-tests/fast/dom/gc-3.html: Added.
- khtml/ecma/kjs_binding.cpp: (KJS::ScriptInterpreter::forgetDOMObjectForDocument): New function - allows nodes that get removed from the document to go away from the cache if not referenced. (KJS::ScriptInterpreter::mark): Don't mark nodes that aren't in the document, they can stay in the cache but only if they have another source of life. (KJS::ScriptInterpreter::domNodesPerDocument): Renamed and changed parameter types. (KJS::ScriptInterpreter::getDOMNodeForDocument): Renamed and changed parameter types. (KJS::ScriptInterpreter::forgetDOMNodeForDocument): Renamed and changed parameter types. (KJS::ScriptInterpreter::putDOMNodeForDocument): Renamed and changed parameter types. (KJS::ScriptInterpreter::forgetAllDOMNodesForDocument): Renamed and changed parameter types. (KJS::ScriptInterpreter::updateDOMNodeDocument): Renamed and changed parameter types.
- khtml/ecma/kjs_binding.h:
- khtml/ecma/kjs_dom.cpp: (KJS::DOMNode::~DOMNode): call forgetDOMObjectForDocument. (KJS::DOMNode::mark): If the node is not in the document, make sure to mark all wrappers in its detached piece of the tree. (KJS::getDOMNode): Updated for renames
- khtml/ecma/kjs_dom.h:
- khtml/xml/dom_docimpl.cpp: (DocumentImpl::~DocumentImpl): Updated for renames.
- khtml/xml/dom_nodeimpl.cpp: (NodeImpl::checkAddChild): Updated for renames.
- 5:15 PM Changeset in webkit [9229] by
-
- 2 edits in trunk/WebCore
Reviewed by John.
Could not figure out how to make an <object> fallback, so for now, no layout test.
- fixed <rdar://problem/4134124> REGRESSION (tip of tree): crash in QWidget::getView handling onunload event (yahoo.com)
- khtml/html/html_objectimpl.cpp: (DOM::HTMLObjectElementImpl::getObjectInstance): Check type of RenderObject to be sure it is a RenderWidget before calling widget() on it.
May 27, 2005:
- 5:42 PM Changeset in webkit [9228] by
-
- 4 edits in trunk/WebCore
Change by Darin, reviewed by me.
fix for <rdar://problem/4067761> 8A425: reload stock widget over and over and crash in XMLHttpRequest::changeState
- khtml/khtml_part.cpp: (KHTMLPart::closeURL): now cancels XMLHttpRequests
- khtml/ecma/xmlhttprequest.h: Added cancelRequests, addToRequestsByDocument, and RemoveFromRequestsByDocument methods. Added requestsByDocument dictionary.
- khtml/ecma/xmlhttprequest.cpp: (KJS::XMLHttpRequest::send): calls addToRequestsByDocument (KJS::XMLHttpRequest::abort): calls removeFromRequestsByDocument (KJS::XMLHttpRequest::slotFinished): calls removeFromRequestsByDocument (KJS::XMLHttpRequest::requestsByDocument): creates dictionary to manage requests. (KJS::XMLHttpRequest::addToRequestsByDocument): adds this request to dict. (KJS::XMLHttpRequest::removeFromRequestsByDocument): removes this request from dict. (KJS::XMLHttpRequest::cancelRequests): goes and cancels requests in the doc
- 5:26 PM Changeset in webkit [9227] by
-
- 2 edits in trunk/WebCore
Reviewed by me, done by Darin.
- Darin fixed a regression I found from Darin's recent DOM change that broke GMail
- khtml/ecma/kjs_window.cpp: (KJS::Window::get): Added nil check for document. (KJS::Window::hasProperty): Ditto.
Test cases added: None (Darin should write one).
- 3:55 PM Changeset in webkit [9226] by
-
- 3 edits3 adds in trunk
Reviewed by Darin.
fix for <rdar://problem/4121747> Cannot log into Cingular.com account page (load event delivered while still processing incoming data)
- khtml/misc/loader.cpp: (DocLoader::DocLoader): Initialized m_loadInProgress to false. (DocLoader::setLoadInProgress): Added. (Loader::slotFinished): sets the m_loadInProgress flag to reflect the fact that we're not really done loading this request until we emit the signal with the request status. (Loader::numRequests): If there's a load in progress, we increment the number of requests so it doesn't seem like the load is done.
- khtml/misc/loader.h: (khtml::DocLoader::loadInProgress): Added.
Test cases added:
- layout-tests/fast/loader/loadInProgress.html: Added
- layout-tests/fast/loader/loadInProgress-expected.html: Added
- 3:48 PM Changeset in webkit [9225] by
-
- 2 edits3 adds in trunk
Reviewed by Vicki.
- fixed <rdar://problem/4125212> form submission delayed until you are on the next page on XML/XSL page (security hole)
- khtml/xsl/xslt_processorimpl.cpp: (DOM::XSLTProcessorImpl::documentFromXMLDocPtr): Call setParsing(false) explicitly here. It's really annoying that setParsing(true) is done inside DOM::DocumentImpl and setParsing(false) is done by KHTMLPart, so that should be fixed some day, but for now this is the way to do it.
Test cases added:
- layout-tests/fast/events/xsl-onload-expected.txt: Added.
- layout-tests/fast/events/xsl-onload.xhtml: Added.
- layout-tests/fast/events/xsl-onload.xsl: Added.
- 2:39 PM Changeset in webkit [9224] by
-
- 2 edits in trunk/WebCore
Reviewed by Darin
- WebCore-tests.exp: took out symbol ZNK5QChar7isPunctEv; it was obsolete and causing build trouble
- 1:54 PM Changeset in webkit [9223] by
-
- 3 edits in trunk/WebCore
Reviewed by Adele.
- remove HAVE_ICU_LIBRARY ifdefs
- khtml/rendering/render_text.cpp: Just use ICU all the time; no ifdef.
- kwq/KWQKURL.mm: Ditto.
May 26, 2005:
- 6:17 PM Changeset in webkit [9222] by
-
- 2 edits2 adds in trunk
Reviewed by me, patch by Mitz Pettel.
- fixed <rdar://problem/4106907> bidi algorithm bug fixed for KHTML should be fixed in WebCore too
- khtml/rendering/bidi.cpp: (khtml::RenderBlock::bidiReorderLine): Integrated the patch that Mitz did for the KDE bug, details at <http://www.mitzpettel.com/software/WebCorePatch2.html>.
Test cases added:
- layout-tests/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.txt: Added.
- layout-tests/fast/text/international/bidi-neutral-directionality-paragraph-start.html: Added.
- 5:03 PM Changeset in webkit [9221] by
-
- 2 edits in trunk/WebKit
Reviewed by John.
- fix build failure from when I removed WebCoreUnicode
- WebCoreSupport.subproj/WebTextRenderer.m: Removed import of WebUnicode.h that I missed. (-[WebTextRenderer _convertUnicodeCharacters:length:toGlyphs:]): Switch from our own macros to the ICU macros for surrogate pairs. (widthForNextCharacter): Ditto.
- 3:48 PM Changeset in webkit [9220] by
-
- 2 edits in trunk/WebKit
<rdar://problem/4120518> Mail: control-T in an empty message crashes mail
- WebCoreSupport.subproj/WebBridge.m: (-[WebBridge issueTransposeCommand]): New, to support transpose in JS.
- 3:15 PM Changeset in webkit [9219] by
-
- 10 edits6 deletes in trunk
top level:
Reviewed by Richard and Dave Harrison.
- configure.in: Turn off exceptions and RTTI for C++ test programs. This makes them work with WebCore, which now has them off, under gcc 4.0.
Tests:
Reviewed by Richard and Dave Harrison.
- qt/Makefile.am: Add -licucore so we can continue to compile with the changed QChar.
WebCore:
Reviewed by Richard and Dave Harrison.
No new test cases needed for this change.
- eliminate WebCoreUnicode and use ICU directly instead
- fixed compiling with gcc 4.0 (was broken for Development only)
- WebCore.exp: Removed the WebCoreXXXFunction exports.
- WebCore-tests.exp: Removed some QChar functions that are now inlines. Removed some typeinfo exports that are no longer appropriate since we use -fno-rtti.
- kwq/KWQString.h: (QChar::isDigit): Changed to call u_isdigit when non-ASCII. We should probably phase this out since it's only used in places where we don't want to handle non-ASCII decimal digits. (QChar::isLetter): Changed to call u_isalpha when non-ASCII. (QChar::isNumber): Changed to call u_isdigit when non-ASCII. This probably should be removed, since we always want to call isDigit instead. (QChar::isLetterOrNumber): Changed to call u_isalnum when non-ASCII. (QChar::isPunct): Changed to call u_ispunct when non-ASCII. (QChar::digitValue): Changed to call u_charDigitValue when not '0'-'9'. We should probably phase this out since it's only used in places where we don't want to handle non-ASCII decimal digits. (QChar::lower): Changed to call u_tolower when non-ASCII. (QChar::upper): Changed to call u_toupper when non-ASCII. (QChar::direction): Made inline. Calls u_charDirection. (QChar::mirrored): Made inline. Calls u_isMirrored. (QChar::mirroredChar): Made inline. Calls u_charMirror.
- kwq/KWQChar.mm: Removed.
- kwq/WebCoreUnicode.cpp: Removed.
- kwq/WebCoreUnicode.h: Removed.
- WebCore.pbproj/project.pbxproj: Removed files.
WebKit:
Reviewed by Richard and Dave Harrison.
- eliminate WebCoreUnicode and use ICU directly instead
- Misc.subproj/WebKitNSStringExtras.m: (canUseFastRenderer): Use u_charDirection directly.
- WebCoreSupport.subproj/WebTextRenderer.m: Removed import of <WebCore/WebCoreUnicode.h>.
- WebView.subproj/WebHTMLView.m: (+[WebHTMLView initialize]): Removed call to WebKitInitializeUnicode.
- Misc.subproj/WebUnicode.h: Removed.
- Misc.subproj/WebUnicode.m: Removed.
- Misc.subproj/WebUnicodeTables.m: Removed.
- WebKit.pbproj/project.pbxproj: Removed files.
- 1:32 PM Changeset in webkit [9218] by
-
- 1 edit in trunk/WebCore/khtml/khtml_part.h
Missed this in previous commit.
- 1:30 PM Changeset in webkit [9217] by
-
- 10 edits2 adds in trunk
Reviewed by John.
<rdar://problem/4120518> Mail: control-T in an empty message crashes mail
- kwq/WebCoreBridge.mm: (-[WebCoreBridge rangeOfCharactersAroundCaret]): Nil-check result of VisiblePosition previous() and next().
- khtml/editing/visible_position.cpp: (khtml::VisiblePosition::previous): (khtml::VisiblePosition::previousVisiblePosition): Make sure previous() does not return the original position. Also, simplified. Commented odd, but required, behavior in previousVisiblePosition().
- khtml/editing/visible_units.cpp: (khtml::startOfEditableContent): (khtml::endOfEditableContent): Removed redundant check for isEditableContent().
- khtml/editing/jsediting.cpp:
- khtml/khtml_part.cpp: (KHTMLPart::transpose):
- khtml/khtml_part.h:
- kwq/KWQKHTMLPart.h:
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::issueTransposeCommand):
- layout-tests/editing/editing.js:
- kwq/WebCoreBridge.h: Add support for transpose command in JavaScript and therefore layout tests.
- layout-tests/editing/deleting/transpose-empty-expected.txt: Added.
- layout-tests/editing/deleting/transpose-empty.html: Added. New test for this bug.
- 1:26 PM Changeset in webkit [9216] by
-
- 2 edits in branches/Safari-2-0-branch/JavaScriptCore
Merged fix for <rdar://problem/4086570> from TOTO to SUTiCambridge.
2005-05-04 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
<rdar://problem/4086570> Crash in JavaScriptCore with RSS Visualizer
- kjs/internal.cpp: (InterpreterImp::mark): mark staticNaN, it is usually protected by the Number prototype but there is a small window where it can get collected.
- 11:31 AM Changeset in webkit [9215]
-
- 9 copies3 deletes in tags/JavaScriptCore-412~2
This commit was manufactured by cvs2svn to create tag
'JavaScriptCore-412~2'.
- 11:31 AM Changeset in webkit [9214] by
-
- 2 edits in branches/Safari-2-0-branch/JavaScriptCore
Versioning for SUTiCambridge - JavaScriptCore-412.2
(JavaScriptCore-412.1 is already in use in TOT)