Timeline



Apr 29, 2005:

3:34 PM Changeset in webkit [9084] by darin
  • 2 edits in trunk/WebCore

Reviewed by David Harrison.

  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::displayNode): Turn newlines into \n for better dumping.
1:13 PM Changeset in webkit [9083] by harrison
  • 2 edits
    2 adds in trunk

Reviewed by Darin.

<rdar://problem/4083333> When deleting link at end of sentence, entire sentence gets deleted

  • khtml/editing/htmlediting.cpp: (khtml::DeleteSelectionCommand::initializePositionData): Work around bug #4103339 (whose real fix is somewhat risky), so this fix can get into a software update.

(khtml::DeleteSelectionCommand::handleGeneralDelete):
Add isAncestor check when comparing m_downstreamEnd.node() and m_startNode.

  • layout-tests/editing/deleting/delete-4083333-fix-expected.txt: Added.
  • layout-tests/editing/deleting/delete-4083333-fix.html: Added.
12:10 PM Changeset in webkit [9082] by darin
  • 294 edits in trunk

Reviewed by Dave Harrison.

  • changed layout tests to dump more minimal information about caret and selection
  • kwq/KWQRenderTreeDebug.cpp: (nodePosition): Changed name; now does position relative to document. (writeSelection): Removed upstream/downstream code and changed format slightly.
  • layout-tests/editing/*-expected.txt: Regenerated in new format.
10:28 AM Changeset in webkit [9081] by darin
  • 7 edits
    4 adds in trunk

Reviewed by Chris Blumenberg.
Added two layout tests for regression testing.

  • fixed <rdar://problem/4097849> REGRESSION (162-163): importNode creates non-HTML elements, thus style attributes (and some others) don't work
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::importNode): Reorganized and partly rewrote this. The change that fixes the bug at hand is to explicitly use XHTML_NAMESPACE for HTML elements, since the old way of getting the namespace will return the null string for HTML elements, and createElementNS will not create an HTML element if passed a null string for the namespace. (DocumentImpl::processHttpEquiv): Removed some bogus getDocument() calls -- no need to call getDocument() in a document object. (DocumentImpl::attrName): Ditto. (DocumentImpl::tagName): Ditto. (DocumentImpl::setFocusNode): Ditto.
  • khtml/html/html_elementimpl.cpp: (HTMLElementImpl::cloneNode): Moved the actual cloning here from ElementImpl::cloneNode, because XMLElementImpl already had its own version, and in here we can use createHTMLElement, which will work properly even in an XML document, and is also slightly more efficient.
  • khtml/xml/dom_nodeimpl.h: Added a namespaceURI method function to go along with localName.
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::namespaceURI): Added. Returns null string to be consistent with localName (only works on certain types of elements as documented).
  • khtml/xml/dom_elementimpl.h: Removed ElementImpl::cloneNode (see above). Added an override of namespaceURI for XMLElementImpl.
  • khtml/xml/dom_elementimpl.cpp: (XMLElementImpl::namespaceURI): Added. Returns the namespace (consistent with localName).
  • layout-tests/fast/dom/importNodeHTML.html: Added. Tests both importNode and cloneNode (for comparison).
  • layout-tests/fast/dom/importNodeHTML-expected.txt: Added.
  • layout-tests/fast/dom/importNodeXML.xhtml: Added. XML version of the same test as above. Tests a different code path, so useful to have.
  • layout-tests/fast/dom/importNodeXML-expected.txt: Added.

Apr 28, 2005:

6:13 PM Changeset in webkit [9080] by darin
  • 7 edits in trunk/WebKit

Reviewed by Maciej.

  • fixed problems preventing us from compiling with gcc 4.0
  • WebKit.pbproj/project.pbxproj: Removed -fobjc-exceptions because I can't figure out an easy way to pass it only when compiling Objective-C/C++. Removed -Wmissing-prototypes from WARNING_CPLUSPLUSFLAGS since it's now a C-only warning.
  • History.subproj/WebHistoryItem.m: (-[WebHistoryItem pageCache]): Changed return type to match the declaration.
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]): Fixed a BOOL that should have been a Boolean.
  • WebCoreSupport.subproj/WebTextRenderer.m: Removed redundant copy of ROUND_TO_INT, also in a WebCore header. (-[WebTextRenderer _computeWidthForSpace]): Had to add cast because of difference in type of ROUND_TO_INT vs. CEIL_TO_INT. (pathFromFont): Added a cast to convert UInt8 * to char *.
  • WebView.subproj/WebFrameView.m: (-[WebFrameView _setDocumentView:]): Fixed parameter type to match the declaration. (-[WebFrameView documentView]): Fixed return type to match the declaration.
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): Initialized a variable to quiet an incorrect gcc 4.0 uninitialized variable warning. (-[WebHTMLView deleteToMark:]): Switched from @try style to NS_DURING style of exception handler because we can't pass -fobjc-exceptions just to Objective-C at the moment (see above). (-[WebHTMLView selectToMark:]): Ditto. (-[WebHTMLView swapWithMark:]): Ditto.
5:31 PM Changeset in webkit [9079] by darin
  • 21 edits in trunk/WebCore

Reviewed by Dave Harrison.

  • fixed problems preventing us from compiling with gcc 4.0
  • WebCore.pbproj/project.pbxproj: Removed -fobjc-exceptions because I can't figure out an easy way to pass it only when compiling Objective-C/C++. Removed -Wmissing-prototypes from WARNING_CPLUSPLUSFLAGS since it's now a C-only warning.
  • khtml/css/parser.y: Changed some rules that were using a float to pass around an enum to use an int instead to avoid a warning.
  • khtml/css/parser.cpp: Regenerated.
  • khtml/css/parser.h: Regenerated.
  • khtml/ecma/kjs_dom.cpp: (DOMTextProtoFunc::tryCall): Rearranged a return statement to avoid an incorrect warning.
  • khtml/ecma/kjs_html.cpp: (KJS::Context2DFunction::tryCall): Initialized a couple of variables to avoid an incorrect warning.
  • khtml/ecma/kjs_proxy.cpp: (KJSProxyImpl::evaluate): Rearranged how we exit from the function to avoid an incorret warning.
  • khtml/editing/selection.cpp: (khtml::Selection::debugPosition): Changed some %d to %ld where the parameters where long ints.
  • khtml/editing/visible_position.cpp: (khtml::VisiblePosition::debugPosition): Ditto.
  • khtml/xml/dom_position.cpp: (DOM::Position::debugPosition): Ditto.
  • kwq/DOMEvents.mm: (-[DOMMouseEvent initMouseEvent:::::::::::::::]): Rearranged code to avoid a cast that was causing an incorrect warning.
  • kwq/DOMUtility.mm: (createObjCDOMNode): Broke out as a separate function. (KJS::ScriptInterpreter::createObjcInstanceForValue): Rearranged code to avoid a namespace collision with KJS::DOMNode and the Objective-C DOMNode class.
  • kwq/KWQFileButton.mm: Made fields of KWQFileButtonAdapter public to avoid an error, new to gcc 4.0, about accessing protected Objective-C fields.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::matchLabelsAgainstElement): Rearranged a return statement to avoid an incorrect warning. (KWQKHTMLPart::imageFromRect): Rearranged how this function does its exception handling to avoid a "may be clobbered" warning.
  • kwq/KWQKJavaAppletWidget.mm: Fixed incorrect import that said "KHTMLView.h" instead of "khtmlview.h".
  • kwq/KWQObject.mm: Made fields of KWQObjectTimerTarget public to avoid an error, new to gcc 4.0, about accessing protected Objective-C fields.
  • kwq/WebCoreBridge.mm: (partHasSelection): Used [bridge part] instead of getting directly at instance variable to avoid an error, new to gcc 4.0, about accessing protected Objective-C fields.
  • WebCore-combined.exp: Regenerated.
  • WebCore-tests.exp: Added some additional symbols needed by the tests under gcc 4.0.
5:22 PM Changeset in webkit [9078] by darin
  • 9 edits in trunk/JavaScriptCore

Reviewed by Dave Harrison.

  • fixed problems preventing us from compiling with gcc 4.0
  • JavaScriptCore.pbproj/project.pbxproj: Removed -Wmissing-prototypes from WARNING_CPLUSPLUSFLAGS since it's now a C-only warning.
  • bindings/jni/jni_jsobject.cpp: (JSObject::getSlot): Changed some %d to %ld where the parameters where long ints. (JSObject::setSlot): Ditto.
  • bindings/jni/jni_utility.cpp: (KJS::Bindings::getJavaVM): Ditto. (KJS::Bindings::getJNIEnv): Ditto.
  • bindings/objc/objc_utility.mm: Fixed include of <JavascriptCore/internal.h> that needed the letter "S" capitalized.
  • kjs/bool_object.cpp: (BooleanProtoFuncImp::call): Rearranged how this function returns to avoid incorrect gcc 4.0 warning.
  • kjs/collector.cpp: (KJS::Collector::markStackObjectsConservatively): Changed code to check the alignment of the passed-in pointers to only require pointer-level alignment, not 8-byte alignment. Prevents a crash on garbage collect when compiled with gcc 4.0.
  • kjs/nodes.cpp: (WhileNode::execute): Added a redundant return after an infinite loop to work around incorrect gcc 4.0 warning. (ForNode::execute): Ditto. (SwitchNode::execute):Rearranged how this function returns to avoid incorrect gcc 4.0 warning. (LabelNode::execute): Ditto.
  • kjs/string_object.cpp: (replace): Ditto.
5:07 PM Changeset in webkit [9077] by darin
  • 1 edit in trunk/WebCore/ChangeLog-2005-08-23

Fix ChangeLog

5:07 PM Changeset in webkit [9076] by darin
  • 2 edits in trunk/WebCore
  • WebCore.pbproj/project.pbxproj: Add back the main_thread_malloc files, rolled out by accident.

Apr 27, 2005:

6:04 PM Changeset in webkit [9075] by adele
  • 6 edits in trunk/WebCore

Rolling out fix for <rdar://problem/4097849> because the following layout tests were failing:

fast/css/namespaces/001
fast/css/namespaces/002
fast/css/namespaces/004
fast/css/namespaces/005
fast/css/namespaces/006
fast/overflow/003

  • khtml/html/html_documentimpl.cpp:
  • khtml/html/html_documentimpl.h:
  • khtml/html/html_elementimpl.cpp: (HTMLElementImpl::namespaceURI):
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::importNode): (DocumentImpl::createElementNS): (DocumentImpl::createHTMLElement): (DocumentImpl::attrId): (DocumentImpl::tagId):
  • khtml/xml/dom_docimpl.h:
6:03 PM Changeset in webkit [9074]
  • 4 copies
    2 deletes in tags/WebCore-413~1

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

6:03 PM Changeset in webkit [9073] by vicki
  • 1 edit in trunk/WebCore/WebCore.pbproj/project.pbxproj

one more tweak

5:06 PM Changeset in webkit [9072] by vicki
  • 1 edit in trunk/WebCore/WebCore.pbproj/project.pbxproj

WebCore-413.1

4:14 PM Changeset in webkit [9071]
  • 34 copies
    2 deletes in tags/WebCore-415~1

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

4:14 PM Changeset in webkit [9070] by vicki
  • 2 edits in branches/Safari-2-0-branch/WebCore
  • merge this fix from HEAD

This fix was included in WebCore-413, which shipped in Tiger GM (8A428). However,
Safari-2-0-anchor was mistakenly placed at WebCore-412. Merging this fix to
the branch so that this fix isn't lost in the SU.

2005-03-27 Darin Adler <Darin Adler>

Reviewed by me, fix by Kida-san.

  • fixed <rdar://problem/4067474> 8A424: Safari immediately quit by Cmd+Ctrll+'D'
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge convertToNSRange:DOM::]): Added nil check.
2:53 PM Changeset in webkit [9069] by sullivan
  • 2 edits in branches/experimental-ui-branch/WebCore

Rolled in the resizable textarea change from tip of tree, so all three of my
experimental prototypes are on the same branch, for ease of demoing. For the
experimental-ui-branch, ALLOW_RESIZING_TEXTAREAS is on unless you recompile
it away.

===

This code allows you to press near the bottom-right corner of any textarea and drag
to resize the textarea on the page. It works correctly with textareas in left-aligned
or centered blocks, but is weird in right-aligned blocks. It also does something
sensible if the width is specified as a % (in that case, you can resize vertically only).
The user-created-size survives resizing the window and survives the back/forward cache.
It does not survive reloading the page.

This complete-lack-of-affordance UI is obviously not shippable, but this proof of concept
code could lead to a real user feature.

  • kwq/KWQTextArea.mm: (-[KWQTextArea getNumColumns:andNumRows:forSize:]): new method that determines cols and rows for a given textarea frame size (-[KWQTextAreaTextView _trackResizeFromMouseDown:]): new method that tracks a drag and does a live resize-and-relayout (-[KWQTextAreaTextView mouseDown:]): if the mouse down is in the bottom-right corner, call _trackResizeFromMouseDown:
2:41 PM Changeset in webkit [9068] by adele
  • 3 edits in branches/Safari-2-0-branch/WebCore

Merging John's fix for alt/shift bug in <rdar://problem/3655817> fix from TOT.

2005-04-27 John Sullivan <sullivan@apple.com>

Reviewed by Adele.

  • fixed problem with mouse wheel patch where alt and shift keys were switched
  • khtml/xml/dom2_eventsimpl.h: use the order cntl, alt, shift, meta in KeyboardEventImpl constructors to match superclass. This isn't necessary to fix the bug, but is better for clarity.
  • khtml/xml/dom2_eventsimpl.cpp: (KeyboardEventImpl::KeyboardEventImpl): switch parameter order to match superclass. Then pass the parameters to superclass's constructor in the right order. (KeyboardEventImpl::initKeyboardEvent): Pass parameters to superclass's constructor in the right order.
2:34 PM Changeset in webkit [9067] by sullivan
  • 2 edits in trunk/WebCore

Reviewed by Darin.

Experimental prototype of user-resizable textareas. All the new code is guarded by
#if ALLOW_RESIZING_TEXTAREAS, which is false unless you remove a comment and rebuild.

This code allows you to press near the bottom-right corner of any textarea and drag
to resize the textarea on the page. It works correctly with textareas in left-aligned
or centered blocks, but is weird in right-aligned blocks. It also does something
sensible if the width is specified as a % (in that case, you can resize vertically only).
The user-created-size survives resizing the window and survives the back/forward cache.
It does not survive reloading the page.

This complete-lack-of-affordance UI is obviously not shippable, but this proof of concept
code could lead to a real user feature.

  • kwq/KWQTextArea.mm: (-[KWQTextArea getNumColumns:andNumRows:forSize:]): new method that determines cols and rows for a given textarea frame size (-[KWQTextAreaTextView _trackResizeFromMouseDown:]): new method that tracks a drag and does a live resize-and-relayout (-[KWQTextAreaTextView mouseDown:]): if the mouse down is in the bottom-right corner, call _trackResizeFromMouseDown:
2:32 PM Changeset in webkit [9066] by sullivan
  • 3 edits in trunk/WebCore

Reviewed by Adele.

  • fixed problem with mouse wheel patch where alt and shift keys were switched
  • khtml/xml/dom2_eventsimpl.h: use the order cntl, alt, shift, meta in KeyboardEventImpl constructors to match superclass. This isn't necessary to fix the bug, but is better for clarity.
  • khtml/xml/dom2_eventsimpl.cpp: (KeyboardEventImpl::KeyboardEventImpl): switch parameter order to match superclass. Then pass the parameters to superclass's constructor in the right order. (KeyboardEventImpl::initKeyboardEvent): Pass parameters to superclass's constructor in the right order.
11:36 AM Changeset in webkit [9065] by cpetersen
  • 2 edits in branches/Safari-2-0-branch/WebCore

Versioning for SUTiAtlanta - WebCore-415.1

10:59 AM Changeset in webkit [9064] by sullivan
  • 2 edits in trunk/WebKit

Reviewed by Dave Harrison.

  • fixed <rdar://problem/3547489> pop-up window blocking preference and menu item can easily get out of sync.
  • WebView.subproj/WebPreferences.m: (-[WebPreferences _setStringValue:forKey:]): save local value before setting value in NSUserDefaults, so clients reacting to NSUserDefaults change notification but calling back on WebPreferences API will see the updated value. (-[WebPreferences _setIntegerValue:forKey:]): ditto (-[WebPreferences _setBoolValue:forKey:]): ditto
9:58 AM Changeset in webkit [9063] by cpetersen
  • 3 edits in branches/Safari-2-0-branch/WebCore

Removed fix for 4032346 and merged new fix as described in 4097842.

2005-04-18 David Hyatt <hyatt@apple.com>

Back out fix for 4032346, since it is causing garbled image content on many sites.

The bug tracking the fix is 4069093.

(khtml::RenderBlock::matchedEndLine):

2005-04-25 David Hyatt <hyatt@apple.com>

Fix for 4097842, changing 1st line of a url that wraps doesn't update the second line. Make sure to
update line break info for the last dirty line so that when a clean line tries to figure out where it
started, it will get an accurate position taking into account the updated string. By doing this, the code
will be able to properly distinguish between the old and new positions and not accidentally assume they are
the same.

Reviewed by darin

  • khtml/rendering/render_text.cpp: (RenderText::setTextWithOffset):

Apr 26, 2005:

10:52 PM Changeset in webkit [9062] by adele
  • 8 edits in trunk

Fixed by Darin, reviewed by me.

Fix for <rdar://problem/4084029> designMode doesn't allow editing when iframe src = "" or = about:blank

This change will add an HTML element for empty documents. Now that there will be an HTMLDocument in this case,
a body will also be created (see rdar://problem/3758785). This was preventing frames with empty documents from
being editable.

  • khtml/html/htmlparser.cpp: (KHTMLParser::finished):

Updated these tests to expect the HTML and BODY elements

  • layout-tests/fast/flexbox/016-expected.txt:
  • layout-tests/fast/frames/001-expected.txt:
  • layout-tests/fast/frames/002-expected.txt:
  • layout-tests/fast/frames/contentWindow_Frame-expected.txt:
  • layout-tests/fast/frames/contentWindow_iFrame-expected.txt:
  • layout-tests/fast/frames/empty-frame-src-expected.txt:
6:03 PM Changeset in webkit [9061] by rjw
  • 8 edits in trunk

JavaScriptCore:

Fixed <rdar://problem/4098713> Scripting API is incompatible with Mozilla

We were incompatible with Mozilla's implementation of the scripting APIs in
two ways:

Their NPN_SetException has the following signature:

void NPN_SetException(NPObject *npobj, const NPUTF8 *message);

ours has:

void NPN_SetException (NPObject * npobj, const NPString *message);

Also, they expect the string returned from NPN_UTF8FromIdentifier() to be freed by caller.
We do not.

I changed both behaviors to match Mozilla.

Reviewed by Chris.

  • bindings/NP_jsobject.cpp: (_NPN_SetException):
  • bindings/npruntime.cpp: (_NPN_UTF8FromIdentifier): (_NPN_IntFromIdentifier): (_NPN_SetExceptionWithUTF8):
  • bindings/npruntime.h:
  • bindings/npruntime_impl.h:

WebKit:

Fixed <rdar://problem/4098713> Scripting API is incompatible with Mozilla

Reviewed by Chris.

  • Plugins.subproj/npfunctions.h:
  • Plugins.subproj/npruntime.h:
5:58 PM Changeset in webkit [9060] by cpetersen
  • 25 edits in branches/Safari-2-0-branch/WebCore

Merged for 3655817 from TOT

Reviewed by Adele.

2005-04-26 Darin Adler <Darin Adler>

Reviewed by John.

  • fixed <rdar://problem/3655817> please add support for mouse wheel events and the onmousewheel handler

Loose ends:

  • need to test behavior of Windows IE with horizontal scroll wheeling; we currently send a distinct event for that relatively obscure case, which means the event handlers won't fire at all; might be incorrect
  • overflow scrolling is done after all DOM event handling, but ideally should be done in the overflowing element's default event handler; not important in practice
  • frame scrolling is done after all DOM event handling, but probably should be done in a default event handler; not sure about this, but it's probably not important in practice and definitely not required
  • JavaScript
  • khtml/ecma/kjs_events.h: Added DOMWheelEvent.
  • khtml/ecma/kjs_events.cpp: (KJS::getDOMEvent): Added a case for wheel event. To be forward looking, I use the event's impl pointer instead of a C++ DOM wrapper. Eventually it will all work this way. (offsetFromTarget): Added. Factored out code to compute offsetX/Y for an event. (DOMMouseEvent::getValueProperty): Changed to call offsetFromTarget for offsetX/Y. (DOMWheelEvent::DOMWheelEvent): Added. (DOMWheelEvent::tryGet): Added. (DOMWheelEvent::getValueProperty): Added. (DOMWheelEventProtoFunc::tryCall): Added. Nothing at the moment, but might get contents later.
  • khtml/ecma/kjs_dom.h: Added OnMouseWheel to the enum with the list of properties.
  • khtml/ecma/kjs_dom.cpp: Added onmousewheel as a property of DOM nodes. (DOMNode::getValueProperty): Return the mouse wheel event handler. (DOMNode::putValue): Set the mouse wheel event handler.
  • khtml/ecma/kjs_window.cpp: Added onmousewheel as a property of the window. (Window::get): Return the mouse wheel event handler. (Window::put): Set the mouse wheel event handler.
  • khtml/ecma/kjs_window.h: Added OnWindowMouseWheel to the enum with the list of properties. (Other properties distinguish the window handler by lower-casing the initial letter, way too subtle, so I did this one a good way.)
  • khtml/dom/dom2_events.h: Made the constructors for Event and UIEvent public. There's no good reason for them to be private, and I had to use the UIEvent one in the JavaScript implementation.
  • DOM
  • khtml/xml/dom2_eventsimpl.h: Added events for mouse wheel and horizontal mouse wheel. Added isWheelEvent function to EventImpl. (DOM::UIEventWithKeyStateImpl): Added. Base class shared by mouse, wheel, and keyboard events. (DOM::MouseRelatedEventImpl): Added. Base class shared by mouse and wheel events. (DOM::WheelEventImpl): Added.
  • khtml/xml/dom2_eventsimpl.cpp: Added "mousewheel" to list of event names and a placeholder for the horizontal mouse wheel. (EventImpl::isWheelEvent): Added. Returns false. (MouseRelatedEventImpl::MouseRelatedEventImpl): Added. Factored out what's shared between mouse events and wheel events to avoid duplicated code. (MouseRelatedEventImpl::computeLayerPos): Moved to MouseRelatedWheelEventImpl. (MouseEventImpl::MouseEventImpl): Changed since MouseRelatedWheelEventImpl is now the base class so we can share more code with wheel events. (KeyboardEventImpl::KeyboardEventImpl): Changed since UIEventWithKeyStateImpl is now the base class so we can share more code with mouse and wheel events. (WheelEventImpl::WheelEventImpl): Added. (WheelEventImpl::isWheelEvent): Added. Returns true.
  • khtml/misc/htmlattrs.in: Added "onmousewheel" attribute name.
  • khtml/html/html_elementimpl.cpp: (HTMLElementImpl::parseHTMLAttribute): Added parsing of the "onmousewheel" atribute, consistent with other event handler attributes.
  • event handling
  • kwq/WebCoreBridge.h: Renamed scrollOverflowWithScrollWheelEvent to sendScrollWheelEvent.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge sendScrollWheelEvent:]): Renamed.
  • kwq/KWQEvent.h: Added Wheel as an event type value. (QWheelEvent::QWheelEvent): Added.
  • kwq/KWQEvent.mm: (positionForEvent): Updated to know that wheel events have valid positions in them. (orientationForEvent): Added. (deltaForEvent): Added. (QWheelEvent::QWheelEvent): Added.
  • kwq/KWQKHTMLPart.h: Renamed scrollOverflowWithScrollWheelEvent to wheelEvent.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::wheelEvent): Renamed and added code to construct a QWheelEvent and send it along to KHTMLView::viewportWheelEvent, consistent with how mouse events work.
  • khtml/khtmlview.cpp: (KHTMLView::viewportWheelEvent): Do a hit test to figure out which node to send the event to, and then call dispatchWheelEvent.
  • khtml/xml/dom_nodeimpl.h: Added dispatchWheelEvent.
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::dispatchWheelEvent): Added.
  • generated files
  • khtml/ecma/kjs_dom.lut.h: Regenerated.
  • khtml/ecma/kjs_events.lut.h: Regenerated.
  • khtml/ecma/kjs_window.lut.h: Regenerated.
  • khtml/misc/htmlattrs.c: Regenerated.
  • khtml/misc/htmlattrs.h: Regenerated.
5:18 PM Changeset in webkit [9059] by mjs
  • 3 edits
    2 adds in trunk

JavaScriptCore:

Reviewed by Chris.

<rdar://problem/4092136> reproducible crash in KJS::kjs_fast_realloc loading maps.google.com

  • kjs/string_object.cpp: (StringObjectFuncImp::call): Allocate adopted ustring buffer properly.

WebCore:

New test case for <rdar://problem/4092136> reproducible crash in KJS::kjs_fast_realloc loading maps.google.com

  • layout-tests/fast/js/string-from-char-code-expected.txt: Added.
  • layout-tests/fast/js/string-from-char-code.html: Added.
5:11 PM Changeset in webkit [9058] by cpetersen
  • 5 edits in branches/Safari-2-0-branch

Merging fix for <rdar://problem/4075576> from TOT

Reviewed by Adele.

2005-04-26 David Harrison <harrison@apple.com>

Reviewed by Darin, Maciej.

<rdar://problem/4075576> Deleting text in new message borks content

Fixed by removing the methods that attempted to preserve the position. The idea
of preserving position is a very recent one, and turned out to not actually address
the problem it was intended to fix (see below). Further, is unclear how the position
could be preserved in a form that could be properly used later on. Therefore,
removing the code to work like before is the preferred alternative for this software
update. I've written <rdar://problem/4099839> to cover the bug that position
preservation was supposed to fix (but did not). Added layout tests for
both this bug and 4099839. Also, updated existing tests with correct expected results
(delete-at-paragraph-boundaries-003 and 004).

  • khtml/editing/htmlediting.cpp: (khtml::CompositeEditCommand::removeFullySelectedNode): (khtml::CompositeEditCommand::removeChildrenInRange): (khtml::DeleteSelectionCommand::handleGeneralDelete):
  • khtml/editing/htmlediting.h:
  • layout-tests/editing/deleting/delete-at-paragraph-boundaries-003-expected.txt:
  • layout-tests/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt:
4:36 PM Changeset in webkit [9057] by darin
  • 28 edits in trunk

WebCore:

Reviewed by John.

  • fixed <rdar://problem/3655817> please add support for mouse wheel events and the onmousewheel handler

Loose ends:

  • need to test behavior of Windows IE with horizontal scroll wheeling; we currently send a distinct event for that relatively obscure case, which means the event handlers won't fire at all; might be incorrect
  • overflow scrolling is done after all DOM event handling, but ideally should be done in the overflowing element's default event handler; not important in practice
  • frame scrolling is done after all DOM event handling, but probably should be done in a default event handler; not sure about this, but it's probably not important in practice and definitely not required
  • JavaScript
  • khtml/ecma/kjs_events.h: Added DOMWheelEvent.
  • khtml/ecma/kjs_events.cpp: (KJS::getDOMEvent): Added a case for wheel event. To be forward looking, I use the event's impl pointer instead of a C++ DOM wrapper. Eventually it will all work this way. (offsetFromTarget): Added. Factored out code to compute offsetX/Y for an event. (DOMMouseEvent::getValueProperty): Changed to call offsetFromTarget for offsetX/Y. (DOMWheelEvent::DOMWheelEvent): Added. (DOMWheelEvent::tryGet): Added. (DOMWheelEvent::getValueProperty): Added. (DOMWheelEventProtoFunc::tryCall): Added. Nothing at the moment, but might get contents later.
  • khtml/ecma/kjs_dom.h: Added OnMouseWheel to the enum with the list of properties.
  • khtml/ecma/kjs_dom.cpp: Added onmousewheel as a property of DOM nodes. (DOMNode::getValueProperty): Return the mouse wheel event handler. (DOMNode::putValue): Set the mouse wheel event handler.
  • khtml/ecma/kjs_window.cpp: Added onmousewheel as a property of the window. (Window::get): Return the mouse wheel event handler. (Window::put): Set the mouse wheel event handler.
  • khtml/ecma/kjs_window.h: Added OnWindowMouseWheel to the enum with the list of properties. (Other properties distinguish the window handler by lower-casing the initial letter, way too subtle, so I did this one a good way.)
  • khtml/dom/dom2_events.h: Made the constructors for Event and UIEvent public. There's no good reason for them to be private, and I had to use the UIEvent one in the JavaScript implementation.
  • DOM
  • khtml/xml/dom2_eventsimpl.h: Added events for mouse wheel and horizontal mouse wheel. Added isWheelEvent function to EventImpl. (DOM::UIEventWithKeyStateImpl): Added. Base class shared by mouse, wheel, and keyboard events. (DOM::MouseRelatedEventImpl): Added. Base class shared by mouse and wheel events. (DOM::WheelEventImpl): Added.
  • khtml/xml/dom2_eventsimpl.cpp: Added "mousewheel" to list of event names and a placeholder for the horizontal mouse wheel. (EventImpl::isWheelEvent): Added. Returns false. (MouseRelatedEventImpl::MouseRelatedEventImpl): Added. Factored out what's shared between mouse events and wheel events to avoid duplicated code. (MouseRelatedEventImpl::computeLayerPos): Moved to MouseRelatedWheelEventImpl. (MouseEventImpl::MouseEventImpl): Changed since MouseRelatedWheelEventImpl is now the base class so we can share more code with wheel events. (KeyboardEventImpl::KeyboardEventImpl): Changed since UIEventWithKeyStateImpl is now the base class so we can share more code with mouse and wheel events. (WheelEventImpl::WheelEventImpl): Added. (WheelEventImpl::isWheelEvent): Added. Returns true.
  • khtml/misc/htmlattrs.in: Added "onmousewheel" attribute name.
  • khtml/html/html_elementimpl.cpp: (HTMLElementImpl::parseHTMLAttribute): Added parsing of the "onmousewheel" atribute, consistent with other event handler attributes.
  • event handling
  • kwq/WebCoreBridge.h: Renamed scrollOverflowWithScrollWheelEvent to sendScrollWheelEvent.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge sendScrollWheelEvent:]): Renamed.
  • kwq/KWQEvent.h: Added Wheel as an event type value. (QWheelEvent::QWheelEvent): Added.
  • kwq/KWQEvent.mm: (positionForEvent): Updated to know that wheel events have valid positions in them. (orientationForEvent): Added. (deltaForEvent): Added. (QWheelEvent::QWheelEvent): Added.
  • kwq/KWQKHTMLPart.h: Renamed scrollOverflowWithScrollWheelEvent to wheelEvent.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::wheelEvent): Renamed and added code to construct a QWheelEvent and send it along to KHTMLView::viewportWheelEvent, consistent with how mouse events work.
  • khtml/khtmlview.cpp: (KHTMLView::viewportWheelEvent): Do a hit test to figure out which node to send the event to, and then call dispatchWheelEvent.
  • khtml/xml/dom_nodeimpl.h: Added dispatchWheelEvent.
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::dispatchWheelEvent): Added.
  • generated files
  • khtml/ecma/kjs_dom.lut.h: Regenerated.
  • khtml/ecma/kjs_events.lut.h: Regenerated.
  • khtml/ecma/kjs_window.lut.h: Regenerated.
  • khtml/misc/htmlattrs.c: Regenerated.
  • khtml/misc/htmlattrs.h: Regenerated.

WebKit:

Reviewed by John.

  • fixed <rdar://problem/3655817> please add support for mouse wheel events and the onmousewheel handler
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView scrollWheel:]): Call sendScrollWheelEvent: method instead of the old scrollOverflowWithScrollWheelEvent: (just a name change).
3:50 PM Changeset in webkit [9056] by cpetersen
  • 2 edits in branches/Safari-2-0-branch/WebCore

2005-04-26 chris petersen <cpetersen@apple.com>

Merging fix for <rdar://problem/4069161> from TOT

Reviewed by Adele.

2005-03-28 David Harrison <harrison@apple.com>

Reviewed by Darin.

<rdar://problem/4069161> REGRESSION (8A416-8A419): Safari crash bringing up context menu for non-HTML content in a frame

  • kwq/KWQAccObject.mm: (-[KWQAccObject rendererForView:]): Nil-check node variable instead of rechecking document variable.
3:50 PM Changeset in webkit [9055]
  • 6 copies in branches/Safari-2-0-branch

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

3:39 PM Changeset in webkit [9054] by harrison
  • 5 edits
    8 adds in trunk

Reviewed by Darin, Maciej.

<rdar://problem/4075576> Deleting text in new message borks content

Fixed by removing the methods that attempted to preserve the position. The idea
of preserving position is a very recent one, and turned out to not actually address
the problem it was intended to fix (see below). Further, is unclear how the position
could be preserved in a form that could be properly used later on. Therefore,
removing the code to work like before is the preferred alternative for this software
update. I've written <rdar://problem/4099839> to cover the bug that position
preservation was supposed to fix (but did not). Added layout tests for
both this bug and 4099839. Also, updated existing tests with correct expected results
(delete-at-paragraph-boundaries-003 and 004).

  • khtml/editing/htmlediting.cpp: (khtml::CompositeEditCommand::removeFullySelectedNode): (khtml::CompositeEditCommand::removeChildrenInRange): (khtml::DeleteSelectionCommand::handleGeneralDelete):
  • khtml/editing/htmlediting.h:
  • layout-tests/editing/deleting/delete-at-paragraph-boundaries-003-expected.txt:
  • layout-tests/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt:
  • layout-tests/editing/deleting/delete-at-paragraph-boundaries-007-expected.txt: Added.
  • layout-tests/editing/deleting/delete-at-paragraph-boundaries-007.html: Added.
  • layout-tests/editing/deleting/delete-at-paragraph-boundaries-008-expected.txt: Added.
  • layout-tests/editing/deleting/delete-at-paragraph-boundaries-008.html: Added.
  • layout-tests/editing/deleting/delete-at-paragraph-boundaries-009-expected.txt: Added.
  • layout-tests/editing/deleting/delete-at-paragraph-boundaries-009.html: Added.
  • layout-tests/editing/deleting/delete-at-paragraph-boundaries-010-expected.txt: Added.
  • layout-tests/editing/deleting/delete-at-paragraph-boundaries-010.html: Added.
2:20 PM Changeset in webkit [9053] by darin
  • 2 edits in trunk/WebCore
  • fixed development builds
  • khtml/misc/main_thread_malloc.h: Use inlines instead of macros for allocation functions.
2:12 PM Changeset in webkit [9052] by hyatt
  • 2 edits in trunk/WebCore

Fix for 4097842, changing 1st line of a url that wraps doesn't update the second line. Make sure to
update line break info for the last dirty line so that when a clean line tries to figure out where it
started, it will get an accurate position taking into account the updated string. By doing this, the code
will be able to properly distinguish between the old and new positions and not accidentally assume they are
the same.

Reviewed by darin

  • khtml/rendering/render_text.cpp: (RenderText::setTextWithOffset):
2:02 PM Changeset in webkit [9051] by darin
  • 2 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed <rdar://problem/4098826> Bezier curves broken in new Safari canvas object (last two parameters parsed incorrectly)
  • khtml/ecma/kjs_html.cpp: (KJS::Context2DFunction::tryCall): Fixed incorrect argument indices. Thanks to Brian Campbell who figured out what was wrong.
11:46 AM Changeset in webkit [9050] by mjs
  • 21 edits
    3 adds in trunk/WebCore

Reviewed by Darin.

  • use single-threaded malloc in places where malloc is hot for an 8% speed improvement on cvs-base
  • ForwardingHeaders/misc/fast_malloc.h: Added.
  • WebCore.pbproj/project.pbxproj:
  • khtml/css/css_base.h:
  • khtml/css/css_ruleimpl.h:
  • khtml/css/css_valueimpl.h:
  • khtml/css/cssstyleselector.h:
  • khtml/misc/arena.cpp: (ArenaAllocate): (FreeArenaList): (ArenaFinish):
  • khtml/misc/main_thread_malloc.cpp: Added.
  • khtml/misc/main_thread_malloc.h: Added.
  • khtml/rendering/render_style.h:
  • khtml/xml/dom2_eventsimpl.h:
  • khtml/xml/dom2_rangeimpl.h:
  • khtml/xml/dom2_traversalimpl.h:
  • khtml/xml/dom2_viewsimpl.h:
  • khtml/xml/dom_docimpl.h:
  • khtml/xml/dom_elementimpl.cpp: (NamedAttrMapImpl::NamedAttrMapImpl): (NamedAttrMapImpl::clearAttributes): (NamedAttrMapImpl::operator=): (NamedAttrMapImpl::addAttribute): (NamedAttrMapImpl::removeAttribute):
  • khtml/xml/dom_elementimpl.h:
  • khtml/xml/dom_nodeimpl.h:
  • khtml/xml/dom_stringimpl.h:
  • kwq/KWQFontFamily.h:
  • kwq/KWQListImpl.mm:
  • kwq/KWQString.h:
  • kwq/KWQString.mm: (ALLOC_CHAR): (ALLOC_QCHAR): (QString::setBufferFromCFString): (allocatePageNode):
Note: See TracTimeline for information about the timeline view.