Timeline
Jun 14, 2004:
- 11:48 PM Changeset in webkit [6841] by
-
- 2 edits in trunk/WebCore
- fixed crash on boot
- kwq/KWQFoundationExtras.h: (KWQRetainNSRelease): Fixed return value of this method; was uninitialized.
- 11:22 PM Changeset in webkit [6840] by
-
- 4 edits in trunk/WebCore
Dashboard wants access to pastboard data during the drag gesture.
We address this need be allowing docs that are local files to access the
pasteboard data during a drag, while other pages can only get at the types
list until the drop happens. This is deemed safe because local files already
have such broad super powers.
Reviewed by Maciej.
- kwq/KWQKURL.h:
- kwq/KWQKURL.mm: (KURL::isLocalFile): Implement this QT method to look for the file scheme.
- kwq/WebCoreBridge.mm: (-[WebCoreBridge dragOperationForDraggingInfo:]): Use more relaxed clipboard security for local file pages. (-[WebCoreBridge dragExitedWithDraggingInfo:]): Ditto.
- 10:55 PM Changeset in webkit [6839] by
-
- 26 edits1 add in trunk/WebKit
Reviewed by me, code changes by Patrick Beard.
- fixed <rdar://problem/3671507>: (WebKit should adopt GC changes and compile with GC enabled)
- WebKit.pbproj/project.pbxproj: Added WebNSObjectExtras.h.
- Misc.subproj/WebNSObjectExtras.h: Added. Includes WebMakeCollectable, a cover for CFMakeCollectable that returns type id, for less casting, and works on Panther as well as Tiger. Also declares finalize in NSObject so we can call super without warnings on Panther.
- Carbon.subproj/CarbonWindowAdapter.m: Fixed header and includes a bit. (-[CarbonWindowAdapter finalize]): Added.
- History.subproj/WebBackForwardList.m: (-[WebBackForwardList dealloc]): Got count outside loop. (-[WebBackForwardList finalize]): Added.
- History.subproj/WebHistoryItem.m: (-[WebHistoryItem finalize]): Added.
- Misc.subproj/WebFileDatabase.m: (-[WebFileDatabase _createLRUList:]): Use release on Panther, drain on Tiger. (+[WebFileDatabase _syncLoop:]): Ditto. (-[WebFileDatabase dealloc]): Removed, since we never deallocate objects of this class, and the method was untested.
- Misc.subproj/WebKitErrors.m: (registerErrors): Use release on Panther, drain on Tiger.
- Misc.subproj/WebKitNSStringExtras.m: (+[NSString _web_encodingForResource:]): Use WebMakeCollectable. Also fixed indenting.
- Misc.subproj/WebNSURLExtras.m: (+[NSURL _web_URLWithData:relativeToURL:]): Use WebMakeCollectable. (-[NSURL _web_URLWithLowercasedScheme]): Use WebMakeCollectable. (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Change code to use CFRelease to balance CFURLCreateStringByReplacingPercentEscapes CFString creation, not release.
- Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream finalize]): Added.
- Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView freeAttributeKeysAndValues]): Added. Shared code for dealloc and finalize. (-[WebBaseNetscapePluginView dealloc]): Call freeAttributeKeysAndValues. (-[WebBaseNetscapePluginView finalize]): Added. (-[WebBaseNetscapePluginView requestWithURLCString:]): Changed so that CFString objects are released with CFRelease, not release. (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Fixed storage leak in error case. Made sure CFString object is released with CFRelease, not release. (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]): Another CFString that needed to a CFRelease, not a release. (-[WebBaseNetscapePluginView status:]): Ditto.
- Plugins.subproj/WebBasePluginPackage.m: (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]): Changed code to CFRelease a CFURLRef, instead of release. (-[WebBasePluginPackage finalize]): Added.
- WebCoreSupport.subproj/WebBridge.m: (-[WebBridge fini]): Added. Shared code for dealloc and finalize. (-[WebBridge dealloc]): Call fini. (-[WebBridge finalize]): Added.
- WebCoreSupport.subproj/WebGlyphBuffer.m: (-[WebGlyphBuffer finalize]): Added.
- WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageContext initWithBounds:context:]): Use CGContextRetain to avoid cast. (-[WebImageContext dealloc]): Tweaked. (-[WebImageContext finalize]): Added. (-[WebImageRenderer finalize]): Added. (-[WebPDFDocument finalize]): Added.
- WebView.subproj/WebDataProtocol.m: (+[NSURL _web_uniqueWebDataURL]): Changed so that CFString object is released with CFRelease, not release.
- WebView.subproj/WebDataSource.m: (-[WebDataSourcePrivate dealloc]): Took non-release work out of here. (-[WebDataSource dealloc]): Moved it here. (-[WebDataSource finalize]): Added. (-[WebDataSource isLoading]): Use release on Panther, drain on Tiger.
- WebView.subproj/WebFrame.m: (-[WebFramePrivate dealloc]): Took non-release work out of here. (-[WebFrame dealloc]): Moved it here. (-[WebFrame finalize]): Added.
- WebView.subproj/WebFrameView.m: (-[WebFrameView finalize]): Added.
- WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation finalize]): Added.
- WebView.subproj/WebHTMLView.m: (-[WebHTMLViewPrivate dealloc]): Moved non-release work out of here. (-[WebHTMLView dealloc]): Moved it here. (-[WebHTMLView finalize]): Added.
- WebView.subproj/WebImageView.m: (-[WebImageView finalize]): Added.
- WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient finalize]): Added.
- WebView.subproj/WebTextView.m: (-[WebTextView finalize]): Added.
- WebView.subproj/WebView.m: (-[WebView finalize]): Added.
- 10:33 PM Changeset in webkit [6838] by
-
- 17 edits1 add in trunk/WebCore
Reviewed by me, code changes by Patrick Beard.
- fixed <rdar://problem/3671507>: (WebKit should adopt GC changes and compile with GC enabled)
- WebCore.pbproj/project.pbxproj: Added KWQFoundationExtras.h.
- kwq/KWQFoundationExtras.h: Added. (KWQRetain): Cover for CFRetain that is tolerant of nil. (KWQRelease): Cover for CFRelease that is tolerant of nil. (KWQRetainNSRelease): Combination of a CFRetain and an -[NSObject release] that is tolerant of nil. Also includes a declaration of finalize so we can call [super finalize] without warnings on Panther.
- kwq/DOM.mm: (ObjCNodeFilterCondition::ObjCNodeFilterCondition): Use CFRetain instead of retain. (ObjCNodeFilterCondition::~ObjCNodeFilterCondition): Use CFRelease instead of release.
- kwq/KWQComboBox.mm: (QComboBox::~QComboBox): Use KWQRelease instead of release. (QComboBox::setFont): Use KWQRelease instead of release. (QComboBox::labelFont): Use KWQRetain instead of retain.
- kwq/KWQCursor.mm: (QCursor::QCursor): Use KWQRetain instead of retain. (QCursor::~QCursor): Use KWQRelease instead of release. (QCursor::operator=): More of the same.
- kwq/KWQFileButton.mm: (KWQFileButton::KWQFileButton): Use KWQRetainNSRelease to retain a newly-allocated object. (KWQFileButton::~KWQFileButton): Use CFRelease instead of release.
- kwq/KWQFont.mm: (QFont::QFont): Use KWQRetain instead of retain. (QFont::operator=): More of the same. (QFont::setFamily): Use KWQRelease instead of release. (QFont::setFirstFamily): Use KWQRelease instead of release. (QFont::setPixelSize): Use KWQRelease instead of release. (QFont::setWeight): Use KWQRelease instead of release. (QFont::setItalic): Use KWQRelease instead of release. (QFont::getNSFont): Use KWQRetain instead of retain.
- kwq/KWQFontMetrics.mm: (QFontMetricsPrivate::~QFontMetricsPrivate): Use KWQRelease instead of release. (QFontMetricsPrivate::getRenderer): Use KWQRetain instead of retain. (QFontMetricsPrivate::setFont): Use KWQRelease instead of release.
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::~KWQKHTMLPart): Use KWQRelease instead of release. (KWQKHTMLPart::clearRecordedFormValues): Use KWQRelease instead of release. (KWQKHTMLPart::recordFormValue): Use KWQRetainNSRelease and use KWQRetain instead of retain. (KWQKHTMLPart::windowScriptObject): Use KWQRetainNSRelease.
- kwq/KWQKJobClasses.mm: (KIO::TransferJobPrivate::TransferJobPrivate): Use KWQRetainNSRelease. (KIO::TransferJobPrivate::~TransferJobPrivate): Use KWQRelease instead of release. (KIO::TransferJob::setLoader): More of the same.
- kwq/KWQLoader.mm: (KWQRetainResponse): Use KWQRetain instead of retain. (KWQReleaseResponse): Use KWQRelease instead of release.
- kwq/KWQPainter.mm: (QPainterPrivate::~QPainterPrivate): Use KWQRelease instead of release. (QPainter::_updateRenderer): More of the same. (QPainter::initFocusRing): Use KWQRetainNSRelease. (QPainter::clearFocusRing): Use KWQRelease instead of release.
- kwq/KWQPixmap.mm: (QPixmap::QPixmap): Use KWQRetain instead of retain. (QPixmap::~QPixmap): Use KWQRelease instead of release. (QPixmap::receivedData): Use KWQRetain instead of retain. (QPixmap::resize): Use KWQRetainNSRelease and use KWQRelease instead of release. (QPixmap::operator=): More of the same.
- kwq/KWQRegion.mm: (QRegion::QRegion): Use KWQRetain instead of retain. (QRegion::~QRegion): Use KWQRelease instead of release. (QRegion::operator=): More of the same.
- kwq/KWQTimer.mm: (QTimer::start): Use KWQRetain instead of retain. (QTimer::stop): Use KWQRelease instead of release. (QTimer::fire): Use KWQRelease instead of release.
- kwq/KWQWidget.mm: (QWidget::QWidget): Use KWQRetain instead of retain. (QWidget::~QWidget): Use KWQRelease instead of release. (QWidget::setView): More of the same.
- kwq/WebCoreSettings.mm: (-[WebCoreSettings finalize]): Delete the storage here, as well as in dealloc.
- 10:17 PM Changeset in webkit [6837] by
-
- 4 edits in trunk/JavaScriptCore
Reviewed by me, code changes by Patrick Beard.
- fixed <rdar://problem/3671507>: (WebKit should adopt GC changes and compile with GC enabled)
- bindings/objc/objc_instance.mm: (ObjcInstance::ObjcInstance): Use CFRetain instead of retain. (ObjcInstance::~ObjcInstance): Use CFRelease instead of release. (ObjcInstance::operator=): More of the same. (ObjcInstance::end): Use [pool drain] if compiling on Tiger.
- bindings/objc/objc_runtime.mm: (ObjcArray::ObjcArray): Use CFRetain instead of retain. (ObjcArray::~ObjcArray): Use CFRelease instead of release. (ObjcArray::operator=): More of the same.
- bindings/testbindings.mm: Fixed incorrect license. (main): Use [pool drain] if compiling on Tiger.
- 6:21 PM Changeset in webkit [6836] by
-
- 2 edits in trunk/WebCore
Reviewed by Trey.
<rdar://problem/3693818>: (Safari should use CG calls for circle drawing for better performance)
- kwq/KWQPainter.mm: (QPainter::drawEllipse): Use CG calls instead of NS calls for faster circle drawing. (QPainter::drawArc): Ditto.
- 6:09 PM Changeset in webkit [6835] by
-
- 1 edit in trunk/WebKit/ChangeLog
Fix reviewer field of previous checkin
- 6:07 PM Changeset in webkit [6834] by
-
- 1 edit in trunk/WebCore/ChangeLog-2005-08-23
Fill in reviewer field from previous checkin.
- 3:43 PM Changeset in webkit [6833] by
-
- 2 edits in trunk/WebCore
Reviewed by Vicki
Fix for this bug:
<rdar://problem/3690115> Crash deleting text out of iChat's profile (an editable Webview)
- khtml/html/html_elementimpl.cpp: (HTMLElementImpl::isFocusable): Added null-check of parent node before deref'ing it.
- 2:43 PM Changeset in webkit [6832] by
-
- 3 edits in trunk/WebCore
Two tweaks to recently added "drag" pseudo-class, as suggested by
Dave. The class is renamed to "-khtml-drag", and we update layout
when using it, instead of only updating styles.
Reviewed by hyatt.
- khtml/css/css_base.cpp: (CSSSelector::extractPseudoType):
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::snapshotDragImage):
- 2:33 PM Changeset in webkit [6831] by
-
- 2 edits in trunk/WebKit
Reviewed by Darin
Fix for this bug:
<rdar://problem/3693202> WebView.h header unnecessarily lists NSResponder methods it overrides
- WebView.subproj/WebView.h: NSResponder overrides now gathered in a comment section.
- 1:58 PM Changeset in webkit [6830] by
-
- 21 edits in trunk
WebCore:
Support for DHTML cut/copy/paste. We now support oncut, oncopy, onpaste. The events
are sent to the first node in the selection, or else the body. Current holes are
that we do not send events for operations in text fields or text areas (because it
is hard to get the right hooks into the AppKit).
We also send onbeforecut, onbeforecopy, onbeforepaste before the other events, which
isn't really WinIE compatible, but is close. WinIE uses these to enable cut/paste
menu items in its UI. DB doesn't need this for now.
Reviewed by NOBODY (OOPS!).
- 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: (DOMEvent::DOMEvent): "dataTransfer" and "clipboardData" properties are conditionally defined on DOMEvent, depending on if the event is a dragging or clipboard event. (DOMMouseEvent::mark): Pass mark along to any clipboard object we have. (DOMEvent::getValueProperty): Return "dataTransfer" or "clipboardData". (DOMMouseEvent::getValueProperty): Returning "dataTransfer" now handled by the superclass.
- khtml/ecma/kjs_events.h: (KJS::DOMEvent::): (KJS::DOMMouseEvent::DOMMouseEvent): (KJS::DOMMouseEvent::): (KJS::DOMMouseEvent::toMouseEvent):
- khtml/ecma/kjs_events.lut.h:
- khtml/html/html_elementimpl.cpp: (HTMLElementImpl::parseHTMLAttribute): Boilerplate for new events
- khtml/misc/htmlattrs.c:
- khtml/misc/htmlattrs.h:
- khtml/misc/htmlattrs.in: Boilerplate for new events
- khtml/xml/dom2_eventsimpl.cpp: (EventImpl::typeToId): Boilerplate for new events (EventImpl::idToType): Boilerplate for new events (EventImpl::isDragEvent): New utility (EventImpl::isClipboardEvent): New utility (MouseEventImpl::isDragEvent): New utility (ClipboardEventImpl::ClipboardEventImpl): ref optional clipboard (ClipboardEventImpl::~ClipboardEventImpl): deref optional clipboard (ClipboardEventImpl::isClipboardEvent): New utility
- khtml/xml/dom2_eventsimpl.h: (DOM::EventImpl::): Boilerplate for new events (DOM::ClipboardEventImpl::clipboard):
- kwq/KWQClipboard.h: Monkey business so this file is includable in C++.
- kwq/KWQClipboard.mm:
- kwq/KWQKHTMLPart.h:
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::dispatchCPPEvent): Send one of the new events. (KWQKHTMLPart::tryCut): Declare pasteboard types, send cut events. (KWQKHTMLPart::tryCopy): Declare pasteboard types, send copy events. (KWQKHTMLPart::tryPaste): Send paste events.
- kwq/WebCoreBridge.h:
- kwq/WebCoreBridge.mm: (-[WebCoreBridge tryDHTMLCut]): Pass through to part (-[WebCoreBridge tryDHTMLCopy]): Ditto (-[WebCoreBridge tryDHTMLPaste]): Ditto
WebKit:
Support for DHTML cut/copy/paste.
Reviewed by NOBODY (OOPS!).
- WebView.subproj/WebHTMLView.m: (-[WebHTMLView copy:]): Give DHTML first crack at executing the command. (-[WebHTMLView cut:]): Ditto (-[WebHTMLView paste:]): Ditto
- 11:50 AM Changeset in webkit [6829] by
-
- 8 edits in trunk/WebKit
Fixed: <rdar://problem/3674456> make new drag & drop API compatible with DHTML dragging
Reviewed by trey.
- WebView.subproj/WebHTMLView.m: (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): tweak
- WebView.subproj/WebUIDelegate.h: removed old, added new methods
- WebView.subproj/WebUIDelegatePrivate.h: moved new methods to public header
- WebView.subproj/WebView.h: removed old, added new methods
- WebView.subproj/WebView.m: moved methods around (-[WebView moveDragCaretToPoint:]): moved (-[WebView removeDragCaret]): moved (-[WebView _bridgeAtPoint:]): moved (-[WebView editableDOMRangeForPoint:]): moved
- WebView.subproj/WebViewInternal.h: add new internal method
- WebView.subproj/WebViewPrivate.h: moved new methods to public header
- 11:47 AM Changeset in webkit [6828] by
-
- 2 edits in trunk/WebKit
Use a different hack, as recommended by Kristin, to force the drag
manager to exit a modal event wait it is in. The hack is required
to update the drag image on the fly. Instead of posting a CG
event we post at the AppKit level.
Reviewed by Louch
- WebCoreSupport.subproj/WebGraphicsBridge.m: (-[WebGraphicsBridge setDraggingImage:at:]):
- 11:26 AM Changeset in webkit [6827] by
-
- 11 edits in trunk/WebCore
A new CSS pseudo-class ".drag" is added. Analogous to the "hover" class,
this class determines styles used while an element is generating a drag
image.
Reviewed by hyatt.
- khtml/css/css_base.cpp: (CSSSelector::extractPseudoType): Boilerplate for adding new class.
- khtml/css/css_base.h: Boilerplate for adding new class.
- khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::checkOneSelector): Match new class against elements being dragged.
- khtml/css/cssstyleselector.h: (khtml::StyleSelector::): Boilerplate for adding new class.
- khtml/rendering/render_object.cpp: (RenderObject::RenderObject): Init new member. (RenderObject::isDragging): Return whether this object is being dragged. (RenderObject::updateDragState): Paint us an all children with a new dragged state.
- khtml/rendering/render_object.h:
- khtml/rendering/render_style.h: Boilerplate for adding new class. (khtml::RenderStyle::NonInheritedFlags::operator==): (khtml::RenderStyle::setBitDefaults): (khtml::RenderStyle::affectedByDragRules): (khtml::RenderStyle::setAffectedByDragRules):
- kwq/KWQClipboard.mm: (KWQClipboard::dragNSImage): Method rename.
- kwq/KWQKHTMLPart.h:
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::snapshotDragImage): Mark the element as being dragged before we snapshot it, so new style class will apply.
- 10:59 AM Changeset in webkit [6826] by
-
- 1 edit12 adds in trunk
Reviewed by me
Added a few more editing-related layout tests.
- layout-tests/editing/inserting/insert-3654864-fix-expected.txt: Added.
- layout-tests/editing/inserting/insert-3654864-fix.html: Added.
- layout-tests/editing/inserting/insert-3659587-fix-expected.txt: Added.
- layout-tests/editing/inserting/insert-3659587-fix.html: Added.
- layout-tests/editing/inserting/insert-after-delete-001-expected.txt: Added.
- layout-tests/editing/inserting/insert-after-delete-001.html: Added.
- layout-tests/editing/inserting/insert-br-case1-expected.txt: Added.
- layout-tests/editing/inserting/insert-br-case1.html: Added.
- layout-tests/editing/inserting/insert-br-case2-expected.txt: Added.
- layout-tests/editing/inserting/insert-br-case2.html: Added.
- layout-tests/editing/inserting/insert-br-case3-expected.txt: Added.
- layout-tests/editing/inserting/insert-br-case3.html: Added.
- 10:58 AM Changeset in webkit [6825] by
-
- 1 edit4 deletes in trunk
Reviewed by me
Regarding the bug below, removing some tests since we have removed the execCommand("paste")
feature, at least for now.
<rdar://problem/3684792>: (JavaScript execCommand("paste") presents security issues)
- layout-tests/editing/pasteboard/copy-paste-text-001-expected.txt: Removed.
- layout-tests/editing/pasteboard/copy-paste-text-001.html: Removed.
- layout-tests/editing/pasteboard/cut-paste-text-002-expected.txt: Removed.
- layout-tests/editing/pasteboard/cut-paste-text-002.html: Removed.
- 10:58 AM Changeset in webkit [6824] by
-
- 2 edits in trunk/WebKit
Fixed:
<rdar://problem/3692668> REGRESSION: delay when images and links
<rdar://problem/3692675> links should drag when dragging images that are links when drag source action is WebDragSourceActionLink
Reviewed by trey.
- WebView.subproj/WebHTMLView.m: (-[WebHTMLView _mayStartDragWithMouseDragged:]): cleaned up, only use selection delay for selections, allow links to be dragged when image dragging is disabled
- 10:50 AM Changeset in webkit [6823] by
-
- 2 edits in trunk/WebCore
Reviewed by Darin
Fix for this bug:
<rdar://problem/3672377> assertion failure in AppendNodeCommandImpl::doApply due to non-0 exception code trying to insert a DIV markup string
- khtml/xml/dom_nodeimpl.cpp: (NodeImpl::checkAddChild): This function was being too strict in disallowing certain nodes to be added as other child nodes, applying rules we typically use for parsing. However, those parsing rules are primarily for dealing with "bad" HTML, and should not be applied to programmatic DOM operations. The fix involves removing calls to childAllowed().
- 10:00 AM Changeset in webkit [6822] by
-
- 18 edits in trunk
WebCore:
The drag image may be updated during a DHTML drag. This includes updating
from a Timer instead of a drag event handler. In addition, an arbitrary
element can be set as the one to snapshot for the drag image.
Reviewed by John
- khtml/ecma/kjs_events.cpp: (ClipboardProtoFunc::tryCall): setDragImage accepts a node. Previously, it had to be an Image object.
- khtml/rendering/render_object.cpp: (RenderObject::paintingRootRect): Also returns top element's rect.
- khtml/rendering/render_object.h:
- khtml/xml/dom2_eventsimpl.h:
- kwq/KWQClipboard.h: New security mode where image is still writable, but pasteboard is not. (KWQClipboard::): (KWQClipboard::setDragHasStarted):
- kwq/KWQClipboard.mm: (KWQClipboard::KWQClipboard): Part may be passed. Needed in the source case to generate an image from an element. (KWQClipboard::setAccessPolicy): New, replaces former becomeNumb method which wasn't flexible enough. (KWQClipboard::accessPolicy): New getter. (KWQClipboard::dragImage): No change, diff confusion. (KWQClipboard::setDragImage): Call new helper, below. (KWQClipboard::dragImageElement): New, return any element set. (KWQClipboard::setDragImageElement): New, call new helper. (KWQClipboard::setDragImage): New helper, set the image via either a pixmap or an element to snapshot, pushes the result to WebKit if we've already started the drag. (KWQClipboard::dragNSImage): Generate an NSImage and mouse offset, no matter how the drag image was set (Image or element).
- kwq/KWQKHTMLPart.h: A single clipboard is kept over the life of a source drag instead of making one for each event.
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::KWQKHTMLPart): Init clipboard. (KWQKHTMLPart::~KWQKHTMLPart): Free clipboard. (KWQKHTMLPart::freeClipboard): New helper. (KWQKHTMLPart::dispatchDragSrcEvent): Most code moved to caller. (KWQKHTMLPart::khtmlMouseMoveEvent): Make clipboard for this drag session. Init clipboard to make an image from the dragSource element. Mark the drag as having started. (KWQKHTMLPart::dragSourceMovedTo): Clipboard will update WK with any new drag image, so we don't need to. (KWQKHTMLPart::dragSourceEndedAt): Ditto. (KWQKHTMLPart::elementImage): Also return element rect.
- kwq/WebCoreBridge.h: Glue moved to WebCoreGraphicsBridge.
- kwq/WebCoreBridge.mm: (-[WebCoreBridge dragOperationForDraggingInfo:]): Use new method. (-[WebCoreBridge dragExitedWithDraggingInfo:]): Ditto (-[WebCoreBridge concludeDragForDraggingInfo:]): Ditto
- kwq/WebCoreGraphicsBridge.h:
- kwq/WebCoreGraphicsBridge.m: (-[WebCoreGraphicsBridge setDraggingImage:at:]): Glue moved from WebBridge
WebKit:
Small rearrangement to support dynamic changing of the drag
image during DHTML dragging.
Reviewed by John
- WebCoreSupport.subproj/WebBridge.m: Bridge glue moved to WebGraphicsBridge.
- WebCoreSupport.subproj/WebGraphicsBridge.m: (FlipImageSpec): Code moved from WebHTMLView.m. (-[WebGraphicsBridge setDraggingImage:at:]): Ditto. Plus, we've added a gross event posting hack to force CG drag manager to update the display when we set the drag image.
- WebView.subproj/WebHTMLView.m: Code moved to WebGraphicsBridge.
- WebView.subproj/WebHTMLViewPrivate.h:
Jun 12, 2004:
- 10:38 PM Changeset in webkit [6821] by
-
- 3 edits in trunk
fix the release markers in the ChangeLogs, which said '144' instead of 'Safari-144' (oops)
Jun 11, 2004:
- 6:04 PM Changeset in webkit [6820] by
-
- 17 edits in trunk
WebCore:
Support for WebKit drag & drop API.
Reviewed by trey.
- kwq/WebCoreBridge.h:
- kwq/WebCoreBridge.mm: (-[WebCoreBridge _positionForPoint:]): new (-[WebCoreBridge moveDragCaretToPoint:]): call _positionForPoint (-[WebCoreBridge editableDOMRangeForPoint:]): new
WebKit:
Implemented the remainder of the drag & drop API.
Reviewed by trey.
- Misc.subproj/WebNSPasteboardExtras.h:
- Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]): new
- Misc.subproj/WebNSViewExtras.h:
- Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragImage:rect:event:pasteboard:source:]): simplified, this method now just creates a drag image and starts the drag
- WebCoreSupport.subproj/WebBridge.m: (-[WebBridge allowDHTMLDrag:UADrag:]): now calls _delegateDragSourceActionMask on WebHTMLView to interact with the delegate
- WebView.subproj/WebDefaultUIDelegate.m:
- WebView.subproj/WebHTMLView.m: (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): call new delegate method, cleaned-up a little (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): call drag caret methods on WebView instead of WebBridge so WebView can make sure only 1 HTML view has a drag cursor (-[WebHTMLView draggingCancelledWithDraggingInfo:]): ditto (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): ditto (-[WebHTMLView _delegateDragSourceActionMask]): new, gets drag source action mask from delegate
- WebView.subproj/WebHTMLViewInternal.h:
- WebView.subproj/WebImageView.h:
- WebView.subproj/WebImageView.m: (-[WebImageView mouseDown:]): get the drag source action mask from the delegate (-[WebImageView mouseDragged:]): inform the delegate of the drag
- WebView.subproj/WebView.m: (-[WebViewPrivate dealloc]): assert that dragCursorBridge is nil (-[WebView _close]): release dragCursorBridge (-[WebView _bridgeAtPoint:]): new (-[WebView editableDOMRangeForPoint:]): new API (-[WebView moveDragCaretToPoint:]): new API (-[WebView removeDragCaret]): new API (-[WebView _frameViewAtWindowPoint:]): moved so this can be called internally
- WebView.subproj/WebViewInternal.h:
- WebView.subproj/WebViewPrivate.h:
- 2:01 PM Changeset in webkit [6819] by
-
- 4 edits in trunk/WebCore
Reviewed by Dave.
- fixed <rdar://problem/3645846>: (REGRESSION: Stuck "Loading" when logging into Google's Gmail on newer versions of Safari)
- khtml/html/html_baseimpl.cpp: (HTMLFrameElementImpl::parseHTMLAttribute): Call through to base class for ATTR_ID so the "has ID" bit gets set.
- khtml/html/html_imageimpl.cpp: (HTMLImageElementImpl::parseHTMLAttribute): Move ATTR_COMPOSITE code up and out of the way so it doesn't screw up ATTR_ID parsing. (HTMLMapElementImpl::parseHTMLAttribute): Call through to base class for ATTR_ID so the "has ID" bit gets set.
- khtml/html/html_objectimpl.cpp: (HTMLAppletElementImpl::parseHTMLAttribute): Remove ATTR_ID case; not needed. (HTMLParamElementImpl::parseHTMLAttribute): Call through to base class for ATTR_ID so the "has ID" bit gets set.
- 12:37 PM Changeset in webkit [6818] by
-
- 3 edits in trunk/WebCore
Reviewed by Hyatt
Fix for this bug:
<rdar://problem/3659587>: "when typing in Blot, bold style does not carry over to next line after pressing 'return'"
Did some work to improve the insert newline command. The refinement is to insert the newline
at the upstream position of the caret, ensuring that the newline takes on the
appropriate style, and does not let the caret "escape" from an element that is
conferring style.
- khtml/editing/htmlediting_impl.cpp: (khtml::InputNewlineCommandImpl::insertNodeAfterPosition): New helper. Adds smarts about adding newlines when the selection is a caret in a block. (khtml::InputNewlineCommandImpl::insertNodeBeforePosition): Ditto. (khtml::InputNewlineCommandImpl::doApply): Simplified cases. One case in the code could not happen.
- khtml/editing/htmlediting_impl.h:
Fix for this bug:
<rdar://problem/3654864>: "Pasting content at start of line places it at end of previous line"
(khtml::InputTextCommandImpl::prepareForTextInsertion): Simple code mistake. Content was indeed
being added to the line before. Fixed to add new content after the line break.
- 12:21 PM Changeset in webkit [6817] by
-
- 13 edits in trunk
WebCore:
Prep work for latest delegate API for dragging. In addition, I also straightened out all
the cases of DHTML setting a drag image or setting pasteboard data, and how that would
override WebKit's default behavior (which follows how WinIE does things).
Reviewed by Chris.
- khtml/rendering/render_object.cpp: (RenderObject::draggableNode): Obey new params for whether a DHTML or UserAgent (i.e., WebKit) drag source is allowed.
- khtml/rendering/render_object.h:
- kwq/KWQKHTMLPart.h:
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::dispatchDragSrcEvent): Setting pasteboard data was moved out of here, now caller's responsibility. (KWQKHTMLPart::khtmlMouseMoveEvent): Ask bridge for allowable drag actions (DHTML vs UA). Only send drag events if DHTML is allowed. Only generate a drag image if the source is a DHTML element. Note whether event handler set any pasteboard data, and pass that fact to WebKit. (KWQKHTMLPart::dragSourceMovedTo): Only send drag events if DHTML is allowed. (KWQKHTMLPart::dragSourceEndedAt): Only send drag events if DHTML is allowed.
- kwq/WebCoreBridge.h:
WebKit:
Prep work for latest delegate API for dragging. In addition, I also straightened out all
the cases of DHTML setting a drag image or setting pasteboard data, and how that would
override WebKit's default behavior (which follows how WinIE does things).
Reviewed by Chris.
- Misc.subproj/WebNSViewExtras.h:
- Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragImage:archive:rect:URL:title:event:dragImage:dragLocation:writePasteboard:]): New args to allow WebCore override of dragImage and pasteboard data.
- WebCoreSupport.subproj/WebBridge.m: (-[WebBridge allowDHTMLDrag:UADrag:]): New method to return the drag action info to WC. (-[WebBridge startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): Pass along new args.
- WebView.subproj/WebHTMLView.m: (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): Allow WebCore to override drag image and pasteboard data for any type of drag. (-[WebHTMLView mouseDragged:]): Pass NO for new args.
- WebView.subproj/WebHTMLViewPrivate.h:
- WebView.subproj/WebImageView.m: (-[WebImageView mouseDragged:]): Pass NO/nil for new args.
- 12:07 PM Changeset in webkit [6816] by
-
- 1 edit in trunk/WebCore/WebCore.pbproj/project.pbxproj
Reviewed by Dave.
- fixed <rdar://problem/3688971>: (on dual-800 tower, url field animation doesn't work half the time)
- BrowserWindowController.m: (-[BrowserWindowController installRSSTransitionImageView]): Set the window's first responder to nil before hiding the webview if the focus had been in the webview. It's not clear why the behavior on one machine was different than others, but this fix is sensible and definitely fixes the problem on Jess's machine.
- 11:33 AM Changeset in webkit [6815] by
-
- 3 edits in trunk
Reviewed by Trey
Lay some groundwork for better testing of inserting newlines. Layout
tests that use this new code will be coming soon.
- khtml/editing/jsediting.cpp: Add commands for bold and inserting newlines.
- layout-tests/editing/editing.js: Added new insertNewline command. which calls through to TypingCommand::insertNewline. There was no way to get to this command from JS before this addition.
- 11:06 AM Changeset in webkit [6814] by
-
- 3 edits in trunk/WebCore
Reviewed by Darin
Javascript execCommand system wants to use case-insensitive QDict.
The interface for QDict offers this feature, but it was never implemented.
Now it is.
- kwq/KWQDictImpl.h: Declare bool to store case-sensitive bit.
- kwq/KWQDictImpl.mm: (KWQDictImpl::KWQDictImpl): No longer drops caseSensitive on the floor; stores it in instance variable. (KWQDictImpl::insert): Make lowercase version of key for operation, if necessary. (KWQDictImpl::remove): Ditto. (KWQDictImpl::find): Ditto. (KWQDictIteratorImpl::currentStringKey): Whitespace cleanup.
Jun 10, 2004:
- 5:08 PM Changeset in webkit [6813] by
-
- 3 edits in trunk
set version number to 145u; the tree is open
- 5:00 PM Changeset in webkit [6812]
-
- 3 copies in tags/Safari-144
This commit was manufactured by cvs2svn to create tag 'Safari-144'.
- 5:00 PM Changeset in webkit [6811] by
-
- 6 edits in trunk
Safari-144 stamp
- 2:19 PM Changeset in webkit [6810] by
-
- 6 edits in trunk
Reviewed by John.
- kjs/lexer.cpp:
(Lexer::setCode):
- fixed <rdar://problem/3682398>: (error console line numbers are offset by 1)
- kjs/lexer.h:
(KJS::Lexer::lineNo):
- fixed <rdar://problem/3682398>: (error console line numbers are offset by 1)
WebKit:
Reviewed by John.
- WebView.subproj/WebResource.m: (-[WebResource description]):
-added per request of cblu
(-[WebResource _response]):
-added this method to the header
(-[WebResource _stringValue]):
- gives the string value of the NSData representation
- WebView.subproj/WebResourcePrivate.h:
WebBrowser:
Reviewed by John.
- BrowserDocumentController.h:
- BrowserDocumentController.m: -added support to open an HTMLSourceDocument powered by a WebResource (-[BrowserDocumentController openHTMLSourceDocumentWithResource:]):
- Debug/DebugUtilities.m: (-[BrowserDocument showJavaScriptConsole:]):
- Debug/ErrorCell.m:
- doesn't display "Line:" if a line number is not present
- magic numbers are now #define'd
(-[ErrorCell drawInteriorWithFrame:inView:]):
- Debug/ErrorConsoleController.h:
- Debug/ErrorConsoleController.m:
(-[ErrorConsoleController init]):
(-[ErrorConsoleController awakeFromNib]):
- properly set the model's table view here, instead of init
(-[ErrorConsoleController clear:]):
- removes errors from the model
(-[ErrorConsoleController findResourceInWebFrame:forURL:]):
- fixes <rdar://problem/3682337>: (safari error console does not open the correct source document when an error is double-clicked)
(-[ErrorConsoleController findResourceInDocument:forURL:]):
- fixes <rdar://problem/3682337>: (safari error console does not open the correct source document when an error is double-clicked)
(-[ErrorConsoleController findResourceInURL:]):
- fixes <rdar://problem/3682337>: (safari error console does not open the correct source document when an error is double-clicked)
(-[ErrorConsoleController showPageSourceWindow:]):
- fixes <rdar://problem/3682337>: (safari error console does not open the correct source document when an error is double-clicked)
- Debug/ErrorConsoleModel.h:
- Debug/ErrorConsoleModel.m: (-[ErrorConsoleModel setTable:]): (-[ErrorConsoleModel selectedURL]): (-[ErrorConsoleModel selectedLineNumber]):
- HTMLSourceController.h:
- HTMLSourceController.m:
(-[HTMLSourceController selectLineAtIndex:]):
(-[HTMLSourceController textView]):
(-[HTMLSourceController rangeForLine:]):
- fixes rdr://problem/3682360 (error console should highlight/select offending code when viewing error source)
- HTMLSourceDocument.h:
- HTMLSourceDocument.m:
(-[HTMLSourceDocument initWithResource:]):
(-[HTMLSourceDocument makeWindowControllers]):
(-[HTMLSourceDocument displayName]):
- now WebResource aware
(-[HTMLSourceDocument resource]):
(-[HTMLSourceDocument setResource:]):
- WebBrowser.pbproj/project.pbxproj:
- 2:07 PM Changeset in webkit [6809] by
-
- 3 edits in trunk/WebCore
Reviewed by Darin
Fix for this bug:
<rdar://problem/3654850>: "Style changes do not work across blocks"
Now, applying styles works across blocks. I did quite a bit
of internal redsign on the member functions of this class to
make this work. As a bonus, from an architectural standpoint,
all style changes are now done "in place". There is no more
copying of content in order to perform style changes.
- khtml/editing/htmlediting_impl.cpp: (khtml::ApplyStyleCommandImpl::doApply): (khtml::ApplyStyleCommandImpl::removeHTMLStyleNode): (khtml::ApplyStyleCommandImpl::removeCSSStyle): (khtml::ApplyStyleCommandImpl::removeStyle): (khtml::ApplyStyleCommandImpl::nodeFullySelected): (khtml::ApplyStyleCommandImpl::splitTextAtStartIfNeeded): (khtml::ApplyStyleCommandImpl::splitTextAtEndIfNeeded): (khtml::ApplyStyleCommandImpl::surroundNodeRangeWithElement): (khtml::ApplyStyleCommandImpl::applyStyleIfNeeded): (khtml::ApplyStyleCommandImpl::positionInsertionPoint):
- khtml/editing/htmlediting_impl.h:
- 1:36 PM Changeset in webkit [6808] by
-
- 15 edits in trunk
WebCore:
Reviewed by Ken.
- filled out execCommand a lot more
- fixed <rdar://problem/3685231>: (execCommand italic is not implemented)
- fixed <rdar://problem/3685232>: (execCommand bold is not implemented)
- fixed <rdar://problem/3675899>: (Make queryCommandIndeterm work as specified in the Javascript execCommand Compatibility Plan)
- fixed <rdar://problem/3675901>: (Make queryCommandState work as specified in the Javascript execCommand Compatibility Plan)
- fixed <rdar://problem/3675904>: (Make queryCommandValue work as specified in the Javascript execCommand Compatibility Plan)
- khtml/editing/jsediting.cpp: (DOM::JSEditor::queryCommandIndeterm): Changed to use KHTMLPart::TriState instead of CommandState. (DOM::JSEditor::queryCommandState): Ditto. (execStyleChange): Changed to use KHTMLPart::applyStyle. (stateStyle): Used KHTMLPart::selectionHasStyle for this. (selectionStartHasStyle): Use KHTMLPart::selectionStartHasStyle for this. (valueStyle): Used KHTMLPart::selectionStartStylePropertyValue for this. (execBold): Implemented toggling, using selectionStartHasStyle. (execItalic): Implemented toggling, using selectionStartHasStyle. (execPrint): Implemented. (enabledRedo): Implemented, using canRedo. (enabledUndo): Implemented, using canUndo. (stateNone): Renamed from stateNo. (valueBackColor): Implemented, using valueStyle. (valueFontName): Implemented, using valueStyle. (valueFontSize): Implemented, using valueStyle. (valueForeColor): Implemented, using valueStyle. (valueFontSize): Implemented, using valueStyle.
- khtml/khtml_part.h: Added editing operations.
- khtml/khtml_part.cpp: (KHTMLPart::copyToPasteboard): Added. (KHTMLPart::cutToPasteboard): Added. (KHTMLPart::redo): Added. (KHTMLPart::undo): Added. (KHTMLPart::applyStyle): Added. (updateState): Added. (KHTMLPart::selectionHasStyle): Added. (KHTMLPart::selectionStartHasStyle): Added. (KHTMLPart::selectionStartStylePropertyValue): Added. (KHTMLPart::selectionComputedStyle): Added. (KHTMLPart::print): Added.
- khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): Call print() on plain old part, not KWQ(part).
- kwq/KWQKHTMLPart.h: Removed print(), added _haveUndoRedoOperations.
- kwq/KWQKHTMLPart.mm: (KHTMLPart::print): Moved from KWQKHTMLPart to KHTMLPart. (KWQKHTMLPart::registerCommandForUndo): Moved code here from bridge. (KWQKHTMLPart::registerCommandForRedo): Moved code here from bridge. (KWQKHTMLPart::clearUndoRedoOperations): Moved code here from bridge. (KWQKHTMLPart::issueUndoCommand): Moved code here from bridge. (KWQKHTMLPart::issueRedoCommand): Moved code here from bridge. (KWQKHTMLPart::issuePasteCommand): Moved code here from bridge. (KHTMLPart::canUndo): Added. (KHTMLPart::canRedo): Added.
- kwq/WebCoreBridge.h: Added undoManager, removed undo-related methods.
- kwq/WebCoreBridge.mm: (-[WebCoreBridge applyStyle:]): Changed to call KHTMLPart::applyStyle.
- WebCore.pbproj/.cvsignore: Updated for new Xcode files.
WebKit:
Reviewed by Ken.
- WebCoreSupport.subproj/WebBridge.m: Removed undo-related methods. (-[WebBridge undoManager]): Added.
- WebKit.pbproj/.cvsignore: Updated for new Xcode files.
- 9:27 AM Changeset in webkit [6807] by
-
- 3 edits in trunk/WebKit
Reviewed by Darin
Fix for this bug:
<rdar://problem/3672088>: "Editable WebViews should maintain a selection even when they're not firstResponder"
Add some code to determine whether a WebHTMLView should maintain an
inactive selection when the view is not first responder. Traditionally,
these views have not maintained such selections, clearing them when the
view was not first responder. However, for appls embedding this view as
an editing widget, it is desirable to act more like an NSTextView. For
now, however, the view only acts in this way when the web view is set to
be editable with -[WebView setEditable:YES]. This will maintain
traditional behavior for WebKit clients dating back to before this
change, and will likely be a decent switch for the long term, since
clients to ste the web view to be editable probably want it to act like
a "regular" Cocoa view in terms of its selection behavior.
- WebView.subproj/WebHTMLView.m: (-[WebHTMLView updateTextBackgroundColor]): Add code to tell whether the view is resigning first responder, and if it is, use the inactive text background color. (-[WebHTMLView maintainsInactiveSelection]): New helper which does checks to see if the new selection behavior should be used, or whether we should continue with traditional WebKit behavior. (-[WebHTMLView resignFirstResponder]): Call new maintainsInactiveSelection helper. If true, do not clear the selection.
- WebView.subproj/WebHTMLViewInternal.h: Add resigningFirstResponder flag.