Timeline



Apr 13, 2004:

11:10 PM Changeset in webkit [6371] by vicki
  • 2 edits in branches/Safari-1-2-branch/WebKit
  • merge fix for 3613071 from HEAD

2004-04-06 Richard Williamson <rjw@apple.com>

Fixed 3510805. Only release pool in timer if the current nesting level of the
pool matches the nesting level when the pool was created.

Reviewed by Chris.

  • Carbon.subproj/CarbonUtils.m: (getNumPools): (WebInitForCarbon): (PoolCleaner):
10:57 PM Changeset in webkit [6370] by vicki
  • 6 edits in branches/Safari-1-2-branch

WebCore:

  • merged WebCore part of the fix for 3609723 from HEAD

2004-03-23 David Hyatt <hyatt@apple.com>

Fix for 3513627, HTML mail prints upside down occasionally. Change printing
so that it never resizes the WebHTMLView when formatting for printing.
When computing page rects, instead of using the view's bounds, use the root
layer's width instead.

Reviewed by darin

  • khtml/khtmlview.cpp: (KHTMLView::layout):
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]):

WebKit:

  • merge the WebKit part of the fix for 3609723 from HEAD

2004-03-23 David Hyatt <hyatt@apple.com>

Fix for 3513627, HTML mail prints upside down occasionally. Change printing so that it never resizes the
WebHTMLView when formatting for printing. When computing page rects, instead of using the view's bounds,
use the root layer's width instead.

Reviewed by darin

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView knowsPageRange:]):
10:42 PM Changeset in webkit [6369] by vicki
  • 2 edits in branches/Safari-1-2-branch/WebKit
  • merge fix for 3609714 from HEAD

2004-04-01 Richard Williamson <rjw@apple.com>

Fixed 3609493. Don't remove the plugin's view until after
sending pluginDestroy. This change was requested by Greg
and is needed in the Lavender update.

Reviewed by Greg Bolsinga.

  • Plugins.subproj/WebPluginController.m: (-[WebPluginController destroyAllPlugins]):
10:34 PM Changeset in webkit [6368] by vicki
  • 2 edits in branches/Safari-1-2-branch/WebKit
  • merge fix for 3609700 from HEAD

2004-03-17 Richard Williamson <rjw@apple.com>

Fixed 3591667. Plugin view is added to view hierarchy before calling init.

Reviewed by Ken.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView addSubview:]):
10:27 PM Changeset in webkit [6367] by vicki
  • 2 edits in branches/Safari-1-2-branch/WebCore
  • merge fix for 3609695 from HEAD

2004-02-11 David Hyatt <hyatt@apple.com>

Fix for 3556702, margin collapsing gets disabled when images spill out of the containing block.

Reviewed by kocienda

  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::layoutBlockChildren):
9:20 PM Changeset in webkit [6366] by vicki
  • 3 edits in branches/Safari-1-2-branch/WebCore
  • merged fix for 3609640 from HEAD. To fix this properly, we need code changes from both 3552346 and 3571356.

2004-02-27 Maciej Stachowiak <mjs@apple.com>

Reviewed by Dave.

  • fixed <rdar://problem/3571356>: REGRESSION: Crash in isPointInsideSelection clicking on link in Apple web directory frame
  • khtml/khtml_part.cpp: (KHTMLPart::isPointInsideSelection): Don't crash if innerNode is NULL, as this can happen mousing over a frame that's in the process of loading and currently empty. Since such a frame obviously can't be inside the selection, this seems like a good enough fix.

2004-02-20 Maciej Stachowiak <mjs@apple.com>

Reviewed by Darin.

<rdar://problem/3552346>: REGRESSION 100-125: nil-dereference in
KHTMLPart::isPointInsideSelection (progz.ru, many other sites)

  • khtml/rendering/render_layer.cpp: (RenderLayer::nodeAtPointForLayer): To cover the case of positioned generated content, make sure to find an element if we don't have one yet when we get to the layer level.
9:10 PM Changeset in webkit [6365] by vicki
  • 6 edits in branches/Safari-1-2-branch/WebCore
  • merge fix for 3609604 from HEAD

2004-02-17 Maciej Stachowiak <mjs@apple.com>

Reviewed by Darin.

<rdar://problem/3537397>: REGRESSION (100-114): Return doesn't work in Japanese
input method for some HomePage fields

  • kwq/KWQTextArea.mm: (-[KWQTextAreaTextView keyDown:]): Don't send events through DOM when there is marked text. (-[KWQTextAreaTextView keyUp:]): Ditto.
  • kwq/KWQTextField.mm: (-[KWQTextField textView:shouldHandleEvent:]): Ditto. (-[KWQSecureTextField textView:shouldHandleEvent:]): Ditto.
  • khtml/html/html_formimpl.cpp: (HTMLInputElementImpl::defaultEventHandler): No need to check for marked text on "return" any more, because we won't send key events through the DOM at all when there is marked text.
  • kwq/KWQLineEdit.h:
  • kwq/KWQLineEdit.mm: Removed haveMarkedText method, no longer used by anything.
