Timeline



Feb 28, 2005:

5:58 PM Changeset in webkit [8724] by mjs
  • 4 edits in trunk/WebCore

Reviewed by Darin.

<rdar://problem/4002864> REGRESSION(125-146) getElementById in onload fails in a test case involving external resources

Moved management of elementById hashtable from attach/detach to
insertedIntoDocument/removedFromDocument, to avoid being thrown
off by temporary detaches due to style recalcs.

  • khtml/xml/dom_elementimpl.cpp: (ElementImpl::insertedIntoDocument): (ElementImpl::removedFromDocument): (ElementImpl::attach): (ElementImpl::updateId):
  • khtml/xml/dom_elementimpl.h:

Make sure that insertedIntoDocument is called before firing any
DOM events.

  • khtml/xml/dom_nodeimpl.cpp: (NodeBaseImpl::dispatchChildInsertedEvents):
5:45 PM Changeset in webkit [8723] by hyatt
  • 3 edits in trunk/WebCore

Fix for 4028999, safari crashes when resetting if mallocsribble is on. Clip rects were being cleared using dead
render objects. Change the ordering.

Reviewed by rjw

  • khtml/rendering/render_box.cpp: (RenderBox::detach):
  • khtml/rendering/render_layer.cpp: (RenderLayer::~RenderLayer):
4:49 PM Changeset in webkit [8722] by cblu
  • 2 edits in trunk/WebCore

Fixed: <rdar://problem/4024786> REGRESSION (Mail): "Smart paste" plain-text word into Blot leaves insertion point misplaced

Reviewed by kocienda.

  • khtml/editing/htmlediting.cpp: (khtml::ReplaceSelectionCommand::completeHTMLReplacement): Call updateLayout so caretMinOffset and caretMaxOffset return correct values.
4:07 PM Changeset in webkit [8721] by sullivan
  • 5 edits in trunk

WebCore:

Reviewed by Ken.

  • WebCore part of fix for <rdar://problem/4023490> REGRESSION (125-185): Tabbing through links on frameset page gets stuck at end (tivofaq.com)
  • kwq/WebCoreBridge.h: add nextValidKeyViewOutsideWebFrameViews (code is in WebKit)

WebKit:

Reviewed by Ken.

  • WebKit part of fix for <rdar://problem/4023490> REGRESSION (125-185): Tabbing through links on frameset page gets stuck at end (tivofaq.com)

This tab-to-links stuff has been in shaky condition ever since AppKit futzed with
tabbing behavior in Tiger to add support for including the toolbar in the key loop.
I made some changes months ago to compensate for that, but some cases, such as this
one, still weren't fixed.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]): new bottleneck method, extracted from nextKeyViewOutsideWebFrameViews; handles nextKeyView or nextValidKeyView depending on parameter. (-[WebBridge nextKeyViewOutsideWebFrameViews]): now calls extracted method (-[WebBridge nextValidKeyViewOutsideWebFrameViews]): new method, calls new bottleneck method
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView nextValidKeyView]): when we're stuck at the end of a nextKeyView chain inside a nexted frame, use nextValidKeyViewOutsideWebFrameViews. Make sure we don't end up looking inside the web frame views while doing this.
3:43 PM Changeset in webkit [8720] by kocienda
  • 6 edits
    2 adds in trunk

Reviewed by John

Fix for this bug:

<rdar://problem/3972665> 8A360: HTML message partially truncated on left hand side, text-indent from Script Editor

  • khtml/css/css_computedstyle.cpp: inheritableProperties array now defined in css_valueimpl.cpp.
  • khtml/css/css_valueimpl.cpp: Define inheritableProperties array here. (DOM::CSSMutableStyleDeclarationImpl::copyBlockProperties): Use new name for blockProperties, and use the new constant for the number of items in the array. (DOM::CSSMutableStyleDeclarationImpl::removeBlockProperties): Ditto. (DOM::CSSMutableStyleDeclarationImpl::removeInheritableProperties): New function.
  • khtml/css/css_valueimpl.h: Declare inheritableProperties array and numInheritableProperties extern so they can be defined in css_valueimpl.cpp and used in css_computedstyle.cpp.
  • khtml/editing/htmlediting.cpp: (khtml::ReplacementFragment::removeStyleNodes): This code was misguided, and removed too much style from HTML elements. Now, it removes from HTML elements only the styles that we replace later with a call to applyStyle(). Also, add ID_B to list of inline "style" nodes we are willing to remove. Leaving it off was an oversight.
  • layout-tests/editing/pasteboard/paste-text-011-expected.txt: ID_B fix made this result change, without any visible change in the test.

