Timeline



Jun 5, 2004:

9:28 PM Changeset in webkit [6780] by trey
  • 2 edits in trunk/WebCore

As agreed with Hyatt and Louch, do not post incoming dragging events
to text nodes.

Reviewed by Maciej

  • khtml/khtmlview.cpp: (KHTMLView::updateDragAndDrop): For any drag target that is a text node, use its parent instead.

Jun 4, 2004:

8:21 PM Changeset in webkit [6779] by trey
  • 16 edits in trunk

WebCore:

DHTML dragging uses the Cocoa NSDragOperation on both the source and dest ends.

In addition, I caught a prime gaffe where I had used "dropAllowed" instead of "effectAllowed"
for that particular WinIE property. That is renamed throughout.

Reviewed by rjw

  • khtml/ecma/kjs_events.cpp: (stringOrUndefined): New little helper. (Clipboard::getValueProperty): Return Undefined if dropEffect or effectAllowed are not set. (Clipboard::putValue): Rename.
  • khtml/ecma/kjs_events.h: (KJS::Clipboard::): Rename.
  • khtml/ecma/kjs_events.lut.h:
  • khtml/xml/dom2_eventsimpl.h: Rename.
  • kwq/KWQClipboard.h: Rename, add access to Cocoa drag op.
  • kwq/KWQClipboard.mm: (KWQClipboard::dropEffect): These 4 just moved in the file. (KWQClipboard::setDropEffect): (KWQClipboard::effectAllowed): (KWQClipboard::setEffectAllowed): (cocoaOpFromIEOp): Convert from an IE operation string to a Cocoa DragOp (IEOpFromCocoaOp): and vice-versa (KWQClipboard::sourceOperation): Return effectAllowed, converted to a NSDragOp (KWQClipboard::destinationOperation): Return dropEffect, converted to a NSDragOp (KWQClipboard::setSourceOperation): Set effectAllowed, using a Cocoa value (KWQClipboard::setDestinationOperation): Set dropEffect, using a Cocoa value
  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::dispatchDragSrcEvent): Return the drag op specified by the source element. (KWQKHTMLPart::khtmlMouseMoveEvent): Pass our drag op up to WebKit. (KWQKHTMLPart::dragSourceMovedTo): Pass NULL for new arg. (KWQKHTMLPart::dragSourceEndedAt): Ditto
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge dragOperationForDraggingInfo:]): Set the incoming dragOp onto the clipboard so DHTML can access it. In addition, validate whatever op DHTML returns so we play well with Cocoa.

WebKit:

DHTML dragging uses the Cocoa NSDragOperation on both the source and dest ends.
Most of the real work is in WebCore.

Reviewed by rjw

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge startDraggingImage:at:operation:event:]): Pass the drag op along.
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _startDraggingImage:at:operation:event:]): Remember drag op from WC. (-[WebHTMLView mouseDragged:]): Pass None for the op (alternate code path that will be going away). (-[WebHTMLView draggingSourceOperationMaskForLocal:]): Use the WC drag op.
  • WebView.subproj/WebHTMLViewInternal.h:
  • WebView.subproj/WebHTMLViewPrivate.h:
4:27 PM Changeset in webkit [6778] by hyatt
  • 7 edits in trunk/WebCore

Add support for auto values in flex transitions. Add support for mapping the back end values to
front end values. Next it's time to actually try to use this stuff in render_flexbox.

Reviewed by darin

  • khtml/css/css_valueimpl.cpp: (length):
  • khtml/css/css_valueimpl.h: (DOM::FlexGroupTransitionValueImpl::isAuto):
  • khtml/css/cssparser.cpp: (FlexGroupTransitionParseContext::length): (FlexGroupTransitionParseContext::commitAutoValue): (FlexGroupTransitionParseContext::commitValue): (CSSParser::parseFlexGroupTransition):
  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::applyProperty):
  • khtml/rendering/render_style.cpp: (FlexGroupTransitionData::operator==):
  • khtml/rendering/render_style.h: (khtml::FlexGroupTransitionData::next): (khtml::FlexGroupTransitionData::isAuto):
4:00 PM Changeset in webkit [6777] by vicki
  • 1 edit in trunk/JavaScriptCore/JavaScriptCore.pbproj/project.pbxproj

change the JSC version number from 143.1 back to 144u

3:47 PM Changeset in webkit [6776]
  • 1 copy
    3 deletes in tags/JavaScriptCore-143~1

This commit was manufactured by cvs2svn to create tag
'JavaScriptCore-143~1'.

3:47 PM Changeset in webkit [6775] by vicki
  • 2 edits in trunk/JavaScriptCore

release marker and version change for JavaScriptCore-143.1

