Timeline



Nov 7, 2003:

5:08 PM Changeset in webkit [5426] by cblu
  • 2 edits in trunk/WebCore

Fixed: <rdar://problem/3020196>: links with href="" don't show hand cursor when you mouse over them

Reviewed by darin.

  • khtml/khtmlview.cpp: (KHTMLView::viewportMouseMoveEvent): check if the URL on the event is non-NULL, not if it is non-empty
4:48 PM Changeset in webkit [5425]
  • 9 copies
    2 deletes in tags/Safari-100~0~1

This commit was manufactured by cvs2svn to create tag
'Safari-100~0~1'.

4:48 PM Changeset in webkit [5424] by vicki
  • 1 edit in branches/Safari-1-1-Merlot-BuildFixes-branch/WebCore/ChangeLog-2005-08-23

moved the release marker in the ChangeLog

4:40 PM Changeset in webkit [5423] by vicki
  • 2 edits in branches/Safari-1-1-Merlot-BuildFixes-branch/WebCore

Reviewed by kocienda.

  • WebCorePrefix.h: fix Merlot build breakage
3:36 PM Changeset in webkit [5422] by vicki
  • 1 edit in branches/Safari-1-1-Merlot-BuildFixes-branch/WebCore/ChangeLog-2005-08-23

Safari v100.0.1 stamp

3:24 PM Changeset in webkit [5421] by vicki
  • 4 edits in branches/Safari-1-1-Merlot-BuildFixes-branch/WebCore
  • rolled this fix onto the Safari-1-1-Merlot-BuildFixes-branch

2003-10-26 Darin Adler <Darin Adler>

Reviewed by Maciej.

  • fixed 3463586 -- WebCore does not compile with new definition of NULL
  • khtml/khtml_part.cpp: (findWordBoundary): Changed NULL to 0 and did a little code cleanup of the surrounding code.
  • khtml/rendering/break_lines.cpp: (khtml::isBreakable): Changed NULL to 0 and did a tiny bit of cleanup.
  • WebCorePrefix.h: Add a definition of NULL here that takes advantage of the GNU null feature even if the system C library doesn't.
3:24 PM Changeset in webkit [5420]
  • 14 copies in branches/Safari-1-1-Merlot-BuildFixes-branch

This commit was manufactured by cvs2svn to create branch
'Safari-1-1-Merlot-BuildFixes-branch'.

10:57 AM Changeset in webkit [5419] by rjw
  • 4 edits in trunk

WebKit:

Fixed 3477067. Use our case unicode conversion routines.

Reviewed by Ken.

  • WebCoreSupport.subproj/WebTextRenderer.m: (toUpper):

WebCore:

Fixed 3477067. Use our case unicode conversion routines.

Reviewed by Ken.

  • kwq/KWQChar.mm: (QChar::lower): (QChar::upper):
9:51 AM Changeset in webkit [5418] by rjw
  • 1 add in trunk/LayoutTests/css1/text_properties/text-transform.html

New text-transform test case from Dave at CSS WG.

Nov 6, 2003:

11:59 PM Changeset in webkit [5417] by hyatt
  • 3 adds in trunk/LayoutTests/fast/runin

Adding runin tests finally.

11:58 PM Changeset in webkit [5416] by hyatt
  • 2 edits in trunk/WebCore

Fixes for 3476717, inline blocks should expand to encompass floats; 3476718, inline blocks should not
collapse margins with children; and 3476721, run-ins and compacts can flow into anonymous blocks, even
ones that they caused to be created by failing to run in/compact in the first place.

Reviewed by darin (inline block fixes only).

  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::layoutBlock): (khtml::RenderBlock::layoutBlockChildren):
11:41 PM Changeset in webkit [5415] by hyatt
  • 4 adds in trunk/LayoutTests/fast/inline-block

Adding inline-block growth/collapsing layout tests.

7:37 PM Changeset in webkit [5414] by rjw
  • 2 edits in trunk/WebCore

Fixed 3476563. Remove unnecessary call to set view position after load completes.

Reviewed by Gramps.

  • khtml/khtml_part.cpp: (KHTMLPart::checkCompleted):
4:40 PM Changeset in webkit [5413] by rjw
  • 4 edits in trunk/WebKit

Fixed 3476393. Call scrollPoint: recursively up the view hierarchy to ensure point is visible.

Reviewed by Ken.

  • Misc.subproj/WebNSViewExtras.h:
  • Misc.subproj/WebNSViewExtras.m: (-[NSView _web_scrollPointToVisible:fromView:]):
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView scrollPoint:]):
3:42 PM Changeset in webkit [5412] by cblu
  • 2 edits in trunk/WebCore
  • khtml/rendering/render_image.h: (khtml::RenderImage::isDisplayingError): forgot to remove the "virtual" part of the declaration
3:37 PM Changeset in webkit [5411] by cblu
  • 3 edits in trunk/WebCore

Fixed:
<rdar://problem/3275118>: Dragging from missing-image link stretches missing-image icon to size of missing image
<rdar://problem/3476225>: assert dragging non-existant images

Reviewed by rjw.

  • khtml/rendering/render_image.h: (khtml::RenderImage::isDisplayingError): new method, returns true for the broken image
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]): only provide info if there is an image and the image is not broken
1:29 PM Changeset in webkit [5410] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by Richard

Fixes for these bugs:

<rdar://problem/3476006>: Form file input widgets do not scroll
to view when focused

<rdar://problem/3476007>: Form file input widgets should only
focus when full keyboard access is on

  • kwq/KWQFileButton.h: Added focusPolicy declaration.
  • kwq/KWQFileButton.mm: (KWQFileButton::focusPolicy): Added. Now works like other buttons. Fixes 3476007. (KWQFileButton::focusChanged): Added. Code similar to text area widgets. Fixes 3476006.
1:03 PM Changeset in webkit [5409] by cblu
  • 2 edits in trunk/WebCore

Fixed: <rdar://problem/3308609>: 6L60 Safari URL links with line-endings converted to hex by contextual menu