New test:

  • layout-tests/editing/style/smoosh-styles-003.html
  • layout-tests/editing/style/smoosh-styles-003-expected.txt
3:10 PM Changeset in webkit [8719] by rjw
  • 2 edits in trunk/WebCore

Fixed <rdar://problem/4026985> CrashTracer: ...14 crashes at com.apple.WebCore: -[KWQPageState invalidate] + 32

Added more nil checking and ASSERTS.
Without a reproducible case this is hard to definitively resolve.

Reviewed by John Sullivan.

  • kwq/KWQPageState.mm: (-[KWQPageState invalidate]):
2:51 PM Changeset in webkit [8718] by rjw
  • 2 edits in trunk/WebCore

Fixed <rdar://problem/4027702> 3.5% performance regression btwn Safari-188 and Safari-400

I inadvertently checked in some debugging code that disabled
style sharing. Backed out that change.

  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::styleForElement):
1:16 PM Changeset in webkit [8717] by cblu
  • 2 edits in trunk/WebCore

Fixed: <rdar://problem/4026639> www.bmw.ca configurator does not work with Safari

Reviewed by john.

  • khtml/ecma/kjs_html.cpp: (KJS::HTMLElement::tryGet): when frameset.<name of frame child> is called, return the window object of the frame child
9:51 AM Changeset in webkit [8716] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by Chris

Fix for this bug:

<rdar://problem/4026906> Paste of HTML table content can break table structure

  • khtml/editing/htmlediting.cpp: (khtml::ReplacementFragment::pruneEmptyNodes): Call new isProbablyTableStructureNode() function to prevent removal of empty table structure nodes. (khtml::ReplacementFragment::removeUnrenderedNodesUsingTestRendering): Ditto. (khtml::isProbablyTableStructureNode): New helper function.
  • khtml/editing/htmlediting.h: Declare new helper.
9:11 AM Changeset in webkit [8715] by cblu
  • 3 edits in trunk/WebCore

Fixed: <rdar://problem/4023566> Stickies: Crash in ReplacementFragment::insertFragmentForTestRendering on paste

Reviewed by kocienda.

  • khtml/editing/htmlediting.cpp: (khtml::ApplyStyleCommand::addInlineStyleIfNeeded): ref and deref the element while it is "floating" (khtml::ReplacementFragment::insertFragmentForTestRendering): ditto (khtml::floatRefdElement): new, keeps an element alive while its ref count is 0 (khtml::createDefaultParagraphElement): removed commented out code (khtml::createBlockPlaceholderElement): ref the element and return it as "floating" (khtml::createFontElement): ditto (khtml::createStyleSpanElement): ditto
  • khtml/editing/htmlediting.h:

Feb 27, 2005:

8:21 PM Changeset in webkit [8714] by mjs
  • 2 edits in trunk/WebCore

Reviewed by Vicki.

<rdar://problem/3993557> REGRESSION (125-180-ish): getElementsByTagName no longer works with namespace designations

  • khtml/xml/dom_nodeimpl.cpp: (NodeBaseImpl::getElementsByTagNameNS): When no namespace is specified, find elements of the specified name in any namespace to match Mozilla and earlier Safari behavior.

Feb 25, 2005:

5:41 PM Changeset in webkit [8713] by darin
  • 5 edits in trunk/WebCore

