1 2003-10-03 David Hyatt <hyatt@apple.com>
3 Fix for numerous regressions caused by an inadvertent renaming of the recursiveDisplay
8 * WebView.subproj/WebHTMLView.m:
9 (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
11 2003-10-03 Richard Williamson (Home0 <rjw@apple.com>
13 Fixed some edge case issue (control characters after end of word) with our rounding hack.
17 * WebCoreSupport.subproj/WebTextRenderer.m:
18 (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
20 2003-10-03 Ken Kocienda <kocienda@apple.com>
22 Reviewed by Darin, with much help from Maciej and Hyatt
26 <rdar://problem/3441321>: Form buttons do not respond to key events when focused
28 * WebView.subproj/WebFrameView.m:
29 (-[WebFrameView _firstResponderIsControl]): Added to tell if the focus
31 (-[WebFrameView keyDown:]): Call new _firstResponderIsControl method to see
32 whether space bar key events should propagate. Adding this check keeps us
33 from blocking the event here and allows AppKit to handle it.
34 * WebView.subproj/WebFrameViewPrivate.h: Add new _firstResponderIsControl
37 2003-10-02 Maciej Stachowiak <mjs@apple.com>
39 Folded Private implementation files into the regular ones as the
40 first step towards pulling in our SPI exposure and other code
43 * History.subproj/WebHistory.m:
44 * History.subproj/WebHistoryPrivate.m: Removed.
45 * Misc.subproj/WebIconDatabasePrivate.h:
46 * WebKit.pbproj/project.pbxproj:
47 * WebView.subproj/WebDataSource.m:
48 * WebView.subproj/WebDataSourcePrivate.m: Removed.
49 * WebView.subproj/WebFrame.m:
50 * WebView.subproj/WebFramePrivate.m: Removed.
51 * WebView.subproj/WebFrameView.m:
52 * WebView.subproj/WebFrameViewPrivate.m: Removed.
53 * WebView.subproj/WebHTMLView.m:
54 * WebView.subproj/WebHTMLViewPrivate.m: Removed.
55 * WebView.subproj/WebView.m:
56 * WebView.subproj/WebViewPrivate.m: Removed.
58 2003-10-02 Chris Blumenberg <cblu@apple.com>
60 Fixed: <rdar://problem/3440063>: Safari 1.1 won't load new pages after visiting adultswim.com, assertion failure on debug build
64 * Plugins.subproj/WebBaseNetscapePluginStream.m:
65 (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): if not data was received for a stream, create the temp file anyway. Plug-ins expect this.
69 2003-10-02 Darin Adler <darin@apple.com>
71 * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
73 2003-10-01 Maciej Stachowiak <mjs@apple.com>
77 - fixed 3441466 - REGRESSION: http://www.meyerweb.com/eric/css/edge/complexspiral/glassy.html broken on scroll
79 * WebView.subproj/WebFramePrivate.m:
80 (-[WebFrame _setState:]): Don't turn on scroll-blitting here when the page is done...
81 (-[WebFrame _transitionToCommitted:]): Instead do it here, when the page is committed.
83 2003-10-02 Darin Adler <darin@apple.com>
87 - in preparation for a WebCore whitespace-handling change, made WebTextRenderer draw and measure
88 newline characters as if they are spaces (just as we already do with non-breaking spaces)
89 - removed some unused stuff from WebTextRenderer
90 - other unimportant tweaks (e.g. unsigned int -> unsigned)
92 * WebCoreSupport.subproj/WebTextRenderer.m:
93 (kFixedOne), (fixed1), (FixToFloat), (FloatToFixed): Removed these. We can use the standard ones
94 from <FixMath.h> instead of defining our own.
95 (isControlCharacter): Added. Inline function that we can use instead of the macro we had before.
96 (isAlternateSpace): Added. Returns YES for newlines and non-breaking spaces.
97 (isSpace): Added. Returns YES for real spaces and the two alternate spaces as well.
98 (initializeCharacterWidthIterator): Use isSpace.
99 (-[WebTextRenderer convertCharacters:length:toGlyphs:skipControlCharacters:]): Use isAlternateSpace
100 and isControlCharacter.
101 (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
102 Use isControlCharacter, isAlternateSpace, and isSpace. Also fix a small bug where numGlyphs would
103 not get set up properly when the run length is 0, and used local variables when possible instead
104 of going back at the run structure.
105 (-[WebTextRenderer _ATSU_floatWidthForRun:style:]): Use the standard FixedToFloat instead of our
107 (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]): Ditto.
109 2003-10-02 David Hyatt <hyatt@apple.com>
111 Work on exposing elements to the Acc API. This patch gets us to the point where text
112 under the mouse is voiced.
116 * WebView.subproj/WebHTMLView.m:
117 (-[WebHTMLView accessibilityAttributeValue:]):
118 (-[WebHTMLView accessibilityHitTest:]):
120 2003-10-01 John Sullivan <sullivan@apple.com>
124 * WebView.subproj/WebHTMLView.m:
125 (-[WebHTMLView viewDidMoveToSuperview]):
126 skip some work when when we've been removed. This wasn't
127 causing any trouble before, but was at least conceptually
130 2003-10-01 John Sullivan <sullivan@apple.com>
132 - fixed 3441372: REGRESSION (107+): Plain text document is
133 initially drawn with proportional font
137 * WebView.subproj/WebTextView.m:
138 (-[WebTextView setDataSource:]):
139 Changed a != to an ==
141 2003-10-01 Richard Williamson <rjw@apple.com>
143 Fixed 3438441. If a load is triggered by a onload handling, don't add an entry for it into the b/f or history. The new Google ads use this technique.
147 * Misc.subproj/WebKitLogging.h:
148 * Misc.subproj/WebKitLogging.m:
149 * WebCoreSupport.subproj/WebBridge.m:
150 (-[WebBridge loadURL:referrer:reload:onLoadEvent:target:triggeringEvent:form:formValues:]):
151 * WebView.subproj/WebFramePrivate.h:
152 * WebView.subproj/WebFramePrivate.m:
153 (-[WebFrame _addBackForwardItemClippedAtTarget:]):
154 (-[WebFrame _transitionToCommitted:]):
155 (-[WebFrame _isLoadComplete]):
156 (-[WebFrame _loadItem:withLoadType:]):
157 (-[WebFrame _itemForRestoringDocState]):
159 2003-10-01 Darin Adler <darin@apple.com>
163 * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _webView]):
164 Fixed problem where we'd get a nil WebView and pass crazy values for subframe
167 2003-10-01 David Hyatt <hyatt@apple.com>
169 Fix for 3440804, broken scrollbars in downloads window. Make Auto be the default
170 value in the enum, so that all scrollviews will be automatically initialized to be
175 * WebView.subproj/WebDynamicScrollBarsView.m:
177 2003-09-30 Richard Williamson <rjw@apple.com>
179 Attempt to find a reasonable font using a simple string matching heuristic if
180 none of the fonts actually specified are found. In particular we will use
181 Geeza Pro if "arabic", "urdu", or "pashto" is contained (case-insensitive) in
182 any of the requested font family names. Geeza Pro is a much better fallback
183 font for Arabic (and variant languages) than Helvetica.
187 * WebCoreSupport.subproj/WebTextRendererFactory.m:
188 (-[WebTextRendererFactory fontWithFamilies:traits:size:]):
190 2003-09-30 John Sullivan <sullivan@apple.com>
192 - fixed 3045617 -- Make Text Bigger/Smaller doesn't affect non-html documents.
194 I added an internal protocol inside WebKit to make this work, and implemented
195 it for plain text and RTF. I also slightly shuffled the existing code to
196 handle this for HTML so that it goes through the new protocol in that case
199 Reviewed by NOBODY (OOPS!).
201 * WebView.subproj/WebDocumentInternal.h: Added.
202 New header file, holds definition of
203 _web_WebDocumentTextSizing protocol.
205 * WebView.subproj/WebFramePrivate.m:
206 (-[WebFrame _textSizeMultiplierChanged]):
207 if the document view conforms to the new protocol,
208 tell it that the multiplier has changed. Also, don't
209 tell the bridge here anymore; let WebHTMLView do that.
211 * WebView.subproj/WebHTMLView.m:
212 (-[WebHTMLView _updateTextSizeMultiplier]):
213 tell the bridge here instead of having WebFrame do so
214 (-[WebHTMLView viewDidMoveToSuperview]):
215 call _updateTextSizeMultiplier (in case it changed while we were switched out)
216 (-[WebHTMLView _web_textSizeMultiplierChanged]):
217 call _updateTextSizeMultiplier
219 * WebView.subproj/WebTextRepresentation.m:
220 (-[WebTextRepresentation receivedData:withDataSource:]):
222 * WebView.subproj/WebTextView.h:
223 now implements _web_WebDocumentTextSizing protocol;
224 new ivar for holding local copy of text size multiplier;
225 new public method appendReceivedData:fromDataSource:
227 * WebView.subproj/WebTextView.m:
228 (-[WebTextView initWithFrame:]):
229 set local copy of text size multiplier to 1.0
230 (-[WebTextView _textSizeMultiplierFromWebView]):
231 new method, asks the webview's opinion of the text size multiplier
232 (-[WebTextView setFixedWidthFont]):
233 use the text size multiplier when setting font size
234 (-[WebTextView _adjustRichTextFontSizeByRatio:]):
235 new method, borrowed from Mail and tweaked, that walks through
236 the rich text and adjusts the font sizes
237 (-[WebTextView _updateTextSizeMultiplier]):
238 new method, updates local copy of text size multiplier to
239 match webview's opinion
240 (-[WebTextView setDataSource:]):
241 set the text size multiplier appropriately before setting the
242 fixed-width font; this is too early for the RTF case though
243 since the fonts are embedded in the data
244 (-[WebTextView appendReceivedData:fromDataSource:]):
245 new method. Most of this logic was in WebTextRepresentation, but
246 it's a little better encapsulated here, plus now it handles the
247 text multiplier for RTF.
248 (-[WebTextView defaultsChanged:]):
250 (-[WebTextView _web_textSizeMultiplierChanged]):
251 call updateTextSizeMultiplier
253 * WebView.subproj/WebView.m:
254 (-[WebView canMakeTextSmaller]):
255 (-[WebView canMakeTextLarger]):
256 return NO if the main frame doesn't support the text sizing protocol. This means
257 that if the main frame doesn't support it but a subframe does, you can't adjust
258 the text size. This seems fine for now since the only case with subframes is
259 HTML, where the main frame does support changing text size.
261 * WebKit.pbproj/project.pbxproj:
264 2003-09-30 Chris Blumenberg <cblu@apple.com>
266 Fixed: <rdar://problem/3428262>: Plugin loads for static files, but not PHP scripts
270 * WebCoreSupport.subproj/WebBridge.m:
271 (-[WebBridge frameRequiredForMIMEType:]): load the plug-in DB so this method returns reliable results.
273 2003-09-30 Chris Blumenberg <cblu@apple.com>
275 Fixed: <rdar://problem/3006869>: show image dimensions in title bar when single image is loaded
279 * English.lproj/Localizable.strings:
280 * WebView.subproj/WebImageRepresentation.m:
281 (-[WebImageRepresentation title]): return "foo.jpg 50x50 pixels"
283 2003-09-30 Richard Williamson <rjw@apple.com>
285 Fixed 3420396. If a frame targets _top and a URL that contains a fragment (very unusual, it's meaningless for a frameset to contain a named anchor point) the frameset won't be reloaded. Our normal path is to just scroll to the anchor point. This is only important because our Help folks oddly depend on the behavior.
289 * WebView.subproj/WebFramePrivate.m:
290 (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
292 2003-09-30 Ken Kocienda <kocienda@apple.com>
298 <rdar://problem/3439688>: WebKit needs to retrieve full keyboard access preference
300 * WebCoreSupport.subproj/WebBridge.h: Add two ivars: one to track the keyboard
301 UI mode, the other a flag we use to register for notifications.
302 * WebCoreSupport.subproj/WebBridge.m:
303 (-[WebBridge dealloc]): Remove the notification observer to keyboard UI mode changes.
304 (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]): New method. Accesses the
305 preferences to get the current keyboard UI mode.
306 (-[WebBridge keyboardUIMode]): Returns the current keyboard UI mode. Registers for
307 notifications of keyboard UI mode changes when called the first time.
309 2003-09-30 Maciej Stachowiak <mjs@apple.com>
313 - fixed 3375281 - Keyboard event handlers not fired if focus not in form field
314 - fixed 3242927 - KeyPressed Event in Javascript don't work
315 - fixed 3375353 - keyboard event.target not updated when blurring from form items
316 - fixed 3183754 - returning false from key press handlers does not prevent typing or form submission
318 * WebView.subproj/WebHTMLView.m:
319 (-[WebHTMLView keyDown:]): Ask the bridge before passing the event along.
320 (-[WebHTMLView keyUp:]): Likewise.
321 * WebView.subproj/WebHTMLViewPrivate.h:
322 * WebView.subproj/WebHTMLViewPrivate.m: Remove dead code.
324 2003-09-30 Richard Williamson <rjw@apple.com>
326 Fixed 3422138. We weren't sending a didChange call for isLoading until the load was complete! Also [WebView isLoading] wasn't accounting for provisional datasources.
330 * WebView.subproj/WebView.m:
331 (-[WebView isLoading]):
332 * WebView.subproj/WebViewPrivate.h:
333 * WebView.subproj/WebViewPrivate.m:
334 (-[WebView _didStartProvisionalLoadForFrame:]):
335 (-[WebView _didCommitLoadForFrame:]):
336 (-[WebView _didFinishLoadForFrame:]):
337 (-[WebView _didFailLoadWithError:forFrame:]):
338 (-[WebView _didFailProvisionalLoadWithError:forFrame:]):
340 2003-09-30 David Hyatt <hyatt@apple.com>
342 Improvements to scrolling and layout. Also fixing 3264346, body overflow should
343 apply to document's scrollbars.
347 * WebView.subproj/WebDynamicScrollBarsView.h:
348 * WebView.subproj/WebDynamicScrollBarsView.m:
349 (-[WebDynamicScrollBarsView initWithFrame:]):
350 (-[WebDynamicScrollBarsView setScrollBarsSuppressed:repaintOnUnsuppress:]):
351 (-[WebDynamicScrollBarsView updateScrollers]):
352 (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
353 (-[WebDynamicScrollBarsView setAllowsScrolling:]):
354 (-[WebDynamicScrollBarsView allowsScrolling]):
355 (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]):
356 (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]):
357 (-[WebDynamicScrollBarsView allowsHorizontalScrolling]):
358 (-[WebDynamicScrollBarsView allowsVerticalScrolling]):
359 (-[WebDynamicScrollBarsView horizontalScrollingMode]):
360 (-[WebDynamicScrollBarsView verticalScrollingMode]):
361 (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]):
362 (-[WebDynamicScrollBarsView setVerticalScrollingMode:]):
363 (-[WebDynamicScrollBarsView setScrollingMode:]):
365 2003-09-29 Chris Blumenberg <cblu@apple.com>
367 Fixed: <rdar://problem/3422739>: Plug-in streams not cancelled when plug-in returns error from NPP_NewStream
371 * Plugins.subproj/WebBaseNetscapePluginStream.h: renamed receivedError to cancelWithReason
372 * Plugins.subproj/WebBaseNetscapePluginStream.m:
373 (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): call cancelWithReason if NPP_NewStream returns an error
374 (-[WebBaseNetscapePluginStream cancelWithReason:]): renamed
375 (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): tweak
376 * Plugins.subproj/WebNetscapePluginRepresentation.m:
377 (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): call renamed cancelWithReason
378 (-[WebNetscapePluginRepresentation cancelWithReason:]): new override, stop load then call super
379 * Plugins.subproj/WebNetscapePluginStream.m:
380 (-[WebNetscapePluginStream cancelWithReason:]): new override, stop load then call super
381 (-[WebNetscapePluginStream stop]): call cancelWithReason
382 (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): call renamed cancelWithReason
383 (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): call renamed cancelWithReason
385 2003-09-25 Maciej Stachowiak <mjs@apple.com>
387 Roll out build system change since it did not actually work. :-(
389 * WebKit.pbproj/project.pbxproj:
391 2003-09-25 David Hyatt <hyatt@apple.com>
393 Change layout so that it is called from the private _recursive functions instead of
398 * WebView.subproj/WebHTMLView.m:
399 (-[WebHTMLView layoutToPageWidth:adjustingViewSize:]):
400 (-[WebHTMLView drawRect:]):
401 * WebView.subproj/WebHTMLViewPrivate.m:
402 (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:testDirtyRect:]):
403 (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
404 (-[WebHTMLView _web_setPrintingModeRecursive]):
405 (-[WebHTMLView _web_clearPrintingModeRecursive]):
406 (-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]):
407 (-[NSView _web_setPrintingModeRecursive]):
408 (-[NSView _web_clearPrintingModeRecursive]):
409 (-[NSView _web_layoutIfNeededRecursive:testDirtyRect:]):
411 2003-09-25 Richard Williamson <rjw@apple.com>
413 Fixed 3433802. Written by Ed. Carbon WebView doesn't detach native view when removed.
417 * Carbon.subproj/HIWebView.m:
418 (OwningWindowChanged):
420 2003-09-25 Richard Williamson <rjw@apple.com>
422 Fixed 3433488. Written by Ed. WebKit doesn't sync window visibility when new webview added to visible window.
426 * Carbon.subproj/CarbonWindowAdapter.m:
427 (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):
429 2003-09-25 Richard Williamson <rjw@apple.com>
431 Fixed 3434854. Written by Ed. Correctly handle window modality in carbon.
435 * Carbon.subproj/CarbonWindowAdapter.m:
436 (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):
438 2003-09-25 Maciej Stachowiak <mjs@apple.com>
442 Updated setup for engineering builds. Don't embed the framework
443 into Safari or hack the install name. However, do copy WebCore and
444 JavaScriptCore into the proper sub-umbrella locations.
446 * WebKit.pbproj/project.pbxproj:
447 * embed-frameworks.sh: Added.
451 2003-09-25 Ken Kocienda <kocienda@apple.com>
457 <rdar://problem/3341222>: WebView doesn't follow AppKit default nextKeyView pattern
459 * WebCoreSupport.subproj/WebBridge.h: Added a variable to guard against recursion
460 in -[WebBridge inNextKeyViewOutsideWebFrameViews].
461 * WebCoreSupport.subproj/WebBridge.m:
462 (-[WebBridge inNextKeyViewOutsideWebFrameViews]): Accessor for recursion guard.
463 (-[WebBridge nextKeyViewOutsideWebFrameViews]): Do not ask webView for its
464 next key view, but rather, ask it for the next key view of the last view in
465 its key view loop. This is what will get us to the next view outside of the
467 * WebView.subproj/WebHTMLView.m:
468 (-[WebHTMLView nextKeyView]): Ask AppKit, rather than khtml, for the next key
469 key view if -[WebBridge inNextKeyViewOutsideWebFrameViews] returns YES. Doing
470 so gives us the correct answer as calculated by AppKit, and makes HTML views
471 behave like other views. This check also heads off an infinite recursion
472 through -[WebBridge nextKeyViewOutsideWebFrameViews].
474 Also did some cleanup of some code that was marked for removal "some day".
475 That "some day" is today.
477 2003-09-25 Darin Adler <darin@apple.com>
481 - fixed 3176853 -- can't attach files that have no extensions with Yahoo mail (bad Content-Type headers)
483 * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge MIMETypeForPath:]):
484 Return @"application/octet-stream" rather than nil or empty string when the type is not known.
486 2003-09-24 Darin Adler <darin@apple.com>
490 * WebView.subproj/WebHTMLView.m:
491 (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
492 Added one more call to _stopAutoscrollTimer for when drags begin.
494 2003-09-24 Richard Williamson <rjw@apple.com>
496 Fixed 3420736. Clear renderer caches when get an ATS font changed notification. This fix may be moot depending on progress toward fixing 2695906. Also 3428451 needs to should be resolved.
498 Also added code to get and log entry point for the function used to get a Java class from plugins. That class is used for LiveConnect support.
502 * Misc.subproj/WebKitLogging.h:
503 * Misc.subproj/WebKitLogging.m:
504 * Plugins.subproj/WebNetscapePluginPackage.h:
505 * Plugins.subproj/WebNetscapePluginPackage.m:
506 (-[WebNetscapePluginPackage load]):
507 * Plugins.subproj/npapi.h:
508 * WebCoreSupport.subproj/WebTextRenderer.m:
509 (FillStyleWithAttributes):
510 * WebCoreSupport.subproj/WebTextRendererFactory.m:
511 (-[WebTextRendererFactory clearCaches]):
513 (+[WebTextRendererFactory createSharedFactory]):
514 (-[WebTextRendererFactory fontWithFamily:traits:size:]):
515 (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]):
517 2003-09-23 Darin Adler <darin@apple.com>
519 Reviewed by John and Richard.
521 - fixed 3127833 -- autoscroll only works when mouse is moving
523 * WebView.subproj/WebHTMLView.m:
524 (-[WebHTMLView viewDidMoveToWindow]): Stop the auto-scroll timer. This covers
525 the case where a view is removed from the view hierarchy while the mouse is down.
526 (-[WebHTMLView mouseDown:]): Start the auto-scroll timer.
527 (-[WebHTMLView mouseUp:]): Stop the auto-scroll timer.
528 * WebView.subproj/WebHTMLViewPrivate.h: Add an auto-scroll timer, and methods
529 to start and stop it.
530 * WebView.subproj/WebHTMLViewPrivate.m:
531 (-[WebHTMLView _startAutoscrollTimer]): Create and schedule a timer. It uses the
532 same 1/10 second interval that NSTextView uses for its scrolling timer.
533 (-[WebHTMLView _stopAutoscrollTimer]): Invalidate and release the timer.
534 (-[WebHTMLView _autoscroll]): Check for a mouse up event in the queue; if one is
535 there, then no autoscrlling. But if not, then create a fake mouse dragged event
536 and dispatch it; that will lead to autoscrolling.
538 2003-09-22 Darin Adler <darin@apple.com>
542 - worked around 3429631 -- window stops getting mouse moved events after first tooltip appears
544 * WebView.subproj/WebHTMLViewPrivate.m: (-[NSToolTipPanel setAcceptsMouseMovedEvents:]):
545 Do nothing, preventing the real setAcceptsMouseMovedEvents: (in class NSWindow) from being called.
547 2003-09-22 Darin Adler <darin@apple.com>
551 - fixed 3431033 -- crash in -[NSToolTipManager _shouldInstallToolTip:]
553 * WebView.subproj/WebHTMLViewPrivate.m:
554 (-[WebHTMLView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]):
555 Override this alternate version of addTrackingRect. If I don't do this, we might
556 create a real tracking rect, which we would then never remove.
557 (-[WebHTMLView removeTrackingRect:]): Added assertions.
559 2003-09-22 Darin Adler <darin@apple.com>
561 * WebKit.pbproj/project.pbxproj: Rename Mixed build style to OptimizedWithSymbols.
563 2003-09-21 Darin Adler <darin@apple.com>
565 * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView removeTrackingRect:]): Remove bogus assert.
567 2003-09-21 Darin Adler <darin@apple.com>
571 - fixed 3106411 -- show title attribute for page elements in tooltip on mouseover (important for PeopleSoft)
573 * WebView.subproj/WebHTMLViewPrivate.h: Added fields needed for tool tip implementation.
574 * WebView.subproj/WebHTMLViewPrivate.m:
575 (-[WebHTMLViewPrivate dealloc]): Release the tool tip string.
576 (-[WebHTMLView addTrackingRect:owner:userData:assumeInside:]): Override the default NSView
577 tracking rectangle implementation so we can trick the tool tip manager into trusting us about
578 when you leave and enter the rectangle for each element.
579 (-[WebHTMLView removeTrackingRect:]): The other half of the above stuff.
580 (-[WebHTMLView _sendToolTipMouseExited]): Added. Makes an event just good enough to fool the tool tip
581 manager, and send it on.
582 (-[WebHTMLView _sendToolTipMouseEntered]): Ditto.
583 (-[WebHTMLView _setToolTip:]): Added. Manages the new and old tool tips in a way that fools the tool
584 tip manager into working even though we don't know the rectangles of the tool tips beforehand. The
585 advantage of using AppKit tool tips is that they have all sorts of nice little features, like wrapping
586 to a nice rectangular shape and fading out when you move away.
587 (-[WebHTMLView view:stringForToolTip:point:userData:]): This is how the tool tip manager gets the actual
589 (-[WebHTMLView _updateMouseoverWithEvent:]): Call _setToolTip method, using the value passed along with the
590 WebCoreElementTitleKey in the dictionary.
592 - unrelated code cleanup
594 * WebView.subproj/WebFramePrivate.h: Don't define WebCorePageCacheStateKey here; instead use
595 a definition exported from WebCore.
596 * WebView.subproj/WebFramePrivate.m: Ditto.
597 * English.lproj/StringsNotToBeLocalized.txt: Update for above changes.
599 2003-09-19 Maciej Stachowiak <mjs@apple.com>
603 Roll out old fix for 3410980.
605 * WebCoreSupport.subproj/WebBridge.m:
606 (-[WebBridge goBackOrForward:]):
608 2003-09-19 Darin Adler <darin@apple.com>
612 - do the prep work for the mini controls feature; Dave will finish this
614 * WebCoreSupport.subproj/WebFileButton.m:
615 (-[WebFileButton isFlipped]): Make this flipped, easier to understand coordinates that way.
616 (-[WebFileButton drawRect:]): Update for flipped-ness.
617 (-[WebFileButton visualFrame]): Update for flipped-ness.
618 (-[WebFileButton setVisualFrame:]): Update for flipped-ness.
619 (-[WebFileButton baseline]): Update for flipped-ness.
621 2003-09-19 Maciej Stachowiak <mjs@apple.com>
625 - fixed 3410980 - FileMaker: going forward with an empty forward list makes a frame come out blank sometimes
627 * WebCoreSupport.subproj/WebBridge.m:
628 (-[WebBridge backOrForwardItemWithDistance:]): Factored out from goBackOrForward.
629 (-[WebBridge canGoBackOrForward:]): Use the new method.
630 (-[WebBridge goBackOrForward:]): Likewise.
632 2003-09-17 John Sullivan <sullivan@apple.com>
634 - WebKit part of fix for 3157018 -- Would like option to
635 not print backgrounds
639 * WebView.subproj/WebPreferences.h:
640 new accessor methods for new shouldPrintBackgrounds preference
641 * WebView.subproj/WebPreferences.m:
642 (+[WebPreferences initialize]):
643 set initial value for WebKitShouldPrintBackgroundsPreferenceKey
645 (-[WebPreferences shouldPrintBackgrounds]):
646 new method, read NSUserDefaults value
647 (-[WebPreferences setShouldPrintBackgrounds:]):
648 new method, write NSUserDefault value
650 * WebView.subproj/WebViewPrivate.m:
651 (-[WebView _updateWebCoreSettingsFromPreferences:]):
652 tell WebCore about value of shouldPrintBackgrounds
654 * English.lproj/StringsNotToBeLocalized.txt:
655 Updated for these and other recent changes
657 2003-09-17 Darin Adler <darin@apple.com>
661 * Plugins.subproj/WebBasePluginPackage.m:
662 (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]): Pass the
663 "no UI" flag, so we don't prompt the user when we're trying to load plug-ins.
664 Also use OSStatus rather than OSErr so we don't miss error codes that just
665 happen to have zeroes in the low 16 bits.
667 2003-09-17 Darin Adler <darin@apple.com>
671 * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton setFilename:]):
672 Don't call -[NSWorkspace iconForFile:] on a path that does not start with a '/'.
673 This can happen if JavaScript or the web page sets the path explicitly, and
674 adding this check avoids an unpleasant warning on the console.
678 2003-09-16 Richard Williamson <rjw@apple.com>
680 Backed out fix to 3412062 to resolve 3424197.
682 Many sites use a technique of posting forms the same URL to generate content server side. The fix to 3412062 broke those sites.
686 * WebView.subproj/WebFramePrivate.m:
687 (-[WebFrame _transitionToCommitted:]):
693 2003-09-12 Richard Williamson <rjw@apple.com>
695 Fixed 3420097. If redirects are cancelled during a pending load don't reset the quickRedirect flag.
699 * WebCoreSupport.subproj/WebBridge.m:
700 (-[WebBridge reportClientRedirectCancelled:]):
701 * WebView.subproj/WebFramePrivate.h:
702 * WebView.subproj/WebFramePrivate.m:
703 (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]):
704 (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
705 (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
706 (-[WebFrame _clientRedirectCancelled:]):
710 2003-09-12 Richard Williamson <rjw@apple.com>
712 Fixed 3412062. Don't allow pages with the same URL as the current URL to enter b/f or history.
716 * WebView.subproj/WebFramePrivate.m:
717 (-[WebFrame _transitionToCommitted:]):
719 2003-09-11 Maciej Stachowiak <mjs@apple.com>
723 - fixed 3413463 - QuickTime plug-in content doesn't load in Safari (NPP_Write not called)
725 * Plugins.subproj/npapi.h: Fix erroneous function pointer
726 declarations that led to an int16/int32 mismatch.
728 2003-09-12 Chris Blumenberg <cblu@apple.com>
730 Fixed: <rdar://problem/3420112>: Reproducible Safari crash in in -[WebBaseNetscapePluginView sendEvent:]
734 * Plugins.subproj/WebBaseNetscapePluginView.m:
735 (-[WebBaseNetscapePluginView sendEvent:]): temporarily retain self in case the plug-in view is released while sending an event.
736 (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:targetFrame:]): don't deliver the return value of the JS evaluation if stringByEvaluatingJavaScriptFromString caused the plug-in to stop.
740 2003-09-11 Maciej Stachowiak <mjs@apple.com>
744 - fixed 3417486 - after logging off from secure Etrade website, going back returns you to secure page
746 * WebView.subproj/WebFramePrivate.m:
747 (-[WebFrame _loadItem:withLoadType:]): Don't request stale data
748 for https pages, as this could be a security risk.
750 2003-09-11 Richard Williamson <rjw@apple.com>
752 Fixed 3406671. Added a private method for Mail to get selection
755 Reviewed by Darin Adler.
757 * WebView.subproj/WebHTMLView.m:
758 (-[WebHTMLView updateTextBackgroundColor]):
759 * WebView.subproj/WebHTMLViewPrivate.h:
760 * WebView.subproj/WebHTMLViewPrivate.m:
761 (-[WebHTMLView _handleMouseDragged:]):
762 (-[WebHTMLView _pluginController]):
763 (-[WebHTMLView _selectionRect]):
765 2003-09-10 Richard Williamson <rjw@apple.com>
767 Fixed 3231031. Use the normal methodology for displaying each frame of a GIF. That is,
768 just call setNeedsDisplayInRect, rather than drawing directly. Drawing directly violates
771 Reviewed by Dave Hyatt.
773 * WebCoreSupport.subproj/WebImageRenderer.m:
774 (-[WebImageRenderer nextFrame:]):
778 2003-09-09 Richard Williamson <rjw@apple.com>
780 Fixed 3414988. Don't store absolute path to home directory.
781 Reviewed by Chris Blumenberg.
783 Fixed 3414319. Send correct WebView back as parameter to webViewShow:
786 Fixed 3095029. Draw a frame's border in WebFrameView, instead of WebHTMLView, and correctly inset the frame's scrollview to account for the border. Mostly written by Darin.
787 Reviewed by Darin (and Richard).
789 * Misc.subproj/WebIconDatabase.m:
790 (-[WebIconDatabase _createFileDatabase]):
791 Store @"~/Library/Icon" instead of absolute path, and always try to tilde expand stored path.
793 * WebCoreSupport.subproj/WebBridge.m:
794 (-[WebBridge setHasBorder:]):
795 * WebView.subproj/WebFrameView.m:
796 (-[WebFrameView drawRect:]):
797 (-[WebFrameView setFrameSize:]):
798 * WebView.subproj/WebFrameViewPrivate.h:
799 * WebView.subproj/WebFrameViewPrivate.m:
800 (-[WebFrameView _isMainFrame]):
801 (-[WebFrameView _tile]):
802 (-[WebFrameView _drawBorder]):
803 (-[WebFrameView _shouldDrawBorder]):
804 (-[WebFrameView _setHasBorder:]):
805 * WebView.subproj/WebHTMLView.m:
806 (-[WebHTMLView drawRect:]):
807 Changes to correct draw border in WebFrameView instead of WebHTMLView.
809 * WebView.subproj/WebViewPrivate.m:
810 (-[WebView _openNewWindowWithRequest:]):
811 Send correct parameter (returned from webView:createWebViewWithRequest:), rather than self, to webViewShow:.
813 2003-09-09 Chris Blumenberg <cblu@apple.com>
815 Fixed: <rdar://problem/3412380>: REGRESSION (85-98): www.minoltan.com is decoded incorrectly on Japanese system
817 The default encoding that Safari uses is latin1 regardless of the current system encoding. This is how it's always been. The problem is that the UI is displaying shift JIS for the default text encoding instead of latin1. This is happening because WebKit is using "latin1" instead of "ISO-8859-1" for the default text encoding name. "ISO-8859-1" is the IANA character set name for latin1 and this is what the WebKitDefaultTextEncodingNamePreferenceKey preference expects. This ends up confusing Safari, so Safari just ends up displaying the first item in the pop-up menu which is shift JIS.
821 * WebView.subproj/WebPreferences.m:
822 (+[WebPreferences initialize]): The WebKitDefaultTextEncodingNamePreferenceKey should be "ISO-8859-1" not "latin1" since "ISO-8859-1" is the IANA character set name for latin1.
826 2003-09-08 Darin Adler <darin@apple.com>
830 - fixed 3412726 -- some HTML messages in Mail lose a line at page breaks when printed (multipart/alternative)
832 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
833 Go into printing mode when asked to adjust page height, if not already in it.
834 We already have code in drawRect that does this when actually printing, but it's
835 also important to lay out the same way when deciding where to break pages, otherwise
836 the difference between printer and screen fonts can lead to page breaks that split a line
837 of text across two pages, and that can lead to missing lines of text as well.
839 2003-09-07 Darin Adler <darin@apple.com>
843 - fixed 3410939 -- disabling Geneva and Helvetica (by removing them, or by using Font Book) makes Safari crash
845 * WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory fallbackFontWithTraits:size:]):
846 Fall back on Lucida Grande (plain, not bothering with traits) if Helvetica is not present.
848 * English.lproj/StringsNotToBeLocalized.txt: Update for this and other recent changes.
850 2003-09-07 Darin Adler <darin@apple.com>
854 - fixed 3406660 -- screen fonts are not being used for substitute fonts (Japanese text, Roman font)
856 * WebCoreSupport.subproj/WebTextRenderer.m:
857 (-[WebTextRenderer substituteFontForString:families:]): Get a printer or screen font,
858 based on the renderer's mode. The old code didn't do anything explicit.
859 (-[WebTextRenderer _setupFont]): Remove ignored parameter for clarity.
860 (-[WebTextRenderer initWithFont:usingPrinterFont:]): Fixed code paths that would not
861 explicitly get a printer or screen font, and code paths that would get data from the
862 original "before mapping to printer or screen font" NSFont object.
866 2003-09-05 Ken Kocienda <kocienda@apple.com>
870 Incorporate releaseGState fix that Darin developed for
871 textareas and list boxes in WebCore. It turns out that
872 we this workaround in WebClipView as well to get proper
873 drawing of subframes.
875 In addition, removed some tests that which performed
876 runtime checks for code in AppKit. AppKit will have
877 the checked-for code in all versions that will be used
878 with the version of WebKit.
880 * WebView.subproj/WebClipView.m:
881 (-[WebClipView initWithFrame:])
882 (-[WebClipView resetAdditionalClip])
883 (-[WebClipView setAdditionalClip:])
885 2003-09-04 John Sullivan <sullivan@apple.com>
887 - fixed 3409011 -- the graphics views palette does not open
891 * WebView.subproj/WebPreferences.m:
892 (+[WebPreferences _removeReferenceForIdentifier:]):
893 special-case nil, which is a magic initial identifier already
894 special-cased in the other mutator
896 2003-09-05 Maciej Stachowiak <mjs@apple.com>
900 - fixed 3406140 - REGRESSION (7B52-7B55): time spent in NSFont makes Safari 50% slower in Five Apps test
902 * WebCoreSupport.subproj/WebTextRendererFactory.m:
903 (-[WebTextRendererFactory fontWithFamily:traits:size:]): Make font
904 using the font name we found, not the one we were looking
905 for. Since the compare is case-insensitive, it makes a
906 difference. Also, don't make the font twice.
908 2003-09-04 Chris Blumenberg <cblu@apple.com>
910 Fixed: <rdar://problem/3316704>: Shockwave: getnetText steam is not functioning correctly
914 * Plugins.subproj/WebBaseNetscapePluginStream.m:
915 (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): if the content length is unknown, use 0 instead of -1
917 2003-09-04 Chris Blumenberg <cblu@apple.com>
919 Fixed: <rdar://problem/3286922>: Shockwave: Using HTTP to stream .mp3 or .swa files fails at ~50%
923 * Plugins.subproj/WebBaseNetscapePluginStream.h: new deliveryData and reason ivars
924 * Plugins.subproj/WebBaseNetscapePluginStream.m:
925 (-[WebBaseNetscapePluginStream dealloc]): release deliveryData ivar
926 (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): set new reason ivar
927 (-[WebBaseNetscapePluginStream destroyStream]): new, calls NPP_StreamAsFile, NPP_DestroyStream and NPP_URLNotify
928 (-[WebBaseNetscapePluginStream destroyStreamWithReason:]): set the reason, call destroyStream
929 (-[WebBaseNetscapePluginStream receivedError:]): set deliveryData length to 0 so no more data is streamed, call destroyStreamWithReason
930 (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): don't call NPP_StreamAsFile because this has to be called right before NPP_DestroyStream in destroyStream
931 (-[WebBaseNetscapePluginStream deliverData]): new, call NPP_WriteReady and NPP_Write and properly obey their returned values
932 (-[WebBaseNetscapePluginStream receivedData:]): call deliverData
933 * Plugins.subproj/WebNetscapePluginStream.m:
934 (-[WebNetscapePluginStream stop]): call receivedError here
935 (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): don't call receivedError here because after the load is complete, stream is set to nil and receivedError can be called after the completed load
937 2003-09-04 Chris Blumenberg <cblu@apple.com>
939 * Plugins.subproj/WebBaseNetscapePluginView.m:
940 (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): Fixed typo in newly added comment.
942 2003-09-04 Chris Blumenberg <cblu@apple.com>
944 Fixed: <rdar://problem/3407328>: request headers at the start of the file passed to NPN_PostURL don't work for Acrobat plug-in?
948 * Plugins.subproj/WebBaseNetscapePluginView.m:
949 (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): As documented, allow headers to be specified via NPP_PostURL when using a file.
953 2003-09-03 John Sullivan <sullivan@apple.com>
955 - fixed 3406411 -- infoseek.co.jp: many console errors about
956 attempting to set non-screen font (HiraMinPro-W3)
960 * WebCoreSupport.subproj/WebTextRenderer.m:
962 use ERROR instead of NSLog for the printing-font-used-on-screen
963 case, so it doesn't flood the world's console logs. We need to
964 investigate why this is happening also, but that can probably
967 2003-09-01 John Sullivan <sullivan@apple.com>
969 - WebKit part of fix for 3402489 -- REGRESSION (7B48-7B55): Some printed web pages are too small (width is half a page)
971 This was a regression caused by the fix for 3378810.
975 * WebView.subproj/WebHTMLView.m:
976 (-[WebHTMLView layoutToPageWidth:adjustingViewSize:]):
977 now takes adjustViewSize flag, and passes it down to
978 one of bridge's forceLayout calls.
979 (-[WebHTMLView layout]):
980 pass NO for adjustViewSize flag in this case
981 (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]):
982 pass adjustViewSize flag down to layoutToPageWidth instead
983 of using it directly here; this is the wrong level to use
984 it directly since the bridge is no longer set up for
985 printing after the layoutToPageWidth call completes.
987 2003-08-30 Maciej Stachowiak <mjs@apple.com>
991 - fixed 3401709 - [WebView searchFor:] with wrap:NO hangs if the search fails
993 * WebView.subproj/WebView.m:
994 (-[WebView searchFor:direction:caseSensitive:wrap:]): Fix for
995 wrap:NO case as suggested by Darin.
999 2003-08-29 Richard Williamson <rjw@apple.com>
1001 Fixed 3401334. Use IB document key when checking for reference removal on instances of WebPreferences.
1003 Also removed _userDefaultsKeysForIB, no longer needed by IB.
1007 * WebView.subproj/WebPreferences.m:
1008 (+[WebPreferences _removeReferenceForIdentifier:]):
1009 (-[WebPreferences _postPreferencesChangesNotification]):
1010 * WebView.subproj/WebPreferencesPrivate.h:
1012 2003-08-29 Richard Williamson <rjw@apple.com>
1014 Fixed 3400807. Don't release state associated with the current b/f item. We shouldn't normally have page cache state associated with the current item (3401376). This fix guarantees that we won't prematurely release the page cache state for the current item.
1016 Reviewed byJohn Sullivan.
1018 * History.subproj/WebBackForwardList.m:
1019 (-[WebBackForwardList _clearPageCache]):
1021 2003-08-28 Richard Williamson <rjw@apple.com>
1023 Fixed 3399736. Fixed several problems with WebView/WebPreferences
1026 Reviewed by Eric Seymour.
1028 * Misc.subproj/WebKitLogging.h:
1029 * Misc.subproj/WebKitLogging.m:
1030 Added debug logging.
1032 * WebCoreSupport.subproj/WebTextRenderer.m:
1033 (_drawGlyphs): Checkin for 3398229 below.
1035 * WebView.subproj/WebPreferences.m:
1036 (-[WebPreferences initWithIdentifier:]):
1037 (-[WebPreferences initWithCoder:]):
1038 (-[WebPreferences encodeWithCoder:]):
1039 (+[WebPreferences standardPreferences]):
1040 (+[WebPreferences _getInstanceForIdentifier:]):
1041 (+[WebPreferences _setInstance:forIdentifier:]):
1042 (+[WebPreferences _concatenateKeyWithIBCreatorID:]):
1043 * WebView.subproj/WebView.m:
1044 (-[WebView _commonInitializationWithFrameName:groupName:]):
1045 (-[WebView initWithCoder:]):
1046 (-[WebView encodeWithCoder:]):
1048 2003-08-27 Richard Williamson <rjw@apple.com>
1050 Fixed 3398229. When we request a font from NSFont by name we should use a case specific name. We do case insensitve comparsion, but once a match is found we should use the actual font name, not the requested name. Two layout tests are still failing, but I don't think the failures are font related.
1054 * WebCoreSupport.subproj/WebTextRendererFactory.m:
1055 (-[WebTextRendererFactory fontWithFamily:traits:size:]):
1059 2003-08-27 Richard Williamson <rjw@apple.com>
1061 Fixed 3397235. WebView wasn't archiving useBackForwardList.
1063 Reviewed by Eric Seymour.
1065 * WebView.subproj/WebView.m:
1066 (-[WebView initWithCoder:]):
1067 (-[WebView encodeWithCoder:]):
1069 2003-08-26 Richard Williamson <rjw@apple.com>
1071 Fixed 3385478. Look for an exact match for font names (using PS names) before matching on family names.
1073 Also added logging to help debug now resolved binding problem.
1077 * Misc.subproj/WebKitLogging.h:
1078 * Misc.subproj/WebKitLogging.m:
1079 * WebCoreSupport.subproj/WebTextRendererFactory.m:
1080 (-[WebTextRendererFactory fontWithFamily:traits:size:]):
1081 * WebView.subproj/WebView.m:
1082 (-[WebView addObserver:forKeyPath:options:context:]):
1083 (-[WebView removeObserver:forKeyPath:]):
1085 2003-08-26 Darin Adler <darin@apple.com>
1089 - fixed 3310943 -- REGRESSION (Panther): textareas in forms sometimes draw blank (bugreporter)
1091 There are two fixes here. The more elegant and slightly faster one that requires a new AppKit,
1092 and the less elegant one that works without AppKit support. By including both we don't have to
1093 worry about timing of submission of WebKit vs. AppKit but we get the good, elegant fix. Later,
1094 we can delete the less elegant fix.
1096 * WebView.subproj/WebClipView.m:
1097 (+[WebClipView initialize]): Set up a boolean global so we only hav to do the "does AppKit support
1098 _focusRingVisibleRect" check one time.
1099 (-[WebClipView resetAdditionalClip]): Only do the renewGState thing if we don't have the
1100 _focusRingVisibleRect method, but if we do the renewGState thing, do it to self and all descendants
1101 using _web_renewGStateDeep.
1102 (-[WebClipView setAdditionalClip:]): Ditto.
1103 (-[WebClipView visibleRect]): Only limit this based on the additional clip if we don't have the
1104 _focusRingVisibleRect method.
1105 (-[WebClipView _focusRingVisibleRect]): Override the new method. Harmless if it's an old AppKit
1106 that doesn't have the method yet.
1107 (-[NSView _web_renewGStateDeep]): Implemented this helper method. We can get rid of it once we
1108 are entirely on the new AppKit.
1110 2003-08-26 Darin Adler <darin@apple.com>
1114 - fixed 3321247 -- window size box disappears from Help window (caused by WebKit NSView hackery)
1116 * WebView.subproj/WebHTMLViewPrivate.m:
1117 (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]),
1118 (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
1119 Don't propagate dirty rects at all. This was causing problems because now the AppKit uses
1120 dirty regions, not dirty rects. In AppKit-722 and newer, _setDrawsDescendants: takes care of this
1121 for us so we don't have to do anything at all.
1123 2003-08-26 Darin Adler <darin@apple.com>
1127 - fixed 3392650 -- REGRESSION?: assertion fails trying Apple-hosted page load test while not on Apple network
1129 * WebView.subproj/WebFramePrivate.m: (-[WebFrame _isLoadComplete]):
1130 Stop loading the provisional data source before blowing it away, in case
1131 there are some callbacks that haven't occurred yet. It's a waste of time to
1132 try to handle those additional callbacks, and can lead to failed assertions
1133 since the data source won't be hooked up to any frame any more.
1135 2003-08-25 Richard Williamson <rjw@apple.com>
1137 Fix for 3391609. Our rounding hack wasn't correctly reflected in the selection point
1138 code. Piggy-backed on this fix are fixes for selection of letter-spacing, word-spacing
1143 * WebCoreSupport.subproj/WebTextRenderer.m:
1144 (initializeCharacterWidthIterator):
1145 (widthAndGlyphForSurrogate):
1146 (widthForNextCharacter):
1147 (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
1149 2003-08-25 John Sullivan <sullivan@apple.com>
1151 - fixed 3391264 -- REGRESSION (Panther): Back/Forward buttons not
1152 updating immediately after page load
1154 The buttons are updated in response to window update notifications.
1155 Jaguar was sending so many extra bogus notifications that it
1156 masked the fact that we weren't ensuring that these notifications
1157 were sent at all in the case of non-event-based interesting
1158 changes that might affect menu items/toolbar items/etc.
1162 * WebView.subproj/WebViewPrivate.m:
1163 (-[WebView _didStartProvisionalLoadForFrame:]):
1164 call -[NSApp setWindowsNeedUpdate:YES] so window update notices
1166 (-[WebView _didCommitLoadForFrame:]):
1168 (-[WebView _didFinishLoadForFrame:]):
1170 (-[WebView _didFailLoadWithError:forFrame:]):
1172 (-[WebView _didFailProvisionalLoadWithError:forFrame:]):
1175 2003-08-24 Darin Adler <darin@apple.com>
1179 - fixed 3382179 -- REGRESSION: many images scroll down while loading (e.g., homepage.mac.com slide show)
1181 * WebCoreSupport.subproj/WebImageRenderer.m:
1182 (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): While loading, always draw one less line than
1183 the number NSImage says we have, since that last line is a partial line and draws unwanted white. This
1184 is not what the bug report complains about, but is a longstanding and very minor issue. Remove the code
1185 that adjust the Y origin. This is what the bug report is about. That adjustment is incorrect and was
1186 unknowingly compensating for some kind of NSImage bug that is now fixed.
1187 (-[WebImageRenderer tileInRect:fromPoint:]): Added an assertion that the WebImageRenderer is flipped.
1188 The code does assume that it's flipped.
1190 2003-08-22 John Sullivan <sullivan@apple.com>
1192 - fixed 3385837 -- REGRESSION: can't paste link from Safari into
1193 Keynote (paste at top level, not into text)
1197 The problem was that we were using a single list of pasteboard
1198 types for both "types we can read" and "types we can write", but
1199 NSFilenamesPBoardType wasn't being written to, creating a bad
1200 pasteboard. The fix is to split this list in two. We could do
1201 this a little more elegantly if we weren't paranoid about
1202 last-minute SPI changes breaking compatibility with Sherlock or
1203 some other internal client.
1205 * Misc.subproj/WebNSPasteboardExtras.h:
1206 add new _web_writableDragTypesForURL, commented various methods
1209 * Misc.subproj/WebNSPasteboardExtras.m:
1210 (+[NSPasteboard _web_writableDragTypesForURL]):
1211 implement _web_writableDragTypesForURL; it's just like
1212 _web_dragTypesForURL but without the NSFilenamesPBoardType
1213 (-[NSPasteboard _web_writeURL:andTitle:withOwner:]):
1214 use _web_writableDragTypesForURL
1216 * Misc.subproj/WebNSViewExtras.m:
1217 (-[NSView _web_dragPromisedImage:rect:URL:title:event:]):
1218 use _web_writableDragTypesForURL
1220 2003-08-22 Darin Adler <darin@apple.com>
1224 - fixed 3386051 -- REGRESSION: text "too dark" after the page is deactivated and reactivated (bugweb)
1226 Cached clips were causing us to draw nothing for the top frames of framesets, resulting in darkened
1227 text because we draw anti-aliased text twice without drawing a background.
1229 * WebView.subproj/WebClipView.m:
1230 (-[WebClipView resetAdditionalClip]): Invalidate cached graphics state when changing the visible rect.
1231 (-[WebClipView setAdditionalClip:]): Ditto.
1233 2003-08-21 Darin Adler <darin@apple.com>
1235 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]):
1236 Tweak to printing fix: Be sure to call adjustViewSize after applying styles and doing layout.
1238 2003-08-21 Richard Williamson <rjw@apple.com>
1240 Fixed 3378810. Avoid resizing frame from drawRect: when printing. This will corrupt the graphics context.
1244 * WebView.subproj/WebHTMLView.m:
1245 (-[WebHTMLView layoutToPageWidth:]):
1246 (-[WebHTMLView drawRect:]):
1247 (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]):
1248 (-[WebHTMLView beginDocument]):
1249 (-[WebHTMLView endDocument]):
1253 2003-08-21 John Sullivan <sullivan@apple.com>
1255 - fixed 3387950 -- REGRESSION (85-89): Standalone image in Safari prints much
1256 smaller than in Jaguar
1260 * WebView.subproj/WebImageView.m:
1261 (-[WebImageView adjustFrameSize]):
1262 renamed from setFrameSizeUsingImage; now sets the frame size to exactly
1263 the image size (as it did in Jaguar always) when we're not drawing to
1265 (-[WebImageView setFrameSize:]):
1266 updated for name change
1267 (-[WebImageView layout]):
1269 (-[WebImageView beginDocument]):
1270 adjust frame size (before printing)
1271 (-[WebImageView endDocument]):
1272 adjust frame size (after printing)
1274 2003-08-19 Richard Williamson <rjw@apple.com>
1276 Fixed 3383623 (and 3384896). Remove our unbeknownst work-around for an NSImage bug that incorrectly flipped y coordinate when drawing a partial rect within the image. This has been fixed in Panther, making our work-around no longer necessary.
1280 * WebCoreSupport.subproj/WebImageRenderer.m:
1281 (-[WebImageRenderer tileInRect:fromPoint:]):
1282 * WebKit.pbproj/project.pbxproj:
1284 2003-08-18 Richard Williamson <rjw@apple.com>
1286 Fixed 3140065. Bidi neutrals in RTL runs are now handled correctly. Still have
1287 problem with bidi neutrals at directional boundaries 3382926.
1291 * Misc.subproj/WebUnicode.h:
1292 * Misc.subproj/WebUnicode.m:
1294 * WebCoreSupport.subproj/WebTextRenderer.m:
1295 (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
1297 2003-08-18 Darin Adler <darin@apple.com>
1301 - fixed 3299893 -- oncontextmenu support
1303 * WebView.subproj/WebHTMLView.m:
1304 (-[WebHTMLView menuForEvent:]): Call sendContextMenuEvent: on the bridge, and
1305 don't show a menu if the event is handled over in WebCore.
1306 (-[WebHTMLView mouseDown:]): Don't send a mouse down event in the case where we
1307 already sent a context menu event and decided not to put up a real context menu.
1309 2003-08-18 Richard Williamson <rjw@apple.com>
1311 Fix build problem from last checkin.
1315 * WebCoreSupport.subproj/WebImageRenderer.m:
1316 (-[WebImageRenderer initWithData:MIMEType:]):
1317 (-[WebImageRenderer initWithContentsOfFile:]):
1319 2003-08-17 Darin Adler <darin@apple.com>
1323 - fixed 3376522 -- REGRESSION: uncaught exception from bad .ico causes crash (login window at 34sp.com)
1325 I added exception handling in all the places we load images with NSImage.
1327 * Misc.subproj/WebIconDatabase.m:
1328 (-[WebIconDatabase _iconsForIconURLString:]): Add exception handler.
1329 * Misc.subproj/WebIconLoader.m:
1330 (-[WebIconLoader connectionDidFinishLoading:]): Add exception handler.
1331 * WebCoreSupport.subproj/WebImageRenderer.m:
1332 (-[WebImageRenderer initWithData:MIMEType:]): Add exception handler.
1333 (-[WebImageRenderer initWithContentsOfFile:]): Add exception handler.
1334 (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): Add exception handler.
1336 2003-08-15 Richard Williamson <rjw@apple.com>
1338 Fixed 3378530. Ensure that line is always drawn within bounds
1343 * WebCoreSupport.subproj/WebTextRenderer.m:
1344 (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):
1346 2003-08-15 Richard Williamson <rjw@apple.com>
1348 Fixed 3379439. Remove checks for CG symbols. No longer needed.
1352 * WebCoreSupport.subproj/WebTextRendererFactory.m:
1353 (+[WebTextRendererFactory createSharedFactory]):
1357 2003-08-14 Vicki Murley <vicki@apple.com>
1361 * WebKit.pbproj/project.pbxproj: deleted WebKit.order from the project.
1363 2003-08-14 Vicki Murley <vicki@apple.com>
1367 * WebKit.order: Removed. We now point to the WebKit order file in /AppleInternal/OrderFiles.
1368 * WebKit.pbproj/project.pbxproj: set sectorder flag to point to /AppleInternal/OrderFiles/WebKit.order
1370 2003-08-14 Darin Adler <darin@apple.com>
1374 - fixed 3344259 -- flipped image when copying from Safari in 1000s of colors mode
1376 The workaround is to turn off the NSImage cache. Andrew says this won't have any
1377 practical repercussions other than making the bug go away.
1379 Seems to have a side effect of speeding up the cvs-base page load test!
1381 * WebCoreSupport.subproj/WebImageRenderer.m:
1382 (-[WebImageRenderer initWithMIMEType:]): Set mode to NSImageCacheNever.
1383 (-[WebImageRenderer initWithData:MIMEType:]): Ditto.
1384 (-[WebImageRenderer initWithContentsOfFile:]): Ditto.
1385 (-[WebImageRenderer _adjustSizeToPixelDimensions]): Don't set mode to NSImageCacheDefault.
1387 2003-08-14 Ken Kocienda <kocienda@apple.com>
1393 <rdar://problem/3375042>: Change usages of NSURL absoluteString in WebKit
1394 to use improved variants
1396 * History.subproj/WebHistoryItem.m:
1397 (-[WebHistoryItem initWithURL:title:]): Use data-as-string.
1398 (-[WebHistoryItem initWithURL:target:parent:title:]): Use data-as-string.
1399 (-[WebHistoryItem setURL:]): Use data-as-string.
1400 * History.subproj/WebHistoryPrivate.m:
1401 (-[WebHistoryPrivate addItem:]): Remove FIX_VISITED ifdef
1402 (-[WebHistoryPrivate removeItem:]): Ditto
1403 (-[WebHistoryPrivate containsURL:]): Ditto. Use data-as-string.
1404 (-[WebHistoryPrivate itemForURL:]): Ditto. Ditto.
1405 (-[WebHistoryPrivate loadFromURL:error:]): Fix log message to URL.
1406 (-[WebHistoryPrivate _saveHistoryGuts:URL:error:]): Ditto.
1407 (-[WebHistoryPrivate saveToURL:error:]): Ditto.
1408 * History.subproj/WebURLsWithTitles.m:
1409 (+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]): Use visible-string.
1410 * Misc.subproj/WebIconLoader.m:
1411 (-[WebIconLoader connectionDidFinishLoading:]): Use data-as-string.
1412 * Misc.subproj/WebKitErrors.m:
1413 (+[NSError _webKitErrorWithDomain:code:URL:]): Added new convenience that takes
1414 a URL instead of a URL string.
1415 (-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]):
1416 Added new convenience that takes URLs instead of a URL stringis.
1417 * Misc.subproj/WebKitErrorsPrivate.h: Declared new conveniences.
1418 * Misc.subproj/WebNSPasteboardExtras.m:
1419 (-[NSPasteboard _web_writeURL:andTitle:withOwner:types:]): Use visible-string.
1420 * Misc.subproj/WebNSURLExtras.h:
1421 * Misc.subproj/WebNSURLExtras.m:
1422 (-[NSURL _web_originalDataAsString]): Added.
1423 (-[NSURL _webkit_isJavaScriptURL]): Use data-as-string.
1424 (-[NSURL _webkit_scriptIfJavaScriptURL]): Ditto
1425 (-[NSURL _webkit_isFTPDirectoryURL]): Ditto
1426 (-[NSURL _webkit_shouldLoadAsEmptyDocument]): Ditto. Also use _web_isEmpty.
1427 * Plugins.subproj/WebBaseNetscapePluginView.m:
1428 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Use data-as-string.
1429 * Plugins.subproj/WebNetscapePluginDocumentView.m:
1430 (-[WebNetscapePluginDocumentView setDataSource:]): Use new error convenience.
1431 * Plugins.subproj/WebNetscapePluginStream.m:
1432 (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): Ditto.
1433 * WebCoreSupport.subproj/WebBridge.m:
1434 (-[WebBridge requestedURLString]): Use data-as-string.
1435 * WebCoreSupport.subproj/WebSubresourceClient.m:
1436 (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): Use new error convenience.
1437 * WebView.subproj/WebBaseResourceHandleDelegate.m:
1438 (-[WebBaseResourceHandleDelegate cancelledError]): Ditto.
1439 * WebView.subproj/WebDataProtocol.m:
1440 (-[WebDataProtocol startLoading]): Ditto.
1441 * WebView.subproj/WebDataSourcePrivate.m:
1442 (-[WebDataSource _stopLoadingInternal]): Ditto.
1443 (-[WebDataSource _updateIconDatabaseWithURL:]): Use data-as-string.
1444 (-[WebDataSource _loadIcon]): Ditto.
1445 * WebView.subproj/WebFramePrivate.m:
1446 (-[WebFrame _createItem:]): Use data-as-string.
1447 (-[WebFrame _transitionToCommitted:]): Fix log message to use URL.
1448 (-[WebFrame _purgePageCache]): Use _web_isEmpty
1449 (-[WebFrame _setState:]): Fix log message to use URL.
1450 (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]): Use new error convenience.
1451 (-[WebFrame _loadItem:withLoadType:]): Fix log message to use URL.
1452 (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
1453 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): Fix log messages to use URL.
1454 (-[WebFrame _shouldTreatURLAsSameAsCurrent:]): Use data-as-string.
1455 * WebView.subproj/WebHTMLViewPrivate.m:
1456 (-[WebHTMLView _dragImageForLinkElement:]): Use visible-string.
1457 * WebView.subproj/WebMainResourceClient.m:
1458 (-[WebMainResourceClient interruptForPolicyChangeError]): Use new error convenience.
1459 * WebView.subproj/WebPreferences.m:
1460 (-[WebPreferences setUserStyleSheetLocation:]): Use data-as-string.
1461 * WebView.subproj/WebView.m:
1462 (-[WebView mainFrameURL]): Use data-as-string.
1463 (-[WebView mainFrameIcon]): Use data-as-string.
1464 * WebView.subproj/WebViewPrivate.m:
1465 (-[WebView _updateWebCoreSettingsFromPreferences:]): Use data-as-string.
1467 2003-08-12 Maciej Stachowiak <mjs@apple.com>
1471 - fixed 3365242 - non-repro abort in HTMLTokenizer at ajc.com
1473 * WebView.subproj/WebDataSourcePrivate.m:
1474 (-[WebDataSource _receivedData:]): ref the data source around
1475 processing the data and afterwards, to avoid crashing if a script
1476 in this chunk of data made the frame go away.
1478 2003-08-13 Richard Williamson <rjw@apple.com>
1480 Fixed 3376077. Override automaticallyNotifiesObserversForKey: to
1481 prevent unnecessary additional notifications from being sent. Also
1482 added development-only logging (bulk of the change).
1486 * Misc.subproj/WebKitLogging.h:
1487 * Misc.subproj/WebKitLogging.m:
1488 * WebView.subproj/WebDataSourcePrivate.m:
1489 (-[WebDataSource _setTitle:]):
1490 (-[WebDataSource _updateIconDatabaseWithURL:]):
1491 * WebView.subproj/WebViewPrivate.h:
1492 * WebView.subproj/WebViewPrivate.m:
1493 (-[WebView _didChangeValueForKey:]):
1494 (-[WebView _willChangeValueForKey:]):
1495 (-[WebView _progressStarted]):
1496 (-[WebView _progressCompleted]):
1497 (-[WebView _incrementProgressForConnection:data:]):
1498 (+[WebView automaticallyNotifiesObserversForKey:]):
1499 (-[WebView _willChangeBackForwardKeys]):
1500 (-[WebView _didChangeBackForwardKeys]):
1501 (-[WebView _didStartProvisionalLoadForFrame:]):
1502 (-[WebView _didCommitLoadForFrame:]):
1503 (-[WebView _didFinishLoadForFrame:]):
1504 (-[WebView _didFailLoadWithError:forFrame:]):
1505 (-[WebView _didFailProvisionalLoadWithError:forFrame:]):
1507 2003-08-13 Chris Blumenberg <cblu@apple.com>
1509 Fixed: <rdar://problem/3347134>: After first successful POST in Flash, Safari does not repeat POST and gives cached reply
1511 Reviewed by kocienda.
1513 * Plugins.subproj/WebBaseNetscapePluginView.m:
1514 (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]): call [request setCachePolicy:NSURLRequestReloadIgnoringCacheData]
1516 2003-08-13 Ken Kocienda <kocienda@apple.com>
1522 <rdar://problem/3366441>: URL strings with UTF-8 characters
1523 processed improperly for display by WebKit
1525 * Misc.subproj/WebNSURLExtras.h:
1526 * Misc.subproj/WebNSURLExtras.m:
1528 (hexDigitValue): Added
1529 (-[NSURL _web_userVisibleString]): Added. Produces a string that
1530 is suitable for display to a user in the UI.
1531 (-[NSURL _web_isEmpty]): Convenience to check for an empty URL
1532 * WebCoreSupport.subproj/WebBridge.m:
1533 (-[WebBridge requestedURLString]): Now calls _web_userVisibleString
1535 2003-08-13 Ken Kocienda <kocienda@apple.com>
1541 <rdar://problem/3374458>: Choose UTF-8 for encoding when calling
1542 CFURLCreateAbsoluteURLWithBytes in WebKit
1544 Calling CFURLCreateAbsoluteURLWithBytes with ISO Latin 1 string
1545 encoding results in some issues when trying to decode a URL path in
1546 preparation for doing file I/O. Instead of doing a redecoding step
1547 whenever a path is needed to perform I/O, use UTF-8 as the encoding
1548 right from the start. This will mean that illegal UTF-8 sequences will
1549 be rejected by CFURLCreateAbsoluteURLWithBytes. However, we can work
1550 around this by falling back on ISO Latin1 in this case. The end result
1551 is that existing code throughout the URL loading system can remain
1552 unchanged and simply call the path method on NSURL as it does now and
1553 get the right result for its I/O requirements.
1555 * Misc.subproj/WebNSURLExtras.m:
1556 (+[NSURL _web_URLWithData:relativeToURL:])
1558 2003-08-13 Ken Kocienda <kocienda@apple.com>
1564 <rdar://problem/3374487>: URLs with UTF-8 escape sequences can't be accessed
1565 when typed in the Safari location bar
1567 * Misc.subproj/WebNSPasteboardExtras.m:
1568 (-[NSPasteboard _web_bestURL]): Call _web_URLWithUserTypedString: to make a
1569 URL from this type of string.
1570 * Misc.subproj/WebNSURLExtras.h:
1571 * Misc.subproj/WebNSURLExtras.m:
1573 (+[NSURL _web_URLWithUserTypedString:]): Added. Creates a URL from a string
1574 that is typed in a user, for example, in the Safari location bar.
1576 2003-08-12 John Sullivan <sullivan@apple.com>
1578 - fixed 3369505 -- leaks of NSCFTimer after running through the
1583 * WebView.subproj/WebFrame.m:
1584 (-[WebFrame stopLoading]):
1585 release timer before nil'ing it out
1587 2003-08-12 Ed Voas <voas@apple.com>
1589 Reviewed by Richard.
1591 Make sure to override the standard behavior for ordering windows to do nothing for Carbon stuff.
1593 * Carbon.subproj/CarbonWindowAdapter.m:
1594 (-[CarbonWindowAdapter _reallyDoOrderWindow:relativeTo:findKey:forCounter:force:isModal:]):
1596 2003-08-11 Chris Blumenberg <cblu@apple.com>
1598 Fixed: <rdar://problem/3163589>: Macromedia Flash 6 cannot take Asian text entry in Safari
1602 * Plugins.subproj/WebBaseNetscapePluginView.m:
1603 (-[WebBaseNetscapePluginView installKeyEventHandler]): new
1604 (-[WebBaseNetscapePluginView removeKeyEventHandler]): new
1605 (-[WebBaseNetscapePluginView becomeFirstResponder]): call installKeyEventHandler
1606 (-[WebBaseNetscapePluginView resignFirstResponder]): call removeKeyEventHandler
1607 (-[WebBaseNetscapePluginView keyUp:]): call TSMProcessRawKeyEvent so key events go through the machinery and UI that plug-ins expect
1608 (-[WebBaseNetscapePluginView keyDown:]): call TSMProcessRawKeyEvent so key events go through the machinery and UI that plug-ins expect
1609 (TSMEventHandler): turn the TSM event into a series of EventRecords and pass them to the plug-in
1610 (-[WebBaseNetscapePluginView stop]): call removeKeyEventHandler because resignFirstResponder may not get called
1612 2003-08-08 Richard Williamson <rjw@apple.com>
1614 Lots of healthy cleanup. Introduced width and shaping iterators
1615 to simplify code and remove allocations for large text runs. Should
1616 go further and make more use of these in the future (post panther).
1618 Fixed 3369608. Crash in -[WebTextRenderer _CG_drawRun:style:atPoint:] at lovepucca.net
1619 Fixed 3118050. Crash selecting text at http://www.faqs.org/rfcs/rfc2849.html (SELECTION)
1620 Fixed 3371115. Can't correctly select text that contains surrogate pairs
1624 * Misc.subproj/WebUnicode.h:
1625 * Misc.subproj/WebUnicode.m:
1628 (prevLogicalCharJoins):
1629 (nextLogicalCharJoins):
1630 (glyphVariantLogical):
1631 (hasShapeForNextCharacter):
1632 (shapeForNextCharacter):
1633 (initializeCharacterShapeIterator):
1635 * WebCoreSupport.subproj/WebTextRenderer.h:
1636 * WebCoreSupport.subproj/WebTextRenderer.m:
1637 (initializeCharacterWidthIterator):
1638 (widthAndGlyphForSurrogate):
1639 (widthForNextCharacter):
1640 (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
1641 (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:]):
1643 Just formatting changed here
1644 * WebView.subproj/WebHTMLViewPrivate.m:
1645 (-[WebHTMLView _dragImageForLinkElement:]):
1647 2003-08-08 Darin Adler <darin@apple.com>
1651 - fixed 3368236 -- NSURL exception going back at http://derstandard.at/
1653 * WebView.subproj/WebFramePrivate.m: (-[WebFrame _createItem:]): Put "about:blank" in
1654 the back/forward item if there is no URL (which happens because there is no data source
1655 because the frame has never successfully loaded anything). Perhaps we can do better
1656 some day, but this avoids all the major bad effects in a safe way.
1658 * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
1662 2003-08-07 Richard Williamson <rjw@apple.com>
1664 Fixed 3362939. Checked flippyness of view and adjust y coord accordingly.
1668 * Misc.subproj/WebKitNSStringExtras.m:
1670 2003-08-07 Chris Blumenberg <cblu@apple.com>
1672 Fixed: <rdar://problem/3330742>: 1.0 Safari fails to send NPP_URLNotify with the error of NPRES_NETWORK_ERR to Flash
1676 * Plugins.subproj/WebBaseNetscapePluginStream.m:
1677 (-[WebBaseNetscapePluginStream destroyStreamWithReason:]): call NPP_URLNotify so we cover both the failure and successful cases
1678 (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): have destroyStreamWithReason call NPP_URLNotify
1680 2003-08-07 Ken Kocienda <kocienda@apple.com>
1686 <rdar://problem/3368552>: Fix inappropriate use of NSURL creation methods in WebKit
1688 Change calls to URLWithString: or URLWithString:relativeToURL to
1689 _web_URLWithDataAsString: and _web_URLWithDataAsString:relativeToURL,
1692 * WebView.subproj/WebFramePrivate.m:
1693 (-[WebFrame _loadItem:withLoadType:]):
1694 (-[WebFrame _loadURL:intoChild:]):
1695 * WebView.subproj/WebPreferences.m:
1696 (-[WebPreferences userStyleSheetLocation]):
1697 * WebView.subproj/WebView.m:
1698 (-[WebView takeStringURLFrom:]):
1699 (-[WebView setMainFrameURL:]):
1701 2003-08-06 Darin Adler <darin@apple.com>
1703 Reviewed by Richard.
1705 - fixed 3347114 -- remove vestiges of posing, including init routine, from WebKit
1707 * WebView.subproj/WebHTMLViewPrivate.m: Removed WebNSTextView, WebNSView, and WebNSWindow,
1708 removed the code to have them pose as NSTextView, NSView, and NSWindow, and removed excess
1709 imports that are no longer needed.
1711 2003-08-06 Richard Williamson <rjw@apple.com>
1713 Fixed 3365378. Edge case text run > 1024 hit by JS generated string. We weren't correctly checking size of string length. Used /2 instead of *2.
1715 Reviewed by Vicki (and Dan!).
1717 * WebCoreSupport.subproj/WebTextRenderer.m:
1718 (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]):
1719 (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
1721 2003-08-06 Richard Williamson <rjw@apple.com>
1723 Fixed 3348630. Pick up about 1% by moving implementation of _unicodeDirection to WebCore and inlining.
1727 * Misc.subproj/WebUnicode.h:
1728 * Misc.subproj/WebUnicode.m:
1729 (_unicodeDirection):
1732 (WebKitInitializeUnicode):
1733 * Misc.subproj/WebUnicodeTables.m:
1735 2003-08-06 Chris Blumenberg <cblu@apple.com>
1737 Fixed: <rdar://problem/3161102>: Avoid retain cycles by destroying plug-ins in the page cache before dealloc
1741 * History.subproj/WebHistoryItemPrivate.h: added declaration for [WebBackForwardList _clearPageCache]
1742 * WebView.subproj/WebViewPrivate.m:
1743 (-[WebView _close]): clear the page cache when we are closing the web view so we call destroy on all the plug-ins on the page cache to break any retain cycles.
1745 2003-08-04 Chris Blumenberg <cblu@apple.com>
1747 Fixed: <rdar://problem/3106525>: Results of JavaScript requests are not returned to plug-ins
1751 * Plugins.subproj/WebBaseNetscapePluginStream.h:
1752 * Plugins.subproj/WebBaseNetscapePluginStream.m:
1753 (-[WebBaseNetscapePluginStream setNotifyData:]): new
1754 (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): renamed from setResponse
1755 (-[WebBaseNetscapePluginStream startStreamWithResponse:]): new
1756 (-[WebBaseNetscapePluginStream receivedData:]): tweak
1757 (-[WebBaseNetscapePluginStream destroyStreamWithReason:]): tweak
1758 (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): tweak
1759 * Plugins.subproj/WebBaseNetscapePluginView.m:
1760 (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:targetFrame:]): new
1761 (-[WebBaseNetscapePluginView loadPluginRequest:]): call evaluateJavaScriptPluginRequest::
1762 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): call loadPluginRequest for JS requests
1763 * Plugins.subproj/WebNetscapePluginRepresentation.m:
1764 (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): call renamed startStreamWithResponse
1765 * Plugins.subproj/WebNetscapePluginStream.m:
1766 (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]): call setNotifyData
1767 (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): call renamed startStreamWithResponse
1769 2003-08-05 Ken Kocienda <kocienda@apple.com>
1773 Plugins in WebKit need to store URLs in the form of "C-style" strings.
1774 Create and use a new, improved method to make these strings, and do
1775 not traverse through the NSURL absoluteString method, since that can i
1778 * Misc.subproj/WebNSURLExtras.h: Added _web_URLCString method.
1779 * Misc.subproj/WebNSURLExtras.m:
1780 (-[NSURL _web_URLCString]): Added.
1781 * Plugins.subproj/WebBaseNetscapePluginStream.m:
1782 (-[WebBaseNetscapePluginStream setResponse:]): Call new _web_URLCString method.
1783 (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Ditto.
1784 * Plugins.subproj/WebBaseNetscapePluginView.m:
1785 (-[WebBaseNetscapePluginView frameStateChanged:]): Ditto.
1786 (-[WebBaseNetscapePluginView loadPluginRequest:]): Ditto.
1788 2003-08-05 Ken Kocienda <kocienda@apple.com>
1794 <rdar://problem/3365035>: Modify WebNSURLExtras to call improved NSURL creation API
1796 * Misc.subproj/WebNSURLExtras.m:
1797 (+[NSURL _web_URLWithDataAsString:]): Call through to _web_URLWithDataAsString:relativeToURL:.
1798 (+[NSURL _web_URLWithDataAsString:relativeToURL:]): Call through to _web_URLWithData:relativeToURL:.
1799 (+[NSURL _web_URLWithData:]): Ditto.
1800 (+[NSURL _web_URLWithData:relativeToURL:]): Call CFURLCreateAbsoluteURLWithBytes API in
1802 (-[NSURL _web_originalData]): Use CFURLGetBytes API in CoreFoundation. Also make sure
1803 that a relative URL is resolved against its base.
1804 (-[NSURL _web_displayableString]): Call _web_originalData to get bytes to use
1805 to create the string.
1806 (-[NSURL _web_URLStringLength]): Use CFURLGetBytes API in CoreFoundation.
1808 2003-08-04 Richard Williamson <rjw@apple.com>
1810 Fixed 3363011. Pass b/f related key down events to super if b/f is disabled.
1814 * WebView.subproj/WebFrameView.m:
1815 (-[WebFrameView keyDown:]):
1818 Fixed 3363345. Retain static array used by IB to present WebView's bindable keys.
1822 * WebView.subproj/WebViewPrivate.m:
1823 (-[WebView _declaredKeys]):
1825 2003-08-04 Ken Kocienda <kocienda@apple.com>
1831 <rdar://problem/3363318>: REGRESSION: Plug-in content doesn't show up, animate etc
1833 WebNetscapePluginConnectionDelegate must implement this method:
1835 - (void)connection:(NSURLConnection *)con didReceiveData:(NSData *)data lengthReceived:(long long)lengthReceived
1837 * Plugins.subproj/WebNetscapePluginStream.m:
1838 (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:lengthReceived:])
1840 2003-08-04 Darin Adler <darin@apple.com>
1842 Reviewed by Richard.
1844 - fixed 3298153 -- get "screen font while printing" error, bad stuff happens after that (Sherlock, Safari)
1846 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]):
1847 If we find ourselves in drawRect with the wrong printing mode, that usually
1848 means we're being printed as part of some larger print process, so do the
1849 layout in printing mode.
1851 2003-08-04 Chris Blumenberg <cblu@apple.com>
1853 Fixed: <rdar://problem/3360977>: REGRESSION (7B28-7B29): main webview rejects drop of doc icon from BBEdit
1857 * Misc.subproj/WebNSPasteboardExtras.m:
1858 (+[NSPasteboard _web_dragTypesForURL]): we handle NSFilenamesPboardType
1859 * WebKit.pbproj/project.pbxproj:
1861 2003-08-04 Richard Williamson <rjw@apple.com>
1863 Fixed 3223989. Pass key down events to super if scrolling is disabled.
1865 Reviewed by Chris (Welcome back!).
1867 * WebView.subproj/WebFrameView.m:
1868 (-[WebFrameView keyDown:]):
1870 2003-08-01 Richard Williamson <rjw@apple.com>
1872 Fixed 3095376. Implemented correct selection behavior for rtl scripts.
1873 We still use our Arabic and Hebrew layout scheme.
1875 Fixed 3360487. Implemented selection of ATSU rendered code.
1877 Fixed 3360242. Return nil from _bodyBackgroundColor when no
1878 background color specified. This was requested by Doug D.
1882 * WebCoreSupport.subproj/WebTextRenderer.m:
1883 (-[WebTextRenderer drawHighlightForRun:style:atPoint:]):
1884 (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]):
1885 (-[WebTextRenderer drawRun:style:atPoint:]):
1886 (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
1887 (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
1888 (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]):
1889 (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
1890 (-[WebTextRenderer pointToOffset:style:position:reversed:]):
1891 (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]):
1892 (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:]):
1894 2003-08-01 Maciej Stachowiak <mjs@apple.com>
1898 - fixed 3339255 - REGRESSION (73-85): javascript failure at gia.apple.com
1900 * WebView.subproj/WebFramePrivate.m:
1901 (-[WebFrame _setState:]): When going to provisional state, tell the bridge that
1902 a provisional load started, so it can cancel any pending redirects.
1906 2003-07-31 Richard Williamson <rjw@apple.com>
1908 Make sure width is initialized for monospace optimizations.
1911 * WebCoreSupport.subproj/WebTextRenderer.m:
1912 (-[WebTextRenderer checkSelectionPoint:style:position:reversed:]):
1914 2003-07-31 Richard Williamson <rjw@apple.com>
1916 Fixed 3359152. SPI to get the background color for a frame.
1920 * WebCoreSupport.subproj/WebTextRenderer.m:
1921 (-[WebTextRenderer checkSelectionPoint:style:position:reversed:]):
1922 * WebView.subproj/WebFramePrivate.h:
1923 * WebView.subproj/WebFramePrivate.m:
1924 (-[WebFrame _bodyBackgroundColor]):
1926 2003-07-31 Richard Williamson <rjw@apple.com>
1928 Fixed 3358870. Fall back on 'user defaults' values when a value
1929 in a custom instance of WebPreferences hasn't been overriden.
1931 Reviewed by Eric Seymour.
1933 * WebView.subproj/WebPreferences.m:
1934 (-[WebPreferences _stringValueForKey:]):
1935 (-[WebPreferences _integerValueForKey:]):
1936 (-[WebPreferences _boolValueForKey:]):
1938 2003-07-30 Richard Williamson <rjw@apple.com>
1940 Preparation for 3095376.
1944 * Misc.subproj/WebKitNSStringExtras.m:
1945 (-[NSString _web_widthWithFont:]):
1946 * Misc.subproj/WebStringTruncator.m:
1948 * WebCoreSupport.subproj/WebTextRenderer.m:
1950 (-[WebTextRenderer widthForCharacters:length:]):
1951 (-[WebTextRenderer drawRun:style:atPoint:]):
1952 (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
1953 (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]):
1954 (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
1955 (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:widths:letterSpacing:wordSpacing:smallCaps:fontFamilies:]):
1956 (-[WebTextRenderer floatWidthForRun:style:widths:]):
1957 (-[WebTextRenderer _floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
1958 (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
1959 (-[WebTextRenderer _createATSUTextLayoutForRun:]):
1960 (-[WebTextRenderer _trapezoidForRun:style:atPoint:]):
1961 (-[WebTextRenderer _ATSU_floatWidthForRun:style:]):
1962 (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
1963 (-[WebTextRenderer checkSelectionPoint:style:position:reversed:]):
1965 2003-07-30 Richard Williamson <rjw@apple.com>
1967 Fixed 3356518. Added private method called by IB to ensure
1968 that autoresizeSubviews flag is turned on correctly.
1972 * WebView.subproj/WebViewPrivate.m:
1973 (-[WebView _finishedMakingConnections]):
1975 2003-07-28 Richard Williamson <rjw@apple.com>
1977 Fixed 3323866. Provide SPI to IB to enable scoping of preferences
1978 values on a document-by-document basis.
1982 * WebView.subproj/WebPreferences.m:
1983 (-[WebPreferencesPrivate dealloc]):
1984 (-[WebPreferences initWithIdentifier:]):
1985 (-[WebPreferences initWithCoder:]):
1986 (+[WebPreferences _userDefaultsKeysForIB]):
1987 (+[WebPreferences _setIBCreatorID:]):
1988 (+[WebPreferences _IBCreatorID]):
1989 (-[WebPreferences _concatenateKeyWithIBCreatorID:]):
1990 * WebView.subproj/WebPreferencesPrivate.h:
1992 2003-07-28 Darin Adler <darin@apple.com>
1996 - fixed 3344647 -- reachedTerminalState assertion in WebBaseResourceHandleDelegate.m
1998 * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient cancelWithError:]):
1999 Use [super cancelWithError:] rather than [self receivedError:]. I checked carefully to
2000 see that this code now does everything the old code did (and a bit more).
2002 2003-07-28 Richard Williamson <rjw@apple.com>
2005 Check that the WebHTMLView is initialized in viewWillMoveToWindow: and
2006 viewDidMoveToWindow. Don't do anything if we aren't initialized. This
2007 happens when decoding a WebView. When WebViews are decoded their subviews
2008 are created by initWithCoder: and so won't be normally initialized. The
2009 stub views are discarded by WebView.
2013 * WebView.subproj/WebHTMLView.m:
2014 (-[WebHTMLView viewWillMoveToWindow:]):
2015 (-[WebHTMLView viewDidMoveToWindow]):
2017 2003-07-28 Darin Adler <darin@apple.com>
2021 - fixed 3279864 -- remove class_poseAs calls from WebKit
2023 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView initWithFrame:]):
2024 Call _setDrawsOwnDescendants, if we have a new enough AppKit.
2025 * WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView load]):
2026 Don't pose as NSView, if we have a new enough AppKit.
2028 2003-07-28 Ken Kocienda <kocienda@apple.com>
2034 <rdar://problem/3336933>: REGRESSION (Panther): Mozilla build downloaded
2035 with wrong extension, bad file size (gzip)
2037 Use new delegate methods that allow for the correct reporting
2038 of progress in cases where Foundation-level content decoding
2039 has been performed on data received
2041 * WebCoreSupport.subproj/WebSubresourceClient.m:
2042 (-[WebSubresourceClient connection:didReceiveData:lengthReceived:]):
2043 * WebView.subproj/WebBaseResourceHandleDelegate.m:
2044 (-[WebBaseResourceHandleDelegate connection:didReceiveData:]):
2045 (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]):
2046 * WebView.subproj/WebMainResourceClient.m:
2047 (-[WebMainResourceClient connection:didReceiveData:lengthReceived:]):
2049 2003-07-28 Darin Adler <darin@apple.com>
2051 Reviewed by Richard.
2053 - fixed leak of WebDataRequestParameters objects
2055 * WebView.subproj/WebDataProtocol.m:
2056 (-[NSMutableURLRequest _webDataRequestParametersForWriting]):
2057 Release the WebDataRequestParameters object after putting it in the dictionary.
2059 2003-07-28 John Sullivan <sullivan@apple.com>
2061 - fixed 3236815 -- bitmap TIFFs at > 72 dpi are scaled incorrectly
2062 in Safari when viewed standalone (uspto.gov)
2066 * WebCoreSupport.subproj/WebImageRenderer.m:
2067 (-[WebImageRenderer _adjustSizeToPixelDimensions]):
2068 call setScalesWhenResized:YES
2070 2003-07-25 Richard Williamson <rjw@apple.com>
2072 Fixed 3344519. Prevent infinite recursion attempting font substitution.
2076 * WebCoreSupport.subproj/WebTextRenderer.m:
2077 (-[WebTextRenderer _floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
2079 2003-07-25 Maciej Stachowiak <mjs@apple.com>
2083 - fixed 3280582 - REGRESSION (74-85): authentication sheet doesn't state that previous login was incorrect
2085 * Panels.subproj/WebAuthenticationPanel.m:
2086 (-[WebAuthenticationPanel setUpForChallenge:]): Use chall, the
2087 parameter, not challenge, the not-yet-set ivar so we get the right
2090 2003-07-25 Richard Williamson <rjw@apple.com>
2092 Use 11 point bold, instead of 12 point bold to draw dragged link
2093 labels. This matches the text drawn in the bookmarks bar.
2097 * WebView.subproj/WebHTMLViewPrivate.m:
2098 (-[WebHTMLView _dragImageForLinkElement:]):
2100 2003-07-24 Richard Williamson <rjw@apple.com>
2102 Fixed 3279910. Change the way we draw dragged link to use
2103 WebKit's measurement and drawing. Also made the look match
2104 the bookmarks bar text.
2108 * Misc.subproj/WebKitNSStringExtras.h:
2109 * Misc.subproj/WebKitNSStringExtras.m:
2110 (-[NSString _web_drawDoubledAtPoint:withTopColor:bottomColor:font:]):
2111 * WebView.subproj/WebHTMLViewPrivate.h:
2112 * WebView.subproj/WebHTMLViewPrivate.m:
2113 (-[WebHTMLView _dragImageForLinkElement:]):
2114 (-[WebHTMLView _handleMouseDragged:]):
2116 2003-07-24 Richard Williamson <rjw@apple.com>
2118 Removed unnecessary log.
2122 * WebCoreSupport.subproj/WebImageRendererFactory.m:
2123 (-[WebImageRendererFactory imageRendererWithData:MIMEType:]):
2125 Add another check to use ATSU for Limbu (Unicode 4.0) script.
2126 Also made shouldUseATSU inline.
2128 * WebCoreSupport.subproj/WebTextRenderer.m:
2133 2003-07-23 Maciej Stachowiak <mjs@apple.com>
2137 Fix WebKit to build with the latest Foundation.
2139 * Misc.subproj/WebNSURLExtras.h:
2140 * Misc.subproj/WebNSURLExtras.m:
2141 (-[NSURL _webkit_isJavaScriptURL]):
2142 (-[NSURL _webkit_scriptIfJavaScriptURL]):
2143 (-[NSURL _webkit_isFTPDirectoryURL]):
2144 (-[NSString _webkit_isFTPDirectoryURL]):
2146 2003-07-23 Richard Williamson <rjw@apple.com>
2148 Fixed 3311725: Added support for key/value binding.
2149 (As a side effect also made icon loading work! In 1.0
2150 it doesn't work unless a secret preference value is set.)
2154 * Misc.subproj/WebIconDatabase.m:
2155 (-[WebIconDatabase _createFileDatabase]):
2156 * WebView.subproj/WebDataSourcePrivate.m:
2157 (-[WebDataSource _startLoading:]):
2158 (-[WebDataSource _setTitle:]):
2159 (-[WebDataSource _updateIconDatabaseWithURL:]):
2160 * WebView.subproj/WebFramePrivate.m:
2161 (-[WebFrame _transitionToCommitted:]):
2162 (-[WebFrame _isLoadComplete]):
2163 * WebView.subproj/WebView.m:
2164 (-[WebView setMainFrameURL:]):
2165 (-[WebView mainFrameURL]):
2166 (-[WebView isLoading]):
2167 (-[WebView mainFrameTitle]):
2168 (-[WebView mainFrameIcon]):
2169 * WebView.subproj/WebViewPrivate.h:
2170 * WebView.subproj/WebViewPrivate.m:
2171 (-[WebView _progressStarted]):
2172 (-[WebView _progressCompleted]):
2173 (-[WebView _incrementProgressForConnection:data:]):
2174 (-[WebView _completeProgressForConnection:]):
2175 (-[WebView _declaredKeys]):
2176 (-[WebView setObservationInfo:]):
2177 (-[WebView observationInfo]):
2178 (-[WebView _willChangeBackForwardKeys]):
2179 (-[WebView _didChangeBackForwardKeys]):
2180 (-[WebView _didStartProvisionalLoadForFrame:]):
2181 (-[WebView _didCommitLoadForFrame:]):
2182 (-[WebView _didFinishLoadForFrame:]):
2183 (-[WebView _didFailLoadWithError:forFrame:]):
2184 (-[WebView _didFailProvisionalLoadWithError:forFrame:]):
2186 2003-07-23 Richard Williamson <rjw@apple.com>
2188 Fixed 3341119: Crash when content contains nil (0x0) characters.
2192 * WebCoreSupport.subproj/WebTextRenderer.m:
2193 (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
2195 2003-07-23 Darin Adler <darin@apple.com>
2199 - fixed 2/3 of 3279864 -- remove class_poseAs calls from WebKit (will also remove init routine)
2201 * WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView load]):
2202 Only pose as NSTextView and NSWindow if we have an older AppKit.
2203 If we have a new enough AppKit, the code in WebCore now takes care of things.
2205 2003-07-23 Richard Williamson <rjw@apple.com>
2207 Fixed for 3259840. Use ATSU for scripts we don't handle internally,
2208 i.e.: Syriac, Thaana, Devanagari, Bengali, Gurmukhi, Gujarati, Oriya, Tamil, Telugu, Kannada, Malayalam, Sinhala, Thai, Lao, Tibetan, Myanmar, Hangul Jamo, Khmer, Mongolian
2210 Also fixed issues with our rendering of Arabic.
2212 Changed the internal API to take WebCoreTextRun and WebCoreTextStyle
2213 parameters instead of scads on individual parameters. Much cleaner.
2217 * Misc.subproj/WebKitNSStringExtras.m:
2218 (-[NSString _web_widthWithFont:]):
2219 * Misc.subproj/WebStringTruncator.m:
2221 * WebCoreSupport.subproj/WebTextRenderer.h:
2222 * WebCoreSupport.subproj/WebTextRenderer.m:
2224 (-[WebTextRenderer _setupFont:]):
2225 (-[WebTextRenderer dealloc]):
2226 (-[WebTextRenderer widthForCharacters:length:]):
2227 (-[WebTextRenderer drawRun:style:atPoint:]):
2228 (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
2229 (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]):
2230 (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
2231 (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:letterSpacing:wordSpacing:smallCaps:fontFamilies:]):
2232 (-[WebTextRenderer floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:]):
2233 (-[WebTextRenderer _floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
2234 (-[WebTextRenderer _CG_floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
2235 (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]):
2236 (-[WebTextRenderer _initializeATSUStyle]):
2237 (-[WebTextRenderer _createATSUTextLayoutForRun:]):
2238 (-[WebTextRenderer _trapezoidForRun:style:atPoint:]):
2239 (-[WebTextRenderer _ATSU_floatWidthForRun:style:]):
2240 (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
2242 2003-07-23 Ken Kocienda <kocienda@apple.com>
2246 Removed dependency on Foundation NSURL_NSURLExtras file.
2247 Copied the required methods from that file to WebNSURLExtras,
2248 temporarily renaming the methods that are now in both
2249 places to have a _webkit_ prefix. The names will be changed
2250 back once every one is living on a Foundation version that
2251 no longer contains these methods.
2253 The files below were changed in one of three ways:
2254 1. Rename _web_URLWithString: to _web_URLWithDataAsString:
2255 2. Tweak headers to depend on WebNSURLExtras instead of NSURL_NSURLExtras.
2256 3. At call sites, tweak names of methods that moved to WebKit (_web_ -> _webkit_).
2258 * History.subproj/WebHistory.m:
2259 * History.subproj/WebHistoryItem.m:
2260 (-[WebHistoryItem URL]):
2261 * History.subproj/WebHistoryPrivate.m:
2262 * History.subproj/WebURLsWithTitles.m:
2263 (+[WebURLsWithTitles URLsFromPasteboard:]):
2264 * Misc.subproj/WebIconDatabase.m:
2265 (-[WebIconDatabase _iconForFileURL:withSize:]):
2266 * Misc.subproj/WebIconLoader.m:
2267 * Misc.subproj/WebNSPasteboardExtras.m:
2268 (-[NSPasteboard _web_bestURL]):
2269 * Misc.subproj/WebNSURLExtras.h:
2270 * Misc.subproj/WebNSURLExtras.m:
2272 (+[NSURL _web_URLWithDataAsString:]):
2273 (+[NSURL _web_URLWithDataAsString:relativeToURL:]):
2274 (+[NSURL _web_URLWithData:]):
2275 (+[NSURL _web_URLWithData:relativeToURL:]):
2276 (-[NSURL _web_originalData]):
2277 (-[NSURL _web_displayableString]):
2278 (-[NSURL _web_URLStringLength]):
2279 (-[NSURL _webkit_canonicalize]):
2280 (-[NSURL _webkit_URLByRemovingFragment]):
2281 (-[NSURL _webkit_isJavaScriptURL]):
2282 (-[NSURL _webkit_scriptIfJavaScriptURL]):
2283 (-[NSURL _webkit_isFTPDirectoryURL]):
2284 (-[NSURL _webkit_shouldLoadAsEmptyDocument]):
2287 (-[NSString _webkit_isJavaScriptURL]):
2288 (-[NSString _webkit_stringByReplacingValidPercentEscapes]):
2289 (-[NSString _webkit_scriptIfJavaScriptURL]):
2290 * Misc.subproj/WebNSViewExtras.m:
2291 * Panels.subproj/WebAuthenticationPanel.m:
2292 * Plugins.subproj/WebBaseNetscapePluginView.m:
2293 (-[WebBaseNetscapePluginView requestWithURLCString:]):
2294 (-[WebBaseNetscapePluginView loadPluginRequest:]):
2295 (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
2296 * Plugins.subproj/WebNullPluginView.m:
2297 * WebCoreSupport.subproj/WebBridge.m:
2298 (-[WebBridge requestedURLString]):
2299 * WebCoreSupport.subproj/WebCookieAdapter.m:
2300 (-[WebCookieAdapter cookiesForURL:]):
2301 (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]):
2302 * WebKit.pbproj/project.pbxproj:
2303 * WebView.subproj/WebDataSourcePrivate.m:
2304 (-[WebDataSource _setTitle:]):
2305 (-[WebDataSource _loadIcon]):
2306 * WebView.subproj/WebFrame.m:
2307 * WebView.subproj/WebFramePrivate.m:
2308 (-[WebFrame _transitionToCommitted:]):
2309 (-[WebFrame _shouldReloadForCurrent:andDestination:]):
2310 (-[WebFrame _URLsMatchItem:]):
2311 * WebView.subproj/WebFrameView.m:
2312 * WebView.subproj/WebHTMLViewPrivate.m:
2313 (-[WebHTMLView _elementAtPoint:]):
2314 * WebView.subproj/WebMainResourceClient.m:
2315 (-[WebMainResourceClient continueAfterContentPolicy:response:]):
2316 (-[WebMainResourceClient loadWithRequest:]):
2317 (-[WebMainResourceClient setDefersCallbacks:]):
2319 2003-07-22 Darin Adler <darin@apple.com>
2321 * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
2323 2003-07-21 Ken Kocienda <kocienda@apple.com>
2327 Fixed build breaker.
2329 Removed glyphCountFromFont function. It was used only in an
2330 ERROR function, which does not compile in on deployment
2331 builds, causing a "defined, but not used warning".
2333 As this function is only a one-liner call into ATS, I
2334 replaced the usage in the ERROR call with a call to the
2335 ATS function directly.
2337 * WebCoreSupport.subproj/WebTextRenderer.m:
2338 (-[WebTextRenderer initWithFont:usingPrinterFont:])
2340 2003-07-18 Richard Williamson <rjw@apple.com>
2342 Fixed 3283594. "Times RO" appears to have a corrupt regular variant. Added
2343 additional bullet proofing to catch corrupt fonts. Also added a special case
2344 hack to map "Times RO" to "Time New Roman" if the variant doesn't have valid
2347 Fixed 3319846. The page mentioned in this bug required > 10 substitute fonts for
2348 the same base font. This triggered some buggy code that hasn't been exercise before.
2349 Specifically the code that resizes the substitute fonts array was incorrect.
2353 * Misc.subproj/WebAssertions.h: Added FATAL_ALWAYS macro that logs and CRASHES
2354 even in deployment builds.
2356 * WebCoreSupport.subproj/WebTextRenderer.m:
2357 (mapForSubstituteFont):
2359 (FillStyleWithAttributes):
2360 (-[WebTextRenderer convertCharacters:length:toGlyphs:skipControlCharacters:]):
2361 (-[WebTextRenderer convertUnicodeCharacters:length:toGlyphs:]):
2362 (-[WebTextRenderer _computeWidthForSpace]):
2363 (-[WebTextRenderer _setupFont:]):
2365 (glyphCountFromFont):
2366 (-[WebTextRenderer initWithFont:usingPrinterFont:]):
2367 (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]):
2368 (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]):
2370 2003-07-17 Darin Adler <darin@apple.com>
2374 - fixed 3250608 -- REGRESSION (74-85): reproducible Safari crash in blinkCaretTimerAction
2376 * WebView.subproj/WebHTMLViewPrivate.m:
2377 (-[WebNSTextView drawInsertionPointInRect:color:turnedOn:]):
2378 Use NSView's setNeedsDisplayInRect: instead of the one in NSTextView.
2379 This avoids the layout that the NSTextView version of the call might do.
2380 By definition, we don't need layout to draw the insertion point, because we did
2381 the layout to find where the insertion point should display. If we do the layout
2382 we can end up recursing into the insertion point drawing code, which wreaks major
2383 havoc. Still no idea why this happened less in version 74.
2385 2003-07-17 Ken Kocienda <kocienda@apple.com>
2389 * WebCoreSupport.subproj/WebBridge.m:
2390 (-[WebBridge startLoadingResource:withURL:]): Now uses NSURL instead of NSString
2391 (-[WebBridge objectLoadedFromCacheWithURL:response:size:]): Ditto
2392 (-[WebBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
2394 (-[WebBridge setIconURL:]): Ditto
2395 (-[WebBridge setIconURL:withType:]): Ditto
2396 (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): Ditto
2397 (-[WebBridge userAgentForURL:]): Ditto
2398 (-[WebBridge requestedURL]): Now returns string using _web_absoluteString
2399 * WebView.subproj/WebDataSourcePrivate.m:
2400 (-[WebDataSource _receivedError:complete:]): Now uses NSURL instead of NSString
2401 * WebView.subproj/WebFramePrivate.m:
2402 (-[WebFrame _opened]): Ditto
2403 (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): Ditto
2404 (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): Ditto
2406 2003-07-17 Ken Kocienda <kocienda@apple.com>
2410 * Misc.subproj/WebNSURLExtras.m:
2411 (-[NSURL _web_URLStringLength]): Fix premature use of new CFURL API.
2412 New code is ifdef'ed out for now until everyone has revved.
2414 2003-07-17 Ken Kocienda <kocienda@apple.com>
2418 * WebCoreSupport.subproj/WebBridge.m:
2419 (-[WebBridge createWindowWithURL:frameName:]): Now uses NSURL in API instead of NSString
2420 (-[WebBridge loadURL:referrer:reload:target:triggeringEvent:form:formValues:]): Ditto
2421 (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto
2422 * WebKit.pbproj/project.pbxproj: Added WebNSURLExtras file
2423 * WebView.subproj/WebDataSourcePrivate.m:
2424 (-[WebDataSource _commitIfReady:]): Now uses NSURL in API instead of NSString
2426 2003-07-15 Richard Williamson <rjw@apple.com>
2428 Fixed 3315952: Add support for <IMG> in attributed string conversion.
2430 Added RTFD pasteboard type.
2434 * WebView.subproj/WebHTMLViewPrivate.m:
2435 (+[WebHTMLView _pasteboardTypes]):
2436 (-[WebHTMLView _writeSelectionToPasteboard:]):
2438 2003-07-14 Darin Adler <darin@apple.com>
2442 - make some improvements to handling of the timer, inspired by some bug reports
2444 * WebView.subproj/WebFramePrivate.m:
2445 (-[WebFramePrivate dealloc]): Instead of releasing the timer, assert it is nil.
2446 (-[WebFrame _detachFromParent]): Invalidate and release the timer after finishing
2447 dealing with self, in case the reference from the timer is the last one.
2448 (-[WebFrame _timedLayout:]): Release the timer after doing all the other work,
2449 in case the reference from the timer is the last one.
2450 (-[WebFrame _setState:]): Release the timer after doing all the other work,
2451 in case the reference from the timer is the last one.
2453 2003-07-14 Darin Adler <darin@apple.com>
2455 Rolled out workaround to bug 3298153 -- get "screen font while printing"
2456 error, bad stuff happens after that (Sherlock, Safari). It turns out the
2457 real fix was on the WebCore side. Now that we have that fix we don't need
2458 these extra calls to printerFont, which is a relatively slow call that
2459 may need to look up a font by name each time it's called.
2461 * WebCoreSupport.subproj/WebTextRenderer.m: (_drawGlyphs):
2462 Remove code to look up the printer font.
2464 2003-07-14 Maciej Stachowiak <mjs@apple.com>
2466 Rolled in fix from Safari-89-branch
2468 2003-07-12 Maciej Stachowiak <mjs@apple.com>
2470 Try to fix OS build by making the Frameworks link in both SYMROOT
2471 and DSTROOT, and at both build time and install time.
2473 * WebKit.pbproj/project.pbxproj:
2475 2003-07-14 Dave Hyatt <hyatt@apple.com>
2477 Roll this change out. It was a bad change that I only made
2478 because I was using the opacity APIs wrong.
2480 Reviewed by (nobody, just a straight backout of a previous checkin)
2482 * WebCoreSupport.subproj/WebImageRenderer.m:
2483 (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
2485 2003-07-13 Darin Adler <darin@apple.com>
2487 * WebKit.pbproj/project.pbxproj: Add command to prevent build from failing if symlink
2490 2003-07-13 Darin Adler <darin@apple.com>
2492 Fixed symbolic link path as Matt Reda suggested.
2494 * WebKit.pbproj/project.pbxproj: Changed paths in both of Maciej's new build phases
2495 to use Versions/Current instead of Versions/A.
2497 2003-07-13 Darin Adler <darin@apple.com>
2499 Fixed DSTROOT path as Eric Weiss suggested.
2501 * WebKit.pbproj/project.pbxproj: Changed paths in both of Maciej's new build phases.
2503 2003-07-12 Maciej Stachowiak <mjs@apple.com>
2505 Try to fix OS build by making the Frameworks link in both SYMROOT
2506 and DSTROOT, and at both build time and install time.
2508 * WebKit.pbproj/project.pbxproj:
2510 2003-07-11 Dave Hyatt <hyatt@apple.com>
2512 Make sure image compositing obeys the current global alpha that
2513 is in effect, e.g., if someone has set an opacity within the
2516 It's worth noting that I'm not even sure *why* this patch works,
2517 but it does, even with nested opacity layers.
2521 * WebCoreSupport.subproj/WebImageRenderer.m:
2522 (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
2526 2003-07-10 Richard Williamson <rjw@apple.com>
2528 Fixed 3298153. Force use of printer font when printing.
2532 * WebCoreSupport.subproj/WebTextRenderer.m:
2535 2003-07-10 Chris Blumenberg <cblu@apple.com>
2537 Fixed: <rdar://problem/3161102>: Avoid retain cycles by destroying plug-ins in the page cache before dealloc
2538 Fixed: <rdar://problem/3320624>: WebElementImageAltStringKey is not exported :-(
2539 Unspoof freebsd since we now handle gzip'd content.
2543 * History.subproj/WebHistoryItem.m:
2544 (+[WebHistoryItem _destroyAllPluginsInPendingPageCaches]): new, destroys all plug-ins
2545 (+[WebHistoryItem _releaseAllPendingPageCaches]): call _destroyAllPluginsInPendingPageCaches
2546 * WebKit.exp: export WebElementImageAltStringKey
2547 * WebView.subproj/WebUserAgentSpoofTable.c: unspoof freebsd
2549 (_web_findSpoofTableEntry):
2550 * WebView.subproj/WebUserAgentSpoofTable.gperf: unspoof freebsd
2552 2003-07-10 John Sullivan <sullivan@apple.com>
2556 * WebCoreSupport.subproj/WebImageRenderer.m:
2557 (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
2558 fixed copy/paste error in comment that I stumbled across
2560 2003-07-09 Richard Williamson <rjw@apple.com>
2562 Fixed 3141257. Animate multiple copies of the same
2563 image on the same page.
2567 * WebCoreSupport.subproj/WebImageRenderer.h:
2568 * WebCoreSupport.subproj/WebImageRenderer.m:
2569 (+[WebImageRenderer stopAnimationsInView:]):
2570 (-[WebImageRenderer retainOrCopyIfNeeded]):
2571 (-[WebImageRenderer copyWithZone:]):
2572 (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
2573 (-[WebImageRenderer dealloc]):
2574 (-[WebImageRenderer repetitionCount]):
2575 (-[WebImageRenderer scheduleFrame]):
2576 (-[WebImageRenderer beginAnimationInRect:fromRect:]):
2577 * WebCoreSupport.subproj/WebImageRendererFactory.h:
2578 * WebCoreSupport.subproj/WebImageRendererFactory.m:
2579 (-[WebImageRendererFactory imageRendererWithMIMEType:]):
2580 (-[WebImageRendererFactory imageRendererWithData:MIMEType:]):
2581 (-[WebImageRendererFactory imageRendererWithBytes:length:MIMEType:]):
2583 2003-07-09 Chris Blumenberg <cblu@apple.com>
2585 Fixed: <rdar://problem/3229364>: user stylesheet path should be stored relative to home directory
2589 * Misc.subproj/WebKitNSStringExtras.h:
2590 * Misc.subproj/WebKitNSStringExtras.m:
2591 (-[NSString _web_stringByAbbreviatingWithTildeInPath]): new, handles home directories that have symlinks in path
2592 * WebView.subproj/WebPreferences.m:
2593 (-[WebPreferences userStyleSheetLocation]): converts path string or URL string to URL
2594 (-[WebPreferences setUserStyleSheetLocation:]): converts URL to path string or URL string
2596 2003-07-08 Darin Adler <darin@apple.com>
2600 - fixed 3125264 -- nuke NSImage workaround when we drop Jaguar support
2602 * Misc.subproj/WebNSImageExtras.m: Removed the workaround.
2604 - removed other Jaguar-specific code
2606 * WebCoreSupport.subproj/WebImageRenderer.m: Remove workaround for improper
2607 handling of GIF animation loops with no loop counting, bug 3090341.
2609 * WebView.subproj/WebHTMLViewPrivate.m: Remove workaround for problem extracting
2610 scroll wheel events without also getting all others, which caused jumping around
2611 if you used the scroll wheel while moving the mouse, bug 3245425.
2613 * Misc.subproj/WebKitErrorsPrivate.h: Remove Jaguar-only import of <NSError.h>.
2614 * Plugins.subproj/WebNetscapePluginPackage.m: Remove Jaguar-only side of #if.
2615 * Plugins.subproj/WebNetscapePluginRepresentation.m: Remove Jaguar-only import
2617 * WebKit/Plugins.subproj/WebPluginPackage.m: Remove unnecessary import of <NSError.h>.
2618 * Plugins.subproj/WebPluginPackage.m: Remove Jaguar-only side of #if.
2619 * WebCoreSupport.subproj/WebSubresourceClient.m: Remove Jaguar-only import
2621 * WebView.subproj/WebDefaultFrameLoadDelegate.m: Remove Jaguar-only import
2623 * WebView.subproj/WebImageRepresentation.m: Remove Jaguar-only import
2626 * WebKit/English.lproj/StringsNotToBeLocalized.txt: Updated for this and other recent changes.
2628 2003-07-08 Chris Blumenberg <cblu@apple.com>
2630 Fixed: <rdar://problem/3134494>: no progressive loading for standalone images
2631 Fixed: <rdar://problem/3280633>: exception raised (attempt to create array with nil element) when dragging image out of HTML
2635 * Misc.subproj/WebNSViewExtras.h:
2636 * Misc.subproj/WebNSViewExtras.m:
2637 (-[NSView _web_dragPromisedImage:rect:URL:title:event:]): don't take a file type since this can now be gotten from the image
2638 * WebCoreSupport.subproj/WebImageRenderer.h:
2639 * WebCoreSupport.subproj/WebImageRenderer.m:
2640 (-[WebImageRenderer _adjustSizeToPixelDimensions]): new method that rjw factored from incrementalLoadWithBytes:::
2641 (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): call _adjustSizeToPixelDimensions so we have the correct image size as the image loads
2642 (-[WebImageRenderer MIMEType]): new accessor
2643 * WebView.subproj/WebHTMLViewPrivate.m:
2644 (-[WebHTMLView _handleMouseDragged:]): use renamed _web_dragPromisedImage
2645 * WebView.subproj/WebImageRepresentation.h:
2646 * WebView.subproj/WebImageRepresentation.m:
2647 (-[WebImageRepresentation doneLoading]): new
2648 (-[WebImageRepresentation setDataSource:]): create the image here
2649 (-[WebImageRepresentation receivedData:withDataSource:]): pass data to image
2650 (-[WebImageRepresentation receivedError:withDataSource:]): complete image loading
2651 (-[WebImageRepresentation finishedLoadingWithDataSource:]): complete image loading
2652 * WebView.subproj/WebImageView.h:
2653 * WebView.subproj/WebImageView.m:
2654 (-[WebImageView initWithFrame:]): call setAutoresizingMask so setFrameSize is called often enough
2655 (-[WebImageView dealloc]): tweak
2656 (-[WebImageView haveCompleteImage]): new
2657 (-[WebImageView drawingRect]): new
2658 (-[WebImageView drawRect:]): fill white then draw the image so we never show the previous page
2659 (-[WebImageView setFrameSizeUsingImage]): new, ensures that the view always fills the content area (so we draw over the previous page) and that the view is at least as large as the image.
2660 (-[WebImageView setFrameSize:]): call setFrameSizeUsingImage
2661 (-[WebImageView layout]): call setFrameSizeUsingImage
2662 (-[WebImageView setDataSource:]): store the rep
2663 (-[WebImageView dataSourceUpdated:]): call setNeedsLayout and setNeedsDisplay
2664 (-[WebImageView viewDidMoveToWindow]): tweak
2665 (-[WebImageView validateUserInterfaceItem:]): only allow copy if haveCompleteImage
2666 (-[WebImageView writeImageToPasteboard:]): only writeImageToPasteboard if haveCompleteImage
2667 (-[WebImageView writeSelectionToPasteboard:types:]): tweak
2668 (-[WebImageView menuForEvent:]): tweak
2669 (-[WebImageView mouseDragged:]): only allow drag if haveCompleteImage
2670 (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]): tweak
2672 2003-07-08 Dave Hyatt <hyatt@apple.com>
2674 Change minimum font size pref value back to 9. This change
2675 has been made in conjunction with associated WebCore changes
2676 that allow us to institute a minimum font size safely without
2677 the need for a visible GUI pref.
2681 * WebView.subproj/WebPreferences.m:
2682 (+[WebPreferences initialize]):
2684 2003-07-07 Maciej Stachowiak <mjs@apple.com>
2688 - fixed 3295916 - b/c JavaScriptCore and WebCore are installing in wrong location, private headers are public
2690 * WebKit.pbproj/project.pbxproj: Make a link from Frameworks to Versions/A/Frameworks.
2694 2003-07-07 Darin Adler <darin@apple.com>
2698 - fix compile error from B&I Panther build; really, this time
2700 * WebCoreSupport.subproj/WebTextRenderer.m:
2701 (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]): Use unsigned, not int.
2702 (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): Ditto.
2704 2003-07-06 Darin Adler <darin@apple.com>
2706 - fix compile error from B&I Panther build
2708 * WebCoreSupport.subproj/WebTextRenderer.m:
2709 (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]): Rearrange code so that we won't get
2710 a warning if numGlyphs type is either signed or unsigned. We don't want to depend on the new ATS
2711 headers or the old ones; this is compatible with both.
2712 (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): Ditto.
2714 2003-07-03 Darin Adler <darin@apple.com>
2716 * WebCoreSupport.subproj/WebImageRenderer.m: Remove obsolete comment.
2718 2003-07-03 Chris Blumenberg <cblu@apple.com>
2720 Fixed: <rdar://problem/3206011>: Don't accepts drags when showing dialogs or sheets
2724 * Misc.subproj/WebNSViewExtras.m:
2725 (-[NSView _web_dragOperationForDraggingInfo:]):
2727 2003-07-03 Chris Blumenberg <cblu@apple.com>
2729 Fixed: <rdar://problem/3291566>: Aborting standalone image load makes image directory page unusable
2733 * WebKit.pbproj/project.pbxproj: Xcode-ified WebKit.pbproj
2734 * WebView.subproj/WebImageView.h:
2735 * WebView.subproj/WebImageView.m:
2736 (-[WebImageView drawRect:]): layout if we need to, fill with white if we don't have an image yet
2737 (-[WebImageView setNeedsLayout:]): set the bit
2738 (-[WebImageView layout]): if we don't have an image, the frame size is the visible area so we draw white over the previous web page
2740 2003-07-02 Maciej Stachowiak <mjs@apple.com>
2744 - fixed 3304992 - REGRESSION: Every GET on an authenticated site requires a login (genentech)
2746 I fixed this by adding a per-window queue of waiting
2747 authentication requests. Before going to a later item in the
2748 queue, the auth handler checks if there's already a credential
2749 available to handle it, and if so uses that as the answer instead of
2752 * Panels.subproj/WebPanelAuthenticationHandler.h:
2753 * Panels.subproj/WebPanelAuthenticationHandler.m:
2754 (-[NSMutableDictionary _web_setObject:forUncopiedKey:]):
2755 (-[WebPanelAuthenticationHandler init]):
2756 (-[WebPanelAuthenticationHandler dealloc]):
2757 (-[WebPanelAuthenticationHandler enqueueChallenge:forWindow:]):
2758 (-[WebPanelAuthenticationHandler tryNextChallengeForWindow:]):
2759 (-[WebPanelAuthenticationHandler startAuthentication:window:]):
2760 (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]):
2762 2003-06-30 John Sullivan <sullivan@apple.com>
2764 - fixed 3310716 -- Authentication dialog could be tweaked to
2765 better match guidelines
2769 * Panels.subproj/English.lproj/WebAuthenticationPanel.nib:
2770 left-aligned "Name:" and "Password:" labels; slightly tweaked
2771 layout at right edge of sheet
2773 2003-06-26 Chris Blumenberg <cblu@apple.com>
2775 Changes to make WebKit compile with gcc 3.3.
2779 * Carbon.subproj/HIWebView.m:
2780 * WebCoreSupport.subproj/WebBridge.m:
2781 (-[WebBridge setScrollbarsVisible:]):
2782 (-[WebBridge loadURL:referrer:reload:target:triggeringEvent:form:formValues:]):
2783 (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
2784 * WebView.subproj/WebFramePrivate.h:
2785 * WebView.subproj/WebFramePrivate.m:
2786 (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
2787 (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
2788 * WebView.subproj/WebPreferences.m:
2789 (-[WebPreferences setDefaultFontSize:]):
2790 (-[WebPreferences setDefaultFixedFontSize:]):
2791 (-[WebPreferences setMinimumFontSize:]):
2792 * WebView.subproj/WebView.m:
2793 (-[WebView searchFor:direction:caseSensitive:wrap:]):
2795 2003-06-24 Chris Blumenberg <cblu@apple.com>
2797 Renamed the context menu item Download Image To Disk" to "Download Image to Disk".
2801 * English.lproj/Localizable.strings:
2802 * WebView.subproj/WebDefaultContextMenuDelegate.m:
2803 (-[WebDefaultUIDelegate menuItemWithTag:]):
2805 2003-06-19 Chris Blumenberg <cblu@apple.com>
2807 Fixed: <rdar://problem/3294803>: HTTP error sent as content instead of error to plug-ins
2812 * Plugins.subproj/WebNetscapePluginStream.m:
2813 (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): if the response is an error, cancel the load, return a network error
2817 2003-06-15 Vicki Murley <vicki@apple.com>
2821 * WebKit.pbproj/project.pbxproj: remove SECTORDER_FLAGS variable, so that we don't use order file for our Panther submission
2825 2003-06-13 Darin Adler <darin@apple.com>
2827 Reviewed by Darin (Richard wrote the first cut), then Don and Dave.
2829 - fixed 3291467 -- CARBON: context menus are broken when using WebKit from Carbon
2831 * Carbon.subproj/HIWebView.m: (ContextMenuClick): Rewrite method to create a fake
2832 right mouse up event, and pass that to menuForEvent: and _popUpMenuWithEvent.
2834 2003-06-13 Darin Adler <darin@apple.com>
2838 - fixed 3291778 -- REGRESSION (51-52): QT controller never shows up for mp3 in frame
2840 * Plugins.subproj/WebBaseNetscapePluginView.m:
2841 (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
2842 Handle the "invisible" plug-in cases in a more complete way.
2843 Detect the various ways of being invisible (big negative X value, 0 size,
2844 not really in a window) and in all those cases, use a clip rect to guarantee
2845 we won't be seen, and make sure the size passed to the plug-in is *not* 0.
2847 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
2849 2003-06-13 David Hyatt <hyatt@apple.com>
2851 Fix for 3291319, scrolling is much worse since 79. The problem
2852 was a fix for resize events that needed to use the scrollview size
2853 and not the document view size inside the scrollview.
2857 * WebView.subproj/WebHTMLView.m:
2858 (-[WebHTMLView layoutToPageWidth:]):
2859 * WebView.subproj/WebHTMLViewPrivate.h:
2861 2003-06-13 Chris Blumenberg <cblu@apple.com>
2863 Fixed previous " Reviewed by" string.
2867 2003-06-13 Chris Blumenberg <cblu@apple.com>
2869 Fixed: <rdar://problem/3291502>: REGRESSION (80-81): freebsd.org is giving us gzipped content (because we stopped spoofing)
2873 * WebView.subproj/WebUserAgentSpoofTable.c:
2875 (_web_findSpoofTableEntry):
2876 * WebView.subproj/WebUserAgentSpoofTable.gperf:
2878 2003-06-12 Richard Williamson <rjw@apple.com>
2880 Restoring fix for 3221078 that I earlier backed out in a
2881 panic about performance. In careful performance testing
2882 I now see no performance regression, and maybe a tiny improvement.
2883 The earlier performance regression Vicki saw was entirely
2884 due to the incorrect checkin for the fix to 3288532.
2886 Reviewed by Chris & Gramps.
2888 * WebCoreSupport.subproj/WebTextRenderer.h:
2889 * WebCoreSupport.subproj/WebTextRenderer.m:
2891 2003-06-12 Richard Williamson <rjw@apple.com>
2893 Correct fix for 3288532 again. This time will feeling!
2897 * History.subproj/WebBackForwardList.m:
2898 (-[WebBackForwardList setCapacity:]):
2900 2003-06-12 Don Melton <gramps@apple.com>
2902 Since Richard didn't actually correct the fix for 3288532 in
2903 WebBackForwardList.m, I've backed out out his original fix entirely.
2905 * History.subproj/WebBackForwardList.m:
2906 (-[WebBackForwardList setCapacity:]):
2908 2003-06-12 Richard Williamson <rjw@apple.com>
2910 Correct fix for 3288532.
2912 * History.subproj/WebBackForwardList.m:
2914 2003-06-12 Richard Williamson <rjw@apple.com>
2916 Fixed 3288532. When setCapacity: shrinks capacity, trim
2917 the back/forward list. Setting to zero will effectively
2922 * History.subproj/WebBackForwardList.m:
2924 2003-06-12 Richard Williamson <rjw@apple.com>
2926 Fixed 3221078. Maintain a seperate width map
2927 for substitute fonts to avoid collision of glyph
2930 Reviewed by Chris & Gramps.
2932 * WebCoreSupport.subproj/WebTextRenderer.h:
2933 * WebCoreSupport.subproj/WebTextRenderer.m:
2937 2003-06-12 Darin Adler <darin@apple.com>
2939 Fixed by Richard, reviewed by me.
2941 - fixed 3289047 -- REGRESSION: can't go back after using form at attwireless.com
2943 * WebCoreSupport.subproj/WebBridge.m:
2944 (-[WebBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
2945 Added isJavaScriptFormAction parameter, passed on to frame.
2947 * WebView.subproj/WebFramePrivate.h: Added isJavaScriptFormAction parameter.
2948 * WebView.subproj/WebFramePrivate.m:
2949 (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
2950 If isJavaScriptFormAction is YES, then don't treat this is a "quick redirect" which is
2951 merged with the previous page for purposes of back/forward.
2953 2003-06-11 Chris Blumenberg <cblu@apple.com>
2955 Fixed: <rdar://problem/3289577>: Reenable Carbon Java plug-ins when in Carbon app
2959 * Plugins.subproj/WebPluginDatabase.m:
2960 (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): only call canUsePlugin: for web plug-ins
2962 2003-06-11 Chris Blumenberg <cblu@apple.com>
2964 Fixed: <rdar://problem/3289380>: REGRESSION: policyDataSource == nil assertion failure after closing particular window
2969 * WebView.subproj/WebFramePrivate.m:
2970 (-[WebFrame _continueAfterNavigationPolicy:]): don't clear policyDataSource here because this method may not be called during navigation
2971 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): clear policyDataSource here
2973 2003-06-11 Chris Blumenberg <cblu@apple.com>
2975 Fixed: <rdar://problem/3288097>: REGRESSION: assertion failure after hitting back while loading page after fragment scroll
2977 Fixed by darin, reviewed by me.
2979 * WebView.subproj/WebFramePrivate.m:
2980 (-[WebFrame _URLsMatchItem:]): ignore the URL fragment so we scroll back at the current page instead of attempt to load the current page
2982 2003-06-11 Darin Adler <darin@apple.com>
2986 - fixed 3285808 -- repro world leak when replacing div that contains iframe (at www.kbs.co.kr)
2988 * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge frameDetached]):
2989 Add a call to _detachFromParent.
2990 * WebView.subproj/WebFramePrivate.m: (-[WebFrame _removeChild:]):
2991 Nil out the parent pointer in the removed child.
2993 2003-06-10 Chris Blumenberg <cblu@apple.com>
2995 Fixed: <rdar://problem/3288076>: REGRESSION: Fragment scroll stops page load
2997 We do policy navigation checks for the regular load case, fragment scroll and redirects.
2998 We only want to stop the load, change the provisional data source etc in the regular load case.
3002 * WebView.subproj/WebFramePrivate.m: got rid of _prepareForProvisionalLoadWithDataSource:: since the work done in this method only needs to be done in _continueLoadRequestAfterNavigationPolicy:: (which covers the regular load case).
3003 (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): don't clear policyDataSource because it needs to be called in _continueLoadRequestAfterNavigationPolicy::
3004 (-[WebFrame _setPolicyDataSource:]): new
3005 (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]): don't call _prepareForProvisionalLoadWithDataSource::, don't muck with policyDataSource because it is only needed in the regular load case
3006 (-[WebFrame _continueAfterNavigationPolicy:]): don't call _prepareForProvisionalLoadWithDataSource::, call _setPolicyDataSource:nil after _continueLoadRequestAfterNavigationPolicy:: has used policyDataSource
3007 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): this method covers the regular load case. This is where we need to stop the load, set the load type and the provisional data source. Code was in _prepareForProvisionalLoadWithData
3010 (-[WebFrame _loadDataSource:withLoadType:formState:]): set the policyLoadType and policyDataSource (the beginning of the regular load case)
3012 2003-06-10 Richard Williamson <rjw@apple.com>
3014 Back out incorrect fix to 3287862.
3016 2003-06-10 Chris Blumenberg <cblu@apple.com>
3018 Fixed: <rdar://problem/3156169>: cmd-click opens new win but stops loading in prev win
3022 * WebView.subproj/WebFrame.m:
3023 (-[WebFrame stopLoading]): set the provisional data source to nil to avoid a newly added assert in [WebFramePrivate setProvisionalDataSource:]
3024 and since it is wasteful to retain it in this case
3025 * WebView.subproj/WebFramePrivate.h: added policyDataSource and policyLoadType ivars
3026 * WebView.subproj/WebFramePrivate.m:
3027 (-[WebFramePrivate dealloc]): added an assert
3028 (-[WebFramePrivate setProvisionalDataSource:]): added an assert
3029 (-[WebFrame _isLoadComplete]): formatting tweak
3030 (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): reset policyDataSource
3031 (-[WebFrame _checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]): formatting tweak
3032 (-[WebFrame _prepareForProvisionalLoadWithDataSource:loadType:]): new, calls stopLoading, _setLoadType and _setProvisionalDataSource
3033 (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]): call _prepareForProvisionalLoadWithDataSource:loadType: only in the "use" policy case
3034 (-[WebFrame _continueAfterNavigationPolicy:]): call _setProvisionalDataSource:andLoadType:
3035 (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): formatting tweak
3036 (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): formatting tweak
3037 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): if there is no request to continue with, don't reset things like the provisional data source since it was never unset in this case
3038 (-[WebFrame _loadDataSource:withLoadType:formState:]): don't call stopLoading, _setLoadType and _setProvisionalDataSource, since that stops the frame even for command-click and option-click. Do this work in _prepareForProvisionalLoadWithDataSource
3042 2003-06-10 Richard Williamson <rjw@apple.com>
3044 Fixed 3287862. Don't override resize flags
3045 when decoding WebView.
3049 * WebView.subproj/WebView.m:
3050 (-[WebView _commonInitializationFrameName:groupName:]):
3052 2003-06-10 Chris Blumenberg <cblu@apple.com>
3054 Fixed: <rdar://problem/3286006>: Carbon Java plug-in problems may require workaround in WebKit
3058 * Plugins.subproj/WebPluginDatabase.m:
3059 (-[WebPluginDatabase canUsePlugin:]): if in a carbon app, only use the mach-o java plug-in when its version is anything but 1.0.0
3060 (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): call canUsePlugin on all the plug-ins
3063 2003-06-10 Vicki Murley <vicki@apple.com>
3067 * WebKit.order: new order file for 1.0
3069 2003-06-09 Chris Blumenberg <cblu@apple.com>
3071 * WebView.subproj/WebDataSource.h: Removed FIXME related to pageTitle.
3073 2003-06-09 Chris Blumenberg <cblu@apple.com>
3075 <rdar://problem/3283359>: don't load Cocoa Java plug-in if in Carbon app
3080 * Plugins.subproj/WebPluginDatabase.h: removed pluginForFilename, wasn't being used
3081 * Plugins.subproj/WebPluginDatabase.m:
3082 (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): don't use the plug-in if ![self isCocoa] && [[[webPlugin bundle] bundleIdentifier] isEqualToString:JavaCocoaPluginIdentifier]
3084 2003-06-09 Chris Blumenberg <cblu@apple.com>
3086 Fixed: <rdar://problem/3284848>: REGRESSION: repro crash in Flash handling null event, going back to Japanese Disney page
3088 When restarting plug-ins from the BF cache, we were not calling NPP_SetWindow.
3092 * Plugins.subproj/WebBaseNetscapePluginView.m:
3093 (-[WebBaseNetscapePluginView stop]): set the window type to 0 to force the calling of NPP_SetWindow
3097 2003-06-07 Darin Adler <darin@apple.com>
3099 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
3101 2003-06-07 Darin Adler <darin@apple.com>
3103 Rolled out Chris's fix for 3156169 because it was causing a lot of crashes
3104 and problems with basic behavior. We can try again later.
3106 One of the problems was that Back wasn't working. Another was that you could
3107 not follow the link at the top of the page at kbb.com. More testing seemed to
3108 reveal still more problems.
3110 * WebView.subproj/WebFramePrivate.h: Rolled back to previous version.
3111 * WebView.subproj/WebFramePrivate.m: Ditto.
3113 2003-06-06 Richard Williamson <rjw@apple.com>
3115 Fixed 3283236. Remove use of forward declarations in public header because
3116 CodeWarrior pukes on 'em.
3120 * WebView.subproj/WebDataSource.h:
3122 2003-06-06 Chris Blumenberg <cblu@apple.com>
3124 Fixed: <rdar://problem/3156169>: cmd-click opens new win but stops loading in prev win
3128 * WebView.subproj/WebFramePrivate.h: added policyDataSource and policyLoadType as ivars
3129 * WebView.subproj/WebFramePrivate.m:
3130 (-[WebFramePrivate dealloc]): added ASSERT
3131 (-[WebFramePrivate setProvisionalDataSource:]): added ASSERT
3132 (-[WebFrame _isLoadComplete]): formatting tweak
3133 (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): clear policyDataSource
3134 (-[WebFrame _checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]): formatting tweak
3135 (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]): retain policyDataSource
3136 (-[WebFrame _continueAfterNavigationPolicy:]): stop the load, set the load type, set the provisional data source in the "use" case
3137 (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): formatting tweak
3138 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): don't reset things if something other than "use" has been chosen
3139 (-[WebFrame _loadDataSource:withLoadType:formState:]): DON'T stop the load, set the load type, set the provisional data source
3141 2003-06-06 Chris Blumenberg <cblu@apple.com>
3143 Fixed: <rdar://problem/3282881>: Java plugin fails in carbon WebKit apps
3146 Fixed by Mike Hay, reviewed by me.
3148 * Plugins.subproj/WebPluginDatabase.m:
3149 (-[WebPluginDatabase initIsCocoa]):
3150 (-[WebPluginDatabase isCocoa]):
3151 (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): don't load cocoa plug-ins if isCocoa.
3154 2003-06-05 John Sullivan <sullivan@apple.com>
3156 - fixed 3266216 -- repro crash in
3157 -[WebBaseResourceHandleDelegate connection:didReceiveData:]
3160 The problem was that an NSURLConnection delegate object (in this
3161 case a WebMainResourceClient) was being dealloc'ed during one of
3162 its connection delegate methods. To prevent this kind of problem,
3163 I added [self retain]/[self release] guards around the meat of
3164 all of the connection delegate methods in which arbitrary code
3165 could be run. Another approach would be to do this retain/release
3166 pair in NSURLConnection, but Darin deemed it wiser not to muck with
3167 Foundation at this point for this issue.
3171 * Plugins.subproj/WebNetscapePluginStream.m:
3172 (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]):
3173 guard with [self retain]/[self release]
3174 (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:]):
3176 (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]):
3179 * WebCoreSupport.subproj/WebSubresourceClient.m:
3180 (-[WebSubresourceClient connection:didReceiveResponse:]):
3182 (-[WebSubresourceClient connection:didReceiveData:]):
3185 * WebView.subproj/WebBaseResourceHandleDelegate.m:
3186 (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]):
3188 (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]):
3190 (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]):
3192 (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
3194 (-[WebBaseResourceHandleDelegate connection:didReceiveData:]):
3195 ditto. Also, commented out two assertions that fire illegitimately in the steps in
3197 (-[WebBaseResourceHandleDelegate connection:didFailWithError:]):
3200 * WebView.subproj/WebMainResourceClient.m:
3201 (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
3203 (-[WebMainResourceClient connection:didReceiveResponse:]):
3205 (-[WebMainResourceClient connection:didReceiveData:]):
3208 2003-06-04 Richard Williamson <rjw@apple.com>
3210 Fixed 3277775. Send less notifications. Notifcations suck!
3214 * WebView.subproj/WebViewPrivate.h:
3215 * WebView.subproj/WebViewPrivate.m:
3216 (-[WebViewPrivate init]):
3217 (-[WebView _progressStarted]):
3218 (-[WebView _progressCompleted]):
3219 (-[WebView _incrementProgressForConnection:data:]):
3221 2003-06-04 Darin Adler <darin@apple.com>
3225 - fixed 3277675 -- REGRESSION: mouse wheel events not coalesced
3227 * WebView.subproj/WebHTMLViewPrivate.m: (-[WebNSWindow nextEventMatchingMask:untilDate:inMode:dequeue:]):
3228 When the mask is scroll wheel mask, instead of getting no events, do some tricks to get the next
3229 event if it is a scroll wheel event, and nothing otherwise. Also ifdef the fix so we don't compile
3230 it on Panther, since the underlying bug was fixed on Panther.
3234 * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer copyWithZone:]):
3235 Remove unneeded line of code. The super function copies all simple fields for us.
3237 * Plugins.subproj/WebBaseNetscapePluginView.m:
3238 (-[WebBaseNetscapePluginView setMIMEType:]): Use copy instead of retain, do it in the right order
3239 to avoid "same object release/retain" disease.
3240 (-[WebBaseNetscapePluginView setBaseURL:]): Do retain before release (same reason as above).
3242 2003-06-03 Chris Blumenberg <cblu@apple.com>
3244 Fixed: 3278496 - <rdar://problem/3278496>: NSURLDownload: initWithSource and source should be renamed to initWithRequest and request
3248 * Misc.subproj/WebDownload.m:
3249 (-[WebDownload initWithRequest:delegate:]):
3250 (-[WebDownload _initWithRequest:delegate:directory:]):
3251 * WebView.subproj/WebImageView.m:
3252 (-[WebImageView setNeedsDisplay:]):
3253 * WebView.subproj/WebViewPrivate.m:
3254 (-[WebView _downloadURL:toDirectory:]):
3256 2003-06-03 Richard Williamson <rjw@apple.com>
3258 Fixed 3263188, 3274636.
3260 Written by Ed Voas. Reviewed by Richard.
3262 * Carbon.subproj/CarbonUtils.m:
3264 Ensure the process info is correctly initialized so the correct
3265 "flavour" (carbon) is detected.
3267 * Carbon.subproj/HIWebView.m:
3269 Always draw the growbox after drawing the web view,
3274 2003-06-03 Chris Blumenberg <cblu@apple.com>
3276 Fixed: <rdar://problem/3167792>: hang in _web_dragPromisedImage dragging 4 MB image
3280 * Misc.subproj/WebNSViewExtras.m:
3281 (-[NSView _web_dragPromisedImage:rect:URL:fileType:title:event:]): if the original image is greater than 1500x1500, use a file icon for the drag image to avoid hanging
3283 2003-06-02 Richard Williamson <rjw@apple.com>
3289 * WebView.subproj/WebDataSourcePrivate.m:
3290 (-[WebDataSource _startLoading:]):
3291 Check respondsToSelector: before calling.
3293 * WebView.subproj/WebResourceLoadDelegate.h:
3294 * WebView.subproj/WebUIDelegate.h:
3299 2003-06-02 Chris Blumenberg <cblu@apple.com>
3301 Fixed: <rdar://problem/3154910>: No video when viewing QT plug-in content at some pages but audio works
3303 This fix works around QT plug-in bug 3275755, but I think the fix is logical and worth keeping even after 3275755 is fixed.
3307 The problem happens when you call NPP_SetWindow with a 0 width or height more than once. The first call to NPP_SetWindow always seems to have width and height set to 0, but the next call sometimes has it set to the correct values (those in the EMBED tag)
3309 . This is when it draws successfully. It seems to me that the fix is to always pass the correct width and height to NPP_SetWindow. You always position the plug-in far offscreen (1000000, -52) and set the clip region to an empty rect (48576, 52, 48576, 52)
3311 so there isn't really any danger of the plug-in drawing anyway. Additionally, you pass the correct width and height in the call to NPP_New before the first call to NPP_SetWindow.
3313 Reviewed by john, darin.
3315 * Plugins.subproj/WebBaseNetscapePluginView.h:
3316 * Plugins.subproj/WebBaseNetscapePluginView.m:
3317 (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): use the NSView width and height if greater than 0, else use the tag specified width and height
3318 (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]): new
3319 (-[WebBaseNetscapePluginView setWindow]): NPP_SetWindow may be expensive, only call it if it has changed
3320 * Plugins.subproj/WebNetscapePluginPackage.m:
3321 (-[WebNetscapePluginPackage launchRealPlayer]): tweak, no need to store error code since it is ignored
3323 2003-05-30 Richard Williamson <rjw@apple.com>
3325 Fixed 3272516. Items are now expired from the
3326 b/f cache if they are older than 30 minutes. This
3327 number was pulled out of our #!$es. Also did
3328 some cleanup of the b/f cache code.
3332 * WebCoreSupport.subproj/WebBridge.m:
3333 (-[WebBridge saveDocumentToPageCache:]):
3334 * WebView.subproj/WebFramePrivate.h:
3335 * WebView.subproj/WebFramePrivate.m:
3336 (-[WebFrame _transitionToCommitted:]):
3337 (-[WebFrame _createPageCacheForItem:]):
3338 (-[WebFrame _setState:]):
3339 (-[WebFrame _loadItem:withLoadType:]):
3340 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
3341 * WebView.subproj/WebPreferences.m:
3342 (+[WebPreferences initialize]):
3343 (-[WebPreferences _resourceTimedLayoutEnabled]):
3344 (-[WebPreferences _backForwardCacheExpirationInterval]):
3345 * WebView.subproj/WebPreferencesPrivate.h:
3346 * WebView.subproj/WebView.h:
3348 * WebView.subproj/WebPreferences.h: Cleaned up some headerdoc
3351 2003-05-29 Richard Williamson <rjw@apple.com>
3353 Implemented 'estimatedProgress' method on WebView. This should
3354 eventually replace the broken algorithm on WebBrowser. Maybe
3360 * WebView.subproj/WebBaseResourceHandleDelegate.m:
3361 (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
3362 (-[WebBaseResourceHandleDelegate connection:didReceiveData:]):
3363 (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]):
3364 (-[WebBaseResourceHandleDelegate connection:didFailWithError:]):
3365 (-[WebBaseResourceHandleDelegate cancelWithError:]):
3366 * WebView.subproj/WebDataSourcePrivate.m:
3367 (-[WebDataSource _startLoading:]):
3368 * WebView.subproj/WebFramePrivate.h:
3369 * WebView.subproj/WebFramePrivate.m:
3370 (-[WebFrame _isLoadComplete]):
3371 (-[WebFrame _numPendingOrLoadingRequests:]):
3372 * WebView.subproj/WebView.h:
3373 * WebView.subproj/WebView.m:
3374 (-[WebView estimatedProgress]):
3375 * WebView.subproj/WebViewPrivate.h:
3376 * WebView.subproj/WebViewPrivate.m:
3377 (-[WebViewPrivate dealloc]):
3378 (-[WebView _isPerformingProgrammaticFocus]):
3379 (-[WebView _progressStarted]):
3380 (-[WebView _progressCompleted]):
3381 (-[WebView _incrementProgressForConnection:data:]):
3382 (-[WebView _completeProgressForConnection:]):
3384 Code cleanup. Moved variable initialization into block that
3385 check for non-nil self.
3387 * WebCoreSupport.subproj/WebImageRenderer.m:
3388 (-[WebImageRenderer initWithMIMEType:]):
3389 (-[WebImageRenderer initWithData:MIMEType:]):
3390 (-[WebImageRenderer initWithContentsOfFile:]):
3392 2003-05-29 Richard Williamson <rjw@apple.com>
3394 Fixed 3272226. The shared image factory was being released
3395 when any renderer had 0 reps!
3399 * WebCoreSupport.subproj/WebImageRendererFactory.m:
3400 (-[WebImageRendererFactory imageRendererWithMIMEType:]):
3402 2003-05-29 Chris Blumenberg <cblu@apple.com>
3404 Fixed: 3151216 - Safari crashes on Drag&Drop if plugin dialog is open
3408 * Misc.subproj/WebNSViewExtras.m:
3409 (-[NSView _web_dragOperationForDraggingInfo:]): return NSDragOperationNone is the app has a modal window so the current page can't be changed with a drag
3410 * WebView.subproj/WebView.m:
3411 (-[WebView draggingEntered:]): return _web_dragOperationForDraggingInfo
3413 2003-05-29 Chris Blumenberg <cblu@apple.com>
3415 Fixed: 3273109 - leak from functionPointerForTVector in -[WebNetscapePluginPackage load]
3417 * Plugins.subproj/WebNetscapePluginPackage.m:
3418 (-[WebNetscapePluginPackage load]): free the main function after using it
3420 2003-05-29 Richard Williamson <rjw@apple.com>
3422 Fixed 3273115. Always use pixel dimensions,
3423 not absolute dimensions.
3427 * WebCoreSupport.subproj/WebImageRenderer.m:
3428 (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
3430 2003-05-29 Richard Williamson <rjw@apple.com>
3432 Fix 3272292. Ensure that loadStatus is always
3433 initialized to NSImageRepLoadStatusUnknownType.
3437 * WebCoreSupport.subproj/WebImageRenderer.m:
3438 (-[WebImageRenderer initWithMIMEType:]):
3439 (-[WebImageRenderer initWithData:MIMEType:]):
3440 (-[WebImageRenderer initWithContentsOfFile:]):
3442 2003-05-28 Ken Kocienda <kocienda@apple.com>
3448 Radar 3260323 (Some links at nike.com cause assertion failure
3449 (connectionDidFinishLoading sent after cancel))
3451 Added a flag which is set when a load is cancelled. This flag prevents
3452 bad behvior when loads that finish cause the load itself to be
3453 cancelled (which could happen with a javascript that changes the
3454 window location). This is used to prevent both the body of
3455 cancelWithError: and the body of connectionDidFinishLoading: running
3456 for a single delegate. Cancelling wins.
3458 * WebView.subproj/WebBaseResourceHandleDelegate.h:
3459 * WebView.subproj/WebBaseResourceHandleDelegate.m:
3460 (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]):
3461 (-[WebBaseResourceHandleDelegate cancelWithError:]):
3463 2003-05-28 Chris Blumenberg <cblu@apple.com>
3465 Fixed: 3270576 - RealPlayer plug-in fails to load
3469 * Plugins.subproj/WebNetscapePluginPackage.m:
3470 (-[WebNetscapePluginPackage launchRealPlayer]): new
3471 (-[WebNetscapePluginPackage load]): call launchRealPlayer to regenerate its broken plist file
3473 2003-05-28 Richard Williamson <rjw@apple.com>
3475 Fixed 3165631 (and other similar).
3478 We now set NSImage's cache mode to NSImageCacheNever during
3479 progressive loads. It gets reset to NSImageCacheDefault when
3482 If an image is scaled, NSImage appears to create a NSCacheImageRep
3483 with the wrong size during progessive image loading. Specifically
3484 it appears to create a cached rep with the original size.
3488 * WebCoreSupport.subproj/WebImageRenderer.m:
3489 (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
3490 (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
3491 * WebCoreSupport.subproj/WebImageRendererFactory.m:
3492 (-[WebImageRendererFactory imageRendererWithMIMEType:]):
3494 * WebView.subproj/WebPreferences.h:
3495 Updated headerdoc comments.
3497 2003-05-27 Chris Blumenberg <cblu@apple.com>
3499 Fixed: 3233442 - Crash in -[WebNetscapePluginPackage load] at http://www.adultswim.com/
3503 * Plugins.subproj/WebNetscapePluginPackage.m:
3504 (-[WebNetscapePluginPackage load]): don't call NPP_Shutdown if the plug-in fails to load
3506 2003-05-27 Chris Blumenberg <cblu@apple.com>
3508 Don't load and save icons if the icon DB directory default is not set.
3512 * Misc.subproj/WebIconDatabase.m:
3513 (-[WebIconDatabase _createFileDatabase]): don't create the DB if the default is not set
3514 (-[WebIconDatabase _loadIconDictionaries]): don't load the dictionaries if the DB doesn't exist
3515 (-[WebIconDatabase _updateFileDatabase]): don't update the DB if it doesn't exist
3516 * WebView.subproj/WebDataSourcePrivate.m:
3517 (-[WebDataSource _loadIcon]): don't load icons if the icon DB directory default is not set
3519 2003-05-27 Maciej Stachowiak <mjs@apple.com>
3521 Rolled in fix from Safari-80~1-branch
3523 2003-05-27 Maciej Stachowiak <mjs@apple.com>
3527 * WebKit.pbproj/project.pbxproj: Removed no longer needed and harmful flag.
3529 2003-05-27 Richard Williamson <rjw@apple.com>
3533 Reviewed by Eric Seymour.
3535 * WebView.subproj/WebPreferences.m:
3536 (-[WebPreferences initWithIdentifier:]):
3537 Added retain to uniqued instance. (As we did recently
3538 for initWithCoder:).
3540 2003-05-27 Chris Blumenberg <cblu@apple.com>
3542 Fixed: 3270013 - Exception raised when visiting http://www.shutterfly.com/favicon.ico
3546 * WebCoreSupport.subproj/WebImageRendererFactory.m:
3547 (-[WebImageRendererFactory imageRendererWithBytes:length:MIMEType:]): return nil if the image has no representations
3549 2003-05-27 Chris Blumenberg <cblu@apple.com>
3551 Fixed: 3242864 - repro assertion failure in WebIconDatabase.m for www.shutterfly.com