1 2005-08-01 Eric Seidel <eseidel@apple.com>
5 * WebCoreSupport.subproj/WebGraphicsBridge.m:
6 removed create*ColorSpace methods, now using CG API directly.
7 http://bugzilla.opendarwin.org/show_bug.cgi?id=4211
9 2005-07-31 John Sullivan <sullivan@apple.com>
11 Patch by Trey Matteson <trey@usa.net>
14 Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4014
15 PDF files by default load with a poor choice of sizing
17 For now the various PDF viewing settings are sticky, stored in 2 new defaults. Since
18 there are a number of ways these settings are changed, I made a proxy for the PDFView
19 through which all view changing messages are sent. The proxy adds the behavior of
20 updating the defaults upon any change.
22 * Misc.subproj/WebNSDictionaryExtras.h:
23 * Misc.subproj/WebNSDictionaryExtras.m:
24 (-[NSMutableDictionary _webkit_setFloat:forKey:]): New support method.
25 * WebView.subproj/WebPDFView.h:
26 * WebView.subproj/WebPDFView.m:
27 (-[WebPDFView initWithFrame:]): Create proxy for PDFView.
28 (-[WebPDFView dealloc]): Free proxy.
29 (-[WebPDFView _menuItemsFromPDFKitForEvent:]): For relevant context menu items, set the
30 target to the proxy instead of the PDFView.
31 (-[WebPDFView _readPDFDefaults]): Init PDFView with settings from defaults.
32 (-[WebPDFView layout]): Call _readPDFDefaults, once. This turned out to be the best hook.
33 (-[WebPDFView _makeTextSmaller:]): Change PDFView via proxy
34 (-[WebPDFView _makeTextLarger:]): Ditto
35 (-[WebPDFView _makeTextStandardSize:]): Ditto
36 (-[PDFPrefUpdatingProxy initWithView:]): trivial
37 (-[PDFPrefUpdatingProxy forwardInvocation:]): Forward the msg, then update defaults
38 (-[PDFPrefUpdatingProxy methodSignatureForSelector:]): Simple forwarding support.
39 * WebView.subproj/WebPreferenceKeysPrivate.h:
40 * WebView.subproj/WebPreferences.m:
41 (+[WebPreferences initialize]): Set initial values for new PDF viewing defaults.
42 (-[WebPreferences _integerValueForKey:]): Nuke stray comment.
43 (-[WebPreferences _floatValueForKey:]): New simple support method.
44 (-[WebPreferences _setFloatValue:forKey:]): Ditto.
45 (-[WebPreferences PDFScaleFactor]): 4 accessors for new defaults
46 (-[WebPreferences setPDFScaleFactor:]):
47 (-[WebPreferences PDFDisplayMode]):
48 (-[WebPreferences setPDFDisplayMode:]):
49 * WebView.subproj/WebPreferencesPrivate.h:
51 2005-08-01 Justin Garcia <justin.garcia@apple.com>
53 Patch by Trey Matteson <trey@usa.net>
57 Fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=4226>
58 link underlines print too thickly
60 Reinstate the fix made by sullivan on 1/11/05. There was a merge
61 error with an mjs fix on 1/13/05.
63 * WebCoreSupport.subproj/WebTextRenderer.m:
64 (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
66 2005-07-30 Maciej Stachowiak <mjs@apple.com>
68 Build fixes for previous change (missing includes)
70 * WebView.subproj/WebFrame.m:
71 * WebView.subproj/WebScriptDebugDelegate.m:
73 2005-07-29 Maciej Stachowiak <mjs@apple.com>
75 Changes by Michael Kahl, reviewed by me.
77 - fixed <rdar://problem/4164112> MASTER: JavaScript debugging support
79 * WebCoreSupport.subproj/WebBridge.m:
80 (-[WebBridge windowObjectCleared]):
81 * WebCoreSupport.subproj/WebSubresourceLoader.m:
82 * WebKit.xcodeproj/project.pbxproj:
83 * WebView.subproj/WebDefaultScriptDebugDelegate.h: Added.
84 * WebView.subproj/WebDefaultScriptDebugDelegate.m: Added.
85 (+[WebDefaultScriptDebugDelegate sharedScriptDebugDelegate]):
86 (-[WebDefaultScriptDebugDelegate webView:didParseSource:fromURL:sourceId:forWebFrame:]):
87 (-[WebDefaultScriptDebugDelegate webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
88 (-[WebDefaultScriptDebugDelegate webView:willExecuteStatement:sourceId:line:forWebFrame:]):
89 (-[WebDefaultScriptDebugDelegate webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
90 * WebView.subproj/WebFrame.m:
91 (-[WebFramePrivate dealloc]):
92 (-[WebFrame _attachScriptDebugger]):
93 * WebView.subproj/WebFramePrivate.h:
94 * WebView.subproj/WebScriptDebugDelegate.h: Added.
95 * WebView.subproj/WebScriptDebugDelegate.m: Added.
96 (-[WebScriptDebugger initWithWebFrame:]):
97 (-[WebScriptDebugger dealloc]):
98 (-[WebScriptDebugger globalObject]):
99 (-[WebScriptDebugger newWrapperForFrame:]):
100 (-[WebScriptDebugger parsedSource:fromURL:sourceId:]):
101 (-[WebScriptDebugger enteredFrame:sourceId:line:]):
102 (-[WebScriptDebugger hitStatement:sourceId:line:]):
103 (-[WebScriptDebugger leavingFrame:sourceId:line:]):
104 (-[WebScriptCallFrame _initWithFrame:]):
105 (-[WebScriptCallFrame dealloc]):
106 (-[WebScriptCallFrame setUserInfo:]):
107 (-[WebScriptCallFrame userInfo]):
108 (-[WebScriptCallFrame caller]):
109 (-[WebScriptCallFrame scopeChain]):
110 (-[WebScriptCallFrame functionName]):
111 (-[WebScriptCallFrame exception]):
112 (-[WebScriptCallFrame evaluateWebScript:]):
113 * WebView.subproj/WebScriptDebugDelegatePrivate.h: Added.
114 * WebView.subproj/WebView.h:
115 * WebView.subproj/WebView.m:
116 (-[WebViewPrivate dealloc]):
117 (-[WebView _scriptDebugDelegateForwarder]):
118 (-[WebView setScriptDebugDelegate:]):
119 (-[WebView scriptDebugDelegate]):
120 * WebView.subproj/WebViewInternal.h:
121 * WebView.subproj/WebViewPrivate.h:
123 2005-07-26 Maciej Stachowiak <mjs@apple.com>
125 Reviewed by Dave Hyatt.
127 - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4153
129 * WebView.subproj/WebFrame.m:
130 (-[WebFrame _purgePageCache]): Find the oldest candidate for
131 purging that is not a snapback item.
133 2005-07-29 David Harrison <harrison@apple.com>
135 Reviewed by Dave Hyatt (rendering) and Maciej (editing and performance improvements).
137 Test cases added: Existing tab-related basic editing tests were updated. More complex tests are coming soon.
139 <rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail)
141 Basic strategy is to put tabs into spans with white-space:pre style, and
142 render them with tabs stops every 8th space, where the space width and
143 the left margin are those of the enclosing block.
145 * WebCoreSupport.subproj/WebTextRenderer.m:
147 (isRoundingHackCharacter):
149 (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
150 (-[WebTextRenderer _computeWidthForSpace]):
152 (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]):
153 (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
154 (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]):
155 (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
157 (initializeCharacterWidthIterator):
159 (widthForNextCharacter):
161 2005-07-29 John Sullivan <sullivan@apple.com>
163 Reviewed by Dave Hyatt.
165 - WebKit part of <rdar://problem/4187404> Redo form SPI so that it doesn't rely on NSViews
167 Much of 4187404 was addressed in earlier checkins. This checkin completes the task.
169 * WebView.subproj/WebHTMLRepresentation.h:
170 * WebView.subproj/WebHTMLRepresentation.m:
171 removed viewForElement:, which was the only remaining NSView-related SPI that Safari autofill was
172 still using. I added viewForElement a week ago as a transitional measure, so removing it won't
173 affect any other clients.
175 2005-07-29 John Sullivan <sullivan@apple.com>
177 Reviewed by Chris Blumenberg.
179 * WebView.subproj/WebFrameView.m:
180 (-[WebFrameView _firstResponderIsFormControl]):
181 renamed from _firstResponderIsControl for clarity. Explicitly rejects WebHTMLView, since
183 (-[WebFrameView keyDown:]):
184 updated for renamed method.
186 2005-07-28 John Sullivan <sullivan@apple.com>
188 Reviewed by Beth Dakin.
190 - removed method -[WebHTMLRepresentation elementForView:], which was SPI used only for
191 Safari autofill. Tip of tree Safari no longer includes any calls to this method. Also,
192 Tiger Safari never gets around to actually calling it due to the other recent form-SPI-related
193 changes, so removing this method doesn't break Tiger Safari running on tip of tree WebKit
194 (though autofill continues to not work in that configuration).
196 * WebView.subproj/WebHTMLRepresentation.h:
197 * WebView.subproj/WebHTMLRepresentation.m:
198 (-[WebHTMLRepresentation elementForView:]): removed
200 2005-07-27 John Sullivan <sullivan@apple.com>
202 Patch by Trey Matteson <trey@usa.net>
205 Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4169
206 scaling PDF view up leaves later HTML view scaled too
208 An additional step of separating scaling of HTML and PDF. If we do a zoom and there
209 are no docViews that track the common scaling factor, then don't change it. Thus in
210 the common PDF case where it is the only doc view, scaling the PDF does not affect
211 HTML pages loaded in the same window.
213 * WebView.subproj/WebView.m:
214 (-[WebView canMakeTextSmaller]): Pass 0 for new scaling factor, since we just querying.
215 (-[WebView canMakeTextLarger]): Ditto.
216 (-[WebView makeTextSmaller:]): Pass new scaling factor.
217 (-[WebView makeTextLarger:]): Ditto.
218 (-[WebView canMakeTextStandardSize]): Pass 0 for new scaling factor.
219 (-[WebView makeTextStandardSize:]): Pass new scaling factor.
220 (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:newScaleFactor:]):
221 The meat of the change is that this Swiss Army Knife also takes a new scaling
222 factor, which it will set as the common scaling factor if it finds any doc views that
223 are able to be scaled which track the common scaling factor.
225 2005-07-27 John Sullivan <sullivan@apple.com>
227 Patch by Trey Matteson <trey@usa.net>
230 Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4015
231 PDF views should remember viewing mode, scroll position across back/forward
232 Note this doesn't work within frames because of a PDFKit bug - see 4164
233 Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4091
234 PDF views should keep a separate scaling factor from shared text scaling factor
236 Basic idea #1 is that we now have a general mechanism for a WebDocView to save/restore some UI
237 state to the WebHistoryItem.
238 Basic idea #2 is that _WebDocumentTextSizing is expanded to allow for the case of a WebDocView
239 keeping its own notion of a scaling factor. WebPDFView's -_tracksCommonSizeFactor has justification.
241 * History.subproj/WebHistoryItem.m:
242 (-[WebHistoryItem setViewState:]): New methods to hold PList of arbitrary WebView state
243 (-[WebHistoryItem viewState]):
244 * History.subproj/WebHistoryItemPrivate.h:
245 * WebKit.xcodeproj/project.pbxproj: Add Quartz to framework path so we can import PDFKit files
246 * WebView.subproj/WebDocumentInternal.h: New methods added to _WebDocumentTextSizing.
247 Also the _ prefix is sufficient instead of _web_WebDocumentTextSizing.
248 Added _WebDocumentViewState protocol.
249 * WebView.subproj/WebFrame.m:
250 (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]): Rename of save/restore methods.
251 (-[WebFrame _detachFromParent]): Ditto
252 (-[WebFrame _transitionToCommitted:]): Ditto
253 (-[WebFrame _checkLoadCompleteForThisFrame]): Ditto
254 (-[WebFrame _loadItem:withLoadType:]): Ditto
255 (-[WebFrame _recursiveGoToItem:fromItem:withLoadType:]): Ditto
256 (-[WebFrame _saveViewStateToItem:]): Call doc view to retrieve view state.
257 (-[WebFrame _restoreViewState]): Call doc view to set view state.
258 (-[WebFrame _scrollToTop]): Nuked dead code.
259 (-[WebFrame _textSizeMultiplierChanged]): This work now appears in WebView.
260 (-[WebFrame _saveDocumentAndScrollState]): Same rename, one code cleanup.
261 (-[WebFrame _accumulateDocumentViews:]): Add our docview to the array, call kids.
262 (-[WebFrame _documentViews]): New helper to return all docviews.
263 (-[WebFrame _didFirstLayout]): Same name change.
264 * WebView.subproj/WebFrameInternal.h:
265 * WebView.subproj/WebFramePrivate.h:
266 * WebView.subproj/WebHTMLView.m: Removed redundant category decl.
267 (-[WebHTMLView _makeTextSmaller:]): Implement new protocol.
268 (-[WebHTMLView _makeTextLarger:]):
269 (-[WebHTMLView _makeTextStandardSize:]):
270 (-[WebHTMLView _tracksCommonSizeFactor]):
271 * WebView.subproj/WebPDFRepresentation.m: Tweak #imports.
272 * WebView.subproj/WebPDFView.h:
273 * WebView.subproj/WebPDFView.m:
274 (-[WebPDFView _menuItemsFromPDFKitForEvent:]): No longer intercept context menu text sizing items.
275 (-[WebPDFView setDataSource:]): No longer track the WebView's scaling factor.
276 (-[WebPDFView scrollPoint]): Dig through PDFKit view tree to get real scroll position
277 (-[WebPDFView setScrollPoint:]): Ditto
278 (-[WebPDFView viewState]): Return bundle of viewing params
279 (-[WebPDFView setViewState:]): Restore bundle of viewing params
280 (-[WebPDFView _makeTextSmaller:]): Implement new text sizing protocol
281 (-[WebPDFView _makeTextLarger:]):
282 (-[WebPDFView _makeTextStandardSize:]):
283 (-[WebPDFView _tracksCommonSizeFactor]):
284 (-[WebPDFView _canMakeTextSmaller]):
285 (-[WebPDFView _canMakeTextLarger]):
286 (-[WebPDFView _canMakeTextStandardSize]):
287 * WebView.subproj/WebTextView.m:
288 (-[WebTextView _makeTextSmaller:]): Implement new text sizing protocol
289 (-[WebTextView _makeTextLarger:]):
290 (-[WebTextView _makeTextStandardSize:]):
291 (-[WebTextView _tracksCommonSizeFactor]):
292 * WebView.subproj/WebView.m:
293 (-[WebView setTextSizeMultiplier:]): Calling docViews is now more complicates than just posting
294 a notification to the frame.
295 (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:]): Workhorse
296 that sends the text sizing method to the right doc views.
297 (-[WebView canMakeTextSmaller]): Call workhorse.
298 (-[WebView canMakeTextLarger]): Ditto
299 (-[WebView makeTextSmaller:]): Ditto
300 (-[WebView makeTextLarger:]): Ditto
301 (-[WebView canMakeTextStandardSize]): Ditto
302 (-[WebView makeTextStandardSize:]): Ditto
304 2005-07-26 Justin Garcia <justin.garcia@apple.com>
306 Patch by Trey Matteson <trey@usa.net>
308 Reviewed by John Sullivan.
310 Fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=4072>
311 Pressing back in browser misses out a page
313 * WebView.subproj/WebFrame.m:
314 (-[WebFrame _transitionToCommitted:]): When reloading the same page or refreshing the
315 page, update the URL in the b/f item with the URL that we wind up at. Due to cookies,
316 it might be different than the result we just got when we loaded the same page.
318 2005-07-26 David Hyatt <hyatt@apple.com>
320 Make WebHTMLView inherit from NSControl instead of NSView.
321 This change is necessary because the theme renderer for
322 WebCore that draws controls with the Aqua appearance does so
323 using NSCells. NSCells must be hosted within a control view
324 in order to paint properly.
326 The method updateCell must be overridden because it wants to
327 repaint the whole control when the windows resigns/becomes
328 key, and this would result in behavior that we don't want
329 (the repainting of the whole view). We already have hooks
330 in WebHTMLView for the window resigning/becoming key so
331 we will do our proper control updating there instead (in a
336 * WebView.subproj/WebHTMLView.h:
337 * WebView.subproj/WebHTMLView.m:
338 (-[WebHTMLView updateCell:]):
340 2005-07-26 John Sullivan <sullivan@apple.com>
342 Reviewed by Chris Blumenberg.
344 - more work to wean form-related SPI from NSView. All that's left (but this is a big "all")
345 is viewForElement: and elementForView:
347 * WebCoreSupport.subproj/WebBridge.m:
348 (-[WebBridge textField:doCommandBySelector:]):
349 changed signature to pass along DOMElement* rather than NSView*
351 * WebView.subproj/WebFormDelegate.h:
352 * WebView.subproj/WebFormDelegate.m:
353 (-[WebFormDelegate textField:doCommandBySelector:inFrame:]):
356 2005-07-25 John Sullivan <sullivan@apple.com>
358 Reviewed by Darin Adler.
360 - big hunk of weaning form-related SPI from NSView; autofill continues to
361 work (but only on tip of tree Safari)
363 * WebCoreSupport.subproj/WebBridge.m:
364 (-[WebBridge textFieldDidBeginEditing:]):
365 changed name from controlTextXXX:, now takes a DOMHTMLInputElement*
366 (-[WebBridge textFieldDidEndEditing:]):
368 (-[WebBridge textDidChangeInTextField:]):
370 (-[WebBridge textDidChangeInTextArea:]):
371 changed name from textDidChange:, now takes a DOMHTMLTextAreaElement*
372 (-[WebBridge control:textShouldBeginEditing:]):
373 removed this method as it wasn't being used by autofill, and did nothing in WebKit
374 (-[WebBridge control:textShouldEndEditing:]):
376 (-[WebBridge textField:shouldHandleEvent:]):
377 changed name from control:textView:shouldHandleEvent:, now takes a DOMHTMLInputElement*.
378 The textView parameter wasn't being used, so I eliminated it.
380 * WebView.subproj/WebFormDelegate.h:
381 * WebView.subproj/WebFormDelegate.m:
382 (-[WebFormDelegate textFieldDidBeginEditing:inFrame:]):
383 (-[WebFormDelegate textFieldDidEndEditing:inFrame:]):
384 (-[WebFormDelegate control:textShouldBeginEditing:inFrame:]):
385 (-[WebFormDelegate control:textShouldEndEditing:inFrame:]):
386 (-[WebFormDelegate textDidChangeInTextField:inFrame:]):
387 (-[WebFormDelegate textDidChangeInTextArea:inFrame:]):
388 (-[WebFormDelegate textField:shouldHandleEvent:inFrame:]):
389 These all changed in the same way as the WebBridge methods
392 2005-07-25 Vicki Murley <vicki@apple.com>
396 - fixed <rdar://problem/3470523> Safari's user agent should be changed to say Intel rather
397 than PPC on Intel machines
399 * WebView.subproj/WebView.m: add conditional #defines for "PPC" and "Intel"
400 (-[WebView userAgentForURL:]): use this variable when constructing the user agent string
402 2005-07-24 Justin Garcia <justin.garcia@apple.com>
406 - Fixes <rdar://problem/4120535> deleteToEndOfLine: does not delete thew newline when at the end of a line
407 Fix to match NSTextView. Delete the next character if deleteToEndOfLine fails
409 * WebView.subproj/WebHTMLView.m:
410 (-[WebHTMLView deleteToEndOfLine:]):
412 2005-07-24 Justin Garcia <justin.garcia@apple.com>
414 Patch by Trey Matteson <trey@apple.com>
418 Fixes <http://bugzilla.opendarwin.org/show_bug.cgi?id=3953> back-forward items have wrong titles after sub-frame navigations
420 This was caused by a mistaken data structure, where WebDataSource tried to keep a list of
421 b/f items it was responsible for. The problem arose in the case of frames, where a subframe
422 was loaded with new content. When this happens a fresh tree of b/f items is created,
423 but the reference in the DataSource still pointed to the old item.
425 Since the WebFrame does a lot of work to track the current b/f item, the easiest thing is to
426 get rid of the DataSource's reference, and have it ask the WebFrame to set the title on the
429 * WebView.subproj/WebDataSource.m:
430 (-[WebDataSourcePrivate dealloc]):
431 (-[WebDataSource _setTitle:]):
432 * WebView.subproj/WebDataSourcePrivate.h:
433 * WebView.subproj/WebFrame.m:
434 (-[WebFrame _createItem:]):
435 (-[WebFrame _transitionToCommitted:]):
436 (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
437 (-[WebFrame _setTitle:]):
438 * WebView.subproj/WebFramePrivate.h:
440 2005-07-24 Justin Garcia <justin.garcia@apple.com>
444 Fixed make clean problem
448 2005-07-23 Justin Garcia <justin.garcia@apple.com>
450 Patch by <opendarwin.org@mitzpettel.com>
452 Reviewed by darin and hyatt
454 Fixes <http://bugzilla.opendarwin.org/show_bug.cgi?id=3862>
455 The fix for <http://bugzilla.opendarwin.org/show_bug.cgi?id=3545> enclosed each run of visually ordered
456 hebrew with LRO and PDF control characters, but adjusted the run's to and from to include those characters,
457 so that they would be rendered if the font includes a glyph for bidi control characters.
459 Also adding a manual test
461 * WebCoreSupport.subproj/WebTextRenderer.m:
462 (reverseCharactersInRun):
464 2005-07-22 John Sullivan <sullivan@apple.com>
466 Reviewed by Justin Garcia.
468 Mail (running on tip of tree WebKit) was running into an assertion I recently added.
469 The assertion is actually correct, catching an old bug in this code.
471 * WebView.subproj/WebView.m:
472 (-[WebView selectedFrame]):
473 if the first responder is a WebFrameView, then we've found the WebFrameView we're
474 looking for, and we shouldn't look at its superviews.
476 2005-07-22 John Sullivan <sullivan@apple.com>
478 Reviewed by Chris Blumenberg.
480 - some changes in the direction of weaning all the form-related SPI from NSView
482 * PublicHeaderChangesFromTiger.txt:
483 noted that the WebCore change to add -[DOMHTMLInputElement isTextField] to
484 DOMExtensions.h is a public header change.
486 * WebView.subproj/WebHTMLRepresentation.h:
487 * WebView.subproj/WebHTMLRepresentation.m:
488 (-[WebHTMLRepresentation viewForElement:]):
489 added viewForElement: as a stopgap measure. This allowed me to convert controlsInForm:
490 to return DOMElements rather than NSViews, while keeping autocomplete working in
491 Safari tip of tree. When I finish the SPI conversion I'll delete this method. Note that
492 from this point on, autocomplete will not work in Tiger Safari with tip of tree WebKit
493 (it will always fail to find anything to autocomplete)
495 2005-07-21 Adele Peterson <adele@apple.com>
499 Changing temporary #ifndef to #if
501 * WebCoreSupport.subproj/WebImageData.m:
502 (-[WebImageData _checkSolidColor:]):
504 2005-07-21 Adele Peterson <adele@apple.com>
506 Reviewed by Chris Blumenberg.
508 - fixed <rdar://problem/4132797> don't register thin PPC WebKit plug-ins
510 <rdar://problem/4127100> [WebKit] 8B1016: After installing Acrobat Reader, can no longer see pdf's in Safari
512 * Plugins.subproj/WebBasePluginPackage.h: Added isNativeLibraryData method.
513 * Plugins.subproj/WebBasePluginPackage.m: (-[WebBasePluginPackage isNativeLibraryData:]): Added isNativeLibraryData method.
514 * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage initWithPath:]):
515 calls isNativeLibraryData to determine whether or not to register the plug-in.
516 * Plugins.subproj/WebPluginPackage.m: (-[WebPluginPackage initWithPath:]): ditto.
517 * WebCoreSupport.subproj/WebImageData.m: (-[WebImageData _checkSolidColor:]): added comment for #ifdef.
519 2005-07-21 Geoffrey Garen <ggaren@apple.com>
521 * WebKit.pbproj/project.pbxproj: Removed.
523 2005-07-21 Geoffrey Garen <ggaren@apple.com>
525 * WebKit.xcodeproj/.cvsignore: Added.
527 2005-07-21 Geoffrey Garen <ggaren@apple.com>
529 * WebKit.xcodeproj/project.pbxproj: Added.
531 2005-07-21 Geoffrey Garen <ggaren@apple.com>
535 2005-07-20 John Sullivan <sullivan@apple.com>
537 Reviewed by Vicki Murley.
539 - removed some form-related methods that weren't being used anywhere, in preparation
540 for weaning WebKit's WebFormDelegate protocol from NSView.
542 * WebCoreSupport.subproj/WebBridge.m:
543 * WebView.subproj/WebFormDelegate.h:
544 * WebView.subproj/WebFormDelegate.m:
545 removed these methods:
546 -control:didFailToFormatString:errorDescription:
547 -control:didFailToValidatePartialString:errorDescription:
548 -control:isValidObject:
550 2005-07-20 Adele Peterson <adele@apple.com>
553 <rdar://problem/4125127> [WebKit] horizontal rulers don't render on Safari on web.apple.com
555 * WebCoreSupport.subproj/WebImageData.m:
556 (-[WebImageData _checkSolidColor:]):
558 2005-07-20 Adele Peterson <adele@apple.com>
561 <rdar://problem/4118278> mail divide by zero navigating messages
563 * WebCoreSupport.subproj/WebTextRenderer.m:
564 (-[WebTextRenderer _extendGlyphToWidthMapToInclude:font:]):
566 2005-07-20 John Sullivan <sullivan@apple.com>
568 Reviewed by Adele Peterson.
570 - added -[WebView selectedFrame] to SPI (pending public API), needed for 4180958
572 * WebView.subproj/WebView.m:
573 (-[WebView selectedFrame]):
574 new method, extracted from _selectedOrMainFrame
575 (-[WebView _selectedOrMainFrame]):
576 now calls extracted method
578 * WebView.subproj/WebViewPrivate.h:
579 add -selectedFrame to PendingPublic category
581 2005-07-19 John Sullivan <sullivan@apple.com>
583 Reviewed by Darin Adler.
585 - cleaned up code related to dealing with the "selected frame"; fixes radar bugs 4118830 and 4118820
587 * WebView.subproj/WebTextView.m:
588 (-[WebTextView resignFirstResponder]):
589 call deselectAll here instead of replicating its guts, just for clarity
591 * WebView.subproj/WebViewInternal.h:
592 eliminated category WebInternal; all of these methods were used only inside WebView.m, so I moved
593 them into the existing category WebFileInternal that was declared and implemented in WebView.m
595 * WebView.subproj/WebView.m:
596 (-[WebView searchFor:direction:caseSensitive:wrap:]):
597 updated for name changes. Also, uses new _deselectFrame: to clear the selection if the found
598 text is in a different frame.
599 (-[WebView pasteboardTypesForSelection]):
600 (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]):
601 (-[WebView setSelectedDOMRange:affinity:]):
602 (-[WebView selectedDOMRange]):
603 (-[WebView selectionAffinity]):
604 (-[WebView setTypingStyle:]):
605 (-[WebView typingStyle]):
606 (-[WebView styleDeclarationWithText:]):
607 (-[WebView replaceSelectionWithNode:]):
608 (-[WebView replaceSelectionWithText:]):
609 (-[WebView replaceSelectionWithMarkupString:]):
610 (-[WebView replaceSelectionWithArchive:]):
611 (-[WebView deleteSelection]):
612 (-[WebView applyStyle:]):
613 updated for name changes only
615 (-[WebView _frameIsSelected:]):
616 new method, returns YES if given frame has a non-zero-length selection
617 (-[WebView _deselectFrame:]):
618 new method, clears selection from given frame
619 (-[WebView _findSelectedFrameStartingFromFrame:]):
620 new method, recursive helper used by _findSelectedFrame
621 (-[WebView _findSelectedFrame]):
622 new method, finds first frame that returns YES for _frameIsSelected, or nil
623 (-[WebView _debugCollectSelectedFramesIntoArray:startingFromFrame:]):
624 new method, recursive helper used by _debugCheckForMultipleSelectedFrames
625 (-[WebView _debugCheckForMultipleSelectedFrames]):
626 new method for debugging, fires an assertion if there's more than one selected frame.
627 (-[WebView _selectedOrMainFrame]):
628 renamed from _frameForCurrentSelection, which was a misleading name since the returned
629 frame does not necessarily have a selection (or even focus). Now checks for a selected
630 but non-focused frame if the first responder is not in any frame. Also, moved in file
631 from WebInternal category to WebFileInternal category.
632 (-[WebView _bridgeForSelectedOrMainFrame]):
633 renamed from _bridgeForCurrentSelection, which was a misleading name for the same
634 reasons as _frameForCurrentSelection. Also, moved in file from WebInternal category to
635 WebFileInternal category.
636 (-[WebView _isLoading]):
637 (-[WebView _frameViewAtWindowPoint:]):
638 (-[WebView _bridgeAtPoint:]):
639 just moved in file from WebInternal category to WebFileInternal category
641 2005-07-19 Darin Adler <darin@apple.com>
643 Reviewed by Geoff Garen.
645 - improve handling of plug-ins when the WebView or a superview is hidden with -[NSView setHidden]
647 * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
648 Add "hidden" to the list of reasons to clip out all plug-in drawing.
650 2005-07-18 John Sullivan <sullivan@apple.com>
652 Written by Trey Matteson <trey@usa.net>
653 Reviewed by John Sullivan.
655 Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4049
656 scroll position not restored when going back/forward at ebay
657 Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4061
658 When going back/forward to some pages, they redraw at top before restoring scroll position
660 The short story is that attempting to restore the scroll position
661 at the time when the first layout finishes addresses both of these
662 issues. An explanation of the underlying race condition is in
663 a large comment near -_restoreScrollPosition.
665 * WebCoreSupport.subproj/WebBridge.m:
666 (-[WebBridge didFirstLayout]): Pass through to WebFrame.
667 * WebView.subproj/WebFrame.m:
668 (-[WebFrame _transitionToCommitted:]): Get rid of attempt to
669 restoreScrollPosition that never did anything because the
670 docView was always 0x0 size at that point.
671 (-[WebFrame _opened]): Get rid of redundant call to restoreScrollPosition.
672 The imminent call to layoutCompleted makes the same call.
673 (-[WebFrame _didFirstLayout]): Restore the scroll position on
674 first layout, if we're doing a b/f nav.
675 * WebView.subproj/WebFrameInternal.h:
677 2005-07-18 John Sullivan <sullivan@apple.com>
679 Reviewed by Darin Adler.
682 <rdar://problem/4158121> context menu in PDF view should contain the selection-based items like Copy
683 <rdar://problem/4184691> WebPDFView should conform to the WebDocumentElement protocol
684 <rdar://problem/4184663> "Search in Spotlight" is present but dimmed in context menu for plain-text documents
686 * WebView.subproj/WebDefaultContextMenuDelegate.m:
687 (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
688 added ASSERT and comments
690 * WebView.subproj/WebHTMLView.m:
691 (-[WebHTMLView _searchWithGoogleFromMenu:]):
692 removed this method (now handled by WebView)
693 (-[WebHTMLView _searchWithSpotlightFromMenu:]):
695 (-[WebHTMLView validateUserInterfaceItem:]):
696 removed validation for removed items. The validation wasn't necessary anyway, since we only put these items
697 in the menu in the case where they should be enabled.
699 * WebView.subproj/WebPDFView.h:
700 now conforms to WebDocumentElement protocol (which lets [WebView elementAtPoint:] work better)
701 * WebView.subproj/WebPDFView.m:
702 (-[WebPDFView copy:]):
703 added, hands off to PDFView, needed to enable Copy in context menu
704 (-[WebPDFView _pointIsInSelection:]):
705 new method, checks whether given point is in the selected bounds
706 (-[WebPDFView elementAtPoint:]):
707 add WebElementIsSelectedKey to returned element
708 (-[WebPDFView menuForEvent:]):
709 use actual point instead of dummy placeholder, now that we have code that pays attention to the point
711 * WebView.subproj/WebView.m:
712 (-[WebView _searchWithGoogleFromMenu:]):
713 moved here from WebHTMLView so it will work for any documentView that conforms to WebDocumentText.
714 Rewrote slightly to be non-WebHTMLView-specific. (This menu item was always enabled in Safari because
715 Safari replaces its action, but it would not have been always enabled in other WebKit clients, though
716 it should have been.)
717 (-[WebView _searchWithSpotlightFromMenu:]):
718 moved here from WebHTMLView so it will work for any documentView that conforms to WebDocumentText.
719 Rewrote slightly to be non-WebHTMLView-specific.
721 2005-07-18 John Sullivan <sullivan@apple.com>
723 Reviewed by Richard Williamson.
725 - fixed <rdar://problem/4184366> WebPDFView should conform to the WebDocumentSelection protocol
727 * Misc.subproj/WebNSAttributedStringExtras.h: Added.
728 * Misc.subproj/WebNSAttributedStringExtras.m: Added.
729 (-[NSAttributedString _web_attributedStringByStrippingAttachmentCharacters]):
730 New category on NSAttributedString, initially contains this one method that had been in WebHTMLView.
732 * WebView.subproj/WebHTMLView.m:
733 (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
734 now uses _web_attributedStringByStrippingAttachmentCharacters
736 * WebView.subproj/WebPDFView.h:
737 now conforms to WebDocumentSelection protocol
738 * WebView.subproj/WebPDFView.m:
739 (-[WebPDFView selectionRect]):
740 new, implementation of WebDocumentSelection protocol method
741 (-[WebPDFView pasteboardTypesForSelection]):
743 (-[WebPDFView writeSelectionWithPasteboardTypes:toPasteboard:]):
746 * WebKit.pbproj/project.pbxproj:
747 updated for new files
749 2005-07-18 John Sullivan <sullivan@apple.com>
751 Reviewed by Chris Blumenberg.
753 - some refactoring cleanup in the selection/searching code
755 * Misc.subproj/WebSearchableTextView.h:
756 moved WebDocumentSelection protocol conformation to this class, was in subclass WebTextView
757 * Misc.subproj/WebSearchableTextView.m:
758 (-[WebSearchableTextView selectionRect]):
759 new method (moved here from Safari) to return a single rect encompassing all selected text
760 (-[WebSearchableTextView pasteboardTypesForSelection]):
761 moved here from WebTextView
762 (-[WebSearchableTextView writeSelectionWithPasteboardTypes:toPasteboard:]):
765 * WebView.subproj/WebDocumentInternal.h:
766 moved WebDocumentSelection protocol out of here
768 * WebView.subproj/WebDocumentPrivate.h:
769 moved WebDocumentSelection protocol into here, added selectionRect method
771 * WebView.subproj/WebHTMLView.m:
772 (-[WebHTMLView selectionRect]):
773 new method, calls existing bridge method formerly called by _selectionRect
774 (-[WebHTMLView _selectionRect]):
775 now calls [self selectionRect]. We can't just delete _selectionRect because it's used by Mail.
777 * WebView.subproj/WebHTMLViewPrivate.h:
778 removed _selectionRect since it's in WebDocumentSelection now
780 * WebView.subproj/WebTextView.h:
781 removed WebDocumentSelection from protocol list since it's in superclass now
783 * WebView.subproj/WebTextView.m:
784 removed old WebDocumentSelection methods because they are in superclass now
786 2005-07-15 Adele Peterson <adele@apple.com>
788 Written by Trey Matteson <trey@usa.net>
789 Reviewed by John Sullivan.
791 Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3910 - REGRESSION: Replying "Cancel" to the form repost nag leaves wrong b/f cursor
793 * WebView.subproj/WebFrame.m:
794 (-[WebFrame _resetBackForwardList]): new helper method
795 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
796 If the delegate bailed on the navigation, tell the main frame
797 to reset the b/f cursor back to where it was before we started.
799 2005-07-15 John Sullivan <sullivan@apple.com>
801 Written by Trey Matteson
804 Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=4013
805 text find doesn't wrap in PDF files
807 This just works once WebPDFView implements the WebDocumentText protocol, which is
808 mostly just a matter of forwarding the methods to PDFKit appropriately.
810 * WebView.subproj/WebPDFView.h:
811 * WebView.subproj/WebPDFView.m:
812 (-[WebPDFView supportsTextEncoding]):
813 (-[WebPDFView string]):
814 (-[WebPDFView attributedString]):
815 (-[WebPDFView selectedString]):
816 (-[WebPDFView selectedAttributedString]):
817 (-[WebPDFView selectAll]):
818 (-[WebPDFView deselectAll]):
820 2005-07-15 John Sullivan <sullivan@apple.com>
822 Reviewed by Kevin Decker.
824 - fixed <rdar://problem/4181884> Searching for text that overlaps selection works
825 differently in PDFView than in HTMLView
827 * WebView.subproj/WebPDFView.m:
828 (PDFSelectionsAreEqual):
829 new function, stand-in for nonexistent -[PDFSelection isEqual:] since calling isEqual:
830 on two identical PDFSelections returns NO
831 (-[WebPDFView searchFor:direction:caseSensitive:wrap:]):
832 Make search algorithm match that in WebCore: initially search inside selection, then check for the case
833 where the found text exactly matches the previous selection, and search from past the selection if so.
834 The implementation is slightly more complicated than it should be due to PDFKit API limitations (about
835 which I added FIXMEs and filed bugs)
837 2005-07-15 John Sullivan <sullivan@apple.com>
839 Reviewed by Maciej Stachowiak.
842 <rdar://problem/4181875> Searching for text that overlaps selection works differently in WebTextView than in HTMLView
843 <rdar://problem/3393678> Find not finding text in plain (non-HTML) if all text is selected
845 * Misc.subproj/WebSearchableTextView.m:
846 (-[NSString findString:selectedRange:options:wrap:]):
847 Make search algorithm match that in WebCore: initially search inside selection, then check for the case
848 where the found text exactly matches the previous selection, and search from past the selection if so.
850 2005-07-14 John Sullivan <sullivan@apple.com>
852 Reviewed by Dave Hyatt.
854 - WebKit part of fix for:
855 <rdar://problem/4181227> webpages incorrectly use standard instead of secondary highlighting in certain cases
857 * WebCoreSupport.subproj/WebBridge.m:
858 (-[WebBridge formControlIsResigningFirstResponder:]):
859 Implementation of new method defined in WebCore, passes call along to WebHTMLView
861 * WebView.subproj/WebHTMLViewInternal.h:
862 declare _formControlIsResigningFirstResponder: so bridge can call it
864 * WebView.subproj/WebHTMLView.m:
865 (-[WebHTMLView updateFocusState]):
866 just moved in file so it could be called from a different category
867 (-[WebHTMLView _formControlIsResigningFirstResponder:]):
868 new method, updates focus state
870 2005-07-14 John Sullivan <sullivan@apple.com>
872 added missing #import to fix build
873 * WebView.subproj/WebPDFView.m
875 2005-07-14 Kevin Decker <kdecker@apple.com>
879 Fixed: <rdar://problem/4122282> clicking a link in an PDF file opens the link with NSWorkspace without the usual security checks or WebView delegate control
881 * WebView.subproj/WebFrame.m:
882 (-[WebFrame _safeLoadURL:]): added
883 * WebView.subproj/WebFrameInternal.h:
884 * WebView.subproj/WebPDFView.m:
885 (-[WebPDFView initWithFrame:]):
886 (-[WebPDFView PDFViewWillClickOnLink:withURL:]): prevents evilness with a call to _safeLoadURL
887 * WebView.subproj/WebTextView.m:
888 (-[WebTextView clickedOnLink:atIndex:]): factored calling out to the bridge, and instead call _safeLoadURL
890 2005-07-14 Vicki Murley <vicki@apple.com>
892 Reviewed by Kocienda.
894 - WebKit part of fix for <rdar://problem/4172380> [GENENTECH] window.opener
895 not available when child opened via target="_new"
897 Add a setOpener function to the WebCore bridge, and call this function when opening
898 new windows through Web Kit.
900 * WebView.subproj/WebFrame.m:
901 (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
903 2005-07-13 Justin Garcia <justin.garcia@apple.com>
907 Rolling in changes necessary to build with newer versions of gcc 4.0
909 * History.subproj/WebHistoryItem.m:
910 (-[WebHistoryItem copyWithZone:]):
911 * Misc.subproj/WebNSPasteboardExtras.m:
912 (-[NSPasteboard _web_writeImage:URL:title:archive:types:]):
913 * Misc.subproj/WebNSURLExtras.m:
914 (-[NSURL _web_URLWithLowercasedScheme]):
915 (-[NSString _web_mapHostNameWithRange:encode:makeString:]):
916 * WebCoreSupport.subproj/WebBridge.m:
917 (-[WebBridge MIMETypeForPath:]):
918 * WebCoreSupport.subproj/WebImageRendererFactory.m:
919 (-[WebImageRendererFactory imageRendererWithBytes:length:MIMEType:]):
920 * WebCoreSupport.subproj/WebTextRenderer.m:
921 (-[WebTextRenderer initWithFont:usingPrinterFont:]):
922 * WebView.subproj/WebFrame.m:
923 (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
924 * WebView.subproj/WebHTMLView.m:
925 (-[WebHTMLView _styleFromFontAttributes:]):
926 * WebView.subproj/WebView.m:
927 (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]):
928 (-[WebView mainFrameTitle]):
930 2005-07-13 John Sullivan <sullivan@apple.com>
932 Reviewed by Maciej Stachowiak.
934 - cleaned up Find-related experimental code that I checked in a while back
936 * WebView.subproj/WebHTMLView.m:
937 (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
938 remove variant of this method that had findInSelection flag; this method is now
939 the same as it was on Tiger.
941 * WebView.subproj/WebView.m:
942 (-[WebView searchFor:direction:caseSensitive:wrap:]):
945 2005-07-12 Geoffrey Garen <ggaren@apple.com>
947 -rolled in patch by opendarwin.org@mitzpettel.com
948 for http://bugzilla.opendarwin.org/show_bug.cgi?id=3435
949 Parentheses are backwards in Hebrew text (no bidi mirroring?)
953 Layout test added to WebCore.
955 * WebCoreSupport.subproj/WebTextRenderer.h:
956 * WebCoreSupport.subproj/WebTextRenderer.m:
957 (-[WebTextRenderer _initializeATSUStyle]):
958 (applyMirroringToRun):
959 (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]):
960 (-[WebTextRenderer _ATSU_drawRun:style:geometry:]):
961 (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
963 2005-07-12 Ken Kocienda <kocienda@apple.com>
965 Reviewed by Chris Blumenberg
967 * WebCoreSupport.subproj/WebBridge.m: Removed some glue that allowed one
968 of two unicode (TEC or ICU ) to be chosen at runtime. I just added this
969 dual support yesterday, and while Maciej and I agreed that it was good
970 to land in the tree in case we run into problems in the near future, we
971 also agreed that cutting over to using ICU full time right now is
972 probably the best way to find bugs.
974 2005-07-11 Ken Kocienda <kocienda@apple.com>
978 * WebCoreSupport.subproj/WebBridge.m:
979 (+[WebBridge setTextConversionMethod:]): New method to support switching text conversion method.
980 (+[WebBridge textConversionMethod]): Returns current text conversion method.
982 2005-07-11 Kevin Decker <kdecker@apple.com>
984 Reviewed by cblu and mjs.
986 Fixed: <rdar://problem/4099552> REGRESSION: Safari 1.3 Netscape API NPN_PostURL[Notify] no longer allows manual headers
988 Most plugins (flash) send 2 CRFL's between the header and body of their POST requests, while the adboe plugin sends two LF's. This caused us to send custom headers as part of the actual POST data itself, and correspondently, would skew Content-Length.
990 * Plugins.subproj/WebBaseNetscapePluginView.m:
991 (-[NSData _web_locationAfterFirstBlankLine]): Look for two LF's as well
993 2005-07-09 Maciej Stachowiak <mjs@apple.com>
995 - back out my revent page cache changes, turns out they cause a
996 major performance regression on PLT
998 * WebView.subproj/WebFrame.m:
999 (-[WebFrame _purgePageCache]):
1001 2005-07-09 Maciej Stachowiak <mjs@apple.com>
1005 Replace int with unsigned, to avoid going into a huge loop when
1006 back list count is 0.
1008 * WebView.subproj/WebFrame.m:
1009 (-[WebFrame _purgePageCache]):
1011 2005-07-09 Maciej Stachowiak <mjs@apple.com>
1013 - fixed broken Development build
1015 * WebView.subproj/WebFrame.m:
1016 (-[WebFrame _purgePageCache]):
1018 2005-07-09 Maciej Stachowiak <mjs@apple.com>
1022 - fix page cache purging logic; this gets rid of a bug where the
1023 page cache would grow without bound if the oldest page cache item
1024 was the snapback item, and changed the rule a bit so page cache
1025 items farther back than the max size get purged, even if fewer
1026 than the max size are in current use.
1028 * WebView.subproj/WebFrame.m:
1029 (-[WebFrame _purgePageCache]):
1031 2005-07-08 Geoffrey Garen <ggaren@apple.com>
1033 Rolled in patch by opendarwin.org@mitzpettel.com
1035 -fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=3818
1036 Fallback font doesn't have requested weight in ATSUI-rendered text
1038 (See WebCore Changelog for layout test)
1042 * WebCoreSupport.subproj/WebTextRenderer.m:
1043 (-[WebTextRenderer _createATSUTextLayoutForRun:style:]):
1045 2005-07-05 Adele Peterson <adele@apple.com>
1047 Rolling out changes for <rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail)
1048 since it caused a 2% performance regression.
1050 * WebCoreSupport.subproj/WebTextRenderer.m:
1052 (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]):
1053 (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
1054 (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]):
1055 (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
1056 (initializeCharacterWidthIterator):
1057 (widthForNextCharacter):
1059 2005-07-05 John Sullivan <sullivan@apple.com>
1061 Reviewed by Chris Blumenberg.
1063 - fixed <rdar://problem/4158230> Zoom In/Zoom Out in PDF context menu don't update window's notion of text size
1065 * WebView.subproj/WebPDFView.m:
1066 (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
1067 Redirect Actual Size, Zoom In, and Zoom Out context menu items so that they behave exactly like Make Text Standard Size,
1068 Make Text Larger, and Make Text Smaller.
1070 2005-07-01 John Sullivan <sullivan@apple.com>
1072 Reviewed by Darin Adler.
1074 - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3711: Displayed PDF have limited options in contextual menu
1076 This was a problem with using Tiger's version of Safari with tip of tree WebKit.
1078 * WebView.subproj/WebPDFView.m:
1079 (-[WebPDFView _anyPDFTagsFoundInMenu:]):
1080 new method, returns YES if the menu contains any items with any of the new PDF-related tags.
1081 (-[WebPDFView menuForEvent:]):
1082 If the executable was linked on Tiger or older (but it will never be older, since this code is
1083 new to Tiger), force all of the PDF-related items into the menu if none of them were there
1084 after processing by the delegate.
1086 2005-06-30 Darin Adler <darin@apple.com>
1088 Reviewed by John Sullivan.
1090 - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3774>
1091 do renaming so that loaders are called "loader", not "client" or "delegate"
1093 * Misc.subproj/WebIconLoader.h:
1094 * Plugins.subproj/WebNetscapePluginStream.h:
1095 * Plugins.subproj/WebNetscapePluginStream.m:
1096 (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
1097 (-[WebNetscapePluginStream start]):
1098 (-[WebNetscapePlugInStreamLoader didFinishLoading]):
1099 (-[WebNetscapePlugInStreamLoader didFailWithError:]):
1100 (-[WebNetscapePlugInStreamLoader cancelWithError:]):
1101 * WebCoreSupport.subproj/WebBridge.m:
1102 (-[WebBridge startLoadingResource:withURL:customHeaders:]):
1103 (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]):
1104 (-[WebBridge canRunModalNow]):
1105 * WebCoreSupport.subproj/WebSubresourceClient.h: Removed.
1106 * WebCoreSupport.subproj/WebSubresourceClient.m: Removed.
1107 * WebCoreSupport.subproj/WebSubresourceLoader.h:
1108 * WebCoreSupport.subproj/WebSubresourceLoader.m:
1109 (-[WebSubresourceLoader initWithLoader:dataSource:]):
1110 (-[WebSubresourceLoader dealloc]):
1111 (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
1112 (+[WebSubresourceLoader startLoadingResource:withURL:customHeaders:referrer:forDataSource:]):
1113 (+[WebSubresourceLoader startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]):
1114 (-[WebSubresourceLoader didReceiveResponse:]):
1115 (-[WebSubresourceLoader didReceiveData:lengthReceived:]):
1116 (-[WebSubresourceLoader didFinishLoading]):
1117 (-[WebSubresourceLoader didFailWithError:]):
1118 (-[WebSubresourceLoader cancel]):
1119 * WebKit.pbproj/project.pbxproj:
1120 * WebView.subproj/WebBaseResourceHandleDelegate.h: Removed.
1121 * WebView.subproj/WebBaseResourceHandleDelegate.m: Removed.
1122 * WebView.subproj/WebDataSource.m:
1123 (-[WebDataSourcePrivate dealloc]):
1124 (-[WebDataSource _setLoading:]):
1125 (-[WebDataSource _updateLoading]):
1126 (-[WebDataSource _setPrimaryLoadComplete:]):
1127 (-[WebDataSource _startLoading:]):
1128 (-[WebDataSource _addSubresourceLoader:]):
1129 (-[WebDataSource _removeSubresourceLoader:]):
1130 (-[WebDataSource _addPlugInStreamLoader:]):
1131 (-[WebDataSource _removePlugInStreamLoader:]):
1132 (-[WebDataSource _stopLoadingInternal]):
1133 (-[WebDataSource _defersCallbacksChanged]):
1134 (-[WebDataSource _stopLoadingWithError:]):
1135 (-[WebDataSource data]):
1136 (-[WebDataSource isLoading]):
1137 * WebView.subproj/WebDataSourcePrivate.h:
1138 * WebView.subproj/WebLoader.h:
1139 * WebView.subproj/WebLoader.m:
1140 * WebView.subproj/WebMainResourceClient.h: Removed.
1141 * WebView.subproj/WebMainResourceClient.m: Removed.
1142 * WebView.subproj/WebMainResourceLoader.h:
1143 * WebView.subproj/WebMainResourceLoader.m:
1144 (-[WebMainResourceLoader didReceiveResponse:]):
1146 2005-06-29 David Harrison <harrison@apple.com>
1148 Reviewed by Dave Hyatt (rendering) and Maciej (editing).
1150 Test cases added: Coming soon. Will include with next round of changes for this bug.
1152 This is the first checkin for...
1154 <rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail)
1156 Basic strategy is to put tabs into spans with white-space:pre style, and
1157 render them with tabs stops every 8th space, where the space width and
1158 the left margin are those of the enclosing block.
1160 What's left is to switch to implement white-space:pre-wrap so
1161 that we can coalesce consecutive tabs while maintaining proper
1162 line breaking. That will keep the markup smaller.
1164 * WebCoreSupport.subproj/WebTextRenderer.m:
1166 (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]):
1167 (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
1168 (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]):
1169 (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
1170 (initializeCharacterWidthIterator):
1171 (widthForNextCharacter):
1173 2005-06-29 John Sullivan <sullivan@apple.com>
1177 - deleted some never-used stub code
1179 * WebView.subproj/WebView.m:
1180 * WebView.subproj/WebViewInternal.h:
1181 * WebView.subproj/WebViewPrivate.h:
1183 2005-06-27 Justin Garcia <justin.garcia@apple.com>
1185 Patch by Anders Carlsson <andersca@mac.com>
1189 - Fixes <http://bugzilla.opendarwin.org/show_bug.cgi?id=3489>
1190 WebView's setSelectedDOMRange doesn't not implement clearing the selection as described in the WebView documentation:
1191 <http://developer.apple.com/documentation/Cocoa/Reference/WebKit/ObjC_classic/Classes/WebView.html>
1193 * WebView.subproj/WebView.m:
1194 (-[WebView setSelectedDOMRange:affinity:]):
1195 If range is nil, call deselectText.
1197 2005-06-24 Justin Garcia <justin.garcia@apple.com>
1199 Patch contributed by Duncan Wilcox <duncan@mclink.it>
1203 - Fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3535>
1204 Spelling suggestions in the context menu don't call the should* delegate methods
1206 * WebView.subproj/WebHTMLView.m:
1207 (-[WebHTMLView _changeSpellingFromMenu:]):
1208 give delegate's webView:shouldInsertText:replacingDOMRange:givenAction: a chance
1209 to prevent replacing of selected text
1211 2005-06-22 John Sullivan <sullivan@apple.com>
1213 Reviewed by Chris Blumenberg.
1215 - fixed <rdar://problem/3764645> please add a way to allow WebKit clients to override the WebPDFView context menu
1217 * PublicHeaderChangesFromTiger.txt: Added.
1218 New file to keep track of changes made to public headers that haven't been through API review yet.
1219 Initially lists the WebMenuItem enum tags added to WebUIDelegate.h as part of this change.
1221 * WebView.subproj/WebDefaultContextMenuDelegate.m:
1222 (-[WebDefaultUIDelegate appendDefaultItems:toArray:]):
1223 new method, handles initial separator
1224 (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
1225 now has defaultMenuItems: parameter. Any menu items in this array are appended at the end of
1227 (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
1229 (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
1230 This had a defaultMenuItems parameter before but it was always nil. Now it passes the defaultMenuItems
1231 parameter on to the two methods that construct lists (one for editing, the other for viewing). Also
1232 tweaked variable name and type for clarity.
1234 * WebView.subproj/WebHTMLView.m:
1235 (-[WebHTMLView menuForEvent:]):
1236 passes nil for new defaultItems parameter of _menuForElement:
1238 * WebView.subproj/WebImageView.m:
1239 (-[WebImageView menuForEvent:]):
1242 * WebView.subproj/WebTextView.m:
1243 (-[WebTextView menuForEvent:]):
1246 * WebView.subproj/WebPDFView.m:
1247 (-[WebPDFView elementAtPoint:]):
1248 new method to create the element dictionary needed for _menuForElement:defaultItems:. Only supplies the
1249 webFrame at this point.
1250 (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
1251 new method to return copies of the menu items that PDFKit would include in the context menu, with
1253 (-[WebPDFView menuForEvent:]):
1254 now calls standard WebKit context menu mechanism, so clients' delegates can modify the context menu as
1255 desired. The initial set of items are the ones WebKit was already displaying for PDF context menus.
1257 * WebView.subproj/WebUIDelegate.h:
1258 added enum values for the menu items in the PDF context menu
1260 * WebView.subproj/WebViewPrivate.h:
1261 * WebView.subproj/WebView.m:
1262 (-[WebView _menuForElement:defaultItems:]):
1263 Added the defaultItems: parameter to this method, which is then passed along to WebDefaultUIDelegate.
1264 All callers pass nil except for WebPDFView, at least for now.
1266 2005-06-22 Darin Adler <darin@apple.com>
1268 Change by Mitz Pettel.
1271 - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3618>
1272 RTL runs drawn by CG not reversed properly
1274 * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _CG_drawRun:style:geometry:]):
1275 Fix off-by-one mistake in order-swapping loops.
1277 2005-06-22 Darin Adler <darin@apple.com>
1279 Change by Michael Gaiman.
1282 - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3436>
1283 Missing implementation of -[NSData(WebNSDateExtras) _webkit_parseRFC822HeaderFields]
1285 * Misc.subproj/WebNSDataExtras.h: Fixed name of category say NSData, not NSDate.
1286 * Misc.subproj/WebNSDataExtras.m: (-[NSData _webkit_parseRFC822HeaderFields]): Fixed method name.
1288 2005-06-21 John Sullivan <sullivan@apple.com>
1290 Reviewed by Vicki Murley
1292 - fixed assertion failure Vicki ran into
1294 * Misc.subproj/WebIconDatabase.m:
1295 (-[WebIconDatabase _forgetIconForIconURLString:]):
1296 Handle the case where there are no associated page URLs for the icon URL
1298 2005-06-20 John Sullivan <sullivan@apple.com>
1300 Reviewed by Chris Blumenberg.
1302 - fixed <rdar://problem/4155182> icon database retain counts can be incorrect after removing all icons
1304 Replaced the concept of "future retain count per page URL" with a simpler concept of "retain count per
1305 page URL", which is maintained even after the icon is actually loaded (unlike the future retain count).
1306 The total retain count for an icon is now the sum of the retain counts per page URL along with any retain
1307 count not associated with a page URL -- this is still needed for some internal housekeeping purposes.
1309 * Misc.subproj/WebIconDatabasePrivate.h:
1310 renamed iconURLToURLs -> iconURLToPageURLs for clarity
1311 renamed URLToIconURL -> pageURLToIconURL for clarity
1312 renamed futureURLToRetainCount -> pageURLToRetainCount (there's no more "future" aspect)
1313 renamed iconURLToRetainCount -> iconURLToExtraRetainCount (it now maintains only some of the retain count)
1315 * Misc.subproj/WebIconDatabase.m:
1316 (+[WebIconDatabase sharedIconDatabase]):
1317 updated for name changes only
1318 (-[WebIconDatabase init]):
1320 (-[WebIconDatabase iconForURL:withSize:cache:]):
1322 (-[WebIconDatabase iconURLForURL:]):
1324 (-[WebIconDatabase retainIconForURL:]):
1325 just bump the retain count in pageURLToRetainCount, instead of behaving differently based on whether
1326 an icon had been loaded for this URL; this let me delete the internal method _retainFutureIconForURL:
1327 (-[WebIconDatabase releaseIconForURL:]):
1328 decrement the retain count in pageURLToRetainCount, then handle the case where the retain count for
1329 this page has gone to zero. I deleted the internal method _releaseFutureIconForURL: formerly called here.
1330 (-[WebIconDatabase removeAllIcons]):
1331 remove all the code that dealt with retain counts; this operation no longer affects retain counts
1332 (-[WebIconDatabase _setIconURL:forURL:]):
1333 remove the code that consolidated multiple retain counts for different page URLs into a single retain
1334 count; the multiple retain counts are now maintained even after the icon is loaded
1335 (-[WebIconDatabase _clearDictionaries]):
1336 updated for name changes only
1337 (-[WebIconDatabase _loadIconDictionaries]):
1339 (-[WebIconDatabase _updateFileDatabase]):
1341 (-[WebIconDatabase _totalRetainCountForIconURLString:]):
1342 new method, sums the retain counts associated with specific page URLs and the extra retain count
1343 not associated with specific page URLs
1344 (-[WebIconDatabase _retainIconForIconURLString:]):
1345 updated for name changes
1346 (-[WebIconDatabase _forgetIconForIconURLString:]):
1347 no longer affects retain counts at all; this is up to callers
1348 (-[WebIconDatabase _releaseIconForIconURLString:]):
1349 this now distinguishes the case where the retain count not associated with any page URLs hits
1350 zero from the case where the total retain count hits zero, and handles both
1352 2005-06-20 John Sullivan <sullivan@apple.com>
1354 Reviewed by Chris Blumenberg.
1356 - added support for emptying the icon database
1358 * Misc.subproj/WebIconDatabase.h: just fixed a typo
1359 * Misc.subproj/WebIconDatabasePrivate.h:
1360 added WebPendingPublic category with method removeAllIcons, and
1361 declared WebIconDatabaseDidRemoveAllIconsNotification string.
1363 * Misc.subproj/WebIconDatabase.m:
1364 (-[WebIconDatabase removeAllIcons]):
1365 new method, removes all known icons from memory and disk. There's one loose end,
1366 covered by radar bug 4155182, where it's possible for the icon database's retain
1367 counts to get off after this operation. I plan to fix this next.
1368 (-[WebIconDatabase _setIconURL:forURL:]):
1369 just fixed some extra whitespace
1370 (-[WebIconDatabase _forgetIconForIconURLString:]):
1371 new method, extracted from _releaseIconForIconURLString
1372 (-[WebIconDatabase _releaseIconForIconURLString:]):
1373 now calls extracted method
1376 added _WebIconDatabaseDidRemoveAllIconsNotification
1378 2005-06-19 Darin Adler <darin@apple.com>
1380 Changes by Mitz Pettel
1383 - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3466>
1384 ATSUI text doesn't render at coordinates greater than 32K
1386 * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _ATSU_drawRun:style:geometry:]):
1387 Translate the matrix of the CGContext instead of passing the appropriate coordinates to ATSU.
1389 2005-06-17 Richard Williamson <rjw@apple.com>
1391 Changes by Mitz Pettel
1392 Reviewed by Richard Williamson.
1394 Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3545
1396 * WebCoreSupport.subproj/WebTextRenderer.m:
1397 (reverseCharactersInRun):
1398 (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
1400 2005-06-17 John Sullivan <sullivan@apple.com>
1404 - fixed <rdar://problem/4151001> Reloading javascript-spawned window with no URL erases its contents
1406 * WebView.subproj/WebFrame.m:
1407 (-[WebFrame reload]):
1408 do nothing if URL is zero-length
1410 2005-06-14 John Sullivan <sullivan@apple.com>
1412 Changes by Devin Lane.
1415 - fixed <rdar://problem/3766909> PDF viewing could use a zoom control other than the one in the context menu
1417 * WebView.subproj/WebPDFView.h:
1418 now implements protocol _web_WebDocumentTextSizing
1419 * WebView.subproj/WebPDFView.m:
1420 (-[WebPDFView _updateScalingToReflectTextSize]):
1421 new method, sets the PDF scaling from the text size multiplier
1422 (-[WebPDFView setDataSource:]):
1423 call _updateScalingToReflectTextSize
1424 (-[WebPDFView _web_textSizeMultiplierChanged]):
1425 implementation of protocol _web_WebDocumentTextSizing, calls _updateScalingToReflectTextSize
1427 2005-06-14 John Sullivan <sullivan@apple.com>
1429 Reviewed by Dave Harrison.
1431 * WebView.subproj/WebHTMLView.m:
1432 (-[WebHTMLView _delayedEndPrintMode:]):
1433 After discussing this with Dave, I made this method both more debugger-friendly with asserts for
1434 the cases we don't think could ever happen, and more paranoid by handling these cases in deployment
1437 2005-06-14 Darin Adler <darin@apple.com>
1439 - fixed build for Xcode 2.1
1441 * WebKit.pbproj/project.pbxproj: Use BUILT_PRODUCTS_DIR instead of SYMROOT to search for the
1442 WebKitSystemInterface.h file. We could re-jigger this again later, but for now this is consistent
1443 with both the .a file's location and where build-webkit puts the file.
1445 2005-06-13 John Sullivan <sullivan@apple.com>
1447 Reviewed by Dave Harrison and Maciej.
1449 * WebView.subproj/WebHTMLView.m:
1450 (-[WebHTMLView _endPrintMode]):
1451 new method, extracted from identical code in beginDocument and endDocument. This method must be called
1452 once to counterbalance the code called from knowsPageRange that turns on "printing mode".
1453 (-[WebHTMLView _delayedEndPrintMode:]):
1454 new method, called from "perform after delay". Checks whether the same print operation is still underway
1455 and, if so, delays further. Otherwise calls _endPrintMode directly.
1456 (-[WebHTMLView knowsPageRange:]):
1457 after turning on "printing mode", queue up a delayed call to _delayedEndPrintMode:. If there's an early
1458 error in the print mechanism such that beginDocument is never called, this will cleanly end "printing
1459 mode" and make the webview usable again.
1460 (-[WebHTMLView beginDocument]):
1461 cancel any delayed call to _delayedEndPrintMode:. If we get this far along in printing, then we don't need
1462 the failsafe call to _delayedEndPrintMode: that was set up in knowsPageRange:. Also, call extracted method.
1463 (-[WebHTMLView endDocument]):
1464 call extracted method
1466 2005-06-13 Maciej Stachowiak <mjs@apple.com>
1468 Reviewed by Chris Blumenberg and Adele.
1470 - better fix for <rdar://problem/4142247> REGRESSION: List to browse widgets at Apple website failed. Closing tab afterwards caused Safari crash
1471 http://bugzilla.opendarwin.org/show_bug.cgi?id=3445
1473 With this change and the matching WebKit change we'll still stop loading the moment you click
1474 a download link, but the unload event and detaching of event handlers will not happen early any more.
1476 * WebView.subproj/WebDataSource.m:
1477 (-[WebDataSource _stopLoadingInternal]): call stopLoading on bridge instead of closeURL.
1478 * WebView.subproj/WebFrame.m:
1479 (-[WebFrame _transitionToCommitted:]): Revert previous attempt at fix.
1480 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): ditto
1481 (-[WebFrame stopLoading]): ditto
1483 2005-06-13 Chris Petersen <cpetersen@apple.com>
1488 - fixed problems building deployment due to recent init change
1490 * WebView.subproj/WebArchive.m: (-[WebArchive initWithCoder:]):
1491 Put the [super init] call and check for nil outside the exception handler.
1492 * WebView.subproj/WebResource.m: (-[WebResource initWithCoder:]): Ditto.
1494 2005-06-12 Darin Adler <darin@apple.com>
1498 - fixed <rdar://problem/4141569> REGRESSION (412+): printing fails on any page with images, and for standalone images
1499 also <http://bugzilla.opendarwin.org/show_bug.cgi?id=3318>
1501 * WebCoreSupport.subproj/WebImageData.m: Got rid of use of tabs instead of spaces throughout the file.
1502 (-[WebImageData _checkSolidColor:]): Wrap use of NSGraphicsContext with an autorelease pool.
1503 (-[WebImageData _fillSolidColorInRect:compositeOperation:context:]): Ditto.
1504 (-[WebImageData tileInRect:fromPoint:context:]): Ditto.
1505 (-[WebImageData _PDFDrawFromRect:toRect:operation:alpha:flipped:context:]): Ditto.
1507 2005-06-12 Darin Adler <darin@apple.com>
1509 Changes by Nick Zitzmann.
1512 - fixed init methods that don't handle return values from the init methods they call
1514 * WebView.subproj/WebArchive.m:
1515 (-[WebArchive init]): Use value returned by init, check it for nil too.
1516 (-[WebArchive initWithMainResource:subresources:subframeArchives:]): Ditto.
1517 (-[WebArchive _initWithPropertyList:]): Ditto.
1518 (-[WebArchive initWithCoder:]): Ditto.
1519 * WebView.subproj/WebClipView.m:
1520 (-[WebClipView initWithFrame:]): Ditto.
1521 * WebView.subproj/WebDebugDOMNode.m:
1522 (-[WebDebugDOMNode initWithName:value:source:children:]): Ditto.
1523 * WebView.subproj/WebFrame.m:
1524 (-[WebFormState initWithForm:values:sourceFrame:]): Ditto.
1525 (-[WebFrame initWithName:webFrameView:webView:]): Ditto.
1526 * WebView.subproj/WebFrameView.m:
1527 (-[WebFrameView initWithFrame:]): Ditto.
1528 * WebView.subproj/WebHTMLRepresentation.m:
1529 (-[WebHTMLRepresentation init]): Ditto.
1530 * WebView.subproj/WebHTMLView.m:
1531 (-[WebHTMLView initWithFrame:]): Ditto.
1532 (-[WebTextCompleteController initWithHTMLView:]): Ditto.
1533 * WebView.subproj/WebImageView.m:
1534 (-[WebImageView initWithFrame:]): Ditto.
1535 * WebView.subproj/WebPreferences.m:
1536 (-[WebPreferences initWithIdentifier:]): Ditto.
1537 * WebView.subproj/WebRenderNode.m:
1538 (-[WebRenderNode initWithName:position:rect:view:children:]): Ditto.
1539 * WebView.subproj/WebResource.m:
1540 (-[WebResource init]): Ditto.
1541 (-[WebResource initWithCoder:]): Ditto.
1542 * WebView.subproj/WebView.m:
1543 (-[WebViewPrivate init]): Call super init.
1544 (-[_WebSafeForwarder initWithTarget:defaultTarget:templateClass:]): Use value returned by init, check it for nil too.
1545 (-[WebView initWithFrame:]): Ditto.
1547 2005-06-12 Maciej Stachowiak <mjs@apple.com>
1549 Reviewed by Chris Blumenberg.
1551 - fixed <rdar://problem/4142247> REGRESSION: List to browse widgets at Apple website failed. Closing tab afterwards caused Safari crash
1552 http://bugzilla.opendarwin.org/show_bug.cgi?id=3445
1554 * WebView.subproj/WebFrame.m:
1555 (-[WebFrame _transitionToCommitted:]): Stop loading the non-provisional data
1556 source before swapping in the provisional.
1557 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): Stop only
1558 the provisional load here, we would not want to stop loading if this navigation
1559 later turns into a download or is cancelled before being committed.
1560 (-[WebFrame stopLoading]): Factored a bit.
1561 (-[WebFrame _cancelProvisionalLoad]): New method to stop only provisional load,
1562 and cancel any pending policy deicions.
1563 (-[WebFrame _stopNonProvisionalLoadOnly]): New mthod that stops only the main
1566 2005-06-10 John Sullivan <sullivan@apple.com>
1568 reviewed by Dave Harrison (first & second drafts) and Darin Adler (third draft)
1570 - WebKit part of fix for
1571 <rdar://problem/4145214> REGRESSION (412+): Can't drag URLs from the location bar
1573 * Misc.subproj/WebNSPasteboardExtras.m:
1574 (+[NSPasteboard initialize]):
1575 Reinstate variation of old code that uses CreatePasteboardFlavorTypeName to set up our new pasteboard types.
1576 The newfangled way didn't work.
1578 2005-06-07 Darin Adler <darin@apple.com>
1580 Change by Mark Rowe <opendarwin.org@bdash.net.nz>.
1583 - fixed the WebKit half of build failure with spaces in the path
1584 http://bugzilla.opendarwin.org/show_bug.cgi?id=3291
1586 * WebKit.pbproj/project.pbxproj: Quote DERIVED_FILE_DIR when it is substituted
1587 into FRAMEWORK_SEARCH_PATHS, and SYMROOT when into HEADER_SEARCH_PATHS.
1589 2005-06-06 Darin Adler <darin@apple.com>
1591 * Info.plist: Bumped version to 412+. For some reason it was set to 312.1!
1593 2005-06-05 Darin Adler <darin@apple.com>
1597 - fixed build that I broke with the license change (some includes of WebException were still around)
1599 * WebKit.pbproj/project.pbxproj: Removed references to WebException.h/m.
1600 * WebView.subproj/WebDataSource.m: Removed include of WebException.h.
1601 * WebView.subproj/WebHTMLView.m: Ditto.
1602 * WebView.subproj/WebView.m: Ditto.
1604 - fixed build under gcc 4.0 (some code moved here from Foundation had warnings)
1606 * Misc.subproj/WebNSDataExtras.m:
1607 (-[NSString _web_capitalizeRFC822HeaderFieldName]): Use char instead of UInt8.
1608 (-[NSData _webkit_guessedMIMEType]): Use char instead of UInt8, and take out now-
1609 unneeded type casts.
1611 2005-06-05 Darin Adler <darin@apple.com>
1613 - added appropriate license headers to most files and updated copyright to reflect publication dates
1616 * <lots of files>: Added license header.
1618 * WebKit.pbproj/project.pbxproj: Removed references to NP_objc.h.
1620 * API-Issues.rtf: Removed.
1621 * Misc.subproj/WebException.h: Removed.
1622 * Misc.subproj/WebException.m: Removed.
1623 * Plugins.subproj/NP_objc.h: Removed.
1625 2005-06-01 Darin Adler <darin@apple.com>
1627 Reviewed by John Sullivan.
1629 - WebKit part of fix for <rdar://problem/3166090> add IE JavaScript extension window.showModalDialog
1631 * WebCoreSupport.subproj/WebBridge.m:
1632 (-[WebBridge createModalDialogWithURL:]): Added. Calls the UI delegate, falling back to the generic
1633 "create WebView" method.
1634 (-[WebBridge canRunModal]): Added. Checks the UI delegate to see if it implements runModal.
1635 (-[WebBridge canRunModalNow]): Added. Checks the "inConnectionCallback" field so we can prevent
1636 deadlock since we can't do any I/O while inside a connection callback until this aspect of NSURLConnection
1638 (-[WebBridge runModal]): Added. Sets "defersCallbacks" on all other web views in the group, then
1639 calls runModal on the UI delegate.
1641 * WebView.subproj/WebBaseResourceHandleDelegate.h: Added inConnectionCallback class method.
1642 * WebView.subproj/WebBaseResourceHandleDelegate.m:
1643 (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): Bump count and then
1644 decrement count so we can tell if we are in a callback.
1645 (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]): Ditto.
1646 (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]): Ditto.
1647 (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): Ditto.
1648 (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]): Ditto.
1649 (-[WebBaseResourceHandleDelegate connection:willStopBufferingData:]): Ditto.
1650 (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): Ditto.
1651 (-[WebBaseResourceHandleDelegate connection:didFailWithError:]): Ditto.
1652 (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): Ditto.
1653 (+[WebBaseResourceHandleDelegate inConnectionCallback]): Added. Return YES if count is not 0.
1655 * WebView.subproj/WebMainResourceClient.m:
1656 (-[WebMainResourceClient receivedError:]): Changed to use the method without the connection: parameter
1657 in the base class, since we no longer are overriding the connection: version.
1658 (-[WebMainResourceClient willSendRequest:redirectResponse:]): Change to override the version without
1659 the connection prefix/parameter; now only the base class overrides the actual connection delegate methods.
1660 (-[WebMainResourceClient continueAfterContentPolicy:response:]): Ditto.
1661 (-[WebMainResourceClient didReceiveResponse:]): Ditto.
1662 (-[WebMainResourceClient didReceiveData:lengthReceived:]): Ditto.
1663 (-[WebMainResourceClient didFinishLoading]): Ditto.
1664 (-[WebMainResourceClient didFailWithError:]): Ditto.
1665 (-[WebMainResourceClient loadWithRequestNow:]): Call the method without the connection parameter.
1667 * WebView.subproj/WebUIDelegatePrivate.h: Added new SPI here that WebBrowser implements.
1669 2005-05-26 Darin Adler <darin@apple.com>
1673 - fix build failure from when I removed WebCoreUnicode
1675 * WebCoreSupport.subproj/WebTextRenderer.m: Removed import of WebUnicode.h that I missed.
1676 (-[WebTextRenderer _convertUnicodeCharacters:length:toGlyphs:]): Switch from our own macros
1677 to the ICU macros for surrogate pairs.
1678 (widthForNextCharacter): Ditto.
1680 2005-05-26 David Harrison <harrison@apple.com>
1682 <rdar://problem/4120518> Mail: control-T in an empty message crashes mail
1684 * WebCoreSupport.subproj/WebBridge.m:
1685 (-[WebBridge issueTransposeCommand]):
1686 New, to support transpose in JS.
1688 2005-05-26 Darin Adler <darin@apple.com>
1690 Reviewed by Richard and Dave Harrison.
1692 - eliminate WebCoreUnicode and use ICU directly instead
1694 * Misc.subproj/WebKitNSStringExtras.m: (canUseFastRenderer): Use u_charDirection directly.
1695 * WebCoreSupport.subproj/WebTextRenderer.m: Removed import of <WebCore/WebCoreUnicode.h>.
1696 * WebView.subproj/WebHTMLView.m: (+[WebHTMLView initialize]): Removed call to WebKitInitializeUnicode.
1698 * Misc.subproj/WebUnicode.h: Removed.
1699 * Misc.subproj/WebUnicode.m: Removed.
1700 * Misc.subproj/WebUnicodeTables.m: Removed.
1702 * WebKit.pbproj/project.pbxproj: Removed files.
1704 2005-05-24 Richard Williamson <rjw@apple.com>
1706 Fixed <rdar://problem/4097289> -[WebView elementAtPoint:] failing when WebView is nested and offset
1708 Code to determine the correct frame under the window point was
1709 converting the point incorrectly.
1713 * WebView.subproj/WebView.m:
1714 (-[WebView _frameViewAtWindowPoint:]):
1716 2005-05-23 John Sullivan <sullivan@apple.com>
1720 - WebKit part of <rdar://problem/4125783> WebKit needs a way to control whether textareas are resizable
1722 * WebView.subproj/WebPreferencesPrivate.h:
1723 added private-for-now getter and setter for new preference
1724 * WebView.subproj/WebPreferenceKeysPrivate.h:
1725 added private preference key controlling whether textareas are resizable
1726 * WebView.subproj/WebPreferences.m:
1727 (+[WebPreferences initialize]):
1728 initial value of new preference is NO, so other clients' behavior doesn't change
1729 (-[WebPreferences textAreasAreResizable]):
1731 (-[WebPreferences setTextAreasAreResizable:]):
1734 * WebView.subproj/WebView.m:
1735 (-[WebView _updateWebCoreSettingsFromPreferences:]):
1736 update this new setting in WebCore
1738 * English.lproj/StringsNotToBeLocalized.txt:
1739 updated for these changes
1741 2005-05-23 Chris Blumenberg <cblu@apple.com>
1743 Changed type for identifier parameter in WebResourceLoadDelegate-related calls to id from NSString.
1747 * WebCoreSupport.subproj/WebBridge.m:
1748 (-[WebBridge objectLoadedFromCacheWithURL:response:data:]):
1749 (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
1750 * WebView.subproj/WebFrame.m:
1751 (-[WebFrame _opened]):
1752 (-[WebFrame _requestFromDelegateForRequest:identifier:error:]):
1753 (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
1754 (-[WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:]):
1755 * WebView.subproj/WebFrameInternal.h:
1757 2005-05-20 Chris Blumenberg <cblu@apple.com>
1759 Fixed: <rdar://problem/4098786> sync. XMLHttpRequest works w/o AllowNetworkAccess key because load delegate is not consulted
1761 Synchronous loads did not cause the willSendRequest method on the resource load delegate to be called. This is the method that Dashboard uses to enforce AllowNetworkAccess and this must be called to avoid exploits.
1763 Reviewed by sullivan.
1765 * WebCoreSupport.subproj/WebBridge.m:
1766 (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): call [WebFrame _requestFromDelegateForRequest:identifier:error:] then
1767 [WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:] so synthetic resource load delegate
1768 methods are called and the data is saved as a WebResource for resources in the WebCore cache.
1770 (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): call [WebFrame _requestFromDelegateForRequest:identifier:error:],
1771 respect its result, do the load and then call [WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:]
1772 for synchronous loads
1774 * WebView.subproj/WebFrame.m:
1775 (-[WebFrame _opened]): call [WebFrame _requestFromDelegateForRequest:identifier:error:] then
1776 [WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:] so synthetic resource load delegate methods are called
1777 for subresrources in the page cache
1779 (-[WebFrame _requestFromDelegateForRequest:identifier:error:]): new, was part of the removed _sendResourceLoadDelegateMessagesForURL:::
1780 This method calls identifierForInitialRequest and willSendRequest.
1782 (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]): new, was part of the removed _sendResourceLoadDelegateMessagesForURL:::
1783 This method calls the remaining resource load delegate messages.
1785 (-[WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:]): new, saves the resource and calls
1786 [WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]
1788 * WebView.subproj/WebFrameInternal.h:
1790 2005-05-17 Chris Blumenberg <cblu@apple.com>
1792 Fixed: <rdar://problem/4119282> clicking a link in an RTF file opens the link with NSWorkspace without the usual security checks or WebView delegate control
1796 * WebCoreSupport.subproj/WebBridge.m:
1797 (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]): pass the passed referrer to canLoadURL::: not [self referrer]
1798 (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): ditto
1799 * WebView.subproj/WebTextView.m:
1800 (-[WebTextView clickedOnLink:atIndex:]): call the loadURL bridge method so that security checks are made, command/option clicks work, policy delegate is consulted etc.
1802 2005-05-17 Chris Blumenberg <cblu@apple.com>
1804 Fixed: <rdar://problem/4120255> web archives on remote servers can be viewed directly (with major security issues); should download instead
1808 * WebView.subproj/WebBaseResourceHandleDelegate.h:
1809 * WebView.subproj/WebMainResourceClient.m:
1810 (-[WebMainResourceClient continueAfterContentPolicy:response:]): if the WebKit client has chosen to "use" a remote web archive, stop the load with an error
1812 2005-05-16 Darin Adler <darin@apple.com>
1814 - attempt to get things building under "Saffron" development tools
1816 * WebKit.pbproj/project.pbxproj: Use BUILT_PRODUCTS_DIR instead of SYMROOT.
1818 2005-05-13 John Sullivan <sullivan@apple.com>
1822 - fixed <rdar://problem/4093306> Safari crashes if Esc key is held down during series
1823 of authentication sheets
1825 * Panels.subproj/WebAuthenticationPanel.m:
1826 (-[WebAuthenticationPanel cancel:]):
1827 retain and autorelease self. This is a workaround for an AppKit key-handling issue, which I wrote up as:
1828 <rdar://problem/4118422> Key-down events can be sent to a closed window if a key is kept pressed down
1830 2005-05-12 John Sullivan <sullivan@apple.com>
1834 - rolled in changes from experimental-ui-branch to support resizable textareas
1835 and find-as-you-type and confirming unsubmitted form changes. The files/functions
1836 modified are listed just below. After that are the ChangeLog comments from the branch.
1838 * WebCoreSupport.subproj/WebBridge.m:
1839 (-[WebBridge textDidChange:]):
1840 * WebView.subproj/WebFormDelegate.h:
1841 * WebView.subproj/WebFormDelegate.m:
1842 (-[WebFormDelegate textDidChange:inFrame:]):
1843 * WebView.subproj/WebHTMLView.m:
1844 (-[WebHTMLView maintainsInactiveSelection]):
1845 (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
1846 (-[WebHTMLView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
1847 * WebView.subproj/WebView.m:
1848 (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
1849 (-[WebView searchFor:direction:caseSensitive:wrap:]):
1850 (-[WebView makeTextStandardSize:]):
1851 (-[WebView maintainsInactiveSelection]):
1852 * WebView.subproj/WebViewPrivate.h:
1854 2005-04-18 John Sullivan <sullivan@apple.com>
1856 WebKit support for notifying a form delegate when a
1857 textarea's contents have changed (as opposed to a
1858 textfield, which was already handled).
1862 * WebView.subproj/WebFormDelegate.h:
1863 * WebView.subproj/WebFormDelegate.m:
1864 (-[WebFormDelegate textDidChange:inFrame:]):
1865 new form delegate method
1867 * WebCoreSupport.subproj/WebBridge.m:
1868 (-[WebBridge textDidChange:]):
1869 new method, calls through to form delegate
1871 2005-04-11 John Sullivan <sullivan@apple.com>
1873 Fixed inability to wrap around in Find in Page
1875 * WebView.subproj/WebView.m:
1876 (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
1877 changed wrapFlag from NO to YES on two lines (copy/paste error)
1879 2005-04-07 John Sullivan <sullivan@apple.com>
1881 WebKit support for find-as-you-type. Needed an additional parameter on
1882 a method from WebDocumentSearching protocol. Since that's a public protocol,
1883 I couldn't just add the parameter. For now I hacked it with an undeclared
1884 internal method that's discovered via respondsToSelector. Probably the right
1885 long-term approach is to deprecate the WebDocumentSearching protocol and introduce
1886 a replacement that has a more flexible set of parameters for possible future
1889 Reviewed by Dave Hyatt.
1891 * WebView.subproj/WebHTMLView.m:
1892 (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
1893 now calls new one-more-parameter version passing NO for new parameter to match old behavior
1894 (-[WebHTMLView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
1895 new method, adds findInSelection parameter and passes it through to bridge
1897 * WebView.subproj/WebView.m:
1898 (-[WebView searchFor:direction:caseSensitive:wrap:]):
1899 now calls new one-more-parameter version passing NO for new parameter to match old behavior
1900 (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
1901 new method, adds findInSelection parameter and passes it through
1903 2005-04-07 John Sullivan <sullivan@apple.com>
1905 WebKit support to allow clients to control whether the selection is still
1906 drawn when the first responder is elsewhere. Formerly this was hardwired
1907 to be true only when -[WebView isEditable] was true.
1911 * WebView.subproj/WebHTMLView.m:
1912 (-[WebHTMLView maintainsInactiveSelection]):
1913 check [WebView maintainsInactiveSelection] rather than just [WebView isEditable]
1915 * WebView.subproj/WebViewPrivate.h:
1916 * WebView.subproj/WebView.m:
1917 (-[WebView maintainsInactiveSelection]):
1918 new method for clients to override, returns -[self isEditable]
1921 2005-05-10 John Sullivan <sullivan@apple.com>
1925 - WebKit support for <rdar://problem/3795701> Menu item/keyboard shortcut to
1926 restore text zoom to normal
1928 * WebView.subproj/WebView.m:
1929 (-[WebView validateUserInterfaceItem:]):
1930 validate makeTextStandardSize by calling canMakeTextStandardSize
1931 (-[WebView canMakeTextStandardSize]):
1932 new method, returns YES unless text size multiplier is currently 1
1933 (-[WebView makeTextStandardSize:]):
1934 new method, sets text size multiplier to 1
1936 * WebView.subproj/WebViewPrivate.h:
1937 add makeTextStandardSize: and canMakeTextStandardSize to pending public category
1939 2005-05-10 John Sullivan <sullivan@apple.com>
1943 - fixed <rdar://problem/4067981> Mail places RTF flavor before RTFD flavor when dragging
1944 mixed image/text content.
1946 * WebView.subproj/WebHTMLView.m:
1947 (+[WebHTMLView _selectionPasteboardTypes]):
1948 put RTFD type before RTF type in array of types to declare
1950 2005-05-09 Chris Blumenberg <cblu@apple.com>
1952 Turned assertion into error message to prevent crash when encountering this bug:
1953 <rdar://problem/4067625> connection:willCacheResponse: is called inside of [NSURLConnection initWithRequest:delegate:]
1955 * WebView.subproj/WebBaseResourceHandleDelegate.h:
1956 * WebView.subproj/WebBaseResourceHandleDelegate.m:
1957 (-[WebBaseResourceHandleDelegate loadWithRequest:]): set flag to track when we're initializing the connection
1958 (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): log error
1960 2005-05-09 Darin Adler <darin@apple.com>
1962 * Makefile.am: Don't set up PBXIntermediatesDirectory explicitly;
1963 Not needed to make builds work, spews undesirable error messages too.
1965 2005-05-06 Darin Adler <darin@apple.com>
1969 - make building multiple trees with make work better
1971 * Makefile.am: Set up Xcode build directory before invoking xcodebuild.
1973 2005-05-04 Darin Adler <darin@apple.com>
1975 Reviewed by Dave Hyatt.
1977 - fixed layout tests
1979 * WebKit.pbproj/project.pbxproj: Set deployment target to 10.3 in the build styles.
1980 When built without a build style (by Apple B&I) we want to get the target from the
1981 environment. But when built with a build style (by Safari engineers and others), we want
1982 to use 10.3. Because our deployment target was not set, we ran into this bug:
1984 <rdar://problem/4108717> CTFontGetGlyphWithName doesn't work with some strings
1986 * Makefile.am: Took out extra parameters that make command-line building different from
1987 Xcode building. Now that this is fixed, you should not get a full rebuild if you switch
1988 from command line to Xcode or back.
1990 2005-05-04 Chris Blumenberg <cblu@apple.com>
1993 <rdar://problem/4078417> REGRESSION (125-412): MLB gameday page doesn't update (Flash)
1994 <rdar://problem/4072280> XMLHttpRequest calls onReadyStateChange callback with bogus status value
1998 Our WebKit-level caching of subresources "dumbed-down" information held in NSURLResponse. This caused some loads to lack response headers and thus disabling cache directives. Status codes were also not retained and this caused XMLHttpRequest to fail frequently. The fix is to have WebResource retain the NSURLResponse and to use the NSURLResponse when we decide to load from WebResources.
2000 * WebCoreSupport.subproj/WebBridge.m:
2001 (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): call new [WebResource _initWithData:URL:response:]
2002 * WebView.subproj/WebBaseResourceHandleDelegate.m:
2003 (-[WebBaseResourceHandleDelegate _canUseResourceWithResponse:]): new, checks response cache directives
2004 (-[WebBaseResourceHandleDelegate loadWithRequest:]): call _canUseResourceWithResponse:
2005 (-[WebBaseResourceHandleDelegate saveResource]): call new [WebResource _initWithData:URL:response:]
2006 * WebView.subproj/WebResource.m:
2007 (-[WebResourcePrivate dealloc]):
2008 (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): call renamed _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:
2009 (-[WebResource initWithCoder:]): decode the NSURLReponse
2010 (-[WebResource encodeWithCoder:]): encode the NSURLReponse
2011 (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]): take the NSURLReponse
2012 (-[WebResource _initWithData:URL:response:]): new
2013 (-[WebResource _initWithPropertyList:]): decode the NSURLReponse
2014 (-[WebResource _propertyListRepresentation]): encode the NSURLReponse
2015 (-[WebResource _response]): return ivar if we have one
2016 * WebView.subproj/WebResourcePrivate.h:
2018 2005-05-03 David Hyatt <hyatt@apple.com>
2020 Fix object element support so that fallback content works. With this change Safari passes the Acid2 test.
2024 * WebCoreSupport.subproj/WebBridge.m:
2025 (-[WebBridge determineObjectFromMIMEType:URL:]):
2026 * WebView.subproj/WebDataSource.m:
2027 (-[WebDataSource _receivedMainResourceError:complete:]):
2028 * WebView.subproj/WebMainResourceClient.m:
2029 (-[WebMainResourceClient continueAfterContentPolicy:response:]):
2031 2005-05-03 Darin Adler <darin@apple.com>
2033 * WebView.subproj/WebUIDelegate.h: Fixed incorrect comment.
2035 2005-05-01 Darin Adler <darin@apple.com>
2037 - move to Xcode native targets and stop checking in generated files
2039 * WebKit.pbproj/project.pbxproj: Updated to use native targets and generate all the generated
2040 files, so we don't have to check them in any more.
2041 * Info.plist: Added. Native targets use a separate file for this.
2043 * Plugins.subproj/npapi.m: Fixed import statement to get npapi.h from <WebKit/> rather than current directory.
2045 * Makefile.am: Removed timestamp cleaning rules since we don't use it any more.
2047 * .cvsignore: Removed various timestamp files.
2049 * DOM.subproj/DOM-compat.h: Removed.
2050 * DOM.subproj/DOM.h: Removed.
2051 * DOM.subproj/DOMCSS.h: Removed.
2052 * DOM.subproj/DOMCore.h: Removed.
2053 * DOM.subproj/DOMEvents.h: Removed.
2054 * DOM.subproj/DOMExtensions.h: Removed.
2055 * DOM.subproj/DOMHTML.h: Removed.
2056 * DOM.subproj/DOMPrivate.h: Removed.
2057 * DOM.subproj/DOMRange.h: Removed.
2058 * DOM.subproj/DOMStylesheets.h: Removed.
2059 * DOM.subproj/DOMTraversal.h: Removed.
2060 * DOM.subproj/DOMViews.h: Removed.
2061 * Plugins.subproj/WebScriptObject.h: Removed.
2062 * Plugins.subproj/npapi.h: Removed.
2063 * Plugins.subproj/npruntime.h: Removed.
2064 * copy-webcore-files-to-webkit: Removed.
2065 * embed-frameworks.sh: Removed.
2066 * force-clean-timestamp: Removed.
2068 2005-04-28 Darin Adler <darin@apple.com>
2072 - fixed problems preventing us from compiling with gcc 4.0
2074 * WebKit.pbproj/project.pbxproj: Removed -fobjc-exceptions because I can't figure out an easy
2075 way to pass it only when compiling Objective-C/C++. Removed -Wmissing-prototypes from
2076 WARNING_CPLUSPLUSFLAGS since it's now a C-only warning.
2078 * History.subproj/WebHistoryItem.m: (-[WebHistoryItem pageCache]): Changed return type
2079 to match the declaration.
2080 * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
2081 Fixed a BOOL that should have been a Boolean.
2082 * WebCoreSupport.subproj/WebTextRenderer.m: Removed redundant copy of ROUND_TO_INT, also in
2084 (-[WebTextRenderer _computeWidthForSpace]): Had to add cast because of difference in type of
2085 ROUND_TO_INT vs. CEIL_TO_INT.
2086 (pathFromFont): Added a cast to convert UInt8 * to char *.
2087 * WebView.subproj/WebFrameView.m:
2088 (-[WebFrameView _setDocumentView:]): Fixed parameter type to match the declaration.
2089 (-[WebFrameView documentView]): Fixed return type to match the declaration.
2090 * WebView.subproj/WebHTMLView.m:
2091 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2092 Initialized a variable to quiet an incorrect gcc 4.0 uninitialized variable warning.
2093 (-[WebHTMLView deleteToMark:]): Switched from @try style to NS_DURING style of exception handler
2094 because we can't pass -fobjc-exceptions just to Objective-C at the moment (see above).
2095 (-[WebHTMLView selectToMark:]): Ditto.
2096 (-[WebHTMLView swapWithMark:]): Ditto.
2098 2005-04-27 John Sullivan <sullivan@apple.com>
2100 Reviewed by Dave Harrison.
2102 - fixed <rdar://problem/3547489> pop-up window blocking preference and
2103 menu item can easily get out of sync.
2105 * WebView.subproj/WebPreferences.m:
2106 (-[WebPreferences _setStringValue:forKey:]):
2107 save local value before setting value in NSUserDefaults, so clients reacting to NSUserDefaults
2108 change notification but calling back on WebPreferences API will see the updated value.
2109 (-[WebPreferences _setIntegerValue:forKey:]):
2111 (-[WebPreferences _setBoolValue:forKey:]):
2114 2005-04-26 Richard Williamson <rjw@apple.com>
2116 Fixed <rdar://problem/4098713> Scripting API is incompatible with Mozilla
2120 * Plugins.subproj/npfunctions.h:
2121 * Plugins.subproj/npruntime.h:
2123 2005-04-26 Darin Adler <darin@apple.com>
2127 - fixed <rdar://problem/3655817> please add support for mouse wheel events and the onmousewheel handler
2129 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView scrollWheel:]): Call sendScrollWheelEvent: method
2130 instead of the old scrollOverflowWithScrollWheelEvent: (just a name change).
2132 2005-04-18 Darin Adler <darin@apple.com>
2136 - fixed <rdar://problem/4092614> REGRESSION (Tiger): progressively loaded background images "scroll around" instead of just appearing
2138 * WebCoreSupport.subproj/WebImageData.m:
2139 (-[WebImageData _imageSourceOptions]): Moved a global inside this function, since it's only used here.
2140 (-[WebImageData _cacheImages:allImages:]): Fixed a sizeof that was getting the size of the wrong thing.
2141 (-[WebImageData _isSizeAvailable]): Used calloc in a more consistent way.
2142 (drawPattern): Removed an unneeded cast.
2143 (-[WebImageData tileInRect:fromPoint:context:]): Here's the actual bug fix. Don't use the image size
2144 when deciding whether the image needs to be tiled as a pattern nor when creating the pattern: in both
2145 cases, use the tile size. The old way was wrong, and the new way works perfectly. Also removed uneeded
2146 error message when the image is not yet loaded enough to create a CGImageRef for it -- it's fine to
2147 draw nothing in that case.
2149 2005-04-14 John Sullivan <sullivan@apple.com>
2153 * WebView.subproj/WebBaseResourceHandleDelegate.m:
2154 (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]):
2155 Beefed up assertion that's been bugging me and Chris to include
2156 the two troublemaking values.
2158 2005-04-05 David Hyatt <hyatt@apple.com>
2160 Fix for 4077106, wheel scroll amount smaller in Tiger. All along wheeling should have been 4x the default
2161 line height of 10 (just as arrow keys did). Scroll arrows should have done this too for scroll views (they did
2162 already for overflow sections). This patch puts the override into the scrollview itself, and removes the
2163 multipliers in the private frame methods.
2167 * WebView.subproj/WebFrameView.m:
2168 (-[WebFrameView _verticalKeyboardScrollDistance]):
2169 (-[WebFrameView initWithFrame:]):
2170 (-[WebFrameView _horizontalKeyboardScrollDistance]):
2172 === WebKit-312.1 ===
2174 2005-03-31 Chris Blumenberg <cblu@apple.com>
2176 Fixed: <rdar://problem/4070729> REGRESSION (125-311, Panther-only?): Safari crashes while reloading "My eBay" page
2180 * WebView.subproj/WebBaseResourceHandleDelegate.m:
2181 (-[WebBaseResourceHandleDelegate resourceData]): retain and autorelease resourceData since releaseResources (which releases resourceData) may be called before the caller of this method has an opporuntity to retain the returned data
2187 2005-03-23 Richard Williamson <rjw@apple.com>
2189 Use Patti Yeh's hack to determine the appropriate rectangle
2190 to place the "associated word" window.
2191 If there is no marked text firstRectForCharacterRange: will
2192 use the selected range to determine the returned rectangle,
2193 ignoring the input range. This is the fix from
2194 4029491 that I previously backed out.
2198 * WebView.subproj/WebHTMLView.m:
2199 (-[WebHTMLView firstRectForCharacterRange:]):
2201 2005-03-23 Richard Williamson <rjw@apple.com>
2203 Fixed <rdar://problem/4062490> REGRESSION (WebKit-408): no subresources reported in Activity window after going back at hrweb.apple.com
2205 Stop collecting subresource responses after the document
2206 had loaded, not after it has been opened.
2210 * WebView.subproj/WebFrame.m:
2211 (-[WebFrame _setState:]):
2212 (-[WebFrame _opened]):
2214 2005-03-21 Maciej Stachowiak <mjs@apple.com>
2218 <rdar://problem/4051145> The QuickTime Cocoa plug-in needs an SPI that it can call to check for URL policy
2220 * Plugins.subproj/WebPluginContainerCheck.h: Added.
2221 * Plugins.subproj/WebPluginContainerCheck.m: Added this new helper class to encapsulate
2222 an async plugin navigation check.
2223 (+[WebPluginContainerCheck checkWithRequest:target:resultObject:selector:controller:]): Convenience allocator that gives autoreleased value.
2224 (-[WebPluginContainerCheck initWithRequest:target:resultObject:selector:controller:]): Initializer.
2225 (-[WebPluginContainerCheck finalize]): Just assert that we're done, it would
2226 be bad to deallocate this object while request is still outstanding.
2227 (-[WebPluginContainerCheck dealloc]): Ditto.
2228 (-[WebPluginContainerCheck _continueWithPolicy:]): Method to continue after async
2230 (-[WebPluginContainerCheck _isDisallowedFileLoad]): Do "file: URL from remote content"
2232 (-[WebPluginContainerCheck _actionInformationWithURL:]): Helper to make action
2234 (-[WebPluginContainerCheck _askPolicyDelegate]): Call policy delegate to let
2235 the app decide if this load is allowed.
2236 (-[WebPluginContainerCheck start]): Start the check.
2237 (-[WebPluginContainerCheck cancel]): Cancel a check in progress.
2238 * Plugins.subproj/WebPluginController.h:
2239 * Plugins.subproj/WebPluginController.m:
2240 (-[WebPluginController initWithDocumentView:]): Initialize new _checksInProgress field.
2241 (-[WebPluginController _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): Implement
2242 this new SPI method.
2243 (-[WebPluginController _cancelOutstandingChecks]): New helper to make sure to cancel
2244 all outstanding requests when destroying all plugins.
2245 (-[WebPluginController destroyAllPlugins]): Call above helper.
2246 (-[WebPluginController _webPluginContainerCheckIfAllowedToLoadRequest:inFrame:resultObject:selector:]): Implement this new plug-in SPI method.
2247 (-[WebPluginController bridge]): New helper method.
2248 (-[WebPluginController webView]): New helper method.
2249 * WebView.subproj/WebPolicyDelegatePrivate.h: Add new navigation
2250 type WebNavigationTypePlugInRequest.
2251 * WebKit.pbproj/project.pbxproj: Add new files.
2252 * WebView.subproj/WebDefaultPolicyDelegate.m:
2253 (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): Don't open externally on a plug-in request.
2255 2005-03-23 Richard Williamson <rjw@apple.com>
2257 Fixed <rdar://problem/4053515> REGRESSION (Mail): Kotoeri input method reconversion does not work in WebViews
2259 We now use actual document NSRanges to represent both marked text
2260 ranges and selection ranges.
2262 Reviewed by Ken Kocienda.
2264 * WebView.subproj/WebHTMLView.m:
2265 (-[WebHTMLView validAttributesForMarkedText]):
2266 (-[WebHTMLView firstRectForCharacterRange:]):
2267 (-[WebHTMLView selectedRange]):
2268 (-[WebHTMLView markedRange]):
2269 (-[WebHTMLView _selectMarkedText]):
2270 (-[WebHTMLView setMarkedText:selectedRange:]):
2274 2005-03-22 Darin Adler <darin@apple.com>
2276 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
2280 2005-03-20 Maciej Stachowiak <mjs@apple.com>
2284 <rdar://problem/4060020> Add stub version of security SPI for QuickTime plug-in so QuickTime team has something to compile and link against
2286 * Plugins.subproj/WebPluginContainerPrivate.h: Added.
2287 * Plugins.subproj/WebPluginController.m:
2288 (-[WebPluginController _webPluginContainerCheckIfAllowedToLoadRequest:inFrame:resultObject:selector:]):
2289 (-[WebPluginController _webPluginContainerCancelCheckIfAllowedToLoadRequest:]):
2290 * WebKit.pbproj/project.pbxproj:
2292 2005-03-19 David Harrison <harrison@apple.com>
2296 <rdar://problem/4059479> Misspelling underline does underline the whole word, could go farther to the right
2298 * WebCoreSupport.subproj/WebTextRenderer.m:
2299 (-[WebTextRenderer misspellingLinePatternGapWidth]):
2300 (-[WebTextRenderer drawLineForMisspelling:withWidth:]):
2301 Consider that the last pixel in the underline dot pattern is transparent.
2303 2005-03-19 Darin Adler <darin@apple.com>
2305 Reviewed by Maciej (a while back).
2307 - fixed <rdar://problem/4059323> local-file security check is allowing plug-in streams, but must not
2309 * Plugins.subproj/WebNetscapePluginStream.m:
2310 (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
2311 Roll out change I made on 3-13. That change is needed for subresource, but not for plug-in streams.
2312 For plug-in streams it's too risky, and leaves a serious security hole open.
2314 2005-03-19 Darin Adler <darin@apple.com>
2316 Reviewed by Ken and John.
2318 - fixed <rdar://problem/4059123> REGRESSION (402-403): deleteWordForward: and deleteWordBackward: start deleting single characters after the first delete
2320 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
2321 Fixed backwards logic in here and added missing check. Set action to one of the two typing actions only
2322 if isTypingAction is YES.
2324 2005-03-19 David Harrison <harrison@apple.com>
2326 Reviewed by me (written by Patti Yeh).
2328 <rdar://problem/4029491> <TCIM> CangJie: the candidate window appears at the top left hand corner during typing in Mail and iChat
2330 * WebView.subproj/WebHTMLView.m:
2331 (-[WebHTMLView firstRectForCharacterRange:]):
2332 Use selected range if there is no marked range.
2336 2005-03-18 David Harrison <harrison@apple.com>
2340 <rdar://problem/3584942> AX: Safari Accessibility parent-child mismatch
2342 * WebView.subproj/WebFrameView.m:
2343 (-[WebFrameView webCoreBridge]):
2344 New to conform to WebCoreBridgeHolder protocol.
2346 2005-03-18 Richard Williamson <rjw@apple.com>
2348 Fixed <rdar://problem/4057004> Data from XMLHTTPRequest is never dealloced
2350 WebDataSource keeps an array of all the NSURLResponses associated
2351 with the load for a page. This is used to playback delegate messages
2352 when loading from the page cache. However, after the document
2353 has completed it's initial load, we continue to keep track of responses.
2354 So, this has the consequence of keeping all the responses for a page
2355 around for the life of the page. NSURLResponses are now very
2356 heavy. They indirectly reference the resource data (via the
2357 download assessment dictionary). This fix will keep
2358 references to responses around for those resources loaded during initial
2359 page load, but not after that point.
2363 * WebView.subproj/WebDataSource.m:
2364 (-[WebDataSource _addResponse:]):
2365 (-[WebDataSource _stopRecordingResponses]):
2366 * WebView.subproj/WebDataSourcePrivate.h:
2367 * WebView.subproj/WebFrame.m:
2368 (-[WebFrame _opened]):
2370 2005-03-18 Ken Kocienda <kocienda@apple.com>
2376 <rdar://problem/4053729> Copy/paste of page with frames into Blot or Mail does nothing and loses insertion point
2378 * WebView.subproj/WebHTMLView.m:
2379 (-[WebHTMLView _selectedArchive]): Wrap frameset documents in an iframe, so they can be pasted into
2380 existing documents which will have a body or frameset of their own.
2384 2005-03-17 Richard Williamson <rjw@apple.com>
2386 Fixed <rdar://problem/4055562> REGRESSION (Tiger): Safari doesn't draw progressively-loaded JPEGs (www.theregister.co.uk, www.titantalk.com)
2388 Anothe side effect of lazy loading of image meta data. We now
2389 don't cache image size until size meta data is actually available.
2393 * WebCoreSupport.subproj/WebImageData.m:
2394 (-[WebImageData size]):
2396 2005-03-16 David Harrison <harrison@apple.com>
2400 <rdar://problem/4048506> Deleting from beginning of editable div deletes other document elements
2402 Also changed WebCore.
2404 * WebView.subproj/WebHTMLView.m:
2405 (-[WebHTMLView _shouldDeleteRange:]):
2406 Added call to new bridge method canDeleteRange.
2408 2005-03-16 Ken Kocienda <kocienda@apple.com>
2414 <rdar://problem/4042935> undo doesn't work properly during inline input
2416 * WebView.subproj/WebHTMLView.m:
2417 (-[WebHTMLView setMarkedText:selectedRange:]): Call new -[WebCoreBridge replaceMarkedTextWithText:] instead of
2418 -[WebCoreBridge replaceSelectionWithText:selectReplacement:smartReplace:]. The former call was just added in
2419 order to provide a better mapping of international text input onto the typing command/undo design.
2421 2005-03-15 Richard Williamson <rjw@apple.com>
2423 Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance
2425 If client mutates request use new Foundation SPI to address remove applewebdata properties from request.
2427 Reviewed by Ken Kocienda.
2429 * WebView.subproj/WebBaseResourceHandleDelegate.m:
2430 (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
2431 * WebView.subproj/WebDataProtocol.h:
2432 * WebView.subproj/WebDataProtocol.m:
2433 (+[NSURLRequest _webDataRequestPropertyKey]):
2435 2005-03-15 Ken Kocienda <kocienda@apple.com>
2441 <rdar://problem/4052642> Each delete keystroke is in its own undo group; not included in undo group with other typing
2443 Calling -[WebCore setSelectedDOMRange:range affinity:] had the result of "closing" any active set of typing
2444 keystrokes grouped together in a single undo operation. My change on 27 Jan to route delete keystrokes
2445 through _deleteRange:killRing:... made this feature regress. Previous to that change, the backwards delete
2446 key went through separate code that is no longer in the tree that did not set the selection in the way
2449 The solution is to add an extra argument to the set-selection call. The WebCoreBridge now offers this method:
2450 -[WebCore setSelectedDOMRange:range affinity:closeTyping:]. Now, callers must indicate whether setting the
2451 selection will act to close typing or not. The code changes below all add this new argument with the
2452 appropriate value for closeTyping.
2454 * WebView.subproj/WebHTMLView.m:
2455 (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]): Passes NO for closeTyping when
2456 deletionAction is deleteKeyAction or forwardDeleteKeyAction; YES when deleteSelectionAction.
2457 (-[WebHTMLView _expandSelectionToGranularity:]): Passes YES for closeTyping.
2458 (-[WebHTMLView selectToMark:]): Passes YES for closeTyping.
2459 (-[WebHTMLView swapWithMark:]): Passes YES for closeTyping.
2460 (-[WebHTMLView transpose:]): Passes YES for closeTyping.
2461 (-[WebHTMLView _selectMarkedText]): Passes NO for closeTyping.
2462 (-[WebHTMLView _selectRangeInMarkedText:]): Passes NO for closeTyping.
2463 * WebView.subproj/WebView.m:
2464 (-[WebView setSelectedDOMRange:affinity:]): Passes YES for closeTyping.
2466 2005-03-14 Richard Williamson <rjw@apple.com>
2468 Fix <rdar://problem/4051389> 8A413: gifs animating too fast
2472 Match Mozilla's policy for minimum frame duration, which is somewhat odd:
2474 <= 0.01 sec use .1 sec, otherwise use specified duration.
2476 * WebCoreSupport.subproj/WebImageData.m:
2477 (-[WebImageData _frameDurationAt:]):
2479 2005-03-14 Darin Adler <darin@apple.com>
2481 Reviewed by Harrison.
2483 - fixed <rdar://problem/4049776> Seed: Mail: Disable spellcheck leaves red artifacts
2485 * WebView.subproj/WebFrameInternal.h: Added _unmarkAllMisspellings.
2486 * WebView.subproj/WebFrame.m: (-[WebFrame _unmarkAllMisspellings]): Added.
2487 Calls unmarkAllMisspellings on the bridge and self and all subframes.
2489 * WebView.subproj/WebView.m: (-[WebView setContinuousSpellCheckingEnabled:]):
2490 Call _unmarkAllMisspellings on the main frame when turning continuous spell checking off.
2492 2005-03-14 Richard Williamson <rjw@apple.com>
2494 Fixed <rdar://problem/4027928> Tiger_8A394:Acrobat crashes while tried to remove the subscription errors by clicking on "Would you like to remove the subscription" from Tracker details view pane
2496 The Acrobat application triggers loads of new documents in it's policy delegate. This
2497 ultimately causes the WebHTMLView to be released before their event handlers have
2498 returned. To bullet proof against this case we retain/release self before passing
2499 the event on for further handling.
2503 * WebView.subproj/WebHTMLView.m:
2504 (-[WebHTMLView _updateMouseoverWithEvent:]):
2505 (-[WebHTMLView scrollWheel:]):
2506 (-[WebHTMLView mouseDown:]):
2507 (-[WebHTMLView mouseDragged:]):
2508 (-[WebHTMLView mouseUp:]):
2509 (-[WebHTMLView keyDown:]):
2510 (-[WebHTMLView keyUp:]):
2511 (-[WebHTMLView performKeyEquivalent:]):
2513 2005-03-14 Vicki Murley <vicki@apple.com>
2515 - roll out the fix for 4040321, since it is still pending CCC review.
2517 2005-03-10 Richard Williamson <rjw@apple.com>
2519 Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance
2523 If a delegate returns a mutated applewebdata: request in it's willSendRequest:
2524 method, we don't load using the WebDataRequest. Instead we do a normal load.
2525 Unfortunately, if the request they return is mutated *copy* of the applewebdata:
2526 request it will hold the applewebdata: special properties. These properties
2527 will be encoded into the cache. They should not be. So, to fix, we sanitize the
2528 request, by removing the special properties from the request.
2530 Note that we had to dig into the private guts of NSURLRequest because there is
2531 no public mechanism to remove properties from a request, see 4046775.
2533 * WebView.subproj/WebBaseResourceHandleDelegate.m:
2534 (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
2535 * WebView.subproj/WebDataProtocol.h:
2536 * WebView.subproj/WebDataProtocol.m:
2537 (-[NSURLRequest _webDataRequestExternalRequest]):
2538 (-[NSURLRequest _webDataRequestSanitize]):
2542 2005-03-13 Darin Adler <darin@apple.com>
2544 Reviewed by Ken and Maciej.
2546 - fixed <rdar://problem/4049040> REGRESSION (403-405): security check prevents user stylesheet from loading (Dictionary.app doesn't work at all!)
2548 * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
2549 Allow plug-in subresource streams to load with any URL, ignoring the "canLoadURL" method's restriction (only
2550 file URLs can load other file URLs), which now applies only to main resources, like web pages in frames or
2551 object tags and plug-in main resources.
2553 * WebCoreSupport.subproj/WebBridge.m:
2554 (-[WebBridge startLoadingResource:withURL:customHeaders:]): Allow subresources to load with any URL, as above.
2555 This allows things like images, stylesheets, and JavaScript to be loaded without the "canLoadURL" method's
2557 (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): Ditto.
2558 (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): Ditto.
2560 2005-03-10 Richard Williamson <rjw@apple.com>
2562 Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance
2566 If a delegate returns a mutated applewebdata: request in it's willSendRequest:
2567 method, we don't load using the WebDataRequest. Instead we do a normal load.
2568 Unfortunately, if the request they return is mutated *copy* of the applewebdata:
2569 request it will hold the applewebdata: special properties. These properties
2570 will be encoded into the cache. They should not be. So, to fix, we sanitize the
2571 request, by removing the special properties from the request.
2573 Note that we had to dig into the private guts of NSURLRequest because there is
2574 no public mechanism to remove properties from a request, see 4046775.
2576 * WebView.subproj/WebBaseResourceHandleDelegate.m:
2577 (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
2578 * WebView.subproj/WebDataProtocol.h:
2579 * WebView.subproj/WebDataProtocol.m:
2580 (-[NSURLRequest _webDataRequestExternalRequest]):
2581 (-[NSURLRequest _webDataRequestSanitize]):
2585 2005-03-10 Maciej Stachowiak <mjs@apple.com>
2589 <rdar://problem/4046510> REGRESSION (TOT): All Flash and Shockwave plugin-based web content missing
2591 * Plugins.subproj/WebNetscapePluginStream.m:
2592 (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
2594 2005-03-10 John Sullivan <sullivan@apple.com>
2598 - fixed <rdar://problem/4045843> Going back/forward to error page
2599 hits assertion in -[WebDataSource(WebPrivate) _setData:]
2601 * WebView.subproj/WebDataSource.m:
2602 (-[WebDataSource _setData:]):
2603 Removed bogus assertion
2605 2005-03-09 Deborah Goldsmith <goldsmit@apple.com>
2609 - fixed <rdar://problem/3997044> default encoding for non-Latin incorrect
2611 * WebKit/WebView.subproj/WebPreferences.m: (+[WebPreferences _systemCFStringEncoding]):
2612 Call __CFStringGetUserDefaultEncoding to get region, and TECGetWebTextEncodings to get
2613 the first encoding to determine the default encoding.
2615 2005-03-09 Darin Adler <darin@apple.com>
2617 Reviewed by Richard.
2619 - fixed <rdar://problem/4034175> REGRESSION (Mail): Can't use any font with style Light/Condensed/Semibold/Extrabold, etc
2621 * WebView.subproj/WebHTMLView.m:
2622 (-[WebHTMLView _styleFromFontAttributes:]): Use a constant instead of hard-coded weight for clarity.
2623 (-[WebHTMLView _originalFontA]): Ditto.
2624 (-[WebHTMLView _originalFontB]): Ditto.
2625 (-[WebHTMLView _addToStyle:fontA:fontB:]): Add code to detect the case where the family name is not good enough
2626 to specify the font precisely. In that case, use the Postscript font name instead. Also change variable names
2627 so it's easier to understand the method.
2629 2005-03-06 Maciej Stachowiak <mjs@apple.com>
2633 <rdar://problem/4005575> Arbitrary file disclosure vulnerability due to ability to load local html from remote content
2635 * Plugins.subproj/WebBaseNetscapePluginView.m:
2636 (-[WebBaseNetscapePluginView requestWithURLCString:]):
2637 * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
2638 (-[WebNetscapePluginEmbeddedView didStart]):
2639 * Plugins.subproj/WebNetscapePluginStream.m:
2640 (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
2641 * WebCoreSupport.subproj/WebBridge.m:
2642 (-[WebBridge createWindowWithURL:frameName:]):
2643 (-[WebBridge startLoadingResource:withURL:customHeaders:]):
2644 (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]):
2645 (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
2646 (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
2647 (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
2648 (-[WebBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
2649 (-[WebBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
2650 * WebView.subproj/WebFrame.m:
2651 (-[WebFrame _loadURL:referrer:intoChild:]):
2652 * WebView.subproj/WebFramePrivate.h:
2654 2005-03-09 Richard Williamson <rjw@apple.com>
2656 Fixed <rdar://problem/4032938> Safari: text layout for MS P Gothic font is corrupted
2658 The AppKit and ATS reports that MS P Gothic is fixed pitch. It is
2659 not! This is another case of "fixed pitch" being wrong. I've
2660 coalesced all the special cases into our isFontFixedPitch:, and
2661 used a dictionary to improve speed. No performance regression.
2665 * WebCoreSupport.subproj/WebTextRenderer.m:
2666 (-[WebTextRenderer _computeWidthForSpace]):
2667 * WebCoreSupport.subproj/WebTextRendererFactory.m:
2668 (-[WebTextRendererFactory clearCaches]):
2669 (-[WebTextRendererFactory isFontFixedPitch:]):
2671 2005-03-09 Darin Adler <darin@apple.com>
2675 <rdar://problem/4040388> REGRESSION (172-173): nonrepro crash in -[NSString(WebNSURLExtras) _web_isUserVisibleURL]
2677 * Misc.subproj/WebNSURLExtras.m:
2678 (-[NSString _web_isUserVisibleURL]): Fixed some pointer expressions that didn't include the index in the expression.
2679 (readIDNScriptWhiteListFile): Removed NSLog statements in here since we decided they aren't useful and they will
2680 write some messages on Tiger.
2682 2005-03-09 Darin Adler <darin@apple.com>
2684 * DOM.subproj/DOMPrivate.h: Checked in file copied from WebCore.
2686 2005-03-08 Richard Williamson <rjw@apple.com>
2688 Fixed <rdar://problem/4036949> many JPEG images fail to incremental-load due to change in ImageIO JPEG header parsing (to be fixed in WebKit)
2689 Fixed <rdar://problem/4042570> Need to check image properties for presence of width/height properties
2691 ImageIO-55 changed how image properties are created. They
2692 are now created incrementally. So we need "re-get" the image
2693 properties if the properties we care about (width/height) aren't
2694 in the property dictionary.
2698 * WebCoreSupport.subproj/WebImageData.h:
2699 * WebCoreSupport.subproj/WebImageData.m:
2700 (-[WebImageData init]):
2701 (-[WebImageData fileProperties]):
2702 (-[WebImageData propertiesAtIndex:]):
2703 (-[WebImageData _isSizeAvailable]):
2704 (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
2705 (-[WebImageData size]):
2707 2005-03-08 John Sullivan <sullivan@apple.com>
2709 A couple of tweaks to the previous patch, from Darin's review.
2711 * Misc.subproj/WebNSPasteboardExtras.m:
2712 (_writableTypesForImageWithoutArchive):
2713 remove unnecessary _web prefix
2714 (_writableTypesForImageWithArchive):
2716 (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]):
2717 use mutableCopy rather than initWithArray:, and adjust for name changes
2719 2005-03-08 John Sullivan <sullivan@apple.com>
2723 - fixed <rdar://problem/4031826> REGRESSION (Mail): standalone images from
2724 Safari can't be pasted into Mail (WebKit part of fix)
2726 We were always declaring webarchive-related pasteboard types, even in the standalone
2727 image cases where we had no webarchive. Unfortunately, the WebView pasteboard-related
2728 API doesn't prevent this kind of thing from happening, because the code that
2729 declares the types isn't guaranteed to be anywhere near the code that writes
2730 the pasteboard data.
2732 After this fix, I discovered that pasting standalone images into Mail still doesn't
2733 work right, but the remaining issues seem to be entirely in Mail. I wrote up 4041671
2736 * Misc.subproj/WebNSPasteboardExtras.h:
2737 (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]):
2738 Added boolean parameter; clients must specify whether or not there's an
2739 archive involved, because the array of types is different if there is.
2741 * Misc.subproj/WebNSPasteboardExtras.m:
2742 (_web_writableTypesForImageWithoutArchive):
2743 new static function, constructs (once) and returns the array of types
2744 for images that don't have archives
2745 (_web_writableTypesForImageWithArchive):
2746 new static function, constructs (once) and returns the array of types
2747 for images that do have archives
2748 (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]):
2749 added boolean parameter, now calls one of the two new static functions
2751 (-[NSPasteboard _web_writeImage:URL:title:archive:types:]):
2752 added asserts that we aren't declaring the archive types if we don't have archive data
2754 (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]):
2755 updated to pass parameter to _web_writableTypesForImageIncludingArchive:
2757 * WebView.subproj/WebDefaultContextMenuDelegate.m:
2758 (-[WebDefaultUIDelegate copyImageToClipboard:]):
2759 updated to pass parameter to _web_writableTypesForImageIncludingArchive:
2761 * WebView.subproj/WebImageView.m:
2762 (-[WebImageView copy:]):
2763 updated to pass parameter to _web_writableTypesForImageIncludingArchive:
2765 * WebView.subproj/WebView.m:
2766 (-[WebView pasteboardTypesForElement:]):
2767 updated to pass parameter to _web_writableTypesForImageIncludingArchive:
2769 2005-03-07 Richard Williamson <rjw@apple.com>
2771 More bullet proofing for <rdar://problem/4038304> CrashTracer: ....9 crashes at com.apple.WebKit: -[WebTextRenderer initWithFont:usingPrinterFont:] + 840
2773 Protect against removal of Times and Times New Roman from
2774 system. If these fonts are removed attempt to get system font
2775 instead of FATAL_ALWAYS.
2779 * WebCoreSupport.subproj/WebTextRenderer.m:
2780 (-[WebTextRenderer initWithFont:usingPrinterFont:]):
2784 2005-03-06 Darin Adler <darin@apple.com>
2786 - fixed obvious mistake in IDN script code (luckily it hasn't been in a submission yet!)
2788 * Misc.subproj/WebNSURLExtras.m: (readIDNScriptWhiteListFile): Use "index" to index into the array,
2789 not "script", which is the script number, not the 32-bit-word index.
2791 2005-03-05 Kevin Decker <kdecker@apple.com>
2795 Fixed: <rdar://problem/4038529> Infinite progress bar loading webcams and other sites that use multipart/x-mixed-replace
2797 The previous patch I landed prevented us from loading multipart/x-mixed-replace but did not always update the progress bar accordingly.
2798 This stops websites from having seemingly infinite progress in the browser UI.
2800 * WebCoreSupport.subproj/WebSubresourceClient.m:
2801 (-[WebSubresourceClient didReceiveResponse:]): If this is "multipart/x-mixed-replace", remove the WebBaseResourceHandleDelegate client from
2802 the datasource's subresource array, otherwise -[WebDataSource isLoading] incorrectly returns YES. Also it's possible at this point in
2803 time we're done loading now (loaded everything else except for the multipart/x-mixed-replace content) so go ahead and check to see if
2804 in fact we're complete.
2805 * WebView.subproj/WebMainResourceClient.m:
2806 (-[WebMainResourceClient connection:didReceiveResponse:]): ditto
2808 2005-03-05 Richard Williamson <rjw@apple.com>
2810 Fixed panther build problem. Shouldn't include
2811 changes for 3968753 on panther.
2815 * WebView.subproj/WebView.m:
2816 (-[WebView _commonInitializationWithFrameName:groupName:]):
2818 2005-03-05 Darin Adler <darin@apple.com>
2822 - fixed <rdar://problem/4034603> REGRESSION (185-188): RadarWeb can't send enclosures anymore
2824 * WebView.subproj/WebFormDataStream.m:
2825 (closeCurrentStream): Release currentData when closing the stream.
2826 (advanceCurrentStream): Set up and retain currentData when the current stream is reading that data, so the
2827 data won't be released while in use.
2828 (formCreate): Initialize currentData to NULL.
2830 - fixed <rdar://problem/4037562> Tiger8A402: Help Viewer crashed when viewing help for iChat (infinite recursion in WebView)
2832 * WebView.subproj/WebView.m: (-[WebView _responderValidateUserInterfaceItem:]):
2833 Check for the case where we ourselves are the responder. This avoids an infinite loop.
2834 The actual code to perform operations avoids this with a global variable, but this lighter weight
2835 solution is sufficient here because validate operations don't call through to the next responder.
2837 2005-03-04 Richard Williamson <rjw@apple.com>
2839 Fixed <rdar://problem/3968753> REGRESSION: Poor performance with differing multiple animated GIFs (was fast in Panther)
2841 Disable coalesced updates (in CG). This restores the
2844 Reviewed by David Harrison.
2846 * WebView.subproj/WebView.m:
2847 (-[WebView _commonInitializationWithFrameName:groupName:]):
2849 2005-03-04 Adele Amchan <adele@apple.com>
2853 * English.lproj/StringsNotToBeLocalized.txt: added new strings "text/x-vcf" and "text/x-csv" to the list
2855 2005-03-04 Adele Amchan <adele@apple.com>
2859 Fix for <rdar://problem/4032982> Sun iPlanet app: not able to import AddressBook CSV format addresses properly
2860 Fix for <rdar://problem/4032985> Sun iPlanet app: not able to import vCard format addresses properly
2862 * WebView.subproj/WebTextView.m:
2863 (+[WebTextView unsupportedTextMIMETypes]): added "text/x-csv" and "text/x-vcf" to the list of MIME types that our text view doesn't handle
2865 2005-03-04 Darin Adler <darin@apple.com>
2869 - fixed <rdar://problem/4036817> REGRESSION: ctrl-y broken when a line + carriage return cut
2871 * WebView.subproj/WebHTMLView.m:
2872 (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]): Merged _handleKillRing behavior
2873 into this function, since there's now a more-complicated way the startNewKillRingSequence boolean needs to
2874 be handled. Set the startNewKillRingSequence boolean after the entire process so changing the selection before
2875 and during the editing dosn't clear it. Also change "isTypingAction" parameter to "deletionAction" so we can
2876 handle forward delete with this method.
2877 (-[WebHTMLView _deleteSelection]): Pass deleteSelectionAction for action rather than NO for isTypingAction,
2878 which is the way to say the same thing using the new parameter.
2879 (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Refactor to use the _deleteRange
2880 method above. Also calls _shouldDeleteRange: for the pre-existing selection case; not doing that before was
2882 (-[WebHTMLView deleteToMark:]): Pass deleteSelectionAction for action rather than NO for isTypingAction,
2883 which is the way to say the same thing using the new parameter.
2885 2005-03-04 Darin Adler <darin@apple.com>
2889 - fixed <rdar://problem/4020413> REGRESSION (Mail): can't use fonts with names that start with "#" in Mail (Korean fonts)
2891 * WebView.subproj/WebHTMLView.m:
2892 (-[WebHTMLView _styleFromFontAttributes:]): Quote font name when calling setFontFamily.
2893 (-[WebHTMLView _addToStyle:fontA:fontB:]): Ditto.
2895 2005-03-04 Darin Adler <darin@apple.com>
2899 - fixed <rdar://problem/3965666> IDN spoofing vulnerability caused by Unicode characters that look like ASCII characters
2901 * Misc.subproj/WebNSURLExtras.m:
2902 (readIDNScriptWhiteListFile): Added. Reads file and parses script names.
2903 (readIDNScriptWhiteList): Added. Calls readIDNScriptWhiteList on each of the white list locations in succession.
2904 (allCharactersInIDNScriptWhiteList): Renamed from containsPossibleLatinLookalikes and changed sense.
2905 Now calls readIDNScriptWhiteList first time, and then uses the read-in list to check the scripts.
2906 (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Call allCharactersInIDNScriptWhiteList instead of
2907 containsPossibleLatinLookalikes.
2908 * Resources/IDNScriptWhiteList.txt: Added.
2909 * WebKit.pbproj/project.pbxproj: Added IDNScriptWhiteList.txt file.
2911 * Misc.subproj/WebKitLocalizableStrings.m: Removed. This is simply unused.
2912 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
2914 2005-03-04 Darin Adler <darin@apple.com>
2918 - fixed <rdar://problem/3937667> REGRESSION (Mail): Zooming a window from titlebar button doesn't paint newly-exposed portions of window
2920 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
2921 Re-set-up the visRect if the bounds changes due to layout.
2925 2005-03-03 Jens Alfke <jens@apple.com>
2929 <rdar://problem/3991818> REGRESSION: Images scale while loading
2930 The code could crop an image when not all the scanlines were available yet, and it could crop when only a sub-rect of the image was to be drawn; but if it had to do both at once, it got the coordinates wrong. Fixed that.
2932 * WebCoreSupport.subproj/WebImageData.m:
2933 (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
2935 2005-03-01 David Hyatt <hyatt@apple.com>
2937 Fix for 3841186, scrollbar shows up disabled when it should not appear at all. Make sure updateScrollers
2938 is never allowed to be re-entrant from any call point by moving the guard inside the function itself.
2940 Reviewed by John Sullivan
2942 * WebView.subproj/WebDynamicScrollBarsView.m:
2943 (-[WebDynamicScrollBarsView updateScrollers]):
2944 (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
2946 2005-03-02 Chris Blumenberg <cblu@apple.com>
2948 Fixed: <rdar://problem/4029010> Expose method to retrieve drag image for WebView's selection
2950 Reviewed by sullivan.
2952 * WebView.subproj/WebHTMLView.m:
2953 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): call _selectionDraggingImage
2954 (-[WebHTMLView _selectionDraggingImage]): new SPI for Mail, factored from previous method
2955 (-[WebHTMLView _selectionDraggingRect]): new SPI for Mail
2956 * WebView.subproj/WebHTMLViewPrivate.h:
2958 2005-03-02 John Sullivan <sullivan@apple.com>
2962 - fixed <rdar://problem/4023337> Safari stops loading any page (-[NSCFDictionary setObject:forKey:]:
2963 attempt to insert nil key)
2965 It is very likely that the exception being hit is caused by the same problem as WebFoundation
2966 bug 4018486. This change makes the code robust against this kind of problem regardless.
2968 * WebView.subproj/WebBaseResourceHandleDelegate.m:
2969 (-[WebBaseResourceHandleDelegate saveResource]):
2970 Don't call addSubresource if newly-created resource is nil (but do assert on debug builds).
2971 Also assert that originalURL and MIMEType are not nil.
2973 * WebView.subproj/WebDataSource.m:
2974 (-[WebDataSource addSubresource:]):
2975 Don't add nil subresource to dictionary, but do assert on debug builds.
2979 2005-03-01 John Sullivan <sullivan@apple.com>
2983 - fixed <rdar://problem/3987482> Format>Style>Italic is not enabled when a
2984 compose window is empty (works in Blot)
2986 * WebView.subproj/WebHTMLView.m:
2987 (-[WebHTMLView becomeFirstResponder]):
2988 call _updateFontPanel here so NSFontManager knows the right font for the menu
2989 items and the font panel
2991 2005-03-01 David Harrison <harrison@apple.com>
2995 <rdar://problem/3915560> Mail would like an SPI to enable "smart" text paste/drop
2997 * WebView.subproj/WebHTMLView.m:
2998 (-[WebHTMLView _smartDeleteRangeForProposedRange:]):
2999 (-[WebHTMLView _smartInsertForString:replacingRange:beforeString:afterString:]):
3002 2005-02-28 John Sullivan <sullivan@apple.com>
3006 - WebKit part of fix for <rdar://problem/4023490> REGRESSION (125-185): Tabbing through links
3007 on frameset page gets stuck at end (tivofaq.com)
3009 This tab-to-links stuff has been in shaky condition ever since AppKit futzed with
3010 tabbing behavior in Tiger to add support for including the toolbar in the key loop.
3011 I made some changes months ago to compensate for that, but some cases, such as this
3012 one, still weren't fixed.
3014 * WebCoreSupport.subproj/WebBridge.m:
3015 (-[WebBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]):
3016 new bottleneck method, extracted from nextKeyViewOutsideWebFrameViews; handles
3017 nextKeyView or nextValidKeyView depending on parameter.
3018 (-[WebBridge nextKeyViewOutsideWebFrameViews]):
3019 now calls extracted method
3020 (-[WebBridge nextValidKeyViewOutsideWebFrameViews]):
3021 new method, calls new bottleneck method
3023 * WebView.subproj/WebHTMLView.m:
3024 (-[WebHTMLView nextValidKeyView]):
3025 when we're stuck at the end of a nextKeyView chain inside a nexted frame, use
3026 nextValidKeyViewOutsideWebFrameViews. Make sure we don't end up looking inside
3027 the web frame views while doing this.
3029 2005-02-25 Darin Adler <darin@apple.com>
3033 - fixed <rdar://problem/4025088> window onblur and onfocus don't fire when text field has focus
3035 * WebView.subproj/WebHTMLView.m:
3036 (-[WebHTMLView updateFocusState]): Renamed from updateFocusDisplay. Added call to setWindowHasFocus: method.
3037 (-[WebHTMLView viewDidMoveToWindow]): Call method by new name.
3038 (-[WebHTMLView windowDidBecomeKey:]): Ditto.
3039 (-[WebHTMLView windowDidResignKey:]): Ditto.
3040 (-[WebHTMLView becomeFirstResponder]): Ditto.
3041 (-[WebHTMLView resignFirstResponder]): Ditto.
3045 2005-02-25 Richard Williamson <rjw@apple.com>
3047 Fixed <rdar://problem/4000962> 8A375: Help Viewer displays voiced sound and semi-voiced characters strangely (characters don't seem to be composed)
3049 Added special case for voiced marks.
3053 * WebCoreSupport.subproj/WebTextRenderer.m:
3054 (widthForNextCharacter):
3056 2005-02-25 Darin Adler <darin@apple.com>
3060 - fixed <rdar://problem/4019823> Seed: Control-Y doesn't work
3062 * WebView.subproj/WebHTMLView.m:
3063 (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Call _handleKillRing
3064 after setting the selection, since it uses the selection to get the text.
3065 (-[WebHTMLView _insertText:selectInsertedText:]): Check for empty string to avoid an assertion
3066 on the other side of the bridge when you yank the empty string.
3068 2005-02-24 Richard Williamson <rjw@apple.com>
3070 Fixed <rdar://problem/3382926> Bidi neutrals at RTL/LTR boundaries not handled correctly.
3072 If directionality is specified use that as initial directionality,
3073 rather than neutral directionality.
3077 * WebCoreSupport.subproj/WebTextRenderer.m:
3078 (widthForNextCharacter):
3080 2005-02-24 Adele Amchan <adele@apple.com>
3084 Fix for <rdar://problem/4023393> Safari crashed in khtml::RenderObject::repaintAfterLayoutIfNeeded(QRect const&, QRect const&)
3086 We were crashing after hitting PageDown when viewing a pdf because
3087 WebKit was calling over to WebCore to scroll overflow areas.
3088 Since this only needs to be done if we're dealing with a WebHTMLView,
3089 I added a wrapper function to check the documentView before calling
3092 * WebView.subproj/WebFrameView.m:
3093 (-[WebFrameView _scrollOverflowInDirection:granularity:]): added wrapper function that checks if documentView is a WebHTMLView
3094 (-[WebFrameView scrollToBeginningOfDocument:]): uses new wrapper function now
3095 (-[WebFrameView scrollToEndOfDocument:]): uses new wrapper function now
3096 (-[WebFrameView _pageVertically:]): uses new wrapper function now
3097 (-[WebFrameView _pageHorizontally:]): uses new wrapper function now
3098 (-[WebFrameView _scrollLineVertically:]): uses new wrapper function now
3099 (-[WebFrameView _scrollLineHorizontally:]): uses new wrapper function now
3101 2005-02-24 Richard Williamson <rjw@apple.com>
3103 Fixed <rdar://problem/3985889> REGRESSION (125-180): setting <img> src to GIF that already animated does not animate; just shows final frame
3107 * WebCoreSupport.subproj/WebImageData.h:
3108 * WebCoreSupport.subproj/WebImageData.m:
3109 (-[WebImageData resetAnimation]):
3110 * WebCoreSupport.subproj/WebImageRenderer.m:
3111 (-[WebImageRenderer resetAnimation]):
3112 (-[WebInternalImage resetAnimation]):
3113 (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
3115 2005-02-24 Kevin Decker <kdecker@apple.com>
3119 Fixed <rdar://problem/3962401> Don't load multipart/x-mixed-replace content to prevent memory leak
3121 Since we're not going to fix <rdar://problem/3087535> for Tiger, we should not load multipart/x-mixed-replace content. Pages with such content contain what is essentially an infinite load and therefore may leak.
3123 * WebView.subproj/WebMainResourceClient.m:
3124 (-[WebMainResourceClient connection:didReceiveResponse:]): Disabled loading of multipart/x-mixed-replace content until we fully implement server side push.
3125 * WebCoreSupport.subproj/WebSubresourceClient.m:
3126 (-[WebSubresourceClient didReceiveResponse:]): Ditto. Same exact thing for sub resources.
3129 2005-02-23 John Sullivan <sullivan@apple.com>
3133 - fixed <rdar://problem/4021370> REGRESSION (Tiger): WebKit part of fix for
3134 shift-tab on tivofaq doing the wrong thing
3136 * WebView.subproj/WebFrameView.m:
3137 (-[WebFrameView becomeFirstResponder]):
3138 If our previousValidKeyView is nil or self (same as nil modulo AppKit oddness),
3139 look out of the box and get the previousValidKeyView of our webview.
3141 2005-02-23 Darin Adler <darin@apple.com>
3145 - fixed <rdar://problem/4010196> REGRESSION (125-186+): 8-character timestamps in gmail wrap to 2 lines (width:8ex; font-size:80%)
3147 * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer xHeight]): Return the maximum
3148 of the "x" height and width. Comment in the code explains why in more detail.
3150 2005-02-22 Richard Williamson <rjw@apple.com>
3152 Fixed <rdar://problem/3937203> when a div adds a scrollbar (overflow:auto) we do not get regions
3154 Compare regions after automatice scroll regions have been
3159 * WebCoreSupport.subproj/WebBridge.h:
3160 * WebCoreSupport.subproj/WebBridge.m:
3161 (-[WebBridge dealloc]):
3162 (-[WebBridge _compareDashboardRegions:]):
3163 (-[WebBridge dashboardRegionsChanged:]):
3165 2005-02-22 Richard Williamson <rjw@apple.com>
3167 Fixed <rdar://problem/4012463> Dashboard widgets don't work with authenticating proxies
3169 Added new SPI for dashboard that just calls default delegate
3174 * WebView.subproj/WebView.m:
3175 (-[WebView handleAuthenticationForResource:challenge:fromDataSource:]):
3176 * WebView.subproj/WebViewPrivate.h:
3178 2005-02-22 Chris Blumenberg <cblu@apple.com>
3182 * WebCoreSupport.subproj/WebBridge.m:
3183 (-[WebBridge issuePasteAndMatchStyleCommand]): support for new "PasteAndMatchStyle" exec command
3187 2005-02-21 David Harrison <harrison@apple.com>
3191 <rdar://problem/3943090> REGRESSION (Mail): Spelling underline incompletely erased following certain steps
3193 * WebCoreSupport.subproj/WebTextRenderer.m:
3194 (-[WebTextRenderer misspellingLineThickness]):
3195 (-[WebTextRenderer misspellingLinePatternWidth]):
3196 Replaced #defines with these methods, so others can get the same info.
3198 (-[WebTextRenderer drawLineForMisspelling:withWidth:]):
3199 Keep underline within originally specified bounds.
3202 2005-02-21 Darin Adler <darin@apple.com>
3206 - fixed <rdar://problem/4016358> don't ever display IDN URLs with characters from "possible Latin look-alike" scripts
3208 * Misc.subproj/WebNSURLExtras.m:
3209 (containsPossibleLatinLookalikes): Added.
3210 (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Call containsPossibleLatinLookalikes, and if true,
3211 don't decode the host name.
3213 2005-02-19 Kevin Decker <kdecker@apple.com>
3217 Fixed <rdar://problem/4010765> Flash player can be used to arbitrarily open popup windows without user permission
3219 Our window.open() policy is to refuse the <script>window.open(...)</script> case and allow the inline the <a href="javascript:window.open('foo')> case. Clever advertisers at some point realized that by executing their Javascript through the Flash plugin, Safari would always treat their code as the inline case, and thus, they were able to work around our popup blocker.
3221 * Plugins.subproj/WebBaseNetscapePluginView.h: Addded currentEventIsUserGesture boolean ivar.
3222 * Plugins.subproj/WebBaseNetscapePluginView.m:
3223 (-[WebBaseNetscapePluginView sendEvent:]): If at any point the user clicks or presses a key from within a plugin, set the currentEventIsUserGesture flag to true. This is important to differentiate legitimate window.open() calls originating from plugins; we still want to allow those.
3224 (-[WebBaseNetscapePluginView initWithFrame:]): In our asynchronous load, pass along currentEventIsUserGesture to the PluginRequest.
3225 (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Inform WebCore if this was a user originated gesture when calling executeScript().
3226 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
3227 (-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:didStartFromUserGesture:]):
3228 (-[WebPluginRequest isCurrentEventUserGesture]): Added.
3230 2005-02-18 Chris Blumenberg <cblu@apple.com>
3232 Fixed: <rdar://problem/3945271> REGRESSION (Mail): pasted plain text should pick up typing style instead of being unstyled
3234 Reviewed by kocienda.
3236 * WebView.subproj/WebDataSource.m:
3237 (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): pass NO for matchStyle to replaceSelection
3238 * WebView.subproj/WebHTMLView.m:
3239 (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:chosePlainText:]): return new chosePlainText parameter
3240 (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): pass chosePlainText for matchStyle to replaceSelection
3241 (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): ditto
3243 2005-02-17 Richard Williamson <rjw@apple.com>
3245 Removed code that should not have been checked in from
3248 * WebCoreSupport.subproj/WebTextRendererFactory.m:
3249 (-[WebTextRendererFactory isFontFixedPitch:]):
3251 2005-02-17 Richard Williamson <rjw@apple.com>
3253 Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead
3255 Fixed w/o introducing a performance regression.
3257 Reviewed by Vicki (and earlier by Dave Harrison).
3259 * WebCoreSupport.subproj/WebTextRenderer.m:
3260 (-[WebTextRenderer _computeWidthForSpace]):
3261 (widthForNextCharacter):
3262 * WebCoreSupport.subproj/WebTextRendererFactory.h:
3263 * WebCoreSupport.subproj/WebTextRendererFactory.m:
3264 (-[NSFont _web_isFakeFixedPitch]):
3265 (-[WebTextRendererFactory isFontFixedPitch:]):
3266 (-[WebTextRendererFactory fontWithFamily:traits:size:]):
3268 2005-02-17 Richard Williamson <rjw@apple.com>
3270 Fixed <rdar://problem/3959304> PDF in img tag is not rendered correctly anymore
3272 We were incorrectly adding image position when flipping coordinates.
3274 Reviewed by David Harrison.
3276 * WebCoreSupport.subproj/WebImageData.m:
3277 (-[WebImageData _PDFDrawFromRect:toRect:operation:alpha:flipped:context:]):
3279 2005-02-17 Richard Williamson <rjw@apple.com>
3281 Fixed <rdar://problem/4007262> Seed: Flight tracker scrolling moves to the left
3283 Added SPI for dashboard to disable wheel scrolling of the WebClipView.
3288 * WebView.subproj/WebClipView.m:
3289 (-[WebClipView _focusRingVisibleRect]):
3290 (-[WebClipView scrollWheel:]):
3291 * WebView.subproj/WebView.m:
3292 (-[WebViewPrivate init]):
3293 (-[WebView drawRect:]):
3294 (-[WebView _dashboardBehavior:]):
3295 * WebView.subproj/WebViewInternal.h:
3296 * WebView.subproj/WebViewPrivate.h:
3300 2005-02-17 Vicki Murley <vicki@apple.com>
3302 - roll out this change, since it causes a 1.5% performance regression
3304 2005-02-15 Richard Williamson <rjw@apple.com>
3306 Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead
3308 Lie about Osaka-Mono. Treat it as fixed pitch, even though,
3309 strictly speaking it isn't. (Similar to what we do with
3312 Reviewed by David Harrison.
3314 * WebCoreSupport.subproj/WebTextRenderer.m:
3315 (-[WebTextRenderer _computeWidthForSpace]):
3316 * WebCoreSupport.subproj/WebTextRendererFactory.h:
3317 * WebCoreSupport.subproj/WebTextRendererFactory.m:
3318 (-[NSFont _web_isFakeFixedPitch]):
3319 (-[WebTextRendererFactory isFontFixedPitch:]):
3320 (-[WebTextRendererFactory fontWithFamily:traits:size:]):
3322 2005-02-17 John Sullivan <sullivan@apple.com>
3326 - fixed <rdar://problem/3997185> The Web view on .Mac Prefs caused System Prefs
3327 to lockup (resolved by re-boot only)
3329 * WebCoreSupport.subproj/WebBridge.m:
3330 (-[WebBridge nextKeyViewOutsideWebFrameViews]):
3331 Don't allow recursion here; assert on debug build, return nil on deployment. I
3332 couldn't get my machine into a state to repro this problem (and neither could the
3333 originator), but it's obvious from the stack crawl that this method was recursing
3334 when it shouldn't have.
3336 2005-02-16 John Sullivan <sullivan@apple.com>
3338 Written by Darin, reviewed by me.
3340 - WebKit part of fix for <rdar://problem/4007384>
3341 FILTER: Bookmark of RSS with Japanese search word & multiple RSS pages loses filter
3343 * DOM.subproj/DOMPrivate.h:
3344 updated this file, which is a copy of the WebCore version
3346 2005-02-16 Richard Williamson <rjw@apple.com>
3348 Fixed <rdar://problem/3966973> Tiger 8A357: Binary Compatiblity: frequent Webstractor.app crashes [WebImageData _nextFrame]
3350 Webstractor.app was playing tricks to create thumbnails of
3351 pages. This caused the 'focusView' to be incorrect during
3352 animated GIF frame rendering.
3356 * WebCoreSupport.subproj/WebImageRenderer.m:
3357 (-[WebImageRenderer _startOrContinueAnimationIfNecessary]):
3359 2005-02-16 Vicki Murley <vicki@apple.com>
3361 Reviewed by me, code change by Darin.
3363 - fixed the build on Panther
3365 * WebView.subproj/WebFormDataStream.m: (webSetHTTPBody):
3366 Added a Panther-specific code path that just loads all the data into one big
3367 NSData object. This means that bug 3686434 won't be fixed on SUPanWheat; we'll
3368 still load the file into memory before sending it to the server on Panther.
3370 2005-02-15 Richard Williamson <rjw@apple.com>
3372 Fixed <rdar://problem/3998368> Tiger8A376: WebTextRenderer assertion failure in Safari while browsing news.bbc.co.uk
3374 Removed use of FATAL_ALWAYS from getUncachedWidth(). It's unclear
3375 why we would trigger the FATAL_ALWAYS. In the past we've seen
3376 the message triggered because of corrupt fonts. Anyway, in this
3377 particular case, we will now return 0 for the character width,
3378 rather than exiting.
3380 Reviewed by David Harrison.
3382 * WebCoreSupport.subproj/WebTextRenderer.m:
3385 2005-02-15 Richard Williamson <rjw@apple.com>
3387 Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead
3389 Lie about Osaka-Mono. Treat it as fixed pitch, even though,
3390 strictly speaking it isn't. (Similar to what we do with
3393 Reviewed by David Harrison.
3395 * WebCoreSupport.subproj/WebTextRenderer.m:
3396 (-[WebTextRenderer _computeWidthForSpace]):
3397 * WebCoreSupport.subproj/WebTextRendererFactory.h:
3398 * WebCoreSupport.subproj/WebTextRendererFactory.m:
3399 (-[NSFont _web_isFakeFixedPitch]):
3400 (-[WebTextRendererFactory isFontFixedPitch:]):
3401 (-[WebTextRendererFactory fontWithFamily:traits:size:]):
3403 2005-02-14 Darin Adler <darin@apple.com>
3407 - fixed <rdar://problem/3686434> Safari uses too much RAM on file upload, leading to malloc errors and crashes (HP printers)
3409 * WebView.subproj/WebFormDataStream.h: Added webSetHTTPBody, which creates and connects an appropriate
3410 stream to an NSMutableURLRequest.
3411 * WebView.subproj/WebFormDataStream.m: Added implementation here.
3413 * WebCoreSupport.subproj/WebBridge.m:
3414 (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
3416 * WebCoreSupport.subproj/WebSubresourceClient.m:
3417 (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]):
3419 * WebView.subproj/WebFrame.m:
3420 (-[WebFrame _loadItem:withLoadType:]): Use webSetHTTPBody.
3421 (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto.
3423 * English.lproj/StringsNotToBeLocalized.txt: Updated for this change and other recent changes.
3425 2005-02-11 Richard Williamson <rjw@apple.com>
3427 Fixed <rdar://problem/4002505> 8A378: Endlessly animating gif's on http://www.entropy.ch
3429 If animated images had no loop count property we were incorrectly
3430 looping forver. Note, that in the course of fixing this bug
3431 I found that ImageIO is incorrectly NOT reporting the loop count
3432 for a whole class of animated GIFs.
3434 Reviewed by Ken Kocienda.
3436 * WebCoreSupport.subproj/WebImageData.m:
3437 (-[WebImageData _repetitionCount]):
3441 2005-02-11 Vicki Murley <vicki@apple.com>
3445 - fix deployment build on Panther
3447 * WebView.subproj/WebHTMLView.m:
3448 (-[WebHTMLView changeBaseWritingDirection:]): ifdef out NSWritingDirectionNatural
3449 (-[WebHTMLView toggleBaseWritingDirection:]): fix a spacing issue
3451 2005-02-10 David Harrison <harrison@apple.com>
3453 Reviewed by Richard.
3455 <rdar://problem/3991652> REGRESSION (Mail): Deleting entire line in reply deletes extra blank line and moves insertion point
3457 * WebView.subproj/WebHTMLView.m:
3458 (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:]):
3459 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
3460 (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
3461 (-[WebHTMLView selectToMark:]):
3462 (-[WebHTMLView swapWithMark:]):
3463 (-[WebHTMLView transpose:]):
3464 (-[WebHTMLView _selectMarkedText]):
3465 (-[WebHTMLView _selectRangeInMarkedText:]):
3466 Adopt new default affinity of NSSelectionAffinityDownstream as&nbs