Reviewed by Adele.

  • fixed <rdar://problem/4025618> Crash while searching at hollywoodvideo.com
  • khtml/html/html_formimpl.h: Added valueWithDefault.
  • khtml/html/html_formimpl.cpp: (DOM::HTMLInputElementImpl::appendFormData): Call valueWithDefault instead of going at the render object to try to get the default value; there may be no render object if this is display:none. (DOM::HTMLInputElementImpl::valueWithDefault): Added. Knows about the defaults for "submit" and "reset" buttons; otherwise just returns the value as-is.
  • khtml/rendering/render_form.h: Removed the defaultLabel member functions.
  • khtml/rendering/render_form.cpp: (RenderSubmitButton::rawText): Call valueWithDefault instead of using defaultLabel function here on the render side. The DOM needs to know how to deal with the default anyway for form submission. (RenderSubmitButton::defaultLabel): Removed. (RenderResetButton::defaultLabel): Removed. (RenderPushButton::defaultLabel): Removed.
5:03 PM Changeset in webkit [8712] by darin
  • 7 edits in trunk

WebCore:

Reviewed by John.

  • fixed <rdar://problem/4025088> window onblur and onfocus don't fire when text field has focus
  • kwq/KWQKHTMLPart.h: Added setWindowHasFocus function and m_windowHasFocus data member.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::setDisplaysWithFocusAttributes): Took out the code that sends the focus and blur events. (KWQKHTMLPart::setWindowHasFocus): Put that code here instead.
  • kwq/WebCoreBridge.h: Added setWindowHasFocus: method to the bridge.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge setWindowHasFocus:]): Added. Calls method on the part.

WebKit:

Reviewed by John.

  • fixed <rdar://problem/4025088> window onblur and onfocus don't fire when text field has focus
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView updateFocusState]): Renamed from updateFocusDisplay. Added call to setWindowHasFocus: method. (-[WebHTMLView viewDidMoveToWindow]): Call method by new name. (-[WebHTMLView windowDidBecomeKey:]): Ditto. (-[WebHTMLView windowDidResignKey:]): Ditto. (-[WebHTMLView becomeFirstResponder]): Ditto. (-[WebHTMLView resignFirstResponder]): Ditto.
4:43 PM Changeset in webkit [8711] by darin
  • 2 edits in trunk/WebCore

Reviewed by John.

  • re-fixed <rdar://problem/3665430> horizontal scroll bar of text area does not show, even when text is wide in "no wrap" mode
  • kwq/KWQTextArea.mm: (-[KWQTextArea _updateTextViewWidth]): Don't change the text view width to match the text area's width in the "wrap" case.
3:51 PM Changeset in webkit [8710] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/4021518> 8A394 Mail crashes during paste: khtml::RootInlineBox::closestLeafChildForXPos

  • khtml/editing/visible_units.cpp: (khtml::previousLinePosition): Adding an updateLayout call at the start of the function fixes the crash, since we caught line boxes in a not-completely-updated state. (khtml::nextLinePosition): Ditto.
3:49 PM Changeset in webkit [8709] by hyatt
  • 2 edits in trunk/WebCore

Fix for 4010774, make sure to avoid an O(N2) algorithm in nextRenderer() that is triggered when large
DOM subtrees are inserted into documents via one insert/append call.

Reviewed by kocienda

  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::nextRenderer):
3:41 PM Changeset in webkit [8708] by rjw
  • 2 edits in trunk/WebCore

Fixed <rdar://problem/3382926> Bidi neutrals at RTL/LTR boundaries not handled correctly.

Second pass at fixing 3382926 w/o causing layout regressions. Same concept:
if directionality of text's element is RTL and first character has neutral directionality
then set the initial directionality to RTL.

Reviewed by Hyatt.

  • khtml/rendering/bidi.cpp: (khtml::RenderBlock::bidiReorderLine): (khtml::RenderBlock::determineStartPosition):
2:16 PM Changeset in webkit [8707] by vicki
  • 3 edits in trunk

versioning for TOT, Safari 2.0 (400+)

2:10 PM Changeset in webkit [8706]
  • 1 copy in tags/Safari-300

This commit was manufactured by cvs2svn to create tag 'Safari-300'.

