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

Timeline



Nov 9, 2003:

3:43 PM Changeset in webkit [5434] by hyatt
  • 2 adds in trunk/LayoutTests/fast/text/basic

Add layout test for letter/word spacing bug.

3:41 PM Changeset in webkit [5433] by hyatt
  • 3 edits in trunk/WebCore

Fix for 3478317, letter/word-spacing don't inherit properly through italic/bold elements.

Reviewed by darin

  • khtml/rendering/font.h: (khtml::Font::Font):
  • khtml/rendering/render_style.h: (khtml::RenderStyle::setFontDef):
2:30 PM Changeset in webkit [5432] by hyatt
  • 2 edits in trunk/WebCore

Fix for 3478309, make sure backgrounds paint in the border box and not just in the padding box.

Reviewed by darin

Also making sure that <frame>s aren't transparent, since other browsers seem to only make <iframe>s/<object>s
be transparent.

  • khtml/rendering/render_box.cpp: (RenderBox::paintRootBoxDecorations): (RenderBox::paintBackgroundExtended):

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