8:58 PM Changeset in webkit [6364] by vicki
  • 2 edits in branches/Safari-1-2-branch/WebCore
  • merge fix for 3612956 from HEAD

2004-03-30 Darin Adler <Darin Adler>

Reviewed by Dave.

  • fixed <rdar://problem/3570877>: REGRESSION: onfocus handler not working at weather.com
  • khtml/ecma/kjs_binding.cpp: (UString::string): Turn a null UString into a null DOMString, but a non-null empty UString into a non-null empty DOMString. (UString::qstring): Ditto, for QString. (Identifier::string): Ditto, for Identifier. (Identifier::qstring): Ditto.
8:49 PM Changeset in webkit [6363] by vicki
  • 4 edits in branches/Safari-1-2-branch

WebCore:

  • merge WebCore part of fix for 3612925 from HEAD

2004-03-24 Darin Adler <Darin Adler>

Reviewed by John.

  • fixed <rdar://problem/3566805>: REGRESSION: When the subject of mailto is 2 byte Safari failed to send mail address and subject to Mail.app
  • kwq/KWQKURL.mm: (KURL::findHostnamesInMailToURL): Update to handle hostnames that end just before a '?' since a '?' ends the entire part of the URL that can contain hostnames. Also change the logic so that the '?' will successfully end the search.

WebKit:

  • merge WebKit part of fix for 3612925 from HEAD

2004-03-24 Darin Adler <Darin Adler>

Reviewed by John.

  • fixed <rdar://problem/3566805>: REGRESSION: When the subject of mailto is 2 byte Safari failed to send mail address and subject to Mail.app
  • Misc.subproj/WebNSURLExtras.m: (applyHostNameFunctionToMailToURLString): Update to handle hostnames that end just before a '?' since a '?' ends the entire part of the URL that can contain hostnames. Also change the logic so that the '?' will successfully end the search.
8:35 PM Changeset in webkit [6362] by vicki
  • 2 edits in branches/Safari-1-2-branch/WebCore
  • merge fix for 3609635 from HEAD

2004-02-15 Darin Adler <Darin Adler>

Reviewed by Dave.

  • fixed 3548533: crash in XMLHttpRequest::slotData using Orkut's rating system
  • khtml/ecma/xmlhttprequest.cpp: (KJS::XMLHttpRequest::~XMLHttpRequest): Delete the QObject side, which has a side effect of disconnecting the signals which seem to be firing after the request is gone. There may be another way of addressing the crash by correcting some other problem with killing the job, but this demonstrably works and fixes a storage leak.
8:27 PM Changeset in webkit [6361] by vicki
  • 2 edits in branches/Safari-1-2-branch/WebCore
  • merge fix for 3600904 from HEAD

2004-03-08 Darin Adler <Darin Adler>

Reviewed by Maciej.

  • fixed <rdar://problem/3554876>: REGRESSION (100-125): cannot upload file if path contains non-ASCII characters
  • kwq/KWQKURL.mm: Remove Colon constant so we can fit in 8 bits again. (KURL::KURL): Rewrite so we don't need isSchemeCharOrColon.
7:33 PM Changeset in webkit [6360] by mjs
  • 5 edits in trunk/JavaScriptCore

Reviewed by Darin.

  • fixed <rdar://problem/3600695>: String manipulation in JavaScript 24fun test is very slow (slow)
  • fixed <rdar://problem/3600691>: Table generation test is really slow
  • fixed <rdar://problem/3600661>: 24fun date test is really slow

80% speedup on the string test, lesser speedups on the other two.

Two different optimizations here:

1) Avoid large overhead of scanning strings to see if they are all
ASCII before numeric conversion.

  • kjs/nodes.cpp: (AssignNode::evaluate): Don't convert to integer until we know for sure the operation will need it. Attempting to convert strings to numbers is a waste when they are being appended with +=.

2) Avoid huge cost of appending strings.

This is done by allowing multiple strings to share a buffer but
actually use different ranges of it. The first time a string is
appended to, we start leaving at least 10% extra space in the
buffer, so doing N appends to the same string takes O(log N)
mallocs instead of O(N).

  • kjs/identifier.cpp: (KJS::Identifier::equal): (KJS::Identifier::add):
  • kjs/ustring.cpp: (KJS::): (KJS::UCharReference::operator=): (KJS::UCharReference::ref): (KJS::UString::Rep::create): (KJS::UString::Rep::destroy): (KJS::UString::expandedSize): (KJS::UString::usedCapacity): (KJS::UString::expandCapacity): (KJS::UString::UString): (KJS::UString::null): (KJS::UString::append): (KJS::UString::operator=): (KJS::UString::toStrictUInt32): (KJS::UString::detach): (KJS::KJS::operator==):
  • kjs/ustring.h: (KJS::UString::Rep::data): (KJS::UString::Rep::hash):
6:00 PM Changeset in webkit [6359] by cblu
  • 13 edits in trunk

WebCore:

  • Removed WebCoreElementIsEditableKey. This functionality is available via [DOMNode isContentEditable].

Reviewed by rjw.

  • WebCore-combined.exp:
  • WebCore.exp:
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]): removed use of WebCoreElementIsEditableKey (-[WebCoreBridge URLWithRelativeString:]): new method for WebKit API

