⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Oct 21, 2004:

6:08 PM Changeset in webkit [7878] by hyatt
  • 2 edits
    2 adds in trunk

Reviewed by darin

Clean up the inline run function so that it doesn't return incorrect answers when making children non-inline.

<rdar://problem/3848724> REGRESSION (166-168u): RenderText::layout called, firing assertion that kills Mail
<rdar://problem/3848357> RenderText::layout called, firing assertion that kills Safari (www.apple.com/downloads/macosx)

  • khtml/rendering/render_block.cpp: (khtml::getInlineRun): (khtml::RenderBlock::makeChildrenNonInline):
5:00 PM Changeset in webkit [7877] by hyatt
  • 2 adds in trunk/LayoutTests/fast/dynamic

Add layout test for dynamic block/inline crash.

4:45 PM Changeset in webkit [7876] by hyatt
  • 2 edits in trunk/WebCore

Fix for 3810389, crash because of continuation() craziness. Revert back to the old behavior of
making sure that all line boxes get deleted and recreated when inlines are split because of a block.

Reviewed darin

  • khtml/rendering/render_inline.cpp: (RenderInline::splitFlow):
2:19 PM Changeset in webkit [7875] by kocienda
  • 27 edits in trunk

Reviewed by Darin

Significant improvement to the way that whitespace is handled during editing.

  • khtml/editing/htmlediting.cpp: (khtml::CompositeEditCommand::deleteInsignificantText): New functions (there are actually two being added with this name) that delete "insignificant" unrendered text. (khtml::CompositeEditCommand::deleteInsignificantTextDownstream): Takes a position, calculates the downstream position to use as the endpoint for the deletion, and then calls deleteInsignificantText with this start and end. (khtml::DeleteSelectionCommand::doApply): Call new deleteInsignificantTextDownstream function. (khtml::InputNewlineCommand::doApply): Ditto. (khtml::InputTextCommand::input): Ditto.
  • khtml/editing/htmlediting.h: Add new declarations.

Modified layout test results:

  • layout-tests/editing/deleting/delete-block-merge-contents-016-expected.txt:
  • layout-tests/editing/deleting/delete-block-merge-contents-017-expected.txt:
  • layout-tests/editing/deleting/delete-contiguous-ws-001-expected.txt:
  • layout-tests/editing/deleting/delete-selection-001-expected.txt:
  • layout-tests/editing/deleting/delete-tab-001-expected.txt:
  • layout-tests/editing/deleting/delete-tab-004-expected.txt:
  • layout-tests/editing/deleting/delete-trailing-ws-001-expected.txt:
  • layout-tests/editing/inserting/insert-3659587-fix-expected.txt:
  • layout-tests/editing/inserting/insert-3775316-fix-expected.txt:
  • layout-tests/editing/inserting/insert-3778059-fix-expected.txt:
  • layout-tests/editing/inserting/insert-br-001-expected.txt:
  • layout-tests/editing/inserting/insert-br-004-expected.txt:
  • layout-tests/editing/inserting/insert-br-005-expected.txt:
  • layout-tests/editing/inserting/insert-br-006-expected.txt:
  • layout-tests/editing/inserting/insert-tab-001-expected.txt:
  • layout-tests/editing/inserting/insert-tab-002-expected.txt:
  • layout-tests/editing/inserting/insert-tab-004-expected.txt:
  • layout-tests/editing/inserting/insert-text-with-newlines-expected.txt:
  • layout-tests/editing/inserting/typing-001-expected.txt:
  • layout-tests/editing/inserting/typing-around-br-001-expected.txt:
  • layout-tests/editing/inserting/typing-around-image-001-expected.txt:
  • layout-tests/editing/style/typing-style-003-expected.txt:
  • layout-tests/editing/undo/redo-typing-001-expected.txt:
  • layout-tests/editing/undo/undo-typing-001-expected.txt:
2:12 PM Changeset in webkit [7874] by hyatt
  • 2 edits in trunk/WebCore

Fix for 3847054, assertion failure in RenderText::layout() on news.com page. Fix getInlineRun so that
it no longer breaks early (thus causing some children not to get properly wrapped by anonymous blocks).

Reviewed by darin

  • khtml/rendering/render_block.cpp: (khtml::getInlineRun):
10:04 AM Changeset in webkit [7873] by darin
  • 2 edits in trunk/WebKit

Reviewed by John.

  • fixed <rdar://problem/3847994> REGRESSION: reproducible exception in WebImageRenderer releasePatternColor; afterwards get crash or no more browsing
  • WebCoreSupport.subproj/WebImageRenderer.m: (-[WebInternalImage createRendererIfNeeded]): Replaced retainOrCopyIfNeeded with this. This returns nil if a copied renderer isn't needed, and returns a new renderer if a copy is. The old version was sometimes returning a WebInternalImage and other times a WebImageRenderer. (-[WebImageRenderer retainOrCopyIfNeeded]): Returns the result of createRendererIfNeeded or retains self and returns self.

Oct 20, 2004:

5:23 PM Changeset in webkit [7872] by hyatt
  • 16 edits in trunk/LayoutTests/fast

Land updated layout tests with scroll info.

5:20 PM Changeset in webkit [7871] by darin
  • 6 edits in trunk/WebKit

Reviewed by Dave.

  • fixed <rdar://problem/3470715> Pattern cache can get huge with use of css background-image in Safari
  • WebCoreSupport.subproj/WebImageRenderer.h: Change WebImageRenderer to be a subclass of NSObject rather than NSImage and contain a pointer to a WebInternalImage.
  • WebCoreSupport.subproj/WebImageRenderer.m: (-[WebInternalImage releasePatternColor]): Added. Releases patternColor. (-[WebImageRenderer initWithMIMEType:]): Added. Makes WebInternalImage and then self. (-[WebImageRenderer initWithData:MIMEType:]): Ditto. (-[WebImageRenderer initWithContentsOfFile:]): Ditto. (-[WebImageRenderer dealloc]): Added. Calls releasePatternColor and then releases WebInternalImage. (-[WebImageRenderer image]): Added. Returns pointer to image. (-[WebImageRenderer MIMEType]): Added. Calls through to image. (-[WebImageRenderer TIFFRepresentation]): Ditto. (-[WebImageRenderer frameCount]): Ditto. (-[WebImageRenderer setOriginalData:]): Added. Sets image data pointer. (+[WebImageRenderer stopAnimationsInView:]): Added. Calls through to image. (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): Ditto. (-[WebImageRenderer size]): Ditto. (-[WebImageRenderer resize:]): Ditto. (-[WebImageRenderer drawImageInRect:fromRect:]): Ditto. (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]): Ditto. (-[WebImageRenderer stopAnimation]): Ditto. (-[WebImageRenderer tileInRect:fromPoint:context:]): Ditto. (-[WebImageRenderer isNull]): Ditto. (-[WebImageRenderer retainOrCopyIfNeeded]): Ditto. (-[WebImageRenderer increaseUseCount]): Ditto. (-[WebImageRenderer decreaseUseCount]): Ditto. (-[WebImageRenderer flushRasterCache]): Ditto. (-[WebImageRenderer imageRef]): Ditto. (-[WebImageRenderer copyWithZone:]): Ditto.
  • Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragImage:rect:event:pasteboard:source:offset:]): Update for slight changes to WebImageRenderer API.
  • WebCoreSupport.subproj/WebImageRendererFactory.m: (-[WebImageRendererFactory imageRendererWithMIMEType:]): Ditto. (-[WebImageRendererFactory imageRendererWithData:MIMEType:]): Ditto. (-[WebImageRendererFactory imageRendererWithSize:]): Ditto. (-[WebImageRendererFactory imageRendererWithName:]): Ditto.
  • WebView.subproj/WebImageView.m: (-[WebImageView image]): Ditto.
5:20 PM Changeset in webkit [7870] by hyatt
  • 4 edits in trunk/WebCore

Add better dumping of overflow information for scrolling regions.

Fix for 3726524, crash in updateLayerPosition. Make sure anonymous elements properly remove themselves
from the render tree so that layers and so forth are cleaned up.

Reviewed by darin

  • khtml/rendering/render_container.cpp: (RenderContainer::detach):
  • khtml/rendering/render_layer.h: (khtml::RenderLayer::scrollXOffset): (khtml::RenderLayer::scrollYOffset):
  • kwq/KWQRenderTreeDebug.cpp: (write):
2:34 PM Changeset in webkit [7869] by hyatt
  • 3 edits in trunk/WebCore

Fix for 3791146, make sure all lines are checked when computing overflow.

Reviewed by kocienda

  • khtml/rendering/bidi.cpp: (khtml::RenderBlock::computeHorizontalPositionsForLine): (khtml::RenderBlock::layoutInlineChildren): (khtml::RenderBlock::findNextLineBreak): (khtml::RenderBlock::checkLinesForOverflow):
  • khtml/rendering/render_block.h:
2:31 PM Changeset in webkit [7868] by cblu
  • 4 edits in trunk/WebKit

Fixed: <rdar://problem/3846943> REGRESSION: JNLP files are rendered instead of downloaded

Reviewed by john.

  • Plugins.subproj/WebBasePluginPackage.h:
  • Plugins.subproj/WebBasePluginPackage.m: (-[WebBasePluginPackage isJavaPlugIn]): new
  • Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase refresh]): don't register the Java plug-in for a document view since Java file should be downloaded when not embedded.
1:58 PM Changeset in webkit [7867] by hyatt
  • 2 edits in trunk/WebCore

Fix for 3790936, make the unicode-breaking on the layout tests match Panther.

Reviewed by kocienda

  • khtml/rendering/break_lines.cpp: (khtml::isBreakable):
12:01 PM Changeset in webkit [7866] by darin
  • 15 edits
    2 deletes in trunk/WebCore

Reviewed by John.

  • fixed <rdar://problem/3317107> text input fields and text areas don't respect background color and text color CSS properties
  • khtml/rendering/render_form.cpp: (RenderFormElement::updateFromElement): Create a palette with the background and foreground colors in it and set it on the widget.
  • khtml/rendering/render_style.h: (khtml::StyleVisualData::operator==): No palette to compare with APPLE_CHANGES. Removed palette and palette-related function members.
  • khtml/rendering/render_style.cpp: (StyleVisualData::StyleVisualData): No palette to initialize with APPLE_CHANGES. (RenderStyle::diff): No palette to compare.
  • kwq/KWQLineEdit.h: Added setPalette override. Made text function const.
  • kwq/KWQLineEdit.mm: (QLineEdit::setPalette): Added. Sets foreground and background color based on palette. (QLineEdit::text): Made const.
  • kwq/KWQTextEdit.h: Added setPalette override.
  • kwq/KWQTextEdit.mm: (QTextEdit::setPalette): Added. Sets foreground and background color based on palette.
  • kwq/KWQPalette.h: Removed most things, leaving only background and foreground colors per color group, and only a single color group per palette.
  • kwq/KWQColorGroup.mm: Removed.
  • kwq/KWQPalette.mm: Removed.
  • WebCore.pbproj/project.pbxproj: Removed KWQColorGroup.mm and KWQPalette.mm.
  • kwq/KWQApplication.h: Removed unused palette function.
  • kwq/KWQApplication.mm: Ditto.
  • kwq/KWQWidget.h: Removed unsetPalette.
  • kwq/KWQWidget.mm: Ditto.
  • fixed storage leak
  • khtml/html/html_formimpl.cpp: (DOM::HTMLGenericFormElementImpl::~HTMLGenericFormElementImpl): Roll in storage leak fix from KDE guys.
11:21 AM Changeset in webkit [7865] by cblu
  • 5 edits
    1 add in trunk/WebKit

Fixed:
<rdar://problem/3842030> WebKit needs to pass the mode (NP_FULL, NP_EMBED, etc) when calling plugInViewWithArguments
<rdar://problem/3792852> Safari is loading the new QuickTime Cocoa plugin on Panther

Reviewed by darin.

  • Plugins.subproj/WebPluginDocumentView.m: (-[WebPluginDocumentView setDataSource:]): pass "full" as the mode
  • Plugins.subproj/WebPluginPackage.m: (-[WebPluginPackage initWithPath:]): load plug-in with the "webplugin" extension
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]): pass "embed" as the mode
  • WebKit.pbproj/project.pbxproj:

Oct 19, 2004:

4:50 PM Changeset in webkit [7864]
  • 3 copies
    3 deletes in tags/WebKit-167~1

This commit was manufactured by cvs2svn to create tag 'WebKit-167~1'.

4:50 PM Changeset in webkit [7863] by vicki
  • 2 edits in trunk/WebKit
  • bump WebKit version to 167.1, so that we can do a quick dot submission for <rdar://problem/3843951>
  • WebKit.pbproj/project.pbxproj:
4:28 PM Changeset in webkit [7862] by hyatt
  • 100 edits in trunk/LayoutTests

Check in updated layout tests.

4:04 PM Changeset in webkit [7861] by hyatt
  • 5 edits
    2 adds in trunk

Reviewed by kocienda

More cleanup of block layout. Eliminates the separate step for tables that dont fit on a line with a float
and consolidates it with clearing.

Also patch dom_textimpl.cpp to reduce further the # of RenderTexts created.

  • khtml/rendering/render_block.cpp: (khtml::getInlineRun): (khtml::RenderBlock::layoutBlock): (khtml::RenderBlock::adjustFloatingBlock): (khtml::RenderBlock::collapseMargins): (khtml::RenderBlock::clearFloatsIfNeeded): (khtml::RenderBlock::estimateVerticalPosition): (khtml::RenderBlock::layoutBlockChildren): (khtml::RenderBlock::markAllDescendantsWithFloatsForLayout): (khtml::RenderBlock::getClearDelta): (khtml::RenderBlock::calcBlockMinMaxWidth):
  • khtml/rendering/render_block.h:
  • khtml/rendering/render_frames.cpp: (RenderFrameSet::layout):
  • khtml/xml/dom_textimpl.cpp: (TextImpl::rendererIsNeeded):

Fix for 3841060, regression with * in frames. Reviewed by kocienda.

  • layout-tests/fast/frames/002-expected.txt: Added.
  • layout-tests/fast/frames/002.html: Added.

2004-10-19 Darin Adler <Darin Adler>

Reviewed by Maciej.

  • follow-on to my fix yesterday, which broke a layout test because I rolled out a fix that Maciej had done
  • khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::write): Need to check the actual queue of external scripts being loaded here. If the current code being run is the external script itself, then we don't want to defer parsing. But loadingExtScript has to stay true until after the script runs. The old code would assume that any time we're running a script there's no need to look at loadingExtScript, but that was also wrong since there can be a script loading in that case too. Layout tests check for both problems.
  • layout-tests/fast/tokenizer/external-script-document-write-expected.txt: Added.
  • layout-tests/fast/tokenizer/external-script-document-write.html: Added.
  • layout-tests/fast/tokenizer/resources/external-script-document-write.js: Added.
  • layout-tests/fast/tokenizer/004.html: Fixed line endings (were CR, should be LF).
3:05 PM Changeset in webkit [7860] by darin
  • 2 edits in trunk/WebKit

Change suggested by Maciej during code review.

  • WebCoreSupport.subproj/WebTextRenderer.m: Changed rounding hack table to be const so it can be in shared instead of private memory, and doesn't require an initialization function. (+[WebTextRenderer initialize]): Removed initialization.
2:56 PM Changeset in webkit [7859] by darin
  • 2 edits in trunk/WebKit

Reviewed by Maciej.

  • fixed <rdar://problem/3838934> Safari stops loading pages after rangeOfCharacterFromSet nil argument exception
  • fixed <rdar://problem/3843951> REGRESSION (166-167): Safari crashes in widthForNextCharacter (belkin.com, at startup for others)
  • fixed <rdar://problem/3841049> REGRESSION (109-110): control characters render as square boxes
  • WebCoreSupport.subproj/WebTextRenderer.m: (isSpace): Merged in isAlternateSpace, never used. (setupRoundingHackCharacterTable): Fixed size of table, was 1 entry too short. Got rid of unneeded call to bzero, since globals start out zeroed automatically. (isRoundingHackCharacter): Fixed backwards logic causing the crash in widthForNextCharacter. Also removed explicit compare with 1; check for non-zero is just fine. (fontContainsString): Change code so we'll just skip the font if the covered character set returns nil rather than throwing an exception like the old version did. This should make bug 3838934 go away, although perhaps covering up the underlying problem. (-[WebTextRenderer _convertCharacters:length:toGlyphs:]): Removed unused skipControlCharacters: parameter and also the unnecessary code to copy the buffer to change newline characters and non-break spaces to spaces. (-[WebTextRenderer _convertUnicodeCharacters:length:toGlyphs:]): Removed unused local. (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]): Added code to set up special cases for control characters, \n and non-break spaces. (-[WebTextRenderer _createATSUTextLayoutForRun:]): Added comment about the cases this code does not handle that are handled by the CG case. (widthForNextCharacter): Call isSpace instead of checking specifically for the space character here. The old code would not handle cases with '\n' coming across from WebCore properly.
2:11 PM Changeset in webkit [7858] by hyatt
  • 2 adds in trunk/LayoutTests/fast/lists/resources

Add image for lists test.

12:01 PM Changeset in webkit [7857] by darin
  • 3 edits
    3 adds in trunk

2004-10-19 Darin Adler <Darin Adler>

Reviewed by Maciej.

  • follow-on to my fix yesterday, which broke a layout test because I rolled out a fix that Maciej had done
  • khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::write): Need to check the actual queue of external scripts being loaded here. If the current code being run is the external script itself, then we don't want to defer parsing. But loadingExtScript has to stay true until after the script runs. The old code would assume that any time we're running a script there's no need to look at loadingExtScript, but that was also wrong since there can be a script loading in that case too. Layout tests check for both problems.
  • layout-tests/fast/tokenizer/external-script-document-write-expected.txt: Added.
  • layout-tests/fast/tokenizer/external-script-document-write.html: Added.
  • layout-tests/fast/tokenizer/resources/external-script-document-write.js: Added.
  • layout-tests/fast/tokenizer/004.html: Fixed line endings (were CR, should be LF).
9:33 AM Changeset in webkit [7856]
  • 25 copies
    3 deletes in tags/WebKit-125~5~5

This commit was manufactured by cvs2svn to create tag
'WebKit-125~5~5'.

9:33 AM Changeset in webkit [7855] by adele
  • 2 edits in branches/Safari-1-2-branch/WebKit

WebKit versioning for SUPanNavy WebKit-125.5.5

Oct 18, 2004:

5:23 PM Changeset in webkit [7854] by darin
  • 2 edits in trunk/WebCore

Reviewed by Dave Hyatt.

  • fixed <rdar://problem/3807234> REGRESSION (152-153): can't get element by ID that was just written with document.write in separate JS file (lacoccinelle.net)
  • khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::scriptHandler): Use !isEmpty instead of count != 0, since it's cheaper. (khtml::HTMLTokenizer::write): Roll back to the old version of the check here. The fix is that we only want to look at loadingExtScript if m_executingScript is 0.
4:33 PM Changeset in webkit [7853] by adele
  • 2 edits in branches/Safari-1-2-branch/WebKit

Reviewed by Dave.

This backs out the fix for <rdar://problem/3803113> WebFrame object leaked.

Back out rjw's fix for the frame leak, since it caused the onload handler to fire before
CSS and images had loaded.

  • WebView.subproj/WebDataSource.m: (-[WebDataSource _finishedLoading]):
2:52 PM Changeset in webkit [7852] by kocienda
  • 4 edits in trunk/WebCore

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/3840907> textedit doesn't render italic or bold text in html documents

  • khtml/css/css_valueimpl.cpp: (CSSPrimitiveValueImpl::getStringValue): This function did not return string values for idents. Also changed the return value to be DOMString, rather than DOMStringImpl, to deal with the lifecycle issues associated with creating a string to be returned in the ident case.
  • khtml/css/css_valueimpl.h: Change getStringValue to return DOMString rather than DOMStringImpl.
  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::applyProperty): Two calls of getStringValue needed updating.
10:56 AM Changeset in webkit [7851] by cblu
  • 2 edits in trunk/WebCore

Fixed: <rdar://problem/3770135> hang loading page with EMBED tag pointing to same page (tridentantennas.co.uk)

Reviewed by kocienda.

  • khtml/rendering/render_frames.cpp: (RenderPartObject::updateWidget): use completeURL before comparing the URL of the plug-in with the base URL of the document when avoiding frame recursion
10:36 AM Changeset in webkit [7850] by cblu
  • 2 edits in trunk/WebKit

Fixed: <rdar://problem/3840916> GC: -[WebNetscapePluginPackage initWithPath:] leaks an NSURL

Reviewed by kevin.

  • Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage initWithPath:]): use executablePath on NSBundle instead of CFBundleCopyExecutableURL
10:30 AM Changeset in webkit [7849] by cblu
  • 2 edits in trunk/WebKit
  • DOM.subproj/DOMPrivate.h: change to copied header that was never committed
9:55 AM Changeset in webkit [7848] by sullivan
  • 2 edits in trunk/WebKit

Reviewed by Ken.

  • fixed <rdar://problem/3810183> Make WebHTMLView respect return value of webView:doCommandBySelector:
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView doCommandBySelector:]): only do default action if delegate returns NO; this works with Mail as of Tiger 8A275.

Oct 15, 2004:

4:17 PM Changeset in webkit [7847] by cblu
  • 3 edits in trunk/WebCore

Fixed: <rdar://problem/3841774> would like to get NSColor from DOM-CSS

Reviewed by john.

  • kwq/DOM-CSS.mm: (-[DOMRGBColor _color]): new, returns getNSColor on KWQColor
  • kwq/DOMPrivate.h:
2:07 PM Changeset in webkit [7846] by kocienda
  • 2 edits
    4 adds in trunk

Reviewed by Hyatt

  • khtml/rendering/bidi.cpp: (khtml::RenderBlock::skipNonBreakingSpace): Also need to forego the skipping after a clean line break, in addition to the cases already checked for.
  • layout-tests/editing/inserting/insert-br-007-expected.txt: Added.
  • layout-tests/editing/inserting/insert-br-007.html: Added.
  • layout-tests/editing/inserting/insert-br-008-expected.txt: Added.
  • layout-tests/editing/inserting/insert-br-008.html: Added.
11:22 AM Changeset in webkit [7845] by vicki
  • 3 edits in trunk

versioning for TOT, Safari 2.0 (168u)

11:12 AM Changeset in webkit [7844]
  • 2 copies in tags/Safari-167

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

11:12 AM Changeset in webkit [7843] by vicki
  • 6 edits in trunk

Safari-167 stamp

Oct 14, 2004:

5:01 PM Changeset in webkit [7842] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by John

Fix for this bug:

<rdar://problem/3839989> REGRESSION (Mail): Left arrow does nothing after inserting attachment

  • khtml/editing/visible_position.cpp: (khtml::VisiblePosition::deepEquivalent): Remove code that attempted to bridge old-style position code to new-style VisiblePosition code. In retrospect, this code was misguided. Since we do a good job of insulating external code from the internal workings of VisiblePosition, the "hop ahead" being done here was not doing anyone any real good, and in the case of this bug, was doing harm. Simply removing this code makes the bug go away and does not cause any editing layout test regresssions.
4:51 PM Changeset in webkit [7841] by kocienda
  • 3 edits
    2 adds in trunk

Reviewed by Hyatt

  • khtml/rendering/bidi.cpp: (khtml::skipNonBreakingSpace): New helper. (khtml::RenderBlock::skipWhitespace): Do not skip non-breaking spaces that are at the start of a block. This was preventing users from typing spaces in empty documents.
  • layout-tests/editing/inserting/insert-space-in-empty-doc-expected.txt: Added.
  • layout-tests/editing/inserting/insert-space-in-empty-doc.html: Added.
2:52 PM Changeset in webkit [7840] by adele
  • 2 edits in trunk/WebCore

Reviewed by Darin and Ken.

fix for <rdar://problem/3821070> null de-ref in DelectSelectionCommand::doApply()

This change shifts some code around so that the code that determines what typing style
is in effect is called before deleteUnrenderedText is called. Two asserts are also added
to ensure that start and end nodes of the selection are in the document.

  • khtml/editing/htmlediting.cpp: (khtml::DeleteSelectionCommand::doApply):
2:35 PM Changeset in webkit [7839] by adele
  • 4 edits in trunk/WebCore

Reviewed by Ken

This change makes these three functions virtual so that the work is being done in KWQHTMLPart
instead of khtml_part, eliminating the need for the "#if APPLE_CHANGES" statements in the khtml code.

  • khtml/khtml_part.cpp: (KHTMLPart::shouldBeginEditing): (KHTMLPart::shouldEndEditing): (KHTMLPart::isContentEditable):
  • khtml/khtml_part.h:
  • kwq/KWQKHTMLPart.h:
1:38 PM Changeset in webkit [7838] by kocienda
  • 10 edits in trunk

WebCore:

Reviewed by John

Final fix for these bugs:

<rdar://problem/3806306> HTML editing puts spaces at start of line
<rdar://problem/3814252> HTML editing groups space with word causing wrapping

This change sets some new CSS properties that have been added to WebCore to
enable whitespace-handling and line-breaking features that make WebView work
more like a text editor.

  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::applyProperty): Add and remove special editing CSS properties based on property value.
  • khtml/html/html_elementimpl.cpp: (HTMLElementImpl::setContentEditable): Add and remove special editing CSS properties based on attribute value.
  • khtml/khtml_part.cpp: (KHTMLPart::applyEditingStyleToBodyElement): New helper. Calls applyEditingStyleToElement on body element. (KHTMLPart::removeEditingStyleFromBodyElement): New helper. Calls removeEditingStyleFromElement on body element. (KHTMLPart::applyEditingStyleToElement): Adds special editing CSS properties to passed in element. (KHTMLPart::removeEditingStyleFromElement): Removes special editing CSS properties from passed in element.
  • khtml/khtml_part.h: Add new declarations.
  • kwq/WebCoreBridge.h: Ditto.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge applyEditingStyleToBodyElement]): Call through to similarly-named function on KHTMLPart. (-[WebCoreBridge removeEditingStyleFromBodyElement]): Ditto. (-[WebCoreBridge applyEditingStyleToElement:]): Ditto. (-[WebCoreBridge removeEditingStyleFromElement:]): Ditto.