Reviewed by rjw.

  • kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]): use parseURL to go from an attribute string to a URL string
12:11 PM Changeset in webkit [5408] by vicki
  • 3 edits in trunk

the tree is open for Safari-114!

12:05 PM Changeset in webkit [5407]
  • 3 copies in tags/Safari-113

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

12:05 PM Changeset in webkit [5406] by vicki
  • 6 edits in trunk

Safari-113 stamp

9:33 AM Changeset in webkit [5405] by sullivan
  • 2 edits in trunk/WebCore
  • fixed broken build
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::completeURL): removed stray character
9:12 AM Changeset in webkit [5404] by mjs
  • 9 edits in trunk/WebCore

Reviewed by Darin.

  • fixed 3475366 - 4.5% of time spent making html event listeners on slow intel page.

6% speedup on intel page, 1% speedup on cvs-base PLT.

  • khtml/ecma/kjs_events.cpp: (JSEventListener::JSEventListener): Don't add self to hashtable if imp is null (which can now happen in the lazy listener case). (JSEventListener::~JSEventListener): Ditto on removing. (JSEventListener::listenerObj): Made this virtual. (JSLazyEventListener::JSLazyEventListener): New constructor. (JSLazyEventListener::handleEvent): call parseCode, then superclass if it appeared to succeed. (JSLazyEventListener::listenerObj): call parseCode, then superclass. (JSLazyEventListener::parseCode): (KJS::getNodeEventListener): Check for null listenerObjImp in case of lazy listener that failed to parse.
  • khtml/ecma/kjs_dom.cpp: (DOMNode::getListener): Ditto.
  • khtml/ecma/kjs_html.cpp: (Image::getValueProperty): Ditto.
  • khtml/ecma/kjs_events.h: (KJS::JSEventListener::listenerObjImp): call listenerObj() virtual method and get imp from the result.
  • khtml/ecma/kjs_proxy.cpp: (KJSProxyImpl::createHTMLEventHandler): Don't parse the code here, make a lazy listener.
  • khtml/ecma/kjs_window.cpp: (Window::getJSLazyEventListener): make a new JSLazyEventListener - no need to check the listeners hashtable cause a brand new lazy listener won't have a function anyway.
  • khtml/ecma/kjs_window.h: Prototype new method.
9:06 AM Changeset in webkit [5403] by mjs
  • 2 edits in trunk/WebCore

Reviewed by Darin.

  • fixed 3475397 - REGRESSION: relative URLs on page load test sometimes contain garbage, leading to missing images
  • kwq/KWQKURL.mm: (KURL::KURL): When constructing from NSURL, null-terminate the raw bytes since KURL::parse expects a null-terminated C string. It might be even better to pass a length to parse, but this fix is simple and does the job.

Nov 5, 2003:

10:26 PM Changeset in webkit [5402] by darin
  • 5 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed 3475109 -- support keyboard event object properties of altkey, ctrlKey, shiftKey

We had the DOM Level 3 KeyboardEvent class already; I just had to add JavaScript bindings.

  • khtml/ecma/kjs_events.h: Added DOMKeyboardEvent class.
  • khtml/ecma/kjs_events.cpp: (KJS::getDOMEvent): Added code to make a DOMKeyboardEvent if the event is a DOM::KeyboardEvent. (DOMKeyboardEvent::~DOMKeyboardEvent): Added. (DOMKeyboardEvent::classInfo): Added. (DOMKeyboardEvent::tryGet): Added. (DOMKeyboardEvent::getValueProperty): Added. (DOMKeyboardEventProtoFunc::tryCall): Added.
  • khtml/dom/dom2_events.cpp: (KeyboardEvent::keyIdentifier): Added. (KeyboardEvent::keyLocation): Added.
  • khtml/ecma/kjs_events.lut.h: Regenerated.
9:27 PM Changeset in webkit [5401] by darin
  • 2 edits in trunk/WebKit

Reviewed by Maciej.

  • fixed 3473913 -- host names in simple mailto URLs are not getting encoded/decoded correctly yet
  • Misc.subproj/WebNSURLExtras.m: (applyHostNameFunctionToMailToURLString): Handle case where host name is at the end of the string. (applyHostNameFunctionToURLString): Add the # character to the set of characters that can end a domain name.
6:14 PM Changeset in webkit [5400] by rjw
  • 2 edits in trunk/WebKit

Fixed 3413067, 3405797, 3456877
Use ATSUI to render Arabic and Hebrew.

Reviewed by John.

  • WebCoreSupport.subproj/WebTextRenderer.m: (shouldUseATSU):
5:48 PM Changeset in webkit [5399] by mjs
  • 5 edits in trunk/WebCore

Reviewed by John.

  • fixed 3475092 - Notifying the bridge about duplicate images takes 13% of time on intel page

Another 15% speedup on the intel page.

This also results in a 3% speedup on cvs-base PLT! (or maybe that was my last change)

  • kwq/KWQLoader.mm: (KWQServeRequest): Note that we told the bridge about the load. (KWQCheckCacheObjectStatus): Don't tell the bridge about the load if we have alrady; if we do tell it, then note it down.
  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::didTellBridgeAboutLoad): Helper method for the above. (KWQKHTMLPart::haveToldBridgeAboutLoad): Ditto. (KWQKHTMLPart::clear): Clear our idea of what URLs we told the bridge about.
  • khtml/khtml_part.h: make clear() virtual.
5:47 PM Changeset in webkit [5398] by sullivan
  • 4 edits in trunk/WebKit
  • fixed <rdar://problem/3469791>: Bigger/Smaller commands are disabled for HTML Mail in separate window (w/WebKit-111)

Reviewed by Darin.

  • WebView.subproj/WebFrameView.m: (-[WebFrameView acceptsFirstResponder]): always be willing to become first responder, even if no page has yet been loaded. (-[WebFrameView becomeFirstResponder]): if no page has yet been loaded (so our scrollview refuses first responder-ness), don't do any special becoming-first- responder shenanigans.

