1 2004-07-20 Ken Kocienda <kocienda@apple.com>
5 * Misc.subproj/WebNSEventExtras.h: Added helper that returns whether
6 a key event has a binding in the key binding manager.
7 * Misc.subproj/WebNSEventExtras.m:
8 (-[NSEvent _web_keyBindingManagerHasBinding]): New helper mentioned above.
9 * Plugins.subproj/npruntime.h:
10 * WebView.subproj/WebHTMLView.m:
11 (-[WebHTMLView performKeyEquivalent:]): Add a check of whether the key event
12 has a binding in the key binding manager. This works around the fact that
13 NSResponder's interpretKeyEvents does not return a value telling whether
14 or not the key was handled. This now makes it possible for us to trap
15 modified key events we know we can handle (like those command-key + arrow events
16 used for text navigation), while letting all others pass.
18 2004-07-20 Chris Blumenberg <cblu@apple.com>
21 <rdar://problem/3580589> REGRESSION (1.1-1.2): can't open a new window for an image that has not loaded
22 <rdar://problem/3612691> Missing image icons (blue ?) lack context menu
26 * WebView.subproj/WebDefaultContextMenuDelegate.m:
27 (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): if there is no image, but there is an image URL, provide image context menu items besides "Copy Image"
28 * WebView.subproj/WebHTMLView.m:
29 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): don't drag an image with an actual image
30 (-[WebHTMLView _mayStartDragAtEventLocation:]): ditto
32 2004-07-20 Maciej Stachowiak <mjs@apple.com>
36 <rdar://problem/3721690> REGRESSION (125.7-148u) clicking on links at macosx.apple.com/Builds does not load new page in frame
38 * Plugins.subproj/npruntime.h:
39 * WebCoreSupport.subproj/WebBridge.m:
40 (-[WebBridge canTargetLoadInFrame:]): Don't apply the restrictions to frames
41 that are in the same window (Mozilla does this too).
43 2004-07-20 Richard Williamson <rjw@apple.com>
45 Fix for 3728558. Fixed the key event handling in the carbon/cocoa
46 integration code. This does not fix the arrow keys not working on
47 initial focus problem also mentioned in the bug.
49 Bumped the version of the NP function structures.
53 * Carbon.subproj/CarbonUtils.m:
56 * Carbon.subproj/HIWebView.m:
57 (OwningWindowChanged):
59 * Plugins.subproj/npapi.h:
61 2004-07-20 Trey Matteson <trey@apple.com>
63 3733698 REGRESSION: sometimes dragging photos on homepage.mac.com leads to an assertion
65 Relax an assertion, as we ran into a valid case where it's not true.
69 * WebView.subproj/WebHTMLView.m:
70 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
71 Removing this assert allows for the oddball case of a drag gesture that
72 starts on one element, but then the element is no longer there when
73 the drag is about to start.
75 2004-07-20 Ken Kocienda <kocienda@apple.com>
81 <rdar://problem/3707505> HTMLCompose: blinking cursor in both an address text field and the message body
83 * WebView.subproj/WebHTMLView.m:
84 (-[WebHTMLView setCaretVisible:]): New helper. Calls over bridge to do the work.
85 (-[WebHTMLView windowDidBecomeKey:]): This function cannot just assume that self is first responder
86 (and do things like adjusting text background color and restoring focus rings).
87 First-responder-ness needs to be checked first. Now it is.
88 (-[WebHTMLView windowDidResignKey:]): Ditto.
89 (-[WebHTMLView becomeFirstResponder]): Call new helper to make caret visible.
90 (-[WebHTMLView resignFirstResponder]): Call new helper to make caret invisible.
92 2004-07-12 Richard Williamson <rjw@apple.com>
94 Fixed 3721917. The RealPlayer plugin doesn't support the new
95 NPPVpluginScriptableNPObject variable passed to NPP_GetValue and
96 incorrectly returns NPERR_NO_ERROR. We interpret this to the
97 mean the variable has been set. The variable has not been set
98 and will consequently be uninitialized.
100 Reviewed by NOBODY (OOPS!).
102 * Plugins.subproj/WebBaseNetscapePluginView.m:
103 (-[WebBaseNetscapePluginView pluginScriptableObject]):
105 2004-07-19 Ken Kocienda <kocienda@apple.com>
111 <rdar://problem/3707504> HTMLCompose: key events are stolen by Web(HTML)View
113 * Misc.subproj/WebNSViewExtras.h:
114 * Misc.subproj/WebNSViewExtras.m:
115 (-[NSView firstResponderIsSelfOrDescendantView]): New helper to
116 (-[WebHTMLView performKeyEquivalent:]): Do not pass key events through to the editing
117 key handler unless the WebHTMLView is first responder or contains the first responder.
118 This prevents the "stealing" of key events mentioned in the bug.
119 * WebView.subproj/WebView.m:
120 (-[WebView _performResponderOperation:with:]): Uses the new firstResponderIsSelfOrDescendantView
121 helper. The code I replaced used the same logic as the new helper.
125 2004-07-12 Maciej Stachowiak <mjs@apple.com>
129 <rdar://problem/3673988>: (REGRESSION(141-144): connection assertion failure at http://traffic.511.org/sfgate)
131 * WebView.subproj/WebBaseResourceHandleDelegate.m:
132 (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]):
133 Don't check connection consistency if this load got cancelled
134 while finishing, because in this case we have cleared the
135 connection field already. This can happen when a redirect fires
136 from an onload handler.
138 2004-07-12 Maciej Stachowiak <mjs@apple.com>
142 <rdar://problem/3632570>: (REGRESSION: SocialText.net wiki keeps asking for auth, even though pages load)
144 * Misc.subproj/WebIconLoader.m:
145 (-[WebIconLoader didReceiveAuthenticationChallenge:]): Ignore the challenge - we don't
146 want an auth panel for favicons.
147 (-[WebIconLoader didCancelAuthenticationChallenge:]): Ignore cancel, since we are ignoring
150 2004-07-09 Chris Blumenberg <cblu@apple.com>
152 Allowed my change for 3715785 to compile on Jaguar.
154 Reviewed by kocienda.
156 * WebCoreSupport.subproj/WebBridge.m:
157 (-[WebBridge canTargetLoadInFrame:]): don't use the DOM API since it doesn't exist on Jaguar, instead call the new domain method on the bridge
159 2004-07-09 Ken Kocienda <kocienda@apple.com>
163 * Plugins.subproj/npruntime.h: Updated license to lawyer-approved
164 joint Apple-Mozilla BSD-style license.
166 2004-07-08 Chris Blumenberg <cblu@apple.com>
168 Fixed: <rdar://problem/3720728> REGRESSION (125.8-146): Crash moving mouse over plugin at manray-photo.com
172 * Plugins.subproj/WebBaseNetscapePluginView.m:
173 (-[WebBaseNetscapePluginView pluginScriptableObject]): don't call NPP_GetValue unless the plug-in implements it
175 2004-07-08 Chris Blumenberg <cblu@apple.com>
177 Fixed: <rdar://problem/3706296> VIP: ifilm.com crashing reproducibly with Safari
179 Reviewed by kocienda.
181 * Plugins.subproj/WebNetscapePluginPackage.m:
182 (-[WebNetscapePluginPackage launchRealPlayer]): don't release a NULL appURL
184 2004-07-08 Chris Blumenberg <cblu@apple.com>
186 Fixed: <rdar://problem/3650140> reproducible assertion failure going to plugin page with JavaScript disabled
190 * Plugins.subproj/WebBaseNetscapePluginView.m:
191 (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): don't call NPP_NewStream and other stream methods if there is no JS result to deliver. This is what Mozilla does.
192 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Return NPERR_GENERIC_ERROR if JS is disabled. This is what Mozilla does.
196 2004-07-07 Trey Matteson <trey@apple.com>
198 3719051 - Safari doesn't update form inputs when a page was refreshed by javascript window.location
199 ... and at least 5 other cases in Radar
201 Very similar problem to the Harvard PIN bug. We need to be sure
202 to not carry any state over when we are processing a client
203 redirect, which reuses the same WebHistoryItem.
207 * WebView.subproj/WebFrame.m:
208 (-[WebFrame _transitionToCommitted:]): Comment
209 (-[WebFrame _opened]): Clear form and scroll state on client redirect.
211 2004-07-06 Chris Blumenberg <cblu@apple.com>
213 Fixed: <rdar://problem/3715785> multiple frame injection vulnerability reported by Secunia, affects almost all browsers
215 Reviewed by john, trey, kocienda.
217 * WebCoreSupport.subproj/WebBridge.m:
218 (-[WebBridge canTargetLoadInFrame:]): new method, return YES if the requesting frame is local, the target frame is an entire window or if the domain of the parent of the targeted frame equals this domain
219 (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]): call canTargetLoadInFrame: to make sure we can load the request
220 (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): ditto
222 2004-07-06 John Sullivan <sullivan@apple.com>
226 - fixed <rdar://problem/3717147> folder icon used for error page in back/forward
227 menu when iTunes is not installed
229 * WebView.subproj/WebFrame.m:
230 (-[WebFrame _transitionToCommitted:]):
231 When displaying the error page for an unreachable URL, leave the requested URL
232 in the WebHistoryItem; don't clobber it with a bogus one that represents the
233 error page. This not only avoids the wrong-icon problem, but should also help
234 in cases where an unreachable URL becomes reachable later on.
236 2004-07-06 Trey Matteson <trey@apple.com>
238 3716053 - www.theage.com.au has extra back/forward items due to ads
240 The real change was in WebKit. Here was are just renaming a method and folding
241 all the WebFrameLoadTypeOnLoadEvent uses to be WebFrameLoadTypeInternal, since there
242 was never any difference anyway.
246 * WebCoreSupport.subproj/WebBridge.m:
247 (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]): rename part of the method.
248 * WebView.subproj/WebFrame.m: Nuke WebFrameLoadTypeOnLoadEvent.
249 (-[WebFrame _transitionToCommitted:]):
250 (-[WebFrame _checkLoadCompleteForThisFrame]):
251 (-[WebFrame _loadItem:withLoadType:]):
252 (-[WebFrame _itemForRestoringDocState]):
253 * WebView.subproj/WebFramePrivate.h:
255 2004-07-06 Ken Kocienda <kocienda@apple.com>
259 Only register the editing delegate for those notifications for which it implements the callbacks.
261 * WebView.subproj/WebView.m:
262 (-[WebView registerForEditingDelegateNotification:selector:]):
263 (-[WebView setEditingDelegate:]):
265 2004-07-06 Trey Matteson <trey@apple.com>
267 3294652 - Failed drag of links doesn't slide back
269 The only reason for this is that because of some hacks, we lie to
270 AK about the drag image offset, which means we slide back to
271 slightly the wrong place. But it's very minor, so we should
276 * WebView.subproj/WebHTMLView.m:
277 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
280 2004-07-02 Darin Adler <darin@apple.com>
284 - fixed problem where tabsToLinks and privateBrowsingEnabled did not work with non-
285 standard WebPreferences objects
287 * WebView.subproj/WebPreferences.m:
288 (-[WebPreferences _valueForKey:]): New helper.
289 (-[WebPreferences _stringValueForKey:]): Use _valueForKey.
290 (-[WebPreferences _integerValueForKey:]): Use _valueForKey.
291 (-[WebPreferences _boolValueForKey:]): Use _valueForKey.
292 (-[WebPreferences tabsToLinks]): Use _boolValueForKey; this is the bug fix.
293 (-[WebPreferences privateBrowsingEnabled]): Ditto.
294 (+[WebPreferences _setIBCreatorID:]): Use copy instead of retain for keeping an NSString.
296 2004-07-01 Trey Matteson <trey@apple.com>
298 3556159 - Crashes in -[WebFrame(WebPrivate) _transitionToCommitted:] at www.mastercardbusiness.com
300 We know from the line number of the crash that it is due to [self parentFrame]==nil.
302 Looking at the HTML and that of the related bugs, they do special stuff with onload
303 handlers. It is no longer repro, presumably because the includes JS files changed,
304 as the bugs only included the top level HTML. I suspect that the problem is that the
305 WebFrameLoadTypeOnLoadEvent case was added, and in some weird sequence specific to
306 MasterCard, they hit a case where we would be in WebFrameLoadTypeOnLoadEvent mode but
307 not have a parent frame.
309 So we guard in the code against hitting a nil parentFrame, and log an error just in
310 case this ever crops up again and we can learn more about it.
314 * WebView.subproj/WebFrame.m:
315 (-[WebFrame _transitionToCommitted:]): Guard against nil parentFrame.
317 2004-07-01 John Sullivan <sullivan@apple.com>
322 <rdar://problem/3709110> REGRESSION (Tiger): Pressing Tab key to move focus
323 onto links skips every other link
324 <rdar://problem/3692576> focus ring is in odd place after clicking RSS button
325 with "Tab to links" enabled
327 WebHTMLView has some trickery by which we advance the focused link when nextKeyView
328 or previousKeyView is called within nextValidKeyView or previousValidKeyView. This
329 broke in Tiger because AppKit now (sometimes at least) calls nextKeyView more than
330 once within nextValidKeyView. Fixed 3709110 by making sure we only advance the focus
331 once within a call to nextValidKeyView or previousValidKeyView.
333 Also, this same trickery didn't work right with hidden views. Fixed 3692576 by checking
334 whether the view is hidden and bypassing the focus-moving trickery in that case.
336 * WebView.subproj/WebHTMLViewInternal.h:
337 renamed inNextValidKeyView -> nextKeyViewAccessShouldMoveFocus
339 * WebView.subproj/WebHTMLView.m:
340 (-[WebHTMLView nextKeyView]):
341 now clears nextKeyViewAccessShouldMoveFocus
342 (-[WebHTMLView previousKeyView]):
344 (-[WebHTMLView nextValidKeyView]):
345 now doesn't set focus-moving trigger ivar if view is hidden or has hidden ancestor
346 (-[WebHTMLView previousValidKeyView]):
349 2004-06-30 Trey Matteson <trey@apple.com>
351 Dragging within a web view should be allowed to start when the window isn't key.
353 A few months ago, Chris made this work, but it relied on the fact that all dragging
354 was done in WebKit. When WebCore got involved in dragging, it was broken. Now we
355 have a new scheme that gets it working again that properly involves WebCore.
357 The general idea is that when AK asks us whether to accept the first mouse and do
358 "delayed window ordering", we must consult WC to see if we might start a drag. In
359 addition, instead of these drags in non-active windows being started as a special
360 case in WK, they go through the normal WK-WC drag machinery. Finally to work in
361 frames we have to drill to the deepest hit view in acceptsFirstMouse, because previous
362 hacks to hitTest make the top-most WebHTMLView field all events for its view tree
363 (which leads to it fielding all acceptFirstMouse messages too).
367 * WebCoreSupport.subproj/WebBridge.m:
368 (-[WebBridge mayStartDragAtEventLocation:]): Glue change for new arg type.
369 * WebView.subproj/WebHTMLView.m:
370 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
371 firstMouseDownEvent ivar is no longer needed.
372 (-[WebHTMLView _mayStartDragAtEventLocation:]): Receives a location instead of a drag
373 event, since we need to do this work when we have no drag event. This means the
374 check of the delay for text dragging is moved down to WebCore.
375 (-[WebHTMLView acceptsFirstMouse:]): Respond based on whether we might do a drag.
376 This includes drilling to the deepest view the event hits, whereas we used to only
377 respond considering the topmost WebHTMLView.
378 (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): Ditto.
379 (-[WebHTMLView mouseDown:]): Get rid of special case where some activating
380 mouseDown events weren't sent to WC. We need to go through the whole pipeline
381 now to get a drag started properly.
382 (-[WebHTMLView mouseDragged:]): Ditto, let WC start the drag.
383 (-[WebHTMLView mouseUp:]): firstMouseDownEvent ivar is no longer needed.
384 * WebView.subproj/WebHTMLViewInternal.h:
385 * WebView.subproj/WebHTMLViewPrivate.h:
387 2004-06-25 Trey Matteson <trey@apple.com>
389 Added new utility method.
393 * WebView.subproj/WebFrame.m:
394 (-[WebFrame _isDescendantOfFrame:]): New code.
395 * WebView.subproj/WebFramePrivate.h:
397 2004-06-24 Richard Williamson <rjw@apple.com>
399 Fixed <rdar://problem/3710313>: CGContext not zeroed when WebImageRenderer is copied
400 The context ivar of WebImageRenderer wasn't being nil when the object was copied.
404 * WebCoreSupport.subproj/WebImageRenderer.m:
405 (-[WebImageRenderer copyWithZone:]):
406 (-[WebImageRenderer dealloc]):
407 (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
409 2004-06-24 Trey Matteson <trey@apple.com>
411 3672725 - Assertion failure in URLCompletion code with particular set of bookmarks
413 Problem was caused by a URL with unescaped unicodes getting into
414 the Bookmarks file, presumably from import from IE. We now test
415 for this case and convert the data on the way in as if it were
418 Reviewed by John and Darin.
420 * History.subproj/WebHistoryItem.m:
421 (-[WebHistoryItem initFromDictionaryRepresentation:]):
423 2004-06-24 Trey Matteson <trey@apple.com>
425 3704950 drag image in DB ConfigBar has horizontal graphics turd WebCore JavaScript
427 When we generate a drag image (or a selection image too, for that matter) we
428 translate the CTM using a CG call. Later, WebImageRenderer adjusts the pattern
429 phase based on the CTM of the focused view, which doesn't include our translate.
430 So we must inform WebKit about the additional phase adjustment.
434 * WebCoreSupport.subproj/WebGraphicsBridge.h:
435 * WebCoreSupport.subproj/WebGraphicsBridge.m:
436 (-[WebGraphicsBridge setAdditionalPatternPhase:]): New trivial setter.
437 (-[WebGraphicsBridge additionalPatternPhase]): ...and getter.
438 * WebCoreSupport.subproj/WebImageRenderer.m:
439 (-[WebImageRenderer tileInRect:fromPoint:context:]): Take any additional phase
440 adjustment into account when setting phase.
442 2004-06-24 Trey Matteson <trey@apple.com>
444 3693420 - onbeforecut and onbeforepaste need real implementaion
448 * WebView.subproj/WebHTMLView.m:
449 (-[WebHTMLView validateUserInterfaceItem:]): Check with WebCore
450 to see if cut, copy, paste should be enabled.
452 2004-06-24 John Sullivan <sullivan@apple.com>
456 - fixed <rdar://problem/3706792> 8A161: Choosing text encoding for
457 error page opens finder window!?
459 * WebView.subproj/WebFrame.m:
460 (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]):
461 take unreachableURL into account
463 2004-06-23 Richard Williamson <rjw@apple.com>
465 Implemented changes for latest npruntime.h.
466 Made npruntime.h public.
470 * Plugins.subproj/WebBaseNetscapePluginView.h:
471 * Plugins.subproj/WebBaseNetscapePluginView.m:
472 (-[WebBaseNetscapePluginView pluginScriptableObject]):
473 (-[WebBaseNetscapePluginView forceRedraw]):
474 (-[WebBaseNetscapePluginView getVariable:value:]):
475 * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
476 * Plugins.subproj/WebNetscapePluginPackage.m:
477 (-[WebNetscapePluginPackage load]):
478 * Plugins.subproj/npapi.h:
479 * Plugins.subproj/npapi.m:
481 * Plugins.subproj/npfunctions.h:
482 * Plugins.subproj/npruntime.h:
483 * WebKit.pbproj/project.pbxproj:
485 2004-06-21 Darin Adler <darin@apple.com>
487 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
489 2004-06-21 Chris Blumenberg <cblu@apple.com>
491 Made WebKitErrorDescriptionPlugInCancelledConnection have its own description string
492 (Not for software update branch)
496 * English.lproj/Localizable.strings:
497 * Misc.subproj/WebKitErrors.m:
499 2004-06-21 Chris Blumenberg <cblu@apple.com>
501 Made WebKitErrorDescriptionPlugInCancelledConnection properly reuse an already localized string to avoid loc changes.
506 * Misc.subproj/WebKitErrors.m:
508 2004-06-21 Chris Blumenberg <cblu@apple.com>
510 Fixed: <rdar://problem/3701269> change in error handling behavior from 10.3.3 to 10.3.4 breaks unreleased Adobe PDF plug-in
514 * Misc.subproj/WebKitErrors.m:
515 (registerErrors): register string for WebKitErrorPlugInCancelledConnection
516 * Misc.subproj/WebKitErrorsPrivate.h:
517 * Plugins.subproj/WebBaseNetscapePluginStream.h:
518 * Plugins.subproj/WebBaseNetscapePluginStream.m:
519 (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): use renamed WEB_REASON_PLUGIN_CANCELLED constant
520 (-[WebBaseNetscapePluginStream destroyStream]): ditto
521 * Plugins.subproj/WebNetscapePluginRepresentation.m:
522 (-[WebNetscapePluginRepresentation cancelWithReason:]): if the reason is WEB_REASON_PLUGIN_CANCELLED, cancel the load with WebKitErrorPlugInCancelledConnection
523 * Plugins.subproj/WebNetscapePluginStream.m:
524 (-[WebNetscapePluginStream cancelWithReason:]): ditto
528 2004-06-17 Richard Williamson <rjw@apple.com>
530 Changed private headers to be pubic for npapi.h and npfunctions.h. That
531 API was approved but never marked as public in the project file. This change does
532 not make npruntime.h public, which contains the not yet approved changes
533 for script-ability of netscape plugins. Unfortunately, that API will not
538 * WebKit.pbproj/project.pbxproj:
540 2004-06-17 Trey Matteson <trey@apple.com>
542 3698514 - coordinates in ondragstart and ondrag events are wrong
544 This part fixes the ondrag coords. I thought Cocoa passed us the mouse location
545 in draggedImage:movedTo:, but no, it's the position of the dragged image.
546 WebCore needs the mouse location, so to calc that we must save away the
547 offset of the mouse relative to the image when we kick off the drag.
551 * Misc.subproj/WebNSViewExtras.h:
552 * Misc.subproj/WebNSViewExtras.m:
553 (-[NSView _web_dragImage:rect:event:pasteboard:source:offset:]): Add the ability
554 to return the offset of the cursor wrt to the drag image, since this routine
555 generates its own drag image and positions it.
556 * WebView.subproj/WebHTMLView.m:
557 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
558 Calc the offset of the cursor wrt to the drag image in the myriad of ways
559 that we kick off the drag.
560 (-[WebHTMLView draggedImage:movedTo:]): Adjust the location by the
561 offset we save when we kicked off the drag.
562 (-[WebHTMLView draggedImage:endedAt:operation:]): Ditto.
563 * WebView.subproj/WebHTMLViewInternal.h:
564 * WebView.subproj/WebImageView.m:
565 (-[WebImageView mouseDragged:]): Pass nil for new arg, we don't care.
567 2004-06-16 David Hyatt <hyatt@apple.com>
569 In order to support truncation in Emerson, enhance pointToOffset so that it needn't include partial
570 character glyphs (the left half of a glyph).
574 * WebCoreSupport.subproj/WebTextRenderer.m:
575 (-[WebTextRenderer pointToOffset:style:position:reversed:includePartialGlyphs:]):
576 (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
577 (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
581 2004-06-16 Darin Adler <darin@apple.com>
583 - fixed <rdar://problem/3696081> REGRESSION: <WebKit/CarbonUtils.h> doesn't build any more
587 * Carbon.subproj/CarbonUtils.h: Fixed include. Need to include <ApplicationServices/ApplicationServices.h>
588 to get CGImageRef; can't include an individual header.
590 2004-06-15 Richard Williamson <rjw@apple.com>
592 Fixed <rdar://problem/3695875>: Objective-C instances that are exported to JavaScript are too promiscuous
594 Flip the policy for exposing Objective-C methods and properties.
598 * Plugins.subproj/WebPluginPackage.m:
599 (+[NSObject isSelectorExcludedFromWebScript:]): Just return YES.
600 (+[NSObject isKeyExcludedFromWebScript:]): Just return YES.
602 2004-06-15 Trey Matteson <trey@apple.com>
604 3639321 - Harvard PIN authentication ends up sending PIN as clear text with POST action
606 When going back/forward to an item, if we went there originally via a POST,
607 we ask the user about rePOSTing, and if they say yes, we resend the POST.
608 This rePOST case is triggered by the form data that we saved on the b/f item.
609 In the case of this bug, the overall navigation was accomplished by a POST,
610 then a redirect, causing a GET. When a load of type redirect achieves the Committed
611 stage, we replace the current URL in the b/f item with the new URL (instead of
612 adding a new item to the b/f list).
614 The bug is that at the same time we should also update the form data in
615 the b/f item to match that of the new request. I think this will normally
616 mean nil'ing it out, unless there's some way for the result of the redirect
619 The security leak occurred because we did not clear the form data on the item,
620 so when going back or forward to the page, we would go into the rePOSTing code,
621 even though we eventually reached that page via a GET (caused by the redirect).
622 So we would do a POST to the redirect URL containing the private data sent in
625 Reviewed by mjs and rjw.
627 * History.subproj/WebHistoryItem.m:
628 (-[WebHistoryItem _setFormInfoFromRequest:]): New method, just wraps 3 old set methods.
629 (-[WebHistoryItem formData]): Diff being dumb, no change.
630 (-[WebHistoryItem formContentType]): Ditto
631 (-[WebHistoryItem formReferrer]): Ditto
632 * History.subproj/WebHistoryItemPrivate.h:
633 * WebView.subproj/WebFrame.m:
634 (-[WebFrame _createItem:]): Call new WebHistoryItem method - no change in real behavior
635 (-[WebFrame _transitionToCommitted:]): Clear out the form data at the key time, to fix the bug.
637 2004-06-15 Chris Blumenberg <cblu@apple.com>
639 Fixed: <rdar://problem/3695724> WebKit plug-ins should only have to implement plugInViewWithArguments:
644 * Plugins.subproj/WebPluginViewFactory.h: mention that plugInViewWithArguments is required
645 * WebView.subproj/WebFrame.m:
646 (-[WebFrame _reloadForPluginChanges]): check for plugInViewWithArguments: not webPlugInInitialize
647 * WebView.subproj/WebHTMLView.m:
648 (-[WebHTMLView addSubview:]): ditto
650 2004-06-15 Chris Blumenberg <cblu@apple.com>
652 Reviewed by NOBODY (OOPS!).
654 * WebView.subproj/WebFrame.m:
655 (-[WebFrame _reloadForPluginChanges]):
656 * WebView.subproj/WebHTMLView.m:
657 (-[WebHTMLView addSubview:]):
659 2004-06-15 Trey Matteson <trey@apple.com>
661 3695240 - pasting plain text with newlines in it turns them into spaces
663 Easy fix, we just need to consume the incoming data as text instead of markup.
665 Reviewed by John and Darin.
667 * WebView.subproj/WebHTMLView.m:
668 (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]):
670 2004-06-15 Darin Adler <darin@apple.com>
672 - fixed crash introduced by my earlier change
674 * WebCoreSupport.subproj/WebImageRenderer.m:
675 (-[WebImageContext dealloc]): Set _cgsContext to 0 before calling super as before.
676 (-[WebImageContext finalize]): Ditto.
678 2004-06-14 Darin Adler <darin@apple.com>
682 - fixed some things for GC that Patrick missed, or that happened after the branch
684 * Carbon.subproj/HIWebView.m:
685 (HIWebViewConstructor): Use CFRetain instead of retain.
686 (HIWebViewDestructor): Use CFRelease instead of release.
687 * Misc.subproj/WebFileDatabase.m:
688 (-[WebFileDatabase initWithPath:]): Use release instead of dealloc.
689 * WebCoreSupport.subproj/WebImageRenderer.m:
690 (-[WebImageContext finalize]): Had [super dealloc] here by mistake; change to [super finalize].
691 * WebCoreSupport.subproj/WebTextRenderer.m:
692 (-[WebTextRenderer finalize]): Added.
693 * WebView.subproj/WebDebugDOMNode.m:
694 (-[WebDebugDOMNode initWithWebFrameView:]): Use release instead of dealloc.
695 * WebView.subproj/WebRenderNode.m:
696 (-[WebRenderNode initWithWebFrameView:]): Use release instead of dealloc.
698 2004-06-15 Trey Matteson <trey@apple.com>
700 Fix ASSERT/crash we get sometimes when dragging link images. Turns
701 out there was an uninitialized variable for the image size,
702 so at random we would try to create huge images that could not
705 Reviewed by Maciej and Darin.
707 * WebView.subproj/WebHTMLView.m:
708 (-[WebHTMLView _dragImageForLinkElement:]): Trivial fix to
709 not use += with uninited variable.
711 2004-06-14 Darin Adler <darin@apple.com>
713 Reviewed by me, code changes by Patrick Beard.
715 - fixed <rdar://problem/3671507>: (WebKit should adopt GC changes and compile with GC enabled)
717 * WebKit.pbproj/project.pbxproj: Added WebNSObjectExtras.h.
718 * Misc.subproj/WebNSObjectExtras.h: Added. Includes WebMakeCollectable, a cover for
719 CFMakeCollectable that returns type id, for less casting, and works on Panther as well
720 as Tiger. Also declares finalize in NSObject so we can call super without warnings on Panther.
722 * Carbon.subproj/CarbonWindowAdapter.m: Fixed header and includes a bit.
723 (-[CarbonWindowAdapter finalize]): Added.
724 * History.subproj/WebBackForwardList.m:
725 (-[WebBackForwardList dealloc]): Got count outside loop.
726 (-[WebBackForwardList finalize]): Added.
727 * History.subproj/WebHistoryItem.m:
728 (-[WebHistoryItem finalize]): Added.
729 * Misc.subproj/WebFileDatabase.m:
730 (-[WebFileDatabase _createLRUList:]): Use release on Panther, drain on Tiger.
731 (+[WebFileDatabase _syncLoop:]): Ditto.
732 (-[WebFileDatabase dealloc]): Removed, since we never deallocate objects of this class, and
733 the method was untested.
734 * Misc.subproj/WebKitErrors.m: (registerErrors): Use release on Panther, drain on Tiger.
735 * Misc.subproj/WebKitNSStringExtras.m: (+[NSString _web_encodingForResource:]): Use
736 WebMakeCollectable. Also fixed indenting.
737 * Misc.subproj/WebNSURLExtras.m:
738 (+[NSURL _web_URLWithData:relativeToURL:]): Use WebMakeCollectable.
739 (-[NSURL _web_URLWithLowercasedScheme]): Use WebMakeCollectable.
740 (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Change code to use CFRelease
741 to balance CFURLCreateStringByReplacingPercentEscapes CFString creation, not release.
742 * Plugins.subproj/WebBaseNetscapePluginStream.m:
743 (-[WebBaseNetscapePluginStream finalize]): Added.
744 * Plugins.subproj/WebBaseNetscapePluginView.m:
745 (-[WebBaseNetscapePluginView freeAttributeKeysAndValues]): Added. Shared code for dealloc and finalize.
746 (-[WebBaseNetscapePluginView dealloc]): Call freeAttributeKeysAndValues.
747 (-[WebBaseNetscapePluginView finalize]): Added.
748 (-[WebBaseNetscapePluginView requestWithURLCString:]): Changed so that CFString objects are
749 released with CFRelease, not release.
750 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Fixed storage leak in
751 error case. Made sure CFString object is released with CFRelease, not release.
752 (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
753 Another CFString that needed to a CFRelease, not a release.
754 (-[WebBaseNetscapePluginView status:]): Ditto.
755 * Plugins.subproj/WebBasePluginPackage.m:
756 (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]): Changed code to
757 CFRelease a CFURLRef, instead of release.
758 (-[WebBasePluginPackage finalize]): Added.
759 * WebCoreSupport.subproj/WebBridge.m:
760 (-[WebBridge fini]): Added. Shared code for dealloc and finalize.
761 (-[WebBridge dealloc]): Call fini.
762 (-[WebBridge finalize]): Added.
763 * WebCoreSupport.subproj/WebGlyphBuffer.m:
764 (-[WebGlyphBuffer finalize]): Added.
765 * WebCoreSupport.subproj/WebImageRenderer.m:
766 (-[WebImageContext initWithBounds:context:]): Use CGContextRetain to avoid cast.
767 (-[WebImageContext dealloc]): Tweaked.
768 (-[WebImageContext finalize]): Added.
769 (-[WebImageRenderer finalize]): Added.
770 (-[WebPDFDocument finalize]): Added.
771 * WebView.subproj/WebDataProtocol.m:
772 (+[NSURL _web_uniqueWebDataURL]): Changed so that CFString object is released with
773 CFRelease, not release.
774 * WebView.subproj/WebDataSource.m:
775 (-[WebDataSourcePrivate dealloc]): Took non-release work out of here.
776 (-[WebDataSource dealloc]): Moved it here.
777 (-[WebDataSource finalize]): Added.
778 (-[WebDataSource isLoading]): Use release on Panther, drain on Tiger.
779 * WebView.subproj/WebFrame.m:
780 (-[WebFramePrivate dealloc]): Took non-release work out of here.
781 (-[WebFrame dealloc]): Moved it here.
782 (-[WebFrame finalize]): Added.
783 * WebView.subproj/WebFrameView.m:
784 (-[WebFrameView finalize]): Added.
785 * WebView.subproj/WebHTMLRepresentation.m:
786 (-[WebHTMLRepresentation finalize]): Added.
787 * WebView.subproj/WebHTMLView.m:
788 (-[WebHTMLViewPrivate dealloc]): Moved non-release work out of here.
789 (-[WebHTMLView dealloc]): Moved it here.
790 (-[WebHTMLView finalize]): Added.
791 * WebView.subproj/WebImageView.m:
792 (-[WebImageView finalize]): Added.
793 * WebView.subproj/WebMainResourceClient.m:
794 (-[WebMainResourceClient finalize]): Added.
795 * WebView.subproj/WebTextView.m:
796 (-[WebTextView finalize]): Added.
797 * WebView.subproj/WebView.m:
798 (-[WebView finalize]): Added.
800 2004-06-14 Ken Kocienda <kocienda@apple.com>
806 <rdar://problem/3693202> WebView.h header unnecessarily lists NSResponder methods it overrides
808 * WebView.subproj/WebView.h: NSResponder overrides now gathered in a comment section.
810 2004-06-13 Trey Matteson <trey@apple.com>
812 Support for DHTML cut/copy/paste.
816 * WebView.subproj/WebHTMLView.m:
817 (-[WebHTMLView copy:]): Give DHTML first crack at executing the command.
818 (-[WebHTMLView cut:]): Ditto
819 (-[WebHTMLView paste:]): Ditto
821 2004-06-14 Chris Blumenberg <cblu@apple.com>
823 Fixed: <rdar://problem/3674456> make new drag & drop API compatible with DHTML dragging
827 * WebView.subproj/WebHTMLView.m:
828 (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): tweak
829 * WebView.subproj/WebUIDelegate.h: removed old, added new methods
830 * WebView.subproj/WebUIDelegatePrivate.h: moved new methods to public header
831 * WebView.subproj/WebView.h: removed old, added new methods
832 * WebView.subproj/WebView.m: moved methods around
833 (-[WebView moveDragCaretToPoint:]): moved
834 (-[WebView removeDragCaret]): moved
835 (-[WebView _bridgeAtPoint:]): moved
836 (-[WebView editableDOMRangeForPoint:]): moved
837 * WebView.subproj/WebViewInternal.h: add new internal method
838 * WebView.subproj/WebViewPrivate.h: moved new methods to public header
840 2004-06-14 Trey Matteson <trey@apple.com>
842 Use a different hack, as recommended by Kristin, to force the drag
843 manager to exit a modal event wait it is in. The hack is required
844 to update the drag image on the fly. Instead of posting a CG
845 event we post at the AppKit level.
849 * WebCoreSupport.subproj/WebGraphicsBridge.m:
850 (-[WebGraphicsBridge setDraggingImage:at:]):
852 2004-06-14 Chris Blumenberg <cblu@apple.com>
855 <rdar://problem/3692668> REGRESSION: delay when images and links
856 <rdar://problem/3692675> links should drag when dragging images that are links when drag source action is WebDragSourceActionLink
860 * WebView.subproj/WebHTMLView.m:
861 (-[WebHTMLView _mayStartDragWithMouseDragged:]): cleaned up, only use selection delay for selections, allow links to be dragged when image dragging is disabled
863 2004-06-12 Trey Matteson <trey@apple.com>
865 Small rearrangement to support dynamic changing of the drag
866 image during DHTML dragging.
870 * WebCoreSupport.subproj/WebBridge.m: Bridge glue moved to WebGraphicsBridge.
871 * WebCoreSupport.subproj/WebGraphicsBridge.m:
872 (FlipImageSpec): Code moved from WebHTMLView.m.
873 (-[WebGraphicsBridge setDraggingImage:at:]): Ditto. Plus, we've added a gross
874 event posting hack to force CG drag manager to update the display when we set
876 * WebView.subproj/WebHTMLView.m: Code moved to WebGraphicsBridge.
877 * WebView.subproj/WebHTMLViewPrivate.h:
879 2004-06-11 Chris Blumenberg <cblu@apple.com>
881 Implemented the remainder of the drag & drop API.
885 * Misc.subproj/WebNSPasteboardExtras.h:
886 * Misc.subproj/WebNSPasteboardExtras.m:
887 (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]): new
888 * Misc.subproj/WebNSViewExtras.h:
889 * Misc.subproj/WebNSViewExtras.m:
890 (-[NSView _web_dragImage:rect:event:pasteboard:source:]): simplified, this method now just creates a drag image and starts the drag
891 * WebCoreSupport.subproj/WebBridge.m:
892 (-[WebBridge allowDHTMLDrag:UADrag:]): now calls _delegateDragSourceActionMask on WebHTMLView to interact with the delegate
893 * WebView.subproj/WebDefaultUIDelegate.m:
894 * WebView.subproj/WebHTMLView.m:
895 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): call new delegate method, cleaned-up a little
896 (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): call drag caret methods on WebView instead of WebBridge so WebView can make sure only 1 HTML view has a drag cursor
897 (-[WebHTMLView draggingCancelledWithDraggingInfo:]): ditto
898 (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): ditto
899 (-[WebHTMLView _delegateDragSourceActionMask]): new, gets drag source action mask from delegate
900 * WebView.subproj/WebHTMLViewInternal.h:
901 * WebView.subproj/WebImageView.h:
902 * WebView.subproj/WebImageView.m:
903 (-[WebImageView mouseDown:]): get the drag source action mask from the delegate
904 (-[WebImageView mouseDragged:]): inform the delegate of the drag
905 * WebView.subproj/WebView.m:
906 (-[WebViewPrivate dealloc]): assert that dragCursorBridge is nil
907 (-[WebView _close]): release dragCursorBridge
908 (-[WebView _bridgeAtPoint:]): new
909 (-[WebView editableDOMRangeForPoint:]): new API
910 (-[WebView moveDragCaretToPoint:]): new API
911 (-[WebView removeDragCaret]): new API
912 (-[WebView _frameViewAtWindowPoint:]): moved so this can be called internally
913 * WebView.subproj/WebViewInternal.h:
914 * WebView.subproj/WebViewPrivate.h:
916 2004-07-10 Trey Matteson <trey@apple.com>
918 Prep work for latest delegate API for dragging. In addition, I also straightened out all
919 the cases of DHTML setting a drag image or setting pasteboard data, and how that would
920 override WebKit's default behavior (which follows how WinIE does things).
924 * Misc.subproj/WebNSViewExtras.h:
925 * Misc.subproj/WebNSViewExtras.m:
926 (-[NSView _web_dragImage:archive:rect:URL:title:event:dragImage:dragLocation:writePasteboard:]):
927 New args to allow WebCore override of dragImage and pasteboard data.
928 * WebCoreSupport.subproj/WebBridge.m:
929 (-[WebBridge allowDHTMLDrag:UADrag:]): New method to return the drag action info to WC.
930 (-[WebBridge startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
932 * WebView.subproj/WebHTMLView.m:
933 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
934 Allow WebCore to override drag image and pasteboard data for any type of drag.
935 (-[WebHTMLView mouseDragged:]): Pass NO for new args.
936 * WebView.subproj/WebHTMLViewPrivate.h:
937 * WebView.subproj/WebImageView.m:
938 (-[WebImageView mouseDragged:]): Pass NO/nil for new args.
942 2004-06-10 Kevin Decker <kdecker@apple.com>
946 * WebView.subproj/WebResource.m:
947 (-[WebResource description]):
948 -added per request of cblu
949 (-[WebResource _response]):
950 -added this method to the header
951 (-[WebResource _stringValue]):
952 - gives the string value of the NSData representation
953 * WebView.subproj/WebResourcePrivate.h:
955 2004-06-10 Darin Adler <darin@apple.com>
959 * WebCoreSupport.subproj/WebBridge.m: Removed undo-related methods.
960 (-[WebBridge undoManager]): Added.
962 * WebKit.pbproj/.cvsignore: Updated for new Xcode files.
964 2004-06-09 Ken Kocienda <kocienda@apple.com>
970 <rdar://problem/3672088>: "Editable WebViews should maintain a selection even when they're not firstResponder"
972 Add some code to determine whether a WebHTMLView should maintain an
973 inactive selection when the view is not first responder. Traditionally,
974 these views have not maintained such selections, clearing them when the
975 view was not first responder. However, for appls embedding this view as
976 an editing widget, it is desirable to act more like an NSTextView. For
977 now, however, the view only acts in this way when the web view is set to
978 be editable with -[WebView setEditable:YES]. This will maintain
979 traditional behavior for WebKit clients dating back to before this
980 change, and will likely be a decent switch for the long term, since
981 clients to ste the web view to be editable probably want it to act like
982 a "regular" Cocoa view in terms of its selection behavior.
984 * WebView.subproj/WebHTMLView.m:
985 (-[WebHTMLView updateTextBackgroundColor]): Add code to tell whether the view is resigning first responder,
986 and if it is, use the inactive text background color.
987 (-[WebHTMLView maintainsInactiveSelection]): New helper which does checks to see if the new selection
988 behavior should be used, or whether we should continue with traditional WebKit behavior.
989 (-[WebHTMLView resignFirstResponder]): Call new maintainsInactiveSelection helper. If true,
990 do not clear the selection.
991 * WebView.subproj/WebHTMLViewInternal.h: Add resigningFirstResponder flag.
993 2004-06-09 Chris Blumenberg <cblu@apple.com>
995 Implemented drag destination portion of the new drag & drop API.
999 * WebView.subproj/WebDefaultUIDelegate.m:
1000 (-[WebDefaultUIDelegate webView:dragDestinationActionMaskForDraggingInfo:]): new delegate implementation
1001 (-[WebDefaultUIDelegate webView:willPerformDragDestinationAction:forDraggingInfo:]): ditto
1002 * WebView.subproj/WebDocumentInternal.h:
1003 * WebView.subproj/WebHTMLView.m:
1004 (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): handle the action mask
1005 (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): ditto
1006 * WebView.subproj/WebUIDelegate.h:
1007 * WebView.subproj/WebUIDelegatePrivate.h:
1008 * WebView.subproj/WebView.m:
1009 (-[WebView _dragOperationForDraggingInfo:]): call new delegate methods
1010 (-[WebView performDragOperation:]): ditto
1011 * WebView.subproj/WebViewInternal.h:
1012 * WebView.subproj/WebViewPrivate.h:
1014 2004-06-09 Richard Williamson <rjw@apple.com>
1016 Implemented PDF rendering for the drawImage() function
1017 in Context2D. This allows PDF files to be drawn in scaled
1018 or rotated context without rasterization artifacts.
1020 The PDF image is currently NOT cached. Caching can/will be added
1021 as an optimization. The hooks are already in place to flush
1022 the cache as necessary.
1026 * WebCoreSupport.subproj/WebImageRenderer.h:
1027 * WebCoreSupport.subproj/WebImageRenderer.m:
1028 (-[WebImageRenderer dealloc]):
1029 (-[WebImageRenderer _needsRasterFlush]):
1030 (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
1031 (-[WebImageRenderer _PDFDocumentRef]):
1032 (-[WebImageRenderer _PDFDraw]):
1033 (-[WebImageRenderer _PDFDrawFromRect:toRect:operation:alpha:flipped:]):
1034 (-[WebImageRenderer MIMEType]):
1035 (ReleasePDFDocumentData):
1036 (-[WebPDFDocument initWithData:]):
1037 (-[WebPDFDocument dealloc]):
1038 (-[WebPDFDocument documentRef]):
1039 (-[WebPDFDocument mediaBox]):
1040 (-[WebPDFDocument bounds]):
1041 (-[WebPDFDocument adjustCTM:]):
1042 (-[WebPDFDocument setCurrentPage:]):
1043 (-[WebPDFDocument currentPage]):
1044 (-[WebPDFDocument pageCount]):
1046 Added back check for old plugin API.
1048 * WebView.subproj/WebFrame.m:
1049 (-[WebFrame _reloadForPluginChanges]):
1050 * WebView.subproj/WebHTMLView.m:
1051 (-[WebHTMLView addSubview:]):
1052 * WebCoreSupport.subproj/WebBridge.m:
1053 (-[WebBridge frameRequiredForMIMEType:URL:]):
1055 2004-06-08 Trey Matteson <trey@apple.com>
1057 In DHTML dragging there is no notion of registering for types, so we'd
1058 like to just pass all types down to WebCore. It turns out that the per-type
1059 registration doesn't matter as far as the underlying drag service is
1060 concerned, so Cocoa is already getting called for any type. We just hack and
1061 override a private method to ensure we accept any type.
1065 * WebView.subproj/WebView.m:
1066 (-[WebView _hitTest:dragTypes:]): We accept any drag type if it is within
1067 our view, without overriding a subview's decision.
1069 2004-06-08 Trey Matteson <trey@apple.com>
1071 A DHTML drag source can now change the dragging image during the drag. Currently
1072 it may only be set to a static image.
1076 * WebCoreSupport.subproj/WebBridge.m:
1077 (-[WebBridge setDraggingImage:at:]): Typical bridge glue.
1078 * WebView.subproj/WebHTMLView.m:
1079 (FlipImageSpec): New utility, copied from AppKit.
1080 (-[WebHTMLView _setDraggingImage:at:]): Mostly copied from AppKit. Sets the drag
1082 * WebView.subproj/WebHTMLViewPrivate.h:
1084 2004-06-08 Chris Blumenberg <cblu@apple.com>
1086 Fixed: <rdar://problem/3640423>: (REGRESSION: can't paste text copied from web page into Excel (due to HTML on the pasteboard?))
1090 * WebView.subproj/WebHTMLView.m:
1091 (+[WebHTMLView _selectionPasteboardTypes]): don't include NSHTMLPboardType
1092 (-[WebHTMLView _selectedArchive]): removed markup string parameter
1093 (_selectionPasteboardTypes::if): don't put NSHTMLPboardType on the pasteboard
1094 * WebView.subproj/WebHTMLViewPrivate.h:
1096 2004-06-07 Darin Adler <darin@apple.com>
1100 - fixed <rdar://problem/3676761>: (REGRESSION: Text Bigger/Smaller commands are always disabled in TOT)
1102 * WebView.subproj/WebHTMLView.m: Add @interface declaration for WebTextSizing category
1103 on WebHTMLView. This must have gotten lost somewhere along the way.
1105 2004-06-05 Trey Matteson <trey@apple.com>
1107 WebKit no longer causes an endless stream of dragexit events to
1108 occur at the DHTML level when hovering over an element that is
1109 not accepting the drag.
1113 * WebView.subproj/WebView.m:
1114 (-[WebView _dragOperationForDraggingInfo:]): If the potential target refuses
1115 the item, don't turn around and immediately tell it to cancel the drag, which is
1116 what leads to the exit event happening at the DOM level. If the target just
1117 refused the drag, it should not have anything it needs to cancel.
1119 2004-06-03 Trey Matteson <trey@apple.com>
1121 DHTML dragging uses the Cocoa NSDragOperation on both the source and dest ends.
1122 Most of the real work is in WebCore.
1126 * WebCoreSupport.subproj/WebBridge.m:
1127 (-[WebBridge startDraggingImage:at:operation:event:]): Pass the drag op along.
1128 * WebView.subproj/WebHTMLView.m:
1129 (-[WebHTMLView _startDraggingImage:at:operation:event:]): Remember drag op from WC.
1130 (-[WebHTMLView mouseDragged:]): Pass None for the op (alternate code path that will
1132 (-[WebHTMLView draggingSourceOperationMaskForLocal:]): Use the WC drag op.
1133 * WebView.subproj/WebHTMLViewInternal.h:
1134 * WebView.subproj/WebHTMLViewPrivate.h:
1138 2004-06-04 Chris Blumenberg <cblu@apple.com>
1140 Fixed: <rdar://problem/3674921>: (can't drag an image from Desktop to Blot document)
1144 * WebView.subproj/WebDataSource.m:
1145 (-[WebDataSource _imageElementWithImageResource:]): factored out from _documentFragmentWithImageResource:
1146 (-[WebDataSource _documentFragmentWithImageResource:]): call _imageElementWithImageResource:
1147 * WebView.subproj/WebDataSourcePrivate.h:
1148 * WebView.subproj/WebHTMLView.m:
1149 (-[WebHTMLView _imageExistsAtPaths:]): new
1150 (-[WebHTMLView _documentFragmentWithPaths:]): new
1151 (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): handle NSFilenamesPboardType
1152 (+[WebHTMLView _insertablePasteboardTypes]): include NSFilenamesPboardType
1153 (-[WebHTMLView _canProcessDragWithDraggingInfo:]): check for NSFilenamesPboardType and check that the files are images
1155 2004-06-04 Richard Williamson <rjw@apple.com>
1157 Fixed crasher from last checkin.
1161 * Plugins.subproj/WebPluginDatabase.m:
1162 (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
1165 2004-06-03 Richard Williamson <rjw@apple.com>
1167 Add SPI to allow setting of plugin load path.
1170 * Plugins.subproj/WebPluginDatabase.h:
1171 * Plugins.subproj/WebPluginDatabase.m:
1172 (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
1175 2004-06-03 Darin Adler <darin@apple.com>
1179 - fixed <rdar://problem/3677038>: (Need SPI to get URL of favicon for a site)
1181 * Misc.subproj/WebIconDatabase.h: Add iconURLForURL: method.
1182 * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase iconURLForURL:]): Added.
1184 2004-06-02 Ken Kocienda <kocienda@apple.com>
1190 <rdar://problem/3675806>: "Make API name change for -webViewShouldBeginEditing:inDOMRange:"
1191 <rdar://problem/3675809>: "Make API name change for -webViewShouldEndEditing:inDOMRange:"
1193 New names are -webView:shouldBeginEditingInDOMRange: and -webView:shouldEndEditingInDOMRange:,
1196 * WebView.subproj/WebDefaultEditingDelegate.m:
1197 (-[WebDefaultEditingDelegate webView:shouldBeginEditingInDOMRange:]):
1198 (-[WebDefaultEditingDelegate webView:shouldEndEditingInDOMRange:]):
1199 * WebView.subproj/WebEditingDelegate.h:
1200 * WebView.subproj/WebView.m:
1201 (-[WebView _shouldBeginEditingInDOMRange:]):
1202 (-[WebView _shouldEndEditingInDOMRange:]):
1204 2004-06-02 Richard Williamson <rjw@apple.com>
1206 conformsToProtocol:@protocol(WebPlugin) becomes
1207 respondsToSelector:@selector(webPlugInInitialize) because
1208 protocol was changed to an informal protocol.
1211 * WebCoreSupport.subproj/WebBridge.m:
1212 (-[WebBridge frameRequiredForMIMEType:URL:]):
1213 * WebView.subproj/WebHTMLView.m:
1214 (-[WebHTMLView addSubview:]):
1216 2004-06-01 Trey Matteson <trey@apple.com>
1218 First cut at source side of DHTML dragging. Most of the work is in WebCore.
1222 * WebCoreSupport.subproj/WebBridge.m:
1223 (-[WebBridge startDraggingImage:at:event:]): Added image and loc args for
1224 when WC tells WK to start a drag.
1225 * WebView.subproj/WebHTMLView.m:
1226 (-[WebHTMLView _startDraggingImage:at:event:]): New image and loc args coming
1227 from WebCore. Hysteresis is moved to WC.
1228 (-[WebHTMLView mouseDragged:]): Call new _startDragging method.
1229 (-[WebHTMLView draggedImage:movedTo:]): Pass event to WC.
1230 (-[WebHTMLView draggedImage:endedAt:operation:]): Pass event to WC.
1231 (-[WebHTMLView mouseUp:]): Reset firstMouseDownEvent. Fixes bug where
1232 we would occasionally short-circuit WC event handling due to aliasing
1233 problem with this event.
1234 * WebView.subproj/WebHTMLViewPrivate.h:
1236 2004-06-02 Darin Adler <darin@apple.com>
1240 - fixed problem with timing of delegate callbacks in the back/forward cache case
1242 * WebView.subproj/WebFrame.m:
1243 (-[WebFrame _transitionToCommitted:]): Move code to indicate page is done loading in the
1244 back/forward cache case from here ...
1245 (-[WebFrame _opened]): ... to here.
1247 2004-06-01 Richard Williamson <rjw@apple.com>
1249 Fixed deployment build warning.
1251 * WebCoreSupport.subproj/WebImageRenderer.m:
1252 (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
1254 2004-06-01 Richard Williamson <rjw@apple.com>
1256 Added support for drawImage and drawImageFromRect to <CANVAS>
1257 Added support for composite attribute to <CANVAS>
1261 * WebCoreSupport.subproj/WebImageRenderer.h:
1262 * WebCoreSupport.subproj/WebImageRenderer.m:
1263 (-[WebImageContext initWithBounds:context:]):
1264 (-[WebImageContext dealloc]):
1265 (-[WebImageContext saveGraphicsState]):
1266 (-[WebImageContext restoreGraphicsState]):
1267 (-[WebImageContext isDrawingToScreen]):
1268 (-[WebImageContext focusStack]):
1269 (-[WebImageContext setFocusStack:]):
1270 (-[WebImageContext bounds]):
1271 (-[WebImageContext isFlipped]):
1272 (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
1273 (-[WebImageRenderer dealloc]):
1274 (-[WebImageRenderer _beginRedirectContext:]):
1275 (-[WebImageRenderer _endRedirectContext:]):
1276 (-[WebImageRenderer _needsRasterFlush]):
1277 (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
1278 (-[WebImageRenderer drawImageInRect:fromRect:]):
1279 (-[WebImageRenderer flushRasterCache]):
1280 (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
1281 (-[WebImageRenderer tileInRect:fromPoint:context:]):
1282 * WebCoreSupport.subproj/WebImageRendererFactory.m:
1283 (-[WebImageRendererFactory imageRendererWithMIMEType:]):
1284 (-[WebImageRendererFactory imageRendererWithName:]):
1285 (-[WebImageRendererFactory CGCompositeOperationInContext:]):
1286 (-[WebImageRendererFactory setCGCompositeOperation:inContext:]):
1287 (-[WebImageRendererFactory setCGCompositeOperationFromString:inContext:]):
1289 2004-06-01 John Sullivan <sullivan@apple.com>
1293 Work on text-align API. Marked these bugs fixed:
1294 <rdar://problem/3655380>: (Editing:Ê-alignCenter:ÊmethodÊunimplementedÊ(WebKitÊeditingÊAPI))
1295 <rdar://problem/3655381>: (Editing:Ê-alignJustified:ÊmethodÊunimplementedÊ(WebKitÊeditingÊAPI))
1296 <rdar://problem/3655383>: (Editing:Ê-alignLeft:ÊmethodÊunimplementedÊ(WebKitÊeditingÊAPI))
1297 <rdar://problem/3655384>: (Editing:Ê-alignRight:ÊmethodÊunimplementedÊ(WebKitÊeditingÊAPI))
1299 in favor of opening this bug:
1300 <rdar://problem/3675191>: (Editing: -alignLeft: and friends mostly implemented but not
1301 yet working (WebKit editing API))
1303 * English.lproj/StringsNotToBeLocalized.txt:
1304 updated for these changes
1306 * WebView.subproj/WebHTMLView.m:
1307 (-[WebHTMLView changeDocumentBackgroundColor:]):
1308 added a FIXME about why this is still not quite right
1309 (-[WebHTMLView _alignSelectionUsingCSSValue:]):
1310 new method, bottleneck for the various values
1311 (-[WebHTMLView alignCenter:]):
1312 call _alignSelectionUsingCSSValue:@"center"
1313 (-[WebHTMLView alignJustified:]):
1314 call _alignSelectionUsingCSSValue:@"justify"
1315 (-[WebHTMLView alignLeft:]):
1316 call _alignSelectionUsingCSSValue:@"left"
1317 (-[WebHTMLView alignRight:]):
1318 call _alignSelectionUsingCSSValue:@"right"
1320 2004-06-01 John Sullivan <sullivan@apple.com>
1324 - fixed <rdar://problem/3655378>: (Editing:Ê-changeDocumentBackgroundColor:Ê
1325 methodÊunimplementedÊ(WebKitÊeditingÊAPI))
1326 - made startSpeaking: actually work; previous implementation raised a DOMException
1328 * WebView.subproj/WebHTMLView.m:
1329 (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
1330 added range parameter
1331 (-[WebHTMLView _entireDOMRange]):
1332 new convenience method
1333 (-[WebHTMLView changeDocumentBackgroundColor:]):
1334 now affects entire document, not just selected range, a la NSTextView
1335 (-[WebHTMLView changeColor:]):
1336 now passes in a range to _changeCSSColorUsingSelector:inRange:
1337 (-[WebHTMLView startSpeaking:]):
1338 now uses _entireDOMRange
1340 2004-06-01 Chris Blumenberg <cblu@apple.com>
1342 Fixed: <rdar://problem/3661505>: (REGRESSION (Safari-140) can't drag standalone images more than once)
1346 * WebView.subproj/WebImageView.m:
1347 (-[WebImageView mouseDown:]): set ignoringMouseDraggedEvents to NO. This line of code was deleted somehow.
1349 2004-06-01 John Sullivan <sullivan@apple.com>
1353 - fixed <rdar://problem/3657003>: (HTML Editing: Color panel doesn't work)
1355 * WebView.subproj/WebHTMLView.m:
1356 (-[WebHTMLView _colorPanelColorAsStyleUsingSelector:]):
1357 new method, returns a DOMCSSStyleDeclaration *
1358 (-[WebHTMLView _changeCSSColorUsingSelector:]):
1359 new method, sets a color-related style attribute on the selection
1360 (-[WebHTMLView changeDocumentBackgroundColor:]):
1361 call _changeCSSColorUsingSelector: with @selector(setBackgroundColor:)
1362 (-[WebHTMLView changeColor:]):
1363 call _changeCSSColorUsingSelector: with @selector(setColor:); also added
1364 comments explaining why changeDocumentBackgroundColor: will never actually
1365 be called until an AppKit code-incest mess is straighted out.
1367 2004-06-01 Ken Kocienda <kocienda@apple.com>
1371 * WebView.subproj/WebHTMLView.m:
1372 (-[WebHTMLView _fontManagerOperationAsStyle]): Fixed typo in family-name code that caused
1373 family names to match when they should not.
1375 2004-06-01 Chris Blumenberg <cblu@apple.com>
1377 Made paste and drop ask the delegate before making any replacements.
1379 Reviewed by kocienda.
1381 * WebView.subproj/WebHTMLView.m:
1382 (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): renamed, now calls _shouldInsertFragment:replacingDOMRange:givenAction:
1383 (-[WebHTMLView _shouldInsertFragment:replacingDOMRange:givenAction:]): new, asks delegate
1384 (-[WebHTMLView concludeDragForDraggingInfo:]): now calls _shouldInsertFragment:replacingDOMRange:givenAction:
1385 (-[WebHTMLView paste:]): call renamed _pasteWithPasteboard:allowPlainText:
1386 (-[WebHTMLView pasteAsRichText:]): ditto
1388 2004-05-28 Darin Adler <darin@apple.com>
1392 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _fontManagerOperationAsStyle]):
1393 First cut at figuring out what operation the font manager is doing without
1394 digging into its private data structures.
1396 2004-05-28 Darin Adler <darin@apple.com>
1400 - various editing-related improvements
1401 - fixed <rdar://problem/3655366>: (Editing: -selectParagraph: method unimplemented (WebKit editing API))
1402 - fixed <rdar://problem/3655367>: (Editing: -selectLine: method unimplemented (WebKit editing API))
1403 - fixed <rdar://problem/3655369>: (Editing: -selectWord: method unimplemented (WebKit editing API))
1404 - fixed <rdar://problem/3655392>: (Editing: -uppercaseWord: method unimplemented (WebKit editing API))
1405 - fixed <rdar://problem/3655393>: (Editing: -lowercaseWord: method unimplemented (WebKit editing API))
1406 - fixed <rdar://problem/3655394>: (Editing: -capitalizeWord: method unimplemented (WebKit editing API))
1408 * WebView.subproj/WebHTMLView.m:
1409 (-[WebHTMLView _alterCurrentSelection:direction:granularity:]): Removed the call to
1410 ensureCaretVisible. This is now handled on the other side of the bridge.
1411 (-[WebHTMLView moveDown:]): Changed to use WebSelectByLine granularity instead of
1412 WebSelectDown direction.
1413 (-[WebHTMLView moveDownAndModifySelection:]): Ditto.
1414 (-[WebHTMLView moveUp:]): Ditto.
1415 (-[WebHTMLView moveUpAndModifySelection:]): Ditto.
1416 (-[WebHTMLView _expandSelectionToGranularity:]): Added.
1417 (-[WebHTMLView selectParagraph:]): Implemented by calling _expandSelectionToGranularity.
1418 (-[WebHTMLView selectLine:]): Ditto.
1419 (-[WebHTMLView selectWord:]): Ditto.
1420 (-[WebHTMLView _fontManagerOperationAsStyle]): Added. Placeholder for the job of figuring
1421 out what style change to make based on NSFontManager.
1422 (-[WebHTMLView changeFont:]): Implemented, but not really tested because guts are still
1423 missing due to lack of above method.
1424 (-[WebHTMLView insertTab:]): Removed the call to ensureCaretVisible.
1425 (-[WebHTMLView insertNewline:]): Removed the call to ensureCaretVisible.
1426 (-[WebHTMLView insertParagraphSeparator:]): Made this insert a newline for now.
1427 (-[WebHTMLView _changeWordCaseWithSelector:]): Added.
1428 (-[WebHTMLView uppercaseWord:]): Implemented by calling _changeWordCaseWithSelector.
1429 (-[WebHTMLView lowercaseWord:]): Ditto.
1430 (-[WebHTMLView capitalizeWord:]): Ditto.
1431 (-[WebHTMLView deleteBackward:]): Removed the call to ensureCaretVisible.
1432 (-[WebHTMLView checkSpelling:]): Put a pile of AppKit code in here as a placeholder.
1433 (-[WebHTMLView startSpeaking:]): Use the new stringForRange: method instead of outerText.
1434 That way we can handle cases where the entire document is selected.
1435 (-[WebHTMLView insertText:]): Removed the call to ensureCaretVisible.
1437 2004-05-28 Chris Blumenberg <cblu@apple.com>
1439 Fixed: <rdar://problem/3672129>: (selection deselects when clicking editable WebView in background window)
1441 Fixed this problem by using NSTextView's approach of only allowing dragging on first mouse down.
1445 * WebView.subproj/WebHTMLView.m:
1446 (-[WebHTMLView acceptsFirstMouse:]): store the first mouse down
1447 (-[WebHTMLView mouseDown:]): Don't tell WebCore about the first mouse down event since only dragging can occur on the first mouse down.
1448 (-[WebHTMLView mouseDragged:]): Don't tell WebCore about the drags that occur after the first mouse down since only dragging can occur after the first mouse down.
1449 * WebView.subproj/WebHTMLViewInternal.h:
1451 2004-05-28 Darin Adler <darin@apple.com>
1453 * WebView.subproj/WebView.m: At Ken's suggestion, for better efficiency and safety,
1454 use _cmd rather than explicit selector names in the forwarding methods.
1456 2004-05-28 Darin Adler <darin@apple.com>
1460 - implemented a few more editing operations, moved code from WebView to WebHTMLView
1462 * WebCoreSupport.subproj/WebBridge.m:
1463 (-[WebBridge respondToChangedContents]): Call _updateFontPanel on the WebHTMLView, not the WebView.
1464 (-[WebBridge respondToChangedSelection]): Ditto.
1466 * WebView.subproj/WebHTMLView.m: Moved WebElementOrTextFilter class here from WebView and
1467 gave it a prefix so it won't conflict with developers' class names.
1468 (-[WebHTMLView _updateFontPanel]): Moved here from WebView.
1470 * WebView.subproj/WebView.m:
1471 (-[WebView toggleSmartInsertDelete:]): Added.
1472 (-[WebView toggleContinuousSpellChecking:]): Added.
1473 (-[WebView isContinuousGrammarCheckingEnabled]): Added.
1474 (-[WebView setContinuousGrammarCheckingEnabled:]): Added.
1475 (-[WebView toggleContinuousGrammarChecking:]): Added.
1476 (-[WebView setSmartInsertDeleteEnabled:]): Implemented. We have the flag now, although we
1477 still don't actually have smart insert and delete implemented.
1478 (-[WebView smartInsertDeleteEnabled]): Ditto.
1479 (-[WebView setContinuousSpellCheckingEnabled:]): Implemented.
1480 (-[WebView isContinuousSpellCheckingEnabled]): Implemented.
1481 (-[WebView spellCheckerDocumentTag]): Implemented.
1482 (-[WebView _preflightSpellCheckerNow:]): Added.
1483 (-[WebView _preflightSpellChecker]): Added.
1484 (-[WebView _continuousCheckingAllowed]): Added.
1486 * WebView.subproj/WebHTMLViewInternal.h: Added. We'll things here from WebHTMLViewPrivate so
1487 they are internal to the framework, rather than SPI.
1488 * WebKit.pbproj/project.pbxproj: Added WebHTMLViewInternal.h.
1489 * WebView.subproj/WebHTMLViewPrivate.h: Moved WebHTMLViewPrivate into the internal header.
1490 Despite its name, it's internal, not SPI.
1492 * WebView.subproj/WebViewPrivate.h: Moved WebViewPrivate into the internal header.
1493 Despite its name, it's internal, not SPI. Added a number of new operations which should
1494 be public API. We'll have to figure out what to do about API review and the WWDC deadline.
1495 * WebView.subproj/WebViewInternal.h: Removed _updateFontPanel method.
1497 * English.lproj/StringsNotToBeLocalized.txt: Update.
1499 2004-05-27 Ken Kocienda <kocienda@apple.com>
1503 The font panel now updates correctly, reflecting the current selection. There may
1504 still be some bugs and corner cases to handle, but this will work for a general
1505 implementation of the feature.
1507 * WebView.subproj/WebView.m:
1508 (+[ElementOrTextFilter filter]): Added. This filter will accept DOM elements and
1509 text nodes and skip everything else. This filter is used when walking a selection
1510 to determine the fonts in use.
1511 (-[ElementOrTextFilter acceptNode:]): DOM node filter implementation method.
1512 (-[WebView _fontFromStyle]): Removed, in lieu of new fontForCurrentPosition call on the bridge.
1513 (-[WebView _updateFontPanel]): Reworked to use a TreeWalker instead of a NodeIterator. This
1514 was done since the iterator must be rooted at the document root, but start iterating
1515 at the start of the selection. TreeWalker's setCurrentNode allows this to be done.
1518 2004-05-27 Kevin Decker <kdecker@apple.com>
1520 Reviewed by NOBODY (OOPS!).
1522 * Plugins.subproj/WebScriptObject.h:
1524 2004-05-27 Kevin Decker <kdecker@apple.com>
1528 - error messages (eg. from JavaScriptCore) sent to the bridge now
1529 get delievered to a new delegate method.
1531 * WebCoreSupport.subproj/WebBridge.m:
1532 (-[WebBridge addMessageToConsole:]):
1533 * WebKit.pbproj/project.pbxproj:
1534 * WebView.subproj/WebUIDelegatePrivate.h:
1538 2004-05-27 Trey Matteson <trey@apple.com>
1540 First cut at DHTML dragging, destination side. Dragging text, files and URLs onto
1541 elements works. Type conversion from NSPasteboard to MIME types is hardwired.
1542 No JS access yet to modifier keys, or operations mask.
1546 * WebView.subproj/WebHTMLView.m:
1547 (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): Call DHTML dragging via bridge.
1548 (-[WebHTMLView draggingCancelledWithDraggingInfo:]): Ditto.
1549 (-[WebHTMLView concludeDragForDraggingInfo:]): Ditto.
1550 * WebView.subproj/WebHTMLViewPrivate.h:
1551 * WebView.subproj/WebView.m:
1552 (-[WebView _setWebKitDragRespondsToDragging:]): New SPI for finer grained control than the
1553 delegate currently has.
1554 (-[WebView _webKitDragRespondsToDragging]): Ditto.
1555 (-[WebView _commonInitializationWithFrameName:groupName:]): Init new flag.
1556 (-[WebView _dragOperationForDraggingInfo:]): Comment.
1557 * WebView.subproj/WebViewPrivate.h:
1559 2004-05-27 Darin Adler <darin@apple.com>
1561 * WebView.subproj/WebFrameView.m: (-[WebFrameView _scrollVerticallyBy:]): Added comment.
1563 2004-05-27 Darin Adler <darin@apple.com>
1567 - fixed <rdar://problem/3667948>: (REGRESSION: Page Down key goes down two pages when smooth scrolling is on)
1569 * WebView.subproj/WebFrameView.m:
1570 (-[WebFrameView _scrollVerticallyBy:]): Added return value to indicate if any scrolling was done.
1571 This requires using secret AppKit methods; the public methods don't have a return value.
1572 (-[WebFrameView _pageVertically:]): Added return value to indicate if any scrolling was done.
1573 (-[WebFrameView scrollPageUp:]): Base call through to next responder on whether any scrolling was done,
1574 using return value, rather than looking at new scroll position. This was the cause of the bug,
1575 since with smooth scrolling no scrolling has happened yet when the function returns.
1576 (-[WebFrameView scrollPageDown:]): Ditto.
1578 - removed temporary DOMDocument method from WebView
1580 * WebView.subproj/WebView.m:
1581 (-[WebView computedStyleForElement:pseudoElement:]): Call getComputedStyle on the document that owns the
1582 element rather than on the document that currently contains the selection.
1583 (-[WebView _updateFontPanel]): Get the document from the DOM range rather than using the DOMDocument method.
1584 (-[WebView styleDeclarationWithText:]): Change this method to not use the DOMDocument method, but do the same
1585 job with inline code.
1587 * WebView.subproj/WebViewPrivate.h: Moved a recently-added category that is not SPI out of here.
1588 * WebView.subproj/WebViewInternal.h: Moved the category in here. And removed the DOMDocument method from it.
1592 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
1594 * copy-webcore-files-to-webkit: Change tabs to spaces. Quiet the script down by
1595 making it no longer echo each command or print messages about what it's doing by default.
1597 2004-05-27 Darin Adler <darin@apple.com>
1601 - moved to new symlink technique for embedding frameworks
1603 * WebKit.pbproj/project.pbxproj: Get rid of embed-frameworks build step
1604 because we don't need it any more.
1606 2004-05-27 Darin Adler <darin@apple.com>
1608 - fixed Deployment build
1610 * WebView.subproj/WebView.m: (-[WebView concludeDragOperation:]):
1611 Got rid of ASSERT-only local variable.
1613 2004-05-26 Maciej Stachowiak <mjs@apple.com>
1617 - fix further problems with Emerson feed: redirection for RSS feeds
1619 This is done by removing removing the calls to defer callbacks
1620 while waiting for [... Maciej stopped typing here ...]
1622 * WebView.subproj/WebMainResourceClient.m:
1623 (-[WebMainResourceClient continueAfterNavigationPolicy:formState:]):
1624 (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
1625 (-[WebMainResourceClient continueAfterContentPolicy:response:]):
1626 (-[WebMainResourceClient checkContentPolicyForResponse:]):
1628 2004-05-26 Chris Blumenberg <cblu@apple.com>
1630 Added and implemented proposed dragging API changes. These changes are necessary to make JS dragging work properly.
1634 * WebView.subproj/WebDefaultUIDelegate.m:
1635 (-[WebDefaultUIDelegate webView:shouldDetermineDragOperationForDraggingInfo:dragOperation:]): instead of calling back to the WebView to get the default drag operation, return YES. Return NO in order to return a custom drag operation. Removed element parameter since another new API provides a way to get that.
1636 (-[WebDefaultUIDelegate webView:shouldProcessDragWithDraggingInfo:]): Removed element parameter since another new API provides a way to get that.
1637 * WebView.subproj/WebDocumentInternal.h:
1638 * WebView.subproj/WebHTMLView.m:
1639 (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): now returns a drag operation
1640 (-[WebHTMLView draggingCancelledWithDraggingInfo:]): moved
1641 * WebView.subproj/WebUIDelegatePrivate.h:
1642 * WebView.subproj/WebView.m:
1643 (-[WebView elementAtPoint:]): new proposed API
1644 (-[WebView dragOperationForDraggingInfo:]): removed code from this API that should be removed
1645 (-[WebView _dragOperationForDraggingInfo:]): call new API
1646 (-[WebView concludeDragOperation:]): call new API
1648 2004-05-26 Darin Adler <darin@apple.com>
1652 - moved HTML editing operations from WebView to WebHTMLView, leaving only forwarding machinery
1653 at the WebView level
1655 - fixed <rdar://problem/3655412>: (Editing: -startSpeaking: method unimplemented (WebKit editing API))
1656 - fixed <rdar://problem/3655414>: (Editing: -stopSpeaking: method unimplemented (WebKit editing API))
1657 - fixed <rdar://problem/3655375>: (Editing: -pasteAsRichText: method unimplemented (WebKit editing API))
1659 * WebView.subproj/WebView.h: Added missing declaration of selectionAffinity. I think this
1660 omission was an editorial mistake.
1662 * WebView.subproj/WebView.m:
1663 (-[WebView searchFor:direction:caseSensitive:wrap:]): Use _frameForCurrentSelection directly,
1664 since it no longer returns nil.
1665 (-[WebView pasteboardTypesForSelection]): Use _frameForCurrentSelection instead of going through the bridge.
1666 (-[WebView _frameForCurrentSelection]): Renamed from _currentFrame and changed to return main frame
1667 rather than nil when called on WebView that has no current selection.
1668 (-[WebView _bridgeForCurrentSelection]): Moved in file.
1669 (-[WebView _updateFontPanel]): Removed the one call to _currentSelectionIsEditable here, since
1670 it was the only one left in this file. Eventually this code will move to WebHTMLView.
1671 (-[WebView _performResponderOperation:with:]): Name change.
1673 * WebView.subproj/WebDataSource.m: (-[WebDataSource _documentFragmentWithImageResource:]):
1674 Build document fragment using DOM instead of composing HTML text.
1676 * WebView.subproj/WebHTMLView.m:
1677 (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): Added allowPlainText boolean,
1678 moved method into new location in file so it can be in the right category, changed link pasting
1679 to use DOM instead of composing HTML text.
1680 (-[WebHTMLView _replaceSelectionWithPasteboard:selectReplacement:allowPlainText:]): Added allowPlainText
1681 boolean, moved method into new location in file so it can be in the right category.
1682 (-[WebHTMLView concludeDragForDraggingInfo:]): Pass YES for allowPlainText.
1683 (-[WebHTMLView centerSelectionInVisibleArea:]): Moved here from WebView.
1684 (-[WebHTMLView _alterCurrentSelection:direction:granularity:]): Ditto.
1685 (-[WebHTMLView moveBackward:]): Ditto.
1686 (-[WebHTMLView moveBackwardAndModifySelection:]): Ditto.
1687 (-[WebHTMLView moveDown:]): Ditto.
1688 (-[WebHTMLView moveDownAndModifySelection:]): Ditto.
1689 (-[WebHTMLView moveForward:]): Ditto.
1690 (-[WebHTMLView moveForwardAndModifySelection:]): Ditto.
1691 (-[WebHTMLView moveLeft:]): Ditto.
1692 (-[WebHTMLView moveLeftAndModifySelection:]): Ditto.
1693 (-[WebHTMLView moveRight:]): Ditto.
1694 (-[WebHTMLView moveRightAndModifySelection:]): Ditto.
1695 (-[WebHTMLView moveToBeginningOfDocument:]): Ditto.
1696 (-[WebHTMLView moveToBeginningOfLine:]): Ditto.
1697 (-[WebHTMLView moveToBeginningOfParagraph:]): Ditto.
1698 (-[WebHTMLView moveToEndOfDocument:]): Ditto.
1699 (-[WebHTMLView moveToEndOfLine:]): Ditto.
1700 (-[WebHTMLView moveToEndOfParagraph:]): Ditto.
1701 (-[WebHTMLView moveUp:]): Ditto.
1702 (-[WebHTMLView moveUpAndModifySelection:]): Ditto.
1703 (-[WebHTMLView moveWordBackward:]): Ditto.
1704 (-[WebHTMLView moveWordBackwardAndModifySelection:]): Ditto.
1705 (-[WebHTMLView moveWordForward:]): Ditto.
1706 (-[WebHTMLView moveWordForwardAndModifySelection:]): Ditto.
1707 (-[WebHTMLView moveWordLeft:]): Ditto.
1708 (-[WebHTMLView moveWordLeftAndModifySelection:]): Ditto.
1709 (-[WebHTMLView moveWordRight:]): Ditto.
1710 (-[WebHTMLView moveWordRightAndModifySelection:]): Ditto.
1711 (-[WebHTMLView pageDown:]): Ditto.
1712 (-[WebHTMLView pageUp:]): Ditto.
1713 (-[WebHTMLView selectParagraph:]): Ditto.
1714 (-[WebHTMLView selectLine:]): Ditto.
1715 (-[WebHTMLView selectWord:]): Ditto.
1716 (-[WebHTMLView copy:]): Moved down in file so it's in the right category.
1717 (-[WebHTMLView cut:]): Ditto.
1718 (-[WebHTMLView delete:]): Ditto.
1719 (-[WebHTMLView paste:]): Ditto.
1720 (-[WebHTMLView copyFont:]): Moved here from WebView.
1721 (-[WebHTMLView pasteFont:]): Ditto.
1722 (-[WebHTMLView pasteAsPlainText:]): Ditto.
1723 (-[WebHTMLView pasteAsRichText:]): Implemented this by calling the paste code with
1724 allowPlainText:NO; believe it or not, that's what this means in NSTextView.
1725 (-[WebHTMLView changeFont:]): Moved here from WebView.
1726 (-[WebHTMLView changeAttributes:]): Ditto.
1727 (-[WebHTMLView changeDocumentBackgroundColor:]): Ditto.
1728 (-[WebHTMLView changeColor:]): Ditto.
1729 (-[WebHTMLView alignCenter:]): Ditto.
1730 (-[WebHTMLView alignJustified:]): Ditto.
1731 (-[WebHTMLView alignLeft:]): Ditto.
1732 (-[WebHTMLView alignRight:]): Ditto.
1733 (-[WebHTMLView indent:]): Ditto.
1734 (-[WebHTMLView insertTab:]): Moved here from WebView, also call insertText rather than
1735 replaceSelectionWithText so it's undoable like a typed character.
1736 (-[WebHTMLView insertBacktab:]): Moved here from WebView.
1737 (-[WebHTMLView insertNewline:]): Moved here from WebView, also call insertText rather than
1738 replaceSelectionWithText so it's undoable like a typed character.
1739 (-[WebHTMLView insertParagraphSeparator:]): Moved here from WebView.
1740 (-[WebHTMLView changeCaseOfLetter:]): Ditto.
1741 (-[WebHTMLView uppercaseWord:]): Ditto.
1742 (-[WebHTMLView lowercaseWord:]): Ditto.
1743 (-[WebHTMLView capitalizeWord:]): Ditto.
1744 (-[WebHTMLView deleteForward:]): Ditto.
1745 (-[WebHTMLView deleteBackward:]): Ditto.
1746 (-[WebHTMLView deleteBackwardByDecomposingPreviousCharacter:]): Ditto.
1747 (-[WebHTMLView deleteWordForward:]): Ditto.
1748 (-[WebHTMLView deleteWordBackward:]): Ditto.
1749 (-[WebHTMLView deleteToBeginningOfLine:]): Ditto.
1750 (-[WebHTMLView deleteToEndOfLine:]): Ditto.
1751 (-[WebHTMLView deleteToBeginningOfParagraph:]): Ditto.
1752 (-[WebHTMLView deleteToEndOfParagraph:]): Ditto.
1753 (-[WebHTMLView complete:]): Ditto.
1754 (-[WebHTMLView checkSpelling:]): Ditto.
1755 (-[WebHTMLView showGuessPanel:]): Ditto.
1756 (-[WebHTMLView performFindPanelAction:]): Ditto.
1757 (-[WebHTMLView startSpeaking:]): Implemented this.
1758 (-[WebHTMLView stopSpeaking:]): Implemented this.
1759 (-[WebHTMLView insertText:]): Moved here from WebView.
1761 * WebView.subproj/WebHTMLViewPrivate.h: Removed declarations of methods that are neither
1762 SPI nor needed outside WebHTMLView.m.
1764 * WebView.subproj/WebViewInternal.h: Removed _currentFrame, and added _frameForCurrentSelection and
1765 _bridgeForCurrentSelection.
1767 2004-05-25 Maciej Stachowiak <mjs@apple.com>
1769 Reviewed by Richard.
1771 <rdar://problem/3652498>: new sniffing support is crashing
1773 * WebView.subproj/WebMainResourceClient.m:
1774 (-[WebMainResourceClient checkContentPolicyForResponse:]): Retain
1775 listener around call, in case delegate does something that ends up
1776 invalidating it, like navigating to a new URL.
1778 2004-05-25 Chris Blumenberg <cblu@apple.com>
1780 Fixed regression where undoing typing would undo character-by-character.
1782 Reviewed by kocienda.
1784 * WebView.subproj/WebView.m:
1785 (-[WebView insertText:]): call insertText: rather than replaceSelectionWithText:: since text insertion via insertText: is coalesced and this is the behavior we want here
1787 2004-05-25 Ken Kocienda <kocienda@apple.com>
1791 Change postDidChangeSelectionNotification and postDidChangeNotification tp
1792 respondToChangedSelection and respondToChangedContents, respectively, to
1793 account for the fact that we do work in these calls other than post a
1794 notification. The need to clear the typing style on both kinds of changes
1795 inspired the name change.
1797 Add in support to set and access typing style. We don't do anything with it yet
1798 except store and return it. Using the typing style is still to come.
1800 * WebCoreSupport.subproj/WebBridge.m:
1801 (-[WebBridge respondToChangedContents]): Change name of functions as described.
1802 (-[WebBridge respondToChangedSelection]): Change name of functions as described.
1803 * WebView.subproj/WebView.m:
1804 (-[WebView dealloc:]): Dealloc typing style ivar.
1805 (-[WebView setTypingStyle:]): Change to set typing style ivar.
1806 (-[WebView typingStyle]): Return new typing style ivar.
1807 * WebView.subproj/WebViewPrivate.h: Add ivar for typing style.
1809 2004-05-25 Ken Kocienda <kocienda@apple.com>
1813 Improve _bridgeForCurrentSelection so that it is frame-savvy.
1814 Fixup setSelectedDOMRange:affinity: so that it uses the right bridge.
1816 * WebView.subproj/WebView.m:
1817 (-[WebView _bridgeForCurrentSelection]): Use _currentFrame not mainFrame.
1818 (-[WebView _currentFrame]): Moved to WebView (WebInternal) category so _bridgeForCurrentSelection can use it.
1819 (-[WebView setSelectedDOMRange:affinity:]): Derive the bridge to use from the range passed in; _bridgeForCurrentSelection
1820 is not the right way to get at the document for the range.
1821 * WebView.subproj/WebViewInternal.h: Add _currentFrame declaration.
1823 2004-05-24 Darin Adler <darin@apple.com>
1827 - fixed <rdar://problem/3666022>: (REGRESSION: crash from infinite regress in -[WebFrameView(WebPrivate) scrollPageDown:])
1829 * WebView.subproj/WebView.m:
1830 (-[WebView _performResponderOperation:sender:]): Helper method that knows how to pass on operations
1831 to the responder chain, allowing us to implement operations that will get passed to views inside
1832 us as necessary. Moved a few methods to this, and soon will move even more.
1833 (-[WebView scrollLineDown:]): Use the above method.
1834 (-[WebView scrollLineUp:]): Ditto.
1835 (-[WebView scrollPageDown:]): Ditto.
1836 (-[WebView scrollPageUp:]): Ditto.
1837 (-[WebView copy:]): Ditto.
1838 (-[WebView cut:]): Ditto.
1839 (-[WebView paste:]): Ditto.
1840 (-[WebView delete:]): Ditto.
1841 (-[WebView insertBacktab:]): Ditto.
1843 2004-05-24 Chris Blumenberg <cblu@apple.com>
1845 Improved editing via drag
1847 Reviewed by kocienda.
1849 * WebView.subproj/WebDataSource.m:
1850 (-[WebDataSource _documentFragmentWithImageResource:]): made this method return a fragment instead of replace the selection so that the caller do other things with the fragment
1851 (-[WebDataSource _documentFragmentWithArchive:]): ditto
1852 (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): call renamed methods
1853 * WebView.subproj/WebDataSourcePrivate.h:
1854 * WebView.subproj/WebDocumentInternal.h:
1855 * WebView.subproj/WebHTMLView.m:
1856 (-[WebHTMLView _documentFragmentFromPasteboard:]): made this method return a fragment instead of replace the selection so that the caller do other things with the fragment
1857 (-[WebHTMLView _replaceSelectionWithPasteboard:selectReplacement:]): new
1858 (-[WebHTMLView paste:]): call _replaceSelectionWithPasteboard:selectReplacement:
1859 (-[WebHTMLView dragOperationForDraggingInfo:]): handle the case where the destination is editable, but the source is not
1860 (-[WebHTMLView draggingCancelledWithDraggingInfo:]): new, removes drag caret
1861 (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): remove drag caret when we can't handle the drag
1862 (-[WebHTMLView concludeDragForDraggingInfo:]): instead of calling paste, move the selection when doing a move and replace the drag caret when doing a copy
1863 * WebView.subproj/WebHTMLViewPrivate.h:
1864 * WebView.subproj/WebView.m:
1865 (-[WebViewPrivate dealloc]):
1866 (-[WebView _setDraggingDocumentView:]): new
1867 (-[WebView _dragOperationForDraggingInfo:]): if the current dragging document view changes, tell the previous dragging document view that dragging cancelled
1868 (-[WebView draggingExited:]): new, tell the previous dragging document view that dragging cancelled
1869 (-[WebView concludeDragOperation:]): release the dragging document view
1870 (-[WebView replaceSelectionWithNode:]): pass the selectReplacement BOOL to the bridge
1871 (-[WebView replaceSelectionWithText:]): ditto
1872 (-[WebView replaceSelectionWithMarkupString:]): ditto
1873 (-[WebView replaceSelectionWithArchive:]): ditto
1874 (-[WebView pasteAsPlainText:]): ditto
1875 (-[WebView insertTab:]): ditto
1876 (-[WebView insertText:]): ditto
1877 * WebView.subproj/WebViewPrivate.h:
1879 2004-05-24 John Sullivan <sullivan@apple.com>
1883 - added private RSSFeedReferrer field to WebHistoryItem so RSS feeds in the
1884 back/forward list can remember what page (if any) they were initiated from.
1886 * History.subproj/WebHistoryItem.m:
1887 new RSSFeedReferrer ivar in private structure
1888 (-[WebHistoryItemPrivate dealloc]):
1889 release RSSFeedReferrer
1890 (-[WebHistoryItem copyWithZone:]):
1891 copy RSSFeedReferrer
1892 (-[WebHistoryItem RSSFeedReferrer]):
1893 return RSSFeedReferrer
1894 (-[WebHistoryItem setRSSFeedReferrer:]):
1897 * History.subproj/WebHistoryItemPrivate.h:
1898 declare -RSSFeedReferrer and -setRSSFeedReferrer:
1900 2004-05-22 Darin Adler <darin@apple.com>
1904 - implemented some of the trivial WebView editing operations; some had bug reports, to wit:
1905 - fixed <rdar://problem/3655342>: (Editing: -centerSelectionInVisibleArea: method unimplemented (WebKit editing API))
1906 - fixed <rdar://problem/3655398>: (Editing: -deleteWordBackward: method unimplemented (WebKit editing API))
1907 - fixed <rdar://problem/3655397>: (Editing: -deleteWordForward: method unimplemented (WebKit editing API))
1908 - fixed <rdar://problem/3655387>: (Editing: -insertBacktab: method unimplemented (WebKit editing API))
1909 - fixed <rdar://problem/3655386>: (Editing: -insertTab: method unimplemented (WebKit editing API))
1910 - fixed <rdar://problem/3655351>: (Editing: -moveWordBackward: method unimplemented (WebKit editing API))
1911 - fixed <rdar://problem/3655352>: (Editing: -moveWordBackwardAndModifySelection: method unimplemented (WebKit editing API))
1912 - fixed <rdar://problem/3655353>: (Editing: -moveWordForward: method unimplemented (WebKit editing API))
1913 - fixed <rdar://problem/3655354>: (Editing: -moveWordForwardAndModifySelection: method unimplemented (WebKit editing API))
1914 - fixed <rdar://problem/3655374>: (Editing: -pasteAsPlainText: method unimplemented (WebKit editing API))
1915 - fixed <rdar://problem/3655362>: (Editing: -scrollLineDown: method unimplemented (WebKit editing API))
1916 - fixed <rdar://problem/3655363>: (Editing: -scrollLineUp: method unimplemented (WebKit editing API))
1918 * WebView.subproj/WebView.m:
1919 (-[WebView centerSelectionInVisibleArea:]): Implemented. The implementation isn't perfect, but it's hooked
1920 up. It simply calls ensureCaretVisible for now.
1921 (-[WebView moveBackward:]): Implemented. The WebCore API already has a way to specify backward as opposed
1922 to left. A separate issue is the fact that these operations don't have bi-di-savvy implementations, but
1923 now this method is hooked up and will work at least for left-to-right text.
1924 (-[WebView moveBackwardAndModifySelection:]): Ditto.
1925 (-[WebView moveForward:]): Ditto.
1926 (-[WebView moveForwardAndModifySelection:]): Ditto.
1927 (-[WebView moveWordBackward:]): Ditto.
1928 (-[WebView moveWordBackwardAndModifySelection:]): Ditto.
1929 (-[WebView moveWordForward:]): Ditto.
1930 (-[WebView moveWordForwardAndModifySelection:]): Ditto.
1931 (-[WebView scrollLineDown:]): Forward to WebFrameView.
1932 (-[WebView scrollLineUp:]): Ditto.
1933 (-[WebView scrollPageDown:]): Ditto.
1934 (-[WebView scrollPageUp:]): Ditto.
1935 (-[WebView delete:]): Implemented. Follows pattern used in cut, copy, and paste.
1936 (-[WebView pasteAsPlainText:]): Implemented. Calls delegate, then replaceSelectionWithText: on the bridge.
1937 (-[WebView insertTab:]): Implemented. Calls delegate, then replaceSelectionWithText: on the bridge.
1938 (-[WebView insertBacktab:]): Implemented. Does nothing. If we ever change so that you can use a WebView as
1939 a field editor, then we might have to add code here.
1940 (-[WebView deleteWordForward:]): Implement by calling moveForwardAndModifySelection: and then delete:.
1941 Might not be a perfect implementation in the presence of delegates who refuse to delete because it will
1942 change the selection even if the delete is disallowed.
1943 (-[WebView deleteWordBackward:]): Implement by calling moveBackwardAndModifySelection: and then delete:.
1944 Same issue about about delegates as deleteWordForward:.
1946 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _pasteFromPasteboard:]): Added a FIXME.
1948 * DOM.subproj/DOMViews.h: Updated from recent change to WebCore.
1950 2004-05-21 Richard Williamson <rjw@apple.com>
1952 Removed _bindObject:forFrame: SPI.
1956 * WebView.subproj/WebView.m:
1957 * WebView.subproj/WebViewPrivate.h:
1961 2004-05-21 Darin Adler <darin@apple.com>
1963 Reviewed by Ken and Chris.
1965 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _pasteFromPasteboard:]): Call replaceSelectionWithText:
1966 instead of replaceSelectionWithMarkupString: when pasting plain text.
1968 * WebView.subproj/WebDataSource.m: (-[WebDataSource _replaceSelectionWithMarkupString:baseURL:]):
1969 Remove bogus check for empty markup. There's nothing wrong with an empty string, and no reason
1970 that replacing with empty string should be a no-op instead of a delete.
1972 2004-05-20 Darin Adler <darin@apple.com>
1976 - fixed <rdar://problem/3662383>: (REGRESSION: drag slide-back sometimes causes link to load)
1978 * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge handleMouseDragged:]):
1979 Added BOOL result to handleMouseDragged:.
1980 * WebView.subproj/WebHTMLViewPrivate.h: Added BOOL result to _handleMouseDragged:.
1982 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _handleMouseDragged:]): Added BOOL result,
1983 returning YES when the drag started, and no when the hysteresis has not yet been overcome.
1985 2004-05-20 Ken Kocienda <kocienda@apple.com>
1989 Provide the methods to glue the WebView's editing delegate so that these methods work:
1991 <rdar://problem/3655316>: "Editing: -webViewShouldBeginEditing:inDOMRange: method unimplemented (WebKit editing API)"
1992 <rdar://problem/3655317>: "Editing: -webViewShouldEndEditing:inDOMRange: method unimplemented (WebKit editing API)"
1994 * WebCoreSupport.subproj/WebBridge.m:
1995 (-[WebBridge shouldBeginEditing:]): New method used to glue delegate to focus shifts.
1996 (-[WebBridge shouldEndEditing:]): Ditto.
1997 * WebView.subproj/WebView.m:
1998 (-[WebView _shouldBeginEditingInDOMRange:]): Ditto.
1999 (-[WebView _shouldEndEditingInDOMRange:]): Ditto.
2000 * WebView.subproj/WebViewPrivate.h: Ditto.
2002 2004-05-20 Richard Williamson <rjw@apple.com>
2004 Fixed typo in header comment.
2008 * Plugins.subproj/WebScriptObject.h:
2010 2004-05-19 Chris Blumenberg <cblu@apple.com>
2012 Fixed: <rdar://problem/3462627>: (API: Need a way to disable/customize dragging)
2016 * Misc.subproj/WebNSPasteboardExtras.m:
2017 (-[NSPasteboard _web_writeImage:URL:title:archive:types:]): fixed bug that caused exception
2018 * WebView.subproj/WebDefaultUIDelegate.m:
2019 (-[WebDefaultUIDelegate webView:shouldBeginDragForElement:dragImage:mouseDownEvent:mouseDraggedEvent:]): new, returns YES
2020 (-[WebDefaultUIDelegate webView:dragOperationForDraggingInfo:overElement:]): new, returns [WebView dragOperationForDraggingInfo:]
2021 (-[WebDefaultUIDelegate webView:shouldProcessDragWithDraggingInfo:overElement:]): new, returns YES
2022 * WebView.subproj/WebDocumentInternal.h: added WebDocumentDragging and WebDocumentElement for document dragging
2023 * WebView.subproj/WebDocumentPrivate.h: moved WebDocumentSelection to WebDocumentInternal.h
2024 * WebView.subproj/WebFrame.m:
2025 (-[WebFrame _actionInformationForNavigationType:event:originalURL:]):
2026 * WebView.subproj/WebHTMLView.h:
2027 * WebView.subproj/WebHTMLView.m:
2028 (+[WebHTMLView _insertablePasteboardTypes]): new
2029 (-[WebHTMLView _handleMouseDragged:]): call shouldBeginDragForElement:::: delegate API
2030 (-[WebHTMLView _mayStartDragWithMouseDragged:]): call renamed elementAtPoint SPI
2031 (-[WebHTMLView initWithFrame:]): don't register for drag types since this is handled at the WebView
2032 (-[WebHTMLView menuForEvent:]): call renamed elementAtPoint SPI
2033 (-[WebHTMLView _isSelectionEvent:]): call renamed elementAtPoint SPI
2034 (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): rather than unregistering drag types on the WebView, just tell it that we're dragging
2035 (-[WebHTMLView draggedImage:endedAt:operation:]): ditto
2036 (-[WebHTMLView _canProcessDragWithDraggingInfo:]): new
2037 (-[WebHTMLView dragOperationForDraggingInfo:]): new WebDocumentDragging SPI
2038 (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): ditto
2039 (-[WebHTMLView concludeDragForDraggingInfo:]): ditto
2040 (-[WebHTMLView elementAtPoint:]): renamed from _elementAtPoint since this is part of the WebDocumentElement SPI
2041 * WebView.subproj/WebHTMLViewPrivate.h:
2042 * WebView.subproj/WebImageView.h:
2043 * WebView.subproj/WebImageView.m:
2044 (-[WebImageView elementAtPoint:]): new
2045 (-[WebImageView menuForEvent:]): call elementAtPoint
2046 (-[WebImageView mouseDragged:]): rather than unregistering drag types on the WebView, just tell it that we're dragging
2047 (-[WebImageView draggedImage:endedAt:operation:]): ditto
2048 * WebView.subproj/WebTextView.h:
2049 * WebView.subproj/WebTextView.m:
2050 (-[WebTextView _elementAtWindowPoint:]): new
2051 (-[WebTextView elementAtPoint:]): new
2052 (-[WebTextView menuForEvent:]): call _elementAtWindowPoint
2053 * WebView.subproj/WebView.h:
2054 * WebView.subproj/WebView.m:
2055 (-[WebViewPrivate dealloc]): removed draggedTypes ivar
2056 (+[WebView URLFromPasteboard:]): implemented
2057 (+[WebView URLTitleFromPasteboard:]): implemented
2058 (-[WebView _registerDraggedTypes]): moved
2059 (-[WebView _frameViewAtWindowPoint:]): new
2060 (-[WebView _draggingDocumentViewAtWindowPoint:]): new
2061 (-[WebView _elementAtWindowPoint:]): new
2062 (-[WebView dragOperationForDraggingInfo:]): updated this API to handle subviews that may want to handle drags
2063 (-[WebView _dragOperationForDraggingInfo:]): new, handles UI delegate for drag control
2064 (-[WebView draggingEntered:]): call _dragOperationForDraggingInfo:
2065 (-[WebView draggingUpdated:]): ditto
2066 (-[WebView concludeDragOperation:]): work with the UI delegate and the subview to handle what happens
2067 * WebView.subproj/WebViewPrivate.h:
2069 2004-05-19 Richard Williamson <rjw@apple.com>
2071 Removed extraneous tabs that were added (by XCode?).
2073 * DOM.subproj/DOM-compat.h:
2074 * Plugins.subproj/WebScriptObject.h:
2076 2004-05-19 Richard Williamson <rjw@apple.com>
2078 Updated header copy script to only copy if modified headers
2081 * copy-webcore-files-to-webkit:
2083 2004-05-19 Ken Kocienda <kocienda@apple.com>
2085 Reviewed by Hyatt and Darin
2089 <rdar://problem/3643230>: "can't tab out of contentEditable Elements"
2091 * WebCoreSupport.subproj/WebBridge.m:
2092 (-[WebBridge interceptEditingKeyEvent:]): Renamed from _editingKeyDown. Also now returns
2093 a BOOL to report whether the event was handled or not.
2094 * WebView.subproj/WebView.m:
2095 (-[WebView _interceptEditingKeyEvent:]): Also renamed from _editingKeyDown. Now includes
2096 a check if the web view is editable and whether the event is a tab key event. If the former
2097 is not true and the latter is, the key is not intercepted. This causes the tab to shift once
2098 the key is processed by other non-editing key-handling mechanisms.
2099 * WebView.subproj/WebViewPrivate.h: Changed declaration due to name change.
2101 2004-05-19 Ken Kocienda <kocienda@apple.com>
2105 * WebCoreSupport.subproj/WebBridge.m:
2106 (-[WebBridge isEditable]): Return the isEditable value for the
2107 WebView which contains this bridge's frame.
2109 2004-05-19 Darin Adler <darin@apple.com>
2111 - fixed headers with licenses mangled by Xcode auto-indenting
2113 * DOM.subproj/DOMExtensions.h:
2114 * WebCoreSupport.subproj/WebGraphicsBridge.h:
2115 * WebCoreSupport.subproj/WebGraphicsBridge.m:
2117 2004-05-18 David Hyatt <hyatt@apple.com>
2119 Improve layout scheduling.
2120 Reviewed by kocienda
2122 * WebView.subproj/WebFrame.m:
2123 (-[WebFrame _transitionToLayoutAcceptable]):
2124 (-[WebFrame _checkLoadCompleteForThisFrame]):
2125 * WebView.subproj/WebHTMLRepresentation.m:
2126 (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
2128 2004-05-18 Richard Williamson <rjw@apple.com>
2130 Finished implementation of windowScriptObject.
2133 * WebView.subproj/WebView.m:
2134 (-[WebView windowScriptObject]):
2136 2004-05-18 Richard Williamson <rjw@apple.com>
2138 Added WebKit portion of webView:windowScriptObjectAvailable:
2139 implementation. Still need to implement creating the WebScriptObject
2140 wrapper on the WebCore side.
2144 Removed "_" from _setPageWidthForPrinting:. This method facilitates
2145 a work-around for carbon printing. At some point we may make this
2149 * WebCoreSupport.subproj/WebBridge.m:
2150 (-[WebBridge overrideMediaType]):
2151 (-[WebBridge windowObjectCleared]):
2152 * WebView.subproj/WebDefaultFrameLoadDelegate.m:
2153 (-[WebDefaultFrameLoadDelegate webView:windowScriptObjectAvailable:]):
2154 * WebView.subproj/WebHTMLView.m:
2155 (-[WebHTMLView setPageWidthForPrinting:]):
2157 2004-05-18 Darin Adler <darin@apple.com>
2161 - fixed <rdar://problem/3520322>: "can't use <WebKit/HIWebView.h> or <WebKit/CarbonUtils.h> from non-Objective C"
2163 * Carbon.subproj/CarbonUtils.h: Added ifdefs so file compiles when included from non-Objective-C.
2164 Changed style to match other Carbon headers a bit more closely. Also remove unnecessary includes.
2165 * Carbon.subproj/HIWebView.h: Ditto.
2167 - fixed <rdar://problem/3648505>: "this text file scrolls to the second line instead of first when pressing home"
2169 * WebView.subproj/WebFrameView.m:
2170 (-[WebFrameView _scrollToTopLeft]): Scroll to origin.y instead of assuming that top is 0; can be non-0 for text view.
2171 (-[WebFrameView _scrollToBottomLeft]): Use NSMaxY instead of height for the same reason.
2173 2004-05-17 David Hyatt <hyatt@apple.com>
2175 Fix for performance regression in PLT caused by not setting _timeOfLastCompletedLoad, causing
2176 page cache to release during the benchmark.
2177 * WebView.subproj/WebFrame.m:
2178 (-[WebFrame _setState:]):
2180 2004-05-17 Chris Blumenberg <cblu@apple.com>
2182 Implemented new WebView pasteboard methods. Made a lot of factoring changes related to pasteboard management.
2186 * Misc.subproj/WebNSPasteboardExtras.h:
2187 * Misc.subproj/WebNSPasteboardExtras.m:
2188 (+[NSPasteboard _web_writableTypesForURL]): renamed to not include "drag" these types are also used for copying
2189 (+[NSPasteboard _web_writableTypesForImage]): new
2190 (-[NSPasteboard _web_bestURL]): tweak
2191 (-[NSPasteboard _web_writeURL:andTitle:types:]): take an array of types that this method should write, don't declare the types since this complicates things for the caller
2192 (-[NSPasteboard _web_writeImage:URL:title:archive:types:]): ditto
2193 * Misc.subproj/WebNSViewExtras.m:
2194 (-[NSView _web_dragImage:archive:rect:URL:title:event:]): call renamed methods
2195 * WebView.subproj/WebDefaultContextMenuDelegate.m:
2196 (-[WebDefaultUIDelegate copyLinkToClipboard:]): call code factored out to WebView
2197 (-[WebDefaultUIDelegate copyImageToClipboard:]): ditto
2198 * WebView.subproj/WebDocumentPrivate.h:
2199 * WebView.subproj/WebHTMLView.h:
2200 * WebView.subproj/WebHTMLView.m:
2201 (-[WebHTMLView _selectedRTFData]): new factored out method
2202 (-[WebHTMLView _writeSelectionToPasteboard:]): factored code out to writeSelectionWithPasteboardTypes:toPasteboard:
2203 (-[WebHTMLView _dragImageForLinkElement:]): tweak
2204 (-[WebHTMLView _handleMouseDragged:]): call renamed methods
2205 (-[WebHTMLView pasteboardTypesForSelection]): new
2206 (-[WebTextView writeSelectionWithPasteboardTypes:toPasteboard:]): new, code moved from _writeSelectionToPasteboard:
2207 * WebView.subproj/WebHTMLViewPrivate.h:
2208 * WebView.subproj/WebImageView.h:
2209 * WebView.subproj/WebImageView.m:
2210 (-[WebImageView writeImageToPasteboard:types:]): call renamed methods
2211 (-[WebImageView copy:]):
2212 (-[WebImageView writeSelectionToPasteboard:types:]): call renamed methods
2213 * WebView.subproj/WebTextView.h:
2214 * WebView.subproj/WebTextView.m:
2215 (-[WebTextView pasteboardTypesForSelection]): new
2216 (-[WebTextView writeSelectionWithPasteboardTypes:toPasteboard:]): new
2217 * WebView.subproj/WebView.m:
2218 (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]): new
2219 (-[WebView _writeLinkElement:withPasteboardTypes:toPasteboard:]): mew
2220 (-[WebView dragOperationForDraggingInfo:]): implemented API
2221 (-[WebView draggingEntered:]): call API
2222 (-[WebView draggingUpdated:]): ditto
2223 (-[WebView concludeDragOperation:]): ditto
2224 (-[WebView pasteboardTypesForSelection]): implemented API
2225 (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]): ditto
2226 (-[WebView pasteboardTypesForElement:]): ditto
2227 (-[WebView writeElement:withPasteboardTypes:toPasteboard:]): ditto
2228 * WebView.subproj/WebViewPrivate.h:
2230 2004-05-17 Ken Kocienda <kocienda@apple.com>
2234 Remove overrides in WebView for scrollPageDown and scrollPageUp.
2235 NSView behavior gives us just what we want, and there is no
2236 special behavior required for editing.
2238 <rdar://problem/3655364>: "Editing: -scrollPageDown: method unimplemented (WebKit editing API)"
2239 <rdar://problem/3655365>: "Editing: -scrollPageUp: method unimplemented (WebKit editing API)"
2241 * WebView.subproj/WebView.h: Comment methods out and add a note about why.
2242 * WebView.subproj/WebView.m: Remove stubbed out implementation.
2244 2004-05-14 Vicki Murley <vicki@apple.com>
2248 <rdar://problem/3642427>: framework marketing number should be 2.0 for DoubleBarrel release
2250 * WebKit.pbproj/project.pbxproj: change CFBundleShortVersionString to 2.0
2252 2004-05-14 David Hyatt <hyatt@apple.com>
2254 Eliminate timedLayout.
2257 * WebView.subproj/WebFrame.m:
2258 (-[WebFramePrivate dealloc]):
2259 (-[WebFrame _detachFromParent]):
2260 (-[WebFrame _transitionToLayoutAcceptable]):
2261 (-[WebFrame _setState:]):
2262 (-[WebFrame _checkLoadCompleteForThisFrame]):
2263 (-[WebFrame stopLoading]):
2264 * WebView.subproj/WebFramePrivate.h:
2268 2004-05-14 Chris Blumenberg <cblu@apple.com>
2270 Fixed: <rdar://problem/3655495>: (exception loading applets)
2272 Reviewed by kocienda.
2274 * WebCoreSupport.subproj/WebBridge.m:
2275 (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): when calling old cocoa plug-ins, use old keys
2277 2004-05-14 Chris Blumenberg <cblu@apple.com>
2279 Fixed: <rdar://problem/3655204>: (repro assertion failure and crash loading java applets)
2281 Reviewed by kocienda.
2283 * WebCoreSupport.subproj/WebBridge.m:
2284 (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): call pluginViewWithArguments: for old Cocoa plug-ins
2286 2004-05-14 Chris Blumenberg <cblu@apple.com>
2288 Copied headers from WebCore.
2290 * DOM.subproj/DOMCore.h:
2291 * DOM.subproj/DOMEvents.h:
2293 2004-05-14 Ken Kocienda <kocienda@apple.com>
2297 * Plugins.subproj/WebPluginController.m:
2298 (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): Fixed a compile error: undeclared identifier.
2301 2004-05-13 Richard Williamson <rjw@apple.com>
2303 Backed out mistaken change that I didn't mean to checkin.
2305 * WebCoreSupport.subproj/WebBridge.m:
2306 (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
2308 2004-05-13 Richard Williamson <rjw@apple.com>
2310 Updated to reflect new API.
2314 * WebCoreSupport.subproj/WebBridge.m:
2315 (-[WebBridge setIsSelected:forView:]):
2316 * WebView.subproj/WebFrame.m:
2317 (-[WebFrame _reloadForPluginChanges]):
2319 2004-05-13 Chris Blumenberg <cblu@apple.com>
2321 Fixed some indenting issues in public headers.
2323 * Plugins.subproj/WebJavaPlugIn.h:
2324 * Plugins.subproj/WebPlugin.h:
2325 * Plugins.subproj/WebScriptObject.h:
2326 * WebView.subproj/WebEditingDelegate.h:
2327 * WebView.subproj/WebFrameView.h:
2328 * WebView.subproj/WebPolicyDelegate.h:
2329 * WebView.subproj/WebResourceLoadDelegate.h:
2330 * WebView.subproj/WebView.h:
2332 2004-05-13 Ken Kocienda <kocienda@apple.com>
2336 Moved -DOMDocument convenience back to private header.
2337 I mistakenly moved it to the public header earlier today.
2339 * WebView.subproj/WebView.h: Removed
2340 * WebView.subproj/WebViewPrivate.h: Re-added
2342 2004-05-13 Richard Williamson <rjw@apple.com>
2344 Updated to implementation to reflect new API. Left old SPI
2345 in place for compatibility. Can remove when the Java plug-in
2350 * Plugins.subproj/WebPlugin.h:
2351 * Plugins.subproj/WebPluginContainer.h:
2352 * Plugins.subproj/WebPluginController.h:
2353 * Plugins.subproj/WebPluginController.m:
2354 (-[WebPluginController startAllPlugins]):
2355 (-[WebPluginController stopAllPlugins]):
2356 (-[WebPluginController addPlugin:]):
2357 (-[WebPluginController destroyAllPlugins]):
2358 (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
2359 (-[WebPluginController showURL:inFrame:]):
2360 (-[WebPluginController webPlugInContainerShowStatus:]):
2361 (-[WebPluginController showStatus:]):
2362 (-[WebPluginController webPlugInContainerSelectionColor]):
2363 (-[WebPluginController selectionColor]):
2364 (-[WebPluginController webFrame]):
2366 2004-05-13 Chris Blumenberg <cblu@apple.com>
2368 - Added stubs for WebView action and drag & drop customization API's
2369 - Fixed: <rdar://problem/3616555>: (API: Make DOM extensions and WebKit DOM operations public)
2373 * DOM.subproj/WebDOMOperations.h: added remaining DOM operations
2374 * DOM.subproj/WebDOMOperationsPrivate.h:
2375 * Misc.subproj/WebKit.h: added new public headers
2376 * WebKit.pbproj/project.pbxproj:
2377 * WebKit.exp: added symbol for WebElementDOMNodeKey
2378 * WebView.subproj/WebUIDelegate.h: added new UI delegate methods
2379 * WebView.subproj/WebView.h: added new pasteboard related methods
2380 * WebView.subproj/WebView.m:
2381 (+[WebView URLFromPasteboard:]): new stub
2382 (+[WebView URLTitleFromPasteboard:]): new stub
2383 (-[WebView dragOperationForDraggingInfo:]): new stub
2384 (-[WebView pasteboardTypesForSelection]): new stub
2385 (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]): new stub
2386 (-[WebView pasteboardTypesForElement:]): new stub
2387 (-[WebView writeElement:withPasteboardTypes:toPasteboard:]): new stub
2388 * WebView.subproj/WebViewPrivate.h:
2390 2004-05-13 Richard Williamson <rjw@apple.com>
2392 Changed imports of all DOM headers. DOM headers
2393 should be imported using the normal #import <WebCore/foo.h>,
2394 they import is modified when copied to WebKit.
2396 Other approved API changes. Currently unimplemented.
2401 * DOM.subproj/DOM.h:
2402 * DOM.subproj/DOMCSS.h:
2403 * DOM.subproj/DOMCore.h:
2404 * DOM.subproj/DOMEvents.h:
2405 * DOM.subproj/DOMExtensions.h:
2406 * DOM.subproj/DOMHTML.h:
2407 * DOM.subproj/DOMRange.h:
2408 * DOM.subproj/DOMStylesheets.h:
2409 * DOM.subproj/DOMTraversal.h:
2410 * DOM.subproj/DOMViews.h:
2411 * Plugins.subproj/WebPlugin.h:
2412 * Plugins.subproj/WebPluginContainer.h:
2413 * Plugins.subproj/WebPluginPackage.m:
2414 * Plugins.subproj/WebPluginViewFactory.h:
2415 * Plugins.subproj/WebScriptObject.h:
2416 * WebCoreSupport.subproj/WebBridge.m:
2417 (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
2418 (-[WebBridge pluginViewWithPackage:attributes:baseURL:]):
2420 * WebKit.pbproj/project.pbxproj:
2421 * WebView.subproj/WebFrameLoadDelegate.h:
2422 * WebView.subproj/WebView.h:
2423 * WebView.subproj/WebView.m:
2424 (-[WebView windowScriptObject]):
2425 * copy-webcore-files-to-webkit:
2427 2004-05-13 Ken Kocienda <kocienda@apple.com>
2431 Move WebKit editing APIs to public API files.
2433 * WebCoreSupport.subproj/WebBridge.m: Add WebEditingDelegate include.
2434 * WebKit.pbproj/project.pbxproj: Go Xcode!
2435 * WebView.subproj/WebDefaultEditingDelegate.m: Remove WebViewPrivate include; add WebEditingDelegate include.
2436 * WebView.subproj/WebEditingDelegate.h: Added. New file.
2437 * WebView.subproj/WebView.h: Move API-approved interfaces to this file.
2438 * WebView.subproj/WebView.m: Add WebEditingDelegate include.
2439 * WebView.subproj/WebViewPrivate.h: Move API-approved interfaces from this file.
2441 2004-05-12 Chris Blumenberg <cblu@apple.com>
2444 <rdar://problem/3633296>: (Japanese input is not working properly in Carbon Web Kit applications (including CarbonWeb))
2445 <rdar://problem/3631390>: (can't toggle between Input Methods (IMEs) using cmd-space in Carbon Web Kit applications)
2449 * Carbon.subproj/CarbonWindowAdapter.m:
2450 (-[CarbonWindowAdapter sendSuperEvent:]): call [NSInputContext processInputKeyBindings:inEvent] just as NSApp does
2451 * Carbon.subproj/HIWebView.m:
2452 (HIWebViewEventHandler): [NSApp setWindowsNeedUpdate:YES] must be called before events so that ActivateTSMDocument is called to set an active document. Without an active document, TSM will use a default document which uses a bottom-line input window which we don't want.
2454 2004-05-11 Chris Blumenberg <cblu@apple.com>
2457 <rdar://problem/3616537>: (API: Make WebResource, WebArchive and related API's public)
2458 <rdar://problem/3616471>: (API: provide way to get from WebFrame to DOMDocument and vice versa)
2462 * DOM.subproj/WebDOMOperations.h:
2463 * DOM.subproj/WebDOMOperations.m:
2464 (-[DOMHTMLFrameElement contentFrame]): new
2465 (-[DOMHTMLIFrameElement contentFrame]): new
2466 (-[DOMHTMLObjectElement contentFrame]): new
2467 * DOM.subproj/WebDOMOperationsPrivate.h:
2468 * Misc.subproj/WebNSImageExtras.m:
2469 (-[NSImage _web_saveAndOpen]): fixed leak
2470 * WebKit.pbproj/project.pbxproj:
2471 * WebView.subproj/WebDataSource.h:
2472 * WebView.subproj/WebDataSource.m:
2473 (-[WebDataSource _addSubresources:]): made private
2474 (-[WebDataSource _archiveWithMarkupString:nodes:]): handle object tags with frame content
2475 (-[WebDataSource _archiveWithCurrentState:]): renamed from _archive, now takes flag
2476 (-[WebDataSource _replaceSelectionWithArchive:]): call renamed _addSubresources
2477 (-[WebDataSource webArchive]): new
2478 (-[WebDataSource mainResource]): new
2479 (-[WebDataSource subresources]): made public
2480 (-[WebDataSource subresourceForURL:]): made public
2481 (-[WebDataSource addSubresource:]): made public
2482 * WebView.subproj/WebDataSourcePrivate.h:
2483 * WebView.subproj/WebDocumentPrivate.h:
2484 * WebView.subproj/WebFrame.h:
2485 * WebView.subproj/WebFrame.m:
2486 (-[WebFrame _loadRequest:subresources:subframeArchives:]): call renamed _addSubresources
2487 (-[WebFrame DOMDocument]): new
2488 (-[WebFrame frameElement]): new
2489 (-[WebFrame loadArchive:]): made public
2490 * WebView.subproj/WebFramePrivate.h:
2491 * WebView.subproj/WebHTMLRepresentation.m:
2492 (-[WebHTMLRepresentation loadArchive]): call renamed _addSubresources
2493 * WebView.subproj/WebImageRepresentation.m:
2494 (-[WebImageRepresentation archive]): call webArchive on WebDataSource
2496 2004-05-10 Maciej Stachowiak <mjs@apple.com>
2500 - avoid redecoding animated images that are only used once for
2501 ~2.5% iBench speedup (WebCore part of fix)
2503 * WebCoreSupport.subproj/WebImageRenderer.h:
2504 * WebCoreSupport.subproj/WebImageRenderer.m:
2505 (-[WebImageRenderer increaseUseCount]):
2506 (-[WebImageRenderer decreaseUseCount]):
2507 (-[WebImageRenderer retainOrCopyIfNeeded]):
2509 2004-05-10 Maciej Stachowiak <mjs@apple.com>
2513 * WebView.subproj/WebFrame.m:
2515 2004-05-09 Maciej Stachowiak <mjs@apple.com>
2519 - avoid messing with undo manager needlessly for ~1% HTML iBench speedup
2521 * WebCoreSupport.subproj/WebBridge.h:
2522 * WebCoreSupport.subproj/WebBridge.m:
2523 (-[WebBridge registerCommandForUndo:]): mark undo/redo item flag
2524 (-[WebBridge registerCommandForRedo:]): ditto
2525 (-[WebBridge clearUndoRedoOperations]): check flag before removing items,
2526 and clear it after removing them
2528 2004-05-08 Maciej Stachowiak <mjs@apple.com>
2532 - -[WebFrame childFrames] is so hot that a special internal
2533 version which avoids the copy and autorelease results in a .75%
2534 performance improvement on HTML iBench.
2536 * WebView.subproj/WebFramePrivate.h: Prototype new method.
2537 * WebView.subproj/WebFrame.m:
2538 (-[WebFrame _internalChildFrames]): New method, just returns
2539 internal value instead of copying.
2541 (-[WebFrame _descendantFrameNamed:]): Use it
2542 (-[WebFrame _textSizeMultiplierChanged]): likewise
2543 (-[WebFrame _viewWillMoveToHostWindow:]): likewise
2544 (-[WebFrame _viewDidMoveToHostWindow]): likewise
2545 (-[WebFrame _saveDocumentAndScrollState]): likewise
2546 (-[WebFrame _numPendingOrLoadingRequests:]): likewise
2547 (-[WebFrame _checkLoadComplete]): Refactored this and it's two
2548 helpers a little so we could get away with using
2549 _internalChildFrames.
2550 (-[WebFrame _checkLoadCompleteForThisFrame]): Renamed from
2552 (-[WebFrame _recursiveCheckLoadComplete]): renamed from (class
2553 method) _recursiveCheckCompleteFromFrame:
2554 * WebView.subproj/WebDataSource.m:
2555 (-[WebDataSource _defersCallbacksChanged]): Use it
2556 (-[WebDataSource isLoading]): likewise
2557 * WebView.subproj/WebView.m:
2558 (-[WebView _frameForDataSource:fromFrame:]): likewise
2559 (-[WebView _frameForView:fromFrame:]): likewise
2561 2004-05-10 Chris Blumenberg <cblu@apple.com>
2563 Forgot to commit this copied header.
2565 * DOM.subproj/DOMExtensions.h:
2569 2004-05-06 Chris Blumenberg <cblu@apple.com>
2571 * DOM.subproj/WebDOMOperations.h: improved a header doc comment
2573 2004-05-05 Chris Blumenberg <cblu@apple.com>
2575 - DOM Extensions API tweaks
2577 Reviewed by kocienda.
2579 * DOM.subproj/DOMExtensions.h: copied from WebCore
2580 * DOM.subproj/WebDOMOperations.h: added header doc comments
2581 * DOM.subproj/WebDOMOperations.m:
2582 (-[DOMNode _URLsFromSelectors:]): use renamed URLWithAttributeString
2583 (-[DOMDocument URLWithAttributeString:]): renamed
2584 (-[DOMHTMLTableElement _web_background]): new private method
2585 (-[DOMHTMLTableElement _subresourceURLs]): use new private method
2586 (-[DOMHTMLTableCellElement _web_background]): new private method
2587 (-[DOMHTMLTableCellElement _subresourceURLs]): use new private method
2589 2004-05-04 Ken Kocienda <kocienda@apple.com>
2593 * DOM.subproj/DOMTraversal.h: File coppied from WebCore
2595 2004-05-02 Darin Adler <darin@apple.com>
2599 - fixed <rdar://problem/3640419>: "_webkit_stringByReplacingValidPercentEscapes does not handle %00 properly"
2601 * Misc.subproj/WebNSURLExtras.m: (-[NSString _webkit_stringByReplacingValidPercentEscapes]):
2602 Use the function in NSURL instead of implementing our own here.
2604 2004-04-30 John Sullivan <sullivan@apple.com>
2606 * WebView.subproj/WebView.m:
2607 fixed deployment build breakage
2609 2004-04-30 John Sullivan <sullivan@apple.com>
2611 - more work on getting the font panel to work with editable HTML.
2612 The font panel in Blot now correctly reflects the first selected font when the
2613 selection is at least one character long.
2617 * WebView.subproj/WebView.m:
2618 removed unfinished plumbing to support reflecting selected attributes (e.g. text color,
2619 underline) in font panel, since this doesn't work in Mail or TextEdit either.
2621 removed assertion for now
2622 (-[WebView _updateFontPanel]):
2623 now uses new bridge method to get the NSFont from the node, instead of trying
2624 to create an NSFont from a DOMCSSStyleDeclaration
2626 2004-04-29 John Sullivan <sullivan@apple.com>
2628 - more work on getting the font panel to work with editable HTML
2632 * WebView.subproj/WebView.m:
2633 (-[WebView computedStyleForElement:pseudoElement:]):
2634 convert nil pseudoElement to empty string because lower level chokes on nil
2636 I tried to implement this, but was thwarted by missing API, so I added a
2637 bunch of FIXMEs instead
2638 (_stylesRepresentSameFont):
2639 new function, not yet implementable
2640 (_stylesRepresentSameAttributes):
2641 new function, not yet implementable
2642 (-[WebView _updateFontPanel]):
2643 added code to get first and last element in selection, and to use
2644 NodeIterator to walk through the entire selection to see if more than one
2645 font or set of attributes is in use. However, createNodeIterator is declared
2646 in DOMTraversal.h but not actually defined anywhere, so I had to prevent this
2647 code from actually being called.
2649 2004-04-28 Chris Blumenberg <cblu@apple.com>
2651 - Made WebArchive and WebResource conform to NSCoding and NSCopying.
2655 * DOM.subproj/WebDOMOperations.h: added header doc comment for WebArchive methods
2656 * WebView.subproj/WebArchive.h:
2657 * WebView.subproj/WebArchive.m:
2658 (-[WebArchive initWithCoder:]): new
2659 (-[WebArchive encodeWithCoder:]): new
2660 (-[WebArchive copyWithZone:]): new
2661 * WebView.subproj/WebResource.h:
2662 * WebView.subproj/WebResource.m:
2663 (-[WebResource init]): new
2664 (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): call [self init]
2665 (-[WebResource initWithCoder:]): new
2666 (-[WebResource encodeWithCoder:]): new
2667 (-[WebResource copyWithZone:]): new
2669 2004-04-28 John Sullivan <sullivan@apple.com>
2671 A little bit more progress in wiring up the font panel.
2675 * WebView.subproj/WebViewInternal.h:
2676 put _updateFontPanel here. Also moved _isLoading here, since it was
2677 already in a category named WebInternal
2679 * WebView.subproj/WebView.m:
2680 (-[WebView _isLoading]):
2681 moved into WebInternal category implementation
2682 (_textAttributesFromStyle):
2683 changed from method to function
2685 added, guts not filled in yet
2686 (-[WebView _updateFontPanel]):
2687 now calls these two functions (but results are always nil)
2688 (-[WebView setSelectedDOMRange:affinity:]):
2689 remove call to _updateFontPanel here since it's now called in
2690 the proper bottleneck
2692 * WebCoreSupport.subproj/WebBridge.m:
2693 (-[WebBridge postDidChangeNotification]):
2694 call -[WebView _updateFontPanel] in addition to sending notification
2695 (-[WebBridge postDidChangeSelectionNotification]):
2698 2004-04-28 John Sullivan <sullivan@apple.com>
2701 <rdar://problem/3636570>: "API: [WebPreferences tabsToLinks] should be public API"
2702 <rdar://problem/3610597>: "API: could turn "stealth browsing" preference into API"
2706 I just moved the declarations and implementations from one place to another.
2707 (No clients in WebKit needed their #imports updated.) This confused cvs diff quite a bit.
2709 * WebView.subproj/WebPreferences.h:
2710 * WebView.subproj/WebPreferences.m:
2711 (-[WebPreferences setTabsToLinks:]):
2712 (-[WebPreferences tabsToLinks]):
2713 (-[WebPreferences setPrivateBrowsingEnabled:]):
2714 (-[WebPreferences privateBrowsingEnabled]):
2715 (-[WebPreferences _pageCacheSize]):
2716 (-[WebPreferences _objectCacheSize]):
2717 (-[WebPreferences _backForwardCacheExpirationInterval]):
2718 * WebView.subproj/WebPreferencesPrivate.h:
2720 2004-04-27 David Hyatt <hyatt@apple.com>
2722 Cut the time spent on an operation inside widthForNextCharacter from 17% of the function time down to less than
2723 5% merely by adding a check for non-zero letter-spacing (thus avoiding double precision math in the
2724 common case where we just add 0 between letters).
2727 * WebCoreSupport.subproj/WebTextRenderer.m:
2728 (widthForNextCharacter):
2730 2004-04-28 John Sullivan <sullivan@apple.com>
2732 Initial plumbing to get the font panel to be updated from an editable
2737 * WebView.subproj/WebView.m:
2738 (-[WebView _textAttributesFromStyle:]):
2739 new dummy method, will need implementation
2740 (-[WebView _updateFontPanel]):
2741 new method, sets the font shown in the font panel from the current
2742 selection. Lots of placeholder stuff.
2743 (-[WebView setSelectedDOMRange:affinity:]):
2744 call _updateFontPanel here for now.
2746 2004-04-28 Ken Kocienda <kocienda@apple.com>
2750 * WebCoreSupport.subproj/WebBridge.m:
2751 (-[WebBridge postDidChangeNotification]): Posts Cocoa notification when the document changes
2753 (-[WebBridge postDidChangeSelectionNotification]): Posts Cocoa notification when the document selection
2755 * WebKit.exp: Export editing notification string constants.
2756 * WebView.subproj/WebView.m: Define editing notification string constants.
2757 (-[WebView computedStyleForElement:pseudoElement:]): Add implementation.
2758 (-[WebView setEditingDelegate:]): Do work to set up delegate to receive notification callbacks.
2759 (-[WebView DOMDocument]): Simplify to just call the bridge DOMDocument. No need to jump through hoops here.
2760 (-[WebView insertNewline:]): Consult delegate before taking action.
2761 (-[WebView deleteBackward:]): Ditto.
2762 (-[WebView insertText:]): Ditto.
2764 2004-04-27 John Sullivan <sullivan@apple.com>
2766 Fixed broken development build.
2768 * WebView.subproj/WebFrame.m:
2769 (-[WebFrame _transitionToLayoutAcceptable]):
2770 updated bad variable name used only in LOG statement to match
2773 2004-04-27 Richard Williamson <rjw@apple.com>
2777 <rdar://problem/3279301>: API: WebKitErrorCannotFindPlugin and WebKitErrorCannotLoadPlugin should use PlugIn
2778 <rdar://problem/3278513>: API: Need API to control the size of WebHistory
2779 <rdar://problem/3564519>: API: please add a way to set the media type for a WebView
2780 <rdar://problem/3565642>: API: allow a way to extend the MIME types that a WebView will display
2781 <rdar://problem/3577693>: API: add ability to subclass WebView but still use it with Carbon
2785 * Carbon.subproj/HIWebView.h:
2786 * Carbon.subproj/HIWebView.m:
2788 (HIWebViewCreateWithClass):
2789 (HIWebViewConstructor):
2790 * History.subproj/WebHistory.h:
2791 * History.subproj/WebHistory.m:
2792 (-[WebHistoryPrivate setHistoryAgeInDaysLimit:]):
2793 (-[WebHistoryPrivate historyAgeInDaysLimit]):
2794 (-[WebHistoryPrivate setHistoryItemLimit:]):
2795 (-[WebHistoryPrivate historyItemLimit]):
2796 (-[WebHistoryPrivate _ageLimitDate]):
2797 (-[WebHistoryPrivate arrayRepresentation]):
2798 (-[WebHistory setHistoryItemLimit:]):
2799 (-[WebHistory historyItemLimit]):
2800 (-[WebHistory setHistoryAgeInDaysLimit:]):
2801 (-[WebHistory historyAgeInDaysLimit]):
2802 * History.subproj/WebHistoryPrivate.h:
2803 * Misc.subproj/WebKitErrors.h:
2804 * Misc.subproj/WebKitErrors.m:
2806 * Plugins.subproj/WebNetscapePluginDocumentView.m:
2807 (-[WebNetscapePluginDocumentView setDataSource:]):
2808 * WebCoreSupport.subproj/WebBridge.m:
2809 (-[WebBridge isViewSelected:]):
2810 (-[WebBridge overrideMediaType]):
2811 * WebView.subproj/WebView.h:
2812 * WebView.subproj/WebView.m:
2813 (-[WebViewPrivate dealloc]):
2814 (+[WebView MIMETypesShownAsHTML]):
2815 (+[WebView setMIMETypesShownAsHTML:]):
2816 (-[WebView customUserAgent]):
2817 (-[WebView setMediaStyle:]):
2818 (-[WebView mediaStyle]):
2819 * WebView.subproj/WebViewPrivate.h:
2821 2004-04-27 David Hyatt <hyatt@apple.com>
2823 Eliminate the preferences for timed/resource layouts. Accessing them is now taking 0.5% on the cvs-base
2824 test, so we're just going to hardcode the values instead.
2827 * WebView.subproj/WebFrame.m:
2828 (-[WebFrame _transitionToLayoutAcceptable]):
2829 (-[WebFrame _isLoadComplete]):
2830 * WebView.subproj/WebPreferences.m:
2831 (+[WebPreferences initialize]):
2832 (-[WebPreferences _objectCacheSize]):
2833 * WebView.subproj/WebPreferencesPrivate.h:
2834 * WebView.subproj/WebView.m:
2835 (-[WebView _mainReceivedBytesSoFar:fromDataSource:complete:]):
2837 2004-04-27 Ken Kocienda <kocienda@apple.com>
2841 Make selections draw in a more Cocoa-like way, where
2842 fully-selected lines draw out to the ends of lines, and
2843 spaces between lines are drawn with the selection color as well.
2845 * Misc.subproj/WebKitNSStringExtras.m: Use new WebCoreTextGeometry struct. No change in functionality.
2846 * WebCoreSupport.subproj/WebTextRenderer.m:
2847 (-[WebTextRenderer drawRun:style:geometry:]): Use new WebCoreTextGeometry struct. No change in functionality.
2848 (-[WebTextRenderer drawHighlightForRun:style:geometry:]): Ditto.
2849 (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]): Many changes to add the new selection drawing behavior.
2850 (-[WebTextRenderer _CG_drawRun:style:geometry:]): Use new WebCoreTextGeometry struct. No change in functionality.
2851 (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]): Many changes to add the new selection drawing behavior.
2852 (-[WebTextRenderer _ATSU_drawRun:style:geometry:]): Use new WebCoreTextGeometry struct. No change in functionality.
2854 2004-04-26 Richard Williamson <rjw@apple.com>
2856 Added support for specifying composite operation on an
2857 image element, i.e.:
2859 <img composite="source-over" src="triangle.png">
2860 <img style="position:relative; left:-200px;" composite="destination-in" src="circle.png">
2862 This feature was requested by the dashboard guys. They can use it to apply
2863 transparency masks to widgies.
2868 * WebCoreSupport.subproj/WebImageRenderer.h:
2869 * WebCoreSupport.subproj/WebImageRenderer.m:
2870 (-[WebImageRenderer initWithMIMEType:]):
2871 (-[WebImageRenderer initWithData:MIMEType:]):
2872 (-[WebImageRenderer initWithContentsOfFile:]):
2873 (-[WebImageRenderer copyWithZone:]):
2874 (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
2875 (-[WebImageRenderer drawImageInRect:fromRect:]):
2876 (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:]):
2878 2004-04-26 Chris Blumenberg <cblu@apple.com>
2880 More header doc changes after John's review.
2881 * WebView.subproj/WebDataSourcePrivate.h:
2882 * WebView.subproj/WebResource.h:
2884 2004-04-26 Chris Blumenberg <cblu@apple.com>
2886 * WebView.subproj/WebDataSourcePrivate.h: added some header doc comments
2887 * WebView.subproj/WebFramePrivate.h: fixed header doc typo
2889 2004-04-24 Darin Adler <darin@apple.com>
2893 * Misc.subproj/WebNSURLExtras.m: (hexDigit): Use capitalized hex, not lowercase, for consistency
2894 with similar functions in WebCore and what other web browsers do.
2896 2004-04-23 Darin Adler <darin@apple.com>
2900 - fixed <rdar://problem/3627362>: "bad access with libgmalloc in -[_WebCoreHistoryProvider containsItemForURLUnicode:length:]"
2902 * History.subproj/WebHistory.m:
2903 (-[_WebCoreHistoryProvider containsItemForURLUnicode:length:]): Add range checks so we
2904 don't overrun the buffer while looking for slashes.
2906 2004-04-23 Chris Blumenberg <cblu@apple.com>
2910 Added header doc comments to proposed API's.
2912 * WebView.subproj/WebArchive.h:
2913 * WebView.subproj/WebFramePrivate.h:
2914 * WebView.subproj/WebResource.h:
2918 2004-04-23 Ken Kocienda <kocienda@apple.com>
2922 Added some plumbing for applying styles.
2924 * DOM.subproj/DOMExtensions.h: Copied from WebCore.
2925 * WebView.subproj/WebView.m:
2926 (-[WebView DOMDocument]): Added new helper.
2927 (-[WebView styleDeclarationWithText:]): Added new helper.
2928 * WebView.subproj/WebViewPrivate.h: Declare above methods.
2930 2004-04-22 Richard Williamson <rjw@apple.com>
2932 Updates to plugin binding APIs.
2933 Updates to Java plugin APIs.
2934 Transparency fix for Dashboard.
2935 Reviewed by John and Greg Bolsinga.
2937 * Plugins.subproj/WebPluginJava.h: Added.
2938 New API for Java plugin.
2940 * Plugins.subproj/npfunctions.h:
2941 * Plugins.subproj/npruntime.h:
2943 (_NPString::_NPVariant::):
2944 * Plugins.subproj/npsap.h: Added.
2945 New API for plugin bindings.
2947 * WebView.subproj/WebHTMLView.m:
2948 (-[WebHTMLView drawRect:]):
2949 Update for Dashboard. View must fill with transparency when not
2952 * copy-webcore-files-to-webkit:
2954 2004-04-22 Ken Kocienda <kocienda@apple.com>
2958 More work to bring code up to date with the latest API proposal. Note that
2959 all of the replaceXXX methods below now operate on the current selection, so
2960 the method implementations have been simplifed accordingly.
2962 * WebView.subproj/WebDataSource.m:
2963 (-[WebDataSource _replaceSelectionWithArchive:]): New name for _replaceSelectionWithWebArchive.
2964 * WebView.subproj/WebDataSourcePrivate.h: Ditto.
2965 * WebView.subproj/WebDefaultEditingDelegate.m:
2966 (-[WebDefaultEditingDelegate webViewShouldBeginEditing:inDOMRange:]): Added inDOMRange: parameter.
2967 (-[WebDefaultEditingDelegate webViewShouldEndEditing:inDOMRange:]): Ditto.
2968 (-[WebDefaultEditingDelegate webView shouldChangeSelectedDOMRange:toDOMRange:proposedRange affinity:stillSelecting:]):
2969 Missed adding affinity in last patch.
2970 * WebView.subproj/WebHTMLView.m:
2971 (-[WebHTMLView _pasteFromPasteboard:]): Call old method with new name: _replaceSelectionWithArchive
2972 * WebView.subproj/WebView.m:
2973 (-[WebView replaceSelectionWithNode:]): New version of insertNode:replacingDOMRange:
2974 (-[WebView replaceSelectionWithText:]): New version of insertText:replacingDOMRange:
2975 (-[WebView replaceSelectionWithMarkupString:]): New version of insertMarkupString:replacingDOMRange:
2976 (-[WebView replaceSelectionWithArchive:]): New version of insertWebArchive:replacingDOMRange:
2977 (-[WebView deleteSelection]): New version of deleteDOMRange:
2978 (-[WebView applyStyle:]): New version of applyStyle:toElementsInDOMRange:
2979 * WebView.subproj/WebViewPrivate.h:
2981 2004-04-22 Ken Kocienda <kocienda@apple.com>
2985 Adds the notion of selection affinity to the editing API, bringing it up to
2986 date with the latest proposal.
2988 * WebView.subproj/WebView.m:
2989 (-[WebView _alterCurrentSelection:direction:granularity:]): Pass selection affinity
2990 to the delegate. We can just pass the current one since this does not change with arrow keys.
2991 (-[WebView setSelectedDOMRange:affinity:]): Set the affinity on the selection.
2992 (-[WebView selectionAffinity]): New accessor.
2993 (-[WebView insertNode:replacingDOMRange:]): Change to pass selection affinity to call
2994 to set selection. This is just to get the code to compile for now, since this method
2995 will soon be removed in place of a similar one from the latest proposal that always
2996 works on the current selection.
2997 (-[WebView insertText:replacingDOMRange:]): Ditto.
2998 (-[WebView insertMarkupString:replacingDOMRange:]): Ditto.
2999 (-[WebView insertWebArchive:replacingDOMRange:]): Ditto.
3000 (-[WebView deleteDOMRange:]): Ditto.
3001 (-[WebView applyStyle:toElementsInDOMRange:]): Ditto.
3002 * WebView.subproj/WebViewPrivate.h: Add selection affinity to API declarations as needed.
3004 2004-04-22 Ken Kocienda <kocienda@apple.com>
3008 Work around this bug:
3009 <rdar://problem/3630640>: "Calling interpretKeyEvents: in a custom text view can fail to process keys right after app startup"
3011 * WebView.subproj/WebView.m:
3012 (-[WebView _editingKeyDown:]): The issue is with a message to nil in AppKit
3013 key binding manager code. Add call to [NSKeyBindingManager sharedKeyBindingManager] to make
3014 sure the not-supposed-to-be-nil object is created before calling interpretKeyEvents:.
3016 2004-04-22 Ken Kocienda <kocienda@apple.com>
3020 Added calls to ensure caret visibility after the editing action is done.
3022 * WebView.subproj/WebView.m:
3023 (-[WebView _alterCurrentSelection:direction:granularity:]):
3024 (-[WebView insertNewline:]):
3025 (-[WebView deleteBackward:]):
3026 (-[WebView insertText:]):
3028 2004-04-20 Chris Blumenberg <cblu@apple.com>
3030 Fixed: <rdar://problem/3605209>: "HITLIST: REGRESSION (131-132): iframes/frames no longer dump on layout tests"
3034 * WebView.subproj/WebHTMLRepresentation.m:
3035 (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): the encoding was not being set in the about:blank case. Call receivedData:textEncodingName: as we did in the past to set it.
3037 2004-04-20 Ken Kocienda <kocienda@apple.com>
3041 Added implementations for these methods.
3043 * WebView.subproj/WebView.m:
3044 (-[WebView moveUpAndModifySelection:]):
3045 (-[WebView moveWordLeft:]):
3046 (-[WebView moveWordLeftAndModifySelection:]):
3047 (-[WebView moveWordRight:]):
3048 (-[WebView moveWordRightAndModifySelection:]):
3050 2004-04-20 John Sullivan <sullivan@apple.com>
3052 - fixed <rdar://problem/3622393>: When in stealth mode, visited webpage
3053 contents should not be cached to disk
3057 * WebView.subproj/WebBaseResourceHandleDelegate.m:
3058 (-[WebBaseResourceHandleDelegate willCacheResponse:]):
3059 if will cache to disk and in stealth mode, replace cache response with
3060 an identical one that won't cache to disk.
3062 2004-04-19 Ken Kocienda <kocienda@apple.com>
3066 * WebView.subproj/WebView.m:
3067 (-[WebView moveDown:]): Added implementation.
3068 (-[WebView moveUp:]): Added implementation.
3070 2004-04-19 Chris Blumenberg <cblu@apple.com>
3072 Added support for pasting frames via WebArchives.
3074 Reviewed by kocienda.
3076 * WebView.subproj/WebDataSource.m:
3077 (-[WebDataSource _addSubframeArchives:]): renamed, now allows subframe archives to be added at anytime
3078 (-[WebDataSource _popSubframeArchiveWithName:]): renamed, now deletes the returned subframe to consume less memory
3079 (-[WebDataSource _replaceSelectionWithWebArchive:]): added support for subframes
3080 * WebView.subproj/WebDataSourcePrivate.h:
3081 * WebView.subproj/WebFrame.m:
3082 (-[WebFrame _loadRequest:subresources:subframeArchives:]): call renamed methods
3083 (-[WebFrame _loadURL:intoChild:]): ditto
3084 * WebView.subproj/WebHTMLRepresentation.m:
3085 (-[WebHTMLRepresentation loadArchive]): ditto
3089 2004-04-16 Richard Williamson <rjw@apple.com>
3091 Added an SPI to allow ObjC instances to be easily bound to
3092 JS. This is needed by the dashboard guys for their prototyping.
3093 Eventually they will use new API.
3097 * WebView.subproj/WebView.m:
3098 (-[WebView _bindObject:withName:toFrame:]):
3099 * WebView.subproj/WebViewPrivate.h:
3101 2004-04-16 Chris Blumenberg <cblu@apple.com>
3103 Fixed: <rdar://problem/3587599>: Mail Page, Web Archives don't preserve subframes
3104 Moved code that assembled subresource URLs from DOM nodes from WebCore to WebKit.
3108 * DOM.subproj/DOMExtensions.h: copied from WebCore
3109 * DOM.subproj/WebDOMOperations.h:
3110 * DOM.subproj/WebDOMOperations.m:
3111 (-[DOMNode webArchive]): call renamed methods
3112 (-[DOMNode markupString]): ditto
3113 (-[DOMNode _URLsFromSelectors:]): new, returns array of URLs given selectors
3114 (-[DOMNode _subresourceURLs]): new, base class does nothing, subclasses call _URLsFromSelectors with URL selectors
3115 (-[DOMDocument webFrame]): new
3116 (-[DOMRange webArchive]): call renamed methods
3117 (-[DOMRange markupString]): ditto
3118 (-[DOMHTMLBodyElement _subresourceURLs]): new
3119 (-[DOMHTMLInputElement _subresourceURLs]): new
3120 (-[DOMHTMLLinkElement _subresourceURLs]): new
3121 (-[DOMHTMLScriptElement _subresourceURLs]): new
3122 (-[DOMHTMLImageElement _subresourceURLs]): new
3123 (-[DOMHTMLEmbedElement _subresourceURLs]): new
3124 (-[DOMHTMLObjectElement _subresourceURLs]): new
3125 (-[DOMHTMLParamElement _subresourceURLs]): new
3126 (-[DOMHTMLTableElement _subresourceURLs]): new
3127 (-[DOMHTMLTableCellElement _subresourceURLs]): new
3128 * WebKit.pbproj/project.pbxproj:
3129 * WebView.subproj/WebArchive.h:
3130 * WebView.subproj/WebArchive.m:
3131 (-[WebArchivePrivate dealloc]): release new subframeArchives ivar
3132 (-[WebArchive initWithMainResource:subresources:subframeArchives:]): take subframeArchives
3133 (-[WebArchive _initWithPropertyList:]): new, recursively creates WebArchives
3134 (-[WebArchive initWithData:]): call _initWithPropertyList
3135 (-[WebArchive subframeArchives]): new
3136 (-[WebArchive _propertyListRepresentation]): new, recursively creates property lists of WebArchives
3137 (-[WebArchive data]): call _propertyListRepresentation
3138 * WebView.subproj/WebBaseResourceHandleDelegate.m:
3139 (-[WebBaseResourceHandleDelegate saveResource]): call renamed methods
3140 * WebView.subproj/WebDataSource.m:
3141 (-[WebDataSourcePrivate dealloc]): release new pendingSubframeArchives ivar
3142 (-[WebDataSource _archiveWithMarkupString:nodes:]): renamed and reimplemented, handles subframes
3143 (-[WebDataSource _archive]): new
3144 (-[WebDataSource _setPendingSubframeArchives:]): new
3145 (-[WebDataSource _archiveForFrameName:]): new
3146 * WebView.subproj/WebDataSourcePrivate.h:
3147 * WebView.subproj/WebFrame.m:
3148 (-[WebFrame loadArchive:]): handle subframes
3149 (-[WebFrame _loadRequest:subresources:subframeArchives:]): ditto
3150 (-[WebFrame _loadURL:intoChild:]): use the subframe archive if we have it
3151 (-[WebFrame loadRequest:]): call renamed methods
3152 * WebView.subproj/WebFramePrivate.h:
3153 * WebView.subproj/WebHTMLRepresentation.m:
3154 (-[WebHTMLRepresentation loadWebArchive]): call renamed methods and handle subframes
3155 * WebView.subproj/WebHTMLView.m:
3156 (-[WebHTMLView _selectedArchive:]): call renamed methods
3157 (-[WebHTMLView _pasteFromPasteboard:]): call renamed methods
3158 * WebView.subproj/WebHTMLViewPrivate.h:
3159 * WebView.subproj/WebImageRepresentation.h:
3160 * WebView.subproj/WebImageRepresentation.m: instead of storing some items from the data source, just store the data source
3161 (-[WebImageRepresentation dealloc]): removed use of deleted ivars
3162 (-[WebImageRepresentation URL]): use dataSource instead of ivar
3163 (-[WebImageRepresentation doneLoading]): use new boolean ivar
3164 (-[WebImageRepresentation setDataSource:]): store the data source
3165 (-[WebImageRepresentation receivedData:withDataSource:]): use dataSource instead of ivar
3166 (-[WebImageRepresentation receivedError:withDataSource:]): ditto
3167 (-[WebImageRepresentation finishedLoadingWithDataSource:]): ditto
3168 (-[WebImageRepresentation title]): ditto
3169 (-[WebImageRepresentation data]): ditto
3170 (-[WebImageRepresentation filename]): ditto
3171 (-[WebImageRepresentation archive]): ditto
3172 * WebView.subproj/WebResource.h:
3173 * WebView.subproj/WebResource.m:
3174 (-[WebResourcePrivate dealloc]): release new frame name ivar
3175 (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): take a frame name
3176 (-[WebResource frameName]): new
3177 (-[WebResource _initWithPropertyList:]): handle frame name
3178 (-[WebResource _initWithCachedResponse:originalURL:]): call renamed methods
3179 (-[WebResource _propertyListRepresentation]):
3180 * WebView.subproj/WebResourcePrivate.h: handle frame name
3182 2004-04-15 David Hyatt <hyatt@apple.com>
3184 Make sure isOpaque returns NO when the WebHTMLVIew doesn't draw its background.
3187 * WebView.subproj/WebFrameView.m:
3188 (-[WebFrameView isOpaque]):
3189 * WebView.subproj/WebHTMLView.m:
3190 (-[WebHTMLView isOpaque]):
3192 2004-04-15 John Sullivan <sullivan@apple.com>
3194 * WebView.subproj/WebPreferencesPrivate.h:
3197 2004-04-14 Richard Williamson <rjw@apple.com>
3199 Updated fix for 3576315. Don't hardcode 22 as the titlebar
3200 height. (Note, other places in CarbonWindowFrame DO hardcode
3201 window geometry information, yuck!).
3205 * Carbon.subproj/CarbonWindowFrame.m:
3207 2004-04-14 John Sullivan <sullivan@apple.com>
3209 - changed stealth mode preference name from "historyIsFrozen"
3210 to "privateBrowsingEnabled"
3214 * WebView.subproj/WebFrame.m:
3215 (-[WebFrame _transitionToCommitted:]):
3216 updated for method name change
3218 * WebView.subproj/WebPreferences.m:
3219 changed preference key name
3220 (+[WebPreferences initialize]):
3221 updated for preference key name change
3222 (-[WebPreferences setPrivateBrowsingEnabled:]):
3223 changed name from setHistoryIsFrozen:
3224 (-[WebPreferences privateBrowsingEnabled]):
3225 changed name from historyIsFrozen:
3227 * WebView.subproj/WebPreferencesPrivate.h:
3228 changed declared method names
3230 * English.lproj/StringsNotToBeLocalized.txt:
3231 updated for this and other recent changes
3233 2004-04-13 Chris Blumenberg <cblu@apple.com>
3235 - Added WebElementDOMNodeKey as a potential API so that clients can get the node from an element dictionary.
3236 - Removed WebElementIsEditableKey. This functionality is available via [DOMNode isContentEditable].
3240 * DOM.subproj/WebDOMOperations.h:
3241 * DOM.subproj/WebDOMOperations.m:
3242 (-[DOMDocument URLWithRelativeString:]): new potential API
3243 * WebView.subproj/WebDefaultContextMenuDelegate.m:
3244 (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): indenting tweak
3245 (-[WebDefaultUIDelegate copyImageToClipboard:]): use WebElementDOMNodeKey
3246 * WebView.subproj/WebHTMLView.m:
3247 (-[WebHTMLView _handleMouseDragged:]): use WebElementDOMNodeKey
3248 (-[WebHTMLView _dragOperationForDraggingInfo:]): use isContentEditable
3249 * WebView.subproj/WebView.h:
3250 * WebView.subproj/WebView.m:
3251 * WebView.subproj/WebViewPrivate.h:
3253 2004-04-13 Chris Blumenberg <cblu@apple.com>
3255 Fixed deployment build failure.
3259 * WebView.subproj/WebHTMLView.m:
3260 (-[WebHTMLView _handleMouseDragged:]): removed use of fileWrapper variable
3262 2004-04-12 Chris Blumenberg <cblu@apple.com>
3264 Factored out WebArchive to DOM code so that it could be used by both [WebHTMLView _pasteFromPasteboard:] and [WebView insertWebArchive:replacingDOMRange:].
3266 Reviewed by kocienda.
3268 * WebView.subproj/WebDataSource.m:
3269 (-[WebDataSource _replaceSelectionWithMarkupString:baseURL:]): moved from WebHTMLView
3270 (-[WebDataSource _replaceSelectionWithImageResource:]): ditto
3271 (-[WebDataSource _replaceSelectionWithWebArchive:]): ditto
3272 * WebView.subproj/WebDataSourcePrivate.h:
3273 * WebView.subproj/WebHTMLView.m:
3274 (-[WebHTMLView _replaceSelectionWithMarkupString:]): renamed
3275 (-[WebHTMLView _pasteFromPasteboard:]): call renamed methods
3276 * WebView.subproj/WebView.m:
3277 (-[WebView insertMarkupString:replacingDOMRange:]): call renamed methods
3278 (-[WebView insertWebArchive:replacingDOMRange:]): have data source handle the archive instead of the bridge
3280 2004-04-12 Ken Kocienda <kocienda@apple.com>
3284 Added execCommand support for cut/copy/paste.
3286 * WebCoreSupport.subproj/WebBridge.m:
3287 (-[WebBridge issueCutCommand]): Glue for calling from WebCore to do a cut in Cocoa.
3288 (-[WebBridge issueCopyCommand]): Same as above, but for copy.
3289 (-[WebBridge issuePasteCommand]): Same as above, but for paste.
3290 * WebView.subproj/WebHTMLView.m:
3291 (-[WebHTMLView copy:]): Move this to private implementation category so the bridge can see it.
3292 (-[WebHTMLView cut:]): Ditto.
3293 (-[WebHTMLView paste:]): Ditto.
3294 * WebView.subproj/WebHTMLViewPrivate.h: Move copy;, cut:, and paste: to private implementation
3295 category so the bridge can see it.
3296 * WebView.subproj/WebView.m:
3297 (-[WebView copy:]): Implemented by calling WebHTMLView to do the work.
3298 (-[WebView cut:]): Ditto.
3299 (-[WebView paste:]): Ditto.
3300 * WebView.subproj/WebViewPrivate.h: Added all the NSReponder methods we plan to implement as
3301 part of the WebKit editing API.
3303 2004-04-09 Ken Kocienda <kocienda@apple.com>
3307 Stubbed in the entire WebKit editing API, improving some
3308 methods already present in minor ways, and adding those
3309 methods not yet present.
3311 * WebCoreSupport.subproj/WebBridge.m:
3312 (-[WebBridge editingKeyDown:]):
3313 * WebView.subproj/WebDefaultEditingDelegate.m:
3314 (-[WebDefaultEditingDelegate webView:shouldChangeSelectedDOMRange:toDOMRange:stillSelecting:]):
3315 * WebView.subproj/WebHTMLView.m:
3316 (-[WebHTMLView _pasteMarkupString:]):
3317 * WebView.subproj/WebView.m:
3318 (-[WebView _alterCurrentSelection:direction:granularity:]):
3319 (-[WebView _currentSelectionIsEditable]):
3320 (-[WebView computedStyleForElement:pseudoElement:]):
3321 (-[WebView _editingKeyDown:]):
3322 (-[WebView setEditable:]):
3323 (-[WebView isEditable]):
3324 (-[WebView setTypingStyle:]):
3325 (-[WebView typingStyle]):
3326 (-[WebView setSmartInsertDeleteEnabled:]):
3327 (-[WebView smartInsertDeleteEnabled]):
3328 (-[WebView setContinuousSpellCheckingEnabled:]):
3329 (-[WebView isContinuousSpellCheckingEnabled]):
3330 (-[WebView spellCheckerDocumentTag]):
3331 (-[WebView undoManager]):
3332 (-[WebView insertNode:replacingDOMRange:]):
3333 (-[WebView insertText:replacingDOMRange:]):
3334 (-[WebView insertMarkupString:replacingDOMRange:]):
3335 (-[WebView insertWebArchive:replacingDOMRange:]):
3336 (-[WebView deleteDOMRange:]):
3337 (-[WebView applyStyle:toElementsInDOMRange:]):
3338 (-[WebView centerSelectionInVisibleArea:]):
3339 (-[WebView moveBackward:]):
3340 (-[WebView moveBackwardAndModifySelection:]):
3341 (-[WebView moveDown:]):
3342 (-[WebView moveDownAndModifySelection:]):
3343 (-[WebView moveForward:]):
3344 (-[WebView moveForwardAndModifySelection:]):
3345 (-[WebView moveLeft:]):
3346 (-[WebView moveLeftAndModifySelection:]):
3347 (-[WebView moveRight:]):
3348 (-[WebView moveRightAndModifySelection:]):
3349 (-[WebView moveToBeginningOfDocument:]):
3350 (-[WebView moveToBeginningOfLine:]):
3351 (-[WebView moveToBeginningOfParagraph:]):
3352 (-[WebView moveToEndOfDocument:]):
3353 (-[WebView moveToEndOfLine:]):
3354 (-[WebView moveToEndOfParagraph:]):
3355 (-[WebView moveUp:]):
3356 (-[WebView moveUpAndModifySelection:]):
3357 (-[WebView moveWordBackward:]):
3358 (-[WebView moveWordBackwardAndModifySelection:]):
3359 (-[WebView moveWordForward:]):
3360 (-[WebView moveWordForwardAndModifySelection:]):
3361 (-[WebView moveWordLeft:]):
3362 (-[WebView moveWordLeftAndModifySelection:]):
3363 (-[WebView moveWordRight:]):
3364 (-[WebView moveWordRightAndModifySelection:]):
3365 (-[WebView pageDown:]):
3366 (-[WebView pageUp:]):
3367 (-[WebView scrollLineDown:]):
3368 (-[WebView scrollLineUp:]):
3369 (-[WebView scrollPageDown:]):
3370 (-[WebView scrollPageUp:]):
3371 (-[WebView selectAll:]):
3372 (-[WebView selectParagraph:]):
3373 (-[WebView selectLine:]):
3374 (-[WebView selectWord:]):
3377 (-[WebView paste:]):
3378 (-[WebView copyFont:]):
3379 (-[WebView pasteFont:]):
3380 (-[WebView delete:]):
3381 (-[WebView pasteAsPlainText:]):
3382 (-[WebView pasteAsRichText:]):
3383 (-[WebView changeFont:]):
3384 (-[WebView changeAttributes:]):
3385 (-[WebView changeDocumentBackgroundColor:]):
3386 (-[WebView changeColor:]):
3387 (-[WebView alignCenter:]):
3388 (-[WebView alignJustified:]):
3389 (-[WebView alignLeft:]):
3390 (-[WebView alignRight:]):
3391 (-[WebView indent:]):
3392 (-[WebView insertTab:]):
3393 (-[WebView insertBacktab:]):
3394 (-[WebView insertNewline:]):
3395 (-[WebView insertParagraphSeparator:]):
3396 (-[WebView changeCaseOfLetter:]):
3397 (-[WebView uppercaseWord:]):
3398 (-[WebView lowercaseWord:]):
3399 (-[WebView capitalizeWord:]):
3400 (-[WebView deleteForward:]):
3401 (-[WebView deleteBackward:]):
3402 (-[WebView deleteBackwardByDecomposingPreviousCharacter:]):
3403 (-[WebView deleteWordForward:]):
3404 (-[WebView deleteWordBackward:]):
3405 (-[WebView deleteToBeginningOfLine:]):
3406 (-[WebView deleteToEndOfLine:]):
3407 (-[WebView deleteToBeginningOfParagraph:]):
3408 (-[WebView deleteToEndOfParagraph:]):
3409 (-[WebView complete:]):
3410 (-[WebView checkSpelling:]):
3411 (-[WebView showGuessPanel:]):
3412 (-[WebView performFindPanelAction:]):
3413 (-[WebView startSpeaking:]):
3414 (-[WebView stopSpeaking:]):
3415 (-[WebView insertText:]):
3416 * WebView.subproj/WebViewPrivate.h:
3418 2004-04-09 Darin Adler <darin@apple.com>
3422 - added "transparent mode"
3424 * WebView.subproj/WebFrameInternal.h: Added. Contains _updateDrawsBackground.
3425 * WebView.subproj/WebFrame.m:
3426 (-[WebFrame _makeDocumentView]): Call _updateDrawsBackground to tell the newly created
3427 KHTMLView whether to draw a background or not.
3428 (-[WebFrame _setState:]): Don't tell the scroll view to start drawing background if the
3429 WebView is not supposed to draw a background.
3430 (-[WebFrame _updateDrawsBackground]): Call setDrawsBackground: on the bridge, and do the
3431 same for all subframes.
3433 * WebView.subproj/WebFrameView.m: (-[WebFrameView setFrameSize:]): Only call setDrawsBackground:YES
3434 on the scroll view if the WebView has drawsBackground set to YES.
3436 * WebView.subproj/WebViewPrivate.h: Added new proposed API, setDrawsBackground and drawsBackground.
3437 Also added drawsBackground boolean to private structure.
3438 * WebView.subproj/WebView.m:
3439 (-[WebView _commonInitializationWithFrameName:groupName:]): Set drawsBackground to YES by default.
3440 (-[WebView setDrawsBackground:]): Added. Sets boolean and calls _updateDrawsBackground to update
3441 the flag for each frame.
3442 (-[WebView drawsBackground]): Added. Returns value of boolean.
3443 (-[WebView _bridgeForCurrentSelection]): Tweaked comment for no good reason.
3445 * WebView.subproj/WebViewInternal.h: Added, but empty for the moment.
3446 * WebView.subproj/WebFramePrivate.h: Tweaked a bit.
3448 2004-04-08 Chris Blumenberg <cblu@apple.com>
3451 <rdar://problem/3616873>: support for pasting and drag and dropping of URLS to editable WebViews
3452 <rdar://problem/3546417>: support for pasting and drag and dropping of images to editable WebViews
3456 * DOM.subproj/WebDOMOperations.h:
3457 * DOM.subproj/WebDOMOperations.m:
3458 (-[DOMNode webArchive]): renamed from "archive" because "archive" collides with DOMHTMLObjectElement's method
3459 (-[DOMRange webArchive]): ditto
3460 * Misc.subproj/WebNSPasteboardExtras.h:
3461 * Misc.subproj/WebNSPasteboardExtras.m:
3462 (-[NSPasteboard _web_writeImage:URL:title:archive:]): take just an archive instead of an HTML string and file wrapper
3463 * Misc.subproj/WebNSViewExtras.h:
3464 * Misc.subproj/WebNSViewExtras.m:
3465 (-[NSView _web_dragImage:archive:rect:URL:title:event:]): take just an archive instead of an HTML string and file wrapper
3466 * WebView.subproj/WebDataProtocol.h:
3467 * WebView.subproj/WebDataProtocol.m:
3468 (+[NSURL _web_uniqueWebDataURL]): new
3469 (+[NSURL _web_uniqueWebDataURLWithRelativeString:]): new
3470 * WebView.subproj/WebDefaultContextMenuDelegate.m:
3471 (-[WebDefaultUIDelegate copyImageToClipboard:]): call renamed _web_writeImage