WebKit:

  • Added WebElementDOMNodeKey as a potential API so that clients can get the node from an element dictionary.
  • Removed WebElementIsEditableKey. This functionality is available via [DOMNode isContentEditable].

Reviewed by rjw.

  • DOM.subproj/WebDOMOperations.h:
  • DOM.subproj/WebDOMOperations.m: (-[DOMDocument URLWithRelativeString:]): new potential API
  • WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): indenting tweak (-[WebDefaultUIDelegate copyImageToClipboard:]): use WebElementDOMNodeKey
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _handleMouseDragged:]): use WebElementDOMNodeKey (-[WebHTMLView _dragOperationForDraggingInfo:]): use isContentEditable
  • WebView.subproj/WebView.h:
  • WebView.subproj/WebView.m:
  • WebView.subproj/WebViewPrivate.h:
4:02 PM Changeset in webkit [6358] by hyatt
  • 2 adds in trunk/LayoutTests/fast/overflow

Add overflow test for overflow:scroll body quirk bug.

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

Fix for 3559764, make sure overflow is applied consistently using a separate bit on render objects, so that
the body scroll quirk can easily disable overflow even when it is present on the style.

Reviewed by kocienda

  • khtml/ecma/kjs_dom.cpp: (DOMNode::putValue):
  • khtml/rendering/bidi.cpp: (khtml::RenderBlock::layoutInlineChildren):
  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::setStyle): (khtml::RenderBlock::layoutBlock): (khtml::RenderBlock::layoutBlockChildren): (khtml::RenderBlock::paintObject): (khtml::RenderBlock::rightOffset): (khtml::RenderBlock::lowestPosition): (khtml::RenderBlock::rightmostPosition): (khtml::RenderBlock::leftmostPosition): (khtml::RenderBlock::isPointInScrollbar): (khtml::RenderBlock::nodeAtPoint): (khtml::RenderBlock::inRootBlockContext):
  • khtml/rendering/render_block.h: (khtml::RenderBlock::overflowHeight): (khtml::RenderBlock::overflowWidth):
  • khtml/rendering/render_box.cpp: (RenderBox::setStyle): (RenderBox::contentWidth): (RenderBox::contentHeight): (RenderBox::absolutePosition): (RenderBox::computeAbsoluteRepaintRect): (RenderBox::calcAbsoluteVertical):
  • khtml/rendering/render_flexbox.cpp: (khtml::RenderFlexibleBox::layoutBlock):
  • khtml/rendering/render_flow.cpp: (RenderFlow::lowestPosition): (RenderFlow::rightmostPosition): (RenderFlow::leftmostPosition):
  • khtml/rendering/render_layer.cpp: (RenderLayer::updateLayerPosition): (RenderLayer::updateScrollInfoAfterLayout): (RenderLayer::intersectsDamageRect): (RenderLayer::containsPoint):
  • khtml/rendering/render_object.cpp: (RenderObject::RenderObject): (RenderObject::requiresLayer): (RenderObject::clientWidth): (RenderObject::clientHeight): (RenderObject::scrollWidth): (RenderObject::scrollHeight): (RenderObject::setStyle): (RenderObject::absolutePosition): (RenderObject::nodeAtPoint): (RenderObject::avoidsFloats):
  • khtml/rendering/render_object.h: (khtml::RenderObject::hasOverflowClip): (khtml::RenderObject::hasAutoScrollbars): (khtml::RenderObject::scrollsOverflow): (khtml::RenderObject::includeScrollbarSize): (khtml::RenderObject::setHasOverflowClip):
  • khtml/rendering/render_style.h: (khtml::RenderStyle::overflow): (khtml::RenderStyle::isDisplayReplacedType): (khtml::RenderStyle::isDisplayInlineType):
  • khtml/rendering/render_table.cpp: (RenderTable::setStyle): (RenderTableCell::setStyle): (RenderTableCell::requiresLayer):
  • khtml/rendering/render_table.h:
10:57 AM Changeset in webkit [6356] by cblu
  • 2 edits in trunk/WebKit

Fixed deployment build failure.

Reviewed by john.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _handleMouseDragged:]): removed use of fileWrapper variable

Apr 12, 2004:

3:19 PM Changeset in webkit [6355] by mjs
  • 2 edits in trunk/JavaScriptCore

Reviewed by John.

  • fix deployment build by avoiding deployment-only warning.
  • kjs/scope_chain.cpp: (KJS::ScopeChain::bottom):
2:13 PM Changeset in webkit [6354] by hyatt
  • 4 edits in trunk/WebCore

Fix for 3556036, make sure that when the position changes via style that all render layer
descendants simply immediately repaint.

Reviewed by kocienda

  • khtml/rendering/render_layer.cpp: (RenderLayer::repaintIncludingDescendants):
  • khtml/rendering/render_layer.h:
  • khtml/rendering/render_object.cpp: (RenderObject::setStyle):
1:46 PM Changeset in webkit [6353] by cblu
  • 16 edits in trunk