3:16 PM Changeset in webkit [6774] by kdecker
  • 2 edits in trunk/JavaScriptCore

Reviewed by Darin

  • fixed <rdar://problem/3680594>
  • kjs/object.cpp: (KJS::Error::create):
3:01 PM Changeset in webkit [6773] by vicki
  • 3 edits in trunk

change version number to '144u'. the tree is open.

2:55 PM Changeset in webkit [6772]
  • 3 copies in tags/Safari-143

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

2:55 PM Changeset in webkit [6771] by vicki
  • 6 edits in trunk

Safari 2.0 (v143) stamp

2:12 PM Changeset in webkit [6770] by beard
  • 35 edits in branches/AutoZoneGC_Branch_20040430

Turned off zero link in projects. Converted all Objective-C++ objects to use KWQRetain/KWQRelease/KWQRetainNSRelease to manage lifetimes of Objective-C objects for GC compatibility. No longer allocating C++ objects in GC-scanned memory. Removed absolute paths to files on my hard disk in projects.

1:19 PM Changeset in webkit [6769] by darin
  • 2 edits in trunk/JavaScriptCore
  • kjs/testkjs.cpp: (main): Fix build breakage by adding URL and line number parameters.
11:49 AM Changeset in webkit [6768] by kdecker
  • 23 edits in trunk

JavaScriptCore:

Reviewed by Dave.

  • ObjC bindings do not (yet) pass along sourceurl or line numbers
  • we don't have a way as of yet to accomidate line numbers and urls for dynamic javascript
  • changed the wording of an error message
  • the lexer, parser, and interpreter have been made "sourceURL aware"
  • stored the url into Error
  • bindings/NP_jsobject.cpp: (NPN_Evaluate):
  • bindings/jni/jni_jsobject.cpp: (JSObject::eval):
  • bindings/objc/WebScriptObject.mm: (-[WebScriptObject evaluateWebScript:]):
  • kjs/function.cpp: (GlobalFuncImp::call):
  • kjs/function_object.cpp: (FunctionObjectImp::construct):
  • kjs/internal.cpp: (Parser::parse): (InterpreterImp::checkSyntax): (InterpreterImp::evaluate):
  • kjs/internal.h:
  • kjs/interpreter.cpp: (Interpreter::evaluate):
  • kjs/interpreter.h:
  • kjs/lexer.cpp: (Lexer::setCode):
  • kjs/lexer.h: (KJS::Lexer::sourceURL):
  • kjs/nodes.cpp: (Node::Node): (Node::throwError): (FunctionCallNode::evaluate):
  • kjs/nodes.h:
  • kjs/object.cpp: (KJS::Error::create):
  • kjs/object.h:

WebCore:

Reviewed by Dave.

  • kwq/KWQKHTMLPart.mm: addMessagetoConsole places sourceURL in the dictionary
  • khtml/xml/dom_docimpl.cpp: right now, we don't have a way to get a url, so we leave this blank
  • khtml/ecma/kjs_window.cpp: still need to get the real line number and sourceURL
  • khtml/ecma/kjs_proxy.cpp: now passing the sourceURL to addMessageToConsole
  • khtml/ecma/kjs_events.cpp: still need to grab an accurate line number and sourceURL
  • khtml/ecma/kjs_events.cpp: (JSEventListener::handleEvent): (JSLazyEventListener::handleEvent):
  • khtml/ecma/kjs_proxy.cpp: (KJSProxyImpl::evaluate):
  • khtml/ecma/kjs_window.cpp: (Window::isSafeScript): (ScheduledAction::execute):
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::open):
  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::addMessageToConsole):

WebBrowser:

Reviewed by Dave.

  • model is now source url aware
  • refined the ui with custom NSCells that now display error messages, line numbers, and source urls
  • increased the row size to 35 pixels to accomimdate for ErrorCells
  • Debug/ErrorCell.h: Added.
  • Debug/ErrorCell.m: Added. (-[ErrorCell setURL:]): (-[ErrorCell setErrorMessasge:]): (-[ErrorCell setLineNumber:]): (-[ErrorCell drawInteriorWithFrame:inView:]):
  • Debug/ErrorConsole.nib:
  • Debug/ErrorConsoleController.m: (-[ErrorConsoleController init]): (-[ErrorConsoleController awakeFromNib]):
  • Debug/ErrorConsoleModel.h:
  • Debug/ErrorConsoleModel.m: (-[ErrorConsoleModel tableView:willDisplayCell:forTableColumn:row:]): (-[ErrorConsoleModel count]): (-[ErrorConsoleModel selectedURL]):
  • WebBrowser.pbproj/project.pbxproj:
11:35 AM Changeset in webkit [6767] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Hyatt