WebKit:

Reviewed by John

Final fix for these bugs:

<rdar://problem/3806306> HTML editing puts spaces at start of line
<rdar://problem/3814252> HTML editing groups space with word causing wrapping

This change sets some new CSS properties that have been added to WebCore to
enable whitespace-handling and line-breaking features that make WebView work
more like a text editor.

  • WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): Turn on special editing CSS properties when loading an HTML document into a WebView that is editable.
  • WebView.subproj/WebView.m: (-[WebView setEditable:]): Add and remove special editing CSS properties in current document being displayed.
12:51 PM Changeset in webkit [7837] by sullivan
  • 2 edits in trunk/WebCore

Reviewed by Ken.

  • fixed <rdar://problem/3840052> Crash in removeBlockPlaceholderIfNeeded attaching file to empty document
  • khtml/editing/htmlediting.cpp: (khtml::CompositeEditCommand::removeBlockPlaceholderIfNeeded): needed a nil check to handle empty document case
10:14 AM Changeset in webkit [7836] by rjw
  • 2 edits in trunk/WebKit

Fixed <rdar://problem/3823026> making isRoundingHackCharacter use -O3 and an 8-bit lookup-table will speed "XBS" test up by 3% (actually < 1%)

Careful testing shows a small performance gain on very large text files.
I saw large variations in timings, but taking the lowest PLT timing
with and without this change showed a 0.9% gain. Note the cvs-base showed
no improvement. The improvement was for the large page attached to the
bug.

Reviewed by Ken.

  • WebCoreSupport.subproj/WebTextRenderer.m: (setupRoundingHackCharacterTable): (isRoundingHackCharacter): (+[WebTextRenderer initialize]):
7:31 AM Changeset in webkit [7835] by kocienda
  • 2 edits in trunk/WebKit

Reviewed by me

Fix build breakage. These three functions need to return the values from their
calls to WebCGColorSpaceCreateXXX.

  • WebCoreSupport.subproj/WebGraphicsBridge.m: (-[WebGraphicsBridge createRGBColorSpace]) (-[WebGraphicsBridge createGrayColorSpace]) (-[WebGraphicsBridge createCMYKColorSpace])

Oct 13, 2004:

6:32 PM Changeset in webkit [7834] by rjw
  • 2 edits in trunk/WebKit

Addressed concerns in <rdar://problem/3803117> RESP: High complexity in icu uidna_IDNToASCII called by [NSString(WebNSURLExtras) _web_mapHostNameWithRange:encode:makeString:]

In practice I saw NO improvement in performance. Although,
special-case tests could possibly show improvement. Anyway,
the changes don't hurt performance.

Reviewed by Maciej.

  • Misc.subproj/WebNSURLExtras.m: (-[NSString _web_mapHostNameWithRange:encode:makeString:]):
6:26 PM Changeset in webkit [7833] by mjs
  • 13 edits in trunk

WebCore:

Reviewed by Ken.

<rdar://problem/3824626> Change to do colormatching for DeviceRGB colorspace causes ~11% Safari slowdown

  • I fixed this by turning off all colormatching for WebKit content. We might turn it back on later. For now, it's possible to turn it on temporarily by defining COLORMATCH_EVERYTHING.
  • WebCorePrefix.h:
  • khtml/ecma/kjs_html.cpp: (KJS::Context2DFunction::tryCall): (Context2D::colorRefFromValue): (Gradient::getShading):
  • khtml/rendering/render_canvasimage.cpp: (RenderCanvasImage::createDrawingContext):
  • kwq/KWQColor.mm: (QColor::getNSColor):
  • kwq/KWQPainter.h:
  • kwq/KWQPainter.mm: (CGColorFromNSColor): (QPainter::selectedTextBackgroundColor): (QPainter::rgbColorSpace): (QPainter::grayColorSpace): (QPainter::cmykColorSpace):
  • kwq/WebCoreGraphicsBridge.h:
  • kwq/WebCoreGraphicsBridge.m: (-[WebCoreGraphicsBridge createRGBColorSpace]): (-[WebCoreGraphicsBridge createGrayColorSpace]): (-[WebCoreGraphicsBridge createCMYKColorSpace]):

WebKit:

Reviewed by Ken.

<rdar://problem/3824626> Change to do colormatching for DeviceRGB colorspace causes ~11% Safari slowdown

  • I fixed this by turning off all colormatching for WebKit content. We might turn it back on later. For now, it's possible to turn it on temporarily by defining COLORMATCH_EVERYTHING.
  • WebCoreSupport.subproj/WebGraphicsBridge.m: (-[WebGraphicsBridge setFocusRingStyle:radius:color:]): (-[WebGraphicsBridge additionalPatternPhase]): (-[WebGraphicsBridge createRGBColorSpace]): (-[WebGraphicsBridge createGrayColorSpace]): (-[WebGraphicsBridge createCMYKColorSpace]):
  • WebCoreSupport.subproj/WebImageData.m:
  • WebCoreSupport.subproj/WebImageRenderer.h:
  • WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer _adjustSizeToPixelDimensions]): (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): (-[WebImageRenderer _adjustColorSpace]): (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): (-[WebImageRenderer tileInRect:fromPoint:context:]): (_createImageRef): (WebCGColorSpaceCreateRGB): (WebCGColorSpaceCreateGray): (WebCGColorSpaceCreateCMYK):
  • WebKitPrefix.h:
5:10 PM Changeset in webkit [7832] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Hyatt

  • khtml/css/css_valueimpl.cpp: (CSSStyleDeclarationImpl::merge): A little cleanup. Also, make sure m_lstValues is non-null before appending.
5:05 PM Changeset in webkit [7831] by kocienda
  • 4 edits in trunk

Reviewed by me

Update expected results for improved behavior as a result of fix to 3816768.

  • layout-tests/editing/deleting/delete-3775172-fix-expected.txt
  • layout-tests/editing/deleting/delete-3800834-fix-expected.txt
  • layout-tests/editing/deleting/delete-block-merge-contents-002-expected.txt
4:35 PM Changeset in webkit [7830] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Richard

  • khtml/css/css_computedstyle.cpp: (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): Add support to computed style for getting -khtml-line-break and -khml-nbsp-mode.
4:21 PM Changeset in webkit [7829] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by John

Fix for this bug:

<rdar://problem/3816768> REGRESSION (Mail): Deleting last character in block incorrectly
moves caret out of block.

The issue here is that an empty block with no explicit height set by style collapses
to zero height, and does so immediately after the last bit of content is removed from
it (as a result of deleting text with the delete key for instance). Since zero-height
blocks are not eligible caret positions, the caret jumped to the closest eligible spot.

The fix is to detect when a block has not been removed itself, but has had all its
contents removed. In this case, a BR element is placed in the block, one that is
specially marked as a placeholder. Later, if the block ever receives content, this
placeholder is removed.

  • khtml/editing/htmlediting.cpp: (khtml::blockPlaceholerClassString): String which acts as a placeholder marker class. (khtml::CompositeEditCommand::insertBlockPlaceholderIfNeeded): Adds a placeholder BR if needed. (khtml::CompositeEditCommand::removeBlockPlaceholderIfNeeded): Removes a placeholder BR if needed. (khtml::DeleteSelectionCommand::moveNodesAfterNode): Call removeBlockPlaceholderIfNeeded. Also, do some cleanup on some old, crufty code in the move logic that is just so clearly wrong (it's very clear that we needs to be able to move more than just text nodes). This may expose bugs, but these bugs needs to be filed and fixed, not ducked. Besides, undoing this silliness made the test case in the bug work. (khtml::DeleteSelectionCommand::doApply): Call insertBlockPlaceholderIfNeeded and removeBlockPlaceholderIfNeeded. (khtml::InputTextCommand::input): Call removeBlockPlaceholderIfNeeded. (khtml::ReplaceSelectionCommand::doApply): Call removeBlockPlaceholderIfNeeded.
  • khtml/editing/htmlediting.h: Declare new functions.
3:00 PM Changeset in webkit [7828] by rjw
  • 2 edits in trunk/WebKit

Don't fill background with transparency unless debug flag
is enabled.

Reviewed by Hyatt.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]):
2:40 PM Changeset in webkit [7827] by rjw
  • 2 edits in trunk/JavaScriptCore

Moved boolean checks prior to NSNumber checks. booleans are
NSNumbers.

Follow on to <rdar://problem/3821515> binding layer needs to convert NSNumber-bools to js type boolean not number.

Reviewed by John.

  • bindings/objc/objc_utility.mm: (KJS::Bindings::convertObjcValueToValue):
2:31 PM Changeset in webkit [7826] by rjw
  • 8 edits in trunk/WebCore

Added support for -apple-dashboard-region:none. And fixed
a few computed style problems.

Fixed <rdar://problem/3833532> -apple-dashboard-region: none; is needed
Reviewed by Hyatt.

  • khtml/css/css_computedstyle.cpp: (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
  • khtml/css/css_valueimpl.cpp: (CSSPrimitiveValueImpl::cssText):
  • khtml/css/cssparser.cpp: (CSSParser::parseValue): (CSSParser::parseDashboardRegions):
  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::applyProperty):
  • khtml/rendering/render_style.cpp: (RenderStyle::noneDashboardRegions):
  • khtml/rendering/render_style.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::dashboardRegionsDictionary):
1:14 AM Changeset in webkit [7825] by hyatt
  • 2 edits in trunk/WebCore/khtml/rendering

Make the review fixes from kocienda's review.

1:04 AM Changeset in webkit [7824] by hyatt
  • 13 edits in trunk

Rework block layout to clean it up and simplify it (r=kocienda).

Also fixing the style sharing bug (r=mjs).

  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::MarginInfo::MarginInfo): (khtml::RenderBlock::layoutBlock): (khtml::RenderBlock::adjustPositionedBlock): (khtml::RenderBlock::adjustFloatingBlock): (khtml::RenderBlock::handleSpecialChild): (khtml::RenderBlock::handleFloatingOrPositionedChild): (khtml::RenderBlock::handleCompactChild): (khtml::RenderBlock::insertCompactIfNeeded): (khtml::RenderBlock::handleRunInChild): (khtml::RenderBlock::collapseMargins): (khtml::RenderBlock::clearFloatsIfNeeded): (khtml::RenderBlock::estimateVerticalPosition): (khtml::RenderBlock::determineHorizontalPosition): (khtml::RenderBlock::setCollapsedBottomMargin): (khtml::RenderBlock::adjustChildIfOverhangingFloatsExist): (khtml::RenderBlock::handleBottomOfBlock): (khtml::RenderBlock::layoutBlockChildren): (khtml::RenderBlock::getAbsoluteRepaintRectIncludingFloats): (khtml::RenderBlock::addOverHangingFloats):
  • khtml/rendering/render_block.h: (khtml::RenderBlock::maxTopMargin): (khtml::RenderBlock::maxBottomMargin): (khtml::RenderBlock::CompactInfo::compact): (khtml::RenderBlock::CompactInfo::block): (khtml::RenderBlock::CompactInfo::matches): (khtml::RenderBlock::CompactInfo::clear): (khtml::RenderBlock::CompactInfo::set): (khtml::RenderBlock::CompactInfo::CompactInfo): (khtml::RenderBlock::MarginInfo::setAtTopOfBlock): (khtml::RenderBlock::MarginInfo::setAtBottomOfBlock): (khtml::RenderBlock::MarginInfo::clearMargin): (khtml::RenderBlock::MarginInfo::setSelfCollapsingBlockClearedFloat): (khtml::RenderBlock::MarginInfo::setTopQuirk): (khtml::RenderBlock::MarginInfo::setBottomQuirk): (khtml::RenderBlock::MarginInfo::setDeterminedTopQuirk): (khtml::RenderBlock::MarginInfo::setPosMargin): (khtml::RenderBlock::MarginInfo::setNegMargin): (khtml::RenderBlock::MarginInfo::setPosMarginIfLarger): (khtml::RenderBlock::MarginInfo::setNegMarginIfLarger): (khtml::RenderBlock::MarginInfo::setMargin): (khtml::RenderBlock::MarginInfo::atTopOfBlock): (khtml::RenderBlock::MarginInfo::canCollapseWithTop): (khtml::RenderBlock::MarginInfo::canCollapseWithBottom): (khtml::RenderBlock::MarginInfo::canCollapseTopWithChildren): (khtml::RenderBlock::MarginInfo::canCollapseBottomWithChildren): (khtml::RenderBlock::MarginInfo::selfCollapsingBlockClearedFloat): (khtml::RenderBlock::MarginInfo::quirkContainer): (khtml::RenderBlock::MarginInfo::determinedTopQuirk): (khtml::RenderBlock::MarginInfo::topQuirk): (khtml::RenderBlock::MarginInfo::bottomQuirk): (khtml::RenderBlock::MarginInfo::posMargin): (khtml::RenderBlock::MarginInfo::negMargin): (khtml::RenderBlock::MarginInfo::margin):
  • khtml/rendering/render_box.cpp: (RenderBox::calcAbsoluteVertical):
  • khtml/rendering/render_box.h: (khtml::RenderBox::marginTop): (khtml::RenderBox::marginBottom): (khtml::RenderBox::marginLeft): (khtml::RenderBox::marginRight):
  • khtml/rendering/render_image.cpp: (RenderImage::setImage):
  • khtml/rendering/render_object.cpp: (RenderObject::sizesToMaxWidth):
  • khtml/rendering/render_object.h: (khtml::RenderObject::collapsedMarginTop): (khtml::RenderObject::collapsedMarginBottom): (khtml::RenderObject::maxTopMargin): (khtml::RenderObject::maxBottomMargin): (khtml::RenderObject::marginTop): (khtml::RenderObject::marginBottom): (khtml::RenderObject::marginLeft): (khtml::RenderObject::marginRight):
  • khtml/rendering/render_text.h: (khtml::RenderText::marginLeft): (khtml::RenderText::marginRight):
  • khtml/xml/dom_elementimpl.cpp: (ElementImpl::recalcStyle):

Oct 12, 2004:

5:09 PM Changeset in webkit [7823] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by John

Fix for this bug:

<rdar://problem/3836158> REGRESSION (Mail): command-right-arrow moves to beginning of next line

  • khtml/editing/selection.cpp: (khtml::endOfLastRunAt): Do not let the end of the last run on a line be a BR. This will make it seem like the run ends on the next line.
4:25 PM Changeset in webkit [7822] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/3836986> Delete code removes elements of table structure; can result in very broken-looking web pages

  • khtml/editing/htmlediting.cpp: (khtml::isTableStructureNode): New helper. Determines whether a node is a table cell, row, section, or column. (khtml::CompositeEditCommand::removeFullySelectedNode): New helper that recurses into elements of table structure when doing deletes, rather than deleting the structure elements themselves. (khtml::DeleteSelectionCommand::moveNodesAfterNode): Do not move content between elements of table structure. We may want to revisit this some day, but this seems like the best behavior to me now. (khtml::DeleteSelectionCommand::doApply): Call removeFullySelectedNode instead of removeNode where needed.
  • khtml/editing/htmlediting.h: Add declarations for new functions.
4:24 PM Changeset in webkit [7821] by rjw
  • 4 edits in trunk/WebKit

WebKit:

Fixed <rdar://problem/3829705> Need to remove filling w/ transparency when not drawing backgroundy.

Reviewed by Ken.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _transparentBackground]): (-[WebHTMLView _setTransparentBackground:]): (-[WebHTMLView drawRect:]):
  • WebView.subproj/WebHTMLViewInternal.h:
  • WebView.subproj/WebHTMLViewPrivate.h:

WebBrowser:

As part of fix <rdar://problem/3829705> Need to remove filling w/ transparency when not drawing backgroundy, we can no longer rely on WebHTMLView filling with transparency, so added additional flag to indicate that we should.

  • Debug/DebugUtilities.m: (-[BrowserDocument toggleTransparentWindow:]):
  • LocationChangeHandler.m: Removed #define to prevent console spew.
3:43 PM Changeset in webkit [7820] by rjw
  • 9 edits in trunk

JavaScriptCore

Fixed access to DOM object via WebScriptObject API.
The execution context for DOM objects wasn't being found.
<rdar://problem/3831372> The valueForKey method for @"offsetLeft" on a paragraph element causes a crash.

Reviewed by Chris.

  • bindings/objc/WebScriptObject.mm: (_didExecute): (-[WebScriptObject KJS::Bindings::]): (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]): (-[WebScriptObject setValue:forKey:]): (-[WebScriptObject valueForKey:]): (-[WebScriptObject stringRepresentation]):
  • bindings/objc/WebScriptObjectPrivate.h:

WebCore:

Fixed access to DOM object via WebScriptObject API.
The execution context for DOM objects wasn't being found.
<rdar://problem/3831372> The valueForKey method for @"offsetLeft" on a paragraph element causes a crash.
Reviewed by Chris

Fixed <rdar://problem/3831063> regions use left offset instead of top offset
Reviewed by John

  • khtml/khtml_part.h:
  • khtml/rendering/render_object.cpp: (RenderObject::addDashboardRegions):
  • kwq/DOM.mm: (-[DOMNode isContentEditable]): (-[DOMNode KJS::Bindings::]):
  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::executionContextForDOM):

WebBrowser:

Added debugging code (disable) to assist in debugging DOM/WebScriptObjects.

Reviewed by Chris.

  • LocationChangeHandler.m: (-[Logger logMessage:]): (-[LocationChangeHandler webView:locationChangeDone:forDataSource:]):
3:25 PM Changeset in webkit [7819] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/3834779> Mail crashes when editing HTML message - khtml::Selection::layout()

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::styleForSelectionStart): Table code seems to be more robust when the call to insert our style-checking node is done with an appendChild rather than an insertBefore. Note that this table-related problem was exposed by fixing Selection::layout(), which I did yesterday. This change simply improves things even more so that we do not crash in the scenario described in the bug.

Oct 11, 2004:

10:49 AM Changeset in webkit [7818] by kocienda
  • 4 edits in trunk/WebCore

Reviewed by John

This is a partial fix to this bug:

<rdar://problem/3832886> increase quote level on new mail document leads to immediate
crash in caret painting code

To eliminate the bad behavior for good, I have done some investigations in Mail code,
and I have sent a suggested code change on to Grant. Basically, Mail can't add empty
blocks (like blockquote elements used for quoting) to documents without giving those
blocks some content (so they have a height).

I added some other crash protections below.

  • khtml/editing/selection.cpp: (khtml::Selection::layout): Check for non-null position after calls to VisiblePosition, since the VisiblePosition constructors may fail to find a visible spot in the document. Also, add a couple position-has-renderer assertion checks.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::styleForSelectionStart): Take out pos.isNotNull() assertion since VisiblePosition may not yield a position. This assertion is a holdover from before we had VisiblePosition. (KWQKHTMLPart::fontForSelection): Rearrange the code a little to deal with possible null results from calls to helpers.
10:34 AM Changeset in webkit [7817] by darin
  • 2 edits in trunk/WebCore

Reviewed by John.

  • fixed <rdar://problem/3834230> empty table can result in division by 0
  • khtml/rendering/render_table.cpp: (RenderTableSection::layoutRows): Added 0 check; rolled in from KDE.
10:20 AM Changeset in webkit [7816] by cblu
  • 2 edits in trunk/WebKit

Fixed: <rdar://problem/3802039> 8A259: Can't use Grab services to grab selection from screen

Reviewed by john.

  • WebView.subproj/WebHTMLView.m: (+[WebHTMLView initialize]): register service "return types" which are types that can be inserted into a WebView (-[WebHTMLView writeSelectionToPasteboard:types:]): service protocol method, be sure to only write specified types (-[WebHTMLView readSelectionFromPasteboard:]): new, service protocol method, insert types (-[WebHTMLView validRequestorForSendType:returnType:]): moved, handle return types
10:13 AM Changeset in webkit [7815] by darin
  • 2 adds in trunk/LayoutTests/fast/forms

Added layout test for <input> value bug I just fixed.

10:10 AM Changeset in webkit [7814] by darin
  • 3 edits in trunk/WebCore

Reviewed by John.

  • fixed <rdar://problem/3818712> form checkbox value property is read only

The underlying problem was that we were storing two separate values for all
form elements; one for the value property (JavaScript) and the other for the
value attribute (DOM). This is a good idea for text input, but not for other types.

  • khtml/html/html_formimpl.h: Changed setValue to take a const DOMString reference. Added private storesValueSeparateFromAttribute function.
  • khtml/html/html_formimpl.cpp: (DOM::HTMLInputElementImpl::setType): Handle type changes, including detaching and re-attaching if type changed, and moving value from m_value to ATTR_VALUE and vice versa. (DOM::HTMLInputElementImpl::type): Added a case for ISINDEX and moved the default out of the switch so that we will get a warning if a type is left out. (DOM::HTMLInputElementImpl::parseHTMLAttribute): Tweaked comment format. (DOM::HTMLInputElementImpl::reset): Changed to only nuke the value if the value property is stored separately from the attribute. Otherwise, we just want to lave it alone (DOM::HTMLInputElementImpl::value): Changed to always use m_value if it's not null, then fall back on the attribute, and finally fall back to the "on" for the checkbox only if both are null. (DOM::HTMLInputElementImpl::setValue): Changed to set the attribute unless the value property is supposed to be stored separate from the attribute. (DOM::HTMLInputElementImpl::storesValueSeparateFromAttribute): Added. Returns true for text-type input elements, and false for the others.
9:38 AM Changeset in webkit [7813] by darin
  • 2 edits in trunk/WebKit

Reviewed by John.

  • fixed <rdar://problem/3834130> nil-object-in-dictionary exception seen in -[WebView _elementAtWindowPoint:]
  • WebView.subproj/WebView.m: (-[WebView _elementAtWindowPoint:]): Added a check for nil frame.
9:34 AM Changeset in webkit [7812] by darin
  • 2 edits in trunk/WebCore

Reviewed by John.

  • fixed <rdar://problem/3296652> checkbox input type does not respond to onchange
  • khtml/rendering/render_form.cpp: (RenderFormElement::updateFromElement): Some new code, commented out, for form element colors. (RenderCheckBox::slotStateChanged): Added call to onChange.
9:28 AM Changeset in webkit [7811] by darin
  • 2 edits in trunk/WebKit

Reviewed by John.

  • fixed <rdar://problem/3834166> <input type=file> sends onchange even when the same file is chosen twice
  • WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton chooseFilename:]): Do nothing if filename is the same as before.
9:04 AM Changeset in webkit [7810] by kocienda
  • 35 edits in trunk

WebCore:

Reviewed by Darin

Finish selection affinity implementation. This includes code to set the
affinity correctly when clicking with the mouse, and clearing the
affinity when altering the selection using any of the Selection object
mutation functions.

Each instance of the positionForCoordinates, inlineBox and caretRect
functions have been changed to include an EAffinity argument to give results
which take this bit into account.

  • khtml/editing/selection.cpp: (khtml::Selection::init): Default affinity is now UPSTREAM, to match AppKit. (khtml::Selection::modifyAffinity): New function to compute affinity based on modification constants. (khtml::Selection::moveTo): Reset affinity to UPSTREAM. (khtml::Selection::modifyExtendingRightForward): Ditto. (khtml::Selection::modifyMovingRightForward): Ditto. (khtml::Selection::modifyExtendingLeftBackward): Ditto. (khtml::Selection::modifyMovingLeftBackward): Ditto. (khtml::Selection::modify): Support saving, restoring, and then calculating new affinity value as needed. (khtml::Selection::xPosForVerticalArrowNavigation): (khtml::Selection::clear): Reset affinity to UPSTREAM. (khtml::Selection::setBase): Ditto. (khtml::Selection::setExtent): Ditto. (khtml::Selection::setBaseAndExtent): Ditto. (khtml::Selection::layout): Pass affinity to caretRect(). (khtml::Selection::validate): Pass along affinity parameter to new functions that require it. (khtml::startOfFirstRunAt): Changed the way that the y-coordinate search is done, to keep this code working with changes made in selectionForLine(). (khtml::endOfLastRunAt): Ditto. (khtml::selectionForLine): Make this function work for all renderers, not just text renderers.
  • khtml/editing/selection.h: (khtml::operator==): Consider affinity in equality check.
  • khtml/editing/visible_units.cpp: (khtml::previousLinePosition): Pass affinity argument to function so it can take this information into account while processing. (khtml::nextLinePosition): Ditto. (khtml::previousParagraphPosition): Ditto. (khtml::nextParagraphPosition): Ditto.
  • khtml/editing/visible_units.h: Ditto, for each of the functions listed.
  • khtml/khtml_events.cpp: (khtml::MouseEvent::offset): Rework code to remove dependence on NodeImpl::positionForCoordinates, as this function is being removed.
  • khtml/khtml_part.cpp: (KHTMLPart::isPointInsideSelection): Ditto. (KHTMLPart::selectClosestWordFromMouseEvent): Ditto. (KHTMLPart::handleMousePressEventTripleClick): Ditto. (KHTMLPart::handleMousePressEventSingleClick): Ditto. Plus, pass affinity argument in call to positionForCoordinates, and set resulting affinity on the selection. (KHTMLPart::handleMouseMoveEventSelection): Rework code to remove dependence on NodeImpl::positionForCoordinates, as this function is being removed. (KHTMLPart::khtmlMouseReleaseEvent): Ditto.
  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::positionForCoordinates): Now takes an affinity argument.
  • khtml/rendering/render_block.h:
  • khtml/rendering/render_box.cpp: (RenderBox::caretRect): Ditto.
  • khtml/rendering/render_box.h:
  • khtml/rendering/render_br.cpp: (RenderBR::positionForCoordinates): Ditto. (RenderBR::caretRect): Ditto. (RenderBR::inlineBox): Ditto.
  • khtml/rendering/render_br.h:
  • khtml/rendering/render_container.cpp: (RenderContainer::positionForCoordinates): Ditto.
  • khtml/rendering/render_container.h:
  • khtml/rendering/render_flow.cpp: (RenderFlow::caretRect): Ditto.
  • khtml/rendering/render_flow.h:
  • khtml/rendering/render_inline.cpp: (RenderInline::positionForCoordinates): Ditto.
  • khtml/rendering/render_inline.h:
  • khtml/rendering/render_object.cpp: (RenderObject::caretRect): Ditto. (RenderObject::positionForCoordinates): Ditto. (RenderObject::inlineBox): Ditto.
  • khtml/rendering/render_object.h:
  • khtml/rendering/render_replaced.cpp: (RenderReplaced::positionForCoordinates): Ditto.
  • khtml/rendering/render_replaced.h:
  • khtml/rendering/render_text.cpp: (RenderText::positionForCoordinates): Ditto. (firstRendererOnNextLine): New helper used by caretRect(). (RenderText::caretRect): Now takes an affinity argument. (RenderText::inlineBox): Ditto.
  • khtml/rendering/render_text.h:
  • khtml/xml/dom_nodeimpl.cpp: Remove positionForCoordinates helper.
  • khtml/xml/dom_nodeimpl.h: Ditto.
  • khtml/xml/dom_position.cpp: (DOM::Position::previousLinePosition): Now takes an affinity argument. (DOM::Position::nextLinePosition): Ditto.
  • khtml/xml/dom_position.h:
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge caretRectAtNode:offset:affinity:]): Ditto. (-[WebCoreBridge setSelectedDOMRange:affinity:]): Ditto. (-[WebCoreBridge _positionForPoint:]): Rework code to remove dependence on NodeImpl::positionForCoordinates, as this function is being removed.