WebCore:

  • Fixed build failure by removing references to WebArchive in WebCore.
  • For HTML copy/paste, relative URLs are now made absolute at paste time instead of at copy time. This allows relative URLs to be kept relative if the destination page has the same base URL as the source page.

Reviewed by kocienda.

  • khtml/editing/htmlediting.cpp: (PasteMarkupCommand::PasteMarkupCommand): take the base URL of the clipping
  • khtml/editing/htmlediting.h:
  • khtml/editing/htmlediting_impl.cpp: (PasteMarkupCommandImpl::PasteMarkupCommandImpl): take the base URL of the clipping (PasteMarkupCommandImpl::doApply): if we have a base URL and it is different than the base URL of the document, fix the URLs in the new DOM tree
  • khtml/editing/htmlediting_impl.h:
  • khtml/xml/dom2_rangeimpl.cpp: (RangeImpl::toHTMLWithOptions): removed completeURLs param
  • khtml/xml/dom2_rangeimpl.h:
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::recursive_toHTMLWithOptions): removed completeURLs param (NodeImpl::recursive_toHTML): ditto (NodeImpl::recursive_completeURLs): new
  • khtml/xml/dom_nodeimpl.h:
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge markupStringFromNode:subresourceURLStrings:]): call recursive_toHTML with less params (-[WebCoreBridge markupStringFromRange:subresourceURLStrings:]): ditto (-[WebCoreBridge replaceSelectionWithMarkupString:baseURLString:]): take a base URL

WebKit:

Factored out WebArchive to DOM code so that it could be used by both [WebHTMLView _pasteFromPasteboard:] and [WebView insertWebArchive:replacingDOMRange:].

Reviewed by kocienda.

  • WebView.subproj/WebDataSource.m: (-[WebDataSource _replaceSelectionWithMarkupString:baseURL:]): moved from WebHTMLView (-[WebDataSource _replaceSelectionWithImageResource:]): ditto (-[WebDataSource _replaceSelectionWithWebArchive:]): ditto
  • WebView.subproj/WebDataSourcePrivate.h:
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _replaceSelectionWithMarkupString:]): renamed (-[WebHTMLView _pasteFromPasteboard:]): call renamed methods
  • WebView.subproj/WebView.m: (-[WebView insertMarkupString:replacingDOMRange:]): call renamed methods (-[WebView insertWebArchive:replacingDOMRange:]): have data source handle the archive instead of the bridge
11:41 AM Changeset in webkit [6352] by kocienda
  • 12 edits
    7 adds in trunk

WebCore:

Reviewed by Dave

Added execCommand support for cut/copy/paste.

  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::execCommand): Added cut/copy/paste atoms and added else if cases for the commands.
  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::issueCutCommand): Glue for calling from WebCore to do a cut in Cocoa. (KWQKHTMLPart::issueCopyCommand): Same as above, but for copy. (KWQKHTMLPart::issuePasteCommand): Same as above, but for paste.
  • kwq/WebCoreBridge.h: Declared issueCutCommand, issueCopyCommand, and issuePasteCommand to be implemented on the WebKit side of the bridge.
  • layout-tests/editing/editing.js: Added cut/copy/paste support to js library to support making layout tests.
  • layout-tests/editing/pasteboard/copy-paste-text-001-expected.txt: Added.
  • layout-tests/editing/pasteboard/copy-paste-text-001.html: Added.
  • layout-tests/editing/pasteboard/cut-paste-text-002-expected.txt: Added.
  • layout-tests/editing/pasteboard/cut-paste-text-002.html: Added.
  • layout-tests/editing/pasteboard/cut-text-001-expected.txt: Added.
  • layout-tests/editing/pasteboard/cut-text-001.html: Added.

WebKit:

Reviewed by Dave

Added execCommand support for cut/copy/paste.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge issueCutCommand]): Glue for calling from WebCore to do a cut in Cocoa. (-[WebBridge issueCopyCommand]): Same as above, but for copy. (-[WebBridge issuePasteCommand]): Same as above, but for paste.
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView copy:]): Move this to private implementation category so the bridge can see it. (-[WebHTMLView cut:]): Ditto. (-[WebHTMLView paste:]): Ditto.
  • WebView.subproj/WebHTMLViewPrivate.h: Move copy;, cut:, and paste: to private implementation category so the bridge can see it.
  • WebView.subproj/WebView.m: (-[WebView copy:]): Implemented by calling WebHTMLView to do the work. (-[WebView cut:]): Ditto. (-[WebView paste:]): Ditto.
  • WebView.subproj/WebViewPrivate.h: Added all the NSReponder methods we plan to implement as part of the WebKit editing API.
10:16 AM Changeset in webkit [6351] by kocienda
  • 5 edits in trunk

Reviewed by John