Also removed obsolete overrides for nextKeyView, nextValidKeyView,
previousKeyView, and previousValidKeyView that are no longer
required now that we handle the key loop more like NSScrollView.

  • WebView.subproj/WebFrameViewPrivate.h: removed now-unused ivar inNextValidKeyView
5:43 PM Changeset in webkit [5397] by darin
  • 2 edits in trunk/WebCore
  • WebCore-combined.exp: Checked in generated file.
4:17 PM Changeset in webkit [5396] by rjw
  • 7 edits in trunk

WebKit:

Fixed 3029966. Animated backgrounds specified in <BODY> don't animate
Fixed 3474824. Tiled animated GIFs don't animate.
Fixed 3029966. Animated backgrounds specified with CSS don't animate.

Reviewed by Chris.

  • WebCoreSupport.subproj/WebImageRenderer.h:
  • WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer nextFrame:]): (-[WebImageRenderer drawImageInRect:fromRect:]): (-[WebImageRenderer startAnimationIfNecessary]): (-[WebImageRenderer tileInRect:fromPoint:]):
  • WebView.subproj/WebImageView.m: (-[WebImageView drawRect:]):

WebCore:

Fixed 3474957. Changed name of image rendering method to better reflect it's actual function.

  • (void)beginAnimationInRect:(NSRect)ir fromRect:(NSRect)fr;

renamed to

  • (void)drawImageInRect:(NSRect)ir fromRect:(NSRect)fr;

Reviewed by Chris.

  • kwq/KWQPainter.mm: (QPainter::drawPixmap):
  • kwq/WebCoreImageRenderer.h:
2:59 PM Changeset in webkit [5395] by darin
  • 2 edits in trunk/WebCore
  • WebCore-tests.exp: Added missing symbol so tests will link.
2:24 PM Changeset in webkit [5394] by mjs
  • 4 edits in trunk/WebCore

Reviewed by Ken.

  • fixed 3474756 - Creating HTML event listeners takes 5% of time on particular slow intel page
  • khtml/ecma/kjs_window.h: Make jsEventListeners a hashtable keyed by listener object, not a list.
  • khtml/ecma/kjs_window.cpp: (Window::getJSEventListener): Do hashtable lookup for existing listener instead of walking list.
  • khtml/ecma/kjs_events.cpp: (JSEventListener::JSEventListener): Use hashtable insert instead of list append. (JSEventListener::~JSEventListener): Use hashtable remove instead of list removeRef.
1:59 PM Changeset in webkit [5393] by cblu
  • 2 edits in trunk/WebKit

Fixed: <rdar://problem/3201364>: Safari crashes when hosting carbon plug-in using drag and drop

Reviewed by rjw.

  • WebView.subproj/WebView.m: (-[WebView draggingUpdated:]): return NSDragOperationNone if we're over a plug-in view so the plug-in can handle the drag
12:57 PM Changeset in webkit [5392] by darin
  • 6 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed 3473872 -- encode domain names for IDN when creating URLs inside WebCore
  • kwq/KWQKURL.h: Added KWQIntegerPair type, a number of private functions.
  • kwq/KWQKURL.mm: (isSchemeFirstChar): Make inline function from macro. (isSchemeChar): Make inline function from macro. (isUserInfoChar): Make inline function from macro. (isHostnameChar): Make inline function from macro. (isIPv6Char): Make inline function from macro. (isPathSegmentEndChar): Make inline function from macro. (isBadChar): Make inline function from macro. (isHexDigit): Make inline function from macro. (KURL::KURL): Remove unneeded initializations of m_isValid, since parse sets it. Use CFURLGetBytes in one place a FIXME asked for it. Changed non-ASCII case to use a separate function instead of code in line. (KURL::encodeHostnames): Added. Finds host names and encodes them. (KURL::findHostnameInHierarchicalURL): Added. Finds host name in a hierarchical URL. (KURL::encodeHostname): Added. Encodes one host name. (KURL::findHostnamesInMailToURL): Added. Finds host names in a mailto URL.
  • kwq/KWQString.h: Added new overloads for startsWith.
  • kwq/KWQString.mm: (compareIgnoringCaseForASCIIOnly): Moved these functions up in the file so they can be used by more methods of QString. (QString::startsWith): Added new overloads.
  • WebCore.pbproj/project.pbxproj: Add libicucore.A.dylib library.
12:00 PM Changeset in webkit [5391] by mjs
  • 5 edits in trunk/WebCore

Reviewed by Darin.

  • fixed 3473906 - getElementById takes about 44% of time on particular slow intel page

I fixed this by adding a per-document id --> element hash
table. This speeds up my local copy of the intel page by 60% (50
sec to 20 sec!) and does not cause any PLT slowdown.

  • khtml/xml/dom_docimpl.h: New QDict field for id to element hash table.
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::getElementById): Just look it up in the newly added hash table. (DocumentImpl::addElementById): New method. Add to hash table if no other element is set for that key (this lets the first element of several with matching ids win). (DocumentImpl::removeElementById): New method. Remove from hash table only if the key and value both match.

These Element changes to keep the id --> element hashtable working
seem needlessly tricky, due to lack of bottlenecks in attribute
changing.

  • khtml/xml/dom_elementimpl.cpp: (ElementImpl::updateId): New method that removes element from hash table for old it (ElementImpl::setAttribute): If setting id, call updateId. (ElementImpl::setAttributeMap): If either the old or the new map includes id, call updateId. (ElementImpl::attach): If we have an id, call updateId to set it after attaching. (ElementImpl::detach): Newly added. If we have an id, call updateId to clear it before detaching. (NamedAttrMapImpl::setNamedItem): If the name is id, call updateId on our element. (NamedAttrMapImpl::removeNamedItem): If the name is id, call updateId on our element. (NamedAttrMapImpl::operator=): If old or new contents include id attribute, call updateId on our element.
  • khtml/xml/dom_elementimpl.h: Prototype new methods.
11:06 AM Changeset in webkit [5390] by cblu
  • 2 edits in trunk/WebKit