WebKit:

Reviewed by Darin

  • WebView.subproj/WebHTMLView.m: (-[WebTextCompleteController doCompletion]): bridge call to get caret rect at a node now takes an affinity: caretRectAtNode:offset:affinity:.
8:17 AM Changeset in webkit [7809] by darin
  • 2 edits in trunk/WebCore

Reviewed by Ken.

  • fixed <rdar://problem/3670280> scroll position on overflowed textareas resets when leaving the tab
  • kwq/KWQTextArea.mm: (-[KWQTextAreaTextView becomeFirstResponder]): Scroll to reveal the text area, don't scroll to reveal the text view itself. Scrolling the text view ended up putting it at the top left, regardless of where the insertion point is.
8:08 AM Changeset in webkit [7808] by darin
  • 2 edits in trunk/WebCore

Reviewed by Ken.

  • fixed <rdar://problem/3831546> More text is copied than is visually selected

The bug here is that upstream was moving a position too far.

  • khtml/xml/dom_position.cpp: (DOM::Position::upstream): Use the "deep equivalent" node rather than the original node passed in for various checks. Also use local variables a bit more for slightly more efficiency. (DOM::Position::downstream): Ditto.
7:58 AM Changeset in webkit [7807] by kocienda
  • 1 edit in trunk/WebKit/ChangeLog

Removed stray conflict marker

7:57 AM Changeset in webkit [7806] by kocienda
  • 2 edits in trunk/WebKit

Reviewed by Chris

Fix for this bug:

<rdar://problem/3814236> REGRESSION (Mail): Can't set the color of text in Mail compose window using drag/drag from color panel

  • WebView.subproj/WebHTMLView.m: (+[WebHTMLView _insertablePasteboardTypes]): Add NSColorPboardType to list. (-[WebHTMLView _isNSColorDrag:]): New helper. Determines if drag is an NSColor drag. (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): Add a case for NSColor drags, else do what we did before. (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Add a case for NSColor drags, which creates a CSS style containing color info and calls the bridge to apply the style. Otherwise, do what we did before.
7:55 AM Changeset in webkit [7805] by darin
  • 3 edits in trunk/WebCore

Reviewed by Ken.

  • fixed <rdar://problem/3833841> adding an event listener for keypress events does not work
  • khtml/xml/dom2_eventsimpl.h: Added numEventIds and made typeToId take a const DOMString &.
  • khtml/xml/dom2_eventsimpl.cpp: (EventImpl::typeToId): Changed to use table. Added "keypress", otherwise, the same as before. (EventImpl::idToType): Changed to use table.
7:51 AM Changeset in webkit [7804] by darin
  • 2 edits in trunk/WebKit

Reviewed by Ken.

  • fixed <rdar://problem/3833848> REGRESSION (133-134): each keydown event is getting sent multiple times
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView performKeyEquivalent:]): Don't send an event through WebCore if it has already been through once.

Oct 10, 2004:

8:14 AM Changeset in webkit [7803] by sullivan
  • 3 edits in trunk/WebKit

Reviewed by Ken.

  • fixed <rdar://problem/3777253> Crash in redirect mechanism trying to display error page for bad scheme
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]): add retain/autorelease to the request returned from call to super. In this case, the return value was being dealloc'ed before being returned.
8:13 AM Changeset in webkit [7802] by sullivan
  • 2 edits in trunk/WebCore
  • fixed <rdar://problem/3664375> repro crash in -[KWQAccObject accessibilityAttributeNames]

(-[KWQAccObject accessibilityActionNames]):
check for nil m_renderer

Oct 9, 2004:

4:32 PM Changeset in webkit [7801] by darin
  • 3 edits in trunk/WebCore

Reviewed by Kevin.

  • fixed <rdar://problem/3828147> REGRESSION: textareas with wrap="off" show their contents in a thin vertical line of text
  • kwq/KWQTextArea.h: Added setTextColor and setBackgroundColor methods. This is really for another fix I'm landing later, but it does no harm to add these now.
  • kwq/KWQTextArea.mm: (-[KWQTextArea _configureTextViewForWordWrapMode]): Set the container size after changing the flag that determines if the width tracks the text view. Otherwise, we won't successfully set the width in the case where we don't want it to track the text view. This caused the bug. (-[KWQTextArea _createTextView]): Remove unneeded call to setMaxSize. The above method already does that. (-[KWQTextArea setTextColor:]): Added. (-[KWQTextArea setBackgroundColor:]): Added.
3:44 PM Changeset in webkit [7800] by darin
  • 7 edits in trunk/WebCore

Reviewed by Adele.

  • fixed <rdar://problem/3829452> REGRESSION (156-157): onload handler doesn't run on page with meta refresh of 0 duration (new Apple start page)

The fix for <rdar://problem/3773150> made it so <meta> redirects prevent tokenizing the rest of the page.
This is incorrect; the reason the JavaScript-triggered loads prevent tokenizing is that they take place
"right away" in other browsers, but that is not true of <meta> redirect. We fixed this by using a separate
call for <meta> redirect and not preventing tokenizing when that's in effect.

  • khtml/khtml_part.h: Removed userGesture parameter from scheduleRedirection. Renamed isImmediateRedirectPending to isScheduledLocationChangePending. Added scheduleLocationChange.
  • khtml/khtml_part.cpp: (KHTMLPart::openURL): Updated for new constant name. (KHTMLPart::scheduleRedirection): Removed now-unneeded userGesture parameter, and removed code that does the special case for redirection during load; a <meta> refresh can never be one of those special redirects during a load because it redirects the frame itself, not another frame. Also tightened up the logic by always stopping the redirect timer even if we aren't restarting it. (KHTMLPart::scheduleLocationChange): Added. Like scheduleRedirection, but with a different constant so we can tell it apart and always a delay of 0. The "redirection during load" case was moved in here and renamed to locationChangeScheduledDuringLoad. (KHTMLPart::isScheduledLocationChangePending): Renamed from isImmediateRedirectPending. This now returns true only for location changes and history navigation, not <meta> redirects. (KHTMLPart::scheduleHistoryNavigation): Tightened up logic to do the stop() outside the if as above, and got rid of a silly timer delay computation that always resulted in 0.
  • khtml/khtmlpart_p.h: Added a new value to the RedirectionScheduled enum for scheduleLocationChange and also renamed one of the existing values.
  • khtml/html/htmltokenizer.cpp: (HTMLTokenizer::write): Changed to use isScheduledLocationChangePending instead of isImmediateRedirectPending, because we do want to continue tokenizing if it's actually a redirect.
  • khtml/ecma/kjs_html.cpp: (KJS::HTMLDocument::putValue): Changed to call the new scheduleLocationChange instead of calling scheduleRedirection with delay of 0.
  • khtml/ecma/kjs_window.cpp: (Window::put): Ditto. (WindowFunc::tryCall): Ditto. (Location::put): Ditto. (LocationFunc::tryCall): Ditto.
3:36 PM Changeset in webkit [7799] by darin
  • 2 edits in trunk/WebCore

Reviewed by Kevin.

  • fixed <rdar://problem/3658277> REGRESSION (1.1-1.2): form submission should either not simulate a click at all or use (0,0) the way Mozilla does
  • khtml/html/html_elementimpl.cpp: (HTMLElementImpl::click): Use 0,0 for the coordinates.
3:17 PM Changeset in webkit [7798] by darin
  • 3 edits in trunk/JavaScriptCore

Reviewed by Kevin.

  • fixed <rdar://problem/3804661> REGRESSION: JavaScriptCore framework now has two init routines
  • bindings/NP_jsobject.cpp: Fixed unnecessarily-complex globals set up that was creating an init routine.
  • kjs/ustring.cpp: Changed around the UString::Rep::empty construction to not require a global constructor that creates an init routine.
2:46 PM Changeset in webkit [7797] by darin
  • 5 edits in trunk/WebCore

Reviewed by Kevin.

  • fixed <rdar://problem/3804665> REGRESSION: WebCore framework now has many init routines
  • khtml/xml/dom_nodeimpl.h: Changed anyQName declaration to not use the inline function makeId. Surprisingly, the inline function was not "constant-folded" and we ended up with a copy of the function in each file as an init routine for the framework.
  • khtml/ecma/kjs_html.cpp: (Gradient::colorStops): Get rid of initialized ColorStop globals; their constructors were showing up as init routines for the framework.
  • khtml/rendering/render_style.h: Got rid of inline initialDashboardRegions function.
  • khtml/rendering/render_style.cpp: (RenderStyle::initialDashboardRegions): Made this a normal function. When it was an inline function, the constructors for the per-file copies of the globals were showing up as init routines for the framework.
2:39 PM Changeset in webkit [7796] by darin
  • 4 adds in trunk/LayoutTests/fast/js

Added layout test for just-fixed JavaScriptCore bug.

2:30 PM Changeset in webkit [7795] by cblu
  • 2 edits in trunk

Forgot to include that I also fixed <rdar://problem/3397658> scroll wheel does not work to scroll overflow:auto/scroll/overlay areas (RSS)

2:25 PM Changeset in webkit [7794] by cblu
  • 17 edits in trunk

WebCore:

Fixed:
<rdar://problem/3625352> up and down arrow and page up/down keys don't work to scroll overflow:auto/scroll/overlay areas
<rdar://problem/3822027> REGRESSION (Mail): When selection moves out of visible area, should center as NSText does

Reviewed by hyatt, kocienda.

  • khtml/rendering/render_layer.cpp: (RenderLayer::scroll): new
  • khtml/rendering/render_layer.h:
  • khtml/rendering/render_object.cpp: (RenderObject::scroll): new
  • khtml/rendering/render_object.h:
  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::scrollOverflow): new (KWQKHTMLPart::scrollOverflowWithScrollWheelEvent): new (KWQKHTMLPart::khtmlMousePressEvent): store pressed node so we know where the focus is
  • kwq/KWQScrollBar.h:
  • kwq/KWQScrollBar.mm: (QScrollBar::setValue): return a bool (QScrollBar::scrollbarHit): ditto (QScrollBar::scroll): new
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge scrollOverflowInDirection:granularity:]): new (-[WebCoreBridge scrollOverflowWithScrollWheelEvent:]): new (-[WebCoreBridge ensureSelectionVisible]): visually center the extent of the selection

WebKit:

Fixed: <rdar://problem/3625352> up and down arrow and page up/down keys don't work to scroll overflow:auto/scroll/overlay areas

Reviewed by hyatt.

  • Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream initWithRequestURL:pluginPointer:notifyData:sendNotification:]): fixed typo in comment
  • Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): ditto
  • WebView.subproj/WebFramePrivate.h:
  • WebView.subproj/WebFrameView.m: (-[WebFrameView _bridge]): new (-[WebFrameView scrollToBeginningOfDocument:]): call the bridge to scroll, if that fails, scroll the document view (-[WebFrameView scrollToEndOfDocument:]): ditto (-[WebFrameView _pageVertically:]): ditto (-[WebFrameView _pageHorizontally:]): ditto (-[WebFrameView _scrollLineVertically:]): ditto (-[WebFrameView _scrollLineHorizontally:]): ditto
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView scrollWheel:]): call the bridge to scroll, if that fails, pass to next responder
2:22 PM Changeset in webkit [7793] by darin
  • 2 edits in trunk/JavaScriptCore

Reviewed by Kevin.

  • fixed <rdar://problem/3822618> REGRESSION (164-165): expedia.com's popup help doesn't work
  • kjs/reference.cpp: (Reference::putValue): Change so that references not found in any object work with the window object of the page the function is in, not the page of the caller. This is what all other browsers do. This code was hidden before by the "everything is defined on window object" hack in WebCore.

Oct 8, 2004:

3:27 PM Changeset in webkit [7792]
  • 25 copies
    3 deletes in tags/WebKit-125~5~4

This commit was manufactured by cvs2svn to create tag
'WebKit-125~5~4'.

3:27 PM Changeset in webkit [7791] by adele
  • 2 edits in branches/Safari-1-2-branch/WebKit

WebKit Versioning for SUPanNavy WebKit-125.5.4

3:18 PM Changeset in webkit [7790]
  • 71 copies
    2 deletes in tags/WebCore-125~8~10

This commit was manufactured by cvs2svn to create tag
'WebCore-125~8~10'.

3:18 PM Changeset in webkit [7789] by adele
  • 2 edits in branches/Safari-1-2-branch/WebCore

WebCore versioning for SUPanNavy, WebCore-125.8.10

Oct 7, 2004:

4:27 PM Changeset in webkit [7788] by adele
  • 12 edits in branches/Safari-1-2-branch

WebCore:

Reviewed by Darin.

Some of this was rolled from HEAD, and some is a new bug fix that we'll do on TOT separately.

  • fixed <rdar://problem/3827035> REGRESSION (Navy): Safari no longer works with Wachovia online banking after logging in
  • fixed <rdar://problem/3830201> REGRESSION (Navy): onload handler doesn't run on page with meta refresh (0 duration) (clone for SUPanNavy)

The fix for <rdar://problem/3773150> made it so we stopped tokenizing once an immediate redirect was pending.
For the Wachovia bug, there was a failing history.go call in the <head>; even though it did not cause any
navigation, it prevented the rest of the page from being loaded. Now we check to see if the requested history
navigation is possible, and if it's not then we continue processing the rest of the page as normal.

Another problem caused by the same fix is that <meta> redirects were preventing tokenizing in the same way.
This is incorrect; the reason the JavaScript-triggered loads prevent tokenizing is that they take place
"right away" in other browsers, but that is not true of <meta> redirect. We fixed this by using a separate
call for <meta> redirect and not preventing tokenizing when that's in effect.

  • khtml/khtml_part.h: Removed userGesture parameter from scheduleRedirection. Renamed isImmediateRedirectPending to isScheduledLocationChangePending. Added scheduleLocationChange.
  • khtml/khtml_part.cpp: (KHTMLPart::openURL): Updated for new constant name. (KHTMLPart::scheduleRedirection): Removed now-unneeded userGesture parameter, and removed code that does the special case for redirection during load; a <meta> refresh can never be one of those special redirects during a load because it redirects the frame itself, not another frame. Also tightened up the logic by always stopping the redirect timer even if we aren't restarting it. (KHTMLPart::scheduleLocationChange): Added. Like scheduleRedirection, but with a different constant so we can tell it apart and always a delay of 0. The "redirection during load" case was moved in here and renamed to locationChangeScheduledDuringLoad. (KHTMLPart::isScheduledLocationChangePending): Renamed from isImmediateRedirectPending. This now returns true only for location changes and history navigation, not <meta> redirects. (KHTMLPart::scheduleHistoryNavigation): Added a check of canGoBackOrForward across bridge so we don't set up a history navigation that will just fail later. This fixes the Wachovia bug. Also tightened up logic to do the stop() outside the if as above, and got rid of a silly timer delay computation that always resulted in 0.
  • khtml/khtmlpart_p.h: Added a new value to the RedirectionScheduled enum for scheduleLocationChange and also renamed one of the existing values.
  • khtml/html/htmltokenizer.cpp: (HTMLTokenizer::write): Changed to use isScheduledLocationChangePending instead of isImmediateRedirectPending, because we do want to continue tokenizing if it's actually a redirect.
  • khtml/ecma/kjs_html.cpp: (KJS::HTMLDocument::putValue): Changed to call the new scheduleLocationChange instead of calling scheduleRedirection with delay of 0.
  • khtml/ecma/kjs_window.cpp: (Window::put): Ditto. (WindowFunc::tryCall): Ditto. (Location::put): Ditto. (LocationFunc::tryCall): Ditto.
  • kwq/KWQKHTMLPart.h: Added canGoBackOrForward.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::canGoBackOrForward): Added. Calls across bridge to do the real work.
  • kwq/WebCoreBridge.h: Added canGoBackOrForward.

WebKit:

Reviewed by Darin.

  • roll in canGoBackOrForward method from HEAD; needed for WebCore bug fix
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge canGoBackOrForward:]): Added.
3:05 PM Changeset in webkit [7787] by rjw
  • 1 edit in trunk/JavaScriptCore/kjs/object.cpp

Fixed build error.

2:30 PM Changeset in webkit [7786] by rjw
  • 3 edits in trunk/JavaScriptCore

Added simple JavaScript call tracing. Very useful for
debugging complex pages.

Tracing is only available in development builds and is
enabled by:

(gdb) set traceJavaScript = 1

or programatically

setTraceJavaScript(true)

Function, args, and return values are printed to console. Very
verbose.

Reviewed by Ken.

  • kjs/function_object.cpp: (FunctionProtoFuncImp::call):
  • kjs/object.cpp: (KJS::Object::call):

Oct 6, 2004:

7:03 PM Changeset in webkit [7785] by hyatt
  • 6 edits in trunk/WebCore

Back out style sharing perf fix.

  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::locateCousinList): (khtml::CSSStyleSelector::canShareStyleWithElement): (khtml::CSSStyleSelector::locateSharedStyle):
  • khtml/css/cssstyleselector.h:
  • khtml/html/html_elementimpl.h: (DOM::HTMLElementImpl::inlineStyleDecl):
  • khtml/xml/dom_elementimpl.cpp: (ElementImpl::recalcStyle):
  • khtml/xml/dom_elementimpl.h:
4:27 PM Changeset in webkit [7784] by hyatt
  • 1 edit in trunk/WebCore/khtml/css/cssstyleselector.cpp

Really bring the new code in line with the old style sharing code.

9:50 AM Changeset in webkit [7783]
  • 3 copies in tags/Safari-166

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

9:50 AM Changeset in webkit [7782] by vicki
  • 1 edit in trunk/JavaScriptCore/JavaScriptCore.pbproj/project.pbxproj

reversion JSC, for the -Wno-long-double changes

9:39 AM Changeset in webkit [7781] by vicki
  • 1 edit in trunk/JavaScriptCore/JavaScriptCore.pbproj/project.pbxproj

Add -Wno-long-double back to our warning flags. Without it, the x86 build fails.

Oct 5, 2004:

10:52 PM Changeset in webkit [7780] by vicki
  • 3 edits in trunk

versioning for TOT, Safari 2.0 (v167u)

10:13 PM Changeset in webkit [7779] by vicki
  • 6 edits in trunk

Safari-166 stamp for everything except WebBrowser. In these projects, CFBundleShortVersionString matches CFBundleVersion (166 for both).

6:43 PM Changeset in webkit [7778] by hyatt
  • 2 edits in trunk/WebCore

Fix a bug in the iteration of locateCousinList and clean up the style sharing stats code.

Reviewed by NOBODY (OOPS!).

  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::locateCousinList): (khtml::CSSStyleSelector::elementsCanShareStyle): (khtml::CSSStyleSelector::locateSharedStyle): (khtml::CSSStyleSelector::styleForElement):
4:19 PM Changeset in webkit [7777] by rjw
  • 5 edits in trunk/JavaScriptCore

JavaScriptCore:

Fixed <rdar://problem/3819234> NPN_SetException (and throwException:) isn't implemented

Reviewed by Chris.

  • bindings/NP_jsobject.cpp: (_NPN_SetException):
  • bindings/npruntime.cpp: (_NPN_SetExceptionWithUTF8):
  • bindings/objc/WebScriptObject.mm: (+[WebScriptObject throwException:]):
  • kjs/internal.h: (KJS::InterpreterImp::context):

WebBrowser:

Added debugging support for:

Fixed <rdar://problem/3819234> NPN_SetException (and throwException:) isn't implemented

Logging is not enabled in either development or deployment build.

Reviewed by Chris.

  • LocationChangeHandler.m: (+[Logger isSelectorExcludedFromWebScript:]): (-[Logger logMessage:]): (-[LocationChangeHandler webView:windowScriptObjectAvailable:]): (-[LocationChangeHandler webView:locationChangeDone:forDataSource:]):
4:06 PM Changeset in webkit [7776] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Hyatt

  • khtml/rendering/bidi.cpp: (khtml::RenderBlock::computeHorizontalPositionsForLine): Fix coding mistake that broke layout tests involving compacts.
4:02 PM Changeset in webkit [7775] by hyatt
  • 5 edits in trunk/WebCore

Fix style sharing optimization to be fast again. Go back to using pointer comparisons when looking for
cousins to share.

Reviewed by darin

  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::locateCousinList):
  • khtml/rendering/render_object.cpp: (RenderObject::setStyleInternal):
  • khtml/rendering/render_object.h:
  • khtml/xml/dom_elementimpl.cpp: (ElementImpl::recalcStyle):
3:45 PM Changeset in webkit [7774] by cblu
  • 3 edits in trunk/WebKit

Fixed: <rdar://problem/3827002> assertion failure in WebBaseNetscapePluginStream on abc.go.com

Reviewed by rjw.

  • Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream initWithRequestURL:pluginPointer:notifyData:sendNotification:]): avoid assertion failure in dealloc by temporarily setting isTerminated to YES in case we are released in this method
  • Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): ditto
3:19 PM Changeset in webkit [7773] by hyatt
  • 3 edits in trunk/WebCore

Fix lists so that they properly participate in line layout as though they are text (when text bullets are
used) and as images (when image bullets are used).

Reviewed by kocienda

  • khtml/rendering/render_list.cpp: (RenderListMarker::createInlineBox):
  • khtml/rendering/render_list.h: (khtml::ListMarkerBox:::InlineBox): (khtml::ListMarkerBox::isText):
3:14 PM Changeset in webkit [7772] by sullivan
  • 2 edits in trunk/WebKit
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]): initialize "arguments" var to nil to satisfy compiler on deployment build.
2:38 PM Changeset in webkit [7771] by rjw
  • 2 edits in trunk/JavaScriptCore

Fixed <rdar://problem/3821515> binding layer needs to convert NSNumber-bools to js type boolean not number

Reviewed by Ken.

  • bindings/objc/objc_utility.mm: (KJS::Bindings::convertObjcValueToValue):
2:16 PM Changeset in webkit [7770] by rjw
  • 6 edits in trunk/WebKit

Fixed <rdar://problem/3825442> first click lost for Dashboard
Allow dashboard to force acceptsFirstMouse:

Reviewed by Chris.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView acceptsFirstMouse:]):
  • WebView.subproj/WebView.m: (-[WebView _dashboardBehavior:]):
  • WebView.subproj/WebViewInternal.h:
  • WebView.subproj/WebViewPrivate.h:
  • WebCoreSupport.subproj/WebImageRenderer.h: Comment change only
2:08 PM Changeset in webkit [7769] by hyatt
  • 1 edit in trunk/WebCore/khtml/rendering/render_box.cpp

Back out the assertion.

1:42 PM Changeset in webkit [7768] by cblu
  • 7 edits in trunk/WebKit

Fixed: <rdar://problem/3760920> Need to record plugin view instances

Reviewed by rjw.

  • Plugins.subproj/WebPluginController.h:
  • Plugins.subproj/WebPluginController.m: (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]): new, creates plug-in view and adds it to global list (+[WebPluginController isPlugInView:]): new, checks if the plug-in view is in the global list (-[WebPluginController destroyAllPlugins]): remove the plug-in from the global list
  • Plugins.subproj/WebPluginDocumentView.m: (-[WebPluginDocumentView setDataSource:]): call [WebPluginController plugInViewWithArguments:fromPluginPackage:]
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]): ditto
  • WebView.subproj/WebFrame.m: (-[WebFrame _reloadForPluginChanges]): call [WebPluginController isPlugInView:]
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView addSubview:]): ditto
1:37 PM Changeset in webkit [7767] by kocienda
  • 5 edits in trunk/WebCore

Reviewed by Darin