Fix a comical little bug where the style-applying code did not take into
account deleting content from the start of a block. After the deletion,
the caret is placed in the node before the deleted content and so
inserting a styled fragment after the deletion position works great.
The problem is that if the selectionis at the start of a block, there
is no "position before the deletion" and the caret is placed in the new
first child of the block. Inserting the styled content after this
node is just plain wrong. Now, this case is handled correctly, and the
styled content is inserted in the proper position.

  • khtml/editing/htmlediting_impl.cpp: (khtml::ApplyStyleCommandImpl::insertFragment):
11:21 AM Changeset in webkit [6766] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Hyatt

  • khtml/rendering/bidi.cpp: (khtml::RenderBlock::layoutInlineChildren): Only add additional line height in for root editable elements. This helps to keep layout from deviating too much from the intended page layout, but still gives an empty document a line in which it can blink the caret.
11:17 AM Changeset in webkit [6765] by kocienda
  • 9 edits
    2 adds in trunk/WebCore

Reviewed by Hyatt

Made some progress on this set of related bugs:

<rdar://problem/3675867>: "Make execCommand work as specified in the Javascript execCommand Compatibility Plan"
<rdar://problem/3675898>: "Make queryCommandEnabled work as specified in the Javascript execCommand Compatibility Plan"
<rdar://problem/3675899>: "Make queryCommandIndeterm work as specified in the Javascript execCommand Compatibility Plan"
<rdar://problem/3675901>: "Make queryCommandState work as specified in the Javascript execCommand Compatibility Plan"
<rdar://problem/3675903>: "Make queryCommandSupported work as specified in the Javascript execCommand Compatibility Plan"
<rdar://problem/3675904>: "Make queryCommandValue work as specified in the Javascript execCommand Compatibility Plan"

I did several things to move the ahead with the plan:

  1. The latter five methods did not appear in the tree at all. Now they do, although
  1. I removed the implementation for these editing methods from dom_docimpl.cpp, and moved them out to new js_editing.cpp/js_editing.h files. The remaining code in dom_docimpl.cpp is glue to call over to the new JSEditor object defined in the new files.
  1. For a couple of the command implementations in js_editing.cpp, I made a stab at returning sensible values. For others, I just return place-holder values. I have added some comments to describe what has been done and what still needs to be done.
  • WebCore.pbproj/project.pbxproj:
  • khtml/dom/dom_doc.cpp: Add call-overs for these methods. (DOM::Document::queryCommandEnabled): (DOM::Document::queryCommandIndeterm): (DOM::Document::queryCommandState): (DOM::Document::queryCommandSupported): (DOM::Document::queryCommandValue):
  • khtml/dom/dom_doc.h:
  • khtml/ecma/kjs_dom.cpp: Add queryCommandXXX terminology. (DOMDocumentProtoFunc::tryCall):
  • khtml/ecma/kjs_dom.h: (KJS::DOMDocument::):
  • khtml/ecma/kjs_dom.lut.h: (KJS::):
  • khtml/editing/jsediting.cpp: Added. This file implements the guts of editing-related JS methods. (DOM::execCommandNotImplemented): (DOM::queryBoolNotImplemented): (DOM::queryValueNotImplemented): (DOM::JSEditor::commandDict): (DOM::JSEditor::JSEditor): (DOM::JSEditor::~JSEditor): (DOM::JSEditor::commandIdentifier): (DOM::JSEditor::addCommand): (DOM::JSEditor::initDict): (DOM::JSEditor::execCommand): (DOM::JSEditor::queryCommandEnabled): (DOM::JSEditor::queryCommandIndeterm): (DOM::JSEditor::queryCommandState): (DOM::JSEditor::queryCommandSupported): (DOM::JSEditor::queryCommandValue): (DOM::JSEditor::execCommandCopy): (DOM::JSEditor::execCommandCut): (DOM::JSEditor::execCommandDelete): (DOM::JSEditor::execCommandInsertText): (DOM::JSEditor::execCommandPaste): (DOM::JSEditor::execCommandRedo): (DOM::JSEditor::execCommandSelectAll): (DOM::JSEditor::execCommandUndo): (DOM::JSEditor::enabledIfPartNotNull): (DOM::JSEditor::enabledIfSelectionNotEmpty): (DOM::JSEditor::enabledIfSelectionIsRange): (DOM::JSEditor::commandSupported):
  • khtml/editing/jsediting.h: Added. (DOM::JSEditor::CommandIdentifier::CommandIdentifier): (DOM::JSEditor::document): (DOM::JSEditor::part):
  • khtml/xml/dom_docimpl.cpp: Rework JS editing support into glue that calls over into new JSEditor object. (DocumentImpl::DocumentImpl): (DocumentImpl::~DocumentImpl): (DocumentImpl::jsEditor): (DocumentImpl::execCommand): (DocumentImpl::queryCommandEnabled): (DocumentImpl::queryCommandIndeterm): (DocumentImpl::queryCommandState): (DocumentImpl::queryCommandSupported): (DocumentImpl::queryCommandValue):
  • khtml/xml/dom_docimpl.h:
11:02 AM Changeset in webkit [6764] by cblu
  • 4 edits in trunk/WebKit

Fixed: <rdar://problem/3674921>: (can't drag an image from Desktop to Blot document)

Reviewed by mjs.

  • WebView.subproj/WebDataSource.m: (-[WebDataSource _imageElementWithImageResource:]): factored out from _documentFragmentWithImageResource: (-[WebDataSource _documentFragmentWithImageResource:]): call _imageElementWithImageResource:
  • WebView.subproj/WebDataSourcePrivate.h:
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _imageExistsAtPaths:]): new (-[WebHTMLView _documentFragmentWithPaths:]): new (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): handle NSFilenamesPboardType (+[WebHTMLView _insertablePasteboardTypes]): include NSFilenamesPboardType (-[WebHTMLView _canProcessDragWithDraggingInfo:]): check for NSFilenamesPboardType and check that the files are images
10:54 AM Changeset in webkit [6763] by rjw
  • 5 edits in trunk/JavaScriptCore

Fixed crash when attempting to access properties on nil
object.

Reviewed by John.

  • bindings/objc/objc_instance.mm: (ObjcInstance::getClass):
  • bindings/runtime_object.cpp: (RuntimeObjectImp::get):
  • bindings/testM.js:
  • bindings/testbindings.mm: (-[MyFirstInterface getString]):
9:12 AM Changeset in webkit [6762] by rjw
  • 2 edits in trunk/WebKit

Fixed crasher from last checkin.

Reviewed by Ken.

  • Plugins.subproj/WebPluginDatabase.m: (+[WebPluginDatabase setAdditionalWebPlugInPaths:]): (pluginLocations):

Jun 3, 2004:

10:04 PM Changeset in webkit [6761] by beard
  • 2 adds in branches/AutoZoneGC_Branch_20040430/WebCore/kwq

Inline implementations of KWQRetain, KWQRelease, and KWQRetainNSRelease. Conditional implementation of NSAutoreleasePool category.

6:36 PM Changeset in webkit [6760] by rjw
  • 6 edits in trunk/WebCore

Added setCompositeOperation method to Context2D.
Actually pass composite operation to drawPixmap (instead of 1).

Reviewed by jay lo.

  • khtml/ecma/kjs_html.cpp: (KJS::Context2DFunction::tryCall):
  • khtml/ecma/kjs_html.h: (KJS::Context2D::):
  • khtml/ecma/kjs_html.lut.h: (KJS::):
  • kwq/KWQPainter.h:
  • kwq/KWQPainter.mm: (QPainter::compositeOperatorFromString): (QPainter::drawPixmap):
6:01 PM Changeset in webkit [6759] by rjw
  • 3 edits in trunk/WebKit

Add SPI to allow setting of plugin load path.

Reviewed by Hyatt.

  • Plugins.subproj/WebPluginDatabase.h:
  • Plugins.subproj/WebPluginDatabase.m: (+[WebPluginDatabase setAdditionalWebPlugInPaths:]): (pluginLocations):
5:39 PM Changeset in webkit [6758] by hyatt
  • 10 edits in trunk/WebCore

Add support for box-flex-group-transition (whew!), a new property that is going to enable some incredibly
complicated flexing layouts in HTML.

This is Stage 1 - wire up the CSS property and make it get parsed into front-end data. Nobody actually looks
at this data yet.