Fixed: <rdar://problem/3474360>: should attempt to resolve symbolic links when choosing "Save Link As..."

Reviewed by kocienda.

  • WebView.subproj/WebView.m: (-[WebView _fileWrapperForURL:]): follow sym links
10:10 AM Changeset in webkit [5389] by kocienda
  • 2 edits in trunk/WebKit

Reviewed by Darin

Fix for this bug:

<rdar://problem/3455910>: hitting up or down arrows when focus
is on a pop-up menu should pop the menu

  • WebView.subproj/WebFrameView.m: (-[WebFrameView keyDown:]): Call super with the event if focus is on a pop up button.
8:49 AM Changeset in webkit [5388] by kocienda
  • 11 edits in trunk

WebCore:

Reviewed by Maciej

Fix for these bugs:

<rdar://problem/3467558>: Cannot tab to form file input widgets
<rdar://problem/3473631>: WebFileButton sends notifications to communicate with WebCore

Tabbing now works for these widgets. While I was in the neighborhood,
I improved the communication mechanism between the WebKit and WebCore
sides of the file button implementation, replacing notifications
with a callback object.

  • WebCore-combined.exp: Remove no-longer used WebCoreFileButtonClicked

and WebCoreFileButtonFilenameChanged notofication strings.

  • WebCore.exp: Ditto.
  • kwq/KWQFileButton.h: Changed declarations to match changes in callback functions.
  • kwq/KWQFileButton.mm: (KWQFileButton::KWQFileButton): Now sets the view after creating the delegate object. (KWQFileButton::filenameChanged): Now takes a QString argument which indicates the filename. (KWQFileButton::focusChanged): New function. Sends DOM focus and blur events. (-[KWQFileButtonAdapter initWithKWQFileButton:]): No longer needs to register for notifications. (-[KWQFileButtonAdapter dealloc]): No longer needs to remove itself from the notification center. (-[KWQFileButtonAdapter filenameChanged:]): No longer a notification callback. Now a WebCoreFileButtonCallback callback. (-[KWQFileButtonAdapter focusChanged:]): New WebCoreFileButtonCallback callback. (-[KWQFileButtonAdapter clicked]): No longer a notification callback. Now a WebCoreFileButtonCallback callback.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::nextKeyViewInFrame): Unrelated cleanup.
  • kwq/WebCoreBridge.h: Declared new WebCoreFileButtonDelegate protocol.

WebKit:

Reviewed by Maciej

Fix for these bugs:

<rdar://problem/3467558>: Cannot tab to form file input widgets
<rdar://problem/3473631>: WebFileButton sends notifications to communicate with WebCore

Tabbing now works for these widgets. While I was in the neighborhood,
I improved the communication mechanism between the WebKit and WebCore
sides of the file button implementation, replacing notifications
with a callback object.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge fileButtonWithDelegate:]): Method now takes a delegate object.
  • WebCoreSupport.subproj/WebFileButton.h:
  • WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton initWithBridge:delegate:]): (-[WebFileButton initWithFrame:]): (-[WebFileButton dealloc]): (-[WebFileButton chooseFilename:]): Sends callback rather than posting a notification. (-[WebFileButton chooseButtonPressed:]): Ditto. (-[WebFileButton mouseDown:]): (-[WebFileButton acceptsFirstResponder]): (-[WebFileButton becomeFirstResponder]): Make the button subview first responder. (-[WebFileButton nextKeyView]): Hook up to WebBridge key view machinery. (-[WebFileButton previousKeyView]): Ditto. (-[WebFileButton nextValidKeyView]): Ditto. (-[WebFileButton previousValidKeyView]): Ditto. (-[WebFileChooserButton initWithDelegate:]): (-[WebFileChooserButton nextValidKeyView]): Ditto. (-[WebFileChooserButton previousValidKeyView]): Ditto. (-[WebFileChooserButton resignFirstResponder]): Sends a focus change callback.
12:58 AM Changeset in webkit [5387] by mjs
  • 2 edits in trunk/WebCore
  • fixed deployment build
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::fileWrapperForElement):

Nov 4, 2003:

5:39 PM Changeset in webkit [5386] by darin
  • 5 edits in trunk/WebKit

Reviewed by John, except for one bit reviewed by Maciej.

  • first step for IDNA support; helper functions for Safari
  • Misc.subproj/WebNSURLExtras.h: Add six new methods to manipulate host names directly.
  • Misc.subproj/WebNSURLExtras.m: (applyHostNameFunctionToMailToURLString): Added. Finds host names within a mailto URL. (applyHostNameFunctionToURLString): Added. Finds host names within a URL. (collectRangesThatNeedMapping): Added. Builds a list of host name ranges that need mapping. (collectRangesThatNeedEncoding): Added. Calls the above for encoding. (collectRangesThatNeedDecoding): Added. Calls the above for decoding. (mapHostNames): Added. Helper function that does the entire mapping process for a URL. (+[NSURL _web_URLWithUserTypedString:]): Call mapHostNames to encode after trimming whitespace. (-[NSURL _web_userVisibleString]): Call mapHostNames to decode after decoding escape sequences. (-[NSURL _webkit_URLByRemovingFragment]): Removed unneeded redundant NULL check. (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Added. Workhorse function to call the IDN functions in the Unicode library. (-[NSString _web_hostNameNeedsDecodingWithRange:]): Added. (-[NSString _web_hostNameNeedsEncodingWithRange:]): Added. (-[NSString _web_decodeHostNameWithRange:]): Added. (-[NSString _web_encodeHostNameWithRange:]): Added. (-[NSString _web_decodeHostName]): Added. (-[NSString _web_encodeHostName]): Added.
  • WebKit.pbproj/project.pbxproj: Added libicucore.dylib.
  • English.lproj/StringsNotToBeLocalized.txt: Updated for above changes.
4:31 PM Changeset in webkit [5385] by sullivan
  • 2 edits in trunk/WebKit

WebKit:

  • a little optimization I noticed when looking at 3125137

Reviewed by Chris.

  • Misc.subproj/WebStringTruncator.m: (truncateString): if incoming string has length 0, bail out right away

WebBrowser:

  • fixed <rdar://problem/3125137>: long URL in bookmark bar toolbar popup takes over whole screen

Reviewed by Chris.

  • BookmarksController.m: (-[BookmarksController addMenuItemForBookmark:toMenu:]): truncate the titles of menu items created for bookmarks
2:50 PM Changeset in webkit [5384] by mjs
  • 3 edits in trunk/WebCore

Reviewed by Ken.

  • khtml/ecma/kjs_window.cpp: Don't make event read-only, some sites want to set their own top-level function named "event" and will hang if they can't.
  • khtml/ecma/kjs_window.lut.h: Regenerated.
1:52 PM Changeset in webkit [5383] by hyatt
  • 2 edits in trunk/WebCore

Fix for 3472167, for shrink-to-fit style printing, grow the width of the initial containing block
to be as large as the rightmost position after doing a layout to the page width.

Reviewed by john

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::forceLayoutForPageWidth):
12:06 PM Changeset in webkit [5382] by hyatt
  • 3 edits
    2 adds in trunk/LayoutTests