Recent checkin adding upstreamDeepEquivalent had it backwards. The helper
we want is downstreamDeepEquivalent, as the deepEquivalent function returns
an upstream position.

  • khtml/editing/selection.cpp: (khtml::Selection::layout): DOWNSTREAM case now uses downstreamDeepEquivalent. UPSTREAM uses deepEquivalent.
  • khtml/editing/visible_position.cpp: (khtml::VisiblePosition::downstreamDeepEquivalent): New helper, replacing upstreamDeepEquivalent.
  • khtml/editing/visible_position.h
1:25 PM Changeset in webkit [7766] by hyatt
  • 28 edits in trunk/WebCore

New selection gap-filling architecture. Makes the gap-filling much more like NSTextView and puts the responsibility
for gap-filling in the block. Fixes numerous bugs with selection drawing including bidi issues, incorrect old
horizontal gap filling, and selection performance issues.

Reviewed by kocienda

  • khtml/html/html_imageimpl.cpp: (HTMLImageLoader::notifyFinished):
  • khtml/misc/khtmllayout.h: (khtml::GapRects::left): (khtml::GapRects::center): (khtml::GapRects::right): (khtml::GapRects::uniteLeft): (khtml::GapRects::uniteCenter): (khtml::GapRects::uniteRight): (khtml::GapRects::unite): (khtml::GapRects::operator QRect): (khtml::GapRects::operator==): (khtml::GapRects::operator!=):
  • khtml/rendering/font.cpp: (Font::drawHighlightForText):
  • khtml/rendering/font.h:
  • khtml/rendering/render_block.cpp: (khtml:::RenderFlow): (khtml::RenderBlock::removeChild): (khtml::RenderBlock::paintObject): (khtml::RenderBlock::paintEllipsisBoxes): (khtml::RenderBlock::setSelectionState): (khtml::RenderBlock::shouldPaintSelectionGaps): (khtml::RenderBlock::isSelectionRoot): (khtml::RenderBlock::selectionGapRects): (khtml::RenderBlock::paintSelection): (khtml::RenderBlock::fillSelectionGaps): (khtml::RenderBlock::fillInlineSelectionGaps): (khtml::RenderBlock::fillBlockSelectionGaps): (khtml::RenderBlock::fillHorizontalSelectionGap): (khtml::RenderBlock::fillVerticalSelectionGap): (khtml::RenderBlock::fillLeftSelectionGap): (khtml::RenderBlock::fillRightSelectionGap): (khtml::RenderBlock::getHorizontalSelectionGapInfo): (khtml::RenderBlock::leftSelectionOffset): (khtml::RenderBlock::rightSelectionOffset):
  • khtml/rendering/render_block.h: (khtml::RenderBlock::hasSelectedChildren): (khtml::RenderBlock::selectionState): (khtml::RenderBlock::BlockSelectionInfo::BlockSelectionInfo): (khtml::RenderBlock::BlockSelectionInfo::rects): (khtml::RenderBlock::BlockSelectionInfo::state): (khtml::RenderBlock::BlockSelectionInfo::block): (khtml::RenderBlock::selectionRect):
  • khtml/rendering/render_box.cpp: (RenderBox::position):
  • khtml/rendering/render_br.cpp: (RenderBR::inlineBox):
  • khtml/rendering/render_br.h: (khtml::RenderBR::selectionRect): (khtml::RenderBR::paint):
  • khtml/rendering/render_canvas.cpp: (RenderCanvas::selectionRect): (RenderCanvas::setSelection):
  • khtml/rendering/render_canvasimage.cpp: (RenderCanvasImage::paint):
  • khtml/rendering/render_image.cpp: (RenderImage::paint):
  • khtml/rendering/render_image.h:
  • khtml/rendering/render_line.cpp: (khtml::InlineBox::nextLeafChild): (khtml::InlineBox::prevLeafChild): (khtml::InlineBox::selectionState): (khtml::InlineFlowBox::addToLine): (khtml::InlineFlowBox::firstLeafChild): (khtml::InlineFlowBox::lastLeafChild): (khtml::InlineFlowBox::firstLeafChildAfterBox): (khtml::InlineFlowBox::lastLeafChildBeforeBox): (khtml::InlineFlowBox::selectionState): (khtml::RootInlineBox::fillLineSelectionGap): (khtml::RootInlineBox::setHasSelectedChildren): (khtml::RootInlineBox::selectionState): (khtml::RootInlineBox::firstSelectedBox): (khtml::RootInlineBox::lastSelectedBox): (khtml::RootInlineBox::selectionTop): (khtml::RootInlineBox::block):
  • khtml/rendering/render_line.h: (khtml::RootInlineBox::RootInlineBox): (khtml::RootInlineBox::hasSelectedChildren): (khtml::RootInlineBox::selectionHeight):
  • khtml/rendering/render_object.cpp: (RenderObject::selectionColor):
  • khtml/rendering/render_object.h: (khtml::RenderObject::): (khtml::RenderObject::selectionState): (khtml::RenderObject::setSelectionState): (khtml::RenderObject::selectionRect): (khtml::RenderObject::canBeSelectionLeaf): (khtml::RenderObject::hasSelectedChildren): (khtml::RenderObject::hasDirtySelectionState): (khtml::RenderObject::setHasDirtySelectionState): (khtml::RenderObject::shouldPaintSelectionGaps): (khtml::RenderObject::SelectionInfo::SelectionInfo):
  • khtml/rendering/render_replaced.cpp: (RenderReplaced::RenderReplaced): (RenderReplaced::shouldPaint): (RenderReplaced::selectionRect): (RenderReplaced::setSelectionState): (RenderReplaced::selectionColor): (RenderWidget::paint): (RenderWidget::setSelectionState):
  • khtml/rendering/render_replaced.h: (khtml::RenderReplaced::canBeSelectionLeaf): (khtml::RenderReplaced::selectionState):
  • khtml/rendering/render_text.cpp: (InlineTextBox::checkVerticalPoint): (InlineTextBox::isSelected): (InlineTextBox::selectionState): (InlineTextBox::selectionRect): (InlineTextBox::paintSelection): (InlineTextBox::paintMarkedTextBackground): (RenderText::paint): (RenderText::setSelectionState): (RenderText::selectionRect):
  • khtml/rendering/render_text.h: (khtml::RenderText::canBeSelectionLeaf):
  • kwq/KWQPainter.h:
  • kwq/KWQPainter.mm: (QPainter::drawHighlightForText):
  • kwq/KWQPtrDict.h: (QPtrDictIterator::toFirst):
  • kwq/KWQRect.mm: (QRect::unite):
  • kwq/WebCoreTextRenderer.h:
  • kwq/WebCoreTextRendererFactory.mm: (WebCoreInitializeEmptyTextGeometry):
1:11 PM Changeset in webkit [7765] by hyatt
  • 2 edits in trunk/WebKit

Fix to make selection more like NSTextView. All gap painting is now done by WebCore, so WebKit no longer
needs to try to fill gaps around text.

Reviewed by kocienda

  • WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]): (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]):
1:05 PM Changeset in webkit [7764] by kocienda
  • 9 edits in trunk/WebCore

Reviewed by Darin

Use the new CSS properties I added with my previous check-in. Also makes
some changes to caret positioning and drawing to make the proper editing
end-of-line behavior work correctly.

  • khtml/editing/selection.cpp: (khtml::Selection::layout): Caret drawing now takes affinity into account when deciding where to paint the caret (finally!).
  • khtml/editing/visible_position.cpp: (khtml::VisiblePosition::previousVisiblePosition): Move off Position::rendersInDifferentPosition to determine the result. Use a simpler test involving comparisons between downstream positions while iterating. This is cheaper to do and easier to understand. (khtml::VisiblePosition::nextVisiblePosition): Ditto.
  • khtml/rendering/bidi.cpp: (khtml::BidiIterator::current): Do not return non-breaking spaces for empty text renderers and for non-text renderers. Return a null Qchar instead. Returning non-breaking spaces was causing errors when the new -khtml-nbsp-mode was set to "space". (khtml::RenderBlock::computeHorizontalPositionsForLine): Shrink line boxes that contain with more spaces than can fit on the end of a line. (khtml::RenderBlock::skipWhitespace): Factor this out from findNextLineBreak. (khtml::RenderBlock::findNextLineBreak): Use new skipWhitespace function. Add in code to check and use new CSS properties.
  • khtml/rendering/break_lines.cpp: (khtml::isBreakable): Consider a non-breaking space a breakable character based on setting of new -khtml-nbsp-mode property.
  • khtml/rendering/break_lines.h: Ditto.
  • khtml/rendering/render_block.h: Declare skipWhitespace function.
  • khtml/rendering/render_text.cpp: (RenderText::caretRect): Do not draw the caret beyond the right edge of the window when in white-space normal mode.
11:24 AM Changeset in webkit [7763] by kocienda
  • 15 edits in trunk/WebCore

Reviewed by Darin

Fix for these bugs:

In this patch, I add two new CSS properties and their associated behavior.
This is to support end-of-line and word-wrapping features that match the
conventions of text editors.

There are also some other small changes here which begin to lay the groundwork
for using these new properties to bring about the desired editing behavior.

  • khtml/css/cssparser.cpp: (CSSParser::parseValue): Add support for new CSS properties.
  • khtml/css/cssproperties.c: Generated file.
  • khtml/css/cssproperties.h: Ditto.
  • khtml/css/cssproperties.in: Add new properties.
  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::applyProperty): Add support for new CSS properties.
  • khtml/css/cssvalues.c: Generated file.
  • khtml/css/cssvalues.h: Ditto.
  • khtml/css/cssvalues.in: Add support for new CSS properties.
  • khtml/editing/visible_position.cpp: (khtml::VisiblePosition::upstreamDeepEquivalent): Added new helper.
  • khtml/editing/visible_position.h:
  • khtml/rendering/render_box.cpp: (RenderBox::deleteLineBoxWrapper): Zero out inlineBoxWrapper.
  • khtml/rendering/render_replaced.cpp: (RenderWidget::detach): Zero out inlineBoxWrapper.
  • khtml/rendering/render_style.cpp: (StyleCSS3InheritedData): (StyleCSS3InheritedData::operator==): Add support for new CSS properties. (RenderStyle::diff): Ditto.
  • khtml/rendering/render_style.h: (khtml::RenderStyle::nbspMode): Ditto. (khtml::RenderStyle::khtmlLineBreak): Ditto. (khtml::RenderStyle::setNBSPMode): Ditto. (khtml::RenderStyle::setKHTMLLineBreak): Ditto. (khtml::RenderStyle::initialNBSPMode): Ditto. (khtml::RenderStyle::initialKHTMLLineBreak): Ditto.
8:44 AM Changeset in webkit [7762] by darin
  • 2 edits in trunk/WebKit

Reviewed by John.

  • fixed <rdar://problem/3577255> custom file icon shows up upside down in <input type=file>
  • WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton setFilename:]): Added a call to setFlipped that fixes the problem, even though I don't know why.
8:43 AM Changeset in webkit [7761] by darin
  • 2 edits in trunk/WebCore

Reviewed by John.

  • fixed <rdar://problem/3673150> Pasting string from clipboard that is longer than input box will accept fails rather than truncating
  • kwq/KWQTextField.mm: (-[KWQTextFieldFormatter isPartialStringValid:proposedSelectedRange:originalString:originalSelectedRange:errorDescription:]): Wrote a new version of this method that truncates incoming strings rather than rejecting them out of hand.
12:03 AM Changeset in webkit [7760] by darin
  • 3 edits in trunk/WebKit

Reviewed by Maciej.

  • fixed <rdar://problem/3814237> REGRESSION (Mail): Copy/paste style does not set color in Mail compose window
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _selectionStartFontAttributesAsRTF]): Changed to call new bridge method named fontAttributesForSelectionStart, deleted the method this used to use, and renamed this to have the word "start" in it. (-[WebHTMLView copyFont:]): Updated for name change.
  • English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
12:01 AM Changeset in webkit [7759] by darin
  • 9 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed <rdar://problem/3826343> crash in KHTMLParser::setCurrent parsing document fragment (happens in Calendar widget)
  • khtml/html/htmlparser.cpp: (KHTMLParser::KHTMLParser): Initialized currentIsReferenced to false (fixes bug). (KHTMLParser::reset): Use doc() to make code easier to read. (KHTMLParser::setCurrent): Ditto. (KHTMLParser::parseToken): Ditto. (KHTMLParser::insertNode): Ditto. (KHTMLParser::getElement): Ditto. (KHTMLParser::popOneBlock): Ditto.
  • fixed <rdar://problem/3814237> REGRESSION (Mail): Copy/paste style does not set color in Mail compose window
  • kwq/KWQKHTMLPart.h: Added fontAttributesForSelectionStart.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::styleForSelectionStart): Factored out most of fontForSelection. (KWQKHTMLPart::fontAttributesForSelectionStart): Added. (KWQKHTMLPart::fontAttributesForSelectionStart): Added. (KWQKHTMLPart::registerCommandForUndo): Updated for name change (see below). (KWQKHTMLPart::registerCommandForRedo): Ditto.
  • kwq/WebCoreBridge.h: Added fontAttributesForSelectionStart.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge undoEditing:]): Updated for name change (see below). (-[WebCoreBridge redoEditing:]): Ditto. (-[WebCoreBridge replaceSelectionWithFragment:selectReplacement:smartReplace:]): Got rid of named temporary EditCommandPtr variable to make things slightly more terse. (-[WebCoreBridge moveSelectionToDragCaret:smartMove:]): Ditto. (-[WebCoreBridge deleteSelectionWithSmartDelete:]): Ditto. (-[WebCoreBridge fontAttributesForSelectionStart]): Added.
  • fix compile on Panther and other cleanup
  • khtml/khtml_part.cpp: Removed unneeded include.
  • kwq/KWQEditCommand.h: Got rid of use of "impl" when referring to EditCommand pointers.
  • kwq/KWQEditCommand.mm: Added include so we compile on Panther. (-[KWQEditCommand initWithEditCommand:]): Changed name. (-[KWQEditCommand dealloc]): Updated for m_impl change to m_command. (-[KWQEditCommand finalize]): Ditto. (+[KWQEditCommand commandWithEditCommand:]): Changed name. (-[KWQEditCommand command]): Changed name.

Oct 4, 2004:

4:20 PM Changeset in webkit [7758] by cblu
  • 2 edits in trunk/WebKit
  • WebView.subproj/WebFrameInternal.h: removed constant declarations that I committed by mistake
3:54 PM Changeset in webkit [7757] by darin
  • 3 edits in trunk/WebCore

Reviewed by John.

  • did a more-robust version of the fix I just landed
  • khtml/html/htmlparser.h: Added currentIsReferenced boolean.
  • khtml/html/htmlparser.cpp: (KHTMLParser::KHTMLParser): Initializes currentIsReferenced. (KHTMLParser::setCurrent): Changed to respect and set currentIsReferenced.
3:45 PM Changeset in webkit [7756] by darin
  • 2 edits in trunk/WebCore

Reviewed by John.

  • fixed <rdar://problem/3824393> REGRESSION (165-TOT): Crash in KHTMLParser::popOneBlock closing window (bose.com)
  • khtml/html/htmlparser.cpp: (KHTMLParser::~KHTMLParser): Move call to setCurrent(0) after the call to freeBlock, since freeBlock doesn't work well when current is 0, and there's no reason we need to reset the current block first. (KHTMLParser::setCurrent): Don't ever hold a reference to the document. This prevents a situation where there would be a reference cycle. In the test case from the bug above, this cycle actually happened and resulted in a double-delete of the document, tokenizer, and parser.
3:14 PM Changeset in webkit [7755] by cblu
  • 13 edits in trunk/WebKit

Fixed: <rdar://problem/3798948> NPP_URLNotify is not called if plug-in calls NPN_*URLNotfy
Fixed a number of FIXME's related to notifying plug-ins of loaded pages.

Reviewed by rjw.

  • Plugins.subproj/WebBaseNetscapePluginStream.h:
    • replaced URL ivar with requestURL and responseURL ivars since we need to pass both to plug-ins
    • added sendNotification boolean. Relying on notifyData not being NULL was not information to know whether to call NPP_URLNotify or not.
    • added isTerminated boolean because determining whether or not stream.ndata is NULL is not enough to know if the stream has been cancelled.
  • Plugins.subproj/WebBaseNetscapePluginStream.m: (+[WebBaseNetscapePluginStream reasonForError:]): new, factored out from receivedError: (-[WebBaseNetscapePluginStream initWithRequestURL:pluginPointer:notifyData:sendNotification:]): new (-[WebBaseNetscapePluginStream dealloc]): release new ivars (-[WebBaseNetscapePluginStream finalize]): added assert (-[WebBaseNetscapePluginStream setRequestURL:]): new (-[WebBaseNetscapePluginStream setResponseURL:]): new (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]): renamed, use responseURL as it basically did before (-[WebBaseNetscapePluginStream startStreamWithResponse:]): call renamed method (-[WebBaseNetscapePluginStream destroyStream]):
    • do nothing if terminated
    • call NPP_StreamAsFile and NPP_DestroyStream if stream.ndata is not NULL
    • call NPP_URLNotify if sendNotification is YES regardless of value of notifyData

(-[WebBaseNetscapePluginStream receivedError:]): call reasonForError
(-[WebBaseNetscapePluginStream deliverData]): use renamed ivar

  • Plugins.subproj/WebBaseNetscapePluginView.h:
    • added observingFrameLoadNotification boolean
    • renamed dictionary ivar to pendingFrameLoads which has WebFrame keys and WebPluginRequest values
  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView addFrameLoadObserver]): new (-[WebBaseNetscapePluginView removeFrameLoadObserver]): new (-[WebBaseNetscapePluginView stop]): call removeFrameLoadObserver (-[WebBaseNetscapePluginView initWithFrame:]): use renamed pendingFrameLoads ivar (-[WebBaseNetscapePluginView dealloc]): ditto (-[WebBaseNetscapePluginView requestWithURLCString:]): set referrer on the request just as IE does (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
    • call NPP_URLNotify depending of value of sendNotification
    • call new init method on WebBaseNetscapePluginStream rather then setting variables individually

(-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]): new, calls NPP_URLNotify at the right time with the right value
(-[WebBaseNetscapePluginView webFrame:didFinishLoadWithError:]): new, delegate method called from WebFrame
(-[WebBaseNetscapePluginView loadPluginRequest:]): call addFrameLoadObserver
(-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): take new sendNotification parameter and pass it
(-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]): pass YES for sendNotification
(-[WebBaseNetscapePluginView getURL:target:]): pass NO for sendNotification
(-[WebBaseNetscapePluginView _postURL:target:len:buf:file:notifyData:sendNotification:allowHeaders:]): take new sendNotification parameter and pass it
(-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]): pass YES for sendNotification
(-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): pass NO for sendNotification
(-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:]): take new sendNotification parameter
(-[WebPluginRequest sendNotification]): new

  • Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
  • Plugins.subproj/WebNetscapePluginEmbeddedView.m: (-[WebNetscapePluginEmbeddedView didStart]): set referrer on the request just as IE does
  • Plugins.subproj/WebNetscapePluginRepresentation.m: (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): set the request URL on the stream
  • Plugins.subproj/WebNetscapePluginStream.h:
  • Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): take new sendNotification parameter and pass it (-[WebNetscapePluginStream dealloc]): use renamed ivar (-[WebNetscapePluginStream start]): ditto
  • WebView.subproj/WebFrame.m: (-[WebFrame _setState:]): removed notification posting code. This was only used by WebBaseNetscapePluginView and it was the wrong notification to send. (-[WebFrame _checkLoadCompleteForThisFrame]): call internal load delegate to tell it that the load has finished (-[WebFrame _loadItem:withLoadType:]): ditto (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): ditto (-[WebFrame _setInternalLoadDelegate:]): new (-[WebFrame _internalLoadDelegate]): new
  • WebView.subproj/WebFrameInternal.h:
  • WebView.subproj/WebFramePrivate.h:
2:32 PM Changeset in webkit [7754] by darin
  • 2 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed <rdar://problem/3825429> onclick handler called when mouse down on another element (affects Dashboard Movies widget, test case enclosed)
  • khtml/khtmlview.cpp: (KHTMLViewPrivate::KHTMLViewPrivate): Initialize the click node to 0. (KHTMLViewPrivate::~KHTMLViewPrivate): Deref the click node. (KHTMLViewPrivate::reset): Clear the click node. (KHTMLView::viewportMousePressEvent): Call invalidateClick when we pass the event to a subframe to reduce the chance that we'll hold on to an old click node for a long time. Set the click node to the node we we are clicking on. (KHTMLView::viewportMouseDoubleClickEvent): Only send a click even if the node is the same one from the original click. Call invalidateClick when done to reduce the chance that we'll hold on to an old click node for a long time. (KHTMLView::invalidateClick): Clear the click node. (KHTMLView::viewportMouseReleaseEvent): Only send a click even if the node is the same one from the original click. Call invalidateClick when done to reduce the chance that we'll hold on to an old click node for a long time. (KHTMLView::keyPressEvent): Remove code that sets the originalNode field, which is never used.
11:52 AM Changeset in webkit [7753] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/3825289> REGRESSION (Mail): Crash in fontForSelection in empty window

  • khtml/editing/visible_position.cpp: (khtml::VisiblePosition::previousPosition): Switch to node iteration instead "leaf" iteration. I have been wanting to make this change for a long time, but couldn't since other code relied on the leaf behavior. That is no longer true. Plus, the bug fix requires the new behavior. (khtml::VisiblePosition::nextPosition): Ditto. (khtml::VisiblePosition::isCandidate): Empty blocks needed a height to be a candidate, but we make a special case for the body element. This fixes the bug.
11:30 AM Changeset in webkit [7752]
  • 25 copies
    3 deletes in tags/WebKit-125~5~3

This commit was manufactured by cvs2svn to create tag
'WebKit-125~5~3'.

11:30 AM Changeset in webkit [7751] by vicki
  • 2 edits in branches/Safari-1-2-branch/WebKit
  • versioning for SUPanNavy, WebKit-125.5.3
11:01 AM Changeset in webkit [7750] by cblu
  • 2 edits in trunk/WebKit

Fixed: <rdar://problem/3758113> REGRESSION: Macromedia ColdFusion page doesn't show main content

After bumping up our plug-in version, Flash now sends 2 CRLF's between the headers and body of their POST request. Our code was not prepared for this.

Reviewed by darin.

  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[NSData _web_locationAfterFirstBlankLine]): looks for 2 CRLF's, not for 2 LF's
10:43 AM Changeset in webkit [7749] by darin
  • 3 edits in trunk/WebKit

Reviewed by Ken.

  • fixed a potential storage leak when we turn on CGImageRef image rendering
  • WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer dealloc]): Fix potential storage leak by adding [super dealloc], but leak was not real yet because the code is commented out.
  • make paste style work with color as part of fix to <rdar://problem/3814237> REGRESSION (Mail): Copy/paste style does not set color in Mail compose window
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _selectionFontAttributes]): Change structure so it's easy to add more attributes. For now I haven't added any yet. (-[WebHTMLView _colorAsString:]): Moved this earlier in the file. (-[WebHTMLView _shadowAsString:]): Ditto. (-[WebHTMLView _styleFromFontAttributes:]): Add background color, foreground color, and text shadow.
10:40 AM Changeset in webkit [7748] by darin
  • 5 edits
    1 delete in trunk/WebCore

Reviewed by Ken.

  • fixed <rdar://problem/3800667> REGRESSION (Mail): double-clicking multiple spaces only selects two spaces
  • kwq/KWQTextUtilities.mm: (KWQFindWordBoundary): Moved here from the .cpp file. Changed to use the doubleClickAtIndex: method from NSAttributedString rather than using Unicode Utilities.
  • kwq/KWQTextUtilities.cpp: Removed.
  • WebCore.pbproj/project.pbxproj: Removed KWQTextUtilities.cpp.
  • fixed a problem that would show up using HTML editing under garbage collection
  • kwq/KWQEditCommand.mm: (-[KWQEditCommand finalize]): Fixed a [super dealloc] that should have been a [super finalize].
  • another small change
  • khtml/editing/visible_units.cpp: (khtml::nextWordBoundary): Tweaked a comment.
10:34 AM Changeset in webkit [7747] by darin
  • 3 edits in trunk/JavaScriptCore

Reviewed by Ken.

  • rolled in a fix the KDE folks did for the operations that generate HTML fragments
  • kjs/string_object.cpp: (StringProtoFuncImp::call): Added quote marks to generated HTML.
  • rolled out an old workaround we don't need any more
  • JavaScriptCore.pbproj/project.pbxproj: Remove -Wno-long-double because the <math.h> issue that required it is no longer there.

Oct 1, 2004:

10:25 AM Changeset in webkit [7746] by darin
  • 3 edits in trunk/WebCore

Reviewed by Ken (or arguably done by Ken, reviewed by Darin).

  • fixed <rdar://problem/3823828> REGRESSION (Mail): Clicking past end of any line puts insertion point at beginning of next line
  • khtml/editing/visible_position.cpp: (khtml::VisiblePosition::VisiblePosition): Check for an offset of 0 and a <br> and use UPSTREAM affinity in that case. This is a short term fix for something that needs a better longer-term fix.
  • fixed <rdar://problem/3823816> REGRESSION (Mail): double-clicking first word on line also selects previous empty line
  • khtml/editing/visible_units.cpp: (khtml::previousWordBoundary): Added a special case for <br>. While I'm not sure why this regressed, I'm sure this fix is good.
8:18 AM Changeset in webkit [7745] by darin
  • 2 edits in trunk/WebCore

Reviewed by John.

  • fixed <rdar://problem/3782117> CrashTracer: ..722 crashes at com.apple.WebCore: DOM::HTMLBodyElementImpl::insertedIntoDocument + 0x2c (AOL website)
  • khtml/html/html_baseimpl.cpp: (HTMLBodyElementImpl::insertedIntoDocument): Check for nil document case. (HTMLFrameElementImpl::isURLAllowed): Ditto. (HTMLFrameElementImpl::openURL): Ditto.