Reviewed by darin

  • khtml/css/css_valueimpl.cpp: (CSSInheritedValueImpl::cssText): (ShadowValueImpl::cssText): (length): (FlexGroupTransitionValueImpl::~FlexGroupTransitionValueImpl): (FlexGroupTransitionValueImpl::cssText):
  • khtml/css/css_valueimpl.h: (DOM::FlexGroupTransitionValueImpl::cssValueType):
  • khtml/css/cssparser.cpp: (CSSParser::parseValue): (CSSParser::parseShadow): (FlexGroupTransitionParseContext::length): (FlexGroupTransitionParseContext::~FlexGroupTransitionParseContext): (FlexGroupTransitionParseContext::failed): (FlexGroupTransitionParseContext::allowGroup): (FlexGroupTransitionParseContext::commitGroup): (FlexGroupTransitionParseContext::commitSlash): (FlexGroupTransitionParseContext::commitLength): (FlexGroupTransitionParseContext::commitValue): (CSSParser::parseFlexGroupTransition):
  • khtml/css/cssparser.h:
  • khtml/css/cssproperties.c: (hash_prop): (findProp):
  • khtml/css/cssproperties.h:
  • khtml/css/cssproperties.in:
  • khtml/rendering/render_style.cpp: (StyleFlexibleBoxData::StyleFlexibleBoxData): (StyleFlexibleBoxData::operator==): (StyleFlexibleBoxData::transitionDataEquivalent): (StyleCSS3InheritedData::operator==): (StyleCSS3InheritedData::shadowDataEquivalent): (ShadowData::operator==): (RenderStyle::setBoxFlexGroupTransition): (length): (FlexGroupTransitionData::operator==):
  • khtml/rendering/render_style.h: (khtml::FlexGroupTransitionData::next): (khtml::FlexGroupTransitionData::~FlexGroupTransitionData): (khtml::FlexGroupTransitionData::operator!=): (khtml::StyleFlexibleBoxData::~StyleFlexibleBoxData): (khtml::RenderStyle::boxFlexGroupTransition):
5:21 PM Changeset in webkit [6757] by rjw
  • 2 edits in trunk/WebCore

Add extra sanity check to Image parameter of drawImage...

Reviewed by Hyatt.

  • khtml/ecma/kjs_html.cpp: (KJS::Context2DFunction::tryCall):
2:36 PM Changeset in webkit [6756] by hyatt
  • 2 edits
    2 adds in trunk

Fix for 3673931, negative margins on objects that dodge floats not handled correctly.

Reviewed by darin

  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::layoutBlockChildren):
2:24 PM Changeset in webkit [6755] by darin
  • 3 edits in trunk/WebKit

Reviewed by Chris.

  • fixed <rdar://problem/3677038>: (Need SPI to get URL of favicon for a site)
  • Misc.subproj/WebIconDatabase.h: Add iconURLForURL: method.
  • Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase iconURLForURL:]): Added.
2:17 PM Changeset in webkit [6754] by darin
  • 1 edit in trunk/WebCore/ChangeLog-2005-08-23

Removed some tabs from the ChangeLog.

8:22 AM Changeset in webkit [6753] by kocienda
  • 4 edits in trunk/WebKit

Reviewed by John

Fix for these bugs:

<rdar://problem/3675806>: "Make API name change for -webViewShouldBeginEditing:inDOMRange:"
<rdar://problem/3675809>: "Make API name change for -webViewShouldEndEditing:inDOMRange:"

New names are -webView:shouldBeginEditingInDOMRange: and -webView:shouldEndEditingInDOMRange:,
respectively.

  • WebView.subproj/WebDefaultEditingDelegate.m: (-[WebDefaultEditingDelegate webView:shouldBeginEditingInDOMRange:]): (-[WebDefaultEditingDelegate webView:shouldEndEditingInDOMRange:]):
  • WebView.subproj/WebEditingDelegate.h:
  • WebView.subproj/WebView.m: (-[WebView _shouldBeginEditingInDOMRange:]): (-[WebView _shouldEndEditingInDOMRange:]):
7:38 AM Changeset in webkit [6752] by kocienda
  • 11 edits in trunk/WebCore

Reviewed by Hyatt

Fix for layout regression I caused when fixing:

<rdar://problem/3668619>: "REGRESSION: text placed on pasteboard by WebKit is offset by one character"

Extra height is added to empty blocks that are editable, so we can click to place
the caret in them. This extra height was erroneously being added to non-editable
blocks as a result of my earlier change. After looking at this and doing some
code review, there are the following changes:

Change away from "containingBlock" terminology in the NodeImpl class. The
operation we are doing in NodeImpl is not the same as what is done in CSS
when it uses the term "containingBlock" so:

containingBlock changes to enclosingBlockFlowElement, and
rootEditableBlock changes to rootEditableElement