2:10 PM Changeset in webkit [8705] by vicki
  • 3 edits in trunk

Safari 1.3 (300) stamp, for 10.3 Panther

2:05 PM Changeset in webkit [8704]
  • 1 copy in tags/Safari-400

This commit was manufactured by cvs2svn to create tag 'Safari-400'.

2:05 PM Changeset in webkit [8703] by vicki
  • 6 edits in trunk

Safari-400 stamp

This is our first build with the new versioning scheme. Versions are Safari 2.0 (400) on 10.4, and Safari (1.3) 300 for 10.3. See this bug for details:

<rdar://problem/3962707> upgrade install of Tiger over SUPanWheat leaves Panther version of WebKit (need new version numbering scheme)

1:33 PM Changeset in webkit [8702] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by me

Roll out Chris' change to fix this bug:

<rdar://problem/4023566> Stickies: Crash in ReplacementFragment::insertFragmentForTestRendering on paste

That code change is responsible for all these new crashers:

<rdar://problem/4025177> crash copying safari.apple.com into Blot document
<rdar://problem/4025184> crash in DOM::NodeImpl::parentNode copying "New!" from google.com to Blot
<rdar://problem/4025214> crash in DOM::NodeImpl::getRect loading paste-match-style-001.html

Since we wish to close the tree for a build right now, I am rolling out rather than investigating.

  • khtml/editing/htmlediting.cpp: (khtml::ApplyStyleCommand::addInlineStyleIfNeeded) (khtml::ReplacementFragment::insertFragmentForTestRendering) (khtml::createDefaultParagraphElement) (khtml::createBlockPlaceholderElement) (khtml::createFontElement) (khtml::createStyleSpanElement)
  • khtml/editing/htmlediting.h
12:54 PM Changeset in webkit [8701] by rjw
  • 2 edits in trunk/WebKit

Fixed <rdar://problem/4000962> 8A375: Help Viewer displays voiced sound and semi-voiced characters strangely (characters don't seem to be composed)

Added special case for voiced marks.

Reviewed by John.

  • WebCoreSupport.subproj/WebTextRenderer.m: (widthForNextCharacter):
11:42 AM Changeset in webkit [8700] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by John

Fix for this bug:

<rdar://problem/4020108> Pasting text into message makes Mail crash reproducibly

Note that, even with this fix, development build will crash until this bug is fixed:
<rdar://problem/4024996> Applying block styles can cause assertion failure in inline style removal

This will not crash deployment builds, so I am going to land.

  • khtml/editing/htmlediting.cpp: (khtml::ApplyStyleCommand::applyBlockStyle): Applying block styles can make the loop to reach beyondEnd fail since the structure of the document can change. Cache the next node first before operating on it, as we do elsewhere.
11:38 AM Changeset in webkit [8699] by vicki
  • 4 edits in trunk/WebCore
  • recommit this change, since rolling it out did NOT fix the performance regression!

2005-02-23 Darin Adler <Darin Adler>

Reviewed by John.

  • fixed <rdar://problem/4011405> REGRESSION (180-181): Unconfirmed text disappears when text focus moves