Update the layout tests.

11:15 AM Changeset in webkit [5381] by cblu
  • 19 edits in trunk

WebCore:

Fixed:
<rdar://problem/3472403>: RTFD of copied text and images should use original image data not tiffs

Reviewed by john.

  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::fileWrapperForElement): call [_bridge _fileWrapperForURL:] to get cached data
  • kwq/WebCoreBridge.h: added _fileWrapperForURL: to the bridge protocol
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge selectedAttributedString]): call the instance method attributedString (-[WebCoreBridge attributedStringFrom:startOffset:to:endOffset:]): call the instance method attributedString

WebKit:

Fixed:
<rdar://problem/3472403>: RTFD of copied text and images should use original image data not tiffs
<rdar://problem/3472435>: dragging local image file downloads it instead of copies it
<rdar://problem/3472450>: copied and dragged local image files are TIFF, not original image data

Reviewed by john.

  • Misc.subproj/WebNSPasteboardExtras.h:
  • Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_writeFileWrapperAsRTFDAttachment:]): new
  • Misc.subproj/WebNSViewExtras.h:
  • Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragImage:fileWrapper:rect:URL:title:event:]): take a file wrapper instead of data so [NSPasteboard _web_writeFileWrapperAsRTFDAttachment:] can be called
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge fileWrapperForURL:]): call fileWrapperForURL on the WebView
  • WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate copyImageToClipboard:]): call [NSPasteboard _web_writeFileWrapperAsRTFDAttachment:]
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _handleMouseDragged:]): when calling _web_dragImage, pass a file wrapper from fileWrapperForURL (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call fileWrapperForURL
  • WebView.subproj/WebImageRepresentation.h:
  • WebView.subproj/WebImageRepresentation.m: (-[WebImageRepresentation fileWrapper]): new
  • WebView.subproj/WebImageView.m: (-[WebImageView writeImageToPasteboard:]): call [NSPasteboard _web_writeFileWrapperAsRTFDAttachment:] (-[WebImageView mouseDragged:]): pass the file wrapper to _web_dragImage
  • WebView.subproj/WebView.m: (-[WebView _fileWrapperForURL:]): new, returns a file wrapper from a local file or from the cache
  • WebView.subproj/WebViewPrivate.h:

WebBrowser:

Fixed:
<rdar://problem/3472437>: "Download Link to Disk..." should be "Save Link As..." if the link is local
<rdar://problem/3472439>: "Download Image to Disk..." should be "Save Image As..." if the image is local

Reviewed by john.

  • BrowserDocument.h:
  • BrowserDocument.m: (-[BrowserDocument setFileWrapperToSave:MIMEType:]): new, when saving data, use a file wrapper so that we can save things other than data sources. (-[BrowserDocument setDataSourceToSave:]): now calls setFileWrapperToSave:MIMEType: (-[BrowserDocument isSavingPlainText]): checks the _savingMIMEType (-[BrowserDocument saveDocumentTo:]): calls setDataSourceToSave if there is no fileWrapperToSave (-[BrowserDocument document:didSave:contextInfo:]): calls setFileWrapperToSave:MIMEType: (-[BrowserDocument dataRepresentationOfType:]): returns the data of the wrapper (-[BrowserDocument displayName]): if saving, return the filename of the wrapper (-[BrowserDocument fileType]): use _savingMIMEType
  • ContextMenuHandler.m: (-[BrowserWebView webView:contextMenuItemsForElement:defaultMenuItems:]): provide "Save Image As..." and "Save Link As..." for local files (-[BrowserWebView saveFileWrapperForURLKey:menuItem:]): new (-[BrowserWebView saveImageAs:]): new (-[BrowserWebView saveLinkAs:]): new
  • English.lproj/Localizable.strings:
10:57 AM Changeset in webkit [5380] by sullivan
  • 2 edits in trunk/WebKit
  • fixed <rdar://problem/3472813>: REGRESSION (100-111): Some tabs start out scrolled down to focused text field

Reviewed by Ken.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView acceptsFirstResponder]): The logic to avoid accepting first responder on clicks was too broad; it was rejecting first-responder-ness even for clicks outside of this view. Clicking a tab item was going through some logic in NSTabView looking for the first valid key view starting with the web view, but the web view was returning NO due to this faulty click logic. Thus the first subview text field was becoming first responder, and causing scroll.
10:18 AM Changeset in webkit [5379] by mjs
  • 4 edits in trunk/WebCore

Reviewed by Chris.

  • fixed 3472893 - Slow intel page takes 20% of its time in CachedObject::ref

Speeds up loading of
http://www.intel.com/cd/ids/developer/asmo-na/eng/index.htm by
19%, no slowdown on PLT.

  • khtml/misc/loader.h: Use QPtrDict for m_clients instead of QPtrList.
  • khtml/misc/loader.cpp: (CachedObjectClientWalker::CachedObjectClientWalker): Ditto. (CachedObject::ref): Ditto.
  • kwq/KWQPtrDict.h: (QPtrDict::isEmpty): Implemented.