The vast majority of changes here are to make these name changes. The other
significant piece of work, and the fix for the regression, is to change
bidi.cpp to only include this extra line height if a block is empty
and is content-editable.

  • khtml/editing/htmlediting_impl.cpp: (khtml::leadingWhitespacePosition): (khtml::trailingWhitespacePosition): (khtml::DeleteSelectionCommandImpl::doApply): (khtml::InputNewlineCommandImpl::doApply): (khtml::RemoveNodeAndPruneCommandImpl::doApply): (khtml::TypingCommandImpl::issueCommandForDeleteKey):
  • khtml/rendering/bidi.cpp: (khtml::RenderBlock::layoutInlineChildren):
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::relinquishesEditingFocus): (DocumentImpl::acceptsEditingFocus):
  • khtml/xml/dom_nodeimpl.cpp:
  • khtml/xml/dom_nodeimpl.h:
  • khtml/xml/dom_position.cpp: (DOM::Position::equivalentLeafPosition): (DOM::Position::previousCharacterPosition): (DOM::Position::nextCharacterPosition): (DOM::Position::previousLinePosition): (DOM::Position::nextLinePosition): (DOM::Position::equivalentUpstreamPosition): (DOM::Position::equivalentDownstreamPosition): (DOM::Position::atStartOfRootEditableElement): (DOM::Position::inRenderedContent): (DOM::Position::rendersOnSameLine): (DOM::Position::rendersInDifferentPosition): (DOM::Position::isLastRenderedPositionInEditableBlock): (DOM::Position::inFirstEditableInRootEditableElement): (DOM::Position::inLastEditableInRootEditableElement): (DOM::Position::inFirstEditableInContainingEditableBlock): (DOM::Position::inLastEditableInContainingEditableBlock):
  • khtml/xml/dom_position.h:
  • khtml/xml/dom_selection.cpp: (DOM::Selection::moveToRenderedContent):
12:01 AM Changeset in webkit [6751] by trey
  • 1 edit in trunk/WebCore/kwq/KWQClipboard.mm

Ooops, missed one small change from code review in previous checkin.

Jun 2, 2004:

11:57 PM Changeset in webkit [6750] by trey
  • 5 edits in trunk/WebCore

Added types property to JS clipboard object.

Reviewed by Richard.

  • khtml/ecma/kjs_events.cpp: (Clipboard::getValueProperty): Create JS array for strings coming from the clipboard impl.
  • khtml/ecma/kjs_events.h: (KJS::Clipboard::):
  • khtml/ecma/kjs_events.lut.h:
  • kwq/KWQClipboard.mm: (MIMETypeFromCocoaType): New helper routine to map types. (KWQClipboard::types): Implement based on NSPasteboard's types.
7:48 PM Changeset in webkit [6749] by rjw
  • 3 edits in trunk/WebKit

conformsToProtocol:@protocol(WebPlugin) becomes
respondsToSelector:@selector(webPlugInInitialize) because
protocol was changed to an informal protocol.

Reviewed by Kevin.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge frameRequiredForMIMEType:URL:]):
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView addSubview:]):
4:39 PM Changeset in webkit [6748] by rjw
  • 2 edits in trunk/WebCore

Corrected typo ID_IMG should have been ID_CANVAS when
checking for the canvas composite operator.

Reviewed by Ken.

  • khtml/rendering/render_canvasimage.cpp: (RenderCanvasImage::paint):
4:24 PM Changeset in webkit [6747] by rjw
  • 2 edits in trunk/WebCore

Correctly size the <CANVAS> if margins, borders, or
padding is added.

Reviewed by Trey.

  • khtml/rendering/render_canvasimage.cpp: (RenderCanvasImage::createDrawingContext):
2:12 PM Changeset in webkit [6746] by trey
  • 27 edits in trunk

WebCore:

First cut at the source side of DHTML dragging. Following IE, new events are added:
ondragstart, ondrag, ondragend. The recently added CSS property -khtml-user-drag can
be used to make an element draggable. event.dataTransfer.setDragImage(ImageObject,x,y)
can be used from ondragstart to set a static image for the dragImage. x,y is the location
of the mouse within the image from the upper right corner. clipboard methods setdata
and cleardata are implemented.