The key was to change things around so that we don't push text from the DOM to the widget
unless the DOM has actually been changed. This prevents the code path that wipes out inline input
during the blur process.

  • khtml/html/html_formimpl.cpp: (DOM::HTMLInputElementImpl::HTMLInputElementImpl): Start m_valueMatchesRenderer as false. (DOM::HTMLInputElementImpl::parseHTMLAttribute): Set m_valueMatchesRenderer to false when a new value is set here. (DOM::HTMLInputElementImpl::setValue): Set m_valueMatchesRenderer to false when a new value is set here. (DOM::HTMLInputElementImpl::setValueFromRenderer): Added. Sets m_value, sets m_valueMatchesRenderer to true, and also sends out the input event. It's better to have this here than in the renderer code. (DOM::HTMLTextAreaElementImpl::HTMLTextAreaElementImpl): Start m_valueIsValid as false (replaces m_dirtyvalue) and m_valueMatchesRenderer as false. (DOM::HTMLTextAreaElementImpl::updateValue): Added. Factored this out from the value function. Uses the new booleans and keeps them up to date, specifically setting m_valueMatchesRenderer based on where the value came from. (DOM::HTMLTextAreaElementImpl::value): Updated to call updateValue to do most of the work. (DOM::HTMLTextAreaElementImpl::setValue): Set both m_valueIsValid and m_valueMatchesRenderer. (DOM::HTMLTextAreaElementImpl::setDefaultValue): Take parameter by reference.
  • khtml/html/html_formimpl.h: Added setValueFromRenderer, valueMatchesRenderer, setValueMatchesRenderer, and m_valueMatchesRenderer to input element. For textarea element, made some parameters pass DOMString by reference, and added invalidateValue, updateValue, valueMatchesRenderer, and setValueMatchesRenderer.
  • khtml/rendering/render_form.cpp: (RenderLineEdit::updateFromElement): Don't re-get the value from the DOM if valueMatchesRenderer is true. (RenderLineEdit::slotTextChanged): Call setValueFromRenderer instead of manipulating the DOM directly. (RenderTextArea::detach): Call updateValue instead of calling value for its side effect. (RenderTextArea::handleFocusOut): Ditto. (RenderTextArea::updateFromElement): Call updateValue and then not re-get the value from the DOM if valueMatchesRenderer is true. (RenderTextArea::slotTextChanged): Call invalidateValue instead of directly setting m_dirtyvalue to true.
11:34 AM Changeset in webkit [8698] by cblu
  • 3 edits in trunk/WebCore

Fixed: <rdar://problem/4023566> Stickies: Crash in ReplacementFragment::insertFragmentForTestRendering on paste

Reviewed by darin.

  • khtml/editing/htmlediting.cpp: (khtml::ApplyStyleCommand::addInlineStyleIfNeeded): (khtml::ReplacementFragment::insertFragmentForTestRendering): (khtml::floatRefdElement): (khtml::createDefaultParagraphElement): (khtml::createBlockPlaceholderElement): (khtml::createFontElement): (khtml::createStyleSpanElement):
  • khtml/editing/htmlediting.h:
10:48 AM Changeset in webkit [8697] by darin
  • 2 edits in trunk/WebKit

Reviewed by John.

  • fixed <rdar://problem/4019823> Seed: Control-Y doesn't work
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Call _handleKillRing after setting the selection, since it uses the selection to get the text. (-[WebHTMLView _insertText:selectInsertedText:]): Check for empty string to avoid an assertion on the other side of the bridge when you yank the empty string.
10:38 AM Changeset in webkit [8696] by darin
  • 2 edits in trunk/WebCore
  • kwq/character-sets.txt: Checked in updated file. This new file has no effect, because none of the changes affect character sets that we support, but it's good to have the latest file in here, and completely safe because I checked that the generated files have not changed.
10:36 AM Changeset in webkit [8695] by vicki
  • 4 edits in trunk/WebCore

Reviewed by Darin.

  • back out this change, since it causes a 3.5% performance regression

2005-02-23 Darin Adler <Darin Adler>

Reviewed by John.

  • fixed <rdar://problem/4011405> REGRESSION (180-181): Unconfirmed text disappears when text focus moves

