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

Timeline



Jun 8, 2004:

11:31 PM Changeset in webkit [6799] by darin
  • 3 edits in trunk/WebCore

Reviewed by Maciej.

  • implemented a bunch more execCommand commands
  • fixed <rdar://problem/3684792>: (JavaScript execCommand("paste") presents security issues)
  • fixed <rdar://problem/3675898>: (Make queryCommandEnabled work as specified in the Javascript execCommand Compatibility Plan)
  • fixed <rdar://problem/3675903>: (Make queryCommandSupported work as specified in the Javascript execCommand Compatibility Plan)
  • about half of <rdar://problem/3685231>: (execCommand italic is not implemented)
  • about half of <rdar://problem/3685232>: (execCommand bold is not implemented)
  • khtml/editing/jsediting.h: Made constructor inline. Deleted a few unneeded member functions that are now just private functions inside jsediting.cpp.
  • khtml/editing/jsediting.cpp: (commandImp): Changed this around, so the dictionary is a static local to this function, and initialized with C++ "first time initialization" rule. (DOM::JSEditor::execCommand): Got rid of special case for 0 for function pointer and added const. (DOM::JSEditor::queryCommandEnabled): Ditto. (DOM::JSEditor::queryCommandIndeterm): Got rid of special case for 0 for function pointer, added const, and use a common three-state state function rather than a separate "indeterm" function. (DOM::JSEditor::queryCommandState): Ditto. (DOM::JSEditor::queryCommandValue): More of the same. (execNotImplemented): Added. Used for unimplemented commands; there are only a few left. (execCopy): Renamed. (execCut): Renamed. (execDelete): Renamed. (execInsertText): Renamed. (execPaste): Renamed, and disabled. (execRedo): Renamed. (execSelectAll): Renamed. (execUndo): Renamed. (execStyleChange): Added. Helper function for commands that are style changes. (execBold): Added. (execItalic): Added. (execJustifyCenter): Added. (execJustifyFull): Added. (execJustifyLeft): Added. (execJustifyRight): Added. (execSubscript): Added. (execSuperscript): Added. (execUnselect): Added. (stateNotImplemented): Added. Used for unimplemented state queries; there are a few left. (noState): Added. (valueNotImplemented): Added. Used for unimplemented value queries; there are a few left. (nullStringValue): Added. (createCommandDictionary): Changed the initDict function into this function. Added implementations for many commands and condensed format so it's easier to work with.
5:55 PM Changeset in webkit [6798] by trey
  • 2 edits in trunk/WebKit

In DHTML dragging there is no notion of registering for types, so we'd
like to just pass all types down to WebCore. It turns out that the per-type
registration doesn't matter as far as the underlying drag service is
concerned, so Cocoa is already getting called for any type. We just hack and
override a private method to ensure we accept any type.

Reviewed by Chris.

  • WebView.subproj/WebView.m: (-[WebView _hitTest:dragTypes:]): We accept any drag type if it is within our view, without overriding a subview's decision.
5:37 PM Changeset in webkit [6797] by trey
  • 1 edit in trunk/WebCore/kwq/KWQKHTMLPart.mm

Nit build fix for deployment build style.

5:03 PM Changeset in webkit [6796] by darin
  • 6 edits in trunk/WebCore

Reviewed by Vicki.

  • our part of fix to <rdar://problem/3629334>: (REGRESSION (Tiger): titles on pop-ups menus are truncated and show ellipses)
  • kwq/KWQComboBox.mm: (QComboBox::QComboBox): Call setLineBreakMode:NSLineBreakByClipping. In the current version of Tiger I am using, this is not implemented yet.
  • a couple of other unrelated changes
  • khtml/rendering/render_form.cpp: (RenderTextArea::calcMinMaxWidth): Put a little more code inside the APPLE_CHANGES ifdef.
  • kwq/KWQTextEdit.h: Remove unused setTabStopWidth function, and make empty setTextFormat function an inline for slightly smaller code size.
  • kwq/KWQTextEdit.mm: Ditto.
  • kwq/KWQTextField.mm: Update copyright date.
3:17 PM Changeset in webkit [6795] by trey
  • 7 edits in trunk

WebCore:

A DHTML drag source can now change the dragging image during the drag. Currently
it may only be set to a static image.

Reviewed by John

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::dragSourceMovedTo): If the ondrag event handler set an image, pass it to WebKit.
  • kwq/WebCoreBridge.h:

WebKit:

A DHTML drag source can now change the dragging image during the drag. Currently
it may only be set to a static image.