Some delete and insert cleanups.

  • khtml/editing/htmlediting_impl.cpp: (DeleteSelectionCommandImpl::doApply): For ending position case 1, the caret should be placed before the first child of the containing block, not before the containing block itself. Also, add some code to handle converting nbsp's back to regular spaces. This will need to be improved some day to convert only nbsp's added by the editor to make rendering come out right. (InputTextCommandImpl::execute): (TypingCommandImpl::issueCommandForDeleteKey): Make deleting collapsible whitespace part of the work of deleting a selection, rather than something that needs to be done by a user of DeleteSelectionCommandImpl. This makes it impossible to leave out this essential step. (TypingCommandImpl::deleteKeyPressed): We can't use a possible optimization here until the code to do deletions properly has been factored better. Big FIXME added.
  • layout-tests/editing/deleting/delete-block-contents-001-expected.txt: Updated for ending position case 1 behavior change.
  • layout-tests/editing/deleting/delete-block-contents-002-expected.txt: Ditto.
  • layout-tests/editing/deleting/delete-block-contents-003-expected.txt: Ditto.

Apr 9, 2004:

4:30 PM Changeset in webkit [6350] by kocienda
  • 11 edits in trunk

WebCore:

Reviewed by Darin

Added support for methods added to flesh out the WebKit
editing API.

  • khtml/khtml_part.h: Removed pasteMarkupString and deleteSelection functions. All this work is now done in WebCoreBridge.
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge isSelectionEditable]): Added a FIXME. (-[WebCoreBridge setDrawsBackground:]): Moved this since CVS merged this in the middle of editing code. (-[WebCoreBridge replaceSelectionWithNode:]): New method. (-[WebCoreBridge replaceSelectionWithText:]): Replaces insertText: (-[WebCoreBridge replaceSelectionWithMarkupString:]): New method. (-[WebCoreBridge replaceSelectionWithWebArchive:]): New method. (-[WebCoreBridge replaceSelectionWithNewline]): Replaces insertNewline: (-[WebCoreBridge deleteSelection]): New method. (-[WebCoreBridge applyStyle:toElementsInDOMRange:]): New method.

WebKit:

Reviewed by Darin

Stubbed in the entire WebKit editing API, improving some
methods already present in minor ways, and adding those
methods not yet present.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge editingKeyDown:]):
  • WebView.subproj/WebDefaultEditingDelegate.m: (-[WebDefaultEditingDelegate webView:shouldChangeSelectedDOMRange:toDOMRange:stillSelecting:]):
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _pasteMarkupString:]):
  • WebView.subproj/WebView.m: (-[WebView _alterCurrentSelection:direction:granularity:]): (-[WebView _currentSelectionIsEditable]): (-[WebView computedStyleForElement:pseudoElement:]): (-[WebView _editingKeyDown:]): (-[WebView setEditable:]): (-[WebView isEditable]): (-[WebView setTypingStyle:]): (-[WebView typingStyle]): (-[WebView setSmartInsertDeleteEnabled:]): (-[WebView smartInsertDeleteEnabled]): (-[WebView setContinuousSpellCheckingEnabled:]): (-[WebView isContinuousSpellCheckingEnabled]): (-[WebView spellCheckerDocumentTag]): (-[WebView undoManager]): (-[WebView insertNode:replacingDOMRange:]): (-[WebView insertText:replacingDOMRange:]): (-[WebView insertMarkupString:replacingDOMRange:]): (-[WebView insertWebArchive:replacingDOMRange:]): (-[WebView deleteDOMRange:]): (-[WebView applyStyle:toElementsInDOMRange:]): (-[WebView centerSelectionInVisibleArea:]): (-[WebView moveBackward:]): (-[WebView moveBackwardAndModifySelection:]): (-[WebView moveDown:]): (-[WebView moveDownAndModifySelection:]): (-[WebView moveForward:]): (-[WebView moveForwardAndModifySelection:]): (-[WebView moveLeft:]): (-[WebView moveLeftAndModifySelection:]): (-[WebView moveRight:]): (-[WebView moveRightAndModifySelection:]): (-[WebView moveToBeginningOfDocument:]): (-[WebView moveToBeginningOfLine:]): (-[WebView moveToBeginningOfParagraph:]): (-[WebView moveToEndOfDocument:]): (-[WebView moveToEndOfLine:]): (-[WebView moveToEndOfParagraph:]): (-[WebView moveUp:]): (-[WebView moveUpAndModifySelection:]): (-[WebView moveWordBackward:]): (-[WebView moveWordBackwardAndModifySelection:]): (-[WebView moveWordForward:]): (-[WebView moveWordForwardAndModifySelection:]): (-[WebView moveWordLeft:]): (-[WebView moveWordLeftAndModifySelection:]): (-[WebView moveWordRight:]): (-[WebView moveWordRightAndModifySelection:]): (-[WebView pageDown:]): (-[WebView pageUp:]): (-[WebView scrollLineDown:]): (-[WebView scrollLineUp:]): (-[WebView scrollPageDown:]): (-[WebView scrollPageUp:]): (-[WebView selectAll:]): (-[WebView selectParagraph:]): (-[WebView selectLine:]): (-[WebView selectWord:]): (-[WebView copy:]): (-[WebView cut:]): (-[WebView paste:]): (-[WebView copyFont:]): (-[WebView pasteFont:]): (-[WebView delete:]): (-[WebView pasteAsPlainText:]): (-[WebView pasteAsRichText:]): (-[WebView changeFont:]): (-[WebView changeAttributes:]): (-[WebView changeDocumentBackgroundColor:]): (-[WebView changeColor:]): (-[WebView alignCenter:]): (-[WebView alignJustified:]): (-[WebView alignLeft:]): (-[WebView alignRight:]): (-[WebView indent:]): (-[WebView insertTab:]): (-[WebView insertBacktab:]): (-[WebView insertNewline:]): (-[WebView insertParagraphSeparator:]): (-[WebView changeCaseOfLetter:]): (-[WebView uppercaseWord:]): (-[WebView lowercaseWord:]): (-[WebView capitalizeWord:]): (-[WebView deleteForward:]): (-[WebView deleteBackward:]): (-[WebView deleteBackwardByDecomposingPreviousCharacter:]): (-[WebView deleteWordForward:]): (-[WebView deleteWordBackward:]): (-[WebView deleteToBeginningOfLine:]): (-[WebView deleteToEndOfLine:]): (-[WebView deleteToBeginningOfParagraph:]): (-[WebView deleteToEndOfParagraph:]): (-[WebView complete:]): (-[WebView checkSpelling:]): (-[WebView showGuessPanel:]): (-[WebView performFindPanelAction:]): (-[WebView startSpeaking:]): (-[WebView stopSpeaking:]): (-[WebView insertText:]):
  • WebView.subproj/WebViewPrivate.h:
4:04 PM Changeset in webkit [6349] by darin
  • 15 edits
    2 adds in trunk

WebCore:

Reviewed by Ken.

  • added "transparent mode"
  • khtml/khtmlview.h: Added isTransparent and setTransparent functions.
  • khtml/khtmlview.cpp: (KHTMLViewPrivate::KHTMLViewPrivate): Initialize isTransparent to false. (KHTMLView::isTransparent): Return isTransparent. (KHTMLView::setTransparent): Set isTransparent.
  • khtml/rendering/render_box.cpp: (RenderBox::paintRootBoxDecorations): Use slow repaints for the top frame when the view is transparent; also don't draw a background. This is the same thing we do for subframes. (RenderBox::paintBackgroundExtended): Don't do the extra draw so we can blend with the background color for the top frame when the view is transparent.
  • khtml/rendering/render_canvas.cpp: (RenderCanvas::paintBoxDecorations): More of the same.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::paint): Make "fill with red" debug mode work only when the view is not transparent.
  • kwq/WebCoreBridge.h: Added setDrawsBackground: method.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge setDrawsBackground:]): If told NO (don't draw background), then set isTransparent to true on the KHTMLView.

WebKit:

Reviewed by Ken.

  • added "transparent mode"
  • WebView.subproj/WebFrameInternal.h: Added. Contains _updateDrawsBackground.
  • WebView.subproj/WebFrame.m: (-[WebFrame _makeDocumentView]): Call _updateDrawsBackground to tell the newly created KHTMLView whether to draw a background or not. (-[WebFrame _setState:]): Don't tell the scroll view to start drawing background if the WebView is not supposed to draw a background. (-[WebFrame _updateDrawsBackground]): Call setDrawsBackground: on the bridge, and do the same for all subframes.
  • WebView.subproj/WebFrameView.m: (-[WebFrameView setFrameSize:]): Only call setDrawsBackground:YES on the scroll view if the WebView has drawsBackground set to YES.
  • WebView.subproj/WebViewPrivate.h: Added new proposed API, setDrawsBackground and drawsBackground. Also added drawsBackground boolean to private structure.
  • WebView.subproj/WebView.m: (-[WebView _commonInitializationWithFrameName:groupName:]): Set drawsBackground to YES by default. (-[WebView setDrawsBackground:]): Added. Sets boolean and calls _updateDrawsBackground to update the flag for each frame. (-[WebView drawsBackground]): Added. Returns value of boolean. (-[WebView _bridgeForCurrentSelection]): Tweaked comment for no good reason.
  • WebView.subproj/WebViewInternal.h: Added, but empty for the moment.
  • WebView.subproj/WebFramePrivate.h: Tweaked a bit.
1:18 PM Changeset in webkit [6348] by kocienda
  • 1 edit
    2 adds in trunk

Reviewed by me

Added one more layout test for editing.

  • layout-tests/editing/deleting/delete-3608445-fix-expected.txt: Added.
  • layout-tests/editing/deleting/delete-3608445-fix.html: Added.
1:07 PM Changeset in webkit [6347] by mjs
  • 30 edits
    2 adds in trunk

JavaScriptCore:

Reviewed by John.

Changed things so that newly created objects get a prototype based
on the scope chain of the current function, rather than the
interpreter that started execution. This fixes the following bugs:

<rdar://problem/3368523>: ARCH: wrong prototype used to create new objects (hang on lookup.atomica.com)
<rdar://problem/3559173>: ARCH: Cannot scan using a HP Jetdirect product (JS object prototypes bind incorrectly)

  • JavaScriptCore.pbproj/project.pbxproj:
  • kjs/array_object.cpp: (CompareWithCompareFunctionArguments::CompareWithCompareFunctionArguments): (ArrayProtoFuncImp::ArrayProtoFuncImp): (ArrayProtoFuncImp::call): (ArrayObjectImp::construct):
  • kjs/bool_object.cpp: (BooleanObjectImp::construct):
  • kjs/date_object.cpp: (DateProtoFuncImp::DateProtoFuncImp): (DateProtoFuncImp::call): (DateObjectImp::construct):
  • kjs/error_object.cpp: (ErrorObjectImp::construct):
  • kjs/function.cpp: (FunctionImp::FunctionImp): (FunctionImp::call): (DeclaredFunctionImp::construct): (ArgumentsImp::ArgumentsImp): (GlobalFuncImp::call):
  • kjs/function_object.cpp: (FunctionProtoFuncImp::call): (FunctionObjectImp::construct):
  • kjs/internal.cpp: (BooleanImp::toObject): (StringImp::toObject): (NumberImp::toObject): (InterpreterImp::InterpreterImp): (InterpreterImp::clear): (InterpreterImp::interpreterWithGlobalObject):
  • kjs/internal.h:
  • kjs/interpreter.cpp: (ExecState::lexicalInterpreter):
  • kjs/interpreter.h: (KJS::ExecState::dynamicInterpreter): (KJS::ExecState::interpreter):
  • kjs/math_object.cpp: (MathFuncImp::MathFuncImp):
  • kjs/nodes.cpp: (StatementNode::hitStatement): (StatementNode::abortStatement): (RegExpNode::evaluate): (ElementNode::evaluate): (ArrayNode::evaluate): (ObjectLiteralNode::evaluate): (PropertyValueNode::evaluate): (FunctionCallNode::evaluate): (FuncDeclNode::processFuncDecl): (FuncExprNode::evaluate):
  • kjs/number_object.cpp: (NumberObjectImp::construct):
  • kjs/object.cpp: (KJS::ObjectImp::defaultValue): (KJS::Error::create):
  • kjs/object_object.cpp: (ObjectObjectImp::construct):
  • kjs/reference.cpp: (Reference::putValue):
  • kjs/regexp_object.cpp: (RegExpProtoFuncImp::call): (RegExpObjectImp::arrayOfMatches): (RegExpObjectImp::construct):
  • kjs/scope_chain.cpp: (KJS::ScopeChain::bottom):
  • kjs/scope_chain.h:
  • kjs/string_object.cpp: (StringProtoFuncImp::StringProtoFuncImp): (StringProtoFuncImp::call): (StringObjectImp::construct):

WebCore:

Reviewed by John.

Changed things so that newly created objects get a prototype based
on the scope chain of the current function, rather than the
interpreter that started execution. This fixes the following bugs:

<rdar://problem/3368523>: ARCH: wrong prototype used to create new objects (hang on lookup.atomica.com)
<rdar://problem/3559173>: ARCH: Cannot scan using a HP Jetdirect product (JS object prototypes bind incorrectly)

  • khtml/ecma/kjs_binding.h: (KJS::cacheDOMObject): (KJS::cacheGlobalObject):
  • khtml/ecma/kjs_css.cpp: (KJS::getDOMStyleSheet): (KJS::getDOMStyleSheetList): (KJS::getDOMCSSValue):
  • khtml/ecma/kjs_dom.cpp: (KJS::getDOMDocumentNode): (KJS::getDOMNode):
  • khtml/ecma/kjs_events.cpp: (KJS::getDOMEvent):
  • khtml/ecma/kjs_html.cpp: (KJS::HTMLDocument::tryGet): (KJS::HTMLDocument::putValue): (KJS::getSelectHTMLCollection):
  • khtml/ecma/kjs_navigator.cpp: (Navigator::Navigator): (PluginBase::PluginBase):
  • khtml/ecma/kjs_window.cpp: (KJS::History::History): (KJS::FrameArray::FrameArray): (Screen::Screen): (Window::retrieveActive): (Window::put): (Window::isSafeScript): (WindowFunc::tryCall): (Location::put): (LocationFunc::tryCall):
12:59 PM Changeset in webkit [6346] by hyatt
  • 2 edits in trunk/WebCore

Fix for 3613081, repaint glitches when using overflow:auto/overlay.

Reviewed by john

  • khtml/rendering/render_layer.cpp: (RenderLayer::updateScrollInfoAfterLayout):
12:49 PM Changeset in webkit [6345] by rjw
  • 2 edits in trunk

Fixed build problem.

12:02 PM Changeset in webkit [6344] by hyatt
  • 2 edits in trunk/WebCore

Fix for 3608445, garbage characters rendered after doing delete. Delta was unsigned when it was supposed to
be signed, since deletion involves a negative delta. Also had an off-by-one error in the line break end check.

Reviewed by john

  • khtml/rendering/render_text.cpp: (RenderText::setTextWithOffset):
11:48 AM Changeset in webkit [6343] by cblu
  • 17 edits in trunk/WebKit

WebKit:

Fixed:
<rdar://problem/3616873>: support for pasting and drag and dropping of URLS to editable WebViews
<rdar://problem/3546417>: support for pasting and drag and dropping of images to editable WebViews

Reviewed by rjw.

  • DOM.subproj/WebDOMOperations.h:
  • DOM.subproj/WebDOMOperations.m: (-[DOMNode webArchive]): renamed from "archive" because "archive" collides with DOMHTMLObjectElement's method (-[DOMRange webArchive]): ditto
  • Misc.subproj/WebNSPasteboardExtras.h:
  • Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_writeImage:URL:title:archive:]): take just an archive instead of an HTML string and file wrapper
  • Misc.subproj/WebNSViewExtras.h:
  • Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragImage:archive:rect:URL:title:event:]): take just an archive instead of an HTML string and file wrapper
  • WebView.subproj/WebDataProtocol.h:
  • WebView.subproj/WebDataProtocol.m: (+[NSURL _web_uniqueWebDataURL]): new (+[NSURL _web_uniqueWebDataURLWithRelativeString:]): new
  • WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate copyImageToClipboard:]): call renamed _web_writeImage
  • WebView.subproj/WebFrame.m: (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:unreachableURL:]): use _web_uniqueWebDataURL for creating a URL
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _pasteImageResource:]): new (-[WebHTMLView _pasteFromPasteboard:]): renamed, now handles images and URLs (-[WebHTMLView _handleMouseDragged:]): call renamed _web_dragImage (-[WebHTMLView paste:]): call renamed _pasteFromPasteboard (-[WebHTMLView concludeDragOperation:]): call renamed _pasteFromPasteboard
  • WebView.subproj/WebHTMLViewPrivate.h:
  • WebView.subproj/WebImageRepresentation.h:
  • WebView.subproj/WebImageRepresentation.m: (-[WebImageRepresentation archive]): new
  • WebView.subproj/WebImageView.m: (-[WebImageView writeImageToPasteboard:]): call renamed _web_writeImage (-[WebImageView mouseDragged:]): call renamed _web_dragImage