1:02 AM Changeset in webkit [7744] by darin
  • 3 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed <rdar://problem/3822218> REGRESSION (164-165): images don't update on rollover on directv.com page

I introduced a major regression where various JavaScript window properties would not be found when I
fixed bug 3809600.

  • khtml/ecma/kjs_window.h: Added hasProperty.
  • khtml/ecma/kjs_window.cpp: (Window::hasProperty): Return true in all the cases where get returns something.

Sep 30, 2004:

11:43 PM Changeset in webkit [7743] by darin
  • 5 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed <rdar://problem/3461499> JavaScript function document.open() is buggy with 2nd argument "replace"

Experiments with Firefox indicate that document.open() should not be treated as window.open() unless there
are more than two parameters. Also, Firefox does not implement the "replace" behavior, so we don't have
to worry about it either.

  • khtml/ecma/kjs_html.cpp: (KJS::HTMLDocFunction::tryCall): Only forward to window if there are more than two parameters, rather than if there are more than one.
  • fixed <rdar://problem/3672933> oninput is firing at page load time for <input type=range>
  • kwq/KWQSlider.mm: (QSlider::setValue): Don't emit a signal here. This follows the usual pattern, where a signal is only emitted for changes that are not explicitly requested by the caller.
  • fixed <rdar://problem/3821167> leaks of something allocated by recalcStyle after loading altavista page from cvs-base
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::recalcStyle): Ref and deref the style we allocate so it's not left floating if setStyle decides not to ref it.
  • fixed <rdar://problem/3821172> leak of HTML attribute string after loading the ESPN page from cvs-base
  • khtml/html/html_elementimpl.cpp: (HTMLElementImpl::parseHTMLAttribute): Use the DOMString version of the lower() operation so we don't end up leaving a DOMStringImpl * floating if AtomicString decides not to ref it.
5:24 PM Changeset in webkit [7742] by rjw
  • 15 edits in trunk

WebKit:

Fixed <rdar://problem/3821215> NPN hasMethod and hasProperty functions should take NPObjects, not NPClass

Also changed dashboard regions dictionary to use "control"
for scroller region label, instead of "scroller, per
request from ouch.

Reviewed by Chris.

  • Plugins.subproj/npruntime.h:
  • WebView.subproj/WebView.m: (-[WebView _addScrollerDashboardRegions:from:]):

JavaScriptCore:

Fixed <rdar://problem/3821215> NPN hasMethod and hasProperty functions should take NPObjects, not NPClass

Reviewed by Chris.

  • bindings/NP_jsobject.cpp: (_NPN_GetProperty): (_NPN_HasProperty): (_NPN_HasMethod):
  • bindings/c/c_class.cpp: (CClass::methodsNamed): (CClass::fieldNamed):
  • bindings/c/c_class.h:
  • bindings/c/c_instance.cpp: (CInstance::invokeMethod):
  • bindings/jni/jni_class.cpp: (JavaClass::methodsNamed):
  • bindings/jni/jni_class.h:
  • bindings/npruntime.h:
  • bindings/objc/objc_class.h:
  • bindings/objc/objc_class.mm: (ObjcClass::methodsNamed):
  • bindings/runtime.h:
  • bindings/runtime_object.cpp: (RuntimeObjectImp::get): (RuntimeObjectImp::hasProperty):
5:18 PM Changeset in webkit [7741] by cblu
  • 2 edits in trunk/WebKit

Fixed: <rdar://problem/3498680> switching back and forth between tabs stops calling anything in a plug-in

Reviewed by darin.

  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView sendEvent:]): call setWindowIfNecessary because the window may have changed (-[WebBaseNetscapePluginView updateAndSetWindow]): new (-[WebBaseNetscapePluginView setWindowIfNecessary]): was setWindow, this method now just sets the window (-[WebBaseNetscapePluginView start]): call updateAndSetWindow (-[WebBaseNetscapePluginView viewDidMoveToWindow]): ditto (-[WebBaseNetscapePluginView viewHasMoved:]): ditto
4:14 PM Changeset in webkit [7740] by cblu
  • 3 edits in trunk/WebKit

Fixed: <rdar://problem/3498668> switching out of tab doesn't send loseFocusEvent to plug-in

Reviewed by rjw.

  • Plugins.subproj/WebBaseNetscapePluginView.h:
  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView setHasFocus:]): new, sends events to plug-in (-[WebBaseNetscapePluginView becomeFirstResponder]): call setHasFocus (-[WebBaseNetscapePluginView resignFirstResponder]): ditto (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): ditto
1:04 PM Changeset in webkit [7739] by rjw
  • 2 edits in trunk/WebCore

Fixed <rdar://problem/3822330> REGRESSION: crash on launch when homepage is set to about:blank

Added nil check.

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::setDisplaysWithFocusAttributes):
12:48 PM Changeset in webkit [7738] by cblu
  • 2 edits in trunk/WebCore

Fixed: <rdar://problem/3792822> Safari is calling the Cocoa QuickTime plugin twice for the OBJECT and EMBED tags

Reviewed by hyatt.

  • khtml/html/html_objectimpl.cpp: (HTMLObjectElementImpl::attach): call dispatchHTMLEvent after updateWidget instead of every time this method is called (HTMLObjectElementImpl::recalcStyle): ditto
11:56 AM Changeset in webkit [7737] by darin
  • 2 edits in trunk/WebCore
  • rolled out bad image change that caused performance regression
  • khtml/rendering/render_image.cpp: (RenderImage::setPixmap): Don't reference the new image before doing the assignment. This forced an unwanted.
10:52 AM Changeset in webkit [7736] by cblu
  • 6 edits in trunk/WebKit

Fixed:
Assertion failure when loading standalone netscape plug-in content.
Document loads of WebKit plug-in content should be cancelled since the plug-in does its own loading.

Reviewed by john.

  • Misc.subproj/WebKitErrors.m: removed deprecated method
  • Misc.subproj/WebKitErrorsPrivate.h:
  • Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView setDataSource:]): fixed the assertion statement
  • Plugins.subproj/WebPluginDocumentView.h:
  • Plugins.subproj/WebPluginDocumentView.m: (-[WebPluginDocumentView dealloc]): remove retained plug-in (-[WebPluginDocumentView setDataSource:]): retain the plug-in, cancel the laod
9:59 AM Changeset in webkit [7735] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by me, coded by Darin

  • fixed <rdar://problem/3818305> REGRESSION (Mail): Shift + page up has no effect; should modify selection
  • khtml/editing/selection.cpp: (khtml::Selection::modify): Fix problem where vertical distance was used as a distance threshold, but was a negative number. Now make it positive at the start of the function (and make a couple related changes).

Sep 29, 2004:

6:32 PM Changeset in webkit [7734] by cblu
  • 24 edits
    2 adds in trunk/WebKit

Fixed:
<rdar://problem/3763832> Safari-155: Non-Embeded movies fail to open in Cocoa QT plug-in
<rdar://problem/3820517> "* -[WebPluginPackage NPP_New]: selector not recognized [self = 0x5552c10]"

Reviewed by rjw.

  • History.subproj/WebHistoryItem.m:
  • Misc.subproj/WebNSViewExtras.h:
  • Misc.subproj/WebNSViewExtras.m: (-[NSView _web_firstResponderCausesFocusDisplay]): (-[NSView _webView]): (-[NSView _frame]): (-[NSView _bridge]): (-[NSView _dataSource]):
  • Plugins.subproj/WebBasePluginPackage.h:
  • Plugins.subproj/WebBasePluginPackage.m: (-[WebBasePluginPackage hash]): (-[WebBasePluginPackage isQuickTimePlugIn]):
  • Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView setDataSource:]):
  • Plugins.subproj/WebNetscapePluginRepresentation.m:
  • Plugins.subproj/WebPluginController.h:
  • Plugins.subproj/WebPluginController.m: (-[WebPluginController initWithDocumentView:]): (-[WebPluginController addPlugin:]): (-[WebPluginController destroyAllPlugins]): (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): (-[WebPluginController webPlugInContainerShowStatus:]): (-[WebPluginController webPlugInContainerSelectionColor]): (-[WebPluginController webFrame]):
  • Plugins.subproj/WebPluginDatabase.h:
  • Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): (-[WebPluginDatabase refresh]): (WebPluginDocumentView::while):
  • Plugins.subproj/WebPluginDocumentView.h: Added.
  • Plugins.subproj/WebPluginDocumentView.m: Added. (-[WebPluginDocumentView initWithFrame:]): (-[WebPluginDocumentView dealloc]): (-[WebPluginDocumentView drawRect:]): (-[WebPluginDocumentView setDataSource:]): (-[WebPluginDocumentView setNeedsLayout:]): (-[WebPluginDocumentView layout]): (-[WebPluginDocumentView currentWindow]): (-[WebPluginDocumentView viewWillMoveToWindow:]): (-[WebPluginDocumentView viewDidMoveToWindow]): (-[WebPluginDocumentView viewWillMoveToHostWindow:]): (-[WebPluginDocumentView viewDidMoveToHostWindow]): (-[WebPluginDocumentView receivedData:withDataSource:]): (-[WebPluginDocumentView receivedError:withDataSource:]): (-[WebPluginDocumentView finishedLoadingWithDataSource:]): (-[WebPluginDocumentView canProvideDocumentSource]): (-[WebPluginDocumentView documentSource]): (-[WebPluginDocumentView title]):
  • Plugins.subproj/npapi.m: (NPN_ReleaseVariantValue): (NPN_GetStringIdentifier): (NPN_GetStringIdentifiers): (NPN_GetIntIdentifier): (NPN_IdentifierIsString): (NPN_UTF8FromIdentifier): (NPN_IntFromIdentifier): (NPN_CreateObject): (NPN_RetainObject): (NPN_ReleaseObject): (NPN_Invoke): (NPN_InvokeDefault): (NPN_Evaluate): (NPN_GetProperty): (NPN_SetProperty): (NPN_RemoveProperty): (NPN_HasProperty): (NPN_HasMethod): (NPN_SetException): (NPN_Call):
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge frameRequiredForMIMEType:URL:]):
  • WebCoreSupport.subproj/WebViewFactory.m:
  • WebKit.exp:
  • WebKit.pbproj/project.pbxproj:
  • WebView.subproj/WebDebugDOMNode.m:
  • WebView.subproj/WebDocumentInternal.h:
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView initWithFrame:]):
  • WebView.subproj/WebHTMLViewPrivate.h:
  • WebView.subproj/WebImageRepresentation.h:
  • WebView.subproj/WebRenderNode.m:
  • WebView.subproj/WebView.m:
6:32 PM Changeset in webkit [7733] by cblu
  • 8 edits
    1 add in trunk/JavaScriptCore

Prepended underscores to NPN methods so that when the QT plug-in loads these symbols, it uses the non-underscore versions in WebKit. Without this, the QT plug-in was failing to load when launching Safari from the command-line.

Reviewed by rjw.

  • JavaScriptCore.pbproj/project.pbxproj:
  • bindings/NP_jsobject.cpp: (_NPN_CreateScriptObject): (_NPN_InvokeDefault): (_NPN_Invoke): (_NPN_Evaluate): (_NPN_GetProperty): (_NPN_SetProperty): (_NPN_RemoveProperty): (_NPN_HasProperty): (_NPN_HasMethod):
  • bindings/c/c_class.cpp: (CClass::methodsNamed): (CClass::fieldNamed):
  • bindings/c/c_instance.cpp: (CInstance::CInstance): (CInstance::~CInstance): (CInstance::operator=): (CInstance::invokeMethod): (CInstance::invokeDefaultMethod):
  • bindings/c/c_runtime.cpp:
  • bindings/c/c_runtime.h: (KJS::Bindings::CField::name): (KJS::Bindings::CMethod::name):
  • bindings/npruntime.cpp: (_NPN_GetStringIdentifier): (_NPN_GetStringIdentifiers): (_NPN_GetIntIdentifier): (_NPN_IdentifierIsString): (_NPN_UTF8FromIdentifier): (_NPN_IntFromIdentifier): (NPN_InitializeVariantWithObject): (_NPN_ReleaseVariantValue): (_NPN_CreateObject): (_NPN_RetainObject): (_NPN_ReleaseObject): (_NPN_SetExceptionWithUTF8): (_NPN_SetException):
5:39 PM Changeset in webkit [7732] by rjw
  • 8 edits in trunk

WebKit:

Fixed <rdar://problem/3779998> bringing window to front or sending to back does not send focus/blur events to JavaScript window object

The fix has two parts, 1) make onblur and onfocus work for windows,
and 2), allow the dashboard to override WebKit's special key/non-key
behaviors.

Reviewed by Maciej.

  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView restartNullEvents]):
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView addMouseMovedObserver]): (-[WebHTMLView removeMouseMovedObserver]):
  • WebView.subproj/WebView.m: (-[WebView _dashboardBehavior:]):
  • WebView.subproj/WebViewInternal.h:
  • WebView.subproj/WebViewPrivate.h:

WebCore:

Fixed <rdar://problem/3779998> bringing window to front or sending to back does not send focus/blur events to JavaScript window object

The fix has two parts, 1) make onblur and onfocus work for windows,
and 2), allow the dashboard to override WebKit's special key/non-key
behaviors.

Reviewed by Chris.

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::setDisplaysWithFocusAttributes):
2:55 PM Changeset in webkit [7731] by kocienda
  • 13 edits in trunk/WebCore

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/3705894> REGRESSION (Mail): if a single word is wider than the window,
it doesn't break and just runs off the right side

  • khtml/css/css_computedstyle.cpp: (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): Add support for CSS_PROP_WORD_WRAP.
  • khtml/css/cssparser.cpp: (CSSParser::parseValue): Ditto.
  • khtml/css/cssproperties.c: Generated file.
  • khtml/css/cssproperties.h: Ditto.
  • khtml/css/cssproperties.in: Add word-wrap property.
  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::applyProperty): Add support for CSS_PROP_WORD_WRAP.
  • khtml/css/cssvalues.c: Generated file.
  • khtml/css/cssvalues.h: Ditto.
  • khtml/css/cssvalues.in: Add break-word value.
  • khtml/rendering/bidi.cpp: (khtml::RenderBlock::findNextLineBreak): Add code to implement new word wrapping feature.
  • khtml/rendering/render_style.cpp: (StyleCSS3InheritedData): Add support for new wordWrap property. (StyleCSS3InheritedData::operator==): Ditto. (RenderStyle::diff): Ditto.
  • khtml/rendering/render_style.h: (khtml::RenderStyle::wordWrap): Ditto. (khtml::RenderStyle::setWordWrap): Ditto. (khtml::RenderStyle::initialWordWrap): Ditto.
1:40 PM Changeset in webkit [7730] by mjs
  • 24 edits in trunk

WebCore:

Reviewed by John.

  • consolidated OS version checks into prefix header
  • WebCorePrefix.h:
  • khtml/rendering/render_canvasimage.cpp:
  • kwq/KWQAccObject.mm: (-[KWQAccObject roleDescription]): (-[KWQAccObject accessibilityActionDescription:]):
  • kwq/KWQComboBox.mm: (QComboBox::QComboBox):
  • kwq/KWQFoundationExtras.h:

WebKit:

Reviewed by John.

  • consolidated OS version checks into prefix header
  • Misc.subproj/WebFileDatabase.m: (-[WebFileDatabase _createLRUList:]): (+[WebFileDatabase _syncLoop:]):
  • Misc.subproj/WebKitErrors.m: (registerErrors):
  • Misc.subproj/WebNSObjectExtras.h: (WebNSRetainCFRelease):
  • Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]):
  • Misc.subproj/WebUnicode.m: (_unicodeDirection):
  • WebCoreSupport.subproj/WebImageData.h:
  • WebCoreSupport.subproj/WebImageRenderer.h:
  • WebCoreSupport.subproj/WebKeyGenerator.h:
  • WebCoreSupport.subproj/WebNewKeyGeneration.c:
  • WebKitPrefix.h:
  • WebView.subproj/WebDataSource.m: (+[WebDataSource _repTypesAllowImageTypeOmission:]): (-[WebDataSource isLoading]):
  • WebView.subproj/WebFrameView.m: (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
  • WebView.subproj/WebHTMLView.m:
  • WebView.subproj/WebPDFRepresentation.h:
  • WebView.subproj/WebPDFRepresentation.m:
  • WebView.subproj/WebPDFView.h:
  • WebView.subproj/WebPDFView.m:

WebBrowser:

Reviewed by John.

  • consolidated OS version checks into prefix header
  • AddressBarContentsManager.h:
  • AddressBarContentsManager.m:
  • AddressBarController.m:
  • AppController.m: (-[AppController applicationDidFinishLaunching:]):
  • BookmarkCollections.m:
  • BookmarksController.h:
  • BookmarksController.m:
  • BookmarksViewController.m:
  • BrowserDocument.h:
  • BrowserDocument.m:
  • BrowserDocumentController.h:
  • BrowserDocumentController.m:
  • BrowserNSNetServiceExtras.m:
  • BrowserWebBookmarkExtras.m:
  • BrowserWebController.m:
  • BrowserWebViewPrinting.m:
  • BrowserWindow.m: (-[BrowserWindow performKeyEquivalent:]):
  • BrowserWindowController.h:
  • BrowserWindowController.m: (-[BrowserWindowController locationField]): (-[BrowserWindowController searchField]): (-[BrowserWindowController locationBarIsShowing]): (-[BrowserWindowController setUpLocationBar]): (-[BrowserWindowController isShowingBar:]): (-[BrowserWindowController updateKeyboardLoop]): (-[BrowserWindowController windowDidLoad]): (-[BrowserWindowController dealloc]): (-[BrowserWindowController setDocument:]): (-[BrowserWindowController showLocationBarTemporarilyIfHidden]): (-[BrowserWindowController makeLocationBarPermanentIfTemporary]): (-[BrowserWindowController hideLocationBarIfTemporary]): (-[BrowserWindowController selectSearchField:]): (-[BrowserWindowController canShowInputFields]): (-[BrowserWindowController updateStopAndReloadButton]): (-[BrowserWindowController toggleLocationBar:]): (-[BrowserWindowController setToolbarsVisible:]): (-[BrowserWindowController closeTab:]): (-[BrowserWindowController fixFocusRingAroundLocationField]): (-[BrowserWindowController validateMenuItem:]): (-[BrowserWindowController showWindow:]):
  • ContextMenuHandler.m:
  • Debug/DebugUtilities.m:
  • DownloadProgressEntry.m: (-[NSFileManager setMetadataURL:referrer:atPath:]):
  • InternetConfigUtilities.m:
  • LoadProgressMonitor.m:
  • LocationChangeError.m:
  • NetworkController.h:
  • NetworkController.m:
  • OutlineViewPlus.h:
  • OutlineViewPlus.m:
  • Preferences.subproj/ISyncController.h:
  • Preferences.subproj/RSSPreferences.h:
  • Preferences.subproj/RSSPreferences.m:
  • Preferences.subproj/SecurityPreferences.m:
  • Preferences.subproj/WBPreferences.m:
  • PrintingAccessoryViewController.m:
  • SyndicationController.m:
  • TableViewPlus.m:
  • Test/PageLoadTestRunner.m: (-[PageLoadTestRunner setSingleTestURL:]):
  • ToolbarController.h:
  • ToolbarController.m:
  • WebBookmark.h:
  • WebBookmark.m:
  • WebBookmarkGroup.h:
  • WebBookmarkGroup.m:
  • WebBookmarkGroupPrivate.h:
  • WebBookmarkLeaf.m:
  • WebBookmarkList.m:
  • WebBookmarkPrivate.h:
  • WebBrowserPrefix.h:
11:07 AM Changeset in webkit [7729] by hyatt
  • 11 edits in trunk/LayoutTests/fast

Fix remaining fast tests to handle br changes.

11:05 AM Changeset in webkit [7728] by hyatt
  • 1 edit in trunk/LayoutTests/fast/block/positioning/055-expected.txt

Fix positioning tests to account for br changes.

11:04 AM Changeset in webkit [7727] by hyatt
  • 1 edit in trunk/LayoutTests/fast/block/float/015-expected.txt

Fix float 15 test to accurately reflect the image loading regression in that test.

11:02 AM Changeset in webkit [7726] by hyatt
  • 4 edits in trunk/LayoutTests/fast/block/float

Fix float tests to account for br changes.

11:01 AM Changeset in webkit [7725] by hyatt
  • 2 edits in trunk/LayoutTests/fast/doctypes

Fix doctypes tests for list item changes.

10:59 AM Changeset in webkit [7724] by hyatt
  • 3 edits in trunk/LayoutTests/css1

Land changes to CSS1 suite from <br> patch.

10:58 AM Changeset in webkit [7723] by hyatt
  • 14 edits in trunk/LayoutTests/editing

Land changes to editing test from <br> patch.

10:55 AM Changeset in webkit [7722] by hyatt
  • 10 edits in trunk/WebCore

Make sure <br>s always get line boxes. Also prevent the creation of RenderTexts for whitespace normal/nowrap nodes
that follow <br>s.

Reviewed by kocienda

  • khtml/editing/visible_position.cpp: (khtml::VisiblePosition::isCandidate):
  • khtml/rendering/render_br.cpp: (RenderBR::RenderBR): (RenderBR::createInlineBox): (RenderBR::baselinePosition): (RenderBR::lineHeight):
  • khtml/rendering/render_br.h:
  • khtml/rendering/render_line.cpp: (khtml::InlineFlowBox::placeBoxesVertically):
  • khtml/rendering/render_line.h: (khtml::InlineBox::isText): (khtml::InlineFlowBox::addToLine):
  • khtml/rendering/render_text.cpp: (RenderText::detach):
  • khtml/rendering/render_text.h: (khtml::InlineTextBox:::InlineRunBox): (khtml::InlineTextBox::isInlineTextBox): (khtml::InlineTextBox::isText): (khtml::InlineTextBox::setIsText):
  • khtml/xml/dom_textimpl.cpp: (TextImpl::rendererIsNeeded):
  • kwq/KWQRenderTreeDebug.cpp: (operator<<):
10:51 AM Changeset in webkit [7721] by kocienda
  • 7 edits in trunk/WebCore

Reviewed by John

Fix for this bug:

<rdar://problem/3815895> exception inside fontForSelection causes Mail to abort when selection hits bottom

  • khtml/editing/selection.cpp: (khtml::Selection::toRange): Use RangeImpl calls to detect exceptions when creating a Range from a Selection. Return an empty Range when there is an exception.

Fix for this bug:

<rdar://problem/3817268> REGRESSION (Mail): Window does not scroll when selecting out of
visible area of view with arrow keys

  • khtml/editing/selection.cpp: Did some name changing. m_needsCaretLayout -> m_needsLayout. Added m_expectedVisibleRect which supplies the right rectangle to update when scrolling. (khtml::Selection::Selection): m_needsCaretLayout -> m_needsLayout name change. (khtml::Selection::init): Handle m_expectedVisibleRect in initialization. (khtml::Selection::operator=): Handle m_expectedVisibleRect in assignment. (khtml::Selection::setNeedsLayout): m_needsCaretLayout -> m_needsLayout name change. (khtml::Selection::layout): Changed name from layoutCaret, since m_expectedVisibleRect is also calculated here. (khtml::Selection::caretRect): m_needsCaretLayout -> m_needsLayout name change. (khtml::Selection::expectedVisibleRect): New. Returns m_expectedVisibleRect, doing a layout if needed. (khtml::Selection::needsCaretRepaint): m_needsCaretLayout -> m_needsLayout name change. (khtml::Selection::paintCaret): Ditto. (khtml::Selection::validate): Ditto.
  • khtml/editing/selection.h: Add m_expectedVisibleRect member variable and expectedVisibleRect accessor.
  • kwq/WebCoreBridge.h: Change name of ensureCaretVisible to ensureSelectionVisible, since this is not only about making the caret visible anymore. Now it can reveal the varying end of the selection when scrolling with arrow keys.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge alterCurrentSelection:direction:granularity:]): ensureCaretVisible to ensureSelectionVisible name change. (-[WebCoreBridge alterCurrentSelection:verticalDistance:]): Ditto (-[WebCoreBridge replaceSelectionWithFragment:selectReplacement:smartReplace:]): Ditto (-[WebCoreBridge insertNewline]): Ditto (-[WebCoreBridge insertText:selectInsertedText:]): Ditto (-[WebCoreBridge deleteKeyPressed]): Ditto (-[WebCoreBridge ensureSelectionVisible]): Ditto
7:16 AM Changeset in webkit [7720] by kocienda
  • 11 edits in trunk

WebCore:

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/3818296> REGRESSION (Mail): centerSelectionInVisibleArea does not work correctly

  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::centerSelectionInVisibleArea): New function. Handles both caret and range selections correctly.
  • kwq/KWQNSViewExtras.h: Add forceCentering boolean to some methods in this file.
  • kwq/KWQNSViewExtras.m: Ditto. This addition has been done since the AppKit method we use to do the centering, -[NSView scrollRectToVisible:], does not alter the view if the rectangle passed to it is already in view. When forceCentering is true, extra math is done to make scrollRectToVisible center the rectangle we want. (-[NSView _KWQ_scrollFrameToVisible]): Pass NO for forceCentering in call through to _KWQ_scrollRectToVisible:forceCentering: (-[NSView _KWQ_scrollRectToVisible:forceCentering:]): Add forceCentering argument. (-[NSView _KWQ_scrollRectToVisible:inView:forceCentering:]): Ditto. (-[NSClipView _KWQ_scrollRectToVisible:inView:forceCentering:]): Ditto. Do extra math to implement the forceCentering effect.
  • kwq/KWQScrollView.h: Add forceCentering default argument to ensureRectVisibleCentered.
  • kwq/KWQScrollView.mm: (QScrollView::ensureRectVisibleCentered): Ditto.
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge centerSelectionInVisibleArea]): New function. Call through to KWQKHTMLPart.