Reviewed by hyatt.

  • khtml/ecma/kjs_dom.cpp: (DOMNode::getValueProperty): Boilerplate for new events (DOMNode::putValue): Boilerplate for new events
  • khtml/ecma/kjs_dom.h: (KJS::DOMNode::): Boilerplate for new events
  • khtml/ecma/kjs_dom.lut.h:
  • khtml/ecma/kjs_events.cpp: (DOMMouseEvent::getValueProperty): Return undefined for clipboard when its not a drag event. (ClipboardProtoFunc::tryCall): setDragImage glue to clipboard routine.
  • khtml/ecma/kjs_events.h: (KJS::Clipboard::):
  • khtml/ecma/kjs_events.lut.h:
  • khtml/html/html_elementimpl.cpp: (HTMLElementImpl::parseHTMLAttribute): Boilerplate for new events
  • khtml/khtml_part.cpp: (KHTMLPart::shouldDragAutoNode): Empty impl of new method, where UA determines draggability for events with -khtml-user-drag=auto
  • khtml/khtml_part.h:
  • khtml/misc/htmlattrs.c:
  • khtml/misc/htmlattrs.h:
  • khtml/misc/htmlattrs.in: Boilerplate for new events
  • khtml/rendering/render_object.cpp: (RenderObject::draggableNode): Find the node or parent node which might be dragged.
  • khtml/rendering/render_object.h:
  • khtml/xml/dom2_eventsimpl.cpp: (EventImpl::typeToId): Boilerplate for new events (EventImpl::idToType): Boilerplate for new events
  • khtml/xml/dom2_eventsimpl.h: (DOM::EventImpl::): Boilerplate for new events
  • kwq/KWQClipboard.h:
  • kwq/KWQClipboard.mm: (KWQClipboard::clearData): Implemented to call NSPasteboard (KWQClipboard::clearAllData): ditto (KWQClipboard::getData): fix corner case that came up testing (KWQClipboard::setData): Implemented to call NSPasteboard (KWQClipboard::dragLocation): Simple setter/getters (KWQClipboard::setDragLocation): (KWQClipboard::dragImage): (KWQClipboard::setDragImage): (KWQClipboard::dragNSImage):
  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::KWQKHTMLPart): init new member var (KWQKHTMLPart::dragHysteresisExceeded): Hysteresis moved here from WebKit (KWQKHTMLPart::dispatchDragSrcEvent): Send a dragging event to the current dragSource (KWQKHTMLPart::khtmlMouseMoveEvent): Initiate dragging, now including consulting DHTML, hysteresis and sending ondragstart. (KWQKHTMLPart::dragSourceMovedTo): simple passthrough (KWQKHTMLPart::dragSourceEndedAt): simple passthrough (KWQKHTMLPart::mouseDown): salt away _mouseDownX, _mouseDownY (KWQKHTMLPart::shouldDragAutoNode): Called for -khtml-user-drag=auto. We just call out to WebKit.
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge dragSourceMovedTo:]): New glue to drive new dragging events. (-[WebCoreBridge dragSourceEndedAt:operation:]):

WebKit:

First cut at source side of DHTML dragging. Most of the work is in WebCore.

Reviewed by hyatt.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge startDraggingImage:at:event:]): Added image and loc args for when WC tells WK to start a drag.
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _startDraggingImage:at:event:]): New image and loc args coming from WebCore. Hysteresis is moved to WC. (-[WebHTMLView mouseDragged:]): Call new _startDragging method. (-[WebHTMLView draggedImage:movedTo:]): Pass event to WC. (-[WebHTMLView draggedImage:endedAt:operation:]): Pass event to WC. (-[WebHTMLView mouseUp:]): Reset firstMouseDownEvent. Fixes bug where we would occasionally short-circuit WC event handling due to aliasing problem with this event.
  • WebView.subproj/WebHTMLViewPrivate.h:
1:45 PM Changeset in webkit [6745] by darin
  • 2 edits in trunk/WebKit

WebKit:

Reviewed by John.

  • fixed problem with timing of delegate callbacks in the back/forward cache case
  • WebView.subproj/WebFrame.m: (-[WebFrame _transitionToCommitted:]): Move code to indicate page is done loading in the back/forward cache case from here ... (-[WebFrame _opened]): ... to here.

WebBrowser:

Reviewed by John.

  • removed workaround for bad timing of delegate callbacks in the back/forward cache case
  • BrowserWindowController.m: (-[BrowserWindowController webFrameLoadFinished:]): Removed delays that had been added to work around bad ordering of delegate callbacks in the back/forward cache case. The bug is now fixed in WebKit.
  • LocationChangeHandler.m: (-[LocationChangeHandler webView:locationChangeDone:forDataSource:]): More of the same.
  • AppController.m: (-[AppController safariSyndication]): Changed to use objc_getClass because I can't leave well-enough alone.
  • DownloadProgressEntry.m: (BOMCopierNew): Changed () to (void) in one place where it means "no parameters" rather than "unknown number of parameters".
7:42 AM Changeset in webkit [6744] by kocienda
  • 8 edits
    1 add
    3 deletes in trunk/WebCore

Reviewed by me

Finish off name change from previous check-in by changing dom_edititerator
file names to dom_positioniterator. Files copied and renamed in repository.
Includes updated as needed.

  • ForwardingHeaders/xml/dom_edititerator.h: Removed.
  • ForwardingHeaders/xml/dom_positioniterator.h: Added.
  • WebCore.pbproj/project.pbxproj:
  • khtml/editing/htmlediting_impl.cpp:
  • khtml/xml/dom_edititerator.cpp: Removed.
  • khtml/xml/dom_edititerator.h: Removed.
  • khtml/xml/dom_position.cpp:
  • khtml/xml/dom_positioniterator.cpp: Added. (DOM::PositionIterator::peekPrevious): (DOM::PositionIterator::peekNext): (DOM::PositionIterator::atStart): (DOM::PositionIterator::atEnd):
  • khtml/xml/dom_positioniterator.h: Added. (DOM::PositionIterator::PositionIterator): (DOM::PositionIterator::current): (DOM::PositionIterator::previous): (DOM::PositionIterator::next): (DOM::PositionIterator::setPosition): (DOM::PositionIterator::isEmpty):
  • khtml/xml/dom_selection.cpp:
7:30 AM Changeset in webkit [6743] by kocienda
  • 10 edits in trunk/WebCore

Reviewed by Darin

Probable fix for this bug:

<rdar://problem/3668619>: "REGRESSION: text placed on pasteboard by WebKit is offset by one character"

I could not reproduce the bug myself, which is why I call the fix
as probable.

Darin and I did some code inspection and found some problems
with the equivalentUpstreamPosition and
equivalentDownstreamPosition functions on DOM::Position and how
these functions dealt with changing from editable to
non-editable content. As a result of these discoveries, I went
over this code and the helpers and functions which support them,
and made some corrections and simplifications. The big changes
are as follows:

  1. Rename EditIterator class to PositionIterator. This class needs to run code for selections in non-editable content, so the name change is appropriate.
  1. Change containingEditableBlock to containingBlock. It turns out that none of the editing code relies on the distinction between editable blocks and non-editable blocks. The important distinction is the block boundary. The notion of rootEditableBlock remains.
  • khtml/editing/htmlediting_impl.cpp: (khtml::DeleteCollapsibleWhitespaceCommandImpl::deleteWhitespace): PositionIterator name change. (khtml::DeleteSelectionCommandImpl::joinTextNodesWithSameStyle): Ditto. (khtml::DeleteSelectionCommandImpl::containsOnlyWhitespace): Ditto. (khtml::DeleteSelectionCommandImpl::doApply): Ditto. (khtml::InputNewlineCommandImpl::doApply): Ditto. (khtml::RemoveNodeAndPruneCommandImpl::doApply): Ditto.
  • khtml/rendering/bidi.cpp: (khtml::RenderBlock::layoutInlineChildren): Ditto.
  • khtml/xml/dom_edititerator.cpp: (DOM::PositionIterator::peekPrevious): Call for previousLeafNode instead of previousEditable. Editable check is not appropriate as this class is used for non-editable content. (DOM::PositionIterator::peekNext): Call nextLeafNode instead of nextEditable, as above. (DOM::PositionIterator::atStart): Call for previousLeafNode instead of previousEditable, as above. (DOM::PositionIterator::atEnd): Call nextLeafNode instead of nextEditable, as above.
  • khtml/xml/dom_edititerator.h: (DOM::PositionIterator::PositionIterator): PositionIterator name change. Remove unused and unneeded constructors.
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::previousEditable): Simplify. Rely on previousLeafNode as a helper. (NodeImpl::nextEditable): Ditto, but rely on nextLeafNode. (NodeImpl::previousLeafNode): Remove tree-walking code. Rely on traversePreviousNode as a helper. (NodeImpl::nextLeafNode): Ditto, but rely on traverseNextNode. (NodeImpl::containingBlock): Renamed replacement for containingEditableBlock. (NodeImpl::inSameContainingEditableBlock): Call renamed containingBlock.
  • khtml/xml/dom_nodeimpl.h:
  • khtml/xml/dom_position.cpp: (DOM::Position::previousCharacterPosition): Various name changes, as described above. (DOM::Position::nextCharacterPosition): Ditto. (DOM::Position::previousWordPosition): Ditto. (DOM::Position::nextWordPosition): Ditto. (DOM::Position::previousLinePosition): Ditto. (DOM::Position::nextLinePosition): Ditto. (DOM::Position::equivalentUpstreamPosition): Remove bogus check for editable node in loop. Perform improved block-crossing check at start of loop which works for editable and non-editable content. This is the crux of the fix for the bug. (DOM::Position::equivalentDownstreamPosition): Ditto. (DOM::Position::inRenderedContent): Various name changes, as described above. (DOM::Position::rendersOnSameLine): Ditto. (DOM::Position::rendersInDifferentPosition): Ditto. (DOM::Position::isFirstRenderedPositionOnLine): Ditto. (DOM::Position::isLastRenderedPositionOnLine): Ditto. (DOM::Position::isLastRenderedPositionInEditableBlock): Ditto. (DOM::Position::inFirstEditableInRootEditableBlock): Ditto. (DOM::Position::inLastEditableInRootEditableBlock): Ditto. (DOM::Position::inFirstEditableInContainingEditableBlock): Ditto. (DOM::Position::inLastEditableInContainingEditableBlock): Ditto.
Note: See TracTimeline for information about the timeline view.