WebBrowser:

Reviewed by rjw.

  • BrowserDocument.m: (-[BrowserDocument dataRepresentationOfType:]): call renamed [DOMNode webArchive] (-[BrowserDocument mailPage:]): ditto
7:41 AM Changeset in webkit [6342] by kocienda
  • 1 edit
    4 adds in trunk

Reviewed by me

Added two more layout tests for editing.

  • layout-tests/editing/selection/move-between-blocks-no-001-expected.txt: Added.
  • layout-tests/editing/selection/move-between-blocks-no-001.html: Added.
  • layout-tests/editing/selection/move-between-blocks-yes-001-expected.txt: Added.
  • layout-tests/editing/selection/move-between-blocks-yes-001.html: Added.
7:13 AM Changeset in webkit [6341] by kocienda
  • 13 edits
    6 adds in trunk

Reviewed by Dave

Small collection of editing improvements.

  • ChangeLog:
  • khtml/editing/htmlediting_impl.cpp: (shouldDeleteUpstreamPosition): This was deleting significant spaces on preceding lines when the caret was at the start of a line. Fixed. (DeleteSelectionCommandImpl::doApply): Fixed a case where caret jumped to previous line when deleting a character at the start of a line after a BR. (InputNewlineCommandImpl::doApply): Handle more cases correctly. Previously, this only handled inserting a newline when the caret was already in a text node. (InputTextCommandImpl::prepareForTextInsertion): Ditto. (InputTextCommandImpl::execute): Ditto.
  • khtml/editing/htmlediting_impl.h:
  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::checkSelectionPointIgnoringContinuations): Now can place caret with a click in an empty block.
  • khtml/rendering/render_block.h: Added checkSelectionPointIgnoringContinuations declaration.
  • khtml/rendering/render_replaced.cpp: (RenderReplaced::checkSelectionPointIgnoringContinuations): Now can place caret with a click on a replaced element.
  • khtml/rendering/render_replaced.h: Added checkSelectionPointIgnoringContinuations declaration.
  • khtml/rendering/render_text.cpp: (InlineTextBox::checkSelectionPoint): Now can place caret with a click in text on a line made "tall" by an image on the same line.
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::createEditingTextNode): This creates a text node subclass that whill always create a renderer for itself.
  • khtml/xml/dom_docimpl.h:
  • khtml/xml/dom_position.cpp: (DOMPosition::isLastRenderedPositionInEditableBlock): Improved code to handle more cases.
  • khtml/xml/dom_textimpl.cpp: (TextImpl::TextImpl): Rolled out m_rendererIsNeeded flag. (TextImpl::rendererIsNeeded): Ditto. (EditingTextImpl::EditingTextImpl): New class. (EditingTextImpl::~EditingTextImpl): New. (EditingTextImpl::rendererIsNeeded): New. Always returns true.
  • khtml/xml/dom_textimpl.h: New EditingTextImpl class.
  • layout-tests/editing/deleting/delete-3608430-fix-expected.txt: Added.
  • layout-tests/editing/deleting/delete-3608430-fix.html: Added.
  • layout-tests/editing/deleting/delete-3608462-fix-expected.txt: Added.
  • layout-tests/editing/deleting/delete-3608462-fix.html: Added.
  • layout-tests/editing/deleting/delete-trailing-ws-002-expected.txt: Added.
  • layout-tests/editing/deleting/delete-trailing-ws-002.html: Added.
Note: See TracTimeline for information about the timeline view.