The key was to change things around so that we don't push text from the DOM to the widget
unless the DOM has actually been changed. This prevents the code path that wipes out inline input
during the blur process.

  • khtml/html/html_formimpl.cpp: (DOM::HTMLInputElementImpl::HTMLInputElementImpl): Start m_valueMatchesRenderer as false. (DOM::HTMLInputElementImpl::parseHTMLAttribute): Set m_valueMatchesRenderer to false when a new value is set here. (DOM::HTMLInputElementImpl::setValue): Set m_valueMatchesRenderer to false when a new value is set here. (DOM::HTMLInputElementImpl::setValueFromRenderer): Added. Sets m_value, sets m_valueMatchesRenderer to true, and also sends out the input event. It's better to have this here than in the renderer code. (DOM::HTMLTextAreaElementImpl::HTMLTextAreaElementImpl): Start m_valueIsValid as false (replaces m_dirtyvalue) and m_valueMatchesRenderer as false. (DOM::HTMLTextAreaElementImpl::updateValue): Added. Factored this out from the value function. Uses the new booleans and keeps them up to date, specifically setting m_valueMatchesRenderer based on where the value came from. (DOM::HTMLTextAreaElementImpl::value): Updated to call updateValue to do most of the work. (DOM::HTMLTextAreaElementImpl::setValue): Set both m_valueIsValid and m_valueMatchesRenderer. (DOM::HTMLTextAreaElementImpl::setDefaultValue): Take parameter by reference.
  • khtml/html/html_formimpl.h: Added setValueFromRenderer, valueMatchesRenderer, setValueMatchesRenderer, and m_valueMatchesRenderer to input element. For textarea element, made some parameters pass DOMString by reference, and added invalidateValue, updateValue, valueMatchesRenderer, and setValueMatchesRenderer.
  • khtml/rendering/render_form.cpp: (RenderLineEdit::updateFromElement): Don't re-get the value from the DOM if valueMatchesRenderer is true. (RenderLineEdit::slotTextChanged): Call setValueFromRenderer instead of manipulating the DOM directly. (RenderTextArea::detach): Call updateValue instead of calling value for its side effect. (RenderTextArea::handleFocusOut): Ditto. (RenderTextArea::updateFromElement): Call updateValue and then not re-get the value from the DOM if valueMatchesRenderer is true. (RenderTextArea::slotTextChanged): Call invalidateValue instead of directly setting m_dirtyvalue to true.
10:29 AM Changeset in webkit [8694] by darin
  • 2 edits in trunk/WebCore

Reviewed by Chris.

  • fixed <rdar://problem/4024786> REGRESSION (Mail): "Smart paste" plain-text word into Blot leaves insertion point misplaced
  • khtml/editing/htmlediting.cpp: (khtml::ReplaceSelectionCommand::doApply): Use the insertNodeAfterAndUpdateNodesInserted and insertNodeBeforeAndUpdateNodesInserted functions to add the leading and trailing spaces for smart paste.
9:43 AM Changeset in webkit [8693] by hyatt
  • 2 edits in trunk/WebCore

Back out fix for 3382926, since it breaks LTR text inside RTL contexts.

Reviewed by john

  • khtml/rendering/bidi.cpp: (khtml::BidiIterator::direction):
9:33 AM Changeset in webkit [8692] by hyatt
  • 4 edits in trunk/WebCore

Fix for 3975039, scrolling is slow in huge RSS views. Optimize the calculation of clip rects for overflow:hidden
layers. Also optimize layer movement when scrolling overflow sections.

Reviewed by darin

  • khtml/rendering/render_layer.cpp: (throw): (ClipRects::operator delete): (ClipRects::detach): (RenderLayer::RenderLayer): (RenderLayer::~RenderLayer): (RenderLayer::updateLayerPosition): (RenderLayer::removeOnlyThisLayer): (RenderLayer::insertOnlyThisLayer): (RenderLayer::scrollToOffset): (RenderLayer::hitTest): (RenderLayer::calculateClipRects): (RenderLayer::calculateRects): (RenderLayer::containsPoint): (RenderLayer::clearClipRects): (RenderLayer::clearClipRect):
  • khtml/rendering/render_layer.h: (khtml::ClipRects::m_refCnt): (khtml::ClipRects::overflowClipRect): (khtml::ClipRects::fixedClipRect): (khtml::ClipRects::posClipRect): (khtml::ClipRects::ref): (khtml::ClipRects::deref): (khtml::RenderLayer::clipRects):
  • khtml/rendering/render_object.cpp: (RenderObject::setStyle):

Feb 24, 2005:

7:41 PM Changeset in webkit [8691] by mjs
  • 2 edits in trunk/WebCore

Reviewed by Darin and Dave a while ago.

