Timeline
Apr 9, 2004:
- 4:30 PM Changeset in webkit [6350] by
-
- 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
-
- 15 edits2 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
-
- 1 edit2 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
-
- 30 edits2 adds in trunk
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
-
- 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
-
- 2 edits in trunk
Fixed build problem.
- 12:02 PM Changeset in webkit [6344] by
-
- 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
-
- 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
-
- 1 edit4 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
-
- 13 edits6 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.
Apr 8, 2004:
- 6:05 PM Changeset in webkit [6340] by
-
- 9 edits in trunk/WebCore
Renamed the PasteHTMLCommand to PasteMarkupCommand. Removed PasteImageCommand because we will use PasteMarkupCommand for pasting images.
Reviewed by kocienda.
- ChangeLog:
- khtml/editing/htmlediting.cpp: (PasteMarkupCommand::PasteMarkupCommand): (PasteMarkupCommand::~PasteMarkupCommand): (PasteMarkupCommand::impl): (PasteMarkupCommand::markupString):
- khtml/editing/htmlediting.h: (khtml::):
- khtml/editing/htmlediting_impl.cpp: (PasteMarkupCommandImpl::PasteMarkupCommandImpl): (PasteMarkupCommandImpl::~PasteMarkupCommandImpl): (PasteMarkupCommandImpl::commandID): (PasteMarkupCommandImpl::doApply):
- khtml/editing/htmlediting_impl.h: (khtml::PasteMarkupCommandImpl::markupString):
- khtml/khtml_part.cpp: (KHTMLPart::pasteMarkupString):
- khtml/khtml_part.h:
- kwq/WebCoreBridge.h:
- kwq/WebCoreBridge.mm: (-[WebCoreBridge pasteMarkupString:]):
- 3:53 PM Changeset in webkit [6339] by
-
- 3 edits in trunk
change version number to 137u. the tree is open
- 3:48 PM Changeset in webkit [6338]
-
- 3 copies in tags/Safari-136
This commit was manufactured by cvs2svn to create tag 'Safari-136'.
- 3:48 PM Changeset in webkit [6337] by
-
- 6 edits in trunk
Safari-136 stamp
- 3:42 PM Changeset in webkit [6336] by
-
- 9 edits in trunk/WebCore
Rolling out previous commit. Tree was closed. Doh!
- 3:31 PM Changeset in webkit [6335] by
-
- 9 edits in trunk/WebCore
Renamed the PasteHTMLCommand to PasteMarkupCommand. Removed PasteImageCommand because we will use PasteMarkupCommand for pasting images.
Reviewed by kocienda.
- khtml/editing/htmlediting.cpp: (PasteMarkupCommand::PasteMarkupCommand): (PasteMarkupCommand::~PasteMarkupCommand): (PasteMarkupCommand::impl): (PasteMarkupCommand::markupString):
- khtml/editing/htmlediting.h: (khtml::):
- khtml/editing/htmlediting_impl.cpp: (PasteMarkupCommandImpl::PasteMarkupCommandImpl): (PasteMarkupCommandImpl::~PasteMarkupCommandImpl): (PasteMarkupCommandImpl::commandID): (PasteMarkupCommandImpl::doApply):
- khtml/editing/htmlediting_impl.h: (khtml::PasteMarkupCommandImpl::markupString):
- khtml/khtml_part.cpp: (KHTMLPart::pasteMarkupString):
- khtml/khtml_part.h:
- kwq/WebCoreBridge.h:
- kwq/WebCoreBridge.mm: (-[WebCoreBridge pasteMarkupString:]):
- 1:34 PM Changeset in webkit [6334] by
-
- 2 edits in trunk/WebCore
Fix for 3608430 and 3608462, crashes in findNextLineBreak when deleting. Make sure that the removal of line boxes
always checks the previous root line box's line break information and dirties the line if it is pointing
to the deleted object.
Reviewed by kocienda
- khtml/rendering/render_line.cpp: (InlineFlowBox::removeChild):
- 11:43 AM Changeset in webkit [6333] by
-
- 5 edits in trunk
WebCore:
Removed DOMExtensions.h from DOM.h until it is public.
Reviewed by koicienda.
- kwq/DOM.h:
WebKit:
Fixed: <rdar://problem/3548274>: API: DOM API for WebKit clients
Reviewed by kocienda.
- DOM.subproj/DOM.h: copied from WebCore
- WebKit.pbproj/project.pbxproj: made our DOM headers public!
- 11:05 AM Changeset in webkit [6332] by
-
- 8 edits2 adds in trunk/WebKit
Tests:
Support for moving WebArchive to its own file.
Reviewed by kocienda.
- Blot/BlotApp.m:
WebKit:
Moved WebArchive to its own file.
Reviewed by kocienda.
- WebKit.pbproj/project.pbxproj:
- WebView.subproj/WebArchive.h: Added.
- WebView.subproj/WebArchive.m: Added. (-[WebArchive data]): renamed from dataRepresentation
- WebView.subproj/WebDataSource.m:
- WebView.subproj/WebFrame.m:
- WebView.subproj/WebHTMLRepresentation.m:
- WebView.subproj/WebHTMLView.m: (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed [WebArchive data]
- WebView.subproj/WebResource.h:
- WebView.subproj/WebResource.m:
WebBrowser:
Support for moving WebArchive to its own file.
Reviewed by kocienda.
- BrowserDocument.m: (-[BrowserDocument dataRepresentationOfType:]): call renamed [WebArchive data] (-[BrowserDocument mailPage:]): ditto (-[BrowserDocument mailPageAddress:]): ditto
Apr 7, 2004:
- 8:52 PM Changeset in webkit [6331] by
-
- 2 edits in branches/Safari-1-2-branch/JavaScriptCore
- merge fix for <rdar://problem/3612939>: Java/JavaScript LiveConnect: Null string assignment results in string value of "Null" (clone for SU) from HEAD
- bindings/jni/jni_utility.cpp: (KJS::Bindings::convertValueToJValue):
2004-03-15 Richard Williamson <rjw@apple.com>
Fixed 3570854. Don't attempt to convert Null to strings. We
were incorrectly converting to "Null".
Actually fixed by Scott Kovatch.
Reviewed by Richard.
- bindings/jni/jni_utility.cpp: (KJS::Bindings::convertValueToJValue):
- 8:45 PM Changeset in webkit [6330] by
-
- 2 edits in branches/Safari-1-2-branch/WebKit
- merge fix for <rdar://problem/3612921>: Plug-in context menus (Flash) don't work in Carbon WebKit applications (clone for SU) from HEAD
- Carbon.subproj/HIWebView.m: (ContextMenuClick): (HIWebViewEventHandler):
2004-03-30 Chris Blumenberg <cblu@apple.com>
Fixed: <rdar://problem/3604391>: Plug-in context menus (Flash) don't work in Carbon WebKit applications (e.g., CarbonWeb)
Reviewed by rjw.
- Carbon.subproj/HIWebView.m: (ContextMenuClick): instead of calling menuForEvent (which is not implemented on our plug-in view) call rightMouseDown and let AppKit handle the rest
- 5:46 PM Changeset in webkit [6329] by
-
- 22 edits2 adds in trunk
Tests:
Interact with WebArchives via WebDOMOperations.
Reviewed by rjw.
- Blot/BlotApp.m: (-[BlotApp handleNewMessageEvent:withReplyEvent:]):
- Blot/BlotDocument.h:
- Blot/BlotDocument.m: (-[BlotDocument dataRepresentationOfType:]): (-[BlotDocument loadArchive:]):
WebCore:
WebCore side for supporting WebDOMOperations.
Reviewed by rjw.
- WebCore-combined.exp:
- WebCore.exp:
- kwq/DOM.mm:
- kwq/DOMExtensions.h:
- kwq/WebCoreBridge.h:
- kwq/WebCoreBridge.mm: (+[WebCoreBridge bridgeForDOMDocument:]): new (-[WebCoreBridge imageForImageElement:]): new
WebKit:
Created WebDOMOperations which are WebKit-specific categories on DOM objects.
Reviewed by rjw.
- DOM.subproj/DOMExtensions.h:
- DOM.subproj/WebDOMOperations.h: Added.
- DOM.subproj/WebDOMOperations.m: Added. (-[DOMNode _bridge]): new (-[DOMNode archive]): new (-[DOMNode markupString]): new (-[DOMRange _bridge]): new (-[DOMRange archive]): new (-[DOMRange markupString]): new (-[DOMHTMLImageElement image]):
- WebCoreSupport.subproj/WebBridge.h:
- WebCoreSupport.subproj/WebBridge.m: (-[WebBridge webFrame]): new
- WebKit.pbproj/project.pbxproj:
- WebView.subproj/WebDataSource.m: (-[WebDataSource _archiveWithMarkupString:subresourceURLStrings:]): moved from WebHTMLRepresentation
- WebView.subproj/WebDataSourcePrivate.h:
- WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate copyImageToClipboard:]): call markupString on the node
- WebView.subproj/WebDocumentPrivate.h:
- WebView.subproj/WebFrame.m: (+[WebFrame frameForDOMDocument:]): new (-[WebFrame loadArchive:]): renamed
- WebView.subproj/WebFramePrivate.h:
- WebView.subproj/WebHTMLRepresentation.h:
- WebView.subproj/WebHTMLRepresentation.m:
- WebView.subproj/WebHTMLRepresentationPrivate.h:
- WebView.subproj/WebHTMLView.m: (-[WebHTMLView _selectedArchive:]): renamed (-[WebHTMLView _handleMouseDragged:]): called renamed methods
WebBrowser:
Interact with WebArchives via WebDOMOperations.
Reviewed by rjw.
- BrowserDocument.m: (-[BrowserDocument canSaveAsWebArchive]): check for the renamed WebDocumentDOM protocol (-[BrowserDocument dataRepresentationOfType:]): use the archive method on node (-[BrowserDocument validateUserInterfaceItem:]): check for the renamed WebDocumentDOM protocol (-[BrowserDocument mailPage:]): use the archive method on node
- 5:36 PM Changeset in webkit [6328] by
-
- 5 edits in trunk
WebCore:
Reviewed by Chris.
- kwq/DOMCSS.h: Changed DOMCSS2Properties to be a category on DOMCSSStyleDeclaration (after API review, oops!, but I doubt anyone will even notice).
- kwq/DOM-CSS.mm: Implemented the entire DOMCSS2Properties category.
WebKit:
Reviewed by Chris.
- DOM.subproj/DOMCSS.h: Updated from WebCore.
- 4:33 PM Changeset in webkit [6327] by
-
- 2 edits in trunk/WebKit
Reviewed by Darin and Dave (many weeks ago....I am so ashamed for not landing)
- WebCoreSupport.subproj/WebBridge.m: (-[WebBridge expiresTimeForResponse:]): Now adds in the difference between the Mac OS X epoch and the "standard" unix epoch when passing back a time that WebCore will use for its cache expiration determinations.
- 4:25 PM Changeset in webkit [6326] by
-
- 2 edits in trunk/WebCore
Reviewed by Chris
- kwq/WebCoreBridge.mm: (-[WebCoreBridge _stringWithDocumentTypeStringAndMarkupString:]): Do not add a newline in between the doctype and the content. The newline was showing up when the content was pasted.
- 2:06 PM Changeset in webkit [6325] by
-
- 2 edits in trunk/WebKit
Fix for 3604388. The runtime version check (_CFExecutableLinkedOnOrAfter) used by many of
our frameworks doesn't work for CFM apps. So, conditional panther bugs fixes aren't
being pickup by CFM apps that use WebKit, specifically Contribute. This particular radar
describes a problem that was conditionally fixed in the AppKit for panther. The work-around
is to force NSBitmapImageRep to execute to conditional code.
Reviewed by Maciej.
- Carbon.subproj/CarbonUtils.m: (WebInitForCarbon):
- 11:52 AM Changeset in webkit [6324] by
-
- 5 edits in trunk/WebCore
Reviewed by John
Removed concept of currentSelection from EditCommands and refined concept of
startingSelection and endingSelection, making them work more sensibly in the
system of composed editing commands.
- khtml/editing/htmlediting.cpp: Removed currentSelection().
- khtml/editing/htmlediting.h: Ditto.
- khtml/editing/htmlediting_impl.cpp: currentSelection(). (CompositeEditCommandImpl::applyCommandToComposite): Set the startingSelection and endingSelection for the command being applied to the endingSelection of its new parent. This is the proper starting and ending point. (CompositeEditCommandImpl::deleteSelection): Changed call to currentSelection to endingSelection. (DeleteCollapsibleWhitespaceCommandImpl::DeleteCollapsibleWhitespaceCommandImpl): Ditto. (DeleteSelectionCommandImpl::DeleteSelectionCommandImpl): Changed call from startingSelection to endingSelection. (DeleteSelectionCommandImpl::joinTextNodesWithSameStyle): Changed call to currentSelection to endingSelection. (InputNewlineCommandImpl::doApply): Ditto. (InputTextCommandImpl::deleteCharacter): Ditto. (InputTextCommandImpl::prepareForTextInsertion): Ditto. (InputTextCommandImpl::execute): Ditto. (PasteHTMLCommandImpl::doApply): Ditto. (TypingCommandImpl::insertText): Remove extraneous call to reset endingSelection. This has already been done by the helpers this command uses to do its work. (TypingCommandImpl::issueCommandForDeleteKey): Changed call to currentSelection to endingSelection. (TypingCommandImpl::deleteKeyPressed): Remove extraneous call to reset endingSelection. This has already been done by the helpers this command uses to do its work.
- khtml/editing/htmlediting_impl.h: (khtml::EditCommandImpl::endingSelection): Remove extraneous call to reset endingSelection. This has already been done by the helpers this command uses to do its work.
- 10:55 AM Changeset in webkit [6323] by
-
- 3 edits in trunk/WebCore
Reviewed by John
Make paste work again. It has been broken for some undetermined
period of time.
- khtml/editing/htmlediting_impl.cpp: (CompositeEditCommandImpl::insertNodeAt): Handle inserting a node when the reference node has children, or is an empty block. (CompositeEditCommandImpl::inputText): New convenience to create and apply an InputTextCommand. (InputTextCommandImpl::execute): Collapse whitespace when selection is not a range. Deleting the selection when it is a range already does that, so no need to make special accommodation for it. (PasteHTMLCommandImpl::PasteHTMLCommandImpl): Initialize m_HTMLString using an initialization list. (PasteHTMLCommandImpl::doApply): Collapse whitespace.... as above for InputTextCommandImpl::execute. Don't need to qualify NodeImpl's with DOM namespace. Clean up selection access; no need to grep around for it, the desired selection is returned by calling currentSelection(). Treat "simple text paste" like typing. Tighten up and simplify HTML fragment paste; no real change in algorithm. (SplitTextNodeCommandImpl::SplitTextNodeCommandImpl): m_text1 member variable not initialized. This bug was introduced by a recent change by me. Fixing now.
- khtml/editing/htmlediting_impl.h: Add inputText() declaration.
Apr 6, 2004:
- 5:24 PM Changeset in webkit [6322] by
-
- 2 edits in trunk/WebKit
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):
- 4:08 PM Changeset in webkit [6321] by
-
- 5 edits in trunk/WebCore
Tests:
Reviewed by Richard
Default document is now blank, since blinking a caret in
an empty document is now supported.
Added some code to move the caret to the start of the
body element after loading it.
Improved the code which makes the whole document
contenteditable (by checking for and setting contenteditable,
if needed).
- Blot/BlotDocument.m: (-[BlotDocument webView:didFinishLoadForFrame:]):
- Blot/Resources/default.html:
WebCore:
Reviewed by Richard
- khtml/khtml_part.cpp: (KHTMLPart::setSelection): Now calls setFocusNodeIfNeeded. (KHTMLPart::takeSelectionFrom): Now calls setFocusNodeIfNeeded. (KHTMLPart::clearSelection): Now calls setFocusNodeIfNeeded. (KHTMLPart::invalidateSelection): Now calls setFocusNodeIfNeeded. (KHTMLPart::setSelectionVisible): Now calls setFocusNodeIfNeeded. (KHTMLPart::setFocusNodeIfNeeded): New function focuses first element of a selection that is contenteditable, if any of the nodes are. The "first" determination is made by doing a document-order search.
- khtml/khtml_part.h:
- khtml/xml/dom_nodeimpl.cpp: Remove debug spam.
- kwq/WebCoreBridge.mm: (-[WebCoreBridge setSelectedDOMRange:]): Now updates document layout before setting the selection. This was needed for Blot, so that setting the contenteditable attribute on the body is "seen" when the attempt is made to set the selection right immediately after.
- 2:03 PM Changeset in webkit [6320] by
-
- 2 edits in trunk/WebCore
After columns have been expanded to their preferred sizes, if space is left over in the table, then
fixed columns should expand to fill space before percentage width columns do. The old code had it
backwards.
Reviewed by john
- khtml/rendering/table_layout.cpp: (AutoTableLayout::layout):
- 2:00 PM Changeset in webkit [6319] by
-
- 3 edits in trunk/WebKit
WebKit:
Fixed: <rdar://problem/3613974>: remove "to Clipboard" from context menus because it is redundant
Reviewed by john.
- English.lproj/Localizable.strings:
- WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate menuItemWithTag:]):
WebBrowser:
Fixed: <rdar://problem/3316489>: ER: Safari� image context menu should have "Copy Image Address"
Reviewed by john.
- ContextMenuHandler.m: (-[BrowserWebView webView:contextMenuItemsForElement:defaultMenuItems:]): added "Copy Image Address" for Tiger only, moved "Add Link to Bookmarks" above "Copy Link" to keep all copy-related menu items at the bottom (-[BrowserWebView copyImageAddress:]): new
- English.lproj/Localizable.strings:
- English.lproj/StringsNotToBeLocalized.txt:
- 9:01 AM Changeset in webkit [6318] by
-
- 4 edits in trunk/WebCore
Reviewed by Dave
- khtml/dom/dom_node.cpp: (Node::isContentEditable): Added. Calls through to impl function of same name.
- khtml/dom/dom_node.h: Added isContentEditable declaration.
- khtml/khtmlview.cpp: (KHTMLView::viewportMouseMoveEvent): Now, the cursor will change to an i-beam whenever it is over a node that is contenteditable, and nothing, like a link, takes precedence.
- 8:50 AM Changeset in webkit [6317] by
-
- 2 edits in trunk/WebCore
Reviewed by Dave
- khtml/css/html4.css: Refine focus rules so that HTML and BODY elements do not draw a focus ring around themselves when focused. This prevents a silly-looking focus ring from drawing around a document's entire contents when a body element is contenteditable.
- 8:25 AM Changeset in webkit [6316] by
-
- 3 edits in trunk/WebCore
Reviewed by Dave
Caret height is now the height of the tallest element on the line,
mimicking NSText behavior.
- khtml/rendering/render_box.cpp: (RenderBox::caretPos): Use root line box topOverflow and bottomOverflow for the calculation of caret height.
- khtml/rendering/render_text.cpp: (RenderText::caretPos): Ditto.
- 8:21 AM Changeset in webkit [6315] by
-
- 1 edit73 adds in trunk
Reviewed by me
Added a new suite of layout tests for editing, all added
in the new layout-tests/editing subtree.
- layout-tests/editing/abe.jpg: Added.
- layout-tests/editing/deleting/delete-block-contents-001-expected.txt: Added.
- layout-tests/editing/deleting/delete-block-contents-001.html: Added.
- layout-tests/editing/deleting/delete-block-contents-002-expected.txt: Added.
- layout-tests/editing/deleting/delete-block-contents-002.html: Added.
- layout-tests/editing/deleting/delete-block-contents-003-expected.txt: Added.
- layout-tests/editing/deleting/delete-block-contents-003.html: Added.
- layout-tests/editing/deleting/delete-br-001-expected.txt: Added.
- layout-tests/editing/deleting/delete-br-001.html: Added.
- layout-tests/editing/deleting/delete-br-002-expected.txt: Added.
- layout-tests/editing/deleting/delete-br-002.html: Added.
- layout-tests/editing/deleting/delete-br-003-expected.txt: Added.
- layout-tests/editing/deleting/delete-br-003.html: Added.
- layout-tests/editing/deleting/delete-br-004-expected.txt: Added.
- layout-tests/editing/deleting/delete-br-004.html: Added.
- layout-tests/editing/deleting/delete-br-005-expected.txt: Added.
- layout-tests/editing/deleting/delete-br-005.html: Added.
- layout-tests/editing/deleting/delete-br-006-expected.txt: Added.
- layout-tests/editing/deleting/delete-br-006.html: Added.
- layout-tests/editing/deleting/delete-character-001-expected.txt: Added.
- layout-tests/editing/deleting/delete-character-001.html: Added.
- layout-tests/editing/deleting/delete-contiguous-ws-001-expected.txt: Added.
- layout-tests/editing/deleting/delete-contiguous-ws-001.html: Added.
- layout-tests/editing/deleting/delete-image-001-expected.txt: Added.
- layout-tests/editing/deleting/delete-image-001.html: Added.
- layout-tests/editing/deleting/delete-image-002-expected.txt: Added.
- layout-tests/editing/deleting/delete-image-002.html: Added.
- layout-tests/editing/deleting/delete-image-003-expected.txt: Added.
- layout-tests/editing/deleting/delete-image-003.html: Added.
- layout-tests/editing/deleting/delete-leading-ws-001-expected.txt: Added.
- layout-tests/editing/deleting/delete-leading-ws-001.html: Added.
- layout-tests/editing/deleting/delete-selection-001-expected.txt: Added.
- layout-tests/editing/deleting/delete-selection-001.html: Added.
- layout-tests/editing/deleting/delete-trailing-ws-001-expected.txt: Added.
- layout-tests/editing/deleting/delete-trailing-ws-001.html: Added.
- layout-tests/editing/editing.js: Added.
- layout-tests/editing/inserting/typing-001-expected.txt: Added.
- layout-tests/editing/inserting/typing-001.html: Added.
- layout-tests/editing/inserting/typing-002-expected.txt: Added.
- layout-tests/editing/inserting/typing-002.html: Added.
- layout-tests/editing/inserting/typing-around-br-001-expected.txt: Added.
- layout-tests/editing/inserting/typing-around-br-001.html: Added.
- layout-tests/editing/inserting/typing-around-image-001-expected.txt: Added.
- layout-tests/editing/inserting/typing-around-image-001.html: Added.
- layout-tests/editing/selection/extend-by-character-001-expected.txt: Added.
- layout-tests/editing/selection/extend-by-character-001.html: Added.
- layout-tests/editing/selection/extend-by-character-002-expected.txt: Added.
- layout-tests/editing/selection/extend-by-character-002.html: Added.
- layout-tests/editing/selection/extend-by-character-003-expected.txt: Added.
- layout-tests/editing/selection/extend-by-character-003.html: Added.
- layout-tests/editing/selection/extend-by-character-004-expected.txt: Added.
- layout-tests/editing/selection/extend-by-character-004.html: Added.
- layout-tests/editing/selection/extend-by-character-005-expected.txt: Added.
- layout-tests/editing/selection/extend-by-character-005.html: Added.
- layout-tests/editing/selection/move-by-character-001-expected.txt: Added.
- layout-tests/editing/selection/move-by-character-001.html: Added.
- layout-tests/editing/selection/move-by-character-002-expected.txt: Added.
- layout-tests/editing/selection/move-by-character-002.html: Added.
- layout-tests/editing/selection/move-by-character-003-expected.txt: Added.
- layout-tests/editing/selection/move-by-character-003.html: Added.
- layout-tests/editing/selection/move-by-character-004-expected.txt: Added.
- layout-tests/editing/selection/move-by-character-004.html: Added.
- layout-tests/editing/selection/move-by-character-005-expected.txt: Added.
- layout-tests/editing/selection/move-by-character-005.html: Added.
- layout-tests/editing/undo/redo-typing-001-expected.txt: Added.
- layout-tests/editing/undo/redo-typing-001.html: Added.
- layout-tests/editing/undo/undo-typing-001-expected.txt: Added.
- layout-tests/editing/undo/undo-typing-001.html: Added.
- 8:14 AM Changeset in webkit [6314] by
-
- 27 edits1 add in trunk
WebCore:
Reviewed by Dave
Added execCommand feature.
Added Javascript selection object.
This lays the groundwork for layout tests for editing.
- khtml/dom/dom_doc.cpp: (DOM::Document::execCommand): Added. Calls through to impl's execCommand.
- khtml/dom/dom_doc.h: Added execCommand declaration.
- khtml/ecma/kjs_dom.cpp: (DOMDocumentProtoFunc::tryCall): Switch on new ExecCommand constant and call through to the document.
- khtml/ecma/kjs_dom.h: Added ExecCommand constant. (KJS::DOMDocument::):
- khtml/ecma/kjs_dom.lut.h: Generated file.
- khtml/ecma/kjs_window.cpp: (Window::Window): Initialize selection object. (Window::selection): Return window's selection object. (Window::mark): Mark selection object. (WindowFunc::tryCall): Return selection object on GetSelection. (LocationFunc::tryCall): Added. (Selection::Selection): Added. (Selection::~Selection): Added. (Selection::get): Added. (Selection::put): Added. (Selection::toPrimitive): Added. (Selection::toString): Added. (SelectionFunc::tryCall): Added.
- khtml/ecma/kjs_window.h: (KJS::Selection::): Added. (KJS::Selection::part): Added. (KJS::Selection::classInfo): Added.
- khtml/ecma/kjs_window.lut.h: Generated file.
- khtml/editing/htmlediting_impl.cpp: (debugPosition): Debugging aid. (DeleteCollapsibleWhitespaceCommandImpl::deleteWhitespace): Move the ending position if you are about to delete it. Fixes a crasher I discovered while writing tests. (DeleteSelectionCommandImpl::doApply): Move to containing editable block position 0 instead of 1 in a block in delete case 1. (InputTextCommandImpl::prepareForTextInsertion): (TypingCommandImpl::issueCommandForDeleteKey):
- khtml/khtml_part.h:
- khtml/khtml_selection.cpp: (KHTMLSelection::validate): Now adjusts the selection down to leaf nodes if needed. (KHTMLSelection::debugPosition): Debugging aid.
- khtml/xml/dom_docimpl.cpp: (DocumentImpl::execCommand): Added. Supports five different commands.
- khtml/xml/dom_docimpl.h:
- khtml/xml/dom_nodeimpl.cpp: (NodeImpl::previousEditable): Use false instead of 0 for equality check. (NodeImpl::nextEditable): Ditto.
- khtml/xml/dom_position.cpp: (DOMPosition::equivalentLeafPosition): New function (DOMPosition::previousRenderedEditablePosition): New function (DOMPosition::nextRenderedEditablePosition): New function (DOMPosition::equivalentUpstreamPosition): Refined behavior to handle more cases correctly. (DOMPosition::equivalentDownstreamPosition): Ditto. (DOMPosition::atStartOfContainingEditableBlock):New function (DOMPosition::atStartOfRootEditableBlock):New function
- khtml/xml/dom_position.h:
- kwq/KWQKHTMLPart.h:
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::issueUndoCommand): New function for calling undo programatically. (KWQKHTMLPart::issueRedoCommand): Ditto, but for redo.
- kwq/KWQRenderTreeDebug.cpp: (nodePositionRelativeToRoot): New function to generate log information for the selection. (writeSelection): Writes the selection if there is one. (externalRepresentation): Calls writeSelection
- kwq/WebCoreBridge.h: New declarations for issueUndoCommand and issueRedoCommand.
WebKit:
Reviewed by Dave
- WebCoreSupport.subproj/WebBridge.m: (-[WebBridge issueUndoCommand]): New method. Forwards call to the undo manager. Added to support undo called via Javascript execCommand. (-[WebBridge issueRedoCommand]): Ditto.