Reviewed by John

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge setDraggingImage:at:]): Typical bridge glue.
  • WebView.subproj/WebHTMLView.m: (FlipImageSpec): New utility, copied from AppKit. (-[WebHTMLView _setDraggingImage:at:]): Mostly copied from AppKit. Sets the drag image using CG API.
  • WebView.subproj/WebHTMLViewPrivate.h:
2:53 PM Changeset in webkit [6794] by kocienda
  • 4 edits in trunk

Reviewed by Hyatt

Changes to the selection state for these tests as a result of my previous
checkin. The changes are minor to a couple of offsets. I looked at the
changes and approve them.

  • layout-tests/editing/deleting/delete-block-contents-001-expected.txt
  • layout-tests/editing/deleting/delete-block-contents-002-expected.txt
  • layout-tests/editing/deleting/delete-block-contents-003-expected.txt
2:50 PM Changeset in webkit [6793] by cblu
  • 4 edits in trunk/WebKit

Fixed: <rdar://problem/3640423>: (REGRESSION: can't paste text copied from web page into Excel (due to HTML on the pasteboard?))

Reviewed by darin.

  • WebView.subproj/WebHTMLView.m: (+[WebHTMLView _selectionPasteboardTypes]): don't include NSHTMLPboardType (-[WebHTMLView _selectedArchive]): removed markup string parameter (_selectionPasteboardTypes::if): don't put NSHTMLPboardType on the pasteboard
  • WebView.subproj/WebHTMLViewPrivate.h:
2:49 PM Changeset in webkit [6792] by kocienda
  • 5 edits in trunk/WebCore

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/3654841>: "Hitting delete key with start of block selected
does not merge content with preceding block"

Selections that span blocks now work correctly for deleting the selection and inserting
over the selection. The largest part of the change is adding a new field to the
RemoveNodeAndPruneCommand and its impl version. This was done since the starting block
for a multi-block selection should always be preserved when deleting, and this was
a convenient way to express this using the code structure already in place.

  • khtml/editing/htmlediting.cpp: (khtml::RemoveNodeAndPruneCommand::RemoveNodeAndPruneCommand): Modify this command to take two nodes: the node to remove and a node to stop at when pruning back up the tree. (khtml::RemoveNodeAndPruneCommand::pruneNode): New accessor, replaces old node() accessor. (khtml::RemoveNodeAndPruneCommand::stopNode): New accessor for additional feature described above.
  • khtml/editing/htmlediting.h:
  • khtml/editing/htmlediting_impl.cpp: (khtml::shouldPruneNode): blow flow renderers can now be deleted, but not if they are a rootEditableElement. (khtml::CompositeEditCommandImpl::removeNodeAndPrune): Pass new stopNode param and change the name of the existing node argument to pruneNode to distinguish it. (khtml::DeleteSelectionCommandImpl::doApply): Pass the block containing the start of the selection to removeNodeAndPrune in each case. Also, add one little loop to move all the content from the block containing the end of the selection if that block is different than the start block. (khtml::RemoveNodeAndPruneCommandImpl::RemoveNodeAndPruneCommandImpl): Implement the pruneNode/stopNode design already described. (khtml::RemoveNodeAndPruneCommandImpl::~RemoveNodeAndPruneCommandImpl): Manage the lifecycle of stopNode. (khtml::RemoveNodeAndPruneCommandImpl::doApply): Add a check to stop at the stop node while pruning.
  • khtml/editing/htmlediting_impl.h: (khtml::RemoveNodeAndPruneCommandImpl::pruneNode): New accessor. (khtml::RemoveNodeAndPruneCommandImpl::stopNode): Ditto.
12:49 PM Changeset in webkit [6791] by trey
  • 5 edits in trunk/WebCore

Clipboard access during DHTML dragging is made secure.

Reviewed by John.

  • kwq/KWQClipboard.h: (KWQClipboard::):
  • kwq/KWQClipboard.mm: (KWQClipboard::KWQClipboard): Init new policy and changeCount members. (KWQClipboard::becomeNumb): Set policy to numb. (KWQClipboard::clearData): Check policy. (KWQClipboard::clearAllData): Check policy. (KWQClipboard::getData): Check policy and changeCount. (KWQClipboard::setData): Check policy. (KWQClipboard::types): Check policy and ChangeCount. (KWQClipboard::setDragLocation): Check policy. (KWQClipboard::setDragImage): Check policy. (KWQClipboard::setDropEffect): Check policy. (KWQClipboard::setEffectAllowed): Check policy.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::dispatchDragSrcEvent): Set policy when creating clipboard, and numb-ify it when we're done.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge dragOperationForDraggingInfo:]): Set policy when creating clipboard, and numb-ify it when we're done. (-[WebCoreBridge dragExitedWithDraggingInfo:]): Ditto (-[WebCoreBridge concludeDragForDraggingInfo:]): Ditto