<rdar://problem/3996685> REGRESSION: Crash in KWQVectorImpl::at loading http://maps.google.com/mapfiles/homepanel.xsl

  • kwq/WebCoreBridge.mm: (formElementFromDOMElement): Check for isHTMLElement() as well as id() == ID_FORM. This seems like an impossible situation, but papering over it seems more expedient for the time being.
5:33 PM Changeset in webkit [8690] by rjw
  • 1 edit in trunk/WebKit/WebCoreSupport.subproj/WebImageRenderer.m

Fixed panther build problem.

4:50 PM Changeset in webkit [8689] by rjw
  • 4 edits in trunk

WebCore

Fixed <rdar://problem/3382926> Bidi neutrals at RTL/LTR boundaries not handled correctly.

Use mirror characters correctly when rendering with RTL directionality.

Reviewed by Hyatt.

  • khtml/rendering/bidi.cpp: (khtml::BidiIterator::direction):

WebKit

Fixed <rdar://problem/3382926> Bidi neutrals at RTL/LTR boundaries not handled correctly.

If directionality is specified use that as initial directionality,
rather than neutral directionality.

Reviewed by Hyatt.

  • WebCoreSupport.subproj/WebTextRenderer.m: (widthForNextCharacter):
4:33 PM Changeset in webkit [8688] by adele
  • 2 edits in trunk/WebKit

Reviewed by Chris.

Fix for <rdar://problem/4023393> Safari crashed in khtml::RenderObject::repaintAfterLayoutIfNeeded(QRect const&, QRect const&)

We were crashing after hitting PageDown when viewing a pdf because
WebKit was calling over to WebCore to scroll overflow areas.
Since this only needs to be done if we're dealing with a WebHTMLView,
I added a wrapper function to check the documentView before calling
over to WebCore.

  • WebView.subproj/WebFrameView.m: (-[WebFrameView _scrollOverflowInDirection:granularity:]): added wrapper function that checks if documentView is a WebHTMLView (-[WebFrameView scrollToBeginningOfDocument:]): uses new wrapper function now (-[WebFrameView scrollToEndOfDocument:]): uses new wrapper function now (-[WebFrameView _pageVertically:]): uses new wrapper function now (-[WebFrameView _pageHorizontally:]): uses new wrapper function now (-[WebFrameView _scrollLineVertically:]): uses new wrapper function now (-[WebFrameView _scrollLineHorizontally:]): uses new wrapper function now
4:25 PM Changeset in webkit [8687] by rjw
  • 14 edits in trunk

WebCore:

Fixed <rdar://problem/3985889> REGRESSION (125-180): setting <img> src to GIF that already animated does not animate; just shows final frame

Reviewed by Hyatt.

  • WebCore.pbproj/project.pbxproj:
  • khtml/html/html_imageimpl.cpp: (HTMLImageLoader::updateFromElement):
  • khtml/rendering/render_image.cpp: (RenderImage::resetAnimation):
  • khtml/rendering/render_image.h:
  • khtml/rendering/render_list.cpp: (RenderListMarker::setStyle): (RenderListMarker::paint):
  • khtml/rendering/render_list.h:
  • kwq/KWQPixmap.h:
  • kwq/KWQPixmap.mm:

WebKit:

Fixed <rdar://problem/3985889> REGRESSION (125-180): setting <img> src to GIF that already animated does not animate; just shows final frame

Reviewed by Hyatt.

  • WebCoreSupport.subproj/WebImageData.h:
  • WebCoreSupport.subproj/WebImageData.m: (-[WebImageData resetAnimation]):
  • WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer resetAnimation]): (-[WebInternalImage resetAnimation]): (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
4:00 PM Changeset in webkit [8686] by cblu
  • 2 edits in trunk/WebCore

Fixed: <rdar://problem/4020110> Safari crashes in setAllData while taking a www.zoomerang.com survey

Reviewed by rjw.

  • kwq/KWQResourceLoader.mm: (-[KWQResourceLoader finishJobAndHandle:]): clear the job after we've deleted to avoid reentrancy
3:07 PM Changeset in webkit [8685] by kdecker
  • 5 edits in trunk/WebKit

Reviewed by John.

Fixed <rdar://problem/3962401> Don't load multipart/x-mixed-replace content to prevent memory leak

Since we're not going to fix <rdar://problem/3087535> for Tiger, we should not load multipart/x-mixed-replace content. Pages with such content contain what is essentially an infinite load and therefore may leak.

  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient connection:didReceiveResponse:]): Disabled loading of multipart/x-mixed-replace content until we fully implement server side push.
    • WebCoreSupport.subproj/WebSubresourceClient.m:

(-[WebSubresourceClient didReceiveResponse:]): Ditto. Same exact thing for sub resources.

2:35 PM Changeset in webkit [8684] by darin
  • 2 edits in trunk/WebCore

Reviewed by Vicki.

  • fixed <rdar://problem/4023360> REGRESSION (186-187): image file upload is broken at pep.apple.com
  • khtml/html/html_formimpl.cpp: (DOM::HTMLInputElementImpl::appendFormData): Return true after setting up the form data for an uploaded file. The old code would fall through to the ISINDEX case and send double form data (the filename instead of the file contents the second time).
2:17 PM Changeset in webkit [8683] by harrison
  • 2 edits in trunk/WebCore

Reviewed by Ken.

<rdar://problem/3990849> AX: textMarkerRange for an AXUIElement within an AXWebArea

  • kwq/KWQAccObject.mm: (-[KWQAccObject textMarkerRange]): (-[KWQAccObject accessibilityParameterizedAttributeNames]): (-[KWQAccObject doAXTextMarkerRangeForUIElement:]): (-[KWQAccObject accessibilityAttributeValue:forParameter:]): Added AXTextMarkerRangeForUIElement, or you can send textMarkerRange to the UIElement itself.
1:28 PM Changeset in webkit [8682] by harrison
  • 2 edits in trunk/WebCore

Reviewed by Vicki.

<rdar://problem/4004279> 3 AXSelectedTextChanged notifications are firing each time I type a character

  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::updateSelection): Send notification only if the selection is not null. This safely ignores transitory selections set during editing.
9:59 AM Changeset in webkit [8681] by darin
  • 5 edits in trunk/WebCore

Reviewed by John.

  • fixed <rdar://problem/3987619> in some cases, text doesn't resize with Format->Style->Bigger/Smaller
  • khtml/editing/htmlediting.cpp: (khtml::ApplyStyleCommand::applyRelativeFontStyleChange): Only call nodeFullySelected for non-text nodes. Text nodes are already split so they're either in the range and full selected or out of the range. And nodeFullySelected doesn't work for text nodes. (khtml::ApplyStyleCommand::nodeFullySelected): Add an assertion, since this function only works for elements, not text nodes. (khtml::ApplyStyleCommand::nodeFullyUnselected): Ditto.
  • make big improvement in <rdar://problem/3953636> Mail hung for ~10sec changing font of 84328 characters: khtml::ApplyStyleCommand::nodeFullySelected
  • khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::compareBoundaryPoints): Improve algorithm based on suggestion from Nate Begeman.
  • fixed <rdar://problem/4020305> REGRESSION (185-186): loading image in new window using document.write fails
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::open): If there is no parent document, don't blow away the base URL.
  • fixed <rdar://problem/4021701> REGRESSION (188-188+): form not submitted after pressing <return> at http://hrweb.apple.com
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::dispatchMouseEvent): Send activate event in the case where the event sent is a KHTML_CLICK_EVENT, not CLICK_EVENT.
7:30 AM Changeset in webkit [8680] by kdecker
  • 2 edits in trunk/WebCore

Reviewed by mjs

Fixed <rdar://problem/4020747> REGRESSION: stray </applet> tags crash Safari

  • khtml/html/htmlparser.cpp: (KHTMLParser::processCloseTag): Made a typesafe check that prevents crashes whenever there is a closing applet tag without an actual <applet> in the first place. Now verifies the current token is ID_APPLET before casting it to an HTMLAppletElementImpl.
Note: See TracTimeline for information about the timeline view.