Nov 3, 2003:

5:48 PM Changeset in webkit [5378] by cblu
  • 6 edits in trunk/WebKit

Fixed:
<rdar://problem/3472377>: Provide NSRTFDPboardType on pasteboard when copying or dragging images
<rdar://problem/3470809>: REGRESSION (111-112): Can't copy & paste image into Photoshop 7

Reviewed by hyatt.

  • Misc.subproj/WebNSPasteboardExtras.h:
  • Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_writeFileDataAsRTFDAttachment:withFilename:]): renamed, now writes file data as an RTF attachment
  • Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragImage:originalData:rect:URL:title:event:]): call renamed _web_writeFileDataAsRTFDAttachment
  • WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate copyImageToClipboard:]): call renamed _web_writeFileDataAsRTFDAttachment
  • WebView.subproj/WebImageView.m: (-[WebImageView writeImageToPasteboard:]): call renamed _web_writeFileDataAsRTFDAttachment
4:50 PM Changeset in webkit [5377] by mjs
  • 5 edits in trunk/WebCore

Reviewed by Darin.

  • fixed 3370085 - new frames with javascript: URLs should be populated with the result of the JavaScript code
  • ChangeLog:
  • khtml/html/html_baseimpl.cpp: (HTMLFrameElementImpl::updateForNewURL): Skip special filtering of javascript:. (HTMLFrameElementImpl::attach): Ditto.
  • khtml/khtml_part.cpp: (KHTMLPart::replaceContentsWithScriptResult): New method to execute script and if the result is a string, set it as the new document contents. (KHTMLPart::requestFrame): Removed APPLE_CHANGES around javascript: handling. Use new replaceContentsWithScriptResult method. This executes the JS in the new child frame, not the parent frame, as in other browsers.
  • khtml/khtml_part.h: Prototype new method.
  • kwq/KWQKHTMLPartBrowserExtension.mm: (KHTMLPartBrowserExtension::openURLRequest): Use new part method.
4:49 PM Changeset in webkit [5376] by vicki
  • 5 edits in trunk

JavaScriptCore:

Reviewed by kocienda.

  • fixed <rdar://problem/3471096>: non-B&I builds should not use order files, because they cause false "regressions" in perf.
  • JavaScriptCore.pbproj/project.pbxproj: added empty SECTORDER_FLAGS variables to the Development and Deployment build styles

WebCore:

Reviewed by kocienda.

  • fixed <rdar://problem/3471096>: non-B&I builds should not use order files, because they cause false "regressions" in perf.
  • WebCore.pbproj/project.pbxproj: added empty SECTORDER_FLAGS variables to the Development and Deployment build styles

WebKit:

Reviewed by kocienda.

  • fixed <rdar://problem/3471096>: non-B&I builds should not use order files, because they cause false "regressions" in perf.
  • WebKit.pbproj/project.pbxproj: added empty SECTORDER_FLAGS variables to the Development and Deployment build styles

WebBrowser:

Reviewed by kocienda.

  • fixed <rdar://problem/3471096>: non-B&I builds should not use order files, because they cause false "regressions" in perf.
  • WebBrowser.pbproj/project.pbxproj: added empty SECTORDER_FLAGS variables to the Development and Deployment build styles
4:42 PM Changeset in webkit [5375] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by Maciej

Fix for this bug:

<rdar://problem/3470338>: onclick is not executing when you hit enter on focused links

Now when we trap return or enter when a link is focused, we send
a click event to the node.

  • khtml/html/html_inlineimpl.cpp: (HTMLAnchorElementImpl::defaultEventHandler): Swallow key event when return or enter and send a mouse event. (HTMLAnchorElementImpl::performClick): New function to send simulated click.
  • khtml/html/html_inlineimpl.h: Declare performClick function.
4:40 PM Changeset in webkit [5374] by vicki
  • 2 edits in trunk/JavaScriptCore

JavaScriptCore:

Reviewed by kocienda.

  • fixed <rdar://problem/3471096>: non-B&I builds should not use order files, because they cause false "regressions" in perf.
  • JavaScriptCore.pbproj/project.pbxproj: added empty SECTORDER_FLAGS variables to the Development and Deployment build styles

WebCore:

Reviewed by kocienda.

  • fixed <rdar://problem/3471096>: non-B&I builds should not use order files, because they cause false "regressions" in perf.
  • WebCore.pbproj/project.pbxproj: added empty SECTORDER_FLAGS variables to the Development and Deployment build styles

WebKit:

Reviewed by kocienda.

  • fixed <rdar://problem/3471096>: non-B&I builds should not use order files, because they cause false "regressions" in perf.
  • WebKit.pbproj/project.pbxproj: added empty SECTORDER_FLAGS variables to the Development and Deployment build styles

WebBrowser:

Reviewed by kocienda.

  • fixed <rdar://problem/3471096>: non-B&I builds should not use order files, because they cause false "regressions" in perf.
  • WebBrowser.pbproj/project.pbxproj: added empty SECTORDER_FLAGS variables to the Development and Deployment build styles
3:44 PM Changeset in webkit [5373] by darin
  • 16 edits in trunk/WebCore

