Timeline
Nov 11, 2005:
- 6:32 PM Changeset in webkit [11162] by
-
- 2 edits in trunk/WebCore
Bug #: 4187169
Submitted by: eseidel
Reviewed by: mjs
Unfortunately both the Render and DOM trees will actually preform
the load on <embed> <object> and <iframe> tags depending on the
circumstances. The <iframe> code path was missing a recursion
check in the render tree. I fixed that. And improved the
recursion checking for all tags.
<rdar://problem/4187169> High CPU usage/hang occurs with Safari after loading cbsnews.com (also at cbs.com)
- khtml/rendering/render_frames.cpp: (isURLAllowed): added, to prevent recursive loops (mapClassIdToServiceType): added, to simplify code (RenderPartObject::updateWidget): updated, to use above functions.
- 5:57 PM Changeset in webkit [11161] by
-
- 17 edits2 deletes in branches/Safari-1-3-branch/WebCore
Merged fix from TOT to Safari-1-3-branch
2005-11-03 Adele Peterson <adele@apple.com>
Reviewed by Hyatt.
Clean up of layer scrolling code. Now we can clearly define what to do if a rectangle is fully visible, partially visible, or hidden.
This also fixes a bug with the previous implementation where nested layers/frames would get passed a rect that was too large.
Added fast/overflow/scrollRevealButton.html
- khtml/rendering/render_layer.h: (khtml::RenderLayer::): Added ScrollBehavior enum, ScrollAlignment struct, and ScrollAlignment static members to describe specific scrolling behaviors depending on how visible the rectangle is. In the future, we can add other statics to easily describe desired behaviors.
- khtml/rendering/render_layer.cpp: (khtml::): initialize ScrollAlignment static members: alignCenterIfNeeded, alignToEdgeIfNeeded, alignCenterAlways, alignTopAlways, alignBottomAlways (khtml::RenderLayer::scrollRectToVisible): alignCenterIfNeeded is the default behavior for both directions. Pass the original rect (adjusted if scrolling has occurred) when recursively calling this function. (khtml::RenderLayer::getRectToExpose): Adjusted for new ScrollAlignment parameters.
- khtml/khtml_part.cpp: (KHTMLPart::gotoAnchor): Use the node's rect to determine where to scroll. We used to just use the origin, but this helps us match other browsers better. (KHTMLPart::setActiveNode): Removed scrolling code, since this is now also done in setFocusNode
- khtml/xml/dom_elementimpl.cpp: (ElementImpl::scrollIntoView): Use new ScrollAlignment values to describe scrolling behavior.
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::nextKeyViewInFrame): Removed scrolling code, since this is now also done in setFocusNode (KWQKHTMLPart::centerSelectionInVisibleArea): Use new ScrollAlignment values to describe scrolling behavior.
- kwq/WebCoreBridge.mm: (-[WebCoreBridge ensureSelectionVisible]): ditto.
- kwq/KWQScrollView.h: Removed ensureRectVisible, since we no longer use this.
- kwq/KWQScrollView.mm: ditto.
- khtml/khtmlview.cpp: (KHTMLView::doAutoScroll): Removed unnecessary nil checks for enclosingLayer (KHTMLView::focusNextPrevNode): ditto.
- 5:57 PM Changeset in webkit [11160] by
-
- 19 edits2 deletes in branches/Safari-2-0-branch/WebCore
Merged fix from TOT to Safari-2-0-branch
2005-11-03 Adele Peterson <adele@apple.com>
Reviewed by Hyatt.
Clean up of layer scrolling code. Now we can clearly define what to do if a rectangle is fully visible, partially visible, or hidden.
This also fixes a bug with the previous implementation where nested layers/frames would get passed a rect that was too large.
Added fast/overflow/scrollRevealButton.html
- khtml/rendering/render_layer.h: (khtml::RenderLayer::): Added ScrollBehavior enum, ScrollAlignment struct, and ScrollAlignment static members to describe specific scrolling behaviors depending on how visible the rectangle is. In the future, we can add other statics to easily describe desired behaviors.
- khtml/rendering/render_layer.cpp: (khtml::): initialize ScrollAlignment static members: alignCenterIfNeeded, alignToEdgeIfNeeded, alignCenterAlways, alignTopAlways, alignBottomAlways (khtml::RenderLayer::scrollRectToVisible): alignCenterIfNeeded is the default behavior for both directions. Pass the original rect (adjusted if scrolling has occurred) when recursively calling this function. (khtml::RenderLayer::getRectToExpose): Adjusted for new ScrollAlignment parameters.
- khtml/khtml_part.cpp: (KHTMLPart::gotoAnchor): Use the node's rect to determine where to scroll. We used to just use the origin, but this helps us match other browsers better. (KHTMLPart::setActiveNode): Removed scrolling code, since this is now also done in setFocusNode
- khtml/xml/dom_elementimpl.cpp: (ElementImpl::scrollIntoView): Use new ScrollAlignment values to describe scrolling behavior.
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::nextKeyViewInFrame): Removed scrolling code, since this is now also done in setFocusNode (KWQKHTMLPart::centerSelectionInVisibleArea): Use new ScrollAlignment values to describe scrolling behavior.
- kwq/WebCoreBridge.mm: (-[WebCoreBridge ensureSelectionVisible]): ditto.
- kwq/KWQScrollView.h: Removed ensureRectVisible, since we no longer use this.
- kwq/KWQScrollView.mm: ditto.
- khtml/khtmlview.cpp: (KHTMLView::doAutoScroll): Removed unnecessary nil checks for enclosingLayer (KHTMLView::focusNextPrevNode): ditto.
- 5:31 PM Changeset in webkit [11159] by
-
- 9 edits in branches/Safari-1-3-branch/WebCore
Merged fix from TOT to Safari-1-3-branch
2005-10-27 David Harrison <harrison@apple.com>
Reviewed by Justin Garcia and Dave Hyatt.
<rdar://problem/4134884> crash trying to forward msg - khtml::RenderBlock::addChildToFlow
Problem was that onunload events were being fired while in the middle of trying to detach, which resulted in updateDocumentsRendering re-attaching the previously detached nodes. Similar problem with load events while attaching.
Solved by eliminating load and unload for object nodes, pre-sending unload before detach, and sending dom mutation and load events after attaching.
Also, added asserts to catch this problem more easily in the future.
Added test:
- fast/events/event-targets.html Make sure that load and unload events do not fire on certain objects.
- khtml/ecma/kjs_html.cpp: (KJS::Image::notifyFinished): Use constant string for "load" event name.
- khtml/ecma/xmlhttprequest.cpp: (KJS::XMLHttpRequest::changeState): Use constant strings for "load" and "readystatechange" event names.
- khtml/html/html_baseimpl.cpp: (HTMLFrameElementImpl::close): (HTMLFrameElementImpl::willRemove): (HTMLFrameElementImpl::detach): Add willRemove() function.
- khtml/html/html_baseimpl.h: Add willRemove() function.
- khtml/html/html_objectimpl.cpp: (DOM::HTMLObjectElementImpl::attach): (DOM::HTMLObjectElementImpl::detach): Stop needlessly sending load and unload events for OBJECT elements.
- khtml/xml/dom2_traversalimpl.cpp: (DOM::NodeIteratorImpl::notifyBeforeNodeRemoval): Rename local variable from willRemove to removedNode for clarity.
- khtml/xml/dom_docimpl.cpp: (DocumentImpl::DocumentImpl): (DocumentImpl::forbidEventDispatch): (DocumentImpl::allowEventDispatch): (DocumentImpl::eventDispatchForbidden): (DocumentImpl::createEvent): Add mechanism to prevent event dispatch.
- khtml/xml/dom_docimpl.h:
- khtml/xml/dom_nodeimpl.cpp: (DOM::NodeImpl::dispatchEvent): (DOM::NodeImpl::dispatchGenericEvent): (DOM::NodeImpl::dispatchHTMLEvent): (DOM::NodeImpl::dispatchWindowEvent): (DOM::NodeImpl::dispatchMouseEvent): (DOM::NodeImpl::dispatchSimulatedMouseEvent): (DOM::NodeImpl::dispatchUIEvent): (DOM::NodeImpl::dispatchSubtreeModifiedEvent): (DOM::NodeImpl::dispatchKeyEvent): (DOM::NodeImpl::dispatchWheelEvent): (DOM::NodeImpl::willRemove): (DOM::ContainerNodeImpl::insertBefore): (DOM::ContainerNodeImpl::replaceChild): (DOM::ContainerNodeImpl::willRemove): (DOM::ContainerNodeImpl::willRemoveChild): (DOM::ContainerNodeImpl::removeChild): (DOM::ContainerNodeImpl::removeChildren): (DOM::ContainerNodeImpl::appendChild): (DOM::ContainerNodeImpl::addChild): (DOM::ContainerNodeImpl::dispatchChildInsertedEvents): (DOM::ContainerNodeImpl::dispatchChildRemovalEvents): Prevent event dispatch during DOM node removals and additions.
- khtml/xml/dom_nodeimpl.h:
- 5:24 PM Changeset in webkit [11158] by
-
- 9 edits in branches/Safari-2-0-branch/WebCore
Merged fix from TOT to Safari-2-0-branch
2005-10-27 David Harrison <harrison@apple.com>
Reviewed by Justin Garcia and Dave Hyatt.
<rdar://problem/4134884> crash trying to forward msg - khtml::RenderBlock::addChildToFlow
Problem was that onunload events were being fired while in the middle of trying to detach, which resulted in updateDocumentsRendering re-attaching the previously detached nodes. Similar problem with load events while attaching.
Solved by eliminating load and unload for object nodes, pre-sending unload before detach, and sending dom mutation and load events after attaching.
Also, added asserts to catch this problem more easily in the future.
Added test:
- fast/events/event-targets.html Make sure that load and unload events do not fire on certain objects.
- khtml/ecma/kjs_html.cpp: (KJS::Image::notifyFinished): Use constant string for "load" event name.
- khtml/ecma/xmlhttprequest.cpp: (KJS::XMLHttpRequest::changeState): Use constant strings for "load" and "readystatechange" event names.
- khtml/html/html_baseimpl.cpp: (HTMLFrameElementImpl::close): (HTMLFrameElementImpl::willRemove): (HTMLFrameElementImpl::detach): Add willRemove() function.
- khtml/html/html_baseimpl.h: Add willRemove() function.
- khtml/html/html_objectimpl.cpp: (DOM::HTMLObjectElementImpl::attach): (DOM::HTMLObjectElementImpl::detach): Stop needlessly sending load and unload events for OBJECT elements.
- khtml/xml/dom2_traversalimpl.cpp: (DOM::NodeIteratorImpl::notifyBeforeNodeRemoval): Rename local variable from willRemove to removedNode for clarity.
- khtml/xml/dom_docimpl.cpp: (DocumentImpl::DocumentImpl): (DocumentImpl::forbidEventDispatch): (DocumentImpl::allowEventDispatch): (DocumentImpl::eventDispatchForbidden): (DocumentImpl::createEvent): Add mechanism to prevent event dispatch.
- khtml/xml/dom_docimpl.h:
- khtml/xml/dom_nodeimpl.cpp: (DOM::NodeImpl::dispatchEvent): (DOM::NodeImpl::dispatchGenericEvent): (DOM::NodeImpl::dispatchHTMLEvent): (DOM::NodeImpl::dispatchWindowEvent): (DOM::NodeImpl::dispatchMouseEvent): (DOM::NodeImpl::dispatchSimulatedMouseEvent): (DOM::NodeImpl::dispatchUIEvent): (DOM::NodeImpl::dispatchSubtreeModifiedEvent): (DOM::NodeImpl::dispatchKeyEvent): (DOM::NodeImpl::dispatchWheelEvent): (DOM::NodeImpl::willRemove): (DOM::ContainerNodeImpl::insertBefore): (DOM::ContainerNodeImpl::replaceChild): (DOM::ContainerNodeImpl::willRemove): (DOM::ContainerNodeImpl::willRemoveChild): (DOM::ContainerNodeImpl::removeChild): (DOM::ContainerNodeImpl::removeChildren): (DOM::ContainerNodeImpl::appendChild): (DOM::ContainerNodeImpl::addChild): (DOM::ContainerNodeImpl::dispatchChildInsertedEvents): (DOM::ContainerNodeImpl::dispatchChildRemovalEvents): Prevent event dispatch during DOM node removals and additions.
- khtml/xml/dom_nodeimpl.h:
- 3:35 PM Changeset in webkit [11157] by
-
- 2 edits in trunk/WebCore
Reviewed by Geoff.
<rdar://problem/4202650> crash in QWidget::afterMouseDown selecting "Departure box"; http://www.funjet.com/ (works in Firefox)
This crash was caused by a script which replaced the QWidget for a RenderSelect while the user was clicking on that widget.
RenderSelect has the interesting property that it dynamically recreates its QWidget based on how many items there are and
whether the select is "multiple". Any script which caused a change to those attributes in mouseDown could have triggered
this crash.
The problem was simply that of a stale pointer; KWQTableView and KWQListBoxScrollView both kept a pointer to the associated
QListBox, but only KWQTableView had any logic to clear the pointer when the QListBox was deallocated. Instead of adding
similar functionality to KWQTableViewListBox (this duplicating code), I removed KWQTableViewListBox's "_box" pointer and
changed its -widget method to get the widget via the KWQTableView.
- kwq/KWQListBox.mm: (QListBox::QListBox): (-[KWQListBoxScrollView widget]): Instead of keeping a pointer to the QListBox, get the QListBox from the KWQTableView, which is always this view's documentView. (-[KWQListBoxScrollView initWithListBox:]): Removed this method, since we can get at the QListBox by simply asking the KWQTableView for it.
- 1:15 PM Changeset in webkit [11156] by
-
- 2 edits in branches/Safari-2-0-branch
Changes to let build-root work.
- 1:14 PM Changeset in webkit [12213] by
-
- 2 edits in branches/Safari-2-0-branch/JavaScriptGlue
Upgraded to a native target so build-root works.
- 12:27 PM Changeset in webkit [11155] by
-
- 1 edit in branches/Safari-1-3-branch/WebCore/khtml/rendering/render_replaced.cpp
Build fix. isVariable should be used on the branch.
- 12:26 PM Changeset in webkit [11154] by
-
- 1 edit in branches/Safari-2-0-branch/WebCore/khtml/rendering/render_replaced.cpp
Build fix. isVariable should be used on the branch.
- 11:40 AM Changeset in webkit [11153] by
-
- 2 edits in branches/Safari-1-3-branch/WebCore
Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=4170
and <rdar://problem/3849434> SLIDER: Article length goes from a
subject line, back to the whole article, when decreasing (4170)
Patch by Ricci Adams
Reviewed by Dave Hyatt
- khtml/rendering/render_flexbox.cpp: (RenderFlexibleBox::layoutVerticalBox): clamp the value
- 11:38 AM Changeset in webkit [11152] by
-
- 2 edits in branches/Safari-2-0-branch/WebCore
Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=4170
and <rdar://problem/3849434> SLIDER: Article length goes from a
subject line, back to the whole article, when decreasing (4170)
Patch by Ricci Adams
Reviewed by Dave Hyatt
- khtml/rendering/render_flexbox.cpp: (RenderFlexibleBox::layoutVerticalBox): clamp the value
- 11:18 AM Changeset in webkit [11151] by
-
- 2 edits in branches/Safari-1-3-branch/JavaScriptCore
Merges fixes from TOT to Safari-1-3-branch
2005-06-20 Anders Carlsson <andersca@mac.com>
Fixed: <http://bugzilla.opendarwin.org/show_bug.cgi?id=3294>
- kjs/string_object.cpp: (replace): Handle the second argument of replace being a function.
- 11:09 AM Changeset in webkit [11150] by
-
- 2 edits in branches/Safari-2-0-branch/JavaScriptCore
Merges fixes from TOT to Safari-2-0-branch
2005-06-20 Anders Carlsson <andersca@mac.com>
Fixed: <http://bugzilla.opendarwin.org/show_bug.cgi?id=3294>
- kjs/string_object.cpp: (replace): Handle the second argument of replace being a function.
- 10:24 AM Changeset in webkit [11149] by
-
- 3 edits in branches/Safari-1-3-branch/WebCore
Merged fix from TOT to Safari-1-3-branch
2005-11-11 Beth Dakin <Beth Dakin>
Reviewed by Hyatt.
Fix for <rdar://problem/3952698> Function buttons do not display
properly with Telia Webmail (3488).
Replaced elements with a percentage width used to be given a minimum
width of 0. This caused buttons etc with width:100% to overlap when
they shouldn't. Textareas and text boxes are still given a minimum
width of 0 because they need slightly different behavior to match
WinIE. I filed <rdar://problem/4339518> to track this remaining problem.
- khtml/rendering/render_form.cpp: (RenderLineEdit::calcMinMaxWidth): Still give text fields a m_minWidth of 0. (RenderTextArea::calcMinMaxWidth): And textareas.
- khtml/rendering/render_replaced.cpp: (RenderReplaced::calcMinMaxWidth): Remove the check for width().isPercent() when making m_minWidth 0.
- 10:21 AM Changeset in webkit [11148] by
-
- 3 edits in branches/Safari-2-0-branch/WebCore
Merged fix from TOT to Safari-2-0-branch
2005-11-11 Beth Dakin <Beth Dakin>
Reviewed by Hyatt.
Fix for <rdar://problem/3952698> Function buttons do not display
properly with Telia Webmail (3488).
Replaced elements with a percentage width used to be given a minimum
width of 0. This caused buttons etc with width:100% to overlap when
they shouldn't. Textareas and text boxes are still given a minimum
width of 0 because they need slightly different behavior to match
WinIE. I filed <rdar://problem/4339518> to track this remaining problem.
- khtml/rendering/render_form.cpp: (RenderLineEdit::calcMinMaxWidth): Still give text fields a m_minWidth of 0. (RenderTextArea::calcMinMaxWidth): And textareas.
- khtml/rendering/render_replaced.cpp: (RenderReplaced::calcMinMaxWidth): Remove the check for width().isPercent() when making m_minWidth 0.
- 9:44 AM Changeset in webkit [11147] by
-
- 4 edits4 adds in trunk
Bug #:
Submitted by:
Reviewed by:
- 8:40 AM Changeset in webkit [11146] by
-
- 17 edits in branches/Safari-1-3-branch/WebCore
Merged fix from TOT to Safari-1-3-branch
2005-06-22 Kevin Ballard <Lily Ballard>
Reviewed by Darin.
Test cases added:
- crlf.html
- text-selection.html Both of these are attached to the bug separately from the patch, because I can't cvs add. Reviewer: feel free to remove this comment and tweak the test cases added lines to reflect wherever you place these cases in the hierarchy
- Fixes bug <http://bugzilla.opendarwin.org/show_bug.cgi?id=3401>. Also fixes issue where setting text of a textarea in code and then retrieving it would leave the \r\n sequences in the text, despite the textarea translating to \n in all other cases.
- khtml/ecma/kjs_html.cpp: (KJS::getInputSelectionStart): (KJS::getInputSelectionEnd): (KJS::KJS::HTMLElement::getValueProperty): (KJS::KJS::HTMLElement::hasProperty): (KJS::KJS::HTMLElementFunction::tryCall): (KJS::HTMLElement::putValue):
- khtml/ecma/kjs_html.h: (KJS::HTMLElement::):
- khtml/html/html_formimpl.cpp: (DOM::HTMLInputElementImpl::canHaveSelection): (DOM::HTMLInputElementImpl::selectionStart): (DOM::HTMLInputElementImpl::selectionEnd): (DOM::HTMLInputElementImpl::setSelectionStart): (DOM::HTMLInputElementImpl::setSelectionEnd): (DOM::HTMLInputElementImpl::setSelectionRange): (DOM::HTMLInputElementImpl::setValue): (DOM::HTMLTextAreaElementImpl::selectionStart): (DOM::HTMLTextAreaElementImpl::selectionEnd): (DOM::HTMLTextAreaElementImpl::setSelectionStart): (DOM::HTMLTextAreaElementImpl::setSelectionEnd): (DOM::HTMLTextAreaElementImpl::setSelectionRange): (DOM::HTMLTextAreaElementImpl::setValue):
- khtml/html/html_formimpl.h:
- khtml/rendering/render_form.cpp: (RenderLineEdit::selectionStart): (RenderLineEdit::selectionEnd): (RenderLineEdit::setSelectionStart): (RenderLineEdit::setSelectionEnd): (RenderLineEdit::setSelectionRange): (RenderTextArea::selectionStart): (RenderTextArea::selectionEnd): (RenderTextArea::setSelectionStart): (RenderTextArea::setSelectionEnd): (RenderTextArea::select): (RenderTextArea::setSelectionRange):
- khtml/rendering/render_form.h:
- kwq/KWQLineEdit.h:
- kwq/KWQLineEdit.mm: (QLineEdit::setCursorPosition): (QLineEdit::cursorPosition): (QLineEdit::selectAll): (QLineEdit::selectionStart): (QLineEdit::selectedText): (QLineEdit::setSelection):
- kwq/KWQTextArea.h:
- kwq/KWQTextArea.mm: (-[KWQTextArea setSelectedRange:]): (-[KWQTextArea selectedRange]): (-[KWQTextArea getCursorPositionAsIndex:inParagraph:]): (RangeOfParagraph):
- kwq/KWQTextEdit.h:
- kwq/KWQTextEdit.mm: (QTextEdit::getCursorPosition): (QTextEdit::selectionStart): (QTextEdit::selectionEnd): (QTextEdit::setSelectionStart): (QTextEdit::setSelectionEnd): (QTextEdit::selectAll): (QTextEdit::setSelectionRange):
- kwq/KWQTextField.h:
- kwq/KWQTextField.mm: (-[KWQTextFieldController selectedRange]): (-[KWQTextFieldController setSelectedRange:]):
- 12:17 AM Changeset in webkit [11145] by
-
- 5 edits in branches/Safari-2-0-branch/WebCore
Build fix for merge differences with the TOT version.
Nov 10, 2005:
- 10:39 PM Changeset in webkit [11144] by
-
- 15 edits in branches/Safari-2-0-branch/WebCore
Merged fix from TOT to Safari-2-0-branch
2005-06-22 Kevin Ballard <Lily Ballard>
Reviewed by Darin.
Test cases added:
- crlf.html
- text-selection.html Both of these are attached to the bug separately from the patch, because I can't cvs add. Reviewer: feel free to remove this comment and tweak the test cases added lines to reflect wherever you place these cases in the hierarchy
- Fixes bug <http://bugzilla.opendarwin.org/show_bug.cgi?id=3401>. Also fixes issue where setting text of a textarea in code and then retrieving it would leave the \r\n sequences in the text, despite the textarea translating to \n in all other cases.
- khtml/ecma/kjs_html.cpp: (KJS::getInputSelectionStart): (KJS::getInputSelectionEnd): (KJS::KJS::HTMLElement::getValueProperty): (KJS::KJS::HTMLElement::hasProperty): (KJS::KJS::HTMLElementFunction::tryCall): (KJS::HTMLElement::putValue):
- khtml/ecma/kjs_html.h: (KJS::HTMLElement::):
- khtml/html/html_formimpl.cpp: (DOM::HTMLInputElementImpl::canHaveSelection): (DOM::HTMLInputElementImpl::selectionStart): (DOM::HTMLInputElementImpl::selectionEnd): (DOM::HTMLInputElementImpl::setSelectionStart): (DOM::HTMLInputElementImpl::setSelectionEnd): (DOM::HTMLInputElementImpl::setSelectionRange): (DOM::HTMLInputElementImpl::setValue): (DOM::HTMLTextAreaElementImpl::selectionStart): (DOM::HTMLTextAreaElementImpl::selectionEnd): (DOM::HTMLTextAreaElementImpl::setSelectionStart): (DOM::HTMLTextAreaElementImpl::setSelectionEnd): (DOM::HTMLTextAreaElementImpl::setSelectionRange): (DOM::HTMLTextAreaElementImpl::setValue):
- khtml/html/html_formimpl.h:
- khtml/rendering/render_form.cpp: (RenderLineEdit::selectionStart): (RenderLineEdit::selectionEnd): (RenderLineEdit::setSelectionStart): (RenderLineEdit::setSelectionEnd): (RenderLineEdit::setSelectionRange): (RenderTextArea::selectionStart): (RenderTextArea::selectionEnd): (RenderTextArea::setSelectionStart): (RenderTextArea::setSelectionEnd): (RenderTextArea::select): (RenderTextArea::setSelectionRange):
- khtml/rendering/render_form.h:
- kwq/KWQLineEdit.h:
- kwq/KWQLineEdit.mm: (QLineEdit::setCursorPosition): (QLineEdit::cursorPosition): (QLineEdit::selectAll): (QLineEdit::selectionStart): (QLineEdit::selectedText): (QLineEdit::setSelection):
- kwq/KWQTextArea.h:
- kwq/KWQTextArea.mm: (-[KWQTextArea setSelectedRange:]): (-[KWQTextArea selectedRange]): (-[KWQTextArea getCursorPositionAsIndex:inParagraph:]): (RangeOfParagraph):
- kwq/KWQTextEdit.h:
- kwq/KWQTextEdit.mm: (QTextEdit::getCursorPosition): (QTextEdit::selectionStart): (QTextEdit::selectionEnd): (QTextEdit::setSelectionStart): (QTextEdit::setSelectionEnd): (QTextEdit::selectAll): (QTextEdit::setSelectionRange):
- kwq/KWQTextField.h:
- kwq/KWQTextField.mm: (-[KWQTextFieldController selectedRange]): (-[KWQTextFieldController setSelectedRange:]):
- 10:08 PM Changeset in webkit [11143] by
-
- 1 edit1 add in trunk/WebKit
Build fix, not reviewed.
- Plugins.subproj/WebBaseNetscapePluginViewInternal.h: Added.
- 9:58 PM Changeset in webkit [11142] by
-
- 3 edits in branches/Safari-2-0-branch/WebCore
Merged fix from TOT to Safari-2-0-branch
All the changes were applied to khtml/editing/htmlediting.[m|h]
None of the other files exist on the branch, they were split off later.
2005-11-09 David Harrison <harrison@apple.com>
Reviewed by Justin.
<rdar://problem/4313925> Denver Regression: Mail: "TAB+paste+insert before" actually inserts after the pasted text
- added tab span editing functions in composite_edit_command.cpp
- called them from insertText, insertLineBreak, and replaceSelection commands
- also exposed some handy tab span funcs from htmlediting.cpp
Tests added in editing/insertion and editing/pasteboard.
- khtml/editing/composite_edit_command.cpp: (khtml::CompositeEditCommand::positionOutsideTabSpan): (khtml::CompositeEditCommand::insertNodeAtTabSpanPosition):
- khtml/editing/composite_edit_command.h:
- khtml/editing/htmlediting.cpp: (khtml::positionBeforeNode): (khtml::positionAfterNode): (khtml::tabSpanNode): (khtml::positionBeforeTabSpan):
- khtml/editing/htmlediting.h:
- khtml/editing/insert_line_break_command.cpp: (khtml::InsertLineBreakCommand::doApply):
- khtml/editing/insert_text_command.cpp: (khtml::InsertTextCommand::prepareForTextInsertion):
- khtml/editing/replace_selection_command.cpp: (khtml::ReplaceSelectionCommand::doApply):
- 9:15 PM Changeset in webkit [12212] by
-
- 3 edits in trunk/JavaScriptGlue
Reviewed by Maciej.
- Fixed <rdar://problem/4334445> installer crashed on my dual g4 450Mhz after clicking language
- Reversed backwards NULL check.
- Inserted guards against NULL fJSUserObject data member.
- Cleaned up some style.
- JSUtils.cpp: (KJSValueToCFTypeInternal):
- UserObjectImp.cpp: (UserObjectImp::~UserObjectImp): (UserObjectImp::callAsFunction): (UserObjectImp::userObjectGetter): (UserObjectImp::getOwnPropertySlot): (UserObjectImp::put): (UserObjectImp::mark):
- 9:12 PM Changeset in webkit [11141] by
-
- 2 edits in branches/Safari-1-3-branch/WebKit
Merged fix from TOT to Safari-1-3-branch
2005-10-12 Vicki Murley <vicki@apple.com>
Reviewed by Darin.
fix <rdar://problem/4043643> iframe swallows events for overlapping elements (3449)
- WebView.subproj/WebHTMLView.m: (-[WebHTMLView hitTest:]): (-[WebHTMLView _updateMouseoverWithEvent:]): eliminate _hitViewForEvent hackery and self dependency from this function
- 9:09 PM Changeset in webkit [11140] by
-
- 2 edits in branches/Safari-2-0-branch/WebKit
Merged fix from TOT to Safari-2-0-branch
2005-10-12 Vicki Murley <vicki@apple.com>
Reviewed by Darin.
fix <rdar://problem/4043643> iframe swallows events for overlapping elements (3449)
- WebView.subproj/WebHTMLView.m: (-[WebHTMLView hitTest:]): (-[WebHTMLView _updateMouseoverWithEvent:]): eliminate _hitViewForEvent hackery and self dependency from this function
- 9:06 PM Changeset in webkit [11139] by
-
- 4 edits in branches/Safari-2-0-branch/WebCore
Merged fix from TOT to Safari-2-0-branch
2005-11-02 Vicki Murley <vicki@apple.com>
Reviewed by Darin.
fix <rdar://problem/4303587> REGRESSION (TOT): Scrollwheel doesn't work on frameset pages (5450)
- kwq/KWQKHTMLPart.h:
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::wheelEvent): set _currentEvent to the wheel event (KWQKHTMLPart::passWheelEventToChildWidget): New. Pass the event to the child widget, if we haven't already handled the event
- khtml/khtmlview.cpp: (KHTMLView::viewportWheelEvent): add passWheelEventToChildWidget check, and accept the event if we're passing to the child widget
- 8:32 PM Changeset in webkit [11138] by
-
- 2 edits in branches/Safari-1-3-branch/WebCore
Merged fix from TOT to Safari-1-3-branch
2005-11-10 Adele Peterson <adele@apple.com>
Reviewed by Maciej.
- fixed <rdar://problem/4327363> GAP: tabs not treated as whitespace in option element
- khtml/rendering/render_form.cpp: (RenderSelect::updateFromElement): call simplifyWhiteSpace() on the itemText or label to collapse whitespace.
- 8:29 PM Changeset in webkit [11137] by
-
- 2 edits in branches/Safari-2-0-branch/WebCore
Merged fix from TOT to Safari-2-0-branch
2005-11-10 Adele Peterson <adele@apple.com>
Reviewed by Maciej.
- fixed <rdar://problem/4327363> GAP: tabs not treated as whitespace in option element
- khtml/rendering/render_form.cpp: (RenderSelect::updateFromElement): call simplifyWhiteSpace() on the itemText or label to collapse whitespace.
- 7:16 PM Changeset in webkit [11136] by
-
- 3 edits4 adds in trunk
LayoutTests:
Reviewed by Maciej.
Layout test for <rdar://problem/4327363> GAP: tabs not treated as whitespace in option element
- fast/forms/option-strip-whitespace-expected.checksum: Added.
- fast/forms/option-strip-whitespace-expected.png: Added.
- fast/forms/option-strip-whitespace-expected.txt: Added.
- fast/forms/option-strip-whitespace.html: Added.
WebCore:
Reviewed by Maciej.
- fixed <rdar://problem/4327363> GAP: tabs not treated as whitespace in option element
Added
- fast/forms/option-strip-whitespace.html
- khtml/rendering/render_form.cpp: (RenderSelect::updateFromElement): call simplifyWhiteSpace() on the itemText or label to collapse whitespace.
- 6:15 PM Changeset in webkit [11135] by
-
- 6 edits4 adds in trunk
LayoutTests:
Reviewed by Maciej.
Layout test for <rdar://problem/4228997> selecting a new radio button does not automatically clear the previous selected (outside <form> element)
- fast/forms/radio_checked-expected.checksum: Added.
- fast/forms/radio_checked-expected.png: Added.
- fast/forms/radio_checked-expected.txt: Added.
- fast/forms/radio_checked.html: Added.
WebCore:
Reviewed by Maciej.
-fixed <rdar://problem/4228997> selecting a new radio button does not automatically clear the previous selected (outside <form> element)
Moved the radio button checking code to the document, since we shouldn't need a form to keep track of grouped radio buttons.
Added
- fast/forms/radio_checked.html
- khtml/xml/dom_docimpl.h: Added m_selectedRadioButtons (now a two level hash table to account for forms and group names), radioButtonChecked, checkedRadioButtonForGroup, and removeRadioButtonGroup
- khtml/xml/dom_docimpl.cpp: (DocumentImpl::DocumentImpl): initialize m_selectedRadioButtons (DocumentImpl::~DocumentImpl): delete m_selectedRadioButtons, and any of the inner hashtables if necessary (DocumentImpl::radioButtonChecked): moved from HTMLFormElementImpl. (DocumentImpl::checkedRadioButtonForGroup): ditto. (DocumentImpl::removeRadioButtonGroup): ditto.
- khtml/html/html_formimpl.cpp: (DOM::HTMLFormElementImpl::HTMLFormElementImpl): removed initialization of m_selectedRadioButtons. (DOM::HTMLFormElementImpl::~HTMLFormElementImpl): removed deletion of m_selectedRadioButtons. (DOM::HTMLFormElementImpl::removeFormElement): now calls document's radio button functions (DOM::HTMLInputElementImpl::isKeyboardFocusable): ditto. (DOM::HTMLInputElementImpl::setInputType): ditto. (DOM::HTMLInputElementImpl::parseMappedAttribute): ditto. (DOM::HTMLInputElementImpl::setChecked): ditto. (DOM::HTMLInputElementImpl::preDispatchEventHandler): ditto.
- khtml/html/html_formimpl.h: removed m_selectedRadioButtons, radioButtonChecked, checkedRadioButtonForGroup, and removeRadioButtonGroup
- 5:51 PM Changeset in webkit [11134] by
-
- 4 edits in branches/Safari-1-3-branch/WebCore
Merged fix from TOT to Safari-1-3-branch
2005-09-21 Vicki Murley <vicki@apple.com>
Changes by Romain Brestac, reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3418 (unicode characters not preserved after a xslt transformation)
- khtml/misc/loader.cpp: (CachedXSLStyleSheet::CachedXSLStyleSheet): (CachedXSLStyleSheet::data):
- khtml/misc/loader.h:
- khtml/xsl/xslt_processorimpl.cpp: (DOM::XSLTProcessorImpl::addToResult): (DOM::XSLTProcessorImpl::documentFromXMLDocPtr):
- 5:45 PM Changeset in webkit [11133] by
-
- 5 edits in branches/Safari-2-0-branch/WebCore
Merged fix from TOT to Safari-2-0-branch
2005-09-21 Vicki Murley <vicki@apple.com>
Changes by Romain Brestac, reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3418 (unicode characters not preserved after a xslt transformation)
- khtml/misc/loader.cpp: (CachedXSLStyleSheet::CachedXSLStyleSheet): (CachedXSLStyleSheet::data):
- khtml/misc/loader.h:
- khtml/xsl/xslt_processorimpl.cpp: (DOM::XSLTProcessorImpl::addToResult): (DOM::XSLTProcessorImpl::documentFromXMLDocPtr):
- 5:28 PM Changeset in webkit [11132] by
-
- 1 edit in branches/Safari-2-0-branch/WebCore/kwq/KWQTextArea.mm
Removing an ASSERT since this file doesn't use them.
- 5:27 PM Changeset in webkit [11131] by
-
- 1 edit in branches/Safari-1-3-branch/WebCore/kwq/KWQTextArea.mm
Removing an ASSERT since this file doesn't use them.
- 5:18 PM Changeset in webkit [11130] by
-
- 6 edits in branches/Safari-2-0-branch/WebCore
Merged fix from TOT to Safari-2-0-branch
2005-10-03 Beth Dakin <Beth Dakin>
Reviewed by Darin.
Fix for <rdar://problem/4235722> line-height style settings not reflected in
textarea.
- khtml/rendering/render_form.cpp: (RenderTextArea::setStyle): Make setStyle call new setLineHeight function and computer correct line height using RenderObject::lineHeight
- kwq/KWQTextArea.h:
- kwq/KWQTextArea.mm: (-[KWQTextAreaTextView setFont:]): setFont updates lineHeight if necessary. (-[KWQTextAreaTextView setLineHeight:]): sets the line height (-[NSTextView _KWQ_updateTypingAttributes:forLineHeight:fontHeight:]): Applies the new line height to the paragraph style attributes.
- kwq/KWQTextEdit.h:
- kwq/KWQTextEdit.mm: (QTextEdit::setLineHeight): calls setLineHeight in KWQTextAreaTextView
- 5:17 PM Changeset in webkit [11129] by
-
- 6 edits in branches/Safari-1-3-branch/WebCore
Merged fix from TOT to Safari-1-3-branch
2005-10-03 Beth Dakin <Beth Dakin>
Reviewed by Darin.
Fix for <rdar://problem/4235722> line-height style settings not reflected in
textarea.
- khtml/rendering/render_form.cpp: (RenderTextArea::setStyle): Make setStyle call new setLineHeight function and computer correct line height using RenderObject::lineHeight
- kwq/KWQTextArea.h:
- kwq/KWQTextArea.mm: (-[KWQTextAreaTextView setFont:]): setFont updates lineHeight if necessary. (-[KWQTextAreaTextView setLineHeight:]): sets the line height (-[NSTextView _KWQ_updateTypingAttributes:forLineHeight:fontHeight:]): Applies the new line height to the paragraph style attributes.
- kwq/KWQTextEdit.h:
- kwq/KWQTextEdit.mm: (QTextEdit::setLineHeight): calls setLineHeight in KWQTextAreaTextView
- 5:15 PM Changeset in webkit [11128] by
-
- 6 edits in trunk/WebKit
Reviewed by Geoff.
<rdar://problem/4237941> Dashboard needs a way to stop Netscape plug-ins from getting null events
- Plugins.subproj/WebBaseNetscapePluginViewInternal.h: Added. Added WebInternal category, with -stopNullEvents and -restartNullEvents. These methods already exist on WebBaseNetscapePluginView. I am just exposing them to callers elsewhere within WebKit.
- WebKit.xcodeproj/project.pbxproj: Added WebBaseNetscapePluginViewInternal.h.
- WebView.subproj/WebFrame.m: (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]): Walks down the web frame hierarchy and calls -_pauseNullEventsForAllNetscapePlugins on each WebHTMLView. (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]): Same as above, but calls -_resumeNullEventsForAllNetscapePlugins.
- WebView.subproj/WebFramePrivate.h: Declared -_recursive_pauseNullEventsForAllNetscapePlugins and -_recursive_pauseNullEventsForAllNetscapePlugins.
- WebView.subproj/WebHTMLView.m: (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]): Checks subviews for WebBaseNetscapePluginViews, and calls -stopNullEvents on them. (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]): Same as above, but calls -restartNullEvents.
- WebView.subproj/WebHTMLViewInternal.h: Declared -_pauseNullEventsForAllNetscapePlugins and -_resumeNullEventsForAllNetscapePlugins.
- 4:52 PM Changeset in webkit [11127] by
-
- 1 edit in branches/Safari-1-3-branch/WebCore/khtml/ecma/kjs_html.cpp
Build fix.
- 4:51 PM Changeset in webkit [11126] by
-
- 1 edit in branches/Safari-2-0-branch/WebCore/khtml/ecma/kjs_html.cpp
Build fix.
- 4:24 PM Changeset in webkit [11125] by
-
- 2 edits in trunk/WebCore
Reviewed by Tim Omernick.
<rdar://problem/3766883> AX: Should be able to tell whether an AXLink has been visited to or not
No test cases because this does not affect layout.
- kwq/KWQAccObject.mm: (-[KWQAccObject accessibilityAttributeNames]): (-[KWQAccObject accessibilityAttributeValue:]): Added "AXVisited" attribute.
- 4:23 PM Changeset in webkit [11124] by
-
- 1 edit in branches/Safari-2-0-branch/WebCore/khtml/ecma/kjs_html.cpp
Build fix.
- 4:21 PM Changeset in webkit [11123] by
-
- 1 edit in branches/Safari-1-3-branch/WebCore/khtml/ecma/kjs_html.cpp
Build fix.
- 3:51 PM Changeset in webkit [11122] by
-
- 2 edits in branches/Safari-1-3-branch/WebCore
Merged fix from TOT to Safari-1-3-branch
2005-11-10 Eric Seidel <eseidel@apple.com>
Reviewed by ggaren.
- khtml/ecma/kjs_html.cpp: (KJS::Image::getValueProperty): resolve relative urls in Image::src http://bugzilla.opendarwin.org/show_bug.cgi?id=3473 <rdar://problem/3787988> Preloaded Image objects .src field is not a fully resolved path (3473)
- 3:50 PM Changeset in webkit [11121] by
-
- 2 edits in branches/Safari-2-0-branch/WebCore
Merged fix from TOT to Safari-2-0-branch
2005-11-10 Eric Seidel <eseidel@apple.com>
Reviewed by ggaren.
- khtml/ecma/kjs_html.cpp: (KJS::Image::getValueProperty): resolve relative urls in Image::src http://bugzilla.opendarwin.org/show_bug.cgi?id=3473 <rdar://problem/3787988> Preloaded Image objects .src field is not a fully resolved path (3473)
- 3:40 PM Changeset in webkit [11120] by
-
- 6 edits in branches/Safari-2-0-branch/WebCore
Merged fix from TOT to Safari-2-0-branch
2005-11-01 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by Dave Hyatt.
Commited by Tim Hatcher.
Fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=5256
Relayout during load causes duplicate plugin part.
This was a problem with <OBJECT>s that contain an <EMBED>, if
layout happened in the middle of the OBJECT but before the EMBED.
No test case added, requires manual testing.
- khtml/html/html_objectimpl.cpp: (DOM::HTMLObjectElementImpl::HTMLObjectElementImpl): (DOM::HTMLObjectElementImpl::closeRenderer): (DOM::HTMLObjectElementImpl::setComplete):
- khtml/html/html_objectimpl.h: (DOM::HTMLObjectElementImpl::isComplete):
- khtml/html/htmlfactory.cpp: (DOM::objectConstructor):
- khtml/rendering/render_frames.cpp: (RenderPartObject::updateWidget):
- 3:29 PM Changeset in webkit [11119] by
-
- 3 edits in branches/Safari-2-0-branch/WebKit
Merged fix from TOT to Safari-2-0-branch
2005-07-12 Geoffrey Garen <ggaren@apple.com>
Patch by Mitz Pettel
Added layout test for
http://bugzilla.opendarwin.org/show_bug.cgi?id=3435
Parentheses are backwards in Hebrew text (no bidi mirroring?)
Test is manual because results only reflect visually -
the layout is the same either way.
Test cases added:
- manual-tests/bidi-parens.html: Added.
- 3:04 PM Changeset in webkit [11118] by
-
- 3 edits in branches/Safari-2-0-branch/WebCore
Merged fix from TOT to Safari-2-0-branch
2005-11-09 Dave Hyatt <hyatt@apple.com>
Fixed <rdar://problem/4237617> selects should be in the tab order
in all keyboard modes
Reviewed by Vicki
- kwq/KWQComboBox.mm: (QComboBox::focusPolicy):
- kwq/KWQListBox.mm: (QListBox::focusPolicy):
- 3:02 PM Changeset in webkit [11117] by
-
- 3 edits in branches/Safari-1-3-branch/WebCore
Merged fix from TOT to Safari-1-3-branch
2005-11-09 Dave Hyatt <hyatt@apple.com>
Fixed <rdar://problem/4237617> selects should be in the tab order
in all keyboard modes
Reviewed by Vicki
- kwq/KWQComboBox.mm: (QComboBox::focusPolicy):
- kwq/KWQListBox.mm: (QListBox::focusPolicy):
- 2:55 PM Changeset in webkit [11116] by
-
- 2 edits in trunk/WebCore
Bug #: 3473
Submitted by: eseidel
Reviewed by: ggaren
- khtml/ecma/kjs_html.cpp: (KJS::Image::getValueProperty): resolve relative urls in Image::src http://bugzilla.opendarwin.org/show_bug.cgi?id=3473 <rdar://problem/3787988> Preloaded Image objects .src field is not a fully resolved path (3473)
- 2:54 PM Changeset in webkit [11115] by
-
- 1 edit3 adds in trunk/LayoutTests
Bug #: 3473
Submitted by: eseidel
Reviewed by: ggaren
- fast/dom/HTMLImageElement/image-src-absolute-url-expected.txt: Added.
- fast/dom/HTMLImageElement/image-src-absolute-url.html: Added. http://bugzilla.opendarwin.org/show_bug.cgi?id=3473 <rdar://problem/3787988> Preloaded Image objects .src field is not a fully resolved path (3473)
- 2:38 PM Changeset in webkit [11114] by
-
- 2 edits in trunk/WebKitTools
Bug #: none
Submitted by: eseidel
Reviewed by: ggaren
- Scripts/build-webkit: Pass through options to xcodebuild
- 12:28 PM Changeset in webkit [11113] by
-
- 2 edits in branches/Safari-2-0-branch/WebCore
Merged fix from TOT to Safari-2-0-branch
2005-10-10 Geoffrey Garen <ggaren@apple.com>
- Fixed <rdar://problem/4245682> Regression: CrashTracer: 923 crashes in Safari at com.apple.WebCore: KJS::Window::clear + 132
Reviewed by mjs.
No test case because this crash isn't reliably reproducible.
- khtml/ecma/kjs_window.cpp: (KJS::Window::Window): Initialize m_returnValueSlot to 0, so that we know not to write to it until it's explicitly set to a valid address.
- 12:28 PM Changeset in webkit [11112] by
-
- 2 edits in branches/Safari-1-3-branch/WebCore
Merged fix from TOT to Safari-1-3-branch
2005-10-10 Geoffrey Garen <ggaren@apple.com>
- Fixed <rdar://problem/4245682> Regression: CrashTracer: 923 crashes in Safari at com.apple.WebCore: KJS::Window::clear + 132
Reviewed by mjs.
No test case because this crash isn't reliably reproducible.
- khtml/ecma/kjs_window.cpp: (KJS::Window::Window): Initialize m_returnValueSlot to 0, so that we know not to write to it until it's explicitly set to a valid address.
- 12:22 PM Changeset in webkit [11111] by
-
- 2 edits in branches/Safari-2-0-branch/WebKit
Merged fix from TOT to Safari-2-0-branch
2005-09-16 John Sullivan <sullivan@apple.com>
Reviewed by Tim Omernick
- fixed <rdar://problem/4256557> CrashTracer: 238 crashes in Safari at com.apple.AppKit: -[NSPasteboard setData:forType:] + 188
- WebView.subproj/WebImageView.m: (-[WebImageView copy:]): declare types to pasteboard before starting to set their data (-[WebImageView writeSelectionToPasteboard:types:]): ditto
- 10:38 AM Changeset in webkit [11110] by
-
- 2 edits in branches/Safari-2-0-branch/WebCore
Merged fix from TOT to Safari-2-0-branch
2005-10-03 Justin Garcia <justin.garcia@apple.com>
Reviewed by darin
<rdar://problem/4060947> Safari crashes trying to save PDF file as web archive (NULL KHTMLPart)
- kwq/WebCoreBridge.mm: (+[WebCoreBridge bridgeForDOMDocument:]): Added a check for a null part.
- 10:22 AM Changeset in webkit [11109] by
-
- 6 edits in branches/Safari-2-0-branch/WebCore
Merged fix from TOT to Safari-2-0-branch
2005-10-28 Beth Dakin <Beth Dakin>
Reviewed by John
Fix for <rdar://problem/4098083> REGRESSION (125-312): crash
in [KWQTableView resignFirstResponder] selecting from JS menu
(car4you.at, etc.)
Since it is possible that a render widget's eventFilterObject
has been destroyed even though the render widget is still ref-ed,
we need to nil-check the eventFilterObject before we use it to get
the eventFilter.
- kwq/KWQComboBox.mm: (-[KWQPopUpButton becomeFirstResponder]): Added nil check. (-[KWQPopUpButton resignFirstResponder]): Added nil check.
- kwq/KWQListBox.mm: (-[KWQTableView becomeFirstResponder]): Added nil check. (-[KWQTableView resignFirstResponder]): Added nil check.
- kwq/KWQTextArea.mm: (-[KWQTextAreaTextView becomeFirstResponder]): Added nil check. (-[KWQTextAreaTextView resignFirstResponder]): Added nil check.
- kwq/KWQTextField.mm: (-[KWQTextFieldController setHasFocus:]): Added nil check.
- kwq/WebCoreBridge.mm: (-[WebCoreBridge elementForView:]): Added nil check.
- 9:36 AM Changeset in webkit [11108] by
-
- 2 edits in branches/Safari-2-0-branch/JavaScriptCore
Merges fixes from Ti-2005-009-branch to Safari-2-0-branch
2005-11-04 Geoffrey Garen <ggaren@apple.com>
Reviewed by darin.
- Fixed <rdar://problem/4317701> *SecUpd: Tiger* PCRE heap overflow in Safari JavaScriptCore
- pcre/pcre.c: (read_repeat_counts): We now return an error for negative repeat counts in regular expressions. This matches Firefox exactly, and Win IE by effect (Win IE doesn't return an error, but it does refuse to match anything).
- 9:26 AM Changeset in webkit [11107] by
-
- 2 edits in branches/Safari-2-0-branch/JavaScriptCore
Reviewed by Darin.
- Fixed <rdar://problem/4323773> REGRESSION (412.2-416.12): xxx appears on page due to JS regexp with char > 255 (5597) (tiddlywiki.com)
Previously, we fixed a buffer overflow by returning an error when
compiling character classes with characters > 255. But that broke
the internet.
Plan B here is to work around such classes, skipping single characters
255, skipping character ranges beginning > 255, and truncating
character ranges at 255.
I removed the early returns we added and the early returns in the
original library. Now, funky expressions compile normally, tweaked
by our special rules.
I also merged the UTF8 and UTF16 checks for out of range characters.
I remember we kept them separate before because we were purist about
marking off our code changes inside UTF16 #ifdefs. Since this patch
applies equally to UTF8 and UTF16, we've already lost that innocence,
so why not have a little fun?
- ChangeLog:
- pcre/pcre.c: (compile_branch):
- tests/mozilla/jsDriver.pl: Oh, by the way, I modified this to look inside of $SYMROOTS/Development. Not perfect, but certainly better than $SYMROOTS/, which is always wrong with XCode 2.1.
Nov 9, 2005:
- 3:05 PM Changeset in webkit [11106] by
-
- 2 edits in branches/Safari-2-0-branch/WebCore
Merged fix from TOT to Safari-2-0-branch
2005-09-21 Vicki Murley <vicki@apple.com>
Reviewed by Darin.
- fix these bugs <rdar://problem/3579812> HTMLTableElement.insertRow(n) inserts row at the beginning of the table (4043) <rdar://problem/3711188> HTMLTableElement.insertRow() doesn't respect passed index
- khtml/html/html_tableimpl.cpp: (DOM::HTMLTableElementImpl::insertRow): if the index is the same as the number of rows in the section, we should append
Update test results for /fast/dynamic/013.html. In the old version the the rows
and cells were children of the first table section, a tfoot. They are now children
of the second table section, a tbody. Our rendering now matches Gecko and Win IE
(according to yusufg on #webkit, comparing with 013-expected.png) for this case.
- layout-tests/fast/dynamic/013-expected.checksum:
- layout-tests/fast/dynamic/013-expected.png:
- layout-tests/fast/dynamic/013-expected.txt:
Test cases added:
- layout-tests/fast/dynamic/014-expected.checksum: Added.
- layout-tests/fast/dynamic/014-expected.png: Added.
- layout-tests/fast/dynamic/014-expected.txt: Added.
- layout-tests/fast/dynamic/014.html: Added.
- layout-tests/fast/dynamic/015-expected.checksum: Added.
- layout-tests/fast/dynamic/015-expected.png: Added.
- layout-tests/fast/dynamic/015-expected.txt: Added.
- layout-tests/fast/dynamic/015.html: Added.
- 3:05 PM Changeset in webkit [11105] by
-
- 4 edits in trunk/WebCore
Fix hit testing of relative positioned inline flows inside
clipped overflow blocks so that they aren't mistakenly included
in hit testing.
Reviewed by Beth.
- khtml/rendering/render_layer.cpp: (khtml::RenderLayer::containsPoint):
- kwq/KWQComboBox.mm: (QComboBox::focusPolicy):
- kwq/KWQListBox.mm: (QListBox::focusPolicy):
- 3:00 PM Changeset in webkit [11104] by
-
- 2 edits in branches/Safari-1-3-branch/WebCore
Merged fix from TOT to Safari-1-3-branch
2005-09-21 Vicki Murley <vicki@apple.com>
Reviewed by Darin.
- fix these bugs <rdar://problem/3579812> HTMLTableElement.insertRow(n) inserts row at the beginning of the table (4043) <rdar://problem/3711188> HTMLTableElement.insertRow() doesn't respect passed index
- khtml/html/html_tableimpl.cpp: (DOM::HTMLTableElementImpl::insertRow): if the index is the same as the number of rows in the section, we should append
Update test results for /fast/dynamic/013.html. In the old version the the rows
and cells were children of the first table section, a tfoot. They are now children
of the second table section, a tbody. Our rendering now matches Gecko and Win IE
(according to yusufg on #webkit, comparing with 013-expected.png) for this case.
- layout-tests/fast/dynamic/013-expected.checksum:
- layout-tests/fast/dynamic/013-expected.png:
- layout-tests/fast/dynamic/013-expected.txt:
Test cases added:
- layout-tests/fast/dynamic/014-expected.checksum: Added.
- layout-tests/fast/dynamic/014-expected.png: Added.
- layout-tests/fast/dynamic/014-expected.txt: Added.
- layout-tests/fast/dynamic/014.html: Added.
- layout-tests/fast/dynamic/015-expected.checksum: Added.
- layout-tests/fast/dynamic/015-expected.png: Added.
- layout-tests/fast/dynamic/015-expected.txt: Added.
- layout-tests/fast/dynamic/015.html: Added.
- 2:51 PM Changeset in webkit [11103] by
-
- 2 edits in branches/Safari-1-3-branch/WebCore
Merged fix from TOT to Safari-1-3-branch
2005-09-16 Tim Omernick <tomernick@apple.com>
Reviewed by Dave Hyatt. Test case reviewed by Vicki Murley.
<rdar://problem/3572507> Flash in div with display:none style will not redraw when style changed to display:block (3479)
Test cases added:
- manual-tests/show-hide-object.html: Added.
- manual-tests/resources/spinbox.swf: Added.
- khtml/html/html_objectimpl.cpp: (DOM::HTMLObjectElementImpl::detach): Set needWidgetUpdate to true so that the widget is updated on the next attach().
- 2:37 PM Changeset in webkit [11102] by
-
- 2 edits in branches/Safari-2-0-branch/WebCore
Merged fix from TOT to Safari-2-0-branch
2005-09-16 Tim Omernick <tomernick@apple.com>
Reviewed by Dave Hyatt. Test case reviewed by Vicki Murley.
<rdar://problem/3572507> Flash in div with display:none style will not redraw when style changed to display:block (3479)
Test cases added:
- manual-tests/show-hide-object.html: Added.
- manual-tests/resources/spinbox.swf: Added.
- khtml/html/html_objectimpl.cpp: (DOM::HTMLObjectElementImpl::detach): Set needWidgetUpdate to true so that the widget is updated on the next attach().
- 11:57 AM Changeset in webkit [11101] by
-
- 1 edit36 adds in trunk/LayoutTests
Layout tests for <rdar://problem/4313925>
Denver Regression: Mail: "TAB+paste+insert before" actually inserts after the pasted text
- editing/inserting/insert-br-at-tabspan-001-expected.checksum: Added.
- editing/inserting/insert-br-at-tabspan-001-expected.png: Added.
- editing/inserting/insert-br-at-tabspan-001-expected.txt: Added.
- editing/inserting/insert-br-at-tabspan-001.html: Added.
- editing/inserting/insert-br-at-tabspan-002-expected.checksum: Added.
- editing/inserting/insert-br-at-tabspan-002-expected.png: Added.
- editing/inserting/insert-br-at-tabspan-002-expected.txt: Added.
- editing/inserting/insert-br-at-tabspan-002.html: Added.
- editing/inserting/insert-br-at-tabspan-003-expected.checksum: Added.
- editing/inserting/insert-br-at-tabspan-003-expected.png: Added.
- editing/inserting/insert-br-at-tabspan-003-expected.txt: Added.
- editing/inserting/insert-br-at-tabspan-003.html: Added.
- editing/inserting/insert-text-at-tabspan-001-expected.checksum: Added.
- editing/inserting/insert-text-at-tabspan-001-expected.png: Added.
- editing/inserting/insert-text-at-tabspan-001-expected.txt: Added.
- editing/inserting/insert-text-at-tabspan-001.html: Added.
- editing/inserting/insert-text-at-tabspan-002-expected.checksum: Added.
- editing/inserting/insert-text-at-tabspan-002-expected.png: Added.
- editing/inserting/insert-text-at-tabspan-002-expected.txt: Added.
- editing/inserting/insert-text-at-tabspan-002.html: Added.
- editing/inserting/insert-text-at-tabspan-003-expected.checksum: Added.
- editing/inserting/insert-text-at-tabspan-003-expected.png: Added.
- editing/inserting/insert-text-at-tabspan-003-expected.txt: Added.
- editing/inserting/insert-text-at-tabspan-003.html: Added.
- editing/pasteboard/paste-text-at-tabspan-001-expected.checksum: Added.
- editing/pasteboard/paste-text-at-tabspan-001-expected.png: Added.
- editing/pasteboard/paste-text-at-tabspan-001-expected.txt: Added.
- editing/pasteboard/paste-text-at-tabspan-001.html: Added.
- editing/pasteboard/paste-text-at-tabspan-002-expected.checksum: Added.
- editing/pasteboard/paste-text-at-tabspan-002-expected.png: Added.
- editing/pasteboard/paste-text-at-tabspan-002-expected.txt: Added.
- editing/pasteboard/paste-text-at-tabspan-002.html: Added.
- editing/pasteboard/paste-text-at-tabspan-003-expected.checksum: Added.
- editing/pasteboard/paste-text-at-tabspan-003-expected.png: Added.
- editing/pasteboard/paste-text-at-tabspan-003-expected.txt: Added.
- editing/pasteboard/paste-text-at-tabspan-003.html: Added.
- 11:56 AM Changeset in webkit [11100] by
-
- 8 edits in trunk/WebCore
Reviewed by Justin.
<rdar://problem/4313925> Denver Regression: Mail: "TAB+paste+insert before" actually inserts after the pasted text
- added tab span editing functions in composite_edit_command.cpp
- called them from insertText, insertLineBreak, and replaceSelection commands
- also exposed some handy tab span funcs from htmlediting.cpp
Tests added in editing/insertion and editing/pasteboard.
- khtml/editing/composite_edit_command.cpp: (khtml::CompositeEditCommand::positionOutsideTabSpan): (khtml::CompositeEditCommand::insertNodeAtTabSpanPosition):
- khtml/editing/composite_edit_command.h:
- khtml/editing/htmlediting.cpp: (khtml::positionBeforeNode): (khtml::positionAfterNode): (khtml::tabSpanNode): (khtml::positionBeforeTabSpan):
- khtml/editing/htmlediting.h:
- khtml/editing/insert_line_break_command.cpp: (khtml::InsertLineBreakCommand::doApply):
- khtml/editing/insert_text_command.cpp: (khtml::InsertTextCommand::prepareForTextInsertion):
- khtml/editing/replace_selection_command.cpp: (khtml::ReplaceSelectionCommand::doApply):
Nov 8, 2005:
- 10:34 PM Changeset in webkit [11099] by
-
- 2 edits in trunk/JavaScriptCore
Reviewed by Darin.
This patch fixes some naughty naughty code -- 5 crashes and 2
may-go-haywire-in-the-futures.
One such crash is <rdar://problem/4247330> 8C46 Crash with with
incomplete parameter list to webScript object function.
I replaced early returns from within NS_DURINGs with calls to
NS_VALUERETURN because the doc says, "You cannot use goto or
return to exit an exception handling domain -- errors will result."
I replaced hard-coded analyses of -[NSMethodSignature
methodReturnType] with more abstracted alternatives, since
the documentation says "This encoding is implementation-specific,
so applications should use it with caution," and then emits an
evil cackle.
I removed the early return in the case where a JavaScript caller
supplies an insufficient number of arguments, because the right
thing to do in such a case is to use JavaScript's defined behavior
of supplying "undefined" for any missing arguments.
I also changed ObjcInstance::invokeMethod so that it no longer
deletes the method passed to it. It doesn't create the method,
so it shouldn't delete it. A friend of mine named
KERNEL_PROTECTION_FAILURE agrees with me on this point.
Finally, I changed an assert(true) to assert(false) because
all the other asserts were making fun of it.
- bindings/objc/objc_instance.mm: (ObjcInstance::invokeMethod): (ObjcInstance::invokeDefaultMethod):
- 6:46 PM Changeset in webkit [11098] by
-
- 12 edits in trunk/WebCore
<http://bugzilla.opendarwin.org/show_bug.cgi?id=5665> (REGRESSION: Crash in deleteTimer)
Rolled back Darin's timer changes from 2005-11-07, as they caused a couple of regressions.
- 1:54 PM Changeset in webkit [11097] by
-
- 2 edits in trunk/WebCore
Reviewed by Darin.
- fixed <rdar://problem/4333862> REGRESSION: Crash in new JavaScript timer implementation (5661) http://bugzilla.opendarwin.org/show_bug.cgi?id=5661
- kwq/KWQObject.mm: (sendDeferredTimerEvents): Added nil check for timers.
- 12:11 AM Changeset in webkit [11096] by
-
- 57 edits5 adds in trunk
LayoutTests:
Reviewed by Eric, Geoff and Darin.
- added test cases for <rdar://problem/4118258> XML DOM trees freed prematurely unless reference held to document node (causes crash)
Also updated the GC tests to try a little harder to trigger GC,
the old way might not work as well with the reworking of SimpleNumber.
- fast/dom/gc-1.html:
- fast/dom/gc-2.html:
- fast/dom/gc-3.html:
- fast/dom/gc-5.html:
- fast/dom/gc-6-expected.txt: Added.
- fast/dom/gc-6.html: Added.
- fast/dom/gc-7-expected.txt: Added.
- fast/dom/gc-7.html: Added.
WebCore:
Reviewed by Eric, Geoff and Darin.
- fixed <rdar://problem/4118258> XML DOM trees freed prematurely unless reference held to document node (causes crash)
I changed the design for how DOM nodes maintain their reference to
the document. Instead of using DocumentPtr, an indirect reference
which would go null in a clean way when the document is destroyed,
they now have a different strategy.
Nodes that belong to the document now hold a special kind of
reference on the document - a "self only reference". When a
document has no regular references but still has self-only
references, it won't be destroyed, but it will drop all its
children. This allows detached nodees to still have a valid
document reference, but they won't keep the rest of the DOM alive
or cause circular references.
- khtml/editing/SelectionController.cpp: (khtml::SelectionController::toRange):
- khtml/editing/visible_position.cpp: (khtml::makeRange):
- khtml/editing/visible_text.cpp: (khtml::TextIterator::range): (khtml::SimplifiedBackwardsTextIterator::range):
- khtml/html/html_baseimpl.cpp: (HTMLBodyElementImpl::HTMLBodyElementImpl): (HTMLFrameElementImpl::HTMLFrameElementImpl): (HTMLFrameSetElementImpl::HTMLFrameSetElementImpl): (HTMLHeadElementImpl::HTMLHeadElementImpl): (HTMLHtmlElementImpl::HTMLHtmlElementImpl): (HTMLIFrameElementImpl::HTMLIFrameElementImpl):
- khtml/html/html_baseimpl.h:
- khtml/html/html_blockimpl.cpp: (HTMLBlockquoteElementImpl::HTMLBlockquoteElementImpl): (HTMLDivElementImpl::HTMLDivElementImpl): (HTMLHRElementImpl::HTMLHRElementImpl): (HTMLHeadingElementImpl::HTMLHeadingElementImpl): (HTMLParagraphElementImpl::HTMLParagraphElementImpl): (HTMLPreElementImpl::HTMLPreElementImpl): (HTMLMarqueeElementImpl::HTMLMarqueeElementImpl):
- khtml/html/html_blockimpl.h:
- khtml/html/html_canvasimpl.cpp: (HTMLCanvasElementImpl::HTMLCanvasElementImpl):
- khtml/html/html_canvasimpl.h:
- khtml/html/html_documentimpl.cpp: (DOM::HTMLDocumentImpl::createTokenizer): (DOM::HTMLDocumentImpl::determineParseMode):
- khtml/html/html_elementimpl.cpp: (HTMLElementImpl::HTMLElementImpl): (HTMLElementImpl::createContextualFragment): (HTMLElementImpl::setInnerText): (HTMLElementImpl::setOuterText):
- khtml/html/html_elementimpl.h:
- khtml/html/html_formimpl.cpp: (DOM::HTMLFormElementImpl::HTMLFormElementImpl): (DOM::HTMLGenericFormElementImpl::HTMLGenericFormElementImpl): (DOM::HTMLButtonElementImpl::HTMLButtonElementImpl): (DOM::HTMLFieldSetElementImpl::HTMLFieldSetElementImpl): (DOM::HTMLInputElementImpl::HTMLInputElementImpl): (DOM::HTMLLabelElementImpl::HTMLLabelElementImpl): (DOM::HTMLLegendElementImpl::HTMLLegendElementImpl): (DOM::HTMLSelectElementImpl::HTMLSelectElementImpl): (DOM::HTMLKeygenElementImpl::HTMLKeygenElementImpl): (DOM::HTMLOptGroupElementImpl::HTMLOptGroupElementImpl): (DOM::HTMLOptionElementImpl::HTMLOptionElementImpl): (DOM::HTMLOptionElementImpl::setText): (DOM::HTMLTextAreaElementImpl::HTMLTextAreaElementImpl): (DOM::HTMLIsIndexElementImpl::HTMLIsIndexElementImpl):
- khtml/html/html_formimpl.h:
- khtml/html/html_headimpl.cpp: (HTMLBaseElementImpl::HTMLBaseElementImpl): (HTMLLinkElementImpl::HTMLLinkElementImpl): (HTMLMetaElementImpl::HTMLMetaElementImpl): (HTMLScriptElementImpl::HTMLScriptElementImpl): (HTMLStyleElementImpl::HTMLStyleElementImpl): (HTMLTitleElementImpl::HTMLTitleElementImpl):
- khtml/html/html_headimpl.h:
- khtml/html/html_imageimpl.cpp: (HTMLImageElementImpl::HTMLImageElementImpl): (HTMLMapElementImpl::HTMLMapElementImpl): (HTMLAreaElementImpl::HTMLAreaElementImpl):
- khtml/html/html_imageimpl.h:
- khtml/html/html_inlineimpl.cpp: (DOM::HTMLAnchorElementImpl::HTMLAnchorElementImpl): (DOM::HTMLBRElementImpl::HTMLBRElementImpl): (DOM::HTMLFontElementImpl::HTMLFontElementImpl): (DOM::HTMLModElementImpl::HTMLModElementImpl): (DOM::HTMLQuoteElementImpl::HTMLQuoteElementImpl):
- khtml/html/html_inlineimpl.h:
- khtml/html/html_listimpl.h: (DOM::HTMLUListElementImpl::HTMLUListElementImpl): (DOM::HTMLDirectoryElementImpl::HTMLDirectoryElementImpl): (DOM::HTMLMenuElementImpl::HTMLMenuElementImpl): (DOM::HTMLOListElementImpl::HTMLOListElementImpl): (DOM::HTMLLIElementImpl::HTMLLIElementImpl): (DOM::HTMLDListElementImpl::HTMLDListElementImpl):
- khtml/html/html_miscimpl.cpp: (DOM::HTMLBaseFontElementImpl::HTMLBaseFontElementImpl):
- khtml/html/html_miscimpl.h:
- khtml/html/html_objectimpl.cpp: (DOM::HTMLAppletElementImpl::HTMLAppletElementImpl): (DOM::HTMLEmbedElementImpl::HTMLEmbedElementImpl): (DOM::HTMLObjectElementImpl::HTMLObjectElementImpl): (DOM::HTMLParamElementImpl::HTMLParamElementImpl):
- khtml/html/html_objectimpl.h:
- khtml/html/html_tableimpl.cpp: (DOM::HTMLTableElementImpl::HTMLTableElementImpl): (DOM::HTMLTableElementImpl::createTHead): (DOM::HTMLTableElementImpl::createTFoot): (DOM::HTMLTableElementImpl::createCaption): (DOM::HTMLTableElementImpl::insertRow): (DOM::HTMLTableSectionElementImpl::HTMLTableSectionElementImpl): (DOM::HTMLTableSectionElementImpl::insertRow): (DOM::HTMLTableRowElementImpl::insertCell): (DOM::HTMLTableCellElementImpl::HTMLTableCellElementImpl): (DOM::HTMLTableColElementImpl::HTMLTableColElementImpl):
- khtml/html/html_tableimpl.h: (DOM::HTMLTablePartElementImpl::HTMLTablePartElementImpl): (DOM::HTMLTableRowElementImpl::HTMLTableRowElementImpl): (DOM::HTMLTableCaptionElementImpl::HTMLTableCaptionElementImpl):
- khtml/html/htmlfactory.cpp: (DOM::htmlConstructor): (DOM::headConstructor): (DOM::bodyConstructor): (DOM::baseConstructor): (DOM::linkConstructor): (DOM::metaConstructor): (DOM::styleConstructor): (DOM::titleConstructor): (DOM::frameConstructor): (DOM::framesetConstructor): (DOM::iframeConstructor): (DOM::formConstructor): (DOM::buttonConstructor): (DOM::inputConstructor): (DOM::isindexConstructor): (DOM::fieldsetConstructor): (DOM::labelConstructor): (DOM::legendConstructor): (DOM::optgroupConstructor): (DOM::optionConstructor): (DOM::selectConstructor): (DOM::textareaConstructor): (DOM::dlConstructor): (DOM::ulConstructor): (DOM::olConstructor): (DOM::dirConstructor): (DOM::menuConstructor): (DOM::liConstructor): (DOM::blockquoteConstructor): (DOM::divConstructor): (DOM::headingConstructor): (DOM::hrConstructor): (DOM::paragraphConstructor): (DOM::preConstructor): (DOM::basefontConstructor): (DOM::fontConstructor): (DOM::modConstructor): (DOM::anchorConstructor): (DOM::imageConstructor): (DOM::mapConstructor): (DOM::areaConstructor): (DOM::canvasConstructor): (DOM::appletConstructor): (DOM::embedConstructor): (DOM::objectConstructor): (DOM::paramConstructor): (DOM::scriptConstructor): (DOM::tableConstructor): (DOM::tableCaptionConstructor): (DOM::tableColConstructor): (DOM::tableRowConstructor): (DOM::tableCellConstructor): (DOM::tableSectionConstructor): (DOM::brConstructor): (DOM::quoteConstructor): (DOM::marqueeConstructor): (DOM::HTMLElementFactory::createHTMLElement):
- khtml/html/htmlparser.cpp: (HTMLParser::HTMLParser): (HTMLParser::~HTMLParser):
- khtml/html/htmlparser.h: (HTMLParser::doc):
- khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::HTMLTokenizer): (khtml::HTMLTokenizer::parseTag): (khtml::parseHTMLDocumentFragment):
- khtml/html/htmltokenizer.h:
- khtml/misc/loader.h:
- khtml/misc/shared.h: (khtml::TreeShared::~TreeShared): (khtml::TreeShared::destroy): (khtml::TreeShared::deref):
- khtml/xbl/xbl_tokenizer.cpp: (XBL::XBLTokenHandler::XBLTokenHandler):
- khtml/xbl/xbl_tokenizer.h: (XBL::):
- khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::RangeImpl): (DOM::RangeImpl::setStart): (DOM::RangeImpl::setEnd): (DOM::RangeImpl::processContents): (DOM::RangeImpl::cloneRange): (DOM::RangeImpl::setStartAfter): (DOM::RangeImpl::setEndBefore): (DOM::RangeImpl::setEndAfter): (DOM::RangeImpl::setStartBefore): (DOM::rangeOfContents):
- khtml/xml/dom2_rangeimpl.h:
- khtml/xml/dom_docimpl.cpp: (DOMImplementationImpl::createDocumentType): (DOMImplementationImpl::createDocument): (DocumentImpl::DocumentImpl): (DocumentImpl::destroy): (DocumentImpl::~DocumentImpl): (DocumentImpl::createDocumentFragment): (DocumentImpl::createTextNode): (DocumentImpl::createComment): (DocumentImpl::createCDATASection): (DocumentImpl::createProcessingInstruction): (DocumentImpl::createEntityReference): (DocumentImpl::createEditingTextNode): (DocumentImpl::createElementNS): (DocumentImpl::setTitle): (DocumentImpl::removeTitle): (DocumentImpl::createRange): (DocumentImpl::createTokenizer): (DocumentImpl::implicitClose): (DocumentImpl::setHoverNode): (DocumentImpl::setActiveNode): (DocumentImpl::setFocusNode): (DocumentImpl::createAttributeNS): (DocumentFragmentImpl::DocumentFragmentImpl): (DocumentFragmentImpl::cloneNode): (DocumentTypeImpl::DocumentTypeImpl):
- khtml/xml/dom_docimpl.h: (DOM::DocumentImpl::selfOnlyRef): (DOM::DocumentImpl::selfOnlyDeref): (DOM::DocumentImpl::focusNode): (DOM::DocumentImpl::hoverNode): (DOM::DocumentImpl::activeNode):
- khtml/xml/dom_elementimpl.cpp: (AttributeImpl::allocateImpl): (AttrImpl::AttrImpl): (AttrImpl::cloneNode): (ElementImpl::ElementImpl): (StyledElementImpl::StyledElementImpl):
- khtml/xml/dom_elementimpl.h:
- khtml/xml/dom_nodeimpl.cpp: (DOM::NodeImpl::NodeImpl): (DOM::NodeImpl::setDocument): (DOM::NodeImpl::~NodeImpl): (DOM::NodeImpl::dispatchEvent): (DOM::NodeImpl::dispatchWindowEvent): (DOM::NodeImpl::dispatchMouseEvent): (DOM::NodeImpl::checkAddChild): (DOM::ContainerNodeImpl::ContainerNodeImpl): (DOM::ContainerNodeImpl::removeAllChildren): (DOM::ContainerNodeImpl::~ContainerNodeImpl):
- khtml/xml/dom_nodeimpl.h: (DOM::NodeImpl::inDocument): (DOM::NodeImpl::getDocument):
- khtml/xml/dom_textimpl.cpp: (CharacterDataImpl::CharacterDataImpl): (CommentImpl::CommentImpl): (TextImpl::TextImpl): (TextImpl::createNew): (CDATASectionImpl::CDATASectionImpl): (CDATASectionImpl::createNew): (EditingTextImpl::EditingTextImpl):
- khtml/xml/dom_textimpl.h:
- khtml/xml/dom_xmlimpl.cpp: (DOM::EntityImpl::EntityImpl): (DOM::EntityReferenceImpl::EntityReferenceImpl): (DOM::EntityReferenceImpl::cloneNode): (DOM::NotationImpl::NotationImpl): (DOM::ProcessingInstructionImpl::ProcessingInstructionImpl): (DOM::ProcessingInstructionImpl::cloneNode):
- khtml/xml/dom_xmlimpl.h:
- khtml/xml/xml_tokenizer.cpp: (khtml::XMLTokenizer::XMLTokenizer): (khtml::XMLTokenizer::startElementNs): (khtml::XMLTokenizer::enterText): (khtml::XMLTokenizer::processingInstruction): (khtml::XMLTokenizer::cdataBlock): (khtml::XMLTokenizer::comment): (khtml::XMLTokenizer::internalSubset): (khtml::XMLTokenizer::finish): (khtml::XMLTokenizer::insertErrorMessageBlock): (khtml::XMLTokenizer::executeScripts): (khtml::newXMLTokenizer):
- khtml/xml/xml_tokenizer.h:
- khtml/xsl/xslt_processorimpl.cpp: (DOM::createFragmentFromSource):
Nov 7, 2005:
- 4:49 PM Changeset in webkit [11095] by
-
- 1 edit4 adds in trunk/LayoutTests
Layout test for http://bugzilla.opendarwin.org/show_bug.cgi?id=3739
Unreproducible - Assertion failure in isEqualIgnoringAffinity on double-click
- editing/selection/doubleclick-crash-expected.checksum: Added.
- editing/inserting/doubleclick-crash-expected.png: Added.
- editing/inserting/doubleclick-crash-expected.txt: Added.
- editing/inserting/doubleclick-crash.html: Added.
- 4:49 PM Changeset in webkit [11094] by
-
- 3 edits in trunk/WebCore
Reviewed by Justin and Hyatt.
http://bugzilla.opendarwin.org/show_bug.cgi?id=3739
Unreproducible - Assertion failure in isEqualIgnoringAffinity on double-click
Test case added:
- editing/inserting/doubleclick-crash.html
- khtml/rendering/render_text.cpp: (RenderText::atLineWrap): New utility function. (RenderText::caretRect): Use atLineWrap. Remove dead code. (RenderText::inlineBox): Use atLineWrap.
- khtml/rendering/render_text.h: Add atLineWrap.
- 3:24 PM Changeset in webkit [11093] by
-
- 3 edits in trunk/WebCore
Fix for sluggish loading of large pages due to excessive
repaints. Large pages still need a lot of work while
loading, but this helps.
Reviewed by darin
- khtml/rendering/render_object.cpp: (RenderObject::mustRepaintBackgroundOrBorder): (RenderObject::repaintAfterLayoutIfNeeded):
- khtml/rendering/render_object.h:
- 2:30 PM Changeset in webkit [11092] by
-
- 3 edits4 adds in trunk
Reviewed by Darin Adler.
Committed by Adele Peterson.
- fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=5398 source visible when <script> used inside <option>
Added:
- fast/forms/option-select.html
- khtml/html/html_formimpl.h: (DOM::HTMLOptionElementImpl::checkDTD): Allow <script> tags to be children of option elements
- khtml/html/html_formimpl.cpp: (DOM::HTMLOptionElementImpl::text): Skip the script content when creating text string
- 1:32 PM Changeset in webkit [11091] by
-
- 2 edits in trunk/WebKitTools
- Scripts/cvs-apply: Fix case where the patch has files at the top level.
- 1:21 PM Changeset in webkit [11090] by
-
- 1 edit3 adds in trunk/WebCore
- Added manual test cases for <rdar://problem/4161660> window.close followed by window.print in onload handler crashes Safari in KJS::ScopeChain::bottom (redmccombstoyota.com)
- manual-tests/resources/window-close-during-parsing-popup1.html: Added.
- manual-tests/resources/window-close-during-parsing-popup2.html: Added.
- manual-tests/window-close-during-parsing.html: Added.
- 1:18 PM Changeset in webkit [11089] by
-
- 2 edits in trunk/WebKit
Darin reviewed this a while back.
- Fixed <rdar://problem/4161660> window.close followed by window.print in onload handler crashes Safari in KJS::ScopeChain::bottom (redmccombstoyota.com)
Added a call to stopLoading inside closeWindowSoon to prevent load
events from firing after a window has torn down.
Manual test case: WebCore/manual-tests/window-close-during-parsing.html
- WebCoreSupport.subproj/WebBridge.m: (-[WebBridge closeWindowSoon]):
- 12:52 PM Changeset in webkit [11088] by
-
- 12 edits in trunk/WebCore
Reviewed by Tim Omernick.
- speed up timers by using CFTimerRunLoopRef instead of NSTimer
- kwq/KWQObject.h: Removed pauseTimer, resumeTimers, and _addTimer, added timerIntervals and restartTimer. Made KWQObjectSenderScope functions be inline.
- kwq/KWQObject.mm: (timerFired): Added. Function called when the CFRunLoopTimerRef fires. Puts the timer into the deferred timer array if timers are deferred, otherwise makes a QTimerEvent and calls timerEvent on the target. (QObject::startTimer): Moved most of the code inside restartTimer. This now just picks a new timer ID and calls restartTimer. (QObject::restartTimer): Added. Creates a KWQObjectTimer and puts it in a timers dictionary. That includes creating a CFRunLoopTimer and scheduling it on the current run loop. (QObject::timerIntervals): Added. Looks up a timer and returns the intervals for next time to fire and the "fire again" interval. (deleteTimer): Added. Invalidates and then removes a timer. (QObject::killTimer): Changed to use deleteTimer to do most of its work. (deleteOneTimer): Added. Calls deleteTimer. (QObject::killTimers): Changed to use deleteOneTimer to do most of its work. (sendDeferredTimerEvent): Added. Creates a QTimerEvent and calls timerEvent on the target. (sendDeferredTimerEvents): Added. Calls sendDeferredTimerEvent in a loop on all the deferred timers. (QObject::setDefersTimers): Updated to call sendDeferredTimerEvents as needed.
- kwq/KWQTimer.h: (QTimer::QTimer): Made constructor inline and removed the optional parameter. (QTimer::isActive): Made inline. (QTimer::fireDate): Added. Inline function. Got rid of the NSTimer and added a CFRunLoopTimer.
- kwq/KWQTimer.mm: (timerFired): Added. Calls fire on the QTimer object. (QTimer::start): Changed to create a CFRunLoopTimer. (QTimer::stop): Changed to use CFRunLoopTimer functions. (QTimer::fire): Ditto. (deleteKWQSlot): Added. Used as delete function for the CFRunLoopTimerContext below. (singleShotTimerFired): Added. Used as the fire function for the CFRunLoopTimerContext below. (QTimer::singleShot): Changed to create, schedule, and release a CFRunLoopTimer.
- khtml/ecma/kjs_window.h: Added PausedTimeouts class. Moved WindowQObject class up in the file so it can be used inline in the implementation of the Window class, and changed to use the PausedTimeouts class intead of a QMap to store the paused timeouts.
- khtml/ecma/kjs_window.cpp: (KJS::ScheduledAction::execute): Put a check for nil part at the start; this replaces a check in the caller and a check partway down this function (after the part was already dereferenced). Fixed message handling so the message is not converted to ascii and back. Added an isObject() check so we won't crash if the passed function is a value that's not an object. Changed check for function vs. script to check for a function of nil instead of using a separate boolean. (KJS::WindowQObject::pauseTimeouts): Updated to create the new PausedTimeouts object, using the new QObject::timerIntervals function rather than the old QObject::pauseTimer function. This means that the paused timers are entirely stored in the PausedTimeouts object instead of being half in a QMap and the other half inside the QObject itself. (KJS::WindowQObject::resumeTimeouts): Ditto, using the new QObject::restartTimer function. (KJS::PausedTimeouts::~PausedTimeouts): Added. Deletes the stored timeouts, including the scheduled actions, unless the timeouts have already been resumed (in which case the m_array field will be 0).
- kwq/KWQKHTMLPart.h: Renamed pause/resumeActions to pause/resumeTimeouts and made them use the PausedTimeouts class and no longer take a key parameter.
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::redirectionTimerStartedOrStopped): Use the new fireDate() function rathe than the old getNSTimer() function to get the fire date. (KWQKHTMLPart::pauseTimeouts): Remove the call to hasTimeouts and the key parameter. (KWQKHTMLPart::resumeTimeouts): Remove the key parameter. (KWQKHTMLPart::openURLFromPageCache): Change the timeout handling to use PausedTimeouts instead of a QMap for the paused timeouts.
- kwq/KWQPageState.h: Changed to use PausedTimeouts instead of a QMap for timeouts. Added a pausedTimeouts parameter to the initializer and removed the setPausedActions: method.
- kwq/KWQPageState.mm: (-[KWQPageState initWithDocument:URL:windowProperties:locationProperties:interpreterBuiltins:pausedTimeouts:]): Added code where it sets the pausedTimouts. (-[KWQPageState pausedTimeouts]): Added. (-[KWQPageState clear]): Added code to delete the pausedTimeouts and to deref mousePressNode. (-[KWQPageState invalidate]): Fixed bug where document would not be deref'd if the view was 0. (-[KWQPageState dealloc]): Removed code to deref mousePressNode since that's now handled in the clear method. (-[KWQPageState finalize]): Set document to 0 after deref for consistency.
- kwq/WebCoreBridge.mm: (-[WebCoreBridge saveDocumentToPageCache]): Changed to pass in the paused timeouts using the new pauseTimeouts function.
- 11:59 AM Changeset in webkit [11087] by
-
- 6 edits8 adds in trunk/LayoutTests
Reviewed by harrison
New/updated layout tests for fixes for:
<rdar://problem/4125131> REGRESSION (Mail): after certain steps,
extra blank line appears when typing past end of reply-quoted text
<rdar://problem/4024996> Applying block styles can cause assertion
failure in inline style removal
- editing/deleting/delete-at-paragraph-boundaries-011-expected.txt:
- editing/deleting/delete-br-011-expected.checksum:
- editing/deleting/delete-br-011-expected.png:
- editing/deleting/delete-br-011-expected.txt:
- editing/inserting/insert-3786362-fix-expected.txt:
- editing/inserting/insert-at-end-01-expected.checksum: Added.
- editing/inserting/insert-at-end-01-expected.png: Added.
- editing/inserting/insert-at-end-01-expected.txt: Added.
- editing/inserting/insert-at-end-01.html: Added.
- editing/inserting/insert-at-end-02-expected.checksum: Added.
- editing/inserting/insert-at-end-02-expected.png: Added.
- editing/inserting/insert-at-end-02-expected.txt: Added.
- editing/inserting/insert-at-end-02.html: Added.
- 11:59 AM Changeset in webkit [11086] by
-
- 6 edits in trunk/WebCore
Reviewed by harrison
<rdar://problem/4125131> REGRESSION (Mail): after certain steps,
extra blank line appears when typing past end of reply-quoted text
<rdar://problem/4024996> Applying block styles can cause assertion
failure in inline style removal
Prevent VisiblePositions at [br, 1] at the end of root editable elements.
Layout tests added:
- inserting/insert-at-end-01.html
- inserting/insert-at-end-02.html
Layout tests changed (fixed):
- editing/deleting/delete-br-011.html
- editing/deleting/delete-at-paragraph-boundaries-011.html
- editing/inserting/insert-3786362-fix.html
- khtml/editing/apply_style_command.cpp: (khtml::ApplyStyleCommand::applyInlineStyle): Do the layout before calculating start/end positions, not after, since upstream/downstream need to know who is rendered/unrendered. Don't do equivalentRangeCompliantPosition() on the start position in addition to downstream(), since it a) is confusing, b) frequently causes start/end to be equal, making removeInlineStyle a no-op and c) causes an assertion to fire. Only reset start/end using endingSelection() if splitTextElement was needed, since reseting start/end negates the work done above to swap start/end if they are backwards. When the start position points off the end of a node, that node should be skipped in all cases, not just the start.node() != end.node() case.
- khtml/editing/composite_edit_command.cpp: (khtml::CompositeEditCommand::appendBlockPlaceholder): (khtml::CompositeEditCommand::insertBlockPlaceholder): Placeholders should be allowed in nodes that aren't blockFlow, for example, deleting the b in <div><span>b</span></div> should insert a placeholder.
The assertion here should really be something like isBlockFlow isInlineFlow, but I can't assert those until deletion improves (4244964).
- khtml/editing/delete_selection_command.cpp: (khtml::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Don't try to select the placeholder when applying style to it. It isn't necessary, and it's now impossible to do at the end of the document in any case.
- khtml/editing/visible_position.cpp: (khtml::VisiblePosition::initDownstream): Don't create VisiblePositions at [br, 1] at the end of editable blocks, it produces strange/inconsistent editing behavior at the end of the document.
- khtml/khtml_part.cpp: Fixed a comment.