Timeline



Nov 8, 2003:

9:10 PM Changeset in webkit [5431] by darin
  • 2 edits in trunk/WebCore

Reviewed by John.

  • fixed 3478025 -- links with non-Latin-1 characters in the hostname are not getting IDN-encoded
  • kwq/KWQKURL.mm: (KURL::parse): Changed existing code to take advantage of the fact that a NUL character is classified as a path segment end character. (KURL::findHostnameInHierarchicalURL): Don't treat NUL characters as terminating characters for hostnames, because QChar::latin1() turns all non-Latin-1 characters into NUL characters.
3:24 PM Changeset in webkit [5430] by darin
  • 2 edits in trunk/WebCore

Reviewed by John.

  • fixed 3477509 -- REGRESSION (112-113): crash in KHTMLPart::processObjectRequest at espn.com, chosun.com
  • khtml/khtml_part.cpp: (KHTMLPart::processObjectRequest): Use a dynamic_cast to check the type of the part rather than assuming it's always a KHTMLPart. The crash was caused by casting a KWQPluginPart to KHTMLPart.
9:40 AM Changeset in webkit [5429] by cblu
  • 2 edits in trunk/WebKit

Fixed: <rdar://problem/3240778>: add "save" menu item to contextual menu for text pages

Reviewed by darin.

  • WebView.subproj/WebTextView.m: (-[WebTextView menuForEvent:]): Made WebTextView's context menu behavior like WebHTMLView's context menu behavior with regards to selection. If the control-click was on a selection, show menu options for the selection like copy. If it was not on a selection, show menu options such as save and print. Don't select anything when control-clicking.
9:40 AM Changeset in webkit [5428] by cblu
  • 2 edits in trunk/WebKit

Fixed: <rdar://problem/3478022>: assertion failure while loading WMP content

Reviewed by darin.

  • ChangeLog:
  • Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): Don't continue if the stream is cancelled in startStreamWithResponse.
9:39 AM Changeset in webkit [5427] by darin
  • 6 edits in trunk/WebCore

Reviewed by Richard.

  • event cleanup motivated by questions on khtml-devel
  • khtml/dom/dom2_events.h: Removed eventModuleName.
  • khtml/dom/dom2_events.cpp: Removed eventModuleName.
  • khtml/xml/dom2_eventsimpl.h: Removed eventModuleName, made many trivially simple functions inline, made virtual functions no longer inline. Also made some functions const. (DOM::EventImpl::propagationStopped): Made this non-virtual; there was no reason for it to be virtual I could see. (DOM::EventImpl::defaultPrevented): Ditto. (DOM::EventImpl::setDefaultHandled): Ditto. (DOM::UIEventImpl::view): Made this inline. (DOM::UIEventImpl::detail): Ditto. (DOM::MouseEventImpl::screenX): Ditto. (DOM::MouseEventImpl::screenY): Ditto. (DOM::MouseEventImpl::clientX): Ditto. (DOM::MouseEventImpl::clientY): Ditto. (DOM::MouseEventImpl::layerX): Ditto. (DOM::MouseEventImpl::layerY): Ditto. (DOM::MouseEventImpl::ctrlKey): Ditto. (DOM::MouseEventImpl::shiftKey): Ditto. (DOM::MouseEventImpl::altKey): Ditto. (DOM::MouseEventImpl::metaKey): Ditto. (DOM::MouseEventImpl::button): Ditto. (DOM::MouseEventImpl::relatedTarget): Ditto. (DOM::MutationEventImpl::relatedNode): Ditto. (DOM::MutationEventImpl::prevValue): Ditto. (DOM::MutationEventImpl::newValue): Ditto. (DOM::MutationEventImpl::attrName): Ditto. (DOM::MutationEventImpl::attrChange): Ditto.
  • khtml/ecma/kjs_events.cpp: (KJS::getDOMEvent): Changed implementation to no longer require eventModuleName(), and removed some unneeded casts.
  • khtml/xml/dom2_eventsimpl.cpp: Made lots of functions inline. (EventImpl::isUIEvent): Since this is virtual, make it no longer inline. (EventImpl::isMouseEvent): Ditto. (EventImpl::isMutationEvent): Ditto. (EventImpl::isKeyboardEvent): Ditto. (UIEventImpl::isUIEvent): Ditto. (MouseEventImpl::isMouseEvent): Ditto. (KeyboardEventImpl::isKeyboardEvent): Ditto. (MutationEventImpl::isMutationEvent): Ditto.

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