8:01 AM Changeset in webkit [6790] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by me

  • khtml/editing/jsediting.cpp: (DOM::EditorCommand::): Stray capital letter in "selectAll" command static initializer prevented the command from ever working since the command strings are lower-cased when trying to find a match, but not when they are inserted into the dictionary. This is a one character change to make the string "selectall" in the initializer.
12:11 AM Changeset in webkit [6789] by trey
  • 18 edits in trunk/WebCore

WebCore will now generate a default drag image when an element serves as a drag
source. The basic idea is the image contains the element and all its children.

As for the implementation, instead of adding a new paintAction I added a new
field to the paintInfo struct, "paintingRoot". If this field is set, painting will
only paint that root's descendants.

Some code also moved from the bridge to the part, to be available within WebCore.

Reviewed by hyatt.

  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::paintObject): Pass along paintingRoot to kids. (khtml::RenderBlock::paintFloats): Pass along paintingRoot to kids.
  • khtml/rendering/render_box.cpp: (RenderBox::paintBoxDecorations): Test paintingRoot before painting.
  • khtml/rendering/render_canvasimage.cpp: (RenderCanvasImage::paint): Test paintingRoot before painting.
  • khtml/rendering/render_flow.cpp: (RenderFlow::paintLineBoxBackgroundBorder): Test paintingRoot before painting. (RenderFlow::paintLineBoxDecorations): Test paintingRoot before painting.
  • khtml/rendering/render_image.cpp: (RenderImage::paint): Test paintingRoot before painting.
  • khtml/rendering/render_inline.cpp: (RenderInline::paint): Pass along paintingRoot to kids.
  • khtml/rendering/render_layer.cpp: (RenderLayer::paint): Pass along paintingRoot to kids.
(RenderLayer
paintLayer): Pass along paintingRoot to kids. Test if we are within the paintingRoot to decide whether to pass the root to our renderer.
  • khtml/rendering/render_layer.h:
  • khtml/rendering/render_object.cpp: (RenderObject::hasAncestor): New utility. (RenderObject::absoluteBoundingBoxRect): Helper for paintingRootRect (RenderObject::addAbsoluteRectForLayer): Helper for paintingRootRect (RenderObject::paintingRootRect): Return rect that will be painted if we are the painting root. (RenderObject::draggableNode): Add test to avoid rare NULL ptr crash.
  • khtml/rendering/render_object.h: (khtml::RenderObject::PaintInfo::PaintInfo): Add paintingRoot field. (khtml::RenderObject::paintingRootForChildren): New utility. Return the current paintingRoot, or nil if we are the root (so kids draw normally). (khtml::RenderObject::shouldPaintWithinRoot): New utility. We can paint if we are the paintingRoot, or no root is set.
  • khtml/rendering/render_replaced.cpp: (RenderReplaced::shouldPaint): Pass along paintingRoot to kids.
  • khtml/rendering/render_table.cpp: (RenderTable::paint): Pass along paintingRoot to kids.
  • khtml/rendering/render_text.cpp: (RenderText::paint): Test paintingRoot before painting.
  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::KWQKHTMLPart): Init new _elementToDraw member. (KWQKHTMLPart::paint): Generalized to handle cases of painting selection or a given element. (KWQKHTMLPart::khtmlMouseMoveEvent): Make a default image if dragSrc didn't provide one. (KWQKHTMLPart::selectionRect): Moved from bridge. (KWQKHTMLPart::visibleSelectionRect): Ditto. (KWQKHTMLPart::imageFromRect): Newly factored code, from bridge. (KWQKHTMLPart::selectionImage): Moved from bridge, wrapper around imageFromRect. (KWQKHTMLPart::elementImage): New method, wrapper around imageFromRect.
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge drawRect:withPainter:]): Just call part to draw. (-[WebCoreBridge visibleSelectionRect]): Guts moved to part. (-[WebCoreBridge selectionImage]): Ditto.

Jun 7, 2004:

5:22 PM Changeset in webkit [6788] by darin
  • 6 edits in trunk/WebCore