WebKit:

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/3818296> REGRESSION (Mail): centerSelectionInVisibleArea does not work correctly

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView centerSelectionInVisibleArea:]): Now calls new centerSelectionInVisibleArea bridge function instead of ensureCaretVisible. Now handles caret selections and range selections correctly.

Sep 28, 2004:

6:54 PM Changeset in webkit [7719] by rjw
  • 1 edit in branches/Safari-1-2-branch/WebKit/ChangeLog

Changed incorrect reference to 3791526 to 3710123.

6:49 PM Changeset in webkit [7718] by rjw
  • 2 edits in branches/Safari-1-2-branch/WebKit

Fix for follow on problem to fix for 3791526, in particular:

<rdar://problem/3803113> WebFrame object leaked

We should always call end to guarantee that terminal load delegate
callbacks get sent to WebKit clients. In this case the a cancel message
wasn't sent and Safari's activity monitor was holding onto a reference.

Reviewed by Maciej.

  • WebView.subproj/WebDataSource.m: (-[WebDataSource _finishedLoading]):
6:19 PM Changeset in webkit [7717] by cblu
  • 2 edits in trunk/WebCore

Fixed: WebArchives begin with "<#document/>"

Reviewed by hyatt.

  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::startMarkup): don't return markup if this is a document node, forgot this when factoring this method out from toHTML
6:02 PM Changeset in webkit [7716] by cblu
  • 5 edits in trunk/WebCore

Removed range parameter from recursive_toHTML and friends since that code path is no longer used.

Reviewed by mjs.

  • khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::toHTML):
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::recursive_toString): (NodeImpl::recursive_toHTML):
  • khtml/xml/dom_nodeimpl.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge markupStringFromNode:nodes:]):
5:34 PM Changeset in webkit [7715] by cblu
  • 3 edits in trunk/WebKit

Added timing code so that Doug can time RTF conversion.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): (-[WebHTMLView _attributeStringFromDOMRange:]):
5:17 PM Changeset in webkit [7714] by darin
  • 8 edits in trunk/WebCore

Reviewed by Ken.

  • improve spell checking so it doesn't unmark and remark as you move the cursor with the arrow
  • khtml/editing/htmlediting.h: Remove obsolete markMisspellingsInSelection private function.
  • khtml/editing/htmlediting.cpp: (khtml::EditCommand::EditCommand): Blow away the selection when starting an edit command. (khtml::EditCommand::apply): Remove code to mark misspellings because that's now done as part of blowing away the selection. (khtml::EditCommand::unapply): Blow away the selection instead of marking mispellings. (khtml::EditCommand::reapply): Ditto. (khtml::ReplaceSelectionCommand::doApply): Removed incorrect code that does spell checking on inserted text; this doesn't match NSText behavior. (khtml::TypingCommand::markMisspellingsAfterTyping): Use markMisspellingsInAdjacentWords function for greater clarity on what this actually does.
  • khtml/khtml_part.h: Replaced setSelection's "unmarkOldSelection" boolean parameter with a "keepTypingStyle" boolean parameter. Removed notifySelectionChanged.
  • khtml/khtml_part.cpp: (KHTMLPart::setSelection): Replaced the "unmarkOldSelection" boolean with a new "keepTypingStyle" boolean. This is a step on the way to simplifying how this works. Moved the code from the notifySelectionChanged function here, since there was no clear line between the two functions. (KHTMLPart::clearSelection): Call setSelection rather that having special case code here for the case of an empty selection. (KHTMLPart::appliedEditing): Remove the explicit "false" for "unmarkOldSelection". (KHTMLPart::unappliedEditing): Ditto. (KHTMLPart::reappliedEditing): Ditto.
  • kwq/KWQKHTMLPart.h: Replaced markMisspellingsInSelection and updateSpellChecking with markMisspellings and markMisspellingsInAdjacentWords. Added parameters to respondToChangedSelection.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::markMisspellingsInAdjacentWords): Added. (KWQKHTMLPart::markMisspellings): New name for markMisspellingsInSelection. Simplified logic a bit and made it the caller's responsibility to expand the selection passed in to word boundaries. (KWQKHTMLPart::respondToChangedSelection): Added parameter that identifies the old selection, and changed logic so it won't mark mispellings in a word if the selection still starts in that word.
  • implemented empty-cells property in computed style
  • khtml/css/css_computedstyle.cpp: (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): Added code for CSS_PROP_EMPTY_CELLS. I think the HTML converter in AppKit uses this.
3:55 PM Changeset in webkit [7713] by cblu
  • 4 edits in trunk/WebCore

Fixed n-squared issues with appending to KWQValueListImpl. This fixes the hang in 3794799.

Fixed by Darin, reviewed by me.

  • khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::toHTML): tweaks
  • kwq/KWQValueListImpl.mm: (KWQValueListImpl::KWQValueListPrivate::KWQValueListPrivate): (KWQValueListImpl::KWQValueListPrivate::copyList): (KWQValueListImpl::clear): (KWQValueListImpl::appendNode): (KWQValueListImpl::prependNode): (KWQValueListImpl::removeEqualNodes): (KWQValueListImpl::containsEqualNodes): (KWQValueListImpl::removeIterator): (KWQValueListImpl::lastNode):
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge nodesFromList:]): use iterator, not at()
1:57 PM Changeset in webkit [7712] by rjw
  • 18 edits in trunk

WebCore:

More dashboard region changes for John.

<rdar://problem/3817421> add getter for dashboard regions (debugging)

<rdar://problem/3817417> NSScrollView need autoregions for dashboard

<rdar://problem/3817388> should have short form form control regions

<rdar://problem/3817477> visibility does not work with dashboard control regions

Reviewed by Hyatt.

  • WebCore-combined.exp:
  • WebCore.exp:
  • khtml/css/cssparser.cpp: (skipCommaInDashboardRegion): (CSSParser::parseDashboardRegions):
  • khtml/khtmlview.cpp: (KHTMLView::updateDashboardRegions):
  • khtml/rendering/render_object.cpp: (RenderObject::setStyle): (RenderObject::addDashboardRegions):
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::DocumentImpl): (DocumentImpl::setDashboardRegions):
  • khtml/xml/dom_docimpl.h: (DOM::DocumentImpl::setDashboardRegionsDirty): (DOM::DocumentImpl::dashboardRegionsDirty):
  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::paint): (KWQKHTMLPart::dashboardRegionsDictionary): (KWQKHTMLPart::dashboardRegionsChanged):
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge dashboardRegions]):
  • kwq/WebDashboardRegion.h:
  • kwq/WebDashboardRegion.m: (-[WebDashboardRegion description]):

WebKit:

More dashboard region changes for John.

<rdar://problem/3817421> add getter for dashboard regions (debugging)

<rdar://problem/3817417> NSScrollView need autoregions for dashboard
Also KWQScrollBars

Reviewed by Hyatt.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge dashboardRegionsChanged:]):
  • WebView.subproj/WebView.m: (-[WebView _setInitiatedDrag:]): (-[WebView _addScrollerDashboardRegions:from:]): (-[WebView _addScrollerDashboardRegions:]): (-[WebView _dashboardRegions]):
  • WebView.subproj/WebViewPrivate.h:
1:07 PM Changeset in webkit [7711] by sullivan
  • 2 edits in trunk/LayoutTests/fast/tokenizer

Updated the output of the script type test for more clarity; updated the expected results too.

11:55 AM Changeset in webkit [7710] by sullivan
  • 3 edits in trunk

Reviewed by Chris.

  • fixed <rdar://problem/3818558> REGRESSION: "Installed Plug-ins" is blank because of <script type="application/x-javascript">
  • khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::parseTag): add "application/x-javascript" to the list of legal scripting types. Mozilla accepts this, but WinIE doesn't.
  • layout-tests/fast/tokenizer/004.html: updated layout test to test some application/xxxx types
11:33 AM Changeset in webkit [7709] by hyatt
  • 2 adds in trunk/LayoutTests/fast/lists

New list results.

11:32 AM Changeset in webkit [7708] by hyatt
  • 9 edits in trunk/WebCore

Reworked lists to work well with RTL text. Specifically the following bugs have been fixed:

(1) All bullets use the same offset constant now (a padding of 7 pixels). Before, images used 5 and others used 7.
(2) Line height now works properly, so that list items with no content aren't squished (and missing the line descent).
(3) Punctuation now works correctly with inside and outside style ordered lists in RTL.
(4) RTL lists now properly apply padding and margin to the right side rather than the left. This was done by adding
-khtml-margin-start and -khtml-padding-start properties that are just mapped to left/right based off the direction.

Reviewed by darin

  • khtml/css/cssparser.cpp: (CSSParser::parseValue):
  • khtml/css/cssproperties.c: (hash_prop): (findProp):
  • khtml/css/cssproperties.h:
  • khtml/css/cssproperties.in:
  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::applyDeclarations): (khtml::CSSStyleSelector::applyProperty):
  • khtml/css/html4.css:
  • khtml/rendering/bidi.cpp: (khtml::BidiIterator::direction):
  • khtml/rendering/render_list.cpp: (RenderListItem::getAbsoluteRepaintRect): (RenderListMarker::paint): (RenderListMarker::calcMinMaxWidth): (RenderListMarker::lineHeight): (RenderListMarker::baselinePosition):
11:29 AM Changeset in webkit [7707] by hyatt
  • 3 edits in trunk/LayoutTests/fast/lists

List layout test changes.

11:24 AM Changeset in webkit [7706] by kocienda
  • 6 edits in trunk/WebCore

Reviewed by Darin

Mark the VisiblePosition taking (Position &, EAffinity=DOWNSTREAM) explicit. Recently, when I added
the EAffinity argument, I left this constructor implicit. Darin pointed out to me that this is
undesirable since implicit use of the the constructor involved making the affinity choice, something
which should be done explicitly.

  • khtml/editing/selection.cpp: (khtml::Selection::modifyExtendingRightForward): Make explicit use of constructor mentioned above. (khtml::Selection::modifyMovingRightForward): Ditto. (khtml::Selection::modifyExtendingLeftBackward): Ditto. (khtml::Selection::modifyMovingLeftBackward): Ditto. (khtml::Selection::modify): Ditto. (khtml::Selection::validate): Ditto.
  • khtml/editing/visible_position.h: Make constructor taking (Position &, EAffinity) explicit.
  • khtml/editing/visible_units.cpp: Ditto. (khtml::previousWordBoundary): Make explicit use of constructor mentioned above. (khtml::nextWordBoundary): Ditto. (khtml::previousLinePosition): Ditto. (khtml::nextLinePosition): Ditto.
  • kwq/KWQKHTMLPart.mm: Ditto. (KWQKHTMLPart::findString): Ditto. (KWQKHTMLPart::advanceToNextMisspelling): Ditto. (KWQKHTMLPart::markMisspellingsInSelection): Ditto. (KWQKHTMLPart::updateSpellChecking): Ditto.
9:43 AM Changeset in webkit [7705] by darin
  • 2 edits in trunk/WebCore

Reviewed by John.

  • fixed a storage leak discovered by code inspection
  • khtml/html/htmlparser.cpp: (KHTMLParser::~KHTMLParser): Call setCurrent(0) to deref the parser's current node in the rare case where it still has one.

Sep 27, 2004:

6:08 PM Changeset in webkit [7704] by sullivan
  • 4 edits in trunk/WebKit
  • fixed <rdar://problem/3814705> 8A266: Safari authentication dialog "remember password" text should match Mail
  • Panels.subproj/English.lproj/WebAuthenticationPanel.nib: changed "Remember this password" to "Remember this password in my keychain"; this will need to go through CCC for this week's build.
6:01 PM Changeset in webkit [7703] by hyatt
  • 2 adds in trunk/LayoutTests/fast/invalid

* empty log message *

5:58 PM Changeset in webkit [7702] by hyatt
  • 1 edit in trunk/WebCore/ChangeLog-2005-08-23

Don't allow nested headers when only inlines are in between them. Fixes a hang related to pathological nesting
on magicmethodsonline.com.

Reviewed by darin

  • khtml/html/htmlparser.cpp: (KHTMLParser::parseToken): (KHTMLParser::processCloseTag): (KHTMLParser::isHeaderTag): (KHTMLParser::popNestedHeaderTag):
  • khtml/html/htmlparser.h:
5:57 PM Changeset in webkit [7701] by hyatt
  • 2 edits in trunk/WebCore/khtml/html

ChangeLog

4:17 PM Changeset in webkit [7700] by cblu
  • 2 edits in trunk/WebKit

Fixed: <rdar://problem/3594754> change null event interval from 20 ms to 10 ms to match speed on Windows

Reviewed by NOBODY (OOPS!).

  • Plugins.subproj/WebBaseNetscapePluginView.m:
3:56 PM Changeset in webkit [7699] by cblu
  • 1 edit in trunk/WebKit/ChangeLog

WebKit:

Fixed previous reviewer line.

  • ChangeLog:

WebBrowser:

Fixed typo.

  • ChangeLog:
3:22 PM Changeset in webkit [7698] by cblu
  • 2 edits in trunk/WebKit

Fixed: <rdar://problem/3502138> text files don't remember scroll position when going back or reloading

Reviewed by .

  • WebView.subproj/WebTextView.m: (-[WebTextView layout]): implemented, call sizeToFit, without this scrollPoint: won't work
2:30 PM Changeset in webkit [7697] by sullivan
  • 6 edits in trunk/WebKit

WebKit:

Reviewed by Ken.

  • WebKit part of fix for <rdar://problem/3734466> ER: Support standard editing keystrokes like Cmd-B while editing rich text
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _toggleBold]): new method, toggles font-weight from "bold" to "normal" (-[WebHTMLView _toggleItalic]): new method, toggles font-style from "italic" to "normal" (-[WebHTMLView _handleStyleKeyEquivalent:]): new method, if the new preference is set and we're in an editable state, check for standard key equivalents for toggling styles (just command-B and command-I for now). (-[WebHTMLView performKeyEquivalent:]): Moved in file, now calls _handleStyleKeyEquivalent:
  • WebView.subproj/WebPreferenceKeysPrivate.h: new preference key WebKitRespectStandardStyleKeyEquivalentsPreferenceKey
  • WebView.subproj/WebPreferences.m: (+[WebPreferences initialize]): initial value of WebKitRespectStandardStyleKeyEquivalentsPreferenceKey is NO (maybe we'll change our minds about this, but this is more guaranteed to be backward-compatible) (-[WebPreferences respectStandardStyleKeyEquivalents]): read WebKitRespectStandardStyleKeyEquivalentsPreferenceKey (-[WebPreferences setRespectStandardStyleKeyEquivalents:]): write WebKitRespectStandardStyleKeyEquivalentsPreferenceKey
  • WebView.subproj/WebPreferencesPrivate.h: declare getter and setter
  • English.lproj/StringsNotToBeLocalized.txt: updated for these and other recent changes

WebBrowser:

Reviewed by Ken.

  • WebBrowser part of fix for <rdar://problem/3734466> ER: Support standard editing keystrokes like Cmd-B while editing rich text
  • AppController.m: (-[AppController applicationDidFinishLaunching:]): turn on the new WebKit preference that makes command-B and command-I toggle styles in editable text.
11:41 AM Changeset in webkit [7696] by cblu
  • 2 edits in trunk/WebKit

WebKit:

Fixed: <rdar://problem/3806649> assertion failure after control-click of webcam

Reviewed by john.

  • WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate contextMenuItemsForElement:]): don't provide "Copy Image" if the image is not fully loaded

WebBrowser:

Fixed: Fixed: <rdar://problem/3806649> assertion failure after control-click of webcam

Reviewed by john.

  • ContextMenuHandler.m: (-[BrowserWebView webView:contextMenuItemsForElement:defaultMenuItems:]): don't provide "Save Image", "Copy Image" and "Add Image to iPhoto Library" if the image is not fully loaded. Provide "Download Image" instead.
11:39 AM Changeset in webkit [7695] by hyatt
  • 1 edit in trunk/LayoutTests/fast/frames/contentWindow_Frame-expected.txt

land fixed frame result.

11:35 AM Changeset in webkit [7694] by hyatt
  • 1 edit in trunk/LayoutTests/fast/overflow/003-expected.txt

Land fixed overflow result.

11:00 AM Changeset in webkit [7693] by kdecker
  • 2 edits in trunk/WebCore

Reviewed by John.

  • khtml/css/css_base.cpp: (CSSSelector::selectorText): changed another ATTR_CLASS case to properly return class selector names.
10:52 AM Changeset in webkit [7692] by hyatt
  • 8 edits in trunk/WebCore

Fix style sharing so that it doesn't share when it shouldn't. Partially fixes 3671516, table cells don't update
their color on macosx.apple.com.

Fix 3521639, iframe mispositioned on bidi page. Make sure that when the width of a line exceeds the available line
width that the spillage out of the block is determined by the direction of the block and not by the text-align value.

Partial fix for 3762962, make sure the image cells with specified widths but percentage heights don't just get a minwidth
of 0.

Fix for 3533878, framesets that use percentages that add up to a value > 100% should normalize those percentages.

Reviewed by john

  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::locateCousinList): (khtml::CSSStyleSelector::elementsCanShareStyle): (khtml::CSSStyleSelector::locateSharedStyle):
  • khtml/css/cssstyleselector.h:
  • khtml/html/html_elementimpl.h: (DOM::HTMLNamedAttrMapImpl::hasMappedAttributes): (DOM::HTMLElementImpl::inlineStyleDecl):
  • khtml/rendering/bidi.cpp: (khtml::RenderBlock::computeHorizontalPositionsForLine):
  • khtml/rendering/render_frames.cpp: (RenderFrameSet::layout):
  • khtml/rendering/render_replaced.cpp: (RenderReplaced::calcMinMaxWidth):
  • khtml/xml/dom_elementimpl.h: (DOM::ElementImpl::inlineStyleDecl): (DOM::ElementImpl::hasMappedAttributes):
10:49 AM Changeset in webkit [7691] by kocienda
  • 18 edits
    3 adds in trunk

Reviewed by John

Removed closestRenderedPosition function from Position class and gave this work
to VisiblePosition instead. However, in order to make the transfer possible,
VisiblePosition needed upstream and downstream affinities added to its
constructors. Also moved the EAffinity enum into its own file. Also moved it
to the khtml namespace.

Updated several functions which used closestRenderedPosition to use VisiblePosition
instead.

Also deleted Position::equivalentShallowPosition. This was unused.

  • ForwardingHeaders/editing/text_affinity.h: Added.
  • ForwardingHeaders/editing/visible_position.h: Added.
  • WebCore.pbproj/project.pbxproj: Added new files.
  • khtml/editing/selection.cpp: (khtml::Selection::validate): Use VisiblePosition instead of closestRenderedPosition.
  • khtml/editing/selection.h:
  • khtml/editing/text_affinity.h: Added.
  • khtml/editing/visible_position.cpp: (khtml::VisiblePosition::VisiblePosition): (khtml::VisiblePosition::initUpstream): New helper for finding upstream visible position. (khtml::VisiblePosition::initDownstream): Was old init function that unconditionally did downstream checks for visible position. Renamed to describe this more clearly.
  • khtml/editing/visible_position.h:
  • khtml/editing/visible_units.cpp: (khtml::previousWordBoundary): Use VisiblePosition instead of closestRenderedPosition. (khtml::nextWordBoundary): Use VisiblePosition instead of closestRenderedPosition.
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::updateSelection): Use VisiblePosition instead of closestRenderedPosition.
  • khtml/xml/dom_position.cpp: (DOM::Position::closestRenderedPosition): Removed.
  • khtml/xml/dom_position.h: Removed two functions mentioned above.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::fontForSelection) Use VisiblePosition instead of closestRenderedPosition.:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge setSelectedDOMRange:affinity:]): Use VisiblePosition instead of closestRenderedPosition.
  • layout-tests/editing/deleting/delete-block-merge-contents-012-expected.txt: Updated expected results.
  • layout-tests/editing/deleting/delete-block-merge-contents-017-expected.txt: Ditto.
  • layout-tests/editing/deleting/delete-contiguous-ws-001-expected.txt: Ditto.
  • layout-tests/editing/selection/move-by-character-004-expected.txt: Ditto.
9:36 AM Changeset in webkit [7690] by cblu
  • 2 edits in trunk/WebKit

Fixed: <rdar://problem/3814810> REGRESSION (125-164): Exception adding nil to dictionary in dragging code

Reviewed by john.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _setMouseDownEvent:]): new (-[WebHTMLView acceptsFirstMouse:]): call _setMouseDownEvent (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): ditto (-[WebHTMLView mouseDown:]): ditto (-[WebHTMLView _delegateDragSourceActionMask]): removed temp fix, assert that the mouse event is not nil
8:30 AM Changeset in webkit [7689] by darin
  • 2 edits in trunk/WebKit
  • WebKit.pbproj/project.pbxproj: Added WebDashboardRegion.h as a private header.
7:44 AM Changeset in webkit [7688] by kocienda
  • 13 edits
    3 deletes in trunk/WebCore

Reviewed by Darin and Maciej

Removed EditCommand smart pointer wrappers from htmlediting.cpp/.h, save for the one
at the root of the hierarchy, and this one has been renamed EditCommandPtr. Renamed
each of the XXXCommandImpl classes, removing the Impl suffix from each, and rolled
these into the htmlediting.cpp/.h files. The htmlediting_impl.cpp/.h files have
been emptied and are being removed.

For the remainder of files, perform the mechanical changes necessary to make everything
compile and run as before.

  • WebCore.pbproj/project.pbxproj
  • khtml/editing/htmlediting.cpp
  • khtml/editing/htmlediting.h
  • khtml/editing/htmlediting_impl.cpp: Removed.
  • khtml/editing/htmlediting_impl.h: Removed.
  • khtml/editing/jsediting.cpp
  • khtml/khtml_part.cpp (KHTMLPart::openURL) (KHTMLPart::lastEditCommand) (KHTMLPart::appliedEditing) (KHTMLPart::unappliedEditing) (KHTMLPart::reappliedEditing) (KHTMLPart::applyStyle):
  • khtml/khtml_part.h
  • khtml/khtmlpart_p.h
  • kwq/KWQEditCommand.h
  • kwq/KWQEditCommand.mm (-[KWQEditCommand initWithEditCommandImpl:]) (+[KWQEditCommand commandWithEditCommandImpl:]) (-[KWQEditCommand impl])
  • kwq/KWQKHTMLPart.h
  • kwq/KWQKHTMLPart.mm (KWQKHTMLPart::registerCommandForUndo) (KWQKHTMLPart::registerCommandForRedo)
  • kwq/WebCoreBridge.mm (-[WebCoreBridge undoEditing:]) (-[WebCoreBridge redoEditing:]) (-[WebCoreBridge replaceSelectionWithFragment:selectReplacement:smartReplace:]) (-[WebCoreBridge moveSelectionToDragCaret:smartMove:]) (-[WebCoreBridge deleteSelectionWithSmartDelete:])

Sep 26, 2004:

9:59 PM Changeset in webkit [7687] by darin
  • 5 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed <rdar://problem/3816170> image.width/height not available from Image objects (works in Firefox)
  • khtml/ecma/kjs_html.h: Added width and height.
  • khtml/ecma/kjs_html.cpp: (Image::getValueProperty): Added width and height.
  • khtml/ecma/kjs_html.lut.h: Regenerated.
  • unrelated change; changed ordering of use count manipulation just in case we decide some day to do something when the use count hits 0
  • khtml/rendering/render_image.cpp: (RenderImage::setPixmap): Increment use count on new object before decrementing use count on old object.
7:07 PM Changeset in webkit [7686] by darin
  • 10 adds in trunk/LayoutTests/fast

New layout tests for the bugs I just fixed.

6:54 PM Changeset in webkit [7685] by darin
  • 2 edits in trunk/JavaScriptCore
  • kjs/string_object.cpp: (StringProtoFuncImp::call): Remove strange use of high() and low() to get Unicode value of character, and just use unicode().
6:52 PM Changeset in webkit [7684] by darin
  • 2 edits in trunk/JavaScriptCore
  • refine charAt/charCodeAt fix slightly
  • kjs/string_object.cpp: (StringProtoFuncImp::call): Treat undefined the same was as an omitted parameter, as we do everywhere else, and as other browsers do here.
6:02 PM Changeset in webkit [7683] by darin
  • 8 edits in trunk/WebCore

Reviewed by Kevin.

  • fixed <rdar://problem/3812771> document.implementation.hasFeature returns false for a lot of features we implement
  • khtml/xml/dom_docimpl.cpp: (DOMImplementationImpl::hasFeature): Added all the DOM features that we implemented as part of the HTML editing work.
  • khtml/dom/dom_node.cpp: (Node::isSupported): Changed this to call DOMImplementationImpl::hasFeature to share code. Later this might need to be different per-node, but at the moment that does not seem to be so.
  • khtml/ecma/kjs_dom.cpp: (DOMNodeProtoFunc::tryCall): Pass a null string if the parameter is omitted, undefined, or null. This is better than having a special case for the string "null" in the DOM implementation. (DOMDOMImplementationProtoFunc::tryCall): Ditto.
  • fixed <rdar://problem/3814605> REGRESSION: fast/table/039 layout test is failing due to extra trailing whitespace in innerText
  • khtml/editing/visible_text.cpp: (khtml::TextIterator::advance): Check for the case where we are at the end of iteration, and don't call exitNode in that case. This prevents us from getting some unwanted trailing \n characters.
  • fixed <rdar://problem/3813253> method cloneNode() does not clone dynamically-set style attributes correctly
  • khtml/html/html_elementimpl.h: Added cloneNode override.
  • khtml/html/html_elementimpl.cpp: (HTMLElementImpl::cloneNode): Added. Copies m_inlineStyleDecl. (HTMLElementImpl::parseHTMLAttribute): Changed to use getInlineStyleDecl(). (HTMLElementImpl::innerText): Changed to do the same thing with fewer lines of code. (HTMLElementImpl::outerText): Tweaked comment.
  • other cleanup
  • khtml/xml/dom_elementimpl.cpp: (ElementImpl::cloneNode): Removed an uneeded type cast. (XMLElementImpl::cloneNode): Ditto.