Reviewed by John.

  • fixed 3392543 -- incorrect base writing direction in RTL form controls
  • fixed baseline for list box <select> elements
  • moved style code from updateFromElement to setStyle
  • khtml/rendering/render_form.h: Added setStyle function to RenderFormElement, RenderLineEdit, RenderSelect, and RenderTextArea. Removed some unused stuff.
  • khtml/rendering/render_form.cpp: (RenderFormElement::setStyle): Set the font based on the style. (RenderFormElement::updateFromElement): Remove font setting code; moved to setStyle. Also ifdef'd out the color-setting code, which belongs in setStyle and is irrelevant for KWQ anyway. (RenderSubmitButton::setStyle): Set the writing direction based on the style. (RenderSubmitButton::updateFromElement): Tiny code cleanup, using a local variable. (RenderLineEdit::setStyle): Set the alignment and writing direction based on the style. (RenderLineEdit::updateFromElement): Remove alignment setting code; moved to setStyle. (RenderFileButton::RenderFileButton): Remove code to set m_focus, a data member that was never used. (RenderSelect::setWidgetWritingDirection): Added. Helper function. (RenderSelect::setStyle): Call setWidgetWritingDirection. (RenderSelect::updateFromElement): Call setWidgetWritingDirection if a new widget is created. (RenderSelect::baselinePosition): Added a FIXME comment. (RenderTextArea::setStyle): Set the alignment and writing direction based on the style. (RenderTextArea::updateFromElement): Remove alignment setting code; moved to setStyle.
  • kwq/KWQButton.h: Added setWritingDirection function.
  • kwq/KWQButton.mm: (+[KWQButton cellClass]): Use KWQButtonCell. (-[KWQButtonCell baseWritingDirection:]): Return base writing direction. (-[KWQButtonCell setBaseWritingDirection:]): Store base writing direction. (-[KWQButtonCell _textAttributes]): Set the base writing direction in the paragraph style if it's not already right. (QButton::setWritingDirection): Call setBaseWritingDirection: on the cell and do setNeedsDisplay: as needed.
  • kwq/KWQComboBox.h: Added setWritingDirection function.
  • kwq/KWQComboBox.mm: (QComboBox::setWritingDirection): Call setBaseWritingDirection: on the cell and do setNeedsDisplay: as needed. (-[KWQPopUpButtonCell setBaseWritingDirection:]): Store base writing direction. (-[KWQPopUpButtonCell baseWritingDirection:]): Return base writing direction. (-[KWQPopUpButtonCell _textAttributes]): Set the base writing direction in the paragraph style if it's not already right.
  • kwq/KWQLineEdit.h: Added setWritingDirection function.
  • kwq/KWQLineEdit.mm: (QLineEdit::setAlignment): Tweaked to match new setWritingDirection in style. (QLineEdit::setWritingDirection): Call setBaseWritingDirection: on the KWQTextField.
  • kwq/KWQTextField.h: Added setBaseWritingDirection method.
  • kwq/KWQTextField.mm: (-[KWQTextField setPasswordMode:]): Set the base writing direction of the secure field's cell based on the base writing direction of the parent field's cell, when creating the secure field. (-[KWQTextField setBaseWritingDirection:]): Added. Sets the base writing direction of the field's cell and the secure field's cell, if it exists, and does setNeedsDisplay as needed. (-[KWQTextFieldCell setBaseWritingDirection:]): Added. Stores the base writing direction. (-[KWQTextFieldCell baseWritingDirection]): Added. Returns the base writing direction. (-[KWQTextFieldCell _textAttributes]): Set the base writing direction in the paragraph style if it's not already right. (-[KWQSecureTextFieldCell setBaseWritingDirection:]): Added. Stores the base writing direction. (-[KWQSecureTextFieldCell _textAttributes]): Set the base writing direction in the paragraph style if it's not already right.
  • kwq/KWQListBox.h: Added itemIsGroupLabel and setWritingDirection functions, and made the private insertItem function take a QString instead of an NSObject. (QListBox::insertItem): Changed parameter from unsigned to int to match Qt, and made it use an inlne to call the private insertItem function shared with insertGroupLabel. (QListBox::insertGroupLabel): Changed parameter from unsigned to int and made it use an inline to call the private insertItem function.
  • kwq/KWQListBox.mm: (itemFont): Added. Returns a suitable font for individual items. (groupLabelFont): Added. Returns a suitable font for group labels. (paragraphStyle): Added. Returns a suitable paragraph style for a given writing direction. (stringAttributes): Added. Returns a string attributes dictionary for a given writing direction for either individual items or group labels. (QListBox::insertItem): Use an attributed string to give the item the appropriate font and writing direction, calling stringAttributes to get the attributes dictionary, and getting the writing direction from the table view. (QListBox::endBatchInsert): Tweak for consistency with other nearby methods. (QListBox::setSelected): Add an assertion and tweak a bit. (QListBox::isSelected): Add an assertion and tweak a bit. (QListBox::setWritingDirection): Update the styles for all the attributed strings and call reloadData if the writing direction changes. Also store the direction in the table view. (QListBox::itemIsGroupLabel): Added. Returns true if a given item is a group label; works by checking the font in the attributed string. (-[KWQTableView initWithListBox:items:]): Use itemFont() instead of computing the font. (-[KWQTableView tableView:shouldSelectRow:]): Use itemIsGroupLabel function instead of checking for NSString vs. NSttributedString in the items array; we now use attributed strings for all the items. (-[KWQTableView setBaseWritingDirection:]): Added. Stores a base writing direction. (-[KWQTableView baseWritingDirection]): Added. Returns the stored base writing direction.
  • kwq/KWQTextEdit.h: Added setWritingDirection function.
  • kwq/KWQTextEdit.mm: (QTextEdit::setAlignment): Removed code to set base writing direction. (QTextEdit::setWritingDirection): Added. Sets base writing direction.
  • kwq/KWQTextArea.mm: (-[KWQTextArea setBaseWritingDirection:]): Call setNeedsDisplay:YES.
3:37 PM Changeset in webkit [5372] by hyatt
  • 3 edits in trunk/WebCore

Fix 3472200, media tests fail to parse correctly. Merging a patch to handle exotic media types
from the KHTML trunk.

  • khtml/css/parser.cpp:
  • khtml/css/parser.y:
3:18 PM Changeset in webkit [5371] by hyatt
  • 2 edits in trunk/WebCore

Fix for 3471314, make sure to check the outline phase before painting backgrounds of iframes.

Reviewed by mjs

  • khtml/rendering/render_replaced.cpp: (RenderReplaced::paint):
3:04 PM Changeset in webkit [5370] by hyatt
  • 3 edits in trunk/WebCore