Reviewed by Chris.

  • fixed <rdar://problem/3682821>: (setTimeout fails when additional parameters are used and timeout function is a string)
  • khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): Ignore excess arguments instead of rejecting the argument list for window.scrollBy, scroll, scrollTo, moveBy, moveTo, resizeBy, resizeTo, and setTimeout (when the timeout is a string rather than an object).
  • did a refinement of JSEditor to be slightly more efficient, and not have to edit both the .cpp file and the .h when adding more implementation
  • khtml/khtml_part.h: Hack so we can get to the docImpl and xmlDocImpl without being a friend.
  • khtml/editing/jsediting.h: Simplified a bit.
  • khtml/editing/jsediting.cpp: Redid to use a table, and simplified a bit.
5:14 PM Changeset in webkit [6787]
  • 2 copies
    3 deletes in tags/JavaScriptCore-143~2

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

5:14 PM Changeset in webkit [6786] by vicki
  • 1 edit in trunk/JavaScriptCore/ChangeLog

add a release marker for JavaScriptCore-143.2

5:10 PM Changeset in webkit [6785] by darin
  • 2 edits in trunk/WebKit

Reviewed by Chris.

  • fixed <rdar://problem/3676761>: (REGRESSION: Text Bigger/Smaller commands are always disabled in TOT)
  • WebView.subproj/WebHTMLView.m: Add @interface declaration for WebTextSizing category on WebHTMLView. This must have gotten lost somewhere along the way.
3:09 PM Changeset in webkit [6784] by kocienda
  • 4 edits in trunk/WebCore

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/3682354>: "Typing style does not work yet"

Did the final hook-up of support that has landed in the tree in the
recent past as part of ongoing style-application work.

For the most part, this patch modifies the InputNewlineCommandImpl and
InputTextCommandImpl commands to insert a styling span when there is
a typing style active.

  • khtml/editing/htmlediting_impl.cpp: (khtml::CompositeEditCommandImpl::createTypingStyleElement): Helper shared by the two commands modified. (khtml::InputNewlineCommandImpl::doApply): Create a styling span if the part has a typing style. Maintain a nodeToInsert local variable, which is either the break to insert or a styling span containing the break. Also, remove some utterly bogus derefs. They are just plain wrong. (khtml::InputTextCommandImpl::InputTextCommandImpl): Don't need to keep m_insertedTextNode. The composite commands this command uses will keep track of that object's lifetime. We do not need to do that here. (khtml::InputTextCommandImpl::~InputTextCommandImpl): No longer need to deref obsolete m_insertedTextNode. (khtml::InputTextCommandImpl::prepareForTextInsertion): Handle the case where a styling span needs to be added. (khtml::TypingCommandImpl::insertText): Create a new InputTextCommand when there is an active typping style.
  • khtml/editing/htmlediting_impl.h: Declare createTypingStyleElement helper. Remove m_insertedTextNode from InputTextCommandImpl.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge applyStyle:]): Swicth on the state of the selection, calling setTypingStyle when a caret and ApplyStyleCommand when a range.
2:53 PM Changeset in webkit [6783] by darin
  • 3 edits in trunk/JavaScriptCore
  • fixed <rdar://problem/3682489>: (JavaScriptGlue no longer compiles because Interpreter::evaluate parameters changed)
  • kjs/interpreter.h: Added an overload to make JavaScriptGlue compile.
  • kjs/interpreter.cpp: (KJS::Interpreter::evaluate): Implemented the overload.
10:56 AM Changeset in webkit [6782] by darin
  • 3 edits in trunk/WebCore

Reviewed by Ken.

  • khtml/editing/jsediting.h: Elide some unnecessary namespace prefixes.
  • khtml/editing/jsediting.cpp: Make typed constants instead of macros. (DOM::JSEditor::commandDict): Elide unnecessary namespace prefix. (DOM::JSEditor::execCommand): Remove xxxNotImplemented functions; just return false instead. (DOM::JSEditor::queryCommandEnabled): Ditto. (DOM::JSEditor::queryCommandIndeterm): Ditto. (DOM::JSEditor::queryCommandState): Ditto. (DOM::JSEditor::queryCommandSupported): Ditto. (DOM::JSEditor::queryCommandValue): Ditto.
10:56 AM Changeset in webkit [6781] by trey
  • 2 edits in trunk/WebKit

WebKit no longer causes an endless stream of dragexit events to
occur at the DHTML level when hovering over an element that is
not accepting the drag.

Reviewed by Chris

  • WebView.subproj/WebView.m: (-[WebView _dragOperationForDraggingInfo:]): If the potential target refuses the item, don't turn around and immediately tell it to cancel the drag, which is what leads to the exit event happening at the DOM level. If the target just refused the drag, it should not have anything it needs to cancel.

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):
Note: See TracTimeline for information about the timeline view.