6:01 PM Changeset in webkit [7682] by darin
  • 4 edits in trunk/JavaScriptCore

Reviewed by Kevin.

  • fixed <rdar://problem/3816097> REGRESSION: mailblocks, and presumably many other pages, failing because variable not found
  • kjs/internal.cpp: (InterpreterImp::evaluate): Process variable declarations before executing the program. We were doing this properly for functions, but not entire programs.
  • fixed <rdar://problem/3814706> REGRESSION: text fields in mailblocks wizards do not accept keystrokes due to use of charCodeAt()
  • kjs/string_object.cpp: (StringProtoFuncImp::call): Changed the implementation of charAt and charCodeAt to treat a missing parameter as an index of 0, rather than an invalid index.
  • tests/mozilla/expected.html: Update for two tests that now pass with these changes.

Sep 24, 2004:

5:44 PM Changeset in webkit [7681] by kdecker
  • 2 edits in trunk/WebCore

Reviewed by Maciej.

<rdar://problem/3799334> DIG: Safari does not properly return style names [DigCSS.htm]

  • khtml/css/css_base.cpp: (CSSSelector::selectorText): Properly returns Class Selector names. Before we would get *[CLASS"foo"] instead of .foo
4:27 PM Changeset in webkit [7680] by kocienda
  • 2 edits
    2 adds in trunk

Reviewed by John

Fix for this bug:

<rdar://problem/3814660> REGRESSION (8A200-8A259): Select All has no effect on livepage.apple.com

  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::updateSelection): Move the selection start and end to rendered positions before passing off to the RenderCanvas for drawing.
  • layout-tests/editing/selection/select-all-004-expected.txt: Added.
  • layout-tests/editing/selection/select-all-004.html: Added.
4:23 PM Changeset in webkit [7679] by sullivan
  • 2 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed <rdar://problem/3528339> Turn on full keyboard access shows invisible <input> elements
  • khtml/html/html_formimpl.cpp: (DOM::HTMLGenericFormElementImpl::isFocusable): reject elements that have zero width or height, even if they aren't hidden
4:09 PM Changeset in webkit [7678] by mjs
  • 2 edits in trunk/WebCore
  • fixed deployment build

Reviewed by Ken.

  • khtml/dom/dom_string.cpp: put implementation of ascii() in #ifdef !NDEBUG to match prototype.
3:38 PM Changeset in webkit [7677] by hyatt
  • 1 edit in trunk/LayoutTests/fast/table/037.xml

Fix layout test 37.

3:14 PM Changeset in webkit [7676] by hyatt
  • 2 edits in trunk/WebCore

Fix for 3800316, test 37 for tables is failing on the layout tests. Make sure we don't incorrectly match
non-HTML elements with HTML tag selectors in CSS.

Reviewed by rjw

  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::checkOneSelector):
3:09 PM Changeset in webkit [7675] by hyatt
  • 4 edits in trunk/WebCore

Fix for 3601920, CSS "tabs" not switching properly on zen garden design. Improve the repainting to account
for layer changes of z-index that necessitate an invalidation.

Reviewed by kocienda

  • khtml/rendering/render_object.cpp: (RenderObject::setStyle):
  • khtml/rendering/render_style.cpp: (RenderStyle::diff):
  • khtml/rendering/render_style.h: (khtml::RenderStyle::):
2:44 PM Changeset in webkit [7674] by cblu
  • 7 edits in trunk

WebCore:

Made markup copying 5 times faster. Unfortunately, this still doesn't fix:
<rdar://problem/3794799> Tiger8A252: copying a bunch o' text is so slow it seems like a hang

Reviewed by rjw.

  • khtml/dom/dom_string.h:
  • khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::toHTML): serialize the range by iterating through the range
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::startMarkup): new, factored out from recursive_toString (NodeImpl::endMarkup): ditto (NodeImpl::recursive_toString): call factored out methods
  • khtml/xml/dom_nodeimpl.h:

WebKit:

Reviewed by rjw.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _selectedArchive]): added timing code for copying markup
2:42 PM Changeset in webkit [7673] by vicki
  • 3 edits in trunk

versioning for TOT, Safari 2.0 (v166u)

2:31 PM Changeset in webkit [7672]
  • 3 copies in tags/Safari-165

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

2:31 PM Changeset in webkit [7671] by vicki
  • 6 edits in trunk

Safari-165 stamp for everything except WebBrowser. In these projects, CFBundleShortVersionString matches CFBundleVersion (165 for both).

1:34 PM Changeset in webkit [7670] by cblu
  • 2 edits in trunk/WebKit

Temp fix for: <rdar://problem/3814810> REGRESSION (125-164): Exception adding nil to dictionary in dragging code

Reviewed by john.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _delegateDragSourceActionMask]): return none if the mouse down event is nil
11:12 AM Changeset in webkit [7669] by kocienda
  • 3 edits in trunk

Reviewed by me

Hyatt made an improvement in the render tree which caused the results
to get a little thinner.

  • layout-tests/editing/deleting/delete-block-merge-contents-001-expected.txt.
  • layout-tests/editing/deleting/delete-block-merge-contents-008-expected.txt.
10:51 AM Changeset in webkit [7668] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/3812939> REGRESSION: move-between-blocks-no-001 editing layout test fails in DeleteSelectionCommandImpl

  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::removeChild): Hyatt said this regression was caused by a bad merge. Found by code inspection.
10:49 AM Changeset in webkit [7667] by kocienda
  • 3 edits in trunk/WebKit

Reviewed by John

Fix for this bug:

<rdar://problem/3813917> REGRESSION (125-163): The font panel will change the font of any web page

We were doing a laughably bad job at preventing edits in documents that were not editable.
This change fixes the specific case of the bug mentioned above, and makes an attempt to
fix similar bugs by checking for whether the view is in editing mode before making edits.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _canEdit]): Renamed from _canType. Used in many more places in the code now. (-[WebHTMLView _isMoveDrag]): Change around code to make the meaning more clear. This one was actually performing a correct check before. (-[WebHTMLView keyDown:]): Renamed _canType to _canEdit. (-[WebHTMLView paste:]): Don't beep if can't paste. This matches AppKit. Any paste-related beeps will come from failure to handle key equivalent. Menu validation will kick in to dim menu. (-[WebHTMLView _applyStyleToSelection:]): Bail if !_canEdit. (-[WebHTMLView pasteAsPlainText:]): Ditto. (-[WebHTMLView _alignSelectionUsingCSSValue:]): Ditto. (-[WebHTMLView insertNewline:]): Ditto. (-[WebHTMLView insertParagraphSeparator:]): Ditto. (-[WebHTMLView _changeWordCaseWithSelector:]): Ditto. (-[WebHTMLView _deleteWithDirection:granularity:killRing:]): Ditto. (-[WebHTMLView complete:]): Ditto. (-[WebHTMLView _changeSpellingToWord:]): Ditto. Some code rearranging to eliminate bridge local variable. (-[WebHTMLView ignoreSpelling:]): Ditto. (-[WebHTMLView yank:]): Bail if !_canEdit. (-[WebHTMLView yankAndSelect:]): Ditto. (-[WebHTMLView deleteToMark:]): Ditto. (-[WebHTMLView swapWithMark:]): Ditto. (-[WebHTMLView transpose:]): Ditto. (-[WebHTMLView _updateFontPanel]): Ditto. Some code rearranging to eliminate bridge local variable. (-[WebHTMLView setMarkedText:selectedRange:]): Bail if !_canEdit. (-[WebHTMLView _insertText:selectInsertedText:]): Ditto. Some code rearranging to eliminate bridge local variable.
  • WebView.subproj/WebHTMLViewPrivate.h: Renamed _canType to _canEdit.
9:37 AM Changeset in webkit [7666] by kocienda
  • 2 edits in trunk/WebKit

Reviewed by me

  • WebCoreSupport.subproj/WebDashboardRegion.h: Check in file copied from WebCore.
8:35 AM Changeset in webkit [7665] by sullivan
  • 2 adds in trunk/LayoutTests/fast/tokenizer

Layout tests for acceptable and unacceptable values of "language" and "type" attributes for <script> tags.

Sep 23, 2004:

7:20 PM Changeset in webkit [7664] by sullivan
  • 2 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed <rdar://problem/3551850> hang caused by interpreting bad javascript guarded by a deliberately bogus "language" attribute (www.riibe.com)
  • khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::parseTag): Check for language attribute of <script> tag in a way that matches WinIE. Previously we were far too permissive.
5:27 PM Changeset in webkit [7663] by hyatt
  • 2 edits in trunk/WebCore

Fix for 3685234 and 3548444, the x-offset for frame borders was off by 1 pixel, causing mojibake to occur when
repainting happened.

  • khtml/rendering/render_canvas.cpp: (RenderCanvas::repaintViewRectangle):
5:17 PM Changeset in webkit [7662] by rjw
  • 12 edits in trunk/WebCore

Fixed <rdar://problem/3813271> dashboard-region-circle and dashboard-region-rectangle should be collapsed into dashboard-region
Fixed <rdar://problem/3813289> dashboard regions need to correctly account for overflow/scrolling

Reviewed by Chris.

  • khtml/css/css_valueimpl.cpp: (CSSPrimitiveValueImpl::cssText):
  • khtml/css/css_valueimpl.h:
  • khtml/css/cssparser.cpp: (CSSParser::parseValue): (skipCommaInDashboardRegion): (CSSParser::parseDashboardRegions):
  • khtml/khtmlview.cpp: (KHTMLView::layout): (KHTMLView::updateDashboardRegions):
  • khtml/khtmlview.h:
  • khtml/rendering/render_layer.cpp: (RenderLayer::scrollToOffset):
  • khtml/rendering/render_object.cpp: (RenderObject::addDashboardRegions):
  • khtml/rendering/render_object.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::dashboardRegionsChanged):
  • kwq/WebDashboardRegion.h:
  • kwq/WebDashboardRegion.m: (-[WebDashboardRegion initWithRect:clip:type:]): (-[WebDashboardRegion dashboardRegionClip]): (-[WebDashboardRegion description]):
5:05 PM Changeset in webkit [7661] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Richard

  • khtml/xml/dom_position.cpp: (DOM::Position::inRenderedContent): Make the "empty block" check the same as the one use in visible position. This fixes a recent regression which broke up and down arrowing between blocks with an empty block in between.
2:25 PM Changeset in webkit [7660] by mjs
  • 4 edits in trunk

WebCore:

Reviewed by Darin.

<rdar://problem/3685235> REGRESSION (Mail): links are not properly editable

  • khtml/html/html_inlineimpl.cpp: (HTMLAnchorElementImpl::isFocusable): If this element is editable, then follow the normal focus rules so the link does not swallow focus when you arrow key or drag-select into it.

WebKit:

Reviewed by Darin.

<rdar://problem/3685235> REGRESSION (Mail): links are not properly editable

  • WebView.subproj/WebDefaultUIDelegate.m: By default, don't allow link dragging if the element under the mouse pointer is editable. This way, you can drag-select starting inside a link.
10:56 AM Changeset in webkit [7659] by sullivan
  • 3 edits in trunk/WebKit

WebKit:

Reviewed by Chris.

  • WebKit part of fix for <rdar://problem/3415264> Default encoding should initially be set to current system encoding
  • WebView.subproj/WebPreferences.m: (-[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): new SPI that sets the initial value of the default text encoding to be the system encoding, with a special-case conversion of MacRoman->Latin1. This is not done automatically for WebKit clients for fear of breaking them.
  • WebView.subproj/WebPreferencesPrivate.h: declare new SPI

WebBrowser:

Reviewed by Chris.

  • WebBrowser part of fix for <rdar://problem/3415264> Default encoding should initially be set to current system encoding
  • AppController.m: (-[AppController applicationDidFinishLaunching:]): call new SPI -[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]
10:47 AM Changeset in webkit [7658] by hyatt
  • 1 edit in trunk/WebCore/khtml/rendering/render_block.cpp

* empty log message *

10:29 AM Changeset in webkit [7657] by darin
  • 1 edit
    2 adds in trunk
  • added test for the DOM::Range bug fixed recently
  • layout-tests/fast/dom/clone-contents-0-end-offset-expected.txt: Added.
  • layout-tests/fast/dom/clone-contents-0-end-offset.html: Added.
10:22 AM Changeset in webkit [7656] by hyatt
  • 4 edits in trunk/WebCore

Fix for hitlist bug, crash when deleting.

Also fix repaint bug when inlines are inside overflow:auto/scroll regions.

Reviewed by kocienda

  • khtml/editing/htmlediting_impl.cpp: (khtml::DeleteSelectionCommandImpl::DeleteSelectionCommandImpl): (khtml::DeleteSelectionCommandImpl::doApply):
  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::removeChild):
  • khtml/rendering/render_flow.cpp: (RenderFlow::getAbsoluteRepaintRect):
9:52 AM Changeset in webkit [7655] by sullivan
  • 2 edits in trunk/WebCore

Reviewed by Ken.

  • fixed <rdar://problem/3527840> reproducible crash at johnbrown.v32.qikker.com (nil-deref in NodeImpl::dispatchEvent)
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::dispatchEvent): guard against document or document->document() being nil
9:10 AM Changeset in webkit [7654] by darin
  • 6 edits
    2 adds in trunk/WebCore

Reviewed by Ken.

  • added new VisibleRange class; not used yet
  • WebCore.pbproj/project.pbxproj: Added visible_range.h and visible_range.cpp.
  • khtml/editing/visible_range.cpp: Added.
  • khtml/editing/visible_range.h: Added.
  • tweaks
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge alterCurrentSelection:direction:granularity:]): Use switch statement instead of if statement so we get a warning if we ever add a new granularity.
  • khtml/editing/selection.h: khtml, not DOM, namespace
  • khtml/editing/visible_position.h: Ditto.
9:08 AM Changeset in webkit [7653] by darin
  • 2 edits in trunk/WebCore

Reviewed by Ken.

  • fixed <rdar://problem/3812758> 8S266: attaching mutation events to an editable div crashes Safari
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::dispatchEvent): Added ref/deref so this works if passed a "floating" event object. (NodeImpl::dispatchGenericEvent): Ditto. (NodeImpl::dispatchHTMLEvent): Removed unneeded ref/deref now that dispatchEvent takes care of it. (NodeImpl::dispatchMouseEvent): Ditto. (NodeImpl::dispatchUIEvent): Ditto.
9:05 AM Changeset in webkit [7652] by darin
  • 2 edits in trunk/WebCore

Reviewed by Ken.

  • fixed some minor mistakes discovered by code inspection
  • khtml/khtml_part.cpp: (KHTMLPart::setSelection): Changed to not grab focus if clearing the selection. Grabbing focus when we get the selection is also probably something that should be conditional, since you can use a WebView in a mode where it can have selection even when not first responder, ala NSTextView. (KHTMLPart::setCaretVisible): Changed to not grab focus if making the caret invisible. Not sure if it's ever important to grab focus when making the caret visible, but by code inspection it seemed that was unlikely to do harm.
9:03 AM Changeset in webkit [7651] by darin
  • 2 edits in trunk/WebCore

Reviewed by Ken.

  • fixed <rdar://problem/3790595> "ERROR: unimplemented propertyID: 97" logged to console when copying selection (table-layout)
  • khtml/css/css_computedstyle.cpp: (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): Added CSS_PROP_TABLE_LAYOUT case.
9:02 AM Changeset in webkit [7650] by darin
  • 3 edits in trunk/WebCore

Reviewed by Ken.

  • fixed <rdar://problem/3809600> REGRESSION: text in search field doesn't disappear when clicked at developer.apple.com

Reversing the order of scope caused us to get and set too many properties in the window
object; in the case of this bug setting value ended up setting a window.value property
instead of the value of the <input> element.

  • khtml/ecma/kjs_window.h: Removed bogus hasProperty function that always returns true. Testing shows that MacIE and Gecko match our behavior when we remove this, despite the "need this to match IE behavior" comment in the file, which I believe is incorrect.
  • khtml/ecma/kjs_window.cpp: Ditto.
8:58 AM Changeset in webkit [7649] by darin
  • 2 edits in trunk/WebCore

Reviewed by Ken.

  • fixed <rdar://problem/3812471> -[DOMRange cloneContents] clones too much in some cases where endOffset is 0
  • khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::processContents): Added some nil checks to prevent this function from crashing if offsets are greater than the number of child nodes. Added a special case for offset 0 in one case that has a loop that won't work correctly for that case.
8:50 AM Changeset in webkit [7648] by darin
  • 2 edits in trunk/WebCore

Reviewed by Ken.

  • fixed <rdar://problem/3811890> when selecting and moving the caret, some words aren't spell-checked (test case included)

This was mostly fixed by changes I made recently, but using the test case in the bug
I discovered one regression I introduced and another problem that wasn't fixed yet.
This change fixes both.

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::markMisspellingsInSelection): Removed unneeded inRenderedContent() check. It was returning false in cases involving a <br> at the end of line, and the check isn't all that helpful now that we use VisiblePosition, which takes care of that sort of thing for you. Changed code to determine the range to check to use the two different flavors of word boundary to expand to words we touch in both directions. (KWQKHTMLPart::updateSpellChecking): Changed to use the same logic about word boundaries. By being consistent, the anomalies reported in the bug report go away.
8:22 AM Changeset in webkit [7647] by darin
  • 3 edits in trunk/WebKit

Reviewed by Ken.

  • fixed <rdar://problem/3811584> REGRESSION (85-125): iframe.document undefined in function called from button onclick; works from img onclick

The fix is to not let "defers callbacks" have any effect on loading "about:blank".
I also had to fix one bug in WebCore that could then be reproduced by going to "about:blank"
while using a button.

  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient connection:didReceiveResponse:]): Loosen asserts to allow this callback for the specific case of "about:blank" even if the defers callbacks flag is true. (-[WebMainResourceClient connectionDidFinishLoading:]): Ditto. (-[WebMainResourceClient loadWithRequestNow:]): Added NSURLRequest return value. Loosened asserts as above. Changed code to return a new request if we get a new request back that is not empty when the defers callbacks flag is true. (-[WebMainResourceClient loadWithRequest:]): If the defers callbacks flag is set, but the URL is one that gives us an empty document, then do the work right away, don't defer it.
8:21 AM Changeset in webkit [7646] by darin
  • 2 edits in trunk/WebCore

Reviewed by Ken.

  • fixed <rdar://problem/3811584> REGRESSION (85-125): iframe.document undefined in function called from button onclick; works from img onclick

Since we are doing a bit less "defers callbacks" work, when testing I ran into this code path.

  • khtml/xml/dom2_eventsimpl.cpp: (MouseEventImpl::computeLayerPos): Check for document without renderer.
12:10 AM Changeset in webkit [7645] by darin
  • 1 edit
    1 add in trunk/WebCore
  • checked in a new file I forgot
  • khtml/editing/text_granularity.h: Added.
12:09 AM Changeset in webkit [7644] by darin
  • 1 edit
    1 add in trunk/WebKit
  • fixed B&I builds by checking in generated file
  • WebCoreSupport.subproj/WebDashboardRegion.h: Added.
12:05 AM Changeset in webkit [7643] by darin
  • 29 edits
    1 add in trunk/WebCore
  • renamed

DOM::CaretPosition -> khtml::VisibleRange
DOM::Selection -> khtml::Selection

  • moved all the functions in visible_units.h from DOM to khtml namespace
  • moved the one thing from Selection that KHTMLPart uses into its own header
  • WebCore.pbproj/project.pbxproj: Added text_granularity.h.
  • ForwardingHeaders/editing/selection.h: Added.
  • WebCore-combined.exp: Regenerated.
  • WebCore-tests.exp: Updated symbol for DOM::Selection debugging.
  • khtml/ecma/kjs_window.cpp: Update names and namespaces.
  • khtml/editing/htmlediting.cpp: Ditto.
  • khtml/editing/htmlediting.h: Ditto.
  • khtml/editing/htmlediting_impl.cpp: Ditto.
  • khtml/editing/htmlediting_impl.h: Ditto.
  • khtml/editing/jsediting.cpp: Ditto.
  • khtml/editing/selection.cpp: Ditto.
  • khtml/editing/selection.h: Ditto.
  • khtml/editing/visible_position.cpp: Ditto.
  • khtml/editing/visible_position.h: Ditto.
  • khtml/editing/visible_text.h: Ditto.
  • khtml/editing/visible_units.cpp: Ditto.
  • khtml/editing/visible_units.h: Ditto.
  • khtml/khtml_part.cpp: Ditto.
  • khtml/khtml_part.h: Ditto.
  • khtml/khtmlpart_p.h: Ditto.
  • khtml/rendering/render_block.cpp: Ditto.
  • khtml/xml/dom_docimpl.h: Ditto.
  • khtml/xml/dom_nodeimpl.cpp: Ditto.
  • kwq/KWQKHTMLPart.h: Ditto.
  • kwq/KWQKHTMLPart.mm: Ditto.
  • kwq/KWQRenderTreeDebug.cpp: Ditto.
  • kwq/WebCoreBridge.mm: Ditto.

Sep 22, 2004:

11:21 PM Changeset in webkit [7642] by darin
  • 217 edits in trunk/WebCore
  • ForwardingHeaders/*: Use import instead of include.
10:23 PM Changeset in webkit [7641] by darin
  • 34 edits
    4 adds
    9 deletes in trunk/WebCore
  • renamed these files:

misc/khtml_text_operations.h -> editing/visible_text.h
misc/khtml_text_operations.cpp -> editing/visible_text.cpp
xml/dom_caretposition.cpp -> editing/visible_position.cpp
xml/dom_caretposition.h -> editing/visible_position.h
xml/dom_selection.cpp -> editing/selection.cpp
xml/dom_selection.h -> editing/selection.h

  • broke out the word/line/paragraph part of visible_position.h into visible_units.h
  • removed some unnecessary includes from some header files to reduce the number of files that trigger "building the world"
  • WebCore.pbproj/project.pbxproj: Added the files under new names, removed the old ones.
  • ForwardingHeaders/editing/jsediting.h: Added.
  • ForwardingHeaders/editing/visible_text.h: Added.
  • ForwardingHeaders/misc/khtml_text_operations.h: Removed.
  • ForwardingHeaders/xml/dom_caretposition.h: Removed.
  • ForwardingHeaders/xml/dom_selection.h: Removed.
  • khtml/ecma/kjs_window.cpp: Updated or removed #include lines.
  • khtml/editing/htmlediting.cpp: Ditto.
  • khtml/editing/htmlediting.h: Ditto.
  • khtml/editing/htmlediting_impl.cpp: Ditto.
  • khtml/editing/htmlediting_impl.h: Ditto.
  • khtml/editing/jsediting.cpp: Ditto.
  • khtml/editing/selection.cpp: Ditto.
  • khtml/editing/selection.h: Ditto.
  • khtml/editing/visible_position.cpp: Ditto.
  • khtml/editing/visible_position.h: Ditto.
  • khtml/editing/visible_text.cpp: Ditto.
  • khtml/editing/visible_text.h: Ditto.
  • khtml/editing/visible_units.cpp: Added.
  • khtml/editing/visible_units.h: Added.
  • khtml/html/html_elementimpl.cpp: Updated or removed #include lines.
  • khtml/khtml_part.cpp: Ditto.
  • khtml/khtml_part.h: Ditto.
  • khtml/khtmlpart_p.h: Ditto.
  • khtml/khtmlview.cpp: Ditto.
  • khtml/misc/khtml_text_operations.cpp: Removed.
  • khtml/misc/khtml_text_operations.h: Removed.
  • khtml/rendering/render_block.cpp: Updated or removed #include lines.
  • khtml/xml/dom2_rangeimpl.cpp: Ditto.
  • khtml/xml/dom_caretposition.cpp: Removed.
  • khtml/xml/dom_caretposition.h: Removed.
  • khtml/xml/dom_docimpl.cpp: Updated or removed #include lines.
  • khtml/xml/dom_docimpl.h: Ditto.
  • khtml/xml/dom_elementimpl.cpp: Ditto.
  • khtml/xml/dom_nodeimpl.cpp: Ditto.
  • khtml/xml/dom_position.cpp: Ditto.
  • khtml/xml/dom_selection.cpp: Removed.
  • khtml/xml/dom_selection.h: Removed.
  • kwq/KWQKHTMLPart.mm: Updated or removed #include lines.
  • kwq/KWQKHTMLPart.h: Ditto.
  • kwq/KWQRenderTreeDebug.cpp: Ditto.
  • kwq/WebCoreBridge.mm: Ditto.
6:50 PM Changeset in webkit [7640] by rjw
  • 13 edits
    2 adds in trunk

WebCore:

Pass dashboard regions up to WebKit.

Don't collect regions from RenderTexts.

Made more args and return types references to avoid
copying value lists.

Reviewed by Hyatt.

  • WebCore.pbproj/project.pbxproj:
  • khtml/khtmlview.cpp: (KHTMLView::layout):
  • khtml/rendering/render_object.cpp: (RenderObject::collectDashboardRegions):
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::dashboardRegions): (DocumentImpl::setDashboardRegions):
  • khtml/xml/dom_docimpl.h:
  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::didFirstLayout): (KWQKHTMLPart::dashboardRegionsChanged):
  • kwq/WebCoreBridge.h:
  • kwq/WebDashboardRegion.h: Added.
  • kwq/WebDashboardRegion.m: Added. (-[WebDashboardRegion initWithRect:type:]): (-[WebDashboardRegion copyWithZone:]): (-[WebDashboardRegion dashboardRegionRect]): (-[WebDashboardRegion dashboardRegionType]): (-[WebDashboardRegion description]):

WebKit:

Pass dashboard regions to UI delegate.

Reviewed by Hyatt.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge dashboardRegionsChanged:]):
  • WebView.subproj/WebUIDelegatePrivate.h:
  • copy-webcore-files-to-webkit:

WebBrowser:

Debug only code to display dashboard regions.

Reviewed by Hyatt.

  • BrowserWebController.m: (-[BrowserWebView webView:dashboardRegionsChanged:]):
4:57 PM Changeset in webkit [7639] by kocienda
  • 5 edits in trunk

Reviewed by Hyatt

Fix for this hitlist bug:

<rdar://problem/3805486> REGRESSION (Mail): Empty block elements can cause the caret to get "stuck" in one spot

  • khtml/xml/dom_caretposition.cpp: (DOM::CaretPosition::isCandidate): You can no longer caret into empty blocks with no height. Also did a little clean up in this function.
  • layout-tests/editing/deleting/delete-3800834-fix-expected.txt: Regenerated expected results. This test was actually failing and had bogus results checked in!
  • layout-tests/editing/selection/select-all-003-expected.txt: Regenerated expected results.
4:45 PM Changeset in webkit [7638] by cblu
  • 2 edits in trunk/WebKit

Fixed build that I just broke.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]):
4:42 PM Changeset in webkit [7637] by cblu
  • 9 edits in trunk

WebCore:

Fixed: <rdar://problem/3812091> REGRESSION (Mail): double-clicked word is not smart inserted on drag

Reviewed by john.

  • khtml/editing/htmlediting.cpp: (khtml::MoveSelectionCommand::MoveSelectionCommand): take smartMove arg
  • khtml/editing/htmlediting.h:
  • khtml/editing/htmlediting_impl.cpp: (khtml::CompositeEditCommandImpl::deleteSelection): take smartDelete arg (khtml::MoveSelectionCommandImpl::MoveSelectionCommandImpl): take smartMove arg (khtml::MoveSelectionCommandImpl::doApply): pass smartMove for smartDelete and smartReplace
  • khtml/editing/htmlediting_impl.h:
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge moveSelectionToDragCaret:smartMove:]): take smartMove arg

WebKit:

<rdar://problem/3812091> REGRESSION (Mail): double-clicked word is not smart inserted on drag

Reviewed by john.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): pass value for smartMove
3:17 PM Changeset in webkit [7636] by kocienda
  • 5 edits in trunk/WebCore

Reviewed by Hyatt

  • khtml/css/css_computedstyle.cpp: (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): New overloaded version of this function, one that takes a flag to determine whether to perform a document updateLayout() call before querying the style system.
  • khtml/css/css_computedstyle.h: (DOM::EUpdateLayout): Give a symbolic constant to true/false for the purpose of the new call to getPropertyCSSValue.
  • khtml/editing/htmlediting_impl.cpp: (khtml::StyleChange::currentlyHasStyle): Pass DoNotUpdateLayout to call to getPropertyCSSValue. (khtml::CompositeEditCommandImpl::applyTypingStyle): Add in top-level calls to updateLayout before doing style changes that now do not update styles themselves. (khtml::ApplyStyleCommandImpl::doApply): Ditto. (khtml::ApplyStyleCommandImpl::removeCSSStyle): Pass DoNotUpdateLayout to call to getPropertyCSSValue. (khtml::DeleteSelectionCommandImpl::computeTypingStyle): Remove this dead code.
  • khtml/editing/htmlediting_impl.h: Ditto.
2:25 PM Changeset in webkit [7635] by cblu
  • 5 edits in trunk/WebKit

WebKit:

Fixed:
<rdar://problem/3667301> Frequent crashes in Mail when viewing HTML messages (CFURLGetByteRangeForComponent)
<rdar://problem/3810354> WebResourceLoadDelegate can't refuse requests by returning nil; code asserts/crashes instead

Reviewed by rjw.

  • WebCoreSupport.subproj/WebSubresourceClient.m: (+[WebSubresourceClient startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]): removed broken code that handled loadWithRequest returning NO
  • WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate loadWithRequest:]): if nil is returned from the client for willSendRequest, report the cancelled error and return

WebBrowser:

Reviewed by rjw.

  • LoadProgressMonitor.m: (-[LoadProgressMonitor webView:resource:willSendRequest:redirectResponse:fromDataSource:]): updated to use "new" API, this wasn't being called!
2:12 PM Changeset in webkit [7634] by kocienda
  • 9 edits
    2 adds in trunk

WebCore:

Reviewed by Darin

  • WebCore.pbproj/project.pbxproj: New files added.
  • khtml/khtml_part.cpp: (KHTMLPart::clearSelection): No longer calls setFocusIfNeeded. (KHTMLPart::slotClearSelection): Merged old implementation from this function to clearSelection. Now just calls clearSelection. Also put in !APPLE_CHANGES since we do not call it.
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::setFocusNode): Add some code to determine when setting the focus should clear the selection.
  • kwq/KWQWidget.mm: (QWidget::hasFocus): Call _webcore_effectiveFirstResponder to get view to check for focus. (QWidget::setFocus): Ditto.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge deselectText]): Called slotClearSelection and should have been. Now calls clearSelection.
  • kwq/WebCoreView.h: Added.
  • kwq/WebCoreView.m: Added. (-[NSView _webcore_effectiveFirstResponder]): New method to yield the correct responder to check for firstResponder-ness before calling makeFirstResonder. This helps to prevent unwanted firstResponder switching. (-[NSClipView _webcore_effectiveFirstResponder]): Ditto. (-[NSScrollView _webcore_effectiveFirstResponder]): Ditto.

WebKit:

Reviewed by Darin

  • WebView.subproj/WebFrameView.m: (-[WebFrameView _webcore_effectiveFirstResponder]): New function to yield the correct responder to check for firstResponder-ness before calling makeFirstResonder. This helps to prevent unwanted firstResponder switching.
  • WebView.subproj/WebView.m: (-[WebView _webcore_effectiveFirstResponder]): Ditto.
1:36 PM Changeset in webkit [7633] by mjs
  • 3 edits in trunk/WebCore

Reviewed by Darin.

<rdar://problem/3805137> REGRESSION: Cannot search on pricetool.com

The problem here is that residual style handling can cause an
element associated with a misnested form to lose the association,
because it can become detached and then reattached in this
case. So we need to maintain the association.

  • khtml/html/html_formimpl.h: Added list of dormant elements to form, and dormant bit to generic form element.
  • khtml/html/html_formimpl.cpp: (DOM::HTMLFormElementImpl::~HTMLFormElementImpl): Clear m_form field for dormant elements too. (DOM::HTMLFormElementImpl::registerFormElement): Remove from dormant list in addition to adding to main list. (DOM::HTMLFormElementImpl::removeFormElement): Remove from both lists. (DOM::HTMLFormElementImpl::makeFormElementDormant): New method, remove from main list, add to dormant list. (DOM::HTMLGenericFormElementImpl::HTMLGenericFormElementImpl): Initialize dormant bit to false. (DOM::HTMLGenericFormElementImpl::insertedIntoDocument): If the element is dormant and has a form, re-register it and clear the dormant bit. (DOM::HTMLGenericFormElementImpl::removedFromDocument): If the document has a form, tell the form it is dormant and set the dormant bit.
1:26 PM Changeset in webkit [7632] by cblu
  • 4 edits in trunk/WebCore

Fixed: <rdar://problem/3811187> REGRESSION (Mail): Control-click past end of document does not spell check last word

Reviewed by kocienda.

  • khtml/xml/dom_selection.cpp: (DOM::Selection::validate): if at the end of the document, expand to the left.
1:15 PM Changeset in webkit [7631] by mjs
  • 1 edit in trunk/WebCore/ChangeLog-2005-08-23

Remove stray non-ascii characters in ChangeLog.

1:14 PM Changeset in webkit [7630] by mjs
  • 3 edits in trunk/WebCore

Reviewed by Ken and John.

<rdar://problem/3759228> REGRESSION (Mail): stray characters when entering text via input method right after newline

  • khtml/editing/htmlediting_impl.cpp: (khtml::CompositeEditCommandImpl::inputText): Add an optional selectInsertedText parameter. (khtml::ReplaceSelectionCommandImpl::doApply): Let the inputText operation select the text when inserting plain text, because it already knows all the right information to do so, and this function doesn't (sometimes text is inserted before the start of the old selection, not after!)
  • khtml/editing/htmlediting_impl.h:
1:03 PM Changeset in webkit [7629] by rjw
  • 3 edits in trunk/WebCore

More tweaks to dashboard regions style.

Move dashboard regions list into css3NonInheritedData so it will be shared
by all styles that don't modify the empty region list.

Make the initial value for dashboard region list a static to minimize allocations
of empty lists.

Unrelated to regions: make marquee, flex box, and opacity style accessor functions const.

Reviewed by Hyatt.

  • khtml/rendering/render_style.cpp: (RenderStyle::diff):
  • khtml/rendering/render_style.h: (khtml::RenderStyle::opacity): (khtml::RenderStyle::boxAlign): (khtml::RenderStyle::boxDirection): (khtml::RenderStyle::boxFlexGroup): (khtml::RenderStyle::boxOrdinalGroup): (khtml::RenderStyle::boxOrient): (khtml::RenderStyle::boxPack): (khtml::RenderStyle::marqueeIncrement): (khtml::RenderStyle::marqueeSpeed): (khtml::RenderStyle::marqueeLoopCount): (khtml::RenderStyle::marqueeBehavior): (khtml::RenderStyle::marqueeDirection): (khtml::RenderStyle::dashboardRegions): (khtml::RenderStyle::setDashboardRegions): (khtml::RenderStyle::setDashboardRegion): (khtml::RenderStyle::initialDashboardRegions):
11:42 AM Changeset in webkit [7628] by hyatt
  • 2 edits in trunk/WebCore

Fix for 3802766, entire view redrawn in Blot while typing. Don't needlessly create text nodes just to find
out the font for the caret position.

Reviewed by darin

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::fontForSelection):

Sep 21, 2004:

6:30 PM Changeset in webkit [7627] by cblu
  • 12 edits in trunk

WebCore:

Fixed:
<rdar://problem/3735071> REGRESSION (Mail): WebCore Editing must do smart paste
<rdar://problem/3799163> REGRESSION (Mail): Deleting a word doesn't delete whitespace

Reviewed by darin.

  • khtml/editing/htmlediting.cpp: (khtml::DeleteSelectionCommand::DeleteSelectionCommand): take smartDelete parameter (khtml::ReplaceSelectionCommand::ReplaceSelectionCommand): take smartReplace parameter
  • khtml/editing/htmlediting.h:
  • khtml/editing/htmlediting_impl.cpp: (khtml::DeleteSelectionCommandImpl::DeleteSelectionCommandImpl): take smartDelete parameter (khtml::DeleteSelectionCommandImpl::doApply): delete whitespace before and after selection if necessary (khtml::ReplaceSelectionCommandImpl::ReplaceSelectionCommandImpl): take smartReplace parameter (khtml::ReplaceSelectionCommandImpl::doApply): add whitespace before and after the replacement if necessary
  • khtml/editing/htmlediting_impl.h:
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge replaceSelectionWithFragment:selectReplacement:smartReplace:]): take smartReplace parameter (-[WebCoreBridge replaceSelectionWithNode:selectReplacement:smartReplace:]): ditto (-[WebCoreBridge replaceSelectionWithMarkupString:baseURLString:selectReplacement:smartReplace:]): ditto (-[WebCoreBridge replaceSelectionWithText:selectReplacement:smartReplace:]): ditto (-[WebCoreBridge deleteSelectionWithSmartDelete:]): take smartDelete parameter

WebKit:

Fixed:
<rdar://problem/3735071> REGRESSION (Mail): WebCore Editing must do smart paste
<rdar://problem/3799163> REGRESSION (Mail): Deleting a word doesn't delete whitespace

Reviewed by darin.

  • WebView.subproj/WebDataSource.m: (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): pass NO for smartReplace
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): pass parameter for smartReplace using _canSmartReplaceWithPasteboard (-[WebHTMLView _changeSpellingFromMenu:]): pass NO for smartReplace (-[WebHTMLView pasteboardTypesForSelection]): include WebSmartPastePboardType when _canSmartCopyOrDelete return YES (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): ditto (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): pass parameter for smartReplace using _canSmartReplaceWithPasteboard (-[WebHTMLView delete:]): call _deleteSelection (-[WebHTMLView cut:]): don't call delegate twice, call _deleteRange to delete (-[WebHTMLView pasteAsPlainText:]): pass parameter for smartReplace using _canSmartReplaceWithPasteboard (-[WebHTMLView _changeWordCaseWithSelector:]): pass NO for smartReplace (-[WebHTMLView deleteBackward:]): call _deleteSelection when there is a selected range (-[WebHTMLView _changeSpellingToWord:]): pass NO for smartReplace (-[WebHTMLView deleteToMark:]): pass NO for smartDeleteOK (-[WebHTMLView transpose:]): pass NO for smartReplace (-[WebHTMLView _shouldDeleteRange:]): moved (-[WebHTMLView _deleteRange:preflight:killRing:prepend:smartDeleteOK:]): moved, handle smartDelete (-[WebHTMLView _deleteWithDirection:granularity:killRing:]): moved (-[WebHTMLView _deleteSelection]): new (-[WebHTMLView _canSmartReplaceWithPasteboard]): new (-[WebHTMLView _canSmartCopyOrDelete]): new (-[WebHTMLView setMarkedText:selectedRange:]): pass NO for smartReplace (-[WebHTMLView _discardMarkedText]): call _deleteSelection (-[WebTextCompleteController _insertMatch:]): pass NO for smartReplace (-[WebTextCompleteController endRevertingChange:moveLeft:]): pass NO for smartReplace
  • WebView.subproj/WebHTMLViewInternal.h:
  • WebView.subproj/WebView.m: (-[WebView _commonInitializationWithFrameName:groupName:]): set smartInsertDeleteEnabled to YES (-[WebView replaceSelectionWithNode:]): pass NO for smartReplace (-[WebView replaceSelectionWithText:]): pass NO for smartReplace (-[WebView replaceSelectionWithMarkupString:]): pass NO for smartReplace (-[WebView deleteSelection]): call _deleteSelection on WebHTMLView
6:13 PM Changeset in webkit [7626] by rjw
  • 8 edits in trunk/WebCore

More dashboard region work.

Added support for computed style and cssText for new region property.
Added restriction on length types allowed in region functions.
Added initial and inheritance support for -apple-dashboard-region.

Reviewed by Hyatt.

  • khtml/css/css_computedstyle.cpp: (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
  • khtml/css/css_valueimpl.cpp: (CSSPrimitiveValueImpl::cssText):
  • khtml/css/cssparser.cpp: (CSSParser::parseDashboardRegions):
  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::applyProperty):
  • khtml/rendering/render_object.cpp: (RenderObject::addDashboardRegions):
  • khtml/rendering/render_style.cpp: (RenderStyle::diff):
  • khtml/rendering/render_style.h: (khtml::StyleDashboardRegion::operator==): (khtml::RenderStyle::dashboardRegions): (khtml::RenderStyle::setDashboardRegions): (khtml::RenderStyle::initialDashboardRegions):
5:41 PM Changeset in webkit [7625] by darin
  • 10 edits in trunk/WebCore

Reviewed by Ken.

  • fixed problem where our updateLayout call ignores pending stylesheets all the time
  • khtml/xml/dom_docimpl.h: Added updateLayoutIgnorePendingStylesheets.
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::updateLayout): Took out the "ignore pending stylesheets" business here. (DocumentImpl::updateLayoutIgnorePendingStylesheets): Put it in here.
  • khtml/ecma/kjs_dom.cpp: (DOMNode::getValueProperty): Call the new updateLayoutIgnorePendingStylesheets function.
  • khtml/ecma/kjs_html.cpp: (KJS::HTMLElement::getValueProperty): Ditto. (KJS::HTMLElement::putValue): Ditto.
  • khtml/ecma/kjs_views.cpp: (DOMAbstractViewFunc::tryCall): Ditto.
  • khtml/ecma/kjs_window.cpp: (Window::updateLayout): Ditto. (Selection::get): Ditto. (SelectionFunc::tryCall): Ditto.
  • khtml/html/html_imageimpl.h: Add ignorePendingStylesheets boolean parameter.
  • khtml/html/html_imageimpl.cpp: (HTMLImageElementImpl::width): Respect new parameter. (HTMLImageElementImpl::height): Ditto.
  • tweaks
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge alterCurrentSelection:direction:granularity:]): Removed unneeded explicit "true" parameter to setSelection. (-[WebCoreBridge alterCurrentSelection:verticalDistance:]): Ditto.
5:38 PM Changeset in webkit [7624] by darin
  • 4 edits in trunk/WebCore

Reviewed by Ken.

  • fix crash when pasting text at the end of the document and then doing an undo
  • khtml/editing/htmlediting_impl.cpp: (khtml::EditCommandImpl::apply): Call markMisspellingsInSelection before doing the editing operation, and we'll tell setSelection not to unmark the old selection. Also call updateLayout before calling appliedEditing so DOM operations in the code responding to the selection change will work. (khtml::EditCommandImpl::unapply): Ditto. (khtml::EditCommandImpl::reapply): Ditto.
  • khtml/khtml_part.h: Added a third parameter to setSelection to tell it whether to unmark the old selection. We must pass false when editing, because the old selection might have now-invalid offsets inside it.
  • khtml/khtml_part.cpp: (KHTMLPart::setSelection): Add unmarkOldSelection parameter, and respect it. (KHTMLPart::appliedEditing): Pass false for unmarkOldSelection. (KHTMLPart::unappliedEditing): Ditto. (KHTMLPart::reappliedEditing): Ditto.
3:12 PM Changeset in webkit [7623] by rjw
  • 14 edits in trunk/WebCore

Part 2 of the feature requested in
<rdar://problem/3752791> Dashboard: Need a better solution for control regions

This patch actually collections the regions and converts to absolute coordinates.
Only remaining piece is to pass over the bridge and up the alley to WebKit
UI delegate.

Reviewed by Ken.

  • khtml/css/css_valueimpl.h: (DOM::CSSPrimitiveValueImpl::getDashboardRegionValue):
  • khtml/css/cssparser.cpp: (CSSParser::parseValue): (CSSParser::parseDashboardRegions):
  • khtml/css/cssproperties.c:
  • khtml/css/cssproperties.h:
  • khtml/css/cssproperties.in:
  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::applyProperty):
  • khtml/khtmlview.cpp: (KHTMLView::layout):
  • khtml/rendering/render_object.cpp: (RenderObject::computeDashboardRegions): (RenderObject::addDashboardRegions): (RenderObject::collectDashboardRegions):
  • khtml/rendering/render_object.h: (khtml::DashboardRegionValue::operator==):
  • khtml/rendering/render_style.cpp:
  • khtml/rendering/render_style.h: (khtml::StyleDashboardRegion::): (khtml::RenderStyle::dashboardRegions): (khtml::RenderStyle::setDashboardRegion):
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::DocumentImpl): (DocumentImpl::updateLayout): (DocumentImpl::acceptsEditingFocus): (DocumentImpl::dashboardRegions): (DocumentImpl::setDashboardRegions):
  • khtml/xml/dom_docimpl.h: (DOM::DocumentImpl::hasDashboardRegions): (DOM::DocumentImpl::setHasDashboardRegions):
3:09 PM Changeset in webkit [7622] by sullivan
  • 8 edits in trunk

WebCore:

Reviewed by Darin.

  • WebCore part of fix for <rdar://problem/3618274> REGRESSION (125-135): Option-tab doesn't always work as expected
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::tabsToAllControls): reworked logic to match what we promise in the UI; this worked correctly before for regular tabbing, but not for option-tabbing.
  • kwq/KWQButton.mm: (QButton::focusPolicy): check tabsToAllControls() rather than just WebCoreKeyboardAccessFull
  • kwq/KWQComboBox.mm: (QComboBox::focusPolicy): ditto
  • kwq/KWQFileButton.mm: (KWQFileButton::focusPolicy): ditto
  • kwq/KWQListBox.mm: (QListBox::focusPolicy): ditto

WebKit:

Reviewed by Darin.

  • WebKit part of fix for <rdar://problem/3618274> REGRESSION (125-135): Option-tab doesn't always work as expected
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]): Don't set WebCoreKeyboardAccessFull when setting WebCoreKeyboardAccessTabsToLinks after all; these need to be tested independently to get the option-tab behavior correct.

WebBrowser:

Fixed: <rdar://problem/3807365> REGRSSION (8A259): drag bookmark to Finder does not appear in Finder

Reviewed by john.

  • BookmarksViewController.m: (-[BookmarksViewController outlineView:namesOfPromisedFilesDroppedAtDestination:forDraggedItems:]): new, must implement this method on Tiger for promised drags to work
2:53 PM Changeset in webkit [7621] by sullivan
  • 2 edits in trunk/WebKit
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView doCommandBySelector:]): Commented out part of previous change; it breaks Mail editing until Mail fixes bug 3810158.
2:18 PM Changeset in webkit [7620] by sullivan
  • 4 edits in trunk/WebCore
  • khtml/xml/dom_selection.cpp: (DOM::Selection::modify): initialize xPos to make compiler happy in deployment builds
12:00 PM Changeset in webkit [7619] by sullivan
  • 2 edits in trunk/WebKit

Reviewed by Ken.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView doCommandBySelector:]): Fix build failure from previous checkin, d'oh! Didn't set up webview variable.
11:31 AM Changeset in webkit [7618] by darin
  • 14 edits in trunk/WebCore

Reviewed by Ken.

  • some small mechanical improvements to the position and selection classes
  • khtml/xml/dom_position.h: Added clear(), startPosition(), and endPosition().
  • khtml/xml/dom_position.cpp: (DOM::Position::clear): Added. (DOM::startPosition): Added. (DOM::endPosition): Added.
  • khtml/xml/dom_caretposition.h: Changed m_position to m_deepPosition. Added clear(), removed node() and offset().
  • khtml/xml/dom_caretposition.cpp: (DOM::CaretPosition::init): Updated for name change of m_position to m_deepPosition. (DOM::CaretPosition::isLastInBlock): Ditto. (DOM::CaretPosition::next): Ditto. (DOM::CaretPosition::previous): Ditto. (DOM::CaretPosition::debugPosition): Ditto. (DOM::CaretPosition::formatForDebugger): Ditto.
  • khtml/xml/dom_selection.h: Remove setStart, setEnd, setStartAndEnd, rangeStart, rangeEnd, and all the assignXXX functions.
  • khtml/xml/dom_selection.cpp: (DOM::Selection::Selection): Wean from assign functions, get and set data members directly. (DOM::Selection::init): Don't clear base, extent, start, and end, since they have constructors. (DOM::Selection::operator=): Wean from assign functions, get and set data members directly. (DOM::Selection::moveTo): Ditto. (DOM::Selection::setModifyBias): Ditto. (DOM::Selection::modifyExtendingRightForward): Ditto. (DOM::Selection::modifyMovingRightForward): Ditto. (DOM::Selection::modifyExtendingLeftBackward): Ditto. (DOM::Selection::modifyMovingLeftBackward): Ditto. (DOM::Selection::modify): Ditto. (DOM::Selection::xPosForVerticalArrowNavigation): Ditto. (DOM::Selection::clear): Ditto. (DOM::Selection::setBase): Ditto. (DOM::Selection::setExtent): Ditto. (DOM::Selection::setBaseAndExtent): Ditto. (DOM::Selection::toRange): Ditto. (DOM::Selection::layoutCaret): Ditto. (DOM::Selection::needsCaretRepaint): Ditto. (DOM::Selection::validate): Ditto. (DOM::Selection::debugRenderer): Ditto. (DOM::Selection::debugPosition): Ditto. (DOM::Selection::end):
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::advanceToNextMisspelling): Tweaked whitespace.
11:08 AM Changeset in webkit [7617] by sullivan
  • 3 edits in trunk/WebKit

Reviewed by Ken.

  • fixed <rdar://problem/3809477> WebHTMLView needs to pass doCommandBySelector through delegate
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView doCommandBySelector:]): Call through to editing delegate. If editing delegate returns YES, don't call super.
  • WebView.subproj/WebDefaultEditingDelegate.m: (-[WebDefaultEditingDelegate webView:doCommandBySelector:]): default implementation (which was never called) was returning YES, but it should return NO to signal that it didn't handle the selector.
10:06 AM Changeset in webkit [7616] by cblu
  • 5 edits in trunk

WebCore:

Fixed: <rdar://problem/3647229> Safari does not play inline Windows Media Content on some sites (miggy.net and ministryofsound.com)

Reviewed by john.

  • khtml/rendering/render_frames.cpp: (RenderPartObject::updateWidget): when no MIME type is specified map from the WMP CLASSID to the WMP MIME type, look for the URL of the content in the URL PARAM tag

WebKit:

Fixed: <rdar://problem/3647229> Safari does not play inline Windows Media Content on some sites (miggy.net and ministryofsound.com)

Reviewed by john.

  • Plugins.subproj/WebBaseNetscapePluginView.m:
  • Plugins.subproj/WebNetscapePluginEmbeddedView.m: (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:]): set the plug-in before calling setting the attributes, so we can avoid passing certain attributes to the WMP plug-in that cause it to crash
Note: See TracTimeline for information about the timeline view.