Fix for 3470855, links with script action stay focused when clicking.

Fix for 3470858, clicking and dragging a link and then releasing doesn't clear the glow ring.

Fix for 3472090, link should not be mouse focusable.

Reviewed by mjs

  • khtml/css/html4.css:
  • khtml/html/html_inlineimpl.h: (DOM::HTMLAnchorElementImpl::isMouseFocusable):
2:43 PM Changeset in webkit [5369] by hyatt
  • 2 edits in trunk/WebCore

Fix for 3472030, line-height not properly reset in all cases when the font shorthand is used.

Reviewed by mjs

  • khtml/css/cssparser.cpp: (CSSParser::parseFont):
2:12 PM Changeset in webkit [5368] by mjs
  • 2 edits in trunk/WebCore

Reviewed by Darin.

  • fixed 3472023 - REGRESSION: assertion on layout tests
  • kwq/KWQTextCodec.mm: (KWQTextDecoder::convertUTF16): Remove assert that length is not 0, since we can get zero length now when flushing.
2:01 PM Changeset in webkit [5367] by kocienda
  • 4 edits in trunk/WebCore

Reviewed by John

Fix for this bug:

<rdar://problem/3260780>: hitting return in a text field submits
form without running onclick handler for submit button

  • khtml/html/html_formimpl.cpp: (HTMLFormElementImpl::performSubmitClick): Refactored this function to be more generic, so that text fields can use it, too. (HTMLInputElementImpl::defaultEventHandler): Removed code to check for a submit button, and merged this code into new performSubmitClick. (HTMLSelectElementImpl::defaultEventHandler): Ditto.
  • khtml/html/html_formimpl.h: Removed declaration for simulateButtonClickForEvent. Added declaration for performSubmitClick.
  • khtml/rendering/render_form.cpp: (RenderLineEdit::slotReturnPressed): Now calls performSubmitClick rather than prepareSubmit on the form. This is the key piece for the bug fix.
11:45 AM Changeset in webkit [5366] by kocienda
  • 9 edits in trunk

WebCore:

Reviewed by John

Fix for this bug:

<rdar://problem/3470342>: focus rings are shown for links in
web pages even in non-frontmost windows

  • kwq/KWQKHTMLPart.h: Add setShowsFirstResponder, showsFirstResponder functions and _showsFirstResponder member variable. (KWQKHTMLPart::showsFirstResponder): Added.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::KWQKHTMLPart): Initialize _showsFirstResponder to true (KWQKHTMLPart::setShowsFirstResponder): Sets whether the painter draws focus rings.
  • kwq/KWQPainter.h: Add _drawsFocusRing member variable. (QPainter::setDrawsFocusRing): Sets whether the painter draws focus rings.
  • kwq/KWQPainter.mm: (QPainter::QPainter): Initialize _drawsFocusRing to true. (QPainter::initFocusRing): Check _drawsFocusRing flag. Return if set to false. (QPainter::addFocusRingRect): Ditto. (QPainter::drawFocusRing): Ditto.
  • kwq/WebCoreBridge.h: Add setShowsFirstResponder method.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge drawRect:]): Sets the value for _drawsFocusRing on the painter using _showsFirstResponder value from the part. (-[WebCoreBridge setShowsFirstResponder:]): Set passed in value on the part. Redraw the focus ring if flag has changed.

WebKit:

Reviewed by John

Fix for this bug:

<rdar://problem/3470342>: focus rings are shown for links in
web pages even in non-frontmost windows

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView updateFocusRing]): New method. Uses the "keyness" of the view's window to toggle focus ring drawing. (-[WebHTMLView windowDidBecomeKey:]): Calls updateFocusRing. (-[WebHTMLView windowDidResignKey:]): Ditto.
10:46 AM Changeset in webkit [5365] by hyatt
  • 2 edits in trunk/WebCore

Remove unneeded style property additions for form controls. In the KHTML trunk these moved into the UA
sheet, but we don't even need them there, since we don't honor any of them.

  • khtml/html/html_formimpl.cpp: (HTMLInputElementImpl::attach): (HTMLSelectElementImpl::attach): (HTMLTextAreaElementImpl::attach):
10:35 AM Changeset in webkit [5364] by hyatt
  • 3 edits in trunk/WebCore

Patch from KHTML trunk. Move frameset positioning reset into adjustRenderStyle so as not to
pollute the render tree.

  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::adjustRenderStyle):
  • khtml/rendering/render_box.cpp: (RenderBox::setStyle):
10:22 AM Changeset in webkit [5363] by hyatt
  • 9 edits in trunk/WebCore

Fix for 3471609, 'transparent' should be an acceptable named color value instead of a special
keyword used only by background/border.

Reviewed by kocienda

  • khtml/css/cssparser.cpp: (CSSParser::parseValue):
  • khtml/css/cssstyleselector.cpp: (khtml::): (khtml::CSSStyleSelector::applyRule):
  • khtml/css/cssvalues.c:
  • khtml/css/cssvalues.h:
  • khtml/css/cssvalues.in:
  • khtml/rendering/render_box.cpp: (RenderBox::paintBackgroundExtended):
  • khtml/rendering/render_object.cpp: (RenderObject::setStyle):
  • khtml/rendering/render_style.h: (khtml::BorderValue::BorderValue): (khtml::BorderValue::isTransparent): (khtml::BorderValue::operator==): (khtml::CollapsedBorderValue::isTransparent): (khtml::RenderStyle::setBorderLeftColor): (khtml::RenderStyle::setBorderRightColor): (khtml::RenderStyle::setBorderTopColor): (khtml::RenderStyle::setBorderBottomColor):
12:20 AM Changeset in webkit [5362] by mjs
  • 2 edits in trunk/WebCore

Reviewed by Darin.

  • fixed 3471226 - HTML document that's less than 16 bytes comes out blank
  • kwq/KWQTextCodec.mm: (KWQTextDecoder::toUnicode): When flushing, don't bail out early if there are no new characters!
Note: See TracTimeline for information about the timeline view.