12006-02-09 Tim Omernick <timo@apple.com> 2 3 Reviewed by Darin Adler. 4 5 <rdar://problem/4198378> Crash on a CFRelease when visiting http://www.akella.com/ 6 7 * Plugins/WebBaseNetscapePluginView.m: 8 (-[WebBaseNetscapePluginView requestWithURLCString:]): 9 The true source of this crash is that the URL string is sometimes not NULL-terminated, which is the 10 Real Player plugin's fault. That has been filed as 4439591. 11 However, we can be more bulletproof here by switching the URL string encoding from Windows Latin 1 12 to ISO Latin 1, so that any NULL-terminated string can be represented. (As Darin and I found out 13 last night, Windows Latin 1 has "holes" in certain character ranges and thus cannot encode arbitrary 14 C strings). 15 162006-02-09 Maciej Stachowiak <mjs@apple.com> 17 18 Rubber stamped by Anders. 19 20 - Moved all the default delegate classes to their own directory. 21 22 * DefaultDelegates: Added. 23 * DefaultDelegates/WebDefaultContextMenuDelegate.h: Added. 24 * DefaultDelegates/WebDefaultContextMenuDelegate.m: Added. 25 * DefaultDelegates/WebDefaultEditingDelegate.h: Added. 26 * DefaultDelegates/WebDefaultEditingDelegate.m: Added. 27 * DefaultDelegates/WebDefaultFrameLoadDelegate.h: Added. 28 * DefaultDelegates/WebDefaultFrameLoadDelegate.m: Added. 29 * DefaultDelegates/WebDefaultPolicyDelegate.h: Added. 30 * DefaultDelegates/WebDefaultPolicyDelegate.m: Added. 31 * DefaultDelegates/WebDefaultResourceLoadDelegate.h: Added. 32 * DefaultDelegates/WebDefaultResourceLoadDelegate.m: Added. 33 * DefaultDelegates/WebDefaultScriptDebugDelegate.h: Added. 34 * DefaultDelegates/WebDefaultScriptDebugDelegate.m: Added. 35 * DefaultDelegates/WebDefaultUIDelegate.h: Added. 36 * DefaultDelegates/WebDefaultUIDelegate.m: Added. 37 * WebKit.xcodeproj/project.pbxproj: 38 * WebView/WebDefaultContextMenuDelegate.h: Removed. 39 * WebView/WebDefaultContextMenuDelegate.m: Removed. 40 * WebView/WebDefaultEditingDelegate.h: Removed. 41 * WebView/WebDefaultEditingDelegate.m: Removed. 42 * WebView/WebDefaultFrameLoadDelegate.h: Removed. 43 * WebView/WebDefaultFrameLoadDelegate.m: Removed. 44 * WebView/WebDefaultPolicyDelegate.h: Removed. 45 * WebView/WebDefaultPolicyDelegate.m: Removed. 46 * WebView/WebDefaultResourceLoadDelegate.h: Removed. 47 * WebView/WebDefaultResourceLoadDelegate.m: Removed. 48 * WebView/WebDefaultScriptDebugDelegate.h: Removed. 49 * WebView/WebDefaultScriptDebugDelegate.m: Removed. 50 * WebView/WebDefaultUIDelegate.h: Removed. 51 * WebView/WebDefaultUIDelegate.m: Removed. 52 532006-02-08 Justin Garcia <justin.garcia@apple.com> 54 55 Original patch by Graham Dennis, reviewed by me: 56 57 <http://bugs.webkit.org/show_bug.cgi?id=3982> 58 webViewDidBeginEditing, webViewDidEndEditing notification methods not called on delegate 59 60 Changes made by me, reviewed by thatcher: 61 62 Made _setWindowHasFocus: and _setDisplaysWithFocusAttributes: into private SPI to allow 63 for the testing of window.onFocus, window.onBlur, caret and focus halo painting, and 64 the focusing of content editable regions that happens as side effect of setting a selection, 65 but only if the window has focus (7128). 66 67 * WebCoreSupport/WebFrameBridge.m: 68 (-[WebFrameBridge didBeginEditing]): 69 (-[WebFrameBridge didEndEditing]): 70 * WebView/WebHTMLView.m: 71 (-[WebHTMLView updateFocusState]): 72 (-[WebHTMLView _setWindowHasFocus:]): 73 (-[WebHTMLView _setDisplaysWithFocusAttributes:]): 74 * WebView/WebHTMLViewPrivate.h: 75 762006-02-08 David Kilzer <ddkilzer@kilzer.net> 77 78 Reviewed by Darin. 79 80 - Fix http://bugs.webkit.org/show_bug.cgi?id=3527 81 Allow Safari to open postscript files in browser windows as well 82 83 * WebView/WebPDFRepresentation.m: 84 (+[WebPDFRepresentation postScriptMIMETypes]): Added. 85 (+[WebPDFRepresentation supportedMIMETypes]): Include PostScript MIME types. 86 (-[WebPDFRepresentation convertPostScriptDataSourceToPDF:]): Added. 87 (-[WebPDFRepresentation finishedLoadingWithDataSource:]): 88 Handle PostScript conversion using new convertPostScriptDataSourceToPDF method. 89 902006-02-07 Alexey Proskuryakov <ap@nypop.com> 91 92 Reviewed by Timothy. 93 94 Convert JavaScript objects to appropriate AppleScript types, instead of only strings 95 http://bugs.webkit.org/show_bug.cgi?id=7012 96 97 Tests: fast/AppleScript/* 98 99 * WebView/WebView.m: 100 (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Added. 101 * WebView/WebViewPrivate.h: 102 1032006-02-06 Maciej Stachowiak <mjs@apple.com> 104 105 Reviewed by Eric. 106 107 - fixed "remove frame, renderer and completed flag from ChildFrame, make Frame track these" 108 http://bugs.webkit.org/show_bug.cgi?id=7125 109 110 - fixed "onload event never called for iframe element with emtpy or about:blank src" 111 http://bugs.webkit.org/show_bug.cgi?id=3609 112 113 * WebCoreSupport/WebFrameBridge.h: 114 * WebCoreSupport/WebFrameBridge.m: 115 (-[WebFrameBridge initWithPage:webView:renderer:frameName:view:]): Pass along renderer. 116 (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]): Pass along renderer. 117 * WebCoreSupport/WebPageBridge.m: 118 (-[WebPageBridge initWithMainFrameName:webView:frameView:]): Pass null for renderer. 119 * WebView/WebView.m: 120 * WebView/WebViewPrivate.h: 121 1222006-02-06 John Sullivan <sullivan@apple.com> 123 124 Reviewed by Maciej Stachowiak. 125 126 * WebView/WebPDFView.m: 127 (-[WebPDFView menuForEvent:]): 128 Removed use of WKExecutableLinkedInTigerOrEarlier() by modifying backward-compatibility 129 hack involving PDF view context menus. Now we only bother to make sure that the PDFKit- 130 supplied context menu items are present in Safari, for the benefit of the open source 131 folks using tip of tree WebKit but older released Safari; it's possible that some other 132 existing WebKit apps won't show all the PDF view context menu items. 133 1342006-02-06 Maciej Stachowiak <mjs@apple.com> 135 136 Remove remaining .subproj references to fix release build. 137 138 * WebKit.xcodeproj/project.pbxproj: 139 1402006-02-06 Maciej Stachowiak <mjs@apple.com> 141 142 Rubber stamped by Hyatt. 143 144 - renamed subproject directories to not end with .subproj 145 146 * Carbon: renamed from Carbon.subproj 147 * DOM: renamed from DOM.subproj 148 * History: renamed from History.subproj 149 * Misc: renamed from Misc.subproj 150 * Panels: renamed from Panels.subproj 151 * Plugins: renamed from Plugins.subproj 152 * WebCoreSupport: renamed from WebCoreSupport.subproj 153 * WebInspector: renamed from WebInspector.subproj 154 * WebView: renamed from WebView.subproj 155 1562006-02-06 Maciej Stachowiak <mjs@apple.com> 157 158 Ooops, I made a last-minute change to my last patch that broke the build - fixed. 159 160 * WebView.subproj/WebFrame.m: 161 (-[WebFrame _closeOldDataSources]): 162 (-[WebFrame _detachFromParent]): 163 (-[WebFrame _transitionToCommitted:]): 164 (-[WebFrame _checkLoadCompleteForThisFrame]): 165 (-[WebFrame _handledOnloadEvents]): 166 (-[WebFrame _loadItem:withLoadType:]): 167 (-[WebFrame _goToItem:withLoadType:]): 168 (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): 169 (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]): 170 (-[WebFrame _clientRedirectCancelled:]): 171 * WebView.subproj/WebFramePrivate.h: 172 1732006-02-05 Maciej Stachowiak <mjs@apple.com> 174 175 Reviewed by Darin. 176 177 - shuffle things around so that WebFrame no longer has a WebView backpointer, the backpointer is 178 at the bridge level. 179 http://bugs.webkit.org/show_bug.cgi?id=7093 180 181 * WebCoreSupport.subproj/WebFrameBridge.h: 182 * WebCoreSupport.subproj/WebFrameBridge.m: 183 (-[WebFrameBridge initWithPage:webView:frameName:view:]): 184 (-[WebFrameBridge page]): 185 (-[WebFrameBridge mainFrame]): 186 (-[WebFrameBridge webView]): 187 (-[WebFrameBridge createWindowWithURL:frameName:]): 188 (-[WebFrameBridge showWindow]): 189 (-[WebFrameBridge areToolbarsVisible]): 190 (-[WebFrameBridge setToolbarsVisible:]): 191 (-[WebFrameBridge isStatusbarVisible]): 192 (-[WebFrameBridge setStatusbarVisible:]): 193 (-[WebFrameBridge setWindowFrame:]): 194 (-[WebFrameBridge windowFrame]): 195 (-[WebFrameBridge setWindowContentRect:]): 196 (-[WebFrameBridge windowContentRect]): 197 (-[WebFrameBridge setWindowIsResizable:]): 198 (-[WebFrameBridge windowIsResizable]): 199 (-[WebFrameBridge firstResponder]): 200 (-[WebFrameBridge makeFirstResponder:]): 201 (-[WebFrameBridge closeWindowSoon]): 202 (-[WebFrameBridge runJavaScriptAlertPanelWithMessage:]): 203 (-[WebFrameBridge runJavaScriptConfirmPanelWithMessage:]): 204 (-[WebFrameBridge canRunBeforeUnloadConfirmPanel]): 205 (-[WebFrameBridge runBeforeUnloadConfirmPanelWithMessage:]): 206 (-[WebFrameBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]): 207 (-[WebFrameBridge addMessageToConsole:]): 208 (-[WebFrameBridge runOpenPanelForFileButtonWithResultListener:]): 209 (-[WebFrameBridge setStatusText:]): 210 (-[WebFrameBridge startLoadingResource:withURL:customHeaders:]): 211 (-[WebFrameBridge startLoadingResource:withURL:customHeaders:postData:]): 212 (-[WebFrameBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): 213 (-[WebFrameBridge focusWindow]): 214 (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]): 215 (-[WebFrameBridge userAgentForURL:]): 216 (-[WebFrameBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]): 217 (-[WebFrameBridge previousKeyViewOutsideWebFrameViews]): 218 (-[WebFrameBridge defersLoading]): 219 (-[WebFrameBridge setDefersLoading:]): 220 (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]): 221 (-[WebFrameBridge _preferences]): 222 (-[WebFrameBridge selectWordBeforeMenuEvent]): 223 (-[WebFrameBridge historyLength]): 224 (-[WebFrameBridge canGoBackOrForward:]): 225 (-[WebFrameBridge goBackOrForward:]): 226 (-[WebFrameBridge print]): 227 (-[WebFrameBridge pollForAppletInView:]): 228 (-[WebFrameBridge respondToChangedContents]): 229 (-[WebFrameBridge respondToChangedSelection]): 230 (-[WebFrameBridge undoManager]): 231 (-[WebFrameBridge issueCutCommand]): 232 (-[WebFrameBridge issueCopyCommand]): 233 (-[WebFrameBridge issuePasteCommand]): 234 (-[WebFrameBridge issuePasteAndMatchStyleCommand]): 235 (-[WebFrameBridge canPaste]): 236 (-[WebFrameBridge overrideMediaType]): 237 (-[WebFrameBridge isEditable]): 238 (-[WebFrameBridge shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]): 239 (-[WebFrameBridge shouldBeginEditing:]): 240 (-[WebFrameBridge shouldEndEditing:]): 241 (-[WebFrameBridge windowObjectCleared]): 242 (-[WebFrameBridge spellCheckerDocumentTag]): 243 (-[WebFrameBridge isContinuousSpellCheckingEnabled]): 244 (-[WebFrameBridge didFirstLayout]): 245 (-[WebFrameBridge dashboardRegionsChanged:]): 246 (-[WebFrameBridge createModalDialogWithURL:]): 247 (-[WebFrameBridge canRunModal]): 248 (-[WebFrameBridge runModal]): 249 * WebCoreSupport.subproj/WebPageBridge.h: 250 * WebCoreSupport.subproj/WebPageBridge.m: 251 (-[WebPageBridge initWithMainFrameName:webView:frameView:]): 252 (-[WebPageBridge webView]): 253 * WebView.subproj/WebDataSource.m: 254 (-[WebDataSource _fileWrapperForURL:]): 255 (-[WebDataSource _webView]): 256 (-[WebDataSource _setLoading:]): 257 (-[WebDataSource _startLoading:]): 258 (-[WebDataSource _setTitle:]): 259 (-[WebDataSource _setRequest:]): 260 (-[WebDataSource _updateIconDatabaseWithURL:]): 261 (-[WebDataSource _defersCallbacksChanged]): 262 (-[WebDataSource _setWebFrame:]): 263 * WebView.subproj/WebDataSourcePrivate.h: 264 * WebView.subproj/WebFrame.m: 265 (-[WebFrame _traverseNextFrameStayWithin::]): 266 (-[WebFrame _detachFromParent]): 267 (-[WebFrame _setDataSource:]): 268 (-[WebFrame _loadDataSource:withLoadType:formState:]): 269 (-[WebFrame _initWithWebFrameView:webView:bridge:]): 270 (-[WebFrame dealloc]): 271 (-[WebFrame finalize]): 272 (-[WebFrame webView]): 273 * WebView.subproj/WebFrameView.m: 274 (-[WebFrameView _webView]): 275 (-[WebFrameView _goBack]): 276 (-[WebFrameView _goForward]): 277 * WebView.subproj/WebFrameViewInternal.h: 278 * WebView.subproj/WebView.m: 279 (-[WebView _createFrameNamed:inParent:allowsScrolling:]): 280 (-[WebView _commonInitializationWithFrameName:groupName:]): 281 2822006-02-04 Darin Adler <darin@apple.com> 283 284 Reviewed by Maciej. 285 286 * Misc.subproj/WebCoreStatistics.h: 287 * Misc.subproj/WebCoreStatistics.m: 288 (+[WebCoreStatistics javaScriptRootObjectTypeCounts]): 289 javaScriptRootObjecTypeCounts -> javaScriptRootObjectTypeCounts 290 2912006-02-04 Maciej Stachowiak <mjs@apple.com> 292 293 Reviewed by Hyatt. 294 295 - change JavaScript collector statistics calls to use HashCountedSet instead 296 of CFSet; other misc cleanup 297 http://bugs.webkit.org/show_bug.cgi?id=7072 298 299 * Misc.subproj/WebCoreStatistics.h: 300 * Misc.subproj/WebCoreStatistics.m: 301 (+[WebCoreStatistics javaScriptProtectedObjectsCount]): new 302 (+[WebCoreStatistics javaScriptRootObjecTypeCounts]): new 303 (+[WebCoreStatistics javaScriptRootObjectClasses]): deprecated 304 (+[WebCoreStatistics javaScriptReferencedObjectsCount]): deprecated 305 (+[WebCoreStatistics javaScriptNoGCAllowedObjectsCount]): Just return 0. Deprecated. 306 3072006-02-03 Maciej Stachowiak <mjs@apple.com> 308 309 Reviewed by Darin. 310 311 - change spellchecker preflighting to happen via class methods instead of 312 object methods. 313 314 * WebView.subproj/WebView.m: 315 (-[WebView setContinuousSpellCheckingEnabled:]): 316 (+[WebView _preflightSpellCheckerNow:]): 317 (+[WebView _preflightSpellChecker]): 318 3192006-02-03 Timothy Hatcher <timothy@apple.com> 320 321 Reviewed by Justin. 322 323 Renamed configuration names to Debug, Release and Production. 324 325 * WebKit.xcodeproj/project.pbxproj: 326 3272006-02-02 David Hyatt <hyatt@apple.com> 328 329 Fix for bug 6957, rewrite image rendering in C++ and move it to 330 WebCore. Animation now stops lazily and just uses the CachedObject 331 notification system to push updates so that rects no longer need to 332 be cached (or sets of animating renderers in specific views). 333 334 Reviewed by darin 335 336 * Misc.subproj/WebNSPasteboardExtras.h: 337 * Misc.subproj/WebNSPasteboardExtras.m: 338 (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]): 339 (-[NSPasteboard _web_declareAndWriteDragImage:element:URL:title:archive:source:]): 340 * Misc.subproj/WebNSViewExtras.h: 341 * Misc.subproj/WebNSViewExtras.m: 342 (-[NSView _web_dragImage:element:rect:event:pasteboard:source:offset:]): 343 * WebCoreSupport.subproj/WebImageData.m: 344 (-[WebImageData init]): 345 * WebCoreSupport.subproj/WebImageRendererFactory.m: 346 (+[WebImageRendererFactory shouldUseThreadedDecoding]): 347 (+[WebImageRendererFactory setShouldUseThreadedDecoding:]): 348 (-[WebImageRendererFactory setPatternPhaseForContext:inUserSpace:]): 349 (-[WebImageRendererFactory imageDataForName:]): 350 * WebView.subproj/WebHTMLView.m: 351 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): 352 (-[NSArray elementAtPoint:]): 353 * WebView.subproj/WebImageView.m: 354 (-[WebImageView writeImageToPasteboard:types:]): 355 (-[WebImageView elementAtPoint:]): 356 (-[WebImageView mouseDragged:]): 357 * WebView.subproj/WebView.m: 358 (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]): 359 3602006-01-31 John Sullivan <sullivan@apple.com> 361 362 Reviewed by Tim Omernick. 363 364 - fixed <rdar://problem/4267144> REGRESSION (10.4.2): Safari pages auto-scroll too easily 365 during drag over content [5853] 366 367 There were two issues here: 368 (1) dragging over a non-editable webview (such as a typical Safari page) should not have 369 auto-scrolled at all; the fact that it did was an uninentional side effect of making 370 auto-scroll work for editable webviews a la Blot. 371 (2) the speed & hot area of the auto-scroll changed between 10.4.1 and 10.4.2. 372 373 I have a fix for (1), which is the much more important issue. I'll modify the bugzilla bug 374 to be about the remaining issue. 375 376 * WebView.subproj/WebView.m: 377 (-[WebView _autoscrollForDraggingInfo:timeDelta:]): 378 do nothing if not editable 379 (-[WebView _shouldAutoscrollForDraggingInfo:]): 380 return NO if not editable 381 3822006-01-31 John Sullivan <sullivan@apple.com> 383 384 Reviewed by Tim Omernick. 385 386 Support for programmatic scrolling one line at a time for PDFs. (We already had support for 387 programmatic scrolling one page at a time, and to top/end.) 388 389 * WebView.subproj/WebPDFView.m: 390 (-[WebPDFView _fakeKeyEventWithFunctionKey:]): 391 generalized comment 392 (-[WebPDFView scrollLineDown:]): 393 pass a faked arrow-down key event 394 (-[WebPDFView scrollLineUp:]): 395 pass a faked arrow-up key event 396 3972006-01-31 Darin Adler <darin@apple.com> 398 399 Reviewed by Hyatt. 400 401 * WebCoreSupport.subproj/WebFrameBridge.m: 402 (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]): 403 Updated for name change. 404 4052006-01-30 Timothy Hatcher <timothy@apple.com> 406 407 Reviewed by Tim O. 408 409 Add -Wno-deprecated-declarations to the compile flags for WebNetscapePluginPackage.m. 410 <rdar://problem/4427068> LMGetCurApRefNum, CloseConnection and GetDiskFragment now deprecated. 411 When we workaround these we can remove this compile flag. 412 413 * WebKit.xcodeproj/project.pbxproj: 414 4152006-01-30 Timothy Hatcher <timothy@apple.com> 416 417 Reviewed by Justin. 418 419 Remove the only use of -[NSFont glyphPacking]. This method was deprecated in Tiger 420 and always returns NSNativeShortGlyphPacking. 421 422 * WebCoreSupport.subproj/WebTextRenderer.m: 423 (-[WebTextRenderer initWithFont:]): 424 4252006-01-28 David Hyatt <hyatt@apple.com> 426 427 Clean up RenderImage, eliminating unneeded members and methods. 428 429 Reviewed by darin 430 431 * WebCoreSupport.subproj/WebImageRenderer.h: 432 * WebCoreSupport.subproj/WebImageRenderer.m: 433 (-[WebImageRenderer copyWithZone:]): 434 (-[WebImageRenderer size]): 435 (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]): 436 4372006-01-26 Tim Omernick <timo@apple.com> 438 439 Reviewed by John Sullivan. 440 441 <rdar://problem/4422365> 442 443 * WebView.subproj/WebHTMLView.m: 444 (-[NSArray addSuperviewObservers]): 445 In addition to registering for frame/bounds change notifications, call -_frameOrBoundsChanged. 446 It will check the current size/scroll against the previous layout's size/scroll. We need to 447 do this here to catch the case where the WebView is laid out at one size, removed from its 448 window, resized, and inserted into another window. Our frame/bounds changed notifications 449 will not be sent in that situation, since we only watch for changes while in the view hierarchy. 450 451 I have verified that this does not cause unnecessary layouts while running the PLT. 452 4532006-01-25 Vicki Murley <vicki@apple.com> 454 455 Reviewed by Beth Dakin. 456 457 - fix <rdar://problem/4351664> REGRESSION (420+): extra URL in b/f list - navigating back to 458 previous page fails at apple.com/retail/) 459 460 * WebView.subproj/WebFrame.m: 461 (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): grab the 462 redirect flag of the current load before calling _loadURL, which clears this flag, 463 (-[WebFrame _transitionToCommitted:]): remove misleading comment 464 * History.subproj/WebHistoryItem.m: 465 (-[WebHistoryItem setURL:]): release resources in the page cache when setting 466 the URL on a WebHistoryItem 467 4682006-01-25 Timothy Hatcher <timothy@apple.com> 469 470 Move off of -[NSFont widthOfString:] since it is now deprecated. 471 Use the NSStringDrawing -[NSString sizeWithAttributes:] API. 472 473 * WebCoreSupport.subproj/WebFileButton.m: 474 (-[WebFileChooserButton bestVisualFrameSizeForCharacterCount:]): 475 4762006-01-23 Darin Adler <darin@apple.com> 477 478 - fixed some small localizable strings issues 479 480 * WebInspector.subproj/WebInspector.m: 481 (-[DOMNode _nodeTypeName]): Changed so we don't have two localizable strings that 482 are both "Document". I'm not sure we want to localize the DOM inspector UI at all, 483 but this fixes things for now. 484 (-[DOMNode _displayName]): Ditto. 485 486 * English.lproj/Localizable.strings: Updated. 487 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 488 4892006-01-23 Justin Garcia <justin.garcia@apple.com> 490 491 Reviewed by thatcher 492 493 Turned on -O2 for B&I build. 494 495 * WebKit.xcodeproj/project.pbxproj: 496 4972006-01-22 Timothy Hatcher <timothy@apple.com> 498 499 Reviewed by Anders Carlsson. 500 501 Makes the Inspector's Style pane take !important into account 502 when marking overloaded properties. 503 504 * WebInspector.subproj/webInspector/inspector.js: 505 5062006-01-21 Timothy Hatcher <timothy@apple.com> 507 508 Reviewed by Anders Carlsson. 509 510 Make sure shorthand properties get striked-out if 511 all the properties they expand into are overloaded. 512 513 * WebInspector.subproj/webInspector/inspector.js: 514 5152006-01-21 Timothy Hatcher <timothy@apple.com> 516 517 Reviewed by Darin. 518 519 Adds computed style to the Web Inspector. 520 Adds a "mapped style" link to the mapped attributes. 521 522 * WebInspector.subproj/webInspector/inspector.css: 523 * WebInspector.subproj/webInspector/inspector.html: 524 * WebInspector.subproj/webInspector/inspector.js: 525 5262006-01-20 Timothy Hatcher <timothy@apple.com> 527 528 Reviewed by John, some parts by Darin. 529 530 Removes the old WebDebugDOMNode code, superseded by the ObjC DOM and the Web Inspector. 531 Since Safari 2.0 still relies on these classes for the Debug menu's "Show DOM Tree", we remove 532 that menu item to prevent a crash. 533 534 * WebKit.exp: adds WebInspector, removes WebDebugDOMNode 535 * WebKit.xcodeproj/project.pbxproj: added the REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM define so the new WebView code doesn't build in the Default config 536 * WebView.subproj/WebDebugDOMNode.h: Removed. 537 * WebView.subproj/WebDebugDOMNode.m: Removed. 538 * WebView.subproj/WebView.m: 539 (+[WebView initialize]): check if we are in Safari and IncludeDebugMenu is true then observe for NSApplicationDidFinishLaunchingNotification and call _finishedLaunching 540 (+[WebView _finishedLaunching]): observe for NSMenuDidAddItemNotification now that the main menu is loaded and wait for the Debug menu to be added 541 (+[WebView _removeDOMTreeMenuItem:]): when the debug menu is added remove the "Show DOM Tree" item 542 5432006-01-20 Timothy Hatcher <timothy@apple.com> 544 545 Reviewed by Hyatt. 546 547 Corrects the cascade order for mapped attributes. 548 Shows "inline stylesheet" rather than "null" for rules in <style> tags. 549 550 * WebInspector.subproj/webInspector/inspector.js: 551 5522006-01-19 Timothy Hatcher <timothy@apple.com> 553 554 Reviewed by Eric. 555 556 Adds inline style reporting and mapped attribute support to the Inspector Style pane. 557 Cleans up the node attributes area with a more natural attr = "value" look. 558 Slight optimization to only update visible scrollbars during a window resize. 559 560 * WebInspector.subproj/webInspector/inspector.css: 561 * WebInspector.subproj/webInspector/inspector.js: 562 5632006-01-19 Timothy Hatcher <timothy@apple.com> 564 565 Reviewed by Darin. 566 567 http://bugs.webkit.org/show_bug.cgi?id=6631 568 Inspector window has inappropriate maximum height 569 570 * WebInspector.subproj/WebInspector.m: 571 (-[WebInspector window]): removes the maximum size constraint 572 5732006-01-19 John Sullivan <sullivan@apple.com> 574 575 Reviewed by Tim Omernick. 576 577 * WebKit.xcodeproj/project.pbxproj: 578 made WebNSUserDefaultsExtras.h private (SPI) so its one method can be called from 579 Safari, so Safari can stop calling the similar method in Foundation. 580 5812006-01-19 John Sullivan <sullivan@apple.com> 582 583 Reviewed by Tim Omernick. 584 585 Made _webKit_guessedMIMEType SPI so Safari can use it in order to stop using 586 the similar SPI method in Foundation. This involved splitting it out of the file 587 it was in, to avoid creating any other new SPI here. Poor svn diff got mighty 588 confused in the process. 589 590 * Misc.subproj/WebNSDataExtras.h: 591 removed _webkit_guessedMIMEType from here 592 * Misc.subproj/WebNSDataExtrasPrivate.h: 593 Added. Contains only _webkit_guessedMIMEType. This file is private (SPI), whereas 594 WebNSDataExtras.h is project-internal. I could have renamed WebNSDateExtras.h to 595 WebNSDateExtrasInternal.h also, but I minimized the gratuitous change level here 596 by not doing that. 597 598 * Misc.subproj/WebNSDataExtras.m: 599 Despite the great confusion of svn diff, all I actually did here was move 600 _webkit_guessedMIMEType and its helper _webkit_guessedMIMETypeForXML into a new 601 category. No lines of code were harmed while creating this patch. 602 603 * WebKit.xcodeproj/project.pbxproj: 604 updated for new file 605 606 * WebView.subproj/WebView.m: 607 Added #import for new file since WebView uses _webkit_guessedMIMEType 608 6092006-01-19 John Sullivan <sullivan@apple.com> 610 611 Reviewed by Tim Omernick. 612 613 * Misc.subproj/WebNSURLExtras.h: 614 added declaration of _webkit_rangeOfURLScheme so Safari can call it as a step 615 towards weaning Safari from Foundation SPI. 616 6172006-01-17 Justin Garcia <justin.garcia@apple.com> 618 619 Reviewed by eric 620 621 Deployment builds now use -O2 622 623 * WebKit.xcodeproj/project.pbxproj: 624 6252006-01-17 Beth Dakin <bdakin@apple.com> 626 627 Reviewed by Darin. 628 629 Fix for <rdar://problem/4112029> With Quartz scaling on, Safari incorrectly 630 handles mouseover effects 631 632 The location of an event in the window should be converted to the superview 633 of the contentView to do accurate hitTesting. 634 635 * WebView.subproj/WebHTMLView.m: 636 (-[WebHTMLView _updateMouseoverWithEvent:]): Convert the point to the 637 contentView's superview from nil. 638 6392006-01-16 Timothy Hatcher <timothy@apple.com> 640 641 Rubber stamped by Maciej. 642 643 Check for a new "WebKitDeveloperExtras" default when 644 including the "Inspect Element" context menu item. 645 We should retire the other one eventually. 646 647 * WebView.subproj/WebView.m: 648 (-[WebView _menuForElement:defaultItems:]): 649 6502006-01-17 Anders Carlsson <andersca@mac.com> 651 652 Reviewed by Timothy Hatcher. 653 654 - http://bugs.webkit.org/show_bug.cgi?id=6594 655 Web Inspector: finish node attributes 656 657 * WebInspector.subproj/webInspector/inspector.css: 658 * WebInspector.subproj/webInspector/inspector.html: 659 * WebInspector.subproj/webInspector/inspector.js: 660 Add initial support for element attributes. 661 6622006-01-16 John Sullivan <sullivan@apple.com> 663 664 Reviewed by Vicki Murley. 665 666 - fixed <rdar://problem/4409288> REGRESSION (TOT): When no selection is present on page, 667 Jump to Selection doesn't beep 668 669 * WebView.subproj/WebHTMLView.m: 670 (-[WebHTMLView _hasInsertionPoint]): 671 new helper method 672 (-[NSArray validateUserInterfaceItem:]): 673 Don't validate this menu item (or a couple of others) if the selection is a caret and 674 the page isn't editable. In that state, there is no visible selection so this menu item 675 doesn't make sense. I suspect this was broken by some editing-related change that makes 676 selectionState return WebSelectionStateCaret here where it used to return WebSelectionStateNone. 677 6782006-01-16 Tim Omernick <timo@apple.com> 679 680 Reviewed by John Sullivan. 681 682 WebKit part of <rdar://problem/4211707> NPAPI ref count behavior differs with Mozilla 683 684 * Plugins.subproj/WebBaseNetscapePluginView.m: 685 (-[WebBaseNetscapePluginView getVariable:value:]): 686 The returned window script object is expected to be retained, as described here: 687 <http://www.mozilla.org/projects/plugins/npruntime.html#browseraccess> 688 6892006-01-16 Anders Carlsson <andersca@mac.com> 690 691 Reviewed by Darin. 692 693 * WebInspector.subproj/webInspector/inspector.js: 694 Use defined NodeType values instead of integers. 695 6962006-01-15 Timothy Hatcher <timothy@apple.com> 697 698 Reviewed by Darin. 699 700 New DOM Inspector that lives in WebKit and is accessible from any WebView. 701 Accessible from a contextual menu when the WebKitEnableInspectElementContextMenuItem default is 702 true or you have a development build. Browsing the tree, serialized HTML and CSS rules work. 703 704 To always enable enter the following in the Terminal (change the bundle id to affect other WebKit apps): 705 defaults write com.apple.Safari WebKitEnableInspectElementContextMenuItem -bool true 706 707 http://bugs.webkit.org/show_bug.cgi?id=6571 708 709 * English.lproj/Localizable.strings: 710 * English.lproj/StringsNotToBeLocalized.txt: reorder of the entries 711 * Misc.subproj/WebKitNSStringExtras.h: 712 * Misc.subproj/WebKitNSStringExtras.m: 713 (-[NSString _webkit_stringByCollapsingWhitespaceCharacters]): collapses consecutive whitespace into a single space 714 * WebCoreSupport.subproj/WebFrameBridge.m: 715 (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]): cleanup 716 (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]): call the new UI delegate method 717 * WebInspector.subproj: Added. 718 * WebInspector.subproj/WebInspector.h: Added. 719 * WebInspector.subproj/WebInspector.m: Added. 720 (+[WebInspector sharedWebInspector]): 721 (-[WebInspector init]): 722 (-[WebInspector initWithWebFrame:]): 723 (-[WebInspector dealloc]): 724 (-[WebInspector window]): 725 (-[WebInspector windowDidLoad]): 726 (-[WebInspector windowWillClose:]): 727 (-[WebInspector showWindow:]): 728 (-[WebInspector setWebFrame:]): 729 (-[WebInspector webFrame]): 730 (-[WebInspector setRootDOMNode:]): 731 (-[WebInspector rootDOMNode]): 732 (-[WebInspector setFocusedDOMNode:]): 733 (-[WebInspector focusedDOMNode]): 734 (-[WebInspector setSearchQuery:]): 735 (-[WebInspector searchQuery]): 736 (-[WebInspector searchResults]): 737 (-[WebInspector showOptionsMenu]): 738 (-[WebInspector selectNewRoot:]): 739 (-[WebInspector resizeTopArea:]): 740 (-[WebInspector treeViewScrollTo:]): 741 (-[WebInspector treeViewOffsetTop]): 742 (-[WebInspector treeViewScrollHeight]): 743 (-[WebInspector traverseTreeBackward]): 744 (-[WebInspector traverseTreeForward]): 745 (-[WebInspector _toggleIgnoreWhitespace:]): 746 (-[WebInspector _highlightNode:]): 747 (-[WebInspector _nodeHighlightExpired:]): 748 (-[WebInspector _focusRootNode:]): 749 (-[WebInspector _revealAndSelectNodeInTree:]): 750 (-[WebInspector _showSearchResults:]): 751 (-[WebInspector _refreshSearch]): 752 (-[WebInspector _update]): 753 (-[WebInspector _updateRoot]): 754 (-[WebInspector _updateTreeScrollbar]): 755 (+[WebInspector isSelectorExcludedFromWebScript:]): 756 (+[WebInspector webScriptNameForSelector:]): 757 (+[WebInspector isKeyExcludedFromWebScript:]): 758 (-[WebInspector handleEvent:]): 759 (-[WebInspector webView:didFinishLoadForFrame:]): 760 (-[WebInspector webView:plugInViewWithArguments:]): 761 (-[WebInspector outlineView:numberOfChildrenOfItem:]): 762 (-[WebInspector outlineView:isItemExpandable:]): 763 (-[WebInspector outlineView:child:ofItem:]): 764 (-[WebInspector outlineView:objectValueForTableColumn:byItem:]): 765 (-[WebInspector outlineView:willDisplayOutlineCell:forTableColumn:item:]): 766 (-[WebInspector outlineViewItemDidCollapse:]): 767 (-[WebInspector outlineViewSelectionDidChange:]): 768 (-[WebInspectorPrivate dealloc]): 769 (-[DOMHTMLElement _addClassName:]): Helper method for the Inspector to append style classes 770 (-[DOMHTMLElement _removeClassName:]): Helper method for the Inspector to remove style classes 771 (-[DOMNode _contentPreview]): 772 (-[DOMNode _isAncestorOfNode:]): 773 (-[DOMNode _isDescendantOfNode:]): 774 (-[DOMNode _isWhitespace]): 775 (-[DOMNode _lengthOfChildNodesIgnoringWhitespace]): 776 (-[DOMNode _childNodeAtIndexIgnoringWhitespace:]): 777 (-[DOMNode _nextSiblingSkippingWhitespace]): 778 (-[DOMNode _previousSiblingSkippingWhitespace]): 779 (-[DOMNode _firstChildSkippingWhitespace]): 780 (-[DOMNode _lastChildSkippingWhitespace]): 781 (-[DOMNode _firstAncestorCommonWithNode:]): 782 (-[DOMNode _traverseNextNodeStayingWithin:]): 783 (-[DOMNode _traverseNextNodeSkippingWhitespaceStayingWithin:]): 784 (-[DOMNode _traversePreviousNode]): 785 (-[DOMNode _traversePreviousNodeSkippingWhitespace]): 786 (-[DOMNode _nodeTypeName]): 787 (-[DOMNode _shortDisplayName]): 788 (-[DOMNode _displayName]): 789 * WebInspector.subproj/WebInspectorInternal.h: Added. 790 * WebInspector.subproj/WebInspectorOutlineView.h: Added. 791 * WebInspector.subproj/WebInspectorOutlineView.m: Added. 792 (-[WebInspectorOutlineView isOpaque]): 793 (-[WebInspectorOutlineView _highlightColorForCell:]): 794 (-[WebInspectorOutlineView _highlightRow:clipRect:]): 795 (-[WebInspectorOutlineView drawBackgroundInClipRect:]): 796 * WebInspector.subproj/WebInspectorPanel.h: Added. 797 * WebInspector.subproj/WebInspectorPanel.m: Added. 798 (-[WebInspectorPanel canBecomeKeyWindow]): 799 (-[WebInspectorPanel canBecomeMainWindow]): 800 (-[WebInspectorPanel moveWindow:]): 801 (-[WebInspectorPanel resizeWindow:]): 802 (-[WebInspectorPanel sendEvent:]): 803 * WebInspector.subproj/WebNodeHighlight.h: Added. 804 * WebInspector.subproj/WebNodeHighlight.m: Added. 805 (-[WebNodeHighlight initWithBounds:andRects:forView:]): 806 (-[WebNodeHighlight dealloc]): 807 (-[WebNodeHighlight fractionComplete]): 808 (-[WebNodeHighlight expire]): 809 (-[WebNodeHighlight redraw:]): 810 * WebInspector.subproj/WebNodeHighlightView.h: Added. 811 * WebInspector.subproj/WebNodeHighlightView.m: Added. 812 (-[WebNodeHighlightView roundedRect:withRadius:]): 813 (-[WebNodeHighlightView initWithHighlight:andRects:forView:]): 814 (-[WebNodeHighlightView dealloc]): 815 (-[WebNodeHighlightView isOpaque]): 816 (-[WebNodeHighlightView drawRect:]): 817 * WebInspector.subproj/webInspector: Added. 818 * WebInspector.subproj/webInspector/Images: Added. 819 * WebInspector.subproj/webInspector/Images/close.png: Added. 820 * WebInspector.subproj/webInspector/Images/closePressed.png: Added. 821 * WebInspector.subproj/webInspector/Images/downTriangle.png: Added. 822 * WebInspector.subproj/webInspector/Images/menu.png: Added. 823 * WebInspector.subproj/webInspector/Images/menuPressed.png: Added. 824 * WebInspector.subproj/webInspector/Images/popupFill.png: Added. 825 * WebInspector.subproj/webInspector/Images/popupFillPressed.png: Added. 826 * WebInspector.subproj/webInspector/Images/popupLeft.png: Added. 827 * WebInspector.subproj/webInspector/Images/popupLeftPressed.png: Added. 828 * WebInspector.subproj/webInspector/Images/popupRight.png: Added. 829 * WebInspector.subproj/webInspector/Images/popupRightPressed.png: Added. 830 * WebInspector.subproj/webInspector/Images/rightTriangle.png: Added. 831 * WebInspector.subproj/webInspector/Images/scrollThumbBottom.png: Added. 832 * WebInspector.subproj/webInspector/Images/scrollThumbMiddle.png: Added. 833 * WebInspector.subproj/webInspector/Images/scrollThumbTop.png: Added. 834 * WebInspector.subproj/webInspector/Images/scrollTrackBottom.png: Added. 835 * WebInspector.subproj/webInspector/Images/scrollTrackMiddle.png: Added. 836 * WebInspector.subproj/webInspector/Images/scrollTrackTop.png: Added. 837 * WebInspector.subproj/webInspector/Images/squareButtonRight.png: Added. 838 * WebInspector.subproj/webInspector/Images/squareButtonRightPressed.png: Added. 839 * WebInspector.subproj/webInspector/Images/upTriangle.png: Added. 840 * WebInspector.subproj/webInspector/inspector.css: Added. 841 * WebInspector.subproj/webInspector/inspector.html: Added. 842 * WebInspector.subproj/webInspector/inspector.js: Added. 843 * WebKit.xcodeproj/project.pbxproj: Adds Web Inspector files 844 * WebView.subproj/WebUIDelegatePrivate.h: new UI delegate method to supply a replacement view for plugins 845 * WebView.subproj/WebView.m: 846 (-[WebView _menuForElement:defaultItems:]): Add a new context menu item for inspecting 847 (-[WebView _inspectElement:]): Context menu item target for inspecting 848 8492006-01-14 Alexey Proskuryakov <ap@nypop.com> 850 851 Reviewed by Darin. 852 853 - Fix http://bugs.webkit.org/show_bug.cgi?id=6531 854 document.cookie="killmenothing" doesn't set the cookie 855 856 * WebCoreSupport.subproj/WebCookieAdapter.m: (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]): 857 Append an '=' to the cookie string if it has none, so that 858 +[NSHTTPCookie cookiesWithResponseHeaderFields:forURL:] can parse it. 859 8602006-01-14 Maciej Stachowiak <mjs@apple.com> 861 862 Reviewed by Eric. 863 864 - added bridging infrastructure for Page class 865 866 * WebCoreSupport.subproj/WebPageBridge.h: Added. 867 * WebCoreSupport.subproj/WebPageBridge.m: Added. 868 (-[WebPageBridge initWithMainFrameName:view:]): New class, somewhat obvious. 869 * WebKit.xcodeproj/project.pbxproj: 870 * WebView.subproj/WebView.m: 871 (-[WebViewPrivate dealloc]): Don't use _mainFrameBrige, use _pageBridge 872 (-[WebView _close]): ditto 873 (-[WebView _commonInitializationWithFrameName:groupName:]): ditto 874 (-[WebView mainFrame]): ditto 875 8762006-01-12 Maciej Stachowiak <mjs@apple.com> 877 878 Rubber stamped by Eric. 879 880 - rename WebBridge to WebFrameBridge 881 882 - also removed all tabs from WebFrameBridge.m 883 884 * DOM.subproj/WebDOMOperations.m: 885 (-[DOMNode _bridge]): 886 (-[DOMNode webArchive]): 887 (-[DOMRange _bridge]): 888 (-[DOMRange webArchive]): 889 * DOM.subproj/WebDOMOperationsPrivate.h: 890 * English.lproj/StringsNotToBeLocalized.txt: 891 * Misc.subproj/WebCoreStatistics.m: 892 * Misc.subproj/WebNSViewExtras.h: 893 * Misc.subproj/WebNSViewExtras.m: 894 (-[NSView _bridge]): 895 * Plugins.subproj/WebBaseNetscapePluginView.m: 896 * Plugins.subproj/WebNetscapePluginEmbeddedView.m: 897 * Plugins.subproj/WebNetscapePluginStream.m: 898 (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): 899 * Plugins.subproj/WebPluginContainerCheck.m: 900 (-[WebPluginContainerCheck _isForbiddenFileLoad]): 901 * Plugins.subproj/WebPluginController.h: 902 * Plugins.subproj/WebPluginController.m: 903 (-[WebPluginController bridge]): 904 * WebCoreSupport.subproj/WebBridge.h: Removed. 905 * WebCoreSupport.subproj/WebBridge.m: Removed. 906 * WebCoreSupport.subproj/WebFileButton.h: 907 * WebCoreSupport.subproj/WebFileButton.m: 908 (-[WebFileChooserButton initWithBridge:delegate:]): 909 * WebCoreSupport.subproj/WebFrameBridge.h: Added. 910 * WebCoreSupport.subproj/WebFrameBridge.m: Added. 911 (-[WebFrameBridge mainFrame]): 912 (-[WebFrameBridge createWindowWithURL:frameName:]): 913 (-[WebFrameBridge canTargetLoadInFrame:]): 914 (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]): 915 (formDelegate): 916 (-[WebFrameBridge createModalDialogWithURL:]): 917 * WebCoreSupport.subproj/WebSubresourceLoader.m: 918 * WebCoreSupport.subproj/WebTextRendererFactory.m: 919 * WebCoreSupport.subproj/WebViewFactory.m: 920 (-[WebViewFactory bridgeForView:]): 921 * WebKit.xcodeproj/project.pbxproj: 922 * WebView.subproj/WebDataSource.m: 923 (-[WebDataSource _bridge]): 924 (-[WebDataSource _receivedMainResourceError:complete:]): 925 (-[WebDataSource _stringWithData:]): 926 * WebView.subproj/WebDataSourcePrivate.h: 927 * WebView.subproj/WebDebugDOMNode.m: 928 * WebView.subproj/WebDefaultContextMenuDelegate.m: 929 * WebView.subproj/WebFrame.m: 930 (-[WebFrame _traverseNextFrameStayWithin::]): 931 (Frame): 932 (-[WebFrame _detachFromParent]): 933 (-[WebFrame _bridge]): 934 (-[WebFrame _initWithWebFrameView:webView:bridge:]): 935 * WebView.subproj/WebFrameInternal.h: 936 * WebView.subproj/WebFramePrivate.h: 937 * WebView.subproj/WebFrameView.m: 938 (-[WebFrameView webCoreBridge]): 939 (-[WebFrameView _bridge]): 940 * WebView.subproj/WebHTMLRepresentation.m: 941 (+[WebHTMLRepresentation supportedMIMETypes]): 942 (-[WebHTMLRepresentation _bridge]): 943 (-[WebHTMLRepresentation documentSource]): 944 * WebView.subproj/WebHTMLRepresentationPrivate.h: 945 * WebView.subproj/WebHTMLView.m: 946 (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): 947 (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]): 948 (-[WebHTMLView updateFocusState]): 949 (-[NSArray validateUserInterfaceItem:]): 950 (-[NSArray attributedString]): 951 (-[NSArray selectedAttributedString]): 952 (-[NSArray concludeDragForDraggingInfo:actionMask:]): 953 (-[NSArray keyDown:]): 954 (-[NSArray _alterCurrentSelection:direction:granularity:]): 955 (-[NSArray _alterCurrentSelection:verticalDistance:]): 956 (-[NSArray _expandSelectionToGranularity:]): 957 (-[NSArray cut:]): 958 (-[NSArray _applyStyleToSelection:withUndoAction:]): 959 (-[NSArray _applyParagraphStyleToSelection:withUndoAction:]): 960 (-[NSArray pasteAsPlainText:]): 961 (-[NSArray insertNewline:]): 962 (-[NSArray insertLineBreak:]): 963 (-[NSArray insertParagraphSeparator:]): 964 (-[NSArray _changeWordCaseWithSelector:]): 965 (-[NSArray startSpeaking:]): 966 (-[NSArray selectToMark:]): 967 (-[NSArray swapWithMark:]): 968 (-[NSArray transpose:]): 969 (-[WebHTMLView characterIndexForPoint:]): 970 (-[WebHTMLView firstRectForCharacterRange:]): 971 (-[WebHTMLView selectedRange]): 972 (-[WebHTMLView attributedSubstringFromRange:]): 973 (-[WebHTMLView _selectMarkedText]): 974 (-[WebHTMLView _selectRangeInMarkedText:]): 975 (-[WebHTMLView setMarkedText:selectedRange:]): 976 (-[WebHTMLView _selectionIsInsideMarkedText]): 977 (-[WebTextCompleteController _insertMatch:]): 978 (-[WebTextCompleteController doCompletion]): 979 (-[WebTextCompleteController endRevertingChange:moveLeft:]): 980 * WebView.subproj/WebHTMLViewPrivate.h: 981 * WebView.subproj/WebImageView.m: 982 * WebView.subproj/WebMainResourceLoader.m: 983 * WebView.subproj/WebRenderNode.m: 984 * WebView.subproj/WebResource.m: 985 (-[WebResource _stringValue]): 986 * WebView.subproj/WebScriptDebugDelegate.m: 987 * WebView.subproj/WebTextView.m: 988 * WebView.subproj/WebView.m: 989 (-[WebView _createFrameNamed:inParent:allowsScrolling:]): 990 (-[WebView _commonInitializationWithFrameName:groupName:]): 991 (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]): 992 (-[WebView moveDragCaretToPoint:]): 993 (-[WebView shouldClose]): 994 (-[WebView editableDOMRangeForPoint:]): 995 (-[WebView setEditable:]): 996 (-[WebView deleteSelection]): 997 (-[WebView _bridgeForSelectedOrMainFrame]): 998 (-[WebView _bridgeAtPoint:]): 999 10002006-01-13 Darin Adler <darin@apple.com> 1001 1002 - Replaced tabs with spaces in source files that had less than 10 lines with tabs. 1003 - Set allow-tabs Subversion property in source files that have more than 10 lines with tabs. 1004 10052006-01-12 John Sullivan <sullivan@apple.com> 1006 1007 Reviewed by Tim O. 1008 1009 - fixed <rdar://problem/4406994> REGRESSION (TOT): zooming window at cnn.com 1010 makes window fill width of screen 1011 1012 * WebView.subproj/WebFrameView.m: 1013 (-[WebFrameView _largestChildWithScrollBars]): 1014 now skips zero-area frames, used by some evil ads 1015 10162006-01-10 John Sullivan <sullivan@apple.com> 1017 1018 Reviewed by Tim H. 1019 1020 - fixed <rdar://problem/4265966> PDFs continue to show a (secondary) selection 1021 when the focus moves elsewhere 1022 1023 * WebView.subproj/WebPDFView.h: 1024 added trackedFirstResponder ivar 1025 1026 * WebView.subproj/WebPDFView.m: 1027 (-[WebPDFView dealloc]): 1028 assert that trackedFirstResponder is nil, as it was released/cleared in viewWillMoveToWindow: 1029 (-[WebPDFView _trackFirstResponder]): 1030 If the tracked first responder was the PDFView's documentView, and the current first responder isn't, 1031 deselect all. This is equivalent to overriding resignFirstResponder in the PDFView's 1032 documentView and deselecting all there, as other web document view classes do. Also, keep track of 1033 the new first responder for next time. 1034 (-[WebPDFView viewWillMoveToWindow:]): 1035 stop observing NSWindowDidUpdateNotification on the old window 1036 (-[WebPDFView viewDidMoveToWindow]): 1037 start observing NSWindowDidUpdateNotification on the new window, with _trackFirstResponder 1038 as the callback. Ideally we'd use a notification that tells us that the first responder is 1039 changing, but there is no such notification, so we have to use this very frequent one instead. 1040 The archaic 2573089 tracks the desire to have a responder-changed notification. 1041 (-[WebPDFView becomeFirstResponder]): 1042 removed comment about this bug that's now obsolete 1043 10442006-01-11 Darin Adler <darin@apple.com> 1045 1046 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 1047 10482006-01-09 Darin Adler <darin@apple.com> 1049 1050 * Makefile.am: Removed. 1051 10522006-01-09 John Sullivan <sullivan@apple.com> 1053 1054 Reviewed by Beth Dakin. 1055 1056 - fixed <rdar://problem/4302263> CrashTracer: 504 crashes in Safari at 1057 com.apple.AppKit: NSTargetForSendAction + 1060 1058 1059 The problem was that back/forward/stop/reload context menu items had nil targets, 1060 and thus were relying on AppKit to start from the context menu target (the clicked-upon 1061 view) and use the responder chain to find the WebView to act as the target. In Tiger, 1062 context menus don't retain their implicit target (the clicked-upon view again), and 1063 there was a race condition where the WebHTMLView could be dealloc'ed while the menu item 1064 was being processed, eventually crashing in AppKit. The fix is to explicitly set the 1065 target of these four menu items to the WebView, since the WebView is not dealloc'ed 1066 in the loading process. 1067 1068 This might be fixed in a future version of AppKit by making the context menu retain its 1069 implicit target until it is dismissed, but with this change it will be fixed regardless 1070 of potential AppKit changes. 1071 1072 * WebView.subproj/WebDefaultContextMenuDelegate.m: 1073 (-[WebDefaultUIDelegate menuItemWithTag:target:]): 1074 Added target: parameter and removed code that set the target for some menu items; now the 1075 caller is responsible for supplying the target. 1076 (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]): 1077 Supply target (or nil) in calls to menuItemWithTag:target:. This matches existing behavior 1078 except for Back/Forward/Stop/Reload, which used to supply no target but now supply the 1079 WebView as the target. 1080 (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]): 1081 Supply target (or nil) in calls to menuItemWithTag:target: 1082 10832006-01-09 Geoffrey Garen <ggaren@apple.com> 1084 1085 Reviewed by Darin. 1086 1087 - Second cut at fixing <rdar://problem/4268278> Submitting a form 1088 in onUnload event handler causes crash in 1089 -[WebDataSource(WebPrivate) _commitIfReady:].) 1090 1091 - Fixes http://bugs.webkit.org/show_bug.cgi?id=6331 1092 REGRESSION: form events don't fire after back/forward navigation, 1093 due to inconsistent load state 1094 1095 * WebView.subproj/WebDataSource.m: 1096 (-[WebDataSource _stopLoading]): 1097 (1) If there are no resource loaders to signal the WebView that we've 1098 been canceled, manufacture the signal. Otherwise, the cancel gets 1099 ignored and nobody cleans up after the load. (We signal the WebView but 1100 not the WebFrame because we don't want the WebFrame to tear down the 1101 data source. Unlike most canceled data sources, this one has valid data 1102 because it's in the back/forward cache.) 1103 (2) Update _private->stopping before returning because if the 1104 data source is in the back/forward cache it can be reused, so it 1105 needs to be in a consistent state. (We never encountered this 1106 situation before because we would always crash first.) 1107 (-[WebDataSource _commitLoadWithData:]): Move _commitIfReady call 1108 inside retain block because the commit may cause an unload event 1109 to fire, which may start a new load, deallocating the current 1110 data source. (This is the same reason the rest of the function is 1111 in the retain block.) 1112 * WebView.subproj/WebFrame.m: 1113 (-[WebFrame _transitionToCommitted:]): If the unload handler 1114 started a new load, return early to avoid stomping it. 1115 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): 1116 Undo previous incorrect fix. 1117 (-[WebFrame stopLoading]): Remove misleading comment. Setting 1118 provisionalDataSource to nil is not optional but required for 1119 internal consistency. 1120 11212006-01-09 Alexey Proskuryakov <ap@nypop.com> 1122 1123 Reviewed by Maciej. 1124 1125 Affects many layout tests (when running with primary Russian language). 1126 1127 - Fix http://bugs.webkit.org/show_bug.cgi?id=4759 1128 'ex' length unit calculation (Some layout tests fail if the system primary language is Russian) 1129 1130 * WebCoreSupport.subproj/WebTextRenderer.m: 1131 (-[WebTextRenderer xHeight]): Use glyphForCharacter() instead of -[NSFont glyphWithName:]. 1132 11332006-01-07 Mitz Pettel <opendarwin.org@mitzpettel.com> 1134 1135 Reviewed by Darin, landed by ap. 1136 1137 Test: fast/text/atsui-small-caps-punctuation-size.html 1138 1139 - fix http://bugs.webkit.org/show_bug.cgi?id=6397 1140 ATSUI small caps use small punctuation 1141 1142 * WebCoreSupport.subproj/WebTextRenderer.m: 1143 (createATSULayoutParameters): Changed the characters for which size must 1144 not change from !u_isbase() to the M* categories. 1145 11462006-01-06 John Sullivan <sullivan@apple.com> 1147 1148 Reviewed by Vicki Murley (full credit) and Tim Omernick (half credit). 1149 1150 - fixed <rdar://problem/4401102> REGRESSION (420+): When displaying a PDF, tabbing around stops working after reaching page 1151 1152 * WebView.subproj/WebPDFView.m: 1153 (-[WebPDFView setNextKeyView:]): 1154 Use [PDFSubview documentView] rather than PDFSubview here, since that's the view that we now hand off first-responderhood to. 1155 11562006-01-05 Tim Omernick <timo@apple.com> 1157 1158 Reviewed by Geoff. 1159 1160 <rdar://problem/4400804> Client-side redirect to a non-HTTP URL confuses Safari 1161 1162 * WebView.subproj/WebFrame.m: 1163 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): 1164 If we were waiting for a quick redirect, but the policy delegate decided to ignore it, then we 1165 need to report that the client redirect was cancelled. 1166 11672006-01-05 John Sullivan <sullivan@apple.com> 1168 1169 * WebView.subproj/WebPDFView.m: 1170 (-[WebPDFView _fakeKeyEventWithFunctionKey:]): 1171 Just added a FIXME comment about how to clean up this minor hack in the future. 1172 11732006-01-05 John Sullivan <sullivan@apple.com> 1174 1175 Reviewed by Tim O. 1176 1177 - fixed these bugs: 1178 <rdar://problem/3021785> page up/down don't work on frameset pages unless you click 1179 <rdar://problem/3021788> Page Up/Down moves an unscrollable frame if you click on it first 1180 1181 and the WebKit part of this (need new Safari too for complete fix): 1182 <rdar://problem/4378905> Page up/down don't work in PDFs when address field is focused 1183 1184 I moved some logic down from Safari that dealt with finding the largest scrollable child frame in a frameset, 1185 and added support for standard scrolling-related selectors to WebPDFView. The latter was needed for 4378905; 1186 the former was needed due to side effects of the Safari part of the change. As long as I was doing the former, 1187 I also used that logic to fix 3021785 and 3021788. 1188 1189 * WebView.subproj/WebFrameViewPrivate.h: 1190 new currently-private methods _hasScrollBars and _largestChildWithScrollBars 1191 1192 * WebView.subproj/WebFrameView.m: 1193 (-[WebFrameView scrollToBeginningOfDocument:]): 1194 if we don't have scroll bars, operate on our largest child with scroll bars instead 1195 (-[WebFrameView scrollToEndOfDocument:]): 1196 ditto 1197 (-[WebFrameView _pageVertically:]): 1198 ditto 1199 (-[WebFrameView _pageHorizontally:]): 1200 ditto 1201 (-[WebFrameView _scrollLineVertically:]): 1202 ditto 1203 (-[WebFrameView _scrollLineHorizontally:]): 1204 ditto 1205 (-[WebFrameView keyDown:]): 1206 where we were bailing out if ![self allowsScrolling], also check for whether there's a 1207 child with scroll bars, and don't bail out if so 1208 (-[WebFrameView _area]): 1209 new helper method used to implement _largestChildWithScrollBars (code moved from Safari) 1210 (-[WebFrameView _hasScrollBars]): 1211 new method, just returns YES if either scroll bar is showing (code moved from Safari) 1212 (-[WebFrameView _largestChildWithScrollBars]): 1213 new method, returns the child with the largest area that is showing at least one scroll bar 1214 (code moved from Safari and tweaked a little) 1215 1216 * WebView.subproj/WebPDFView.m: 1217 (-[WebPDFView _fakeKeyEventWithFunctionKey:]): 1218 new method, hackaround for the fact that PDFView handles key downs from standard scrolling keys 1219 but does not implement the standard responder selectors 1220 (-[WebPDFView scrollPageDown:]): 1221 use _fakeKeyEventWithFunctionKey: to get the PDFView to scroll appropriately 1222 (-[WebPDFView scrollPageUp:]): 1223 ditto 1224 (-[WebPDFView scrollToBeginningOfDocument:]): 1225 ditto 1226 (-[WebPDFView scrollToEndOfDocument:]): 1227 ditto 1228 1229 * WebView.subproj/WebView.m: 1230 add scrollToBeginningOfDocument and scrollToEndOfDocument to the list of responder operations 1231 that we hand off appropriately to the responder chain. These two aren't defined in any header 1232 but are generated by Home and End keys and used by the text system. 1233 12342006-01-05 Geoffrey Garen <ggaren@apple.com> 1235 1236 Reviewed by Darin. 1237 1238 - Fixed http://bugs.webkit.org/show_bug.cgi?id=6361 1239 Add plugin support to DumpRenderTree 1240 1241 * WebKit.exp: export WebPluginDatabase class, which DumpRenderTree 1242 needs to add plugins to the runtime. 1243 12442006-01-03 Maciej Stachowiak <mjs@apple.com> 1245 1246 Reviewed by Darin. 1247 1248 - move frame management and finding code from WebKit to WebCore 1249 http://bugs.webkit.org/show_bug.cgi?id=6368 1250 1251 * Plugins.subproj/WebBaseNetscapePluginView.m: 1252 (-[WebBaseNetscapePluginView loadPluginRequest:]): Set frame name straight on the bridge, 1253 instead of having it bubble through the view and frame. 1254 * WebCoreSupport.subproj/WebBridge.m: 1255 (-[WebBridge initWithFrameName:view:]): don't pass name to frame, we own it now; set it 1256 on ourselves directly 1257 (-[WebBridge findFrameNamed:]): removed 1258 (-[WebBridge createWindowWithURL:frameName:]): set name on bridge, not webview 1259 (-[WebBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]): 1260 (-[WebBridge runModal]): remove excess braces 1261 * WebKit.xcodeproj/project.pbxproj: 1262 * WebView.subproj/WebControllerSets.h: Removed. 1263 * WebView.subproj/WebControllerSets.m: Removed. 1264 * WebView.subproj/WebFrame.m: 1265 (-[WebFramePrivate name]): removed 1266 (-[WebFramePrivate setName:]): removed 1267 (-[WebFramePrivate dealloc]): don't release name, we no longer have one 1268 (-[WebFrame _appendChild:]): removed 1269 (-[WebFrame _removeChild:]): removed 1270 (-[WebFrame _createItem:]): removed stray space 1271 (-[WebFrame _immediateChildFrameNamed:]): Just call the bridge 1272 (-[WebFrame _setName:]): removed 1273 (-[WebFrame _detachFromParent]): remove bridge from parent note self 1274 (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]): 1275 (-[WebFrame _addChild:]): Call appendChild: on bridge, not self 1276 (-[WebFrame _nextFrameWithWrap:]): just call bridge (and moved helpers there) 1277 (-[WebFrame _previousFrameWithWrap:]): just call bridge (and moved helpers there) 1278 (-[WebFrame _initWithWebFrameView:webView:bridge:]): don't take a name any more 1279 (-[WebFrame _setFrameNamespace:]): just call bridge 1280 (-[WebFrame _frameNamespace]): just call bridge 1281 (-[WebFrame _hasSelection]): remove excess braces 1282 (-[WebFrame _clearSelection]): ditto 1283 (-[WebFrame initWithName:webFrameView:webView:]): no more name 1284 (-[WebFrame name]): just call bridge 1285 (-[WebFrame findFrameNamed:]): just call bridge (and moved helpers there) 1286 (-[WebFrame parentFrame]): fixed for new style 1287 * WebView.subproj/WebFrameInternal.h: 1288 * WebView.subproj/WebFramePrivate.h: 1289 * WebView.subproj/WebView.m: 1290 * WebView.subproj/WebViewPrivate.h: 1291 12922006-01-03 Darin Adler <darin@apple.com> 1293 1294 Reviewed by Beth. 1295 1296 This is a fix for <rdar://problem/3710994> HiDPI: Link underlines are 1297 still one pixel high even if the UI resolution is > 100% 1298 1299 This fix refactors -drawLineForCharacters to make its organization 1300 more logical. It changes behavior when printing to the screen by 1301 rounding the parameters of the line (x- and y-values, width, and 1302 thickness) to integer boundaries in device space. Previously, 1303 this part of the routine just hardcoded a 1 pixel line. 1304 1305 * WebCoreSupport.subproj/WebTextRenderer.m: 1306 (drawHorizontalLine): This just takes care of drawing the line once everything 1307 has been calculated in -drawLineForCharacters 1308 (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]): 1309 Now takes device space into account. Calls drawHorizontalLine 1310 13112006-01-03 Maciej Stachowiak <mjs@apple.com> 1312 1313 Reviewed by Vicki. 1314 1315 - moved frame traversal code across from bridge, also dropped the children 1316 array 1317 1318 * WebCoreSupport.subproj/WebBridge.h: 1319 * WebCoreSupport.subproj/WebBridge.m: 1320 (-[WebBridge dealloc]): Don't release children array, that was moved 1321 down to WebCore. 1322 (-[WebBridge saveDocumentState:]): 1323 - many methods moved to WebCore. 1324 * WebView.subproj/WebFrame.m: 1325 (Frame): New convenience method to get a WebFrame * from a method that 1326 returns WebCoreBridge *. 1327 (-[WebFrame _firstChildFrame]): use Frame() 1328 (-[WebFrame _lastChildFrame]): ditto 1329 (-[WebFrame _previousSiblingFrame]): ditto 1330 (-[WebFrame _nextSiblingFrame]): ditto 1331 (-[WebFrame _traverseNextFrameStayWithin:]): ditto 1332 13332006-01-03 Anders Carlsson <andersca@mac.com> 1334 1335 Reviewed by Darin. 1336 1337 - Fix http://bugs.webkit.org/show_bug.cgi?id=6357 1338 REGRESSION: iframe and target is broken 1339 1340 * WebView.subproj/WebFrame.m: 1341 (-[WebFrame _descendantFrameNamed:sourceFrame:]): 1342 Return the correct frame. 1343 13442006-01-02 Maciej Stachowiak <mjs@apple.com> 1345 1346 Reviewed by Eric. 1347 1348 - moved frame traversal logic from WebFrame to WebBridge 1349 http://bugs.webkit.org/show_bug.cgi?id=6341 1350 1351 To do this, I had to invert the ownership so that WebBridge now 1352 owns WebFrame instead of vice versa. As a result, WebView now owns 1353 a WebBridge pointer and does not have a direct WebFrame pointer. 1354 1355 * WebCoreSupport.subproj/WebBridge.h: 1356 * WebCoreSupport.subproj/WebBridge.m: 1357 (-[WebBridge initWithFrameName:view:]): The initializer is now responsible for creating 1358 the frame, so pass it what it needs to do that. 1359 (-[WebBridge dealloc]): The bridge now owns the frame, so release it. 1360 (-[WebBridge close]): ditto 1361 (-[WebBridge firstChild]): Moved from WebFrame 1362 (-[WebBridge lastChild]): ditto 1363 (-[WebBridge childCount]): ditto 1364 (-[WebBridge previousSibling]): ditto 1365 (-[WebBridge nextSibling]): ditto 1366 (-[WebBridge isDescendantOfFrame:]): ditto 1367 (-[WebBridge traverseNextFrameStayWithin:]): ditto 1368 (-[WebBridge appendChild:]): ditto 1369 (-[WebBridge removeChild:]): ditto 1370 * WebView.subproj/WebFrame.m: 1371 (-[WebFrame _removeChild::]): Call WebBridge version 1372 (-[WebFramePrivate dealloc]): ditto 1373 (-[WebFrame _firstChildFrame]): ditto 1374 (-[WebFrame _lastChildFrame]): ditto 1375 (-[WebFrame _childFrameCount]): ditto 1376 (-[WebFrame _previousSiblingFrame]): ditto 1377 (-[WebFrame _nextSiblingFrame]): ditto 1378 (-[WebFrame _traverseNextFrameStayWithin:]): ditto 1379 (-[WebFrame _appendChild:]): ditto 1380 (-[WebFrame _removeChild:]): ditto 1381 (-[WebFrame _isDescendantOfFrame:]): ditto, 1382 (-[WebFrame _detachFromParent]): reorder a bit to avoid losing our bridge 1383 pointer before the bridge is due to release us, and don't release the 1384 bridge any more since it now owns us 1385 (-[WebFrame _initWithName:webFrameView:webView:bridge:]): new initializer, 1386 we no longer create the bridge, instead it is passed in 1387 (-[WebFrame initWithName:webFrameView:webView:]): Call the new designated 1388 initializer, but this method is no longer viable and should be deprecated. 1389 * WebView.subproj/WebFrameInternal.h: 1390 1391 * WebView.subproj/WebView.m: WebView was changed to hold onto 1392 the WebBridge for the main frame instead of the WebFrame. 1393 1394 (-[WebViewPrivate dealloc]): update for the fact that we hold 1395 a bridge now, not a frame. 1396 (-[WebView _close]): ditto 1397 (-[WebView _createFrameNamed:inParent:allowsScrolling:]): Create 1398 a bridge, not a frame. 1399 (-[WebView _commonInitializationWithFrameName:groupName:]): ditto. 1400 (-[WebView setDefersCallbacks:]): get mainFrame via method 1401 (-[WebView mainFrame]): Update to get the main frame properly 1402 14032005-12-30 Mitz Pettel <opendarwin.org@mitzpettel.com> 1404 1405 Reviewed by Darin, landed by ap. 1406 1407 Test: fast/text/justified-text-rect.html 1408 1409 - WebKit part of fix for 1410 http://bugs.webkit.org/show_bug.cgi?id=5461 1411 Text width measured incorrectly when text-align: justify 1412 1413 * WebCoreSupport.subproj/WebTextRenderer.m: 1414 (-[WebTextRenderer selectionRectForRun:style:geometry:]): Added. 1415 (CG_drawHighlight): Use new function CG_selectionRect. 1416 (CG_selectionRect): New function to compute the selection rect. 1417 Eliminated rounding hackery that was required for keeping the highlight 1418 rect within the selection rect computed by 1419 InlineTextBox::selectionRect, since the latter uses this function now. 1420 The new selection rect is wider and matches AppKit more closely, 1421 although the right hand side is roundf()ed instead of cielf()ed for 1422 optimal caret positioning. 1423 (ATSU_drawHighlight): Use new function ATSU_selectionRect. 1424 (ATSU_selectionRect): New function to compute the selection rect. 1425 Much like CG_selectionRect. 1426 14272005-12-29 Geoffrey Garen <ggaren@apple.com> 1428 1429 Reviewed by Eric. 1430 1431 Manual testcase added: 1432 WebCore/manual-tests/onunload-form-submit-crash.html 1433 1434 - Fixed <rdar://problem/4268278> Submitting a form in onUnload event 1435 handler causes crash in -[WebDataSource(WebPrivate) _commitIfReady:] 1436 1437 The problem is that the form submission in the unload event kicks off 1438 a new load in the midst of the load that caused the unload event to 1439 fire in the first place, so the two loads stomp each other. 1440 1441 The solution is to cancel the first load and let the unload handler's 1442 load win. (Firefox does the same.) 1443 1444 * WebView.subproj/WebFrame.m: 1445 (-[WebFrame _transitionToCommitted:]): Moved call to -closeURL up 1446 the call stack to _continueLoadRequest. (See below.) This has the 1447 side-effect of always firing the unload event, even if the new 1448 datasource never becomes committed, which seems like a good thing. 1449 1450 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): 1451 Call -closeURL here, instead of in _transitionToCommitted, so that the 1452 unload handler can fire before we initialize any part of the load. 1453 1454 Check provisionalDataSource for nil to discover if the unload event 1455 kicked off its own load. 1456 1457 Cleared up some coments. 1458 1459 (-[WebFrame _detachFromParent]): 1460 It turns out that if you close the window instead of just navigating 1461 to a new page, you get an alternate assertion failure/crash because 1462 the load kicked off by the unload event handler generates resource 1463 loader callbacks after the associated WebFrame/WebView has disappeared. 1464 1465 The nifty solution here is just to reverse the order of calls to 1466 -stopLoading and -closeURL, thus guaranteeing that -stopLoading has the 1467 last word when you close a window. 1468 14692005-12-30 Mitz Pettel <opendarwin.org@mitzpettel.com> 1470 1471 Reviewed by Eric, committed by Maciej. 1472 1473 - fix for http://bugs.webkit.org/show_bug.cgi?id=6288 1474 HEAD build broken 12/29/2005 1475 1476 * WebCoreSupport.subproj/WebTextRenderer.m: 1477 (overrideLayoutOperation): Use previous character from the buffer 1478 instead of ch which may be uninitialized on the first iteration. 1479 14802005-12-29 Maciej Stachowiak <mjs@apple.com> 1481 1482 Reviewed by Eric. 1483 1484 - finished frame traversal cleanup 1485 http://bugs.webkit.org/show_bug.cgi?id=6293 1486 1487 * WebCoreSupport.subproj/WebBridge.m: 1488 (-[WebBridge childFrames]): Removed (this was unused) 1489 * WebView.subproj/WebFrame.m: 1490 (-[WebFrame _removeChild::]): Moved to FrameTraversal category. 1491 (-[WebFrame _childFrameCount]): New frame traversal method to avoid 1492 getting the count from the array directly. 1493 (-[WebFrame _appendChild:]): Factored out the parts of addChild: that 1494 seem directly relevant to adding a child. 1495 (-[WebFrame _removeChild:]): Moved to FrameTraversal category. 1496 (-[WebFrame _detachChildren]): Don't deallocate children array because 1497 there's no particular need to. 1498 (-[WebFrame _setDataSource:]): make the assert use _childFrameCount 1499 (-[WebFrame _opened]): 1500 (-[WebFrame _checkLoadComplete]): Instead of checking all frames starting 1501 from the main frame, check this frame and all ancestors. If a resource 1502 for a frame completes, that con only possibly finish loading for that 1503 frame and its ancestors, not any other frame in the tree. 1504 (-[WebFrame _recursiveCheckLoadComplete]): Removed, no longer needed. 1505 (-[WebFrame _childFramesMatchItem:]): Get child frame count in the new 1506 approved way. 1507 (-[WebFrame _internalChildFrames]): removed 1508 (-[WebFrame _addChild:]): Use _appendChild: for most of the work. 1509 (-[WebFrame _generateFrameName]): Get child frame count in the new 1510 approved way. 1511 (-[WebFrame _stopLoadingSubframes]): Use new frame traversal mechanisms, 1512 upon further consideration there's no need to copy part of the frame tree here. 1513 (-[WebFrame findFrameNamed:]): Remove extra braces. 1514 (-[WebFrame childFrames]): Make a new array using the frame traversal methods. 1515 * WebView.subproj/WebFramePrivate.h: Remove some methods. 1516 * WebView.subproj/WebMainResourceLoader.m: 1517 (-[WebMainResourceLoader didReceiveResponse:]): Do _checkLoadComplete on the current 1518 frame not the main frame (before there was no difference and now the new version is 1519 what is desired). 1520 * WebView.subproj/WebView.m: 1521 (-[WebView _finishedLoadingResourceFromDataSource:]): Remove stray space 1522 (-[WebView _mainReceivedBytesSoFar:fromDataSource:complete:]): Remove stray spaces 1523 and update FIXME comment. 1524 (-[WebView _receivedError:fromDataSource:]): Remove stray space 1525 15262005-12-29 Maciej Stachowiak <mjs@apple.com> 1527 1528 Reviewed by Darin. 1529 1530 - abstract frame traversal in WebFrame more 1531 http://bugs.webkit.org/show_bug.cgi?id=6283 1532 1533 Rewrote most of the frame traversal code in WebFrame to use DOM-style 1534 first/last/next/previous methods, to abstract access better in preparation 1535 for moving it down. 1536 1537 As an added bonus, many formerly recursive methods are now iterative. 1538 1539 * WebKit.xcodeproj/project.pbxproj: Use gnu99 dialect of C, so that 1540 variables can be declared in for loop initializers. 1541 1542 - added new frame traversal methods, to avoid dealing with the children array 1543 directly: 1544 1545 * WebView.subproj/WebFrame.m: 1546 (-[WebFrame _firstChildFrame]): New method. 1547 (-[WebFrame _lastChildFrame]): New method. 1548 (-[WebFrame _previousSiblingFrame]): New method. 1549 (-[WebFrame _nextSiblingFrame]): New method. 1550 (-[WebFrame _traverseNextFrameStayWithin:]): Like traverseNextNode() in the DOM; 1551 uses some of the previous. 1552 1553 - apply the new methods 1554 1555 (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]): Rewrite loop 1556 to use new traversal methods. 1557 (-[WebFrame _immediateChildFrameNamed:]): ditto, also added FIXME 1558 (-[WebFrame _setName:]): Improved comment, removed gratuitous brace 1559 (-[WebFrame _isDescendantOfFrame:]): Rewrote to chase parent pointers instead 1560 of looking in child arrays (duh) 1561 (-[WebFrame _detachChildren]): Rewrite loop to use new traversal methods, 1562 still walk backwards for now. 1563 (-[WebFrame _closeOldDataSources]): Rewrite using new traversal methods. 1564 (-[WebFrame _childFramesMatchItem:]): ditto 1565 (-[WebFrame _defersCallbacksChanged]): ditto 1566 (-[WebFrame _viewWillMoveToHostWindow:]): ditto 1567 (-[WebFrame _viewDidMoveToHostWindow]): ditto 1568 (-[WebFrame _addChild:]): don't use childFrames method 1569 (-[WebFrame _removeChild:]): Clear out the sibling pointers after unlinking from the list, 1570 not obvious if anything needs this but it seems like the right thing to do. 1571 (-[WebFrame _generateFrameName]): don't bother to nil-check children array, since 1572 calling count on nil still gives 0. 1573 (-[WebFrame _saveDocumentAndScrollState]): Rewrite to use frame traversal methods 1574 (-[WebFrame _deepLastChildFrame]): renamed from _lastChildFrame, rewrite to use child 1575 traversal methods. 1576 (-[WebFrame _nextFrameWithWrap:]): Use new frame traversal stuff (mostly just 1577 a thin wrapper on _traverseNextFrameStayWithin: 1578 (-[WebFrame _previousFrameWithWrap:]): Use new traversal functions 1579 (-[WebFrame _numPendingOrLoadingRequests:]): Rewrite loop with new tracrsal functions 1580 (-[WebFrame _reloadForPluginChanges]): ditto 1581 (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]): ditto 1582 (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]): ditto 1583 (-[WebFrame _documentViews]): ditto 1584 (-[WebFrame _updateDrawsBackground]): ditto 1585 (-[WebFrame _unmarkAllMisspellings]): ditto 1586 (-[WebFrame _atMostOneFrameHasSelection]): ditto 1587 (-[WebFrame _findFrameWithSelection]): ditto 1588 (-[WebFrame _stopLoadingSubframes]): ditto 1589 (-[WebFrame _subframeIsLoading]): ditto 1590 (-[WebFrame _descendantFrameNamed:sourceFrame:]): ditto 1591 15922005-12-29 Darin Adler <darin@apple.com> 1593 1594 * WebView.subproj/WebFrameView.m: (-[WebFrameViewPrivate dealloc]): 1595 Removed unused "draggingTypes" instance variable. 1596 15972005-12-29 Mitz Pettel <opendarwin.org@mitzpettel.com> 1598 1599 Reviewed by darin 1600 1601 Test: fast/text/atsui-spacing-features.html 1602 1603 - WebKit part of fix for 1604 http://bugs.webkit.org/show_bug.cgi?id=3922 1605 Variable word/letter spacing and full justification not supported for 1606 ATSUI-rendered text 1607 1608 * WebCoreSupport.subproj/WebTextRenderer.m: 1609 (overrideLayoutOperation): Add letter- and word-spacing and padding for 1610 justification. 1611 (createATSULayoutParameters): Compute padding per space. 1612 16132005-12-27 Mitz Pettel <opendarwin.org@mitzpettel.com> 1614 1615 Reviewed by Maciej, landed by Darin. 1616 1617 - fix http://bugs.webkit.org/show_bug.cgi?id=4844 1618 Render "simple" Hebrew using the CG codepath 1619 1620 * WebCoreSupport.subproj/WebTextRenderer.m: (shouldUseATSU): Exclude Hebrew letters and maqaf. 1621 16222005-12-25 Maciej Stachowiak <mjs@apple.com> 1623 1624 Reviewed by Geoff 1625 1626 - Remove WebFrame's parent frame pointer, instead rely on WebCore's parent concept 1627 http://bugs.webkit.org/show_bug.cgi?id=6241 1628 1629 * WebCoreSupport.subproj/WebBridge.h: 1630 * WebCoreSupport.subproj/WebBridge.m: 1631 (-[WebBridge canTargetLoadInFrame:]): Use bridge parent method instead of needlessly 1632 asking for parent via WebFrame 1633 (-[WebBridge frameDetached]): Don't call _removeChild on the parent frame any more 1634 because WebFame's _detachFromParent takes care of that now. 1635 * WebView.subproj/WebFrame.m: 1636 (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]): Fix stray spaces 1637 (-[WebFrame _detachChildren]): Don't remove children as we loop any more, they 1638 can remove themselves. 1639 (-[WebFrame _detachFromParent]): Remove self from parent; don't nil out bridge 1640 until we are done with it. 1641 (-[WebFrame _transitionToCommitted:]): Remove some extra braces. 1642 (-[WebFrame _goToItem:withLoadType:]): Use parentFrame method in assert instead of parent 1643 field directly. 1644 (-[WebFrame _addChild:]): Don't poke at parent frame pointer in _private 1645 since it is not there any more. 1646 (-[WebFrame _removeChild:]): Remove extra braces and don't clear parent pointer 1647 explicitly any more. 1648 (-[WebFrame _addFramePathToString:]): Get parentFrame from method, not field. 1649 (-[WebFrame _loadDataSource:withLoadType:formState:]): Remove extra braces. 1650 (-[WebFrame _nextFrameWithWrap:]): Get parent in the proper way and clean up the 1651 coding style. 1652 (-[WebFrame _previousFrameWithWrap:]): Ditto. 1653 (-[WebFrame parentFrame]): Get parent from the bridge. 1654 16552005-12-25 Maciej Stachowiak <mjs@apple.com> 1656 1657 Reviewed by Hyatt. 1658 1659 - fixed REGRESSION: world leak of WebDataSource 1660 http://bugs.webkit.org/show_bug.cgi?id=6242 1661 1662 * WebView.subproj/WebDataSource.m: 1663 (-[WebDataSource _stopLoading]): don't retain self until after 1664 the possible early return. 1665 16662005-12-24 Maciej Stachowiak <mjs@apple.com> 1667 1668 Reviewed by Geoff. 1669 1670 - rearrange some code in WebDataSource so that more of the frame traversal logic 1671 is in WebFrame, in preparation for moving it down to WebBridge. 1672 http://bugs.webkit.org/show_bug.cgi?id=6239 1673 1674 * WebView.subproj/WebDataSource.m: 1675 (-[WebDataSource _archiveWithMarkupString:nodes:]): Assert that the 1676 data source is committed, doesn't make sense to archive otherwise. 1677 (-[WebDataSource _subframeArchivesWithCurrentState:]): New helper method. 1678 (-[WebDataSource _archiveWithCurrentState:]): Assert that the data source 1679 is committed. Use the helper. 1680 (-[WebDataSource _setWebView:]): Comment that we won't tell subframes that 1681 defers callback changed. 1682 (-[WebDataSource _startLoading]): Remove stray space. 1683 (-[WebDataSource _stopLoading]): Only handle local _stopLoading business. 1684 Cound on WebFrame to tell subframes to stop loading. Fold in _stopLoadingInternal 1685 and remove _recursiveStopLoading. 1686 (-[WebDataSource _startLoading:]): Clean up an assert slightly. 1687 (-[WebDataSource _setTitle:]): Remove stray spaces. 1688 (-[WebDataSource _defersCallbacksChanged]): Don't call subframes. WebFrame 1689 can do that. 1690 (-[WebDataSource isLoading]): Move checking of subframes down to WebFrame. 1691 (-[WebDataSource webArchive]): Return nil if the data source is not yet 1692 committed. It makes no sense to archive a provisional data source since it 1693 has no data yet. 1694 (-[WebDataSource addSubresource:]): Replace an assert with an early return, 1695 ASSERT is not an appropriate way to flag problems with the argument of a public 1696 method. 1697 * WebView.subproj/WebDataSourcePrivate.h: 1698 * WebView.subproj/WebFrame.m: 1699 (-[WebFrame _setLoadType:]): Remove stray space. 1700 (-[WebFrame _checkLoadCompleteForThisFrame]): Stop loading subframes 1701 manually and add a FIXME about confusingness of stopping loading here. 1702 (-[WebFrame _defersCallbacksChanged]): Tell our subframes. 1703 (-[WebFrame _addChild:]): Remove stray space. 1704 (-[WebFrame _stopLoadingSubframes]): New helper method. 1705 (-[WebFrame _subframeIsLoading]): New helper method, code moved 1706 from WebDataSource. 1707 (-[WebFrame stopLoading]): Tell subframes to stop loading. 1708 (-[WebFrame reload]): Remove extra braces. 1709 * WebView.subproj/WebFrameInternal.h: 1710 17112005-12-23 Maciej Stachowiak <mjs@apple.com> 1712 1713 Reviewed by John. 1714 1715 - move more frame tree traversal code from WebView to WebFrame 1716 1717 * WebView.subproj/WebFrame.m: 1718 (-[WebFrame _atMostOneFrameHasSelection]): Moved this debug 1719 method from WebView, renamed it and changed it to return a boolean 1720 so it is appropriate for use in assertions instead of giving its own 1721 errors. 1722 (-[WebFrame _accumulateFramesWithSelection:]): Helper for the above. 1723 (-[WebFrame _findFrameWithSelection]): Moved from WebView and renamed from 1724 _findSelectedFrame, also removed the skipping variant. 1725 (-[WebFrame _clearSelectionInOtherFrames]): Moved from WebView and 1726 changed how the logic works. Instead of clearing selection in any frame 1727 but the focus frame, it clears selection in all but this one. 1728 * WebView.subproj/WebFrameInternal.h: 1729 * WebView.subproj/WebHTMLView.m: 1730 (-[WebHTMLView becomeFirstResponder]): Call _clearSelectionInOtherFrames 1731 * WebView.subproj/WebPDFView.m: 1732 (-[WebPDFView PDFViewWillClickOnLink:withURL:]): Stop getting WebFrame 1733 in needlessly roundabout way. 1734 (-[WebPDFView becomeFirstResponder]): Call _clearSelectionInOtherFrames 1735 * WebView.subproj/WebTextView.m: 1736 (-[WebTextView _webFrame]): New helper method. 1737 (-[WebTextView _elementAtWindowPoint:]): Use it. 1738 (-[WebTextView becomeFirstResponder]): Call _clearSelectionInOtherFrames 1739 (-[WebTextView resignFirstResponder]): Fix style issue 1740 (-[WebTextView clickedOnLink:atIndex:]): Use new helkper 1741 * WebView.subproj/WebView.m: 1742 (-[WebView selectedFrame]): Call to WebFrame as appropriate 1743 (-[WebView _selectedOrMainFrame]): Fix style issue 1744 * WebView.subproj/WebViewInternal.h: 1745 17462005-12-22 Maciej Stachowiak <mjs@apple.com> 1747 1748 Reviewed by Eric. 1749 1750 - move a few more methods from WebView to WebFrame. 1751 1752 * WebView.subproj/WebFrame.m: 1753 (-[WebFrame _hasSelection]): Renamed from _frameIsSelected: and moved from 1754 WebView. 1755 (-[WebFrame _clearSelection]): Renamed from _deselectFrame: and moved from 1756 WebView. 1757 * WebView.subproj/WebFrameInternal.h: 1758 * WebView.subproj/WebView.m: 1759 (-[WebView searchFor:direction:caseSensitive:wrap:]): Update for renames. 1760 (-[WebView _findSelectedFrameStartingFromFrame:skippingFrame:]): Ditto. 1761 (-[WebView _debugCollectSelectedFramesIntoArray:startingFromFrame:]): Ditto. 1762 (-[WebView _selectedFrameDidChange]): 1763 17642005-12-21 Timothy Hatcher <timothy@apple.com> 1765 1766 * WebKit.xcodeproj/project.pbxproj: 1767 Set tab width to 8, indent width to 4 and uses tabs to false per file. 1768 17692005-12-20 Alexey Proskuryakov <ap@nypop.com> 1770 1771 Reviewed by justin 1772 1773 <http://bugs.webkit.org/show_bug.cgi?id=4682> 1774 -[WebHTMLView firstRectForCharacterRange:] is using _selectedRange instead of the given range if no marked text 1775 1776 * WebView.subproj/WebHTMLView.m: 1777 (-[WebHTMLView firstRectForCharacterRange:]): 1778 Handle some large unsigned values the way NSTextView does. 1779 Actually use the range passed in instead of _selectedRange, 1780 use of _selectedRange was a workaround that is no longer necessary. 1781 17822005-12-20 John Sullivan <sullivan@apple.com> 1783 1784 Reviewed by Darin Adler. 1785 1786 - fixed http://bugs.webkit.org/show_bug.cgi?id=6146 1787 (REGRESSION: Bold font used for Google search result pages is too thick) 1788 1789 This is a problem with a particular font that was installed by Microsoft Office X. Though the 1790 font and/or lower levels of font-handling code in the system are buggy, this bad symptom will 1791 occur for users of Safari and other WebKit clients who happen to have one of these bad fonts. 1792 This adds a workaround to avoid the problem. 1793 1794 * WebCoreSupport.subproj/WebTextRendererFactory.m: 1795 (-[WebTextRendererFactory fontWithFamilies:traits:size:]): 1796 When we're going to synthesize bold or italic, yet the font we looked up was apparently a 1797 match for the traits, try to look up a font that without the to-be-synthesized traits. 1798 This way, instead of applying synthetic bold over Arial Bold, we'll apply synthetic 1799 bold over Arial Regular, which is uglier than just using Arial Bold, but far less ugly 1800 than using Arial Bold with synthetic bold too. 1801 1802 2005-12-16 Justin Garcia <justin.garcia@apple.com> 1803 1804 <rdar://problem/4103393> Frequent Safari crash on lexisnexus.com (khtml::Selection::xPosForVerticalArrowNavigation) 1805 <rdar://problem/4330451> CrashTracer: [REGRESSION] 2235 crashes in Safari at com.apple.WebCore: khtml::Selection::xPosForVerticalArrowNavigation const 436 1806 1807 Reviewed by darin 1808 1809 WebCore will crash when a selection that starts or ends in a node 1810 that has been removed from the document is modify()d. This can occur: 1811 (1) in non-editable regions (4103393 and 4330451), (2) in editable 1812 regions (4383146) as the result of arbitrary DOM operations, and (3) in 1813 Mail (4099739) as the result of an editing operation that sets a 1814 bad ending selection. 1815 1816 Crashes of type (1) can occur when the user uses the arrow keys 1817 to interact with a web app, or when the user tries to use 1818 command-shift-arrow to switch tabs (this is a depricated 1819 combo that will work if no one else responds to it). The easiest 1820 way to fix these crashes is to disallow editing'ish selection changes 1821 like moveDown:, selectWord:, pageDown:, etc, when the selection 1822 is in a non-editable region. 1823 1824 Crashes of type (2) will require a more complicated fix (but occur 1825 much less often than type (1)). Crashes of type (3) must be 1826 fixed by tracking down the editing operation that sets bad selections. 1827 1828 Added a layout-test: 1829 * editing/selection/selection-actions.html 1830 1831 * WebView.subproj/WebHTMLView.m: 1832 (-[WebHTMLView _canAlterCurrentSelection]): 1833 (-[WebHTMLView _alterCurrentSelection:direction:granularity:]): 1834 (-[WebHTMLView _alterCurrentSelection:verticalDistance:]): 1835 (-[WebHTMLView _expandSelectionToGranularity:]): 1836 * WebView.subproj/WebHTMLViewPrivate.h: 1837 18382005-12-20 Justin Garcia <justin.garcia@apple.com> 1839 1840 Reviewed by mitz 1841 1842 Fixed more uninitialized variable warnings, and 1843 removed an extra semicolon. 1844 1845 * WebCoreSupport.subproj/WebTextRenderer.m: 1846 (overrideLayoutOperation): 1847 (createATSULayoutParameters): 1848 18492005-12-20 Maciej Stachowiak <mjs@apple.com> 1850 1851 Reviewed by Darin. 1852 1853 - push more of frame lookup and management from WebView to 1854 WebFrame, this is in preparation for shifting this to WebCore 1855 http://bugs.webkit.org/show_bug.cgi?id=6163 1856 1857 * WebCoreSupport.subproj/WebBridge.m: 1858 (-[WebBridge closeWindowSoon]): Adjust for change to WebFrameNamespaces 1859 (-[WebBridge runModal]): ditto 1860 * WebView.subproj/WebControllerSets.h: 1861 * WebView.subproj/WebControllerSets.m: 1862 (+[WebFrameNamespaces addFrame:toNamespace:]): This now operates in terms 1863 of WebFrames (expected to be the main frame) not WebViews. 1864 (+[WebFrameNamespaces framesInNamespace:]): Ditto. 1865 * WebView.subproj/WebFrame.m: 1866 (-[WebFrame _setFrameNamespace:]): Set self, not WebView. 1867 (-[WebFrame _shouldAllowAccessFrom:]): Moved this code above use 1868 to avoid prototyping the method. 1869 (-[WebFrame _descendantFrameNamed:sourceFrame:]): Ditto. 1870 (-[WebFrame _frameInAnyWindowNamed:sourceFrame:]): Copied logic 1871 over from WebView. 1872 (-[WebFrame findFrameNamed:]): Do it all here, don't call WebView. 1873 * WebView.subproj/WebFramePrivate.h: 1874 * WebView.subproj/WebView.m: 1875 * WebView.subproj/WebViewPrivate.h: 1876 18772005-12-20 Geoffrey Garen <ggaren@apple.com> 1878 1879 Reviewed by adele. 1880 1881 Fixed build failure due to missing 'b's in my last checkin. 1882 1883 * WebCoreSupport.subproj/WebBridge.m: 1884 (-[WebBridge isStatusbarVisible]): changed 'B' to 'b' 1885 (-[WebBridge setStatusbarVisible:]): ditto 1886 18872005-12-20 Mitz Pettel <opendarwin.org@mitzpettel.com> 1888 1889 Reviewed by Darin, committed by Adele. 1890 1891 - fix deployment builds broken by the ATSUI multiple renderers patch 1892 http://bugs.webkit.org/show_bug.cgi?id=6153 1893 1894 * WebCoreSupport.subproj/WebTextRenderer.m: 1895 (createATSULayoutParameters): Assign initial values, which will never be used, 1896 to substituteRenderer and firstSmallCap, to avoid uninitialized variable warnings. 1897 18982005-12-20 Geoffrey Garen <ggaren@apple.com> 1899 1900 Reviewed by John. 1901 1902 Part of fix for <rdar://problem/4310363> JavaScript window.open: Height 1903 is 1 pixel short, and related bugs. See WebCore ChageLog. 1904 1905 * WebCoreSupport.subproj/WebBridge.m: 1906 (-[WebBridge webView]): Added method. 1907 19082005-12-20 Eric Seidel <eseidel@apple.com> 1909 1910 Reviewed by mjs. 1911 1912 Development-only build fix. 1913 1914 * WebView.subproj/WebFrame.m: 1915 (-[WebFramePrivate dealloc]): fixed typo 1916 19172005-12-20 Maciej Stachowiak <mjs@apple.com> 1918 1919 Not reviewed. 1920 1921 - revert accidental commit of this file. 1922 19232005-12-19 Maciej Stachowiak <mjs@apple.com> 1924 1925 Reviewed by Eric. 1926 1927 - Move handling of frame namespaces down to WebFrame. 1928 - Put some internal class declarations in the implementation file. 1929 1930 * WebView.subproj/WebControllerSets.m: 1931 (+[WebFrameNamespaces addWebView:toFrameNamespace:]): 1932 (+[WebFrameNamespaces webViewsInFrameNamespace:]): 1933 * WebView.subproj/WebFrame.m: 1934 (-[WebFramePrivate dealloc]): 1935 (-[WebFrame _setFrameNamespace:]): 1936 (-[WebFrame _frameNamespace]): 1937 * WebView.subproj/WebFrameInternal.h: 1938 * WebView.subproj/WebFramePrivate.h: 1939 * WebView.subproj/WebView.m: 1940 (-[WebView _close]): 1941 (-[WebView _findFrameNamed:sourceFrame:]): 1942 (-[WebView setGroupName:]): 1943 (-[WebView groupName]): 1944 * WebView.subproj/WebViewInternal.h: 1945 19462005-12-19 Mitz Pettel <opendarwin.org@mitzpettel.com> 1947 1948 Reviewed by Darin, committed by Adele. 1949 1950 Test: fast/text/atsui-multiple-renderers.html 1951 1952 - fix http://bugs.webkit.org/show_bug.cgi?id=6139 1953 ATSUI code path should implement small caps, synthetic bold and oblique and correct metrics for fallback fonts 1954 1955 * WebCoreSupport.subproj/WebTextRenderer.m: 1956 (overrideLayoutOperation): Fetch renderer info from the renderers array; 1957 add synthetic bold offset; render only synthetic bold in the synthetic bold pass. 1958 (drawGlyphs): Replaced 14 with new SYNTHETIC_OBLIQUE_ANGLE define. 1959 (initializeATSUStyle): Apply a skewing transform for synthetic oblique. 1960 (createATSUTextLayout): Merged into createATSUTextLayout. 1961 (createATSULayoutParameters): Merged in createATSUTextLayout; allocate 1962 and fill a renderers array and a character buffer for small caps and mirroring; 1963 (applyMirroringToRun): Merged into createATSULayoutParameters. 1964 (ATSU_drawHighlight): Deleted mirroring code. 1965 (ATSU_draw): Deleted mirroring code; added second pass for synthetic bold. 1966 (ATSU_pointToOffset): Deleted mirroring code. 1967 19682005-12-19 Mitz Pettel <opendarwin.org@mitzpettel.com> 1969 1970 Reviewed by Darin, committed by Adele. 1971 1972 Test: fast/text/atsui-kerning-and-ligatures.html 1973 1974 - fix http://bugs.webkit.org/show_bug.cgi?id=6137 1975 Disable kerning and some ligatures in the ATSUI code path 1976 1977 * WebCoreSupport.subproj/WebTextRenderer.m: 1978 (initializeATSUStyle): Disable kerning; disable ligatures unless the font 1979 does not contain 'a', in which case it is assumed to never be rendered 1980 by the CG code path. 1981 19822005-12-19 Mitz Pettel <opendarwin.org@mitzpettel.com> 1983 1984 Reviewed by Darin, committed by Adele. 1985 1986 Test: fast/text/should-use-atsui.html 1987 1988 - fix for http://bugs.webkit.org/show_bug.cgi?id=6132 1989 Incorrect selection highlighting for ATSUI text when selected range is "CG-safe" 1990 1991 * WebCoreSupport.subproj/WebTextRenderer.m: 1992 (shouldUseATSU): Always start scanning from 0 since drawing and 1993 highlighting also measure everything up to run->from. 1994 19952005-12-17 Maciej Stachowiak <mjs@apple.com> 1996 1997 Rubber stamped by Eric. 1998 1999 - remove some unused SPI headers. 2000 2001 * DOM.subproj/WebDOMDocument.h: Removed. 2002 * DOM.subproj/WebDOMElement.h: Removed. 2003 * DOM.subproj/WebDOMNode.h: Removed. 2004 * WebKit.xcodeproj/project.pbxproj: 2005 20062005-12-17 Mitz Pettel <opendarwin.org@mitzpettel.com> 2007 2008 Reviewed and landed by Darin. 2009 2010 - fix http://bugs.webkit.org/show_bug.cgi?id=5479 2011 Can't select text with RTL override rendered by ATSUI 2012 2013 * WebCoreSupport.subproj/WebTextRenderer.m: 2014 (overrideLayoutOperation): Update since the layout only includes from -> to now. 2015 (-[WebTextRenderer pointToOffset:style:position:includePartialGlyphs:]): Remove 2016 reversed parameter. 2017 (CG_floatWidthForRun): Add code to handle RTL case. 2018 (addDirectionalOverride): Put the override around the entire run. 2019 (ATSU_drawHighlight): Rearrange and reuse ATSU_floatWidthForRun for more of the work. 2020 Also round. 2021 (ATSU_pointToOffset): Remove reversed parameter and run swapping. 2022 (CG_pointToOffset): Remove reversed parameter, using rtl flag in style instead. 2023 20242005-12-16 Evan Gross <evan@rainmakerinc.com> 2025 2026 Reviewed and landed by Darin. 2027 2028 - fix http://bugs.webkit.org/show_bug.cgi?id=4680 2029 WebHTMLView (WebNSTextInputSupport) - attributedSubstringFromRange "not yet implemented" 2030 2031 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView attributedSubstringFromRange:]): 2032 Implement by calling the same RTF conversion used when copying to the pasteboard. 2033 20342005-12-16 Mitz Pettel <opendarwin.org@mitzpettel.com> 2035 2036 Reviewed and landed by Darin. 2037 2038 - fix http://bugs.webkit.org/show_bug.cgi?id=6090 2039 REGRESSION: Assertion failure when choosing Copy from a WebImageView's contextual menu 2040 2041 * WebView.subproj/WebImageView.m: 2042 (-[WebImageView elementAtPoint:]): Use WebCoreElementImageRendererKey 2043 for the image renderer and WebElementImageKey for the image. 2044 20452005-12-15 Maciej Stachowiak <mjs@apple.com> 2046 2047 Reviewed by Darin. 2048 2049 - remove _frameForView: method from WebView and replace with a direct pointer on the WebFrameView in the WebFrame 2050 2051 * Misc.subproj/WebNSViewExtras.m: 2052 * WebView.subproj/WebFrame.m: 2053 (-[WebFrame _detachFromParent]): 2054 (-[WebFrame _loadDataSource:withLoadType:formState:]): 2055 (-[WebFrame initWithName:webFrameView:webView:]): 2056 * WebView.subproj/WebFrameView.m: 2057 (-[WebFrameView _setWebFrame:]): 2058 (-[WebFrameView webFrame]): 2059 * WebView.subproj/WebFrameViewInternal.h: 2060 * WebView.subproj/WebView.m: 2061 * WebView.subproj/WebViewPrivate.h: 2062 20632005-12-13 Maciej Stachowiak <mjs@apple.com> 2064 2065 Reviewed by Darin. 2066 2067 - remove the dead _frameForDataSource: method (WebDataSource now knows its WebFrame) 2068 http://bugs.webkit.org/show_bug.cgi?id=6072 2069 2070 * WebView.subproj/WebView.m: 2071 * WebView.subproj/WebViewPrivate.h: 2072 2073=== Safari-521~5 === 2074 20752005-12-12 Timothy Hatcher <timothy@apple.com> 2076 2077 Reviewed by nobody, simple build fix. 2078 2079 Fixes a couple ambiguous selector build errors when building with GCC 3.3. 2080 2081 * Misc.subproj/WebIconDatabase.m: 2082 (-[WebIconDatabase releaseIconForURL:]): 2083 * WebView.subproj/WebHTMLView.m: 2084 (-[NSView _web_layoutIfNeededRecursive:testDirtyRect:]): 2085 (-[NSArray elementAtPoint:]): 2086 20872005-12-12 Mitz Pettel <opendarwin.org@mitzpettel.com> 2088 2089 Reviewed and checked in by John Sullivan. 2090 2091 Fix for: http://bugs.webkit.org/show_bug.cgi?id=6053 2092 WebIconDatabase returns the Accessibility Verifier app icon instead of 2093 a generic document icon 2094 2095 * Misc.subproj/WebIconDatabase.m: 2096 (-[WebIconDatabase _iconForFileURL:withSize:]): 2097 use file type iconForFileType:NSFileTypeForHFSTypeCode(kGenericDocumentIcon) instead of '????' 2098 to get the generic document icon. 2099 21002005-12-12 John Sullivan <sullivan@apple.com> 2101 2102 Reviewed by Tim Omernick. 2103 2104 - Made protocol <WebDocumentSelection> include protocol <WebDocumentText>, for clarity. 2105 This required moving some methods from WebTextView, which conformed to <WebDocumentText>, 2106 up into superclass WebSearchableTextView, which conformed to <WebDocumentSelection>. 2107 2108 * Misc.subproj/WebSearchableTextView.m: 2109 (-[NSString supportsTextEncoding]): 2110 moved this method (unchanged) from subclass WebTextView 2111 (-[NSString string]): 2112 ditto 2113 (-[NSString attributedString]): 2114 ditto 2115 (-[NSString selectedString]): 2116 ditto 2117 (-[NSString selectedAttributedString]): 2118 ditto 2119 (-[NSString selectAll]): 2120 ditto 2121 (-[NSString deselectAll]): 2122 ditto 2123 2124 * WebView.subproj/WebDocumentPrivate.h: 2125 made <WebDocumentSelection> incorporate <WebDocumentText> rather than just <NSObject> 2126 * WebView.subproj/WebHTMLView.h: 2127 removed <WebDocumentText> from protocol list since it's covered by <WebDocumentSelection> 2128 * WebView.subproj/WebPDFView.h: 2129 ditto 2130 * WebView.subproj/WebTextView.h: 2131 ditto 2132 * WebView.subproj/WebTextView.m: 2133 removed the methods that were moved into WebSearchableTextView.m 2134 21352005-12-10 Darin Adler <darin@apple.com> 2136 2137 Reviewed by John Sullivan. 2138 2139 - fix http://bugs.webkit.org/show_bug.cgi?id=6032 2140 REGRESSION: Uncaught exception when image is dragged out of webpage 2141 2142 * WebView.subproj/WebHTMLView.m: 2143 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): 2144 Pass the image renderer, not the NSImage. 2145 (-[WebHTMLView elementAtPoint:]): Add an NSImage to the dictionary, which now comes from 2146 WebCore with only an image renderer. 2147 * WebView.subproj/WebView.m: (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]): 2148 Pass the image renderer, not the NSImage. 2149 21502005-12-10 Darin Adler <darin@apple.com> 2151 2152 Was getting build failures related to "count" methods. 2153 Made Tim's build fix Leopard-only. 2154 2155 * WebView.subproj/WebPreferencesPrivate.h: Go back to <PDFKit/PDFKit.h> on Tiger. 2156 21572005-12-09 John Sullivan <sullivan@apple.com> 2158 2159 Reviewed by Adele Peterson. 2160 2161 - fixed <rdar://problem/4373905> Cannot paste in Tiger Mail using TOT WebKit 2162 2163 * WebView.subproj/WebView.m: 2164 (-[WebView _frameForCurrentSelection]): 2165 I removed this method many moons ago when restructuring the code involving frames and selection. 2166 Too bad Mail was still using it (d'oh!). In Leopard Mail has updated to use newer SPI (which should 2167 become API), but to continue to work with Mail on Tiger we need this method to be around. Now it's 2168 just a cover for the method _selectedOrMainFrame, to which it was renamed so very long ago. 2169 21702005-12-09 Tim Omernick <timo@apple.com> 2171 2172 Reviewed by John Sullivan. 2173 2174 * Carbon.subproj/HIWebView.m: 2175 (UpdateCommandStatus): 2176 Don't call -performSelector:withObject: on a method that returns a BOOL; this is not guaranteed to work on all architectures. 2177 -performSelector:withObject:'s return value should only be checked if the method returns an object. 2178 21792005-12-09 Timothy Hatcher <timothy@apple.com> 2180 2181 Reviewed by nobody, build fix. 2182 2183 Using <PDFKit/PDFKit.h> was causing build failures for the Mail team. 2184 The comment about getting an ambiguous signature conflict anywhere the 2185 method "count" is used seems to no longer be an issue. 2186 2187 * WebView.subproj/WebPreferencesPrivate.h: Use <Quartz/Quartz.h> 2188 21892005-12-08 John Sullivan <sullivan@apple.com> 2190 2191 Reviewed by Tim Hatcher. 2192 2193 Some cleanup of how selection rects are associated with NSViews. 2194 2195 * WebView.subproj/WebDocumentPrivate.h: 2196 Added a -selectionView method to <WebDocumentSelection>, and clarified that the 2197 selectionRect is in the coordinate system of this view. 2198 2199 * Misc.subproj/WebSearchableTextView.m: 2200 (-[WebSearchableTextView selectionView]): 2201 new method, returns self 2202 2203 * WebView.subproj/WebHTMLView.m: 2204 (-[WebHTMLView selectionView]): 2205 new method, returns self 2206 2207 * WebView.subproj/WebPDFView.m: 2208 (-[WebPDFView selectionRect]): 2209 translate result into coordinate system of [PDFSubview documentView] 2210 (-[WebPDFView selectionView]): 2211 new method, returns [PDFSubview documentView] 2212 22132005-12-08 John Sullivan <sullivan@apple.com> 2214 2215 Reviewed by Tim Omernick and Dave Hyatt. 2216 2217 - fixed these semi-legendary bugs: 2218 <rdar://problem/4032405> Inline PDF doesn't get keyboard focus like web pages do, so can't scroll with keys without clicking 2219 <rdar://problem/4265684> PDFs use secondary selection when displaying found text (4748) 2220 2221 * WebView.subproj/WebPDFView.m: 2222 (-[WebPDFView becomeFirstResponder]): 2223 Discovered that there is indeed PDFKit API for accessing the view that becomes focused; now 2224 passes the focus down to that view. 2225 22262005-12-08 John Sullivan <sullivan@apple.com> 2227 2228 Reviewed by Tim Omernick. 2229 2230 - Added WebKit mechanism to help correctly pass the first responder into the PDF view hierarchy, 2231 in order to start addressing keyboard focus and selection highlight issues. Unfortunately this 2232 doesn't actually have any user effect yet due to problems that must be fixed in PDFKit. 2233 2234 * WebView.subproj/WebPDFView.m: 2235 (-[WebPDFView acceptsFirstResponder]): 2236 Overridden to returns YES. Needed so NSClipView knows it's OK to pass focus down to this level. 2237 (-[WebPDFView becomeFirstResponder]): 2238 With setNextKeyView:, splices the PDF view into the focus-passing mechanism in much the same 2239 way as NSScrollView and NSClipView. 2240 (-[WebPDFView setNextKeyView:]): 2241 With becomeFirstResponder:, splices the PDF view into the focus-passing mechanism in much the same 2242 way as NSScrollView and NSClipView. 2243 (-[WebPDFView resignFirstResponder]): 2244 Removed this method because the WebPDFView itself is never first responder except transiently. 2245 22462005-12-08 Maciej Stachowiak <mjs@apple.com> 2247 2248 Reviewed by John. 2249 2250 - some small changes towards frame tree refactoring 2251 2252 Renamed WebViewSets to WebFrameNamespaces, and put the method for 2253 performing a selector on all extant WebViews to WebView itself, 2254 with a separate set tracking live WebViews. This should allow 2255 moving the storage of this info down to WebCore more easily. 2256 2257 * WebCoreSupport.subproj/WebBridge.m: 2258 (-[WebBridge closeWindowSoon]): 2259 (-[WebBridge runModal]): 2260 * WebCoreSupport.subproj/WebViewFactory.m: 2261 (-[WebViewFactory refreshPlugins:]): 2262 * WebView.subproj/WebControllerSets.h: 2263 * WebView.subproj/WebControllerSets.m: 2264 (+[WebFrameNamespaces addWebView:toFrameNamespace:]): 2265 (webView::if): 2266 (+[WebFrameNamespaces webViewsInFrameNamespace:]): 2267 * WebView.subproj/WebView.m: 2268 (+[WebView _makeAllWebViewsPerformSelector:]): 2269 (-[WebView _removeFromAllWebViewsSet]): 2270 (-[WebView _addToAllWebViewsSet]): 2271 (-[WebView _close]): 2272 (-[WebView _findFrameNamed:sourceFrame:]): 2273 (-[WebView _commonInitializationWithFrameName:groupName:]): 2274 (-[WebView setGroupName:]): 2275 * WebView.subproj/WebViewInternal.h: 2276 22772005-12-08 Darin Adler <darin@apple.com> 2278 2279 Reviewed by Eric. 2280 2281 - fixed http://bugs.webkit.org/show_bug.cgi?id=5689 2282 add support for CSS "custom cursors" (cursor images) 2283 2284 * WebCoreSupport.subproj/WebImageRenderer.h: Remove declaration of TIFFRepresentation and 2285 image methods since both are required by the WebCoreImageRenderer protocol now and we don't 2286 have to re-declare them. 2287 2288 * Misc.subproj/WebNSPasteboardExtras.m: Add an import of the WebCoreImageRenderer.h file 2289 since we need to use methods inherited from that protocol. 2290 * Misc.subproj/WebNSViewExtras.m: Ditto. 2291 * WebCoreSupport.subproj/WebImageRenderer.m: Ditto. (Use and implement.) 2292 22932005-12-07 Mitz Pettel <opendarwin.org@mitzpettel.com> 2294 2295 Reviewed by Maciej, landed by Darin. 2296 2297 - fix http://bugs.webkit.org/show_bug.cgi?id=5878 2298 REGRESSION (WebTextRenderer.m r1.201): pointToOffset always takes the CG code path 2299 2300 * WebCoreSupport.subproj/WebTextRenderer.m: 2301 (-[WebTextRenderer pointToOffset:style:position:reversed:includePartialGlyphs:]): 2302 Added the missing "return". 2303 23042005-12-07 John Sullivan <sullivan@apple.com> 2305 2306 Reviewed by Tim Omernick. 2307 2308 - <rdar://problem/4331488> TOT Assertion failure in -[WebHTMLView nextValidKeyView] 2309 @ home.netscape.com 2310 2311 * WebView.subproj/WebHTMLView.m: 2312 (-[NSArray nextValidKeyView]): 2313 Removed assert that I added a while back. In this case at least, the assertion is 2314 overzealous, and I can't recreate the tortured chain of logic that led me to adding 2315 this assertion in the first place. 2316 23172005-12-06 David Harrison <harrison@apple.com> 2318 2319 Reviewed by Darin. 2320 2321 - fix <rdar://problem/4365308> Glendale Regression: Floating dictionary doesn't work well in Safari text areas/fields 2322 2323 Add use of NSAccessibilityHitTest to the list of exceptions. 2324 2325 * WebView.subproj/WebHTMLView.m: 2326 (-[WebHTMLView hitTest:]): check for NSFlagsChanged event. 2327 23282005-12-05 John Sullivan <sullivan@apple.com> 2329 2330 Reviewed by Darin Adler. 2331 2332 * WebView.subproj/WebHTMLView.m: 2333 (-[NSArray validateUserInterfaceItem:]): 2334 one more tweak: moved jumpToSelection: to be validated the same way as 2335 centerSelectionInVisibleArea:, since it now calls the same code. Might not 2336 make a difference in any real code, but you never know. 2337 23382005-12-05 John Sullivan <sullivan@apple.com> 2339 2340 Reviewed by Darin Adler. 2341 2342 * WebView.subproj/WebHTMLView.m: 2343 (-[NSArray validateUserInterfaceItem:]): 2344 removed double handling of centerSelectionInVisibleArea 2345 23462005-12-05 John Sullivan <sullivan@apple.com> 2347 2348 Reviewed by Tim Omernick. 2349 2350 - WebKit part of fix for 2351 <rdar://problem/4365690> Find > Jump to Selection does nothing on plain-text documents (inc. source HTML) 2352 2353 * WebView.subproj/WebHTMLView.m: 2354 (-[WebHTMLView jumpToSelection:]): 2355 Reimplement jumpToSelection: to call centerSelectionInVisibleArea:, and added a comment explaining why 2356 jumpToSelection: exists at all. Note that centerSelectionInVisibleArea: was already implemented here; it 2357 was added as part of HTML editing implementation without us realizing that it was the API replacement 2358 for jumpToSelection:. 2359 (-[WebHTMLView validateUserInterfaceItem:]): 2360 validate centerSelectionInVisibleArea: the same way we validate jumpToSelection: (we should have done 2361 this when centerSelectionInVisibleArea: was implemented) 2362 2363 * WebView.subproj/WebPDFView.m: 2364 (-[WebPDFView centerSelectionInVisibleArea:]): 2365 new method, same code that jumpToSelection: used to have 2366 (-[WebPDFView jumpToSelection:]): 2367 now calls centerSelectionInVisibleArea:, and there's now a comment about why it exists at all. 2368 (-[WebPDFView validateUserInterfaceItem:]): 2369 validate centerSelectionInVisibleArea: the same way we validate jumpToSelection: 2370 23712005-12-04 Tim Omernick <timo@apple.com> 2372 2373 Reviewed by Dave Harrison, John Sullivan. 2374 2375 <rdar://problem/4364847> REGRESSION: QuickTime movies open without controller or don't open at all (5928) 2376 2377 I changed WebFrameView on 2005-11-29 so that it avoids creating duplicate WebPluginDocumentViews. 2378 Unfortunately, this change caused a regression due to the fact that it subtly changed when plugins are 2379 initialized. Certain plugins (e.g. QuickTime) expect to be initialized after the WebPluginDocumentView 2380 has been "committed" (inserted into the view hierarchy). 2381 2382 My fix is to ensure that the plugin is initialized where we previously would have created that second 2383 WebPluginDocumentView -- that is, the plugin is created after the WebPluginDocumentView has been committed. 2384 2385 * Plugins.subproj/WebPluginDocumentView.m: 2386 (-[WebPluginDocumentView setDataSource:]): 2387 Don't initialize the plugin if the WebPluginDocumentView has not been inserted into the view hierarchy. 2388 We assume here that a later call to -setDataSource: will pass this conditional, once the WebDocumentView 2389 has been committed. 2390 23912005-12-02 Justin Garcia <justin.garcia@apple.com> 2392 2393 <rdar://problem/4345030> 2394 Denver REGRESSION (10.4.2-10.4.3): Two identical warnings on "Back" from Amazon's package tracker 2395 2396 Before checking the navigation policy for a request, the request is compared 2397 against the last checked request. If the two are the same, no check is done. 2398 In the bug, the two requests are identical except for the boolean on 2399 NSURLRequests that tells Foundation to support multipart loads for that request. 2400 One request was the one that was used to start servicing "Back" operation, and 2401 the second was being used to start loading the page (it needed to be reloaded 2402 because it was the result of a form submission). Set the boolean on all 2403 NSURLRequests, not just one's that are about to be used to start a load. 2404 2405 Reviewed by harrison 2406 2407 * WebView.subproj/WebDataSource.m: 2408 (-[WebDataSource _startLoading:]): 2409 (-[WebDataSource initWithRequest:]): 2410 * WebView.subproj/WebDataSourcePrivate.h: 2411 24122005-12-01 Darin Adler <darin@apple.com> 2413 2414 Reviewed by Vicki. 2415 2416 - fix <rdar://problem/4349721> Regression: Hovering over menu item doesn't highlight menu item or 2417 mousing up on menu item in applet does not open URL in new window at smartmoney.com 2418 2419 Since Java depends on doing a hit test inside it's mouse moved handling, let hit testing on Java 2420 applets go through the standard NSView code path. Since this should only happen for Java, add a global 2421 so that we can Use our own WebHTMLView hit testing when calling from _updateMouseoverWithEvent. 2422 2423 * WebView.subproj/WebHTMLView.m: 2424 (-[WebHTMLView _hitViewForEvent:]): rename forceRealHitTest to forceNSViewHitTest 2425 (-[WebHTMLView _updateMouseoverWithEvent:]): set global variable to force a WebHTMLView-style hit test from here 2426 (-[WebHTMLView hitTest:]): perform the appropriate hit test based on global variables 2427 24282005-11-29 Andrew Wellington <proton@wiretapped.net> 2429 2430 Reviewed by darin. Committed by eseidel. 2431 2432 Fix for: http://bugs.webkit.org/show_bug.cgi?id=4726 2433 Drop of multiple non-image file URLs only yields one item 2434 2435 * WebView.subproj/WebHTMLView.m: 2436 (-[WebHTMLView _documentFragmentWithPaths:]): 2437 24382005-11-29 Tim Omernick <timo@apple.com> 2439 2440 Reviewed by John Sullivan, Eric Seidel 2441 2442 <rdar://problem/4340787> Safari & Dashcode create 2 instances of the QC plug-in 2443 2444 * WebView.subproj/WebFrameView.m: 2445 (-[WebFrameView _makeDocumentViewForDataSource:]): 2446 Instead of creating a new WebDocumentView, use the WebDataSource's representation if it is a WebDocumentView 2447 of the appropriate class. Right now, this can only happen when the loading document is a standalone WebKit 2448 plugin, because WebPluginDocumentView is both the WebDocumentView and the WebDocumentRepresentation for that 2449 kind of page load. 2450 2451 I have verified that this does not affect other kinds of page loads; in all other cases, the representation 2452 class is distinct from the document view class. 2453 2454 I talked with Chris Blumenberg about this change (he knows this code), and he agreed that this is the right 2455 approach. 2456 24572005-11-28 Alexey Proskuryakov <ap@nypop.com> 2458 2459 Reviewed by Darin. Committed by Maciej. 2460 2461 - fixed "Word completion doesn't work at end of word (unless last word)" 2462 (http://bugs.webkit.org/show_bug.cgi?id=4062) 2463 2464 * WebView.subproj/WebHTMLView.m: 2465 (-[WebTextCompleteController doCompletion]): 2466 24672005-11-28 John Sullivan <sullivan@apple.com> 2468 2469 Reviewed by Tim Omernick. 2470 2471 Probable fix for <rdar://problem/4356060> crash in -[WebHistoryItem _mergeAutoCompleteHints:] 2472 2473 * History.subproj/WebHistory.m: 2474 (-[WebHistoryPrivate addItem:]): 2475 retain/release oldEntry until we're done with it, since removing it from dictionary might 2476 cause it to be dealloc'ed otherwise. 2477 2478 * History.subproj/WebHistoryItem.m: 2479 (-[WebHistoryItem _mergeAutoCompleteHints:]): 2480 added an assert 2481 24822005-11-26 Alexey Proskuryakov <ap@nypop.com> 2483 2484 Reviewed by mjs. Committed by eseidel. 2485 2486 Fix for http://bugs.webkit.org/show_bug.cgi?id=5230 2487 "characterIndexForPoint: not yet implemented" 2488 2489 * WebView.subproj/WebHTMLView.m: 2490 (-[WebHTMLView characterIndexForPoint:]): 2491 (-[WebHTMLView firstRectForCharacterRange:]): 2492 24932005-11-22 Darin Adler <darin@apple.com> 2494 2495 * WebView.subproj/WebView.h: Fixed incorrect comment in public header. 2496 24972005-11-18 Vicki Murley <vicki@apple.com> 2498 2499 Changes by Tim H, reviewed by Vicki. 2500 2501 - call shouldClose on the bridge for the main frame 2502 2503 * WebView.subproj/WebView.m: 2504 (-[WebView shouldClose]): 2505 25062005-11-18 Vicki Murley <vicki@apple.com> 2507 2508 Changes by Darin, reviewed by Beth and Vicki. 2509 2510 - fix <rdar://problem/3939265> support "before unload" event and onbeforeunload handler (supported by both IE and Mozilla) 2511 2512 * WebCoreSupport.subproj/WebBridge.m: 2513 (-[WebBridge canRunBeforeUnloadConfirmPanel]): 2514 (-[WebBridge runBeforeUnloadConfirmPanelWithMessage:]): 2515 * WebView.subproj/WebFrame.m: 2516 (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]): 2517 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): 2518 * WebView.subproj/WebUIDelegatePrivate.h: 2519 * WebView.subproj/WebView.m: 2520 (-[WebView shouldClose]): 2521 * WebView.subproj/WebViewPrivate.h: 2522 25232005-11-10 Maciej Stachowiak <mjs@apple.com> 2524 2525 Build fix, not reviewed. 2526 2527 * Plugins.subproj/WebBaseNetscapePluginViewInternal.h: Added. 2528 25292005-11-10 Tim Omernick <timo@apple.com> 2530 2531 Reviewed by Geoff. 2532 2533 <rdar://problem/4237941> Dashboard needs a way to stop Netscape plug-ins from getting null events 2534 2535 * Plugins.subproj/WebBaseNetscapePluginViewInternal.h: Added. 2536 Added WebInternal category, with -stopNullEvents and -restartNullEvents. These methods already exist on WebBaseNetscapePluginView. 2537 I am just exposing them to callers elsewhere within WebKit. 2538 2539 * WebKit.xcodeproj/project.pbxproj: 2540 Added WebBaseNetscapePluginViewInternal.h. 2541 2542 * WebView.subproj/WebFrame.m: 2543 (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]): 2544 Walks down the web frame hierarchy and calls -_pauseNullEventsForAllNetscapePlugins on each WebHTMLView. 2545 (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]): 2546 Same as above, but calls -_resumeNullEventsForAllNetscapePlugins. 2547 2548 * WebView.subproj/WebFramePrivate.h: 2549 Declared -_recursive_pauseNullEventsForAllNetscapePlugins and -_recursive_pauseNullEventsForAllNetscapePlugins. 2550 2551 * WebView.subproj/WebHTMLView.m: 2552 (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]): 2553 Checks subviews for WebBaseNetscapePluginViews, and calls -stopNullEvents on them. 2554 (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]): 2555 Same as above, but calls -restartNullEvents. 2556 2557 * WebView.subproj/WebHTMLViewInternal.h: 2558 Declared -_pauseNullEventsForAllNetscapePlugins and -_resumeNullEventsForAllNetscapePlugins. 2559 25602005-11-07 Geoffrey Garen <ggaren@apple.com> 2561 2562 Darin reviewed this a while back. 2563 2564 - Fixed <rdar://problem/4161660> window.close followed by window.print 2565 in onload handler crashes Safari in KJS::ScopeChain::bottom 2566 (redmccombstoyota.com) 2567 2568 Added a call to stopLoading inside closeWindowSoon to prevent load 2569 events from firing after a window has torn down. 2570 2571 Manual test case: WebCore/manual-tests/window-close-during-parsing.html 2572 2573 * WebCoreSupport.subproj/WebBridge.m: 2574 (-[WebBridge closeWindowSoon]): 2575 25762005-11-03 Timothy Hatcher <timothy@apple.com> 2577 2578 Reviewed by Darin and Vicki. 2579 2580 * WebKit.xcodeproj/project.pbxproj: 2581 Change to use $(SYSTEM_LIBRARY_DIR) consistently and place 2582 $(NEXT_ROOT) in a few spots to make build-root work. 2583 25842005-11-01 Tim Omernick <timo@apple.com> 2585 2586 Reviewed by John Sullivan. 2587 2588 <rdar://problem/4318632> 2589 2590 I've added a new notification, WebPluginWillPresentNativeUserInterfaceNotification. Plugins are expected to post this 2591 notification before presenting "native UI", such as dialog boxes. A Dashboard client can observe this notification to 2592 hide the Dashboard layer when plugins present external UI. 2593 2594 * English.lproj/StringsNotToBeLocalized.txt: 2595 Added "WebPluginWillPresentNativeUserInterface". 2596 2597 * Plugins.subproj/WebPluginsPrivate.h: Added. 2598 * Plugins.subproj/WebPluginsPrivate.m: Added. 2599 Declare WebPluginWillPresentNativeUserInterfaceNotification. 2600 2601 * WebKit.xcodeproj/project.pbxproj: 2602 Added WebPluginsPrivate.[hm] 2603 2604 * WebKit.exp: 2605 Added _WebPluginWillPresentNativeUserInterfaceNotification. 2606 26072005-11-01 John Sullivan <sullivan@apple.com> 2608 2609 Reviewed by Darin Adler. 2610 2611 fixed deployment build by hiding local variables used only in ASSERTs on builds for 2612 which ASSERT_DISABLED is true. 2613 2614 * History.subproj/WebHistory.m: 2615 (-[WebHistoryPrivate removeItemForURLString:]): 2616 (-[WebHistoryPrivate setLastVisitedTimeInterval:forItem:]): 2617 26182005-11-01 John Sullivan <sullivan@apple.com> 2619 2620 Reviewed by Tim Omernick. 2621 2622 - fixed <rdar://problem/4324104> Assertion failure (foundDate) in WebHistory 2623 2624 WebFrame was updating the last visited date on a WebHistoryItem behind WebHistory's 2625 back, causing WebHistory's caches of items by date to get out of sync with reality. 2626 Changed to set the date through WebHistory rather than directly. 2627 2628 * History.subproj/WebHistory.m: 2629 (-[WebHistoryPrivate _removeItemFromDateCaches:]): 2630 New method, extracted from removeItemForURLString. 2631 (-[WebHistoryPrivate removeItemForURLString:]): 2632 Now calls extracted method. Cleaned up white space a little. 2633 (-[WebHistoryPrivate _addItemToDateCaches:]): 2634 New method, extracted from addItem: 2635 (-[WebHistoryPrivate addItem:]): 2636 Now calls extracted method. Cleaned up white space a little. 2637 (-[WebHistoryPrivate setLastVisitedTimeInterval:forItem:]): 2638 New method, removes item from date caches, changes date, then adds item back to 2639 date caches and sends notification. 2640 (-[WebHistory setLastVisitedTimeInterval:forItem:]): 2641 New method, cover for WebHistoryPrivate version. 2642 2643 * History.subproj/WebHistoryItem.m: 2644 (-[WebHistoryItem _setLastVisitedTimeInterval:]): 2645 Don't send notification here; send from new WebHistory method instead. 2646 2647 * History.subproj/WebHistoryItemPrivate.h: 2648 Added comment about avoiding incorrect use of _setLastVisitedTimeInterval: 2649 * History.subproj/WebHistoryPrivate.h: 2650 Added declarations for WebHistory and WebHistoryPrivate versions of 2651 setLastVisitedTimeInterval:forItem: 2652 2653 * WebView.subproj/WebFrame.m: 2654 (-[WebFrame _transitionToCommitted:]): 2655 change history item's date via new WebHistory method rather than directly 2656 26572005-10-25 Timothy Hatcher <timothy@apple.com> 2658 2659 Reviewed by Darin. 2660 2661 Remove the use of a stamp file in the Frameworks symlink build phase. 2662 This lets us pass the build verification. 2663 2664 * WebKit.xcodeproj/project.pbxproj: 2665 26662005-10-24 Darin Adler <darin@apple.com> 2667 2668 Reviewed by Geoff. 2669 2670 - change internal methods in WebTextRenderer to be functions in case this 2671 has any effect on speed (also makes things a bit clearer, in my opinion) 2672 2673 * WebCoreSupport.subproj/WebTextRenderer.h: Made all fields public, which is 2674 OK since this is really a private class. Made setAlwaysUseATSU: class method 2675 public too for the same reason. 2676 2677 * WebCoreSupport.subproj/WebTextRenderer.m: Change all methods to functions. 2678 (destroy): Function name for method free. 2679 (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]): Removed code to first subtract 2680 lineSpacing - descent, then later add it back. 2681 (getSmallCapsRenderer): Function name for method smallCapsRenderer. 2682 (findSubstituteFont): Function name for method substituteFontForString:families:. 2683 (findSubstituteRenderer): Function name for method substituteRendererForCharacters:length:families:. 2684 (updateGlyphMapEntry): Function name for method updateGlyphEntryForCharacter:glyphID:substituteRenderer:. 2685 (extendGlyphMap): Function name for method extendCharacterToGlyphMapToInclude:. 2686 (extendWidthMap): Function name for method extendGlyphToWidthMapToInclude:. 2687 (getTextBounds): Function name for method trapezoidForRun:style:atPoint:. 2688 26892005-10-24 Mitz Pettel <opendarwin.org@mitzpettel.com> 2690 2691 Reviewed by Darin. Committed by David Harrison. 2692 2693 http://bugs.webkit.org/show_bug.cgi?id=5415 2694 "Left border of selection highlight leaves behind a trail" 2695 2696 * manual-tests/drag_select_highlighting.html: Added. 2697 (this test case was added to WebCore) 2698 2699 * WebCoreSupport.subproj/WebTextRenderer.m: 2700 (overrideLayoutOperation): 2701 (-[WebTextRenderer CG_drawHighlightForRun:style:geometry:]): 2702 (-[WebTextRenderer ATSU_drawHighlightForRun:style:geometry:]): 2703 (advanceWidthIterator): 2704 2705 27062005-10-23 Tim Omernick <tomernick@apple.com> 2707 2708 Reviewed by Dave Hyatt. 2709 2710 <http://bugs.webkit.org/show_bug.cgi?id=5365> 2711 2712 Send -webPlugInStop (or -pluginStop) and -webPluginDestroy (or -pluginDestroy) 2713 to complying plugins right when they're removed from the WebHTMLView, and also 2714 release them from the plugin controller's arrays. 2715 2716 I think this patch makes WebKit behave more like plugins expect it to, which is 2717 the way it already behaves with Netscape plugins. 2718 2719 I expect complying plugins to stop making noise when receiving the stop 2720 message, but QuickTime doesn't. If it's lucky, then it will be deallocated 2721 because of the release and will stop then. However, JS, for one, can retain the 2722 plugin (e.g. if you execute <javascript:document.getElementById('obj').width;> 2723 before clicking Remove OBJECT), in which case it will just keep playing. 2724 2725 * Plugins.subproj/WebPluginController.h: 2726 * Plugins.subproj/WebPluginController.m: 2727 (-[WebPluginController destroyPlugin:]): 2728 Stop and destroy the plugin. 2729 * WebView.subproj/WebHTMLView.m: 2730 (-[NSArray willRemoveSubview:]): 2731 Destroy plugins when they are removed from the HTML view. 2732 27332005-10-23 Geoffrey Garen <ggaren@apple.com> 2734 2735 Reviewed by Maciej. 2736 2737 For better abstraction, made the tokenizer -- instead of the 2738 data source -- responsible for calling [WebFrame _checkLoadComplete] 2739 when the tokenizer stops. 2740 2741 * WebView.subproj/WebDataSource.m: 2742 (-[WebDataSource _stopLoadingInternal]): 2743 27442005-10-21 Geoffrey Garen <ggaren@apple.com> 2745 2746 Reviewed by darin. 2747 2748 WebKit side of the fix for <rdar://problem/4184719> window.print() followed by 2749 window.close() causes world leak 2750 2751 No test case added because I have another reviewed patch that will include a test 2752 for this bug as well as many others. 2753 2754 Under some conditions, [WebDataSource stopLoading] did not set [WebDataSource isLoading] 2755 to false, so the didFInishLoad delegates never fired. 2756 2757 The reason isLoading didn't become false was that the tokenizer was still running. 2758 The fix here is to move the call to [WebCoreBridge stopLoading] above the early return 2759 inside [WebDataSource stopLoading] -- since the tokenizer may still be running even if the 2760 loader is finished loading -- and then to call [WebFrame _checkLoadComplete] to 2761 give the frame a chance to fire its delegates. 2762 2763 * WebView.subproj/WebDataSource.m: 2764 (-[WebDataSource _stopLoadingInternal]): 2765 27662005-10-21 Beth Dakin <bdakin@apple.com> 2767 2768 Reviewed by Darin?? 2769 2770 Fix for <rdar://problem/3853672> Malformed HTML using crashes Safari in NSFireTimer 2771 2772 The webFrame was being deleted prematurely by a call to stop(), so we changed it 2773 so that the calls to _receivedMainResourceError and _mainReceivedError happen 2774 before the stop(), and we retain the bridge. 2775 2776 * WebView.subproj/WebDataSource.m: 2777 (-[WebDataSource _receivedMainResourceError:complete:]): 2778 27792005-10-21 Geoffrey Garen <ggaren@apple.com> 2780 2781 Patch by TimO, Reviewed by hyatt, tested and landed by me. 2782 2783 Found what appears to be a misguided optimization that actually causes a measurable performance problem. 2784 A fixed-size buffer was allocated on the stack to pass into CFURLGetBytes(), presumably to avoid malloc() 2785 for URLs less than 2048 bytes. There was also a fallback which malloc()'ed a buffer in case the fixed-size 2786 buffer was too small to hold the URL's bytes. This malloc()'ed buffer was then wrapped in an NSData using 2787 +dataWithBytesNoCopy:length:, avoiding a memory copy (yay!) 2788 2789 The problem with this approach is two-fold: 2790 2791 1. Regardless of how the buffer was allocated and filled, it is immediately wrapped in an NSData using 2792 +dataWithBytes:length:, which copies the input bytes. This is pretty much unavoidable; we need to get 2793 the data into a malloc()'ed buffer to return it to the caller, unless the caller provides its own storage 2794 (which would be super inconvenient). 2795 2796 2. The size of the fixed buffer was large enough that it fit most (if not all) URLs involved in our Page 2797 Load Test. This means the unintentionally-inefficient case was by far the most *common* case! 2798 2799 My fix is to malloc() the buffer from the start, and then use +[NSData dataWithBytes:length:freeWhenDone:] 2800 to wrap the buffer in an NSData. This avoids a memory copy for the normal case where a URL is less than 2801 2048 bytes, and keeps the efficient behavior for the uncommon long URL case. 2802 2803 * Misc.subproj/WebNSURLExtras.m: 2804 (-[NSURL _web_originalData]): 2805 28062005-10-21 Mitz Pettel <opendarwin.org@mitzpettel.com> 2807 2808 Reviewed and landed by Darin. 2809 2810 - fixed a couple regressions caused by my last check-in 2811 http://bugs.webkit.org/show_bug.cgi?id=5437 2812 http://bugs.webkit.org/show_bug.cgi?id=5443 2813 2814 * WebCoreSupport.subproj/WebTextRenderer.m: 2815 (-[WebTextRenderer CG_drawHighlightForRun:style:geometry:]): Compute background width 2816 correctly, by subtracting position after run from position before run. 2817 (addDirectionalOverride): Make the range include only the characters between the 2818 directional override characters, not the directional override characters themselves. 2819 (initializeWidthIterator): Correctly compute "widthToStart" based on the offset to 2820 the beginning of the run, not to the end of the run! 2821 28222005-10-19 Darin Adler <darin@apple.com> 2823 2824 Reviewed by Maciej. 2825 2826 - optimizations for a total of about 1% speed-up on PLT 2827 2828 * WebCoreSupport.subproj/WebTextRenderer.h: Updated to use bool instead of BOOL, 2829 since BOOL is a signed char (which is not so efficient, at least on PPC). 2830 * WebCoreSupport.subproj/WebTextRenderer.m: 2831 (isSpace): Changed BOOL to bool and UniChar to UChar32. This actually fixes a 2832 potential bug when the passed-in character is a non-BMP character (> FFFF). 2833 (isRoundingHackCharacter): Ditto. 2834 (widthForGlyph): Merged getUncachedWidth, widthFromMap, and widthForGlyph into 2835 one function. Marked it inline. Changed to include syntheticBoldOffset in the 2836 cached widths to save an add in the cached case. Instead of the special constant 2837 UNINITIALIZED_GLYPH_WIDTH, just check for a width >= 0. This allows us to use 2838 a negative number or NAN for the uninitialized width value -- I chose NAN. 2839 (overrideLayoutOperation): Use bool instead of Boolean in one place. 2840 (-[WebTextRenderer initWithFont:]): Use lroundf instead of ROUND_TO_INT. 2841 (-[WebTextRenderer floatWidthForRun:style:]): Put the code to choose the ATSU 2842 vs. CG code path back in here, because there are no callers inside the class 2843 that need to call both. 2844 (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]): 2845 Use bool instead of BOOL. 2846 (+[WebTextRenderer setAlwaysUseATSU:]): Ditto. 2847 (fontContainsString): Ditto. 2848 (-[WebTextRenderer computeWidthForSpace]): Ditto. Also use roundf instead of 2849 using ROUND_TO_INT. 2850 (-[WebTextRenderer setUpFont]): Use bool instead of BOOL. 2851 (drawGlyphs): Ditto. 2852 (-[WebTextRenderer CG_drawHighlightForRun:style:geometry:]): Restructure the 2853 code so it can use the new advanceWidthIterator function instead of the old 2854 widthForNextCharacter function. 2855 (-[WebTextRenderer CG_drawRun:style:geometry:]): Use malloc instead of calloc 2856 since we don't need initialization. Call CG_floatWidthForRun instead of 2857 floatWidthForRun -- no need to re-check whether to use the CG or ATSU code path. 2858 Removed code to handle a renderer of 0 since we no longer generate that in 2859 the renderers array in advanceWidthIterator. 2860 (CG_floatWidthForRun): Changed to call the new advanceWidthIterator instead of 2861 the old widthForNextCharacter. 2862 (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): Use malloc instead of 2863 calloc and explicitly initialize the one field that needs it. Fixed a potential 2864 storage leak by adding a call to WKClearGlyphVector. Initialize the renderers 2865 to self instead of to 0. 2866 (-[WebTextRenderer extendGlyphToWidthMapToInclude:]): Initialize the widths to 2867 NAN instead of UNINITIALIZED_GLYPH_WIDTH. 2868 (addDirectionalOverride): Fixed bug where the first and last character in the buffer 2869 could be uninitialized and where characters before and after the direction override 2870 could be incorrect. 2871 (-[WebTextRenderer ATSU_drawRun:style:geometry:]): Use bool instead of BOOL. 2872 (-[WebTextRenderer ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]): 2873 Ditto. 2874 (advanceWidthIteratorOneCharacter): Added new helper function for CG_pointToOffset. 2875 (-[WebTextRenderer CG_pointToOffset:style:position:reversed:includePartialGlyphs:]): 2876 Reimplemented to use advanceWidthIteratorOneCharacter instead of widthForNextCharacter. 2877 Also call CG_floatWidthForRun instead of floatWidthForRun since we don't need to 2878 reconsider whether to use CG or ATSU. 2879 (glyphForCharacter): Removed the map parameter and changed the renderer parameter to 2880 be an in-out one. Removed uneeded special case for when map is 0 and always get the 2881 renderer from the map. Also call extendCharacterToGlyphMapToInclude in here instead of 2882 making that the caller's responsibility. 2883 (initializeWidthIterator): Renamed to make the name shorter (removed "Character"). 2884 Streamlned common cases like "no padding" and removed some unneeded casts. Changed to 2885 use advanceWidthIterator to compute width fo the first part of the run. 2886 (normalizeVoicingMarks): Factored this out into a separate function, since it's not part 2887 of the common case. 2888 (advanceWidthIterator): Changed widthForNextCharacter to this, eliminating per-character 2889 function overhead for iterating past a few characters. Merged the handling of surrogate 2890 pairs and of voicing marks so that we typically only have to do one "if" to rule out both. 2891 Merged the mirroring for RTL and uppercasing for small caps into a single boolean so that 2892 we only need one "if" to rule out both. Call the new glyphForCharacter. Check for the 2893 character '\t' first since that's cheaper than looking at tabWidth. Check tabWidth for 0 2894 first so that we don't have to convert it to floating point when not using it. Changed 2895 the special case for spaces to first check width, so that we don't bother with the rest 2896 of the code for glyphs not the same width as spaces. Fixed substitution code to call 2897 CG_floatWidthForRun -- no need to reconsider whether to use CG or ATSU. Also changed to 2898 properly get width from the result of that function. Merged the handling of letter spacing, 2899 padding, and word spacing into a single boolean so that we typically only have to do one 2900 "if" to rule out all three. Check for letterSpacing of 0 first so that we don't have to 2901 convert it to floating point when not using it. Same for padding and wordSpacing. 2902 Move the work from ceilCurrentWidth in line into this function. Assume that either we have 2903 all three pointers (widths, renderers, glyphs), or none of the three, to cut down on branches. 2904 (fillStyleWithAttributes): Use bool instead of BOOL. 2905 (shouldUseATSU): Ditto. 2906 2907 * Misc.subproj/WebKitNSStringExtras.m: (-[NSString _web_widthWithFont:]): Update since 2908 the floatWidthForRun method no longer takes a widths parameter. 2909 * Misc.subproj/WebStringTruncator.m: (stringWidth): Ditto. 2910 29112005-10-19 Tim Omernick <tomernick@apple.com> 2912 2913 Reviewed by eseidel & darin. 2914 2915 Changed some of the run measurement methods to C functions 2916 to avoid overhead associated with objc_msgSend(). 2917 2918 * WebCoreSupport.subproj/WebTextRenderer.m: 2919 (-[WebTextRenderer floatWidthForRun:style:widths:]): 2920 Updated to call new run measurement functions instead 2921 of calling ObjC methods. 2922 (-[WebTextRenderer CG_drawRun:style:geometry:]): ditto 2923 (floatWidthForRun): ditto 2924 (CG_floatWidthForRun): ditto 2925 (ATSU_floatWidthForRun): ditto 2926 (widthForNextCharacter): ditto 2927 29282005-10-14 Vicki Murley <vicki@apple.com> 2929 2930 Changes by Mitz Pettel, reviewed by Maciej. 2931 2932 Fix http://bugs.webkit.org/show_bug.cgi?id=5029 (Assertion failure in -[NSPasteboard(WebExtras) 2933 _web_writeImage:URL:title:archive:types:] when trying to drag an image from a site with no favicon) 2934 2935 * Misc.subproj/WebNSPasteboardExtras.m: 2936 (-[NSPasteboard _web_writeImage:URL:title:archive:types:]): Prefer the main resource if it is an image 2937 29382005-10-12 Vicki Murley <vicki@apple.com> 2939 2940 Reviewed by Darin. 2941 2942 - fix <rdar://problem/4043643> iframe swallows events for overlapping elements (3449) 2943 2944 * WebView.subproj/WebHTMLView.m: 2945 (-[WebHTMLView hitTest:]): 2946 (-[WebHTMLView _updateMouseoverWithEvent:]): eliminate _hitViewForEvent hackery and self 2947 dependency from this function 2948 29492005-10-12 Timothy Hatcher <timothy@apple.com> 2950 2951 Reviewed by Darin. 2952 2953 Define WebNSInt and WebNSUInt to wrap around NSInt on Leopard and still build on Tiger 2954 Once building on Tiger isn't needed we will drop WebNSInt and use NSInt 2955 2956 * WebView.subproj/WebDefaultResourceLoadDelegate.m: 2957 (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveContentLength:fromDataSource:]): 2958 * WebView.subproj/WebFrame.m: 2959 (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]): 2960 * WebView.subproj/WebLoader.m: 2961 (-[NSURLProtocol didReceiveData:lengthReceived:]): 2962 * WebView.subproj/WebResourceLoadDelegate.h: 2963 * WebView.subproj/WebUIDelegate.h: 2964 * WebView.subproj/WebView.h: 2965 * WebView.subproj/WebView.m: 2966 (-[WebView _mouseDidMoveOverElement:modifierFlags:]): 2967 (-[WebView spellCheckerDocumentTag]): 2968 * WebView.subproj/WebViewInternal.h: 2969 * WebView.subproj/WebViewPrivate.h: 2970 29712005-10-12 Darin Adler <darin@apple.com> 2972 2973 * WebView.subproj/WebPolicyDelegate.h: Fix a comment. 2974 29752005-10-11 Timothy Hatcher <timothy@apple.com> 2976 2977 Reviewed by Darin. 2978 2979 Test for 10.4 because of <rdar://problem/4243463> 2980 2981 * WebView.subproj/WebHTMLView.m: 2982 (-[WebHTMLView conversationIdentifier]): 2983 29842005-10-11 Adele Peterson <adele@apple.com> 2985 2986 Rolling out fix for http://bugs.webkit.org/show_bug.cgi?id=5195 2987 since it caused: 2988 2989 REGRESSION text areas draw focus ring around each glyph, no caret in text fields 2990 http://bugs.webkit.org/show_bug.cgi?id=5335 2991 2992 * WebView.subproj/WebHTMLView.m: 2993 (-[WebHTMLView _propagateDirtyRectsToOpaqueAncestors]): 2994 (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]): 2995 (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]): 2996 29972005-10-09 Darin Adler <darin@apple.com> 2998 2999 Reviewed by Maciej. 3000 3001 - fixed http://bugs.webkit.org/show_bug.cgi?id=5195 3002 Would like API to flush rendering of pending DOM changes 3003 3004 This was actually a Tiger regression. When AppKit added a new code path for rendering 3005 NSView, our special hack for doing layout when we draw didn't work any more. So we 3006 were able to fix this without adding any API. 3007 3008 * WebView.subproj/WebHTMLView.m: 3009 (-[WebHTMLView _recursiveDisplayRectIgnoringOpacity:inContext:topView:]): Added. 3010 Does the same thing that other _recursiveDisplay methods do. 3011 30122005-10-08 Alexey Proskuryakov <ap@nypop.com> 3013 3014 Reviewed by Maciej. 3015 3016 - fixed http://bugs.webkit.org/show_bug.cgi?id=5187 3017 UTF-8 in long text files breaks at some point 3018 3019 * WebView.subproj/WebTextRepresentation.m: 3020 (-[WebTextRepresentation finishedLoadingWithDataSource:]): 3021 Call flushReceivedData on the WebTextView so it can decode any final bytes. 3022 3023 * WebView.subproj/WebTextView.h: Added WebCoreTextDecoder field and flushReceivedData method. 3024 * WebView.subproj/WebTextView.m: 3025 (-[WebTextView dealloc]): Release WebCoreTextDecoder. 3026 (-[WebTextView appendReceivedData:fromDataSource:]): Create a WebCoreTextDecoder to decode 3027 the text; use the textEncodingName from the data source. Use it to decode instead of the 3028 data source's stringWithData. 3029 (-[WebTextView flushReceivedData]): Call flush on the decoder and append any last bytes to 3030 the text view. 3031 30322005-10-07 John Sullivan <sullivan@apple.com> 3033 3034 Reviewed by Tim Omernick. 3035 3036 WebKit support for allowing clients to know which frame originated a particular JavaScript alert/dialog. 3037 3038 * WebView.subproj/WebUIDelegatePrivate.h: 3039 New optional delegate methods for the three JavaScript alert/dialogs. These are just like the existing 3040 ones in WebUIDelegate.h except that each adds a parameter specifying the frame that the JavaScript was 3041 running in. Eventually we'll deprecate the old three methods in favor of these in the public API. 3042 3043 * WebCoreSupport.subproj/WebBridge.m: 3044 (-[WebBridge runJavaScriptAlertPanelWithMessage:]): 3045 Call version of the delegate method that has the frame parameter if the delegate supports it. 3046 (-[WebBridge runJavaScriptConfirmPanelWithMessage:]): 3047 ditto 3048 (-[WebBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]): 3049 ditto 3050 3051 * WebView.subproj/WebDefaultUIDelegate.m: 3052 (-[WebDefaultUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:]): 3053 Now implements the new version of the delegate method that includes the frame parameter. (Still 3054 doesn't do anything though.) 3055 (-[WebDefaultUIDelegate webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:]): 3056 Now implements the new version of the delegate method that includes the frame parameter. (Still 3057 doesn't do anything though.) 3058 (-[WebDefaultUIDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:]): 3059 Now implements the new version of the delegate method that includes the frame parameter. Doesn't 3060 actually use the frame parameter here yet though. 3061 30622005-10-06 Darin Adler <darin@apple.com> 3063 3064 - fixed compiling on Deployment 3065 3066 * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer initWithFont:]): 3067 Put initialFont inside !LOG_DISABLED. 3068 30692005-10-06 Darin Adler <darin@apple.com> 3070 3071 Reviewed by Eric. 3072 3073 - tweaked formatting 3074 3075 * WebCoreSupport.subproj/WebTextRenderer.m: Changed function names to remove underscores; 3076 fixed formatting to match our coding guidelines, other related tweaks. 3077 30782005-10-06 Darin Adler <darin@apple.com> 3079 3080 Reviewed by Eric. 3081 3082 - fixed regression in drawing of text in non-flipped contexts from my last check-in 3083 3084 * WebCoreSupport.subproj/WebTextRenderer.m: 3085 (drawGlyphs): Only flip the matrix if the NSGraphicsContext is flipped. 3086 (-[WebTextRenderer _ATSU_drawRun:style:geometry:]): Use -[NSGraphicsContext isFlipped] 3087 instead of [[NSView focusView] isFlipped]. 3088 30892005-10-06 Darin Adler <darin@apple.com> 3090 3091 Reviewed by Hyatt. 3092 3093 - fixed <rdar://problem/3217793> Monaco bold comes out as Helvetica bold, very bad if you choose Monaco as your fixed-width font 3094 - fixed <rdar://problem/3256269> CSS1: bold/italic font styles not programmatically created if font doesn't include them (3231) 3095 also <http://bugs.webkit.org/show_bug.cgi?id=3231> 3096 3097 * WebCoreSupport.subproj/WebTextRenderer.h: Removed public declarations of private structures that are not 3098 used in the header. Removed the separate 16-bit character map; the difference in code size is only a few 3099 bytes per page and there's no measurable performance difference by always using the 32-bit character version. 3100 Removed substitute font width maps altogether, since we now use the width map in the substitute font's renderer. 3101 Also removed a few more now-unused fields and methods. Changed initWithFont to take WebCoreFont. Changed 3102 the setAlwaysUseATSU: method to remove the underscore prefix. 3103 3104 * WebCoreSupport.subproj/WebTextRenderer.m: 3105 (getUncachedWidth): Get font from WebCoreFont directly instead of taking a parameter, since we now use only 3106 one NSFont per WebTextRenderer. 3107 (widthFromMap): Removed NSFont parameter for same reason as above; simplified. 3108 (widthForGlyph): Ditto. 3109 (overrideLayoutOperation): Updated for change to WebCoreFont. 3110 (-[WebTextRenderer initWithFont:]): Changed to use WebCoreFont. Removed code to deal with substitute font maps. 3111 Changed lineGap computation to use floats instead of doubles. Added code to compute a synthetic bold offset. 3112 Currently this is the font size divided by 24 and then rounded up to an integer. 3113 (-[WebTextRenderer dealloc]): Updated for change to WebCoreFont and other related changes. 3114 (-[WebTextRenderer finalize]): Ditto. 3115 (-[WebTextRenderer xHeight]): Ditto. 3116 (-[WebTextRenderer drawRun:style:geometry:]): Remove small caps case here; no longer needed. Also updated as above. 3117 (-[WebTextRenderer floatWidthForRun:style:widths:]): Ditto. 3118 (-[WebTextRenderer drawHighlightForRun:style:geometry:]): Ditto. 3119 (-[WebTextRenderer pointToOffset:style:position:reversed:includePartialGlyphs:]): Ditto. 3120 (+[WebTextRenderer setAlwaysUseATSU:]): Renamed to remove underscore prefix. 3121 (-[WebTextRenderer smallCapsRenderer]): Ditto. Changed to create a renderer for the smaller sized font. 3122 (-[WebTextRenderer _substituteFontForString:families:]): Reorganized this to be more readable and to call 3123 the new rendererForAlternateFont method. 3124 (-[WebTextRenderer rendererForAlternateFont:]): Added. Used to select an alternate font taking into account 3125 bold and italic synthesis. 3126 (-[WebTextRenderer substituteRendererForCharacters:length:families:]): Renamed to remove underscore prefix. 3127 Updated to use rendererForAlternateFont. 3128 (-[WebTextRenderer _computeWidthForSpace]): Updated for name changes and to remove unnecessary parameters. 3129 (-[WebTextRenderer setUpFont]): Renamed to remove underscore prefix. Added code to get printer or screen 3130 font as specified by WebCoreFont so calers don't need to do this. 3131 (drawGlyphs): Renamed to remove underscore prefix. Added code for synthetic oblique (14 degree slant), and 3132 synthetic bold (add offset and draw text a second time). 3133 (-[WebTextRenderer _CG_drawRun:style:geometry:]): Keep an array of substitute renderers instead of fonts. 3134 Changed around the loop to reverse the run to be a single loop instead of 3. 3135 (-[WebTextRenderer floatWidthForRun:style:widths:substituteRenderers:glyphs:startPosition:numGlyphs:]): 3136 Renamed to remove the underscore prefix. 3137 (-[WebTextRenderer _CG_floatWidthForRun:style:widths:substituteRenderers:glyphs:startPosition:numGlyphs:]): 3138 Changed to use subsitute renderers rather than fonts. 3139 (-[WebTextRenderer updateGlyphEntryForCharacter:glyphID:substituteRenderer:]): Renamed to remove underscore 3140 prefix and changed to use a substitute renderer rather than a substitute NSFont. 3141 (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): Updated to work with all characters, both ones 3142 that fit into 16-bit and ones that don't. 3143 (-[WebTextRenderer _extendGlyphToWidthMapToInclude:]): Removed NSFont parameter and simplified. This fixes 3144 a bug where numberOfGlyphs was accidentally used from the main font instead of "subFont". 3145 (glyphForCharacter): Changed to use subsitute renderers instead of substitute fonts. 3146 (widthForNextCharacter): Ditto. Also removed small caps code no longer needed here and replaced it with 3147 simpler small caps code that no longer assumes glyphs match. 3148 (shouldUseATSU): Changed the code to check ranges in order to slightly reduce the number of cases and 3149 to create earlier exit for lower character codes. 3150 3151 * WebCoreSupport.subproj/WebTextRendererFactory.h: Added caches for synthesized font and oblique 3152 variants so we can still use the NSFont as the dictionary key. Removed coalesceTextDrawing methods. 3153 Changed methods to use WebCoreFont as the parameters and results instead of NSFont. 3154 * WebCoreSupport.subproj/WebTextRendererFactory.m: 3155 (-[WebTextRendererFactory clearCaches]): Clear all 8 caches. 3156 (-[WebTextRendererFactory isFontFixedPitch:]): Changed code slightly so there's only one call to 3157 the CFDictionarySetValue function. 3158 (-[WebTextRendererFactory init]): Create all 8 caches. 3159 (-[WebTextRendererFactory dealloc]): Release all 8 caches. 3160 (-[WebTextRendererFactory rendererWithFont:]): Select the appropriate cache based on 3 booleans: 3161 synthetic bold, synthetic oblique, and printer. Use WebCoreFont instead of NSFont. 3162 (-[WebTextRendererFactory fontWithFamilies:traits:size:]): Set the synthetic bold and oblique flags 3163 when returning a WebCoreFont based on requested traits that are not present in the NSFont. 3164 (acceptableChoice): Ignore the synthesizable traits when deciding if a chosen font is acceptable. 3165 (betterChoice): Rather than assuming that every font has all the desired traits, implement a rule 3166 that says a font with an unwanted trait loses out over a font that does not have an unwanted trait. 3167 This lets us chose a bold font over a non-bold font that could use synthesized bold but treat both 3168 as candidates. 3169 3170 * WebCoreSupport.subproj/WebGlyphBuffer.h: Removed. 3171 * WebCoreSupport.subproj/WebGlyphBuffer.m: Removed. 3172 * WebKit.xcodeproj/project.pbxproj: Removed WebGlyphBuffer source files. 3173 3174 * Misc.subproj/WebKitNSStringExtras.m: 3175 (-[NSString _web_drawAtPoint:font:textColor:]): Update to use WebCoreFont. 3176 (-[NSString _web_widthWithFont:]): Ditto. 3177 * Misc.subproj/WebStringTruncator.m: 3178 (truncateString): Ditto. 3179 (+[WebStringTruncator widthOfString:font:]): Ditto. 3180 3181 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]): Removed text drawing coalesce method calls. 3182 * WebView.subproj/WebTextView.m: (-[WebTextView setFixedWidthFont]): Updated to use cachedFontFromFamily 3183 method, which we still have, rather than fontWithFamilies method which we don't (since it now uses WebCoreFont). 3184 * WebView.subproj/WebView.m: (+[WebView _setAlwaysUseATSU:]): Updated for name change to underlying method. 3185 31862005-10-05 Maciej Stachowiak <mjs@apple.com> 3187 3188 Reviewed by Eric. 3189 3190 <rdar://problem/4158439> Safari appears to hang when sending synchronous XMLHttpRequest that gets no server response 3191 3192 No testcase - not testable w/o network. 3193 3194 * WebCoreSupport.subproj/WebBridge.m: 3195 (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): Set a timeout of 10. 3196 31972005-10-04 Beth Dakin <bdakin@apple.com> 3198 3199 Reviewed by Darin 3200 3201 Fix for <rdar://problem/4285538> TOT fix for Denver Regression: Drawing glitch in the transparent dialog's cancel/ok 3202 button in the widget manager. 3203 3204 * WebCoreSupport.subproj/WebImageData.m: Calls WKSetPatternPhaseInUserSpace() which is a new function that lies in 3205 WebKitSystemInterface that and takes care of pattern-setting. Prevents 3206 regression that occurred with image tiling in transparency layers. 3207 (-[WebImageData tileInRect:fromPoint:context:]): 3208 32092005-10-03 Tim Omernick <tomernick@apple.com> 3210 3211 Reviewed by John Sullivan. 3212 3213 <rdar://problem/4281095> Denver regression: Seed: Safari HTML 4.01 <object ...> tag problem 3214 3215 * WebCoreSupport.subproj/WebBridge.m: 3216 (-[WebBridge determineObjectFromMIMEType:URL:]): 3217 If no view class is registered to handle the MIME type, check to see if there is a plugin registered which can handle it. 3218 This check is required because the Java plugin does not register an NSView class, so that Java files are downloaded when 3219 not embedded. 3220 3221 Prior to this fix, -determineObjectFromMIMEType:URL: would always return ObjectElementNone for Java applets (MIME type 3222 "application/x-java-applet"), which would cause Java applets embedded in <OBJECT> elements to not be loaded. 3223 3224 This broke on 05-03-2005, when we changed how we handle fallback content for <OBJECT> elements so that we could pass the 3225 Acid2 test. 3226 32272005-09-28 Justin Garcia <justin.garcia@apple.com> 3228 3229 Reviewed by geoff 3230 3231 Fixed <rdar://problem/4276596> multipart/x-mixed-replace: saved inline images appear only partially loaded 3232 Fixed <rdar://problem/4265439> progress bar should look complete even if there is some more multipart content being loaded 3233 3234 * WebCoreSupport.subproj/WebSubresourceLoader.h: 3235 * WebCoreSupport.subproj/WebSubresourceLoader.m: 3236 (-[WebSubresourceLoader didReceiveResponse:]): 3237 Now calls signalFinish and saveResource. 3238 3239 (-[WebSubresourceLoader signalFinish]): 3240 Added. Does the part of didFinishLoading that signals to the WebDataSource and load delegates that the load is finished. 3241 3242 (-[WebSubresourceLoader didFinishLoading]): 3243 * WebView.subproj/WebLoader.h: 3244 * WebView.subproj/WebLoader.m: 3245 (-[NSURLProtocol signalFinish]): 3246 Similar to above 3247 3248 (-[NSURLProtocol didFinishLoading]): 3249 32502005-09-28 Adele Peterson <adele@apple.com> 3251 3252 Reviewed by John. 3253 3254 Moved _downloadWithLoadingConnection and _downloadWithRequestfrom WebDownload.h to WebDownloadInternal.h 3255 3256 * Misc.subproj/WebDownload.h: 3257 * Misc.subproj/WebDownloadInternal.h: Added. 3258 * WebKit.xcodeproj/project.pbxproj: Added WebDownloadInternal.h 3259 * WebView.subproj/WebMainResourceLoader.m: Added import of WebDownloadInternal.h 3260 * WebView.subproj/WebView.m: ditto. 3261 32622005-09-27 Adele Peterson <adele@apple.com> 3263 3264 Reviewed by Maciej. 3265 3266 Changed ints to size_t where appropriate. 3267 3268 * Misc.subproj/WebCoreStatistics.h: 3269 * Misc.subproj/WebCoreStatistics.m: 3270 (+[WebCoreStatistics javaScriptObjectsCount]): 3271 (+[WebCoreStatistics javaScriptInterpretersCount]): 3272 (+[WebCoreStatistics javaScriptNoGCAllowedObjectsCount]): 3273 (+[WebCoreStatistics javaScriptReferencedObjectsCount]): 3274 * WebView.subproj/WebPreferences.m: 3275 (-[WebPreferences _pageCacheSize]): 3276 (-[WebPreferences _objectCacheSize]): 3277 * WebView.subproj/WebPreferencesPrivate.h: 3278 32792005-09-26 John Sullivan <sullivan@apple.com> 3280 3281 Reviewed by Tim Omernick. 3282 3283 - fixed <rdar://problem/4118126> Drag-and-drop text with text containing a colon causes a crash 3284 3285 There were two problems here. One is that dragging and dropping text within the same WebTextView 3286 should have done nothing rather than try to navigate. The other is that navigating while processing 3287 the end of the drag would dealloc the drag-initiating WebTextView, leading to a crash. Fixing the 3288 former doesn't fix all cases of the latter, since dropping onto (e.g.) Safari's location field 3289 could cause a navigation during the drag. So these two issues needed to be fixed separately. 3290 3291 * WebView.subproj/WebTextView.m: 3292 (-[WebTextView dragSelectionWithEvent:offset:slideBack:]): 3293 Before drag, retain self, and tell WebView that the drag is self-initiated. After drag, do the 3294 opposite. This is the same approach as WebImageView, but it can all be contained in one method 3295 here due to NSTextView's dragging API, which wraps up some of the drag-machinery guts. 3296 32972005-09-24 Mitz Pettel <opendarwin.org@mitzpettel.com> 3298 3299 Reviewed and landed by Darin. 3300 3301 - fixed http://bugs.webkit.org/show_bug.cgi?id=5100 3302 -[WebTextRenderer _ATSU_drawRun:...] does not check view flippedness 3303 3304 * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _ATSU_drawRun:style:geometry:]): 3305 Set up a the CGContext with a matrix that flips the text if the view is not flipped. 3306 33072005-09-24 Mitz Pettel <opendarwin.org@mitzpettel.com> 3308 3309 Reviewed, tweaked a tiny bit, and landed by Darin. 3310 3311 - fixed http://bugs.webkit.org/show_bug.cgi?id=4940 3312 CG and ATSUI give different width to the same text 3313 3314 * WebCoreSupport.subproj/WebTextRenderer.m: 3315 (overrideLayoutOperation): Added. ATSU callback to do the rounding. 3316 (-[WebTextRenderer _trapezoidForRun:style:atPoint:]): Use the new createATSULayoutParameters 3317 function instead of calling _createATSUTextLayoutForRun. 3318 (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]): Use createATSULayoutParameters, 3319 and also compute the width in a way that works for any direction combination. 3320 (-[WebTextRenderer _ATSU_drawRun:style:geometry:]): Use createATSULayoutParameters. 3321 (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]): 3322 Use createATSULayoutParameters. Also put in code that seems to work around an ATSU bug. 3323 (createATSULayoutParameters): Added. 3324 (disposeATSULayoutParameters): Added. 3325 33262005-09-24 Mitz Pettel <opendarwin.org@mitzpettel.com> 3327 3328 Reviewed by Dave. 3329 Landed by Darin. 3330 3331 - fixed http://bugs.webkit.org/show_bug.cgi?id=4862 3332 Incorrect layout of bidi overrides 3333 3334 * WebCoreSupport.subproj/WebTextRenderer.m: 3335 (addDirectionalOverride): Renamed, and made it work in both directions. 3336 (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]): Updated to call addDirectionalOverride. 3337 (-[WebTextRenderer _ATSU_drawRun:style:geometry:]): More of the same. 3338 (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]): Ditto. 3339 33402005-09-24 Alexey Proskuryakov <ap@nypop.com> 3341 3342 Tweaked, reviewed, and landed by Darin. 3343 3344 - fixed http://bugs.webkit.org/show_bug.cgi?id=4394 3345 Mouse clicks ignored in inline input areas 3346 3347 * WebView.subproj/WebHTMLView.m: 3348 (-[NSArray mouseDown:]): Removed misleading comment and added code to send mouse event to input manager. 3349 (-[NSArray mouseDragged:]): Added code to send mouse event to input manager. 3350 (-[NSArray mouseUp:]): Ditto. 3351 (-[WebHTMLView _discardMarkedText]): Umnmark text before calling markedTextAbandoned: to match behavior 3352 of NSTextView (not sure why we did things in the opposite order before). 3353 (-[WebHTMLView _updateSelectionForInputManager]): Ditto. 3354 3355 - unrelated tweak 3356 3357 * WebView.subproj/WebView.m: 3358 (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:newScaleFactor:]): 3359 Fix typecast that used ... for no good reason. 3360 33612005-09-23 Duncan Wilcox <duncan@mclink.it> 3362 3363 Reviewed and landed by Darin. 3364 3365 - name changes to prepare for fixing bugzilla bug 4582 3366 3367 * WebView.subproj/WebHTMLView.m: Changed names to match WebCore changes. 3368 33692005-09-20 John Sullivan <sullivan@apple.com> 3370 3371 Reviewed by Tim Omernick. 3372 3373 - fixed <rdar://problem/3228554> We should enforce one selection per WebView instead of per window 3374 3375 Note that this checkin does not mean that we will always maintain a selection in a WebView when 3376 the focus is elsewhere. Instead it means that there should never be more than one frame containing 3377 a selection in a WebView, and that it's possible to maintain a selection in a WebView when the focus 3378 is elsewhere. 3379 3380 * WebView.subproj/WebView.m: 3381 (-[WebView searchFor:direction:caseSensitive:wrap:]): 3382 removed unnecessary and somewhat confusing comment 3383 (-[WebView selectedFrame]): 3384 now calls the extracted method -_focusedFrame 3385 (-[WebView _focusedFrame]): 3386 new method, extracted from -selectedFrame; returns frame containing first responder, if any 3387 (-[WebView _findSelectedFrameStartingFromFrame:skippingFrame:]): 3388 added skippingFrame parameter, which is never returned 3389 (-[WebView _findSelectedFrameSkippingFrame:]): 3390 new method, starts from main frame and passes a frame to skip 3391 (-[WebView _findSelectedFrame]): 3392 now calls _findSelectedFrameSkippingFrame:nil 3393 (-[WebView _selectedFrameDidChange]): 3394 new method, called by WebDocumentText protocol implementors; calls -deselectAll on frame that 3395 formerly displayed a selection, if any 3396 3397 * WebView.subproj/WebViewInternal.h: 3398 added category WebDocumentSelectionExtras, with the one method _selectedFrameDidChange 3399 3400 * WebView.subproj/WebHTMLView.m: 3401 (-[WebHTMLView becomeFirstResponder]): 3402 call -[WebView _selectedFrameDidChange] 3403 3404 * WebView.subproj/WebPDFView.m: 3405 (-[WebPDFView becomeFirstResponder]): 3406 call -[WebView _selectedFrameDidChange] 3407 (-[WebPDFView resignFirstResponder]): 3408 deselect all unless webview says not to; note that this doesn't work in all cases due to: 3409 <rdar://problem/4265966> PDFs continue to show a (secondary) selection when the focus moves elsewhere 3410 3411 * WebView.subproj/WebTextView.m: 3412 (-[WebTextView becomeFirstResponder]): 3413 call -[WebView _selectedFrameDidChange] 3414 (-[WebTextView resignFirstResponder]): 3415 deselect all unless webview says not to 3416 34172005-09-20 Eric Seidel <eseidel@apple.com> 3418 3419 Reviewed by mjs. 3420 3421 Moved MIME type support from a hard coded list 3422 (in two places) to single lists in the corresponding 3423 *Representation classes. Also moved the list of types 3424 supported by WebCore (WebHTMLRepresentation) into WebCore. 3425 http://bugs.webkit.org/show_bug.cgi?id=5037 3426 3427 * WebView.subproj/WebDataSource.m: 3428 (addTypesFromClass): new inline function 3429 (+[WebDataSource _repTypesAllowImageTypeOmission:]): 3430 * WebView.subproj/WebFrameView.m: 3431 (addTypesFromClass): new inline function 3432 (+[WebFrameView _viewTypesAllowImageTypeOmission:]): 3433 * WebView.subproj/WebHTMLRepresentation.h: 3434 * WebView.subproj/WebHTMLRepresentation.m: 3435 (+[WebHTMLRepresentation supportedMIMETypes]): 3436 * WebView.subproj/WebHTMLView.m: 3437 (+[WebHTMLView supportedMIMETypes]): 3438 * WebView.subproj/WebHTMLViewPrivate.h: 3439 * WebView.subproj/WebImageRepresentation.h: 3440 * WebView.subproj/WebImageRepresentation.m: 3441 (+[WebImageRepresentation supportedMIMETypes]): 3442 * WebView.subproj/WebImageView.h: 3443 * WebView.subproj/WebImageView.m: 3444 (+[WebImageView supportedMIMETypes]): 3445 * WebView.subproj/WebPDFRepresentation.h: 3446 * WebView.subproj/WebPDFRepresentation.m: 3447 (+[WebPDFRepresentation supportedMIMETypes]): 3448 * WebView.subproj/WebPDFView.h: 3449 * WebView.subproj/WebPDFView.m: 3450 (+[WebPDFView supportedMIMETypes]): 3451 * WebView.subproj/WebTextRepresentation.h: 3452 * WebView.subproj/WebTextRepresentation.m: 3453 (+[WebTextRepresentation supportedMIMETypes]): 3454 * WebView.subproj/WebTextView.h: 3455 * WebView.subproj/WebTextView.m: 3456 (+[WebTextView supportedMIMETypes]): 3457 * WebView.subproj/WebView.m: 3458 (+[WebView _viewClass:andRepresentationClass:forMIMEType:]): 3459 (+[WebView MIMETypesShownAsHTML]): updated to match style 3460 (+[WebView setMIMETypesShownAsHTML:]): ditto 3461 34622005-09-16 John Sullivan <sullivan@apple.com> 3463 3464 * WebView.subproj/WebImageView.m: 3465 (-[WebImageView copy:]): 3466 fixed build-breaking silly error in previous checkin 3467 34682005-09-16 John Sullivan <sullivan@apple.com> 3469 3470 Reviewed by Tim Omernick 3471 3472 - fixed <rdar://problem/4256557> CrashTracer: 238 crashes in Safari at 3473 com.apple.AppKit: -[NSPasteboard setData:forType:] + 188 3474 3475 * WebView.subproj/WebImageView.m: 3476 (-[WebImageView copy:]): 3477 declare types to pasteboard before starting to set their data 3478 (-[WebImageView writeSelectionToPasteboard:types:]): 3479 ditto 3480 34812005-09-16 Adele Peterson <adele@apple.com> 3482 3483 Rolling out the fix for http://bugs.webkit.org/show_bug.cgi?id=4924 3484 QPainter should use CGContext as much as possible rather than NSGraphicsContext 3485 since it caused a performance regression. 3486 34872005-09-16 Adele Peterson <adele@apple.com> 3488 3489 Change by Darin, reviewed by me and Maciej. 3490 3491 Fixes http://bugs.webkit.org/show_bug.cgi?id=4547 3492 use int instead of long for 32-bit (to prepare for LP64 compiling) 3493 3494 * Plugins.subproj/npapi.m: changed types to match those defined in npapi.h 3495 (NPN_MemAlloc): 3496 (NPN_MemFlush): 3497 (NPN_PostURLNotify): 3498 (NPN_PostURL): 3499 (NPN_Write): 3500 35012005-09-14 Justin Garcia <justin.garcia@apple.com> 3502 3503 Reviewed by john 3504 3505 Fixes <rdar://problem/4237479> REGRESSION (Cambridge-Denver): old QuickTime movie continues to play sound after reload 3506 We were adding the movie to the document twice after the changes were added to handle fallback content. 3507 There are some errors for which we should not render fall back content 3508 3509 * Misc.subproj/WebKitErrorsPrivate.h: 3510 Introduced WebKitErrorPlugInWillHandleLoad to represent the cancel we do 3511 to prevent loading plugin content twice 3512 3513 * Plugins.subproj/WebPluginDocumentView.m: 3514 (-[WebPluginDocumentView dataSourceUpdated:]): Ditto 3515 3516 * WebView.subproj/WebDataSource.m: 3517 (-[WebDataSource _receivedMainResourceError:complete:]): 3518 Don't handleFallbackContent on WebKitErrorPlugInWillHandleLoad or on a user cancel 3519 35202005-09-14 Timothy Hatcher <thatcher@apple.com> 3521 3522 Reviewed by Eric. 3523 3524 * WebKit.xcodeproj/project.pbxproj: 3525 made WebDashboardRegion.h a private header 3526 35272005-09-14 Darin Adler <darin@apple.com> 3528 3529 Reviewed by Maciej. 3530 3531 - fixed http://bugs.webkit.org/show_bug.cgi?id=4924 3532 QPainter should use CGContext as much as possible rather than NSGraphicsContext 3533 3534 * WebCoreSupport.subproj/WebImageRendererFactory.m: Remove setCGCompositeOperationFromString 3535 method, no longer needed. 3536 35372005-09-13 Tim Omernick <tomernick@apple.com> 3538 3539 Reviewed by Justin Garcia, Darin Adler. 3540 3541 - <rdar://problem/3163393> Safari does not support Windowless mode in Flash 3542 3543 * Plugins.subproj/WebBaseNetscapePluginView.h: 3544 Added 'isTransparent' instance variable. 3545 3546 * Plugins.subproj/WebBaseNetscapePluginView.m: 3547 (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): 3548 When updating a plugin in "windowless" (transparent) mode, clip drawing to the dirty 3549 region of the opaque ancestor. This means that a partially-transparent plugin, which 3550 by definition does not clear its port on redraw, will not overdraw the valid parts 3551 of its port. 3552 (-[WebBaseNetscapePluginView sendEvent:]): 3553 Disabled the "green debug background" for transparent plugins -- since they are not 3554 expected to cover their entire port every redraw, this debug code makes no sense. 3555 (-[WebBaseNetscapePluginView setVariable:value:]): 3556 Implemented -setVariable:value:, which is called from NPN_SetValue() (previously 3557 unimplemented). 3558 Right now we only handle NPPVpluginTransparentBool; if we choose to handle the other 3559 plugin variables, then we may do so here. 3560 * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h: 3561 Added SPI for -[WebBaseNetscapePluginView setVariable:value]. 3562 * Plugins.subproj/npapi.m: 3563 (NPN_SetValue): 3564 Implemented this function so that plugins may set state (such as window mode). 3565 35662005-09-11 Mark Rowe <opendarwin.org@bdash.net.nz> 3567 3568 Reviewed, tweaked, and landed by Darin. 3569 3570 - fixed http://bugs.webkit.org/show_bug.cgi?id=4286 3571 .Mac prefpane crashes when Safari using CVS WebKit is running 3572 3573 * WebView.subproj/WebView.m: (-[WebView initWithFrame:frameName:groupName:]): 3574 If ENABLE_WEBKIT_UNSET_DYLD_FRAMEWORK_PATH, and WEBKIT_UNSET_DYLD_FRAMEWORK_PATH 3575 is set in the environment, then unset DYLD_FRAMEWORK_PATH. 3576 3577 * WebKit.xcodeproj/project.pbxproj: Set ENABLE_WEBKIT_UNSET_DYLD_FRAMEWORK_PATH 3578 in configurations other than Default -- we don't want that code in production 3579 builds, but we want it in builds we do ourselves and nightly builds. 3580 35812005-09-10 Ingmar J Stein <IngmarStein@gmail.com> 3582 3583 Reviewed and landed by Darin. 3584 3585 * WebCoreSupport.subproj/WebImageRenderer.m: 3586 (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]): 3587 Removed unused local variable. 3588 35892005-09-09 Tim Omernick <tomernick@apple.com> 3590 3591 Reviewed by John Sullivan. 3592 3593 * History.subproj/WebBackForwardList.m: 3594 (-[WebBackForwardList removeItem:]): 3595 SPI to remove a given WebHistoryItem. 3596 3597 * History.subproj/WebBackForwardListPrivate.h: Added. 3598 3599 * WebKit.xcodeproj/project.pbxproj: 3600 Added WebBackForwardListPrivate.h as a private header. 3601 36022005-09-09 John Sullivan <sullivan@apple.com> 3603 3604 Reviewed by Tim Omernick. 3605 3606 fixed http://bugs.webkit.org/show_bug.cgi?id=4070: 3607 Find in plain text won't find only occurrence if it overlaps selection 3608 3609 * Misc.subproj/WebSearchableTextView.m: 3610 (-[NSString findString:selectedRange:options:wrap:]): 3611 in the wrap case, extend the search range far enough that text overlapping the 3612 selection (including the exact-match case) will be considered. 3613 36142005-09-08 Justin Garcia <justin.garcia@apple.com> 3615 3616 Reviewed by darin 3617 3618 WebKit portion of multipart/x-mixed-replace support 3619 3620 * WebCoreSupport.subproj/WebSubresourceLoader.m: 3621 (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]): 3622 Subresource case: Check for Foundation level multipart support 3623 (-[WebSubresourceLoader didReceiveResponse:]): 3624 Send previously received data in a multipart section to the coreLoader 3625 (-[WebSubresourceLoader didReceiveData:lengthReceived:]): 3626 Don't send data to the coreLoader until it has been completely received 3627 * WebView.subproj/WebDataSource.m: 3628 (-[WebDataSource _startLoading:]): 3629 Main resource case: check for Foundation level multipart support 3630 (+[WebDataSource _repTypesAllowImageTypeOmission:]): 3631 Some server apps send data right after declaring content multipart/x-mixed-replace, and expect it to be treated as html 3632 (-[WebDataSource _commitIfReady:]): 3633 Don't ask the WebFrame to close its old WebDataSource when loading a multipart section, because we're going to reuse it 3634 (-[WebDataSource _receivedData:]): 3635 For non text/html multipart sections, we commit the data all at once, at the end 3636 (-[WebDataSource _doesProgressiveLoadWithMIMEType:]): 3637 Added heuristic for when to commit the load incrementally 3638 (-[WebDataSource _commitLoadWithData:]): 3639 Moved from _receivedData into its own function 3640 (-[WebDataSource _revertToProvisionalState]): 3641 (-[WebDataSource _setupForReplaceByMIMEType:]): 3642 Commits the data received for the previous multipart section if it wasn't loaded progresively, clears out the WebFrame and WebDatasource for the next multipart section 3643 * WebView.subproj/WebDataSourcePrivate.h: 3644 * WebView.subproj/WebFrame.m: 3645 (-[WebFrame _transitionToCommitted:]): 3646 The very first multipart section is treated as a normal load, so that the back/forward list and history are updated. 3647 All later sections have a new load type, WebFrameLoadTypeReplace, and are treated like reloads 3648 (-[WebFrame _checkLoadCompleteForThisFrame]): Ditto 3649 (-[WebFrame _itemForRestoringDocState]): Ditto 3650 (-[WebFrame _setupForReplace]): 3651 Clears out the WebFrame for the next multipart section 3652 * WebView.subproj/WebFrameInternal.h: 3653 * WebView.subproj/WebFramePrivate.h: 3654 * WebView.subproj/WebFrameView.m: 3655 (+[WebFrameView _viewTypesAllowImageTypeOmission:]): See above 3656 * WebView.subproj/WebLoader.h: 3657 * WebView.subproj/WebLoader.m: 3658 (-[NSURLProtocol clearResourceData]): 3659 (-[NSURLProtocol setSupportsMultipartContent:]): 3660 * WebView.subproj/WebMainResourceLoader.m: Straightforward 3661 (-[WebMainResourceLoader didReceiveResponse:]): 3662 36632005-09-06 Geoffrey Garen <ggaren@apple.com> 3664 3665 - fixed build bustage from last checkin. 3666 3667 Reviewed by haytt. 3668 3669 * History.subproj/WebBackForwardList.m: 3670 (-[WebBackForwardList pageCacheSize]): updated debug printf since we no 3671 longer have a variable called 'multiplier' 3672 36732005-09-06 David Hyatt <hyatt@apple.com> 3674 3675 Reduce the # of cached pages for a back/forward list. The old cache would cache the 3676 following per tab: 3677 > 1gb memory = 16 pages per tab/window 3678 > 512mb memory = 8 pages per tab/window 3679 <= 512mb memory = 4 pages per tab/window 3680 3681 This consumes far too much memory and is way too aggressive. The new cache sizes are 3682 as follows: 3683 >= 1gb memory = 3 pages per tab/window 3684 >= 512mb memory = 2 pages per tab/window 3685 < 512mb memory = 1 page per tab/window 3686 3687 Reviewed by john 3688 3689 * History.subproj/WebBackForwardList.m: 3690 (-[WebBackForwardList pageCacheSize]): 3691 * WebView.subproj/WebPreferences.m: 3692 (+[WebPreferences initialize]): 3693 36942005-09-05 Darin Adler <darin@apple.com> 3695 3696 Reviewed by John Sullivan. 3697 3698 - fixed http://bugs.webkit.org/show_bug.cgi?id=4846 3699 REGRESSION: Carbon WebKit applications don't work at all 3700 3701 * Carbon.subproj/HIWebView.m: Remove lots of unneeded declarations of private stuff. 3702 (Draw): Call WKNSWindowOverrideCGContext and WKNSWindowRestoreCGContext rather 3703 than calling a non-existent setCGContext: method on the context. 3704 37052005-09-05 John Sullivan <sullivan@apple.com> 3706 3707 Reviewed by Dave Hyatt. 3708 3709 - change related to <rdar://problem/4211999> Safari quits when click-drag-hold an image 3710 that is set to automatically change. 3711 3712 * WebView.subproj/WebHTMLView.m: 3713 (-[NSArray namesOfPromisedFilesDroppedAtDestination:]): 3714 handle nil wrapper with ERROR and early return rather than ASSERT, since we now know 3715 of a way to reproduce this (written up as 4244861) 3716 37172005-09-05 Darin Adler <darin@apple.com> 3718 3719 Reviewed by John Sullivan. 3720 3721 - fixed http://bugs.webkit.org/show_bug.cgi?id=4357 3722 crash related to animated GIFs, reproducible in non-Safari WebKit application 3723 3724 * WebCoreSupport.subproj/WebImageData.m: 3725 (removeAnimatingRendererFromView): Added. 3726 (removeFromDictionary): Added. 3727 (-[WebImageData removeAnimatingRenderer:]): Rewrote using CF functions rather than 3728 NS functions so that we never retain the views, since this can be called from 3729 a view's dealloc method. 3730 (setNeedsDisplayInAnimationRect): Added. 3731 (-[WebImageData _nextFrame:]): Rewrote as above, even though in this case it can't 3732 be called from the dealloc method. 3733 37342005-08-26 David Hyatt <hyatt@apple.com> 3735 3736 Add support for a new scaling and tiling function so that border images from CSS3 3737 can be implemented. 3738 3739 Reviewed by darin 3740 3741 * WebCoreSupport.subproj/WebImageData.h: 3742 * WebCoreSupport.subproj/WebImageData.m: 3743 (-[WebImageData scaleAndTileInRect:fromRect:withHorizontalTileRule:withVerticalTileRule:context:]): 3744 * WebCoreSupport.subproj/WebImageRenderer.m: 3745 (-[WebImageRenderer scaleAndTileInRect:fromRect:withHorizontalTileRule:withVerticalTileRule:context:]): 3746 (-[WebImageRenderer setAnimationRect:]): 3747 * WebView.subproj/WebHTMLView.m: 3748 (-[WebHTMLView updateFocusState]): 3749 37502005-08-26 Adele Peterson <adele@apple.com> 3751 3752 Reviewed by Beth. 3753 3754 * WebKit.xcodeproj/project.pbxproj: Changed WebKit.Framework to WebKit.framework in UMBRELLA_FRAMEWORK. 3755 37562005-08-25 David Harrison <harrison@apple.com> 3757 3758 Reviewed by Maciej. 3759 3760 <rdar://problem/4227734> Denver Regression: WebCore selection bug on lines starting with tab (clownfish) 3761 3762 The text is in a DIV styled with "white-space:pre", and uses newline characters as linebreaks. 3763 WebKit's text renderer is erroneously considering the width of the lines leading up to the tab 3764 character when calculating the width of the tab. 3765 Easily fixed by having widthForNextCharacter ignore the widthToStart when working with tabWidth. 3766 Any prior text that fits in the same line is already factored into the xpos, which is paid attention to. 3767 3768 * WebCoreSupport.subproj/WebTextRenderer.m: 3769 (widthForNextCharacter): 3770 Ignore the widthToStart when working with tabWidth. 3771 37722005-08-23 John Sullivan <sullivan@apple.com> 3773 3774 Reviewed by Beth Dakin. 3775 3776 - fixed <rdar://problem/4229167> 14 leaks of WebFileButton and associated objects, 3777 seen after running webkit layout tests 3778 3779 * WebCoreSupport.subproj/WebBridge.m: 3780 (-[WebBridge fileButtonWithDelegate:]): 3781 this method was returning a retained object; I added an autorelease 3782 37832005-08-23 Darin Adler <darin@apple.com> 3784 3785 * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 3786 37872005-08-23 Mitz Pettel <opendarwin.org@mitzpettel.com> 3788 3789 Reviewed and landed by Darin. 3790 3791 - fixed http://bugs.webkit.org/show_bug.cgi?id=4604 3792 LEAK -[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:] leaks an ATSUTextLayout 3793 <rdar://problem/4228787> ATSUTextLayout leak in _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs: (4604) 3794 3795 * WebCoreSupport.subproj/WebTextRenderer.m: 3796 (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]): 3797 Added missing call to ATSUDisposeTextLayout. 3798 37992005-08-22 Geoffrey Garen <ggaren@apple.com> 3800 3801 - fixed <rdar://problem/4227011> Debugger SPI should be removed from WebView.h API 3802 3803 Reviewed by mjs and adele. 3804 3805 Cut and pasted debugging SPI from WebView to WebView(WebPendingPublic) 3806 3807 * WebView.subproj/WebView.h: 3808 * WebView.subproj/WebView.m: 3809 (-[WebView setScriptDebugDelegate:]): 3810 (-[WebView scriptDebugDelegate]): 3811 * WebView.subproj/WebViewPrivate.h: 3812 38132005-08-20 John Sullivan <sullivan@apple.com> 3814 3815 Reviewed by Darin Adler. 3816 3817 - WebKit part of fix for 3818 <rdar://problem/3977607> ER: Safari should check framework versions at launch 3819 3820 * WebView.subproj/WebViewPrivate.h: 3821 * WebView.subproj/WebView.m: 3822 (+[WebView _minimumRequiredSafariBuildNumber]): 3823 new method, returns the minimum build number of Safari that this WebKit is 3824 willing to work with. (The Safari version has to be new enough to check 3825 for this value in order for this to have any effect.) 3826 38272005-08-19 Justin Garcia <justin.garcia@apple.com> 3828 3829 Reviewed by rjw 3830 3831 The boolean justOpenedForTargetedLink is never used to determine a course of action. 3832 It was added long ago for findOrCreateFramedNamed, which has since been removed. 3833 3834 * WebView.subproj/WebDataSource.m: 3835 * WebView.subproj/WebDataSourcePrivate.h: 3836 * WebView.subproj/WebFrame.m: 3837 (-[WebFrame _loadDataSource:withLoadType:formState:]): 3838 * WebView.subproj/WebFramePrivate.h: 3839 38402005-08-19 Darin Adler <darin@apple.com> 3841 3842 Reviewed by John. 3843 3844 * English.lproj/Localizable.strings: Updated to include a new localizable string 3845 that was added a long while back. Apprently no one has run into the code using 3846 this string, because if they had, they'd have seen an assert. 3847 * English.lproj/StringsNotToBeLocalized.txt: Updated for various recent changes. 3848 38492005-08-17 Maciej Stachowiak <mjs@apple.com> 3850 3851 Reviewed by Darin. 3852 3853 - fix mysterious CGImageSource error message and possibly crash on layout tests. 3854 3855 * WebView.subproj/WebMainResourceLoader.m: 3856 (-[WebMainResourceLoader receivedError:]): Retain the data source since it may 3857 prematurely self-destruct otherwise. 3858 (-[WebMainResourceLoader cancelWithError:]): ditto 3859 38602005-08-17 Justin Garcia <justin.garcia@apple.com> 3861 3862 Reviewed by rjw 3863 3864 Addresses <rdar://problem/4192534> new frame load delegate SPI needed for Dashboard 3865 Added handledOnloadEvents delegate method (private for now) 3866 3867 * WebCoreSupport.subproj/WebBridge.m: 3868 (-[WebBridge handledOnloadEvents]): 3869 * WebView.subproj/WebDefaultFrameLoadDelegate.m: 3870 (-[WebDefaultFrameLoadDelegate webView:didHandleOnloadEventsForFrame:]): 3871 * WebView.subproj/WebFrame.m: 3872 (-[WebFrame _handledOnloadEvents]): 3873 * WebView.subproj/WebFramePrivate.h: 3874 * WebView.subproj/WebViewPrivate.h: 3875 38762005-08-17 John Sullivan <sullivan@apple.com> 3877 3878 Reviewed by Geoff Garen. 3879 3880 - fixed <rdar://problem/4219817> Particular icon database + bookmarks + history crashes Safari on launch 3881 3882 * Misc.subproj/WebIconDatabase.m: 3883 (-[WebIconDatabase releaseIconForURL:]): 3884 Move line that might remove last reference to iconURL to the end of the block. 3885 38862005-08-16 Darin Adler <darin@apple.com> 3887 3888 Reviewed by Trey. 3889 3890 - improved fix for <rdar://problem/4211631>, tiled images tiled incorrectly when printing or 3891 drawing offscreen 3892 3893 * WebCoreSupport.subproj/WebImageData.m: (-[WebImageData tileInRect:fromPoint:context:]): 3894 Fix pattern phase origin to use the image tile origin, which is clearly right, rather than 3895 the image rectangle, which isn't right, but often is the same. 3896 38972005-08-16 Adele Peterson <adele@apple.com> 3898 3899 Reviewed by John. 3900 3901 - fixed <rdar://problem/4210320> URL tooltips should display a URL for elements that submit forms 3902 3903 When the setShowsURLsInToolTips preference is set, we will display a tooltip containing 3904 the form's url when you mouse over a submit button. 3905 3906 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _updateMouseoverWithEvent:]): 3907 39082005-08-16 Darin Adler <darin@apple.com> 3909 3910 Reviewed by Beth Dakin. 3911 3912 - removed Panther-only code that was not being compiled and was 3913 simply "bit-rotting" 3914 3915 * Misc.subproj/WebFileDatabase.m: 3916 (-[WebFileDatabase _createLRUList:]): 3917 (+[WebFileDatabase _syncLoop:]): 3918 * Misc.subproj/WebKitErrors.m: 3919 (registerErrors): 3920 * Misc.subproj/WebNSObjectExtras.h: 3921 (WebCFAutorelease): 3922 * Misc.subproj/WebNSPasteboardExtras.m: 3923 (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]): 3924 * WebCoreSupport.subproj/WebImageData.h: 3925 * WebCoreSupport.subproj/WebImageDecodeItem.h: 3926 * WebCoreSupport.subproj/WebImageDecodeItem.m: 3927 * WebCoreSupport.subproj/WebImageDecoder.h: 3928 * WebCoreSupport.subproj/WebImageDecoder.m: 3929 (decoderThread): 3930 (startDecoderThread): 3931 * WebCoreSupport.subproj/WebKeyGeneration.cpp: Removed. 3932 * WebCoreSupport.subproj/WebKeyGeneration.h: Removed. 3933 * WebCoreSupport.subproj/WebKeyGenerator.h: 3934 * WebCoreSupport.subproj/WebTextRenderer.m: 3935 (getUncachedWidth): 3936 (_drawGlyphs): 3937 * WebCoreSupport.subproj/WebViewFactory.m: 3938 (-[WebViewFactory getBytes:fromTextMarker:length:]): 3939 * WebKit.xcodeproj/project.pbxproj: 3940 * WebKitPrefix.h: 3941 * WebView.subproj/WebDataSource.m: 3942 (-[WebDataSource _setPrimaryLoadComplete:]): 3943 (+[WebDataSource _repTypesAllowImageTypeOmission:]): 3944 (-[WebDataSource isLoading]): 3945 * WebView.subproj/WebDefaultContextMenuDelegate.m: 3946 (localizedMenuTitleFromAppKit): 3947 (-[WebDefaultUIDelegate menuItemWithTag:]): 3948 (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]): 3949 (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]): 3950 * WebView.subproj/WebFormDataStream.m: 3951 (formCanRead): 3952 (webSetHTTPBody): 3953 * WebView.subproj/WebFrameView.m: 3954 (+[WebFrameView _viewTypesAllowImageTypeOmission:]): 3955 * WebView.subproj/WebHTMLView.m: 3956 (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:chosePlainText:]): 3957 (-[WebHTMLView resourceForData:preferredFilename:]): 3958 (-[WebHTMLView _lookUpInDictionaryFromMenu:]): 3959 (-[WebHTMLView validateUserInterfaceItem:]): 3960 (-[WebHTMLView _attributeStringFromDOMRange:]): 3961 (-[WebHTMLView toggleBaseWritingDirection:]): 3962 (-[WebHTMLView changeBaseWritingDirection:]): 3963 * WebView.subproj/WebPDFRepresentation.h: 3964 * WebView.subproj/WebPDFRepresentation.m: 3965 * WebView.subproj/WebPDFView.h: 3966 * WebView.subproj/WebPDFView.m: 3967 * WebView.subproj/WebPreferences.m: 3968 (+[WebPreferences _systemCFStringEncoding]): 3969 * WebView.subproj/WebView.m: 3970 (-[WebView _commonInitializationWithFrameName:groupName:]): 3971 39722005-08-16 Darin Adler <darin@apple.com> 3973 3974 Reviewed by Beth Dakin. 3975 3976 - removed some unnecessary code 3977 3978 * WebCoreSupport.subproj/WebGraphicsBridge.h: Removed pattern-phase related field and methods. 3979 * WebCoreSupport.subproj/WebGraphicsBridge.m: Ditto. 3980 3981 * WebCoreSupport.subproj/WebImageData.m: Tweaked formatting and removed some unused code 3982 inside #if and comments. 3983 3984 * WebCoreSupport.subproj/WebImageRenderer.h: Removed USE_CGIMAGEREF (which is always true now). 3985 * WebCoreSupport.subproj/WebImageRenderer.m: Removed old non-CGImageRef code. 3986 3987 * WebCoreSupport.subproj/WebImageRendererFactory.m: 3988 (-[WebImageRendererFactory imageRendererWithMIMEType:]): Removed non-USE_CGIMAGEREF code. 3989 (-[WebImageRendererFactory imageRendererWithData:MIMEType:]): Ditto. 3990 (-[WebImageRendererFactory imageRendererWithSize:]): Ditto. 3991 (-[WebImageRendererFactory imageRendererWithName:]): Ditto. 3992 39932005-08-15 Darin Adler <darin@apple.com> 3994 3995 Reviewed by Beth. 3996 3997 This is a fix for <rdar://problem/4211631> tiled images tiled incorrectly when printing or 3998 drawing offscreen. 3999 4000 Cayenne found there was a problem when they were trying to take screen shots of widgets, and 4001 it was ultimately a problem with the way we tile images. Darin was able to fix the problem 4002 by replacing some confusing hacked code with CG calls. 4003 4004 * WebCoreSupport.subproj/WebImageData.m: 4005 (-[WebImageData tileInRect:fromPoint:context:]): 4006 * WebCoreSupport.subproj/WebImageRenderer.m: 4007 (-[WebInternalImage tileInRect:fromPoint:context:]): 4008 * WebCoreSupport.subproj/WebTextRenderer.m: 4009 (-[WebTextRenderer drawLineForMisspelling:withWidth:]): 4010 40112005-08-14 Maciej Stachowiak <mjs@apple.com> 4012 4013 Reviewed by Darin. 4014 4015 - 1% speedup on HTML load speed iBench by avoiding icon database thrash 4016 http://bugs.webkit.org/show_bug.cgi?id=4423 4017 4018 * Misc.subproj/WebIconDatabase.m: 4019 (-[WebIconDatabase _setIconURL:forURL:]): Be more aggressive about returning early, because 4020 updating the database does some expensive data structure copies. 4021 4022 40232005-08-14 Duncan Wilcox <duncan@mclink.it> 4024 4025 Reviewed and landed by Darin. 4026 4027 WebKit part of fix for <http://bugs.webkit.org/show_bug.cgi?id=4011>: 4028 "Editing delegate selection methods not called when using mouse" 4029 4030 Clicking on editable content would move the cursor or alter the selection without 4031 calling the appropriate editing delegate method 4032 (webView:shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:). The 4033 core of the patch is in the KHTMLPart::handleMousePressEvent* methods, the rest 4034 is glue needed to drill through all the layers. 4035 4036 * WebCoreSupport.subproj/WebBridge.m: 4037 (-[WebBridge shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]): 4038 Bridge glue. 4039 4040 * WebView.subproj/WebView.m: 4041 (-[WebView(WebViewEditingExtras) _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]): 4042 Final step in glue, calling editing delegate. 4043 4044 * WebView.subproj/WebViewInternal.h: 4045 Added _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting: private method to WebViewEditingExtras 4046 category. 4047 40482005-08-11 Beth Dakin <bdakin@apple.com> 4049 4050 Reviewed by Vicki 4051 4052 This is a fix for <rdar://problem/4141161> REGRESSION (Tiger): WebKit does not display in composited Carbon windows. 4053 I basically did what Troy suggests in his bug comments, and everything seems to work fine! 4054 4055 * Carbon.subproj/HIViewAdapter.m: 4056 (-[HIViewAdapter setNeedsDisplayInRect:]): 4057 40582005-08-10 Adele Peterson <adele@apple.com> 4059 4060 Bumping version to 420+ 4061 4062 * Info.plist: 4063 40642005-08-08 Darin Adler <darin@apple.com> 4065 4066 Reviewed by John Sullivan. 4067 4068 - fixed <rdar://problem/3996324> REGRESSION (1.2-2.0): scroll bars sometimes not updated properly (with >40 duplicate reports!) 4069 also http://bugs.webkit.org/show_bug.cgi?id=3416 4070 4071 * WebView.subproj/WebHTMLView.m: 4072 (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]): 4073 Propagate dirty rects after doing a layout, since a layout can create new dirty rects. 4074 40752005-08-05 Adele Peterson <adele@apple.com> 4076 4077 Reviewed by Darin. 4078 4079 * WebKit.xcodeproj/project.pbxproj: Unchecked 'statics are thread safe' option. 4080 40812005-08-04 Justin Garcia <justin.garcia@apple.com> 4082 4083 Reviewed by darin 4084 4085 Fix for: 4086 <rdar://problem/3167884> Shockwave: 3D sprites rendered in OpenGL draw over the browser (3447) 4087 also as <http://bugs.webkit.org/show_bug.cgi?id=3447> 4088 4089 The WindowRef created by -[NSWindow windowRef] has a QuickDraw GrafPort that covers 4090 the entire window frame (or structure region in Carbon parlance) rather then just the window content. 4091 4092 We filed this as an NSWindow bug <rdar://problem/4201099> 4093 4094 To work around, we modify the CGrafPort to only cover the content area before we let the plug-in draw. 4095 4096 * Plugins.subproj/WebBaseNetscapePluginView.m: 4097 (-[WebBaseNetscapePluginView fixWindowPort]): 4098 (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): 4099 41002005-08-03 John Sullivan <sullivan@apple.com> 4101 4102 Reviewed by Geoff Garen. 4103 4104 - fixed <rdar://problem/3918675> Remove code to replace authentication dialog 4105 with a subclass when out of localization freeze 4106 4107 * Panels.subproj/WebAuthenticationPanel.h: 4108 moved declaration of NonBlockingPanel here so it can be accessed by the nib 4109 * Panels.subproj/WebAuthenticationPanel.m: 4110 (-[WebAuthenticationPanel replacePanelWithSubclassHack]): 4111 removed this method 4112 (-[WebAuthenticationPanel loadNib]): 4113 stop calling the removed method 4114 4115 * Panels.subproj/English.lproj/WebAuthenticationPanel.nib/classes.nib: 4116 * Panels.subproj/English.lproj/WebAuthenticationPanel.nib/info.nib: 4117 * Panels.subproj/English.lproj/WebAuthenticationPanel.nib/objects.nib: 4118 the panel in the nib now has custom class NonBlockingPanel 4119 41202005-08-03 Beth Dakin <bdakin@apple.com> 4121 4122 Reviewed by cblu 4123 4124 Removing calls to WKCreateUncorrectedRGBColorSpace and 4125 WKCreateUncorrectedGrayColorSpace in WebKit to patch up 4126 TOT...Eric removed them from WebCore last night. 4127 4128 * WebCoreSupport.subproj/WebImageData.m: 4129 * WebCoreSupport.subproj/WebImageRenderer.m: 4130 (WebCGColorSpaceCreateRGB): 4131 (WebCGColorSpaceCreateGray): 4132 41332005-08-02 John Sullivan <sullivan@apple.com> 4134 4135 Reviewed by Darin Adler. 4136 4137 Preemptively moved some WebMenuItemTag values from SPI to API, in anticipation of 4138 approval from macosx-api-reviewers. Retitled one of them in response to API reviewers feedback: 4139 WebMenuItemSearchInGoogle -> WebMenuItemSearchWeb 4140 4141 Note that as a side effect of this change, the actual numbers used for these WebMenuItemTags has 4142 changed from what it was in Tiger. This causes "Search in Spotlight", "Search in Google", and 4143 "Look Up in Dictionary" to not appear in Tiger Safari if running on tip of tree WebKit. 4144 4145 * WebView.subproj/WebUIDelegatePrivate.h: 4146 removed WebMenuItemTagSearchInSpotlight, WebMenuItemTagSearchInGoogle, and WebMenuItemTagLookUpInDictionary 4147 4148 * WebView.subproj/WebUIDelegate.h: 4149 added WebMenuItemTagSearchInSpotlight, WebMenuItemTagSearchWeb, and WebMenuItemTagLookUpInDictionary 4150 4151 * WebView.subproj/WebDefaultContextMenuDelegate.m: 4152 (-[WebDefaultUIDelegate menuItemWithTag:]): 4153 updated for rename 4154 (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]): 4155 ditto 4156 (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]): 4157 ditto 4158 41592005-08-01 Geoffrey Garen <ggaren@apple.com> 4160 4161 -fixed <rdar://problem/3572585> window.open fails if name param = 4162 the name of a window just closed in same function 4163 4164 Reviewed by darin. 4165 4166 Test cases added: 4167 4168 * manual-tests/open-after-close.html: Added. 4169 * manual-tests/resources/open-after-close-popup.html: Added. 4170 4171 * WebCoreSupport.subproj/WebBridge.m: 4172 (-[WebBridge closeWindowSoon]): We now remove a WebView from 4173 WebViewSets when the WebView is *scheduled* to close. 4174 41752005-08-01 John Sullivan <sullivan@apple.com> 4176 4177 * PublicHeaderChangesFromTiger.txt: 4178 added a comment about isTextField -> _isTextField 4179 41802005-08-01 John Sullivan <sullivan@apple.com> 4181 4182 Patch by Trey Matteson <trey@usa.net> 4183 Reviewed by me. 4184 4185 Fixed http://bugs.webkit.org/show_bug.cgi?id=4255 4186 underlines still print too thick 4187 4188 The real problem here is that we have code that scales a 0 width line to always 4189 be width=1.0 in device space. I'm leaving that in for the screen, but when printing 4190 a width of 0.5 looks good. 4191 4192 * WebCoreSupport.subproj/WebTextRenderer.m: 4193 (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]): 4194 41952005-08-01 Eric Seidel <eseidel@apple.com> 4196 4197 Reviewed by darin. 4198 4199 * WebCoreSupport.subproj/WebGraphicsBridge.m: 4200 removed create*ColorSpace methods, now using CG API directly. 4201 http://bugs.webkit.org/show_bug.cgi?id=4211 4202 42032005-07-31 John Sullivan <sullivan@apple.com> 4204 4205 Patch by Trey Matteson <trey@usa.net> 4206 Reviewed by me. 4207 4208 Fixed http://bugs.webkit.org/show_bug.cgi?id=4014 4209 PDF files by default load with a poor choice of sizing 4210 4211 For now the various PDF viewing settings are sticky, stored in 2 new defaults. Since 4212 there are a number of ways these settings are changed, I made a proxy for the PDFView 4213 through which all view changing messages are sent. The proxy adds the behavior of 4214 updating the defaults upon any change. 4215 4216 * Misc.subproj/WebNSDictionaryExtras.h: 4217 * Misc.subproj/WebNSDictionaryExtras.m: 4218 (-[NSMutableDictionary _webkit_setFloat:forKey:]): New support method. 4219 * WebView.subproj/WebPDFView.h: 4220 * WebView.subproj/WebPDFView.m: 4221 (-[WebPDFView initWithFrame:]): Create proxy for PDFView. 4222 (-[WebPDFView dealloc]): Free proxy. 4223 (-[WebPDFView _menuItemsFromPDFKitForEvent:]): For relevant context menu items, set the 4224 target to the proxy instead of the PDFView. 4225 (-[WebPDFView _readPDFDefaults]): Init PDFView with settings from defaults. 4226 (-[WebPDFView layout]): Call _readPDFDefaults, once. This turned out to be the best hook. 4227 (-[WebPDFView _makeTextSmaller:]): Change PDFView via proxy 4228 (-[WebPDFView _makeTextLarger:]): Ditto 4229 (-[WebPDFView _makeTextStandardSize:]): Ditto 4230 (-[PDFPrefUpdatingProxy initWithView:]): trivial 4231 (-[PDFPrefUpdatingProxy forwardInvocation:]): Forward the msg, then update defaults 4232 (-[PDFPrefUpdatingProxy methodSignatureForSelector:]): Simple forwarding support. 4233 * WebView.subproj/WebPreferenceKeysPrivate.h: 4234 * WebView.subproj/WebPreferences.m: 4235 (+[WebPreferences initialize]): Set initial values for new PDF viewing defaults. 4236 (-[WebPreferences _integerValueForKey:]): Nuke stray comment. 4237 (-[WebPreferences _floatValueForKey:]): New simple support method. 4238 (-[WebPreferences _setFloatValue:forKey:]): Ditto. 4239 (-[WebPreferences PDFScaleFactor]): 4 accessors for new defaults 4240 (-[WebPreferences setPDFScaleFactor:]): 4241 (-[WebPreferences PDFDisplayMode]): 4242 (-[WebPreferences setPDFDisplayMode:]): 4243 * WebView.subproj/WebPreferencesPrivate.h: 4244 42452005-08-01 Justin Garcia <justin.garcia@apple.com> 4246 4247 Patch by Trey Matteson <trey@usa.net> 4248 4249 Reviewed by Maciej. 4250 4251 Fixed <http://bugs.webkit.org/show_bug.cgi?id=4226> 4252 link underlines print too thickly 4253 4254 Reinstate the fix made by sullivan on 1/11/05. There was a merge 4255 error with an mjs fix on 1/13/05. 4256 4257 * WebCoreSupport.subproj/WebTextRenderer.m: 4258 (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]): 4259 42602005-07-30 Maciej Stachowiak <mjs@apple.com> 4261 4262 Build fixes for previous change (missing includes) 4263 4264 * WebView.subproj/WebFrame.m: 4265 * WebView.subproj/WebScriptDebugDelegate.m: 4266 42672005-07-29 Maciej Stachowiak <mjs@apple.com> 4268 4269 Changes by Michael Kahl, reviewed by me. 4270 4271 - fixed <rdar://problem/4164112> MASTER: JavaScript debugging support 4272 4273 * WebCoreSupport.subproj/WebBridge.m: 4274 (-[WebBridge windowObjectCleared]): 4275 * WebCoreSupport.subproj/WebSubresourceLoader.m: 4276 * WebKit.xcodeproj/project.pbxproj: 4277 * WebView.subproj/WebDefaultScriptDebugDelegate.h: Added. 4278 * WebView.subproj/WebDefaultScriptDebugDelegate.m: Added. 4279 (+[WebDefaultScriptDebugDelegate sharedScriptDebugDelegate]): 4280 (-[WebDefaultScriptDebugDelegate webView:didParseSource:fromURL:sourceId:forWebFrame:]): 4281 (-[WebDefaultScriptDebugDelegate webView:didEnterCallFrame:sourceId:line:forWebFrame:]): 4282 (-[WebDefaultScriptDebugDelegate webView:willExecuteStatement:sourceId:line:forWebFrame:]): 4283 (-[WebDefaultScriptDebugDelegate webView:willLeaveCallFrame:sourceId:line:forWebFrame:]): 4284 * WebView.subproj/WebFrame.m: 4285 (-[WebFramePrivate dealloc]): 4286 (-[WebFrame _attachScriptDebugger]): 4287 * WebView.subproj/WebFramePrivate.h: 4288 * WebView.subproj/WebScriptDebugDelegate.h: Added. 4289 * WebView.subproj/WebScriptDebugDelegate.m: Added. 4290 (-[WebScriptDebugger initWithWebFrame:]): 4291 (-[WebScriptDebugger dealloc]): 4292 (-[WebScriptDebugger globalObject]): 4293 (-[WebScriptDebugger newWrapperForFrame:]): 4294 (-[WebScriptDebugger parsedSource:fromURL:sourceId:]): 4295 (-[WebScriptDebugger enteredFrame:sourceId:line:]): 4296 (-[WebScriptDebugger hitStatement:sourceId:line:]): 4297 (-[WebScriptDebugger leavingFrame:sourceId:line:]): 4298 (-[WebScriptCallFrame _initWithFrame:]): 4299 (-[WebScriptCallFrame dealloc]): 4300 (-[WebScriptCallFrame setUserInfo:]): 4301 (-[WebScriptCallFrame userInfo]): 4302 (-[WebScriptCallFrame caller]): 4303 (-[WebScriptCallFrame scopeChain]): 4304 (-[WebScriptCallFrame functionName]): 4305 (-[WebScriptCallFrame exception]): 4306 (-[WebScriptCallFrame evaluateWebScript:]): 4307 * WebView.subproj/WebScriptDebugDelegatePrivate.h: Added. 4308 * WebView.subproj/WebView.h: 4309 * WebView.subproj/WebView.m: 4310 (-[WebViewPrivate dealloc]): 4311 (-[WebView _scriptDebugDelegateForwarder]): 4312 (-[WebView setScriptDebugDelegate:]): 4313 (-[WebView scriptDebugDelegate]): 4314 * WebView.subproj/WebViewInternal.h: 4315 * WebView.subproj/WebViewPrivate.h: 4316 43172005-07-26 Maciej Stachowiak <mjs@apple.com> 4318 4319 Reviewed by Dave Hyatt. 4320 4321 - fixed http://bugs.webkit.org/show_bug.cgi?id=4153 4322 4323 * WebView.subproj/WebFrame.m: 4324 (-[WebFrame _purgePageCache]): Find the oldest candidate for 4325 purging that is not a snapback item. 4326 43272005-07-29 David Harrison <harrison@apple.com> 4328 4329 Reviewed by Dave Hyatt (rendering) and Maciej (editing and performance improvements). 4330 4331 Test cases added: Existing tab-related basic editing tests were updated. More complex tests are coming soon. 4332 4333 <rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail) 4334 4335 Basic strategy is to put tabs into spans with white-space:pre style, and 4336 render them with tabs stops every 8th space, where the space width and 4337 the left margin are those of the enclosing block. 4338 4339 * WebCoreSupport.subproj/WebTextRenderer.m: 4340 (isSpace): 4341 (isRoundingHackCharacter): 4342 (getUncachedWidth): 4343 (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]): 4344 (-[WebTextRenderer _computeWidthForSpace]): 4345 (_drawGlyphs): 4346 (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]): 4347 (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]): 4348 (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]): 4349 (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]): 4350 (glyphForCharacter): 4351 (initializeCharacterWidthIterator): 4352 (ceilCurrentWidth): 4353 (widthForNextCharacter): 4354 43552005-07-29 John Sullivan <sullivan@apple.com> 4356 4357 Reviewed by Dave Hyatt. 4358 4359 - WebKit part of <rdar://problem/4187404> Redo form SPI so that it doesn't rely on NSViews 4360 4361 Much of 4187404 was addressed in earlier checkins. This checkin completes the task. 4362 4363 * WebView.subproj/WebHTMLRepresentation.h: 4364 * WebView.subproj/WebHTMLRepresentation.m: 4365 removed viewForElement:, which was the only remaining NSView-related SPI that Safari autofill was 4366 still using. I added viewForElement a week ago as a transitional measure, so removing it won't 4367 affect any other clients. 4368 43692005-07-29 John Sullivan <sullivan@apple.com> 4370 4371 Reviewed by Chris Blumenberg. 4372 4373 * WebView.subproj/WebFrameView.m: 4374 (-[WebFrameView _firstResponderIsFormControl]): 4375 renamed from _firstResponderIsControl for clarity. Explicitly rejects WebHTMLView, since 4376 it's now a control. 4377 (-[WebFrameView keyDown:]): 4378 updated for renamed method. 4379 43802005-07-28 John Sullivan <sullivan@apple.com> 4381 4382 Reviewed by Beth Dakin. 4383 4384 - removed method -[WebHTMLRepresentation elementForView:], which was SPI used only for 4385 Safari autofill. Tip of tree Safari no longer includes any calls to this method. Also, 4386 Tiger Safari never gets around to actually calling it due to the other recent form-SPI-related 4387 changes, so removing this method doesn't break Tiger Safari running on tip of tree WebKit 4388 (though autofill continues to not work in that configuration). 4389 4390 * WebView.subproj/WebHTMLRepresentation.h: 4391 * WebView.subproj/WebHTMLRepresentation.m: 4392 (-[WebHTMLRepresentation elementForView:]): removed 4393 43942005-07-27 John Sullivan <sullivan@apple.com> 4395 4396 Patch by Trey Matteson <trey@usa.net> 4397 Reviewed by me. 4398 4399 Fixed http://bugs.webkit.org/show_bug.cgi?id=4169 4400 scaling PDF view up leaves later HTML view scaled too 4401 4402 An additional step of separating scaling of HTML and PDF. If we do a zoom and there 4403 are no docViews that track the common scaling factor, then don't change it. Thus in 4404 the common PDF case where it is the only doc view, scaling the PDF does not affect 4405 HTML pages loaded in the same window. 4406 4407 * WebView.subproj/WebView.m: 4408 (-[WebView canMakeTextSmaller]): Pass 0 for new scaling factor, since we just querying. 4409 (-[WebView canMakeTextLarger]): Ditto. 4410 (-[WebView makeTextSmaller:]): Pass new scaling factor. 4411 (-[WebView makeTextLarger:]): Ditto. 4412 (-[WebView canMakeTextStandardSize]): Pass 0 for new scaling factor. 4413 (-[WebView makeTextStandardSize:]): Pass new scaling factor. 4414 (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:newScaleFactor:]): 4415 The meat of the change is that this Swiss Army Knife also takes a new scaling 4416 factor, which it will set as the common scaling factor if it finds any doc views that 4417 are able to be scaled which track the common scaling factor. 4418 44192005-07-27 John Sullivan <sullivan@apple.com> 4420 4421 Patch by Trey Matteson <trey@usa.net> 4422 Reviewed by me. 4423 4424 Fixed http://bugs.webkit.org/show_bug.cgi?id=4015 4425 PDF views should remember viewing mode, scroll position across back/forward 4426 Note this doesn't work within frames because of a PDFKit bug - see 4164 4427 Fixed http://bugs.webkit.org/show_bug.cgi?id=4091 4428 PDF views should keep a separate scaling factor from shared text scaling factor 4429 4430 Basic idea #1 is that we now have a general mechanism for a WebDocView to save/restore some UI 4431 state to the WebHistoryItem. 4432 Basic idea #2 is that _WebDocumentTextSizing is expanded to allow for the case of a WebDocView 4433 keeping its own notion of a scaling factor. WebPDFView's -_tracksCommonSizeFactor has justification. 4434 4435 * History.subproj/WebHistoryItem.m: 4436 (-[WebHistoryItem setViewState:]): New methods to hold PList of arbitrary WebView state 4437 (-[WebHistoryItem viewState]): 4438 * History.subproj/WebHistoryItemPrivate.h: 4439 * WebKit.xcodeproj/project.pbxproj: Add Quartz to framework path so we can import PDFKit files 4440 * WebView.subproj/WebDocumentInternal.h: New methods added to _WebDocumentTextSizing. 4441 Also the _ prefix is sufficient instead of _web_WebDocumentTextSizing. 4442 Added _WebDocumentViewState protocol. 4443 * WebView.subproj/WebFrame.m: 4444 (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]): Rename of save/restore methods. 4445 (-[WebFrame _detachFromParent]): Ditto 4446 (-[WebFrame _transitionToCommitted:]): Ditto 4447 (-[WebFrame _checkLoadCompleteForThisFrame]): Ditto 4448 (-[WebFrame _loadItem:withLoadType:]): Ditto 4449 (-[WebFrame _recursiveGoToItem:fromItem:withLoadType:]): Ditto 4450 (-[WebFrame _saveViewStateToItem:]): Call doc view to retrieve view state. 4451 (-[WebFrame _restoreViewState]): Call doc view to set view state. 4452 (-[WebFrame _scrollToTop]): Nuked dead code. 4453 (-[WebFrame _textSizeMultiplierChanged]): This work now appears in WebView. 4454 (-[WebFrame _saveDocumentAndScrollState]): Same rename, one code cleanup. 4455 (-[WebFrame _accumulateDocumentViews:]): Add our docview to the array, call kids. 4456 (-[WebFrame _documentViews]): New helper to return all docviews. 4457 (-[WebFrame _didFirstLayout]): Same name change. 4458 * WebView.subproj/WebFrameInternal.h: 4459 * WebView.subproj/WebFramePrivate.h: 4460 * WebView.subproj/WebHTMLView.m: Removed redundant category decl. 4461 (-[WebHTMLView _makeTextSmaller:]): Implement new protocol. 4462 (-[WebHTMLView _makeTextLarger:]): 4463 (-[WebHTMLView _makeTextStandardSize:]): 4464 (-[WebHTMLView _tracksCommonSizeFactor]): 4465 * WebView.subproj/WebPDFRepresentation.m: Tweak #imports. 4466 * WebView.subproj/WebPDFView.h: 4467 * WebView.subproj/WebPDFView.m: 4468 (-[WebPDFView _menuItemsFromPDFKitForEvent:]): No longer intercept context menu text sizing items. 4469 (-[WebPDFView setDataSource:]): No longer track the WebView's scaling factor. 4470 (-[WebPDFView scrollPoint]): Dig through PDFKit view tree to get real scroll position 4471 (-[WebPDFView setScrollPoint:]): Ditto 4472 (-[WebPDFView viewState]): Return bundle of viewing params 4473 (-[WebPDFView setViewState:]): Restore bundle of viewing params 4474 (-[WebPDFView _makeTextSmaller:]): Implement new text sizing protocol 4475 (-[WebPDFView _makeTextLarger:]): 4476 (-[WebPDFView _makeTextStandardSize:]): 4477 (-[WebPDFView _tracksCommonSizeFactor]): 4478 (-[WebPDFView _canMakeTextSmaller]): 4479 (-[WebPDFView _canMakeTextLarger]): 4480 (-[WebPDFView _canMakeTextStandardSize]): 4481 * WebView.subproj/WebTextView.m: 4482 (-[WebTextView _makeTextSmaller:]): Implement new text sizing protocol 4483 (-[WebTextView _makeTextLarger:]): 4484 (-[WebTextView _makeTextStandardSize:]): 4485 (-[WebTextView _tracksCommonSizeFactor]): 4486 * WebView.subproj/WebView.m: 4487 (-[WebView setTextSizeMultiplier:]): Calling docViews is now more complicates than just posting 4488 a notification to the frame. 4489 (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:]): Workhorse 4490 that sends the text sizing method to the right doc views. 4491 (-[WebView canMakeTextSmaller]): Call workhorse. 4492 (-[WebView canMakeTextLarger]): Ditto 4493 (-[WebView makeTextSmaller:]): Ditto 4494 (-[WebView makeTextLarger:]): Ditto 4495 (-[WebView canMakeTextStandardSize]): Ditto 4496 (-[WebView makeTextStandardSize:]): Ditto 4497 44982005-07-26 Justin Garcia <justin.garcia@apple.com> 4499 4500 Patch by Trey Matteson <trey@usa.net> 4501 4502 Reviewed by John Sullivan. 4503 4504 Fixed <http://bugs.webkit.org/show_bug.cgi?id=4072> 4505 Pressing back in browser misses out a page 4506 4507 * WebView.subproj/WebFrame.m: 4508 (-[WebFrame _transitionToCommitted:]): When reloading the same page or refreshing the 4509 page, update the URL in the b/f item with the URL that we wind up at. Due to cookies, 4510 it might be different than the result we just got when we loaded the same page. 4511 45122005-07-26 David Hyatt <hyatt@apple.com> 4513 4514 Make WebHTMLView inherit from NSControl instead of NSView. 4515 This change is necessary because the theme renderer for 4516 WebCore that draws controls with the Aqua appearance does so 4517 using NSCells. NSCells must be hosted within a control view 4518 in order to paint properly. 4519 4520 The method updateCell must be overridden because it wants to 4521 repaint the whole control when the windows resigns/becomes 4522 key, and this would result in behavior that we don't want 4523 (the repainting of the whole view). We already have hooks 4524 in WebHTMLView for the window resigning/becoming key so 4525 we will do our proper control updating there instead (in a 4526 future patch). 4527 4528 Reviewed by john 4529 4530 * WebView.subproj/WebHTMLView.h: 4531 * WebView.subproj/WebHTMLView.m: 4532 (-[WebHTMLView updateCell:]): 4533 45342005-07-26 John Sullivan <sullivan@apple.com> 4535 4536 Reviewed by Chris Blumenberg. 4537 4538 - more work to wean form-related SPI from NSView. All that's left (but this is a big "all") 4539 is viewForElement: and elementForView: 4540 4541 * WebCoreSupport.subproj/WebBridge.m: 4542 (-[WebBridge textField:doCommandBySelector:]): 4543 changed signature to pass along DOMElement* rather than NSView* 4544 4545 * WebView.subproj/WebFormDelegate.h: 4546 * WebView.subproj/WebFormDelegate.m: 4547 (-[WebFormDelegate textField:doCommandBySelector:inFrame:]): 4548 ditto 4549 45502005-07-25 John Sullivan <sullivan@apple.com> 4551 4552 Reviewed by Darin Adler. 4553 4554 - big hunk of weaning form-related SPI from NSView; autofill continues to 4555 work (but only on tip of tree Safari) 4556 4557 * WebCoreSupport.subproj/WebBridge.m: 4558 (-[WebBridge textFieldDidBeginEditing:]): 4559 changed name from controlTextXXX:, now takes a DOMHTMLInputElement* 4560 (-[WebBridge textFieldDidEndEditing:]): 4561 ditto 4562 (-[WebBridge textDidChangeInTextField:]): 4563 ditto 4564 (-[WebBridge textDidChangeInTextArea:]): 4565 changed name from textDidChange:, now takes a DOMHTMLTextAreaElement* 4566 (-[WebBridge control:textShouldBeginEditing:]): 4567 removed this method as it wasn't being used by autofill, and did nothing in WebKit 4568 (-[WebBridge control:textShouldEndEditing:]): 4569 ditto 4570 (-[WebBridge textField:shouldHandleEvent:]): 4571 changed name from control:textView:shouldHandleEvent:, now takes a DOMHTMLInputElement*. 4572 The textView parameter wasn't being used, so I eliminated it. 4573 4574 * WebView.subproj/WebFormDelegate.h: 4575 * WebView.subproj/WebFormDelegate.m: 4576 (-[WebFormDelegate textFieldDidBeginEditing:inFrame:]): 4577 (-[WebFormDelegate textFieldDidEndEditing:inFrame:]): 4578 (-[WebFormDelegate control:textShouldBeginEditing:inFrame:]): 4579 (-[WebFormDelegate control:textShouldEndEditing:inFrame:]): 4580 (-[WebFormDelegate textDidChangeInTextField:inFrame:]): 4581 (-[WebFormDelegate textDidChangeInTextArea:inFrame:]): 4582 (-[WebFormDelegate textField:shouldHandleEvent:inFrame:]): 4583 These all changed in the same way as the WebBridge methods 4584 4585 45862005-07-25 Vicki Murley <vicki@apple.com> 4587 4588 Reviewed by Darin. 4589 4590 - fixed <rdar://problem/3470523> Safari's user agent should be changed to say Intel rather 4591 than PPC on Intel machines 4592 4593 * WebView.subproj/WebView.m: add conditional #defines for "PPC" and "Intel" 4594 (-[WebView userAgentForURL:]): use this variable when constructing the user agent string 4595 45962005-07-24 Justin Garcia <justin.garcia@apple.com> 4597 4598 Reviewed by mjs 4599 4600 - Fixes <rdar://problem/4120535> deleteToEndOfLine: does not delete thew newline when at the end of a line 4601 Fix to match NSTextView. Delete the next character if deleteToEndOfLine fails 4602 4603 * WebView.subproj/WebHTMLView.m: 4604 (-[WebHTMLView deleteToEndOfLine:]): 4605 46062005-07-24 Justin Garcia <justin.garcia@apple.com> 4607 4608 Patch by Trey Matteson <trey@apple.com> 4609 4610 Reviewed by john 4611 4612 Fixes <http://bugs.webkit.org/show_bug.cgi?id=3953> back-forward items have wrong titles after sub-frame navigations 4613 4614 This was caused by a mistaken data structure, where WebDataSource tried to keep a list of 4615 b/f items it was responsible for. The problem arose in the case of frames, where a subframe 4616 was loaded with new content. When this happens a fresh tree of b/f items is created, 4617 but the reference in the DataSource still pointed to the old item. 4618 4619 Since the WebFrame does a lot of work to track the current b/f item, the easiest thing is to 4620 get rid of the DataSource's reference, and have it ask the WebFrame to set the title on the 4621 right b/f item. 4622 4623 * WebView.subproj/WebDataSource.m: 4624 (-[WebDataSourcePrivate dealloc]): 4625 (-[WebDataSource _setTitle:]): 4626 * WebView.subproj/WebDataSourcePrivate.h: 4627 * WebView.subproj/WebFrame.m: 4628 (-[WebFrame _createItem:]): 4629 (-[WebFrame _transitionToCommitted:]): 4630 (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): 4631 (-[WebFrame _setTitle:]): 4632 * WebView.subproj/WebFramePrivate.h: 4633 46342005-07-24 Justin Garcia <justin.garcia@apple.com> 4635 4636 Reviewed by kevin 4637 4638 Fixed make clean problem 4639 4640 * Makefile.am: 4641 46422005-07-23 Justin Garcia <justin.garcia@apple.com> 4643 4644 Patch by <opendarwin.org@mitzpettel.com> 4645 4646 Reviewed by darin and hyatt 4647 4648 Fixes <http://bugs.webkit.org/show_bug.cgi?id=3862> 4649 The fix for <http://bugs.webkit.org/show_bug.cgi?id=3545> enclosed each run of visually ordered 4650 hebrew with LRO and PDF control characters, but adjusted the run's to and from to include those characters, 4651 so that they would be rendered if the font includes a glyph for bidi control characters. 4652 4653 Also adding a manual test 4654 4655 * WebCoreSupport.subproj/WebTextRenderer.m: 4656 (reverseCharactersInRun): 4657 46582005-07-22 John Sullivan <sullivan@apple.com> 4659 4660 Reviewed by Justin Garcia. 4661 4662 Mail (running on tip of tree WebKit) was running into an assertion I recently added. 4663 The assertion is actually correct, catching an old bug in this code. 4664 4665 * WebView.subproj/WebView.m: 4666 (-[WebView selectedFrame]): 4667 if the first responder is a WebFrameView, then we've found the WebFrameView we're 4668 looking for, and we shouldn't look at its superviews. 4669 46702005-07-22 John Sullivan <sullivan@apple.com> 4671 4672 Reviewed by Chris Blumenberg. 4673 4674 - some changes in the direction of weaning all the form-related SPI from NSView 4675 4676 * PublicHeaderChangesFromTiger.txt: 4677 noted that the WebCore change to add -[DOMHTMLInputElement isTextField] to 4678 DOMExtensions.h is a public header change. 4679 4680 * WebView.subproj/WebHTMLRepresentation.h: 4681 * WebView.subproj/WebHTMLRepresentation.m: 4682 (-[WebHTMLRepresentation viewForElement:]): 4683 added viewForElement: as a stopgap measure. This allowed me to convert controlsInForm: 4684 to return DOMElements rather than NSViews, while keeping autocomplete working in 4685 Safari tip of tree. When I finish the SPI conversion I'll delete this method. Note that 4686 from this point on, autocomplete will not work in Tiger Safari with tip of tree WebKit 4687 (it will always fail to find anything to autocomplete) 4688 46892005-07-21 Adele Peterson <adele@apple.com> 4690 4691 Reviewed by Darin. 4692 4693 Changing temporary #ifndef to #if 4694 4695 * WebCoreSupport.subproj/WebImageData.m: 4696 (-[WebImageData _checkSolidColor:]): 4697 46982005-07-21 Adele Peterson <adele@apple.com> 4699 4700 Reviewed by Chris Blumenberg. 4701 4702 - fixed <rdar://problem/4132797> don't register thin PPC WebKit plug-ins 4703 Merged fix for: 4704 <rdar://problem/4127100> [WebKit] 8B1016: After installing Acrobat Reader, can no longer see pdf's in Safari 4705 4706 * Plugins.subproj/WebBasePluginPackage.h: Added isNativeLibraryData method. 4707 * Plugins.subproj/WebBasePluginPackage.m: (-[WebBasePluginPackage isNativeLibraryData:]): Added isNativeLibraryData method. 4708 * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage initWithPath:]): 4709 calls isNativeLibraryData to determine whether or not to register the plug-in. 4710 * Plugins.subproj/WebPluginPackage.m: (-[WebPluginPackage initWithPath:]): ditto. 4711 * WebCoreSupport.subproj/WebImageData.m: (-[WebImageData _checkSolidColor:]): added comment for #ifdef. 4712 47132005-07-21 Geoffrey Garen <ggaren@apple.com> 4714 4715 * WebKit.pbproj/project.pbxproj: Removed. 4716 47172005-07-21 Geoffrey Garen <ggaren@apple.com> 4718 4719 * WebKit.xcodeproj/.cvsignore: Added. 4720 47212005-07-21 Geoffrey Garen <ggaren@apple.com> 4722 4723 * WebKit.xcodeproj/project.pbxproj: Added. 4724 47252005-07-21 Geoffrey Garen <ggaren@apple.com> 4726 4727 * Makefile.am: 4728 47292005-07-20 John Sullivan <sullivan@apple.com> 4730 4731 Reviewed by Vicki Murley. 4732 4733 - removed some form-related methods that weren't being used anywhere, in preparation 4734 for weaning WebKit's WebFormDelegate protocol from NSView. 4735 4736 * WebCoreSupport.subproj/WebBridge.m: 4737 * WebView.subproj/WebFormDelegate.h: 4738 * WebView.subproj/WebFormDelegate.m: 4739 removed these methods: 4740 -control:didFailToFormatString:errorDescription: 4741 -control:didFailToValidatePartialString:errorDescription: 4742 -control:isValidObject: 4743 47442005-07-20 Adele Peterson <adele@apple.com> 4745 4746 Merged fix for: 4747 <rdar://problem/4125127> [WebKit] horizontal rulers don't render on Safari on web.apple.com 4748 4749 * WebCoreSupport.subproj/WebImageData.m: 4750 (-[WebImageData _checkSolidColor:]): 4751 47522005-07-20 Adele Peterson <adele@apple.com> 4753 4754 Merged fix for : 4755 <rdar://problem/4118278> mail divide by zero navigating messages 4756 4757 * WebCoreSupport.subproj/WebTextRenderer.m: 4758 (-[WebTextRenderer _extendGlyphToWidthMapToInclude:font:]): 4759 47602005-07-20 John Sullivan <sullivan@apple.com> 4761 4762 Reviewed by Adele Peterson. 4763 4764 - added -[WebView selectedFrame] to SPI (pending public API), needed for 4180958 4765 4766 * WebView.subproj/WebView.m: 4767 (-[WebView selectedFrame]): 4768 new method, extracted from _selectedOrMainFrame 4769 (-[WebView _selectedOrMainFrame]): 4770 now calls extracted method 4771 4772 * WebView.subproj/WebViewPrivate.h: 4773 add -selectedFrame to PendingPublic category 4774 47752005-07-19 John Sullivan <sullivan@apple.com> 4776 4777 Reviewed by Darin Adler. 4778 4779 - cleaned up code related to dealing with the "selected frame"; fixes radar bugs 4118830 and 4118820 4780 4781 * WebView.subproj/WebTextView.m: 4782 (-[WebTextView resignFirstResponder]): 4783 call deselectAll here instead of replicating its guts, just for clarity 4784 4785 * WebView.subproj/WebViewInternal.h: 4786 eliminated category WebInternal; all of these methods were used only inside WebView.m, so I moved 4787 them into the existing category WebFileInternal that was declared and implemented in WebView.m 4788 4789 * WebView.subproj/WebView.m: 4790 (-[WebView searchFor:direction:caseSensitive:wrap:]): 4791 updated for name changes. Also, uses new _deselectFrame: to clear the selection if the found 4792 text is in a different frame. 4793 (-[WebView pasteboardTypesForSelection]): 4794 (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]): 4795 (-[WebView setSelectedDOMRange:affinity:]): 4796 (-[WebView selectedDOMRange]): 4797 (-[WebView selectionAffinity]): 4798 (-[WebView setTypingStyle:]): 4799 (-[WebView typingStyle]): 4800 (-[WebView styleDeclarationWithText:]): 4801 (-[WebView replaceSelectionWithNode:]): 4802 (-[WebView replaceSelectionWithText:]): 4803 (-[WebView replaceSelectionWithMarkupString:]): 4804 (-[WebView replaceSelectionWithArchive:]): 4805 (-[WebView deleteSelection]): 4806 (-[WebView applyStyle:]): 4807 updated for name changes only 4808 4809 (-[WebView _frameIsSelected:]): 4810 new method, returns YES if given frame has a non-zero-length selection 4811 (-[WebView _deselectFrame:]): 4812 new method, clears selection from given frame 4813 (-[WebView _findSelectedFrameStartingFromFrame:]): 4814 new method, recursive helper used by _findSelectedFrame 4815 (-[WebView _findSelectedFrame]): 4816 new method, finds first frame that returns YES for _frameIsSelected, or nil 4817 (-[WebView _debugCollectSelectedFramesIntoArray:startingFromFrame:]): 4818 new method, recursive helper used by _debugCheckForMultipleSelectedFrames 4819 (-[WebView _debugCheckForMultipleSelectedFrames]): 4820 new method for debugging, fires an assertion if there's more than one selected frame. 4821 (-[WebView _selectedOrMainFrame]): 4822 renamed from _frameForCurrentSelection, which was a misleading name since the returned 4823 frame does not necessarily have a selection (or even focus). Now checks for a selected 4824 but non-focused frame if the first responder is not in any frame. Also, moved in file 4825 from WebInternal category to WebFileInternal category. 4826 (-[WebView _bridgeForSelectedOrMainFrame]): 4827 renamed from _bridgeForCurrentSelection, which was a misleading name for the same 4828 reasons as _frameForCurrentSelection. Also, moved in file from WebInternal category to 4829 WebFileInternal category. 4830 (-[WebView _isLoading]): 4831 (-[WebView _frameViewAtWindowPoint:]): 4832 (-[WebView _bridgeAtPoint:]): 4833 just moved in file from WebInternal category to WebFileInternal category 4834 48352005-07-19 Darin Adler <darin@apple.com> 4836 4837 Reviewed by Geoff Garen. 4838 4839 - improve handling of plug-ins when the WebView or a superview is hidden with -[NSView setHidden] 4840 4841 * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): 4842 Add "hidden" to the list of reasons to clip out all plug-in drawing. 4843 48442005-07-18 John Sullivan <sullivan@apple.com> 4845 4846 Written by Trey Matteson <trey@usa.net> 4847 Reviewed by John Sullivan. 4848 4849 Fixed http://bugs.webkit.org/show_bug.cgi?id=4049 4850 scroll position not restored when going back/forward at ebay 4851 Fixed http://bugs.webkit.org/show_bug.cgi?id=4061 4852 When going back/forward to some pages, they redraw at top before restoring scroll position 4853 4854 The short story is that attempting to restore the scroll position 4855 at the time when the first layout finishes addresses both of these 4856 issues. An explanation of the underlying race condition is in 4857 a large comment near -_restoreScrollPosition. 4858 4859 * WebCoreSupport.subproj/WebBridge.m: 4860 (-[WebBridge didFirstLayout]): Pass through to WebFrame. 4861 * WebView.subproj/WebFrame.m: 4862 (-[WebFrame _transitionToCommitted:]): Get rid of attempt to 4863 restoreScrollPosition that never did anything because the 4864 docView was always 0x0 size at that point. 4865 (-[WebFrame _opened]): Get rid of redundant call to restoreScrollPosition. 4866 The imminent call to layoutCompleted makes the same call. 4867 (-[WebFrame _didFirstLayout]): Restore the scroll position on 4868 first layout, if we're doing a b/f nav. 4869 * WebView.subproj/WebFrameInternal.h: 4870 48712005-07-18 John Sullivan <sullivan@apple.com> 4872 4873 Reviewed by Darin Adler. 4874 4875 - fixed these bugs: 4876 <rdar://problem/4158121> context menu in PDF view should contain the selection-based items like Copy 4877 <rdar://problem/4184691> WebPDFView should conform to the WebDocumentElement protocol 4878 <rdar://problem/4184663> "Search in Spotlight" is present but dimmed in context menu for plain-text documents 4879 4880 * WebView.subproj/WebDefaultContextMenuDelegate.m: 4881 (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]): 4882 added ASSERT and comments 4883 4884 * WebView.subproj/WebHTMLView.m: 4885 (-[WebHTMLView _searchWithGoogleFromMenu:]): 4886 removed this method (now handled by WebView) 4887 (-[WebHTMLView _searchWithSpotlightFromMenu:]): 4888 ditto 4889 (-[WebHTMLView validateUserInterfaceItem:]): 4890 removed validation for removed items. The validation wasn't necessary anyway, since we only put these items 4891 in the menu in the case where they should be enabled. 4892 4893 * WebView.subproj/WebPDFView.h: 4894 now conforms to WebDocumentElement protocol (which lets [WebView elementAtPoint:] work better) 4895 * WebView.subproj/WebPDFView.m: 4896 (-[WebPDFView copy:]): 4897 added, hands off to PDFView, needed to enable Copy in context menu 4898 (-[WebPDFView _pointIsInSelection:]): 4899 new method, checks whether given point is in the selected bounds 4900 (-[WebPDFView elementAtPoint:]): 4901 add WebElementIsSelectedKey to returned element 4902 (-[WebPDFView menuForEvent:]): 4903 use actual point instead of dummy placeholder, now that we have code that pays attention to the point 4904 4905 * WebView.subproj/WebView.m: 4906 (-[WebView _searchWithGoogleFromMenu:]): 4907 moved here from WebHTMLView so it will work for any documentView that conforms to WebDocumentText. 4908 Rewrote slightly to be non-WebHTMLView-specific. (This menu item was always enabled in Safari because 4909 Safari replaces its action, but it would not have been always enabled in other WebKit clients, though 4910 it should have been.) 4911 (-[WebView _searchWithSpotlightFromMenu:]): 4912 moved here from WebHTMLView so it will work for any documentView that conforms to WebDocumentText. 4913 Rewrote slightly to be non-WebHTMLView-specific. 4914 49152005-07-18 John Sullivan <sullivan@apple.com> 4916 4917 Reviewed by Richard Williamson. 4918 4919 - fixed <rdar://problem/4184366> WebPDFView should conform to the WebDocumentSelection protocol 4920 4921 * Misc.subproj/WebNSAttributedStringExtras.h: Added. 4922 * Misc.subproj/WebNSAttributedStringExtras.m: Added. 4923 (-[NSAttributedString _web_attributedStringByStrippingAttachmentCharacters]): 4924 New category on NSAttributedString, initially contains this one method that had been in WebHTMLView. 4925 4926 * WebView.subproj/WebHTMLView.m: 4927 (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]): 4928 now uses _web_attributedStringByStrippingAttachmentCharacters 4929 4930 * WebView.subproj/WebPDFView.h: 4931 now conforms to WebDocumentSelection protocol 4932 * WebView.subproj/WebPDFView.m: 4933 (-[WebPDFView selectionRect]): 4934 new, implementation of WebDocumentSelection protocol method 4935 (-[WebPDFView pasteboardTypesForSelection]): 4936 ditto 4937 (-[WebPDFView writeSelectionWithPasteboardTypes:toPasteboard:]): 4938 ditto 4939 4940 * WebKit.pbproj/project.pbxproj: 4941 updated for new files 4942 49432005-07-18 John Sullivan <sullivan@apple.com> 4944 4945 Reviewed by Chris Blumenberg. 4946 4947 - some refactoring cleanup in the selection/searching code 4948 4949 * Misc.subproj/WebSearchableTextView.h: 4950 moved WebDocumentSelection protocol conformation to this class, was in subclass WebTextView 4951 * Misc.subproj/WebSearchableTextView.m: 4952 (-[WebSearchableTextView selectionRect]): 4953 new method (moved here from Safari) to return a single rect encompassing all selected text 4954 (-[WebSearchableTextView pasteboardTypesForSelection]): 4955 moved here from WebTextView 4956 (-[WebSearchableTextView writeSelectionWithPasteboardTypes:toPasteboard:]): 4957 ditto 4958 4959 * WebView.subproj/WebDocumentInternal.h: 4960 moved WebDocumentSelection protocol out of here 4961 4962 * WebView.subproj/WebDocumentPrivate.h: 4963 moved WebDocumentSelection protocol into here, added selectionRect method 4964 4965 * WebView.subproj/WebHTMLView.m: 4966 (-[WebHTMLView selectionRect]): 4967 new method, calls existing bridge method formerly called by _selectionRect 4968 (-[WebHTMLView _selectionRect]): 4969 now calls [self selectionRect]. We can't just delete _selectionRect because it's used by Mail. 4970 4971 * WebView.subproj/WebHTMLViewPrivate.h: 4972 removed _selectionRect since it's in WebDocumentSelection now 4973 4974 * WebView.subproj/WebTextView.h: 4975 removed WebDocumentSelection from protocol list since it's in superclass now 4976 4977 * WebView.subproj/WebTextView.m: 4978 removed old WebDocumentSelection methods because they are in superclass now 4979 49802005-07-15 Adele Peterson <adele@apple.com> 4981 4982 Written by Trey Matteson <trey@usa.net> 4983 Reviewed by John Sullivan. 4984 4985 Fixed http://bugs.webkit.org/show_bug.cgi?id=3910 - REGRESSION: Replying "Cancel" to the form repost nag leaves wrong b/f cursor 4986 4987 * WebView.subproj/WebFrame.m: 4988 (-[WebFrame _resetBackForwardList]): new helper method 4989 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): 4990 If the delegate bailed on the navigation, tell the main frame 4991 to reset the b/f cursor back to where it was before we started. 4992 49932005-07-15 John Sullivan <sullivan@apple.com> 4994 4995 Written by Trey Matteson 4996 Reviewed by me. 4997 4998 Fix for http://bugs.webkit.org/show_bug.cgi?id=4013 4999 text find doesn't wrap in PDF files 5000 5001 This just works once WebPDFView implements the WebDocumentText protocol, which is 5002 mostly just a matter of forwarding the methods to PDFKit appropriately. 5003 5004 * WebView.subproj/WebPDFView.h: 5005 * WebView.subproj/WebPDFView.m: 5006 (-[WebPDFView supportsTextEncoding]): 5007 (-[WebPDFView string]): 5008 (-[WebPDFView attributedString]): 5009 (-[WebPDFView selectedString]): 5010 (-[WebPDFView selectedAttributedString]): 5011 (-[WebPDFView selectAll]): 5012 (-[WebPDFView deselectAll]): 5013 50142005-07-15 John Sullivan <sullivan@apple.com> 5015 5016 Reviewed by Kevin Decker. 5017 5018 - fixed <rdar://problem/4181884> Searching for text that overlaps selection works 5019 differently in PDFView than in HTMLView 5020 5021 * WebView.subproj/WebPDFView.m: 5022 (PDFSelectionsAreEqual): 5023 new function, stand-in for nonexistent -[PDFSelection isEqual:] since calling isEqual: 5024 on two identical PDFSelections returns NO 5025 (-[WebPDFView searchFor:direction:caseSensitive:wrap:]): 5026 Make search algorithm match that in WebCore: initially search inside selection, then check for the case 5027 where the found text exactly matches the previous selection, and search from past the selection if so. 5028 The implementation is slightly more complicated than it should be due to PDFKit API limitations (about 5029 which I added FIXMEs and filed bugs) 5030 50312005-07-15 John Sullivan <sullivan@apple.com> 5032 5033 Reviewed by Maciej Stachowiak. 5034 5035 - fixed these bugs: 5036 <rdar://problem/4181875> Searching for text that overlaps selection works differently in WebTextView than in HTMLView 5037 <rdar://problem/3393678> Find not finding text in plain (non-HTML) if all text is selected 5038 5039 * Misc.subproj/WebSearchableTextView.m: 5040 (-[NSString findString:selectedRange:options:wrap:]): 5041 Make search algorithm match that in WebCore: initially search inside selection, then check for the case 5042 where the found text exactly matches the previous selection, and search from past the selection if so. 5043 50442005-07-14 John Sullivan <sullivan@apple.com> 5045 5046 Reviewed by Dave Hyatt. 5047 5048 - WebKit part of fix for: 5049 <rdar://problem/4181227> webpages incorrectly use standard instead of secondary highlighting in certain cases 5050 5051 * WebCoreSupport.subproj/WebBridge.m: 5052 (-[WebBridge formControlIsResigningFirstResponder:]): 5053 Implementation of new method defined in WebCore, passes call along to WebHTMLView 5054 5055 * WebView.subproj/WebHTMLViewInternal.h: 5056 declare _formControlIsResigningFirstResponder: so bridge can call it 5057 5058 * WebView.subproj/WebHTMLView.m: 5059 (-[WebHTMLView updateFocusState]): 5060 just moved in file so it could be called from a different category 5061 (-[WebHTMLView _formControlIsResigningFirstResponder:]): 5062 new method, updates focus state 5063 50642005-07-14 John Sullivan <sullivan@apple.com> 5065 5066 added missing #import to fix build 5067 * WebView.subproj/WebPDFView.m 5068 50692005-07-14 Kevin Decker <kdecker@apple.com> 5070 5071 Reviewed by cblu 5072 5073 Fixed: <rdar://problem/4122282> clicking a link in an PDF file opens the link with NSWorkspace without the usual security checks or WebView delegate control 5074 5075 * WebView.subproj/WebFrame.m: 5076 (-[WebFrame _safeLoadURL:]): added 5077 * WebView.subproj/WebFrameInternal.h: 5078 * WebView.subproj/WebPDFView.m: 5079 (-[WebPDFView initWithFrame:]): 5080 (-[WebPDFView PDFViewWillClickOnLink:withURL:]): prevents evilness with a call to _safeLoadURL 5081 * WebView.subproj/WebTextView.m: 5082 (-[WebTextView clickedOnLink:atIndex:]): factored calling out to the bridge, and instead call _safeLoadURL 5083 50842005-07-14 Vicki Murley <vicki@apple.com> 5085 5086 Reviewed by Kocienda. 5087 5088 - WebKit part of fix for <rdar://problem/4172380> [GENENTECH] window.opener 5089 not available when child opened via target="_new" 5090 5091 Add a setOpener function to the WebCore bridge, and call this function when opening 5092 new windows through Web Kit. 5093 5094 * WebView.subproj/WebFrame.m: 5095 (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]): 5096 50972005-07-13 Justin Garcia <justin.garcia@apple.com> 5098 5099 Reviewed by John 5100 5101 Rolling in changes necessary to build with newer versions of gcc 4.0 5102 5103 * History.subproj/WebHistoryItem.m: 5104 (-[WebHistoryItem copyWithZone:]): 5105 * Misc.subproj/WebNSPasteboardExtras.m: 5106 (-[NSPasteboard _web_writeImage:URL:title:archive:types:]): 5107 * Misc.subproj/WebNSURLExtras.m: 5108 (-[NSURL _web_URLWithLowercasedScheme]): 5109 (-[NSString _web_mapHostNameWithRange:encode:makeString:]): 5110 * WebCoreSupport.subproj/WebBridge.m: 5111 (-[WebBridge MIMETypeForPath:]): 5112 * WebCoreSupport.subproj/WebImageRendererFactory.m: 5113 (-[WebImageRendererFactory imageRendererWithBytes:length:MIMEType:]): 5114 * WebCoreSupport.subproj/WebTextRenderer.m: 5115 (-[WebTextRenderer initWithFont:usingPrinterFont:]): 5116 * WebView.subproj/WebFrame.m: 5117 (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:unreachableURL:]): 5118 * WebView.subproj/WebHTMLView.m: 5119 (-[WebHTMLView _styleFromFontAttributes:]): 5120 * WebView.subproj/WebView.m: 5121 (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]): 5122 (-[WebView mainFrameTitle]): 5123 51242005-07-13 John Sullivan <sullivan@apple.com> 5125 5126 Reviewed by Maciej Stachowiak. 5127 5128 - cleaned up Find-related experimental code that I checked in a while back 5129 5130 * WebView.subproj/WebHTMLView.m: 5131 (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]): 5132 remove variant of this method that had findInSelection flag; this method is now 5133 the same as it was on Tiger. 5134 5135 * WebView.subproj/WebView.m: 5136 (-[WebView searchFor:direction:caseSensitive:wrap:]): 5137 ditto 5138 51392005-07-12 Geoffrey Garen <ggaren@apple.com> 5140 5141 -rolled in patch by opendarwin.org@mitzpettel.com 5142 for http://bugs.webkit.org/show_bug.cgi?id=3435 5143 Parentheses are backwards in Hebrew text (no bidi mirroring?) 5144 5145 Reviewed by mjs. 5146 5147 Layout test added to WebCore. 5148 5149 * WebCoreSupport.subproj/WebTextRenderer.h: 5150 * WebCoreSupport.subproj/WebTextRenderer.m: 5151 (-[WebTextRenderer _initializeATSUStyle]): 5152 (applyMirroringToRun): 5153 (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]): 5154 (-[WebTextRenderer _ATSU_drawRun:style:geometry:]): 5155 (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]): 5156 51572005-07-12 Ken Kocienda <kocienda@apple.com> 5158 5159 Reviewed by Chris Blumenberg 5160 5161 * WebCoreSupport.subproj/WebBridge.m: Removed some glue that allowed one 5162 of two unicode (TEC or ICU ) to be chosen at runtime. I just added this 5163 dual support yesterday, and while Maciej and I agreed that it was good 5164 to land in the tree in case we run into problems in the near future, we 5165 also agreed that cutting over to using ICU full time right now is 5166 probably the best way to find bugs. 5167 51682005-07-11 Ken Kocienda <kocienda@apple.com> 5169 5170 Reviewed by Richard 5171 5172 * WebCoreSupport.subproj/WebBridge.m: 5173 (+[WebBridge setTextConversionMethod:]): New method to support switching text conversion method. 5174 (+[WebBridge textConversionMethod]): Returns current text conversion method. 5175 51762005-07-11 Kevin Decker <kdecker@apple.com> 5177 5178 Reviewed by cblu and mjs. 5179 5180 Fixed: <rdar://problem/4099552> REGRESSION: Safari 1.3 Netscape API NPN_PostURL[Notify] no longer allows manual headers 5181 5182 Most plugins (flash) send 2 CRFL's between the header and body of their POST requests, while the adboe plugin sends two LF's. This caused us to send custom headers as part of the actual POST data itself, and correspondently, would skew Content-Length. 5183 5184 * Plugins.subproj/WebBaseNetscapePluginView.m: 5185 (-[NSData _web_locationAfterFirstBlankLine]): Look for two LF's as well 5186 51872005-07-09 Maciej Stachowiak <mjs@apple.com> 5188 5189 - back out my revent page cache changes, turns out they cause a 5190 major performance regression on PLT 5191 5192 * WebView.subproj/WebFrame.m: 5193 (-[WebFrame _purgePageCache]): 5194 51952005-07-09 Maciej Stachowiak <mjs@apple.com> 5196 5197 Reviewed by hyatt. 5198 5199 Replace int with unsigned, to avoid going into a huge loop when 5200 back list count is 0. 5201 5202 * WebView.subproj/WebFrame.m: 5203 (-[WebFrame _purgePageCache]): 5204 52052005-07-09 Maciej Stachowiak <mjs@apple.com> 5206 5207 - fixed broken Development build 5208 5209 * WebView.subproj/WebFrame.m: 5210 (-[WebFrame _purgePageCache]): 5211 52122005-07-09 Maciej Stachowiak <mjs@apple.com> 5213 5214 Reviewed by hyatt. 5215 5216 - fix page cache purging logic; this gets rid of a bug where the 5217 page cache would grow without bound if the oldest page cache item 5218 was the snapback item, and changed the rule a bit so page cache 5219 items farther back than the max size get purged, even if fewer 5220 than the max size are in current use. 5221 5222 * WebView.subproj/WebFrame.m: 5223 (-[WebFrame _purgePageCache]): 5224 52252005-07-08 Geoffrey Garen <ggaren@apple.com> 5226 5227 Rolled in patch by opendarwin.org@mitzpettel.com 5228 5229 -fixes http://bugs.webkit.org/show_bug.cgi?id=3818 5230 Fallback font doesn't have requested weight in ATSUI-rendered text 5231 5232 (See WebCore Changelog for layout test) 5233 5234 Reviewed by mjs. 5235 5236 * WebCoreSupport.subproj/WebTextRenderer.m: 5237 (-[WebTextRenderer _createATSUTextLayoutForRun:style:]): 5238 52392005-07-05 Adele Peterson <adele@apple.com> 5240 5241 Rolling out changes for <rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail) 5242 since it caused a 2% performance regression. 5243 5244 * WebCoreSupport.subproj/WebTextRenderer.m: 5245 (isSpace): 5246 (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]): 5247 (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]): 5248 (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]): 5249 (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]): 5250 (initializeCharacterWidthIterator): 5251 (widthForNextCharacter): 5252 52532005-07-05 John Sullivan <sullivan@apple.com> 5254 5255 Reviewed by Chris Blumenberg. 5256 5257 - fixed <rdar://problem/4158230> Zoom In/Zoom Out in PDF context menu don't update window's notion of text size 5258 5259 * WebView.subproj/WebPDFView.m: 5260 (-[WebPDFView _menuItemsFromPDFKitForEvent:]): 5261 Redirect Actual Size, Zoom In, and Zoom Out context menu items so that they behave exactly like Make Text Standard Size, 5262 Make Text Larger, and Make Text Smaller. 5263 52642005-07-01 John Sullivan <sullivan@apple.com> 5265 5266 Reviewed by Darin Adler. 5267 5268 - fixed http://bugs.webkit.org/show_bug.cgi?id=3711: Displayed PDF have limited options in contextual menu 5269 5270 This was a problem with using Tiger's version of Safari with tip of tree WebKit. 5271 5272 * WebView.subproj/WebPDFView.m: 5273 (-[WebPDFView _anyPDFTagsFoundInMenu:]): 5274 new method, returns YES if the menu contains any items with any of the new PDF-related tags. 5275 (-[WebPDFView menuForEvent:]): 5276 If the executable was linked on Tiger or older (but it will never be older, since this code is 5277 new to Tiger), force all of the PDF-related items into the menu if none of them were there 5278 after processing by the delegate. 5279 52802005-06-30 Darin Adler <darin@apple.com> 5281 5282 Reviewed by John Sullivan. 5283 5284 - fixed <http://bugs.webkit.org/show_bug.cgi?id=3774> 5285 do renaming so that loaders are called "loader", not "client" or "delegate" 5286 5287 * Misc.subproj/WebIconLoader.h: 5288 * Plugins.subproj/WebNetscapePluginStream.h: 5289 * Plugins.subproj/WebNetscapePluginStream.m: 5290 (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): 5291 (-[WebNetscapePluginStream start]): 5292 (-[WebNetscapePlugInStreamLoader didFinishLoading]): 5293 (-[WebNetscapePlugInStreamLoader didFailWithError:]): 5294 (-[WebNetscapePlugInStreamLoader cancelWithError:]): 5295 * WebCoreSupport.subproj/WebBridge.m: 5296 (-[WebBridge startLoadingResource:withURL:customHeaders:]): 5297 (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): 5298 (-[WebBridge canRunModalNow]): 5299 * WebCoreSupport.subproj/WebSubresourceClient.h: Removed. 5300 * WebCoreSupport.subproj/WebSubresourceClient.m: Removed. 5301 * WebCoreSupport.subproj/WebSubresourceLoader.h: 5302 * WebCoreSupport.subproj/WebSubresourceLoader.m: 5303 (-[WebSubresourceLoader initWithLoader:dataSource:]): 5304 (-[WebSubresourceLoader dealloc]): 5305 (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]): 5306 (+[WebSubresourceLoader startLoadingResource:withURL:customHeaders:referrer:forDataSource:]): 5307 (+[WebSubresourceLoader startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]): 5308 (-[WebSubresourceLoader didReceiveResponse:]): 5309 (-[WebSubresourceLoader didReceiveData:lengthReceived:]): 5310 (-[WebSubresourceLoader didFinishLoading]): 5311 (-[WebSubresourceLoader didFailWithError:]): 5312 (-[WebSubresourceLoader cancel]): 5313 * WebKit.pbproj/project.pbxproj: 5314 * WebView.subproj/WebBaseResourceHandleDelegate.h: Removed. 5315 * WebView.subproj/WebBaseResourceHandleDelegate.m: Removed. 5316 * WebView.subproj/WebDataSource.m: 5317 (-[WebDataSourcePrivate dealloc]): 5318 (-[WebDataSource _setLoading:]): 5319 (-[WebDataSource _updateLoading]): 5320 (-[WebDataSource _setPrimaryLoadComplete:]): 5321 (-[WebDataSource _startLoading:]): 5322 (-[WebDataSource _addSubresourceLoader:]): 5323 (-[WebDataSource _removeSubresourceLoader:]): 5324 (-[WebDataSource _addPlugInStreamLoader:]): 5325 (-[WebDataSource _removePlugInStreamLoader:]): 5326 (-[WebDataSource _stopLoadingInternal]): 5327 (-[WebDataSource _defersCallbacksChanged]): 5328 (-[WebDataSource _stopLoadingWithError:]): 5329 (-[WebDataSource data]): 5330 (-[WebDataSource isLoading]): 5331 * WebView.subproj/WebDataSourcePrivate.h: 5332 * WebView.subproj/WebLoader.h: 5333 * WebView.subproj/WebLoader.m: 5334 * WebView.subproj/WebMainResourceClient.h: Removed. 5335 * WebView.subproj/WebMainResourceClient.m: Removed. 5336 * WebView.subproj/WebMainResourceLoader.h: 5337 * WebView.subproj/WebMainResourceLoader.m: 5338 (-[WebMainResourceLoader didReceiveResponse:]): 5339 53402005-06-29 David Harrison <harrison@apple.com> 5341 5342 Reviewed by Dave Hyatt (rendering) and Maciej (editing). 5343 5344 Test cases added: Coming soon. Will include with next round of changes for this bug. 5345 5346 This is the first checkin for... 5347 5348 <rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail) 5349 5350 Basic strategy is to put tabs into spans with white-space:pre style, and 5351 render them with tabs stops every 8th space, where the space width and 5352 the left margin are those of the enclosing block. 5353 5354 What's left is to switch to implement white-space:pre-wrap so 5355 that we can coalesce consecutive tabs while maintaining proper 5356 line breaking. That will keep the markup smaller. 5357 5358 * WebCoreSupport.subproj/WebTextRenderer.m: 5359 (isSpace): 5360 (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]): 5361 (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]): 5362 (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]): 5363 (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]): 5364 (initializeCharacterWidthIterator): 5365 (widthForNextCharacter): 5366 53672005-06-29 John Sullivan <sullivan@apple.com> 5368 5369 Reviewed by Kevin. 5370 5371 - deleted some never-used stub code 5372 5373 * WebView.subproj/WebView.m: 5374 * WebView.subproj/WebViewInternal.h: 5375 * WebView.subproj/WebViewPrivate.h: 5376 53772005-06-27 Justin Garcia <justin.garcia@apple.com> 5378 5379 Patch by Anders Carlsson <andersca@mac.com> 5380 5381 Reviewed by Darin. 5382 5383 - Fixes <http://bugs.webkit.org/show_bug.cgi?id=3489> 5384 WebView's setSelectedDOMRange doesn't not implement clearing the selection as described in the WebView documentation: 5385 <http://developer.apple.com/documentation/Cocoa/Reference/WebKit/ObjC_classic/Classes/WebView.html> 5386 5387 * WebView.subproj/WebView.m: 5388 (-[WebView setSelectedDOMRange:affinity:]): 5389 If range is nil, call deselectText. 5390 53912005-06-24 Justin Garcia <justin.garcia@apple.com> 5392 5393 Patch contributed by Duncan Wilcox <duncan@mclink.it> 5394 5395 Reviewed by Darin 5396 5397 - Fixed <http://bugs.webkit.org/show_bug.cgi?id=3535> 5398 Spelling suggestions in the context menu don't call the should* delegate methods 5399 5400 * WebView.subproj/WebHTMLView.m: 5401 (-[WebHTMLView _changeSpellingFromMenu:]): 5402 give delegate's webView:shouldInsertText:replacingDOMRange:givenAction: a chance 5403 to prevent replacing of selected text 5404 54052005-06-22 John Sullivan <sullivan@apple.com> 5406 5407 Reviewed by Chris Blumenberg. 5408 5409 - fixed <rdar://problem/3764645> please add a way to allow WebKit clients to override the WebPDFView context menu 5410 5411 * PublicHeaderChangesFromTiger.txt: Added. 5412 New file to keep track of changes made to public headers that haven't been through API review yet. 5413 Initially lists the WebMenuItem enum tags added to WebUIDelegate.h as part of this change. 5414 5415 * WebView.subproj/WebDefaultContextMenuDelegate.m: 5416 (-[WebDefaultUIDelegate appendDefaultItems:toArray:]): 5417 new method, handles initial separator 5418 (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]): 5419 now has defaultMenuItems: parameter. Any menu items in this array are appended at the end of 5420 the standard set. 5421 (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]): 5422 ditto 5423 (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): 5424 This had a defaultMenuItems parameter before but it was always nil. Now it passes the defaultMenuItems 5425 parameter on to the two methods that construct lists (one for editing, the other for viewing). Also 5426 tweaked variable name and type for clarity. 5427 5428 * WebView.subproj/WebHTMLView.m: 5429 (-[WebHTMLView menuForEvent:]): 5430 passes nil for new defaultItems parameter of _menuForElement: 5431 5432 * WebView.subproj/WebImageView.m: 5433 (-[WebImageView menuForEvent:]): 5434 ditto 5435 5436 * WebView.subproj/WebTextView.m: 5437 (-[WebTextView menuForEvent:]): 5438 ditto 5439 5440 * WebView.subproj/WebPDFView.m: 5441 (-[WebPDFView elementAtPoint:]): 5442 new method to create the element dictionary needed for _menuForElement:defaultItems:. Only supplies the 5443 webFrame at this point. 5444 (-[WebPDFView _menuItemsFromPDFKitForEvent:]): 5445 new method to return copies of the menu items that PDFKit would include in the context menu, with 5446 WebKit tags applied 5447 (-[WebPDFView menuForEvent:]): 5448 now calls standard WebKit context menu mechanism, so clients' delegates can modify the context menu as 5449 desired. The initial set of items are the ones WebKit was already displaying for PDF context menus. 5450 5451 * WebView.subproj/WebUIDelegate.h: 5452 added enum values for the menu items in the PDF context menu 5453 5454 * WebView.subproj/WebViewPrivate.h: 5455 * WebView.subproj/WebView.m: 5456 (-[WebView _menuForElement:defaultItems:]): 5457 Added the defaultItems: parameter to this method, which is then passed along to WebDefaultUIDelegate. 5458 All callers pass nil except for WebPDFView, at least for now. 5459 54602005-06-22 Darin Adler <darin@apple.com> 5461 5462 Change by Mitz Pettel. 5463 Reviewed by me. 5464 5465 - fixed <http://bugs.webkit.org/show_bug.cgi?id=3618> 5466 RTL runs drawn by CG not reversed properly 5467 5468 * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _CG_drawRun:style:geometry:]): 5469 Fix off-by-one mistake in order-swapping loops. 5470 54712005-06-22 Darin Adler <darin@apple.com> 5472 5473 Change by Michael Gaiman. 5474 Reviewed by me. 5475 5476 - fixed <http://bugs.webkit.org/show_bug.cgi?id=3436> 5477 Missing implementation of -[NSData(WebNSDateExtras) _webkit_parseRFC822HeaderFields] 5478 5479 * Misc.subproj/WebNSDataExtras.h: Fixed name of category say NSData, not NSDate. 5480 * Misc.subproj/WebNSDataExtras.m: (-[NSData _webkit_parseRFC822HeaderFields]): Fixed method name. 5481 54822005-06-21 John Sullivan <sullivan@apple.com> 5483 5484 Reviewed by Vicki Murley 5485 5486 - fixed assertion failure Vicki ran into 5487 5488 * Misc.subproj/WebIconDatabase.m: 5489 (-[WebIconDatabase _forgetIconForIconURLString:]): 5490 Handle the case where there are no associated page URLs for the icon URL 5491 54922005-06-20 John Sullivan <sullivan@apple.com> 5493 5494 Reviewed by Chris Blumenberg. 5495 5496 - fixed <rdar://problem/4155182> icon database retain counts can be incorrect after removing all icons 5497 5498 Replaced the concept of "future retain count per page URL" with a simpler concept of "retain count per 5499 page URL", which is maintained even after the icon is actually loaded (unlike the future retain count). 5500 The total retain count for an icon is now the sum of the retain counts per page URL along with any retain 5501 count not associated with a page URL -- this is still needed for some internal housekeeping purposes. 5502 5503 * Misc.subproj/WebIconDatabasePrivate.h: 5504 renamed iconURLToURLs -> iconURLToPageURLs for clarity 5505 renamed URLToIconURL -> pageURLToIconURL for clarity 5506 renamed futureURLToRetainCount -> pageURLToRetainCount (there's no more "future" aspect) 5507 renamed iconURLToRetainCount -> iconURLToExtraRetainCount (it now maintains only some of the retain count) 5508 5509 * Misc.subproj/WebIconDatabase.m: 5510 (+[WebIconDatabase sharedIconDatabase]): 5511 updated for name changes only 5512 (-[WebIconDatabase init]): 5513 ditto 5514 (-[WebIconDatabase iconForURL:withSize:cache:]): 5515 ditto 5516 (-[WebIconDatabase iconURLForURL:]): 5517 ditto 5518 (-[WebIconDatabase retainIconForURL:]): 5519 just bump the retain count in pageURLToRetainCount, instead of behaving differently based on whether 5520 an icon had been loaded for this URL; this let me delete the internal method _retainFutureIconForURL: 5521 (-[WebIconDatabase releaseIconForURL:]): 5522 decrement the retain count in pageURLToRetainCount, then handle the case where the retain count for 5523 this page has gone to zero. I deleted the internal method _releaseFutureIconForURL: formerly called here. 5524 (-[WebIconDatabase removeAllIcons]): 5525 remove all the code that dealt with retain counts; this operation no longer affects retain counts 5526 (-[WebIconDatabase _setIconURL:forURL:]): 5527 remove the code that consolidated multiple retain counts for different page URLs into a single retain 5528 count; the multiple retain counts are now maintained even after the icon is loaded 5529 (-[WebIconDatabase _clearDictionaries]): 5530 updated for name changes only 5531 (-[WebIconDatabase _loadIconDictionaries]): 5532 ditto 5533 (-[WebIconDatabase _updateFileDatabase]): 5534 ditto 5535 (-[WebIconDatabase _totalRetainCountForIconURLString:]): 5536 new method, sums the retain counts associated with specific page URLs and the extra retain count 5537 not associated with specific page URLs 5538 (-[WebIconDatabase _retainIconForIconURLString:]): 5539 updated for name changes 5540 (-[WebIconDatabase _forgetIconForIconURLString:]): 5541 no longer affects retain counts at all; this is up to callers 5542 (-[WebIconDatabase _releaseIconForIconURLString:]): 5543 this now distinguishes the case where the retain count not associated with any page URLs hits 5544 zero from the case where the total retain count hits zero, and handles both 5545 55462005-06-20 John Sullivan <sullivan@apple.com> 5547 5548 Reviewed by Chris Blumenberg. 5549 5550 - added support for emptying the icon database 5551 5552 * Misc.subproj/WebIconDatabase.h: just fixed a typo 5553 * Misc.subproj/WebIconDatabasePrivate.h: 5554 added WebPendingPublic category with method removeAllIcons, and 5555 declared WebIconDatabaseDidRemoveAllIconsNotification string. 5556 5557 * Misc.subproj/WebIconDatabase.m: 5558 (-[WebIconDatabase removeAllIcons]): 5559 new method, removes all known icons from memory and disk. There's one loose end, 5560 covered by radar bug 4155182, where it's possible for the icon database's retain 5561 counts to get off after this operation. I plan to fix this next. 5562 (-[WebIconDatabase _setIconURL:forURL:]): 5563 just fixed some extra whitespace 5564 (-[WebIconDatabase _forgetIconForIconURLString:]): 5565 new method, extracted from _releaseIconForIconURLString 5566 (-[WebIconDatabase _releaseIconForIconURLString:]): 5567 now calls extracted method 5568 5569 * WebKit.exp: 5570 added _WebIconDatabaseDidRemoveAllIconsNotification 5571 55722005-06-19 Darin Adler <darin@apple.com> 5573 5574 Changes by Mitz Pettel 5575 Reviewed by me. 5576 5577 - fixed <http://bugs.webkit.org/show_bug.cgi?id=3466> 5578 ATSUI text doesn't render at coordinates greater than 32K 5579 5580 * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _ATSU_drawRun:style:geometry:]): 5581 Translate the matrix of the CGContext instead of passing the appropriate coordinates to ATSU. 5582 55832005-06-17 Richard Williamson <rjw@apple.com> 5584 5585 Changes by Mitz Pettel 5586 Reviewed by Richard Williamson. 5587 5588 Fixed http://bugs.webkit.org/show_bug.cgi?id=3545 5589 5590 * WebCoreSupport.subproj/WebTextRenderer.m: 5591 (reverseCharactersInRun): 5592 (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]): 5593 55942005-06-17 John Sullivan <sullivan@apple.com> 5595 5596 Reviewed by Chris. 5597 5598 - fixed <rdar://problem/4151001> Reloading javascript-spawned window with no URL erases its contents 5599 5600 * WebView.subproj/WebFrame.m: 5601 (-[WebFrame reload]): 5602 do nothing if URL is zero-length 5603 56042005-06-14 John Sullivan <sullivan@apple.com> 5605 5606 Changes by Devin Lane. 5607 Reviewed by me. 5608 5609 - fixed <rdar://problem/3766909> PDF viewing could use a zoom control other than the one in the context menu 5610 5611 * WebView.subproj/WebPDFView.h: 5612 now implements protocol _web_WebDocumentTextSizing 5613 * WebView.subproj/WebPDFView.m: 5614 (-[WebPDFView _updateScalingToReflectTextSize]): 5615 new method, sets the PDF scaling from the text size multiplier 5616 (-[WebPDFView setDataSource:]): 5617 call _updateScalingToReflectTextSize 5618 (-[WebPDFView _web_textSizeMultiplierChanged]): 5619 implementation of protocol _web_WebDocumentTextSizing, calls _updateScalingToReflectTextSize 5620 56212005-06-14 John Sullivan <sullivan@apple.com> 5622 5623 Reviewed by Dave Harrison. 5624 5625 * WebView.subproj/WebHTMLView.m: 5626 (-[WebHTMLView _delayedEndPrintMode:]): 5627 After discussing this with Dave, I made this method both more debugger-friendly with asserts for 5628 the cases we don't think could ever happen, and more paranoid by handling these cases in deployment 5629 builds. 5630 56312005-06-14 Darin Adler <darin@apple.com> 5632 5633 - fixed build for Xcode 2.1 5634 5635 * WebKit.pbproj/project.pbxproj: Use BUILT_PRODUCTS_DIR instead of SYMROOT to search for the 5636 WebKitSystemInterface.h file. We could re-jigger this again later, but for now this is consistent 5637 with both the .a file's location and where build-webkit puts the file. 5638 56392005-06-13 John Sullivan <sullivan@apple.com> 5640 5641 Reviewed by Dave Harrison and Maciej. 5642 5643 * WebView.subproj/WebHTMLView.m: 5644 (-[WebHTMLView _endPrintMode]): 5645 new method, extracted from identical code in beginDocument and endDocument. This method must be called 5646 once to counterbalance the code called from knowsPageRange that turns on "printing mode". 5647 (-[WebHTMLView _delayedEndPrintMode:]): 5648 new method, called from "perform after delay". Checks whether the same print operation is still underway 5649 and, if so, delays further. Otherwise calls _endPrintMode directly. 5650 (-[WebHTMLView knowsPageRange:]): 5651 after turning on "printing mode", queue up a delayed call to _delayedEndPrintMode:. If there's an early 5652 error in the print mechanism such that beginDocument is never called, this will cleanly end "printing 5653 mode" and make the webview usable again. 5654 (-[WebHTMLView beginDocument]): 5655 cancel any delayed call to _delayedEndPrintMode:. If we get this far along in printing, then we don't need 5656 the failsafe call to _delayedEndPrintMode: that was set up in knowsPageRange:. Also, call extracted method. 5657 (-[WebHTMLView endDocument]): 5658 call extracted method 5659 56602005-06-13 Maciej Stachowiak <mjs@apple.com> 5661 5662 Reviewed by Chris Blumenberg and Adele. 5663 5664 - better fix for <rdar://problem/4142247> REGRESSION: List to browse widgets at Apple website failed. Closing tab afterwards caused Safari crash 5665 http://bugs.webkit.org/show_bug.cgi?id=3445 5666 5667 With this change and the matching WebKit change we'll still stop loading the moment you click 5668 a download link, but the unload event and detaching of event handlers will not happen early any more. 5669 5670 * WebView.subproj/WebDataSource.m: 5671 (-[WebDataSource _stopLoadingInternal]): call stopLoading on bridge instead of closeURL. 5672 * WebView.subproj/WebFrame.m: 5673 (-[WebFrame _transitionToCommitted:]): Revert previous attempt at fix. 5674 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): ditto 5675 (-[WebFrame stopLoading]): ditto 5676 56772005-06-13 Chris Petersen <cpetersen@apple.com> 5678 5679 Changes by Darin. 5680 Reviewed by me. 5681 5682 - fixed problems building deployment due to recent init change 5683 5684 * WebView.subproj/WebArchive.m: (-[WebArchive initWithCoder:]): 5685 Put the [super init] call and check for nil outside the exception handler. 5686 * WebView.subproj/WebResource.m: (-[WebResource initWithCoder:]): Ditto. 5687 56882005-06-12 Darin Adler <darin@apple.com> 5689 5690 Reviewed by Maciej. 5691 5692 - fixed <rdar://problem/4141569> REGRESSION (412+): printing fails on any page with images, and for standalone images 5693 also <http://bugs.webkit.org/show_bug.cgi?id=3318> 5694 5695 * WebCoreSupport.subproj/WebImageData.m: Got rid of use of tabs instead of spaces throughout the file. 5696 (-[WebImageData _checkSolidColor:]): Wrap use of NSGraphicsContext with an autorelease pool. 5697 (-[WebImageData _fillSolidColorInRect:compositeOperation:context:]): Ditto. 5698 (-[WebImageData tileInRect:fromPoint:context:]): Ditto. 5699 (-[WebImageData _PDFDrawFromRect:toRect:operation:alpha:flipped:context:]): Ditto. 5700 57012005-06-12 Darin Adler <darin@apple.com> 5702 5703 Changes by Nick Zitzmann. 5704 Reviewed by me. 5705 5706 - fixed init methods that don't handle return values from the init methods they call 5707 5708 * WebView.subproj/WebArchive.m: 5709 (-[WebArchive init]): Use value returned by init, check it for nil too. 5710 (-[WebArchive initWithMainResource:subresources:subframeArchives:]): Ditto. 5711 (-[WebArchive _initWithPropertyList:]): Ditto. 5712 (-[WebArchive initWithCoder:]): Ditto. 5713 * WebView.subproj/WebClipView.m: 5714 (-[WebClipView initWithFrame:]): Ditto. 5715 * WebView.subproj/WebDebugDOMNode.m: 5716 (-[WebDebugDOMNode initWithName:value:source:children:]): Ditto. 5717 * WebView.subproj/WebFrame.m: 5718 (-[WebFormState initWithForm:values:sourceFrame:]): Ditto. 5719 (-[WebFrame initWithName:webFrameView:webView:]): Ditto. 5720 * WebView.subproj/WebFrameView.m: 5721 (-[WebFrameView initWithFrame:]): Ditto. 5722 * WebView.subproj/WebHTMLRepresentation.m: 5723 (-[WebHTMLRepresentation init]): Ditto. 5724 * WebView.subproj/WebHTMLView.m: 5725 (-[WebHTMLView initWithFrame:]): Ditto. 5726 (-[WebTextCompleteController initWithHTMLView:]): Ditto. 5727 * WebView.subproj/WebImageView.m: 5728 (-[WebImageView initWithFrame:]): Ditto. 5729 * WebView.subproj/WebPreferences.m: 5730 (-[WebPreferences initWithIdentifier:]): Ditto. 5731 * WebView.subproj/WebRenderNode.m: 5732 (-[WebRenderNode initWithName:position:rect:view:children:]): Ditto. 5733 * WebView.subproj/WebResource.m: 5734 (-[WebResource init]): Ditto. 5735 (-[WebResource initWithCoder:]): Ditto. 5736 * WebView.subproj/WebView.m: 5737 (-[WebViewPrivate init]): Call super init. 5738 (-[_WebSafeForwarder initWithTarget:defaultTarget:templateClass:]): Use value returned by init, check it for nil too. 5739 (-[WebView initWithFrame:]): Ditto. 5740 57412005-06-12 Maciej Stachowiak <mjs@apple.com> 5742 5743 Reviewed by Chris Blumenberg. 5744 5745 - fixed <rdar://problem/4142247> REGRESSION: List to browse widgets at Apple website failed. Closing tab afterwards caused Safari crash 5746 http://bugs.webkit.org/show_bug.cgi?id=3445 5747 5748 * WebView.subproj/WebFrame.m: 5749 (-[WebFrame _transitionToCommitted:]): Stop loading the non-provisional data 5750 source before swapping in the provisional. 5751 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): Stop only 5752 the provisional load here, we would not want to stop loading if this navigation 5753 later turns into a download or is cancelled before being committed. 5754 (-[WebFrame stopLoading]): Factored a bit. 5755 (-[WebFrame _cancelProvisionalLoad]): New method to stop only provisional load, 5756 and cancel any pending policy deicions. 5757 (-[WebFrame _stopNonProvisionalLoadOnly]): New mthod that stops only the main 5758 load. 5759 57602005-06-10 John Sullivan <sullivan@apple.com> 5761 5762 reviewed by Dave Harrison (first & second drafts) and Darin Adler (third draft) 5763 5764 - WebKit part of fix for 5765 <rdar://problem/4145214> REGRESSION (412+): Can't drag URLs from the location bar 5766 5767 * Misc.subproj/WebNSPasteboardExtras.m: 5768 (+[NSPasteboard initialize]): 5769 Reinstate variation of old code that uses CreatePasteboardFlavorTypeName to set up our new pasteboard types. 5770 The newfangled way didn't work. 5771 57722005-06-07 Darin Adler <darin@apple.com> 5773 5774 Change by Mark Rowe <opendarwin.org@bdash.net.nz>. 5775 Reviewed by me. 5776 5777 - fixed the WebKit half of build failure with spaces in the path 5778 http://bugs.webkit.org/show_bug.cgi?id=3291 5779 5780 * WebKit.pbproj/project.pbxproj: Quote DERIVED_FILE_DIR when it is substituted 5781 into FRAMEWORK_SEARCH_PATHS, and SYMROOT when into HEADER_SEARCH_PATHS. 5782 57832005-06-06 Darin Adler <darin@apple.com> 5784 5785 * Info.plist: Bumped version to 412+. For some reason it was set to 312.1! 5786 57872005-06-05 Darin Adler <darin@apple.com> 5788 5789 Reviewed by Hyatt. 5790 5791 - fixed build that I broke with the license change (some includes of WebException were still around) 5792 5793 * WebKit.pbproj/project.pbxproj: Removed references to WebException.h/m. 5794 * WebView.subproj/WebDataSource.m: Removed include of WebException.h. 5795 * WebView.subproj/WebHTMLView.m: Ditto. 5796 * WebView.subproj/WebView.m: Ditto. 5797 5798 - fixed build under gcc 4.0 (some code moved here from Foundation had warnings) 5799 5800 * Misc.subproj/WebNSDataExtras.m: 5801 (-[NSString _web_capitalizeRFC822HeaderFieldName]): Use char instead of UInt8. 5802 (-[NSData _webkit_guessedMIMEType]): Use char instead of UInt8, and take out now- 5803 unneeded type casts. 5804 58052005-06-05 Darin Adler <darin@apple.com> 5806 5807 - added appropriate license headers to most files and updated copyright to reflect publication dates 5808 5809 * LICENSE: Added. 5810 * <lots of files>: Added license header. 5811 5812 * WebKit.pbproj/project.pbxproj: Removed references to NP_objc.h. 5813 5814 * API-Issues.rtf: Removed. 5815 * Misc.subproj/WebException.h: Removed. 5816 * Misc.subproj/WebException.m: Removed. 5817 * Plugins.subproj/NP_objc.h: Removed. 5818 58192005-06-01 Darin Adler <darin@apple.com> 5820 5821 Reviewed by John Sullivan. 5822 5823 - WebKit part of fix for <rdar://problem/3166090> add IE JavaScript extension window.showModalDialog 5824 5825 * WebCoreSupport.subproj/WebBridge.m: 5826 (-[WebBridge createModalDialogWithURL:]): Added. Calls the UI delegate, falling back to the generic 5827 "create WebView" method. 5828 (-[WebBridge canRunModal]): Added. Checks the UI delegate to see if it implements runModal. 5829 (-[WebBridge canRunModalNow]): Added. Checks the "inConnectionCallback" field so we can prevent 5830 deadlock since we can't do any I/O while inside a connection callback until this aspect of NSURLConnection 5831 is changed. 5832 (-[WebBridge runModal]): Added. Sets "defersCallbacks" on all other web views in the group, then 5833 calls runModal on the UI delegate. 5834 5835 * WebView.subproj/WebBaseResourceHandleDelegate.h: Added inConnectionCallback class method. 5836 * WebView.subproj/WebBaseResourceHandleDelegate.m: 5837 (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): Bump count and then 5838 decrement count so we can tell if we are in a callback. 5839 (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]): Ditto. 5840 (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]): Ditto. 5841 (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): Ditto. 5842 (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]): Ditto. 5843 (-[WebBaseResourceHandleDelegate connection:willStopBufferingData:]): Ditto. 5844 (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): Ditto. 5845 (-[WebBaseResourceHandleDelegate connection:didFailWithError:]): Ditto. 5846 (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): Ditto. 5847 (+[WebBaseResourceHandleDelegate inConnectionCallback]): Added. Return YES if count is not 0. 5848 5849 * WebView.subproj/WebMainResourceClient.m: 5850 (-[WebMainResourceClient receivedError:]): Changed to use the method without the connection: parameter 5851 in the base class, since we no longer are overriding the connection: version. 5852 (-[WebMainResourceClient willSendRequest:redirectResponse:]): Change to override the version without 5853 the connection prefix/parameter; now only the base class overrides the actual connection delegate methods. 5854 (-[WebMainResourceClient continueAfterContentPolicy:response:]): Ditto. 5855 (-[WebMainResourceClient didReceiveResponse:]): Ditto. 5856 (-[WebMainResourceClient didReceiveData:lengthReceived:]): Ditto. 5857 (-[WebMainResourceClient didFinishLoading]): Ditto. 5858 (-[WebMainResourceClient didFailWithError:]): Ditto. 5859 (-[WebMainResourceClient loadWithRequestNow:]): Call the method without the connection parameter. 5860 5861 * WebView.subproj/WebUIDelegatePrivate.h: Added new SPI here that WebBrowser implements. 5862 58632005-05-26 Darin Adler <darin@apple.com> 5864 5865 Reviewed by John. 5866 5867 - fix build failure from when I removed WebCoreUnicode 5868 5869 * WebCoreSupport.subproj/WebTextRenderer.m: Removed import of WebUnicode.h that I missed. 5870 (-[WebTextRenderer _convertUnicodeCharacters:length:toGlyphs:]): Switch from our own macros 5871 to the ICU macros for surrogate pairs. 5872 (widthForNextCharacter): Ditto. 5873 58742005-05-26 David Harrison <harrison@apple.com> 5875 5876 <rdar://problem/4120518> Mail: control-T in an empty message crashes mail 5877 5878 * WebCoreSupport.subproj/WebBridge.m: 5879 (-[WebBridge issueTransposeCommand]): 5880 New, to support transpose in JS. 5881 58822005-05-26 Darin Adler <darin@apple.com> 5883 5884 Reviewed by Richard and Dave Harrison. 5885 5886 - eliminate WebCoreUnicode and use ICU directly instead 5887 5888 * Misc.subproj/WebKitNSStringExtras.m: (canUseFastRenderer): Use u_charDirection directly. 5889 * WebCoreSupport.subproj/WebTextRenderer.m: Removed import of <WebCore/WebCoreUnicode.h>. 5890 * WebView.subproj/WebHTMLView.m: (+[WebHTMLView initialize]): Removed call to WebKitInitializeUnicode. 5891 5892 * Misc.subproj/WebUnicode.h: Removed. 5893 * Misc.subproj/WebUnicode.m: Removed. 5894 * Misc.subproj/WebUnicodeTables.m: Removed. 5895 5896 * WebKit.pbproj/project.pbxproj: Removed files. 5897 58982005-05-24 Richard Williamson <rjw@apple.com> 5899 5900 Fixed <rdar://problem/4097289> -[WebView elementAtPoint:] failing when WebView is nested and offset 5901 5902 Code to determine the correct frame under the window point was 5903 converting the point incorrectly. 5904 5905 Reviewed by Chris. 5906 5907 * WebView.subproj/WebView.m: 5908 (-[WebView _frameViewAtWindowPoint:]): 5909 59102005-05-23 John Sullivan <sullivan@apple.com> 5911 5912 Reviewed by Kevin. 5913 5914 - WebKit part of <rdar://problem/4125783> WebKit needs a way to control whether textareas are resizable 5915 5916 * WebView.subproj/WebPreferencesPrivate.h: 5917 added private-for-now getter and setter for new preference 5918 * WebView.subproj/WebPreferenceKeysPrivate.h: 5919 added private preference key controlling whether textareas are resizable 5920 * WebView.subproj/WebPreferences.m: 5921 (+[WebPreferences initialize]): 5922 initial value of new preference is NO, so other clients' behavior doesn't change 5923 (-[WebPreferences textAreasAreResizable]): 5924 new getter 5925 (-[WebPreferences setTextAreasAreResizable:]): 5926 new setter 5927 5928 * WebView.subproj/WebView.m: 5929 (-[WebView _updateWebCoreSettingsFromPreferences:]): 5930 update this new setting in WebCore 5931 5932 * English.lproj/StringsNotToBeLocalized.txt: 5933 updated for these changes 5934 59352005-05-23 Chris Blumenberg <cblu@apple.com> 5936 5937 Changed type for identifier parameter in WebResourceLoadDelegate-related calls to id from NSString. 5938 5939 Reviewed by kevin. 5940 5941 * WebCoreSupport.subproj/WebBridge.m: 5942 (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): 5943 (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): 5944 * WebView.subproj/WebFrame.m: 5945 (-[WebFrame _opened]): 5946 (-[WebFrame _requestFromDelegateForRequest:identifier:error:]): 5947 (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]): 5948 (-[WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:]): 5949 * WebView.subproj/WebFrameInternal.h: 5950 59512005-05-20 Chris Blumenberg <cblu@apple.com> 5952 5953 Fixed: <rdar://problem/4098786> sync. XMLHttpRequest works w/o AllowNetworkAccess key because load delegate is not consulted 5954 5955 Synchronous loads did not cause the willSendRequest method on the resource load delegate to be called. This is the method that Dashboard uses to enforce AllowNetworkAccess and this must be called to avoid exploits. 5956 5957 Reviewed by sullivan. 5958 5959 * WebCoreSupport.subproj/WebBridge.m: 5960 (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): call [WebFrame _requestFromDelegateForRequest:identifier:error:] then 5961 [WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:] so synthetic resource load delegate 5962 methods are called and the data is saved as a WebResource for resources in the WebCore cache. 5963 5964 (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): call [WebFrame _requestFromDelegateForRequest:identifier:error:], 5965 respect its result, do the load and then call [WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:] 5966 for synchronous loads 5967 5968 * WebView.subproj/WebFrame.m: 5969 (-[WebFrame _opened]): call [WebFrame _requestFromDelegateForRequest:identifier:error:] then 5970 [WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:] so synthetic resource load delegate methods are called 5971 for subresrources in the page cache 5972 5973 (-[WebFrame _requestFromDelegateForRequest:identifier:error:]): new, was part of the removed _sendResourceLoadDelegateMessagesForURL::: 5974 This method calls identifierForInitialRequest and willSendRequest. 5975 5976 (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]): new, was part of the removed _sendResourceLoadDelegateMessagesForURL::: 5977 This method calls the remaining resource load delegate messages. 5978 5979 (-[WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:]): new, saves the resource and calls 5980 [WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:] 5981 5982 * WebView.subproj/WebFrameInternal.h: 5983 59842005-05-17 Chris Blumenberg <cblu@apple.com> 5985 5986 Fixed: <rdar://problem/4119282> clicking a link in an RTF file opens the link with NSWorkspace without the usual security checks or WebView delegate control 5987 5988 Reviewed by mjs. 5989 5990 * WebCoreSupport.subproj/WebBridge.m: 5991 (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]): pass the passed referrer to canLoadURL::: not [self referrer] 5992 (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): ditto 5993 * WebView.subproj/WebTextView.m: 5994 (-[WebTextView clickedOnLink:atIndex:]): call the loadURL bridge method so that security checks are made, command/option clicks work, policy delegate is consulted etc. 5995 59962005-05-17 Chris Blumenberg <cblu@apple.com> 5997 5998 Fixed: <rdar://problem/4120255> web archives on remote servers can be viewed directly (with major security issues); should download instead 5999 6000 Reviewed by mjs. 6001 6002 * WebView.subproj/WebBaseResourceHandleDelegate.h: 6003 * WebView.subproj/WebMainResourceClient.m: 6004 (-[WebMainResourceClient continueAfterContentPolicy:response:]): if the WebKit client has chosen to "use" a remote web archive, stop the load with an error 6005 60062005-05-16 Darin Adler <darin@apple.com> 6007 6008 - attempt to get things building under "Saffron" development tools 6009 6010 * WebKit.pbproj/project.pbxproj: Use BUILT_PRODUCTS_DIR instead of SYMROOT. 6011 60122005-05-13 John Sullivan <sullivan@apple.com> 6013 6014 Reviewed by Kevin. 6015 6016 - fixed <rdar://problem/4093306> Safari crashes if Esc key is held down during series 6017 of authentication sheets 6018 6019 * Panels.subproj/WebAuthenticationPanel.m: 6020 (-[WebAuthenticationPanel cancel:]): 6021 retain and autorelease self. This is a workaround for an AppKit key-handling issue, which I wrote up as: 6022 <rdar://problem/4118422> Key-down events can be sent to a closed window if a key is kept pressed down 6023 60242005-05-12 John Sullivan <sullivan@apple.com> 6025 6026 Reviewed by Kevin. 6027 6028 - rolled in changes from experimental-ui-branch to support resizable textareas 6029 and find-as-you-type and confirming unsubmitted form changes. The files/functions 6030 modified are listed just below. After that are the ChangeLog comments from the branch. 6031 6032 * WebCoreSupport.subproj/WebBridge.m: 6033 (-[WebBridge textDidChange:]): 6034 * WebView.subproj/WebFormDelegate.h: 6035 * WebView.subproj/WebFormDelegate.m: 6036 (-[WebFormDelegate textDidChange:inFrame:]): 6037 * WebView.subproj/WebHTMLView.m: 6038 (-[WebHTMLView maintainsInactiveSelection]): 6039 (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]): 6040 (-[WebHTMLView _searchFor:direction:caseSensitive:wrap:findInSelection:]): 6041 * WebView.subproj/WebView.m: 6042 (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]): 6043 (-[WebView searchFor:direction:caseSensitive:wrap:]): 6044 (-[WebView makeTextStandardSize:]): 6045 (-[WebView maintainsInactiveSelection]): 6046 * WebView.subproj/WebViewPrivate.h: 6047 6048 2005-04-18 John Sullivan <sullivan@apple.com> 6049 6050 WebKit support for notifying a form delegate when a 6051 textarea's contents have changed (as opposed to a 6052 textfield, which was already handled). 6053 6054 Reviewed by Maciej. 6055 6056 * WebView.subproj/WebFormDelegate.h: 6057 * WebView.subproj/WebFormDelegate.m: 6058 (-[WebFormDelegate textDidChange:inFrame:]): 6059 new form delegate method 6060 6061 * WebCoreSupport.subproj/WebBridge.m: 6062 (-[WebBridge textDidChange:]): 6063 new method, calls through to form delegate 6064 6065 2005-04-11 John Sullivan <sullivan@apple.com> 6066 6067 Fixed inability to wrap around in Find in Page 6068 6069 * WebView.subproj/WebView.m: 6070 (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]): 6071 changed wrapFlag from NO to YES on two lines (copy/paste error) 6072 6073 2005-04-07 John Sullivan <sullivan@apple.com> 6074 6075 WebKit support for find-as-you-type. Needed an additional parameter on 6076 a method from WebDocumentSearching protocol. Since that's a public protocol, 6077 I couldn't just add the parameter. For now I hacked it with an undeclared 6078 internal method that's discovered via respondsToSelector. Probably the right 6079 long-term approach is to deprecate the WebDocumentSearching protocol and introduce 6080 a replacement that has a more flexible set of parameters for possible future 6081 expansion. 6082 6083 Reviewed by Dave Hyatt. 6084 6085 * WebView.subproj/WebHTMLView.m: 6086 (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]): 6087 now calls new one-more-parameter version passing NO for new parameter to match old behavior 6088 (-[WebHTMLView _searchFor:direction:caseSensitive:wrap:findInSelection:]): 6089 new method, adds findInSelection parameter and passes it through to bridge 6090 6091 * WebView.subproj/WebView.m: 6092 (-[WebView searchFor:direction:caseSensitive:wrap:]): 6093 now calls new one-more-parameter version passing NO for new parameter to match old behavior 6094 (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]): 6095 new method, adds findInSelection parameter and passes it through 6096 6097 2005-04-07 John Sullivan <sullivan@apple.com> 6098 6099 WebKit support to allow clients to control whether the selection is still 6100 drawn when the first responder is elsewhere. Formerly this was hardwired 6101 to be true only when -[WebView isEditable] was true. 6102 6103 Reviewed by Darin. 6104 6105 * WebView.subproj/WebHTMLView.m: 6106 (-[WebHTMLView maintainsInactiveSelection]): 6107 check [WebView maintainsInactiveSelection] rather than just [WebView isEditable] 6108 6109 * WebView.subproj/WebViewPrivate.h: 6110 * WebView.subproj/WebView.m: 6111 (-[WebView maintainsInactiveSelection]): 6112 new method for clients to override, returns -[self isEditable] 6113 6114 61152005-05-10 John Sullivan <sullivan@apple.com> 6116 6117 Reviewed by Kevin. 6118 6119 - WebKit support for <rdar://problem/3795701> Menu item/keyboard shortcut to 6120 restore text zoom to normal 6121 6122 * WebView.subproj/WebView.m: 6123 (-[WebView validateUserInterfaceItem:]): 6124 validate makeTextStandardSize by calling canMakeTextStandardSize 6125 (-[WebView canMakeTextStandardSize]): 6126 new method, returns YES unless text size multiplier is currently 1 6127 (-[WebView makeTextStandardSize:]): 6128 new method, sets text size multiplier to 1 6129 6130 * WebView.subproj/WebViewPrivate.h: 6131 add makeTextStandardSize: and canMakeTextStandardSize to pending public category 6132 61332005-05-10 John Sullivan <sullivan@apple.com> 6134 6135 Reviewed by Chris. 6136 6137 - fixed <rdar://problem/4067981> Mail places RTF flavor before RTFD flavor when dragging 6138 mixed image/text content. 6139 6140 * WebView.subproj/WebHTMLView.m: 6141 (+[WebHTMLView _selectionPasteboardTypes]): 6142 put RTFD type before RTF type in array of types to declare 6143 61442005-05-09 Chris Blumenberg <cblu@apple.com> 6145 6146 Turned assertion into error message to prevent crash when encountering this bug: 6147 <rdar://problem/4067625> connection:willCacheResponse: is called inside of [NSURLConnection initWithRequest:delegate:] 6148 6149 * WebView.subproj/WebBaseResourceHandleDelegate.h: 6150 * WebView.subproj/WebBaseResourceHandleDelegate.m: 6151 (-[WebBaseResourceHandleDelegate loadWithRequest:]): set flag to track when we're initializing the connection 6152 (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): log error 6153 61542005-05-09 Darin Adler <darin@apple.com> 6155 6156 * Makefile.am: Don't set up PBXIntermediatesDirectory explicitly; 6157 Not needed to make builds work, spews undesirable error messages too. 6158 61592005-05-06 Darin Adler <darin@apple.com> 6160 6161 Reviewed by Maciej. 6162 6163 - make building multiple trees with make work better 6164 6165 * Makefile.am: Set up Xcode build directory before invoking xcodebuild. 6166 61672005-05-04 Darin Adler <darin@apple.com> 6168 6169 Reviewed by Dave Hyatt. 6170 6171 - fixed layout tests 6172 6173 * WebKit.pbproj/project.pbxproj: Set deployment target to 10.3 in the build styles. 6174 When built without a build style (by Apple B&I) we want to get the target from the 6175 environment. But when built with a build style (by Safari engineers and others), we want 6176 to use 10.3. Because our deployment target was not set, we ran into this bug: 6177 6178 <rdar://problem/4108717> CTFontGetGlyphWithName doesn't work with some strings 6179 6180 * Makefile.am: Took out extra parameters that make command-line building different from 6181 Xcode building. Now that this is fixed, you should not get a full rebuild if you switch 6182 from command line to Xcode or back. 6183 61842005-05-04 Chris Blumenberg <cblu@apple.com> 6185 6186 Fixed: 6187 <rdar://problem/4078417> REGRESSION (125-412): MLB gameday page doesn't update (Flash) 6188 <rdar://problem/4072280> XMLHttpRequest calls onReadyStateChange callback with bogus status value 6189 6190 Reviewed by john. 6191 6192 Our WebKit-level caching of subresources "dumbed-down" information held in NSURLResponse. This caused some loads to lack response headers and thus disabling cache directives. Status codes were also not retained and this caused XMLHttpRequest to fail frequently. The fix is to have WebResource retain the NSURLResponse and to use the NSURLResponse when we decide to load from WebResources. 6193 6194 * WebCoreSupport.subproj/WebBridge.m: 6195 (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): call new [WebResource _initWithData:URL:response:] 6196 * WebView.subproj/WebBaseResourceHandleDelegate.m: 6197 (-[WebBaseResourceHandleDelegate _canUseResourceWithResponse:]): new, checks response cache directives 6198 (-[WebBaseResourceHandleDelegate loadWithRequest:]): call _canUseResourceWithResponse: 6199 (-[WebBaseResourceHandleDelegate saveResource]): call new [WebResource _initWithData:URL:response:] 6200 * WebView.subproj/WebResource.m: 6201 (-[WebResourcePrivate dealloc]): 6202 (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): call renamed _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData: 6203 (-[WebResource initWithCoder:]): decode the NSURLReponse 6204 (-[WebResource encodeWithCoder:]): encode the NSURLReponse 6205 (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]): take the NSURLReponse 6206 (-[WebResource _initWithData:URL:response:]): new 6207 (-[WebResource _initWithPropertyList:]): decode the NSURLReponse 6208 (-[WebResource _propertyListRepresentation]): encode the NSURLReponse 6209 (-[WebResource _response]): return ivar if we have one 6210 * WebView.subproj/WebResourcePrivate.h: 6211 62122005-05-03 David Hyatt <hyatt@apple.com> 6213 6214 Fix object element support so that fallback content works. With this change Safari passes the Acid2 test. 6215 6216 Reviewed by Maciej 6217 6218 * WebCoreSupport.subproj/WebBridge.m: 6219 (-[WebBridge determineObjectFromMIMEType:URL:]): 6220 * WebView.subproj/WebDataSource.m: 6221 (-[WebDataSource _receivedMainResourceError:complete:]): 6222 * WebView.subproj/WebMainResourceClient.m: 6223 (-[WebMainResourceClient continueAfterContentPolicy:response:]): 6224 62252005-05-03 Darin Adler <darin@apple.com> 6226 6227 * WebView.subproj/WebUIDelegate.h: Fixed incorrect comment. 6228 62292005-05-01 Darin Adler <darin@apple.com> 6230 6231 - move to Xcode native targets and stop checking in generated files 6232 6233 * WebKit.pbproj/project.pbxproj: Updated to use native targets and generate all the generated 6234 files, so we don't have to check them in any more. 6235 * Info.plist: Added. Native targets use a separate file for this. 6236 6237 * Plugins.subproj/npapi.m: Fixed import statement to get npapi.h from <WebKit/> rather than current directory. 6238 6239 * Makefile.am: Removed timestamp cleaning rules since we don't use it any more. 6240 6241 * .cvsignore: Removed various timestamp files. 6242 6243 * DOM.subproj/DOM-compat.h: Removed. 6244 * DOM.subproj/DOM.h: Removed. 6245 * DOM.subproj/DOMCSS.h: Removed. 6246 * DOM.subproj/DOMCore.h: Removed. 6247 * DOM.subproj/DOMEvents.h: Removed. 6248 * DOM.subproj/DOMExtensions.h: Removed. 6249 * DOM.subproj/DOMHTML.h: Removed. 6250 * DOM.subproj/DOMPrivate.h: Removed. 6251 * DOM.subproj/DOMRange.h: Removed. 6252 * DOM.subproj/DOMStylesheets.h: Removed. 6253 * DOM.subproj/DOMTraversal.h: Removed. 6254 * DOM.subproj/DOMViews.h: Removed. 6255 * Plugins.subproj/WebScriptObject.h: Removed. 6256 * Plugins.subproj/npapi.h: Removed. 6257 * Plugins.subproj/npruntime.h: Removed. 6258 * copy-webcore-files-to-webkit: Removed. 6259 * embed-frameworks.sh: Removed. 6260 * force-clean-timestamp: Removed. 6261 62622005-04-28 Darin Adler <darin@apple.com> 6263 6264 Reviewed by Maciej. 6265 6266 - fixed problems preventing us from compiling with gcc 4.0 6267 6268 * WebKit.pbproj/project.pbxproj: Removed -fobjc-exceptions because I can't figure out an easy 6269 way to pass it only when compiling Objective-C/C++. Removed -Wmissing-prototypes from 6270 WARNING_CPLUSPLUSFLAGS since it's now a C-only warning. 6271 6272 * History.subproj/WebHistoryItem.m: (-[WebHistoryItem pageCache]): Changed return type 6273 to match the declaration. 6274 * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]): 6275 Fixed a BOOL that should have been a Boolean. 6276 * WebCoreSupport.subproj/WebTextRenderer.m: Removed redundant copy of ROUND_TO_INT, also in 6277 a WebCore header. 6278 (-[WebTextRenderer _computeWidthForSpace]): Had to add cast because of difference in type of 6279 ROUND_TO_INT vs. CEIL_TO_INT. 6280 (pathFromFont): Added a cast to convert UInt8 * to char *. 6281 * WebView.subproj/WebFrameView.m: 6282 (-[WebFrameView _setDocumentView:]): Fixed parameter type to match the declaration. 6283 (-[WebFrameView documentView]): Fixed return type to match the declaration. 6284 * WebView.subproj/WebHTMLView.m: 6285 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): 6286 Initialized a variable to quiet an incorrect gcc 4.0 uninitialized variable warning. 6287 (-[WebHTMLView deleteToMark:]): Switched from @try style to NS_DURING style of exception handler 6288 because we can't pass -fobjc-exceptions just to Objective-C at the moment (see above). 6289 (-[WebHTMLView selectToMark:]): Ditto. 6290 (-[WebHTMLView swapWithMark:]): Ditto. 6291 62922005-04-27 John Sullivan <sullivan@apple.com> 6293 6294 Reviewed by Dave Harrison. 6295 6296 - fixed <rdar://problem/3547489> pop-up window blocking preference and 6297 menu item can easily get out of sync. 6298 6299 * WebView.subproj/WebPreferences.m: 6300 (-[WebPreferences _setStringValue:forKey:]): 6301 save local value before setting value in NSUserDefaults, so clients reacting to NSUserDefaults 6302 change notification but calling back on WebPreferences API will see the updated value. 6303 (-[WebPreferences _setIntegerValue:forKey:]): 6304 ditto 6305 (-[WebPreferences _setBoolValue:forKey:]): 6306 ditto 6307 63082005-04-26 Richard Williamson <rjw@apple.com> 6309 6310 Fixed <rdar://problem/4098713> Scripting API is incompatible with Mozilla 6311 6312 Reviewed by Chris. 6313 6314 * Plugins.subproj/npfunctions.h: 6315 * Plugins.subproj/npruntime.h: 6316 63172005-04-26 Darin Adler <darin@apple.com> 6318 6319 Reviewed by John. 6320 6321 - fixed <rdar://problem/3655817> please add support for mouse wheel events and the onmousewheel handler 6322 6323 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView scrollWheel:]): Call sendScrollWheelEvent: method 6324 instead of the old scrollOverflowWithScrollWheelEvent: (just a name change). 6325 63262005-04-18 Darin Adler <darin@apple.com> 6327 6328 Reviewed by Hyatt. 6329 6330 - fixed <rdar://problem/4092614> REGRESSION (Tiger): progressively loaded background images "scroll around" instead of just appearing 6331 6332 * WebCoreSupport.subproj/WebImageData.m: 6333 (-[WebImageData _imageSourceOptions]): Moved a global inside this function, since it's only used here. 6334 (-[WebImageData _cacheImages:allImages:]): Fixed a sizeof that was getting the size of the wrong thing. 6335 (-[WebImageData _isSizeAvailable]): Used calloc in a more consistent way. 6336 (drawPattern): Removed an unneeded cast. 6337 (-[WebImageData tileInRect:fromPoint:context:]): Here's the actual bug fix. Don't use the image size 6338 when deciding whether the image needs to be tiled as a pattern nor when creating the pattern: in both 6339 cases, use the tile size. The old way was wrong, and the new way works perfectly. Also removed uneeded 6340 error message when the image is not yet loaded enough to create a CGImageRef for it -- it's fine to 6341 draw nothing in that case. 6342 63432005-04-14 John Sullivan <sullivan@apple.com> 6344 6345 Reviewed by Chris. 6346 6347 * WebView.subproj/WebBaseResourceHandleDelegate.m: 6348 (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): 6349 Beefed up assertion that's been bugging me and Chris to include 6350 the two troublemaking values. 6351 63522005-04-05 David Hyatt <hyatt@apple.com> 6353 6354 Fix for 4077106, wheel scroll amount smaller in Tiger. All along wheeling should have been 4x the default 6355 line height of 10 (just as arrow keys did). Scroll arrows should have done this too for scroll views (they did 6356 already for overflow sections). This patch puts the override into the scrollview itself, and removes the 6357 multipliers in the private frame methods. 6358 6359 Reviewed by darin 6360 6361 * WebView.subproj/WebFrameView.m: 6362 (-[WebFrameView _verticalKeyboardScrollDistance]): 6363 (-[WebFrameView initWithFrame:]): 6364 (-[WebFrameView _horizontalKeyboardScrollDistance]): 6365 6366=== WebKit-312.1 === 6367 63682005-03-31 Chris Blumenberg <cblu@apple.com> 6369 6370 Fixed: <rdar://problem/4070729> REGRESSION (125-311, Panther-only?): Safari crashes while reloading "My eBay" page 6371 6372 Reviewed by rjw. 6373 6374 * WebView.subproj/WebBaseResourceHandleDelegate.m: 6375 (-[WebBaseResourceHandleDelegate resourceData]): retain and autorelease resourceData since releaseResources (which releases resourceData) may be called before the caller of this method has an opporuntity to retain the returned data 6376 6377=== Safari-412 === 6378 6379=== Safari-411 === 6380 63812005-03-23 Richard Williamson <rjw@apple.com> 6382 6383 Use Patti Yeh's hack to determine the appropriate rectangle 6384 to place the "associated word" window. 6385 If there is no marked text firstRectForCharacterRange: will 6386 use the selected range to determine the returned rectangle, 6387 ignoring the input range. This is the fix from 6388 4029491 that I previously backed out. 6389 6390 Reviewed by Vicki. 6391 6392 * WebView.subproj/WebHTMLView.m: 6393 (-[WebHTMLView firstRectForCharacterRange:]): 6394 63952005-03-23 Richard Williamson <rjw@apple.com> 6396 6397 Fixed <rdar://problem/4062490> REGRESSION (WebKit-408): no subresources reported in Activity window after going back at hrweb.apple.com 6398 6399 Stop collecting subresource responses after the document 6400 had loaded, not after it has been opened. 6401 6402 Reviewed by Chris. 6403 6404 * WebView.subproj/WebFrame.m: 6405 (-[WebFrame _setState:]): 6406 (-[WebFrame _opened]): 6407 64082005-03-21 Maciej Stachowiak <mjs@apple.com> 6409 6410 Reviewed by Darin. 6411 6412 <rdar://problem/4051145> The QuickTime Cocoa plug-in needs an SPI that it can call to check for URL policy 6413 6414 * Plugins.subproj/WebPluginContainerCheck.h: Added. 6415 * Plugins.subproj/WebPluginContainerCheck.m: Added this new helper class to encapsulate 6416 an async plugin navigation check. 6417 (+[WebPluginContainerCheck checkWithRequest:target:resultObject:selector:controller:]): Convenience allocator that gives autoreleased value. 6418 (-[WebPluginContainerCheck initWithRequest:target:resultObject:selector:controller:]): Initializer. 6419 (-[WebPluginContainerCheck finalize]): Just assert that we're done, it would 6420 be bad to deallocate this object while request is still outstanding. 6421 (-[WebPluginContainerCheck dealloc]): Ditto. 6422 (-[WebPluginContainerCheck _continueWithPolicy:]): Method to continue after async 6423 policy check. 6424 (-[WebPluginContainerCheck _isDisallowedFileLoad]): Do "file: URL from remote content" 6425 check. 6426 (-[WebPluginContainerCheck _actionInformationWithURL:]): Helper to make action 6427 dictionary. 6428 (-[WebPluginContainerCheck _askPolicyDelegate]): Call policy delegate to let 6429 the app decide if this load is allowed. 6430 (-[WebPluginContainerCheck start]): Start the check. 6431 (-[WebPluginContainerCheck cancel]): Cancel a check in progress. 6432 * Plugins.subproj/WebPluginController.h: 6433 * Plugins.subproj/WebPluginController.m: 6434 (-[WebPluginController initWithDocumentView:]): Initialize new _checksInProgress field. 6435 (-[WebPluginController _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): Implement 6436 this new SPI method. 6437 (-[WebPluginController _cancelOutstandingChecks]): New helper to make sure to cancel 6438 all outstanding requests when destroying all plugins. 6439 (-[WebPluginController destroyAllPlugins]): Call above helper. 6440 (-[WebPluginController _webPluginContainerCheckIfAllowedToLoadRequest:inFrame:resultObject:selector:]): Implement this new plug-in SPI method. 6441 (-[WebPluginController bridge]): New helper method. 6442 (-[WebPluginController webView]): New helper method. 6443 * WebView.subproj/WebPolicyDelegatePrivate.h: Add new navigation 6444 type WebNavigationTypePlugInRequest. 6445 * WebKit.pbproj/project.pbxproj: Add new files. 6446 * WebView.subproj/WebDefaultPolicyDelegate.m: 6447 (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): Don't open externally on a plug-in request. 6448 64492005-03-23 Richard Williamson <rjw@apple.com> 6450 6451 Fixed <rdar://problem/4053515> REGRESSION (Mail): Kotoeri input method reconversion does not work in WebViews 6452 6453 We now use actual document NSRanges to represent both marked text 6454 ranges and selection ranges. 6455 6456 Reviewed by Ken Kocienda. 6457 6458 * WebView.subproj/WebHTMLView.m: 6459 (-[WebHTMLView validAttributesForMarkedText]): 6460 (-[WebHTMLView firstRectForCharacterRange:]): 6461 (-[WebHTMLView selectedRange]): 6462 (-[WebHTMLView markedRange]): 6463 (-[WebHTMLView _selectMarkedText]): 6464 (-[WebHTMLView setMarkedText:selectedRange:]): 6465 6466=== Safari-410 === 6467 64682005-03-22 Darin Adler <darin@apple.com> 6469 6470 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 6471 6472=== Safari-409 === 6473 64742005-03-20 Maciej Stachowiak <mjs@apple.com> 6475 6476 Reviewed by Darin. 6477 6478 <rdar://problem/4060020> Add stub version of security SPI for QuickTime plug-in so QuickTime team has something to compile and link against 6479 6480 * Plugins.subproj/WebPluginContainerPrivate.h: Added. 6481 * Plugins.subproj/WebPluginController.m: 6482 (-[WebPluginController _webPluginContainerCheckIfAllowedToLoadRequest:inFrame:resultObject:selector:]): 6483 (-[WebPluginController _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): 6484 * WebKit.pbproj/project.pbxproj: 6485 64862005-03-19 David Harrison <harrison@apple.com> 6487 6488 Reviewed by Maciej. 6489 6490 <rdar://problem/4059479> Misspelling underline does underline the whole word, could go farther to the right 6491 6492 * WebCoreSupport.subproj/WebTextRenderer.m: 6493 (-[WebTextRenderer misspellingLinePatternGapWidth]): 6494 (-[WebTextRenderer drawLineForMisspelling:withWidth:]): 6495 Consider that the last pixel in the underline dot pattern is transparent. 6496 64972005-03-19 Darin Adler <darin@apple.com> 6498 6499 Reviewed by Maciej (a while back). 6500 6501 - fixed <rdar://problem/4059323> local-file security check is allowing plug-in streams, but must not 6502 6503 * Plugins.subproj/WebNetscapePluginStream.m: 6504 (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): 6505 Roll out change I made on 3-13. That change is needed for subresource, but not for plug-in streams. 6506 For plug-in streams it's too risky, and leaves a serious security hole open. 6507 65082005-03-19 Darin Adler <darin@apple.com> 6509 6510 Reviewed by Ken and John. 6511 6512 - fixed <rdar://problem/4059123> REGRESSION (402-403): deleteWordForward: and deleteWordBackward: start deleting single characters after the first delete 6513 6514 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): 6515 Fixed backwards logic in here and added missing check. Set action to one of the two typing actions only 6516 if isTypingAction is YES. 6517 65182005-03-19 David Harrison <harrison@apple.com> 6519 6520 Reviewed by me (written by Patti Yeh). 6521 6522 <rdar://problem/4029491> <TCIM> CangJie: the candidate window appears at the top left hand corner during typing in Mail and iChat 6523 6524 * WebView.subproj/WebHTMLView.m: 6525 (-[WebHTMLView firstRectForCharacterRange:]): 6526 Use selected range if there is no marked range. 6527 6528=== Safari-408 === 6529 65302005-03-18 David Harrison <harrison@apple.com> 6531 6532 Reviewed by Darin. 6533 6534 <rdar://problem/3584942> AX: Safari Accessibility parent-child mismatch 6535 6536 * WebView.subproj/WebFrameView.m: 6537 (-[WebFrameView webCoreBridge]): 6538 New to conform to WebCoreBridgeHolder protocol. 6539 65402005-03-18 Richard Williamson <rjw@apple.com> 6541 6542 Fixed <rdar://problem/4057004> Data from XMLHTTPRequest is never dealloced 6543 6544 WebDataSource keeps an array of all the NSURLResponses associated 6545 with the load for a page. This is used to playback delegate messages 6546 when loading from the page cache. However, after the document 6547 has completed it's initial load, we continue to keep track of responses. 6548 So, this has the consequence of keeping all the responses for a page 6549 around for the life of the page. NSURLResponses are now very 6550 heavy. They indirectly reference the resource data (via the 6551 download assessment dictionary). This fix will keep 6552 references to responses around for those resources loaded during initial 6553 page load, but not after that point. 6554 6555 Reviewed by Ken. 6556 6557 * WebView.subproj/WebDataSource.m: 6558 (-[WebDataSource _addResponse:]): 6559 (-[WebDataSource _stopRecordingResponses]): 6560 * WebView.subproj/WebDataSourcePrivate.h: 6561 * WebView.subproj/WebFrame.m: 6562 (-[WebFrame _opened]): 6563 65642005-03-18 Ken Kocienda <kocienda@apple.com> 6565 6566 Reviewed by Darin 6567 6568 Fix for this bug: 6569 6570 <rdar://problem/4053729> Copy/paste of page with frames into Blot or Mail does nothing and loses insertion point 6571 6572 * WebView.subproj/WebHTMLView.m: 6573 (-[WebHTMLView _selectedArchive]): Wrap frameset documents in an iframe, so they can be pasted into 6574 existing documents which will have a body or frameset of their own. 6575 6576=== Safari-407 === 6577 65782005-03-17 Richard Williamson <rjw@apple.com> 6579 6580 Fixed <rdar://problem/4055562> REGRESSION (Tiger): Safari doesn't draw progressively-loaded JPEGs (www.theregister.co.uk, www.titantalk.com) 6581 6582 Anothe side effect of lazy loading of image meta data. We now 6583 don't cache image size until size meta data is actually available. 6584 6585 Reviewed by Darin. 6586 6587 * WebCoreSupport.subproj/WebImageData.m: 6588 (-[WebImageData size]): 6589 65902005-03-16 David Harrison <harrison@apple.com> 6591 6592 Reviewed by Maciej. 6593 6594 <rdar://problem/4048506> Deleting from beginning of editable div deletes other document elements 6595 6596 Also changed WebCore. 6597 6598 * WebView.subproj/WebHTMLView.m: 6599 (-[WebHTMLView _shouldDeleteRange:]): 6600 Added call to new bridge method canDeleteRange. 6601 66022005-03-16 Ken Kocienda <kocienda@apple.com> 6603 6604 Reviewed by Darin 6605 6606 Fix for this bug: 6607 6608 <rdar://problem/4042935> undo doesn't work properly during inline input 6609 6610 * WebView.subproj/WebHTMLView.m: 6611 (-[WebHTMLView setMarkedText:selectedRange:]): Call new -[WebCoreBridge replaceMarkedTextWithText:] instead of 6612 -[WebCoreBridge replaceSelectionWithText:selectReplacement:smartReplace:]. The former call was just added in 6613 order to provide a better mapping of international text input onto the typing command/undo design. 6614 66152005-03-15 Richard Williamson <rjw@apple.com> 6616 6617 Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance 6618 6619 If client mutates request use new Foundation SPI to address remove applewebdata properties from request. 6620 6621 Reviewed by Ken Kocienda. 6622 6623 * WebView.subproj/WebBaseResourceHandleDelegate.m: 6624 (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]): 6625 * WebView.subproj/WebDataProtocol.h: 6626 * WebView.subproj/WebDataProtocol.m: 6627 (+[NSURLRequest _webDataRequestPropertyKey]): 6628 66292005-03-15 Ken Kocienda <kocienda@apple.com> 6630 6631 Reviewed by Vicki 6632 6633 Fox for this bug: 6634 6635 <rdar://problem/4052642> Each delete keystroke is in its own undo group; not included in undo group with other typing 6636 6637 Calling -[WebCore setSelectedDOMRange:range affinity:] had the result of "closing" any active set of typing 6638 keystrokes grouped together in a single undo operation. My change on 27 Jan to route delete keystrokes 6639 through _deleteRange:killRing:... made this feature regress. Previous to that change, the backwards delete 6640 key went through separate code that is no longer in the tree that did not set the selection in the way 6641 it is done now. 6642 6643 The solution is to add an extra argument to the set-selection call. The WebCoreBridge now offers this method: 6644 -[WebCore setSelectedDOMRange:range affinity:closeTyping:]. Now, callers must indicate whether setting the 6645 selection will act to close typing or not. The code changes below all add this new argument with the 6646 appropriate value for closeTyping. 6647 6648 * WebView.subproj/WebHTMLView.m: 6649 (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]): Passes NO for closeTyping when 6650 deletionAction is deleteKeyAction or forwardDeleteKeyAction; YES when deleteSelectionAction. 6651 (-[WebHTMLView _expandSelectionToGranularity:]): Passes YES for closeTyping. 6652 (-[WebHTMLView selectToMark:]): Passes YES for closeTyping. 6653 (-[WebHTMLView swapWithMark:]): Passes YES for closeTyping. 6654 (-[WebHTMLView transpose:]): Passes YES for closeTyping. 6655 (-[WebHTMLView _selectMarkedText]): Passes NO for closeTyping. 6656 (-[WebHTMLView _selectRangeInMarkedText:]): Passes NO for closeTyping. 6657 * WebView.subproj/WebView.m: 6658 (-[WebView setSelectedDOMRange:affinity:]): Passes YES for closeTyping. 6659 66602005-03-14 Richard Williamson <rjw@apple.com> 6661 6662 Fix <rdar://problem/4051389> 8A413: gifs animating too fast 6663 6664 Reviewed by Maciej. 6665 6666 Match Mozilla's policy for minimum frame duration, which is somewhat odd: 6667 6668 <= 0.01 sec use .1 sec, otherwise use specified duration. 6669 6670 * WebCoreSupport.subproj/WebImageData.m: 6671 (-[WebImageData _frameDurationAt:]): 6672 66732005-03-14 Darin Adler <darin@apple.com> 6674 6675 Reviewed by Harrison. 6676 6677 - fixed <rdar://problem/4049776> Seed: Mail: Disable spellcheck leaves red artifacts 6678 6679 * WebView.subproj/WebFrameInternal.h: Added _unmarkAllMisspellings. 6680 * WebView.subproj/WebFrame.m: (-[WebFrame _unmarkAllMisspellings]): Added. 6681 Calls unmarkAllMisspellings on the bridge and self and all subframes. 6682 6683 * WebView.subproj/WebView.m: (-[WebView setContinuousSpellCheckingEnabled:]): 6684 Call _unmarkAllMisspellings on the main frame when turning continuous spell checking off. 6685 66862005-03-14 Richard Williamson <rjw@apple.com> 6687 6688 Fixed <rdar://problem/4027928> Tiger_8A394:Acrobat crashes while tried to remove the subscription errors by clicking on "Would you like to remove the subscription" from Tracker details view pane 6689 6690 The Acrobat application triggers loads of new documents in it's policy delegate. This 6691 ultimately causes the WebHTMLView to be released before their event handlers have 6692 returned. To bullet proof against this case we retain/release self before passing 6693 the event on for further handling. 6694 6695 Reviewed by Maciej. 6696 6697 * WebView.subproj/WebHTMLView.m: 6698 (-[WebHTMLView _updateMouseoverWithEvent:]): 6699 (-[WebHTMLView scrollWheel:]): 6700 (-[WebHTMLView mouseDown:]): 6701 (-[WebHTMLView mouseDragged:]): 6702 (-[WebHTMLView mouseUp:]): 6703 (-[WebHTMLView keyDown:]): 6704 (-[WebHTMLView keyUp:]): 6705 (-[WebHTMLView performKeyEquivalent:]): 6706 67072005-03-14 Vicki Murley <vicki@apple.com> 6708 6709 - roll out the fix for 4040321, since it is still pending CCC review. 6710 6711 2005-03-10 Richard Williamson <rjw@apple.com> 6712 6713 Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance 6714 6715 Reviewed by Darin. 6716 6717 If a delegate returns a mutated applewebdata: request in it's willSendRequest: 6718 method, we don't load using the WebDataRequest. Instead we do a normal load. 6719 Unfortunately, if the request they return is mutated *copy* of the applewebdata: 6720 request it will hold the applewebdata: special properties. These properties 6721 will be encoded into the cache. They should not be. So, to fix, we sanitize the 6722 request, by removing the special properties from the request. 6723 6724 Note that we had to dig into the private guts of NSURLRequest because there is 6725 no public mechanism to remove properties from a request, see 4046775. 6726 6727 * WebView.subproj/WebBaseResourceHandleDelegate.m: 6728 (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]): 6729 * WebView.subproj/WebDataProtocol.h: 6730 * WebView.subproj/WebDataProtocol.m: 6731 (-[NSURLRequest _webDataRequestExternalRequest]): 6732 (-[NSURLRequest _webDataRequestSanitize]): 6733 6734=== Safari-406 === 6735 67362005-03-13 Darin Adler <darin@apple.com> 6737 6738 Reviewed by Ken and Maciej. 6739 6740 - fixed <rdar://problem/4049040> REGRESSION (403-405): security check prevents user stylesheet from loading (Dictionary.app doesn't work at all!) 6741 6742 * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): 6743 Allow plug-in subresource streams to load with any URL, ignoring the "canLoadURL" method's restriction (only 6744 file URLs can load other file URLs), which now applies only to main resources, like web pages in frames or 6745 object tags and plug-in main resources. 6746 6747 * WebCoreSupport.subproj/WebBridge.m: 6748 (-[WebBridge startLoadingResource:withURL:customHeaders:]): Allow subresources to load with any URL, as above. 6749 This allows things like images, stylesheets, and JavaScript to be loaded without the "canLoadURL" method's 6750 restriction. 6751 (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): Ditto. 6752 (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): Ditto. 6753 67542005-03-10 Richard Williamson <rjw@apple.com> 6755 6756 Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance 6757 6758 Reviewed by Darin. 6759 6760 If a delegate returns a mutated applewebdata: request in it's willSendRequest: 6761 method, we don't load using the WebDataRequest. Instead we do a normal load. 6762 Unfortunately, if the request they return is mutated *copy* of the applewebdata: 6763 request it will hold the applewebdata: special properties. These properties 6764 will be encoded into the cache. They should not be. So, to fix, we sanitize the 6765 request, by removing the special properties from the request. 6766 6767 Note that we had to dig into the private guts of NSURLRequest because there is 6768 no public mechanism to remove properties from a request, see 4046775. 6769 6770 * WebView.subproj/WebBaseResourceHandleDelegate.m: 6771 (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]): 6772 * WebView.subproj/WebDataProtocol.h: 6773 * WebView.subproj/WebDataProtocol.m: 6774 (-[NSURLRequest _webDataRequestExternalRequest]): 6775 (-[NSURLRequest _webDataRequestSanitize]): 6776 6777=== Safari-405 === 6778 67792005-03-10 Maciej Stachowiak <mjs@apple.com> 6780 6781 Reviewed by Vicki. 6782 6783 <rdar://problem/4046510> REGRESSION (TOT): All Flash and Shockwave plugin-based web content missing 6784 6785 * Plugins.subproj/WebNetscapePluginStream.m: 6786 (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): 6787 67882005-03-10 John Sullivan <sullivan@apple.com> 6789 6790 Reviewed by Vicki. 6791 6792 - fixed <rdar://problem/4045843> Going back/forward to error page 6793 hits assertion in -[WebDataSource(WebPrivate) _setData:] 6794 6795 * WebView.subproj/WebDataSource.m: 6796 (-[WebDataSource _setData:]): 6797 Removed bogus assertion 6798 67992005-03-09 Deborah Goldsmith <goldsmit@apple.com> 6800 6801 Reviewed by Darin. 6802 6803 - fixed <rdar://problem/3997044> default encoding for non-Latin incorrect 6804 6805 * WebKit/WebView.subproj/WebPreferences.m: (+[WebPreferences _systemCFStringEncoding]): 6806 Call __CFStringGetUserDefaultEncoding to get region, and TECGetWebTextEncodings to get 6807 the first encoding to determine the default encoding. 6808 68092005-03-09 Darin Adler <darin@apple.com> 6810 6811 Reviewed by Richard. 6812 6813 - fixed <rdar://problem/4034175> REGRESSION (Mail): Can't use any font with style Light/Condensed/Semibold/Extrabold, etc 6814 6815 * WebView.subproj/WebHTMLView.m: 6816 (-[WebHTMLView _styleFromFontAttributes:]): Use a constant instead of hard-coded weight for clarity. 6817 (-[WebHTMLView _originalFontA]): Ditto. 6818 (-[WebHTMLView _originalFontB]): Ditto. 6819 (-[WebHTMLView _addToStyle:fontA:fontB:]): Add code to detect the case where the family name is not good enough 6820 to specify the font precisely. In that case, use the Postscript font name instead. Also change variable names 6821 so it's easier to understand the method. 6822 68232005-03-06 Maciej Stachowiak <mjs@apple.com> 6824 6825 Reviewed by Darin. 6826 6827 <rdar://problem/4005575> Arbitrary file disclosure vulnerability due to ability to load local html from remote content 6828 6829 * Plugins.subproj/WebBaseNetscapePluginView.m: 6830 (-[WebBaseNetscapePluginView requestWithURLCString:]): 6831 * Plugins.subproj/WebNetscapePluginEmbeddedView.m: 6832 (-[WebNetscapePluginEmbeddedView didStart]): 6833 * Plugins.subproj/WebNetscapePluginStream.m: 6834 (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): 6835 * WebCoreSupport.subproj/WebBridge.m: 6836 (-[WebBridge createWindowWithURL:frameName:]): 6837 (-[WebBridge startLoadingResource:withURL:customHeaders:]): 6838 (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): 6839 (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): 6840 (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]): 6841 (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): 6842 (-[WebBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]): 6843 (-[WebBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]): 6844 * WebView.subproj/WebFrame.m: 6845 (-[WebFrame _loadURL:referrer:intoChild:]): 6846 * WebView.subproj/WebFramePrivate.h: 6847 68482005-03-09 Richard Williamson <rjw@apple.com> 6849 6850 Fixed <rdar://problem/4032938> Safari: text layout for MS P Gothic font is corrupted 6851 6852 The AppKit and ATS reports that MS P Gothic is fixed pitch. It is 6853 not! This is another case of "fixed pitch" being wrong. I've 6854 coalesced all the special cases into our isFontFixedPitch:, and 6855 used a dictionary to improve speed. No performance regression. 6856 6857 Reviewed by Maciej. 6858 6859 * WebCoreSupport.subproj/WebTextRenderer.m: 6860 (-[WebTextRenderer _computeWidthForSpace]): 6861 * WebCoreSupport.subproj/WebTextRendererFactory.m: 6862 (-[WebTextRendererFactory clearCaches]): 6863 (-[WebTextRendererFactory isFontFixedPitch:]): 6864 68652005-03-09 Darin Adler <darin@apple.com> 6866 6867 Reviewed by Maciej. 6868 6869 <rdar://problem/4040388> REGRESSION (172-173): nonrepro crash in -[NSString(WebNSURLExtras) _web_isUserVisibleURL] 6870 6871 * Misc.subproj/WebNSURLExtras.m: 6872 (-[NSString _web_isUserVisibleURL]): Fixed some pointer expressions that didn't include the index in the expression. 6873 (readIDNScriptWhiteListFile): Removed NSLog statements in here since we decided they aren't useful and they will 6874 write some messages on Tiger. 6875 68762005-03-09 Darin Adler <darin@apple.com> 6877 6878 * DOM.subproj/DOMPrivate.h: Checked in file copied from WebCore. 6879 68802005-03-08 Richard Williamson <rjw@apple.com> 6881 6882 Fixed <rdar://problem/4036949> many JPEG images fail to incremental-load due to change in ImageIO JPEG header parsing (to be fixed in WebKit) 6883 Fixed <rdar://problem/4042570> Need to check image properties for presence of width/height properties 6884 6885 ImageIO-55 changed how image properties are created. They 6886 are now created incrementally. So we need "re-get" the image 6887 properties if the properties we care about (width/height) aren't 6888 in the property dictionary. 6889 6890 Reviewed by John. 6891 6892 * WebCoreSupport.subproj/WebImageData.h: 6893 * WebCoreSupport.subproj/WebImageData.m: 6894 (-[WebImageData init]): 6895 (-[WebImageData fileProperties]): 6896 (-[WebImageData propertiesAtIndex:]): 6897 (-[WebImageData _isSizeAvailable]): 6898 (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]): 6899 (-[WebImageData size]): 6900 69012005-03-08 John Sullivan <sullivan@apple.com> 6902 6903 A couple of tweaks to the previous patch, from Darin's review. 6904 6905 * Misc.subproj/WebNSPasteboardExtras.m: 6906 (_writableTypesForImageWithoutArchive): 6907 remove unnecessary _web prefix 6908 (_writableTypesForImageWithArchive): 6909 ditto 6910 (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]): 6911 use mutableCopy rather than initWithArray:, and adjust for name changes 6912 69132005-03-08 John Sullivan <sullivan@apple.com> 6914 6915 Reviewed by Ken. 6916 6917 - fixed <rdar://problem/4031826> REGRESSION (Mail): standalone images from 6918 Safari can't be pasted into Mail (WebKit part of fix) 6919 6920 We were always declaring webarchive-related pasteboard types, even in the standalone 6921 image cases where we had no webarchive. Unfortunately, the WebView pasteboard-related 6922 API doesn't prevent this kind of thing from happening, because the code that 6923 declares the types isn't guaranteed to be anywhere near the code that writes 6924 the pasteboard data. 6925 6926 After this fix, I discovered that pasting standalone images into Mail still doesn't 6927 work right, but the remaining issues seem to be entirely in Mail. I wrote up 4041671 6928 to cover these. 6929 6930 * Misc.subproj/WebNSPasteboardExtras.h: 6931 (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]): 6932 Added boolean parameter; clients must specify whether or not there's an 6933 archive involved, because the array of types is different if there is. 6934 6935 * Misc.subproj/WebNSPasteboardExtras.m: 6936 (_web_writableTypesForImageWithoutArchive): 6937 new static function, constructs (once) and returns the array of types 6938 for images that don't have archives 6939 (_web_writableTypesForImageWithArchive): 6940 new static function, constructs (once) and returns the array of types 6941 for images that do have archives 6942 (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]): 6943 added boolean parameter, now calls one of the two new static functions 6944 6945 (-[NSPasteboard _web_writeImage:URL:title:archive:types:]): 6946 added asserts that we aren't declaring the archive types if we don't have archive data 6947 6948 (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]): 6949 updated to pass parameter to _web_writableTypesForImageIncludingArchive: 6950 6951 * WebView.subproj/WebDefaultContextMenuDelegate.m: 6952 (-[WebDefaultUIDelegate copyImageToClipboard:]): 6953 updated to pass parameter to _web_writableTypesForImageIncludingArchive: 6954 6955 * WebView.subproj/WebImageView.m: 6956 (-[WebImageView copy:]): 6957 updated to pass parameter to _web_writableTypesForImageIncludingArchive: 6958 6959 * WebView.subproj/WebView.m: 6960 (-[WebView pasteboardTypesForElement:]): 6961 updated to pass parameter to _web_writableTypesForImageIncludingArchive: 6962 69632005-03-07 Richard Williamson <rjw@apple.com> 6964 6965 More bullet proofing for <rdar://problem/4038304> CrashTracer: ....9 crashes at com.apple.WebKit: -[WebTextRenderer initWithFont:usingPrinterFont:] + 840 6966 6967 Protect against removal of Times and Times New Roman from 6968 system. If these fonts are removed attempt to get system font 6969 instead of FATAL_ALWAYS. 6970 6971 Reviewed by John. 6972 6973 * WebCoreSupport.subproj/WebTextRenderer.m: 6974 (-[WebTextRenderer initWithFont:usingPrinterFont:]): 6975 6976=== Safari-403 === 6977 69782005-03-06 Darin Adler <darin@apple.com> 6979 6980 - fixed obvious mistake in IDN script code (luckily it hasn't been in a submission yet!) 6981 6982 * Misc.subproj/WebNSURLExtras.m: (readIDNScriptWhiteListFile): Use "index" to index into the array, 6983 not "script", which is the script number, not the 32-bit-word index. 6984 69852005-03-05 Kevin Decker <kdecker@apple.com> 6986 6987 Reviewed by Darin. 6988 6989 Fixed: <rdar://problem/4038529> Infinite progress bar loading webcams and other sites that use multipart/x-mixed-replace 6990 6991 The previous patch I landed prevented us from loading multipart/x-mixed-replace but did not always update the progress bar accordingly. 6992 This stops websites from having seemingly infinite progress in the browser UI. 6993 6994 * WebCoreSupport.subproj/WebSubresourceClient.m: 6995 (-[WebSubresourceClient didReceiveResponse:]): If this is "multipart/x-mixed-replace", remove the WebBaseResourceHandleDelegate client from 6996 the datasource's subresource array, otherwise -[WebDataSource isLoading] incorrectly returns YES. Also it's possible at this point in 6997 time we're done loading now (loaded everything else except for the multipart/x-mixed-replace content) so go ahead and check to see if 6998 in fact we're complete. 6999 * WebView.subproj/WebMainResourceClient.m: 7000 (-[WebMainResourceClient connection:didReceiveResponse:]): ditto 7001 70022005-03-05 Richard Williamson <rjw@apple.com> 7003 7004 Fixed panther build problem. Shouldn't include 7005 changes for 3968753 on panther. 7006 7007 Reviewed by John. 7008 7009 * WebView.subproj/WebView.m: 7010 (-[WebView _commonInitializationWithFrameName:groupName:]): 7011 70122005-03-05 Darin Adler <darin@apple.com> 7013 7014 Reviewed by John. 7015 7016 - fixed <rdar://problem/4034603> REGRESSION (185-188): RadarWeb can't send enclosures anymore 7017 7018 * WebView.subproj/WebFormDataStream.m: 7019 (closeCurrentStream): Release currentData when closing the stream. 7020 (advanceCurrentStream): Set up and retain currentData when the current stream is reading that data, so the 7021 data won't be released while in use. 7022 (formCreate): Initialize currentData to NULL. 7023 7024 - fixed <rdar://problem/4037562> Tiger8A402: Help Viewer crashed when viewing help for iChat (infinite recursion in WebView) 7025 7026 * WebView.subproj/WebView.m: (-[WebView _responderValidateUserInterfaceItem:]): 7027 Check for the case where we ourselves are the responder. This avoids an infinite loop. 7028 The actual code to perform operations avoids this with a global variable, but this lighter weight 7029 solution is sufficient here because validate operations don't call through to the next responder. 7030 70312005-03-04 Richard Williamson <rjw@apple.com> 7032 7033 Fixed <rdar://problem/3968753> REGRESSION: Poor performance with differing multiple animated GIFs (was fast in Panther) 7034 7035 Disable coalesced updates (in CG). This restores the 7036 panther behavior. 7037 7038 Reviewed by David Harrison. 7039 7040 * WebView.subproj/WebView.m: 7041 (-[WebView _commonInitializationWithFrameName:groupName:]): 7042 70432005-03-04 Adele Amchan <adele@apple.com> 7044 7045 Reviewed by Darin. 7046 7047 * English.lproj/StringsNotToBeLocalized.txt: added new strings "text/x-vcf" and "text/x-csv" to the list 7048 70492005-03-04 Adele Amchan <adele@apple.com> 7050 7051 Reviewed by Chris. 7052 7053 Fix for <rdar://problem/4032982> Sun iPlanet app: not able to import AddressBook CSV format addresses properly 7054 Fix for <rdar://problem/4032985> Sun iPlanet app: not able to import vCard format addresses properly 7055 7056 * WebView.subproj/WebTextView.m: 7057 (+[WebTextView unsupportedTextMIMETypes]): added "text/x-csv" and "text/x-vcf" to the list of MIME types that our text view doesn't handle 7058 70592005-03-04 Darin Adler <darin@apple.com> 7060 7061 Reviewed by John. 7062 7063 - fixed <rdar://problem/4036817> REGRESSION: ctrl-y broken when a line + carriage return cut 7064 7065 * WebView.subproj/WebHTMLView.m: 7066 (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]): Merged _handleKillRing behavior 7067 into this function, since there's now a more-complicated way the startNewKillRingSequence boolean needs to 7068 be handled. Set the startNewKillRingSequence boolean after the entire process so changing the selection before 7069 and during the editing dosn't clear it. Also change "isTypingAction" parameter to "deletionAction" so we can 7070 handle forward delete with this method. 7071 (-[WebHTMLView _deleteSelection]): Pass deleteSelectionAction for action rather than NO for isTypingAction, 7072 which is the way to say the same thing using the new parameter. 7073 (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Refactor to use the _deleteRange 7074 method above. Also calls _shouldDeleteRange: for the pre-existing selection case; not doing that before was 7075 a bug. 7076 (-[WebHTMLView deleteToMark:]): Pass deleteSelectionAction for action rather than NO for isTypingAction, 7077 which is the way to say the same thing using the new parameter. 7078 70792005-03-04 Darin Adler <darin@apple.com> 7080 7081 Reviewed by John. 7082 7083 - fixed <rdar://problem/4020413> REGRESSION (Mail): can't use fonts with names that start with "#" in Mail (Korean fonts) 7084 7085 * WebView.subproj/WebHTMLView.m: 7086 (-[WebHTMLView _styleFromFontAttributes:]): Quote font name when calling setFontFamily. 7087 (-[WebHTMLView _addToStyle:fontA:fontB:]): Ditto. 7088 70892005-03-04 Darin Adler <darin@apple.com> 7090 7091 Reviewed by John. 7092 7093 - fixed <rdar://problem/3965666> IDN spoofing vulnerability caused by Unicode characters that look like ASCII characters 7094 7095 * Misc.subproj/WebNSURLExtras.m: 7096 (readIDNScriptWhiteListFile): Added. Reads file and parses script names. 7097 (readIDNScriptWhiteList): Added. Calls readIDNScriptWhiteList on each of the white list locations in succession. 7098 (allCharactersInIDNScriptWhiteList): Renamed from containsPossibleLatinLookalikes and changed sense. 7099 Now calls readIDNScriptWhiteList first time, and then uses the read-in list to check the scripts. 7100 (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Call allCharactersInIDNScriptWhiteList instead of 7101 containsPossibleLatinLookalikes. 7102 * Resources/IDNScriptWhiteList.txt: Added. 7103 * WebKit.pbproj/project.pbxproj: Added IDNScriptWhiteList.txt file. 7104 7105 * Misc.subproj/WebKitLocalizableStrings.m: Removed. This is simply unused. 7106 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 7107 71082005-03-04 Darin Adler <darin@apple.com> 7109 7110 Reviewed by John. 7111 7112 - fixed <rdar://problem/3937667> REGRESSION (Mail): Zooming a window from titlebar button doesn't paint newly-exposed portions of window 7113 7114 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]): 7115 Re-set-up the visRect if the bounds changes due to layout. 7116 7117=== Safari-402 === 7118 71192005-03-03 Jens Alfke <jens@apple.com> 7120 7121 Reviewed by rjw. 7122 7123 <rdar://problem/3991818> REGRESSION: Images scale while loading 7124 The code could crop an image when not all the scanlines were available yet, and it could crop when only a sub-rect of the image was to be drawn; but if it had to do both at once, it got the coordinates wrong. Fixed that. 7125 7126 * WebCoreSupport.subproj/WebImageData.m: 7127 (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]): 7128 71292005-03-01 David Hyatt <hyatt@apple.com> 7130 7131 Fix for 3841186, scrollbar shows up disabled when it should not appear at all. Make sure updateScrollers 7132 is never allowed to be re-entrant from any call point by moving the guard inside the function itself. 7133 7134 Reviewed by John Sullivan 7135 7136 * WebView.subproj/WebDynamicScrollBarsView.m: 7137 (-[WebDynamicScrollBarsView updateScrollers]): 7138 (-[WebDynamicScrollBarsView reflectScrolledClipView:]): 7139 71402005-03-02 Chris Blumenberg <cblu@apple.com> 7141 7142 Fixed: <rdar://problem/4029010> Expose method to retrieve drag image for WebView's selection 7143 7144 Reviewed by sullivan. 7145 7146 * WebView.subproj/WebHTMLView.m: 7147 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): call _selectionDraggingImage 7148 (-[WebHTMLView _selectionDraggingImage]): new SPI for Mail, factored from previous method 7149 (-[WebHTMLView _selectionDraggingRect]): new SPI for Mail 7150 * WebView.subproj/WebHTMLViewPrivate.h: 7151 71522005-03-02 John Sullivan <sullivan@apple.com> 7153 7154 Reviewed by Adele. 7155 7156 - fixed <rdar://problem/4023337> Safari stops loading any page (-[NSCFDictionary setObject:forKey:]: 7157 attempt to insert nil key) 7158 7159 It is very likely that the exception being hit is caused by the same problem as WebFoundation 7160 bug 4018486. This change makes the code robust against this kind of problem regardless. 7161 7162 * WebView.subproj/WebBaseResourceHandleDelegate.m: 7163 (-[WebBaseResourceHandleDelegate saveResource]): 7164 Don't call addSubresource if newly-created resource is nil (but do assert on debug builds). 7165 Also assert that originalURL and MIMEType are not nil. 7166 7167 * WebView.subproj/WebDataSource.m: 7168 (-[WebDataSource addSubresource:]): 7169 Don't add nil subresource to dictionary, but do assert on debug builds. 7170 7171=== Safari-401 === 7172 71732005-03-01 John Sullivan <sullivan@apple.com> 7174 7175 Reviewed by Darin. 7176 7177 - fixed <rdar://problem/3987482> Format>Style>Italic is not enabled when a 7178 compose window is empty (works in Blot) 7179 7180 * WebView.subproj/WebHTMLView.m: 7181 (-[WebHTMLView becomeFirstResponder]): 7182 call _updateFontPanel here so NSFontManager knows the right font for the menu 7183 items and the font panel 7184 71852005-03-01 David Harrison <harrison@apple.com> 7186 7187 Reviewed by Chris. 7188 7189 <rdar://problem/3915560> Mail would like an SPI to enable "smart" text paste/drop 7190 7191 * WebView.subproj/WebHTMLView.m: 7192 (-[WebHTMLView _smartDeleteRangeForProposedRange:]): 7193 (-[WebHTMLView _smartInsertForString:replacingRange:beforeString:afterString:]): 7194 New. 7195 71962005-02-28 John Sullivan <sullivan@apple.com> 7197 7198 Reviewed by Ken. 7199 7200 - WebKit part of fix for <rdar://problem/4023490> REGRESSION (125-185): Tabbing through links 7201 on frameset page gets stuck at end (tivofaq.com) 7202 7203 This tab-to-links stuff has been in shaky condition ever since AppKit futzed with 7204 tabbing behavior in Tiger to add support for including the toolbar in the key loop. 7205 I made some changes months ago to compensate for that, but some cases, such as this 7206 one, still weren't fixed. 7207 7208 * WebCoreSupport.subproj/WebBridge.m: 7209 (-[WebBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]): 7210 new bottleneck method, extracted from nextKeyViewOutsideWebFrameViews; handles 7211 nextKeyView or nextValidKeyView depending on parameter. 7212 (-[WebBridge nextKeyViewOutsideWebFrameViews]): 7213 now calls extracted method 7214 (-[WebBridge nextValidKeyViewOutsideWebFrameViews]): 7215 new method, calls new bottleneck method 7216 7217 * WebView.subproj/WebHTMLView.m: 7218 (-[WebHTMLView nextValidKeyView]): 7219 when we're stuck at the end of a nextKeyView chain inside a nexted frame, use 7220 nextValidKeyViewOutsideWebFrameViews. Make sure we don't end up looking inside 7221 the web frame views while doing this. 7222 72232005-02-25 Darin Adler <darin@apple.com> 7224 7225 Reviewed by John. 7226 7227 - fixed <rdar://problem/4025088> window onblur and onfocus don't fire when text field has focus 7228 7229 * WebView.subproj/WebHTMLView.m: 7230 (-[WebHTMLView updateFocusState]): Renamed from updateFocusDisplay. Added call to setWindowHasFocus: method. 7231 (-[WebHTMLView viewDidMoveToWindow]): Call method by new name. 7232 (-[WebHTMLView windowDidBecomeKey:]): Ditto. 7233 (-[WebHTMLView windowDidResignKey:]): Ditto. 7234 (-[WebHTMLView becomeFirstResponder]): Ditto. 7235 (-[WebHTMLView resignFirstResponder]): Ditto. 7236 7237=== Safari-400 === 7238 72392005-02-25 Richard Williamson <rjw@apple.com> 7240 7241 Fixed <rdar://problem/4000962> 8A375: Help Viewer displays voiced sound and semi-voiced characters strangely (characters don't seem to be composed) 7242 7243 Added special case for voiced marks. 7244 7245 Reviewed by John. 7246 7247 * WebCoreSupport.subproj/WebTextRenderer.m: 7248 (widthForNextCharacter): 7249 72502005-02-25 Darin Adler <darin@apple.com> 7251 7252 Reviewed by John. 7253 7254 - fixed <rdar://problem/4019823> Seed: Control-Y doesn't work 7255 7256 * WebView.subproj/WebHTMLView.m: 7257 (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Call _handleKillRing 7258 after setting the selection, since it uses the selection to get the text. 7259 (-[WebHTMLView _insertText:selectInsertedText:]): Check for empty string to avoid an assertion 7260 on the other side of the bridge when you yank the empty string. 7261 72622005-02-24 Richard Williamson <rjw@apple.com> 7263 7264 Fixed <rdar://problem/3382926> Bidi neutrals at RTL/LTR boundaries not handled correctly. 7265 7266 If directionality is specified use that as initial directionality, 7267 rather than neutral directionality. 7268 7269 Reviewed by Hyatt. 7270 7271 * WebCoreSupport.subproj/WebTextRenderer.m: 7272 (widthForNextCharacter): 7273 72742005-02-24 Adele Amchan <adele@apple.com> 7275 7276 Reviewed by Chris. 7277 7278 Fix for <rdar://problem/4023393> Safari crashed in khtml::RenderObject::repaintAfterLayoutIfNeeded(QRect const&, QRect const&) 7279 7280 We were crashing after hitting PageDown when viewing a pdf because 7281 WebKit was calling over to WebCore to scroll overflow areas. 7282 Since this only needs to be done if we're dealing with a WebHTMLView, 7283 I added a wrapper function to check the documentView before calling 7284 over to WebCore. 7285 7286 * WebView.subproj/WebFrameView.m: 7287 (-[WebFrameView _scrollOverflowInDirection:granularity:]): added wrapper function that checks if documentView is a WebHTMLView 7288 (-[WebFrameView scrollToBeginningOfDocument:]): uses new wrapper function now 7289 (-[WebFrameView scrollToEndOfDocument:]): uses new wrapper function now 7290 (-[WebFrameView _pageVertically:]): uses new wrapper function now 7291 (-[WebFrameView _pageHorizontally:]): uses new wrapper function now 7292 (-[WebFrameView _scrollLineVertically:]): uses new wrapper function now 7293 (-[WebFrameView _scrollLineHorizontally:]): uses new wrapper function now 7294 72952005-02-24 Richard Williamson <rjw@apple.com> 7296 7297 Fixed <rdar://problem/3985889> REGRESSION (125-180): setting <img> src to GIF that already animated does not animate; just shows final frame 7298 7299 Reviewed by Hyatt. 7300 7301 * WebCoreSupport.subproj/WebImageData.h: 7302 * WebCoreSupport.subproj/WebImageData.m: 7303 (-[WebImageData resetAnimation]): 7304 * WebCoreSupport.subproj/WebImageRenderer.m: 7305 (-[WebImageRenderer resetAnimation]): 7306 (-[WebInternalImage resetAnimation]): 7307 (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]): 7308 73092005-02-24 Kevin Decker <kdecker@apple.com> 7310 7311 Reviewed by John. 7312 7313 Fixed <rdar://problem/3962401> Don't load multipart/x-mixed-replace content to prevent memory leak 7314 7315 Since we're not going to fix <rdar://problem/3087535> for Tiger, we should not load multipart/x-mixed-replace content. Pages with such content contain what is essentially an infinite load and therefore may leak. 7316 7317 * WebView.subproj/WebMainResourceClient.m: 7318 (-[WebMainResourceClient connection:didReceiveResponse:]): Disabled loading of multipart/x-mixed-replace content until we fully implement server side push. 7319 * WebCoreSupport.subproj/WebSubresourceClient.m: 7320 (-[WebSubresourceClient didReceiveResponse:]): Ditto. Same exact thing for sub resources. 7321 7322 73232005-02-23 John Sullivan <sullivan@apple.com> 7324 7325 Reviewed by Ken. 7326 7327 - fixed <rdar://problem/4021370> REGRESSION (Tiger): WebKit part of fix for 7328 shift-tab on tivofaq doing the wrong thing 7329 7330 * WebView.subproj/WebFrameView.m: 7331 (-[WebFrameView becomeFirstResponder]): 7332 If our previousValidKeyView is nil or self (same as nil modulo AppKit oddness), 7333 look out of the box and get the previousValidKeyView of our webview. 7334 73352005-02-23 Darin Adler <darin@apple.com> 7336 7337 Reviewed by Hyatt. 7338 7339 - fixed <rdar://problem/4010196> REGRESSION (125-186+): 8-character timestamps in gmail wrap to 2 lines (width:8ex; font-size:80%) 7340 7341 * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer xHeight]): Return the maximum 7342 of the "x" height and width. Comment in the code explains why in more detail. 7343 73442005-02-22 Richard Williamson <rjw@apple.com> 7345 7346 Fixed <rdar://problem/3937203> when a div adds a scrollbar (overflow:auto) we do not get regions 7347 7348 Compare regions after automatice scroll regions have been 7349 added. 7350 7351 Reviewed by Maciej. 7352 7353 * WebCoreSupport.subproj/WebBridge.h: 7354 * WebCoreSupport.subproj/WebBridge.m: 7355 (-[WebBridge dealloc]): 7356 (-[WebBridge _compareDashboardRegions:]): 7357 (-[WebBridge dashboardRegionsChanged:]): 7358 73592005-02-22 Richard Williamson <rjw@apple.com> 7360 7361 Fixed <rdar://problem/4012463> Dashboard widgets don't work with authenticating proxies 7362 7363 Added new SPI for dashboard that just calls default delegate 7364 behavior. 7365 7366 Reviewed by Maciej. 7367 7368 * WebView.subproj/WebView.m: 7369 (-[WebView handleAuthenticationForResource:challenge:fromDataSource:]): 7370 * WebView.subproj/WebViewPrivate.h: 7371 73722005-02-22 Chris Blumenberg <cblu@apple.com> 7373 7374 Reviewed by mjs. 7375 7376 * WebCoreSupport.subproj/WebBridge.m: 7377 (-[WebBridge issuePasteAndMatchStyleCommand]): support for new "PasteAndMatchStyle" exec command 7378 7379=== Safari-188 === 7380 73812005-02-21 David Harrison <harrison@apple.com> 7382 7383 Reviewed by Darin. 7384 7385 <rdar://problem/3943090> REGRESSION (Mail): Spelling underline incompletely erased following certain steps 7386 7387 * WebCoreSupport.subproj/WebTextRenderer.m: 7388 (-[WebTextRenderer misspellingLineThickness]): 7389 (-[WebTextRenderer misspellingLinePatternWidth]): 7390 Replaced #defines with these methods, so others can get the same info. 7391 7392 (-[WebTextRenderer drawLineForMisspelling:withWidth:]): 7393 Keep underline within originally specified bounds. 7394 7395 73962005-02-21 Darin Adler <darin@apple.com> 7397 7398 Reviewed by John. 7399 7400 - fixed <rdar://problem/4016358> don't ever display IDN URLs with characters from "possible Latin look-alike" scripts 7401 7402 * Misc.subproj/WebNSURLExtras.m: 7403 (containsPossibleLatinLookalikes): Added. 7404 (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Call containsPossibleLatinLookalikes, and if true, 7405 don't decode the host name. 7406 74072005-02-19 Kevin Decker <kdecker@apple.com> 7408 7409 Reviewed by Chris. 7410 7411 Fixed <rdar://problem/4010765> Flash player can be used to arbitrarily open popup windows without user permission 7412 7413 Our window.open() policy is to refuse the <script>window.open(...)</script> case and allow the inline the <a href="javascript:window.open('foo')> case. Clever advertisers at some point realized that by executing their Javascript through the Flash plugin, Safari would always treat their code as the inline case, and thus, they were able to work around our popup blocker. 7414 7415 * Plugins.subproj/WebBaseNetscapePluginView.h: Addded currentEventIsUserGesture boolean ivar. 7416 * Plugins.subproj/WebBaseNetscapePluginView.m: 7417 (-[WebBaseNetscapePluginView sendEvent:]): If at any point the user clicks or presses a key from within a plugin, set the currentEventIsUserGesture flag to true. This is important to differentiate legitimate window.open() calls originating from plugins; we still want to allow those. 7418 (-[WebBaseNetscapePluginView initWithFrame:]): In our asynchronous load, pass along currentEventIsUserGesture to the PluginRequest. 7419 (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Inform WebCore if this was a user originated gesture when calling executeScript(). 7420 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): 7421 (-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:didStartFromUserGesture:]): 7422 (-[WebPluginRequest isCurrentEventUserGesture]): Added. 7423 74242005-02-18 Chris Blumenberg <cblu@apple.com> 7425 7426 Fixed: <rdar://problem/3945271> REGRESSION (Mail): pasted plain text should pick up typing style instead of being unstyled 7427 7428 Reviewed by kocienda. 7429 7430 * WebView.subproj/WebDataSource.m: 7431 (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): pass NO for matchStyle to replaceSelection 7432 * WebView.subproj/WebHTMLView.m: 7433 (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:chosePlainText:]): return new chosePlainText parameter 7434 (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): pass chosePlainText for matchStyle to replaceSelection 7435 (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): ditto 7436 74372005-02-17 Richard Williamson <rjw@apple.com> 7438 7439 Removed code that should not have been checked in from 7440 last patch. 7441 7442 * WebCoreSupport.subproj/WebTextRendererFactory.m: 7443 (-[WebTextRendererFactory isFontFixedPitch:]): 7444 74452005-02-17 Richard Williamson <rjw@apple.com> 7446 7447 Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead 7448 7449 Fixed w/o introducing a performance regression. 7450 7451 Reviewed by Vicki (and earlier by Dave Harrison). 7452 7453 * WebCoreSupport.subproj/WebTextRenderer.m: 7454 (-[WebTextRenderer _computeWidthForSpace]): 7455 (widthForNextCharacter): 7456 * WebCoreSupport.subproj/WebTextRendererFactory.h: 7457 * WebCoreSupport.subproj/WebTextRendererFactory.m: 7458 (-[NSFont _web_isFakeFixedPitch]): 7459 (-[WebTextRendererFactory isFontFixedPitch:]): 7460 (-[WebTextRendererFactory fontWithFamily:traits:size:]): 7461 74622005-02-17 Richard Williamson <rjw@apple.com> 7463 7464 Fixed <rdar://problem/3959304> PDF in img tag is not rendered correctly anymore 7465 7466 We were incorrectly adding image position when flipping coordinates. 7467 7468 Reviewed by David Harrison. 7469 7470 * WebCoreSupport.subproj/WebImageData.m: 7471 (-[WebImageData _PDFDrawFromRect:toRect:operation:alpha:flipped:context:]): 7472 74732005-02-17 Richard Williamson <rjw@apple.com> 7474 7475 Fixed <rdar://problem/4007262> Seed: Flight tracker scrolling moves to the left 7476 7477 Added SPI for dashboard to disable wheel scrolling of the WebClipView. 7478 7479 Reviewed by Ken. 7480 7481 * ChangeLog: 7482 * WebView.subproj/WebClipView.m: 7483 (-[WebClipView _focusRingVisibleRect]): 7484 (-[WebClipView scrollWheel:]): 7485 * WebView.subproj/WebView.m: 7486 (-[WebViewPrivate init]): 7487 (-[WebView drawRect:]): 7488 (-[WebView _dashboardBehavior:]): 7489 * WebView.subproj/WebViewInternal.h: 7490 * WebView.subproj/WebViewPrivate.h: 7491 7492=== Safari-187 === 7493 74942005-02-17 Vicki Murley <vicki@apple.com> 7495 7496 - roll out this change, since it causes a 1.5% performance regression 7497 7498 2005-02-15 Richard Williamson <rjw@apple.com> 7499 7500 Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead 7501 7502 Lie about Osaka-Mono. Treat it as fixed pitch, even though, 7503 strictly speaking it isn't. (Similar to what we do with 7504 Courier New.) 7505 7506 Reviewed by David Harrison. 7507 7508 * WebCoreSupport.subproj/WebTextRenderer.m: 7509 (-[WebTextRenderer _computeWidthForSpace]): 7510 * WebCoreSupport.subproj/WebTextRendererFactory.h: 7511 * WebCoreSupport.subproj/WebTextRendererFactory.m: 7512 (-[NSFont _web_isFakeFixedPitch]): 7513 (-[WebTextRendererFactory isFontFixedPitch:]): 7514 (-[WebTextRendererFactory fontWithFamily:traits:size:]): 7515 75162005-02-17 John Sullivan <sullivan@apple.com> 7517 7518 Reviewed by Ken. 7519 7520 - fixed <rdar://problem/3997185> The Web view on .Mac Prefs caused System Prefs 7521 to lockup (resolved by re-boot only) 7522 7523 * WebCoreSupport.subproj/WebBridge.m: 7524 (-[WebBridge nextKeyViewOutsideWebFrameViews]): 7525 Don't allow recursion here; assert on debug build, return nil on deployment. I 7526 couldn't get my machine into a state to repro this problem (and neither could the 7527 originator), but it's obvious from the stack crawl that this method was recursing 7528 when it shouldn't have. 7529 75302005-02-16 John Sullivan <sullivan@apple.com> 7531 7532 Written by Darin, reviewed by me. 7533 7534 - WebKit part of fix for <rdar://problem/4007384> 7535 FILTER: Bookmark of RSS with Japanese search word & multiple RSS pages loses filter 7536 7537 * DOM.subproj/DOMPrivate.h: 7538 updated this file, which is a copy of the WebCore version 7539 75402005-02-16 Richard Williamson <rjw@apple.com> 7541 7542 Fixed <rdar://problem/3966973> Tiger 8A357: Binary Compatiblity: frequent Webstractor.app crashes [WebImageData _nextFrame] 7543 7544 Webstractor.app was playing tricks to create thumbnails of 7545 pages. This caused the 'focusView' to be incorrect during 7546 animated GIF frame rendering. 7547 7548 Reviewed by Chris. 7549 7550 * WebCoreSupport.subproj/WebImageRenderer.m: 7551 (-[WebImageRenderer _startOrContinueAnimationIfNecessary]): 7552 75532005-02-16 Vicki Murley <vicki@apple.com> 7554 7555 Reviewed by me, code change by Darin. 7556 7557 - fixed the build on Panther 7558 7559 * WebView.subproj/WebFormDataStream.m: (webSetHTTPBody): 7560 Added a Panther-specific code path that just loads all the data into one big 7561 NSData object. This means that bug 3686434 won't be fixed on SUPanWheat; we'll 7562 still load the file into memory before sending it to the server on Panther. 7563 75642005-02-15 Richard Williamson <rjw@apple.com> 7565 7566 Fixed <rdar://problem/3998368> Tiger8A376: WebTextRenderer assertion failure in Safari while browsing news.bbc.co.uk 7567 7568 Removed use of FATAL_ALWAYS from getUncachedWidth(). It's unclear 7569 why we would trigger the FATAL_ALWAYS. In the past we've seen 7570 the message triggered because of corrupt fonts. Anyway, in this 7571 particular case, we will now return 0 for the character width, 7572 rather than exiting. 7573 7574 Reviewed by David Harrison. 7575 7576 * WebCoreSupport.subproj/WebTextRenderer.m: 7577 (getUncachedWidth): 7578 75792005-02-15 Richard Williamson <rjw@apple.com> 7580 7581 Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead 7582 7583 Lie about Osaka-Mono. Treat it as fixed pitch, even though, 7584 strictly speaking it isn't. (Similar to what we do with 7585 Courier New.) 7586 7587 Reviewed by David Harrison. 7588 7589 * WebCoreSupport.subproj/WebTextRenderer.m: 7590 (-[WebTextRenderer _computeWidthForSpace]): 7591 * WebCoreSupport.subproj/WebTextRendererFactory.h: 7592 * WebCoreSupport.subproj/WebTextRendererFactory.m: 7593 (-[NSFont _web_isFakeFixedPitch]): 7594 (-[WebTextRendererFactory isFontFixedPitch:]): 7595 (-[WebTextRendererFactory fontWithFamily:traits:size:]): 7596 75972005-02-14 Darin Adler <darin@apple.com> 7598 7599 Reviewed by John. 7600 7601 - fixed <rdar://problem/3686434> Safari uses too much RAM on file upload, leading to malloc errors and crashes (HP printers) 7602 7603 * WebView.subproj/WebFormDataStream.h: Added webSetHTTPBody, which creates and connects an appropriate 7604 stream to an NSMutableURLRequest. 7605 * WebView.subproj/WebFormDataStream.m: Added implementation here. 7606 7607 * WebCoreSupport.subproj/WebBridge.m: 7608 (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): 7609 Use webSetHTTPBody. 7610 * WebCoreSupport.subproj/WebSubresourceClient.m: 7611 (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]): 7612 Use webSetHTTPBody. 7613 * WebView.subproj/WebFrame.m: 7614 (-[WebFrame _loadItem:withLoadType:]): Use webSetHTTPBody. 7615 (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto. 7616 7617 * English.lproj/StringsNotToBeLocalized.txt: Updated for this change and other recent changes. 7618 76192005-02-11 Richard Williamson <rjw@apple.com> 7620 7621 Fixed <rdar://problem/4002505> 8A378: Endlessly animating gif's on http://www.entropy.ch 7622 7623 If animated images had no loop count property we were incorrectly 7624 looping forver. Note, that in the course of fixing this bug 7625 I found that ImageIO is incorrectly NOT reporting the loop count 7626 for a whole class of animated GIFs. 7627 7628 Reviewed by Ken Kocienda. 7629 7630 * WebCoreSupport.subproj/WebImageData.m: 7631 (-[WebImageData _repetitionCount]): 7632 7633=== Safari-186 === 7634 76352005-02-11 Vicki Murley <vicki@apple.com> 7636 7637 Reviewed by Darin. 7638 7639 - fix deployment build on Panther 7640 7641 * WebView.subproj/WebHTMLView.m: 7642 (-[WebHTMLView changeBaseWritingDirection:]): ifdef out NSWritingDirectionNatural 7643 (-[WebHTMLView toggleBaseWritingDirection:]): fix a spacing issue 7644 76452005-02-10 David Harrison <harrison@apple.com> 7646 7647 Reviewed by Richard. 7648 7649 <rdar://problem/3991652> REGRESSION (Mail): Deleting entire line in reply deletes extra blank line and moves insertion point 7650 7651 * WebView.subproj/WebHTMLView.m: 7652 (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:]): 7653 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): 7654 (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): 7655 (-[WebHTMLView selectToMark:]): 7656 (-[WebHTMLView swapWithMark:]): 7657 (-[WebHTMLView transpose:]): 7658 (-[WebHTMLView _selectMarkedText]): 7659 (-[WebHTMLView _selectRangeInMarkedText:]): 7660 Adopt new default affinity of NSSelectionAffinityDownstream as of <rdar://problem/3937447>. 7661 76622005-02-10 Darin Adler <darin@apple.com> 7663 7664 Reviewed by Harrison. 7665 7666 - fixed <rdar://problem/4002084> Setting ResourceLoadDelegate to nil can cause a crash 7667 7668 * WebView.subproj/WebView.m: (-[WebView _cacheResourceLoadDelegateImplementations]): 7669 Set booleans to either YES or NO, rather than setting them only in the YES case. 7670 76712005-02-10 Darin Adler <darin@apple.com> 7672 7673 Reviewed by Harrison. 7674 7675 - fixed <rdar://problem/3991225> Format->Style->Underline menu item does not get checked when selected text is underlined 7676 7677 * WebView.subproj/WebHTMLView.m: 7678 (-[WebHTMLView validateUserInterfaceItem:]): Added tons of additional cases in here for all the 7679 "action" style methods in this class that don't always want to be valid. For the ones where state 7680 makes sense, added the state-checking code too for the menu item case. 7681 (-[WebHTMLView ignoreSpelling:]): Removed unnecessary "editable text only" check since this command 7682 would work fine on a non-editable selection. 7683 (-[WebHTMLView swapWithMark:]): Ditto. 7684 (-[WebHTMLView changeBaseWritingDirection:]): Added. Like toggle, but based on the sender's tag. 7685 76862005-02-08 Darin Adler <darin@apple.com> 7687 7688 "Reviewed" by Richard (he told me the file was obsolete). 7689 7690 - got rid of an obsolete file 7691 7692 * Plugins.subproj/npsap.h: Removed. 7693 * copy-webcore-files-to-webkit: Removed npsap.h. 7694 76952005-02-09 Richard Williamson <rjw@apple.com> 7696 7697 Fixed <rdar://problem/4000073> non-screen font error on www.worldofwarcraft.com 7698 7699 Reviewed by John Sullivan. 7700 7701 * WebCoreSupport.subproj/WebTextRenderer.m: 7702 (-[WebTextRenderer _smallCapsFont]): 7703 7704=== Safari-185 === 7705 77062005-02-07 Chris Blumenberg <cblu@apple.com> 7707 7708 Fixed: <rdar://problem/3993354> Safari claims to put RTFD on the pasteboard, but doesn't, in some cases 7709 7710 Reviewed by john. 7711 7712 * WebView.subproj/WebHTMLView.m: 7713 (-[WebHTMLView _stripAttachmentCharactersFromAttributedString:]): moved 7714 (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]): take cachedAttributedString parameter in case the attributed string was gotten already 7715 (-[WebHTMLView _writeSelectionToPasteboard:]): omit RTFD from the types list when there are no attachments 7716 77172005-02-07 David Harrison <harrison@apple.com> 7718 7719 Reviewed by Ken. 7720 7721 <rdar://problem/3990693> REGRESSION (8A373): ctrl-k now deletes just one character instead of line 7722 7723 * WebView.subproj/WebHTMLView.m: 7724 (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): 7725 Set the selection so that deleteKeyPressedWithSmartDelete knows what to delete. 7726 77272005-02-06 Darin Adler <darin@apple.com> 7728 7729 Reviewed by Maciej. 7730 7731 - fixed <rdar://problem/3963166> PDFView SPI print method is being deprecated, moving to PDFDocument; please update WebKit 7732 7733 * WebView.subproj/WebPDFView.m: (-[WebPDFView printOperationWithPrintInfo:]): Target the document instead of the view. 7734 7735 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes and also moved one translation to be a file-specific 7736 item rather than a file-independent one. 7737 77382005-02-05 Chris Blumenberg <cblu@apple.com> 7739 7740 Fixed: <rdar://problem/3991974> REGRESSION: www.jabra.com world location screen does not work 7741 7742 Reviewed by hyatt. 7743 7744 * WebCoreSupport.subproj/WebBridge.m: 7745 (-[WebBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]): use the baseURL from the bridge rather than from the response 7746 77472005-02-04 Chris Blumenberg <cblu@apple.com> 7748 7749 Fixed: <rdar://problem/3802781> rtf->html pasteboard conversion using xhtml 7750 7751 Reviewed by kocienda. 7752 7753 * WebView.subproj/WebHTMLView.m: 7754 (+[WebHTMLView _excludedElementsForAttributedStringConversion]): new 7755 (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): call _excludedElementsForAttributedStringConversion 7756 77572005-02-04 Chris Blumenberg <cblu@apple.com> 7758 7759 Fixed: <rdar://problem/3832973> copy text from PowerPoint, paste into Blot (or presumably Mail) and get a single missing image icon 7760 7761 Reviewed by john. 7762 7763 * WebView.subproj/WebHTMLView.m: 7764 (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): prefer RTF and RTFD over images just as NSTextView does 7765 77662005-02-03 Chris Blumenberg <cblu@apple.com> 7767 7768 Fixed: <rdar://problem/3555137> REGRESSION (125-173): Flash animation can erase parts of chrome (bookmarks bar & tab bar) 7769 7770 convertRect:toView: returns incorrect results inside of viewWillMoveToWindow: with a nil window. Workaround this by catching this case. 7771 7772 Reviewed by darin. 7773 7774 * Plugins.subproj/WebBaseNetscapePluginView.m: 7775 (-[WebBaseNetscapePluginView superviewsHaveSuperviews]): new 7776 (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): clip out the plug-in view when superviewsHaveSuperviews returns NO 7777 77782005-02-03 Chris Blumenberg <cblu@apple.com> 7779 7780 Fixed: <rdar://problem/3893513> Sun iPlanet app: when saving to a file it brings up a window with the thing to be saved instead 7781 7782 Reviewed by adele. 7783 7784 * WebView.subproj/WebTextView.m: 7785 (+[WebTextView unsupportedTextMIMETypes]): added "text/ldif" to the list of MIME types that our text view doesn't handle 7786 7787=== Safari-183 === 7788 77892005-02-03 Chris Blumenberg <cblu@apple.com> 7790 7791 * English.lproj/StringsNotToBeLocalized.txt: updated 7792 77932005-02-03 Chris Blumenberg <cblu@apple.com> 7794 7795 Fixed: <rdar://problem/3989611> Evite style "add vCalendar to calendar" do not work 7796 7797 Reviewed by adele. 7798 7799 * WebView.subproj/WebTextView.m: 7800 (+[WebTextView unsupportedTextMIMETypes]): added "text/x-vcalendar" to the list of MIME types our text view doesn't handle 7801 78022005-02-03 Vicki Murley <vicki@apple.com> 7803 7804 Reviewed by Darin. 7805 7806 - fix deployment build breakage on Panther 7807 7808 * WebView.subproj/WebHTMLView.m: 7809 (-[WebHTMLView toggleBaseWritingDirection:]): 7810 78112005-02-02 John Sullivan <sullivan@apple.com> 7812 7813 Reviewed by Chris. 7814 7815 - WebKit part of fix for <rdar://problem/3980651> REGRESSION (125-180): Huge number of pages printed from certain page, 7816 iFrame involved 7817 7818 This also fixes the problems with printing from GMail, yay! 7819 7820 * WebView.subproj/WebHTMLView.m: 7821 (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]): 7822 Don't adjust margins for header/footer here, because this is called for each subframe. 7823 (-[WebHTMLView knowsPageRange:]): 7824 Do adjust margins for header/footer here (analogous to WebTextView and WebImageView). 7825 Also, round the page height to an integer here (noticed in passing). 7826 78272005-02-02 Chris Blumenberg <cblu@apple.com> 7828 7829 Fixed: <rdar://problem/3986546> Cut, delete, and paste menu items are active when a image is opened in window 7830 7831 Reviewed by john. 7832 7833 * WebView.subproj/WebView.m: 7834 (-[WebView _responderValidateUserInterfaceItem:]): new, has the responder validate the item 7835 (-[WebView validateUserInterfaceItem:]): call VALIDATE for each repsonder selector using FOR_EACH_RESPONDER_SELECTOR macro 7836 (-[WebView _performResponderOperation:with:]): call factored out method _responderForResponderOperations 7837 (-[WebView _responderForResponderOperations]): new, code from _performResponderOperation:with: 7838 78392005-02-02 Chris Blumenberg <cblu@apple.com> 7840 7841 Fixed: <rdar://problem/3983628> control-click on WebView is not selecting the word under the cursor (Mail, non-editable WebView) 7842 7843 Reviewed by rjw. 7844 7845 * WebCoreSupport.subproj/WebBridge.m: 7846 (-[WebBridge selectWordBeforeMenuEvent]): new 7847 * WebView.subproj/WebView.m: 7848 (-[WebView _selectWordBeforeMenuEvent]): new SPI 7849 (-[WebView _setSelectWordBeforeMenuEvent:]): new SPI 7850 * WebView.subproj/WebViewInternal.h: 7851 * WebView.subproj/WebViewPrivate.h: 7852 78532005-02-02 Chris Blumenberg <cblu@apple.com> 7854 7855 Fixed: <rdar://problem/3986013> Assertion failure going back after page load error (no apparent problem in nondebug build) 7856 7857 Reviewed by rjw. 7858 7859 * WebView.subproj/WebDataSource.m: 7860 (-[WebDataSource _setPrimaryLoadComplete:]): don't set the data source data when the main client is nil 7861 78622005-02-02 Ken Kocienda <kocienda@apple.com> 7863 7864 Reviewed by Darin 7865 7866 Fix for this bug: 7867 7868 <rdar://problem/3823109> WebKit should support -toggleBaseWritingDirection: (bidi editing support) 7869 7870 * WebView.subproj/WebHTMLView.m: 7871 (-[WebHTMLView _applyParagraphStyleToSelection:withUndoAction:]): New function that calls through to 7872 new feature that allows callers to force all properties in a style to be applied as block styles. 7873 (-[WebHTMLView _alignSelectionUsingCSSValue:withUndoAction:]): Removed FIXME comment for something that has been fixed. 7874 (-[WebHTMLView toggleBaseWritingDirection:]): Implemented. 7875 78762005-02-01 Richard Williamson <rjw@apple.com> 7877 7878 Fixed <rdar://problem/3977727> WebKit should use new SPI to support faster GIF rendering 7879 7880 Note: This REQUIRES build >= 3A362 when building on Tiger. 7881 7882 Reviewed by John. 7883 7884 * WebCoreSupport.subproj/WebImageData.m: 7885 (-[WebImageData _imageSourceOptions]): 7886 7887=== Safari-182 === 7888 78892005-02-01 Richard Williamson <rjw@apple.com> 7890 7891 Added new SPI for <rdar://problem/3967063> need spi on WebView to turn of lcd text for Dashboard 7892 7893 Reviewed by Chris. 7894 7895 * WebCoreSupport.subproj/WebTextRenderer.m: 7896 (_drawGlyphs): 7897 * WebView.subproj/WebView.m: 7898 (-[WebView drawRect:]): 7899 (-[WebView _dashboardBehavior:]): 7900 (+[WebView _setShouldUseFontSmoothing:]): 7901 (+[WebView _shouldUseFontSmoothing]): 7902 * WebView.subproj/WebViewInternal.h: 7903 * WebView.subproj/WebViewPrivate.h: 7904 79052005-01-31 Chris Blumenberg <cblu@apple.com> 7906 7907 Fixed: <rdar://problem/3949806> REGRESSION: Source window fails to refresh correctly on reload 7908 7909 The data method was being called on WebDataSource before the data was set. This fix makes WebDataSource set the data before releasing the main client instead of waiting for the main client to set it when it is dealloced. 7910 7911 Reviewed by darin. 7912 7913 * WebView.subproj/WebDataSource.m: 7914 (-[WebDataSource _setData:]): moved within file 7915 (-[WebDataSource _setPrimaryLoadComplete:]): call _setData: with the data from the main client before letting go of the main client 7916 * WebView.subproj/WebDataSourcePrivate.h: 7917 * WebView.subproj/WebMainResourceClient.m: 7918 (-[WebMainResourceClient releaseResources]): removed call to _setData: since the data source may need the data before releaseResources is called 7919 79202005-01-31 Chris Blumenberg <cblu@apple.com> 7921 7922 Fixed: <rdar://problem/3946285> Seed: Safari crashed by selecting all at internet-moebel.com 7923 7924 Reviewed by john. 7925 7926 * WebView.subproj/WebHTMLView.m: 7927 (-[WebHTMLView _hitViewForEvent:]): new, factored hit test hack to this method 7928 (-[WebHTMLView _updateMouseoverWithEvent:): call _hitViewForEvent: 7929 (-[WebHTMLView acceptsFirstMouse:]): call _setMouseDownEvent: and _isSelectionEvent: on the hit HTMLView or else when it's asked to drag it will assert 7930 (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): ditto 7931 79322005-01-31 David Harrison <harrison@apple.com> 7933 7934 Reviewed by Darin. 7935 7936 <rdar://problem/3961239> AX Setting AXFocused on AXScrollArea of AXWebArea will cause keyboard selection change 7937 7938 * WebView.subproj/WebHTMLView.m: 7939 (-[WebHTMLView maintainsInactiveSelection]): 7940 Keep the selection when the new first respomder is our own scrollview, in both editable and non-editaqble content. 7941 79422005-01-31 Jens Alfke <jens@apple.com> 7943 7944 Reviewed by John. 7945 7946 - Fixed <rdar://problem/3903199> REGRESSION: Large background patterns slide around while loading 7947 7948 * WebCoreSupport.subproj/WebImageData.m: 7949 (drawPattern): 7950 (-[WebImageData tileInRect:fromPoint:context:]): 7951 79522005-01-30 Darin Adler <darin@apple.com> 7953 7954 Reviewed by John. 7955 7956 - fixed <rdar://problem/3965265> Safari displays HTML as source when default encoding is Hebrew (due to direction overrides added by encoding converter) 7957 7958 * WebView.subproj/WebPreferencesPrivate.h: Added _systemCFStringEncoding, and changed 7959 _setInitialDefaultTextEncodingToSystemEncoding to be a class method. 7960 * WebView.subproj/WebPreferences.m: 7961 (+[WebPreferences _systemCFStringEncoding]): Added. New SPI to be used by Safari. Broken out of 7962 _setInitialDefaultTextEncodingToSystemEncoding, but also added cases for MacArabic and MacHebrew. 7963 (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Refactor to use _systemCFStringEncoding. 7964 79652005-01-28 Jens Alfke <jens@apple.com> 7966 7967 Reviewed by Richard. 7968 7969 <rdar://problem/3727680> printing some page with WebKit generates a PDF with a 1x1 image with soft mask (causes Acrobat to hang during print spooling) 7970 7971 Detect 1x1 images, extract and cache color of single pixel, reduce draw and tile operations to a color fill (or to a no-op if the pixel is clear.) 7972 7973 * WebCoreSupport.subproj/WebImageData.h: 7974 * WebCoreSupport.subproj/WebImageData.m: 7975 (-[WebImageData _invalidateImages]): 7976 (-[WebImageData _checkSolidColor:]): 7977 (-[WebImageData _cacheImages:allImages:]): 7978 (-[WebImageData _fillSolidColorInRect:compositeOperation:context:]): 7979 (-[WebImageData tileInRect:fromPoint:context:]): 7980 79812005-01-28 David Harrison <harrison@apple.com> 7982 7983 Reviewed by Darin. 7984 7985 <rdar://problem/3584942> AX: Safari Accessibility parent-child mismatch 7986 7987 Use AppKit SPI _accessibilityParentForSubview to return KWQAccObject parent of AppKit AX object. 7988 7989 * WebView.subproj/WebHTMLView.m: 7990 (-[WebHTMLView _accessibilityParentForSubview:]): 7991 New. 7992 79932005-01-28 Chris Blumenberg <cblu@apple.com> 7994 7995 WebKit side of: <rdar://problem/3951283> can view pages from the back/forward cache that should be disallowed by Parental Controls 7996 7997 Reviewed by john. 7998 7999 * WebView.subproj/WebDefaultPolicyDelegate.m: 8000 (-[WebDefaultPolicyDelegate webView:shouldGoToHistoryItem:]): new private delegate method 8001 * WebView.subproj/WebFrame.m: 8002 (-[WebFrame _goToItem:withLoadType:]): call new delegate method 8003 * WebView.subproj/WebPolicyDelegatePrivate.h: 8004 80052005-01-26 Maciej Stachowiak <mjs@apple.com> 8006 8007 Reviewed by Darin, Hyatt and Ken. 8008 8009 <rdar://problem/3790449> REGRESSION (Mail): underline behavior is flaky because of how CSS handles text-decoration 8010 8011 * WebView.subproj/WebHTMLView.m: 8012 (-[WebHTMLView _styleFromFontAttributes:]): Use new -khtml-text-decorations-in-effect 8013 property 8014 (-[WebHTMLView _styleForAttributeChange:]): likewise 8015 (-[WebHTMLView underline:]): likewise 8016 80172005-01-27 Ken Kocienda <kocienda@apple.com> 8018 8019 Reviewed by Maciej 8020 8021 * WebView.subproj/WebHTMLView.m: 8022 (-[WebHTMLView _handleKillRing:prepend:]): New helper function. Code factored out from 8023 _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:. 8024 (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:]): No longer takes 8025 unused preflight argument. Now takes new isTypingAction argument. Uses isTypingAction to 8026 determine which flavor of delete command to call. 8027 (-[WebHTMLView _deleteSelection]): No longer passes unused preflight argument. Now passes new isTypingAction argument. 8028 (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Rearranged code to call 8029 correct flavor of delete command, based on whether typing should be preserved. Some other cleanups. 8030 (-[WebHTMLView deleteForward:]): Add _isEditable check. 8031 (-[WebHTMLView deleteBackward:]): Now calls _deleteWithDirection instead of having unique behavior different 8032 from forward delete. 8033 (-[WebHTMLView deleteWordForward:]): Add new isTypingAction flag to _deleteWithDirection call. 8034 (-[WebHTMLView deleteWordBackward:]): Ditto. 8035 (-[WebHTMLView deleteToBeginningOfLine:]): Ditto. 8036 (-[WebHTMLView deleteToEndOfLine:]): Ditto. 8037 (-[WebHTMLView deleteToBeginningOfParagraph:]): Ditto. 8038 (-[WebHTMLView deleteToEndOfParagraph:]): Ditto. 8039 (-[WebHTMLView deleteToMark:]): Ditto. 8040 8041=== Safari-181 === 8042 80432005-01-27 Chris Blumenberg <cblu@apple.com> 8044 8045 Fixed: <rdar://problem/3973272> REGRESSION: Safari uses QT plugin to display PNG images 8046 8047 Reviewed by john. 8048 8049 * Plugins.subproj/WebBasePluginPackage.m: use renamed QT bundle ID 8050 80512005-01-26 Darin Adler <darin@apple.com> 8052 8053 Reviewed by John. 8054 8055 - fixed <rdar://problem/3829517> WebView still draws white when setDrawsBackground set to NO and no content loaded yet 8056 8057 * WebView.subproj/WebFrameView.m: (-[WebFrameView drawRect:]): Check drawsBackground, and don't 8058 draw the white "no document" background if it's NO. This fixes things for frames with no document. 8059 * WebView.subproj/WebImageView.m: (-[WebImageView drawRect:]): Same as above. This fixes things 8060 for frames with just an image. 8061 * WebView.subproj/WebFrame.m: (-[WebFrame _updateDrawsBackground]): Call setDrawsBackground: on the 8062 document view if it implements it. This fixes things for frames with plain text. 8063 80642005-01-25 John Sullivan <sullivan@apple.com> 8065 8066 Reviewed by Chris. 8067 8068 - WebKit part of fix for: <rdar://problem/3970670> Text context menu 8069 in WebKit needs "Look Up in Dictionary" item 8070 8071 * WebView.subproj/WebDefaultContextMenuDelegate.m: 8072 (localizedMenuTitleFromAppKit): 8073 return English string in the case where AppKit bundle is found but doesn't 8074 contain the expected string. This case will be hit by people testing with 8075 an older AppKit. 8076 (-[WebDefaultUIDelegate menuItemWithTag:]): 8077 create Look Up in Dictionary item 8078 (-[WebDefaultUIDelegate contextMenuItemsForElement:]): 8079 add Look Up in Dictionary item and separator 8080 (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]): 8081 ditto 8082 8083 * WebView.subproj/WebHTMLView.m: 8084 (-[WebHTMLView _lookUpInDictionaryFromMenu:]): 8085 new method, handles bringing up the Dictionary window. Includes FIXMEs 8086 for a couple of the known loose ends. 8087 (-[WebHTMLView validateUserInterfaceItem:]): 8088 handle Look Up in Dictionary item like the other new items 8089 8090 * WebView.subproj/WebUIDelegatePrivate.h: 8091 added SPI constant for Look Up in Dictionary menu item 8092 80932005-01-24 Maciej Stachowiak <mjs@apple.com> 8094 8095 Fixed Panther build (missing ifdef) 8096 8097 * WebView.subproj/WebDefaultContextMenuDelegate.m: 8098 80992005-01-24 John Sullivan <sullivan@apple.com> 8100 8101 Reviewed by Darin. 8102 8103 - WebKit part of fix for <rdar://problem/3960231> Text context menu in WebKit needs Spotlight and Google items 8104 8105 * WebView.subproj/WebDefaultContextMenuDelegate.m: 8106 (localizedMenuTitleFromAppKit): 8107 new function, gets localized string from AppKit so we can avoid adding localized 8108 strings to WebKit at this late date in Tiger. Returns the non-localized English 8109 string if we can't find the localized string in AppKit. 8110 (-[WebDefaultUIDelegate menuItemWithTag:]): 8111 handle the two new menu items by tag name 8112 (-[WebDefaultUIDelegate contextMenuItemsForElement:]): 8113 add menu items for Search in Google and Search in Spotlight to selected-text menu item 8114 for the noneditable case 8115 (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]): 8116 add menu items for Search in Google and Search in Spotlight to selected-text menu item 8117 for the editable case 8118 8119 * WebView.subproj/WebHTMLView.m: 8120 (-[WebHTMLView _searchWithGoogleFromMenu:]): 8121 implement this menu item action method, using same method name and implementation as NSTextView 8122 (-[WebHTMLView _searchWithSpotlightFromMenu:]): 8123 implement this menu item action method, using same basic implementation as NSTextView 8124 (-[WebHTMLView validateUserInterfaceItem:]): 8125 validate new menu items 8126 8127 * WebView.subproj/WebUIDelegatePrivate.h: 8128 define new tags for new menu items 8129 8130 * English.lproj/StringsNotToBeLocalized.txt: 8131 updated for these changes 8132 81332005-01-24 Darin Adler <darin@apple.com> 8134 8135 * WebView.subproj/WebDataSource.m: (+[WebDataSource _repTypesAllowImageTypeOmission:]): 8136 Do the same check as for view types, so the representation types are consistent. 8137 81382005-01-24 Darin Adler <darin@apple.com> 8139 8140 Reviewed by John. 8141 8142 - fixed <rdar://problem/3791158> REGRESSION (Mail): copyFont: and pasteFont: copy and paste only the NSFont, not other attributes 8143 8144 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _styleFromFontAttributes:]): Added the last 8145 few loose ends here: strikethrough and underline. 8146 8147 - fixed <rdar://problem/3967393> add a user default that lets you turn off WebKit PDF support 8148 8149 * WebView.subproj/WebFrameView.m: (+[WebFrameView _viewTypesAllowImageTypeOmission:]): 8150 Leave the PDF-handling classes out of the dictionary if the secret default is set. 8151 8152 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 8153 81542005-01-20 Darin Adler <darin@apple.com> 8155 8156 Reviewed by Kristin Forster. 8157 8158 - fixed <rdar://problem/3964972> update _initWithCGSEvent:eventRef: call in mouse moved workaround (breaks cursors in Carbon WebKit applications) 8159 8160 * Carbon.subproj/HIWebView.m: (MouseMoved): Instead of munging the event record's window number directly 8161 before calling _initWithCGSEvent, on Tiger we call _eventRelativeToWindow on the event after creating it. 8162 Also added a check so that with Macromedia Contribute's workaround in place we don't do anything at all 8163 to the event. Tested with both Contribute and CarbonWeb. 8164 8165 * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 8166 81672005-01-20 Richard Williamson <rjw@apple.com> 8168 8169 Fixed <rdar://problem/3815672> REGRESSION (Mail): Japanese text cannot be made bold 8170 8171 The AppKit's font substitution API doesn't match font traits! 8172 It only find fonts that contain the appropriate glyphs. This 8173 patch attempts to find the best variation within a family. 8174 8175 Reviewed by Maciej. 8176 8177 * WebCoreSupport.subproj/WebTextRenderer.m: 8178 (-[WebTextRenderer _substituteFontForString:families:]): 8179 8180=== Safari-180 === 8181 81822005-01-20 Ken Kocienda <kocienda@apple.com> 8183 8184 Reviewed by John 8185 8186 Fix for this bug: 8187 8188 <rdar://problem/3786659> REGRESSION (Mail): editable WebViews don't work with "size up" and "size down" NSFontManager changes 8189 8190 * WebView.subproj/WebHTMLView.m: 8191 (-[WebHTMLView _addToStyle:fontA:fontB:]): This is the WebKit side of the fix. Replaced unimplemented code blocks 8192 with FIXME's in them for make bigger and make smaller with real working code. 8193 81942005-01-19 David Hyatt <hyatt@apple.com> 8195 8196 Fix for 3513067, spaces being lost when RTL text is rendered. Make sure not to allow hangers or spaces 8197 in the margin. 8198 8199 Reviewed by john 8200 8201 * WebCoreSupport.subproj/WebTextRenderer.m: 8202 (-[WebTextRenderer _createATSUTextLayoutForRun:style:]): 8203 82042005-01-19 Darin Adler <darin@apple.com> 8205 8206 Reviewed by vicki 8207 8208 - fixed <rdar://problem/3962559> stopAnimationsInView leaks after cvs-base 8209 8210 * WebCoreSupport.subproj/WebImageData.m: (+[WebImageData stopAnimationsInView:]): add a release 8211 82122005-01-19 Chris Blumenberg <cblu@apple.com> 8213 8214 Fixed: <rdar://problem/3961809> plug-in code attempts to load empty URL 8215 8216 Reviewed by john. 8217 8218 * Plugins.subproj/WebNetscapePluginEmbeddedView.m: 8219 (-[WebNetscapePluginEmbeddedView didStart]): don't start load if URL is empty 8220 82212005-01-17 Darin Adler <darin@apple.com> 8222 8223 * DOM.subproj/DOMPrivate.h: Check in generated file. 8224 82252005-01-17 Darin Adler <darin@apple.com> 8226 8227 Reviewed by John and Richard. 8228 8229 - fixed <rdar://problem/3907453> printing a multi-page PDF document from Safari doesn't produce correct output 8230 8231 * WebView.subproj/WebFrameViewPrivate.h: Added. 8232 * WebView.subproj/WebFrameView.m: 8233 (-[WebFrameView canPrintHeadersAndFooters]): Added. Returnes NO for documents that can't print headers or footers, 8234 and delegates to the document view to answer the question. Defaults to NO, since only a view that actively does 8235 the work is compatible with our header and footer code. 8236 (-[WebFrameView printOperationWithPrintInfo:]): Added. Returns an NSPrintOperation set up for printing. The reason 8237 we return this rather than an NSView is that in the PDFView case, the print info is changed around before creating 8238 the NSPrintOperation, and also the PDFKit SPI works this way. 8239 8240 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView canPrintHeadersAndFooters]): Added. Returns YES. 8241 * WebView.subproj/WebImageView.m: (-[WebImageView canPrintHeadersAndFooters]): Ditto. 8242 * WebView.subproj/WebTextView.m: (-[WebTextView canPrintHeadersAndFooters]): Ditto. 8243 8244 * WebView.subproj/WebPDFView.m: 8245 (-[WebPDFView canPrintHeadersAndFooters]): Added. Returns NO. 8246 (-[WebPDFView printOperationWithPrintInfo:]): Added. Calls getPrintOperationForPrintInfo: autoRotate:YES on the PDFView. 8247 8248 * WebKit.pbproj/project.pbxproj: Added WebFrameViewPrivate.h as a new private header. 8249 82502005-01-13 Chris Blumenberg <cblu@apple.com> 8251 8252 Fixed: <rdar://problem/3932107> Safari does not load QT Cocoa plug-in if the WebPluginMIMETypes key is not in the info.plist 8253 8254 Fixing this bug required that we allow WebKit plug-ins (as well as Netscape plug-ins) support BP_CreatePluginMIMETypesPreferences 8255 which allows plug-ins create an auxiliary MIME types file. 8256 8257 Reviewed by adele. 8258 8259 * Plugins.subproj/WebBasePluginPackage.h: 8260 * Plugins.subproj/WebBasePluginPackage.m: 8261 (+[WebBasePluginPackage preferredLocalizationName]): moved from WebNetscapePluginPackage 8262 (-[WebBasePluginPackage pListForPath:createFile:]): ditto 8263 (-[WebBasePluginPackage getPluginInfoFromPLists]): ditto 8264 (-[WebBasePluginPackage isLoaded]): return isLoaded ivar 8265 (-[WebBasePluginPackage load]): if loaded, get BP_CreatePluginMIMETypesPreferences symbol 8266 * Plugins.subproj/WebNetscapePluginPackage.h: 8267 * Plugins.subproj/WebNetscapePluginPackage.m: 8268 (-[WebNetscapePluginPackage load]): call super when done so BP_CreatePluginMIMETypesPreferences can be initialized 8269 * Plugins.subproj/WebPluginPackage.m: 8270 (-[WebPluginPackage initWithPath:]): call getPluginInfoFromPLists 8271 (-[WebPluginPackage load]): call super when done so BP_CreatePluginMIMETypesPreferences can be initialized 8272 82732005-01-13 Richard Williamson <rjw@apple.com> 8274 8275 Fixed <rdar://problem/3952809> WebJavaPlugIn.h comments need method name corrected (webPlugInCallJava) 8276 8277 Reviewed by Maciej. 8278 8279 * Plugins.subproj/WebJavaPlugIn.h: 8280 8281=== Safari-179 === 8282 82832005-01-13 Vicki Murley <vicki@apple.com> 8284 8285 Reviewed by Adele. 8286 8287 - fix <rdar://problem/3946836> Safari about box lists 2004 instead of 2005 8288 8289 * WebKit.pbproj/project.pbxproj: bump "2004" to "2005" 8290 82912005-01-13 Richard Williamson <rjw@apple.com> 8292 8293 Fixed <rdar://problem/3951911> REGRESSION: Animated GIF images with loop counts no longer update 8294 8295 Draw last image after animation loop terminates. (We 8296 were drawing the image at index+1, which doesn't exist!) 8297 8298 Reviewed by Darin. 8299 8300 * WebCoreSupport.subproj/WebImageData.m: 8301 (-[WebImageData _nextFrame:]): 8302 83032005-01-13 Richard Williamson <rjw@apple.com> 8304 8305 Fixed <rdar://problem/3952084> REGRESSION: Links at projectseven.com now draw and update incorrectly during hover 8306 8307 Turn off use of new CGContextStrokeLineSegments API. We should 8308 turn back on when 3952944 is fixed. 8309 8310 Reviewed by Darin. 8311 8312 * WebCoreSupport.subproj/WebTextRenderer.m: 8313 (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]): 8314 83152005-01-13 Chris Blumenberg <cblu@apple.com> 8316 8317 Fixed: <rdar://problem/3937663> repro assertion failure and crash dragging image that has PDF source 8318 8319 Reviewed by adele. 8320 8321 * Misc.subproj/WebNSViewExtras.m: 8322 (-[NSView _web_dragImage:rect:event:pasteboard:source:offset:]): if [WebImageRenderer image] returns nil, fallback to code that uses a file icon as the drag image 8323 * WebCoreSupport.subproj/WebImageRendererFactory.m: 8324 (-[WebImageRendererFactory supportedMIMETypes]): removed code that omits PDF and PostScript from the list since this omission is only needed in WebImageView 8325 * WebView.subproj/WebImageView.m: 8326 (+[WebImageView supportedImageMIMETypes]): added code that omits PDF and PostScript since we don't want WebImageView to render these types 8327 83282005-01-10 Maciej Stachowiak <mjs@apple.com> 8329 8330 Reviewed by Darin. 8331 8332 <rdar://problem/3758033> REGRESSION (Mail): Support attributes in marked text (International input) 8333 8334 * WebCoreSupport.subproj/WebTextRenderer.m: 8335 (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]): Changed to support 8336 underline thickness. Also added a bit of a hack here to move thickness 2 underlines down by 8337 .5 pixels, since the rendering engine can't give a fractional pixel offset. 8338 * WebView.subproj/WebHTMLView.m: 8339 (-[WebHTMLView validAttributesForMarkedText]): Support underline, underline color and marked 8340 clause attributes. Others that NSText supports are unimplemented for now. 8341 (-[WebHTMLView firstRectForCharacterRange:]): Remove needless logging. 8342 (-[WebHTMLView unmarkText]): Updated for new WebCore SPI. 8343 (-[WebHTMLView _extractAttributes:ranges:fromAttributedString:]): New method to pull the attributes 8344 and ranges out of an attributed string. 8345 (-[WebHTMLView setMarkedText:selectedRange:]): Extract attributes and pass to WebCore. 8346 (-[WebHTMLView insertText:]): Add comment noting that we don't really handle attributed strings 8347 here. 8348 83492005-01-12 Darin Adler <darin@apple.com> 8350 8351 Reviewed by Ken. 8352 8353 - fixed <rdar://problem/3848257> WebView will draw more than AppKit asks it to, so views behind won't redraw enough (transparent WebView) 8354 8355 * WebView.subproj/WebHTMLView.m: 8356 (-[WebHTMLView _propagateDirtyRectsToOpaqueAncestors]): As recommended by Troy Stephens, do the 8357 layouts here in this call, since it's before propagating the dirty rects to our ancestors. 8358 This fixes the bug, but we only do it if the WebView is not opaque, because otherwise we can 8359 optimize by only doing layouts you really need, and doing them later on is safe because we 8360 know we don't need to draw any of the views behind us. 8361 (-[WebHTMLView _layoutIfNeeded]): Added. Factored out from the method below. 8362 (-[WebHTMLView _web_layoutIfNeededRecursive]): Added. Like the other "layout if needed" call, 8363 but unconditional. 8364 (-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]): Factored out the guts into the 8365 _layoutIfNeeded method above. Otherwise unchanged. 8366 (-[NSView _web_layoutIfNeededRecursive]): Added. 8367 8368 * WebView.subproj/WebFrame.m: (-[WebFrame _updateDrawsBackground]): Call setDrawsBackground:NO 8369 on the scroll view when changing the frame to no longer be in "draws background" mode. This 8370 is needed because the frame manages the "draws background" mode of the scroll view. It won't 8371 have any effect if you call setDrawsBackground:NO before starting to use a WebView, but without 8372 it calling setDrawsBackground:NO later won't have an immediate effect (easily visible in Safari). 8373 This was hidden before because the HTML view was filling with transparent color, which blew away 8374 the fill that was done by NSScrollView. 8375 8376 - fixed <rdar://problem/3921129> reproducible crash at www.funnychristmas.com in CFSet manipulation in WebImageData 8377 8378 * WebCoreSupport.subproj/WebImageData.m: 8379 (-[WebImageData _imageSourceOptions]): Changed types so we don't need a cast. 8380 (+[WebImageData stopAnimationsInView:]): Instead of building a set of sets, by putting in the sets with addObject, 8381 build a single set using unionSet, and then iterate the objects instead of having to iterate the sets and then the 8382 objects in each set. The old code ended up sharing the sets with the live code, when the whole idea was to gather 8383 all the renderers because the process of stopping modifies the active sets. 8384 83852005-01-12 Richard Williamson <rjw@apple.com> 8386 8387 Fixed <rdar://problem/3926825> Safari ignores GIF loop count 8388 8389 Get loop count from file properties, not image properties. 8390 8391 Reviewed by Ken Kocienda. 8392 8393 * WebCoreSupport.subproj/WebImageData.h: 8394 * WebCoreSupport.subproj/WebImageData.m: 8395 (-[WebImageData _commonTermination]): 8396 (-[WebImageData fileProperties]): 8397 (-[WebImageData _floatProperty:type:at:]): 8398 (-[WebImageData _floatFileProperty:type:]): 8399 (-[WebImageData _repetitionCount]): 8400 84012005-01-11 Chris Blumenberg <cblu@apple.com> 8402 8403 Fixed: <rdar://problem/3934749> assertion failure in WebBaseNetscapePluginView loading movie 8404 8405 Reviewed by john. 8406 8407 * Plugins.subproj/WebBaseNetscapePluginView.m: 8408 (-[WebBaseNetscapePluginView start]): call canStart before asserting about the webView 8409 84102005-01-11 John Sullivan <sullivan@apple.com> 8411 8412 Reviewed by Darin. 8413 8414 - fixed <rdar://problem/3446838> REGRESSION (Mail): text decorations don't print 8415 (e.g. <strike>, underline) 8416 8417 * WebCoreSupport.subproj/WebTextRenderer.m: 8418 (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]): 8419 This bottleneck routine for drawing a line was setting the linewidth to 0 when 8420 the graphics context was not drawing to the screen. Thus, no lines. Now links 8421 are underlined when printing from Safari (as well as Mail). 8422 84232005-01-11 Richard Williamson <rjw@apple.com> 8424 8425 Fixed 3949145. CG has a much faster API for drawing lines. 8426 Switched over to that new API (CGContextStrokeLineSegments). 8427 8428 Reviewed by John Sullivan. 8429 8430 * WebCoreSupport.subproj/WebTextRenderer.m: 8431 (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]): 8432 84332005-01-10 Chris Blumenberg <cblu@apple.com> 8434 8435 Fixed: <rdar://problem/3948862> REGRESSION: missing images when RTFD is pasted into editable WebView 8436 8437 This problem occurred because we were creating image elements before creating corresponding image resources. The fix is to have AppKit call us back to create the resources before it creates the elements. 8438 8439 Reviewed by john. 8440 8441 * WebView.subproj/WebHTMLView.m: 8442 (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): don't deal with subresources since that's now done by the following method 8443 (-[WebHTMLView resourceForData:preferredFilename:]): new handler method called by AppKit 8444 8445=== Safari-178 === 8446 84472005-01-06 David Harrison <harrison@apple.com> 8448 8449 Reviewed by Dave Hyatt 8450 8451 <rdar://problem/3588548> AX: tabbing does not work correctly with the screen reader and a focused link; need AXFocusedUIElement to work. 8452 8453 * WebView.subproj/WebHTMLView.m: 8454 (-[WebHTMLView accessibilityFocusedUIElement]): 8455 Implement this so that AppKit can use it from NSAccessibilityHandleFocusChanged. 8456 84572005-01-05 Chris Blumenberg <cblu@apple.com> 8458 8459 Fixed: <rdar://problem/3936865> REGRESSION: canvas.drawImage no longer scales properly 8460 8461 Reviewed by john. 8462 8463 * WebCoreSupport.subproj/WebImageData.m: use the height of the inRect instead of the fromRect when setting the origin of the context 8464 84652005-01-04 Chris Blumenberg <cblu@apple.com> 8466 8467 Fixed: <rdar://problem/3928329> WebKit should pass nil for "language" to checkSpellingOfString: 8468 8469 Reviewed by kocienda. 8470 8471 * WebView.subproj/WebHTMLView.m: 8472 (-[WebHTMLView _isSelectionMisspelled]): pass nil not @"" for language 8473 84742004-12-21 Maciej Stachowiak <mjs@apple.com> 8475 8476 Reviewed by Darin. 8477 8478 <rdar://problem/3888931> frame naming allows malicious site to bring up a window when you click on a link in another 8479 8480 Implement a security check on name frame visbility. This is the 8481 same rule as mozilla. You can only target frames by name if you 8482 are in the same window, have the same domain as the frame or an 8483 ancestor, or if it's a top level window have the same domain as 8484 the opener. 8485 8486 * WebView.subproj/WebFrame.m: 8487 (-[WebFrame _shouldAllowAccessFrom:]): 8488 (-[WebFrame _descendantFrameNamed:sourceFrame:]): 8489 (-[WebFrame findFrameNamed:]): 8490 * WebView.subproj/WebFramePrivate.h: 8491 * WebView.subproj/WebView.m: 8492 (-[WebView _findFrameInThisWindowNamed:sourceFrame:]): 8493 (-[WebView _findFrameNamed:sourceFrame:]): 8494 * WebView.subproj/WebViewPrivate.h: 8495 8496=== Safari-177 === 8497 8498=== Safari-176 === 8499 85002004-12-20 Richard Williamson <rjw@apple.com> 8501 8502 Add call to new API. ImageIO deprecated some older (although 8503 quite new!) API. This caused us to fail to build on 337 or later. 8504 8505 Developers wanting to build on older versions of Tiger must define 8506 USE_DEPRECATED_IMAGESOURCE_API in WebImageData.m. 8507 8508 Reviewed by Vicki. 8509 8510 * WebCoreSupport.subproj/WebImageData.m: 8511 (-[WebImageData propertiesAtIndex:]): 8512 85132004-12-20 Richard Williamson <rjw@apple.com> 8514 8515 Don't call Tiger SPI on Panther. 8516 8517 Reviewed by Vicki. 8518 8519 * WebCoreSupport.subproj/WebTextRendererFactory.m: 8520 (+[WebTextRendererFactory createSharedFactory]): 8521 85222004-12-20 Richard Williamson <rjw@apple.com> 8523 8524 Fixed <rdar://problem/3884448> WebKit should turn on CG local font cache 8525 8526 Enable mutli-tier font caching. We should see a performance boost with this 8527 change. 8528 8529 Reviewed by Chris. 8530 8531 * WebCoreSupport.subproj/WebTextRendererFactory.m: 8532 (+[WebTextRendererFactory createSharedFactory]): 8533 85342004-12-20 Richard Williamson <rjw@apple.com> 8535 8536 Fix image decoding to separately decode image meta data from actual image bits. I 8537 incorrectly consolidated decode of meta data and image bits resulting in a huge 8538 performance regression. 8539 8540 Double size of WebCore cache on lower end machines. On the PLT run on machines with 8541 256MB of memory, too many images were being evicted, causing a re-decode on the PLT. 8542 Upping the lower limit of the cache size ensure that no images are evicted (this 8543 goes hand-in-hand with the change to the minimum object size from 32K to 40K). 8544 8545 Reviewed by Ken. 8546 8547 * WebCoreSupport.subproj/WebImageData.h: 8548 * WebCoreSupport.subproj/WebImageData.m: 8549 (+[WebImageData initialize]): 8550 (-[WebImageData _commonTermination]): 8551 (-[WebImageData _invalidateImages]): 8552 (-[WebImageData _invalidateImageProperties]): 8553 (-[WebImageData imageAtIndex:]): 8554 (-[WebImageData propertiesAtIndex:]): 8555 (-[WebImageData _cacheImages:allImages:]): 8556 (-[WebImageData decodeData:isComplete:callback:]): 8557 (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]): 8558 * WebView.subproj/WebPreferences.m: 8559 (+[WebPreferences initialize]): 8560 85612004-12-20 Richard Williamson <rjw@apple.com> 8562 8563 Fixed build problem caused by change to ImageIO API. 8564 8565 Reviewed by Adele. 8566 8567 * WebCoreSupport.subproj/WebImageData.m: 8568 85692004-12-19 Darin Adler <darin@apple.com> 8570 8571 Reviewed by Kevin. 8572 8573 - some garbage collection fixes 8574 8575 * Misc.subproj/WebNSObjectExtras.h: (WebCFAutorelease): Replaced the old WebNSRetainCFRelease with this 8576 much-easier-to-understand function cribbed from what David Harrison did in WebCore. 8577 8578 * Misc.subproj/WebKitNSStringExtras.m: (+[NSString _web_encodingForResource:]): Use CFRelease here to 8579 get rid of an unnecessary use of WebNSRetainCFRelease. 8580 * Misc.subproj/WebNSURLExtras.m: 8581 (+[NSURL _web_URLWithData:relativeToURL:]): Use WebCFAutorelease instead of WebNSRetainCFRelease and autorelease. 8582 (-[NSURL _web_URLWithLowercasedScheme]): Ditto. 8583 (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Use WebCFAutorelease here; the old code would not 8584 work correctly under GC. 8585 * Plugins.subproj/WebNetscapePluginPackage.m: (+[WebNetscapePluginPackage preferredLocalizationName]): 8586 Use WebCFAutorelease here; the old code would not work correctly under GC. 8587 85882004-12-18 Chris Blumenberg <cblu@apple.com> 8589 8590 Fixed: <rdar://problem/3766915> PDF content needs search to work 8591 8592 Reviewed by kevin, john. 8593 8594 * WebView.subproj/WebPDFView.m: 8595 (-[WebPDFView searchFor:direction:caseSensitive:wrap:]): implemented 8596 (-[WebPDFView takeFindStringFromSelection:]): new 8597 (-[WebPDFView jumpToSelection:]): new 8598 (-[WebPDFView validateUserInterfaceItem:]): new 8599 86002004-12-17 Richard Williamson <rjw@apple.com> 8601 8602 Make image decoding as lazy as possible for non threaded case; in some cases 8603 can avoid unnecessary decoding work. 8604 8605 Reviewed by Chris. 8606 8607 * WebCoreSupport.subproj/WebImageData.h: 8608 * WebCoreSupport.subproj/WebImageData.m: 8609 (-[WebImageData imageAtIndex:]): 8610 (-[WebImageData propertiesAtIndex:]): 8611 (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]): 8612 86132004-12-16 John Sullivan <sullivan@apple.com> 8614 8615 Reviewed by Chris. 8616 8617 One of the assertions from my previous checkin fired, so 8618 I made this code more robust. 8619 8620 * WebCoreSupport.subproj/WebBridge.m: 8621 (-[WebBridge _preferences]): 8622 new helper method, returns global preferences if webView is nil, 8623 otherwise returns webView's preferences 8624 (-[WebBridge getObjectCacheSize]): 8625 use new helper method, remove now-unnecessary assert 8626 (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]): 8627 ditto 8628 86292004-12-16 John Sullivan <sullivan@apple.com> 8630 8631 Reviewed by Darin. 8632 8633 - fixed <rdar://problem/3913523> Mail needs SPI for adding tooltips to links 8634 - cleaned up some calls to +[WebPreferences standardPreferences] that should 8635 have been using -[WebView preferences] 8636 8637 This adds a (currently SPI-only) new feature that shows the URL of the link 8638 under the mouse in a toolTip. I tested this in Safari, but we're adding this 8639 feature for Mail, and Safari won't use it (unless of course you know the 8640 magic defaults command) 8641 8642 * Plugins.subproj/WebBaseNetscapePluginView.m: 8643 (-[WebBaseNetscapePluginView start]): 8644 use -[WebView preferences] instead of +[WebPreferences standardPreferences] 8645 8646 * WebCoreSupport.subproj/WebBridge.m: 8647 (-[WebBridge getObjectCacheSize]): 8648 ditto 8649 (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]): 8650 ditto 8651 8652 * WebView.subproj/WebBaseResourceHandleDelegate.m: 8653 (-[WebBaseResourceHandleDelegate willCacheResponse:]): 8654 ditto 8655 8656 * WebView.subproj/WebFrame.m: 8657 (-[WebFrame _transitionToCommitted:]): 8658 ditto 8659 (-[WebFrame _loadItem:withLoadType:]): 8660 ditto 8661 8662 * WebView.subproj/WebHTMLViewInternal.h: 8663 private struct now keeps ivar for cached value of showsURLsInToolTips 8664 so it doesn't have look it up in preferences a zillion times 8665 8666 * WebView.subproj/WebHTMLView.m: 8667 (-[WebHTMLView _updateMouseoverWithEvent:]): 8668 if private->showsURLsInToolTips is true, set the toolTip from the URL. 8669 Fall back to showing the title attribute in case some element has a title 8670 attribute but no URL. 8671 (-[WebHTMLView _mayStartDragAtEventLocation:]): 8672 use -[WebView preferences] instead of +[WebPreferences standardPreferences] 8673 (-[WebHTMLView _resetCachedWebPreferences:]): 8674 get a fresh value for private->showsURLsInToolTips 8675 (-[WebHTMLView initWithFrame:]): 8676 call _resetCachedWebPreferences the first time, and listen for WebPreferencesChanged notifications 8677 (-[WebHTMLView _handleStyleKeyEquivalent:]): 8678 use -[WebView preferences] instead of +[WebPreferences standardPreferences] 8679 8680 * WebView.subproj/WebPreferenceKeysPrivate.h: 8681 added WebKitShowsURLsInToolTipsPreferenceKey 8682 8683 * WebView.subproj/WebPreferences.m: 8684 (+[WebPreferences initialize]): 8685 initialize WebKitShowsURLsInToolTipsPreferenceKey to 0 8686 (-[WebPreferences showsURLsInToolTips]): 8687 return WebKitShowsURLsInToolTipsPreferenceKey value 8688 (-[WebPreferences setShowsURLsInToolTips:]): 8689 set WebKitShowsURLsInToolTipsPreferenceKey value 8690 8691 * WebView.subproj/WebPreferencesPrivate.h: 8692 add declarations for showsURLsInToolTips and setter 8693 8694 * WebView.subproj/WebTextView.m: 8695 (-[WebTextView _preferences]): 8696 new helper method that gets preferences from webView if there is a webView, 8697 otherwise gets global preferences 8698 (-[WebTextView setFixedWidthFont]): 8699 use new helper method rather than always using global preferences 8700 (-[WebTextView initWithFrame:]): 8701 observe WebPreferencesChangedNotification instead of unnecessarily general 8702 NSUserDefaultsChangedNotification 8703 87042004-12-14 John Sullivan <sullivan@apple.com> 8705 8706 Reviewed by Ken. 8707 8708 - rest of WebKit fix for <rdar://problem/3790011> undoable operations all say "Undo" 8709 in the menu, no specific action names 8710 8711 I only know of one loose end currently, which I wrote up as <rdar://problem/3920971> Edit menu 8712 says "Undo Change Attributes" when it should say "Undo Set Color", from font panel 8713 8714 * WebView.subproj/WebHTMLView.m: 8715 (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): 8716 use WebUndoActionSetColor when dragging color swatch 8717 (-[WebHTMLView _applyStyleToSelection:withUndoAction:]): 8718 new WebUndoAction parameter, passed across bridge 8719 (-[WebHTMLView _toggleBold]): 8720 use WebUndoActionSetFont 8721 (-[WebHTMLView _toggleItalic]): 8722 use WebUndoActionSetFont 8723 (-[WebHTMLView pasteFont:]): 8724 use WebUndoActionPasteFont 8725 (-[WebHTMLView changeFont:]): 8726 use WebUndoActionSetFont 8727 (-[WebHTMLView changeAttributes:]): 8728 use WebUndoActionChangeAttributes 8729 (-[WebHTMLView _undoActionFromColorPanelWithSelector:]): 8730 new method, returns WebUndoActionSetBackgroundColor or WebUndoActionSetColor 8731 (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]): 8732 now calls _undoActionFromColorPanelWithSelector 8733 (-[WebHTMLView changeColor:]): 8734 use WebUndoActionSetColor 8735 (-[WebHTMLView _alignSelectionUsingCSSValue:withUndoAction:]): 8736 new WebUndoAction parameter, passed through 8737 (-[WebHTMLView alignCenter:]): 8738 use WebUndoActionCenter 8739 (-[WebHTMLView alignJustified:]): 8740 use WebUndoActionJustify 8741 (-[WebHTMLView alignLeft:]): 8742 use WebUndoActionAlignLeft 8743 (-[WebHTMLView alignRight:]): 8744 use WebUndoActionAlignRight 8745 (-[WebHTMLView subscript:]): 8746 use WebUndoActionAlignSubscript 8747 (-[WebHTMLView superscript:]): 8748 use WebUndoActionAlignSuperscript 8749 (-[WebHTMLView unscript:]): 8750 use WebUndoActionAlignUnscript 8751 (-[WebHTMLView underline:]): 8752 use WebUndoActionAlignUnderline 8753 8754 * WebView.subproj/WebView.m: 8755 (-[WebView setTypingStyle:]): 8756 pass WebUndoActionUnspecified through as new parameter since we don't have any more specific info 8757 (-[WebView applyStyle:]): 8758 ditto 8759 87602004-12-14 Richard Williamson <rjw@apple.com> 8761 8762 Helper method to get URL of plugin view. 8763 8764 Reviewed by Chris. 8765 8766 * Misc.subproj/WebNSViewExtras.m: 8767 (-[NSView _webViewURL]): 8768 87692004-12-14 Vicki Murley <vicki@apple.com> 8770 8771 Reviewed by rjw. 8772 8773 <rdar://problem/3855573> Remove reference to "WebScriptMethods" from WebScriptObject.h comments 8774 8775 * Plugins.subproj/WebPlugin.h: changed instances of "WebScriptMethods" to "WebScripting" in this 8776 file as well, as requested in the bug report 8777 87782004-12-13 Maciej Stachowiak <mjs@apple.com> 8779 8780 Reviewed by John. 8781 8782 <rdar://problem/3912488> Mail throws an exception after backspacing "away" inline input 8783 8784 * WebView.subproj/WebHTMLView.m: 8785 (-[WebHTMLView setMarkedText:selectedRange:]): Don't try to set a selection if 8786 we end up with no marked text, since that case fails and is unnecessary. 8787 87882004-12-14 John Sullivan <sullivan@apple.com> 8789 8790 Reviewed by Ken. 8791 8792 - WebKit part of plumbing of fix for <rdar://problem/3790011> undoable operations all say "Undo" in the menu, 8793 no specific action names 8794 8795 * WebCoreSupport.subproj/WebBridge.m: 8796 (-[WebBridge nameForUndoAction:]): 8797 renamed from setUndoActionNamePlaceholder, replaced arbitrary integers with enum values, and 8798 handled new "unspecified" case as a fallback 8799 88002004-12-13 Richard Williamson <rjw@apple.com> 8801 8802 Fixed <rdar://problem/3887767> LiveConnect doesn't propagate Java exceptions back to JavaScript (prevents security suite from running) 8803 8804 Reviewed by John. 8805 8806 * Plugins.subproj/WebJavaPlugIn.h: 8807 88082004-12-13 John Sullivan <sullivan@apple.com> 8809 8810 Reviewed by Maciej. 8811 8812 - fixed <rdar://problem/3744583> Safari can not quit when a webpage has a login sheet 8813 that can't be cancelled. 8814 8815 The proper fix for this would be to change the class of the NSPanel in the nib file. 8816 But since this would require a localization change, I did a run-time hack instead. 8817 I'll file a bug about fixing this when we're out of localization freeze. 8818 8819 * Panels.subproj/WebAuthenticationPanel.m: 8820 (-[WebAuthenticationPanel replacePanelWithSubclassHack]): 8821 new method, creates a new panel that is identical to the original one except that 8822 it's our subclass, and moves all the subviews of the original panel into the new one. 8823 (-[WebAuthenticationPanel loadNib]): 8824 call replacePanelWithSubclassHack 8825 (-[NonBlockingPanel _blocksActionWhenModal:]): 8826 only method of new NSPanel subclass; overrides this SPI to allow the user to quit 8827 when one of these panels/sheets is on-screen 8828 88292004-12-10 Richard Williamson <rjw@apple.com> 8830 8831 Fixed <rdar://problem/3898708> REGRESSION (8A314-8A317): World Clock's short hand not displayed (ImageIO problem with PDF?) 8832 Fixed <rdar://problem/3914012> use CG directly for pdf images not ImageIO 8833 8834 Create a PDF document and draw that instead of using ImageIO to create a rasterized image. 8835 8836 Reviewed by Maciej. 8837 8838 * WebCoreSupport.subproj/WebImageData.h: 8839 * WebCoreSupport.subproj/WebImageData.m: 8840 (-[WebImageData setIsPDF:]): 8841 (-[WebImageData isPDF]): 8842 (-[WebImageData dealloc]): 8843 (-[WebImageData decodeData:isComplete:callback:]): 8844 (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]): 8845 (-[WebImageData size]): 8846 (-[WebImageData animate]): 8847 (-[WebImageData _createPDFWithData:]): 8848 (-[WebImageData _PDFDocumentRef]): 8849 (-[WebImageData _PDFDrawInContext:]): 8850 (-[WebImageData _PDFDrawFromRect:toRect:operation:alpha:flipped:context:]): 8851 * WebCoreSupport.subproj/WebImageRenderer.h: 8852 * WebCoreSupport.subproj/WebImageRenderer.m: 8853 (-[WebImageRenderer size]): 8854 (-[WebImageRenderer incrementalLoadWithBytes:length:complete:callback:]): 8855 (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]): 8856 (_createImageRef): 8857 88582004-12-10 John Sullivan <sullivan@apple.com> 8859 8860 Reviewed by Ken. 8861 8862 - fixed <rdar://problem/3855127> Error while printing w/o sheet, then window is left in a bad state, 8863 if there's no default printer set 8864 8865 * WebView.subproj/WebHTMLView.m: 8866 (-[WebHTMLView beginDocument]): 8867 Our implementation of knowsPageRange puts the WebHTMLView into a special "printing mode". We must 8868 exit the "printing mode" to return to normal behavior. This is normally done in endDocument. 8869 However, it turns out that if there's an exception in [super beginDocument], then endDocument 8870 will not be called (lame-o AppKit API). So, we handle that case by catching the exception and 8871 exiting the "printing mode" in beginDocument when it occurs. 8872 88732004-12-09 Richard Williamson <rjw@apple.com> 8874 8875 Fixed <rdar://problem/3905789> Burn Disc image vibrates rapidly 8876 8877 Restrict our support for animated images to GIF. We used to 8878 use presence of more than one image in a resource to determine 8879 if an image should be animated. This caused us to animate icns! 8880 If we ever support any other animated image formats we'll have 8881 to extend. 8882 8883 Reviewed by Hyatt. 8884 8885 * WebCoreSupport.subproj/WebImageData.h: 8886 * WebCoreSupport.subproj/WebImageData.m: 8887 (-[WebImageData shouldAnimate]): 8888 * WebCoreSupport.subproj/WebImageRenderer.m: 8889 (-[WebImageRenderer _startOrContinueAnimationIfNecessary]): 8890 88912004-12-09 Richard Williamson <rjw@apple.com> 8892 8893 Make WebPluginDatabase.h private (Dashboard needs SPI). 8894 8895 * WebKit.pbproj/project.pbxproj: 8896 8897=== Safari-175 === 8898 88992004-12-09 Chris Blumenberg <cblu@apple.com> 8900 8901 Workaround for this exception being raised during download: 8902 [WebDownload connection:willStopBufferingData:]: selector not recognized 8903 8904 Reviewed by john. 8905 8906 * Misc.subproj/WebDownload.m: 8907 (-[WebDownload connection:willStopBufferingData:]): implement this method so no exception is raised. It is a bug in Foundation that this method is being called, but it's too late to fix Foundation since it has already been submitted this week. This workaround will prevent any problems from affecting users. 8908 89092004-12-08 Richard Williamson <rjw@apple.com> 8910 8911 Fixed <rdar://problem/3911719> REGRESSION: Images no longer scale vertically 8912 Account for scaling correctly when taking into account progressively 8913 loaded images. 8914 8915 Also added implementation of repetition count for animated GIF images. 8916 Also replaced strings with new constants from CFImageProperties.h 8917 8918 Also fixed possible problem with -(NSSize)size implementation, 8919 relevant to Panther only. 8920 8921 Reviewed by Chris. 8922 8923 * WebCoreSupport.subproj/WebImageData.m: 8924 (-[WebImageData _floatProperty:type:at:]): 8925 (-[WebImageData _frameDurationAt:]): 8926 (-[WebImageData _repetitionCount]): 8927 * WebCoreSupport.subproj/WebImageRenderer.m: 8928 (-[WebImageRenderer size]): 8929 89302004-12-08 Chris Blumenberg <cblu@apple.com> 8931 8932 Removed NPN wrappers since these no longer need to be defined to make the QT plug-in work 8933 since 3828925 has been fixed. 8934 8935 Reviewed by john. 8936 8937 * Plugins.subproj/WebNetscapePluginPackage.m: 8938 (-[WebNetscapePluginPackage load]): use under-bar symbols since non-under-bar wrappers have been removed 8939 * Plugins.subproj/npapi.m: removed NPN wrappers 8940 * WebKit.exp: removed symbols 8941 89422004-12-08 Ken Kocienda <kocienda@apple.com> 8943 8944 Reviewed by Darin 8945 8946 * WebView.subproj/WebHTMLView.m: 8947 (-[WebHTMLView drawRect:]): Work around for this bug: 8948 <rdar://problem/3908282> REGRESSION (Mail): No drag image dragging selected text in Blot and Mail 8949 The reason for the workaround is that this method is called explicitly from the code 8950 to generate a drag image, and at that time, getRectsBeingDrawn:count: will return a zero count. 8951 This code change uses the passed-in rect when the count is zero. 8952 89532004-12-07 Administrator <cblu@apple.com> 8954 8955 Support for fix for: 8956 <rdar://problem/3734309> Safari doesn't open folders in title bar menu with non-Roman names using Cmd+click 8957 8958 Reviewed by john. 8959 8960 * Misc.subproj/WebNSURLExtras.h: 8961 * Misc.subproj/WebNSURLExtras.m: 8962 (+[NSURL _web_URLWithUserTypedString:relativeToURL:]): renamed to take relativeToURL parameter 8963 (+[NSURL _web_URLWithUserTypedString:]): call _web_URLWithUserTypedString:relativeToURL: with nil for URL 8964 89652004-12-07 Richard Williamson <rjw@apple.com> 8966 8967 Fixed <rdar://problem/3905564> REGRESSION (Tiger); in History menu, pixel size appears but is wrong for standalone images in Safari. 8968 8969 Reviewed by Chris. 8970 8971 * WebCoreSupport.subproj/WebImageRenderer.m: 8972 (-[WebImageRenderer size]): 8973 89742004-12-07 Richard Williamson <rjw@apple.com> 8975 8976 Support threaded image decoding on machines w/ >= 2 CPUs. 8977 8978 Reviewed by Maciej and Chris. 8979 8980 * Misc.subproj/WebKitSystemBits.h: 8981 * Misc.subproj/WebKitSystemBits.m: 8982 (WebSystemMainMemory): 8983 (WebNumberOfCPUs): 8984 * WebCoreSupport.subproj/WebImageData.h: 8985 * WebCoreSupport.subproj/WebImageData.m: 8986 (+[WebImageData initialize]): 8987 (-[WebImageData init]): 8988 (-[WebImageData _commonTermination]): 8989 (-[WebImageData dealloc]): 8990 (-[WebImageData _invalidateImages]): 8991 (-[WebImageData _imageSourceOptions]): 8992 (-[WebImageData imageAtIndex:]): 8993 (-[WebImageData propertiesAtIndex:]): 8994 (-[WebImageData _createImages]): 8995 (-[WebImageData decodeData:isComplete:callback:]): 8996 (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]): 8997 (drawPattern): 8998 (-[WebImageData tileInRect:fromPoint:context:]): 8999 (-[WebImageData isNull]): 9000 (-[WebImageData size]): 9001 (-[WebImageData _frameDurationAt:]): 9002 (-[WebImageData _frameDuration]): 9003 (+[WebImageData stopAnimationsInView:]): 9004 (-[WebImageData addAnimatingRenderer:inView:]): 9005 (-[WebImageData removeAnimatingRenderer:]): 9006 * WebCoreSupport.subproj/WebImageDecodeItem.h: Added. 9007 * WebCoreSupport.subproj/WebImageDecodeItem.m: Added. 9008 (+[WebImageDecodeItem decodeItemWithImage:data:isComplete:callback:]): 9009 (-[WebImageDecodeItem initWithImage:data:isComplete:callback:]): 9010 (-[WebImageDecodeItem finalize]): 9011 (-[WebImageDecodeItem dealloc]): 9012 * WebCoreSupport.subproj/WebImageDecoder.h: Added. 9013 * WebCoreSupport.subproj/WebImageDecoder.m: Added. 9014 (decoderNotifications): 9015 (+[WebImageDecoder initialize]): 9016 (+[WebImageDecoder notifyMainThread]): 9017 (+[WebImageDecoder sharedDecoder]): 9018 (+[WebImageDecoder performDecodeWithImage:data:isComplete:callback:]): 9019 (+[WebImageDecoder imageDecodesPending]): 9020 (+[WebImageDecoder decodeComplete:status:]): 9021 (-[WebImageDecoder init]): 9022 (-[WebImageDecoder dealloc]): 9023 (-[WebImageDecoder finalize]): 9024 (-[WebImageDecoder removeItem]): 9025 (-[WebImageDecoder addItem:]): 9026 (-[WebImageDecoder decodeItem:]): 9027 (decoderThread): 9028 (startDecoderThread): 9029 * WebCoreSupport.subproj/WebImageRenderer.m: 9030 (-[WebImageRenderer initWithData:MIMEType:]): 9031 (-[WebImageRenderer initWithContentsOfFile:]): 9032 (-[WebImageRenderer incrementalLoadWithBytes:length:complete:callback:]): 9033 (-[WebInternalImage incrementalLoadWithBytes:length:complete:callback:]): 9034 * WebKit.pbproj/project.pbxproj: 9035 * WebView.subproj/WebImageRepresentation.m: 9036 (-[WebImageRepresentation receivedData:withDataSource:]): 9037 (-[WebImageRepresentation receivedError:withDataSource:]): 9038 (-[WebImageRepresentation finishedLoadingWithDataSource:]): 9039 90402004-12-07 Chris Blumenberg <cblu@apple.com> 9041 9042 Fix for performance regression. 9043 9044 Reviewed by kevin. 9045 9046 * WebCoreSupport.subproj/WebBridge.m: 9047 (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): construct the WebResource without copying the data 9048 90492004-12-07 Chris Blumenberg <cblu@apple.com> 9050 9051 Fixed: <rdar://problem/3909243> REGRESSION: large standalone images stop loading part way through 9052 9053 Reviewed by kevin. 9054 9055 * WebView.subproj/WebBaseResourceHandleDelegate.h: 9056 * WebView.subproj/WebMainResourceClient.m: 9057 (-[WebMainResourceClient addData:]): call super so it buffers the data 9058 90592004-12-06 Richard Williamson <rjw@apple.com> 9060 9061 Use the AppKit's font rendering mode. This fixes 3905347, but we still need to track down 9062 and resolve why metrics have changed for Courier. This may be caused by changes in 9063 AppKit for 3902394. 9064 9065 Reviewed by John. 9066 9067 * WebCoreSupport.subproj/WebTextRenderer.m: 9068 (_AppkitGetCGRenderingMode): 9069 (getUncachedWidth): 9070 (_drawGlyphs): 9071 90722004-12-06 Chris Blumenberg <cblu@apple.com> 9073 9074 Forgot to commit copied header. 9075 9076 * DOM.subproj/DOMPrivate.h: 9077 90782004-12-06 Chris Blumenberg <cblu@apple.com> 9079 9080 Fixed: <rdar://problem/3907381> NSURLConnection and WebKit buffer 2 copies of incoming data 9081 9082 Reviewed by darin. 9083 9084 * WebView.subproj/WebBaseResourceHandleDelegate.h: 9085 * WebView.subproj/WebBaseResourceHandleDelegate.m: 9086 (+[WebBaseResourceHandleDelegate initialize]): cache check to see if Foundation supports access to its buffered data 9087 (-[WebBaseResourceHandleDelegate addData:]): don't buffer data if Foundation is buffering it for us 9088 (-[WebBaseResourceHandleDelegate saveResource]): when creating a WebResource, pass NO for copyData since we know it won't be mutated 9089 (-[WebBaseResourceHandleDelegate resourceData]): return the buffered data from the connection if it supports it 9090 (-[WebBaseResourceHandleDelegate willStopBufferingData:]): make a mutable copy of the data from NSURLConnection so we can continue buffering 9091 (-[WebBaseResourceHandleDelegate willCacheResponse:]): removed optimization that used the cached response data to save the resource since that is obsolete by this change 9092 (-[WebBaseResourceHandleDelegate connection:willStopBufferingData:]): new callback from NSURLConnection, informs us that NSURLConnection has given up buffering 9093 * WebView.subproj/WebDataSource.m: 9094 (-[WebDataSource _receivedData:]): removed buffering code since that's done by NSURLConnection and the main client 9095 (-[WebDataSource _setData:]): removed unnecessary cast since the resourceData ivar is now an NSData instead of NSMutableData 9096 (-[WebDataSource data]): return resourceData ivar, else return the resourceData from the main client 9097 * WebView.subproj/WebDataSourcePrivate.h: 9098 * WebView.subproj/WebMainResourceClient.m: 9099 (-[WebMainResourceClient releaseResources]): store resourceData on the data source so it can continue to have data after the main client has gone away 9100 (-[WebMainResourceClient connection:didReceiveData:lengthReceived:]):don't call [dataSource data] just to get the length of data received since [dataSource data] can now cause data to be copied 9101 (-[WebMainResourceClient connectionDidFinishLoading:]): ditto 9102 * WebView.subproj/WebResource.m: 9103 (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): call following method with YES for copyData 9104 (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:copyData:]): new initializer, allows caller to choose whether or not the data is copied 9105 * WebView.subproj/WebResourcePrivate.h: 9106 91072004-12-06 Richard Williamson <rjw@apple.com> 9108 9109 Fixed <rdar://problem/3903749> REGRESSION (8A321): WebKit gets incorrect glyph metrics due to change in how AppKit uses CGFont 9110 9111 Use CGFontRef direction when both getting font metrics and drawing 9112 glyphs, instead on depending on [NSFont set]. 9113 9114 Reviewed by John. 9115 9116 * WebCoreSupport.subproj/WebTextRenderer.m: 9117 (getUncachedWidth): 9118 (_drawGlyphs): 9119 91202004-12-06 Ken Kocienda <kocienda@apple.com> 9121 9122 Reviewed by Harrison 9123 9124 Fix for this bug: 9125 9126 <rdar://problem/3906930> Hitting return key in editable content inserts br elements instead of blocks 9127 9128 * WebView.subproj/WebHTMLView.m: 9129 (-[WebHTMLView insertNewline:]): One-line change to call insert-block rather than insert-br method 9130 on bridge. 9131 91322004-12-04 Darin Adler <darin@apple.com> 9133 9134 Reviewed by John. 9135 9136 - fixed <rdar://problem/3846079> assertion failure in WebHTMLView(WebPrivate) removeTrackingRect at boots.com 9137 - fixed <rdar://problem/3857737> REGRESSION (165-166): clicking in a text field that's scrolled to the right causes it to scroll all the way left 9138 - fixed <rdar://problem/3861952> REGRESSION (165-166): selection is cleared when you start to scroll a frame 9139 9140 * WebView.subproj/WebHTMLViewInternal.h: Added handlingMouseDown flag. 9141 * WebView.subproj/WebHTMLView.m: 9142 (-[WebHTMLView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]): Allow passing in a 9143 tracking number of 0, which means no existing tracking number. 9144 (-[WebHTMLView _addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]): Ditto. 9145 (-[WebHTMLView removeTrackingRect:]): Allow removing a tracking number of 0, which is a no-op. 9146 (-[WebHTMLView _removeTrackingRects:count:]): Ditto. 9147 (-[WebHTMLView acceptsFirstResponder]): Changed check to use handlingMouseDown flag instead of mouseDownEvent 9148 field since that field is set up too early in the mouse down event handling process. 9149 (-[WebHTMLView mouseDown:]): Added code to set handlingMouseDown flag. 9150 9151 - fixed part of <rdar://problem/3829808> Safari crashes when adding a DOM node that was removed from an XMLHTTP request result 9152 9153 * WebCoreSupport.subproj/WebBridge.m: 9154 (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): 9155 Changed code around so that it won't try to create a WebResource when the load fails. 9156 9157 - moved next/previous links into private structure with the rest of WebFrame fields 9158 (We have a rule against putting new fields into obejcts that are part of our public API.) 9159 9160 * WebView.subproj/WebFrame.h: Remove _nextSibling and _previousSibling. 9161 * WebView.subproj/WebFramePrivate.h: Added nextSibling and previousSibling fields to private class. 9162 * WebView.subproj/WebFrame.m: Got rid of some tabs in this file. 9163 (-[WebFrame _addChild:]): Changed code to use fields inside _private. 9164 (-[WebFrame _removeChild:]): Ditto. 9165 (-[WebFrame _nextFrameWithWrap:]): Ditto. 9166 (-[WebFrame _previousFrameWithWrap:]): Ditto. 9167 91682004-12-04 Chris Blumenberg <cblu@apple.com> 9169 9170 New fixes for: 9171 <rdar://problem/3685766> WebDataSource is missing subresources when they use cached WebCore data 9172 <rdar://problem/3722434> REGRESSION?: Assertion failure trying to drag image in iframe (itapema.sc.gov.br) 9173 <rdar://problem/3903173> REGRESSION (172-TOT): assertion failure and crash in slotAllData logging into hotmail account 9174 <rdar://problem/3902749> REGRESSION (Tiger): missing image symbol does not appear 9175 9176 Reviewed by darin, rjw, kocienda. 9177 9178 * WebCoreSupport.subproj/WebBridge.m: 9179 (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): 9180 (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): 9181 * WebCoreSupport.subproj/WebSubresourceClient.m: 9182 (-[WebSubresourceClient didFinishLoading]): 9183 * WebView.subproj/WebFrame.m: 9184 (-[WebFrame _opened]): 9185 (-[WebFrame _internalLoadDelegate]): 9186 (-[WebFrame _sendResourceLoadDelegateMessagesForURL:response:length:]): 9187 * WebView.subproj/WebFrameInternal.h: 9188 91892004-12-04 Darin Adler <darin@apple.com> 9190 9191 Reviewed by Maciej. 9192 9193 - fixed remaining bit of <rdar://problem/3814237> REGRESSION (Mail): Copy/paste style does not set color in Mail compose window 9194 9195 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _styleFromFontAttributes:]): When translating from 9196 an attribute dictionary to a CSS declaration, treat missing values according to the defaults defined 9197 in <AppKit/NSAttributedString.h>. Before the code was treating them as "no change", which is incorrect. 9198 9199 * English.lproj/StringsNotToBeLocalized.txt: Add a string from the above change. 9200 9201=== Safari-173 === 9202 92032004-12-03 Ken Kocienda <kocienda@apple.com> 9204 9205 Reviewed by me 9206 9207 Roll out some recent changes by Chris that caused a performance regression. 9208 Fix is in hand, but it is a little risky this close to a submission. So, 9209 we have decided to roll back the change with the regression and roll in 9210 the new code after we submit. 9211 9212 * WebCoreSupport.subproj/WebBridge.m: 9213 (-[WebBridge objectLoadedFromCacheWithURL:response:size:]): 9214 (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): 9215 * WebCoreSupport.subproj/WebSubresourceClient.m: 9216 (-[WebSubresourceClient didFinishLoading]): 9217 * WebView.subproj/WebFrame.m: 9218 (-[WebFrame _opened]): 9219 (-[WebFrame _internalLoadDelegate]): 9220 * WebView.subproj/WebFrameInternal.h: 9221 92222004-12-02 Richard Williamson <rjw@apple.com> 9223 9224 Fixed <rdar://problem/3841332> REGRESSION (125.9-167u): repro crash in -[KWQPageState invalidate] involving .Mac images 9225 9226 Ensure that the document is cleared when leaving a non-HTML page. This ensures that 9227 the b/f cache won't incorrectly trash the previous state when restoring. 9228 9229 Reviewed by John. 9230 9231 * WebView.subproj/WebFrame.m: 9232 (-[WebFrame _setState:]): 9233 92342004-12-02 Ken Kocienda <kocienda@apple.com> 9235 9236 Reviewed by Richard 9237 9238 <rdar://problem/3748323> Problem with -[WebView editableDOMRangeForPoint:] (-isFlipped not taken into account?) 9239 <rdar://problem/3852590> REGRESSION (Mail): Dropped content appears in wrong place if Mail message is scrolled down 9240 9241 When implementing drag and drop, moveDragCaretToPoint: and editableDOMRangeForPoint: are used in 9242 concert to track the mouse and determine a drop location, respectively. However, moveDragCaretToPoint: 9243 did a conversion of the passed-in point to the document view's coordinate space, whereas 9244 editableDOMRangeForPoint: did not. Now it does. 9245 9246 Note that I will need to coordinate with Grant to have him roll out some code in Mail that 9247 attempts to work around this problem (unsuccessfully), and actually manages to block the 9248 real fix (which needs to be in WebKit). 9249 9250 * WebView.subproj/WebView.m: 9251 (-[WebView editableDOMRangeForPoint:]): Convert the passed-in point to the document view's coordinate space. 9252 92532004-12-02 Richard Williamson <rjw@apple.com> 9254 9255 Fixed <rdar://problem/3895810> FATAL ERROR: <WebTextRenderer: 0x9328a20> unable to initialize with font "Times-Roman 16.00 pt. S .... 9256 9257 We have a hack to replace Times with Times New Roman if we fail 9258 to setup Times. If we then fail to setup Times New Roman we 9259 don't attempt to further fallback to the system font. Added 9260 that additional fallback. 9261 9262 Reviewed by Ken. 9263 9264 * WebCoreSupport.subproj/WebTextRenderer.m: 9265 (+[WebTextRenderer webFallbackFontFamily]): 9266 (-[WebTextRenderer initWithFont:usingPrinterFont:]): 9267 92682004-12-02 Richard Williamson <rjw@apple.com> 9269 9270 Fixed build problem on Tiger8A821. Private macro and function 9271 we were using have been deprecated, 9272 9273 Reviewed by Vicki. 9274 9275 * WebCoreSupport.subproj/WebTextRenderer.m: 9276 (-[WebTextRenderer initWithFont:usingPrinterFont:]): 9277 92782004-12-01 Chris Blumenberg <cblu@apple.com> 9279 9280 Fixed: <rdar://problem/3879870> Flash Player unable to stop data stream from continuing to download by returning -1 from NPP_Write 9281 Also improved and cleaned-up the plug-in stream termination code. 9282 9283 Reviewed by john. 9284 9285 * Plugins.subproj/WebBaseNetscapePluginStream.h: 9286 * Plugins.subproj/WebBaseNetscapePluginStream.m: 9287 (+[WebBaseNetscapePluginStream reasonForError:]): return NPRES_DONE for a nil error 9288 (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]): new, factored out from other methods 9289 (-[WebBaseNetscapePluginStream errorForReason:]): new 9290 (-[WebBaseNetscapePluginStream dealloc]): release MIME type 9291 (-[WebBaseNetscapePluginStream setMIMEType:]): new 9292 (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]): call setMIMEType so we can use it in _pluginCancelledConnectionError, call renamed methods 9293 (-[WebBaseNetscapePluginStream _destroyStream]): prepended underscore, replaced some early returns with asserts as the callers are now smarter 9294 (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]): prepended underscore, only call _destroyStream if there is an error or if the load is complete and there is no more data to be streamed 9295 (-[WebBaseNetscapePluginStream cancelLoadWithError:]): new, overridden by subclasses to cancel the actual NSURLConnection 9296 (-[WebBaseNetscapePluginStream destroyStreamWithError:]): new, calls _destroyStreamWithReason 9297 (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): call renamed methods 9298 (-[WebBaseNetscapePluginStream _deliverData]): prepended underscore, call cancelLoadAndDestroyStreamWithError if NPP_Write returns a negative number 9299 * Plugins.subproj/WebBaseNetscapePluginView.m: 9300 (-[WebBaseNetscapePluginView destroyStream:reason:]): call cancelLoadAndDestroyStreamWithError 9301 * Plugins.subproj/WebNetscapePluginRepresentation.m: 9302 (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): call destroyStreamWithError 9303 (-[WebNetscapePluginRepresentation cancelLoadWithError:]): new, override method, tell the data source to stop loading 9304 * Plugins.subproj/WebNetscapePluginStream.m: 9305 (-[WebNetscapePluginStream cancelLoadWithError:]): new, override method, tell the loader to stop 9306 (-[WebNetscapePluginStream stop]): call cancelLoadAndDestroyStreamWithError 9307 (-[WebNetscapePluginConnectionDelegate isDone]): new 9308 (-[WebNetscapePluginConnectionDelegate didReceiveResponse:]): call cancelLoadAndDestroyStreamWithError 9309 (-[WebNetscapePluginConnectionDelegate didFailWithError:]): call destroyStreamWithError 9310 93112004-12-01 Kevin Decker <kdecker@apple.com> 9312 9313 Reviewed by Harrison. 9314 9315 Fixed: <rdar://problem/3228878> potential performance problem in finding in large framesets 9316 9317 Got rid of O(N^2) conditions in _nextSibling and _previousSibling of where we were looking up self in the parent array of frames. 9318 9319 * WebView.subproj/WebFrame.h: Added two new pointers, one for the previous kid and one for the next kid 9320 * WebView.subproj/WebFrame.m: 9321 (-[WebFrame _addChild:]): Updates the previous frame and the next frame after this child 9322 (-[WebFrame _removeChild:]): ditto 9323 (-[WebFrame _nextSibling]): just return the pointer now 9324 (-[WebFrame _previousSibling]): ditto 9325 93262004-11-30 Chris Blumenberg <cblu@apple.com> 9327 9328 Fixed: 9329 <rdar://problem/3685766> WebDataSource is missing subresources when they use cached WebCore data 9330 <rdar://problem/3722434> REGRESSION?: Assertion failure trying to drag image in iframe (itapema.sc.gov.br) 9331 9332 Reviewed by darin. 9333 9334 * WebCoreSupport.subproj/WebBridge.m: 9335 (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): renamed to pass all data for the resource, moved delegate code to new method 9336 (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): call renamed method 9337 * WebCoreSupport.subproj/WebSubresourceClient.m: 9338 (-[WebSubresourceClient didFinishLoading]): call renamed method 9339 * WebView.subproj/WebFrame.m: 9340 (-[WebFrame _opened]): call _sendResourceLoadDelegateMessagesForURL:response:length:, not objectLoadedFromCacheWithURL:response:data: 9341 (-[WebFrame _internalLoadDelegate]): 9342 (-[WebFrame _sendResourceLoadDelegateMessagesForURL:response:length:]): moved from objectLoadedFromCacheWithURL:response:data: 9343 * WebView.subproj/WebFrameInternal.h: 9344 93452004-11-29 Darin Adler <darin@apple.com> 9346 9347 Reviewed by John. 9348 9349 - worked around bug in Panther where NSScroller calls _destinationFloatValueForScroller: on superview 9350 without first checking if it's implemented 9351 9352 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _destinationFloatValueForScroller:]): 9353 Implemented. Calls floatValue on the scroller. 9354 9355 * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 9356 93572004-11-23 Chris Blumenberg <cblu@apple.com> 9358 9359 Fixed: <rdar://problem/3890944> disable icon database for Dashboard 9360 9361 Reviewed by kevin. 9362 9363 * Misc.subproj/WebIconDatabase.h: 9364 * Misc.subproj/WebIconDatabase.m: 9365 (-[WebIconDatabase init]): don't create dictionaries if disabled 9366 (-[WebIconDatabase iconForURL:withSize:cache:]): return default icon if disabled 9367 (-[WebIconDatabase iconURLForURL:]): return nil if disabled 9368 (-[WebIconDatabase retainIconForURL:]): return if disabled 9369 (-[WebIconDatabase releaseIconForURL:]): ditto 9370 (-[WebIconDatabase delayDatabaseCleanup]): ditto 9371 (-[WebIconDatabase allowDatabaseCleanup]): ditto 9372 (-[WebIconDatabase _isEnabled]): new 9373 (-[WebIconDatabase _setIcon:forIconURL:]): assert if called when disabled, moved to own category implementation 9374 (-[WebIconDatabase _setHaveNoIconForIconURL:]): ditto 9375 (-[WebIconDatabase _setIconURL:forURL:]): ditto 9376 (-[WebIconDatabase _createFileDatabase]): tweak 9377 (-[WebIconDatabase _applicationWillTerminate:]): moved out of public code 9378 * Misc.subproj/WebIconDatabasePrivate.h: 9379 * Misc.subproj/WebIconLoader.m: 9380 * WebView.subproj/WebDataSource.m: 9381 (-[WebDataSource _updateIconDatabaseWithURL:]): assert if called when icon DB is disabled 9382 (-[WebDataSource _loadIcon]): don't load icon if icon DB is disabled 9383 93842004-11-22 David Hyatt <hyatt@apple.com> 9385 9386 Make sure the WebCore cache grows at 512mb and at 1024mb exactly. 9387 9388 Reviewed by mjs 9389 9390 * WebCoreSupport.subproj/WebBridge.m: 9391 (-[WebBridge getObjectCacheSize]): 9392 93932004-11-22 Richard Williamson <rjw@apple.com> 9394 9395 Fixed <rdar://problem/3891737> WebPreferences do not work if they are set before set on the WebView 9396 9397 John found this problem and suggested the fix. 9398 9399 Reviewed by John Louch. 9400 9401 * WebView.subproj/WebView.m: 9402 (-[WebView setPreferences:]): 9403 94042004-11-22 Ken Kocienda <kocienda@apple.com> 9405 9406 Reviewed by Harrison 9407 9408 * WebCoreSupport.subproj/WebBridge.m: 9409 (-[WebBridge canPaste]): Call WebView _canPaste. 9410 * WebView.subproj/WebView.m: 9411 (-[WebView _canPaste]): Try to forward to document view's implementation. Only WebHTMLView 9412 answers right now. Returns NO otherwise. 9413 * WebView.subproj/WebViewInternal.h: Add _canPaste method to WebView. 9414 94152004-11-22 Maciej Stachowiak <mjs@apple.com> 9416 9417 Back out the window closing fix, it seems to be causing crashes. 9418 9419 * WebView.subproj/WebFrame.m: 9420 (-[WebFrame _detachFromParent]): 9421 94222004-11-20 Maciej Stachowiak <mjs@apple.com> 9423 9424 Reviewed by John. 9425 9426 <rdar://problem/3710101> _web_userVisibleString makes URL autocomplete roughly 2x slower 9427 9428 * Misc.subproj/WebNSURLExtras.h: 9429 * Misc.subproj/WebNSURLExtras.m: 9430 (-[NSString _web_isUserVisibleURL]): New SPI to check if a URL 9431 string is already in user-visible form (i.e. converting it to an 9432 NSURL and then back via _web_userVisibleString would not change 9433 anything). 9434 94352004-11-19 Maciej Stachowiak <mjs@apple.com> 9436 9437 Reviewed by John. 9438 9439 <rdar://problem/3190977> closing window with many tabs in it can be quite slow 9440 9441 * WebView.subproj/WebFrame.m: 9442 (-[WebFrame _detachFromParent]): autorelease bridge instead of releasing it, 9443 to make window and tab closing more responsive - this way the deallocation happens 9444 after the windoow or tab appears to close. 9445 9446=== Safari-172 === 9447 94482004-11-19 Chris Blumenberg <cblu@apple.com> 9449 9450 Fixed: <rdar://problem/3880387> REGRESSION: www.shockplay.com site gives "Unexpected server response" 9451 9452 Reviewed by mjs. 9453 9454 * Plugins.subproj/WebBaseNetscapePluginView.m: 9455 (-[NSData _web_locationAfterFirstBlankLine]): support both formats ("\r\n\n" and "\r\n\r\n") for separating header data from body data because Shockwave still sends the prior format 9456 94572004-11-19 Ken Kocienda <kocienda@apple.com> 9458 9459 Reviewed by Harrison 9460 9461 Fix for this bug: 9462 9463 <rdar://problem/3655241> setTypingStyle: does not set the real typing style, and typingStyle does not return it 9464 9465 * WebCoreSupport.subproj/WebBridge.m: 9466 (-[WebBridge respondToChangedContents]): No longer call through to WebKit to set the typing style. The call 9467 was part of the misguided use of the setTypingStyle: and typingStyle as a cache of what was stored on 9468 the WebCore side. 9469 (-[WebBridge respondToChangedSelection]): Ditto. 9470 * WebView.subproj/WebView.m: 9471 (-[WebViewPrivate dealloc]): Object no longer has typingStyle ivar. 9472 (-[WebView setTypingStyle:]): Call over the bridge to set typing style. 9473 (-[WebView typingStyle]): Call over the bridge to retrieve typing style. 9474 * WebView.subproj/WebViewInternal.h: Object no longer has typingStyle ivar. 9475 94762004-11-18 John Sullivan <sullivan@apple.com> 9477 9478 Reviewed by Darin. 9479 9480 - fixed <rdar://problem/3886042> should save history file as binary XML so serialization, 9481 parsing, reading and writing is faster 9482 9483 * History.subproj/WebHistory.m: 9484 (-[WebHistoryPrivate _saveHistoryGuts:URL:error:]): 9485 convert dictionary to binary data before saving 9486 94872004-11-18 Chris Blumenberg <cblu@apple.com> 9488 9489 * WebView.subproj/WebHTMLRepresentation.m: 9490 (-[WebHTMLRepresentation currentForm]): removed stray ";" 9491 94922004-11-18 Chris Blumenberg <cblu@apple.com> 9493 9494 Fixed development build failure. 9495 9496 * Misc.subproj/WebIconDatabase.m: 9497 (+[WebIconDatabase sharedIconDatabase]): call LOG not Log 9498 94992004-11-18 Chris Blumenberg <cblu@apple.com> 9500 9501 <rdar://problem/3885708> save memory in icon DB by not using NSSets when holding 1 object 9502 9503 Reviewed by sullivan. 9504 9505 * Misc.subproj/WebIconDatabase.m: 9506 (+[WebIconDatabase sharedIconDatabase]): added timing code 9507 (-[WebIconDatabase _clearDictionaries]): new 9508 (-[WebIconDatabase _loadIconDictionaries]): call _clearDictionaries in 2 places before we bail, use _web_setObjectUsingSetIfNecessary:forKey: when adding site URLs to the iconURLToURLs dictionary 9509 (-[WebIconDatabase _updateFileDatabase]): fixed comment 9510 (-[WebIconDatabase _setIconURL:forURL:]): use _web_setObjectUsingSetIfNecessary:forKey: when adding site URLs to the iconURLToURLs dictionary 9511 (-[WebIconDatabase _releaseIconForIconURLString:]): handle NSString objects retured from iconURLToURLs 9512 (-[NSMutableDictionary _web_setObjectUsingSetIfNecessary:forKey:]): new, puts a set on the dictionary when there are 2 or more object for s key 9513 95142004-11-17 Richard Williamson <rjw@apple.com> 9515 9516 Fixed <rdar://problem/3885073> REGRESSION: Tab images at top of news.com.com replicated and squished 9517 9518 Correctly account for scaled image size and clipping. 9519 9520 Reviewed by Maciej. 9521 9522 * WebCoreSupport.subproj/WebImageData.h: 9523 * WebCoreSupport.subproj/WebImageData.m: 9524 * WebCoreSupport.subproj/WebImageRenderer.m: 9525 (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]): 9526 95272004-11-17 Maciej Stachowiak <mjs@apple.com> 9528 9529 Reviewed by Richard. 9530 9531 <rdar://problem/3885076> Don't make IDN calls for all-ascii URLs to save about 3 pages 9532 at Safari startup. 9533 9534 * Misc.subproj/WebNSURLExtras.m: 9535 (mapHostNames): If encoding and not decoding, then bail early if the URL is all ascii. 9536 (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Remove earlier special-case 9537 check for localhost, no longer needed. 9538 95392004-11-17 Richard Williamson <rjw@apple.com> 9540 9541 Fixed <rdar://problem/3863601> Legacy font cache code in [WebTextRendererFactory createSharedFactory] may be unnecesary 9542 9543 and added call to SPI for 9544 9545 <rdar://problem/3884448> WebKit should turn on CG local font cache 9546 9547 currently disabled until a Tiger build shows up with the SPI. 9548 9549 Reviewed by David Harrison. 9550 9551 * WebCoreSupport.subproj/WebTextRendererFactory.m: 9552 (+[WebTextRendererFactory createSharedFactory]): 9553 95542004-11-17 Richard Williamson <rjw@apple.com> 9555 9556 Fixed <rdar://problem/3882212> REGRESSION: Images clipped instead of scaled 9557 Fixed <rdar://problem/3884088> Crash terminating image load 9558 9559 Also added code to turn off color correction for images created 9560 via CGImageSources. This code is currently disabled because CG 9561 can't change the color space of images loaded progressively. 9562 Further, according to Dave Hayward, CG will no longer attempt 9563 to color correct images that don't have embedded profiles as of 9564 Tiger 8A306. 9565 9566 Reviewed by Chris. 9567 9568 * WebCoreSupport.subproj/WebImageData.m: 9569 (-[WebImageData _commonTermination]): 9570 (-[WebImageData dealloc]): 9571 (-[WebImageData _invalidateImageProperties]): 9572 (-[WebImageData imageAtIndex:]): 9573 (-[WebImageData incrementalLoadWithBytes:length:complete:]): 9574 (-[WebImageData propertiesAtIndex:]): 9575 95762004-11-16 Chris Blumenberg <cblu@apple.com> 9577 9578 Fixed: <rdar://problem/3882034> REGRESSION: Context menu incorrect for PDF content 9579 9580 Reviewed by darin. 9581 9582 * WebView.subproj/WebPDFView.m: 9583 (-[WebPDFView hitTest:]): return self if the current event is a context menu event 9584 (-[WebPDFView menuForEvent:]): use the PDFView subview 9585 95862004-11-15 Chris Blumenberg <cblu@apple.com> 9587 9588 Fixed: <rdar://problem/3880410> save 5 dirty pages by soft-linking against PDFKit framework 9589 9590 Reviewed by john. 9591 9592 * WebKit.pbproj/project.pbxproj: 9593 * WebView.subproj/WebPDFRepresentation.m: 9594 (+[WebPDFRepresentation PDFDocumentClass]): new 9595 (-[WebPDFRepresentation finishedLoadingWithDataSource:]): use PDFDocumentClass 9596 * WebView.subproj/WebPDFView.h: 9597 * WebView.subproj/WebPDFView.m: 9598 (+[WebPDFView PDFKitBundle]): new 9599 (+[WebPDFView PDFViewClass]): new 9600 (-[WebPDFView initWithFrame:]): create a PDFView subview 9601 (-[WebPDFView dealloc]): release the PDFView subview 9602 (-[WebPDFView PDFSubview]): new 9603 96042004-11-15 Chris Blumenberg <cblu@apple.com> 9605 9606 Fixed: <rdar://problem/3879891> WebKit should link against PDFKit instead of Quartz 9607 9608 Reviewed by darin. 9609 9610 * WebKit.pbproj/project.pbxproj: link against PDFKit if it is present instead of Quartz.framework 9611 96122004-11-15 Richard Williamson <rjw@apple.com> 9613 9614 Fixed missing retain of image property data. 9615 9616 Reviewed by John. 9617 9618 * WebCoreSupport.subproj/WebImageData.h: 9619 * WebCoreSupport.subproj/WebImageData.m: 9620 (-[WebImageData dealloc]): 9621 (-[WebImageData _invalidateImages]): 9622 (-[WebImageData imageAtIndex:]): 9623 (-[WebImageData propertiesAtIndex:]): 9624 (-[WebImageData _frameDuration]): 9625 96262004-11-15 Richard Williamson <rjw@apple.com> 9627 9628 Cache image properties and frame durations. 9629 Create NSImage and TIFF representations from CGImage, lazily, as needed for 9630 dragging and element info dictionary. 9631 9632 Reviewed by John. 9633 9634 * WebCoreSupport.subproj/WebImageData.h: 9635 * WebCoreSupport.subproj/WebImageData.m: 9636 (-[WebImageData dealloc]): 9637 (-[WebImageData size]): 9638 (-[WebImageData propertiesAtIndex:]): 9639 (-[WebImageData _frameDurationAt:]): 9640 (-[WebImageData _frameDuration]): 9641 * WebCoreSupport.subproj/WebImageRenderer.h: 9642 * WebCoreSupport.subproj/WebImageRenderer.m: 9643 (-[WebImageRenderer dealloc]): 9644 (-[WebImageRenderer TIFFRepresentation]): 9645 (-[WebImageRenderer image]): 9646 96472004-11-14 Maciej Stachowiak <mjs@apple.com> 9648 9649 Reviewed by John. 9650 9651 <rdar://problem/3879226> WebKit needlessly uses extra memory to store icon refcounts as NSNumbers 9652 9653 * Misc.subproj/WebIconDatabase.m: 9654 (-[WebIconDatabase init]): 9655 (-[WebIconDatabase _setIconURL:forURL:]): 9656 (-[WebIconDatabase _retainIconForIconURLString:]): 9657 (-[WebIconDatabase _releaseIconForIconURLString:]): 9658 (-[WebIconDatabase _retainFutureIconForURL:]): 9659 (-[WebIconDatabase _releaseFutureIconForURL:]): 9660 * Misc.subproj/WebIconDatabasePrivate.h: 9661 96622004-11-15 John Sullivan <sullivan@apple.com> 9663 9664 Reviewed by Ken. 9665 9666 - fixed <rdar://problem/3879513> leak in [WebArchive _propertyListRepresentation] copying HTML to pasteboard 9667 9668 * WebView.subproj/WebArchive.m: 9669 (-[WebArchive _propertyListRepresentation]): 9670 the array holding the subresources was not released after use, oops! 9671 96722004-11-12 Chris Blumenberg <cblu@apple.com> 9673 9674 Fixed: <rdar://problem/3874577> Opening restricted (parental) content in new window/tab reveals Safari's "Resources" folder 9675 9676 Reviewed by john. 9677 9678 * WebView.subproj/WebDefaultContextMenuDelegate.m: 9679 (-[WebDefaultUIDelegate openFrameInNewWindow:]): use the unreachable URL if there is one 9680 9681=== Safari-171 === 9682 96832004-11-11 Richard Williamson <rjw@apple.com> 9684 9685 Report actual size (not partial size) but use partial size 9686 when drawing. 9687 9688 Reviewed by Maciej. 9689 9690 * WebCoreSupport.subproj/WebImageData.h: 9691 * WebCoreSupport.subproj/WebImageData.m: 9692 (-[WebImageData size]): 9693 96942004-11-11 Darin Adler <darin@apple.com> 9695 9696 Reviewed by John. 9697 9698 - added _wasFirstResponderAtMouseDownTime method to bridge so we can fix 9699 <rdar://problem/3846152> REGRESSION (125-166): can't drag text out of <input type=text> fields 9700 with a subsequent change to WebCore. 9701 9702 * WebCoreSupport.subproj/WebBridge.m: 9703 (wasFirstResponderAtMouseDownTime:): Added. Calls _wasFirstResponderAtMouseDownTime 9704 on the WebHTMLView. 9705 (_getPreSmartSet): Move global inside the function, add (void) for cleanliness. 9706 (_getPostSmartSet): Ditto. 9707 9708 * WebView.subproj/WebHTMLView.m: 9709 (-[WebHTMLViewPrivate dealloc]): Release firstResponderAtMouseDownTime. 9710 (-[WebHTMLView _setMouseDownEvent:]): Early exit if event is not changing. 9711 Set firstResponderAtMouseDownTime to the first responder. 9712 (-[WebHTMLView mouseDown:]): Release firstResponderAtMouseDownTime after handling 9713 the mouseDown event. 9714 (-[WebHTMLView _wasFirstResponderAtMouseDownTime:]): Added. Uses the 9715 firstResponderAtMouseDownTime field. 9716 * WebView.subproj/WebHTMLViewInternal.h: Added firstResponderAtMouseDownTime field 9717 and _wasFirstResponderAtMouseDownTime method. 9718 9719 * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 9720 97212004-11-11 Richard Williamson <rjw@apple.com> 9722 9723 Reviewed by Chris. 9724 9725 Work-around to minimize impact of 3876764. Cache frame durations 9726 after first call. So we'll still leak 1K for each animated 9727 image, but that's better than 1K each time the frame is drawn! 9728 * WebCoreSupport.subproj/WebImageData.h: 9729 * WebCoreSupport.subproj/WebImageData.m: 9730 (-[WebImageData _frameDuration]): 9731 9732 Simplified animation cleanup code. Fixed leak due to 9733 incorrect key passed to CFDictionaryRemoveValue. 9734 9735 (+[WebImageData stopAnimationsInView:]): 9736 (-[WebImageData addAnimatingRenderer:inView:]): 9737 (-[WebImageData removeAnimatingRenderer:]): 9738 (-[WebImageData _stopAnimation]): 9739 97402004-11-11 Darin Adler <darin@apple.com> 9741 9742 Reviewed by Maciej. 9743 9744 - fixed <rdar://problem/3605906> Flash scrolled off the top and bottom cause CPU spin when combined with something dirty on the visible part of the page 9745 9746 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]): 9747 Work around AppKit bug by using rectangles from getRectsBeingDrawn:count: instead of 9748 using the passed-in rectangle. 9749 97502004-11-11 Richard Williamson <rjw@apple.com> 9751 9752 Work-arounds to make new ImageIO code work correctly. Still 9753 disabled for now. Requires at least Tiger 300. Testing does 9754 show a 3% improvement in PLT tests! That's huge! 9755 9756 Reviewed by John. 9757 9758 * WebCoreSupport.subproj/WebImageData.m: 9759 (-[WebImageData imageAtIndex:]): 9760 (-[WebImageData incrementalLoadWithBytes:length:complete:]): 9761 (-[WebImageData isNull]): 9762 97632004-11-10 Chris Blumenberg <cblu@apple.com> 9764 9765 Fixed: <rdar://problem/3396872> ICONS: icon DB inconsistencies can cause slowness during startup, idle and quit 9766 9767 Reviewed by john. 9768 9769 * Misc.subproj/WebFileDatabase.m: 9770 (-[WebFileDatabase objectForKey:]): added logging code 9771 * Misc.subproj/WebIconDatabase.m: 9772 (-[WebIconDatabase init]): use alloc, init rather than autorelease, retain 9773 (-[WebIconDatabase _loadIconDictionaries]): use 1 object for mapping icon URLs to site URLs and vice versa rather than 3. This avoids inconsistencies and is faster. 9774 (-[WebIconDatabase _updateFileDatabase]): write 1 object out 9775 97762004-11-09 David Hyatt <hyatt@apple.com> 9777 9778 Fix for 3873234, Safari UI is unresponsive when parsing multiple HTML docs and 3873233, Safari hangs when 9779 loading large local files. 9780 9781 Reviewed by mjs 9782 9783 * WebCoreSupport.subproj/WebBridge.m: 9784 (-[WebBridge tokenizerProcessedData]): 9785 * WebView.subproj/WebDataSource.m: 9786 (-[WebDataSource _receivedMainResourceError:complete:]): 9787 (-[WebDataSource isLoading]): 9788 97892004-11-09 Richard Williamson <rjw@apple.com> 9790 9791 Fixed <rdar://problem/3870964> 8A300: Safari not recognizing a PDF link (it displays raw data) 9792 9793 Add "text/pdf" as an acceptable PDF MIME type. 9794 9795 Reviewed by Chris. 9796 9797 * WebView.subproj/WebDataSource.m: 9798 (+[WebDataSource _repTypesAllowImageTypeOmission:]): 9799 * WebView.subproj/WebFrameView.m: 9800 (+[WebFrameView _viewTypesAllowImageTypeOmission:]): 9801 98022004-11-08 Chris Blumenberg <cblu@apple.com> 9803 9804 Fixed: <rdar://problem/3783904> Return key behavior is confusingly different between popup menus and autofill menus 9805 9806 Reviewed by john. 9807 9808 * WebCoreSupport.subproj/WebBridge.m: 9809 (-[WebBridge control:textView:shouldHandleEvent:]): new 9810 * WebView.subproj/WebFormDelegate.h: 9811 * WebView.subproj/WebFormDelegate.m: 9812 (-[WebFormDelegate control:textView:shouldHandleEvent:inFrame:]): new 9813 98142004-11-05 Chris Blumenberg <cblu@apple.com> 9815 9816 Fixed: <rdar://problem/3854218> Safari is sometimes really slow because of increased null events to plug-ins 9817 9818 * Plugins.subproj/WebBaseNetscapePluginView.m: reverted null event interval to 0.02 9819 98202004-11-05 Chris Blumenberg <cblu@apple.com> 9821 9822 Fixed: <rdar://problem/3838413> REGRESSION (Mail): "Smart" word paste adds spaces before/after special characters 9823 9824 Reviewed by rjw. 9825 9826 * WebCoreSupport.subproj/WebBridge.m: 9827 (_getPreSmartSet): copied from AppKit 9828 (_getPostSmartSet): ditto 9829 (-[WebBridge isCharacterSmartReplaceExempt:isPreviousCharacter:]): new 9830 98312004-11-05 Richard Williamson <rjw@apple.com> 9832 9833 Fixed <rdar://problem/3810702> _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector: ASSERTS when reentered from Xcode's man page viewer 9834 9835 Reviewed by Maciej (a long time ago). 9836 9837 * WebView.subproj/WebFrame.m: 9838 (-[WebFrame _loadDataSource:withLoadType:formState:]): 9839 9840 Fixed <rdar://problem/3845307> WebKit needs to export _HIWebViewRegisterClass so HIWebViews can work in Carbon nib files 9841 9842 As suggested in the bug, the fix is to actually call 9843 HIWebViewRegisterClass in WebKitInitForCarbon, rather than 9844 exporting the symbol. 9845 9846 Reviewed by Chris. 9847 9848 * Carbon.subproj/CarbonUtils.m: 9849 (WebInitForCarbon): 9850 * Carbon.subproj/HIWebView.m: 9851 * WebKit.pbproj/project.pbxproj: 9852 9853=== Safari-170 === 9854 98552004-11-05 Darin Adler <darin@apple.com> 9856 9857 Reviewed by Chris. 9858 9859 - fixed <rdar://problem/3857151> Assertion failure in "trackingRectOwner" while moving mouse over Slashdot.org page 9860 9861 * WebView.subproj/WebHTMLView.m: 9862 (-[WebHTMLView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]): Changed to no longer call 9863 addTrackingRect to do the work for consistency with the new method below. Not too much copied and pasted code. 9864 (-[WebHTMLView _addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]): Added an override 9865 for this new method in Tiger. No harm in implementing it on Panther, although it won't be called. 9866 (-[WebHTMLView _removeTrackingRects:count:]): Ditto. 9867 98682004-11-04 David Hyatt <hyatt@apple.com> 9869 9870 Make sure the dominant line direction is properly set for RTL runs so that spaces will reverse. 9871 9872 Change xHeight to measure the ascent of the x glyph, since the xHeight metrics appear to be 9873 totally bogus in both CG and AppKit. 9874 9875 Reviewed by darin 9876 9877 * WebCoreSupport.subproj/WebTextRenderer.m: 9878 (-[WebTextRenderer xHeight]): 9879 (-[WebTextRenderer _createATSUTextLayoutForRun:style:]): 9880 (-[WebTextRenderer _trapezoidForRun:style:atPoint:]): 9881 (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]): 9882 (-[WebTextRenderer _ATSU_drawRun:style:geometry:]): 9883 (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]): 9884 98852004-11-02 Maciej Stachowiak <mjs@apple.com> 9886 9887 Reviewed by Dave Hyatt (when I originally coded it). 9888 9889 Redid WebKit part of fix for: 9890 9891 <rdar://problem/3759187> REGRESSION (Mail): implement firstRectForCharacterRange: 9892 9893 * WebView.subproj/WebHTMLView.m: 9894 (-[WebHTMLView firstRectForCharacterRange:]): Call the appropriate new bridge method, 9895 and translate to screen coordinates. 9896 98972004-11-02 John Sullivan <sullivan@apple.com> 9898 9899 Reviewed by Hyatt. 9900 9901 - [NSFont menuFontOfSize:], called from WebStringTruncator, was taking > 9% of the time creating a 9902 very large bookmarks menu, so I cached this one NSFont object. 9903 9904 * Misc.subproj/WebStringTruncator.m: 9905 (defaultMenuFont): 9906 new function, caches the font used when no font is specified 9907 (+[WebStringTruncator centerTruncateString:toWidth:]): 9908 call new function 9909 99102004-11-02 Ken Kocienda <kocienda@apple.com> 9911 9912 Reviewed by Hyatt 9913 9914 WebCore now implements a command to insert a block in response to typing a return key, and 9915 some names were improved in the course of this work. 9916 9917 * WebView.subproj/WebHTMLView.m: 9918 (-[WebHTMLView insertNewline:]): Now calls insertLineBreak on bridge object. 9919 (-[WebHTMLView insertLineBreak:]): New method. 9920 (-[WebHTMLView insertParagraphSeparator:]): Now implemented. 9921 * WebView.subproj/WebView.m: 9922 9923=== Safari-169 === 9924 99252004-10-29 Chris Blumenberg <cblu@apple.com> 9926 9927 * WebKit.exp: added _WebPlugInModeKey, forgot to add it earlier 9928 99292004-10-29 Darin Adler <darin@apple.com> 9930 9931 - fixed <rdar://problem/3855573> Remove reference to "WebScriptMethods" from WebScriptObject.h comments 9932 9933 * Plugins.subproj/WebScriptObject.h: Removed unneeded #ifdef protection for multiple includes (since 9934 this is an Objective-C header and we use #import for those). Fixed comments as requested in the bug 9935 report to match the contents of the file. 9936 99372004-10-27 Ken Kocienda <kocienda@apple.com> 9938 9939 Reviewed by Chris 9940 9941 Added new SPI for Mail so it can get the behavior it needs when the user hits 9942 the return key with the selection in quoted content. 9943 9944 * WebView.subproj/WebView.m 9945 * WebView.subproj/WebViewPrivate.h 9946 99472004-10-26 Chris Blumenberg <cblu@apple.com> 9948 9949 Fixed exception that Darin encountered in Mail. 9950 9951 Reviewed by darin. 9952 9953 * Plugins.subproj/WebPluginController.m: 9954 (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]): if the plug-in returns a nil view, return nil 9955 99562004-10-25 Chris Blumenberg <cblu@apple.com> 9957 9958 Darin made an internal notification have the Web prefix. 9959 9960 Reviewed by me. 9961 9962 * Plugins.subproj/WebBaseNetscapePluginView.m: 9963 (-[WebBaseNetscapePluginView addWindowObservers]): 9964 (-[WebBaseNetscapePluginView removeWindowObservers]): 9965 (ConsoleConnectionChangeNotifyProc): 9966 99672004-10-25 John Sullivan <sullivan@apple.com> 9968 9969 Reviewed by Chris. 9970 9971 - Cleanup from fix for <rdar://problem/3851676> bookmarks should not hold onto a WebHistoryItem object; 9972 eliminated notificationsSuppressed mechanism, which was used only by WebBookmark 9973 9974 * History.subproj/WebHistoryItem.m: 9975 removed notificationsSuppressed ivar from private data object 9976 (-[WebHistoryItem setAlternateTitle:]): 9977 remove notificationsSuppressed guard 9978 (-[WebHistoryItem setURLString:]): 9979 ditto 9980 (-[WebHistoryItem setOriginalURLString:]): 9981 ditto 9982 (-[WebHistoryItem setTitle:]): 9983 ditto 9984 (-[WebHistoryItem _setLastVisitedTimeInterval:]): 9985 ditto 9986 (-[WebHistoryItem setNotificationsSuppressed:]): 9987 removed this method 9988 (-[WebHistoryItem notificationsSuppressed]): 9989 ditto 9990 9991 * History.subproj/WebHistoryItemPrivate.h: 9992 removed notificationsSuppressed and setNotificationsSuppressed 9993 99942004-10-22 Chris Blumenberg <cblu@apple.com> 9995 9996 Fixed: <rdar://problem/3851491> installedPlugins being called for a page without plugins 9997 9998 Reviewed by mjs. 9999 10000 * WebView.subproj/WebFrameView.m: 10001 (+[WebFrameView _canShowMIMETypeAsHTML:]): call _viewTypesAllowImageTypeOmission instead of using ivar since the ivar is nil until _viewTypesAllowImageTypeOmission is called, this was causing [WebView canShowMIMEType:] to check plug-ins 10002 10003=== Safari-168 === 10004 100052004-10-22 Ken Kocienda <kocienda@apple.com> 10006 10007 Reviewed by me 10008 10009 * WebKit.pbproj/project.pbxproj: Add GCC_ENABLE_OBJC_GC and GCC_FAST_OBJC_DISPATCH flags. 10010 100112004-10-21 Darin Adler <darin@apple.com> 10012 10013 Reviewed by John. 10014 10015 - fixed <rdar://problem/3847994> REGRESSION: reproducible exception in WebImageRenderer releasePatternColor; afterwards get crash or no more browsing 10016 10017 * WebCoreSupport.subproj/WebImageRenderer.m: 10018 (-[WebInternalImage createRendererIfNeeded]): Replaced retainOrCopyIfNeeded with this. 10019 This returns nil if a copied renderer isn't needed, and returns a new renderer if a copy is. 10020 The old version was sometimes returning a WebInternalImage and other times a WebImageRenderer. 10021 (-[WebImageRenderer retainOrCopyIfNeeded]): Returns the result of createRendererIfNeeded 10022 or retains self and returns self. 10023 100242004-10-20 Darin Adler <darin@apple.com> 10025 10026 Reviewed by Dave. 10027 10028 - fixed <rdar://problem/3470715> Pattern cache can get huge with use of css background-image in Safari 10029 10030 * WebCoreSupport.subproj/WebImageRenderer.h: Change WebImageRenderer to be a subclass of NSObject 10031 rather than NSImage and contain a pointer to a WebInternalImage. 10032 * WebCoreSupport.subproj/WebImageRenderer.m: 10033 (-[WebInternalImage releasePatternColor]): Added. Releases patternColor. 10034 (-[WebImageRenderer initWithMIMEType:]): Added. Makes WebInternalImage and then self. 10035 (-[WebImageRenderer initWithData:MIMEType:]): Ditto. 10036 (-[WebImageRenderer initWithContentsOfFile:]): Ditto. 10037 (-[WebImageRenderer dealloc]): Added. Calls releasePatternColor and then releases WebInternalImage. 10038 (-[WebImageRenderer image]): Added. Returns pointer to image. 10039 (-[WebImageRenderer MIMEType]): Added. Calls through to image. 10040 (-[WebImageRenderer TIFFRepresentation]): Ditto. 10041 (-[WebImageRenderer frameCount]): Ditto. 10042 (-[WebImageRenderer setOriginalData:]): Added. Sets image data pointer. 10043 (+[WebImageRenderer stopAnimationsInView:]): Added. Calls through to image. 10044 (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): Ditto. 10045 (-[WebImageRenderer size]): Ditto. 10046 (-[WebImageRenderer resize:]): Ditto. 10047 (-[WebImageRenderer drawImageInRect:fromRect:]): Ditto. 10048 (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]): Ditto. 10049 (-[WebImageRenderer stopAnimation]): Ditto. 10050 (-[WebImageRenderer tileInRect:fromPoint:context:]): Ditto. 10051 (-[WebImageRenderer isNull]): Ditto. 10052 (-[WebImageRenderer retainOrCopyIfNeeded]): Ditto. 10053 (-[WebImageRenderer increaseUseCount]): Ditto. 10054 (-[WebImageRenderer decreaseUseCount]): Ditto. 10055 (-[WebImageRenderer flushRasterCache]): Ditto. 10056 (-[WebImageRenderer imageRef]): Ditto. 10057 (-[WebImageRenderer copyWithZone:]): Ditto. 10058 10059 * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragImage:rect:event:pasteboard:source:offset:]): 10060 Update for slight changes to WebImageRenderer API. 10061 * WebCoreSupport.subproj/WebImageRendererFactory.m: 10062 (-[WebImageRendererFactory imageRendererWithMIMEType:]): Ditto. 10063 (-[WebImageRendererFactory imageRendererWithData:MIMEType:]): Ditto. 10064 (-[WebImageRendererFactory imageRendererWithSize:]): Ditto. 10065 (-[WebImageRendererFactory imageRendererWithName:]): Ditto. 10066 * WebView.subproj/WebImageView.m: (-[WebImageView image]): Ditto. 10067 100682004-10-20 Chris Blumenberg <cblu@apple.com> 10069 10070 Fixed: <rdar://problem/3846943> REGRESSION: JNLP files are rendered instead of downloaded 10071 10072 Reviewed by john. 10073 10074 * Plugins.subproj/WebBasePluginPackage.h: 10075 * Plugins.subproj/WebBasePluginPackage.m: 10076 (-[WebBasePluginPackage isJavaPlugIn]): new 10077 * Plugins.subproj/WebPluginDatabase.m: 10078 (-[WebPluginDatabase refresh]): don't register the Java plug-in for a document view since Java file should be downloaded when not embedded. 10079 100802004-10-20 Chris Blumenberg <cblu@apple.com> 10081 10082 Fixed: 10083 <rdar://problem/3842030> WebKit needs to pass the mode (NP_FULL, NP_EMBED, etc) when calling plugInViewWithArguments 10084 <rdar://problem/3792852> Safari is loading the new QuickTime Cocoa plugin on Panther 10085 10086 Reviewed by darin. 10087 10088 * Plugins.subproj/WebPluginDocumentView.m: 10089 (-[WebPluginDocumentView setDataSource:]): pass "full" as the mode 10090 * Plugins.subproj/WebPluginPackage.m: 10091 (-[WebPluginPackage initWithPath:]): load plug-in with the "webplugin" extension 10092 * WebCoreSupport.subproj/WebBridge.m: 10093 (-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]): pass "embed" as the mode 10094 * WebKit.pbproj/project.pbxproj: 10095 100962004-10-19 Vicki Murley <vicki@apple.com> 10097 10098 - bump WebKit version to 167.1, so that we can do a quick dot submission for <rdar://problem/3843951> 10099 10100 * WebKit.pbproj/project.pbxproj: 10101 101022004-10-19 Darin Adler <darin@apple.com> 10103 10104 Change suggested by Maciej during code review. 10105 10106 * WebCoreSupport.subproj/WebTextRenderer.m: Changed rounding hack table to be const so it can be in shared instead 10107 of private memory, and doesn't require an initialization function. 10108 (+[WebTextRenderer initialize]): Removed initialization. 10109 101102004-10-19 Darin Adler <darin@apple.com> 10111 10112 Reviewed by Maciej. 10113 10114 - fixed <rdar://problem/3838934> Safari stops loading pages after rangeOfCharacterFromSet nil argument exception 10115 - fixed <rdar://problem/3843951> REGRESSION (166-167): Safari crashes in widthForNextCharacter (belkin.com, at startup for others) 10116 - fixed <rdar://problem/3841049> REGRESSION (109-110): control characters render as square boxes 10117 10118 * WebCoreSupport.subproj/WebTextRenderer.m: 10119 (isSpace): Merged in isAlternateSpace, never used. 10120 (setupRoundingHackCharacterTable): Fixed size of table, was 1 entry too short. Got rid of unneeded call to bzero, 10121 since globals start out zeroed automatically. 10122 (isRoundingHackCharacter): Fixed backwards logic causing the crash in widthForNextCharacter. 10123 Also removed explicit compare with 1; check for non-zero is just fine. 10124 (fontContainsString): Change code so we'll just skip the font if the covered character set returns nil rather than 10125 throwing an exception like the old version did. This should make bug 3838934 go away, although perhaps covering up 10126 the underlying problem. 10127 (-[WebTextRenderer _convertCharacters:length:toGlyphs:]): Removed unused skipControlCharacters: parameter and also 10128 the unnecessary code to copy the buffer to change newline characters and non-break spaces to spaces. 10129 (-[WebTextRenderer _convertUnicodeCharacters:length:toGlyphs:]): Removed unused local. 10130 (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]): Added code to set up special cases for control characters, 10131 \n and non-break spaces. 10132 (-[WebTextRenderer _createATSUTextLayoutForRun:]): Added comment about the cases this code does not handle that 10133 are handled by the CG case. 10134 (widthForNextCharacter): Call isSpace instead of checking specifically for the space character here. The old code 10135 would not handle cases with '\n' coming across from WebCore properly. 10136 101372004-10-18 Chris Blumenberg <cblu@apple.com> 10138 10139 Fixed: <rdar://problem/3840916> GC: -[WebNetscapePluginPackage initWithPath:] leaks an NSURL 10140 10141 Reviewed by kevin. 10142 10143 * Plugins.subproj/WebNetscapePluginPackage.m: 10144 (-[WebNetscapePluginPackage initWithPath:]): use executablePath on NSBundle instead of CFBundleCopyExecutableURL 10145 101462004-10-18 Chris Blumenberg <cblu@apple.com> 10147 10148 * DOM.subproj/DOMPrivate.h: change to copied header that was never committed 10149 101502004-10-18 John Sullivan <sullivan@apple.com> 10151 10152 Reviewed by Ken. 10153 10154 - fixed <rdar://problem/3810183> Make WebHTMLView respect return value of webView:doCommandBySelector: 10155 10156 * WebView.subproj/WebHTMLView.m: 10157 (-[WebHTMLView doCommandBySelector:]): 10158 only do default action if delegate returns NO; this works with Mail as of Tiger 8A275. 10159 10160=== Safari-167 === 10161 101622004-10-14 Ken Kocienda <kocienda@apple.com> 10163 10164 Reviewed by John 10165 10166 Final fix for these bugs: 10167 10168 <rdar://problem/3806306> HTML editing puts spaces at start of line 10169 <rdar://problem/3814252> HTML editing groups space with word causing wrapping 10170 10171 This change sets some new CSS properties that have been added to WebCore to 10172 enable whitespace-handling and line-breaking features that make WebView work 10173 more like a text editor. 10174 10175 * WebView.subproj/WebHTMLRepresentation.m: 10176 (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): Turn on special editing 10177 CSS properties when loading an HTML document into a WebView that is editable. 10178 * WebView.subproj/WebView.m: 10179 (-[WebView setEditable:]): Add and remove special editing CSS properties in current 10180 document being displayed. 10181 101822004-10-14 Richard Williamson <rjw@apple.com> 10183 10184 Fixed <rdar://problem/3823026> making isRoundingHackCharacter use -O3 and an 8-bit lookup-table will speed "XBS" test up by 3% (actually < 1%) 10185 10186 Careful testing shows a small performance gain on very large text files. 10187 I saw large variations in timings, but taking the lowest PLT timing 10188 with and without this change showed a 0.9% gain. Note the cvs-base showed 10189 no improvement. The improvement was for the large page attached to the 10190 bug. 10191 10192 Reviewed by Ken. 10193 10194 * WebCoreSupport.subproj/WebTextRenderer.m: 10195 (setupRoundingHackCharacterTable): 10196 (isRoundingHackCharacter): 10197 (+[WebTextRenderer initialize]): 10198 101992004-10-14 Ken Kocienda <kocienda@apple.com> 10200 10201 Reviewed by me 10202 10203 Fix build breakage. These three functions need to return the values from their 10204 calls to WebCGColorSpaceCreateXXX. 10205 10206 * WebCoreSupport.subproj/WebGraphicsBridge.m: 10207 (-[WebGraphicsBridge createRGBColorSpace]) 10208 (-[WebGraphicsBridge createGrayColorSpace]) 10209 (-[WebGraphicsBridge createCMYKColorSpace]) 10210 102112004-10-13 Richard Williamson <rjw@apple.com> 10212 10213 Addressed concerns in <rdar://problem/3803117> RESP: High complexity in icu uidna_IDNToASCII called by [NSString(WebNSURLExtras) _web_mapHostNameWithRange:encode:makeString:] 10214 10215 In practice I saw NO improvement in performance. Although, 10216 special-case tests could possibly show improvement. Anyway, 10217 the changes don't hurt performance. 10218 10219 Reviewed by Maciej. 10220 10221 * Misc.subproj/WebNSURLExtras.m: 10222 (-[NSString _web_mapHostNameWithRange:encode:makeString:]): 10223 102242004-10-13 Maciej Stachowiak <mjs@apple.com> 10225 10226 Reviewed by Ken. 10227 10228 <rdar://problem/3824626> Change to do colormatching for DeviceRGB colorspace causes ~11% Safari slowdown 10229 10230 - I fixed this by turning off all colormatching for WebKit 10231 content. We might turn it back on later. For now, it's possible to 10232 turn it on temporarily by defining COLORMATCH_EVERYTHING. 10233 10234 * WebCoreSupport.subproj/WebGraphicsBridge.m: 10235 (-[WebGraphicsBridge setFocusRingStyle:radius:color:]): 10236 (-[WebGraphicsBridge additionalPatternPhase]): 10237 (-[WebGraphicsBridge createRGBColorSpace]): 10238 (-[WebGraphicsBridge createGrayColorSpace]): 10239 (-[WebGraphicsBridge createCMYKColorSpace]): 10240 * WebCoreSupport.subproj/WebImageData.m: 10241 * WebCoreSupport.subproj/WebImageRenderer.h: 10242 * WebCoreSupport.subproj/WebImageRenderer.m: 10243 (-[WebImageRenderer _adjustSizeToPixelDimensions]): 10244 (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): 10245 (-[WebImageRenderer _adjustColorSpace]): 10246 (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): 10247 (-[WebImageRenderer tileInRect:fromPoint:context:]): 10248 (_createImageRef): 10249 (WebCGColorSpaceCreateRGB): 10250 (WebCGColorSpaceCreateGray): 10251 (WebCGColorSpaceCreateCMYK): 10252 * WebKitPrefix.h: 10253 102542004-10-13 Richard Williamson <rjw@apple.com> 10255 10256 Don't fill background with transparency unless debug flag 10257 is enabled. 10258 10259 Reviewed by Hyatt. 10260 10261 * WebView.subproj/WebHTMLView.m: 10262 (-[WebHTMLView drawRect:]): 10263 102642004-10-12 Richard Williamson <rjw@apple.com> 10265 10266 Fixed <rdar://problem/3829705> Need to remove filling w/ transparency when not drawing backgroundy. 10267 10268 Reviewed by Ken. 10269 10270 * WebView.subproj/WebHTMLView.m: 10271 (-[WebHTMLView _transparentBackground]): 10272 (-[WebHTMLView _setTransparentBackground:]): 10273 (-[WebHTMLView drawRect:]): 10274 * WebView.subproj/WebHTMLViewInternal.h: 10275 * WebView.subproj/WebHTMLViewPrivate.h: 10276 102772004-10-11 Chris Blumenberg <cblu@apple.com> 10278 10279 Fixed: <rdar://problem/3802039> 8A259: Can't use Grab services to grab selection from screen 10280 10281 Reviewed by john. 10282 10283 * WebView.subproj/WebHTMLView.m: 10284 (+[WebHTMLView initialize]): register service "return types" which are types that can be inserted into a WebView 10285 (-[WebHTMLView writeSelectionToPasteboard:types:]): service protocol method, be sure to only write specified types 10286 (-[WebHTMLView readSelectionFromPasteboard:]): new, service protocol method, insert types 10287 (-[WebHTMLView validRequestorForSendType:returnType:]): moved, handle return types 10288 102892004-10-11 Darin Adler <darin@apple.com> 10290 10291 Reviewed by John. 10292 10293 - fixed <rdar://problem/3834130> nil-object-in-dictionary exception seen in -[WebView _elementAtWindowPoint:] 10294 10295 * WebView.subproj/WebView.m: (-[WebView _elementAtWindowPoint:]): Added a check for nil frame. 10296 102972004-10-11 Darin Adler <darin@apple.com> 10298 10299 Reviewed by John. 10300 10301 - fixed <rdar://problem/3834166> <input type=file> sends onchange even when the same file is chosen twice 10302 10303 * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton chooseFilename:]): 10304 Do nothing if filename is the same as before. 10305 103062004-10-11 Ken Kocienda <kocienda@apple.com> 10307 10308 Reviewed by Darin 10309 10310 * WebView.subproj/WebHTMLView.m: 10311 (-[WebTextCompleteController doCompletion]): bridge call to get caret rect at a node 10312 now takes an affinity: caretRectAtNode:offset:affinity:. 10313 103142004-10-10 Ken Kocienda <kocienda@apple.com> 10315 10316 Reviewed by Chris 10317 10318 Fix for this bug: 10319 10320 <rdar://problem/3814236> REGRESSION (Mail): Can't set the color of text in Mail compose window using drag/drag from color panel 10321 10322 * WebView.subproj/WebHTMLView.m: 10323 (+[WebHTMLView _insertablePasteboardTypes]): Add NSColorPboardType to list. 10324 (-[WebHTMLView _isNSColorDrag:]): New helper. Determines if drag is an NSColor drag. 10325 (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): Add a case for NSColor drags, 10326 else do what we did before. 10327 (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Add a case for NSColor drags, which creates 10328 a CSS style containing color info and calls the bridge to apply the style. Otherwise, do what we did before. 10329 103302004-10-11 Darin Adler <darin@apple.com> 10331 10332 Reviewed by Ken. 10333 10334 - fixed <rdar://problem/3833848> REGRESSION (133-134): each keydown event is getting sent multiple times 10335 10336 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView performKeyEquivalent:]): 10337 Don't send an event through WebCore if it has already been through once. 10338 103392004-10-10 John Sullivan <sullivan@apple.com> 10340 10341 Reviewed by Ken. 10342 10343 - fixed <rdar://problem/3777253> Crash in redirect mechanism trying to display error page for bad scheme 10344 10345 * WebView.subproj/WebMainResourceClient.m: 10346 (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]): 10347 add retain/autorelease to the request returned from call to super. In this case, the return value 10348 was being dealloc'ed before being returned. 10349 103502004-10-09 Chris Blumenberg <cblu@apple.com> 10351 10352 Fixed: 10353 <rdar://problem/3625352> up and down arrow and page up/down keys don't work to scroll overflow:auto/scroll/overlay areas 10354 <rdar://problem/3397658> scroll wheel does not work to scroll overflow:auto/scroll/overlay areas (RSS) 10355 10356 Reviewed by hyatt. 10357 10358 * Plugins.subproj/WebBaseNetscapePluginStream.m: 10359 (-[WebBaseNetscapePluginStream initWithRequestURL:pluginPointer:notifyData:sendNotification:]): fixed typo in comment 10360 * Plugins.subproj/WebNetscapePluginStream.m: 10361 (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): ditto 10362 * WebView.subproj/WebFramePrivate.h: 10363 * WebView.subproj/WebFrameView.m: 10364 (-[WebFrameView _bridge]): new 10365 (-[WebFrameView scrollToBeginningOfDocument:]): call the bridge to scroll, if that fails, scroll the document view 10366 (-[WebFrameView scrollToEndOfDocument:]): ditto 10367 (-[WebFrameView _pageVertically:]): ditto 10368 (-[WebFrameView _pageHorizontally:]): ditto 10369 (-[WebFrameView _scrollLineVertically:]): ditto 10370 (-[WebFrameView _scrollLineHorizontally:]): ditto 10371 * WebView.subproj/WebHTMLView.m: 10372 (-[WebHTMLView scrollWheel:]): call the bridge to scroll, if that fails, pass to next responder 10373 10374=== Safari-166 === 10375 103762004-10-05 Chris Blumenberg <cblu@apple.com> 10377 10378 Fixed: <rdar://problem/3827002> assertion failure in WebBaseNetscapePluginStream on abc.go.com 10379 10380 Reviewed by rjw. 10381 10382 * Plugins.subproj/WebBaseNetscapePluginStream.m: 10383 (-[WebBaseNetscapePluginStream initWithRequestURL:pluginPointer:notifyData:sendNotification:]): avoid assertion failure in dealloc by temporarily setting isTerminated to YES in case we are released in this method 10384 * Plugins.subproj/WebNetscapePluginStream.m: 10385 (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): ditto 10386 103872004-10-05 John Sullivan <sullivan@apple.com> 10388 10389 * WebCoreSupport.subproj/WebBridge.m: 10390 (-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]): 10391 initialize "arguments" var to nil to satisfy compiler on deployment build. 10392 103932004-10-05 Richard Williamson <rjw@apple.com> 10394 10395 Fixed <rdar://problem/3825442> first click lost for Dashboard 10396 Allow dashboard to force acceptsFirstMouse: 10397 10398 Reviewed by Chris. 10399 10400 * WebView.subproj/WebHTMLView.m: 10401 (-[WebHTMLView acceptsFirstMouse:]): 10402 * WebView.subproj/WebView.m: 10403 (-[WebView _dashboardBehavior:]): 10404 * WebView.subproj/WebViewInternal.h: 10405 * WebView.subproj/WebViewPrivate.h: 10406 10407 * WebCoreSupport.subproj/WebImageRenderer.h: 10408 Comment change only 10409 104102004-10-05 Chris Blumenberg <cblu@apple.com> 10411 10412 Fixed: <rdar://problem/3760920> Need to record plugin view instances 10413 10414 Reviewed by rjw. 10415 10416 * Plugins.subproj/WebPluginController.h: 10417 * Plugins.subproj/WebPluginController.m: 10418 (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]): new, creates plug-in view and adds it to global list 10419 (+[WebPluginController isPlugInView:]): new, checks if the plug-in view is in the global list 10420 (-[WebPluginController destroyAllPlugins]): remove the plug-in from the global list 10421 * Plugins.subproj/WebPluginDocumentView.m: 10422 (-[WebPluginDocumentView setDataSource:]): call [WebPluginController plugInViewWithArguments:fromPluginPackage:] 10423 * WebCoreSupport.subproj/WebBridge.m: 10424 (-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]): ditto 10425 * WebView.subproj/WebFrame.m: 10426 (-[WebFrame _reloadForPluginChanges]): call [WebPluginController isPlugInView:] 10427 * WebView.subproj/WebHTMLView.m: 10428 (-[WebHTMLView addSubview:]): ditto 10429 104302004-10-05 David Hyatt <hyatt@apple.com> 10431 10432 Fix to make selection more like NSTextView. All gap painting is now done by WebCore, so WebKit no longer 10433 needs to try to fill gaps around text. 10434 10435 Reviewed by kocienda 10436 10437 * WebCoreSupport.subproj/WebTextRenderer.m: 10438 (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]): 10439 (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]): 10440 104412004-10-05 Darin Adler <darin@apple.com> 10442 10443 Reviewed by John. 10444 10445 - fixed <rdar://problem/3577255> custom file icon shows up upside down in <input type=file> 10446 10447 * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton setFilename:]): Added a call to 10448 setFlipped that fixes the problem, even though I don't know why. 10449 104502004-10-04 Darin Adler <darin@apple.com> 10451 10452 Reviewed by Maciej. 10453 10454 - fixed <rdar://problem/3814237> REGRESSION (Mail): Copy/paste style does not set color in Mail compose window 10455 10456 * WebView.subproj/WebHTMLView.m: 10457 (-[WebHTMLView _selectionStartFontAttributesAsRTF]): Changed to call new bridge method 10458 named fontAttributesForSelectionStart, deleted the method this used to use, and renamed 10459 this to have the word "start" in it. 10460 (-[WebHTMLView copyFont:]): Updated for name change. 10461 10462 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 10463 104642004-10-04 Chris Blumenberg <cblu@apple.com> 10465 10466 * WebView.subproj/WebFrameInternal.h: removed constant declarations that I committed by mistake 10467 104682004-10-04 Chris Blumenberg <cblu@apple.com> 10469 10470 Fixed: <rdar://problem/3798948> NPP_URLNotify is not called if plug-in calls NPN_*URLNotfy 10471 Fixed a number of FIXME's related to notifying plug-ins of loaded pages. 10472 10473 Reviewed by rjw. 10474 10475 * Plugins.subproj/WebBaseNetscapePluginStream.h: 10476 - replaced URL ivar with requestURL and responseURL ivars since we need to pass both to plug-ins 10477 - added sendNotification boolean. Relying on notifyData not being NULL was not information to know whether to call NPP_URLNotify or not. 10478 - added isTerminated boolean because determining whether or not stream.ndata is NULL is not enough to know if the stream has been cancelled. 10479 * Plugins.subproj/WebBaseNetscapePluginStream.m: 10480 (+[WebBaseNetscapePluginStream reasonForError:]): new, factored out from receivedError: 10481 (-[WebBaseNetscapePluginStream initWithRequestURL:pluginPointer:notifyData:sendNotification:]): new 10482 (-[WebBaseNetscapePluginStream dealloc]): release new ivars 10483 (-[WebBaseNetscapePluginStream finalize]): added assert 10484 (-[WebBaseNetscapePluginStream setRequestURL:]): new 10485 (-[WebBaseNetscapePluginStream setResponseURL:]): new 10486 (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]): renamed, use responseURL as it basically did before 10487 (-[WebBaseNetscapePluginStream startStreamWithResponse:]): call renamed method 10488 (-[WebBaseNetscapePluginStream destroyStream]): 10489 - do nothing if terminated 10490 - call NPP_StreamAsFile and NPP_DestroyStream if stream.ndata is not NULL 10491 - call NPP_URLNotify if sendNotification is YES regardless of value of notifyData 10492 (-[WebBaseNetscapePluginStream receivedError:]): call reasonForError 10493 (-[WebBaseNetscapePluginStream deliverData]): use renamed ivar 10494 * Plugins.subproj/WebBaseNetscapePluginView.h: 10495 - added observingFrameLoadNotification boolean 10496 - renamed dictionary ivar to pendingFrameLoads which has WebFrame keys and WebPluginRequest values 10497 * Plugins.subproj/WebBaseNetscapePluginView.m: 10498 (-[WebBaseNetscapePluginView addFrameLoadObserver]): new 10499 (-[WebBaseNetscapePluginView removeFrameLoadObserver]): new 10500 (-[WebBaseNetscapePluginView stop]): call removeFrameLoadObserver 10501 (-[WebBaseNetscapePluginView initWithFrame:]): use renamed pendingFrameLoads ivar 10502 (-[WebBaseNetscapePluginView dealloc]): ditto 10503 (-[WebBaseNetscapePluginView requestWithURLCString:]): set referrer on the request just as IE does 10504 (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): 10505 - call NPP_URLNotify depending of value of sendNotification 10506 - call new init method on WebBaseNetscapePluginStream rather then setting variables individually 10507 (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]): new, calls NPP_URLNotify at the right time with the right value 10508 (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithError:]): new, delegate method called from WebFrame 10509 (-[WebBaseNetscapePluginView loadPluginRequest:]): call addFrameLoadObserver 10510 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): take new sendNotification parameter and pass it 10511 (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]): pass YES for sendNotification 10512 (-[WebBaseNetscapePluginView getURL:target:]): pass NO for sendNotification 10513 (-[WebBaseNetscapePluginView _postURL:target:len:buf:file:notifyData:sendNotification:allowHeaders:]): take new sendNotification parameter and pass it 10514 (-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]): pass YES for sendNotification 10515 (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): pass NO for sendNotification 10516 (-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:]): take new sendNotification parameter 10517 (-[WebPluginRequest sendNotification]): new 10518 * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h: 10519 * Plugins.subproj/WebNetscapePluginEmbeddedView.m: 10520 (-[WebNetscapePluginEmbeddedView didStart]): set referrer on the request just as IE does 10521 * Plugins.subproj/WebNetscapePluginRepresentation.m: 10522 (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): set the request URL on the stream 10523 * Plugins.subproj/WebNetscapePluginStream.h: 10524 * Plugins.subproj/WebNetscapePluginStream.m: 10525 (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): take new sendNotification parameter and pass it 10526 (-[WebNetscapePluginStream dealloc]): use renamed ivar 10527 (-[WebNetscapePluginStream start]): ditto 10528 * WebView.subproj/WebFrame.m: 10529 (-[WebFrame _setState:]): removed notification posting code. This was only used by WebBaseNetscapePluginView and it was the wrong notification to send. 10530 (-[WebFrame _checkLoadCompleteForThisFrame]): call internal load delegate to tell it that the load has finished 10531 (-[WebFrame _loadItem:withLoadType:]): ditto 10532 (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): ditto 10533 (-[WebFrame _setInternalLoadDelegate:]): new 10534 (-[WebFrame _internalLoadDelegate]): new 10535 * WebView.subproj/WebFrameInternal.h: 10536 * WebView.subproj/WebFramePrivate.h: 10537 105382004-10-04 Chris Blumenberg <cblu@apple.com> 10539 10540 Fixed: <rdar://problem/3758113> REGRESSION: Macromedia ColdFusion page doesn't show main content 10541 10542 After bumping up our plug-in version, Flash now sends 2 CRLF's between the headers and body of their POST request. Our code was not prepared for this. 10543 10544 Reviewed by darin. 10545 10546 * Plugins.subproj/WebBaseNetscapePluginView.m: 10547 (-[NSData _web_locationAfterFirstBlankLine]): looks for 2 CRLF's, not for 2 LF's 10548 105492004-10-04 Darin Adler <darin@apple.com> 10550 10551 Reviewed by Ken. 10552 10553 - fixed a potential storage leak when we turn on CGImageRef image rendering 10554 10555 * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer dealloc]): Fix potential storage leak 10556 by adding [super dealloc], but leak was not real yet because the code is commented out. 10557 10558 - make paste style work with color as part of fix to <rdar://problem/3814237> REGRESSION (Mail): 10559 Copy/paste style does not set color in Mail compose window 10560 10561 * WebView.subproj/WebHTMLView.m: 10562 (-[WebHTMLView _selectionFontAttributes]): Change structure so it's easy to add more attributes. 10563 For now I haven't added any yet. 10564 (-[WebHTMLView _colorAsString:]): Moved this earlier in the file. 10565 (-[WebHTMLView _shadowAsString:]): Ditto. 10566 (-[WebHTMLView _styleFromFontAttributes:]): Add background color, foreground color, and text shadow. 10567 105682004-09-30 Richard Williamson <rjw@apple.com> 10569 10570 Fixed <rdar://problem/3821215> NPN hasMethod and hasProperty functions should take NPObjects, not NPClass 10571 10572 Also changed dashboard regions dictionary to use "control" 10573 for scroller region label, instead of "scroller, per 10574 request from ouch. 10575 10576 Reviewed by Chris. 10577 10578 * Plugins.subproj/npruntime.h: 10579 * WebView.subproj/WebView.m: 10580 (-[WebView _addScrollerDashboardRegions:from:]): 10581 105822004-09-30 Chris Blumenberg <cblu@apple.com> 10583 10584 Fixed: <rdar://problem/3498680> switching back and forth between tabs stops calling anything in a plug-in 10585 10586 Reviewed by darin. 10587 10588 * Plugins.subproj/WebBaseNetscapePluginView.m: 10589 (-[WebBaseNetscapePluginView sendEvent:]): call setWindowIfNecessary because the window may have changed 10590 (-[WebBaseNetscapePluginView updateAndSetWindow]): new 10591 (-[WebBaseNetscapePluginView setWindowIfNecessary]): was setWindow, this method now just sets the window 10592 (-[WebBaseNetscapePluginView start]): call updateAndSetWindow 10593 (-[WebBaseNetscapePluginView viewDidMoveToWindow]): ditto 10594 (-[WebBaseNetscapePluginView viewHasMoved:]): ditto 10595 105962004-09-30 Chris Blumenberg <cblu@apple.com> 10597 10598 Fixed: <rdar://problem/3498668> switching out of tab doesn't send loseFocusEvent to plug-in 10599 10600 Reviewed by rjw. 10601 10602 * Plugins.subproj/WebBaseNetscapePluginView.h: 10603 * Plugins.subproj/WebBaseNetscapePluginView.m: 10604 (-[WebBaseNetscapePluginView setHasFocus:]): new, sends events to plug-in 10605 (-[WebBaseNetscapePluginView becomeFirstResponder]): call setHasFocus 10606 (-[WebBaseNetscapePluginView resignFirstResponder]): ditto 10607 (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): ditto 10608 106092004-09-30 Chris Blumenberg <cblu@apple.com> 10610 10611 Fixed: 10612 Assertion failure when loading standalone netscape plug-in content. 10613 Document loads of WebKit plug-in content should be cancelled since the plug-in does its own loading. 10614 10615 Reviewed by john. 10616 10617 * Misc.subproj/WebKitErrors.m: removed deprecated method 10618 * Misc.subproj/WebKitErrorsPrivate.h: 10619 * Plugins.subproj/WebNetscapePluginDocumentView.m: 10620 (-[WebNetscapePluginDocumentView setDataSource:]): fixed the assertion statement 10621 * Plugins.subproj/WebPluginDocumentView.h: 10622 * Plugins.subproj/WebPluginDocumentView.m: 10623 (-[WebPluginDocumentView dealloc]): remove retained plug-in 10624 (-[WebPluginDocumentView setDataSource:]): retain the plug-in, cancel the laod 10625 106262004-09-29 Chris Blumenberg <cblu@apple.com> 10627 10628 Fixed: 10629 <rdar://problem/3763832> Safari-155: Non-Embeded movies fail to open in Cocoa QT plug-in 10630 <rdar://problem/3820517> "*** -[WebPluginPackage NPP_New]: selector not recognized [self = 0x5552c10]" 10631 10632 Reviewed by rjw. 10633 10634 * History.subproj/WebHistoryItem.m: 10635 * Misc.subproj/WebNSViewExtras.h: 10636 * Misc.subproj/WebNSViewExtras.m: 10637 (-[NSView _web_firstResponderCausesFocusDisplay]): 10638 (-[NSView _webView]): 10639 (-[NSView _frame]): 10640 (-[NSView _bridge]): 10641 (-[NSView _dataSource]): 10642 * Plugins.subproj/WebBasePluginPackage.h: 10643 * Plugins.subproj/WebBasePluginPackage.m: 10644 (-[WebBasePluginPackage hash]): 10645 (-[WebBasePluginPackage isQuickTimePlugIn]): 10646 * Plugins.subproj/WebNetscapePluginDocumentView.m: 10647 (-[WebNetscapePluginDocumentView setDataSource:]): 10648 * Plugins.subproj/WebNetscapePluginRepresentation.m: 10649 * Plugins.subproj/WebPluginController.h: 10650 * Plugins.subproj/WebPluginController.m: 10651 (-[WebPluginController initWithDocumentView:]): 10652 (-[WebPluginController addPlugin:]): 10653 (-[WebPluginController destroyAllPlugins]): 10654 (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): 10655 (-[WebPluginController webPlugInContainerShowStatus:]): 10656 (-[WebPluginController webPlugInContainerSelectionColor]): 10657 (-[WebPluginController webFrame]): 10658 * Plugins.subproj/WebPluginDatabase.h: 10659 * Plugins.subproj/WebPluginDatabase.m: 10660 (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): 10661 (-[WebPluginDatabase refresh]): 10662 (WebPluginDocumentView::while): 10663 * Plugins.subproj/WebPluginDocumentView.h: Added. 10664 * Plugins.subproj/WebPluginDocumentView.m: Added. 10665 (-[WebPluginDocumentView initWithFrame:]): 10666 (-[WebPluginDocumentView dealloc]): 10667 (-[WebPluginDocumentView drawRect:]): 10668 (-[WebPluginDocumentView setDataSource:]): 10669 (-[WebPluginDocumentView setNeedsLayout:]): 10670 (-[WebPluginDocumentView layout]): 10671 (-[WebPluginDocumentView currentWindow]): 10672 (-[WebPluginDocumentView viewWillMoveToWindow:]): 10673 (-[WebPluginDocumentView viewDidMoveToWindow]): 10674 (-[WebPluginDocumentView viewWillMoveToHostWindow:]): 10675 (-[WebPluginDocumentView viewDidMoveToHostWindow]): 10676 (-[WebPluginDocumentView receivedData:withDataSource:]): 10677 (-[WebPluginDocumentView receivedError:withDataSource:]): 10678 (-[WebPluginDocumentView finishedLoadingWithDataSource:]): 10679 (-[WebPluginDocumentView canProvideDocumentSource]): 10680 (-[WebPluginDocumentView documentSource]): 10681 (-[WebPluginDocumentView title]): 10682 * Plugins.subproj/npapi.m: 10683 (NPN_ReleaseVariantValue): 10684 (NPN_GetStringIdentifier): 10685 (NPN_GetStringIdentifiers): 10686 (NPN_GetIntIdentifier): 10687 (NPN_IdentifierIsString): 10688 (NPN_UTF8FromIdentifier): 10689 (NPN_IntFromIdentifier): 10690 (NPN_CreateObject): 10691 (NPN_RetainObject): 10692 (NPN_ReleaseObject): 10693 (NPN_Invoke): 10694 (NPN_InvokeDefault): 10695 (NPN_Evaluate): 10696 (NPN_GetProperty): 10697 (NPN_SetProperty): 10698 (NPN_RemoveProperty): 10699 (NPN_HasProperty): 10700 (NPN_HasMethod): 10701 (NPN_SetException): 10702 (NPN_Call): 10703 * WebCoreSupport.subproj/WebBridge.m: 10704 (-[WebBridge frameRequiredForMIMEType:URL:]): 10705 * WebCoreSupport.subproj/WebViewFactory.m: 10706 * WebKit.exp: 10707 * WebKit.pbproj/project.pbxproj: 10708 * WebView.subproj/WebDebugDOMNode.m: 10709 * WebView.subproj/WebDocumentInternal.h: 10710 * WebView.subproj/WebHTMLView.m: 10711 (-[WebHTMLView initWithFrame:]): 10712 * WebView.subproj/WebHTMLViewPrivate.h: 10713 * WebView.subproj/WebImageRepresentation.h: 10714 * WebView.subproj/WebRenderNode.m: 10715 * WebView.subproj/WebView.m: 10716 107172004-09-29 Richard Williamson <rjw@apple.com> 10718 10719 Fixed <rdar://problem/3779998> bringing window to front or sending to back does not send focus/blur events to JavaScript window object 10720 10721 The fix has two parts, 1) make onblur and onfocus work for windows, 10722 and 2), allow the dashboard to override WebKit's special key/non-key 10723 behaviors. 10724 10725 Reviewed by Maciej. 10726 10727 * Plugins.subproj/WebBaseNetscapePluginView.m: 10728 (-[WebBaseNetscapePluginView restartNullEvents]): 10729 * WebView.subproj/WebHTMLView.m: 10730 (-[WebHTMLView addMouseMovedObserver]): 10731 (-[WebHTMLView removeMouseMovedObserver]): 10732 * WebView.subproj/WebView.m: 10733 (-[WebView _dashboardBehavior:]): 10734 * WebView.subproj/WebViewInternal.h: 10735 * WebView.subproj/WebViewPrivate.h: 10736 107372004-09-29 Maciej Stachowiak <mjs@apple.com> 10738 10739 Reviewed by John. 10740 10741 - consolidated OS version checks into prefix header 10742 10743 * Misc.subproj/WebFileDatabase.m: 10744 (-[WebFileDatabase _createLRUList:]): 10745 (+[WebFileDatabase _syncLoop:]): 10746 * Misc.subproj/WebKitErrors.m: 10747 (registerErrors): 10748 * Misc.subproj/WebNSObjectExtras.h: 10749 (WebNSRetainCFRelease): 10750 * Misc.subproj/WebNSPasteboardExtras.m: 10751 (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]): 10752 * Misc.subproj/WebUnicode.m: 10753 (_unicodeDirection): 10754 * WebCoreSupport.subproj/WebImageData.h: 10755 * WebCoreSupport.subproj/WebImageRenderer.h: 10756 * WebCoreSupport.subproj/WebKeyGenerator.h: 10757 * WebCoreSupport.subproj/WebNewKeyGeneration.c: 10758 * WebKitPrefix.h: 10759 * WebView.subproj/WebDataSource.m: 10760 (+[WebDataSource _repTypesAllowImageTypeOmission:]): 10761 (-[WebDataSource isLoading]): 10762 * WebView.subproj/WebFrameView.m: 10763 (+[WebFrameView _viewTypesAllowImageTypeOmission:]): 10764 * WebView.subproj/WebHTMLView.m: 10765 * WebView.subproj/WebPDFRepresentation.h: 10766 * WebView.subproj/WebPDFRepresentation.m: 10767 * WebView.subproj/WebPDFView.h: 10768 * WebView.subproj/WebPDFView.m: 10769 107702004-09-29 Ken Kocienda <kocienda@apple.com> 10771 10772 Reviewed by Hyatt 10773 10774 Fix for this bug: 10775 10776 <rdar://problem/3818296> REGRESSION (Mail): centerSelectionInVisibleArea does not work correctly 10777 10778 * WebView.subproj/WebHTMLView.m: 10779 (-[WebHTMLView centerSelectionInVisibleArea:]): Now calls new centerSelectionInVisibleArea 10780 bridge function instead of ensureCaretVisible. Now handles caret selections and range 10781 selections correctly. 10782 107832004-09-28 Chris Blumenberg <cblu@apple.com> 10784 10785 Added timing code so that Doug can time RTF conversion. 10786 10787 * WebView.subproj/WebHTMLView.m: 10788 (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): 10789 (-[WebHTMLView _attributeStringFromDOMRange:]): 10790 107912004-09-28 Richard Williamson <rjw@apple.com> 10792 10793 <rdar://problem/3817421> add getter for dashboard regions (debugging) 10794 10795 <rdar://problem/3817417> NSScrollView need autoregions for dashboard 10796 Also KWQScrollBars 10797 10798 Reviewed by Hyatt. 10799 10800 * WebCoreSupport.subproj/WebBridge.m: 10801 (-[WebBridge dashboardRegionsChanged:]): 10802 * WebView.subproj/WebView.m: 10803 (-[WebView _setInitiatedDrag:]): 10804 (-[WebView _addScrollerDashboardRegions:from:]): 10805 (-[WebView _addScrollerDashboardRegions:]): 10806 (-[WebView _dashboardRegions]): 10807 * WebView.subproj/WebViewPrivate.h: 10808 108092004-09-27 John Sullivan <sullivan@apple.com> 10810 10811 - fixed <rdar://problem/3814705> 8A266: Safari authentication dialog "remember password" text should match Mail 10812 10813 * Panels.subproj/English.lproj/WebAuthenticationPanel.nib: 10814 changed "Remember this password" to "Remember this password in my keychain"; 10815 this will need to go through CCC for this week's build. 10816 108172004-09-27 Chris Blumenberg <cblu@apple.com> 10818 10819 Fixed: <rdar://problem/3594754> change null event interval from 20 ms to 10 ms to match speed on Windows 10820 10821 Reviewed by John. 10822 10823 * Plugins.subproj/WebBaseNetscapePluginView.m: 10824 108252004-09-27 Chris Blumenberg <cblu@apple.com> 10826 10827 Fixed: <rdar://problem/3502138> text files don't remember scroll position when going back or reloading 10828 10829 Reviewed by john. 10830 10831 * WebView.subproj/WebTextView.m: 10832 (-[WebTextView layout]): implemented, call sizeToFit, without this scrollPoint: won't work 10833 108342004-09-27 John Sullivan <sullivan@apple.com> 10835 10836 Reviewed by Ken. 10837 10838 - WebKit part of fix for <rdar://problem/3734466> ER: Support standard editing keystrokes 10839 like Cmd-B while editing rich text 10840 10841 * WebView.subproj/WebHTMLView.m: 10842 (-[WebHTMLView _toggleBold]): 10843 new method, toggles font-weight from "bold" to "normal" 10844 (-[WebHTMLView _toggleItalic]): 10845 new method, toggles font-style from "italic" to "normal" 10846 (-[WebHTMLView _handleStyleKeyEquivalent:]): 10847 new method, if the new preference is set and we're in an editable state, check for standard 10848 key equivalents for toggling styles (just command-B and command-I for now). 10849 (-[WebHTMLView performKeyEquivalent:]): 10850 Moved in file, now calls _handleStyleKeyEquivalent: 10851 10852 * WebView.subproj/WebPreferenceKeysPrivate.h: 10853 new preference key WebKitRespectStandardStyleKeyEquivalentsPreferenceKey 10854 * WebView.subproj/WebPreferences.m: 10855 (+[WebPreferences initialize]): 10856 initial value of WebKitRespectStandardStyleKeyEquivalentsPreferenceKey is NO (maybe we'll 10857 change our minds about this, but this is more guaranteed to be backward-compatible) 10858 (-[WebPreferences respectStandardStyleKeyEquivalents]): 10859 read WebKitRespectStandardStyleKeyEquivalentsPreferenceKey 10860 (-[WebPreferences setRespectStandardStyleKeyEquivalents:]): 10861 write WebKitRespectStandardStyleKeyEquivalentsPreferenceKey 10862 10863 * WebView.subproj/WebPreferencesPrivate.h: 10864 declare getter and setter 10865 10866 * English.lproj/StringsNotToBeLocalized.txt: 10867 updated for these and other recent changes 10868 108692004-09-27 Chris Blumenberg <cblu@apple.com> 10870 10871 Fixed: <rdar://problem/3806649> assertion failure after control-click of webcam 10872 10873 Reviewed by john. 10874 10875 * WebView.subproj/WebDefaultContextMenuDelegate.m: 10876 (-[WebDefaultUIDelegate contextMenuItemsForElement:]): don't provide "Copy Image" if the image is not fully loaded 10877 108782004-09-27 Chris Blumenberg <cblu@apple.com> 10879 10880 Fixed: <rdar://problem/3814810> REGRESSION (125-164): Exception adding nil to dictionary in dragging code 10881 10882 Reviewed by john. 10883 10884 * WebView.subproj/WebHTMLView.m: 10885 (-[WebHTMLView _setMouseDownEvent:]): new 10886 (-[WebHTMLView acceptsFirstMouse:]): call _setMouseDownEvent 10887 (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): ditto 10888 (-[WebHTMLView mouseDown:]): ditto 10889 (-[WebHTMLView _delegateDragSourceActionMask]): removed temp fix, assert that the mouse event is not nil 10890 108912004-09-27 Darin Adler <darin@apple.com> 10892 10893 * WebKit.pbproj/project.pbxproj: Added WebDashboardRegion.h as a private header. 10894 108952004-09-24 Chris Blumenberg <cblu@apple.com> 10896 10897 Reviewed by rjw. 10898 10899 * WebView.subproj/WebHTMLView.m: 10900 (-[WebHTMLView _selectedArchive]): added timing code for copying markup 10901 10902=== Safari-165 === 10903 109042004-09-24 Chris Blumenberg <cblu@apple.com> 10905 10906 Temp fix for: <rdar://problem/3814810> REGRESSION (125-164): Exception adding nil to dictionary in dragging code 10907 10908 Reviewed by john. 10909 10910 * WebView.subproj/WebHTMLView.m: 10911 (-[WebHTMLView _delegateDragSourceActionMask]): return none if the mouse down event is nil 10912 109132004-09-24 Ken Kocienda <kocienda@apple.com> 10914 10915 Reviewed by John 10916 10917 Fix for this bug: 10918 10919 <rdar://problem/3813917> REGRESSION (125-163): The font panel will change the font of any web page 10920 10921 We were doing a laughably bad job at preventing edits in documents that were not editable. 10922 This change fixes the specific case of the bug mentioned above, and makes an attempt to 10923 fix similar bugs by checking for whether the view is in editing mode before making edits. 10924 10925 * WebView.subproj/WebHTMLView.m: 10926 (-[WebHTMLView _canEdit]): Renamed from _canType. Used in many more places in the code now. 10927 (-[WebHTMLView _isMoveDrag]): Change around code to make the meaning more clear. This one 10928 was actually performing a correct check before. 10929 (-[WebHTMLView keyDown:]): Renamed _canType to _canEdit. 10930 (-[WebHTMLView paste:]): Don't beep if can't paste. This matches AppKit. Any paste-related beeps 10931 will come from failure to handle key equivalent. Menu validation will kick in to dim menu. 10932 (-[WebHTMLView _applyStyleToSelection:]): Bail if !_canEdit. 10933 (-[WebHTMLView pasteAsPlainText:]): Ditto. 10934 (-[WebHTMLView _alignSelectionUsingCSSValue:]): Ditto. 10935 (-[WebHTMLView insertNewline:]): Ditto. 10936 (-[WebHTMLView insertParagraphSeparator:]): Ditto. 10937 (-[WebHTMLView _changeWordCaseWithSelector:]): Ditto. 10938 (-[WebHTMLView _deleteWithDirection:granularity:killRing:]): Ditto. 10939 (-[WebHTMLView complete:]): Ditto. 10940 (-[WebHTMLView _changeSpellingToWord:]): Ditto. Some code rearranging to eliminate bridge local variable. 10941 (-[WebHTMLView ignoreSpelling:]): Ditto. 10942 (-[WebHTMLView yank:]): Bail if !_canEdit. 10943 (-[WebHTMLView yankAndSelect:]): Ditto. 10944 (-[WebHTMLView deleteToMark:]): Ditto. 10945 (-[WebHTMLView swapWithMark:]): Ditto. 10946 (-[WebHTMLView transpose:]): Ditto. 10947 (-[WebHTMLView _updateFontPanel]): Ditto. Some code rearranging to eliminate bridge local variable. 10948 (-[WebHTMLView setMarkedText:selectedRange:]): Bail if !_canEdit. 10949 (-[WebHTMLView _insertText:selectInsertedText:]): Ditto. Some code rearranging to eliminate bridge local variable. 10950 * WebView.subproj/WebHTMLViewPrivate.h: Renamed _canType to _canEdit. 10951 109522004-09-24 Ken Kocienda <kocienda@apple.com> 10953 10954 Reviewed by me 10955 10956 * WebCoreSupport.subproj/WebDashboardRegion.h: Check in file copied from WebCore. 10957 109582004-09-23 Maciej Stachowiak <mjs@apple.com> 10959 10960 Reviewed by Darin. 10961 10962 <rdar://problem/3685235> REGRESSION (Mail): links are not properly editable 10963 10964 * WebView.subproj/WebDefaultUIDelegate.m: By default, don't allow 10965 link dragging if the element under the mouse pointer is 10966 editable. This way, you can drag-select starting inside a link. 10967 109682004-09-23 John Sullivan <sullivan@apple.com> 10969 10970 Reviewed by Chris. 10971 10972 - WebKit part of fix for <rdar://problem/3415264> 10973 Default encoding should initially be set to current system encoding 10974 10975 * WebView.subproj/WebPreferences.m: 10976 (-[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): 10977 new SPI that sets the initial value of the default text encoding to 10978 be the system encoding, with a special-case conversion of MacRoman->Latin1. 10979 This is not done automatically for WebKit clients for fear of breaking them. 10980 10981 * WebView.subproj/WebPreferencesPrivate.h: 10982 declare new SPI 10983 109842004-09-23 Darin Adler <darin@apple.com> 10985 10986 Reviewed by Ken. 10987 10988 - fixed <rdar://problem/3811584> REGRESSION (85-125): iframe.document undefined in function called from button onclick; works from img onclick 10989 10990 The fix is to not let "defers callbacks" have any effect on loading "about:blank". 10991 I also had to fix one bug in WebCore that could then be reproduced by going to "about:blank" 10992 while using a button. 10993 10994 * WebView.subproj/WebMainResourceClient.m: 10995 (-[WebMainResourceClient connection:didReceiveResponse:]): Loosen asserts to allow this callback 10996 for the specific case of "about:blank" even if the defers callbacks flag is true. 10997 (-[WebMainResourceClient connectionDidFinishLoading:]): Ditto. 10998 (-[WebMainResourceClient loadWithRequestNow:]): Added NSURLRequest return value. Loosened asserts 10999 as above. Changed code to return a new request if we get a new request back that is not empty 11000 when the defers callbacks flag is true. 11001 (-[WebMainResourceClient loadWithRequest:]): If the defers callbacks flag is set, but the 11002 URL is one that gives us an empty document, then do the work right away, don't defer it. 11003 110042004-09-23 Darin Adler <darin@apple.com> 11005 11006 - fixed B&I builds by checking in generated file 11007 11008 * WebCoreSupport.subproj/WebDashboardRegion.h: Added. 11009 110102004-09-22 Richard Williamson <rjw@apple.com> 11011 11012 Pass dashboard regions to UI delegate. 11013 11014 Reviewed by Hyatt. 11015 11016 * WebCoreSupport.subproj/WebBridge.m: 11017 (-[WebBridge dashboardRegionsChanged:]): 11018 * WebView.subproj/WebUIDelegatePrivate.h: 11019 * copy-webcore-files-to-webkit: 11020 110212004-09-22 Chris Blumenberg <cblu@apple.com> 11022 11023 Fixed build that I just broke. 11024 11025 * WebView.subproj/WebHTMLView.m: 11026 (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): 11027 110282004-09-22 Chris Blumenberg <cblu@apple.com> 11029 11030 <rdar://problem/3812091> REGRESSION (Mail): double-clicked word is not smart inserted on drag 11031 11032 Reviewed by john. 11033 11034 * WebView.subproj/WebHTMLView.m: 11035 (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): pass value for smartMove 11036 110372004-09-22 Chris Blumenberg <cblu@apple.com> 11038 11039 Fixed: 11040 <rdar://problem/3667301> Frequent crashes in Mail when viewing HTML messages (CFURLGetByteRangeForComponent) 11041 <rdar://problem/3810354> WebResourceLoadDelegate can't refuse requests by returning nil; code asserts/crashes instead 11042 11043 Reviewed by rjw. 11044 11045 * WebCoreSupport.subproj/WebSubresourceClient.m: 11046 (+[WebSubresourceClient startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]): removed broken code that handled loadWithRequest returning NO 11047 * WebView.subproj/WebBaseResourceHandleDelegate.m: 11048 (-[WebBaseResourceHandleDelegate loadWithRequest:]): if nil is returned from the client for willSendRequest, report the cancelled error and return 11049 110502004-09-22 Ken Kocienda <kocienda@apple.com> 11051 11052 Reviewed by Darin 11053 11054 * WebView.subproj/WebFrameView.m: 11055 (-[WebFrameView _webcore_effectiveFirstResponder]): New function to yield the correct responder 11056 to check for firstResponder-ness before calling makeFirstResonder. This helps to prevent 11057 unwanted firstResponder switching. 11058 * WebView.subproj/WebView.m: 11059 (-[WebView _webcore_effectiveFirstResponder]): Ditto. 11060 110612004-09-21 Chris Blumenberg <cblu@apple.com 11062 11063 Fixed: 11064 <rdar://problem/3735071> REGRESSION (Mail): WebCore Editing must do smart paste 11065 <rdar://problem/3799163> REGRESSION (Mail): Deleting a word doesn't delete whitespace 11066 11067 Reviewed by darin. 11068 11069 * WebView.subproj/WebDataSource.m: 11070 (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): pass NO for smartReplace 11071 * WebView.subproj/WebHTMLView.m: 11072 (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): pass parameter for smartReplace using _canSmartReplaceWithPasteboard 11073 (-[WebHTMLView _changeSpellingFromMenu:]): pass NO for smartReplace 11074 (-[WebHTMLView pasteboardTypesForSelection]): include WebSmartPastePboardType when _canSmartCopyOrDelete return YES 11075 (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): ditto 11076 (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): pass parameter for smartReplace using _canSmartReplaceWithPasteboard 11077 (-[WebHTMLView delete:]): call _deleteSelection 11078 (-[WebHTMLView cut:]): don't call delegate twice, call _deleteRange to delete 11079 (-[WebHTMLView pasteAsPlainText:]): pass parameter for smartReplace using _canSmartReplaceWithPasteboard 11080 (-[WebHTMLView _changeWordCaseWithSelector:]): pass NO for smartReplace 11081 (-[WebHTMLView deleteBackward:]): call _deleteSelection when there is a selected range 11082 (-[WebHTMLView _changeSpellingToWord:]): pass NO for smartReplace 11083 (-[WebHTMLView deleteToMark:]): pass NO for smartDeleteOK 11084 (-[WebHTMLView transpose:]): pass NO for smartReplace 11085 (-[WebHTMLView _shouldDeleteRange:]): moved 11086 (-[WebHTMLView _deleteRange:preflight:killRing:prepend:smartDeleteOK:]): moved, handle smartDelete 11087 (-[WebHTMLView _deleteWithDirection:granularity:killRing:]): moved 11088 (-[WebHTMLView _deleteSelection]): new 11089 (-[WebHTMLView _canSmartReplaceWithPasteboard]): new 11090 (-[WebHTMLView _canSmartCopyOrDelete]): new 11091 (-[WebHTMLView setMarkedText:selectedRange:]): pass NO for smartReplace 11092 (-[WebHTMLView _discardMarkedText]): call _deleteSelection 11093 (-[WebTextCompleteController _insertMatch:]): pass NO for smartReplace 11094 (-[WebTextCompleteController endRevertingChange:moveLeft:]): pass NO for smartReplace 11095 * WebView.subproj/WebHTMLViewInternal.h: 11096 * WebView.subproj/WebView.m: 11097 (-[WebView _commonInitializationWithFrameName:groupName:]): set smartInsertDeleteEnabled to YES 11098 (-[WebView replaceSelectionWithNode:]): pass NO for smartReplace 11099 (-[WebView replaceSelectionWithText:]): pass NO for smartReplace 11100 (-[WebView replaceSelectionWithMarkupString:]): pass NO for smartReplace 11101 (-[WebView deleteSelection]): call _deleteSelection on WebHTMLView 11102 111032004-09-21 John Sullivan <sullivan@apple.com> 11104 11105 Reviewed by Darin. 11106 11107 - WebKit part of fix for <rdar://problem/3618274> REGRESSION (125-135): 11108 Option-tab doesn't always work as expected 11109 11110 * WebCoreSupport.subproj/WebBridge.m: 11111 (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]): 11112 Don't set WebCoreKeyboardAccessFull when setting WebCoreKeyboardAccessTabsToLinks 11113 after all; these need to be tested independently to get the option-tab behavior 11114 correct. 11115 111162004-09-21 John Sullivan <sullivan@apple.com> 11117 11118 * WebView.subproj/WebHTMLView.m: 11119 (-[WebHTMLView doCommandBySelector:]): 11120 Commented out part of previous change; it breaks Mail editing until Mail 11121 fixes bug 3810158. 11122 111232004-09-21 John Sullivan <sullivan@apple.com> 11124 11125 Reviewed by Ken. 11126 11127 * WebView.subproj/WebHTMLView.m: 11128 (-[WebHTMLView doCommandBySelector:]): 11129 Fix build failure from previous checkin, d'oh! Didn't set up webview variable. 11130 111312004-09-21 John Sullivan <sullivan@apple.com> 11132 11133 Reviewed by Ken. 11134 11135 - fixed <rdar://problem/3809477> WebHTMLView needs to pass doCommandBySelector through delegate 11136 11137 * WebView.subproj/WebHTMLView.m: 11138 (-[WebHTMLView doCommandBySelector:]): 11139 Call through to editing delegate. If editing delegate returns YES, don't call super. 11140 11141 * WebView.subproj/WebDefaultEditingDelegate.m: 11142 (-[WebDefaultEditingDelegate webView:doCommandBySelector:]): 11143 default implementation (which was never called) was returning YES, but it should 11144 return NO to signal that it didn't handle the selector. 11145 111462004-09-21 Chris Blumenberg <cblu@apple.com> 11147 11148 Fixed: <rdar://problem/3647229> Safari does not play inline Windows Media Content on some sites (miggy.net and ministryofsound.com) 11149 11150 Reviewed by john. 11151 11152 * Plugins.subproj/WebBaseNetscapePluginView.m: 11153 * Plugins.subproj/WebNetscapePluginEmbeddedView.m: 11154 (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:]): set the plug-in before calling setting the attributes, so we can avoid passing certain attributes to the WMP plug-in that cause it to crash 11155 111562004-09-20 Chris Blumenberg <cblu@apple.com> 11157 11158 Fixed: <rdar://problem/3781290> REGRESSION (Mail): Crash in ReplaceSelectionCommandImpl attaching file to new message 11159 11160 Reviewed by kocienda. 11161 11162 * WebView.subproj/WebView.m: 11163 (-[WebView setEditable:]): call updateSelectionFromEmpty on the bridge if there is no selection 11164 111652004-09-20 Chris Blumenberg <cblu@apple.com> 11166 11167 Changes to implement renamed bridge methods. 11168 11169 Reviewed by darin. 11170 11171 * ChangeLog: 11172 * DOM.subproj/WebDOMOperations.m: 11173 (-[DOMDocument URLWithAttributeString:]): call renamed bridge method 11174 * WebCoreSupport.subproj/WebBridge.m: 11175 (-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]): take 2 parameter arrays rather than 1 which will have to be parsed 11176 (-[WebBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]): ditto 11177 111782004-09-20 Darin Adler <darin@apple.com> 11179 11180 Reviewed by Chris. 11181 11182 * WebView.subproj/WebFramePrivate.h: Added back. 11183 * WebView.subproj/WebFrameViewPrivate.h: Removed. 11184 111852004-09-20 Darin Adler <darin@apple.com> 11186 11187 Reviewed by Ken. 11188 11189 - fixed <rdar://problem/3655360> REGRESSION (Mail): Ctrl-V emacs key binding, -pageDown: method, unimplemented (and pageUp, and selection-modifying versions) 11190 - fixed <rdar://problem/3792138> REGRESSION (Mail): Spell checker doesn't check current selected word 11191 11192 * WebView.subproj/WebFrameViewInternal.h: Moved WebFrameViewPrivate inside the WebFrameView.m file. 11193 Removed a bunch of methods that don't need to be seen in other files, and added _verticalPageScrollDistance. 11194 * WebView.subproj/WebFrameViewPrivate.h: Removed. Renamed to WebFrameViewInternal.h. 11195 * WebView.subproj/WebFrameView.m: 11196 (-[WebFrameView _verticalKeyboardScrollDistance]): Move in the file because of internal vs. private. 11197 (-[WebFrameView _shouldDrawBorder]): Ditto. 11198 (-[WebFrameView _tile]): Ditto. 11199 (-[WebFrameView _verticalPageScrollDistance]): Added. Separate method so it can be called 11200 by the code to implement pageDown:. 11201 (-[WebFrameView _drawBorder]): Move in the file because of internal vs. private. 11202 (-[WebFrameView _goBack]): Ditto. 11203 (-[WebFrameView _goForward]): Ditto. 11204 (-[WebFrameView _scrollVerticallyBy:]): Ditto. 11205 (-[WebFrameView _scrollHorizontallyBy:]): Ditto. 11206 (-[WebFrameView _horizontalKeyboardScrollDistance]): Ditto. 11207 (-[WebFrameView _horizontalPageScrollDistance]): Added. Separate method for consistency with 11208 vertical method above. 11209 (-[WebFrameView _pageVertically:]): Moved and changed to use _verticalPageScrollDistance. 11210 (-[WebFrameView _pageHorizontally:]): Moved and changed to use _horizontalPageScrollDistance. 11211 (-[WebFrameView _scrollLineVertically:]): Move in the file because of internal vs. private. 11212 (-[WebFrameView _scrollLineHorizontally:]): Ditto. 11213 (-[WebFrameView scrollPageUp:]): Ditto. 11214 (-[WebFrameView scrollPageDown:]): Ditto. 11215 (-[WebFrameView scrollLineUp:]): Ditto. 11216 (-[WebFrameView scrollLineDown:]): Ditto. 11217 (-[WebFrameView _firstResponderIsControl]): Ditto. 11218 (-[WebFrameView keyDown:]): Changed to eliminate _pageLeft, _lineLeft, _pageRight, and _lineRight. 11219 11220 * WebView.subproj/WebDataSource.m: Use WebFrameView.h instead of WebFrameViewPrivate.h. 11221 11222 * WebView.subproj/WebHTMLView.m: 11223 (-[WebHTMLView _alterCurrentSelection:verticalDistance:]): Added. 11224 (-[WebHTMLView moveToBeginningOfDocument:]): Use WebSelectToDocumentBoundary. 11225 (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]): Ditto. 11226 (-[WebHTMLView moveToEndOfDocument:]): Ditto. 11227 (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]): Ditto. 11228 (-[WebHTMLView moveParagraphBackwardAndModifySelection:]): Added. 11229 (-[WebHTMLView moveParagraphForwardAndModifySelection:]): Added. 11230 (-[WebHTMLView pageUp:]): Added. 11231 (-[WebHTMLView pageDown:]): Added. 11232 (-[WebHTMLView pageUpAndModifySelection:]): Added. 11233 (-[WebHTMLView pageDownAndModifySelection:]): Added. 11234 (-[WebHTMLView showGuessPanel:]): Changed to call advanceToNextMisspellingStartingJustBeforeSelection. 11235 This fixes the problem with spell checking. 11236 11237 * WebView.subproj/WebImageView.m: 11238 (-[WebImageView webView]): Changed to use _web_parentWebView. 11239 (-[WebImageView menuForEvent:]): Changed to use [self webView]. 11240 (-[WebImageView mouseDown:]): Ditto. 11241 (-[WebImageView mouseDragged:]): Ditto. 11242 (-[WebImageView draggedImage:endedAt:operation:]): Ditto. 11243 11244 * WebView.subproj/WebTextView.m: 11245 (-[WebTextView _textSizeMultiplierFromWebView]): Changed to use _web_parentWebView. 11246 (-[WebTextView menuForEvent:]): Ditto. 11247 (-[WebTextView drawPageBorderWithSize:]): Ditto. 11248 (-[WebTextView knowsPageRange:]): Ditto. 11249 11250 * Plugins.subproj/WebPluginDatabase.m: Updated filename of WebFrameViewInternal.h. 11251 * WebCoreSupport.subproj/WebBridge.m: Ditto. 11252 * WebKit.pbproj/project.pbxproj: Ditto. 11253 * WebView.subproj/WebFrame.m: Ditto. 11254 * WebView.subproj/WebView.m: Ditto. 11255 * Misc.subproj/WebNSViewExtras.m: Ditto. 11256 112572004-09-20 Darin Adler <darin@apple.com> 11258 11259 Reviewed by Ken. 11260 11261 - added helper method _web_parentWebView so fewer files need to get at WebFrame private methods 11262 11263 * Misc.subproj/WebNSViewExtras.h: Added _web_parentWebView. 11264 * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_parentWebView]): Added. 11265 11266=== Safari-164 === 11267 112682004-09-17 Chris Blumenberg <cblu@apple.com> 11269 11270 Fixed: 11271 <rdar://problem/3805757> don't unnecessarily put RTFD on the pasteboard 11272 <rdar://problem/3805756> strip attachments before generating RTF 11273 11274 Reviewed by john. 11275 11276 * WebView.subproj/WebHTMLView.m: 11277 (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): only put RTFD on the pasteboard if it has attachments, strip attachments when writing RTF 11278 112792004-09-16 Darin Adler <darin@apple.com> 11280 11281 Reviewed by John. 11282 11283 - fixed <rdar://problem/3804648> 8A262: Safari crashed in -[WebView(WebPrivate) _editingDelegateForwarder] inside QuickTime Cocoa Plug-in during WebView deallocation 11284 11285 * WebView.subproj/WebView.m: (-[WebView _editingDelegateForwarder]): 11286 Check _private for nil before dereferencing it. 11287 112882004-09-16 Chris Blumenberg <cblu@apple.com> 11289 11290 Fixed: <rdar://problem/3779150> REGRESSION: images not copied when copying HTML in Safari and pasting into TextEdit 11291 11292 Reviewed by john. 11293 11294 * WebView.subproj/WebHTMLView.m: 11295 (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): use RTFDFromRange:: for RTFD 11296 * WebView.subproj/WebHTMLViewPrivate.h: 11297 112982004-09-15 Darin Adler <darin@apple.com> 11299 11300 Reviewed by John. 11301 11302 - fixed assertion I saw using the font panel 11303 11304 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _colorAsString:]): 11305 Convert color space before trying to get R, G, and B components. 11306 113072004-09-15 Chris Blumenberg <cblu@apple.com> 11308 11309 Fixed: <rdar://problem/3802232> REGRESSION (Mail): WebCore Editing must do smart copy 11310 11311 Reviewed by kocienda. 11312 11313 * WebView.subproj/WebHTMLView.m: 11314 (-[WebHTMLView _writeSelectionToPasteboard:]): call instance method not class method to get pasteboard types since the types depends on the current selection granularity 11315 (-[WebHTMLView pasteboardTypesForSelection]): if the selection granularity is "word" include the smart pasteboard type 11316 (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): put nil on the pasteboard for smart copy 11317 113182004-09-14 Darin Adler <darin@apple.com> 11319 11320 Reviewed by Maciej. 11321 11322 - fixed <rdar://problem/3788894> REGRESSION (Mail): ctrl-t emacs key binding does not work (transpose) 11323 - fixed <rdar://problem/3798946> REGRESSION (Mail): Cursor does not disappear when typing 11324 11325 * WebView.subproj/WebHTMLView.m: 11326 (-[WebHTMLView keyDown:]): Hide cursor by calling setHiddenUntilMouseMoves:YES. 11327 (-[WebHTMLView transpose:]): Added. 11328 113292004-09-14 Richard Williamson <rjw@apple.com> 11330 11331 1. Add class parameter to object allocation function. This is somewhat redundant, given that 11332 the allocation function is in the class function vector, but people wanted to use the same 11333 allocation function for different classes. 11334 11335 2. Renamed NPN_Class to NPN_Invoke to match the name in the function vector. 11336 11337 3. Add support for a default function on an object. This is a feature that ActiveX supports, 11338 and will allow JavaScript code to be written that will look exactly the same for both ActiveX 11339 plugins and Netscape or WebKit plugins. There are implementations included for the 'C' and 11340 'Objective-C' bindings. 11341 11342 There bugs are covered by 11343 11344 <rdar://problem/3776343> Support for default functions in the JavaScript bindings 11345 <rdar://problem/3779186> NPN_Call needs to be renamed to NPN_Invoke 11346 <rdar://problem/3674754> Need to implement latest npruntime.h 11347 11348 Reviewed by John. 11349 11350 * Plugins.subproj/WebNetscapePluginPackage.m: 11351 (-[WebNetscapePluginPackage load]): 11352 * Plugins.subproj/WebScriptObject.h: 11353 * Plugins.subproj/npfunctions.h: 11354 * Plugins.subproj/npruntime.h: 11355 113562004-09-13 Richard Williamson <rjw@apple.com> 11357 11358 D'oh. How many times can I screw up a simple fix! 11359 11360 * WebCoreSupport.subproj/WebTextRenderer.m: 11361 (-[WebTextRenderer initWithFont:usingPrinterFont:]): 11362 113632004-09-13 Richard Williamson <rjw@apple.com> 11364 11365 Fixed snafu from 3782533 checkin. 11366 11367 Reviewed by John. 11368 11369 * WebCoreSupport.subproj/WebTextRenderer.m: 11370 (-[WebTextRenderer initWithFont:usingPrinterFont:]): 11371 113722004-09-12 Chris Blumenberg <cblu@apple.com> 11373 11374 Support for: <rdar://problem/3794790> drop rate or time remaining from download status when window is too small to fit it 11375 11376 Reviewed by john. 11377 11378 * Misc.subproj/WebStringTruncator.h: 11379 * Misc.subproj/WebStringTruncator.m: 11380 (+[WebStringTruncator widthOfString:font:]): new 11381 113822004-09-10 Richard Williamson <rjw@apple.com> 11383 11384 Fixed <rdar://problem/3782533> CrashTracer: .1459 crashes at com.apple.WebKit: -[WebTextRenderer initWithFont:usingPrinterFont:] + 0x138 11385 11386 We were explicitly failing when we encountered deprecated fonts. 11387 (Those with unsupported glyph packings). 11388 Deprecated fonts should only appear on a system that have 11389 stuff migrated from OS 9. Ugh, thats probably why we've never seen 11390 the problem here. 11391 11392 Reviewed by John. 11393 11394 * WebCoreSupport.subproj/WebTextRenderer.m: 11395 (-[WebTextRenderer initWithFont:usingPrinterFont:]): 11396 113972004-09-10 John Sullivan <sullivan@apple.com> 11398 11399 Reviewed by Chris. 11400 11401 - added _isFrameSet as a private method, so it can be used in WebBrowser. 11402 This is needed to merge the fix for 3123987 to SUPanNavy. 11403 11404 * WebView.subproj/WebFrame.m: 11405 (-[WebFrame _isFrameSet]): 11406 new method 11407 11408 * WebView.subproj/WebFramePrivate.h: 11409 declare new method 11410 114112004-09-09 Chris Blumenberg <cblu@apple.com> 11412 11413 Support for: <rdar://problem/3795485> debug menu item to enable RSS animation on first layout 11414 11415 Reviewed by rjw. 11416 11417 * WebCoreSupport.subproj/WebBridge.m: 11418 (-[WebBridge didFirstLayout]): new 11419 * WebView.subproj/WebDefaultFrameLoadDelegate.m: 11420 (-[WebDefaultFrameLoadDelegate webView:didFirstLayoutInFrame:]): new 11421 * WebView.subproj/WebViewPrivate.h: 11422 114232004-09-09 Richard Williamson <rjw@apple.com> 11424 11425 Alternate implementation of image rendering. Use CGImageRefs instead 11426 of NSImages. 11427 11428 Mostly works, but currently disabled because of issues w/ CG. 11429 11430 Reviewed by Chris. 11431 11432 * ChangeLog: 11433 * WebCoreSupport.subproj/WebImageData.h: Added. 11434 * WebCoreSupport.subproj/WebImageData.m: Added. 11435 (-[WebImageData _commonTermination]): 11436 (-[WebImageData dealloc]): 11437 (-[WebImageData finalize]): 11438 (-[WebImageData copyWithZone:]): 11439 (-[WebImageData numberOfImages]): 11440 (-[WebImageData currentFrame]): 11441 (-[WebImageData _invalidateImages]): 11442 (-[WebImageData imageAtIndex:]): 11443 (-[WebImageData incrementalLoadWithBytes:length:complete:]): 11444 (drawPattern): 11445 (-[WebImageData tileInRect:fromPoint:context:]): 11446 (-[WebImageData isNull]): 11447 (-[WebImageData size]): 11448 (-[WebImageData _frameDuration]): 11449 (-[WebImageData _repetitionCount]): 11450 (-[WebImageData isAnimationFinished]): 11451 (+[WebImageData stopAnimationsInView:]): 11452 (-[WebImageData addAnimatingRenderer:inView:]): 11453 (-[WebImageData removeAnimatingRenderer:]): 11454 (-[WebImageData _stopAnimation]): 11455 (-[WebImageData _nextFrame:]): 11456 (-[WebImageData animate]): 11457 * WebCoreSupport.subproj/WebImageRenderer.h: 11458 * WebCoreSupport.subproj/WebImageRenderer.m: 11459 (-[WebImageRenderer initWithMIMEType:]): 11460 (-[WebImageRenderer initWithData:MIMEType:]): 11461 (-[WebImageRenderer initWithContentsOfFile:]): 11462 (-[WebImageRenderer dealloc]): 11463 (-[WebImageRenderer copyWithZone:]): 11464 (-[WebImageRenderer retainOrCopyIfNeeded]): 11465 (-[WebImageRenderer resize:]): 11466 (-[WebImageRenderer size]): 11467 (-[WebImageRenderer MIMEType]): 11468 (-[WebImageRenderer frameCount]): 11469 (-[WebImageRenderer isNull]): 11470 (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): 11471 (-[WebImageRenderer drawImageInRect:fromRect:]): 11472 (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]): 11473 (-[WebImageRenderer tileInRect:fromPoint:context:]): 11474 (-[WebImageRenderer _startOrContinueAnimationIfNecessary]): 11475 (+[WebImageRenderer stopAnimationsInView:]): 11476 (-[WebImageRenderer stopAnimation]): 11477 (-[WebImageRenderer targetAnimationRect]): 11478 (-[WebImageRenderer increaseUseCount]): 11479 (-[WebImageRenderer decreaseUseCount]): 11480 (-[WebImageRenderer flushRasterCache]): 11481 (-[WebImageRenderer imageRef]): 11482 (-[WebImageRenderer TIFFRepresentation]): 11483 (-[WebImageRenderer image]): 11484 * WebCoreSupport.subproj/WebImageRendererFactory.m: 11485 (-[WebImageRendererFactory imageRendererWithMIMEType:]): 11486 (-[WebImageRendererFactory imageRendererWithData:MIMEType:]): 11487 (-[WebImageRendererFactory imageRendererWithSize:]): 11488 (-[WebImageRendererFactory imageRendererWithName:]): 11489 * WebKit.pbproj/project.pbxproj: 11490 * WebView.subproj/WebImageView.m: 11491 (-[WebImageView image]): 11492 11493=== Safari-163 === 11494 114952004-09-09 Maciej Stachowiak <mjs@apple.com> 11496 11497 - rolled out last two changes, they seem to cause a performance regression 11498 11499 * WebView.subproj/WebHTMLView.m: 11500 (-[WebHTMLView firstRectForCharacterRange:]): 11501 115022004-09-09 Maciej Stachowiak <mjs@apple.com> 11503 11504 - fixed build 11505 11506 * WebView.subproj/WebHTMLView.m: 11507 (-[WebHTMLView firstRectForCharacterRange:]): 11508 115092004-09-08 Maciej Stachowiak <mjs@apple.com> 11510 11511 Reviewed by Dave. 11512 11513 WebKit part of fix for: 11514 11515 <rdar://problem/3759187> REGRESSION (Mail): implement firstRectForCharacterRange: 11516 11517 * WebView.subproj/WebHTMLView.m: 11518 (-[WebHTMLView firstRectForCharacterRange:]): Call the appropriate new bridge method, 11519 and translate to screen coordinates. 11520 115212004-09-09 Darin Adler <darin@apple.com> 11522 11523 Reviewed by Ken. 11524 11525 - fixed <rdar://problem/3790526> mark-related methods not implemented (needed for people with them in their key bindings files) 11526 11527 * WebKit.pbproj/project.pbxproj: Update MACOSX_DEPLOYMENT_TARGET to 10.3 and add -fobjc-exceptions 11528 so we can use new exceptions. 11529 11530 * WebView.subproj/WebHTMLView.m: 11531 (-[WebHTMLView setMark:]): Added. 11532 (unionDOMRanges): Added. 11533 (-[WebHTMLView deleteToMark:]): Added. 11534 (-[WebHTMLView selectToMark:]): Added. 11535 (-[WebHTMLView swapWithMark:]): Added. 11536 (-[WebHTMLView markedRange]): Updated for change to bridge method names. 11537 (-[WebHTMLView hasMarkedText]): Ditto. 11538 (-[WebHTMLView unmarkText]): Ditto. 11539 (-[WebHTMLView _selectMarkedText]): Ditto. 11540 (-[WebHTMLView _selectRangeInMarkedText:]): Ditto. 11541 (-[WebHTMLView setMarkedText:selectedRange:]): Ditto. 11542 (-[WebHTMLView _insertText:selectInsertedText:]): Removed check for empty string. An empty string 11543 should not be filtered out here. We need to allow inserting an empty string. 11544 (-[WebHTMLView _selectionIsInsideMarkedText]): Updated for change to bridge method names. 11545 (-[WebHTMLView _updateSelectionForInputManager]): Ditto. 11546 11547 * WebView.subproj/WebView.m: (-[WebView searchFor:direction:caseSensitive:wrap:]): 11548 Changed to use selectionDOMRange instead of selectionStart. 11549 11550 * WebView.subproj/WebHTMLRepresentation.h: Removed unused setSelectionFrom method. 11551 * WebView.subproj/WebHTMLRepresentation.m: Ditto. 11552 115532004-09-08 John Sullivan <sullivan@apple.com> 11554 11555 Reviewed by Darin. 11556 11557 - fixed the localization aspect of: 11558 <rdar://problem/3790011> undoable operations all say "Undo" in the menu, no specific action names 11559 11560 We now have all the strings ready for localization; we just don't actually use them yet. 11561 11562 * English.lproj/Localizable.strings: 11563 updated for this change 11564 11565 * WebCoreSupport.subproj/WebBridge.m: 11566 (-[WebBridge setUndoActionNamePlaceholder]): 11567 added this placeholder method whose purpose is to hold localizable strings for all the Undo 11568 action names that NSTextView uses. Later we will use some or all of these, but we can do 11569 that part after the localization freeze. 11570 115712004-09-08 Chris Blumenberg <cblu@apple.com> 11572 11573 Fixed: <rdar://problem/3778785> REGRESSION (Mail): copying from MS word and pasting into editable region leaves internal clipboard data 11574 11575 Reviewed by kocienda. 11576 11577 * WebView.subproj/WebHTMLView.m: 11578 (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): ignore Microsoft's header meta data 11579 115802004-09-08 Chris Blumenberg <cblu@apple.com> 11581 11582 Fixed: <rdar://problem/3792893> WebBaseResourceHandleDelegate always returns cached data for subresource loads 11583 11584 Reviewed by rjw. 11585 11586 * WebView.subproj/WebBaseResourceHandleDelegate.m: 11587 (-[WebBaseResourceHandleDelegate _canUseResourceForRequest:]): new 11588 (-[WebBaseResourceHandleDelegate loadWithRequest:]): call _canUseResourceForRequest: 11589 115902004-09-08 Chris Blumenberg <cblu@apple.com> 11591 11592 Forgot to add this in previous check-in. 11593 11594 * English.lproj/WebViewEditingContextMenu.nib: Added. 11595 115962004-09-08 Chris Blumenberg <cblu@apple.com> 11597 11598 Fixed: <rdar://problem/3791240> WebKit uses the NSTextViewContextMenu nib from inside AppKit 11599 11600 Reviewed by john. 11601 11602 * English.lproj/StringsNotToBeLocalized.txt: 11603 * WebKit.pbproj/project.pbxproj: 11604 * WebView.subproj/WebDefaultContextMenuDelegate.m: 11605 (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]): use our copy of the nib 11606 116072004-09-07 Darin Adler <darin@apple.com> 11608 11609 * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 11610 116112004-09-07 Chris Blumenberg <cblu@apple.com> 11612 11613 Fixed: <rdar://problem/3790143> exception raised when dragging a URL with 2-byte characters 11614 11615 (checked in with last check-in) 11616 116172004-09-07 Chris Blumenberg <cblu@apple.com> 11618 11619 Fixed: 11620 <rdar://problem/3080103> Need to pass cmd-modified keys to plug-ins 11621 <rdar://problem/3751509> can't use safari edit menu to copy and paste with Vantage Learning's My Access 11622 11623 Reviewed by john. 11624 11625 * Plugins.subproj/WebBaseNetscapePluginView.m: fake up command-key events for cut, copy, paste and select all so these menu items work for plug-ins 11626 (-[WebBaseNetscapePluginView sendModifierEventWithKeyCode:character:]): 11627 (-[WebBaseNetscapePluginView cut:]): 11628 (-[WebBaseNetscapePluginView copy:]): 11629 (-[WebBaseNetscapePluginView paste:]): 11630 (-[WebBaseNetscapePluginView selectAll:]): 11631 116322004-09-07 Darin Adler <darin@apple.com> 11633 11634 - fixed deployment build 11635 11636 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _deleteWithDirection:granularity:killRing:]): 11637 Initialize prepend variable. 11638 116392004-09-06 Darin Adler <darin@apple.com> 11640 11641 Reviewed by John. 11642 11643 - fixed <rdar://problem/3696542> REGRESSION (Mail): Editable WebKit doesn't support underline yet (in the iChat profile window, at least) 11644 - fixed <rdar://problem/3780249> REGRESSION (Mail): copy style/paste style doesn't work in HTML editing in Mail 11645 - fixed <rdar://problem/3788857> REGRESSION (Mail): Home and End keys don't work in message composer 11646 - fixed <rdar://problem/3788884> REGRESSION (Mail): ctrl-d emacs key binding does not work (delete forward) 11647 - fixed <rdar://problem/3788890> REGRESSION (Mail): ctrl-k emacs key binding does not work (delete to end of paragraph) 11648 - fixed <rdar://problem/3788899> REGRESSION (Mail): ctrl-y emacs key binding does not work (yank) 11649 - fixed <rdar://problem/3788901> REGRESSION (Mail): ctrl-o emacs key binding does not work (insert newline in front of insertion point) 11650 - fixed <rdar://problem/3788908> REGRESSION (Mail): ctrl-left-arrow emacs key binding does not work (move to beginning of line) 11651 - fixed <rdar://problem/3788913> REGRESSION (Mail): ctrl-right-arrow emacs key binding does not work (move to end of line) 11652 - implemented a first cut at other attribute changes from Text Panel besides underline (bugs?) 11653 - dealt with a couple of FIXMEs in WebHTMLView.m 11654 - updated list of not-yet-implemented methods in WebHTMLView.m 11655 - fixed many deletion operations to call the correct editing delegate methods 11656 11657 * WebView.subproj/WebFrameViewPrivate.h: Remove _scrollToTopLeft and _scrollToBottomLeft. 11658 No one was calling them anyway, so they should really have been marked internal and not private. 11659 * WebView.subproj/WebFrameView.m: 11660 (-[WebFrameView scrollToBeginningOfDocument:]): Renamed _scrollToTopLeft to this, so the home key 11661 would start working with the key bindings machinery. 11662 (-[WebFrameView scrollToEndOfDocument:]): Same thing, for end key. 11663 (-[WebFrameView keyDown:]): Update for name changes, and also make sure we don't try to grab 11664 control-arrow keys here (probably not necessary, but good anyway). 11665 11666 * WebView.subproj/WebHTMLViewInternal.h: Added keyDownEvent field, and startNewKillRingSequence 11667 and nextResponderDisabledOnce flags. 11668 * WebView.subproj/WebHTMLView.m: 11669 Rearrange declarations at the top of the file so that external things are up with 11670 the #import directives and things inside this file are declared below. 11671 (-[WebHTMLView _shouldReplaceSelectionWithText:givenAction:]): Ditto. 11672 (-[WebHTMLView _calculatePrintHeight]): Moved up into the "internal to file" category. 11673 (-[WebHTMLView _updateTextSizeMultiplier]): Ditto. 11674 (-[WebHTMLView _selectedRange]): Added. 11675 (-[WebHTMLView _openLinkFromMenu:]): Left this method lying around even though I deleted the 11676 other APPKIT_CODE_FOR_REFERENCE in case this shows up in the context menu we are now sharing 11677 with the AppKit. Chris will look at this later, and he can delete it then. 11678 (+[WebHTMLView initialize]): Call _NSInitializeKillRing. 11679 (-[WebHTMLView _documentRange]): Added. 11680 (-[WebHTMLView string]): Call the bridge to get the plain text rather than making an attributed 11681 string and then getting the text from there. 11682 (-[WebHTMLView becomeFirstResponder]): Set startNewKillRingSequence flag, so that new deletions 11683 will create a new kill ring entry. 11684 (-[WebHTMLView moveToBeginningOfDocument:]): Use backward direction instead of left direction. 11685 (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]): Ditto. 11686 (-[WebHTMLView moveToBeginningOfLine:]): Ditto. 11687 (-[WebHTMLView moveToBeginningOfLineAndModifySelection:]): Ditto. 11688 (-[WebHTMLView moveToBeginningOfParagraph:]): Ditto, also use WebSelectToParagraphBoundary. 11689 (-[WebHTMLView moveToBeginningOfParagraphAndModifySelection:]): Ditto. 11690 (-[WebHTMLView moveToEndOfDocument:]): Use forward direction instead of right direction. 11691 (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]): Ditto. 11692 (-[WebHTMLView moveToEndOfLine:]): Ditto. 11693 (-[WebHTMLView moveToEndOfLineAndModifySelection:]): Ditto. 11694 (-[WebHTMLView moveToEndOfParagraph:]): Ditto, also use WebSelectToParagraphBoundary. 11695 (-[WebHTMLView moveToEndOfParagraphAndModifySelection:]): Ditto. 11696 (-[WebHTMLView _shouldDeleteRange:]): Added. 11697 (-[WebHTMLView _deleteRange:preflight:killRing:prepend:]): Added. 11698 (-[WebHTMLView delete:]): Changed to call new _deleteRange method. 11699 (-[WebHTMLView cut:]): Changed to preflight property and call new _deleteRange method. 11700 (-[WebHTMLView _selectionFontAttributes]): Added. 11701 (-[WebHTMLView _selectionFontAttributesAsRTF]): Added. 11702 (-[WebHTMLView _fontAttributesFromFontPasteboard]): Added. 11703 (-[WebHTMLView _emptyStyle]): Added. 11704 (-[WebHTMLView _styleFromFontAttributes:]): Added. 11705 (-[WebHTMLView _applyStyleToSelection:]): Added. 11706 (-[WebHTMLView copyFont:]): Implemented. 11707 (-[WebHTMLView pasteFont:]): Implemented. 11708 (-[WebHTMLView _originalFontA]): Added. 11709 (-[WebHTMLView _originalFontB]): Added. 11710 (-[WebHTMLView _addToStyle:fontA:fontB:]): Added. Has code from the method that figures out 11711 what the font manager is doing for changeFont:, now needed for changeAttribute: too. 11712 (-[WebHTMLView _styleFromFontManagerOperation]): Renamed and now calls shared methods. 11713 (-[WebHTMLView changeFont:]): Call shared method, still does the same thing. 11714 (-[WebHTMLView _colorAsString:]): Added. Has code from the method we were using with the 11715 color panel before. 11716 (-[WebHTMLView _shadowAsString:]): Added. 11717 (-[WebHTMLView _styleForAttributeChange:]): Added. 11718 (-[WebHTMLView changeAttributes:]): Implemented. 11719 (-[WebHTMLView _styleFromColorPanelWithSelector:]): Renamed and now calls shared methods. 11720 (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]): Call method by new name. 11721 (-[WebHTMLView changeDocumentBackgroundColor:]): Call method by new name. 11722 (-[WebHTMLView changeColor:]): Changed around a bit; still doesn't work yet. 11723 (-[WebHTMLView _alignSelectionUsingCSSValue:]): Call shared methods. 11724 (-[WebHTMLView indent:]): Removed, since NSTextView doesn't implement this method. Added to list 11725 of methods to possibly implement later in the file. 11726 (-[WebHTMLView insertTab:]): Call insertText: to save code and so we get WebViewInsertActionTyped 11727 instead of WebViewInsertActionPasted. 11728 (-[WebHTMLView changeCaseOfLetter:]): Removed, since NSTextView doesn't implement this method. 11729 Added to list of methods to possibly implement later in the file. 11730 (-[WebHTMLView _deleteWithDirection:granularity:killRing:]): Added. 11731 (-[WebHTMLView deleteForward:]): Implemented. This makes Control-D work. 11732 (-[WebHTMLView deleteBackwardByDecomposingPreviousCharacter:]): Implemented by just calling 11733 deleteBackward for now; probably better than doing nothing. 11734 (-[WebHTMLView deleteWordForward:]): Changed to call new _delete method above. Fixes things 11735 so that we delete the selection if there is one, get the appropriate delegate calls, handle 11736 the kill ring properly, and don't do any selection if we can't delete. 11737 (-[WebHTMLView deleteWordBackward:]): Ditto. 11738 (-[WebHTMLView deleteToBeginningOfLine:]): Ditto. 11739 (-[WebHTMLView deleteToEndOfLine:]): Ditto. 11740 (-[WebHTMLView deleteToBeginningOfParagraph:]): Ditto. 11741 (-[WebHTMLView deleteToEndOfParagraph:]): Ditto. Added additional behavior needed since this 11742 is bound to Control-K, so it's not really just delete to end of paragraph. 11743 (-[WebHTMLView insertNewlineIgnoringFieldEditor:]): Added. Calls insertNewline:. 11744 (-[WebHTMLView insertTabIgnoringFieldEditor:]): Added. Calls insertTab:. 11745 (-[WebHTMLView subscript:]): Added. 11746 (-[WebHTMLView superscript:]): Added. 11747 (-[WebHTMLView unscript:]): Added. 11748 (-[WebHTMLView underline:]): Added. 11749 (-[WebHTMLView yank:]): Added. 11750 (-[WebHTMLView yankAndSelect:]): Added. Calls _insertText. 11751 (-[WebHTMLView _arrowKeyDownEventSelectorIfPreprocessing:]): Added. Part of workaround for 11752 control-arrow key trouble. 11753 (-[WebHTMLView respondsToSelector:]): Added. More of workaround. 11754 (-[WebHTMLView nextResponder:]): Added. More of workaround. 11755 (-[WebHTMLView _selectionChanged]): Set startNewKillRingSequence flag, so that new deletions 11756 will create a new kill ring entry. 11757 (-[WebHTMLView _updateFontPanel]): Remove a bunch of code here that wasn't working very well 11758 because it walked a DOM range incorrectly, and instead use the new method that does all the 11759 right stuff on the other side of the bridge. 11760 (-[WebHTMLView _insertText:selectInsertedText:]): Added new helper method for use by both 11761 insertText and yankAndSelect, with most of the guts of insertText and one additional parameter. 11762 (-[WebHTMLView insertText:]): Call the new _insertText. 11763 11764 * WebView.subproj/WebView.m: Use macros to make the forwarding from WebView more terse. 11765 Updated the list to include a few methods it didn't before. 11766 117672004-09-06 John Sullivan <sullivan@apple.com> 11768 11769 Reviewed by Darin. 11770 11771 - put preference keys in a private header file so Safari can use them for Managed Preferences 11772 11773 * WebView.subproj/WebPreferenceKeysPrivate.h: 11774 new Private header file, includes the #defines for NSUserDefaults preference keys 11775 11776 * WebView.subproj/WebPreferences.m: 11777 moved the preference key #defines out of here; now imports WebPreferenceKeysPrivate.h 11778 11779 * WebKit.pbproj/project.pbxproj: 11780 updated for new file 11781 117822004-09-03 Chris Blumenberg <cblu@apple.com> 11783 11784 Fixed: <rdar://problem/3782543> CrashTracer: ...87 crashes at com.apple.WebKit: -[WebNetscapePluginPackage initWithPath:] + 0x18c 11785 11786 Reviewed by john. 11787 11788 * Plugins.subproj/WebNetscapePluginPackage.m: 11789 (-[WebNetscapePluginPackage initWithPath:]): make sure the file is at least 8 bytes long before calling memcmp 11790 117912004-09-03 Chris Blumenberg <cblu@apple.com> 11792 11793 Fixed: 11794 <rdar://problem/3788328> assertion failure when moving an image 11795 <rdar://problem/3783628> REGRESSION (Mail): when I try to reorder an image, the image is duplicated 11796 11797 * DOM.subproj/WebDOMOperations.m: 11798 (-[DOMDocument _createRangeWithNode:]): new, convenience 11799 (-[DOMDocument _documentRange]): use _ createRangeWithNode: 11800 * DOM.subproj/WebDOMOperationsPrivate.h: 11801 * WebView.subproj/WebHTMLView.m: 11802 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): set the selection to the image when starting the drag. This allows "move selection" to work and this matches NSText's behavior 11803 11804=== Safari-162 === 11805 118062004-09-02 Richard Williamson <rjw@apple.com> 11807 11808 Support for patterns in <canvas>. 11809 (These changes attempt to create a CGImageRef from a WebImageRenderer that 11810 is used by the pattern drawing function.) 11811 11812 Reviewed by Hyatt. 11813 11814 * WebCoreSupport.subproj/WebImageRenderer.h: 11815 * WebCoreSupport.subproj/WebImageRenderer.m: 11816 (-[WebImageRenderer dealloc]): 11817 (-[WebImageRenderer finalize]): 11818 (-[WebImageRenderer imageRef]): 11819 (_createImageRef): 11820 * WebView.subproj/WebPDFView.h: 11821 * WebView.subproj/WebPDFView.m: 11822 118232004-09-01 Chris Blumenberg <cblu@apple.com> 11824 11825 Fixed deployment build failure. 11826 11827 * WebView.subproj/WebDefaultContextMenuDelegate.m: 11828 (-[WebDefaultUIDelegate menuItemWithTag:]): 11829 118302004-08-31 Chris Blumenberg <cblu@apple.com> 11831 11832 Fixed: 11833 <rdar://problem/3699498> Context menu for editable WebViews should provide items like Cut and Paste 11834 <rdar://problem/3781535> REGRESSION (Mail): no context menu after ctrl-clicking a misspelled word 11835 11836 Reviewed by kocienda. 11837 11838 * English.lproj/Localizable.strings: 11839 * WebView.subproj/WebDefaultContextMenuDelegate.m: 11840 (-[WebDefaultUIDelegate menuItemWithTag:]): updated to handle new menu items 11841 (-[WebDefaultUIDelegate contextMenuItemsForElement:]): renamed from webView:contextMenuItemsForElement:defaultMenuItems: 11842 (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]): new 11843 (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): moved, now call contextMenuItemsForElement: or editingContextMenuItemsForElement: 11844 * WebView.subproj/WebDefaultUIDelegate.h: 11845 * WebView.subproj/WebHTMLView.m: 11846 (-[WebHTMLView _isSelectionMisspelled]): new 11847 (-[WebHTMLView _guessesForMisspelledSelection]): new 11848 (-[WebHTMLView _changeSpellingFromMenu:]): new 11849 (-[WebHTMLView _ignoreSpellingFromMenu:]): new 11850 (-[WebHTMLView _learnSpellingFromMenu:]): new 11851 * WebView.subproj/WebHTMLViewPrivate.h: 11852 * WebView.subproj/WebUIDelegate.h: 11853 118542004-08-31 Darin Adler <darin@apple.com> 11855 11856 - fixed B&I build failure 11857 11858 * WebView.subproj/WebHTMLView.m: (-[WebTextCompleteController _buildUI]): 11859 Work around unwanted warning by adding a cast. 11860 118612004-08-27 Maciej Stachowiak <mjs@apple.com> 11862 11863 Reviewed by John. 11864 11865 <rdar://problem/3778314> REGRESSION: Can't proceed to survey questions on Lominger's Apple website 11866 11867 Because we will stop parsing when there is a pending redirection, 11868 avoid setting one if no navigation would actually take place 11869 because the number of steps is out of range. 11870 11871 * WebCoreSupport.subproj/WebBridge.m: 11872 (-[WebBridge canGoBackOrForward:]): 11873 118742004-08-30 Darin Adler <darin@apple.com> 11875 11876 Reviewed by John. 11877 11878 - part of fix for <rdar://problem/3637519> REGRESSION (125-128): unrepro crash in QListBox::sizeForNumberOfLines at istweb.apple.com 11879 11880 * WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory clearCaches]): 11881 Call [super clearCaches]. 11882 118832004-08-30 Darin Adler <darin@apple.com> 11884 11885 Reviewed by Chris. 11886 11887 - did work to prepare for uploading files incrementally when submitting forms 11888 11889 * History.subproj/WebHistoryItem.m: 11890 (-[WebHistoryItem _setFormInfoFromRequest:]): Use NSArray instead of NSData for form data. 11891 (-[WebHistoryItem formData]): Ditto. 11892 * History.subproj/WebHistoryItemPrivate.h: Ditto. 11893 * WebCoreSupport.subproj/WebBridge.m: 11894 (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): Ditto. 11895 (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): Ditto. 11896 (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto. 11897 * WebCoreSupport.subproj/WebSubresourceClient.h: Ditto. 11898 * WebCoreSupport.subproj/WebSubresourceClient.m: 11899 (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]): Ditto. 11900 * WebView.subproj/WebFrame.m: 11901 (-[WebFrame _loadItem:withLoadType:]): Ditto. 11902 (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto. 11903 * WebView.subproj/WebFramePrivate.h: Ditto. 11904 11905 * WebView.subproj/WebFormDataStream.h: Added. 11906 * WebView.subproj/WebFormDataStream.m: 11907 (-[WebFormDataStream initWithFormDataArray:]): Placeholder; not done yet. 11908 (-[WebFormDataStream formDataArray]): Ditto. 11909 * WebKit.pbproj/project.pbxproj: Added WebFormDataStream files. 11910 119112004-08-30 John Sullivan <sullivan@apple.com> 11912 11913 Reviewed by Ken. 11914 11915 - WebKit part of fix for <rdar://problem/3607720> myFrame.print() prints the window 11916 but should only print the frame 11917 11918 * WebView.subproj/WebUIDelegatePrivate.h: 11919 declare new delegate method that includes which frame to print 11920 11921 * WebView.subproj/WebDefaultUIDelegate.m: 11922 (-[WebDefaultUIDelegate webView:printFrameView:]): 11923 implement default (no-op) version of new delegate method 11924 11925 * WebCoreSupport.subproj/WebBridge.m: 11926 (-[WebBridge print]): 11927 call new delegate method if available, otherwise call old delegate method, for 11928 backward compatibility. 11929 119302004-08-27 Maciej Stachowiak <mjs@apple.com> 11931 11932 Reviewed by John. 11933 Checked in by Ken 11934 11935 Ken comments: It looks like Maciej forgot to land this when he checked in the 11936 WebCore portion of this change. 11937 11938 <rdar://problem/3778314> REGRESSION: Can't proceed to survey questions on Lominger's Apple website 11939 11940 Because we will stop parsing when there is a pending redirection, 11941 avoid setting one if no navigation would actually take place 11942 because the number of steps is out of range. 11943 11944 * WebCoreSupport.subproj/WebBridge.m: 11945 (-[WebBridge canGoBackOrForward:]): 11946 119472004-08-27 Ken Kocienda <kocienda@apple.com> 11948 11949 Reviewed by Chris 11950 11951 Fix for this bug: 11952 11953 <rdar://problem/3756997> WebKit aggressive in making pasted text into a URL, even when it's not much like a URL 11954 11955 * WebView.subproj/WebHTMLView.m: 11956 (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): Don't try so hard to coerce data 11957 on the pasteboard into a URL, and do not make an anchor with an href for any URLs that are 11958 explicitly present on the pasteboard. Also, move URL pasteboard type check beneath the RTF 11959 checks. 11960 11961=== Safari-161 === 11962 119632004-08-26 Chris Blumenberg <cblu@apple.com> 11964 11965 Fixed build failure on Panther. 11966 11967 Reviewed by john. 11968 11969 * WebView.subproj/WebHTMLView.m: 11970 (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): ifdef'd out call to AppKit SPI 11971 (-[WebHTMLView _attributeStringFromDOMRange:]): ditto 11972 119732004-08-26 Chris Blumenberg <cblu@apple.com> 11974 11975 Tweak to last check-in. 11976 11977 * WebView.subproj/WebHTMLView.m: 11978 (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): 11979 119802004-08-26 Chris Blumenberg <cblu@apple.com> 11981 11982 Fixed: 11983 <rdar://problem/3546412> support for pasting and drag and dropping of RTF and RTFD to editable WebViews 11984 <rdar://problem/3745345> use AppKit for converting from DOM to RTF 11985 11986 Reviewed by rjw. 11987 11988 * DOM.subproj/WebDOMOperations.m: 11989 (-[DOMDocument _documentRange]): new 11990 * DOM.subproj/WebDOMOperationsPrivate.h: 11991 * WebView.subproj/WebHTMLView.m: 11992 (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): call AppKit SPI to get a document fragment from an attributed string 11993 (-[WebHTMLView string]): added a FIXME 11994 (-[WebHTMLView _attributeStringFromDOMRange:]): new, calls AppKit SPI that creates an attributed string from a DOM Range 11995 (-[WebHTMLView attributedString]): call _attributeStringFromDOMRange:, fallback to old code if it returns nil 11996 (-[WebHTMLView selectedAttributedString]): ditto 11997 119982004-08-26 Chris Blumenberg <cblu@apple.com> 11999 12000 Fixed: <rdar://problem/3774178> Plugin hooks for selected state aren't being called 12001 12002 Reviewed by darin. 12003 12004 * WebCoreSupport.subproj/WebBridge.m: 12005 (-[WebBridge setIsSelected:forView:]): don't forget colons in method names 12006 120072004-08-26 Chris Blumenberg <cblu@apple.com> 12008 12009 Fixed: <rdar://problem/3768439> can't click in WebView in Carbon WebKit apps (GetEventPlatformEventRecord returns false) 12010 12011 Reviewed by rjw. 12012 12013 * Carbon.subproj/HIWebView.m: 12014 (Click): use WebGetEventPlatformEventRecord not GetEventPlatformEventRecord 12015 (MouseUp): ditto 12016 (MouseMoved): ditto 12017 (MouseDragged): ditto 12018 (MouseWheelMoved): ditto 12019 (WindowHandler): ditto 12020 (HIWebViewEventHandler): ditto 12021 (UpdateObserver): ditto 12022 (WebGetEventPlatformEventRecord): Call GetEventPlatformEventRecord, if that fails fallback to the current event. This is code Eric Schlegel to me to use. 12023 120242004-08-24 Chris Blumenberg <cblu@apple.com> 12025 12026 Fixed with help from Trey: 12027 <rdar://problem/3764856> REGRESSION !25-154): Safari accepts mouse clicks (follows links) when not key 12028 12029 Reviewed by rjw. 12030 12031 * WebView.subproj/WebHTMLView.m: 12032 (-[WebHTMLView _isSelectionEvent:]): brought back from CVS 12033 (-[WebHTMLView acceptsFirstMouse:]): only call eventMayStartDrag if _isSelectionEvent returns YES since we only want to allow selection dragging on the first mouse down 12034 (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): ditto 12035 120362004-08-24 Ken Kocienda <kocienda@apple.com> 12037 12038 Reviewed by Hyatt 12039 12040 Improved the checks used to see if certain operations can be done based 12041 on the state of the selection and whether the selection is editable. I 12042 added some helpers and improved some others to assist in making these 12043 determinations. 12044 12045 This helps to fix this bug: 12046 <rdar://problem/3764987> Crash after adding newline to quoted text 12047 12048 Since some editing methods expect the the selection to be in a certain state 12049 in order to work, these checks help obviate crashes like 3764987. 12050 12051 * WebView.subproj/WebHTMLView.m: 12052 (-[WebHTMLView _writeSelectionToPasteboard:]): _haveSelection name changed to _hasSelection. 12053 (-[WebHTMLView _canCopy]): Checks to see if state is appropriate to perform this operation. 12054 (-[WebHTMLView _canCut]): Ditto. Function added. 12055 (-[WebHTMLView _canDelete]): Ditto. Function refined. 12056 (-[WebHTMLView _canPaste]): Ditto. Function refined. 12057 (-[WebHTMLView _canType]): Ditto. Function added. 12058 (-[WebHTMLView _hasSelection]): Name changed from _haveSelection. 12059 (-[WebHTMLView _hasSelectionOrInsertionPoint]): Added. 12060 (-[WebHTMLView _isEditable]): Added. 12061 (-[WebHTMLView takeFindStringFromSelection:]): _haveSelection name changed to _hasSelection. 12062 (-[WebHTMLView validateUserInterfaceItem:]): Ditto 12063 (-[WebHTMLView validRequestorForSendType:returnType:]): Ditto 12064 (-[WebHTMLView keyDown:]): 12065 (-[WebHTMLView copy:]): Uses new _canCopy check. 12066 (-[WebHTMLView cut:]): Uses new _canCut check. 12067 (-[WebHTMLView delete:]): Now uses _canDelete check. 12068 (-[WebHTMLView paste:]): Now uses _canPaste check. 12069 (-[WebHTMLView _updateFontPanel]): _haveSelection name changed to _hasSelection. 12070 * WebView.subproj/WebHTMLViewPrivate.h: 12071 * WebView.subproj/WebView.m: 12072 (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]): Use selectionState check to 12073 determine whether or not operation can be done. 12074 120752004-08-24 Richard Williamson <rjw@apple.com> 12076 12077 Fixed <rdar://problem/3770469> Some PDFs open with line of previous page above PDF view 12078 12079 Set height resize flags on WebPDFView. 12080 12081 Reviewed by Chris. 12082 12083 * WebView.subproj/WebPDFView.m: 12084 (-[WebPDFView initWithFrame:]): 12085 120862004-08-24 David Hyatt <hyatt@apple.com> 12087 12088 Add Atom and RSS MIME types to set of supported XML types. 12089 12090 Reviewed by rjw 12091 12092 * WebView.subproj/WebDataSource.m: 12093 (+[WebDataSource _repTypesAllowImageTypeOmission:]): 12094 * WebView.subproj/WebFrameView.m: 12095 (+[WebFrameView _viewTypesAllowImageTypeOmission:]): 12096 120972004-08-23 Maciej Stachowiak <mjs@apple.com> 12098 12099 Reviewed by Kevin. 12100 12101 - remove annoying ERROR spew and replace with comment 12102 12103 * WebView.subproj/WebHTMLView.m: 12104 (-[WebHTMLView validAttributesForMarkedText]): 12105 121062004-08-23 Maciej Stachowiak <mjs@apple.com> 12107 12108 Reviewed by Richard. 12109 12110 - a bit of code cleanup 12111 12112 * WebView.subproj/WebDataSource.m: 12113 (-[WebDataSource _stringWithData:]): Call textEncodingName instead of 12114 copying it's code. 12115 (-[WebDataSource textEncodingName]): Tweak formatting. 12116 121172004-08-23 Chris Blumenberg <cblu@apple.com> 12118 12119 Fixed build. 12120 12121 * WebKit.pbproj/project.pbxproj: make sure we're doing -f on a file, not a directory 12122 121232004-08-23 Chris Blumenberg <cblu@apple.com> 12124 12125 Fixed: <rdar://problem/3674867> use new Security framework SPI's to reenable cert acquisition 12126 12127 Reviewed by john. 12128 12129 * WebCoreSupport.subproj/WebKeyGeneration.cpp: 12130 * WebCoreSupport.subproj/WebKeyGeneration.h: 12131 * WebCoreSupport.subproj/WebKeyGenerator.h: 12132 * WebCoreSupport.subproj/WebKeyGenerator.m: 12133 (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]): re-enabled cert code, call Panther version on Panther, Tiger version on Tiger 12134 (-[WebKeyGenerator addCertificatesToKeychainFromData:]): ditto 12135 * WebCoreSupport.subproj/WebNewKeyGeneration.c: Added. 12136 (gnrAddContextAttribute): 12137 (gnrGetSubjPubKey): 12138 (gnrNullAlgParams): 12139 (gnrSign): 12140 (gnrFreeCssmData): 12141 (nssArraySize): 12142 (signedPublicKeyAndChallengeString): 12143 (addCertificateToKeychainFromData): 12144 (addCertificatesToKeychainFromData): 12145 * WebCoreSupport.subproj/WebNewKeyGeneration.h: Added. 12146 * WebKit.pbproj/project.pbxproj: 12147 121482004-08-20 David Hyatt <hyatt@apple.com> 12149 12150 Fix the directionality of the unicode hyphen so that on Panther it now matches Tiger. 12151 12152 Reviewed by darin 12153 12154 * Misc.subproj/WebUnicode.m: 12155 (_unicodeDirection): 12156 121572004-08-20 Richard Williamson <rjw@apple.com> 12158 12159 Implemented new JNI abstraction. We no longer invoke Java methods 12160 directly with JNI, rather we call into the plugin. This allows the 12161 plugin to dispatch the call to the appropriate VM thread. This 12162 change should (will?) fix a whole class of threading related problems with 12163 the Java VM. 12164 12165 Reviewed by Hyatt. 12166 12167 * WebCoreSupport.subproj/WebBridge.m: 12168 (-[WebBridge getAppletInView:]): 12169 121702004-08-20 Trey Matteson <trey@apple.com> 12171 12172 3655407 - Editing: -complete: method unimplemented (WebKit editing API) 12173 12174 This feature is mostly implemented. The only loose ends I know of are: 12175 12176 3769654 - text insertions done via complete: should preserve case of full replacement string 12177 3769652 - positioning of complete: popup window wrong for right-to-left languages 12178 12179 Reviewed by John 12180 12181 * WebView.subproj/WebHTMLView.m: 12182 (-[WebHTMLViewPrivate dealloc]): Free new object. 12183 (-[WebHTMLView menuForEvent:]): Bail on completion session. 12184 (-[WebHTMLView windowDidResignKey:]): Ditto. 12185 (-[WebHTMLView windowWillClose:]): Ditto. 12186 (-[WebHTMLView mouseDown:]): Ditto. 12187 (-[WebHTMLView resignFirstResponder]): Ditto. 12188 (-[WebHTMLView keyDown:]): Bail on completion session if WebCore takes the event. 12189 Give the CompleteController a crack at the key event. 12190 (-[WebHTMLView _expandSelectionToGranularity:]): Adopt method rename 12191 (-[WebHTMLView complete:]): Make CompleteController, tell it to do its thing. 12192 (-[WebHTMLView checkSpelling:]): Add ERROR(). 12193 (-[WebHTMLView showGuessPanel:]): Add ERROR(). 12194 (-[WebHTMLView _changeSpellingToWord:]): Add ERROR(). 12195 (-[WebHTMLView ignoreSpelling:]): Add ERROR(). 12196 12197 (-[WebTextCompleteController initWithHTMLView:]): 12198 (-[WebTextCompleteController dealloc]): 12199 (-[WebTextCompleteController _insertMatch:]): Stick the new string into the doc. 12200 (-[WebTextCompleteController _buildUI]): Make popup window. 12201 (-[WebTextCompleteController _placePopupWindow:]): Position popup window. 12202 (-[WebTextCompleteController doCompletion]): Lookup matches, display window. 12203 (-[WebTextCompleteController endRevertingChange:moveLeft:]): Bail on complete: session. 12204 (-[WebTextCompleteController filterKeyDown:]): Process keys while popup is up. 12205 (-[WebTextCompleteController _reflectSelection]): Handle choice in popup. 12206 (-[WebTextCompleteController tableAction:]): Handle double click in popup 12207 (-[WebTextCompleteController numberOfRowsInTableView:]): Fill table with matches. 12208 (-[WebTextCompleteController tableView:objectValueForTableColumn:row:]): Ditto. 12209 (-[WebTextCompleteController tableViewSelectionDidChange:]): Handle selection change. 12210 * WebView.subproj/WebHTMLViewInternal.h: 12211 122122004-08-20 John Sullivan <sullivan@apple.com> 12213 12214 * English.lproj/StringsNotToBeLocalized.txt: 12215 checked this in; the only difference is that 12216 the strings were out of order. 12217 122182004-08-19 Richard Williamson <rjw@apple.com> 12219 12220 Continue to call old pollForAppletInView: in Tiger until 12221 we get an plugin that supports the new API. 12222 12223 Reviewed by Chris. 12224 12225 * WebCoreSupport.subproj/WebBridge.m: 12226 (-[WebBridge getAppletInView:]): 12227 * WebKit.pbproj/project.pbxproj: 12228 12229=== Safari-158 === 12230 122312004-08-19 Chris Blumenberg <cblu@apple.com> 12232 12233 Fixed typo in comment. 12234 12235 * Misc.subproj/WebIconDatabase.m: 12236 (-[WebIconDatabase _updateFileDatabase]): 12237 122382004-08-19 Chris Blumenberg <cblu@apple.com> 12239 12240 Fixed: <rdar://problem/3566336> CrashTracer: .2403 crashes at com.apple.WebKit: -[WebFileDatabase performSetObject:forKey:] + 0x94 12241 12242 Reviewed by trey. 12243 12244 * Misc.subproj/WebIconDatabase.m: 12245 (-[WebIconDatabase _updateFileDatabase]): pass WebFileDatabase copies of the mutable dictionaries or else they may be accessed on a separate thread as the main thread is modifying them 12246 122472004-08-18 Richard Williamson <rjw@apple.com> 12248 12249 Replace horrible pollForAppletInView: with new 12250 webPlugInGetApplet. The details of how the applet instance 12251 is provided now belong to the Java team. Yeh. 12252 12253 Reviewed by Chris. 12254 12255 * WebCoreSupport.subproj/WebBridge.m: 12256 (-[WebBridge getAppletInView:]): 12257 122582004-08-17 Richard Williamson <rjw@apple.com> 12259 12260 Fixed <rdar://problem/3759093> Need PDF context menu: "Open in Preview" or other external app 12261 12262 Added support for "Open with ..." in PDF view. 12263 12264 Reviewed by Chris and Trey. 12265 12266 * ChangeLog: 12267 * English.lproj/Localizable.strings: 12268 * English.lproj/StringsNotToBeLocalized.txt: 12269 * WebView.subproj/WebPDFView.h: 12270 * WebView.subproj/WebPDFView.m: 12271 (-[WebPDFView initWithFrame:]): 12272 (-[WebPDFView dealloc]): 12273 (applicationInfoForMIMEType): 12274 (-[WebPDFView path]): 12275 (-[WebPDFView menuForEvent:]): 12276 (-[WebPDFView setDataSource:]): 12277 (-[WebPDFView layout]): 12278 (-[WebPDFView viewDidMoveToHostWindow]): 12279 (-[WebPDFView openWithFinder:]): 12280 122812004-08-17 Richard Williamson <rjw@apple.com> 12282 12283 JNI needs both the jmethodID and return type. Changed API to 12284 pass both. 12285 12286 Reviewed by Chris. 12287 12288 * Plugins.subproj/WebJavaPlugIn.h: 12289 122902004-08-17 Trey Matteson <trey@apple.com> 12291 12292 3764147 - failure of subframe to load leaves links in parent doc broken 12293 12294 Reviewed by Maciej. 12295 12296 * WebView.subproj/WebDataSource.m: 12297 (-[WebDataSource _receivedMainResourceError:complete:]): 12298 Need to call [bridge end] in the case of an error, so WC can clean up. 12299 12300=== Safari-157 === 12301 123022004-08-15 Richard Williamson <rjw@apple.com> 12303 12304 More changes to np headers. 12305 12306 Reviewed by Darin. 12307 12308 * Plugins.subproj/WebNetscapePluginPackage.m: 12309 (-[WebNetscapePluginPackage load]): 12310 * Plugins.subproj/npapi.h: 12311 * Plugins.subproj/npfunctions.h: 12312 * Plugins.subproj/npruntime.h: 12313 123142004-08-13 Darin Adler <darin@apple.com> 12315 12316 Reviewed by Chris. 12317 12318 - fixed <rdar://problem/3760924> Carbon path passed in NPP_StreamAsFile must be in local character set, not UTF-8 12319 12320 * Plugins.subproj/WebBaseNetscapePluginStream.m: 12321 (CarbonPathFromPOSIXPath): Added. New function that uses the path pieces from an FSSpec. 12322 This has many advantages; the big one that fixes the bug is that it gives the mangled names 12323 that work even for files that have names that can't otherwise be encoded in Carbon-style 12324 path names. I didn't write this from scratch: I started with the method in Foundation 12325 and just changed it to use FSSpec. 12326 (-[WebBaseNetscapePluginStream destroyStream]): Remove code that used NSString and just call 12327 CarbonPathFromPOSIXPath instead. 12328 12329 * Plugins.subproj/npapi.h: The Revision tag wanted to touch this file. 12330 I think we are going to have some trouble with this; I'd like to take that out. 12331 12332 * English.lproj/StringsNotToBeLocalized.txt: Updated. 12333 123342004-08-12 Trey Matteson <trey@apple.com> 12335 12336 3761329 - query result links all dead in ingrammicro.com (sometimes) 12337 3761328 - links in some docs dead when doc is loaded from WebArchive 12338 12339 Nasty problem. It turns out that these result pages are a parent frame with two child 12340 frames. One of the child frames is a 1 or 2 byte text document. When the text child 12341 is the last doc to complete, because we use a Text rep instead of an HTMLRep, it turns 12342 out we never send [bridge end] from WebKit. That mistake results in checkCompleted not 12343 being called enough in the part, and we never realize the load is done. WebCore does 12344 not allow redirects to happen until the entire load is complete, and the links on this 12345 results page are actually little pieces of JS that set location to a generated URL. Since 12346 redirects are not allowed these links all silently fail to do anything, and the doc never 12347 achieves a completed state where they will work. 12348 12349 Solution is to make sure we always call [bridge end] from the DataSource instead of only 12350 the HTML rep doing it. 12351 12352 Reviewed by Richard and Darin. 12353 12354 * WebView.subproj/WebDataSource.m: 12355 (-[WebDataSource _finishedLoading]): Call [bridge end] here for all kinds of docs. 12356 * WebView.subproj/WebHTMLRepresentation.m: 12357 (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): Don't call is just for HTMLReps. 12358 123592004-08-12 Richard Williamson <rjw@apple.com> 12360 12361 Bring npruntime.h and friends closer to compliance with 12362 latest spec. 12363 12364 Reviewed by Maciej. 12365 12366 * Plugins.subproj/npapi.h: 12367 * Plugins.subproj/npfunctions.h: 12368 * Plugins.subproj/npruntime.h: 12369 (_NPString::): 12370 (_NPString::_NPVariant::): 12371 * copy-webcore-files-to-webkit: 12372 123732004-08-12 Chris Blumenberg <cblu@apple.com> 12374 12375 Fixed: <rdar://problem/3761097> should be able to option-drag selection so HTML can be copied within a page 12376 12377 Reviewed by rjw. 12378 12379 * WebView.subproj/WebHTMLView.m: 12380 (-[WebHTMLView _isMoveDrag]): new, take into account the option key 12381 (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): call _isMoveDrag 12382 (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): call _isMoveDrag 12383 123842004-08-12 Richard Williamson <rjw@apple.com> 12385 12386 Quick fix for 3760903. The real fix is described in 3760920. Needed 12387 by Java plugin guys so they can be unblocked for feature freeze. 12388 12389 Reviewed by Chris. 12390 12391 * WebView.subproj/WebFrame.m: 12392 (-[WebFrame _reloadForPluginChanges]): 12393 * WebView.subproj/WebHTMLView.m: 12394 (-[WebHTMLView addSubview:]): 12395 123962004-08-12 Chris Blumenberg <cblu@apple.com> 12397 12398 Fixed: <rdar://problem/3760898> error pages in subframes attempt to load appledata URLs when reloaded 12399 12400 Reviewed by darin. 12401 12402 * WebView.subproj/WebFrame.m: 12403 (-[WebFrame _createItem:]): when setting the original URL of the history item, use the unreachable URL 12404 12405=== Safari-156 === 12406 124072004-08-11 Adele Amchan <adele@apple.com> 12408 12409 Reviewed by me, bug fix by Darin. 12410 12411 - fixed <rdar://problem/3736477> Pages don't load if hard drive is named with non-ASCII Symbol 12412 12413 * Plugins.subproj/WebBaseNetscapePluginStream.m: 12414 (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): 12415 Use UTF8String instead of cString to convert the MIME type to a C string. Safer, since it can't 12416 ever fail due to encoding problems even though this string should always be ASCII. 12417 (-[WebBaseNetscapePluginStream destroyStream]): Use stringWithUTF8String to convert the path name 12418 to an NSString, since stringWithCString is deprecated (doesn't really matter since the path is always 12419 all ASCII). Fix the bug by calling fileSystemRepresentation on the NSString to turn it into a C 12420 string form. Even though the POSIX path can't have any non-ASCII characters in it, the Carbon path 12421 can, so we need to use this instead of cString which can fail depending on characters and encoding. 12422 124232004-08-09 Maciej Stachowiak <mjs@apple.com> 12424 12425 Reviewed by Trey. 12426 12427 WebKit part of: 12428 12429 - made basic marked text highlighting work to complete basic level of <rdar://problem/3704359> input method support not yet implemented for HTML editing 12430 12431 * WebView.subproj/WebHTMLView.m: 12432 (-[WebHTMLView markedRange]): Use new bridge calls instead of internal marked range storage. 12433 (-[WebHTMLView hasMarkedText]): Likewise. 12434 (-[WebHTMLView unmarkText]): Likewise. 12435 (-[WebHTMLView _selectMarkedText]): Likewise. 12436 (-[WebHTMLView _selectRangeInMarkedText:]): Likewise. 12437 (-[WebHTMLView _selectionIsInsideMarkedText]): Likewise. 12438 (-[WebHTMLView _updateSelectionForInputManager]): Likewise. 12439 (-[WebHTMLView setMarkedText:selectedRange:]): Use direct bridge call instead 12440 of private _selectMarkedDOMRange: method, which would now be trivial. 12441 * WebView.subproj/WebHTMLViewInternal.h: Remove unneeded 12442 124432004-08-10 Darin Adler <darin@apple.com> 12444 12445 Reviewed by Ken. 12446 12447 - change name of WebMakeCollectable to WebNSRetainCFRelease so it fits into the 12448 "NS and CF retain counts are separate" mental model, rather than the "think about 12449 how garbage collection works" one 12450 12451 * Misc.subproj/WebKitNSStringExtras.m: (+[NSString _web_encodingForResource:]): Rename. 12452 * Misc.subproj/WebNSObjectExtras.h: (WebNSRetainCFRelease): Ditto. 12453 * Misc.subproj/WebNSURLExtras.m: 12454 (+[NSURL _web_URLWithData:relativeToURL:]): Ditto. 12455 (-[NSURL _web_URLWithLowercasedScheme]): Ditto. 12456 124572004-08-09 Trey Matteson <trey@apple.com> 12458 12459 3756599 - REGRESSION: hit assertion in KWQPageState invalidate 12460 12461 By inspection I found a flaw in the recently added logic, although 12462 I have no steps to repro. My theoretical explanation is that we would 12463 get two errors and go through _receivedMainResourceError: twice, which 12464 would cause the pageState to be invalidated twice, which is the only 12465 way I can see to hit the assert. 12466 12467 Reviewed by Darin 12468 12469 * WebView.subproj/WebFrame.m: 12470 (-[WebFrame _receivedMainResourceError:]): Clear the pageState out 12471 of the history item after it's been invalidated by WebCore. 12472 124732004-08-09 Richard Williamson <rjw@apple.com> 12474 12475 Inspired by Trey we have a much better approach for conditionally 12476 linking Quart.framework. Instead of multiple targets we use 12477 `` to invoke some inline script to extend COMMON_LDFLAGS as 12478 necessary. Thanks Trey! 12479 12480 Reviewed by Trey. 12481 12482 * WebKit.pbproj/project.pbxproj: 12483 124842004-08-09 Trey Matteson <trey@apple.com> 12485 12486 Hookup UI for "Continuous Spelling" menu item. 12487 12488 Reviewed by Richard. 12489 12490 * WebView.subproj/WebView.m: 12491 (-[WebView validateUserInterfaceItem:]): Enable and check the 12492 menu item to reflect our state. 12493 (-[WebView toggleContinuousSpellChecking:]): Change type to 12494 IBAction, just cosmetic. 12495 * WebView.subproj/WebViewPrivate.h: 12496 124972004-08-08 Trey Matteson <trey@apple.com> 12498 12499 3745023 - Safari crashes trying to access anchor while downloading 12500 12501 I bet this is behind a few other crashers as well. In this bug the start of the 12502 download leaves a KWQPageState hanging around, and when that is freed it damages 12503 the part and view. If you're still using that page, you're dead. 12504 12505 The fix is to properly invalidate the PageState when we receive an error before 12506 reaching WebFrameCommitted state. Normally this happens when a page is reheated 12507 from the PageState, but in this case we never manage to leave the page to begin 12508 with, although we've already created the PageState. 12509 12510 Other errors besides the synthetic one download generates would have caused similar 12511 crashing. Another example would be clicking on a second link before the load 12512 caused by clicking on the first link reached committed state. 12513 12514 Reviewed by Richard 12515 12516 * WebView.subproj/WebDataSource.m: 12517 (-[WebDataSource _receivedMainResourceError:complete:]): Let the frame do the 12518 main work (since it has access to the pageCache state). Also renamed to make 12519 it clear that this is about an error for the main resource. 12520 * WebView.subproj/WebDataSourcePrivate.h: 12521 * WebView.subproj/WebFrame.m: 12522 (-[WebFrame _receivedMainResourceError:]): Let WC know about the failure, as 12523 the DataSource used to, but now pass the pageCache state along too. 12524 * WebView.subproj/WebFramePrivate.h: 12525 * WebView.subproj/WebMainResourceClient.m: 12526 (-[WebMainResourceClient receivedError:]): Call renamed method. 12527 (-[WebMainResourceClient cancelWithError:]): Ditto. 12528 125292004-08-08 Vicki Murley <vicki@apple.com> 12530 12531 Reviewed by vicki (changes by rjw) 12532 12533 - make "weak" linking with Quartz work with buildit 12534 12535 * WebKit.pbproj/project.pbxproj: 12536 125372004-08-06 Ken Kocienda <kocienda@apple.com> 12538 12539 Reviewed by Maciej 12540 12541 Finish off spellchecking support to HTML editing. Includes work to 12542 enable continuous spellchecking. 12543 12544 * WebCoreSupport.subproj/WebBridge.m: 12545 (-[WebBridge isContinuousSpellCheckingEnabled]): Simple bridge method. 12546 * WebCoreSupport.subproj/WebTextRenderer.m: 12547 (-[WebTextRenderer drawLineForMisspelling:withWidth:]): New method to add 12548 AppKit-style misspelling underline. 12549 12550=== Safari-155 === 12551 125522004-08-05 Darin Adler <darin@apple.com> 12553 12554 * WebView.subproj/WebHTMLView.m: Added a list of methods that NSTextView implements that we don't. 12555 All inside #if 0. 12556 125572004-08-05 Chris Blumenberg <cblu@apple.com> 12558 12559 Fixed unnecessary import of NSURLFileTypeMappings. 12560 12561 * WebView.subproj/WebMainResourceClient.m: 12562 125632004-08-05 Richard Williamson <rjw@apple.com> 12564 12565 Make builds conditionally include -framework Quartz. 12566 12567 Reviewed by Chris. 12568 12569 * WebKit.pbproj/project.pbxproj: 12570 125712004-08-04 Darin Adler <darin@apple.com> 12572 12573 - fixed broken Deployment build 12574 12575 * Carbon.subproj/HIWebView.m: (Click): 12576 Remove code that checks err variable before setting it. 12577 125782004-08-03 Richard Williamson <rjw@apple.com> 12579 12580 First cut at dirt simple PDF support. This feature 12581 depends on Quartz.framework (parent of PDFKit), which only exists 12582 on Tiger. So, we "weak" link against Quartz. 12583 12584 We do very basic PDF rendering. Coming up are support for 12585 "Find..." and linearized PDF (incremental). Linearized PDF 12586 support will require API changes in PDFKit. 12587 12588 No UI is added to Safari, yet. 12589 12590 Reviewed by John. 12591 12592 * WebKit.pbproj/project.pbxproj: 12593 * WebView.subproj/WebDataSource.m: 12594 (+[WebDataSource _repTypesAllowImageTypeOmission:]): 12595 * WebView.subproj/WebFrameView.m: 12596 (+[WebFrameView _viewTypesAllowImageTypeOmission:]): 12597 * WebView.subproj/WebPDFRepresentation.h: Added. 12598 * WebView.subproj/WebPDFRepresentation.m: Added. 12599 (-[WebPDFRepresentation finishedLoadingWithDataSource:]): 12600 (-[WebPDFRepresentation canProvideDocumentSource]): 12601 (-[WebPDFRepresentation documentSource]): 12602 (-[WebPDFRepresentation title]): 12603 * WebView.subproj/WebPDFView.h: Added. 12604 * WebView.subproj/WebPDFView.m: Added. 12605 (-[WebPDFView initWithFrame:]): 12606 (-[WebPDFView setDataSource:]): 12607 (-[WebPDFView dataSourceUpdated:]): 12608 (-[WebPDFView setNeedsLayout:]): 12609 (-[WebPDFView layout]): 12610 (-[WebPDFView viewWillMoveToHostWindow:]): 12611 (-[WebPDFView viewDidMoveToHostWindow]): 12612 12613 Copied fix from Jaguar carbon/cocoa work. 12614 12615 Reviewed by Darin (Jaguar version) 12616 12617 * Carbon.subproj/CarbonWindowAdapter.h: 12618 * Carbon.subproj/CarbonWindowAdapter.m: 12619 (-[CarbonWindowAdapter relinquishFocus]): 12620 * Carbon.subproj/HIWebView.m: 12621 (Click): 12622 (OwningWindowChanged): 12623 (WindowHandler): 12624 126252004-08-03 David Hyatt <hyatt@apple.com> 12626 12627 Add the text/xsl MIME type as one that can be displayed. 12628 12629 Reviewed by john 12630 12631 * WebView.subproj/WebDataSource.m: 12632 (+[WebDataSource _repTypesAllowImageTypeOmission:]): 12633 * WebView.subproj/WebFrameView.m: 12634 (+[WebFrameView _viewTypesAllowImageTypeOmission:]): 12635 126362004-08-03 Maciej Stachowiak <mjs@apple.com> 12637 12638 Reviewed by Ken. 12639 12640 - implemented enough of the NSTextInput protocol and added the 12641 proper calls to NSInputManager to allow input methods to 12642 work. However, the text is not marked yet. 12643 12644 * WebView.subproj/WebHTMLViewInternal.h: Added new fields to track 12645 marked range. 12646 * WebView.subproj/WebHTMLView.m: 12647 (-[WebHTMLView markedRange]): Implemented 12648 (-[WebHTMLView conversationIdentifier]): Implemented 12649 (-[WebHTMLView hasMarkedText]): Implemented 12650 (-[WebHTMLView unmarkText]): Implemented 12651 (-[WebHTMLView setMarkedText:selectedRange:]): Implemented - does 12652 not yet handle attributes in attributed strings 12653 (-[WebHTMLView insertText:]): Modified to handle replacing or abandoning 12654 the marked text when set. 12655 (-[WebHTMLView _selectMarkedText]): new helper method, self-explanatory 12656 (-[WebHTMLView _setMarkedDOMRange:]): hitto. 12657 (-[WebHTMLView _selectRangeInMarkedText:]): ditto 12658 (-[WebHTMLView _discardMarkedText]): ditto 12659 (-[WebHTMLView _selectionIsInsideMarkedText]): ditto 12660 (-[WebHTMLView _updateSelectionForInputManager]): ditto 12661 12662 - did a bit of refactoring while I was in here. 12663 12664 * WebView.subproj/WebHTMLView.m: 12665 (-[WebHTMLView _shouldReplaceSelectionWithText:givenAction:]): added this new 12666 helper method to simplify the common case of calling the shouldInsertText: delegate 12667 (-[WebHTMLView pasteAsPlainText:]): use it 12668 (-[WebHTMLView insertTab:]): ditto 12669 (-[WebHTMLView insertNewline:]): ditto 12670 (-[WebHTMLView _changeWordCaseWithSelector:]): ditto 12671 (-[WebHTMLView _changeSpellingToWord:]): ditto 12672 (-[WebHTMLView _selectionChanged]): ditto 12673 126742004-08-03 Chris Blumenberg <cblu@apple.com> 12675 12676 Fixed: <rdar://problem/3572737> Images not resizing at www.bmx-test.com (spoof nofix) 12677 12678 Reviewed by darin. 12679 12680 * WebCoreSupport.subproj/WebImageRendererFactory.m: 12681 (-[WebImageRendererFactory supportedMIMETypes]): hard code image/pjpeg to the list of image mime types that we can handle 12682 126832004-08-03 Darin Adler <darin@apple.com> 12684 12685 Reviewed by Ken. 12686 12687 - fixed <rdar://problem/3740937> ER: A way to turn a DOMRange into text (equivalent of -innerText) 12688 12689 * DOM.subproj/DOMPrivate.h: Added. 12690 * WebKit.pbproj/project.pbxproj: Added DOMPrivate.h. 12691 * copy-webcore-files-to-webkit: Added DOMPrivate.h. 12692 126932004-08-02 John Sullivan <sullivan@apple.com> 12694 12695 Reviewed by Darin. 12696 12697 WebKit part of fix for <rdar://problem/3631868> NSToolbar adoption: 12698 Tab key should cycle around toolbar and page content 12699 12700 * WebView.subproj/WebHTMLView.m: 12701 removed overrides of nextKeyView and previousKeyView 12702 (-[WebHTMLView nextValidKeyView]): 12703 call super only if we can't move the focus within the frame hierarchy 12704 (-[WebHTMLView previousValidKeyView]): 12705 ditto 12706 * WebView.subproj/WebHTMLViewInternal.h: 12707 removed nextKeyViewAccessShouldMoveFocus ivar 12708 127092004-08-02 Ken Kocienda <kocienda@apple.com> 12710 12711 Reviewed by John 12712 12713 Update name of firstResponderIsSelfOrDescendantView, adding _web_ prefix to this SPI call. 12714 12715 Do some work to make caret blinking in newly-created editable WebView's that are 12716 similar in structure to Blot more "automatic". 12717 12718 * Misc.subproj/WebNSViewExtras.h: Change name of firstResponderIsSelfOrDescendantView. Add _web_ prefix. 12719 * Misc.subproj/WebNSViewExtras.m: 12720 (-[NSView _web_firstResponderIsSelfOrDescendantView]): Name change. 12721 (-[NSView _web_firstResponderCausesFocusDisplay]): Adds an additional check for whether the view's 12722 is first responder. This helps to make the focus setting in viewDidMoveToWindow work right. 12723 * WebView.subproj/WebHTMLView.m: 12724 (-[WebHTMLView updateFocusDisplay]): Use _web_firstResponderCausesFocusDisplay now instead of 12725 firstResponderIsSelfOrDescendantView. 12726 (-[WebHTMLView viewDidMoveToWindow]): Schedule call to updateFocusDisplay for the next crank of the 12727 run loop. The reason is that placing the caret in the just-installed view requires the HTML/XML 12728 document to be available on the WebCore side, but it is not at the time this code is running. 12729 However, it will be there on the next crank of the run loop. Doing this helps to make a 12730 blinking caret appear in a new, empty window "automatic". 12731 (-[WebHTMLView performKeyEquivalent:]): _web_firstResponderIsSelfOrDescendantView name change. 12732 * WebView.subproj/WebView.m: 12733 (-[WebView _performResponderOperation:with:]): _web_firstResponderIsSelfOrDescendantView name change. 12734 127352004-07-29 Maciej Stachowiak <mjs@apple.com> 12736 12737 Reviewed by John. 12738 12739 Added stubbed-out versions of all the NSTextInput protocol 12740 methods, and put comments in places where we will need to call the 12741 input manager to make input methods work 100%. 12742 12743 * WebCoreSupport.subproj/WebBridge.m: 12744 (-[WebBridge respondToChangedSelection]): 12745 * WebView.subproj/WebHTMLView.m: 12746 (-[WebHTMLView mouseDown:]): 12747 (-[WebHTMLView mouseDragged:]): 12748 (-[WebHTMLView mouseUp:]): 12749 (-[WebHTMLView _interceptEditingKeyEvent:]): 12750 (-[WebHTMLView keyDown:]): 12751 (-[WebHTMLView _selectionChanged]): 12752 (-[WebHTMLView _delegateDragSourceActionMask]): 12753 (-[WebHTMLView validAttributesForMarkedText]): 12754 (-[WebHTMLView characterIndexForPoint:]): 12755 (-[WebHTMLView firstRectForCharacterRange:]): 12756 (-[WebHTMLView selectedRange]): 12757 (-[WebHTMLView markedRange]): 12758 (-[WebHTMLView attributedSubstringFromRange:]): 12759 (-[WebHTMLView conversationIdentifier]): 12760 (-[WebHTMLView hasMarkedText]): 12761 (-[WebHTMLView unmarkText]): 12762 (-[WebHTMLView setMarkedText:selectedRange:]): 12763 (-[WebHTMLView doCommandBySelector:]): 12764 (-[WebHTMLView insertText:]): 12765 * WebView.subproj/WebHTMLViewInternal.h: 12766 * WebView.subproj/WebView.m: 12767 12768=== Safari-154 === 12769 127702004-07-29 Darin Adler <darin@apple.com> 12771 12772 Reviewed by Ken. 12773 12774 - fill in some unimplemented methods 12775 12776 * WebView.subproj/WebHTMLView.m: 12777 (-[WebHTMLView moveToBeginningOfDocument:]): Implement, using new document granularity. 12778 (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]): Ditto. 12779 (-[WebHTMLView moveToBeginningOfParagraph:]): Implement, even though the underlying WebCore 12780 code is not yet implemented. 12781 (-[WebHTMLView moveToBeginningOfParagraphAndModifySelection:]): Ditto. 12782 (-[WebHTMLView moveToEndOfDocument:]): More of the same. 12783 (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]): Ditto. 12784 (-[WebHTMLView moveToEndOfParagraph:]): More of the same. 12785 (-[WebHTMLView moveToEndOfParagraphAndModifySelection:]): Ditto. 12786 (-[WebHTMLView pageDown:]): Added comment describing desired behavior. 12787 (-[WebHTMLView pageUp:]): Ditto. 12788 (-[WebHTMLView copyFont:]): Ditto. 12789 (-[WebHTMLView pasteFont:]): Ditto. 12790 (-[WebHTMLView changeAttributes:]): Ditto. 12791 (-[WebHTMLView indent:]): Ditto. 12792 127932004-07-28 Chris Blumenberg <cblu@apple.com> 12794 12795 Fixed: <rdar://problem/3737864> Can not download image from web by using drag and drop 12796 12797 Reviewed by john. 12798 12799 * Misc.subproj/WebNSPasteboardExtras.m: 12800 (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]): On Tiger, to use NSFilesPromisePboardType with other pasteboard types, set the file types of the promise on the pasteboard as a property list instead of mucking with the NSFilePromiseDragSource class 12801 128022004-07-28 Maciej Stachowiak <mjs@apple.com> 12803 12804 Reviewed by John. 12805 12806 - avoid triggering an assertion when using dead keys (like option-e) 12807 12808 * WebView.subproj/WebHTMLView.m: 12809 (-[WebHTMLView insertText:]): Don't pass zero-length strings to 12810 WebCore. Dead-key input seems to insert empty strings as a side 12811 effect. 12812 128132004-07-28 Trey Matteson <trey@apple.com> 12814 12815 Spellchecking, Part I. Basic spellcheck is working. Spelling panel is hooked up. 12816 12817 At this point, no special marking of misspellings, no grammar check, no context 12818 menu integration, no "check continually" mode. 12819 12820 Reviewed by Ken. 12821 12822 * WebCoreSupport.subproj/WebBridge.m: 12823 (-[WebBridge spellCheckerDocumentTag]): Typical bridge glue. 12824 * WebView.subproj/WebHTMLView.m: 12825 (-[WebHTMLView validateUserInterfaceItem:]): Validate various spelling actions. 12826 (-[WebHTMLView checkSpelling:]): Call WC for real work, update panel. 12827 (-[WebHTMLView showGuessPanel:]): Show panel, call WC for real work. 12828 (-[WebHTMLView _changeSpellingToWord:]): Apply correction to our doc. 12829 (-[WebHTMLView changeSpelling:]): Simple pass through to above method. 12830 (-[WebHTMLView ignoreSpelling:]): Tell checker to ignore the word. 12831 * WebView.subproj/WebView.m: 12832 (-[WebView _close]): Call AK's closeSpellDocumentWithTag: for proper cleanup. 12833 128342004-07-27 John Sullivan <sullivan@apple.com> 12835 12836 Reviewed by Trey. 12837 12838 WebKit part of fix for <rdar://problem/3622268> Reload failed pages when a 12839 network problem is corrected, inc. using Network Diagnostics 12840 12841 * WebView.subproj/WebFrame.m: 12842 (-[WebFrame reload]): 12843 This method did not handle unreachableURLs at all. The reason Safari's Reload 12844 did work with unreachableURLs was that Safari does "reloadObeyingLocationField" 12845 which never actually calls -[WebFrame reload]. Fixed by creating a fresh 12846 request for the previously-unreachable URL. 12847 128482004-07-26 Richard Williamson <rjw@apple.com> 12849 12850 Fixed 3739737. When setting the focus to a NSView, set the focus 12851 carbon focus to kControlIndicatorPart. kControlIndicatorPart is a 12852 placeholder value for use to indicate that Cocoa has the focus. 12853 12854 Reviewed by Ken. 12855 12856 * Carbon.subproj/CarbonWindowAdapter.m: 12857 (-[CarbonWindowAdapter makeFirstResponder:]): 12858 * Carbon.subproj/HIWebView.m: 12859 (Click): 12860 (SetFocusPart): 12861 128622004-07-26 Chris Blumenberg <cblu@apple.com> 12863 12864 Fixed: <rdar://problem/3689734> dragging to an editable WebView does not scroll document 12865 12866 Reviewed by rjw. 12867 12868 * WebView.subproj/WebView.m: 12869 (-[WebView documentViewAtWindowPoint:]): new, factored from draggingDocumentViewAtWindowPoint: 12870 (-[WebView _draggingDocumentViewAtWindowPoint:]): call documentViewAtWindowPoint: 12871 (-[WebView _autoscrollForDraggingInfo:timeDelta:]): forward call to the document view 12872 (-[WebView _shouldAutoscrollForDraggingInfo:]): ditto 12873 12874=== Safari-153 === 12875 128762004-07-23 Ken Kocienda <kocienda@apple.com> 12877 12878 Reviewed by Trey 12879 12880 Fix for this bug: 12881 12882 <rdar://problem/3738920> Caret blinks in inactive window 12883 12884 As part of the fix, I cleaned up the way we handle special drawing that needs 12885 to be done in the HTML view that is first responder in the key window (e.g the 12886 drawing of text selection highlight and caret blinking). 12887 12888 * WebView.subproj/WebHTMLView.m: 12889 (-[WebHTMLView updateFocusDisplay]): New method that centralizes the changes 12890 we need to make when the first responder-ness of the view or key-ness of the 12891 window changes. 12892 (-[WebHTMLView viewDidMoveToWindow]): Call new updateFocusDisplay helper. 12893 (-[WebHTMLView windowDidBecomeKey:]): Ditto. 12894 (-[WebHTMLView windowDidResignKey:]): Ditto. 12895 (-[WebHTMLView becomeFirstResponder]): Ditto. 12896 (-[WebHTMLView resignFirstResponder]): Ditto. 12897 128982004-07-22 Darin Adler <darin@apple.com> 12899 12900 * Plugins.subproj/npruntime.h: Update with new version from newer JavaScriptCore. 12901 129022004-07-21 Ken Kocienda <kocienda@apple.com> 12903 12904 Reviewed by Trey 12905 12906 * WebCoreSupport.subproj/WebBridge.m: Remove interceptEditingKeyEvent 12907 bridge call over. This method of handling editing key events is now 12908 obsolete. 12909 * WebView.subproj/WebHTMLView.m: 12910 (-[WebHTMLView performKeyEquivalent:]): Send key event over to the 12911 DOM if this view is or contains the first responder. This now 12912 happens unconditionally. 12913 (-[WebHTMLView keyDown:]): Send key event to the DOM, then see if 12914 the web view wants to interpret it an an editing key event. This 12915 is the new place to intercept key events for editing. 12916 129172004-07-21 Ken Kocienda <kocienda@apple.com> 12918 12919 Reviewed by John 12920 12921 Add implementations for these methods. Formerly, they logged an error. 12922 12923 * WebView.subproj/WebHTMLView.m: 12924 (-[WebHTMLView moveToBeginningOfLine:]): 12925 (-[WebHTMLView moveToBeginningOfLineAndModifySelection:]): 12926 (-[WebHTMLView moveToEndOfLine:]): 12927 (-[WebHTMLView moveToEndOfLineAndModifySelection:]): 12928 129292004-07-21 Ken Kocienda <kocienda@apple.com> 12930 12931 Reviewed by John 12932 12933 Added some more handlers for standard Cocoa key bindings. 12934 These are "secrets" of NSText, meaning they are not public API, but we choose to mimic. 12935 12936 * WebView.subproj/WebHTMLView.m: 12937 (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]): 12938 (-[WebHTMLView moveToBeginningOfLineAndModifySelection:]): 12939 (-[WebHTMLView moveToBeginningOfParagraphAndModifySelection:]): 12940 (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]): 12941 (-[WebHTMLView moveToEndOfLineAndModifySelection:]): 12942 (-[WebHTMLView moveToEndOfParagraph:]): 12943 (-[WebHTMLView moveToEndOfParagraphAndModifySelection:]): 12944 * WebView.subproj/WebView.h: Add these declarations to the comment in the header listing 12945 the responder-like methods we support. 12946 * WebView.subproj/WebView.m: 12947 (-[WebView moveToBeginningOfParagraphAndModifySelection:]): 12948 (-[WebView moveToEndOfParagraphAndModifySelection:]): 12949 (-[WebView moveToBeginningOfLineAndModifySelection:]): 12950 (-[WebView moveToEndOfLineAndModifySelection:]): 12951 (-[WebView moveToBeginningOfDocumentAndModifySelection:]): 12952 (-[WebView moveToEndOfDocumentAndModifySelection:]): 12953 129542004-07-20 Ken Kocienda <kocienda@apple.com> 12955 12956 Reviewed by Richard 12957 12958 * Misc.subproj/WebNSEventExtras.h: Added helper that returns whether 12959 a key event has a binding in the key binding manager. 12960 * Misc.subproj/WebNSEventExtras.m: 12961 (-[NSEvent _web_keyBindingManagerHasBinding]): New helper mentioned above. 12962 * Plugins.subproj/npruntime.h: 12963 * WebView.subproj/WebHTMLView.m: 12964 (-[WebHTMLView performKeyEquivalent:]): Add a check of whether the key event 12965 has a binding in the key binding manager. This works around the fact that 12966 NSResponder's interpretKeyEvents does not return a value telling whether 12967 or not the key was handled. This now makes it possible for us to trap 12968 modified key events we know we can handle (like those command-key + arrow events 12969 used for text navigation), while letting all others pass. 12970 129712004-07-20 Chris Blumenberg <cblu@apple.com> 12972 12973 Fixed: 12974 <rdar://problem/3580589> REGRESSION (1.1-1.2): can't open a new window for an image that has not loaded 12975 <rdar://problem/3612691> Missing image icons (blue ?) lack context menu 12976 12977 Reviewed by john. 12978 12979 * WebView.subproj/WebDefaultContextMenuDelegate.m: 12980 (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): if there is no image, but there is an image URL, provide image context menu items besides "Copy Image" 12981 * WebView.subproj/WebHTMLView.m: 12982 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): don't drag an image with an actual image 12983 (-[WebHTMLView _mayStartDragAtEventLocation:]): ditto 12984 129852004-07-20 Maciej Stachowiak <mjs@apple.com> 12986 12987 Reviewed by Chris. 12988 12989 <rdar://problem/3721690> REGRESSION (125.7-148u) clicking on links at macosx.apple.com/Builds does not load new page in frame 12990 12991 * Plugins.subproj/npruntime.h: 12992 * WebCoreSupport.subproj/WebBridge.m: 12993 (-[WebBridge canTargetLoadInFrame:]): Don't apply the restrictions to frames 12994 that are in the same window (Mozilla does this too). 12995 129962004-07-20 Richard Williamson <rjw@apple.com> 12997 12998 Fix for 3728558. Fixed the key event handling in the carbon/cocoa 12999 integration code. This does not fix the arrow keys not working on 13000 initial focus problem also mentioned in the bug. 13001 13002 Bumped the version of the NP function structures. 13003 13004 Reviewed by John. 13005 13006 * Carbon.subproj/CarbonUtils.m: 13007 (WebInitForCarbon): 13008 (PoolCleaner): 13009 * Carbon.subproj/HIWebView.m: 13010 (OwningWindowChanged): 13011 (WindowHandler): 13012 * Plugins.subproj/npapi.h: 13013 130142004-07-20 Trey Matteson <trey@apple.com> 13015 13016 3733698 REGRESSION: sometimes dragging photos on homepage.mac.com leads to an assertion 13017 13018 Relax an assertion, as we ran into a valid case where it's not true. 13019 13020 Reviewed by Chris. 13021 13022 * WebView.subproj/WebHTMLView.m: 13023 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): 13024 Removing this assert allows for the oddball case of a drag gesture that 13025 starts on one element, but then the element is no longer there when 13026 the drag is about to start. 13027 130282004-07-20 Ken Kocienda <kocienda@apple.com> 13029 13030 Reviewed by Hyatt 13031 13032 Fix for this bug: 13033 13034 <rdar://problem/3707505> HTMLCompose: blinking cursor in both an address text field and the message body 13035 13036 * WebView.subproj/WebHTMLView.m: 13037 (-[WebHTMLView setCaretVisible:]): New helper. Calls over bridge to do the work. 13038 (-[WebHTMLView windowDidBecomeKey:]): This function cannot just assume that self is first responder 13039 (and do things like adjusting text background color and restoring focus rings). 13040 First-responder-ness needs to be checked first. Now it is. 13041 (-[WebHTMLView windowDidResignKey:]): Ditto. 13042 (-[WebHTMLView becomeFirstResponder]): Call new helper to make caret visible. 13043 (-[WebHTMLView resignFirstResponder]): Call new helper to make caret invisible. 13044 130452004-07-12 Richard Williamson <rjw@apple.com> 13046 13047 Fixed 3721917. The RealPlayer plugin doesn't support the new 13048 NPPVpluginScriptableNPObject variable passed to NPP_GetValue and 13049 incorrectly returns NPERR_NO_ERROR. We interpret this to the 13050 mean the variable has been set. The variable has not been set 13051 and will consequently be uninitialized. 13052 13053 * Plugins.subproj/WebBaseNetscapePluginView.m: 13054 (-[WebBaseNetscapePluginView pluginScriptableObject]): 13055 130562004-07-19 Ken Kocienda <kocienda@apple.com> 13057 13058 Reviewed by Richard 13059 13060 Fix for this bug: 13061 13062 <rdar://problem/3707504> HTMLCompose: key events are stolen by Web(HTML)View 13063 13064 * Misc.subproj/WebNSViewExtras.h: 13065 * Misc.subproj/WebNSViewExtras.m: 13066 (-[NSView firstResponderIsSelfOrDescendantView]): New helper to 13067 (-[WebHTMLView performKeyEquivalent:]): Do not pass key events through to the editing 13068 key handler unless the WebHTMLView is first responder or contains the first responder. 13069 This prevents the "stealing" of key events mentioned in the bug. 13070 * WebView.subproj/WebView.m: 13071 (-[WebView _performResponderOperation:with:]): Uses the new firstResponderIsSelfOrDescendantView 13072 helper. The code I replaced used the same logic as the new helper. 13073 13074=== Safari-152 === 13075 130762004-07-12 Maciej Stachowiak <mjs@apple.com> 13077 13078 Reviewed by Kevin. 13079 13080 <rdar://problem/3673988>: (REGRESSION(141-144): connection assertion failure at http://traffic.511.org/sfgate) 13081 13082 * WebView.subproj/WebBaseResourceHandleDelegate.m: 13083 (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): 13084 Don't check connection consistency if this load got cancelled 13085 while finishing, because in this case we have cleared the 13086 connection field already. This can happen when a redirect fires 13087 from an onload handler. 13088 130892004-07-12 Maciej Stachowiak <mjs@apple.com> 13090 13091 Reviewed by John. 13092 13093 <rdar://problem/3632570>: (REGRESSION: SocialText.net wiki keeps asking for auth, even though pages load) 13094 13095 * Misc.subproj/WebIconLoader.m: 13096 (-[WebIconLoader didReceiveAuthenticationChallenge:]): Ignore the challenge - we don't 13097 want an auth panel for favicons. 13098 (-[WebIconLoader didCancelAuthenticationChallenge:]): Ignore cancel, since we are ignoring 13099 the challenge. 13100 131012004-07-09 Chris Blumenberg <cblu@apple.com> 13102 13103 Allowed my change for 3715785 to compile on Jaguar. 13104 13105 Reviewed by kocienda. 13106 13107 * WebCoreSupport.subproj/WebBridge.m: 13108 (-[WebBridge canTargetLoadInFrame:]): don't use the DOM API since it doesn't exist on Jaguar, instead call the new domain method on the bridge 13109 131102004-07-09 Ken Kocienda <kocienda@apple.com> 13111 13112 Reviewed by John 13113 13114 * Plugins.subproj/npruntime.h: Updated license to lawyer-approved 13115 joint Apple-Mozilla BSD-style license. 13116 131172004-07-08 Chris Blumenberg <cblu@apple.com> 13118 13119 Fixed: <rdar://problem/3720728> REGRESSION (125.8-146): Crash moving mouse over plugin at manray-photo.com 13120 13121 Reviewed by john. 13122 13123 * Plugins.subproj/WebBaseNetscapePluginView.m: 13124 (-[WebBaseNetscapePluginView pluginScriptableObject]): don't call NPP_GetValue unless the plug-in implements it 13125 131262004-07-08 Chris Blumenberg <cblu@apple.com> 13127 13128 Fixed: <rdar://problem/3706296> VIP: ifilm.com crashing reproducibly with Safari 13129 13130 Reviewed by kocienda. 13131 13132 * Plugins.subproj/WebNetscapePluginPackage.m: 13133 (-[WebNetscapePluginPackage launchRealPlayer]): don't release a NULL appURL 13134 131352004-07-08 Chris Blumenberg <cblu@apple.com> 13136 13137 Fixed: <rdar://problem/3650140> reproducible assertion failure going to plugin page with JavaScript disabled 13138 13139 Reviewed by john. 13140 13141 * Plugins.subproj/WebBaseNetscapePluginView.m: 13142 (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): don't call NPP_NewStream and other stream methods if there is no JS result to deliver. This is what Mozilla does. 13143 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Return NPERR_GENERIC_ERROR if JS is disabled. This is what Mozilla does. 13144 13145=== Safari-151 === 13146 131472004-07-07 Trey Matteson <trey@apple.com> 13148 13149 3719051 - Safari doesn't update form inputs when a page was refreshed by javascript window.location 13150 ... and at least 5 other cases in Radar 13151 13152 Very similar problem to the Harvard PIN bug. We need to be sure 13153 to not carry any state over when we are processing a client 13154 redirect, which reuses the same WebHistoryItem. 13155 13156 Reviewed by John. 13157 13158 * WebView.subproj/WebFrame.m: 13159 (-[WebFrame _transitionToCommitted:]): Comment 13160 (-[WebFrame _opened]): Clear form and scroll state on client redirect. 13161 131622004-07-06 Chris Blumenberg <cblu@apple.com> 13163 13164 Fixed: <rdar://problem/3715785> multiple frame injection vulnerability reported by Secunia, affects almost all browsers 13165 13166 Reviewed by john, trey, kocienda. 13167 13168 * WebCoreSupport.subproj/WebBridge.m: 13169 (-[WebBridge canTargetLoadInFrame:]): new method, return YES if the requesting frame is local, the target frame is an entire window or if the domain of the parent of the targeted frame equals this domain 13170 (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]): call canTargetLoadInFrame: to make sure we can load the request 13171 (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): ditto 13172 131732004-07-06 John Sullivan <sullivan@apple.com> 13174 13175 Reviewed by Trey. 13176 13177 - fixed <rdar://problem/3717147> folder icon used for error page in back/forward 13178 menu when iTunes is not installed 13179 13180 * WebView.subproj/WebFrame.m: 13181 (-[WebFrame _transitionToCommitted:]): 13182 When displaying the error page for an unreachable URL, leave the requested URL 13183 in the WebHistoryItem; don't clobber it with a bogus one that represents the 13184 error page. This not only avoids the wrong-icon problem, but should also help 13185 in cases where an unreachable URL becomes reachable later on. 13186 131872004-07-06 Trey Matteson <trey@apple.com> 13188 13189 3716053 - www.theage.com.au has extra back/forward items due to ads 13190 13191 The real change was in WebKit. Here was are just renaming a method and folding 13192 all the WebFrameLoadTypeOnLoadEvent uses to be WebFrameLoadTypeInternal, since there 13193 was never any difference anyway. 13194 13195 Reviewed by Richard 13196 13197 * WebCoreSupport.subproj/WebBridge.m: 13198 (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]): rename part of the method. 13199 * WebView.subproj/WebFrame.m: Nuke WebFrameLoadTypeOnLoadEvent. 13200 (-[WebFrame _transitionToCommitted:]): 13201 (-[WebFrame _checkLoadCompleteForThisFrame]): 13202 (-[WebFrame _loadItem:withLoadType:]): 13203 (-[WebFrame _itemForRestoringDocState]): 13204 * WebView.subproj/WebFramePrivate.h: 13205 132062004-07-06 Ken Kocienda <kocienda@apple.com> 13207 13208 Reviewed by Trey 13209 13210 Only register the editing delegate for those notifications for which it implements the callbacks. 13211 13212 * WebView.subproj/WebView.m: 13213 (-[WebView registerForEditingDelegateNotification:selector:]): 13214 (-[WebView setEditingDelegate:]): 13215 132162004-07-06 Trey Matteson <trey@apple.com> 13217 13218 3294652 - Failed drag of links doesn't slide back 13219 13220 The only reason for this is that because of some hacks, we lie to 13221 AK about the drag image offset, which means we slide back to 13222 slightly the wrong place. But it's very minor, so we should 13223 just fix it. 13224 13225 Reviewed by Ken. 13226 13227 * WebView.subproj/WebHTMLView.m: 13228 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): 13229 Ask for slideback. 13230 132312004-07-02 Darin Adler <darin@apple.com> 13232 13233 Reviewed by Dave. 13234 13235 - fixed problem where tabsToLinks and privateBrowsingEnabled did not work with non- 13236 standard WebPreferences objects 13237 13238 * WebView.subproj/WebPreferences.m: 13239 (-[WebPreferences _valueForKey:]): New helper. 13240 (-[WebPreferences _stringValueForKey:]): Use _valueForKey. 13241 (-[WebPreferences _integerValueForKey:]): Use _valueForKey. 13242 (-[WebPreferences _boolValueForKey:]): Use _valueForKey. 13243 (-[WebPreferences tabsToLinks]): Use _boolValueForKey; this is the bug fix. 13244 (-[WebPreferences privateBrowsingEnabled]): Ditto. 13245 (+[WebPreferences _setIBCreatorID:]): Use copy instead of retain for keeping an NSString. 13246 132472004-07-01 Trey Matteson <trey@apple.com> 13248 13249 3556159 - Crashes in -[WebFrame(WebPrivate) _transitionToCommitted:] at www.mastercardbusiness.com 13250 13251 We know from the line number of the crash that it is due to [self parentFrame]==nil. 13252 13253 Looking at the HTML and that of the related bugs, they do special stuff with onload 13254 handlers. It is no longer repro, presumably because the includes JS files changed, 13255 as the bugs only included the top level HTML. I suspect that the problem is that the 13256 WebFrameLoadTypeOnLoadEvent case was added, and in some weird sequence specific to 13257 MasterCard, they hit a case where we would be in WebFrameLoadTypeOnLoadEvent mode but 13258 not have a parent frame. 13259 13260 So we guard in the code against hitting a nil parentFrame, and log an error just in 13261 case this ever crops up again and we can learn more about it. 13262 13263 Reviewed by Richard. 13264 13265 * WebView.subproj/WebFrame.m: 13266 (-[WebFrame _transitionToCommitted:]): Guard against nil parentFrame. 13267 132682004-07-01 John Sullivan <sullivan@apple.com> 13269 13270 Reviewed by Trey. 13271 13272 - fixed these bugs: 13273 <rdar://problem/3709110> REGRESSION (Tiger): Pressing Tab key to move focus 13274 onto links skips every other link 13275 <rdar://problem/3692576> focus ring is in odd place after clicking RSS button 13276 with "Tab to links" enabled 13277 13278 WebHTMLView has some trickery by which we advance the focused link when nextKeyView 13279 or previousKeyView is called within nextValidKeyView or previousValidKeyView. This 13280 broke in Tiger because AppKit now (sometimes at least) calls nextKeyView more than 13281 once within nextValidKeyView. Fixed 3709110 by making sure we only advance the focus 13282 once within a call to nextValidKeyView or previousValidKeyView. 13283 13284 Also, this same trickery didn't work right with hidden views. Fixed 3692576 by checking 13285 whether the view is hidden and bypassing the focus-moving trickery in that case. 13286 13287 * WebView.subproj/WebHTMLViewInternal.h: 13288 renamed inNextValidKeyView -> nextKeyViewAccessShouldMoveFocus 13289 13290 * WebView.subproj/WebHTMLView.m: 13291 (-[WebHTMLView nextKeyView]): 13292 now clears nextKeyViewAccessShouldMoveFocus 13293 (-[WebHTMLView previousKeyView]): 13294 ditto 13295 (-[WebHTMLView nextValidKeyView]): 13296 now doesn't set focus-moving trigger ivar if view is hidden or has hidden ancestor 13297 (-[WebHTMLView previousValidKeyView]): 13298 ditto 13299 133002004-06-30 Trey Matteson <trey@apple.com> 13301 13302 Dragging within a web view should be allowed to start when the window isn't key. 13303 13304 A few months ago, Chris made this work, but it relied on the fact that all dragging 13305 was done in WebKit. When WebCore got involved in dragging, it was broken. Now we 13306 have a new scheme that gets it working again that properly involves WebCore. 13307 13308 The general idea is that when AK asks us whether to accept the first mouse and do 13309 "delayed window ordering", we must consult WC to see if we might start a drag. In 13310 addition, instead of these drags in non-active windows being started as a special 13311 case in WK, they go through the normal WK-WC drag machinery. Finally to work in 13312 frames we have to drill to the deepest hit view in acceptsFirstMouse, because previous 13313 hacks to hitTest make the top-most WebHTMLView field all events for its view tree 13314 (which leads to it fielding all acceptFirstMouse messages too). 13315 13316 Reviewed by John. 13317 13318 * WebCoreSupport.subproj/WebBridge.m: 13319 (-[WebBridge mayStartDragAtEventLocation:]): Glue change for new arg type. 13320 * WebView.subproj/WebHTMLView.m: 13321 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): 13322 firstMouseDownEvent ivar is no longer needed. 13323 (-[WebHTMLView _mayStartDragAtEventLocation:]): Receives a location instead of a drag 13324 event, since we need to do this work when we have no drag event. This means the 13325 check of the delay for text dragging is moved down to WebCore. 13326 (-[WebHTMLView acceptsFirstMouse:]): Respond based on whether we might do a drag. 13327 This includes drilling to the deepest view the event hits, whereas we used to only 13328 respond considering the topmost WebHTMLView. 13329 (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): Ditto. 13330 (-[WebHTMLView mouseDown:]): Get rid of special case where some activating 13331 mouseDown events weren't sent to WC. We need to go through the whole pipeline 13332 now to get a drag started properly. 13333 (-[WebHTMLView mouseDragged:]): Ditto, let WC start the drag. 13334 (-[WebHTMLView mouseUp:]): firstMouseDownEvent ivar is no longer needed. 13335 * WebView.subproj/WebHTMLViewInternal.h: 13336 * WebView.subproj/WebHTMLViewPrivate.h: 13337 133382004-06-25 Trey Matteson <trey@apple.com> 13339 13340 Added new utility method. 13341 13342 Reviewed by John. 13343 13344 * WebView.subproj/WebFrame.m: 13345 (-[WebFrame _isDescendantOfFrame:]): New code. 13346 * WebView.subproj/WebFramePrivate.h: 13347 133482004-06-24 Richard Williamson <rjw@apple.com> 13349 13350 Fixed <rdar://problem/3710313>: CGContext not zeroed when WebImageRenderer is copied 13351 The context ivar of WebImageRenderer wasn't being nil when the object was copied. 13352 13353 Reviewed by Darin. 13354 13355 * WebCoreSupport.subproj/WebImageRenderer.m: 13356 (-[WebImageRenderer copyWithZone:]): 13357 (-[WebImageRenderer dealloc]): 13358 (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]): 13359 133602004-06-24 Trey Matteson <trey@apple.com> 13361 13362 3672725 - Assertion failure in URLCompletion code with particular set of bookmarks 13363 13364 Problem was caused by a URL with unescaped unicodes getting into 13365 the Bookmarks file, presumably from import from IE. We now test 13366 for this case and convert the data on the way in as if it were 13367 user-entered. 13368 13369 Reviewed by John and Darin. 13370 13371 * History.subproj/WebHistoryItem.m: 13372 (-[WebHistoryItem initFromDictionaryRepresentation:]): 13373 133742004-06-24 Trey Matteson <trey@apple.com> 13375 13376 3704950 drag image in DB ConfigBar has horizontal graphics turd WebCore JavaScript 13377 13378 When we generate a drag image (or a selection image too, for that matter) we 13379 translate the CTM using a CG call. Later, WebImageRenderer adjusts the pattern 13380 phase based on the CTM of the focused view, which doesn't include our translate. 13381 So we must inform WebKit about the additional phase adjustment. 13382 13383 Reviewed by Richard 13384 13385 * WebCoreSupport.subproj/WebGraphicsBridge.h: 13386 * WebCoreSupport.subproj/WebGraphicsBridge.m: 13387 (-[WebGraphicsBridge setAdditionalPatternPhase:]): New trivial setter. 13388 (-[WebGraphicsBridge additionalPatternPhase]): ...and getter. 13389 * WebCoreSupport.subproj/WebImageRenderer.m: 13390 (-[WebImageRenderer tileInRect:fromPoint:context:]): Take any additional phase 13391 adjustment into account when setting phase. 13392 133932004-06-24 Trey Matteson <trey@apple.com> 13394 13395 3693420 - onbeforecut and onbeforepaste need real implementaion 13396 13397 Reviewed by Chris. 13398 13399 * WebView.subproj/WebHTMLView.m: 13400 (-[WebHTMLView validateUserInterfaceItem:]): Check with WebCore 13401 to see if cut, copy, paste should be enabled. 13402 134032004-06-24 John Sullivan <sullivan@apple.com> 13404 13405 Reviewed by Darin. 13406 13407 - fixed <rdar://problem/3706792> 8A161: Choosing text encoding for 13408 error page opens finder window!? 13409 13410 * WebView.subproj/WebFrame.m: 13411 (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]): 13412 take unreachableURL into account 13413 134142004-06-23 Richard Williamson <rjw@apple.com> 13415 13416 Implemented changes for latest npruntime.h. 13417 Made npruntime.h public. 13418 13419 Reviewed by Chris. 13420 13421 * Plugins.subproj/WebBaseNetscapePluginView.h: 13422 * Plugins.subproj/WebBaseNetscapePluginView.m: 13423 (-[WebBaseNetscapePluginView pluginScriptableObject]): 13424 (-[WebBaseNetscapePluginView forceRedraw]): 13425 (-[WebBaseNetscapePluginView getVariable:value:]): 13426 * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h: 13427 * Plugins.subproj/WebNetscapePluginPackage.m: 13428 (-[WebNetscapePluginPackage load]): 13429 * Plugins.subproj/npapi.h: 13430 * Plugins.subproj/npapi.m: 13431 (NPN_GetValue): 13432 * Plugins.subproj/npfunctions.h: 13433 * Plugins.subproj/npruntime.h: 13434 * WebKit.pbproj/project.pbxproj: 13435 134362004-06-21 Darin Adler <darin@apple.com> 13437 13438 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 13439 134402004-06-21 Chris Blumenberg <cblu@apple.com> 13441 13442 Made WebKitErrorDescriptionPlugInCancelledConnection have its own description string 13443 (Not for software update branch) 13444 13445 Reviewed by john. 13446 13447 * English.lproj/Localizable.strings: 13448 * Misc.subproj/WebKitErrors.m: 13449 134502004-06-21 Chris Blumenberg <cblu@apple.com> 13451 13452 Made WebKitErrorDescriptionPlugInCancelledConnection properly reuse an already localized string to avoid loc changes. 13453 13454 Reviewed by john. 13455 13456 * ChangeLog: 13457 * Misc.subproj/WebKitErrors.m: 13458 134592004-06-21 Chris Blumenberg <cblu@apple.com> 13460 13461 Fixed: <rdar://problem/3701269> change in error handling behavior from 10.3.3 to 10.3.4 breaks unreleased Adobe PDF plug-in 13462 13463 Reviewed by john. 13464 13465 * Misc.subproj/WebKitErrors.m: 13466 (registerErrors): register string for WebKitErrorPlugInCancelledConnection 13467 * Misc.subproj/WebKitErrorsPrivate.h: 13468 * Plugins.subproj/WebBaseNetscapePluginStream.h: 13469 * Plugins.subproj/WebBaseNetscapePluginStream.m: 13470 (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): use renamed WEB_REASON_PLUGIN_CANCELLED constant 13471 (-[WebBaseNetscapePluginStream destroyStream]): ditto 13472 * Plugins.subproj/WebNetscapePluginRepresentation.m: 13473 (-[WebNetscapePluginRepresentation cancelWithReason:]): if the reason is WEB_REASON_PLUGIN_CANCELLED, cancel the load with WebKitErrorPlugInCancelledConnection 13474 * Plugins.subproj/WebNetscapePluginStream.m: 13475 (-[WebNetscapePluginStream cancelWithReason:]): ditto 13476 13477=== Safari-146 === 13478 134792004-06-17 Richard Williamson <rjw@apple.com> 13480 13481 Changed private headers to be pubic for npapi.h and npfunctions.h. That 13482 API was approved but never marked as public in the project file. This change does 13483 not make npruntime.h public, which contains the not yet approved changes 13484 for script-ability of netscape plugins. Unfortunately, that API will not 13485 be public for WWDC. 13486 13487 Reviewed by Chris. 13488 13489 * WebKit.pbproj/project.pbxproj: 13490 134912004-06-17 Trey Matteson <trey@apple.com> 13492 13493 3698514 - coordinates in ondragstart and ondrag events are wrong 13494 13495 This part fixes the ondrag coords. I thought Cocoa passed us the mouse location 13496 in draggedImage:movedTo:, but no, it's the position of the dragged image. 13497 WebCore needs the mouse location, so to calc that we must save away the 13498 offset of the mouse relative to the image when we kick off the drag. 13499 13500 Reviewed by Maciej. 13501 13502 * Misc.subproj/WebNSViewExtras.h: 13503 * Misc.subproj/WebNSViewExtras.m: 13504 (-[NSView _web_dragImage:rect:event:pasteboard:source:offset:]): Add the ability 13505 to return the offset of the cursor wrt to the drag image, since this routine 13506 generates its own drag image and positions it. 13507 * WebView.subproj/WebHTMLView.m: 13508 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): 13509 Calc the offset of the cursor wrt to the drag image in the myriad of ways 13510 that we kick off the drag. 13511 (-[WebHTMLView draggedImage:movedTo:]): Adjust the location by the 13512 offset we save when we kicked off the drag. 13513 (-[WebHTMLView draggedImage:endedAt:operation:]): Ditto. 13514 * WebView.subproj/WebHTMLViewInternal.h: 13515 * WebView.subproj/WebImageView.m: 13516 (-[WebImageView mouseDragged:]): Pass nil for new arg, we don't care. 13517 135182004-06-16 David Hyatt <hyatt@apple.com> 13519 13520 In order to support truncation in Emerson, enhance pointToOffset so that it needn't include partial 13521 character glyphs (the left half of a glyph). 13522 13523 Reviewed by mjs 13524 13525 * WebCoreSupport.subproj/WebTextRenderer.m: 13526 (-[WebTextRenderer pointToOffset:style:position:reversed:includePartialGlyphs:]): 13527 (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]): 13528 (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]): 13529 13530=== Safari-145 === 13531 135322004-06-16 Darin Adler <darin@apple.com> 13533 13534 - fixed <rdar://problem/3696081> REGRESSION: <WebKit/CarbonUtils.h> doesn't build any more 13535 13536 Reviewed by Trey. 13537 13538 * Carbon.subproj/CarbonUtils.h: Fixed include. Need to include <ApplicationServices/ApplicationServices.h> 13539 to get CGImageRef; can't include an individual header. 13540 135412004-06-15 Richard Williamson <rjw@apple.com> 13542 13543 Fixed <rdar://problem/3695875>: Objective-C instances that are exported to JavaScript are too promiscuous 13544 13545 Flip the policy for exposing Objective-C methods and properties. 13546 13547 Reviewed by Trey. 13548 13549 * Plugins.subproj/WebPluginPackage.m: 13550 (+[NSObject isSelectorExcludedFromWebScript:]): Just return YES. 13551 (+[NSObject isKeyExcludedFromWebScript:]): Just return YES. 13552 135532004-06-15 Trey Matteson <trey@apple.com> 13554 13555 3639321 - Harvard PIN authentication ends up sending PIN as clear text with POST action 13556 13557 When going back/forward to an item, if we went there originally via a POST, 13558 we ask the user about rePOSTing, and if they say yes, we resend the POST. 13559 This rePOST case is triggered by the form data that we saved on the b/f item. 13560 In the case of this bug, the overall navigation was accomplished by a POST, 13561 then a redirect, causing a GET. When a load of type redirect achieves the Committed 13562 stage, we replace the current URL in the b/f item with the new URL (instead of 13563 adding a new item to the b/f list). 13564 13565 The bug is that at the same time we should also update the form data in 13566 the b/f item to match that of the new request. I think this will normally 13567 mean nil'ing it out, unless there's some way for the result of the redirect 13568 to be another POST. 13569 13570 The security leak occurred because we did not clear the form data on the item, 13571 so when going back or forward to the page, we would go into the rePOSTing code, 13572 even though we eventually reached that page via a GET (caused by the redirect). 13573 So we would do a POST to the redirect URL containing the private data sent in 13574 the original POST. 13575 13576 Reviewed by mjs and rjw. 13577 13578 * History.subproj/WebHistoryItem.m: 13579 (-[WebHistoryItem _setFormInfoFromRequest:]): New method, just wraps 3 old set methods. 13580 (-[WebHistoryItem formData]): Diff being dumb, no change. 13581 (-[WebHistoryItem formContentType]): Ditto 13582 (-[WebHistoryItem formReferrer]): Ditto 13583 * History.subproj/WebHistoryItemPrivate.h: 13584 * WebView.subproj/WebFrame.m: 13585 (-[WebFrame _createItem:]): Call new WebHistoryItem method - no change in real behavior 13586 (-[WebFrame _transitionToCommitted:]): Clear out the form data at the key time, to fix the bug. 13587 135882004-06-15 Chris Blumenberg <cblu@apple.com> 13589 13590 Fixed: <rdar://problem/3695724> WebKit plug-ins should only have to implement plugInViewWithArguments: 13591 13592 Reviewed by rjw. 13593 13594 * ChangeLog: 13595 * Plugins.subproj/WebPluginViewFactory.h: mention that plugInViewWithArguments is required 13596 * WebView.subproj/WebFrame.m: 13597 (-[WebFrame _reloadForPluginChanges]): check for plugInViewWithArguments: not webPlugInInitialize 13598 * WebView.subproj/WebHTMLView.m: 13599 (-[WebHTMLView addSubview:]): ditto 13600 136012004-06-15 Trey Matteson <trey@apple.com> 13602 13603 3695240 - pasting plain text with newlines in it turns them into spaces 13604 13605 Easy fix, we just need to consume the incoming data as text instead of markup. 13606 13607 Reviewed by John and Darin. 13608 13609 * WebView.subproj/WebHTMLView.m: 13610 (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): 13611 136122004-06-15 Darin Adler <darin@apple.com> 13613 13614 - fixed crash introduced by my earlier change 13615 13616 * WebCoreSupport.subproj/WebImageRenderer.m: 13617 (-[WebImageContext dealloc]): Set _cgsContext to 0 before calling super as before. 13618 (-[WebImageContext finalize]): Ditto. 13619 136202004-06-14 Darin Adler <darin@apple.com> 13621 13622 Reviewed by Maciej. 13623 13624 - fixed some things for GC that Patrick missed, or that happened after the branch 13625 13626 * Carbon.subproj/HIWebView.m: 13627 (HIWebViewConstructor): Use CFRetain instead of retain. 13628 (HIWebViewDestructor): Use CFRelease instead of release. 13629 * Misc.subproj/WebFileDatabase.m: 13630 (-[WebFileDatabase initWithPath:]): Use release instead of dealloc. 13631 * WebCoreSupport.subproj/WebImageRenderer.m: 13632 (-[WebImageContext finalize]): Had [super dealloc] here by mistake; change to [super finalize]. 13633 * WebCoreSupport.subproj/WebTextRenderer.m: 13634 (-[WebTextRenderer finalize]): Added. 13635 * WebView.subproj/WebDebugDOMNode.m: 13636 (-[WebDebugDOMNode initWithWebFrameView:]): Use release instead of dealloc. 13637 * WebView.subproj/WebRenderNode.m: 13638 (-[WebRenderNode initWithWebFrameView:]): Use release instead of dealloc. 13639 136402004-06-15 Trey Matteson <trey@apple.com> 13641 13642 Fix ASSERT/crash we get sometimes when dragging link images. Turns 13643 out there was an uninitialized variable for the image size, 13644 so at random we would try to create huge images that could not 13645 be focused. 13646 13647 Reviewed by Maciej and Darin. 13648 13649 * WebView.subproj/WebHTMLView.m: 13650 (-[WebHTMLView _dragImageForLinkElement:]): Trivial fix to 13651 not use += with uninited variable. 13652 136532004-06-14 Darin Adler <darin@apple.com> 13654 13655 Reviewed by me, code changes by Patrick Beard. 13656 13657 - fixed <rdar://problem/3671507>: (WebKit should adopt GC changes and compile with GC enabled) 13658 13659 * WebKit.pbproj/project.pbxproj: Added WebNSObjectExtras.h. 13660 * Misc.subproj/WebNSObjectExtras.h: Added. Includes WebMakeCollectable, a cover for 13661 CFMakeCollectable that returns type id, for less casting, and works on Panther as well 13662 as Tiger. Also declares finalize in NSObject so we can call super without warnings on Panther. 13663 13664 * Carbon.subproj/CarbonWindowAdapter.m: Fixed header and includes a bit. 13665 (-[CarbonWindowAdapter finalize]): Added. 13666 * History.subproj/WebBackForwardList.m: 13667 (-[WebBackForwardList dealloc]): Got count outside loop. 13668 (-[WebBackForwardList finalize]): Added. 13669 * History.subproj/WebHistoryItem.m: 13670 (-[WebHistoryItem finalize]): Added. 13671 * Misc.subproj/WebFileDatabase.m: 13672 (-[WebFileDatabase _createLRUList:]): Use release on Panther, drain on Tiger. 13673 (+[WebFileDatabase _syncLoop:]): Ditto. 13674 (-[WebFileDatabase dealloc]): Removed, since we never deallocate objects of this class, and 13675 the method was untested. 13676 * Misc.subproj/WebKitErrors.m: (registerErrors): Use release on Panther, drain on Tiger. 13677 * Misc.subproj/WebKitNSStringExtras.m: (+[NSString _web_encodingForResource:]): Use 13678 WebMakeCollectable. Also fixed indenting. 13679 * Misc.subproj/WebNSURLExtras.m: 13680 (+[NSURL _web_URLWithData:relativeToURL:]): Use WebMakeCollectable. 13681 (-[NSURL _web_URLWithLowercasedScheme]): Use WebMakeCollectable. 13682 (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Change code to use CFRelease 13683 to balance CFURLCreateStringByReplacingPercentEscapes CFString creation, not release. 13684 * Plugins.subproj/WebBaseNetscapePluginStream.m: 13685 (-[WebBaseNetscapePluginStream finalize]): Added. 13686 * Plugins.subproj/WebBaseNetscapePluginView.m: 13687 (-[WebBaseNetscapePluginView freeAttributeKeysAndValues]): Added. Shared code for dealloc and finalize. 13688 (-[WebBaseNetscapePluginView dealloc]): Call freeAttributeKeysAndValues. 13689 (-[WebBaseNetscapePluginView finalize]): Added. 13690 (-[WebBaseNetscapePluginView requestWithURLCString:]): Changed so that CFString objects are 13691 released with CFRelease, not release. 13692 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Fixed storage leak in 13693 error case. Made sure CFString object is released with CFRelease, not release. 13694 (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]): 13695 Another CFString that needed to a CFRelease, not a release. 13696 (-[WebBaseNetscapePluginView status:]): Ditto. 13697 * Plugins.subproj/WebBasePluginPackage.m: 13698 (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]): Changed code to 13699 CFRelease a CFURLRef, instead of release. 13700 (-[WebBasePluginPackage finalize]): Added. 13701 * WebCoreSupport.subproj/WebBridge.m: 13702 (-[WebBridge fini]): Added. Shared code for dealloc and finalize. 13703 (-[WebBridge dealloc]): Call fini. 13704 (-[WebBridge finalize]): Added. 13705 * WebCoreSupport.subproj/WebGlyphBuffer.m: 13706 (-[WebGlyphBuffer finalize]): Added. 13707 * WebCoreSupport.subproj/WebImageRenderer.m: 13708 (-[WebImageContext initWithBounds:context:]): Use CGContextRetain to avoid cast. 13709 (-[WebImageContext dealloc]): Tweaked. 13710 (-[WebImageContext finalize]): Added. 13711 (-[WebImageRenderer finalize]): Added. 13712 (-[WebPDFDocument finalize]): Added. 13713 * WebView.subproj/WebDataProtocol.m: 13714 (+[NSURL _web_uniqueWebDataURL]): Changed so that CFString object is released with 13715 CFRelease, not release. 13716 * WebView.subproj/WebDataSource.m: 13717 (-[WebDataSourcePrivate dealloc]): Took non-release work out of here. 13718 (-[WebDataSource dealloc]): Moved it here. 13719 (-[WebDataSource finalize]): Added. 13720 (-[WebDataSource isLoading]): Use release on Panther, drain on Tiger. 13721 * WebView.subproj/WebFrame.m: 13722 (-[WebFramePrivate dealloc]): Took non-release work out of here. 13723 (-[WebFrame dealloc]): Moved it here. 13724 (-[WebFrame finalize]): Added. 13725 * WebView.subproj/WebFrameView.m: 13726 (-[WebFrameView finalize]): Added. 13727 * WebView.subproj/WebHTMLRepresentation.m: 13728 (-[WebHTMLRepresentation finalize]): Added. 13729 * WebView.subproj/WebHTMLView.m: 13730 (-[WebHTMLViewPrivate dealloc]): Moved non-release work out of here. 13731 (-[WebHTMLView dealloc]): Moved it here. 13732 (-[WebHTMLView finalize]): Added. 13733 * WebView.subproj/WebImageView.m: 13734 (-[WebImageView finalize]): Added. 13735 * WebView.subproj/WebMainResourceClient.m: 13736 (-[WebMainResourceClient finalize]): Added. 13737 * WebView.subproj/WebTextView.m: 13738 (-[WebTextView finalize]): Added. 13739 * WebView.subproj/WebView.m: 13740 (-[WebView finalize]): Added. 13741 137422004-06-14 Ken Kocienda <kocienda@apple.com> 13743 13744 Reviewed by Darin 13745 13746 Fix for this bug: 13747 13748 <rdar://problem/3693202> WebView.h header unnecessarily lists NSResponder methods it overrides 13749 13750 * WebView.subproj/WebView.h: NSResponder overrides now gathered in a comment section. 13751 137522004-06-13 Trey Matteson <trey@apple.com> 13753 13754 Support for DHTML cut/copy/paste. 13755 13756 Reviewed by Chris 13757 13758 * WebView.subproj/WebHTMLView.m: 13759 (-[WebHTMLView copy:]): Give DHTML first crack at executing the command. 13760 (-[WebHTMLView cut:]): Ditto 13761 (-[WebHTMLView paste:]): Ditto 13762 137632004-06-14 Chris Blumenberg <cblu@apple.com> 13764 13765 Fixed: <rdar://problem/3674456> make new drag & drop API compatible with DHTML dragging 13766 13767 Reviewed by trey. 13768 13769 * WebView.subproj/WebHTMLView.m: 13770 (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): tweak 13771 * WebView.subproj/WebUIDelegate.h: removed old, added new methods 13772 * WebView.subproj/WebUIDelegatePrivate.h: moved new methods to public header 13773 * WebView.subproj/WebView.h: removed old, added new methods 13774 * WebView.subproj/WebView.m: moved methods around 13775 (-[WebView moveDragCaretToPoint:]): moved 13776 (-[WebView removeDragCaret]): moved 13777 (-[WebView _bridgeAtPoint:]): moved 13778 (-[WebView editableDOMRangeForPoint:]): moved 13779 * WebView.subproj/WebViewInternal.h: add new internal method 13780 * WebView.subproj/WebViewPrivate.h: moved new methods to public header 13781 137822004-06-14 Trey Matteson <trey@apple.com> 13783 13784 Use a different hack, as recommended by Kristin, to force the drag 13785 manager to exit a modal event wait it is in. The hack is required 13786 to update the drag image on the fly. Instead of posting a CG 13787 event we post at the AppKit level. 13788 13789 Reviewed by Louch 13790 13791 * WebCoreSupport.subproj/WebGraphicsBridge.m: 13792 (-[WebGraphicsBridge setDraggingImage:at:]): 13793 137942004-06-14 Chris Blumenberg <cblu@apple.com> 13795 13796 Fixed: 13797 <rdar://problem/3692668> REGRESSION: delay when images and links 13798 <rdar://problem/3692675> links should drag when dragging images that are links when drag source action is WebDragSourceActionLink 13799 13800 Reviewed by trey. 13801 13802 * WebView.subproj/WebHTMLView.m: 13803 (-[WebHTMLView _mayStartDragWithMouseDragged:]): cleaned up, only use selection delay for selections, allow links to be dragged when image dragging is disabled 13804 138052004-06-12 Trey Matteson <trey@apple.com> 13806 13807 Small rearrangement to support dynamic changing of the drag 13808 image during DHTML dragging. 13809 13810 Reviewed by John 13811 13812 * WebCoreSupport.subproj/WebBridge.m: Bridge glue moved to WebGraphicsBridge. 13813 * WebCoreSupport.subproj/WebGraphicsBridge.m: 13814 (FlipImageSpec): Code moved from WebHTMLView.m. 13815 (-[WebGraphicsBridge setDraggingImage:at:]): Ditto. Plus, we've added a gross 13816 event posting hack to force CG drag manager to update the display when we set 13817 the drag image. 13818 * WebView.subproj/WebHTMLView.m: Code moved to WebGraphicsBridge. 13819 * WebView.subproj/WebHTMLViewPrivate.h: 13820 138212004-06-11 Chris Blumenberg <cblu@apple.com> 13822 13823 Implemented the remainder of the drag & drop API. 13824 13825 Reviewed by trey. 13826 13827 * Misc.subproj/WebNSPasteboardExtras.h: 13828 * Misc.subproj/WebNSPasteboardExtras.m: 13829 (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]): new 13830 * Misc.subproj/WebNSViewExtras.h: 13831 * Misc.subproj/WebNSViewExtras.m: 13832 (-[NSView _web_dragImage:rect:event:pasteboard:source:]): simplified, this method now just creates a drag image and starts the drag 13833 * WebCoreSupport.subproj/WebBridge.m: 13834 (-[WebBridge allowDHTMLDrag:UADrag:]): now calls _delegateDragSourceActionMask on WebHTMLView to interact with the delegate 13835 * WebView.subproj/WebDefaultUIDelegate.m: 13836 * WebView.subproj/WebHTMLView.m: 13837 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): call new delegate method, cleaned-up a little 13838 (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): call drag caret methods on WebView instead of WebBridge so WebView can make sure only 1 HTML view has a drag cursor 13839 (-[WebHTMLView draggingCancelledWithDraggingInfo:]): ditto 13840 (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): ditto 13841 (-[WebHTMLView _delegateDragSourceActionMask]): new, gets drag source action mask from delegate 13842 * WebView.subproj/WebHTMLViewInternal.h: 13843 * WebView.subproj/WebImageView.h: 13844 * WebView.subproj/WebImageView.m: 13845 (-[WebImageView mouseDown:]): get the drag source action mask from the delegate 13846 (-[WebImageView mouseDragged:]): inform the delegate of the drag 13847 * WebView.subproj/WebView.m: 13848 (-[WebViewPrivate dealloc]): assert that dragCursorBridge is nil 13849 (-[WebView _close]): release dragCursorBridge 13850 (-[WebView _bridgeAtPoint:]): new 13851 (-[WebView editableDOMRangeForPoint:]): new API 13852 (-[WebView moveDragCaretToPoint:]): new API 13853 (-[WebView removeDragCaret]): new API 13854 (-[WebView _frameViewAtWindowPoint:]): moved so this can be called internally 13855 * WebView.subproj/WebViewInternal.h: 13856 * WebView.subproj/WebViewPrivate.h: 13857 138582004-07-10 Trey Matteson <trey@apple.com> 13859 13860 Prep work for latest delegate API for dragging. In addition, I also straightened out all 13861 the cases of DHTML setting a drag image or setting pasteboard data, and how that would 13862 override WebKit's default behavior (which follows how WinIE does things). 13863 13864 Reviewed by Chris. 13865 13866 * Misc.subproj/WebNSViewExtras.h: 13867 * Misc.subproj/WebNSViewExtras.m: 13868 (-[NSView _web_dragImage:archive:rect:URL:title:event:dragImage:dragLocation:writePasteboard:]): 13869 New args to allow WebCore override of dragImage and pasteboard data. 13870 * WebCoreSupport.subproj/WebBridge.m: 13871 (-[WebBridge allowDHTMLDrag:UADrag:]): New method to return the drag action info to WC. 13872 (-[WebBridge startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): 13873 Pass along new args. 13874 * WebView.subproj/WebHTMLView.m: 13875 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): 13876 Allow WebCore to override drag image and pasteboard data for any type of drag. 13877 (-[WebHTMLView mouseDragged:]): Pass NO for new args. 13878 * WebView.subproj/WebHTMLViewPrivate.h: 13879 * WebView.subproj/WebImageView.m: 13880 (-[WebImageView mouseDragged:]): Pass NO/nil for new args. 13881 13882=== Safari-144 === 13883 138842004-06-10 Kevin Decker <kdecker@apple.com> 13885 13886 Reviewed by John. 13887 13888 * WebView.subproj/WebResource.m: 13889 (-[WebResource description]): 13890 -added per request of cblu 13891 (-[WebResource _response]): 13892 -added this method to the header 13893 (-[WebResource _stringValue]): 13894 - gives the string value of the NSData representation 13895 * WebView.subproj/WebResourcePrivate.h: 13896 138972004-06-10 Darin Adler <darin@apple.com> 13898 13899 Reviewed by Ken. 13900 13901 * WebCoreSupport.subproj/WebBridge.m: Removed undo-related methods. 13902 (-[WebBridge undoManager]): Added. 13903 13904 * WebKit.pbproj/.cvsignore: Updated for new Xcode files. 13905 139062004-06-09 Ken Kocienda <kocienda@apple.com> 13907 13908 Reviewed by Darin 13909 13910 Fix for this bug: 13911 13912 <rdar://problem/3672088>: "Editable WebViews should maintain a selection even when they're not firstResponder" 13913 13914 Add some code to determine whether a WebHTMLView should maintain an 13915 inactive selection when the view is not first responder. Traditionally, 13916 these views have not maintained such selections, clearing them when the 13917 view was not first responder. However, for appls embedding this view as 13918 an editing widget, it is desirable to act more like an NSTextView. For 13919 now, however, the view only acts in this way when the web view is set to 13920 be editable with -[WebView setEditable:YES]. This will maintain 13921 traditional behavior for WebKit clients dating back to before this 13922 change, and will likely be a decent switch for the long term, since 13923 clients to ste the web view to be editable probably want it to act like 13924 a "regular" Cocoa view in terms of its selection behavior. 13925 13926 * WebView.subproj/WebHTMLView.m: 13927 (-[WebHTMLView updateTextBackgroundColor]): Add code to tell whether the view is resigning first responder, 13928 and if it is, use the inactive text background color. 13929 (-[WebHTMLView maintainsInactiveSelection]): New helper which does checks to see if the new selection 13930 behavior should be used, or whether we should continue with traditional WebKit behavior. 13931 (-[WebHTMLView resignFirstResponder]): Call new maintainsInactiveSelection helper. If true, 13932 do not clear the selection. 13933 * WebView.subproj/WebHTMLViewInternal.h: Add resigningFirstResponder flag. 13934 139352004-06-09 Chris Blumenberg <cblu@apple.com> 13936 13937 Implemented drag destination portion of the new drag & drop API. 13938 13939 Reviewed by trey. 13940 13941 * WebView.subproj/WebDefaultUIDelegate.m: 13942 (-[WebDefaultUIDelegate webView:dragDestinationActionMaskForDraggingInfo:]): new delegate implementation 13943 (-[WebDefaultUIDelegate webView:willPerformDragDestinationAction:forDraggingInfo:]): ditto 13944 * WebView.subproj/WebDocumentInternal.h: 13945 * WebView.subproj/WebHTMLView.m: 13946 (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): handle the action mask 13947 (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): ditto 13948 * WebView.subproj/WebUIDelegate.h: 13949 * WebView.subproj/WebUIDelegatePrivate.h: 13950 * WebView.subproj/WebView.m: 13951 (-[WebView _dragOperationForDraggingInfo:]): call new delegate methods 13952 (-[WebView performDragOperation:]): ditto 13953 * WebView.subproj/WebViewInternal.h: 13954 * WebView.subproj/WebViewPrivate.h: 13955 139562004-06-09 Richard Williamson <rjw@apple.com> 13957 13958 Implemented PDF rendering for the drawImage() function 13959 in Context2D. This allows PDF files to be drawn in scaled 13960 or rotated context without rasterization artifacts. 13961 13962 The PDF image is currently NOT cached. Caching can/will be added 13963 as an optimization. The hooks are already in place to flush 13964 the cache as necessary. 13965 13966 Reviewed by John. 13967 13968 * WebCoreSupport.subproj/WebImageRenderer.h: 13969 * WebCoreSupport.subproj/WebImageRenderer.m: 13970 (-[WebImageRenderer dealloc]): 13971 (-[WebImageRenderer _needsRasterFlush]): 13972 (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): 13973 (-[WebImageRenderer _PDFDocumentRef]): 13974 (-[WebImageRenderer _PDFDraw]): 13975 (-[WebImageRenderer _PDFDrawFromRect:toRect:operation:alpha:flipped:]): 13976 (-[WebImageRenderer MIMEType]): 13977 (ReleasePDFDocumentData): 13978 (-[WebPDFDocument initWithData:]): 13979 (-[WebPDFDocument dealloc]): 13980 (-[WebPDFDocument documentRef]): 13981 (-[WebPDFDocument mediaBox]): 13982 (-[WebPDFDocument bounds]): 13983 (-[WebPDFDocument adjustCTM:]): 13984 (-[WebPDFDocument setCurrentPage:]): 13985 (-[WebPDFDocument currentPage]): 13986 (-[WebPDFDocument pageCount]): 13987 13988 Added back check for old plugin API. 13989 13990 * WebView.subproj/WebFrame.m: 13991 (-[WebFrame _reloadForPluginChanges]): 13992 * WebView.subproj/WebHTMLView.m: 13993 (-[WebHTMLView addSubview:]): 13994 * WebCoreSupport.subproj/WebBridge.m: 13995 (-[WebBridge frameRequiredForMIMEType:URL:]): 13996 139972004-06-08 Trey Matteson <trey@apple.com> 13998 13999 In DHTML dragging there is no notion of registering for types, so we'd 14000 like to just pass all types down to WebCore. It turns out that the per-type 14001 registration doesn't matter as far as the underlying drag service is 14002 concerned, so Cocoa is already getting called for any type. We just hack and 14003 override a private method to ensure we accept any type. 14004 14005 Reviewed by Chris. 14006 14007 * WebView.subproj/WebView.m: 14008 (-[WebView _hitTest:dragTypes:]): We accept any drag type if it is within 14009 our view, without overriding a subview's decision. 14010 140112004-06-08 Trey Matteson <trey@apple.com> 14012 14013 A DHTML drag source can now change the dragging image during the drag. Currently 14014 it may only be set to a static image. 14015 14016 Reviewed by John 14017 14018 * WebCoreSupport.subproj/WebBridge.m: 14019 (-[WebBridge setDraggingImage:at:]): Typical bridge glue. 14020 * WebView.subproj/WebHTMLView.m: 14021 (FlipImageSpec): New utility, copied from AppKit. 14022 (-[WebHTMLView _setDraggingImage:at:]): Mostly copied from AppKit. Sets the drag 14023 image using CG API. 14024 * WebView.subproj/WebHTMLViewPrivate.h: 14025 140262004-06-08 Chris Blumenberg <cblu@apple.com> 14027 14028 Fixed: <rdar://problem/3640423>: (REGRESSION: can't paste text copied from web page into Excel (due to HTML on the pasteboard?)) 14029 14030 Reviewed by darin. 14031 14032 * WebView.subproj/WebHTMLView.m: 14033 (+[WebHTMLView _selectionPasteboardTypes]): don't include NSHTMLPboardType 14034 (-[WebHTMLView _selectedArchive]): removed markup string parameter 14035 (_selectionPasteboardTypes::if): don't put NSHTMLPboardType on the pasteboard 14036 * WebView.subproj/WebHTMLViewPrivate.h: 14037 140382004-06-07 Darin Adler <darin@apple.com> 14039 14040 Reviewed by Chris. 14041 14042 - fixed <rdar://problem/3676761>: (REGRESSION: Text Bigger/Smaller commands are always disabled in TOT) 14043 14044 * WebView.subproj/WebHTMLView.m: Add @interface declaration for WebTextSizing category 14045 on WebHTMLView. This must have gotten lost somewhere along the way. 14046 140472004-06-05 Trey Matteson <trey@apple.com> 14048 14049 WebKit no longer causes an endless stream of dragexit events to 14050 occur at the DHTML level when hovering over an element that is 14051 not accepting the drag. 14052 14053 Reviewed by Chris 14054 14055 * WebView.subproj/WebView.m: 14056 (-[WebView _dragOperationForDraggingInfo:]): If the potential target refuses 14057 the item, don't turn around and immediately tell it to cancel the drag, which is 14058 what leads to the exit event happening at the DOM level. If the target just 14059 refused the drag, it should not have anything it needs to cancel. 14060 140612004-06-03 Trey Matteson <trey@apple.com> 14062 14063 DHTML dragging uses the Cocoa NSDragOperation on both the source and dest ends. 14064 Most of the real work is in WebCore. 14065 14066 Reviewed by rjw 14067 14068 * WebCoreSupport.subproj/WebBridge.m: 14069 (-[WebBridge startDraggingImage:at:operation:event:]): Pass the drag op along. 14070 * WebView.subproj/WebHTMLView.m: 14071 (-[WebHTMLView _startDraggingImage:at:operation:event:]): Remember drag op from WC. 14072 (-[WebHTMLView mouseDragged:]): Pass None for the op (alternate code path that will 14073 be going away). 14074 (-[WebHTMLView draggingSourceOperationMaskForLocal:]): Use the WC drag op. 14075 * WebView.subproj/WebHTMLViewInternal.h: 14076 * WebView.subproj/WebHTMLViewPrivate.h: 14077 14078=== Safari-143 === 14079 140802004-06-04 Chris Blumenberg <cblu@apple.com> 14081 14082 Fixed: <rdar://problem/3674921>: (can't drag an image from Desktop to Blot document) 14083 14084 Reviewed by mjs. 14085 14086 * WebView.subproj/WebDataSource.m: 14087 (-[WebDataSource _imageElementWithImageResource:]): factored out from _documentFragmentWithImageResource: 14088 (-[WebDataSource _documentFragmentWithImageResource:]): call _imageElementWithImageResource: 14089 * WebView.subproj/WebDataSourcePrivate.h: 14090 * WebView.subproj/WebHTMLView.m: 14091 (-[WebHTMLView _imageExistsAtPaths:]): new 14092 (-[WebHTMLView _documentFragmentWithPaths:]): new 14093 (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): handle NSFilenamesPboardType 14094 (+[WebHTMLView _insertablePasteboardTypes]): include NSFilenamesPboardType 14095 (-[WebHTMLView _canProcessDragWithDraggingInfo:]): check for NSFilenamesPboardType and check that the files are images 14096 140972004-06-04 Richard Williamson <rjw@apple.com> 14098 14099 Fixed crasher from last checkin. 14100 14101 Reviewed by Ken. 14102 14103 * Plugins.subproj/WebPluginDatabase.m: 14104 (+[WebPluginDatabase setAdditionalWebPlugInPaths:]): 14105 (pluginLocations): 14106 141072004-06-03 Richard Williamson <rjw@apple.com> 14108 14109 Add SPI to allow setting of plugin load path. 14110 Reviewed by Hyatt. 14111 14112 * Plugins.subproj/WebPluginDatabase.h: 14113 * Plugins.subproj/WebPluginDatabase.m: 14114 (+[WebPluginDatabase setAdditionalWebPlugInPaths:]): 14115 (pluginLocations): 14116 141172004-06-03 Darin Adler <darin@apple.com> 14118 14119 Reviewed by Chris. 14120 14121 - fixed <rdar://problem/3677038>: (Need SPI to get URL of favicon for a site) 14122 14123 * Misc.subproj/WebIconDatabase.h: Add iconURLForURL: method. 14124 * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase iconURLForURL:]): Added. 14125 141262004-06-02 Ken Kocienda <kocienda@apple.com> 14127 14128 Reviewed by John 14129 14130 Fix for these bugs: 14131 14132 <rdar://problem/3675806>: "Make API name change for -webViewShouldBeginEditing:inDOMRange:" 14133 <rdar://problem/3675809>: "Make API name change for -webViewShouldEndEditing:inDOMRange:" 14134 14135 New names are -webView:shouldBeginEditingInDOMRange: and -webView:shouldEndEditingInDOMRange:, 14136 respectively. 14137 14138 * WebView.subproj/WebDefaultEditingDelegate.m: 14139 (-[WebDefaultEditingDelegate webView:shouldBeginEditingInDOMRange:]): 14140 (-[WebDefaultEditingDelegate webView:shouldEndEditingInDOMRange:]): 14141 * WebView.subproj/WebEditingDelegate.h: 14142 * WebView.subproj/WebView.m: 14143 (-[WebView _shouldBeginEditingInDOMRange:]): 14144 (-[WebView _shouldEndEditingInDOMRange:]): 14145 141462004-06-02 Richard Williamson <rjw@apple.com> 14147 14148 conformsToProtocol:@protocol(WebPlugin) becomes 14149 respondsToSelector:@selector(webPlugInInitialize) because 14150 protocol was changed to an informal protocol. 14151 Reviewed by Kevin. 14152 14153 * WebCoreSupport.subproj/WebBridge.m: 14154 (-[WebBridge frameRequiredForMIMEType:URL:]): 14155 * WebView.subproj/WebHTMLView.m: 14156 (-[WebHTMLView addSubview:]): 14157 141582004-06-01 Trey Matteson <trey@apple.com> 14159 14160 First cut at source side of DHTML dragging. Most of the work is in WebCore. 14161 14162 Reviewed by hyatt. 14163 14164 * WebCoreSupport.subproj/WebBridge.m: 14165 (-[WebBridge startDraggingImage:at:event:]): Added image and loc args for 14166 when WC tells WK to start a drag. 14167 * WebView.subproj/WebHTMLView.m: 14168 (-[WebHTMLView _startDraggingImage:at:event:]): New image and loc args coming 14169 from WebCore. Hysteresis is moved to WC. 14170 (-[WebHTMLView mouseDragged:]): Call new _startDragging method. 14171 (-[WebHTMLView draggedImage:movedTo:]): Pass event to WC. 14172 (-[WebHTMLView draggedImage:endedAt:operation:]): Pass event to WC. 14173 (-[WebHTMLView mouseUp:]): Reset firstMouseDownEvent. Fixes bug where 14174 we would occasionally short-circuit WC event handling due to aliasing 14175 problem with this event. 14176 * WebView.subproj/WebHTMLViewPrivate.h: 14177 141782004-06-02 Darin Adler <darin@apple.com> 14179 14180 Reviewed by John. 14181 14182 - fixed problem with timing of delegate callbacks in the back/forward cache case 14183 14184 * WebView.subproj/WebFrame.m: 14185 (-[WebFrame _transitionToCommitted:]): Move code to indicate page is done loading in the 14186 back/forward cache case from here ... 14187 (-[WebFrame _opened]): ... to here. 14188 141892004-06-01 Richard Williamson <rjw@apple.com> 14190 14191 Fixed deployment build warning. 14192 14193 * WebCoreSupport.subproj/WebImageRenderer.m: 14194 (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): 14195 141962004-06-01 Richard Williamson <rjw@apple.com> 14197 14198 Added support for drawImage and drawImageFromRect to <CANVAS> 14199 Added support for composite attribute to <CANVAS> 14200 14201 Reviewed by Trey. 14202 14203 * WebCoreSupport.subproj/WebImageRenderer.h: 14204 * WebCoreSupport.subproj/WebImageRenderer.m: 14205 (-[WebImageContext initWithBounds:context:]): 14206 (-[WebImageContext dealloc]): 14207 (-[WebImageContext saveGraphicsState]): 14208 (-[WebImageContext restoreGraphicsState]): 14209 (-[WebImageContext isDrawingToScreen]): 14210 (-[WebImageContext focusStack]): 14211 (-[WebImageContext setFocusStack:]): 14212 (-[WebImageContext bounds]): 14213 (-[WebImageContext isFlipped]): 14214 (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): 14215 (-[WebImageRenderer dealloc]): 14216 (-[WebImageRenderer _beginRedirectContext:]): 14217 (-[WebImageRenderer _endRedirectContext:]): 14218 (-[WebImageRenderer _needsRasterFlush]): 14219 (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): 14220 (-[WebImageRenderer drawImageInRect:fromRect:]): 14221 (-[WebImageRenderer flushRasterCache]): 14222 (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]): 14223 (-[WebImageRenderer tileInRect:fromPoint:context:]): 14224 * WebCoreSupport.subproj/WebImageRendererFactory.m: 14225 (-[WebImageRendererFactory imageRendererWithMIMEType:]): 14226 (-[WebImageRendererFactory imageRendererWithName:]): 14227 (-[WebImageRendererFactory CGCompositeOperationInContext:]): 14228 (-[WebImageRendererFactory setCGCompositeOperation:inContext:]): 14229 (-[WebImageRendererFactory setCGCompositeOperationFromString:inContext:]): 14230 142312004-06-01 John Sullivan <sullivan@apple.com> 14232 14233 Reviewed by Trey. 14234 14235 Work on text-align API. Marked these bugs fixed: 14236 <rdar://problem/3655380>: (Editing: -alignCenter: method unimplemented (WebKit editing API)) 14237 <rdar://problem/3655381>: (Editing: -alignJustified: method unimplemented (WebKit editing API)) 14238 <rdar://problem/3655383>: (Editing: -alignLeft: method unimplemented (WebKit editing API)) 14239 <rdar://problem/3655384>: (Editing: -alignRight: method unimplemented (WebKit editing API)) 14240 14241 in favor of opening this bug: 14242 <rdar://problem/3675191>: (Editing: -alignLeft: and friends mostly implemented but not 14243 yet working (WebKit editing API)) 14244 14245 * English.lproj/StringsNotToBeLocalized.txt: 14246 updated for these changes 14247 14248 * WebView.subproj/WebHTMLView.m: 14249 (-[WebHTMLView changeDocumentBackgroundColor:]): 14250 added a FIXME about why this is still not quite right 14251 (-[WebHTMLView _alignSelectionUsingCSSValue:]): 14252 new method, bottleneck for the various values 14253 (-[WebHTMLView alignCenter:]): 14254 call _alignSelectionUsingCSSValue:@"center" 14255 (-[WebHTMLView alignJustified:]): 14256 call _alignSelectionUsingCSSValue:@"justify" 14257 (-[WebHTMLView alignLeft:]): 14258 call _alignSelectionUsingCSSValue:@"left" 14259 (-[WebHTMLView alignRight:]): 14260 call _alignSelectionUsingCSSValue:@"right" 14261 142622004-06-01 John Sullivan <sullivan@apple.com> 14263 14264 Reviewed by Ken. 14265 14266 - fixed <rdar://problem/3655378>: (Editing: -changeDocumentBackgroundColor: 14267 method unimplemented (WebKit editing API)) 14268 - made startSpeaking: actually work; previous implementation raised a DOMException 14269 14270 * WebView.subproj/WebHTMLView.m: 14271 (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]): 14272 added range parameter 14273 (-[WebHTMLView _entireDOMRange]): 14274 new convenience method 14275 (-[WebHTMLView changeDocumentBackgroundColor:]): 14276 now affects entire document, not just selected range, a la NSTextView 14277 (-[WebHTMLView changeColor:]): 14278 now passes in a range to _changeCSSColorUsingSelector:inRange: 14279 (-[WebHTMLView startSpeaking:]): 14280 now uses _entireDOMRange 14281 142822004-06-01 Chris Blumenberg <cblu@apple.com> 14283 14284 Fixed: <rdar://problem/3661505>: (REGRESSION (Safari-140) can't drag standalone images more than once) 14285 14286 Reviewed by john. 14287 14288 * WebView.subproj/WebImageView.m: 14289 (-[WebImageView mouseDown:]): set ignoringMouseDraggedEvents to NO. This line of code was deleted somehow. 14290 142912004-06-01 John Sullivan <sullivan@apple.com> 14292 14293 Reviewed by Darin. 14294 14295 - fixed <rdar://problem/3657003>: (HTML Editing: Color panel doesn't work) 14296 14297 * WebView.subproj/WebHTMLView.m: 14298 (-[WebHTMLView _colorPanelColorAsStyleUsingSelector:]): 14299 new method, returns a DOMCSSStyleDeclaration * 14300 (-[WebHTMLView _changeCSSColorUsingSelector:]): 14301 new method, sets a color-related style attribute on the selection 14302 (-[WebHTMLView changeDocumentBackgroundColor:]): 14303 call _changeCSSColorUsingSelector: with @selector(setBackgroundColor:) 14304 (-[WebHTMLView changeColor:]): 14305 call _changeCSSColorUsingSelector: with @selector(setColor:); also added 14306 comments explaining why changeDocumentBackgroundColor: will never actually 14307 be called until an AppKit code-incest mess is straighted out. 14308 143092004-06-01 Ken Kocienda <kocienda@apple.com> 14310 14311 Reviewed by Darin 14312 14313 * WebView.subproj/WebHTMLView.m: 14314 (-[WebHTMLView _fontManagerOperationAsStyle]): Fixed typo in family-name code that caused 14315 family names to match when they should not. 14316 143172004-06-01 Chris Blumenberg <cblu@apple.com> 14318 14319 Made paste and drop ask the delegate before making any replacements. 14320 14321 Reviewed by kocienda. 14322 14323 * WebView.subproj/WebHTMLView.m: 14324 (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): renamed, now calls _shouldInsertFragment:replacingDOMRange:givenAction: 14325 (-[WebHTMLView _shouldInsertFragment:replacingDOMRange:givenAction:]): new, asks delegate 14326 (-[WebHTMLView concludeDragForDraggingInfo:]): now calls _shouldInsertFragment:replacingDOMRange:givenAction: 14327 (-[WebHTMLView paste:]): call renamed _pasteWithPasteboard:allowPlainText: 14328 (-[WebHTMLView pasteAsRichText:]): ditto 14329 143302004-05-28 Darin Adler <darin@apple.com> 14331 14332 Reviewed by Maciej. 14333 14334 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _fontManagerOperationAsStyle]): 14335 First cut at figuring out what operation the font manager is doing without 14336 digging into its private data structures. 14337 143382004-05-28 Darin Adler <darin@apple.com> 14339 14340 Reviewed by Ken. 14341 14342 - various editing-related improvements 14343 - fixed <rdar://problem/3655366>: (Editing: -selectParagraph: method unimplemented (WebKit editing API)) 14344 - fixed <rdar://problem/3655367>: (Editing: -selectLine: method unimplemented (WebKit editing API)) 14345 - fixed <rdar://problem/3655369>: (Editing: -selectWord: method unimplemented (WebKit editing API)) 14346 - fixed <rdar://problem/3655392>: (Editing: -uppercaseWord: method unimplemented (WebKit editing API)) 14347 - fixed <rdar://problem/3655393>: (Editing: -lowercaseWord: method unimplemented (WebKit editing API)) 14348 - fixed <rdar://problem/3655394>: (Editing: -capitalizeWord: method unimplemented (WebKit editing API)) 14349 14350 * WebView.subproj/WebHTMLView.m: 14351 (-[WebHTMLView _alterCurrentSelection:direction:granularity:]): Removed the call to 14352 ensureCaretVisible. This is now handled on the other side of the bridge. 14353 (-[WebHTMLView moveDown:]): Changed to use WebSelectByLine granularity instead of 14354 WebSelectDown direction. 14355 (-[WebHTMLView moveDownAndModifySelection:]): Ditto. 14356 (-[WebHTMLView moveUp:]): Ditto. 14357 (-[WebHTMLView moveUpAndModifySelection:]): Ditto. 14358 (-[WebHTMLView _expandSelectionToGranularity:]): Added. 14359 (-[WebHTMLView selectParagraph:]): Implemented by calling _expandSelectionToGranularity. 14360 (-[WebHTMLView selectLine:]): Ditto. 14361 (-[WebHTMLView selectWord:]): Ditto. 14362 (-[WebHTMLView _fontManagerOperationAsStyle]): Added. Placeholder for the job of figuring 14363 out what style change to make based on NSFontManager. 14364 (-[WebHTMLView changeFont:]): Implemented, but not really tested because guts are still 14365 missing due to lack of above method. 14366 (-[WebHTMLView insertTab:]): Removed the call to ensureCaretVisible. 14367 (-[WebHTMLView insertNewline:]): Removed the call to ensureCaretVisible. 14368 (-[WebHTMLView insertParagraphSeparator:]): Made this insert a newline for now. 14369 (-[WebHTMLView _changeWordCaseWithSelector:]): Added. 14370 (-[WebHTMLView uppercaseWord:]): Implemented by calling _changeWordCaseWithSelector. 14371 (-[WebHTMLView lowercaseWord:]): Ditto. 14372 (-[WebHTMLView capitalizeWord:]): Ditto. 14373 (-[WebHTMLView deleteBackward:]): Removed the call to ensureCaretVisible. 14374 (-[WebHTMLView checkSpelling:]): Put a pile of AppKit code in here as a placeholder. 14375 (-[WebHTMLView startSpeaking:]): Use the new stringForRange: method instead of outerText. 14376 That way we can handle cases where the entire document is selected. 14377 (-[WebHTMLView insertText:]): Removed the call to ensureCaretVisible. 14378 143792004-05-28 Chris Blumenberg <cblu@apple.com> 14380 14381 Fixed: <rdar://problem/3672129>: (selection deselects when clicking editable WebView in background window) 14382 14383 Fixed this problem by using NSTextView's approach of only allowing dragging on first mouse down. 14384 14385 Reviewed by john. 14386 14387 * WebView.subproj/WebHTMLView.m: 14388 (-[WebHTMLView acceptsFirstMouse:]): store the first mouse down 14389 (-[WebHTMLView mouseDown:]): Don't tell WebCore about the first mouse down event since only dragging can occur on the first mouse down. 14390 (-[WebHTMLView mouseDragged:]): Don't tell WebCore about the drags that occur after the first mouse down since only dragging can occur after the first mouse down. 14391 * WebView.subproj/WebHTMLViewInternal.h: 14392 143932004-05-28 Darin Adler <darin@apple.com> 14394 14395 * WebView.subproj/WebView.m: At Ken's suggestion, for better efficiency and safety, 14396 use _cmd rather than explicit selector names in the forwarding methods. 14397 143982004-05-28 Darin Adler <darin@apple.com> 14399 14400 Reviewed by Ken. 14401 14402 - implemented a few more editing operations, moved code from WebView to WebHTMLView 14403 14404 * WebCoreSupport.subproj/WebBridge.m: 14405 (-[WebBridge respondToChangedContents]): Call _updateFontPanel on the WebHTMLView, not the WebView. 14406 (-[WebBridge respondToChangedSelection]): Ditto. 14407 14408 * WebView.subproj/WebHTMLView.m: Moved WebElementOrTextFilter class here from WebView and 14409 gave it a prefix so it won't conflict with developers' class names. 14410 (-[WebHTMLView _updateFontPanel]): Moved here from WebView. 14411 14412 * WebView.subproj/WebView.m: 14413 (-[WebView toggleSmartInsertDelete:]): Added. 14414 (-[WebView toggleContinuousSpellChecking:]): Added. 14415 (-[WebView isContinuousGrammarCheckingEnabled]): Added. 14416 (-[WebView setContinuousGrammarCheckingEnabled:]): Added. 14417 (-[WebView toggleContinuousGrammarChecking:]): Added. 14418 (-[WebView setSmartInsertDeleteEnabled:]): Implemented. We have the flag now, although we 14419 still don't actually have smart insert and delete implemented. 14420 (-[WebView smartInsertDeleteEnabled]): Ditto. 14421 (-[WebView setContinuousSpellCheckingEnabled:]): Implemented. 14422 (-[WebView isContinuousSpellCheckingEnabled]): Implemented. 14423 (-[WebView spellCheckerDocumentTag]): Implemented. 14424 (-[WebView _preflightSpellCheckerNow:]): Added. 14425 (-[WebView _preflightSpellChecker]): Added. 14426 (-[WebView _continuousCheckingAllowed]): Added. 14427 14428 * WebView.subproj/WebHTMLViewInternal.h: Added. We'll things here from WebHTMLViewPrivate so 14429 they are internal to the framework, rather than SPI. 14430 * WebKit.pbproj/project.pbxproj: Added WebHTMLViewInternal.h. 14431 * WebView.subproj/WebHTMLViewPrivate.h: Moved WebHTMLViewPrivate into the internal header. 14432 Despite its name, it's internal, not SPI. 14433 14434 * WebView.subproj/WebViewPrivate.h: Moved WebViewPrivate into the internal header. 14435 Despite its name, it's internal, not SPI. Added a number of new operations which should 14436 be public API. We'll have to figure out what to do about API review and the WWDC deadline. 14437 * WebView.subproj/WebViewInternal.h: Removed _updateFontPanel method. 14438 14439 * English.lproj/StringsNotToBeLocalized.txt: Update. 14440 144412004-05-27 Ken Kocienda <kocienda@apple.com> 14442 14443 Reviewed by John 14444 14445 The font panel now updates correctly, reflecting the current selection. There may 14446 still be some bugs and corner cases to handle, but this will work for a general 14447 implementation of the feature. 14448 14449 * WebView.subproj/WebView.m: 14450 (+[ElementOrTextFilter filter]): Added. This filter will accept DOM elements and 14451 text nodes and skip everything else. This filter is used when walking a selection 14452 to determine the fonts in use. 14453 (-[ElementOrTextFilter acceptNode:]): DOM node filter implementation method. 14454 (-[WebView _fontFromStyle]): Removed, in lieu of new fontForCurrentPosition call on the bridge. 14455 (-[WebView _updateFontPanel]): Reworked to use a TreeWalker instead of a NodeIterator. This 14456 was done since the iterator must be rooted at the document root, but start iterating 14457 at the start of the selection. TreeWalker's setCurrentNode allows this to be done. 14458 144592004-05-27 Kevin Decker <kdecker@apple.com> 14460 14461 * Plugins.subproj/WebScriptObject.h: 14462 144632004-05-27 Kevin Decker <kdecker@apple.com> 14464 14465 Reviewed by Ken. 14466 14467 - error messages (eg. from JavaScriptCore) sent to the bridge now 14468 get delievered to a new delegate method. 14469 14470 * WebCoreSupport.subproj/WebBridge.m: 14471 (-[WebBridge addMessageToConsole:]): 14472 * WebKit.pbproj/project.pbxproj: 14473 * WebView.subproj/WebUIDelegatePrivate.h: 14474 14475=== Safari-142 === 14476 144772004-05-27 Trey Matteson <trey@apple.com> 14478 14479 First cut at DHTML dragging, destination side. Dragging text, files and URLs onto 14480 elements works. Type conversion from NSPasteboard to MIME types is hardwired. 14481 No JS access yet to modifier keys, or operations mask. 14482 14483 Reviewed by Chris. 14484 14485 * WebView.subproj/WebHTMLView.m: 14486 (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): Call DHTML dragging via bridge. 14487 (-[WebHTMLView draggingCancelledWithDraggingInfo:]): Ditto. 14488 (-[WebHTMLView concludeDragForDraggingInfo:]): Ditto. 14489 * WebView.subproj/WebHTMLViewPrivate.h: 14490 * WebView.subproj/WebView.m: 14491 (-[WebView _setWebKitDragRespondsToDragging:]): New SPI for finer grained control than the 14492 delegate currently has. 14493 (-[WebView _webKitDragRespondsToDragging]): Ditto. 14494 (-[WebView _commonInitializationWithFrameName:groupName:]): Init new flag. 14495 (-[WebView _dragOperationForDraggingInfo:]): Comment. 14496 * WebView.subproj/WebViewPrivate.h: 14497 144982004-05-27 Darin Adler <darin@apple.com> 14499 14500 * WebView.subproj/WebFrameView.m: (-[WebFrameView _scrollVerticallyBy:]): Added comment. 14501 145022004-05-27 Darin Adler <darin@apple.com> 14503 14504 Reviewed by Maciej. 14505 14506 - fixed <rdar://problem/3667948>: (REGRESSION: Page Down key goes down two pages when smooth scrolling is on) 14507 14508 * WebView.subproj/WebFrameView.m: 14509 (-[WebFrameView _scrollVerticallyBy:]): Added return value to indicate if any scrolling was done. 14510 This requires using secret AppKit methods; the public methods don't have a return value. 14511 (-[WebFrameView _pageVertically:]): Added return value to indicate if any scrolling was done. 14512 (-[WebFrameView scrollPageUp:]): Base call through to next responder on whether any scrolling was done, 14513 using return value, rather than looking at new scroll position. This was the cause of the bug, 14514 since with smooth scrolling no scrolling has happened yet when the function returns. 14515 (-[WebFrameView scrollPageDown:]): Ditto. 14516 14517 - removed temporary DOMDocument method from WebView 14518 14519 * WebView.subproj/WebView.m: 14520 (-[WebView computedStyleForElement:pseudoElement:]): Call getComputedStyle on the document that owns the 14521 element rather than on the document that currently contains the selection. 14522 (-[WebView _updateFontPanel]): Get the document from the DOM range rather than using the DOMDocument method. 14523 (-[WebView styleDeclarationWithText:]): Change this method to not use the DOMDocument method, but do the same 14524 job with inline code. 14525 14526 * WebView.subproj/WebViewPrivate.h: Moved a recently-added category that is not SPI out of here. 14527 * WebView.subproj/WebViewInternal.h: Moved the category in here. And removed the DOMDocument method from it. 14528 14529 - other changes 14530 14531 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 14532 14533 * copy-webcore-files-to-webkit: Change tabs to spaces. Quiet the script down by 14534 making it no longer echo each command or print messages about what it's doing by default. 14535 145362004-05-27 Darin Adler <darin@apple.com> 14537 14538 Reviewed by Maciej. 14539 14540 - moved to new symlink technique for embedding frameworks 14541 14542 * WebKit.pbproj/project.pbxproj: Get rid of embed-frameworks build step 14543 because we don't need it any more. 14544 145452004-05-27 Darin Adler <darin@apple.com> 14546 14547 - fixed Deployment build 14548 14549 * WebView.subproj/WebView.m: (-[WebView concludeDragOperation:]): 14550 Got rid of ASSERT-only local variable. 14551 145522004-05-26 Maciej Stachowiak <mjs@apple.com> 14553 14554 Reviewed by Dave. 14555 14556 - fix further problems with Emerson feed: redirection for RSS feeds 14557 14558 This is done by removing removing the calls to defer callbacks 14559 while waiting for [... Maciej stopped typing here ...] 14560 14561 * WebView.subproj/WebMainResourceClient.m: 14562 (-[WebMainResourceClient continueAfterNavigationPolicy:formState:]): 14563 (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]): 14564 (-[WebMainResourceClient continueAfterContentPolicy:response:]): 14565 (-[WebMainResourceClient checkContentPolicyForResponse:]): 14566 145672004-05-26 Chris Blumenberg <cblu@apple.com> 14568 14569 Added and implemented proposed dragging API changes. These changes are necessary to make JS dragging work properly. 14570 14571 Reviewed by trey. 14572 14573 * WebView.subproj/WebDefaultUIDelegate.m: 14574 (-[WebDefaultUIDelegate webView:shouldDetermineDragOperationForDraggingInfo:dragOperation:]): instead of calling back to the WebView to get the default drag operation, return YES. Return NO in order to return a custom drag operation. Removed element parameter since another new API provides a way to get that. 14575 (-[WebDefaultUIDelegate webView:shouldProcessDragWithDraggingInfo:]): Removed element parameter since another new API provides a way to get that. 14576 * WebView.subproj/WebDocumentInternal.h: 14577 * WebView.subproj/WebHTMLView.m: 14578 (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): now returns a drag operation 14579 (-[WebHTMLView draggingCancelledWithDraggingInfo:]): moved 14580 * WebView.subproj/WebUIDelegatePrivate.h: 14581 * WebView.subproj/WebView.m: 14582 (-[WebView elementAtPoint:]): new proposed API 14583 (-[WebView dragOperationForDraggingInfo:]): removed code from this API that should be removed 14584 (-[WebView _dragOperationForDraggingInfo:]): call new API 14585 (-[WebView concludeDragOperation:]): call new API 14586 145872004-05-26 Darin Adler <darin@apple.com> 14588 14589 Reviewed by John. 14590 14591 - moved HTML editing operations from WebView to WebHTMLView, leaving only forwarding machinery 14592 at the WebView level 14593 14594 - fixed <rdar://problem/3655412>: (Editing: -startSpeaking: method unimplemented (WebKit editing API)) 14595 - fixed <rdar://problem/3655414>: (Editing: -stopSpeaking: method unimplemented (WebKit editing API)) 14596 - fixed <rdar://problem/3655375>: (Editing: -pasteAsRichText: method unimplemented (WebKit editing API)) 14597 14598 * WebView.subproj/WebView.h: Added missing declaration of selectionAffinity. I think this 14599 omission was an editorial mistake. 14600 14601 * WebView.subproj/WebView.m: 14602 (-[WebView searchFor:direction:caseSensitive:wrap:]): Use _frameForCurrentSelection directly, 14603 since it no longer returns nil. 14604 (-[WebView pasteboardTypesForSelection]): Use _frameForCurrentSelection instead of going through the bridge. 14605 (-[WebView _frameForCurrentSelection]): Renamed from _currentFrame and changed to return main frame 14606 rather than nil when called on WebView that has no current selection. 14607 (-[WebView _bridgeForCurrentSelection]): Moved in file. 14608 (-[WebView _updateFontPanel]): Removed the one call to _currentSelectionIsEditable here, since 14609 it was the only one left in this file. Eventually this code will move to WebHTMLView. 14610 (-[WebView _performResponderOperation:with:]): Name change. 14611 14612 * WebView.subproj/WebDataSource.m: (-[WebDataSource _documentFragmentWithImageResource:]): 14613 Build document fragment using DOM instead of composing HTML text. 14614 14615 * WebView.subproj/WebHTMLView.m: 14616 (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): Added allowPlainText boolean, 14617 moved method into new location in file so it can be in the right category, changed link pasting 14618 to use DOM instead of composing HTML text. 14619 (-[WebHTMLView _replaceSelectionWithPasteboard:selectReplacement:allowPlainText:]): Added allowPlainText 14620 boolean, moved method into new location in file so it can be in the right category. 14621 (-[WebHTMLView concludeDragForDraggingInfo:]): Pass YES for allowPlainText. 14622 (-[WebHTMLView keyDown:]): Set keyDownEvent field for use by workaround below. 14623 (-[WebHTMLView centerSelectionInVisibleArea:]): Moved here from WebView. 14624 (-[WebHTMLView _alterCurrentSelection:direction:granularity:]): Ditto. 14625 (-[WebHTMLView moveBackward:]): Ditto. 14626 (-[WebHTMLView moveBackwardAndModifySelection:]): Ditto. 14627 (-[WebHTMLView moveDown:]): Ditto. 14628 (-[WebHTMLView moveDownAndModifySelection:]): Ditto. 14629 (-[WebHTMLView moveForward:]): Ditto. 14630 (-[WebHTMLView moveForwardAndModifySelection:]): Ditto. 14631 (-[WebHTMLView moveLeft:]): Ditto. 14632 (-[WebHTMLView moveLeftAndModifySelection:]): Ditto. 14633 (-[WebHTMLView moveRight:]): Ditto. 14634 (-[WebHTMLView moveRightAndModifySelection:]): Ditto. 14635 (-[WebHTMLView moveToBeginningOfDocument:]): Ditto. 14636 (-[WebHTMLView moveToBeginningOfLine:]): Ditto. 14637 (-[WebHTMLView moveToBeginningOfParagraph:]): Ditto. 14638 (-[WebHTMLView moveToEndOfDocument:]): Ditto. 14639 (-[WebHTMLView moveToEndOfLine:]): Ditto. 14640 (-[WebHTMLView moveToEndOfParagraph:]): Ditto. 14641 (-[WebHTMLView moveUp:]): Ditto. 14642 (-[WebHTMLView moveUpAndModifySelection:]): Ditto. 14643 (-[WebHTMLView moveWordBackward:]): Ditto. 14644 (-[WebHTMLView moveWordBackwardAndModifySelection:]): Ditto. 14645 (-[WebHTMLView moveWordForward:]): Ditto. 14646 (-[WebHTMLView moveWordForwardAndModifySelection:]): Ditto. 14647 (-[WebHTMLView moveWordLeft:]): Ditto. 14648 (-[WebHTMLView moveWordLeftAndModifySelection:]): Ditto. 14649 (-[WebHTMLView moveWordRight:]): Ditto. 14650 (-[WebHTMLView moveWordRightAndModifySelection:]): Ditto. 14651 (-[WebHTMLView pageDown:]): Ditto. 14652 (-[WebHTMLView pageUp:]): Ditto. 14653 (-[WebHTMLView selectParagraph:]): Ditto. 14654 (-[WebHTMLView selectLine:]): Ditto. 14655 (-[WebHTMLView selectWord:]): Ditto. 14656 (-[WebHTMLView copy:]): Moved down in file so it's in the right category. 14657 (-[WebHTMLView cut:]): Ditto. 14658 (-[WebHTMLView delete:]): Ditto. 14659 (-[WebHTMLView paste:]): Ditto. 14660 (-[WebHTMLView copyFont:]): Moved here from WebView. 14661 (-[WebHTMLView pasteFont:]): Ditto. 14662 (-[WebHTMLView pasteAsPlainText:]): Ditto. 14663 (-[WebHTMLView pasteAsRichText:]): Implemented this by calling the paste code with 14664 allowPlainText:NO; believe it or not, that's what this means in NSTextView. 14665 (-[WebHTMLView changeFont:]): Moved here from WebView. 14666 (-[WebHTMLView changeAttributes:]): Ditto. 14667 (-[WebHTMLView changeDocumentBackgroundColor:]): Ditto. 14668 (-[WebHTMLView changeColor:]): Ditto. 14669 (-[WebHTMLView alignCenter:]): Ditto. 14670 (-[WebHTMLView alignJustified:]): Ditto. 14671 (-[WebHTMLView alignLeft:]): Ditto. 14672 (-[WebHTMLView alignRight:]): Ditto. 14673 (-[WebHTMLView indent:]): Ditto. 14674 (-[WebHTMLView insertTab:]): Moved here from WebView, also call insertText rather than 14675 replaceSelectionWithText so it's undoable like a typed character. 14676 (-[WebHTMLView insertBacktab:]): Moved here from WebView. 14677 (-[WebHTMLView insertNewline:]): Moved here from WebView, also call insertText rather than 14678 replaceSelectionWithText so it's undoable like a typed character. 14679 (-[WebHTMLView insertParagraphSeparator:]): Moved here from WebView. 14680 (-[WebHTMLView changeCaseOfLetter:]): Ditto. 14681 (-[WebHTMLView uppercaseWord:]): Ditto. 14682 (-[WebHTMLView lowercaseWord:]): Ditto. 14683 (-[WebHTMLView capitalizeWord:]): Ditto. 14684 (-[WebHTMLView deleteForward:]): Ditto. 14685 (-[WebHTMLView deleteBackward:]): Ditto. 14686 (-[WebHTMLView deleteBackwardByDecomposingPreviousCharacter:]): Ditto. 14687 (-[WebHTMLView deleteWordForward:]): Ditto. 14688 (-[WebHTMLView deleteWordBackward:]): Ditto. 14689 (-[WebHTMLView deleteToBeginningOfLine:]): Ditto. 14690 (-[WebHTMLView deleteToEndOfLine:]): Ditto. 14691 (-[WebHTMLView deleteToBeginningOfParagraph:]): Ditto. 14692 (-[WebHTMLView deleteToEndOfParagraph:]): Ditto. 14693 (-[WebHTMLView complete:]): Ditto. 14694 (-[WebHTMLView checkSpelling:]): Ditto. 14695 (-[WebHTMLView showGuessPanel:]): Ditto. 14696 (-[WebHTMLView performFindPanelAction:]): Ditto. 14697 (-[WebHTMLView startSpeaking:]): Implemented this. 14698 (-[WebHTMLView stopSpeaking:]): Implemented this. 14699 (-[WebHTMLView insertText:]): Moved here from WebView. 14700 14701 * WebView.subproj/WebHTMLViewPrivate.h: Removed declarations of methods that are neither 14702 SPI nor needed outside WebHTMLView.m. 14703 14704 * WebView.subproj/WebViewInternal.h: Removed _currentFrame, and added _frameForCurrentSelection and 14705 _bridgeForCurrentSelection. 14706 147072004-05-25 Maciej Stachowiak <mjs@apple.com> 14708 14709 Reviewed by Richard. 14710 14711 <rdar://problem/3652498>: new sniffing support is crashing 14712 14713 * WebView.subproj/WebMainResourceClient.m: 14714 (-[WebMainResourceClient checkContentPolicyForResponse:]): Retain 14715 listener around call, in case delegate does something that ends up 14716 invalidating it, like navigating to a new URL. 14717 147182004-05-25 Chris Blumenberg <cblu@apple.com> 14719 14720 Fixed regression where undoing typing would undo character-by-character. 14721 14722 Reviewed by kocienda. 14723 14724 * WebView.subproj/WebView.m: 14725 (-[WebView insertText:]): call insertText: rather than replaceSelectionWithText:: since text insertion via insertText: is coalesced and this is the behavior we want here 14726 147272004-05-25 Ken Kocienda <kocienda@apple.com> 14728 14729 Reviewed by John 14730 14731 Change postDidChangeSelectionNotification and postDidChangeNotification tp 14732 respondToChangedSelection and respondToChangedContents, respectively, to 14733 account for the fact that we do work in these calls other than post a 14734 notification. The need to clear the typing style on both kinds of changes 14735 inspired the name change. 14736 14737 Add in support to set and access typing style. We don't do anything with it yet 14738 except store and return it. Using the typing style is still to come. 14739 14740 * WebCoreSupport.subproj/WebBridge.m: 14741 (-[WebBridge respondToChangedContents]): Change name of functions as described. 14742 (-[WebBridge respondToChangedSelection]): Change name of functions as described. 14743 * WebView.subproj/WebView.m: 14744 (-[WebView dealloc:]): Dealloc typing style ivar. 14745 (-[WebView setTypingStyle:]): Change to set typing style ivar. 14746 (-[WebView typingStyle]): Return new typing style ivar. 14747 * WebView.subproj/WebViewPrivate.h: Add ivar for typing style. 14748 147492004-05-25 Ken Kocienda <kocienda@apple.com> 14750 14751 Reviewed by John 14752 14753 Improve _bridgeForCurrentSelection so that it is frame-savvy. 14754 Fixup setSelectedDOMRange:affinity: so that it uses the right bridge. 14755 14756 * WebView.subproj/WebView.m: 14757 (-[WebView _bridgeForCurrentSelection]): Use _currentFrame not mainFrame. 14758 (-[WebView _currentFrame]): Moved to WebView (WebInternal) category so _bridgeForCurrentSelection can use it. 14759 (-[WebView setSelectedDOMRange:affinity:]): Derive the bridge to use from the range passed in; _bridgeForCurrentSelection 14760 is not the right way to get at the document for the range. 14761 * WebView.subproj/WebViewInternal.h: Add _currentFrame declaration. 14762 147632004-05-24 Darin Adler <darin@apple.com> 14764 14765 Reviewed by Ken. 14766 14767 - fixed <rdar://problem/3666022>: (REGRESSION: crash from infinite regress in -[WebFrameView(WebPrivate) scrollPageDown:]) 14768 14769 * WebView.subproj/WebView.m: 14770 (-[WebView _performResponderOperation:sender:]): Helper method that knows how to pass on operations 14771 to the responder chain, allowing us to implement operations that will get passed to views inside 14772 us as necessary. Moved a few methods to this, and soon will move even more. 14773 (-[WebView scrollLineDown:]): Use the above method. 14774 (-[WebView scrollLineUp:]): Ditto. 14775 (-[WebView scrollPageDown:]): Ditto. 14776 (-[WebView scrollPageUp:]): Ditto. 14777 (-[WebView copy:]): Ditto. 14778 (-[WebView cut:]): Ditto. 14779 (-[WebView paste:]): Ditto. 14780 (-[WebView delete:]): Ditto. 14781 (-[WebView insertBacktab:]): Ditto. 14782 147832004-05-24 Chris Blumenberg <cblu@apple.com> 14784 14785 Improved editing via drag 14786 14787 Reviewed by kocienda. 14788 14789 * WebView.subproj/WebDataSource.m: 14790 (-[WebDataSource _documentFragmentWithImageResource:]): made this method return a fragment instead of replace the selection so that the caller do other things with the fragment 14791 (-[WebDataSource _documentFragmentWithArchive:]): ditto 14792 (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): call renamed methods 14793 * WebView.subproj/WebDataSourcePrivate.h: 14794 * WebView.subproj/WebDocumentInternal.h: 14795 * WebView.subproj/WebHTMLView.m: 14796 (-[WebHTMLView _documentFragmentFromPasteboard:]): made this method return a fragment instead of replace the selection so that the caller do other things with the fragment 14797 (-[WebHTMLView _replaceSelectionWithPasteboard:selectReplacement:]): new 14798 (-[WebHTMLView paste:]): call _replaceSelectionWithPasteboard:selectReplacement: 14799 (-[WebHTMLView dragOperationForDraggingInfo:]): handle the case where the destination is editable, but the source is not 14800 (-[WebHTMLView draggingCancelledWithDraggingInfo:]): new, removes drag caret 14801 (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): remove drag caret when we can't handle the drag 14802 (-[WebHTMLView concludeDragForDraggingInfo:]): instead of calling paste, move the selection when doing a move and replace the drag caret when doing a copy 14803 * WebView.subproj/WebHTMLViewPrivate.h: 14804 * WebView.subproj/WebView.m: 14805 (-[WebViewPrivate dealloc]): 14806 (-[WebView _setDraggingDocumentView:]): new 14807 (-[WebView _dragOperationForDraggingInfo:]): if the current dragging document view changes, tell the previous dragging document view that dragging cancelled 14808 (-[WebView draggingExited:]): new, tell the previous dragging document view that dragging cancelled 14809 (-[WebView concludeDragOperation:]): release the dragging document view 14810 (-[WebView replaceSelectionWithNode:]): pass the selectReplacement BOOL to the bridge 14811 (-[WebView replaceSelectionWithText:]): ditto 14812 (-[WebView replaceSelectionWithMarkupString:]): ditto 14813 (-[WebView replaceSelectionWithArchive:]): ditto 14814 (-[WebView pasteAsPlainText:]): ditto 14815 (-[WebView insertTab:]): ditto 14816 (-[WebView insertText:]): ditto 14817 * WebView.subproj/WebViewPrivate.h: 14818 148192004-05-24 John Sullivan <sullivan@apple.com> 14820 14821 Reviewed by Dave. 14822 14823 - added private RSSFeedReferrer field to WebHistoryItem so RSS feeds in the 14824 back/forward list can remember what page (if any) they were initiated from. 14825 14826 * History.subproj/WebHistoryItem.m: 14827 new RSSFeedReferrer ivar in private structure 14828 (-[WebHistoryItemPrivate dealloc]): 14829 release RSSFeedReferrer 14830 (-[WebHistoryItem copyWithZone:]): 14831 copy RSSFeedReferrer 14832 (-[WebHistoryItem RSSFeedReferrer]): 14833 return RSSFeedReferrer 14834 (-[WebHistoryItem setRSSFeedReferrer:]): 14835 set RSSFeedReferrer 14836 14837 * History.subproj/WebHistoryItemPrivate.h: 14838 declare -RSSFeedReferrer and -setRSSFeedReferrer: 14839 148402004-05-22 Darin Adler <darin@apple.com> 14841 14842 Reviewed by Ken. 14843 14844 - implemented some of the trivial WebView editing operations; some had bug reports, to wit: 14845 - fixed <rdar://problem/3655342>: (Editing: -centerSelectionInVisibleArea: method unimplemented (WebKit editing API)) 14846 - fixed <rdar://problem/3655398>: (Editing: -deleteWordBackward: method unimplemented (WebKit editing API)) 14847 - fixed <rdar://problem/3655397>: (Editing: -deleteWordForward: method unimplemented (WebKit editing API)) 14848 - fixed <rdar://problem/3655387>: (Editing: -insertBacktab: method unimplemented (WebKit editing API)) 14849 - fixed <rdar://problem/3655386>: (Editing: -insertTab: method unimplemented (WebKit editing API)) 14850 - fixed <rdar://problem/3655351>: (Editing: -moveWordBackward: method unimplemented (WebKit editing API)) 14851 - fixed <rdar://problem/3655352>: (Editing: -moveWordBackwardAndModifySelection: method unimplemented (WebKit editing API)) 14852 - fixed <rdar://problem/3655353>: (Editing: -moveWordForward: method unimplemented (WebKit editing API)) 14853 - fixed <rdar://problem/3655354>: (Editing: -moveWordForwardAndModifySelection: method unimplemented (WebKit editing API)) 14854 - fixed <rdar://problem/3655374>: (Editing: -pasteAsPlainText: method unimplemented (WebKit editing API)) 14855 - fixed <rdar://problem/3655362>: (Editing: -scrollLineDown: method unimplemented (WebKit editing API)) 14856 - fixed <rdar://problem/3655363>: (Editing: -scrollLineUp: method unimplemented (WebKit editing API)) 14857 14858 * WebView.subproj/WebView.m: 14859 (-[WebView centerSelectionInVisibleArea:]): Implemented. The implementation isn't perfect, but it's hooked 14860 up. It simply calls ensureCaretVisible for now. 14861 (-[WebView moveBackward:]): Implemented. The WebCore API already has a way to specify backward as opposed 14862 to left. A separate issue is the fact that these operations don't have bi-di-savvy implementations, but 14863 now this method is hooked up and will work at least for left-to-right text. 14864 (-[WebView moveBackwardAndModifySelection:]): Ditto. 14865 (-[WebView moveForward:]): Ditto. 14866 (-[WebView moveForwardAndModifySelection:]): Ditto. 14867 (-[WebView moveWordBackward:]): Ditto. 14868 (-[WebView moveWordBackwardAndModifySelection:]): Ditto. 14869 (-[WebView moveWordForward:]): Ditto. 14870 (-[WebView moveWordForwardAndModifySelection:]): Ditto. 14871 (-[WebView scrollLineDown:]): Forward to WebFrameView. 14872 (-[WebView scrollLineUp:]): Ditto. 14873 (-[WebView scrollPageDown:]): Ditto. 14874 (-[WebView scrollPageUp:]): Ditto. 14875 (-[WebView delete:]): Implemented. Follows pattern used in cut, copy, and paste. 14876 (-[WebView pasteAsPlainText:]): Implemented. Calls delegate, then replaceSelectionWithText: on the bridge. 14877 (-[WebView insertTab:]): Implemented. Calls delegate, then replaceSelectionWithText: on the bridge. 14878 (-[WebView insertBacktab:]): Implemented. Does nothing. If we ever change so that you can use a WebView as 14879 a field editor, then we might have to add code here. 14880 (-[WebView deleteWordForward:]): Implement by calling moveForwardAndModifySelection: and then delete:. 14881 Might not be a perfect implementation in the presence of delegates who refuse to delete because it will 14882 change the selection even if the delete is disallowed. 14883 (-[WebView deleteWordBackward:]): Implement by calling moveBackwardAndModifySelection: and then delete:. 14884 Same issue about about delegates as deleteWordForward:. 14885 14886 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _pasteFromPasteboard:]): Added a FIXME. 14887 14888 * DOM.subproj/DOMViews.h: Updated from recent change to WebCore. 14889 148902004-05-21 Richard Williamson <rjw@apple.com> 14891 14892 Removed _bindObject:forFrame: SPI. 14893 14894 Reviewed by Chris. 14895 14896 * WebView.subproj/WebView.m: 14897 * WebView.subproj/WebViewPrivate.h: 14898 14899=== Safari-141 === 14900 149012004-05-21 Darin Adler <darin@apple.com> 14902 14903 Reviewed by Ken and Chris. 14904 14905 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _pasteFromPasteboard:]): Call replaceSelectionWithText: 14906 instead of replaceSelectionWithMarkupString: when pasting plain text. 14907 14908 * WebView.subproj/WebDataSource.m: (-[WebDataSource _replaceSelectionWithMarkupString:baseURL:]): 14909 Remove bogus check for empty markup. There's nothing wrong with an empty string, and no reason 14910 that replacing with empty string should be a no-op instead of a delete. 14911 149122004-05-20 Darin Adler <darin@apple.com> 14913 14914 Reviewed by Chris. 14915 14916 - fixed <rdar://problem/3662383>: (REGRESSION: drag slide-back sometimes causes link to load) 14917 14918 * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge handleMouseDragged:]): 14919 Added BOOL result to handleMouseDragged:. 14920 * WebView.subproj/WebHTMLViewPrivate.h: Added BOOL result to _handleMouseDragged:. 14921 14922 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _handleMouseDragged:]): Added BOOL result, 14923 returning YES when the drag started, and no when the hysteresis has not yet been overcome. 14924 149252004-05-20 Ken Kocienda <kocienda@apple.com> 14926 14927 Reviewed by Hyatt 14928 14929 Provide the methods to glue the WebView's editing delegate so that these methods work: 14930 14931 <rdar://problem/3655316>: "Editing: -webViewShouldBeginEditing:inDOMRange: method unimplemented (WebKit editing API)" 14932 <rdar://problem/3655317>: "Editing: -webViewShouldEndEditing:inDOMRange: method unimplemented (WebKit editing API)" 14933 14934 * WebCoreSupport.subproj/WebBridge.m: 14935 (-[WebBridge shouldBeginEditing:]): New method used to glue delegate to focus shifts. 14936 (-[WebBridge shouldEndEditing:]): Ditto. 14937 * WebView.subproj/WebView.m: 14938 (-[WebView _shouldBeginEditingInDOMRange:]): Ditto. 14939 (-[WebView _shouldEndEditingInDOMRange:]): Ditto. 14940 * WebView.subproj/WebViewPrivate.h: Ditto. 14941 149422004-05-20 Richard Williamson <rjw@apple.com> 14943 14944 Fixed typo in header comment. 14945 14946 Reviewed by Ken. 14947 14948 * Plugins.subproj/WebScriptObject.h: 14949 149502004-05-19 Chris Blumenberg <cblu@apple.com> 14951 14952 Fixed: <rdar://problem/3462627>: (API: Need a way to disable/customize dragging) 14953 14954 Reviewed by john. 14955 14956 * Misc.subproj/WebNSPasteboardExtras.m: 14957 (-[NSPasteboard _web_writeImage:URL:title:archive:types:]): fixed bug that caused exception 14958 * WebView.subproj/WebDefaultUIDelegate.m: 14959 (-[WebDefaultUIDelegate webView:shouldBeginDragForElement:dragImage:mouseDownEvent:mouseDraggedEvent:]): new, returns YES 14960 (-[WebDefaultUIDelegate webView:dragOperationForDraggingInfo:overElement:]): new, returns [WebView dragOperationForDraggingInfo:] 14961 (-[WebDefaultUIDelegate webView:shouldProcessDragWithDraggingInfo:overElement:]): new, returns YES 14962 * WebView.subproj/WebDocumentInternal.h: added WebDocumentDragging and WebDocumentElement for document dragging 14963 * WebView.subproj/WebDocumentPrivate.h: moved WebDocumentSelection to WebDocumentInternal.h 14964 * WebView.subproj/WebFrame.m: 14965 (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): 14966 * WebView.subproj/WebHTMLView.h: 14967 * WebView.subproj/WebHTMLView.m: 14968 (+[WebHTMLView _insertablePasteboardTypes]): new 14969 (-[WebHTMLView _handleMouseDragged:]): call shouldBeginDragForElement:::: delegate API 14970 (-[WebHTMLView _mayStartDragWithMouseDragged:]): call renamed elementAtPoint SPI 14971 (-[WebHTMLView initWithFrame:]): don't register for drag types since this is handled at the WebView 14972 (-[WebHTMLView menuForEvent:]): call renamed elementAtPoint SPI 14973 (-[WebHTMLView _isSelectionEvent:]): call renamed elementAtPoint SPI 14974 (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): rather than unregistering drag types on the WebView, just tell it that we're dragging 14975 (-[WebHTMLView draggedImage:endedAt:operation:]): ditto 14976 (-[WebHTMLView _canProcessDragWithDraggingInfo:]): new 14977 (-[WebHTMLView dragOperationForDraggingInfo:]): new WebDocumentDragging SPI 14978 (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): ditto 14979 (-[WebHTMLView concludeDragForDraggingInfo:]): ditto 14980 (-[WebHTMLView elementAtPoint:]): renamed from _elementAtPoint since this is part of the WebDocumentElement SPI 14981 * WebView.subproj/WebHTMLViewPrivate.h: 14982 * WebView.subproj/WebImageView.h: 14983 * WebView.subproj/WebImageView.m: 14984 (-[WebImageView elementAtPoint:]): new 14985 (-[WebImageView menuForEvent:]): call elementAtPoint 14986 (-[WebImageView mouseDragged:]): rather than unregistering drag types on the WebView, just tell it that we're dragging 14987 (-[WebImageView draggedImage:endedAt:operation:]): ditto 14988 * WebView.subproj/WebTextView.h: 14989 * WebView.subproj/WebTextView.m: 14990 (-[WebTextView _elementAtWindowPoint:]): new 14991 (-[WebTextView elementAtPoint:]): new 14992 (-[WebTextView menuForEvent:]): call _elementAtWindowPoint 14993 * WebView.subproj/WebView.h: 14994 * WebView.subproj/WebView.m: 14995 (-[WebViewPrivate dealloc]): removed draggedTypes ivar 14996 (+[WebView URLFromPasteboard:]): implemented 14997 (+[WebView URLTitleFromPasteboard:]): implemented 14998 (-[WebView _registerDraggedTypes]): moved 14999 (-[WebView _frameViewAtWindowPoint:]): new 15000 (-[WebView _draggingDocumentViewAtWindowPoint:]): new 15001 (-[WebView _elementAtWindowPoint:]): new 15002 (-[WebView dragOperationForDraggingInfo:]): updated this API to handle subviews that may want to handle drags 15003 (-[WebView _dragOperationForDraggingInfo:]): new, handles UI delegate for drag control 15004 (-[WebView draggingEntered:]): call _dragOperationForDraggingInfo: 15005 (-[WebView draggingUpdated:]): ditto 15006 (-[WebView concludeDragOperation:]): work with the UI delegate and the subview to handle what happens 15007 * WebView.subproj/WebViewPrivate.h: 15008 150092004-05-19 Richard Williamson <rjw@apple.com> 15010 15011 Removed extraneous tabs that were added (by XCode?). 15012 15013 * DOM.subproj/DOM-compat.h: 15014 * Plugins.subproj/WebScriptObject.h: 15015 150162004-05-19 Richard Williamson <rjw@apple.com> 15017 15018 Updated header copy script to only copy if modified headers 15019 are different. 15020 15021 * copy-webcore-files-to-webkit: 15022 150232004-05-19 Ken Kocienda <kocienda@apple.com> 15024 15025 Reviewed by Hyatt and Darin 15026 15027 Fix for this bug: 15028 15029 <rdar://problem/3643230>: "can't tab out of contentEditable Elements" 15030 15031 * WebCoreSupport.subproj/WebBridge.m: 15032 (-[WebBridge interceptEditingKeyEvent:]): Renamed from _editingKeyDown. Also now returns 15033 a BOOL to report whether the event was handled or not. 15034 * WebView.subproj/WebView.m: 15035 (-[WebView _interceptEditingKeyEvent:]): Also renamed from _editingKeyDown. Now includes 15036 a check if the web view is editable and whether the event is a tab key event. If the former 15037 is not true and the latter is, the key is not intercepted. This causes the tab to shift once 15038 the key is processed by other non-editing key-handling mechanisms. 15039 * WebView.subproj/WebViewPrivate.h: Changed declaration due to name change. 15040 150412004-05-19 Ken Kocienda <kocienda@apple.com> 15042 15043 Reviewed by Hyatt 15044 15045 * WebCoreSupport.subproj/WebBridge.m: 15046 (-[WebBridge isEditable]): Return the isEditable value for the 15047 WebView which contains this bridge's frame. 15048 150492004-05-19 Darin Adler <darin@apple.com> 15050 15051 - fixed headers with licenses mangled by Xcode auto-indenting 15052 15053 * DOM.subproj/DOMExtensions.h: 15054 * WebCoreSupport.subproj/WebGraphicsBridge.h: 15055 * WebCoreSupport.subproj/WebGraphicsBridge.m: 15056 150572004-05-18 David Hyatt <hyatt@apple.com> 15058 15059 Improve layout scheduling. 15060 Reviewed by kocienda 15061 15062 * WebView.subproj/WebFrame.m: 15063 (-[WebFrame _transitionToLayoutAcceptable]): 15064 (-[WebFrame _checkLoadCompleteForThisFrame]): 15065 * WebView.subproj/WebHTMLRepresentation.m: 15066 (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): 15067 150682004-05-18 Richard Williamson <rjw@apple.com> 15069 15070 Finished implementation of windowScriptObject. 15071 Reviewed by Maciej. 15072 15073 * WebView.subproj/WebView.m: 15074 (-[WebView windowScriptObject]): 15075 150762004-05-18 Richard Williamson <rjw@apple.com> 15077 15078 Added WebKit portion of webView:windowScriptObjectAvailable: 15079 implementation. Still need to implement creating the WebScriptObject 15080 wrapper on the WebCore side. 15081 15082 Reviewed by Maciej. 15083 15084 Removed "_" from _setPageWidthForPrinting:. This method facilitates 15085 a work-around for carbon printing. At some point we may make this 15086 method public API. 15087 Reviewed by Chris. 15088 15089 * WebCoreSupport.subproj/WebBridge.m: 15090 (-[WebBridge overrideMediaType]): 15091 (-[WebBridge windowObjectCleared]): 15092 * WebView.subproj/WebDefaultFrameLoadDelegate.m: 15093 (-[WebDefaultFrameLoadDelegate webView:windowScriptObjectAvailable:]): 15094 * WebView.subproj/WebHTMLView.m: 15095 (-[WebHTMLView setPageWidthForPrinting:]): 15096 150972004-05-18 Darin Adler <darin@apple.com> 15098 15099 Reviewed by John. 15100 15101 - fixed <rdar://problem/3520322>: "can't use <WebKit/HIWebView.h> or <WebKit/CarbonUtils.h> from non-Objective C" 15102 15103 * Carbon.subproj/CarbonUtils.h: Added ifdefs so file compiles when included from non-Objective-C. 15104 Changed style to match other Carbon headers a bit more closely. Also remove unnecessary includes. 15105 * Carbon.subproj/HIWebView.h: Ditto. 15106 15107 - fixed <rdar://problem/3648505>: "this text file scrolls to the second line instead of first when pressing home" 15108 15109 * WebView.subproj/WebFrameView.m: 15110 (-[WebFrameView _scrollToTopLeft]): Scroll to origin.y instead of assuming that top is 0; can be non-0 for text view. 15111 (-[WebFrameView _scrollToBottomLeft]): Use NSMaxY instead of height for the same reason. 15112 151132004-05-17 David Hyatt <hyatt@apple.com> 15114 15115 Fix for performance regression in PLT caused by not setting _timeOfLastCompletedLoad, causing 15116 page cache to release during the benchmark. 15117 * WebView.subproj/WebFrame.m: 15118 (-[WebFrame _setState:]): 15119 151202004-05-17 Chris Blumenberg <cblu@apple.com> 15121 15122 Implemented new WebView pasteboard methods. Made a lot of factoring changes related to pasteboard management. 15123 15124 Reviewed by john. 15125 15126 * Misc.subproj/WebNSPasteboardExtras.h: 15127 * Misc.subproj/WebNSPasteboardExtras.m: 15128 (+[NSPasteboard _web_writableTypesForURL]): renamed to not include "drag" these types are also used for copying 15129 (+[NSPasteboard _web_writableTypesForImage]): new 15130 (-[NSPasteboard _web_bestURL]): tweak 15131 (-[NSPasteboard _web_writeURL:andTitle:types:]): take an array of types that this method should write, don't declare the types since this complicates things for the caller 15132 (-[NSPasteboard _web_writeImage:URL:title:archive:types:]): ditto 15133 * Misc.subproj/WebNSViewExtras.m: 15134 (-[NSView _web_dragImage:archive:rect:URL:title:event:]): call renamed methods 15135 * WebView.subproj/WebDefaultContextMenuDelegate.m: 15136 (-[WebDefaultUIDelegate copyLinkToClipboard:]): call code factored out to WebView 15137 (-[WebDefaultUIDelegate copyImageToClipboard:]): ditto 15138 * WebView.subproj/WebDocumentPrivate.h: 15139 * WebView.subproj/WebHTMLView.h: 15140 * WebView.subproj/WebHTMLView.m: 15141 (-[WebHTMLView _selectedRTFData]): new factored out method 15142 (-[WebHTMLView _writeSelectionToPasteboard:]): factored code out to writeSelectionWithPasteboardTypes:toPasteboard: 15143 (-[WebHTMLView _dragImageForLinkElement:]): tweak 15144 (-[WebHTMLView _handleMouseDragged:]): call renamed methods 15145 (-[WebHTMLView pasteboardTypesForSelection]): new 15146 (-[WebTextView writeSelectionWithPasteboardTypes:toPasteboard:]): new, code moved from _writeSelectionToPasteboard: 15147 * WebView.subproj/WebHTMLViewPrivate.h: 15148 * WebView.subproj/WebImageView.h: 15149 * WebView.subproj/WebImageView.m: 15150 (-[WebImageView writeImageToPasteboard:types:]): call renamed methods 15151 (-[WebImageView copy:]): 15152 (-[WebImageView writeSelectionToPasteboard:types:]): call renamed methods 15153 * WebView.subproj/WebTextView.h: 15154 * WebView.subproj/WebTextView.m: 15155 (-[WebTextView pasteboardTypesForSelection]): new 15156 (-[WebTextView writeSelectionWithPasteboardTypes:toPasteboard:]): new 15157 * WebView.subproj/WebView.m: 15158 (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]): new 15159 (-[WebView _writeLinkElement:withPasteboardTypes:toPasteboard:]): mew 15160 (-[WebView dragOperationForDraggingInfo:]): implemented API 15161 (-[WebView draggingEntered:]): call API 15162 (-[WebView draggingUpdated:]): ditto 15163 (-[WebView concludeDragOperation:]): ditto 15164 (-[WebView pasteboardTypesForSelection]): implemented API 15165 (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]): ditto 15166 (-[WebView pasteboardTypesForElement:]): ditto 15167 (-[WebView writeElement:withPasteboardTypes:toPasteboard:]): ditto 15168 * WebView.subproj/WebViewPrivate.h: 15169 151702004-05-17 Ken Kocienda <kocienda@apple.com> 15171 15172 Reviewed by John 15173 15174 Remove overrides in WebView for scrollPageDown and scrollPageUp. 15175 NSView behavior gives us just what we want, and there is no 15176 special behavior required for editing. 15177 15178 <rdar://problem/3655364>: "Editing: -scrollPageDown: method unimplemented (WebKit editing API)" 15179 <rdar://problem/3655365>: "Editing: -scrollPageUp: method unimplemented (WebKit editing API)" 15180 15181 * WebView.subproj/WebView.h: Comment methods out and add a note about why. 15182 * WebView.subproj/WebView.m: Remove stubbed out implementation. 15183 151842004-05-14 Vicki Murley <vicki@apple.com> 15185 15186 Reviewed by mjs. 15187 15188 <rdar://problem/3642427>: framework marketing number should be 2.0 for DoubleBarrel release 15189 15190 * WebKit.pbproj/project.pbxproj: change CFBundleShortVersionString to 2.0 15191 151922004-05-14 David Hyatt <hyatt@apple.com> 15193 15194 Eliminate timedLayout. 15195 Reviewed by darin 15196 15197 * WebView.subproj/WebFrame.m: 15198 (-[WebFramePrivate dealloc]): 15199 (-[WebFrame _detachFromParent]): 15200 (-[WebFrame _transitionToLayoutAcceptable]): 15201 (-[WebFrame _setState:]): 15202 (-[WebFrame _checkLoadCompleteForThisFrame]): 15203 (-[WebFrame stopLoading]): 15204 * WebView.subproj/WebFramePrivate.h: 15205 15206=== Safari-140 === 15207 152082004-05-14 Chris Blumenberg <cblu@apple.com> 15209 15210 Fixed: <rdar://problem/3655495>: (exception loading applets) 15211 15212 Reviewed by kocienda. 15213 15214 * WebCoreSupport.subproj/WebBridge.m: 15215 (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): when calling old cocoa plug-ins, use old keys 15216 152172004-05-14 Chris Blumenberg <cblu@apple.com> 15218 15219 Fixed: <rdar://problem/3655204>: (repro assertion failure and crash loading java applets) 15220 15221 Reviewed by kocienda. 15222 15223 * WebCoreSupport.subproj/WebBridge.m: 15224 (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): call pluginViewWithArguments: for old Cocoa plug-ins 15225 152262004-05-14 Chris Blumenberg <cblu@apple.com> 15227 15228 Copied headers from WebCore. 15229 15230 * DOM.subproj/DOMCore.h: 15231 * DOM.subproj/DOMEvents.h: 15232 152332004-05-14 Ken Kocienda <kocienda@apple.com> 15234 15235 Reviewed by me 15236 15237 * Plugins.subproj/WebPluginController.m: 15238 (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): Fixed a compile error: undeclared identifier. 15239 Looked like a typo. 15240 152412004-05-13 Richard Williamson <rjw@apple.com> 15242 15243 Backed out mistaken change that I didn't mean to checkin. 15244 15245 * WebCoreSupport.subproj/WebBridge.m: 15246 (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): 15247 152482004-05-13 Richard Williamson <rjw@apple.com> 15249 15250 Updated to reflect new API. 15251 15252 Reviewed by Chris. 15253 15254 * WebCoreSupport.subproj/WebBridge.m: 15255 (-[WebBridge setIsSelected:forView:]): 15256 * WebView.subproj/WebFrame.m: 15257 (-[WebFrame _reloadForPluginChanges]): 15258 152592004-05-13 Chris Blumenberg <cblu@apple.com> 15260 15261 Fixed some indenting issues in public headers. 15262 15263 * Plugins.subproj/WebJavaPlugIn.h: 15264 * Plugins.subproj/WebPlugin.h: 15265 * Plugins.subproj/WebScriptObject.h: 15266 * WebView.subproj/WebEditingDelegate.h: 15267 * WebView.subproj/WebFrameView.h: 15268 * WebView.subproj/WebPolicyDelegate.h: 15269 * WebView.subproj/WebResourceLoadDelegate.h: 15270 * WebView.subproj/WebView.h: 15271 152722004-05-13 Ken Kocienda <kocienda@apple.com> 15273 15274 Reviewed by Chris 15275 15276 Moved -DOMDocument convenience back to private header. 15277 I mistakenly moved it to the public header earlier today. 15278 15279 * WebView.subproj/WebView.h: Removed 15280 * WebView.subproj/WebViewPrivate.h: Re-added 15281 152822004-05-13 Richard Williamson <rjw@apple.com> 15283 15284 Updated to implementation to reflect new API. Left old SPI 15285 in place for compatibility. Can remove when the Java plug-in 15286 updates. 15287 15288 Reviewed by Chris. 15289 15290 * Plugins.subproj/WebPlugin.h: 15291 * Plugins.subproj/WebPluginContainer.h: 15292 * Plugins.subproj/WebPluginController.h: 15293 * Plugins.subproj/WebPluginController.m: 15294 (-[WebPluginController startAllPlugins]): 15295 (-[WebPluginController stopAllPlugins]): 15296 (-[WebPluginController addPlugin:]): 15297 (-[WebPluginController destroyAllPlugins]): 15298 (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): 15299 (-[WebPluginController showURL:inFrame:]): 15300 (-[WebPluginController webPlugInContainerShowStatus:]): 15301 (-[WebPluginController showStatus:]): 15302 (-[WebPluginController webPlugInContainerSelectionColor]): 15303 (-[WebPluginController selectionColor]): 15304 (-[WebPluginController webFrame]): 15305 153062004-05-13 Chris Blumenberg <cblu@apple.com> 15307 15308 - Added stubs for WebView action and drag & drop customization API's 15309 - Fixed: <rdar://problem/3616555>: (API: Make DOM extensions and WebKit DOM operations public) 15310 15311 Reviewed by rjw. 15312 15313 * DOM.subproj/WebDOMOperations.h: added remaining DOM operations 15314 * DOM.subproj/WebDOMOperationsPrivate.h: 15315 * Misc.subproj/WebKit.h: added new public headers 15316 * WebKit.pbproj/project.pbxproj: 15317 * WebKit.exp: added symbol for WebElementDOMNodeKey 15318 * WebView.subproj/WebUIDelegate.h: added new UI delegate methods 15319 * WebView.subproj/WebView.h: added new pasteboard related methods 15320 * WebView.subproj/WebView.m: 15321 (+[WebView URLFromPasteboard:]): new stub 15322 (+[WebView URLTitleFromPasteboard:]): new stub 15323 (-[WebView dragOperationForDraggingInfo:]): new stub 15324 (-[WebView pasteboardTypesForSelection]): new stub 15325 (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]): new stub 15326 (-[WebView pasteboardTypesForElement:]): new stub 15327 (-[WebView writeElement:withPasteboardTypes:toPasteboard:]): new stub 15328 * WebView.subproj/WebViewPrivate.h: 15329 153302004-05-13 Richard Williamson <rjw@apple.com> 15331 15332 Changed imports of all DOM headers. DOM headers 15333 should be imported using the normal #import <WebCore/foo.h>, 15334 they import is modified when copied to WebKit. 15335 15336 Other approved API changes. Currently unimplemented. 15337 15338 Reviewed by Chris. 15339 15340 * ChangeLog: 15341 * DOM.subproj/DOM.h: 15342 * DOM.subproj/DOMCSS.h: 15343 * DOM.subproj/DOMCore.h: 15344 * DOM.subproj/DOMEvents.h: 15345 * DOM.subproj/DOMExtensions.h: 15346 * DOM.subproj/DOMHTML.h: 15347 * DOM.subproj/DOMRange.h: 15348 * DOM.subproj/DOMStylesheets.h: 15349 * DOM.subproj/DOMTraversal.h: 15350 * DOM.subproj/DOMViews.h: 15351 * Plugins.subproj/WebPlugin.h: 15352 * Plugins.subproj/WebPluginContainer.h: 15353 * Plugins.subproj/WebPluginPackage.m: 15354 * Plugins.subproj/WebPluginViewFactory.h: 15355 * Plugins.subproj/WebScriptObject.h: 15356 * WebCoreSupport.subproj/WebBridge.m: 15357 (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): 15358 (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): 15359 * WebKit.exp: 15360 * WebKit.pbproj/project.pbxproj: 15361 * WebView.subproj/WebFrameLoadDelegate.h: 15362 * WebView.subproj/WebView.h: 15363 * WebView.subproj/WebView.m: 15364 (-[WebView windowScriptObject]): 15365 * copy-webcore-files-to-webkit: 15366 153672004-05-13 Ken Kocienda <kocienda@apple.com> 15368 15369 Reviewed by Kevin 15370 15371 Move WebKit editing APIs to public API files. 15372 15373 * WebCoreSupport.subproj/WebBridge.m: Add WebEditingDelegate include. 15374 * WebKit.pbproj/project.pbxproj: Go Xcode! 15375 * WebView.subproj/WebDefaultEditingDelegate.m: Remove WebViewPrivate include; add WebEditingDelegate include. 15376 * WebView.subproj/WebEditingDelegate.h: Added. New file. 15377 * WebView.subproj/WebView.h: Move API-approved interfaces to this file. 15378 * WebView.subproj/WebView.m: Add WebEditingDelegate include. 15379 * WebView.subproj/WebViewPrivate.h: Move API-approved interfaces from this file. 15380 153812004-05-12 Chris Blumenberg <cblu@apple.com> 15382 15383 Fixed: 15384 <rdar://problem/3633296>: (Japanese input is not working properly in Carbon Web Kit applications (including CarbonWeb)) 15385 <rdar://problem/3631390>: (can't toggle between Input Methods (IMEs) using cmd-space in Carbon Web Kit applications) 15386 15387 Reviewed by rjw. 15388 15389 * Carbon.subproj/CarbonWindowAdapter.m: 15390 (-[CarbonWindowAdapter sendSuperEvent:]): call [NSInputContext processInputKeyBindings:inEvent] just as NSApp does 15391 * Carbon.subproj/HIWebView.m: 15392 (HIWebViewEventHandler): [NSApp setWindowsNeedUpdate:YES] must be called before events so that ActivateTSMDocument is called to set an active document. Without an active document, TSM will use a default document which uses a bottom-line input window which we don't want. 15393 153942004-05-11 Chris Blumenberg <cblu@apple.com> 15395 15396 Fixed: 15397 <rdar://problem/3616537>: (API: Make WebResource, WebArchive and related API's public) 15398 <rdar://problem/3616471>: (API: provide way to get from WebFrame to DOMDocument and vice versa) 15399 15400 Reviewed by rjw. 15401 15402 * DOM.subproj/WebDOMOperations.h: 15403 * DOM.subproj/WebDOMOperations.m: 15404 (-[DOMHTMLFrameElement contentFrame]): new 15405 (-[DOMHTMLIFrameElement contentFrame]): new 15406 (-[DOMHTMLObjectElement contentFrame]): new 15407 * DOM.subproj/WebDOMOperationsPrivate.h: 15408 * Misc.subproj/WebNSImageExtras.m: 15409 (-[NSImage _web_saveAndOpen]): fixed leak 15410 * WebKit.pbproj/project.pbxproj: 15411 * WebView.subproj/WebDataSource.h: 15412 * WebView.subproj/WebDataSource.m: 15413 (-[WebDataSource _addSubresources:]): made private 15414 (-[WebDataSource _archiveWithMarkupString:nodes:]): handle object tags with frame content 15415 (-[WebDataSource _archiveWithCurrentState:]): renamed from _archive, now takes flag 15416 (-[WebDataSource _replaceSelectionWithArchive:]): call renamed _addSubresources 15417 (-[WebDataSource webArchive]): new 15418 (-[WebDataSource mainResource]): new 15419 (-[WebDataSource subresources]): made public 15420 (-[WebDataSource subresourceForURL:]): made public 15421 (-[WebDataSource addSubresource:]): made public 15422 * WebView.subproj/WebDataSourcePrivate.h: 15423 * WebView.subproj/WebDocumentPrivate.h: 15424 * WebView.subproj/WebFrame.h: 15425 * WebView.subproj/WebFrame.m: 15426 (-[WebFrame _loadRequest:subresources:subframeArchives:]): call renamed _addSubresources 15427 (-[WebFrame DOMDocument]): new 15428 (-[WebFrame frameElement]): new 15429 (-[WebFrame loadArchive:]): made public 15430 * WebView.subproj/WebFramePrivate.h: 15431 * WebView.subproj/WebHTMLRepresentation.m: 15432 (-[WebHTMLRepresentation loadArchive]): call renamed _addSubresources 15433 * WebView.subproj/WebImageRepresentation.m: 15434 (-[WebImageRepresentation archive]): call webArchive on WebDataSource 15435 154362004-05-10 Maciej Stachowiak <mjs@apple.com> 15437 15438 Reviewed by Darin. 15439 15440 - avoid redecoding animated images that are only used once for 15441 ~2.5% iBench speedup (WebCore part of fix) 15442 15443 * WebCoreSupport.subproj/WebImageRenderer.h: 15444 * WebCoreSupport.subproj/WebImageRenderer.m: 15445 (-[WebImageRenderer increaseUseCount]): 15446 (-[WebImageRenderer decreaseUseCount]): 15447 (-[WebImageRenderer retainOrCopyIfNeeded]): 15448 154492004-05-10 Maciej Stachowiak <mjs@apple.com> 15450 15451 Fix build. 15452 15453 * WebView.subproj/WebFrame.m: 15454 154552004-05-09 Maciej Stachowiak <mjs@apple.com> 15456 15457 Reviewed by Ken. 15458 15459 - avoid messing with undo manager needlessly for ~1% HTML iBench speedup 15460 15461 * WebCoreSupport.subproj/WebBridge.h: 15462 * WebCoreSupport.subproj/WebBridge.m: 15463 (-[WebBridge registerCommandForUndo:]): mark undo/redo item flag 15464 (-[WebBridge registerCommandForRedo:]): ditto 15465 (-[WebBridge clearUndoRedoOperations]): check flag before removing items, 15466 and clear it after removing them 15467 154682004-05-08 Maciej Stachowiak <mjs@apple.com> 15469 15470 Reviewed by Darin. 15471 15472 - -[WebFrame childFrames] is so hot that a special internal 15473 version which avoids the copy and autorelease results in a .75% 15474 performance improvement on HTML iBench. 15475 15476 * WebView.subproj/WebFramePrivate.h: Prototype new method. 15477 * WebView.subproj/WebFrame.m: 15478 (-[WebFrame _internalChildFrames]): New method, just returns 15479 internal value instead of copying. 15480 15481 (-[WebFrame _descendantFrameNamed:]): Use it 15482 (-[WebFrame _textSizeMultiplierChanged]): likewise 15483 (-[WebFrame _viewWillMoveToHostWindow:]): likewise 15484 (-[WebFrame _viewDidMoveToHostWindow]): likewise 15485 (-[WebFrame _saveDocumentAndScrollState]): likewise 15486 (-[WebFrame _numPendingOrLoadingRequests:]): likewise 15487 (-[WebFrame _checkLoadComplete]): Refactored this and it's two 15488 helpers a little so we could get away with using 15489 _internalChildFrames. 15490 (-[WebFrame _checkLoadCompleteForThisFrame]): Renamed from 15491 _isLoadComplete 15492 (-[WebFrame _recursiveCheckLoadComplete]): renamed from (class 15493 method) _recursiveCheckCompleteFromFrame: 15494 * WebView.subproj/WebDataSource.m: 15495 (-[WebDataSource _defersCallbacksChanged]): Use it 15496 (-[WebDataSource isLoading]): likewise 15497 * WebView.subproj/WebView.m: 15498 (-[WebView _frameForDataSource:fromFrame:]): likewise 15499 (-[WebView _frameForView:fromFrame:]): likewise 15500 155012004-05-10 Chris Blumenberg <cblu@apple.com> 15502 15503 Forgot to commit this copied header. 15504 15505 * DOM.subproj/DOMExtensions.h: 15506 15507=== Safari-139 === 15508 155092004-05-06 Chris Blumenberg <cblu@apple.com> 15510 15511 * DOM.subproj/WebDOMOperations.h: improved a header doc comment 15512 155132004-05-05 Chris Blumenberg <cblu@apple.com> 15514 15515 - DOM Extensions API tweaks 15516 15517 Reviewed by kocienda. 15518 15519 * DOM.subproj/DOMExtensions.h: copied from WebCore 15520 * DOM.subproj/WebDOMOperations.h: added header doc comments 15521 * DOM.subproj/WebDOMOperations.m: 15522 (-[DOMNode _URLsFromSelectors:]): use renamed URLWithAttributeString 15523 (-[DOMDocument URLWithAttributeString:]): renamed 15524 (-[DOMHTMLTableElement _web_background]): new private method 15525 (-[DOMHTMLTableElement _subresourceURLs]): use new private method 15526 (-[DOMHTMLTableCellElement _web_background]): new private method 15527 (-[DOMHTMLTableCellElement _subresourceURLs]): use new private method 15528 155292004-05-04 Ken Kocienda <kocienda@apple.com> 15530 15531 Reviewed by Hyatt 15532 15533 * DOM.subproj/DOMTraversal.h: File coppied from WebCore 15534 155352004-05-02 Darin Adler <darin@apple.com> 15536 15537 Reviewed by Ken. 15538 15539 - fixed <rdar://problem/3640419>: "_webkit_stringByReplacingValidPercentEscapes does not handle %00 properly" 15540 15541 * Misc.subproj/WebNSURLExtras.m: (-[NSString _webkit_stringByReplacingValidPercentEscapes]): 15542 Use the function in NSURL instead of implementing our own here. 15543 155442004-04-30 John Sullivan <sullivan@apple.com> 15545 15546 * WebView.subproj/WebView.m: 15547 fixed deployment build breakage 15548 155492004-04-30 John Sullivan <sullivan@apple.com> 15550 15551 - more work on getting the font panel to work with editable HTML. 15552 The font panel in Blot now correctly reflects the first selected font when the 15553 selection is at least one character long. 15554 15555 Reviewed by Ken. 15556 15557 * WebView.subproj/WebView.m: 15558 removed unfinished plumbing to support reflecting selected attributes (e.g. text color, 15559 underline) in font panel, since this doesn't work in Mail or TextEdit either. 15560 (_fontFromStyle): 15561 removed assertion for now 15562 (-[WebView _updateFontPanel]): 15563 now uses new bridge method to get the NSFont from the node, instead of trying 15564 to create an NSFont from a DOMCSSStyleDeclaration 15565 155662004-04-29 John Sullivan <sullivan@apple.com> 15567 15568 - more work on getting the font panel to work with editable HTML 15569 15570 Reviewed by Ken. 15571 15572 * WebView.subproj/WebView.m: 15573 (-[WebView computedStyleForElement:pseudoElement:]): 15574 convert nil pseudoElement to empty string because lower level chokes on nil 15575 (_fontFromStyle): 15576 I tried to implement this, but was thwarted by missing API, so I added a 15577 bunch of FIXMEs instead 15578 (_stylesRepresentSameFont): 15579 new function, not yet implementable 15580 (_stylesRepresentSameAttributes): 15581 new function, not yet implementable 15582 (-[WebView _updateFontPanel]): 15583 added code to get first and last element in selection, and to use 15584 NodeIterator to walk through the entire selection to see if more than one 15585 font or set of attributes is in use. However, createNodeIterator is declared 15586 in DOMTraversal.h but not actually defined anywhere, so I had to prevent this 15587 code from actually being called. 15588 155892004-04-28 Chris Blumenberg <cblu@apple.com> 15590 15591 - Made WebArchive and WebResource conform to NSCoding and NSCopying. 15592 15593 Reviewed by rjw. 15594 15595 * DOM.subproj/WebDOMOperations.h: added header doc comment for WebArchive methods 15596 * WebView.subproj/WebArchive.h: 15597 * WebView.subproj/WebArchive.m: 15598 (-[WebArchive initWithCoder:]): new 15599 (-[WebArchive encodeWithCoder:]): new 15600 (-[WebArchive copyWithZone:]): new 15601 * WebView.subproj/WebResource.h: 15602 * WebView.subproj/WebResource.m: 15603 (-[WebResource init]): new 15604 (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): call [self init] 15605 (-[WebResource initWithCoder:]): new 15606 (-[WebResource encodeWithCoder:]): new 15607 (-[WebResource copyWithZone:]): new 15608 156092004-04-28 John Sullivan <sullivan@apple.com> 15610 15611 A little bit more progress in wiring up the font panel. 15612 15613 Reviewed by Ken. 15614 15615 * WebView.subproj/WebViewInternal.h: 15616 put _updateFontPanel here. Also moved _isLoading here, since it was 15617 already in a category named WebInternal 15618 15619 * WebView.subproj/WebView.m: 15620 (-[WebView _isLoading]): 15621 moved into WebInternal category implementation 15622 (_textAttributesFromStyle): 15623 changed from method to function 15624 (_fontFromStyle): 15625 added, guts not filled in yet 15626 (-[WebView _updateFontPanel]): 15627 now calls these two functions (but results are always nil) 15628 (-[WebView setSelectedDOMRange:affinity:]): 15629 remove call to _updateFontPanel here since it's now called in 15630 the proper bottleneck 15631 15632 * WebCoreSupport.subproj/WebBridge.m: 15633 (-[WebBridge postDidChangeNotification]): 15634 call -[WebView _updateFontPanel] in addition to sending notification 15635 (-[WebBridge postDidChangeSelectionNotification]): 15636 ditto 15637 156382004-04-28 John Sullivan <sullivan@apple.com> 15639 15640 - fixed these bugs: 15641 <rdar://problem/3636570>: "API: [WebPreferences tabsToLinks] should be public API" 15642 <rdar://problem/3610597>: "API: could turn "stealth browsing" preference into API" 15643 15644 Reviewed by Darin. 15645 15646 I just moved the declarations and implementations from one place to another. 15647 (No clients in WebKit needed their #imports updated.) This confused cvs diff quite a bit. 15648 15649 * WebView.subproj/WebPreferences.h: 15650 * WebView.subproj/WebPreferences.m: 15651 (-[WebPreferences setTabsToLinks:]): 15652 (-[WebPreferences tabsToLinks]): 15653 (-[WebPreferences setPrivateBrowsingEnabled:]): 15654 (-[WebPreferences privateBrowsingEnabled]): 15655 (-[WebPreferences _pageCacheSize]): 15656 (-[WebPreferences _objectCacheSize]): 15657 (-[WebPreferences _backForwardCacheExpirationInterval]): 15658 * WebView.subproj/WebPreferencesPrivate.h: 15659 156602004-04-27 David Hyatt <hyatt@apple.com> 15661 15662 Cut the time spent on an operation inside widthForNextCharacter from 17% of the function time down to less than 15663 5% merely by adding a check for non-zero letter-spacing (thus avoiding double precision math in the 15664 common case where we just add 0 between letters). 15665 Reviewed by rjw 15666 15667 * WebCoreSupport.subproj/WebTextRenderer.m: 15668 (widthForNextCharacter): 15669 156702004-04-28 John Sullivan <sullivan@apple.com> 15671 15672 Initial plumbing to get the font panel to be updated from an editable 15673 WebView. 15674 15675 Reviewed by Ken. 15676 15677 * WebView.subproj/WebView.m: 15678 (-[WebView _textAttributesFromStyle:]): 15679 new dummy method, will need implementation 15680 (-[WebView _updateFontPanel]): 15681 new method, sets the font shown in the font panel from the current 15682 selection. Lots of placeholder stuff. 15683 (-[WebView setSelectedDOMRange:affinity:]): 15684 call _updateFontPanel here for now. 15685 156862004-04-28 Ken Kocienda <kocienda@apple.com> 15687 15688 Reviewed by Darin 15689 15690 * WebCoreSupport.subproj/WebBridge.m: 15691 (-[WebBridge postDidChangeNotification]): Posts Cocoa notification when the document changes 15692 due to editing. 15693 (-[WebBridge postDidChangeSelectionNotification]): Posts Cocoa notification when the document selection 15694 changes. 15695 * WebKit.exp: Export editing notification string constants. 15696 * WebView.subproj/WebView.m: Define editing notification string constants. 15697 (-[WebView computedStyleForElement:pseudoElement:]): Add implementation. 15698 (-[WebView setEditingDelegate:]): Do work to set up delegate to receive notification callbacks. 15699 (-[WebView DOMDocument]): Simplify to just call the bridge DOMDocument. No need to jump through hoops here. 15700 (-[WebView insertNewline:]): Consult delegate before taking action. 15701 (-[WebView deleteBackward:]): Ditto. 15702 (-[WebView insertText:]): Ditto. 15703 157042004-04-27 John Sullivan <sullivan@apple.com> 15705 15706 Fixed broken development build. 15707 15708 * WebView.subproj/WebFrame.m: 15709 (-[WebFrame _transitionToLayoutAcceptable]): 15710 updated bad variable name used only in LOG statement to match 15711 recent change. 15712 157132004-04-27 Richard Williamson <rjw@apple.com> 15714 15715 Fixes for: 15716 15717 <rdar://problem/3279301>: API: WebKitErrorCannotFindPlugin and WebKitErrorCannotLoadPlugin should use PlugIn 15718 <rdar://problem/3278513>: API: Need API to control the size of WebHistory 15719 <rdar://problem/3564519>: API: please add a way to set the media type for a WebView 15720 <rdar://problem/3565642>: API: allow a way to extend the MIME types that a WebView will display 15721 <rdar://problem/3577693>: API: add ability to subclass WebView but still use it with Carbon 15722 15723 Reviewed by Chris. 15724 15725 * Carbon.subproj/HIWebView.h: 15726 * Carbon.subproj/HIWebView.m: 15727 (HIWebViewCreate): 15728 (HIWebViewCreateWithClass): 15729 (HIWebViewConstructor): 15730 * History.subproj/WebHistory.h: 15731 * History.subproj/WebHistory.m: 15732 (-[WebHistoryPrivate setHistoryAgeInDaysLimit:]): 15733 (-[WebHistoryPrivate historyAgeInDaysLimit]): 15734 (-[WebHistoryPrivate setHistoryItemLimit:]): 15735 (-[WebHistoryPrivate historyItemLimit]): 15736 (-[WebHistoryPrivate _ageLimitDate]): 15737 (-[WebHistoryPrivate arrayRepresentation]): 15738 (-[WebHistory setHistoryItemLimit:]): 15739 (-[WebHistory historyItemLimit]): 15740 (-[WebHistory setHistoryAgeInDaysLimit:]): 15741 (-[WebHistory historyAgeInDaysLimit]): 15742 * History.subproj/WebHistoryPrivate.h: 15743 * Misc.subproj/WebKitErrors.h: 15744 * Misc.subproj/WebKitErrors.m: 15745 (registerErrors): 15746 * Plugins.subproj/WebNetscapePluginDocumentView.m: 15747 (-[WebNetscapePluginDocumentView setDataSource:]): 15748 * WebCoreSupport.subproj/WebBridge.m: 15749 (-[WebBridge isViewSelected:]): 15750 (-[WebBridge overrideMediaType]): 15751 * WebView.subproj/WebView.h: 15752 * WebView.subproj/WebView.m: 15753 (-[WebViewPrivate dealloc]): 15754 (+[WebView MIMETypesShownAsHTML]): 15755 (+[WebView setMIMETypesShownAsHTML:]): 15756 (-[WebView customUserAgent]): 15757 (-[WebView setMediaStyle:]): 15758 (-[WebView mediaStyle]): 15759 * WebView.subproj/WebViewPrivate.h: 15760 157612004-04-27 David Hyatt <hyatt@apple.com> 15762 15763 Eliminate the preferences for timed/resource layouts. Accessing them is now taking 0.5% on the cvs-base 15764 test, so we're just going to hardcode the values instead. 15765 Reviewed by mjs 15766 15767 * WebView.subproj/WebFrame.m: 15768 (-[WebFrame _transitionToLayoutAcceptable]): 15769 (-[WebFrame _isLoadComplete]): 15770 * WebView.subproj/WebPreferences.m: 15771 (+[WebPreferences initialize]): 15772 (-[WebPreferences _objectCacheSize]): 15773 * WebView.subproj/WebPreferencesPrivate.h: 15774 * WebView.subproj/WebView.m: 15775 (-[WebView _mainReceivedBytesSoFar:fromDataSource:complete:]): 15776 157772004-04-27 Ken Kocienda <kocienda@apple.com> 15778 15779 Reviewed by Hyatt 15780 15781 Make selections draw in a more Cocoa-like way, where 15782 fully-selected lines draw out to the ends of lines, and 15783 spaces between lines are drawn with the selection color as well. 15784 15785 * Misc.subproj/WebKitNSStringExtras.m: Use new WebCoreTextGeometry struct. No change in functionality. 15786 * WebCoreSupport.subproj/WebTextRenderer.m: 15787 (-[WebTextRenderer drawRun:style:geometry:]): Use new WebCoreTextGeometry struct. No change in functionality. 15788 (-[WebTextRenderer drawHighlightForRun:style:geometry:]): Ditto. 15789 (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]): Many changes to add the new selection drawing behavior. 15790 (-[WebTextRenderer _CG_drawRun:style:geometry:]): Use new WebCoreTextGeometry struct. No change in functionality. 15791 (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]): Many changes to add the new selection drawing behavior. 15792 (-[WebTextRenderer _ATSU_drawRun:style:geometry:]): Use new WebCoreTextGeometry struct. No change in functionality. 15793 157942004-04-26 Richard Williamson <rjw@apple.com> 15795 15796 Added support for specifying composite operation on an 15797 image element, i.e.: 15798 15799 <img composite="source-over" src="triangle.png"> 15800 <img style="position:relative; left:-200px;" composite="destination-in" src="circle.png"> 15801 15802 This feature was requested by the dashboard guys. They can use it to apply 15803 transparency masks to widgies. 15804 15805 15806 Reviewed by Ken. 15807 15808 * WebCoreSupport.subproj/WebImageRenderer.h: 15809 * WebCoreSupport.subproj/WebImageRenderer.m: 15810 (-[WebImageRenderer initWithMIMEType:]): 15811 (-[WebImageRenderer initWithData:MIMEType:]): 15812 (-[WebImageRenderer initWithContentsOfFile:]): 15813 (-[WebImageRenderer copyWithZone:]): 15814 (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): 15815 (-[WebImageRenderer drawImageInRect:fromRect:]): 15816 (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:]): 15817 158182004-04-26 Chris Blumenberg <cblu@apple.com> 15819 15820 More header doc changes after John's review. 15821 * WebView.subproj/WebDataSourcePrivate.h: 15822 * WebView.subproj/WebResource.h: 15823 158242004-04-26 Chris Blumenberg <cblu@apple.com> 15825 15826 * WebView.subproj/WebDataSourcePrivate.h: added some header doc comments 15827 * WebView.subproj/WebFramePrivate.h: fixed header doc typo 15828 158292004-04-24 Darin Adler <darin@apple.com> 15830 15831 Reviewed by Dave. 15832 15833 * Misc.subproj/WebNSURLExtras.m: (hexDigit): Use capitalized hex, not lowercase, for consistency 15834 with similar functions in WebCore and what other web browsers do. 15835 158362004-04-23 Darin Adler <darin@apple.com> 15837 15838 Reviewed by Maciej. 15839 15840 - fixed <rdar://problem/3627362>: "bad access with libgmalloc in -[_WebCoreHistoryProvider containsItemForURLUnicode:length:]" 15841 15842 * History.subproj/WebHistory.m: 15843 (-[_WebCoreHistoryProvider containsItemForURLUnicode:length:]): Add range checks so we 15844 don't overrun the buffer while looking for slashes. 15845 158462004-04-23 Chris Blumenberg <cblu@apple.com> 15847 15848 Reviewed by John 15849 15850 Added header doc comments to proposed API's. 15851 15852 * WebView.subproj/WebArchive.h: 15853 * WebView.subproj/WebFramePrivate.h: 15854 * WebView.subproj/WebResource.h: 15855 15856=== Safari-138 === 15857 158582004-04-23 Ken Kocienda <kocienda@apple.com> 15859 15860 Reviewed by John 15861 15862 Added some plumbing for applying styles. 15863 15864 * DOM.subproj/DOMExtensions.h: Copied from WebCore. 15865 * WebView.subproj/WebView.m: 15866 (-[WebView DOMDocument]): Added new helper. 15867 (-[WebView styleDeclarationWithText:]): Added new helper. 15868 * WebView.subproj/WebViewPrivate.h: Declare above methods. 15869 158702004-04-22 Richard Williamson <rjw@apple.com> 15871 15872 Updates to plugin binding APIs. 15873 Updates to Java plugin APIs. 15874 Transparency fix for Dashboard. 15875 Reviewed by John and Greg Bolsinga. 15876 15877 * Plugins.subproj/WebPluginJava.h: Added. 15878 New API for Java plugin. 15879 15880 * Plugins.subproj/npfunctions.h: 15881 * Plugins.subproj/npruntime.h: 15882 (_NPString::): 15883 (_NPString::_NPVariant::): 15884 * Plugins.subproj/npsap.h: Added. 15885 New API for plugin bindings. 15886 15887 * WebView.subproj/WebHTMLView.m: 15888 (-[WebHTMLView drawRect:]): 15889 Update for Dashboard. View must fill with transparency when not 15890 drawing background. 15891 15892 * copy-webcore-files-to-webkit: 15893 158942004-04-22 Ken Kocienda <kocienda@apple.com> 15895 15896 Reviewed by Hyatt 15897 15898 More work to bring code up to date with the latest API proposal. Note that 15899 all of the replaceXXX methods below now operate on the current selection, so 15900 the method implementations have been simplifed accordingly. 15901 15902 * WebView.subproj/WebDataSource.m: 15903 (-[WebDataSource _replaceSelectionWithArchive:]): New name for _replaceSelectionWithWebArchive. 15904 * WebView.subproj/WebDataSourcePrivate.h: Ditto. 15905 * WebView.subproj/WebDefaultEditingDelegate.m: 15906 (-[WebDefaultEditingDelegate webViewShouldBeginEditing:inDOMRange:]): Added inDOMRange: parameter. 15907 (-[WebDefaultEditingDelegate webViewShouldEndEditing:inDOMRange:]): Ditto. 15908 (-[WebDefaultEditingDelegate webView shouldChangeSelectedDOMRange:toDOMRange:proposedRange affinity:stillSelecting:]): 15909 Missed adding affinity in last patch. 15910 * WebView.subproj/WebHTMLView.m: 15911 (-[WebHTMLView _pasteFromPasteboard:]): Call old method with new name: _replaceSelectionWithArchive 15912 * WebView.subproj/WebView.m: 15913 (-[WebView replaceSelectionWithNode:]): New version of insertNode:replacingDOMRange: 15914 (-[WebView replaceSelectionWithText:]): New version of insertText:replacingDOMRange: 15915 (-[WebView replaceSelectionWithMarkupString:]): New version of insertMarkupString:replacingDOMRange: 15916 (-[WebView replaceSelectionWithArchive:]): New version of insertWebArchive:replacingDOMRange: 15917 (-[WebView deleteSelection]): New version of deleteDOMRange: 15918 (-[WebView applyStyle:]): New version of applyStyle:toElementsInDOMRange: 15919 * WebView.subproj/WebViewPrivate.h: 15920 159212004-04-22 Ken Kocienda <kocienda@apple.com> 15922 15923 Reviewed by John 15924 15925 Adds the notion of selection affinity to the editing API, bringing it up to 15926 date with the latest proposal. 15927 15928 * WebView.subproj/WebView.m: 15929 (-[WebView _alterCurrentSelection:direction:granularity:]): Pass selection affinity 15930 to the delegate. We can just pass the current one since this does not change with arrow keys. 15931 (-[WebView setSelectedDOMRange:affinity:]): Set the affinity on the selection. 15932 (-[WebView selectionAffinity]): New accessor. 15933 (-[WebView insertNode:replacingDOMRange:]): Change to pass selection affinity to call 15934 to set selection. This is just to get the code to compile for now, since this method 15935 will soon be removed in place of a similar one from the latest proposal that always 15936 works on the current selection. 15937 (-[WebView insertText:replacingDOMRange:]): Ditto. 15938 (-[WebView insertMarkupString:replacingDOMRange:]): Ditto. 15939 (-[WebView insertWebArchive:replacingDOMRange:]): Ditto. 15940 (-[WebView deleteDOMRange:]): Ditto. 15941 (-[WebView applyStyle:toElementsInDOMRange:]): Ditto. 15942 * WebView.subproj/WebViewPrivate.h: Add selection affinity to API declarations as needed. 15943 159442004-04-22 Ken Kocienda <kocienda@apple.com> 15945 15946 Reviewed by Darin 15947 15948 Work around this bug: 15949 <rdar://problem/3630640>: "Calling interpretKeyEvents: in a custom text view can fail to process keys right after app startup" 15950 15951 * WebView.subproj/WebView.m: 15952 (-[WebView _editingKeyDown:]): The issue is with a message to nil in AppKit 15953 key binding manager code. Add call to [NSKeyBindingManager sharedKeyBindingManager] to make 15954 sure the not-supposed-to-be-nil object is created before calling interpretKeyEvents:. 15955 159562004-04-22 Ken Kocienda <kocienda@apple.com> 15957 15958 Reviewed by Hyatt 15959 15960 Added calls to ensure caret visibility after the editing action is done. 15961 15962 * WebView.subproj/WebView.m: 15963 (-[WebView _alterCurrentSelection:direction:granularity:]): 15964 (-[WebView insertNewline:]): 15965 (-[WebView deleteBackward:]): 15966 (-[WebView insertText:]): 15967 159682004-04-20 Chris Blumenberg <cblu@apple.com> 15969 15970 Fixed: <rdar://problem/3605209>: "HITLIST: REGRESSION (131-132): iframes/frames no longer dump on layout tests" 15971 15972 Reviewed by hyatt. 15973 15974 * WebView.subproj/WebHTMLRepresentation.m: 15975 (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): the encoding was not being set in the about:blank case. Call receivedData:textEncodingName: as we did in the past to set it. 15976 159772004-04-20 Ken Kocienda <kocienda@apple.com> 15978 15979 Reviewed by Hyatt 15980 15981 Added implementations for these methods. 15982 15983 * WebView.subproj/WebView.m: 15984 (-[WebView moveUpAndModifySelection:]): 15985 (-[WebView moveWordLeft:]): 15986 (-[WebView moveWordLeftAndModifySelection:]): 15987 (-[WebView moveWordRight:]): 15988 (-[WebView moveWordRightAndModifySelection:]): 15989 159902004-04-20 John Sullivan <sullivan@apple.com> 15991 15992 - fixed <rdar://problem/3622393>: When in stealth mode, visited webpage 15993 contents should not be cached to disk 15994 15995 Reviewed by Ken. 15996 15997 * WebView.subproj/WebBaseResourceHandleDelegate.m: 15998 (-[WebBaseResourceHandleDelegate willCacheResponse:]): 15999 if will cache to disk and in stealth mode, replace cache response with 16000 an identical one that won't cache to disk. 16001 160022004-04-19 Ken Kocienda <kocienda@apple.com> 16003 16004 Reviewed by Hyatt 16005 16006 * WebView.subproj/WebView.m: 16007 (-[WebView moveDown:]): Added implementation. 16008 (-[WebView moveUp:]): Added implementation. 16009 160102004-04-19 Chris Blumenberg <cblu@apple.com> 16011 16012 Added support for pasting frames via WebArchives. 16013 16014 Reviewed by kocienda. 16015 16016 * WebView.subproj/WebDataSource.m: 16017 (-[WebDataSource _addSubframeArchives:]): renamed, now allows subframe archives to be added at anytime 16018 (-[WebDataSource _popSubframeArchiveWithName:]): renamed, now deletes the returned subframe to consume less memory 16019 (-[WebDataSource _replaceSelectionWithWebArchive:]): added support for subframes 16020 * WebView.subproj/WebDataSourcePrivate.h: 16021 * WebView.subproj/WebFrame.m: 16022 (-[WebFrame _loadRequest:subresources:subframeArchives:]): call renamed methods 16023 (-[WebFrame _loadURL:intoChild:]): ditto 16024 * WebView.subproj/WebHTMLRepresentation.m: 16025 (-[WebHTMLRepresentation loadArchive]): ditto 16026 16027=== Safari-137 === 16028 160292004-04-16 Richard Williamson <rjw@apple.com> 16030 16031 Added an SPI to allow ObjC instances to be easily bound to 16032 JS. This is needed by the dashboard guys for their prototyping. 16033 Eventually they will use new API. 16034 16035 Reviewed by Chris. 16036 16037 * WebView.subproj/WebView.m: 16038 (-[WebView _bindObject:withName:toFrame:]): 16039 * WebView.subproj/WebViewPrivate.h: 16040 160412004-04-16 Chris Blumenberg <cblu@apple.com> 16042 16043 Fixed: <rdar://problem/3587599>: Mail Page, Web Archives don't preserve subframes 16044 Moved code that assembled subresource URLs from DOM nodes from WebCore to WebKit. 16045 16046 Reviewed by rjw. 16047 16048 * DOM.subproj/DOMExtensions.h: copied from WebCore 16049 * DOM.subproj/WebDOMOperations.h: 16050 * DOM.subproj/WebDOMOperations.m: 16051 (-[DOMNode webArchive]): call renamed methods 16052 (-[DOMNode markupString]): ditto 16053 (-[DOMNode _URLsFromSelectors:]): new, returns array of URLs given selectors 16054 (-[DOMNode _subresourceURLs]): new, base class does nothing, subclasses call _URLsFromSelectors with URL selectors 16055 (-[DOMDocument webFrame]): new 16056 (-[DOMRange webArchive]): call renamed methods 16057 (-[DOMRange markupString]): ditto 16058 (-[DOMHTMLBodyElement _subresourceURLs]): new 16059 (-[DOMHTMLInputElement _subresourceURLs]): new 16060 (-[DOMHTMLLinkElement _subresourceURLs]): new 16061 (-[DOMHTMLScriptElement _subresourceURLs]): new 16062 (-[DOMHTMLImageElement _subresourceURLs]): new 16063 (-[DOMHTMLEmbedElement _subresourceURLs]): new 16064 (-[DOMHTMLObjectElement _subresourceURLs]): new 16065 (-[DOMHTMLParamElement _subresourceURLs]): new 16066 (-[DOMHTMLTableElement _subresourceURLs]): new 16067 (-[DOMHTMLTableCellElement _subresourceURLs]): new 16068 * WebKit.pbproj/project.pbxproj: 16069 * WebView.subproj/WebArchive.h: 16070 * WebView.subproj/WebArchive.m: 16071 (-[WebArchivePrivate dealloc]): release new subframeArchives ivar 16072 (-[WebArchive initWithMainResource:subresources:subframeArchives:]): take subframeArchives 16073 (-[WebArchive _initWithPropertyList:]): new, recursively creates WebArchives 16074 (-[WebArchive initWithData:]): call _initWithPropertyList 16075 (-[WebArchive subframeArchives]): new 16076 (-[WebArchive _propertyListRepresentation]): new, recursively creates property lists of WebArchives 16077 (-[WebArchive data]): call _propertyListRepresentation 16078 * WebView.subproj/WebBaseResourceHandleDelegate.m: 16079 (-[WebBaseResourceHandleDelegate saveResource]): call renamed methods 16080 * WebView.subproj/WebDataSource.m: 16081 (-[WebDataSourcePrivate dealloc]): release new pendingSubframeArchives ivar 16082 (-[WebDataSource _archiveWithMarkupString:nodes:]): renamed and reimplemented, handles subframes 16083 (-[WebDataSource _archive]): new 16084 (-[WebDataSource _setPendingSubframeArchives:]): new 16085 (-[WebDataSource _archiveForFrameName:]): new 16086 * WebView.subproj/WebDataSourcePrivate.h: 16087 * WebView.subproj/WebFrame.m: 16088 (-[WebFrame loadArchive:]): handle subframes 16089 (-[WebFrame _loadRequest:subresources:subframeArchives:]): ditto 16090 (-[WebFrame _loadURL:intoChild:]): use the subframe archive if we have it 16091 (-[WebFrame loadRequest:]): call renamed methods 16092 * WebView.subproj/WebFramePrivate.h: 16093 * WebView.subproj/WebHTMLRepresentation.m: 16094 (-[WebHTMLRepresentation loadWebArchive]): call renamed methods and handle subframes 16095 * WebView.subproj/WebHTMLView.m: 16096 (-[WebHTMLView _selectedArchive:]): call renamed methods 16097 (-[WebHTMLView _pasteFromPasteboard:]): call renamed methods 16098 * WebView.subproj/WebHTMLViewPrivate.h: 16099 * WebView.subproj/WebImageRepresentation.h: 16100 * WebView.subproj/WebImageRepresentation.m: instead of storing some items from the data source, just store the data source 16101 (-[WebImageRepresentation dealloc]): removed use of deleted ivars 16102 (-[WebImageRepresentation URL]): use dataSource instead of ivar 16103 (-[WebImageRepresentation doneLoading]): use new boolean ivar 16104 (-[WebImageRepresentation setDataSource:]): store the data source 16105 (-[WebImageRepresentation receivedData:withDataSource:]): use dataSource instead of ivar 16106 (-[WebImageRepresentation receivedError:withDataSource:]): ditto 16107 (-[WebImageRepresentation finishedLoadingWithDataSource:]): ditto 16108 (-[WebImageRepresentation title]): ditto 16109 (-[WebImageRepresentation data]): ditto 16110 (-[WebImageRepresentation filename]): ditto 16111 (-[WebImageRepresentation archive]): ditto 16112 * WebView.subproj/WebResource.h: 16113 * WebView.subproj/WebResource.m: 16114 (-[WebResourcePrivate dealloc]): release new frame name ivar 16115 (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): take a frame name 16116 (-[WebResource frameName]): new 16117 (-[WebResource _initWithPropertyList:]): handle frame name 16118 (-[WebResource _initWithCachedResponse:originalURL:]): call renamed methods 16119 (-[WebResource _propertyListRepresentation]): 16120 * WebView.subproj/WebResourcePrivate.h: handle frame name 16121 161222004-04-15 David Hyatt <hyatt@apple.com> 16123 16124 Make sure isOpaque returns NO when the WebHTMLVIew doesn't draw its background. 16125 Reviewed by darin 16126 16127 * WebView.subproj/WebFrameView.m: 16128 (-[WebFrameView isOpaque]): 16129 * WebView.subproj/WebHTMLView.m: 16130 (-[WebHTMLView isOpaque]): 16131 161322004-04-15 John Sullivan <sullivan@apple.com> 16133 16134 * WebView.subproj/WebPreferencesPrivate.h: 16135 added comments 16136 161372004-04-14 Richard Williamson <rjw@apple.com> 16138 16139 Updated fix for 3576315. Don't hardcode 22 as the titlebar 16140 height. (Note, other places in CarbonWindowFrame DO hardcode 16141 window geometry information, yuck!). 16142 16143 Reviewed by Hyatt. 16144 16145 * Carbon.subproj/CarbonWindowFrame.m: 16146 161472004-04-14 John Sullivan <sullivan@apple.com> 16148 16149 - changed stealth mode preference name from "historyIsFrozen" 16150 to "privateBrowsingEnabled" 16151 16152 Reviewed by Darin. 16153 16154 * WebView.subproj/WebFrame.m: 16155 (-[WebFrame _transitionToCommitted:]): 16156 updated for method name change 16157 16158 * WebView.subproj/WebPreferences.m: 16159 changed preference key name 16160 (+[WebPreferences initialize]): 16161 updated for preference key name change 16162 (-[WebPreferences setPrivateBrowsingEnabled:]): 16163 changed name from setHistoryIsFrozen: 16164 (-[WebPreferences privateBrowsingEnabled]): 16165 changed name from historyIsFrozen: 16166 16167 * WebView.subproj/WebPreferencesPrivate.h: 16168 changed declared method names 16169 16170 * English.lproj/StringsNotToBeLocalized.txt: 16171 updated for this and other recent changes 16172 161732004-04-13 Chris Blumenberg <cblu@apple.com> 16174 16175 - Added WebElementDOMNodeKey as a potential API so that clients can get the node from an element dictionary. 16176 - Removed WebElementIsEditableKey. This functionality is available via [DOMNode isContentEditable]. 16177 16178 Reviewed by rjw. 16179 16180 * DOM.subproj/WebDOMOperations.h: 16181 * DOM.subproj/WebDOMOperations.m: 16182 (-[DOMDocument URLWithRelativeString:]): new potential API 16183 * WebView.subproj/WebDefaultContextMenuDelegate.m: 16184 (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): indenting tweak 16185 (-[WebDefaultUIDelegate copyImageToClipboard:]): use WebElementDOMNodeKey 16186 * WebView.subproj/WebHTMLView.m: 16187 (-[WebHTMLView _handleMouseDragged:]): use WebElementDOMNodeKey 16188 (-[WebHTMLView _dragOperationForDraggingInfo:]): use isContentEditable 16189 * WebView.subproj/WebView.h: 16190 * WebView.subproj/WebView.m: 16191 * WebView.subproj/WebViewPrivate.h: 16192 161932004-04-13 Chris Blumenberg <cblu@apple.com> 16194 16195 Fixed deployment build failure. 16196 16197 Reviewed by john. 16198 16199 * WebView.subproj/WebHTMLView.m: 16200 (-[WebHTMLView _handleMouseDragged:]): removed use of fileWrapper variable 16201 162022004-04-12 Chris Blumenberg <cblu@apple.com> 16203 16204 Factored out WebArchive to DOM code so that it could be used by both [WebHTMLView _pasteFromPasteboard:] and [WebView insertWebArchive:replacingDOMRange:]. 16205 16206 Reviewed by kocienda. 16207 16208 * WebView.subproj/WebDataSource.m: 16209 (-[WebDataSource _replaceSelectionWithMarkupString:baseURL:]): moved from WebHTMLView 16210 (-[WebDataSource _replaceSelectionWithImageResource:]): ditto 16211 (-[WebDataSource _replaceSelectionWithWebArchive:]): ditto 16212 * WebView.subproj/WebDataSourcePrivate.h: 16213 * WebView.subproj/WebHTMLView.m: 16214 (-[WebHTMLView _replaceSelectionWithMarkupString:]): renamed 16215 (-[WebHTMLView _pasteFromPasteboard:]): call renamed methods 16216 * WebView.subproj/WebView.m: 16217 (-[WebView insertMarkupString:replacingDOMRange:]): call renamed methods 16218 (-[WebView insertWebArchive:replacingDOMRange:]): have data source handle the archive instead of the bridge 16219 162202004-04-12 Ken Kocienda <kocienda@apple.com> 16221 16222 Reviewed by Dave 16223 16224 Added execCommand support for cut/copy/paste. 16225 16226 * WebCoreSupport.subproj/WebBridge.m: 16227 (-[WebBridge issueCutCommand]): Glue for calling from WebCore to do a cut in Cocoa. 16228 (-[WebBridge issueCopyCommand]): Same as above, but for copy. 16229 (-[WebBridge issuePasteCommand]): Same as above, but for paste. 16230 * WebView.subproj/WebHTMLView.m: 16231 (-[WebHTMLView copy:]): Move this to private implementation category so the bridge can see it. 16232 (-[WebHTMLView cut:]): Ditto. 16233 (-[WebHTMLView paste:]): Ditto. 16234 * WebView.subproj/WebHTMLViewPrivate.h: Move copy;, cut:, and paste: to private implementation 16235 category so the bridge can see it. 16236 * WebView.subproj/WebView.m: 16237 (-[WebView copy:]): Implemented by calling WebHTMLView to do the work. 16238 (-[WebView cut:]): Ditto. 16239 (-[WebView paste:]): Ditto. 16240 * WebView.subproj/WebViewPrivate.h: Added all the NSReponder methods we plan to implement as 16241 part of the WebKit editing API. 16242 162432004-04-09 Ken Kocienda <kocienda@apple.com> 16244 16245 Reviewed by Darin 16246 16247 Stubbed in the entire WebKit editing API, improving some 16248 methods already present in minor ways, and adding those 16249 methods not yet present. 16250 16251 * WebCoreSupport.subproj/WebBridge.m: 16252 (-[WebBridge editingKeyDown:]): 16253 * WebView.subproj/WebDefaultEditingDelegate.m: 16254 (-[WebDefaultEditingDelegate webView:shouldChangeSelectedDOMRange:toDOMRange:stillSelecting:]): 16255 * WebView.subproj/WebHTMLView.m: 16256 (-[WebHTMLView _pasteMarkupString:]): 16257 * WebView.subproj/WebView.m: 16258 (-[WebView _alterCurrentSelection:direction:granularity:]): 16259 (-[WebView _currentSelectionIsEditable]): 16260 (-[WebView computedStyleForElement:pseudoElement:]): 16261 (-[WebView _editingKeyDown:]): 16262 (-[WebView setEditable:]): 16263 (-[WebView isEditable]): 16264 (-[WebView setTypingStyle:]): 16265 (-[WebView typingStyle]): 16266 (-[WebView setSmartInsertDeleteEnabled:]): 16267 (-[WebView smartInsertDeleteEnabled]): 16268 (-[WebView setContinuousSpellCheckingEnabled:]): 16269 (-[WebView isContinuousSpellCheckingEnabled]): 16270 (-[WebView spellCheckerDocumentTag]): 16271 (-[WebView undoManager]): 16272 (-[WebView insertNode:replacingDOMRange:]): 16273 (-[WebView insertText:replacingDOMRange:]): 16274 (-[WebView insertMarkupString:replacingDOMRange:]): 16275 (-[WebView insertWebArchive:replacingDOMRange:]): 16276 (-[WebView deleteDOMRange:]): 16277 (-[WebView applyStyle:toElementsInDOMRange:]): 16278 (-[WebView centerSelectionInVisibleArea:]): 16279 (-[WebView moveBackward:]): 16280 (-[WebView moveBackwardAndModifySelection:]): 16281 (-[WebView moveDown:]): 16282 (-[WebView moveDownAndModifySelection:]): 16283 (-[WebView moveForward:]): 16284 (-[WebView moveForwardAndModifySelection:]): 16285 (-[WebView moveLeft:]): 16286 (-[WebView moveLeftAndModifySelection:]): 16287 (-[WebView moveRight:]): 16288 (-[WebView moveRightAndModifySelection:]): 16289 (-[WebView moveToBeginningOfDocument:]): 16290 (-[WebView moveToBeginningOfLine:]): 16291 (-[WebView moveToBeginningOfParagraph:]): 16292 (-[WebView moveToEndOfDocument:]): 16293 (-[WebView moveToEndOfLine:]): 16294 (-[WebView moveToEndOfParagraph:]): 16295 (-[WebView moveUp:]): 16296 (-[WebView moveUpAndModifySelection:]): 16297 (-[WebView moveWordBackward:]): 16298 (-[WebView moveWordBackwardAndModifySelection:]): 16299 (-[WebView moveWordForward:]): 16300 (-[WebView moveWordForwardAndModifySelection:]): 16301 (-[WebView moveWordLeft:]): 16302 (-[WebView moveWordLeftAndModifySelection:]): 16303 (-[WebView moveWordRight:]): 16304 (-[WebView moveWordRightAndModifySelection:]): 16305 (-[WebView pageDown:]): 16306 (-[WebView pageUp:]): 16307 (-[WebView scrollLineDown:]): 16308 (-[WebView scrollLineUp:]): 16309 (-[WebView scrollPageDown:]): 16310 (-[WebView scrollPageUp:]): 16311 (-[WebView selectAll:]): 16312 (-[WebView selectParagraph:]): 16313 (-[WebView selectLine:]): 16314 (-[WebView selectWord:]): 16315 (-[WebView copy:]): 16316 (-[WebView cut:]): 16317 (-[WebView paste:]): 16318 (-[WebView copyFont:]): 16319 (-[WebView pasteFont:]): 16320 (-[WebView delete:]): 16321 (-[WebView pasteAsPlainText:]): 16322 (-[WebView pasteAsRichText:]): 16323 (-[WebView changeFont:]): 16324 (-[WebView changeAttributes:]): 16325 (-[WebView changeDocumentBackgroundColor:]): 16326 (-[WebView changeColor:]): 16327 (-[WebView alignCenter:]): 16328 (-[WebView alignJustified:]): 16329 (-[WebView alignLeft:]): 16330 (-[WebView alignRight:]): 16331 (-[WebView indent:]): 16332 (-[WebView insertTab:]): 16333 (-[WebView insertBacktab:]): 16334 (-[WebView insertNewline:]): 16335 (-[WebView insertParagraphSeparator:]): 16336 (-[WebView changeCaseOfLetter:]): 16337 (-[WebView uppercaseWord:]): 16338 (-[WebView lowercaseWord:]): 16339 (-[WebView capitalizeWord:]): 16340 (-[WebView deleteForward:]): 16341 (-[WebView deleteBackward:]): 16342 (-[WebView deleteBackwardByDecomposingPreviousCharacter:]): 16343 (-[WebView deleteWordForward:]): 16344 (-[WebView deleteWordBackward:]): 16345 (-[WebView deleteToBeginningOfLine:]): 16346 (-[WebView deleteToEndOfLine:]): 16347 (-[WebView deleteToBeginningOfParagraph:]): 16348 (-[WebView deleteToEndOfParagraph:]): 16349 (-[WebView complete:]): 16350 (-[WebView checkSpelling:]): 16351 (-[WebView showGuessPanel:]): 16352 (-[WebView performFindPanelAction:]): 16353 (-[WebView startSpeaking:]): 16354 (-[WebView stopSpeaking:]): 16355 (-[WebView insertText:]): 16356 * WebView.subproj/WebViewPrivate.h: 16357 163582004-04-09 Darin Adler <darin@apple.com> 16359 16360 Reviewed by Ken. 16361 16362 - added "transparent mode" 16363 16364 * WebView.subproj/WebFrameInternal.h: Added. Contains _updateDrawsBackground. 16365 * WebView.subproj/WebFrame.m: 16366 (-[WebFrame _makeDocumentView]): Call _updateDrawsBackground to tell the newly created 16367 KHTMLView whether to draw a background or not. 16368 (-[WebFrame _setState:]): Don't tell the scroll view to start drawing background if the 16369 WebView is not supposed to draw a background. 16370 (-[WebFrame _updateDrawsBackground]): Call setDrawsBackground: on the bridge, and do the 16371 same for all subframes. 16372 16373 * WebView.subproj/WebFrameView.m: (-[WebFrameView setFrameSize:]): Only call setDrawsBackground:YES 16374 on the scroll view if the WebView has drawsBackground set to YES. 16375 16376 * WebView.subproj/WebViewPrivate.h: Added new proposed API, setDrawsBackground and drawsBackground. 16377 Also added drawsBackground boolean to private structure. 16378 * WebView.subproj/WebView.m: 16379 (-[WebView _commonInitializationWithFrameName:groupName:]): Set drawsBackground to YES by default. 16380 (-[WebView setDrawsBackground:]): Added. Sets boolean and calls _updateDrawsBackground to update 16381 the flag for each frame. 16382 (-[WebView drawsBackground]): Added. Returns value of boolean. 16383 (-[WebView _bridgeForCurrentSelection]): Tweaked comment for no good reason. 16384 16385 * WebView.subproj/WebViewInternal.h: Added, but empty for the moment. 16386 * WebView.subproj/WebFramePrivate.h: Tweaked a bit. 16387 163882004-04-08 Chris Blumenberg <cblu@apple.com> 16389 16390 Fixed: 16391 <rdar://problem/3616873>: support for pasting and drag and dropping of URLS to editable WebViews 16392 <rdar://problem/3546417>: support for pasting and drag and dropping of images to editable WebViews 16393 16394 Reviewed by rjw. 16395 16396 * DOM.subproj/WebDOMOperations.h: 16397 * DOM.subproj/WebDOMOperations.m: 16398 (-[DOMNode webArchive]): renamed from "archive" because "archive" collides with DOMHTMLObjectElement's method 16399 (-[DOMRange webArchive]): ditto 16400 * Misc.subproj/WebNSPasteboardExtras.h: 16401 * Misc.subproj/WebNSPasteboardExtras.m: 16402 (-[NSPasteboard _web_writeImage:URL:title:archive:]): take just an archive instead of an HTML string and file wrapper 16403 * Misc.subproj/WebNSViewExtras.h: 16404 * Misc.subproj/WebNSViewExtras.m: 16405 (-[NSView _web_dragImage:archive:rect:URL:title:event:]): take just an archive instead of an HTML string and file wrapper 16406 * WebView.subproj/WebDataProtocol.h: 16407 * WebView.subproj/WebDataProtocol.m: 16408 (+[NSURL _web_uniqueWebDataURL]): new 16409 (+[NSURL _web_uniqueWebDataURLWithRelativeString:]): new 16410 * WebView.subproj/WebDefaultContextMenuDelegate.m: 16411 (-[WebDefaultUIDelegate copyImageToClipboard:]): call renamed _web_writeImage 16412 * WebView.subproj/WebFrame.m: 16413 (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:unreachableURL:]): use _web_uniqueWebDataURL for creating a URL 16414 * WebView.subproj/WebHTMLView.m: 16415 (-[WebHTMLView _pasteImageResource:]): new 16416 (-[WebHTMLView _pasteFromPasteboard:]): renamed, now handles images and URLs 16417 (-[WebHTMLView _handleMouseDragged:]): call renamed _web_dragImage 16418 (-[WebHTMLView paste:]): call renamed _pasteFromPasteboard 16419 (-[WebHTMLView concludeDragOperation:]): call renamed _pasteFromPasteboard 16420 * WebView.subproj/WebHTMLViewPrivate.h: 16421 * WebView.subproj/WebImageRepresentation.h: 16422 * WebView.subproj/WebImageRepresentation.m: 16423 (-[WebImageRepresentation archive]): new 16424 * WebView.subproj/WebImageView.m: 16425 (-[WebImageView writeImageToPasteboard:]): call renamed _web_writeImage 16426 (-[WebImageView mouseDragged:]): call renamed _web_dragImage 16427 16428=== Safari-136 === 16429 164302004-04-08 Chris Blumenberg <cblu@apple.com> 16431 16432 Fixed: <rdar://problem/3548274>: API: DOM API for WebKit clients 16433 16434 Reviewed by kocienda. 16435 16436 * DOM.subproj/DOM.h: copied from WebCore 16437 * WebKit.pbproj/project.pbxproj: made our DOM headers public! 16438 164392004-04-08 Chris Blumenberg <cblu@apple.com> 16440 16441 Moved WebArchive to its own file. 16442 16443 Reviewed by kocienda. 16444 16445 * WebKit.pbproj/project.pbxproj: 16446 * WebView.subproj/WebArchive.h: Added. 16447 * WebView.subproj/WebArchive.m: Added. 16448 (-[WebArchive data]): renamed from dataRepresentation 16449 * WebView.subproj/WebDataSource.m: 16450 * WebView.subproj/WebFrame.m: 16451 * WebView.subproj/WebHTMLRepresentation.m: 16452 * WebView.subproj/WebHTMLView.m: 16453 (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed [WebArchive data] 16454 * WebView.subproj/WebResource.h: 16455 * WebView.subproj/WebResource.m: 16456 164572004-04-07 Chris Blumenberg <cblu@apple.com> 16458 16459 Created WebDOMOperations which are WebKit-specific categories on DOM objects. 16460 16461 Reviewed by rjw. 16462 16463 * DOM.subproj/DOMExtensions.h: 16464 * DOM.subproj/WebDOMOperations.h: Added. 16465 * DOM.subproj/WebDOMOperations.m: Added. 16466 (-[DOMNode _bridge]): new 16467 (-[DOMNode archive]): new 16468 (-[DOMNode markupString]): new 16469 (-[DOMRange _bridge]): new 16470 (-[DOMRange archive]): new 16471 (-[DOMRange markupString]): new 16472 (-[DOMHTMLImageElement image]): 16473 * WebCoreSupport.subproj/WebBridge.h: 16474 * WebCoreSupport.subproj/WebBridge.m: 16475 (-[WebBridge webFrame]): new 16476 * WebKit.pbproj/project.pbxproj: 16477 * WebView.subproj/WebDataSource.m: 16478 (-[WebDataSource _archiveWithMarkupString:subresourceURLStrings:]): moved from WebHTMLRepresentation 16479 * WebView.subproj/WebDataSourcePrivate.h: 16480 * WebView.subproj/WebDefaultContextMenuDelegate.m: 16481 (-[WebDefaultUIDelegate copyImageToClipboard:]): call markupString on the node 16482 * WebView.subproj/WebDocumentPrivate.h: 16483 * WebView.subproj/WebFrame.m: 16484 (+[WebFrame frameForDOMDocument:]): new 16485 (-[WebFrame loadArchive:]): renamed 16486 * WebView.subproj/WebFramePrivate.h: 16487 * WebView.subproj/WebHTMLRepresentation.h: 16488 * WebView.subproj/WebHTMLRepresentation.m: 16489 * WebView.subproj/WebHTMLRepresentationPrivate.h: 16490 * WebView.subproj/WebHTMLView.m: 16491 (-[WebHTMLView _selectedArchive:]): renamed 16492 (-[WebHTMLView _handleMouseDragged:]): called renamed methods 16493 164942004-04-07 Darin Adler <darin@apple.com> 16495 16496 Reviewed by Chris. 16497 16498 * DOM.subproj/DOMCSS.h: Updated from WebCore. 16499 165002004-04-07 Ken Kocienda <kocienda@apple.com> 16501 16502 Reviewed by Darin and Dave (many weeks ago....I am so ashamed for not landing) 16503 16504 * WebCoreSupport.subproj/WebBridge.m: 16505 (-[WebBridge expiresTimeForResponse:]): Now adds in the difference between 16506 the Mac OS X epoch and the "standard" unix epoch when passing back a time 16507 that WebCore will use for its cache expiration determinations. 16508 165092004-04-07 Richard Williamson <rjw@apple.com> 16510 16511 Fix for 3604388. The runtime version check (_CFExecutableLinkedOnOrAfter) used by many of 16512 our frameworks doesn't work for CFM apps. So, conditional panther bugs fixes aren't 16513 being pickup by CFM apps that use WebKit, specifically Contribute. This particular radar 16514 describes a problem that was conditionally fixed in the AppKit for panther. The work-around 16515 is to force NSBitmapImageRep to execute to conditional code. 16516 16517 Reviewed by Maciej. 16518 16519 * Carbon.subproj/CarbonUtils.m: 16520 (WebInitForCarbon): 16521 165222004-04-06 Richard Williamson <rjw@apple.com> 16523 16524 Fixed 3510805. Only release pool in timer if the current nesting level of the 16525 pool matches the nesting level when the pool was created. 16526 16527 Reviewed by Chris. 16528 16529 * Carbon.subproj/CarbonUtils.m: 16530 (getNumPools): 16531 (WebInitForCarbon): 16532 (PoolCleaner): 16533 165342004-04-06 Chris Blumenberg <cblu@apple.com> 16535 16536 Fixed: <rdar://problem/3613974>: remove "to Clipboard" from context menus because it is redundant 16537 16538 Reviewed by john. 16539 16540 * English.lproj/Localizable.strings: 16541 * WebView.subproj/WebDefaultContextMenuDelegate.m: 16542 (-[WebDefaultUIDelegate menuItemWithTag:]): 16543 165442004-04-06 Ken Kocienda <kocienda@apple.com> 16545 16546 Reviewed by Dave 16547 16548 * WebCoreSupport.subproj/WebBridge.m: 16549 (-[WebBridge issueUndoCommand]): New method. Forwards call to the undo manager. Added 16550 to support undo called via Javascript execCommand. 16551 (-[WebBridge issueRedoCommand]): Ditto. 16552 165532004-04-05 Chris Blumenberg <cblu@apple.com> 16554 16555 Fixed: <rdar://problem/3612580>: SPI: WebPlugin selection 16556 16557 Reviewed by kocienda. 16558 16559 * Plugins.subproj/WebPlugin.h: extended SPI for selection 16560 * Plugins.subproj/WebPluginContainer.h: ditto 16561 * Plugins.subproj/WebPluginController.m: 16562 (-[WebPluginController selectionColor]): new, calls [WebCoreBridge selectionColor] 16563 * WebCoreSupport.subproj/WebBridge.m: 16564 (-[WebBridge setIsSelected:forView:]): new, calls [WebPlugin setIsSelected:] 16565 (-[WebBridge isViewSelected:]): new, calls [WebPlugin isSelected] 16566 165672004-04-02 Chris Blumenberg <cblu@apple.com> 16568 16569 Forgot to add the WebKit copy of DOMExtensions.h. 16570 16571 * DOM.subproj/DOMExtensions.h: Added. 16572 165732004-04-02 John Sullivan <sullivan@apple.com> 16574 16575 Reviewed by Dave. 16576 16577 * WebView.subproj/WebPreferences.m: 16578 (-[WebPreferences historyIsFrozen]): 16579 take out OMIT_TIGER_FEATURES ifdeffing, since if we turn this into API 16580 then we'll probably want it to work in Panther also. To protect Safari users, 16581 Safari now explicitly sets historyIsFrozen to NO when starting up in Panther. 16582 16583 * English.lproj/StringsNotToBeLocalized.txt: 16584 updated for recent changes 16585 165862004-04-02 Chris Blumenberg <cblu@apple.com> 16587 16588 Moved the DOM extensions to their own headers 16589 16590 Reviewed by kocienda. 16591 16592 * DOM.subproj/DOM.h: changed from WebCore 16593 * DOM.subproj/DOMHTML.h: ditto 16594 * WebKit.pbproj/project.pbxproj: added DOMExtensions.h 16595 * copy-webcore-files-to-webkit: copy DOMExtensions.h 16596 16597=== Safari-135 === 16598 165992004-04-01 Richard Williamson <rjw@apple.com> 16600 16601 Fixed 3609493. Don't remove the plugin's view until after 16602 sending pluginDestroy. This change was requested by Greg 16603 and is needed in the Lavender update. 16604 16605 Reviewed by Greg Bolsinga. 16606 16607 * Plugins.subproj/WebPluginController.m: 16608 (-[WebPluginController destroyAllPlugins]): 16609 * Plugins.subproj/npruntime.h: 16610 166112004-03-31 John Sullivan <sullivan@apple.com> 16612 16613 - fixed <rdar://problem/3577917>: API: mechanism for displaying error 16614 page for failed page load 16615 16616 This was not commented on for a week in macosx-api-reviewers, so it 16617 has the silent rubber stamp of approval. 16618 16619 Note that it isn't guarded by "Tiger only" availability macros because 16620 we (probably) want to use it in Panther for Safari. Maybe what we should 16621 do is guard the API with "Tiger only" macros but add an SPI version 16622 that Safari uses? 16623 16624 Reviewed by Dave. 16625 16626 * WebView.subproj/WebDataSource.h: 16627 moved unreachableURL to here 16628 * WebView.subproj/WebDataSource.m: 16629 (-[WebDataSource unreachableURL]): 16630 moved this from private category to main section 16631 16632 * WebView.subproj/WebDataSourcePrivate.h: 16633 removed unreachableURL from here 16634 16635 * WebView.subproj/WebFrame.h: 16636 moved loadAlternateHTMLString... to here 16637 * WebView.subproj/WebFrame.m: 16638 (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]): 16639 moved this from private category to main section 16640 16641 * WebView.subproj/WebFramePrivate.h: 16642 removed unreachableURL from here 16643 166442004-03-31 Richard Williamson <rjw@apple.com> 16645 16646 Changed to reflect NP_runtime.h to npruntime.h. 16647 16648 * copy-webcore-files-to-webkit: 16649 166502004-03-31 John Sullivan <sullivan@apple.com> 16651 16652 Reviewed by Darin. 16653 16654 * WebView.subproj/WebPreferences.m: 16655 (-[WebPreferences historyIsFrozen]): 16656 always return NO on Panther and older, so you can't get into a state 16657 where the WebKit pref is invisibly set and affecting Safari. 16658 166592004-03-31 Darin Adler <darin@apple.com> 16660 16661 * WebView.subproj/WebHTMLView.m: Whitespace tweaks. 16662 166632004-03-30 Chris Blumenberg <cblu@apple.com> 16664 16665 Fixed: <rdar://problem/3604391>: Plug-in context menus (Flash) don't work in Carbon WebKit applications (e.g., CarbonWeb) 16666 16667 Reviewed by rjw. 16668 16669 * Carbon.subproj/HIWebView.m: 16670 (ContextMenuClick): instead of calling menuForEvent (which is not implemented on our plug-in view) call rightMouseDown and let AppKit handle the rest 16671 166722004-03-29 John Sullivan <sullivan@apple.com> 16673 16674 - some support for "Stealth Browsing"; add a preference that 16675 controls whether a history item is added when a page is visited. 16676 This is called "historyIsFrozen" for now, but I wouldn't be 16677 surprised to see this name change. 16678 16679 Reviewed by Dave. 16680 16681 * WebView.subproj/WebPreferencesPrivate.h: 16682 new historyIsFrozen, setHistoryIsFrozen: methods 16683 16684 * WebView.subproj/WebPreferences.m: 16685 new WebKitHistoryIsFrozenPreferenceKey 16686 (+[WebPreferences initialize]): 16687 set initial value of WebKitHistoryIsFrozenPreferenceKey 16688 (-[WebPreferences setHistoryIsFrozen:]): 16689 set value of WebKitHistoryIsFrozenPreferenceKey 16690 (-[WebPreferences historyIsFrozen]): 16691 read value of WebKitHistoryIsFrozenPreferenceKey 16692 16693 * WebView.subproj/WebFrame.m: 16694 (-[WebFrame _transitionToCommitted:]): 16695 don't add item to history if history is frozen 16696 166972004-03-29 Darin Adler <darin@apple.com> 16698 16699 Reviewed by John. 16700 16701 - fixed <rdar://problem/3559178>: navigator.language always returns "en" 16702 16703 * WebCoreSupport.subproj/WebViewFactory.m: (-[WebViewFactory defaultLanguageCode]): 16704 Call +[NSUserDefaults _web_preferredLanguageCode] rather than returning "en". 16705 16706 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 16707 167082004-03-26 John Sullivan <sullivan@apple.com> 16709 16710 - fixed <rdar://problem/3576334>: Printing "empty" page gives print error, 16711 leaves browser window UI broken 16712 16713 Reviewed by Dave. 16714 16715 * WebView.subproj/WebHTMLView.m: 16716 (-[WebHTMLView knowsPageRange:]): 16717 AppKit printing mechanism can't handle the case where you tell it there is 16718 nothing at all to print, so when we hit that case we give it a degenerate 16719 1-pixel rect to print. This prints a blank page (with correctly-placed 16720 header & footer if so configured), which matches other browsers' behavior for 16721 this page. 16722 16723 * Plugins.subproj/npruntime.h: 16724 cvs keeps thinking I've removed a blank line from this auto-copied file. 16725 Richard said to just check it in to see if it stops doing this. 16726 16727=== Safari-134 === 16728 167292004-03-26 John Sullivan <sullivan@apple.com> 16730 16731 - fixed the following bugs: 16732 16733 <rdar://problem/3601630>: command-modified keypresses that would activate links are ignored by WebKit 16734 <rdar://problem/3601604>: WebActionModifierFlagsKey not set correctly for modified keypresses that activate links 16735 <rdar://problem/3544946>: cmd-return should open a link in a new tab 16736 16737 Reviewed by Darin. 16738 16739 * WebView.subproj/WebFrame.m: 16740 (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): 16741 Pass modifier flags always, not just for mouse events. This fixes 3601604. 16742 16743 * WebView.subproj/WebHTMLView.m: 16744 (-[WebHTMLView performKeyEquivalent:]): 16745 Give the bridge a chance to intercept command-modified keypresses. This fixes 3601630. 16746 16747 Together these two changes fix 3544946. 16748 167492004-03-25 David Hyatt <hyatt@apple.com> 16750 16751 Implement the rest of the search field. 16752 16753 Implement onscroll at the document level. 16754 Reviewed by darin 16755 16756 * English.lproj/Localizable.strings: 16757 * WebCoreSupport.subproj/WebBridge.m: 16758 * WebCoreSupport.subproj/WebViewFactory.m: 16759 (-[NSMenu addItemWithTitle:action:tag:]): 16760 (-[WebViewFactory submitButtonDefaultLabel]): 16761 (-[WebViewFactory cellMenuForSearchField]): 16762 * WebView.subproj/WebHTMLView.m: 16763 (-[WebHTMLView _frameOrBoundsChanged]): 16764 (-[WebHTMLView viewDidMoveToWindow]): 16765 * WebView.subproj/WebHTMLViewPrivate.h: 16766 167672004-03-25 Richard Williamson <rjw@apple.com> 16768 16769 Netscape plugin API header cleanup. 16770 16771 Replaced our hacked up version of npapi.h with the 16772 "official SDK" npapi.h. Moved our changes to the new 16773 npfunctions.h. npfunctions.h really replaces what was defined in 16774 the Netscape npupp.h header. However, rather than use the "official SDK" 16775 npupp.h I think the cleaner npfunctions.h is better. npupp.h actually 16776 has a bunch of Mac classic specific stuff that is no longer needed. 16777 16778 Copied npruntime.h to WebKit using Ken's copy-o-matic mechanism. 16779 16780 Made npapi.h, npruntime.h, and npfunctions.h SPI. With a bit 16781 more consideration they will become API. They will also eventually be made 16782 available for other platforms/vendors are mozilla.org. 16783 16784 Reviewed by Ken. 16785 16786 * Plugins.subproj/WebBaseNetscapePluginStream.h: 16787 * Plugins.subproj/WebBaseNetscapePluginStream.m: 16788 (-[WebBaseNetscapePluginStream dealloc]): 16789 (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): 16790 * Plugins.subproj/WebBaseNetscapePluginView.h: 16791 * Plugins.subproj/WebNetscapePluginPackage.h: 16792 * Plugins.subproj/WebNetscapePluginPackage.m: 16793 (-[WebNetscapePluginPackage load]): 16794 * Plugins.subproj/npapi.h: 16795 * Plugins.subproj/npruntime.h: Added. 16796 * WebKit.pbproj/project.pbxproj: 16797 * copy-webcore-files-to-webkit: 16798 167992004-03-24 Darin Adler <darin@apple.com> 16800 16801 Reviewed by John. 16802 16803 - fixed <rdar://problem/3566805>: REGRESSION: When the subject of mailto is 2 byte Safari failed to send mail address and subject to Mail.app 16804 16805 * Misc.subproj/WebNSURLExtras.m: (applyHostNameFunctionToMailToURLString): Update to handle hostnames 16806 that end just before a '?' since a '?' ends the entire part of the URL that can contain hostnames. 16807 Also change the logic so that the '?' will successfully end the search. 16808 168092004-03-24 Ken Kocienda <kocienda@apple.com> 16810 16811 Reviewed by me 16812 16813 * DOM.subproj/DOMHTML.h: Checking in copied over version of 16814 modified file. 16815 168162004-03-23 David Hyatt <hyatt@apple.com> 16817 16818 Fix for 3513627, HTML mail prints upside down occasionally. Change printing so that it never resizes the 16819 WebHTMLView when formatting for printing. When computing page rects, instead of using the view's bounds, 16820 use the root layer's width instead. 16821 Reviewed by darin 16822 16823 * WebView.subproj/WebHTMLView.m: 16824 (-[WebHTMLView knowsPageRange:]): 16825 16826=== Safari-133 === 16827 168282004-03-17 David Hyatt <hyatt@apple.com> 16829 16830 Expose ageLimitDate so that the autocomplete code can access it. 16831 Reviewed by john 16832 16833 * History.subproj/WebHistory.m: 16834 (-[WebHistory ageLimitDate]): 16835 * History.subproj/WebHistoryPrivate.h: 16836 168372004-03-17 Richard Williamson <rjw@apple.com> 16838 16839 Fixed 3591667. Plugin view is added to view hierarchy before calling init. 16840 16841 Reviewed by Ken. 16842 16843 * WebView.subproj/WebHTMLView.m: 16844 (-[WebHTMLView addSubview:]): 16845 168462004-03-16 Darin Adler <darin@apple.com> 16847 16848 * DOM.subproj/DOMHTML.h: Updated from WebCore. 16849 * DOM.subproj/DOMRange.h: Ditto. 16850 168512004-03-16 Darin Adler <darin@apple.com> 16852 16853 Reviewed by Ken. 16854 16855 - update for new DOM namespacing and header organization 16856 16857 * DOM.subproj/DOM.h: Changed to include the other DOM headers. 16858 * DOM.subproj/DOMCSS.h: Added. 16859 * DOM.subproj/DOMCore.h: Added. 16860 * DOM.subproj/DOMEvents.h: Added. 16861 * DOM.subproj/DOMHTML.h: Added. 16862 * DOM.subproj/DOMRange.h: Added. 16863 * DOM.subproj/DOMStylesheets.h: Added. 16864 * DOM.subproj/DOMTraversal.h: Added. 16865 * DOM.subproj/DOMViews.h: Added. 16866 * WebKit.pbproj/project.pbxproj: Added new files. 16867 16868 * WebView.subproj/WebDefaultEditingDelegate.m: 16869 (-[WebDefaultEditingDelegate webView:shouldApplyStyle:toElementsInDOMRange:]): 16870 (-[WebDefaultEditingDelegate webView:shouldChangeTypingStyle:toStyle:]): 16871 Change class names from CSS to DOMCSS. 16872 * WebView.subproj/WebViewPrivate.h: Ditto. 16873 16874 * copy-webcore-files-to-webkit: Add new files. 16875 168762004-03-15 Ken Kocienda <kocienda@apple.com> 16877 16878 Reviewed by John 16879 16880 Fix for this bug: 16881 16882 <rdar://problem/3588717>: REGRESSION (125-131u): Tabbing to links and tabbing in bookmarks view no longer works 16883 16884 WebView can't lay claim to -keyDown: just for editing events, as 16885 this gets in the way of tab processing. The solution is to give 16886 WebView a private method for processing editing key events fed to 16887 it from over the bridge, and leave -keyDown: unimplemented. 16888 16889 * WebCoreSupport.subproj/WebBridge.m: 16890 (-[WebBridge editingKeyDown:]): Changed from -keyDown: to keep 16891 terminology consistent with renamed WebView -editingKeyDown: method. 16892 * WebView.subproj/WebView.m: 16893 (-[WebView editingKeyDown:]): Give WebView a method to handle 16894 editing key events in a way that does not interfere with other key down 16895 events it processes. 16896 * WebView.subproj/WebViewPrivate.h: Declare -editingKeyDown: method. 16897 16898=== Safari-132 === 16899 169002004-03-15 Darin Adler <darin@apple.com> 16901 16902 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 16903 169042004-03-12 Darin Adler <darin@apple.com> 16905 16906 Reviewed by Ken. 16907 16908 - fixed <rdar://problem/3433887>: copied characters remain non-breaking spaces; other browsers give normal spaces 16909 16910 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _writeSelectionToPasteboard:]): 16911 Convert non-breaking spaces to the normal kind in the plain text part of the pasteboard. 16912 169132004-03-12 Ken Kocienda <kocienda@apple.com> 16914 16915 Reviewed by Chris 16916 16917 * WebView.subproj/WebView.m: 16918 (-[WebView _alterCurrentSelection:direction:granularity:]): Changed name from 16919 _alterSelection:direction:granularity: to give a little extra clarity. Also, the 16920 body calls through to renamed rangeByAlteringCurrentSelection:direction:granularity: 16921 in WebCore. 16922 (-[WebView moveRight:]): Now calls renamed _alterCurrentSelection:direction:granularity:. 16923 (-[WebView moveRightAndModifySelection:]): Ditto. 16924 (-[WebView moveLeft:]): Ditto. 16925 (-[WebView moveLeftAndModifySelection:]): Ditto. 16926 169272004-03-11 Richard Williamson <rjw@apple.com> 16928 16929 Workaround for 3585644. Force the window number of the 16930 mouse moved event to be correct. 16931 16932 Reviewed by Chris. 16933 16934 * Carbon.subproj/CarbonWindowFrame.m: 16935 * Carbon.subproj/HIWebView.m: 16936 (MouseMoved): 16937 (MouseDragged): 16938 169392004-03-11 Ken Kocienda <kocienda@apple.com> 16940 16941 Reviewed by Dave 16942 16943 Various changes to begin implementing the draft API proposal. 16944 16945 * DOM.subproj/DOM.h: Checking in generated file. 16946 * WebCoreSupport.subproj/WebBridge.m: 16947 (-[WebBridge registerCommandForUndo:]): Now takes an id, a wrapped 16948 WebCore EditCommand implementation object. 16949 (-[WebBridge registerCommandForRedo:]): Ditto. 16950 (-[WebBridge clearUndoRedoOperations]): Use the web view's undo manager. 16951 (-[WebBridge keyDown:]): Pass keyDown events through to the web view. 16952 * WebKit.pbproj/project.pbxproj: 16953 * WebView.subproj/WebDefaultEditingDelegate.h: Added. 16954 * WebView.subproj/WebDefaultEditingDelegate.m: Added. Stubbed in default 16955 implementations declared in the draft editing API. 16956 * WebView.subproj/WebFrame.m: 16957 (-[WebFramePrivate dealloc]): WebFrame no longer has an undo manager. 16958 * WebView.subproj/WebFramePrivate.h: Ditto. 16959 * WebView.subproj/WebHTMLView.m: 16960 (-[WebHTMLView _selectedWebArchive:]): selectedRange method 16961 is now selectedDOMRange. 16962 * WebView.subproj/WebView.m: 16963 (-[WebViewPrivate dealloc]): Dealloc new editingDelegateForwarder. 16964 (-[WebView _editingDelegateForwarder]): Added. 16965 (-[WebView keyDown:]): Added. 16966 (-[WebView _bridgeForCurrentSelection]): Added. 16967 (-[WebView setSelectedDOMRange:]): Added. 16968 (-[WebView selectedDOMRange]): Added. 16969 (-[WebView insertText:]): Added. 16970 (-[WebView _alterSelection:direction:granularity:]): Added. 16971 (-[WebView selectWord:]): Added. 16972 (-[WebView moveRight:]): Added. 16973 (-[WebView moveRightAndModifySelection:]): Added. 16974 (-[WebView moveLeft:]): Added. 16975 (-[WebView moveLeftAndModifySelection:]): Added. 16976 (-[WebView deleteBackward:]): Added. 16977 (-[WebView insertNewline:]): Added. 16978 (-[WebView insertParagraphSeparator:]): Added. 16979 (-[WebView setEditingDelegate:]): Added. 16980 (-[WebView editingDelegate]): Added. 16981 (-[WebView undoManager]): Added. 16982 (-[WebView insertText:replacingDOMRange:]): Added. 16983 * WebView.subproj/WebViewPrivate.h: Added a collection of editing API 16984 declarations that will be public some day, but are still under review. 16985 169862004-03-11 John Sullivan <sullivan@apple.com> 16987 16988 - fixed <rdar://problem/3585056>: Assertion failure if error page is loaded from 16989 webView:unableToImplementPolicyWithError: 16990 - also added HeaderDoc comments to could-be-API-soon methods and fixed a 16991 conceptual problem with said methods 16992 16993 Reviewed by Darin. 16994 16995 * WebView.subproj/WebDataSourcePrivate.h: 16996 added HeaderDoc comment for -unreachableURL 16997 16998 * WebView.subproj/WebFramePrivate.h: 16999 added HeaderDoc comment for -loadAlternateHTMLString:baseURL:forUnreachableURL:; 17000 also added boolean delegateIsHandlingUnimplementablePolicy ivar to WebFramePrivate 17001 * WebView.subproj/WebFrame.m: 17002 (-[WebFrame _shouldReloadToHandleUnreachableURLFromRequest:]): 17003 treat delegateIsHandlingUnimplementablePolicy like delegateIsDecidingNavigationPolicy. 17004 Safari serves up error pages during the latter but clients are equally or more likely 17005 to do so during the former. 17006 (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]): 17007 set delegateIsHandlingUnimplementablePolicy during delegate callback 17008 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): 17009 tweaked assertion so it doesn't erroneously fire for clients that call 17010 loadAlternateHTML:baseURL:forUnreachableURL: while processing 17011 webView:unableToImplementPolicyWithError: 17012 170132004-03-11 Chris Blumenberg <cblu@apple.com> 17014 17015 Made WebArchive a class instead of a data object. This allows clients to easily get the main resource and subresources from a WebArchive. 17016 17017 Reviewed by kocienda. 17018 17019 * WebKit.exp: 17020 * WebView.subproj/WebDocumentPrivate.h: 17021 * WebView.subproj/WebFrame.m: 17022 (-[WebFrame loadWebArchive:]): 17023 * WebView.subproj/WebFramePrivate.h: 17024 * WebView.subproj/WebHTMLRepresentation.m: 17025 (-[WebHTMLRepresentation loadWebArchive]): 17026 (-[WebHTMLRepresentation _webArchiveWithMarkupString:subresourceURLStrings:]): 17027 (-[WebHTMLRepresentation webArchiveFromNode:]): 17028 (-[WebHTMLRepresentation webArchiveFromRange:]): 17029 * WebView.subproj/WebHTMLRepresentationPrivate.h: 17030 * WebView.subproj/WebHTMLView.m: 17031 (-[WebHTMLView _selectedWebArchive:]): 17032 (-[WebHTMLView _writeSelectionToPasteboard:]): 17033 (-[WebHTMLView _pasteMarkupFromPasteboard:]): 17034 * WebView.subproj/WebResource.h: 17035 * WebView.subproj/WebResource.m: 17036 (-[WebArchivePrivate dealloc]): 17037 (-[WebResource _response]): 17038 (-[WebArchive init]): 17039 (-[WebArchive initWithMainResource:subresources:]): 17040 (-[WebArchive initWithData:]): 17041 (-[WebArchive dealloc]): 17042 (-[WebArchive mainResource]): 17043 (-[WebArchive subresources]): 17044 (-[WebArchive dataRepresentation]): 17045 * WebView.subproj/WebResourcePrivate.h: 17046 170472004-03-10 Chris Blumenberg <cblu@apple.com> 17048 17049 Made dragging of web archives work. 17050 17051 Reviewed by rjw. 17052 17053 * English.lproj/StringsNotToBeLocalized.txt: updated 17054 * WebView.subproj/WebMainResourceClient.m: 17055 (-[WebMainResourceClient connection:didReceiveResponse:]): added a FIXME about working around old Foundations that don't know about web archive files 17056 * WebView.subproj/WebView.m: 17057 (+[WebView canShowFile:]): tweak 17058 (+[WebView suggestedFileExtensionForMIMEType:]): tweak 17059 (+[WebView _MIMETypeForFile:]): handle web archive files since Foundation may be too old to know about them 17060 170612004-03-09 Chris Blumenberg <cblu@apple.com> 17062 17063 Made web archives use NSPropertyListBinaryFormat_v1_0 instead of NSPropertyListXMLFormat_v1_0 because NSPropertyListBinaryFormat_v1_0 is 3-5 times faster to serialize and parse. 17064 17065 Reviewed by rjw. 17066 17067 * WebView.subproj/WebResource.m: 17068 (+[WebResource _parseWebArchive:mainResource:subresources:]): add timing code 17069 (+[WebResource _webArchiveWithMainResource:subresources:]): add timing code, use NSPropertyListBinaryFormat_v1_0 17070 170712004-03-09 Chris Blumenberg <cblu@apple.com> 17072 17073 Fixed: <rdar://problem/3577508>: API: web archive related API's 17074 Implemented WebKit side of: <rdar://problem/3144033>: ability to save web sites (images and all) 17075 17076 Reviewed by rjw. 17077 17078 * WebCoreSupport.subproj/WebBridge.h: 17079 * WebCoreSupport.subproj/WebBridge.m: 17080 (-[WebBridge receivedData:textEncodingName:]): renamed to take a textEncodingName instead of data source. The data source argument is only needed for the textEncodingName. 17081 * WebKit.exp: 17082 * WebView.subproj/WebDataSource.m: 17083 (-[WebDataSource _subresourcesDictionary]): new 17084 (+[WebDataSource _repTypesAllowImageTypeOmission:]): include "application/x-webarchive" 17085 * WebView.subproj/WebDataSourcePrivate.h: 17086 * WebView.subproj/WebDocumentInternal.h: 17087 * WebView.subproj/WebDocumentPrivate.h: 17088 * WebView.subproj/WebFrame.m: 17089 (-[WebFrame loadWebArchive:]): renamed, code factored out to [WebResource _parseWebArchive:mainResource:subresources:] 17090 * WebView.subproj/WebFramePrivate.h: 17091 * WebView.subproj/WebFrameView.m: 17092 (+[WebFrameView _viewTypesAllowImageTypeOmission:]): include "application/x-webarchive" 17093 * WebView.subproj/WebHTMLRepresentation.h: 17094 * WebView.subproj/WebHTMLRepresentation.m: 17095 (-[WebHTMLRepresentationPrivate dealloc]): 17096 (-[WebHTMLRepresentation _isDisplayingWebArchive]): new 17097 (-[WebHTMLRepresentation receivedData:withDataSource:]): don't feed data to WebCore if we're displaying a web archive since web archive can't be progressively loaded 17098 (-[WebHTMLRepresentation loadWebArchive]): new, feeds web archive data to WebCore 17099 (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): call loadWebArchive if necessary 17100 (-[WebHTMLRepresentation documentSource]): if displaying a web archive, return the HTML source from within the archive 17101 (-[WebHTMLRepresentation _webArchiveWithMarkupString:subresourceURLStrings:]): new 17102 (-[WebHTMLRepresentation markupStringFromNode:]): implementation of new API 17103 (-[WebHTMLRepresentation markupStringFromRange:]): ditto 17104 (-[WebHTMLRepresentation webArchiveFromNode:]): ditto 17105 (-[WebHTMLRepresentation webArchiveFromRange:]): ditto 17106 * WebView.subproj/WebHTMLRepresentationPrivate.h: 17107 * WebView.subproj/WebHTMLView.m: 17108 (+[WebHTMLView _selectionPasteboardTypes]): use renamed WebArchivePboardType 17109 (-[WebHTMLView _selectedWebArchive:]): renamed, call renamed methods 17110 (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed methods 17111 (-[WebHTMLView _haveSelection]): indentation tweak 17112 (-[WebHTMLView _canDelete]): ditto 17113 (-[WebHTMLView _canPaste]): ditto 17114 (-[WebHTMLView _pasteMarkupFromPasteboard:]): renamed, call [WebResource _webArchiveWithMainResource:subresources:] 17115 (-[WebHTMLView initWithFrame:]): use renamed WebArchivePboardType 17116 (-[WebHTMLView paste:]): call renamed _pasteMarkupFromPasteboard 17117 (-[WebHTMLView concludeDragOperation:]): call renamed _pasteMarkupFromPasteboard 17118 * WebView.subproj/WebHTMLViewPrivate.h: 17119 * WebView.subproj/WebMainResourceClient.m: 17120 (-[WebMainResourceClient connection:didReceiveResponse:]): modify the MIME type for web archives since Foundation is not yet web archive aware. This is ifdef'd pre-Tiger code. 17121 * WebView.subproj/WebResource.h: 17122 * WebView.subproj/WebResource.m: 17123 (+[WebResource _parseWebArchive:mainResource:subresources:]): new 17124 (+[WebResource _webArchiveWithMainResource:subresources:]): new 17125 * WebView.subproj/WebResourcePrivate.h: 17126 171272004-03-09 John Sullivan <sullivan@apple.com> 17128 17129 - fixed the following bugs: 17130 <rdar://problem/3579715>: Going to an error page in back/forward list doesn't work 17131 correctly in some cases 17132 <rdar://problem/3581031>: REGRESSION (130+): World Leak of WebFrame after trying 17133 to load page with unknown scheme 17134 17135 Reviewed by Darin. 17136 17137 * WebView.subproj/WebDataSourcePrivate.h: 17138 renamed __setRequest -> __adoptRequest 17139 * WebView.subproj/WebDataSource.m: 17140 (-[WebDataSource _URLForHistory]): 17141 updated comment 17142 (-[WebDataSource __adoptRequest:]): 17143 Renamed from __setRequest; now takes an NSMutableURLRequest and uses it as-is. 17144 (-[WebDataSource _setRequest:]): 17145 now saves a mutable copy, instead of relying on the caller to do so. The 17146 (only) caller wasn't doing so in all cases, leading to trouble in River City. 17147 Also, special-case unreachable URL handling to allow alternate content to 17148 replace a URL in a redirect-like way without sending a redirect callback. 17149 17150 * WebView.subproj/WebFrame.m: 17151 (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]): 17152 renamed after discussion with Richard (was loadPlaceholderHTMLString:baseURL:unreachableURL:) 17153 (-[WebFrame _shouldReloadToHandleUnreachableURLFromRequest:]): 17154 new helper method, returns YES only if we receive a load request for alternate 17155 content from a delegate for an unreachable URL while we are going back or forward. 17156 That's a lot of prepositions! 17157 (-[WebFrame _loadRequest:subresources:]): 17158 if _shouldReloadToHandleUnreachableURLFromRequest: returns YES, change load type 17159 to WebFrameLoadTypeReload so b/f list is preserved appropriately. 17160 (-[WebFrame _transitionToCommitted:]): 17161 Update currentItem in the unreachableURL case. 17162 (-[WebFrame _isLoadComplete]): 17163 Don't reset b/f list before calling provisionalLoadDidFail delegate; instead, determine 17164 where to reset b/f list beforehand, and then actually reset list afterwards only if we 17165 didn't start an alternate content load in the delegate. Also, set new boolean ivar so we 17166 know when we're processing a provisionalLoadDidFail delegate callback. 17167 (-[WebFrame _loadItem:withLoadType:]): 17168 don't make extra copy before calling __adoptRequest; just pass it the one we made here. 17169 (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]): 17170 If we're loading alternate content for an unreachableURL, don't ask the decision listener, 17171 just do it. (This avoids problem with nested calls to checking the navigation policy that 17172 led to a WebFrame leak, and is conceptually the right thing to do also.) Also added some 17173 asserts that helped me track down the WebFrame leak. Set new boolean ivar so we know 17174 when we're processing a navigation policy delegate decision. 17175 (-[WebFrame _currentBackForwardListItemToResetTo]): 17176 new method, replaces _resetBackForwardListToCurrent. Does the same test as the 17177 latter but returns a boolean rather than actually resetting. 17178 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): 17179 save dataSource in a local var before calling stopLoading, and use it for 17180 _setProvisionalDataSource, because otherwise stopLoading was clobbering the dataSource 17181 for an unreachable URL handling case. 17182 17183 * WebView.subproj/WebFramePrivate.h: 17184 two new boolean ivars 17185 17186 * WebView.subproj/WebView.m: 17187 (+[WebView _canHandleRequest:]): 17188 return YES when we're loading alternate content for an unreachable URL 17189 17190=== Safari-131 === 17191 171922004-03-08 Ken Kocienda <kocienda@apple.com> 17193 17194 Reviewed by Darin 17195 17196 * WebKit.pbproj/project.pbxproj: Added CFBundleName to Info.plist 17197 171982004-03-05 Chris Blumenberg <cblu@apple.com> 17199 17200 Fixed: <rdar://problem/3560132>: REGRESSION: Safari crashed in -[NSPasteboard setData:forType:] dragging a map out of Mapquest.com 17201 17202 Reviewed by john. 17203 17204 * Misc.subproj/WebNSPasteboardExtras.m: 17205 (-[NSPasteboard _web_writeImage:URL:title:fileWrapper:HTMLString:]): declare the pboard types by calling _web_writeURL:::: before calling setData:: 17206 172072004-03-05 John Sullivan <sullivan@apple.com> 17208 17209 First cut at WebKit support for showing error pages for unreachable URLs. 17210 This doesn't work quite right with the back/forward list yet, but is 17211 good enough for demos. 17212 17213 Reviewed by Darin. 17214 17215 * WebView.subproj/WebBaseResourceHandleDelegate.m: 17216 (-[WebBaseResourceHandleDelegate didReceiveResponse:]): 17217 use new _webDataRequextExternalURL to share code 17218 17219 * WebView.subproj/WebDataProtocol.h: 17220 Three new methods (all internal to WebKit): 17221 -[NSURLRequest _webDataRequestUnreachableURL], -[NSURLRequest _webDataRequestExternalURL], 17222 -[NSURLRequest _webDataRequestSetUnreachableURL] 17223 * WebView.subproj/WebDataProtocol.m: 17224 new unreachableURL field of WebDataRequestParameters 17225 (-[WebDataRequestParameters copyWithZone:]): 17226 copy new field 17227 (-[WebDataRequestParameters dealloc]): 17228 release new field 17229 (-[NSURLRequest _webDataRequestUnreachableURL]): 17230 read new field 17231 (-[NSURLRequest _webDataRequestExternalURL]): 17232 new method, returns baseURL or "about:blank" for webdata protocol requests. This 17233 was done in multiple places previously. 17234 (-[NSURLRequest _webDataRequestExternalRequest]): 17235 now calls _webDataRequestExternalURL to share code 17236 (-[NSMutableURLRequest _webDataRequestSetUnreachableURL:]): 17237 write new field 17238 17239 * WebView.subproj/WebDataSource.m: 17240 (-[WebDataSource unreachableURL]): 17241 new method, might become API; returns the unreachable URL, if any, for which this datasource 17242 holds placeholder content 17243 (-[WebDataSource _URLForHistory]): 17244 new method, returns the URL to be stored in History for this dataSource. This returns nil 17245 for run-of-the-mill WebDataProtocol URLs (replacing code elsewhere that checked for this 17246 case) but returns the unreachableURL for the case where this datasource holds placeholder 17247 content. 17248 (-[WebDataSource _setTitle:]): 17249 now calls _URLForHistory 17250 17251 * WebView.subproj/WebDataSourcePrivate.h: 17252 added unreachableURL in the should-become-API section, and _URLForHistory elsewhere 17253 17254 * WebView.subproj/WebFrame.m: 17255 (-[WebFrame loadPlaceholderHTMLString:baseURL:unreachableURL:]): 17256 new should-become-API method for displaying an error page for an unreachable URL 17257 (-[WebFrame loadPropertyList:]): 17258 updated to pass nil for unreachableURL 17259 (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:unreachableURL:]): 17260 added unreachableURL parameter, which gets set on the data request 17261 (-[WebFrame _addBackForwardItemClippedAtTarget:]): 17262 use _URLForHistory instead of just checking for WebDataProtocol 17263 (-[WebFrame _createItem:]): 17264 use unreachableURL if there is one 17265 (-[WebFrame _transitionToCommitted:]): 17266 use _URLForHistory instead of just checking for WebDataProtocol 17267 (-[WebFrame _isLoadComplete]): 17268 check whether a new load has started in the delegate callback and if so, don't 17269 reset the loading state here 17270 (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): 17271 added unreachableURL parameter, which gets passed through 17272 (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]): 17273 send nil unreachableURL parameter 17274 (-[WebFrame _loadHTMLString:baseURL:unreachableURL:]): 17275 new bottleneck method for loadHTMLString:baseURL: and loadPlaceholderHTMLString:baseURL:unreachableURL:; 17276 this is the guts of loadHTMLString:baseURL: with the new unreachableURL parameter passed through 17277 (-[WebFrame loadHTMLString:baseURL:]): 17278 now calls new bottleneck method 17279 17280 * WebView.subproj/WebFramePrivate.h: 17281 added loadPlaceholderString:baseURL:unreachableURL: to should-be-API section; added unreachableURL 17282 parameter to _webDataRequestForData:MIMEType:textEncodingName:baseURL: 17283 172842004-03-04 Chris Blumenberg <cblu@apple.com> 17285 17286 - Made image dragging and copying always work without needing to re-download by using the data source's WebResource of the image instead of relying on the Foundation cache. 17287 - Fixed a "drag to self" problem I introduced in my last check-in. You could drag a URL from a WebHTMLView and drop it on its own WebView which we shouldn't allow. 17288 17289 Reviewed by rjw. 17290 17291 * ChangeLog: 17292 * WebCoreSupport.subproj/WebBridge.m: 17293 (-[WebBridge fileWrapperForURL:]): call _fileWrapperForURL on WebDataSource 17294 * WebView.subproj/WebDataSource.m: 17295 (-[WebDataSource _fileWrapperForURL:]): moved from WebView, creates a wrapper from a WebResource 17296 * WebView.subproj/WebDataSourcePrivate.h: 17297 * WebView.subproj/WebDefaultContextMenuDelegate.m: 17298 (-[WebDefaultUIDelegate copyImageToClipboard:]): call [WebDataSource _fileWrapperForURL:] 17299 * WebView.subproj/WebHTMLView.m: 17300 (-[WebHTMLView _handleMouseDragged:]): call [WebDataSource _fileWrapperForURL:] 17301 (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call [WebDataSource _fileWrapperForURL:] 17302 (-[WebHTMLView _dragOperationForDraggingInfo:]): new, factored out from draggingUpdated: 17303 (-[WebHTMLView draggingEntered:]): call _dragOperationForDraggingInfo:, if NSDragOperationNone, forward to WebView to it can handle the drag 17304 (-[WebHTMLView draggingUpdated:]): ditto 17305 (-[WebHTMLView concludeDragOperation:]): ditto 17306 * WebView.subproj/WebResource.m: 17307 (-[WebResource _fileWrapperRepresentation]): new 17308 * WebView.subproj/WebResourcePrivate.h: 17309 * WebView.subproj/WebView.m: 17310 (-[WebViewPrivate dealloc]): release draggedTypes, a new ivar that keeps track of drag types that we're currently registered for 17311 (-[WebView _setDraggedTypes:]): new 17312 (-[WebView unregisterDraggedTypes]): new, calls _setDraggedTypes then super 17313 (-[WebView registerForDraggedTypes:]): ditto 17314 (-[WebView _dragOperationForDraggingInfo:]): new, compares the types on the pasteboard against the types we are currently registered for. Normally the AppKit handles this for us, but since these messages can be forwarded from WebHTMLView, we need to do this comparison ourselves. 17315 (-[WebView draggingEntered:]): calls _dragOperationForDraggingInfo: 17316 (-[WebView draggingUpdated:]): ditto 17317 (-[WebView concludeDragOperation:]): ditto 17318 * WebView.subproj/WebViewPrivate.h: define new draggedTypes ivar 17319 173202004-03-03 Chris Blumenberg <cblu@apple.com> 17321 17322 Fixed a typo. 17323 17324 * WebView.subproj/WebHTMLView.m: 17325 (-[WebHTMLView concludeDragOperation:]): 17326 173272004-03-03 Chris Blumenberg <cblu@apple.com> 17328 17329 Fixed: <rdar://problem/3576070>: REGRESSION: web view won't accept drag of webloc file 17330 17331 Reviewed by rjw. 17332 17333 * WebView.subproj/WebHTMLView.m: 17334 (-[WebHTMLView draggingUpdated:]): if we're not handling the drag, forward this message to the WebView since it may want to handle it 17335 (-[WebHTMLView concludeDragOperation:]): if we're not handling the drag, forward this message to the WebView since it may want to handle it 17336 173372004-03-03 Darin Adler <darin@apple.com> 17338 17339 Reviewed by Vicki. 17340 17341 * English.lproj/InfoPlist.strings: Removed. No need to localize the version and 17342 copyright string, and that's all that was in here. 17343 * WebKit.pbproj/project.pbxproj: Removed InfoPlist.strings from build. 17344 173452004-03-03 Ken Kocienda <kocienda@apple.com> 17346 17347 Reviewed by Chris 17348 17349 * copy-webcore-files-to-webkit: Fixed up this script so that 17350 it does not fail if it is running "non-locally", like for 17351 B&I. The idiom is to check these files into WebKit after 17352 copying them from WebCore, hence this script is merely 17353 a convenience to keep the files in sync. 17354 173552004-03-02 Ken Kocienda <kocienda@apple.com> 17356 17357 Reviewed by me 17358 17359 * DOM.subproj/DOM.h: Checked in header copied over 17360 from WebCore. 17361 173622004-03-02 Richard Williamson <rjw@apple.com> 17363 17364 Added WebJavaScriptObject API. The location of this file may 17365 change. 17366 17367 Reviewed by Chris. 17368 17369 * Plugins.subproj/NP_objc.h: Added. 17370 * WebKit.pbproj/project.pbxproj: 17371 173722004-03-02 Chris Blumenberg <cblu@apple.com> 17373 17374 Fixed: <rdar://problem/3575598>: REGRESSION: Safari crashes at IS&T website 17375 17376 Reviewed by darin. 17377 17378 * WebView.subproj/WebDataSource.m: 17379 (-[WebDataSourcePrivate dealloc]): don't stop the icon loader here because that can cause an infinite loop 17380 (-[WebDataSource _stopLoadingInternal]): always stop the icon loader here instead of just when the data source is loading as well. 17381 17382=== Safari-130 === 17383 173842004-03-02 Ken Kocienda <kocienda@apple.com> 17385 17386 Reviewed by me 17387 17388 * DOM.subproj/DOM.h: Rollout last night's checkin. 17389 The tree was closed. 17390 173912004-03-01 Chris Blumenberg <cblu@apple.com> 17392 17393 Fixed: <rdar://problem/3574979>: REGRESSION (129-TOT): crash loading macromedia.com 17394 17395 deliverResource was being called after it had already been called in setDefersCallbacks:. 17396 17397 Reviewed by rjw. 17398 17399 * WebView.subproj/WebBaseResourceHandleDelegate.h: 17400 * WebView.subproj/WebBaseResourceHandleDelegate.m: 17401 (-[WebBaseResourceHandleDelegate deliverResource]): set deliveredResource to YES 17402 (-[WebBaseResourceHandleDelegate deliverResourceAfterDelay]): new, calls deliverResource after a delay 17403 (-[WebBaseResourceHandleDelegate loadWithRequest:]): call deliverResourceAfterDelay 17404 (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): call deliverResourceAfterDelay 17405 174062004-03-01 Ken Kocienda <kocienda@apple.com> 17407 17408 Reviewed by me 17409 17410 * DOM.subproj/DOM.h: Checked in header copied over 17411 from WebCore. 17412 174132004-03-01 Ken Kocienda <kocienda@apple.com> 17414 17415 Reviewed by me 17416 17417 * DOM.subproj/DOM.h: Oh, it's like the Keystone Cops this afternoon... 17418 Backed out an unintended change to thsi file. 17419 174202004-03-01 Ken Kocienda <kocienda@apple.com> 17421 17422 Reviewed by me 17423 17424 * copy-webcore-files-to-webkit: Dumb typing error on my part in making 17425 my previous quick fix. This quick fix works. 17426 174272004-03-01 Chris Blumenberg <cblu@apple.com> 17428 17429 Updated the WebKit project file to 1.1 because a previous check-in reverted to 1.01. 17430 17431 * WebKit.pbproj/project.pbxproj: 17432 174332004-03-01 Ken Kocienda <kocienda@apple.com> 17434 17435 Reviewed by me 17436 17437 * copy-webcore-files-to-webkit: Made this file buildit-compliant 17438 174392004-03-01 Chris Blumenberg <cblu@apple.com> 17440 17441 Found a bug in my last check-in. If a load that originates from a WebResource is cancelled before the data from the WebResource is delivered, callbacks are sent anyway. 17442 17443 Reviewed by rjw. 17444 17445 * WebView.subproj/WebBaseResourceHandleDelegate.m: 17446 (-[WebBaseResourceHandleDelegate cancelWithError:]): cancel the perform request for deliverResource 17447 174482004-03-01 Chris Blumenberg <cblu@apple.com> 17449 17450 Reviewed by darin. 17451 17452 * Misc.subproj/WebIconLoader.m: 17453 (-[WebIconLoader didFinishLoading]): rejigger handle code to avoid Deployment failure 17454 * WebKit.pbproj/project.pbxproj: 17455 174562004-03-01 Chris Blumenberg <cblu@apple.com> 17457 17458 - Made WebResource loading not use Foundation at all. This allows "Mail Page" and paste to more directly load subresources without any indirection involving NSURLConnection and the Foundation cache. 17459 - Made WebIconLoader a subclass of WebBaseResourceHandleDelegate. This makes favicons appear in the activity window among other things. 17460 17461 Reviewed by kocienda. 17462 17463 * Misc.subproj/WebIconLoader.h: 17464 * Misc.subproj/WebIconLoader.m: removed connection and data ivars since WebBaseResourceHandleDelegate holds these 17465 (-[WebIconLoaderPrivate dealloc]): removed calls to deleted ivars 17466 (-[WebIconLoader URL]): call renamed request ivar 17467 (-[WebIconLoader startLoading]): call loadWithRequest 17468 (-[WebIconLoader stopLoading]): call cancel 17469 (-[WebIconLoader didFinishLoading]): 17470 * Plugins.subproj/WebNetscapePluginStream.m: 17471 (-[WebNetscapePluginConnectionDelegate didReceiveResponse:]): renamed to be connection-less since callbacks may came from a WebResource and not an NSURLConnection 17472 (-[WebNetscapePluginConnectionDelegate didReceiveData:lengthReceived:]): ditto 17473 (-[WebNetscapePluginConnectionDelegate didFinishLoading]): ditto 17474 (-[WebNetscapePluginConnectionDelegate didFailWithError:]): ditto 17475 * WebCoreSupport.subproj/WebSubresourceClient.m: 17476 (-[WebSubresourceClient didReceiveResponse:]): ditto 17477 (-[WebSubresourceClient didReceiveData:lengthReceived:]): ditto 17478 (-[WebSubresourceClient didFinishLoading]): ditto 17479 (-[WebSubresourceClient didFailWithError:]): ditto 17480 * WebKit.pbproj/project.pbxproj: 17481 * WebView.subproj/WebBaseResourceHandleDelegate.h: 17482 * WebView.subproj/WebBaseResourceHandleDelegate.m: 17483 (-[WebBaseResourceHandleDelegate loadWithRequest:]): instead of storing the resource in the Foundation cache in order to later load it from the cache, deliver the callbacks ourselves after a delay 17484 (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): call deliverResource if callbacks are turned back on 17485 (-[WebBaseResourceHandleDelegate deliverResource]): new, calls didReceiveResponse:, didReceiveData:lengthReceived:, and didFinishLoading 17486 (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]): renamed to be connection-less since callbacks may came from a WebResource and not an NSURLConnection 17487 (-[WebBaseResourceHandleDelegate didReceiveAuthenticationChallenge:]): ditto 17488 (-[WebBaseResourceHandleDelegate didCancelAuthenticationChallenge:]): ditto 17489 (-[WebBaseResourceHandleDelegate didReceiveResponse:]): ditto 17490 (-[WebBaseResourceHandleDelegate didReceiveData:lengthReceived:]): ditto 17491 (-[WebBaseResourceHandleDelegate didFinishLoading]): ditto 17492 (-[WebBaseResourceHandleDelegate didFailWithError:]): ditto 17493 (-[WebBaseResourceHandleDelegate willCacheResponse:]): ditto 17494 (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): calls connection-less version of this method 17495 (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]): ditto 17496 (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]): ditto 17497 (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): ditto 17498 (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]): ditto 17499 (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): ditto 17500 (-[WebBaseResourceHandleDelegate connection:didFailWithError:]): ditto 17501 (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): ditto 17502 (-[WebBaseResourceHandleDelegate cancelWithError:]): call renamed _completeProgressForConnectionDelegate on WebView 17503 (-[WebBaseResourceHandleDelegate cancelledError]): tweak 17504 * WebView.subproj/WebDataSource.m: 17505 (-[WebDataSource _loadIcon]): set the data source on the icon loader so it can callback 17506 * WebView.subproj/WebResource.m: 17507 (-[WebResource _response]): new, factored out from _cachedResponseRepresentation 17508 (-[WebResource _cachedResponseRepresentation]): call _response 17509 * WebView.subproj/WebResourcePrivate.h: 17510 * WebView.subproj/WebView.m: 17511 (-[WebView _incrementProgressForConnectionDelegate:response:]): renamed to be connection-less 17512 (-[WebView _incrementProgressForConnectionDelegate:data:]): ditto 17513 (-[WebView _completeProgressForConnectionDelegate:]): ditto 17514 * WebView.subproj/WebViewPrivate.h: 17515 175162004-03-01 Ken Kocienda <kocienda@apple.com> 17517 17518 Reviewed by Darin 17519 17520 Changed all Objective-C DOM classes from protocols to classes. 17521 17522 * DOM.subproj/DOM-compat.h: 17523 * DOM.subproj/DOM.h: 17524 * WebCoreSupport.subproj/WebBridge.m: 17525 (-[WebBridge loadURL:referrer:reload:onLoadEvent:target:triggeringEvent:form:formValues:]): 17526 (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): 17527 * WebView.subproj/WebFormDelegate.h: 17528 * WebView.subproj/WebFormDelegate.m: 17529 (-[WebFormDelegate frame:sourceFrame:willSubmitForm:withValues:submissionListener:]): 17530 * WebView.subproj/WebFrame.m: 17531 (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): 17532 (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): 17533 (-[WebFormState initWithForm:values:sourceFrame:]): 17534 (-[WebFormState form]): 17535 * WebView.subproj/WebFramePrivate.h: 17536 * WebView.subproj/WebHTMLRepresentation.h: 17537 * WebView.subproj/WebHTMLRepresentation.m: 17538 (-[WebHTMLRepresentation DOMDocument]): 17539 (-[WebHTMLRepresentation setSelectionFrom:startOffset:to:endOffset:]): 17540 (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]): 17541 (-[WebHTMLRepresentation elementWithName:inForm:]): 17542 (-[WebHTMLRepresentation elementForView:]): 17543 (-[WebHTMLRepresentation elementDoesAutoComplete:]): 17544 (-[WebHTMLRepresentation elementIsPassword:]): 17545 (-[WebHTMLRepresentation formForElement:]): 17546 (-[WebHTMLRepresentation controlsInForm:]): 17547 (-[WebHTMLRepresentation searchForLabels:beforeElement:]): 17548 (-[WebHTMLRepresentation matchLabels:againstElement:]): 17549 175502004-02-27 John Sullivan <sullivan@apple.com> 17551 17552 - WebKit changes to allow performance improvements to bookmarks 17553 17554 Reviewed by Darin. 17555 17556 * History.subproj/WebHistoryItemPrivate.h: 17557 added notificationsSuppressed/setNotificationsSuppressed, and setURLString 17558 * History.subproj/WebHistoryItem.m: 17559 (-[WebHistoryItem setNotificationsSuppressed:]): 17560 setter for new flag. When this flag is set, making changes to the WebHistoryItem 17561 will not cause WebHistoryChanged notifications to be sent. This is a big speedup 17562 for reading bookmarks from disk, since currently each WebBookmarkLeaf object 17563 keeps around a WebHistoryItem object that isn't really part of history and thus 17564 doesn't need to send notifications about history changing. 17565 (-[WebHistoryItem notificationsSuppressed]): 17566 getter for new flag 17567 (-[WebHistoryItem setURLString:]): 17568 new method, extracted from guts of setURL:; this allows callers (though 17569 currently only callers at Apple) that have a URL string in hand to set 17570 it directly on the WebHistoryItem rather than converting to a URL and 17571 back, both relatively slow operations. Also, doesn't sent a notification 17572 if notifications are suppressed. 17573 (-[WebHistoryItem setURL:]): 17574 now calls extracted method 17575 (-[WebHistoryItem setAlternateTitle:]): 17576 doesn't send notification if notifications are suppressed 17577 (-[WebHistoryItem setOriginalURLString:]): 17578 ditto 17579 (-[WebHistoryItem setTitle:]): 17580 ditto 17581 (-[WebHistoryItem _setLastVisitedTimeInterval:]): 17582 ditto 17583 175842004-02-26 Chris Blumenberg <cblu@apple.com> 17585 17586 WebKit side of: 17587 <rdar://problem/3056566>: mail a link to this page 17588 <rdar://problem/2961206>: implement ability to e-mail entire page 17589 17590 Reviewed by john. 17591 17592 * English.lproj/StringsNotToBeLocalized.txt: 17593 * Misc.subproj/WebIconDatabase.m: 17594 (-[WebIconDatabase _createFileDatabase]): tweaks 17595 (-[WebIconDatabase _loadIconDictionaries]): fixed an assertion failure I found in Blot. Keep the original list of icon URLs as a separate list when doing the initial clean-up so we don't over release any icons. 17596 (-[WebIconDatabase _updateFileDatabase]): tweaks 17597 (-[WebIconDatabase _setIcon:forIconURL:]): tweaks 17598 (-[WebIconDatabase _releaseIconForIconURLString:]): tweaks 17599 (-[WebIconDatabase _retainOriginalIconsOnDisk]): use the original list of icons on disk instead of the current list 17600 (-[WebIconDatabase _releaseOriginalIconsOnDisk]): use the original list of icons on disk instead of the current list 17601 * Misc.subproj/WebIconDatabasePrivate.h: 17602 * WebKit.exp: 17603 * WebKit.pbproj/project.pbxproj: 17604 * WebView.subproj/WebDataSource.m: 17605 (-[WebDataSource _propertyListWithData:subresourceURLStrings:]): new, code moved from [WebHTMLView _selectedPropertyList:], creates property list rep of data and subresources 17606 (-[WebDataSource propertyList]): does the above with all the data source data, this is what "Mail Page" uses 17607 * WebView.subproj/WebDataSourcePrivate.h: 17608 * WebView.subproj/WebFrame.m: 17609 (-[WebFrame loadPropertyList:]): renamed from loadHTMLPropertyList because the property list may contain non-HTML data 17610 * WebView.subproj/WebFramePrivate.h: 17611 * WebView.subproj/WebHTMLView.m: 17612 (-[WebHTMLView _selectedPropertyList:]): renamed, code moved to [WebDataSource _propertyListWithData:subresourceURLStrings:] 17613 (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed _selectedPropertyList 17614 176152004-02-26 Ken Kocienda <kocienda@apple.com> 17616 17617 Reviewed by Chris 17618 17619 Updated usage of DOM SPI to use new names and conventions. 17620 17621 Unless indicated otherwise, the changes were to update protocol names for, which 17622 changed from using a "WebDOM" prefix to a "DOM" prefix, and changing now need 17623 only include the DOM.h header from WebKit to get everything. 17624 17625 * DOM.subproj/DOM-compat.h: Added. This header contains some compatibility declarations 17626 to work with older clients of our DOM SPI. Though this file is checked into WebKit, 17627 it really lives and should be updated in WebCore. It is copied into WebKit by the build 17628 system as needed. 17629 * DOM.subproj/DOM.h: Added. This file includes the new "guts" of the DOM SPI. As above, 17630 this file is checked into WebKit, it really lives and should be updated in WebCore. 17631 It is copied into WebKit by the build system as needed. 17632 * DOM.subproj/WebDOMDocument.h: Removed declarations. Now just includes DOM.h and DOM-compat.h 17633 * DOM.subproj/WebDOMDocument.m: Removed. 17634 * DOM.subproj/WebDOMElement.h: Removed declarations. Now just includes DOM.h and DOM-compat.h 17635 * DOM.subproj/WebDOMElement.m: Removed. 17636 * DOM.subproj/WebDOMNode.h: Removed declarations. Now just includes DOM.h and DOM-compat.h 17637 * DOM.subproj/WebDOMNode.m: Removed. 17638 * WebCoreSupport.subproj/WebBridge.m: 17639 (-[WebBridge loadURL:referrer:reload:onLoadEvent:target:triggeringEvent:form:formValues:]) 17640 (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]) 17641 * WebKit.pbproj/project.pbxproj: 17642 * WebView.subproj/WebDefaultContextMenuDelegate.m: 17643 * WebView.subproj/WebFormDelegate.h: 17644 * WebView.subproj/WebFormDelegate.m: 17645 (-[WebFormDelegate frame:sourceFrame:willSubmitForm:withValues:submissionListener:]) 17646 * WebView.subproj/WebFrame.h: Unrelated change. Removed -undoManager accessor from public header. Moved to private header. 17647 * WebView.subproj/WebFrame.m: 17648 (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]) 17649 (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]) 17650 (-[WebFrame undoManager]): Moved -undoManager accessor to private category implementation. 17651 (-[WebFormState initWithForm:values:sourceFrame:]) 17652 (-[WebFormState form]) 17653 (-[WebFrame childFrames]) 17654 * WebView.subproj/WebFramePrivate.h: Moved in -undoManager accessor. 17655 * WebView.subproj/WebHTMLRepresentation.h: 17656 * WebView.subproj/WebHTMLRepresentation.m: 17657 (-[WebHTMLRepresentation DOMDocument]) 17658 (-[WebHTMLRepresentation setSelectionFrom:startOffset:to:endOffset:]) 17659 (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]) 17660 (-[WebHTMLRepresentation elementWithName:inForm:]) 17661 (-[WebHTMLRepresentation elementForView:]) 17662 (-[WebHTMLRepresentation elementDoesAutoComplete:]) 17663 (-[WebHTMLRepresentation elementIsPassword:]) 17664 (-[WebHTMLRepresentation formForElement:]) 17665 (-[WebHTMLRepresentation controlsInForm:]) 17666 (-[WebHTMLRepresentation searchForLabels:beforeElement:]) 17667 (-[WebHTMLRepresentation matchLabels:againstElement:]) 17668 * WebView.subproj/WebHTMLView.m: 17669 * copy-webcore-files-to-webkit: Added. Copies DOM.h and DOM-compat.h from WebCore when they 17670 have been updated there. 17671 176722004-02-25 John Sullivan <sullivan@apple.com> 17673 17674 WebKit part of fix for <rdar://problem/3546370>: add a way to tab to menus, 17675 checkmarks, and buttons without turning on Full Keyboard Acceess 17676 17677 Reviewed by Ken. 17678 17679 * WebCoreSupport.subproj/WebBridge.m: 17680 (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]): 17681 turn on WebCoreKeyboardAccessFull bit whenever we turn on 17682 WebCoreKeyboardAccessTabsToLinks bit 17683 176842004-02-24 Chris Blumenberg <cblu@apple.com> 17685 17686 I forgot to add these files in my last check-in. 17687 17688 * WebView.subproj/WebResource.h: Added. 17689 * WebView.subproj/WebResource.m: Added. 17690 (-[WebResourcePrivate dealloc]): 17691 (-[WebResource initWithData:URL:MIMEType:textEncodingName:]): 17692 (-[WebResource dealloc]): 17693 (-[WebResource data]): 17694 (-[WebResource URL]): 17695 (-[WebResource MIMEType]): 17696 (-[WebResource textEncodingName]): 17697 (+[WebResource _resourcesFromPropertyLists:]): 17698 (+[WebResource _propertyListsFromResources:]): 17699 (-[WebResource _initWithPropertyList:]): 17700 (-[WebResource _initWithCachedResponse:originalURL:]): 17701 (-[WebResource _propertyListRepresentation]): 17702 (-[WebResource _cachedResponseRepresentation]): 17703 * WebView.subproj/WebResourcePrivate.h: Added. 17704 177052004-02-24 Chris Blumenberg <cblu@apple.com> 17706 17707 Fixed: <rdar://problem/3565476>: design/implement new pasteboard type for HTML that includes subresources 17708 17709 Reviewed by rjw. 17710 17711 * Plugins.subproj/WebNetscapePluginStream.m: 17712 (-[WebNetscapePluginConnectionDelegate initWithStream:view:]): don't manage buffer, WebBaseResourceHandleDelegate does this now 17713 (-[WebNetscapePluginConnectionDelegate releaseResources]): ditto 17714 (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:lengthReceived:]): ditto 17715 (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): ditto 17716 * WebKit.exp: 17717 * WebKit.pbproj/project.pbxproj: 17718 * WebView.subproj/WebBaseResourceHandleDelegate.h: 17719 * WebView.subproj/WebBaseResourceHandleDelegate.m: 17720 (-[WebBaseResourceHandleDelegate releaseResources]): release resourceData and resource 17721 (-[WebBaseResourceHandleDelegate loadWithRequest:]): check the dataSource for a resource, load that if we have one 17722 (-[WebBaseResourceHandleDelegate addData:]): new, adds data to resourceData 17723 (-[WebBaseResourceHandleDelegate saveResource]): new, saves data as a resource on the dataSource 17724 (-[WebBaseResourceHandleDelegate saveResourceWithCachedResponse:]): new, replaces the resource on the dataSource to save memory 17725 (-[WebBaseResourceHandleDelegate resourceData]): new 17726 (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]): call addData: 17727 (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): call saveResource 17728 (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): new, calls saveResourceWithCachedResponse: 17729 * WebView.subproj/WebDataSource.m: 17730 (-[WebDataSourcePrivate dealloc]): release subresources 17731 (-[WebDataSource subresources]): new, returns the subresources of the data source 17732 (-[WebDataSource subresourceForURL:]): new, returns a resource for a URL 17733 (-[WebDataSource addSubresource:]): new 17734 (-[WebDataSource addSubresources:]): new 17735 (-[WebDataSource _receivedData:]): added an assert 17736 (-[WebDataSource _setData:]): replaces the data of the data source 17737 (-[WebDataSource initWithRequest:]): create subresources 17738 * WebView.subproj/WebDataSourcePrivate.h: 17739 * WebView.subproj/WebFrame.m: 17740 (-[WebFrame loadHTMLPropertyList:]): new, loads a frame from an HTML plist 17741 (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:]): new, factored out from loadData:MIMEType:textEncodingName:baseURL: 17742 (-[WebFrame _loadRequest:subresources:]): new, factored out from loadRequest:, handles subresources 17743 (-[WebFrame loadRequest:]): now just calls _loadRequest:subresources: 17744 * WebView.subproj/WebFramePrivate.h: 17745 * WebView.subproj/WebHTMLView.m: 17746 (-[WebHTMLView _dataSource]): new internal convenience 17747 (+[WebHTMLView _selectionPasteboardTypes]): renamed from _pasteboardTypes to be more precise 17748 (-[WebHTMLView _selectedHTMLPropertyList:]): new, constructs an HTML plist from the selection 17749 (-[WebHTMLView _writeSelectionToPasteboard:]): calls _selectedHTMLPropertyList to support WebHTMLPboardType 17750 (-[WebHTMLView _pasteHTMLFromPasteboard:]): added support for pasting WebHTMLPboardType 17751 (+[WebHTMLView initialize]): call renamed _selectionPasteboardTypes 17752 (-[WebHTMLView initWithFrame:]): allow WebHTMLPboardType to be dragged in 17753 (-[WebHTMLView validRequestorForSendType:returnType:]): call renamed _selectionPasteboardTypes 17754 * WebView.subproj/WebHTMLViewPrivate.h: 17755 * WebView.subproj/WebMainResourceClient.m: 17756 (-[WebMainResourceClient addData:]): override since the main resource does it's own buffering 17757 (-[WebMainResourceClient saveResource]): override to do nothing since the main resource is not saved as a subresource 17758 (-[WebMainResourceClient saveResourceWithCachedResponse:]): override, calls _setData on the data source to 17759 (-[WebMainResourceClient connection:didReceiveData:lengthReceived:]): 17760 * WebView.subproj/WebResource.h: Added. 17761 * WebView.subproj/WebResource.m: Added. New class the represents the data, URL, MIME type and textEncodingName of a resource. 17762 (-[WebResourcePrivate dealloc]): 17763 (-[WebResource initWithData:URL:MIMEType:textEncodingName:]): 17764 (-[WebResource dealloc]): 17765 (-[WebResource data]): 17766 (-[WebResource URL]): 17767 (-[WebResource MIMEType]): 17768 (-[WebResource textEncodingName]): 17769 (-[WebResource description]): 17770 (+[WebResource _resourcesFromPropertyLists:]): 17771 (+[WebResource _propertyListsFromResources:]): 17772 (-[WebResource _initWithPropertyList:]): 17773 (-[WebResource _propertyListRepresentation]): 17774 (-[WebResource _initWithCachedResponse:originalURL:]): 17775 (-[WebResource _cachedResponseRepresentation]): 17776 * WebView.subproj/WebResourcePrivate.h: Added. 17777 * WebView.subproj/WebView.m: 17778 17779=== Safari-129 === 17780 177812004-02-20 Darin Adler <darin@apple.com> 17782 17783 Reviewed by mjs. 17784 17785 - fix build breakage caused by removal of kWindowNoBufferingAttribute. 17786 17787 * Carbon.subproj/CarbonWindowAdapter.m: 17788 (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]): 17789 always used a retained backing store type 17790 177912004-02-20 Chris Blumenberg <cblu@apple.com> 17792 17793 Fixed: <rdar://problem/3563402>: when copying HTML, relative URLs should be made absolute 17794 17795 Reviewed by dave. 17796 17797 * WebView.subproj/WebHTMLRepresentation.h: 17798 * WebView.subproj/WebHTMLRepresentation.m: 17799 (-[WebHTMLRepresentation HTMLString]): renamed from reconstructed source to be more analogous with other data get methods 17800 * WebView.subproj/WebHTMLView.m: 17801 (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed selectedHTML on the bridge 17802 178032004-02-19 John Sullivan <sullivan@apple.com> 17804 17805 - WebKit part of fix for <rdar://problem/3292380>: Cycle Tabs keyboard shortcut 17806 (cmd-shift-arrows) conflicts with text editing 17807 17808 Reviewed by Chris. 17809 17810 * WebView.subproj/WebFrameView.m: 17811 (-[WebFrameView keyDown:]): 17812 If shift key is down along with an arrow key, call super rather than eating 17813 event since we don't handle any shifted events here. 17814 178152004-02-15 Darin Adler <darin@apple.com> 17816 17817 Reviewed by John and Don. 17818 17819 - discovered that jaguar.com doesn't need spoofing any more, so removed 17820 the spoofing machinery entirely; if we ever have to bring it back we 17821 can, but I doubt we will 17822 17823 * WebView.subproj/WebView.m: Removed include of WebUserAgentSpoofTable.c. 17824 (-[WebViewPrivate dealloc]): Release the new single userAgent rather than 17825 the array and userAgentOverride we used to. 17826 (-[WebView _preferencesChangedNotification:]): Release the single user agent, 17827 rather than the entire cache. Also only do it when the user agent is not 17828 overridden. 17829 (-[WebView setApplicationNameForUserAgent:]): Ditto. 17830 (-[WebView setCustomUserAgent:]): Set the new userAgentOverridden boolean, 17831 and also set userAgent itself. 17832 (-[WebView customUserAgent]): Return userAgent, but only if userAgentOverridden 17833 is true. 17834 (-[WebView userAgentForURL:]): Simplify, now that there's no automatic spoofing 17835 to do. Made even simpler by the fact that custom and computed user agents both 17836 share the same field now. 17837 17838 * WebView.subproj/WebViewPrivate.h: Got rid of UserAgentStringType, turned the 17839 userAgent field into a single item instead of an array, and replaced the 17840 userAgentOverride field with a boolean userAgentOverridden field. 17841 17842 * Makefile.am: Removed the rule to build WebUserAgentSpoofTable.c. 17843 * WebView.subproj/WebUserAgentSpoofTable.c: Removed. 17844 * WebView.subproj/WebUserAgentSpoofTable.gperf: Removed. 17845 178462004-02-15 Darin Adler <darin@apple.com> 17847 17848 Reviewed by Dave. 17849 17850 * WebKit.pbproj/project.pbxproj: Tweak build styles a bit, fixing OptimizedWithSymbols, 17851 and removing redundant settings of things that match defaults in other build styles. 17852 178532004-02-12 Maciej Stachowiak <mjs@apple.com> 17854 17855 Reviewed by John. 17856 17857 - redo visited link history checking for a 2% speed improvement 17858 17859 * History.subproj/WebHistory.m: 17860 (-[_WebCoreHistoryProvider containsItemForURLString:]): Removed. 17861 (-[_WebCoreHistoryProvider containsItemForURLLatin1:length:]): Implemented. 17862 For https and http URLs with empty path, add a slash. Make a CFString 17863 using the passed-in latin1 buffer without copying. 17864 (-[_WebCoreHistoryProvider containsItemForURLUnicode:length:]): Ditto 17865 for unicode. 17866 (matchLetter): New static helper function. 17867 (matchUnicodeLetter): Ditto. 17868 17869=== Safari-128 === 17870 178712004-02-10 Ken Kocienda <kocienda@apple.com> 17872 17873 Reviewed by Hyatt 17874 17875 * WebCoreSupport.subproj/WebBridge.m: 17876 (-[WebBridge registerCommandForUndo]): Some cleanup. Cookie for events no longer needed. 17877 (-[WebBridge registerCommandForRedo]): Ditto. 17878 (-[WebBridge clearUndoRedoOperations]): Tells the Cocoa undo manager to clear 17879 steps targeted at the bridge. 17880 * WebView.subproj/WebFrame.h: Declare undo manager accessor. 17881 * WebView.subproj/WebFrame.m: 17882 (-[WebFramePrivate dealloc]): Release undo manager 17883 (-[WebFrame undoManager]): Allocate and return an undo manager. This helps 17884 undo in a browser to be per tab. 17885 * WebView.subproj/WebFramePrivate.h: Declare undo manager ivar. 17886 178872004-02-08 Darin Adler <darin@apple.com> 17888 17889 Reviewed by Dave. 17890 17891 - fixed things seen in the profile, for a total speedup of 4% on cvs-base 17892 - fixed some layout regressions from my last speedup due to text measurement inconsistencies by adding 17893 a flag to control whether word rounding is done or not 17894 - fixed text measurement to be used with AppKit to match AppKit again, as it did at some point in the past 17895 17896 * WebCoreSupport.subproj/WebTextRenderer.h: Remove some unused fields, and added a field to say whether we 17897 treat this font as fixed pitch. 17898 * WebCoreSupport.subproj/WebTextRenderer.m: 17899 (getUncachedWidth): Remove space width hack from this level. There was already a width hack up at the higher 17900 level for space itself, so there's not a significant speed benefit, and the higher level can make a more 17901 intelligent choice based on the current rounding setting since it's not cached. 17902 (-[WebTextRenderer _computeWidthForSpace]): Don't store so many widths; just the adjusted width we will 17903 actually use. 17904 (widthForNextCharacter): Use two different rules for when to adjust space widths, based on whether this is 17905 a fixed pitch font or not. Also, don't do any adjusting of space widths if applyWordRounding is false. 17906 17907 * Misc.subproj/WebKitNSStringExtras.m: 17908 (-[NSString _web_drawAtPoint:font:textColor:]): Turn off rounding, so we get the kind of spacing AppKit would normally give. 17909 (-[NSString _web_widthWithFont:]): Ditto. 17910 * Misc.subproj/WebStringTruncator.m: (stringWidth): Ditto. 17911 179122004-02-08 Darin Adler <darin@apple.com> 17913 17914 - fixed things seen in the profile, for a total speedup of 3.7% on cvs-base 17915 17916 * Misc.subproj/WebNSURLExtras.m: (-[NSURL _web_userVisibleString]): Check for "xn--" as we 17917 walk the string instead of in a separate call to strcasestr. Faster this way. 17918 179192004-02-07 Darin Adler <darin@apple.com> 17920 17921 * WebKit.pbproj/project.pbxproj: Get rid of the DEPLOYMENT_LOCATION and DEPLOYMENT_POSTPROCESSING 17922 flags that were in the Deployment build style. These were causing the need to chmod all the time 17923 after building WebCore successfully, and were doing us no good. 17924 179252004-02-06 Darin Adler <darin@apple.com> 17926 17927 * Resources/missing_image.tiff: Compressed with compress-tiffs; saved 15890 bytes. 17928 17929=== Safari-127 === 17930 179312004-02-05 Ken Kocienda <kocienda@apple.com> 17932 17933 Reviewed by Hyatt 17934 17935 Added so that editing can hook into Cocoa undo architecture. 17936 17937 * WebCoreSupport.subproj/WebBridge.m: 17938 (-[WebBridge registerCommandForUndo:]): 17939 179402004-02-04 David Hyatt <hyatt@apple.com> 17941 17942 Fix deployment build bustage. 17943 * Plugins.subproj/WebBaseNetscapePluginView.m: 17944 (ConsoleConnectionChangeNotifyProc): 17945 179462004-02-04 Chris Blumenberg <cblu@apple.com> 17947 17948 Fixed: <rdar://problem/3546028>: Safari should not give plug-ins any time, thus use 0% CPU, when not in the currently active session 17949 17950 17951 Reviewed by john. 17952 17953 * Plugins.subproj/WebBaseNetscapePluginView.m: 17954 (+[WebBaseNetscapePluginView initialize]): observe CG changes 17955 (-[WebBaseNetscapePluginView addWindowObservers]): observe user switch notifications 17956 (-[WebBaseNetscapePluginView removeWindowObservers]): stop observing user switch notifications 17957 (-[WebBaseNetscapePluginView viewHasMoved:]): tweak 17958 (-[WebBaseNetscapePluginView windowWillClose:]): tweak 17959 (-[WebBaseNetscapePluginView windowBecameKey:]): tweak 17960 (-[WebBaseNetscapePluginView windowResignedKey:]): tweak 17961 (-[WebBaseNetscapePluginView windowDidMiniaturize:]): tweak 17962 (-[WebBaseNetscapePluginView windowDidDeminiaturize:]): tweak 17963 (-[WebBaseNetscapePluginView loginWindowDidSwitchFromUser:]): new, stop null events 17964 (-[WebBaseNetscapePluginView loginWindowDidSwitchToUser:]): new, restart null events 17965 (ConsoleConnectionChangeNotifyProc): new, post user switch notifications 17966 179672004-02-02 John Sullivan <sullivan@apple.com> 17968 17969 Reviewed by Darin. 17970 17971 * Misc.subproj/WebNSURLExtras.h: 17972 * Misc.subproj/WebNSURLExtras.m: 17973 (-[NSURL _web_URLWithLowercasedScheme]): 17974 new method, returns a URL whose scheme has been tolower'ed 17975 17976 * English.lproj/StringsNotToBeLocalized.txt: 17977 Updated for recent changes. 17978 179792004-02-02 Chris Blumenberg <cblu@apple.com> 17980 17981 Fixed: <rdar://problem/3546924>: REGRESSION: dragging text or images over a WebView is jerky 17982 17983 Reviewed by mjs. 17984 17985 * DOM.subproj/WebDOMNode.h: added HTMLString to the protocol 17986 * WebView.subproj/WebDefaultContextMenuDelegate.m: 17987 (-[WebDefaultUIDelegate copyImageToClipboard:]): get the HTML representation via the DOM node 17988 * WebView.subproj/WebHTMLView.m: 17989 (-[WebHTMLView _handleMouseDragged:]): get the HTML representation via the DOM node 17990 * WebView.subproj/WebView.h: removed the HTML string element key constant 17991 * WebView.subproj/WebView.m: removed the HTML string element key constant 17992 179932004-02-02 Chris Blumenberg <cblu@apple.com> 17994 17995 Fixed: <rdar://problem/3546426>: when copying images via context menus, only some data is added to the pasteboard 17996 17997 Reviewed by john. 17998 17999 * Misc.subproj/WebNSPasteboardExtras.h: 18000 * Misc.subproj/WebNSPasteboardExtras.m: 18001 (-[NSPasteboard _web_writeImage:URL:title:fileWrapper:HTMLString:]): new, writes and image, URL and other optional arguments to the pasteboard 18002 * Misc.subproj/WebNSViewExtras.m: 18003 (-[NSView _web_dragImage:fileWrapper:rect:URL:title:HTMLString:event:]): factored code out to _web_writeImage, call _web_writeImage 18004 * WebView.subproj/WebDefaultContextMenuDelegate.m: 18005 (-[WebDefaultUIDelegate copyImageToClipboard:]): call _web_writeImage 18006 * WebView.subproj/WebImageView.m: 18007 (-[WebImageView writeImageToPasteboard:]): call _web_writeImage 18008 180092004-02-02 Darin Adler <darin@apple.com> 18010 18011 - fixed build failure on Merlot 18012 18013 * Misc.subproj/WebNSPasteboardExtras.m: Import just CoreTranslationFlavorTypeNames.h rather than all of 18014 ApplicationServicesPriv.h; should compile faster and avoid build failure. 18015 180162004-02-02 Chris Blumenberg <cblu@apple.com> 18017 18018 Fixed: <rdar://problem/3546379>: support for editing via drag & drop 18019 18020 Reviewed by kocienda. 18021 18022 * Misc.subproj/WebNSViewExtras.h: 18023 * Misc.subproj/WebNSViewExtras.m: 18024 (-[NSView _web_dragImage:fileWrapper:rect:URL:title:HTMLString:event:]): added a HTMLString argument so that we retain all attributes when dragging images 18025 * WebView.subproj/WebHTMLView.m: 18026 (-[WebHTMLView _canDelete]): call renamed isSelectionEditable 18027 (-[WebHTMLView _canPaste]): call renamed isSelectionEditable 18028 (-[WebHTMLView _pasteHTMLFromPasteboard:]): new, factored out from paste: 18029 (-[WebHTMLView _handleMouseDragged:]): removed code that returned early if we were loading, this kind of protection is no longer needed since we now retain the view while dragging, call renamed _web_dragImage 18030 (-[WebHTMLView initWithFrame:]): register for drop types 18031 (-[WebHTMLView paste:]): call _pasteHTMLFromPasteboard 18032 (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): set new isDragging BOOL to YES 18033 (-[WebHTMLView draggedImage:endedAt:operation:]): set new isDragging BOOL to NO 18034 (-[WebHTMLView draggingEntered:]): new 18035 (-[WebHTMLView draggingUpdated:]): new, handle caret movement during the drag 18036 (-[WebHTMLView prepareForDragOperation:]): new 18037 (-[WebHTMLView performDragOperation:]): new 18038 (-[WebHTMLView concludeDragOperation:]): new, paste in the drag 18039 * WebView.subproj/WebHTMLViewPrivate.h: 18040 * WebView.subproj/WebImageView.m: 18041 (-[WebImageView mouseDragged:]): call renamed _web_dragImage 18042 * WebView.subproj/WebView.h: 18043 * WebView.subproj/WebView.m: 18044 18045=== Safari-126 === 18046 180472004-01-30 Chris Blumenberg <cblu@apple.com> 18048 18049 Fixed: <rdar://problem/3536126>: REGRESSION (Merlot): WebKit dragging is in strange location 18050 18051 Reviewed by kocienda. 18052 18053 * WebView.subproj/WebHTMLView.m: 18054 (-[WebHTMLView _handleMouseDragged:]): use the proper offset when dragging text 18055 180562004-01-28 John Sullivan <sullivan@apple.com> 18057 18058 More header/footer work: refactored the header/footer code so it could 18059 be easily reused by other WebDocument classes; used it from WebImageView 18060 and WebTextView; removed the page count parameters because it's possible 18061 (though currently nasty, see 3543078) to determine this in the client. 18062 18063 Reviewed by Dave. 18064 18065 * Misc.subproj/WebNSPrintOperationExtras.h Added. 18066 * Misc.subproj/WebNSPrintOperationExtras.m Added. 18067 (-[NSPrintOperation _web_pageSetupScaleFactor]): 18068 new convenience method. 18069 18070 * WebView.subproj/WebUIDelegatePrivate.h: 18071 Removed page index and page count parameters from delegate methods. 18072 18073 * WebView.subproj/WebViewPrivate.h: 18074 New private category for header/footer printing methods so that different 18075 WebDocument methods can share almost all of the code. 18076 18077 * WebView.subproj/WebView.m: 18078 (-[WebView _headerHeight]): 18079 (-[WebView _footerHeight]): 18080 (-[WebView _drawHeaderInRect:]): 18081 (-[WebView _drawFooterInRect:]): 18082 (-[WebView _adjustPrintingMarginsForHeaderAndFooter]): 18083 (-[WebView _drawHeaderAndFooter]): 18084 Moved all of these methods here, formerly in WebHTMLView. Removed the 18085 page index and page count parameters. 18086 18087 * WebView.subproj/WebHTMLView.m: 18088 Removed all the header/footer code that's now in WebView.m, and the 18089 method that's now -[NSPrintOperation _web_pageSetupScaleFactor] 18090 (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]): 18091 call methods differently that have now been moved 18092 (-[WebHTMLView _scaleFactorForPrintOperation:]): 18093 ditto 18094 (-[WebHTMLView knowsPageRange:]): 18095 ditto 18096 (-[WebHTMLView drawPageBorderWithSize:]): 18097 now just turns around and calls -[WebView _drawHeaderAndFooter] 18098 18099 * WebView.subproj/WebImageView.m: 18100 (-[WebImageView drawPageBorderWithSize:]): 18101 new method, just calls -[WebView _drawHeaderAndFooter] 18102 (-[WebImageView beginDocument]): 18103 now calls -[WebView _adjustPrintMarginsForHeaderAndFooter], also moved in file. 18104 (-[WebImageView endDocument]): 18105 just moved in file. 18106 18107 * WebView.subproj/WebTextView.m: 18108 (-[WebTextView drawPageBorderWithSize:]): 18109 new method, just calls -[WebView _drawHeaderAndFooter] 18110 (-[WebTextView knowsPageRange:]): 18111 overridden to call -[WebView _adjustPrintMarginsForHeaderAndFooter] 18112 18113 * WebKit.pbproj/project.pbxproj: 18114 updated for added files 18115 18116 181172004-01-28 Chris Blumenberg <cblu@apple.com> 18118 18119 Fixed: <rdar://problem/3197222>: need context menu items for back, forward, refresh. 18120 18121 Reviewed by rjw. 18122 18123 * English.lproj/Localizable.strings: 18124 * WebView.subproj/WebDefaultContextMenuDelegate.m: 18125 (-[WebDefaultUIDelegate menuItemWithTag:]): added support for WebMenuItemTagGoBack, WebMenuItemTagGoForward, WebMenuItemTagStop and WebMenuItemTagReload tags 18126 (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): added support for Back, Forward, Stop and Reload 18127 * WebView.subproj/WebUIDelegate.h: added WebMenuItemTagGoBack, WebMenuItemTagGoForward, WebMenuItemTagStop and WebMenuItemTagReload tags 18128 181292004-01-27 John Sullivan <sullivan@apple.com> 18130 18131 WebKit part of fixes for: 18132 <rdar://problem/3123975>: ER: please list the source URL in the header 18133 or footer when printing the contents of a page 18134 <rdar://problem/3184091>: Safari - Configurable printing header/footer 18135 <rdar://problem/3306826>: Please allow printing the date (as well as URL) 18136 in the header or footer 18137 18138 Reviewed by Dave. 18139 18140 * WebView.subproj/WebHTMLView.m: 18141 (-[WebHTMLView _headerHeight]): 18142 new method, gets result from WebView's UI delegate or returns 0 18143 (-[WebHTMLView _footerHeight]): 18144 new method, gets result from WebView's UI delegate or returns 0 18145 (-[WebHTMLView _drawHeaderInRect:]): 18146 new method, gives WebView's UI delegate a chance to draw header 18147 (-[WebHTMLView _drawFooterInRect:]): 18148 new method, gives WebView's UI delegate a chance to draw footer 18149 (-[WebHTMLView _adjustPrintingMarginsForHeaderAndFooter]): 18150 new method, adds header and footer heights into page margins so 18151 AppKit printing code will compute and use the right area 18152 (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]): 18153 now calls _adjustPrintingMarginsForHeaderAndFooter if starting to print 18154 (-[WebHTMLView drawPageBorderWithSize:]): 18155 new method, computes rects for header and footer and calls new drawing methods 18156 18157 * WebView.subproj/WebUIDelegatePrivate.h: 18158 add header and footer-related delegate methods 18159 181602004-01-27 Chris Blumenberg <cblu@apple.com> 18161 18162 Fixed: 18163 <rdar://problem/3541812>: Implement Paste menu item 18164 <rdar://problem/3541814>: Implement Delete menu item 18165 <rdar://problem/3541811>: Implement Cut menu item 18166 18167 Reviewed by dave. 18168 18169 * WebView.subproj/WebHTMLView.m: 18170 (-[WebHTMLView _haveSelection]): new, renamed from hasSelection, calls haveSelection on the bridge, quicker than generating string rep of selection 18171 (-[WebHTMLView _canDelete]): new 18172 (-[WebHTMLView _canPaste]): new 18173 (-[WebHTMLView takeFindStringFromSelection:]): call renamed _haveSelection 18174 (-[WebHTMLView cut:]): new 18175 (-[WebHTMLView delete:]): new 18176 (-[WebHTMLView paste:]): new 18177 (-[WebHTMLView validateUserInterfaceItem:]): updated for new methods 18178 (-[WebHTMLView validRequestorForSendType:returnType:]): call renamed _haveSelection 18179 * WebView.subproj/WebHTMLViewPrivate.h: 18180 181812004-01-27 Chris Blumenberg <cblu@apple.com> 18182 18183 Fixed build breakage. 18184 18185 Reviewed by darin. 18186 18187 * WebKit.pbproj/project.pbxproj: Use full path instead of -L to get at WebKitSecurity.a 18188 181892004-01-27 Chris Blumenberg <cblu@apple.com> 18190 18191 Fixed: <rdar://problem/3536624>: Webkit 1.2 links against SecurityNssAsn1.framework 18192 18193 Reviewed by Darin. 18194 18195 * WebCoreSupport.subproj/WebKeyGeneration.h: Set DISABLE_WEB_KEY_GENERATION on Merlot for now. 18196 Then don't include anything if that's set. 18197 * WebCoreSupport.subproj/WebKeyGeneration.cpp: Don't compile anything if DISABLE_WEB_KEY_GENERATION 18198 is set. 18199 * WebCoreSupport.subproj/WebKeyGenerator.m: 18200 (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]): 18201 Always return nil if DISABLE_WEB_KEY_GENERATION is set. 18202 (-[WebKeyGenerator addCertificatesToKeychainFromData:]): Always return failure if 18203 DISABLE_WEB_KEY_GENERATION is set. 18204 18205 * WebKit.pbproj/project.pbxproj: Added shell build step to make library with security 18206 libraries in it. On Merlot, makes empty library. Also added library to link options. 18207 * WebKitSecurityDummy.c: Added. Used to make empty version of library for build on Merlot. 18208 182092004-01-26 Darin Adler <darin@apple.com> 18210 18211 * Makefile.am: Switch from pbxbuild to xcodebuild. 18212 182132004-01-26 Darin Adler <darin@apple.com> 18214 18215 Reviewed by John. 18216 18217 - fixed <rdar://problem/3521379>: image dimensions uses lowercase x instead of multiplication sign 18218 18219 * WebView.subproj/WebImageRepresentation.m: (-[WebImageRepresentation title]): 18220 Change string to use multiplication sign instead of x. 18221 * English.lproj/Localizable.strings: Updated. 18222 182232004-01-23 Ken Kocienda <kocienda@apple.com> 18224 18225 Reviewed by Richard 18226 18227 * WebView.subproj/WebHTMLView.m: 18228 (-[WebHTMLView updateShowsFirstResponder]): Renamed from updateFocusRing: 18229 since it is now used to kill caret blink timer. 18230 (-[WebHTMLView windowDidBecomeKey:]): Now calls new updateShowsFirstResponder 18231 method. 18232 (-[WebHTMLView windowDidResignKey:]): Ditto. 18233 182342004-01-22 Chris Blumenberg <cblu@apple.com> 18235 18236 Fixed: <rdar://problem/3537542>: support for copying HTML 18237 18238 Reviewed by dave. 18239 18240 * WebView.subproj/WebHTMLRepresentation.h: 18241 * WebView.subproj/WebHTMLRepresentation.m: 18242 (-[WebHTMLRepresentation reconstructedSource]): for BLOT's eventual use 18243 * WebView.subproj/WebHTMLView.m: 18244 (+[WebHTMLView _pasteboardTypes]): provide NSHTMLPboardType 18245 (-[WebHTMLView _writeSelectionToPasteboard:]): add HTML to the pasteboard 18246 182472004-01-22 John Sullivan <sullivan@apple.com> 18248 18249 Reviewed by Chris. 18250 18251 * English.lproj/StringsNotToBeLocalized.txt: 18252 brought this file back up to date 18253 182542004-01-22 Darin Adler <darin@apple.com> 18255 18256 - fixed 3536624: Webkit 1.2 links against SecurityNssAsn1.framework 18257 18258 * WebKit.pbproj/project.pbxproj: Remove SecurityNssAsn1.framework from the list we link against. 18259 It's still included in the list for places to find headers. 18260 18261=== Safari-125 === 18262 18263=== Safari-124 === 18264 182652004-01-15 Vicki Murley <vicki@apple.com> 18266 18267 Reviewed by Darin. 18268 18269 * WebKit.pbproj/project.pbxproj: Update copyright date to 2004. 18270 * English.lproj/InfoPlist.strings: Update copyright date to 2004. 18271 18272=== Safari-122 === 18273 18274=== Safari-121 === 18275 182762004-01-10 Darin Adler <darin@apple.com> 18277 18278 Reviewed by John. 18279 18280 - fixed 3524906: REGRESSION (114-115): page with plug-in content never stops loading (travelking.com.tw) 18281 18282 Put the plug-in streams clients into their own separate set. Now a plug-in client is not considered part 18283 of "loading", but it does participate in the callback deferral mechanism, which was the real goal of the 18284 change I made that introduced this regression. Also remove the plug-in client in one case I had missed 18285 before (cancel). 18286 18287 * WebView.subproj/WebDataSourcePrivate.h: Added a new set of plugInStreamClients. 18288 * WebView.subproj/WebDataSource.m: 18289 (-[WebDataSourcePrivate dealloc]): Release the set. 18290 (-[WebDataSource _addPlugInStreamClient:]): Added. Adds to the set. 18291 (-[WebDataSource _removePlugInStreamClient:]): Added. Removes from the set. 18292 (-[WebDataSource _defersCallbacksChanged]): Added code to loop through plugInStreamClients too. 18293 18294 * Plugins.subproj/WebNetscapePluginStream.m: 18295 (-[WebNetscapePluginStream start]): Use _add/removePlugInStreamClient instead of _add/removeSubresourceClient. 18296 (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): Ditto. 18297 (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): Ditto. 18298 (-[WebNetscapePluginConnectionDelegate cancelWithError:]): Override to call _removePlugInStreamClient and 18299 then call super. 18300 183012004-01-09 Darin Adler <darin@apple.com> 18302 18303 - rolled out most of Dave's change for 3510669 and 3515442; it is not working yet 18304 18305 * WebView.subproj/WebHTMLViewPrivate.h: 18306 * WebView.subproj/WebHTMLView.m: 18307 183082004-01-09 Maciej Stachowiak <mjs@apple.com> 18309 18310 Reviewed by Chris. 18311 18312 <rdar://problem/3514446>: cert downloaded from BofA or MIT is rejected (ACL issue on private key?) 18313 18314 * WebCoreSupport.subproj/WebKeyGeneration.cpp: 18315 (createPair): Cut & paste hunk of code from Security framework. 18316 (Safari_SecKeyCreatePair): Ditto. 18317 (signedPublicKeyAndChallengeString): Instead of creating a normal ACL, 18318 use our hacked version of the SecKeyCreatePair call that doesn't put in 18319 any kind of ACL. This works around a SecureTransport bug. 18320 183212004-01-09 David Hyatt <hyatt@apple.com> 18322 18323 Fixes for 3510669 and 3515442, blank frame problems caused by WebKit's resizing not scheduling actual 18324 layouts via WebCore. 18325 Reviewed by darin 18326 18327 * WebView.subproj/WebHTMLView.m: 18328 (-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]): 18329 (-[WebHTMLView initWithFrame:]): 18330 (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): 18331 (-[WebHTMLView setNeedsLayout:]): 18332 * WebView.subproj/WebHTMLViewPrivate.h: 18333 183342004-01-09 Darin Adler <darin@apple.com> 18335 18336 Reviewed by Chris. 18337 18338 - fixed 3510805: "PoolCleaner" in Carbon WebKit leads to overrelease and crash using color picker in BBEdit 18339 18340 * Carbon.subproj/CarbonUtils.m: (PoolCleaner): Only do the autorelease 18341 pool stuff in the default run loop mode. If we're in another run loop 18342 mode that means we are in some Cocoa code that sets up its own autorelease 18343 pool; it's important that we don't release ours in that case. 18344 183452004-01-08 Maciej Stachowiak <mjs@apple.com> 18346 18347 Reviewed by John. 18348 18349 <rdar://problem/3522298>: Error on MIT's x509 certificate site 18350 18351 * WebCoreSupport.subproj/WebKeyGeneration.cpp: 18352 (addCertificatesToKeychainFromData): Sign the freshly minted public key 18353 using RSA/MD5 instead of RSA/SHA-1, because MIT only supports MD5. 18354 183552004-01-08 Richard Williamson <rjw@apple.com> 18356 18357 Fixed 3524430. This was a regression introduced when we added '-' and '?' to the word boundary detection. 18358 18359 Also backed out workaround for 3521759 as it's no longer needed with correct argument passing to ATSUPositionToOffset. 18360 18361 Reviewed by Hyatt. 18362 18363 * WebCoreSupport.subproj/WebTextRenderer.m: 18364 (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]): 18365 (widthForNextCharacter): 18366 183672004-01-08 Chris Blumenberg <cblu@apple.com> 18368 18369 Fixed: <rdar://problem/3522900>: REGRESSION (100-117): Java plug-in description is garbled when displaying Plug-ins.html 18370 18371 Reviewed by darin. 18372 18373 * Misc.subproj/WebKitNSStringExtras.h: 18374 * Misc.subproj/WebKitNSStringExtras.m: 18375 (+[NSString _web_encodingForResource:]): new method, returns the encoding for a resource handle given its file system path 18376 * Plugins.subproj/WebNetscapePluginPackage.m: 18377 (-[WebNetscapePluginPackage stringForStringListID:andIndex:]): call _web_encodingForResource when creating the NSString 18378 18379=== Safari-120 === 18380 183812004-01-06 Richard Williamson <rjw@apple.com> 18382 18383 Fixed 3513660. Make ATSU layout and draw with integer glyph boundaries. This fix should be removed if/when we convert WebCore to use floats for measuring/positioning (3521781). 18384 18385 Reviewed by John. 18386 18387 * WebCoreSupport.subproj/WebTextRenderer.m: 18388 (-[WebTextRenderer _createATSUTextLayoutForRun:]): 18389 183902004-01-05 Richard Williamson <rjw@apple.com> 18391 18392 Fix for 3514454. Work-around added for 3521759. 18393 18394 Filed 3521781 to cover deeper problem. 18395 18396 Reviewed by Kocienda. 18397 18398 * WebCoreSupport.subproj/WebTextRenderer.m: 18399 (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]): 18400 (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]): 18401 184022003-12-22 John Sullivan <sullivan@apple.com> 18403 18404 - WebKit part of fix for <rdar://problem/3515706>: 18405 REGRESSION (100-118): Web Kit printing does not honor Page Setup scale factor 18406 18407 Reviewed by Darin. 18408 18409 * WebView.subproj/WebHTMLView.m: 18410 (-[WebHTMLView _userScaleFactorForPrintOperation:]): 18411 new method, extracts the scale factor provided by the user in 18412 the Page Setup dialog 18413 (-[WebHTMLView _scaleFactorForPrintOperation:]): 18414 take user scale factor into account 18415 (-[WebHTMLView knowsPageRange:]): 18416 renamed local var scaleFactor -> totalScaleFactor for clarity; 18417 take user scale factor into account for print width; now assumes 18418 computePageRects returns autoreleased result. 18419 18420 * WebKit.pbproj/project.pbxproj: 18421 Xcode version wars; Darin says these don't affect the build. 18422 184232003-12-21 Darin Adler <darin@apple.com> 18424 18425 Reviewed by John. 18426 18427 - fixed a storage leak 18428 18429 * WebView.subproj/WebFrame.m: 18430 (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): 18431 Move the release of the request out of an if statement, since it's always needed. 18432 184332003-12-19 Chris Blumenberg <cblu@apple.com> 18434 18435 Fixed: <rdar://problem/3515255>: Standalone image drag makes ocassionally makes 2 copies 18436 18437 Reviewed by john. 18438 18439 * WebKit.pbproj/project.pbxproj: Xcode 1.1 file format change 18440 * WebView.subproj/WebImageView.h: 18441 * WebView.subproj/WebImageView.m: copied double-drag protection code from WebHTMLView 18442 (-[WebImageView mouseDown:]): set ignoringMouseDraggedEvents to NO 18443 (-[WebImageView mouseDragged:]): if ignoringMouseDraggedEvents, return 18444 (-[WebImageView draggedImage:endedAt:operation:]): set ignoringMouseDraggedEvents to YES 18445 18446=== Safari-119 === 18447 184482003-12-18 Richard Williamson <rjw@apple.com> 18449 18450 Fixed 3511415. We have to un-visually order visually ordered text 18451 before passing to ATSU. 18452 18453 Reviewed by John. 18454 18455 * WebCoreSupport.subproj/WebTextRenderer.m: 18456 (reverseCharactersInRun): 18457 (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]): 18458 (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]): 18459 (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]): 18460 184612003-12-17 Richard Williamson <rjw@apple.com> 18462 18463 Fixed 3503011 (really, this time). Always use integer width for '-' and '?', as we do for spaces, to ensure 18464 that 'words' (as defined by out rounding hack) start on integer boundaries. 18465 18466 Reviewed by John. 18467 18468 * WebCoreSupport.subproj/WebTextRenderer.m: 18469 (widthForNextCharacter): 18470 184712003-12-17 Chris Blumenberg <cblu@apple.com> 18472 18473 Fixed: 18474 <rdar://problem/3393758>: REGRESSION (85-100): Flash onKeyUp event non-functional 18475 <rdar://problem/3479020>: REGRESSION (85-100): Safari sends plug-in key events to wrong instance of plug-in 18476 18477 Reviewed by darin. 18478 18479 * Plugins.subproj/WebBaseNetscapePluginView.h: 18480 * Plugins.subproj/WebBaseNetscapePluginView.m: 18481 (-[WebBaseNetscapePluginView sendEvent:]): set suspendKeyUpEvents to NO 18482 (-[WebBaseNetscapePluginView keyMessageForEvent:]): copied from CVS 18483 (-[WebBaseNetscapePluginView keyUp:]): if !suspendKeyUpEvents, send the keyUp event 18484 (-[WebBaseNetscapePluginView keyDown:]): set suspendKeyUpEvents to YES 18485 (-[WebBaseNetscapePluginView windowBecameKey:]): call SetUserFocusWindow 18486 184872003-12-17 Darin Adler <darin@apple.com> 18488 18489 Reviewed by Richard. 18490 18491 - fixed 3513274: REGRESSION: anchor navigation within frames with "Back" is broken at tivofaq.com 18492 18493 * WebView.subproj/WebDataSource.m: (-[WebDataSource _setURL:]): 18494 Since this method is only used when you do a fragment scroll, we need to update 18495 the original request as well as the request. This ensure that the fragment gets 18496 recorded in the history item (which goes in the back/forward history). 18497 18498=== Safari-118 === 18499 185002003-12-17 John Sullivan <sullivan@apple.com> 18501 18502 - fixed <rdar://problem/3512801>: REGRESSION (Safari 100-116): 18503 Mike Hay's Magic 8-ball game ignores slow clicks 18504 18505 Reviewed by Darin. 18506 18507 * WebView.subproj/WebHTMLView.m: 18508 (-[WebHTMLView _handleAutoscrollForMouseDragged:]): 18509 start the autoscroll timer here, so the timer only runs when KHTML is 18510 handling the event. 18511 (-[WebHTMLView mouseDown:]): 18512 don't start the autoscroll timer here. 18513 185142003-12-16 Ken Kocienda <kocienda@apple.com> 18515 18516 * WebCoreSupport.subproj/WebBridge.m: ObjC runtime needs a declaration for new 18517 _calculatedExpiration SPI in NSURLResponse in Foundation 18518 185192003-12-16 Richard Williamson <rjw@apple.com> 18520 18521 Fixed 3512348: Rewrote _CG_drawHighlightForRun:style:atPoint: to use width 18522 iterators. Much faster, better cheaper, etc. 18523 18524 Reviewed by Dave. 18525 18526 * WebCoreSupport.subproj/WebTextRenderer.m: 18527 (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]): 18528 185292003-12-16 Richard Williamson <rjw@apple.com> 18530 18531 Fixed 3503011. Added '-' and '?' to rounding hack. 18532 18533 Reviewed by John. 18534 18535 * WebCoreSupport.subproj/WebTextRenderer.m: 18536 (isRoundingHackCharacter): 18537 (widthForNextCharacter): 18538 185392003-12-16 Darin Adler <darin@apple.com> 18540 18541 Reviewed by Richard. 18542 18543 - finished fix to 3109132: can't open movie file via open panel 18544 18545 * WebView.subproj/WebView.m: (+[WebView _supportedFileExtensions]): 18546 Include all the extensions for each MIME type, not jus the preferred one. 18547 185482003-12-16 Ken Kocienda <kocienda@apple.com> 18549 18550 Reviewed by Darin 18551 18552 Fix for this bug: 18553 18554 <rdar://problem/3512199>: WebBridge expiresTimeForResponse can be 18555 improved to use better expiration calculations 18556 18557 * WebCoreSupport.subproj/WebBridge.m: 18558 (-[WebBridge expiresTimeForResponse:]): Switch to use new 18559 _calculatedExpiration SPI method on NSURLResponse. 18560 185612003-12-15 Chris Blumenberg <cblu@apple.com> 18562 18563 Fixed: <rdar://problem/3505546>: always get keychain prompt when sending mail using cert downloaded with Safari 18564 18565 Reviewed by john. 18566 18567 * WebCoreSupport.subproj/WebKeyGeneration.cpp: 18568 (signedPublicKeyAndChallengeString): set up the SecAccessRef with "everything goes" restrictions 18569 185702003-12-14 Darin Adler <darin@apple.com> 18571 18572 Reviewed by Maciej. 18573 18574 - fixed 3311205: click() on a file input type form element does not work bring up the file chooser as it does in IE 18575 18576 * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton performClick]): 18577 Add method for clicking, now part of the WebCoreFileButton protocol. 18578 The rest of the fix is in WebCore. 18579 185802003-12-13 Darin Adler <darin@apple.com> 18581 18582 Fixed by Ed Voas, reviewed by me. 18583 18584 - fixed 3278443: CARBON: grow box obscures scroll bar knob 18585 18586 * Carbon.subproj/CarbonWindowAdapter.m: (-[CarbonWindowAdapter _growBoxRect]): 18587 Return the grow box so AppKit's scroll bar code will know where it is. 18588 185892003-12-12 Ken Kocienda <kocienda@apple.com> 18590 18591 * WebCoreSupport.subproj/WebKeyGeneration.cpp: 18592 (signedPublicKeyAndChallengeString): Fix build-bustin' typo. 18593 185942003-12-12 Chris Blumenberg <cblu@apple.com> 18595 18596 Fixed: 18597 <rdar://problem/3396936>: can't obtain a digital ID from Verisign, form submission fails 18598 <rdar://problem/3505208>: keys added to keychain from KEYGEN need better UI names 18599 18600 Reviewed by rjw. 18601 18602 * English.lproj/Localizable.strings: 18603 * WebCoreSupport.subproj/WebKeyGeneration.cpp: 18604 (signedPublicKeyAndChallengeString): take a key description arg and use it, take and return CFStrings, handle the empty string case 18605 (addCertificatesToKeychainFromData): return a WebCertificateParseResult so WB knows how to handle the cert 18606 * WebCoreSupport.subproj/WebKeyGeneration.h: 18607 * WebCoreSupport.subproj/WebKeyGenerator.h: 18608 * WebCoreSupport.subproj/WebKeyGenerator.m: 18609 (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]): take a page URL so we can use its host name in the key description 18610 * WebKit.pbproj/project.pbxproj: 18611 186122003-12-12 Vicki Murley <vicki@apple.com> 18613 18614 * WebKit.pbproj/project.pbxproj: 18615 186162003-12-12 Vicki Murley <vicki@apple.com> 18617 18618 * WebKit.pbproj/project.pbxproj: 18619 186202003-12-12 Vicki Murley <vicki@apple.com> 18621 18622 * WebKit.pbproj/project.pbxproj: 18623 186242003-12-11 Ken Kocienda <kocienda@apple.com> 18625 18626 Reviewed by Darin 18627 18628 Fix for this bug: 18629 18630 <rdar://problem/3489280>: redirect via post blows cache, causing everything to get reloaded 18631 18632 Now POST requests reload the main document by default, but will not reload 18633 all subresources. 18634 18635 * WebCoreSupport.subproj/WebSubresourceClient.m: 18636 (+[WebSubresourceClient startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]): 18637 * WebView.subproj/WebFrame.m: 18638 (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): 18639 Take the cache policy for subresources from the original request, rather than 18640 the data source's current request. 18641 * WebView.subproj/WebMainResourceClient.m: 18642 (-[WebMainResourceClient _isPostOrRedirectAfterPost:redirectResponse:]): New helper. 18643 (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]): 18644 Call new helper to set the cache policy on the main resource load. 18645 18646=== Safari-117 === 18647 186482003-12-11 Ken Kocienda <kocienda@apple.com> 18649 18650 Reviewed by Darin 18651 18652 * WebCoreSupport.subproj/WebBridge.m: time_t is a signed type, so 18653 casting -1 to a time_t does not work to make a max value. 18654 We'll go with INT_MAX. 18655 186562003-12-11 Ken Kocienda <kocienda@apple.com> 18657 18658 Reviewed and C++ heavy-lifting by Darin 18659 18660 Fix warnings in C++ files. 18661 18662 * WebCoreSupport.subproj/WebKeyGeneration.cpp: 18663 (signedPublicKeyAndChallengeString): Add cast to remove warning. 18664 (addCertificatesToKeychainFromData): Add cast to remove warning. 18665 * WebKit.pbproj/project.pbxproj: Add back warnings to C++ files. 18666 * WebKitPrefix.h: Add define for NULL that works for C++. 18667 186682003-12-09 Ken Kocienda <kocienda@apple.com> 18669 18670 Reviewed by Darin 18671 18672 <rdar://problem/3505444>: WebCore cache does not use expiration dates on cache items 18673 18674 * WebCoreSupport.subproj/WebBridge.m: 18675 (-[WebBridge expiresTimeForResponse:]): New method. Call response 18676 freshness lifetime method and add it to the current time to yield 18677 an expiration time. 18678 186792003-12-10 Maciej Stachowiak <mjs@apple.com> 18680 18681 Reviewed by Richard. 18682 18683 WebKit part of fix for: 18684 18685 <rdar://problem/3487160>: Implement synchronous loading for XMLHttpRequest 18686 18687 * WebCoreSupport.subproj/WebBridge.m: 18688 (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): 18689 186902003-12-10 Richard Williamson <rjw@apple.com> 18691 18692 Added method to get to the bridge from a view. This is 18693 used to ultimately get the part and KJS::Window for a 18694 particular applet. 18695 18696 Reviewed by Hyatt. 18697 18698 * WebCoreSupport.subproj/WebViewFactory.m: 18699 (-[WebViewFactory refreshPlugins:]): 18700 (-[WebViewFactory bridgeForView:]): 18701 187022003-12-10 John Sullivan <sullivan@apple.com> 18703 18704 - WebKit part of fix for: 18705 <rdar://problem/3505231>: REGRESSION (100-114): Some sites autoscroll to bottom of page when loading 18706 18707 Reviewed by Darin 18708 18709 * Misc.subproj/WebNSViewExtras.h: 18710 * Misc.subproj/WebNSViewExtras.m: 18711 removed _web_scrollPointToVisible:fromView: 18712 18713 * WebView.subproj/WebHTMLView.m: 18714 (-[WebHTMLView scrollPoint:]): 18715 removed call to _web_scrollPointToVisible:fromView: 18716 187172003-12-10 Chris Blumenberg <cblu@apple.com> 18718 18719 Fixed: <rdar://problem/3505537>: certificates downloaded from Verisign are multipart/mixed, must be parsed out 18720 18721 Reviewed by kocienda. 18722 18723 * WebCoreSupport.subproj/WebKeyGeneration.cpp: 18724 (signedPublicKeyAndChallengeString): tweak 18725 (addCertificateToKeychainFromData): renamed to use lowercase "c" in "keychain" 18726 (addCertificatesToKeychainFromData): take data instead of a path to a file 18727 * WebCoreSupport.subproj/WebKeyGeneration.h: 18728 * WebCoreSupport.subproj/WebKeyGenerator.h: 18729 * WebCoreSupport.subproj/WebKeyGenerator.m: 18730 (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:]): added temporary workaround for 3396936 18731 187322003-12-09 Chris Blumenberg <cblu@apple.com> 18733 18734 Fixed: <rdar://problem/3504237>: add downloaded certificates to keychain 18735 18736 Reviewed by darin. 18737 18738 * WebCoreSupport.subproj/WebKeyGeneration.cpp: 18739 (signedPublicKeyAndChallengeString): 18740 (addCertificateToKeyChainFromData): new 18741 (addCertificateToKeyChainFromFile): new 18742 * WebCoreSupport.subproj/WebKeyGeneration.h: 18743 * WebCoreSupport.subproj/WebKeyGenerator.h: 18744 * WebCoreSupport.subproj/WebKeyGenerator.m: 18745 (-[WebKeyGenerator addCertificateToKeyChainFromFileAtPath:]): new 18746 * WebKit.exp: 18747 * WebKit.pbproj/project.pbxproj: made WebKeyGenerator.h private 18748 187492003-12-09 John Sullivan <sullivan@apple.com> 18750 18751 - fixed <rdar://problem/3504907>: REGRESSION (100-116): 18752 Clicking QuickTime-requiring link twice crashes (wholenote.com) 18753 18754 I found the bug; Darin wrote the fix; I reviewed and tested. 18755 18756 * Plugins.subproj/WebNetscapePluginPackage.m: 18757 (-[WebNetscapePluginPackage stringForStringListID:andIndex:]): 18758 Rewrote this method to not use GetIndString, because GetIndString looks 18759 at all open resource files and in this case was reading information from 18760 the wrong plugin file. 18761 187622003-12-08 Chris Blumenberg <cblu@apple.com> 18763 18764 Fixed: <rdar://problem/3234676>: Support for KEYGEN tag (ie 509 email certificates from www.thawte.com) 18765 18766 Reviewed by mjs. 18767 18768 * WebCoreSupport.subproj/WebKeyGeneration.cpp: Added. 18769 (gnrAddContextAttribute): new 18770 (gnrGetSubjPubKey): new 18771 (gnrNullAlgParams): new 18772 (gnrSign): new 18773 (gnrFreeCssmData): new 18774 (signedPublicKeyAndChallengeString): new 18775 * WebCoreSupport.subproj/WebKeyGeneration.h: Added. 18776 * WebCoreSupport.subproj/WebKeyGenerationFactory.h: Added. Renamed from WebLocalizedStringFactory. 18777 * WebCoreSupport.subproj/WebKeyGenerationFactory.m: Added. 18778 (+[WebKeyGenerationFactory createSharedFactory]): no change 18779 (-[WebKeyGenerationFactory dealloc]): no change 18780 (-[WebKeyGenerationFactory strengthMenuItemTitles]): new 18781 (-[WebKeyGenerationFactory signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:]): new 18782 * WebCoreSupport.subproj/WebLocalizedStringFactory.h: Removed. 18783 * WebCoreSupport.subproj/WebLocalizedStringFactory.m: Removed. 18784 * WebCoreSupport.subproj/WebNetscapeTemplates.cpp: Added. 18785 * WebCoreSupport.subproj/WebNetscapeTemplates.h: Added. 18786 * WebKit.pbproj/project.pbxproj: 18787 * WebKitPrefix.h: 18788 * WebView.subproj/WebFrameView.m: 18789 187902003-12-05 John Sullivan <sullivan@apple.com> 18791 18792 - fixed <rdar://problem/3491427>: REGRESSION (100-114): multi-page HTML 18793 content in Mail is blank when printed 18794 18795 Darin and I figured this one out. 18796 18797 Reviewed by Ken. 18798 18799 * WebView.subproj/WebHTMLView.m: 18800 (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]): 18801 Don't call setNeedsDisplay:NO when we're turning printing on, as doing so prevents 18802 anything from drawing in the case where this is called from 18803 adjustPageHeightsNew:top:bottom:limit 18804 188052003-12-05 Darin Adler <darin@apple.com> 18806 18807 Reviewed by John. 18808 18809 - fixed regression in small caps with substituted fonts my patch from yesterday caused 18810 - fixed 3463599: if Lucida font is installed, you see bad glyphs on pages that use it (advogato.org) 18811 - fixed storage leak if a renderer is ever deallocated (I don't think we ever do that) 18812 - fixed some small leaks in various error cases by adding appropriate free and dispose calls 18813 18814 * WebCoreSupport.subproj/WebTextRenderer.m: 18815 (-[WebTextRenderer dealloc]): Free the Unicode glyph map too. 18816 (fontContainsString): Moved inline function up here so it will be inlined. 18817 (-[WebTextRenderer _setupFont]): Free the glyph map and set it back to zero if we fail after 18818 extending the glyph map to include space. This fixes the "wrong glyph codes" bug with Lucida above. 18819 (-[WebTextRenderer _extendUnicodeCharacterToGlyphMapToInclude:]): Add free calls needed to avoid 18820 storage leaks in failure cases. 18821 (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]): Ditto. 18822 (-[WebTextRenderer _initializeATSUStyle]): Add ATSUDisposeStyle to fix storage leak. 18823 (freeWidthMap): Use a loop instead of recursion. 18824 (freeGlyphMap): Use a loop instead of recursion. 18825 (freeUnicodeGlyphMap): Added. 18826 (widthForNextCharacter): Don't use the original characters or cluster length, because the 18827 character may have been capitalized for use in small caps rendering. So check the character 18828 for <= 0xFFFF instead of looking at clusterLength, and break the character into a local array 18829 instead of using the original character pointer. 18830 188312003-12-04 Darin Adler <darin@apple.com> 18832 18833 Reviewed by Richard. 18834 18835 - fixed 3497879: REGRESSION (100-115): all non-BMP characters (including Deseret) are broken 18836 18837 * WebCoreSupport.subproj/WebTextRenderer.m: 18838 (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:]): Bump offset by getting it from 18839 the iterator; don't assume we can just bump it by one each time. It would be even nicer to have 18840 a bit more abstraction. 18841 (initializeCharacterWidthIterator): Remove call to initializeCharacterShapeIterator. 18842 (widthForNextCharacter): Move handling of surrogate pairs (non-BMP) in here and unify it with 18843 the handling of BMP characters; this removes the broken code that was returning the wrong font, 18844 and changes us to use the code that was already doing the right thing for the surrogate pair case. 18845 Also get rid of the use of 0 width to mean "no glyph", which fixes the doubled glyph problem. 18846 Also got rid of remnants of use of the shape iterator. 18847 18848 * Misc.subproj/WebUnicode.h: Remove obsolete shape iterator. 18849 * Misc.subproj/WebUnicode.m: Ditto. 18850 18851=== Safari-116 === 18852 188532003-12-04 Darin Adler <darin@apple.com> 18854 18855 Reviewed by Ken. 18856 18857 - fixed 3498426: assertion failure in tooltip code at macosx.apple.com 18858 18859 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _setToolTip:]): Work around 18860 the apparent bug in AppKit (3500217) that causes it to return 0 for the tool tip 18861 tag by using removeAllToolTips and not storing the tag at all. Besides the assertion 18862 failure there may also be a symptom of a "stuck" tool tip and a small memory 18863 leak until the window is closed. 18864 * WebView.subproj/WebHTMLViewPrivate.h: Remove unused toolTipTag. 18865 188662003-12-02 Chris Blumenberg <cblu@apple.com> 18867 18868 Fixed: 18869 <rdar://problem/3439222>: always hangs opening plain text file on a particular machine due to missing font, no UI to detect 18870 <rdar://problem/3492983>: Certain fonts cause Safari to hang on text/plain pages 18871 18872 Reviewed by rjw. 18873 18874 * WebView.subproj/WebTextView.m: 18875 (-[WebTextView setFixedWidthFont]): Use [[WebTextRendererFactory sharedFactory] fontWithFamilies:traits:size:] to get the font since it takes the font family which is what we store in WebPreferences and it does fallback work. Only set the font if 18876 18877 18878non-nil is returned. 18879 188802003-11-21 Maciej Stachowiak <mjs@apple.com> 18881 18882 Reviewed by Richard. 18883 18884 <rdar://problem/3487185>: implement security checks for XMLHttpRequest 18885 18886 * WebCoreSupport.subproj/WebSubresourceClient.m: 18887 (-[WebSubresourceClient connection:willSendRequest:redirectResponse:]): Let 18888 WebCore know about redirects. 18889 188902003-12-01 Richard Williamson <rjw@apple.com> 18891 18892 Moved grungy polling code from WebKit to the JavaPlugin. 18893 18894 Reviewed by Chris. 18895 18896 * WebCoreSupport.subproj/WebBridge.m: 18897 (-[WebBridge pollForAppletInView:]): 18898 188992003-12-01 Ken Kocienda <kocienda@apple.com> 18900 18901 Reviewed by John 18902 18903 Fix for this bug: 18904 18905 <rdar://problem/3496873>: Move key event helper functions to WebKit 18906 18907 * Misc.subproj/WebNSEventExtras.h: Add declarations for new key event 18908 helpers. 18909 * Misc.subproj/WebNSEventExtras.m: 18910 (-[NSEvent _web_isKeyEvent:]): Added. 18911 (-[NSEvent _web_isDeleteKeyEvent]): Added. 18912 (-[NSEvent _web_isEscapeKeyEvent]): Added. 18913 (-[NSEvent _web_isOptionTabKeyEvent]): Added. 18914 (-[NSEvent _web_isReturnOrEnterKeyEvent]): Added. 18915 (-[NSEvent _web_isTabKeyEvent]): Added. 18916 * WebKit.pbproj/project.pbxproj: Made WebNSEventExtras.h a private header 18917 so WebBrowser can use the new helpers. 18918 18919=== Safari-115 === 18920 189212003-11-21 Maciej Stachowiak <mjs@apple.com> 18922 18923 Reviewed by Ken. 18924 18925 WebKit part of fix for: 18926 <rdar://problem/3487134>: Implement http request/response status and headers for XMLHttpRequest 18927 * WebCoreSupport.subproj/WebBridge.m: 18928 (-[WebBridge startLoadingResource:withURL:customHeaders:]): Added customHeaders 18929 parameter. 18930 (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): Ditto. 18931 * WebCoreSupport.subproj/WebSubresourceClient.h: 18932 * WebCoreSupport.subproj/WebSubresourceClient.m: 18933 (+[WebSubresourceClient startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]): Add the custom headers. 18934 (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:referrer:forDataSource:]): Pass along the custom headers. 18935 (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]): Pass along the custom headers. 18936 189372003-11-21 John Sullivan <sullivan@apple.com> 18938 18939 - WebKit part of fix for <rdar://problem/3333744>: Safari prints page with 18940 very, very long line very, very small 18941 18942 Reviewed by Ken. 18943 18944 * WebView.subproj/WebHTMLView.m: 18945 renamed PrintingExtraWidthFactor to PrintingMinimumShrinkFactor, added 18946 PrintingMaximumShrinkFactor of 2.0, which matches IE 18947 (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): 18948 now takes a min and max page width; passes them along to bridge 18949 (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]): 18950 now takes a min and max page width; passes them along to layoutTo... 18951 (-[WebHTMLView _scaleFactorForPrintOperation:]): 18952 now takes PrintingMaximumScaleFactor into account 18953 (-[WebHTMLView knowsPageRange:]): 18954 now takes PrintingMaximumScaleFactor into account 18955 18956 (-[WebHTMLView layout]): 18957 pass 0 for maximumPageWidth when passing 0 for minimumPageWidth 18958 (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): 18959 ditto 18960 (-[WebHTMLView _web_setPrintingModeRecursive]): 18961 ditto 18962 (-[WebHTMLView _web_clearPrintingModeRecursive]): 18963 ditto 18964 (-[WebHTMLView endDocument]): 18965 ditto 18966 189672003-11-20 John Sullivan <sullivan@apple.com> 18968 18969 - WebKit part of <rdar://problem/3183124>: Support page-break-before/after with a value of "always" 18970 18971 Dave and I wrote and reviewed this. 18972 18973 * WebView.subproj/WebHTMLView.m: 18974 (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]): 18975 reset page rects when printing status changes 18976 (-[WebHTMLView _availablePaperWidthForPrintOperation:]): 18977 new helper method to compute paper width taking margins into account 18978 (-[WebHTMLView _scaleFactorForPrintOperation:]): 18979 new helper method to compute how much we need to shrink to fit one page across 18980 (-[WebHTMLView _provideTotalScaleFactorForPrintOperation:]): 18981 we overrode this secret internal AppKit method to make shrink-to-fit work; 18982 we wrote bug 3491344 about the need for this to be public. 18983 (-[WebHTMLView knowsPageRange:]): 18984 new method, computes rects and returns YES 18985 (-[WebHTMLView rectForPage:]): 18986 new method, returns rect computed above 18987 (-[WebHTMLView _calculatePrintHeight]): 18988 new method, used by knowsPageRange 18989 18990 * WebView.subproj/WebHTMLViewPrivate.h: 18991 new pageRects ivar 18992 189932003-11-20 Maciej Stachowiak <mjs@apple.com> 18994 18995 Reviewed by Ken. 18996 18997 - fixed 3490086 - support http post for XMLHttpRequest 18998 * WebCoreSupport.subproj/WebBridge.m: 18999 (-[WebBridge startLoadingResource:withURL:postData:]): 19000 * WebCoreSupport.subproj/WebSubresourceClient.h: 19001 * WebCoreSupport.subproj/WebSubresourceClient.m: 19002 (+[WebSubresourceClient startLoadingResource:withRequest:referrer:forDataSource:]): 19003 (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): 19004 (+[WebSubresourceClient startLoadingResource:withURL:postData:referrer:forDataSource:]): 19005 190062003-11-20 Chris Blumenberg <cblu@apple.com> 19007 19008 Fixed: <rdar://problem/3491229>: Need UI and localized strings for <KEYGEN> support 19009 19010 Reviewed by john. 19011 19012 * ChangeLog: 19013 * English.lproj/Localizable.strings: 19014 * WebCoreSupport.subproj/WebLocalizedStringFactory.h: Added. 19015 * WebCoreSupport.subproj/WebLocalizedStringFactory.m: Added. 19016 (+[WebLocalizedStringFactory createSharedFactory]): new 19017 (-[WebLocalizedStringFactory dealloc]): new 19018 (-[WebLocalizedStringFactory keyGenerationMenuItemTitles]): new 19019 * WebKit.pbproj/project.pbxproj: 19020 * WebView.subproj/WebFrameView.m: call [WebLocalizedStringFactory createSharedFactory] 19021 190222003-11-20 Richard Williamson <rjw@apple.com> 19023 19024 Added spin of event loop during applet lookup poll. This 19025 is necessary to allow timers and performOnMainThread: methods 19026 a chance to fire. The plugin depends on these mechanisms during 19027 initialization. 19028 19029 Reviewed by Chris. 19030 19031 * WebCoreSupport.subproj/WebBridge.m: 19032 (-[WebBridge pollForAppletInView:]): 19033 190342003-11-20 Ken Kocienda <kocienda@apple.com> 19035 19036 John and I decided to apply the _web_ prefix to the tab key 19037 event method in the extras file, but I neglected to do this 19038 before checking in. Fixed now. 19039 19040 * Misc.subproj/WebNSEventExtras.h: 19041 * Misc.subproj/WebNSEventExtras.m: 19042 (-[NSEvent _web_isTabKeyEvent]) 19043 * WebView.subproj/WebHTMLView.m: 19044 (-[WebHTMLView keyDown:]) 19045 190462003-11-20 Ken Kocienda <kocienda@apple.com> 19047 19048 Reviewed by John 19049 19050 Fix for this bug: 19051 19052 <rdar://problem/3482159>: Tabbing to links gets "stuck" in "style switcher" on zeldman.com 19053 19054 * Misc.subproj/WebNSEventExtras.h: Added. 19055 * Misc.subproj/WebNSEventExtras.m: Added. 19056 (-[NSEvent _isTabKeyEvent]): New helper. 19057 * WebKit.pbproj/project.pbxproj: 19058 * WebView.subproj/WebHTMLView.m: 19059 (-[WebHTMLView keyDown:]): Pass the key event to super unconditionally 19060 if it is a tab key. This fixes the bug. 19061 190622003-11-19 John Sullivan <sullivan@apple.com> 19063 19064 - WebKit part of fix for: 19065 <rdar://problem/3305671>: Web pages print with 1.25" border without regard to Page 19066 Setup margin settings 19067 19068 Reviewed by Dave. 19069 19070 * WebView.subproj/WebHTMLView.m: 19071 (-[WebHTMLView beginDocument]): 19072 Lay out the page into a width 25% wider than there's room for on the printed page. 19073 This will make pages that can fit into a thin area be scaled down a little when printed, 19074 which lets them fit on fewer pages. This closely matches what IE and Camino (at least) 19075 do; I used Google as my test page, and the Google logo is now precisely the same size 19076 when printed from Safari as when printed from IE. Pages that don't fit into a thin 19077 area are already causing the printed page to be scaled horizontally to fit, and this 19078 won't affect them. 19079 190802003-11-19 Chris Blumenberg <cblu@apple.com> 19081 19082 Fixed: <rdar://problem/3489935>: Mentioning "to Disk" in context menus such as "Download Linked File To Disk..." is redundant 19083 19084 Reviewed by john. 19085 19086 * English.lproj/Localizable.strings: 19087 * English.lproj/StringsNotToBeLocalized.txt: 19088 * WebView.subproj/WebDefaultContextMenuDelegate.m: 19089 (-[WebDefaultUIDelegate menuItemWithTag:]): use "Download Linked File" and "Download Image" 19090 190912003-11-19 Chris Blumenberg <cblu@apple.com> 19092 19093 Fixed: <rdar://problem/3488783>: Flash at http://www.sjwilson.net/reef/ does not load photos 19094 Reviewed by rjw. 19095 19096 * Misc.subproj/WebKitNSStringExtras.h: 19097 * Misc.subproj/WebKitNSStringExtras.m: 19098 (-[NSString _web_stringByStrippingReturnCharacters]): new 19099 * Plugins.subproj/WebBaseNetscapePluginView.m: 19100 (-[WebBaseNetscapePluginView requestWithURLCString:]): call _web_stringByStrippingReturnCharacters on the relative string 19101 191022003-11-19 Richard Williamson <rjw@apple.com> 19103 19104 More LiveConnect stuff. Horrible polling hack that 19105 blocks main thread waiting for applet to fully initialize. 19106 19107 Reviewed by Ken. 19108 19109 * Plugins.subproj/WebPluginController.m: 19110 (-[WebPluginController addPlugin:]): 19111 * WebCoreSupport.subproj/WebBridge.m: 19112 (-[WebBridge pollForAppletInView:]): 19113 191142003-11-19 David Hyatt <hyatt@apple.com> 19115 19116 Make updateScrollers guard non-static, so that it applies only to the view whose scrollers are being 19117 updated. 19118 Reviewed by darin 19119 19120 * WebView.subproj/WebDynamicScrollBarsView.h: 19121 * WebView.subproj/WebDynamicScrollBarsView.m: 19122 (-[WebDynamicScrollBarsView reflectScrolledClipView:]): 19123 191242003-11-18 Richard Williamson <rjw@apple.com> 19125 19126 More live connect stubs. We're getting close. 19127 19128 Reviewed by Chris. 19129 19130 * Plugins.subproj/WebPluginController.m: 19131 (-[WebPluginController addPlugin:]): 19132 (-[WebPluginController _delayedGetApplet:]): 19133 * WebView.subproj/WebView.m: 19134 (-[WebView _goToItem:withLoadType:]): 19135 191362003-11-17 Darin Adler <darin@apple.com> 19137 19138 Reviewed by Maciej. 19139 19140 - fixed 3487335: REGRESSION (112-113): "a:b" error message does not cite the URL properly 19141 19142 * Misc.subproj/WebKitErrors.m: 19143 (+[NSError _webKitErrorWithCode:failingURL:]): Call _webKitErrorWithDomain:code:URL:. 19144 (+[NSError _webKitErrorWithDomain:code:URL:]): Call _web_errorWithDomain:code:URL:, instead of using 19145 the deprecated failingURL: flavor. 19146 (-[NSError _initWithPluginErrorCode:contentURLString:pluginPageURLString:pluginName:MIMEType:]): 19147 Change this method to call the other one. 19148 (-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]): Implement this one, 19149 and put in the NSErrorFailingURLKey, as well as the NSErrorFailingURLStringKey, to match what Foundation 19150 now does for other errors. 19151 19152 * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): 19153 Change to use the non-deprecated flavor of the NSError call above. 19154 19155 * English.lproj/StringsNotToBeLocalized.txt: Updated for above changes and other recent changes. 19156 191572003-11-16 Maciej Stachowiak <mjs@apple.com> 19158 19159 Reviewed by Dave. 19160 19161 WebKit part of fix for: 19162 19163 <rdar://problem/3131664>: add support for the window.print() command used for "print this page" buttons 19164 * WebCoreSupport.subproj/WebBridge.m: 19165 (-[WebBridge print]): Call delegate. 19166 * WebView.subproj/WebDefaultUIDelegate.m: 19167 (-[WebDefaultUIDelegate webViewPrint:]): Implemented (do nothing). 19168 * WebView.subproj/WebUIDelegatePrivate.h: Added. Add extra SPI method webViewPrint: 19169 for UI delegate. 19170 * WebKit.pbproj/project.pbxproj: Install WebUIDelegatePrivate.h as private header 19171 191722003-11-15 Darin Adler <darin@apple.com> 19173 19174 Reviewed by John. 19175 19176 - fixes 3457162 -- selecting text during a page load that blows the text field away causes a crash 19177 - fixes 3160035 -- crash or hang if you hold down a button while "go to about:blank soon" test runs 19178 - without causing 3484608 -- REGRESSION: Flash broken at http://www.macromedia.com/ 19179 19180 The WebKit part of this fix is making setDefersCallbacks: work. It had succumbed to bit rot. 19181 This has a side effect of not considering a page load done until all the plug-in streams are loaded. 19182 If that's not a good idea, we'll have to keep two separate lists in WebDataSource. 19183 19184 * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate setDataSource:]): 19185 Set the defersCallbacks state from the WebView here so that clients don't have to do it. 19186 19187 * WebView.subproj/WebDataSource.m: (-[WebDataSource _addSubresourceClient:]): Remove call to 19188 set the defersCallbacks state on the subresource client, because the above change obviates it. 19189 (the client/delegate terminology makes it confusing, but it's a subclass). Also loosen the type 19190 so we can call this on clients for plug-in streams too. 19191 (-[WebDataSource _removeSubresourceClient:]): Loosen type here too. 19192 (-[WebDataSource _defersCallbacksChanged]): And here. 19193 * WebView.subproj/WebDataSourcePrivate.h: Loosen type of subresource client so we can pass in the 19194 delegates for plug-in streams too. 19195 19196 * WebView.subproj/WebMainResourceClient.h: Added an _initialRequest field so we can defer the very 19197 first callback, which does not rely on NSURLConnection. 19198 * WebView.subproj/WebMainResourceClient.m: 19199 (-[WebMainResourceClient dealloc]): Release the initial request. 19200 (-[WebMainResourceClient loadWithRequestNow:]): Moved the guts of loadWithRequest in here; to be 19201 used when the request is no longer deferred. Also removed the code to call setDefersCallbacks: 19202 on the connection, and assert that we are only called when callbacks are not deferred. Because 19203 the very first callback was not deferred, we would end up calling setDefersCallbacks:NO on the 19204 WebView, so nothing would be deferred. 19205 (-[WebMainResourceClient loadWithRequest:]): If callbacks are not deferred, then call the 19206 loadWithRequestNow: method, otherwise simply store the request in _initialRequest. 19207 (-[WebMainResourceClient setDefersCallbacks:]): If there is an _initialRequest and we are 19208 ceasing deferral of callbacks, then call the loadWithRequestNow: method. 19209 19210 * Plugins.subproj/WebNetscapePluginStream.m: 19211 (-[WebNetscapePluginStream start]): Call _addSubresourceClient, and then _removeSubresourceClient 19212 if the load fails to even start. 19213 (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): Call _removeSubresourceClient. 19214 (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): Call _removeSubresourceClient. 19215 19216 * Plugins.subproj/WebBaseNetscapePluginStream.h: Removed unneeded import. 19217 * Plugins.subproj/WebPluginDatabase.m: Add import needed now that WebBaseNetscapePluginStream.h 19218 imports less than before. 19219 192202003-11-16 Maciej Stachowiak <mjs@apple.com> 19221 19222 Reviewed by John. 19223 19224 - fixed 3362841 - javascript History Object length property is always 0 19225 19226 * WebCoreSupport.subproj/WebBridge.m: 19227 (-[WebBridge historyLength]): Add one to the length to match other browsers. 19228 192292003-11-14 John Sullivan <sullivan@apple.com> 19230 19231 - WebKit part of fix for <rdar://problem/3474757>: Safari on-screen text needs review 19232 19233 Reviewed by Ken. 19234 19235 * WebView.subproj/WebDefaultContextMenuDelegate.m: 19236 (-[WebDefaultUIDelegate menuItemWithTag:]): 19237 change "Download Link to Disk" to "Download Linked File to Disk" 19238 19239 * English.lproj/Localizable.strings: 19240 updated for these changes 19241 192422003-11-14 Ken Kocienda <kocienda@apple.com> 19243 19244 Reviewed by John 19245 19246 Fix for this bug: 19247 19248 <rdar://problem/3481701>: Crashes before loading page/no error msg 19249 (forums.pelicanparts.com) Works in IE and Netscape 19250 19251 This fix is really a workaround for this bug: 19252 19253 <rdar://problem/3484937>: Horribly malformed URL crashes when call 19254 is made to CFURLCopyHostName 19255 19256 The fix is to avoid all usages of [NSURL host] by replacing all 19257 such calls with a private URL method added to WebNSURLExtras. 19258 19259 I copied a number of URL methods from the private NSURL 19260 extras file in Foundation to the WebKit URL extras file. 19261 19262 * Misc.subproj/WebNSDataExtras.h: Added. Helper for new URL extras. 19263 * Misc.subproj/WebNSDataExtras.m: Ditto. 19264 (-[NSData _web_isCaseInsensitiveEqualToCString:]): New helper. 19265 * Misc.subproj/WebNSURLExtras.h: 19266 * Misc.subproj/WebNSURLExtras.m: 19267 (-[NSURL _web_hasQuestionMarkOnlyQueryString]): Added. 19268 (-[NSURL _web_schemeSeparatorWithoutColon]): Added. 19269 (-[NSURL _web_dataForURLComponentType:]): Added. 19270 (-[NSURL _web_schemeData]): Added. 19271 (-[NSURL _web_hostData]): Added. 19272 (-[NSURL _web_hostString]): Added. 19273 * WebKit.pbproj/project.pbxproj: 19274 * WebView.subproj/WebView.m: 19275 (-[WebView userAgentForURL:]): Replace call to [NSURL host] with new 19276 extras _web_hostString method. 19277 19278=== Safari-114 === 19279 192802003-11-14 Vicki Murley <vicki@apple.com> 19281 19282 - rolled out Darin's fixes for 3457162 and 3160035, since these changes broke plugins on macromedia.com and disney.go.com 19283 19284 * WebView.subproj/WebBaseResourceHandleDelegate.m: 19285 (-[WebBaseResourceHandleDelegate setDataSource:]): 19286 * WebView.subproj/WebDataSource.m: 19287 (-[WebDataSource _addSubresourceClient:]): 19288 * WebView.subproj/WebMainResourceClient.h: 19289 * WebView.subproj/WebMainResourceClient.m: 19290 (-[WebMainResourceClient dealloc]): 19291 (-[WebMainResourceClient loadWithRequest:]): 19292 (-[WebMainResourceClient setDefersCallbacks:]): 19293 192942003-11-14 Darin Adler <darin@apple.com> 19295 19296 Reviewed by John. 19297 19298 - fixes 3457162 -- selecting text during a page load that blows the text field away causes a crash 19299 - fixes 3160035 -- crash or hang if you hold down a button while "go to about:blank soon" test runs 19300 19301 The WebKit part of this fix is making setDefersCallbacks: work. It had succumbed to bit rot. 19302 19303 * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate setDataSource:]): 19304 Set the defersCallbacks state from the WebView here so that clients don't have to do it. 19305 * WebView.subproj/WebDataSource.m: (-[WebDataSource _addSubresourceClient:]): Remove call to 19306 set the defersCallbacks state on the subresource client, because the above change obviates it. 19307 (the client/delegate terminology makes it confusing, but it's a subclass). 19308 19309 * WebView.subproj/WebMainResourceClient.h: Added an _initialRequest field so we can defer the very 19310 first callback, which does not rely on NSURLConnection. 19311 * WebView.subproj/WebMainResourceClient.m: 19312 (-[WebMainResourceClient dealloc]): Release the initial request. 19313 (-[WebMainResourceClient loadWithRequestNow:]): Moved the guts of loadWithRequest in here; to be 19314 used when the request is no longer deferred. Also removed the code to call setDefersCallbacks: 19315 on the connection, and assert that we are only called when callbacks are not deferred. Because 19316 the very first callback was not deferred, we would end up calling setDefersCallbacks:NO on the 19317 WebView, so nothing would be deferred. 19318 (-[WebMainResourceClient loadWithRequest:]): If callbacks are not deferred, then call the 19319 loadWithRequestNow: method, otherwise simply store the request in _initialRequest. 19320 (-[WebMainResourceClient setDefersCallbacks:]): If there is an _initialRequest and we are 19321 ceasing deferral of callbacks, then call the loadWithRequestNow: method. 19322 193232003-11-13 Ken Kocienda <kocienda@apple.com> 19324 19325 Reviewed by John 19326 19327 Fix for this bug: 19328 19329 <rdar://problem/3483284>: Tabbing to links needs to honor new 19330 WebKit tab-to-links preference 19331 19332 * WebCoreSupport.subproj/WebBridge.m: 19333 (-[WebBridge dealloc]): Remove self from notification center. 19334 (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]): Now 19335 checks for WebCoreKeyboardAccessTabsToLinks preference. 19336 (-[WebBridge keyboardUIMode]): Adds self to notification center 19337 to pick up changes to WebPreferences. 19338 193392003-11-13 Ken Kocienda <kocienda@apple.com> 19340 19341 Reviewed by John 19342 19343 Fix for this bug: 19344 19345 <rdar://problem/3481719>: WebKit needs preference for tabbing to links 19346 19347 * WebView.subproj/WebPreferences.m: 19348 (+[WebPreferences initialize]): Add initialization of new 19349 WebKitTabToLinksPreferenceKey. 19350 (-[WebPreferences setTabsToLinks:]): Added preference setter. 19351 (-[WebPreferences tabsToLinks]): Added preference getter. 19352 * WebView.subproj/WebPreferencesPrivate.h: Declared new methods as 19353 SPI on WebPreferences. 19354 193552003-11-12 Richard Williamson <rjw@apple.com> 19356 19357 Fixed 3475082. Remove unnecessary orderKey before showKey. 19358 19359 Written by Ed Voas. 19360 19361 Reviewed by Richard. 19362 19363 * Carbon.subproj/CarbonWindowAdapter.m: 19364 (-[CarbonWindowAdapter makeKeyWindow]): 19365 193662003-11-12 Chris Blumenberg <cblu@apple.com> 19367 19368 Fixed: <rdar://problem/3482147>: replace _releaseFutureIconForURL assertion with a log statement 19369 19370 Reviewed by rjw. 19371 19372 * Misc.subproj/WebIconDatabase.m: 19373 (-[WebIconDatabase _releaseFutureIconForURL:]): 19374 193752003-11-10 Richard Williamson <rjw@apple.com> 19376 19377 Fixed 3478765. Use ICU to access unicode properties. 19378 Fixed 3478831. Unicode property/conversion functions should be 32 bit savvy. 19379 Fixed 3478885. Remove dead arabic shaping code 19380 19381 Reviewed by Darin. 19382 19383 * Misc.subproj/WebUnicode.h: 19384 * Misc.subproj/WebUnicode.m: 19385 (_unicodeDigitValue): 19386 (_unicodeDirection): 19387 (_unicodeMirrored): 19388 (_unicodeMirroredChar): 19389 (_unicodeLower): 19390 (_unicodeUpper): 19391 (WebKitInitializeUnicode): 19392 (shapeForNextCharacter): 19393 (initializeCharacterShapeIterator): 19394 * Misc.subproj/WebUnicodeTables.m: 19395 * WebCoreSupport.subproj/WebTextRenderer.m: 19396 (widthForNextCharacter): 19397 (fontContainsString): 19398 193992003-11-10 Chris Blumenberg <cblu@apple.com> 19400 19401 Fixed: <rdar://problem/3478351>: Safari: URL Alias on Dock failed to open the 2byte URL 19402 19403 Reviewed by dave. 19404 19405 * Misc.subproj/WebNSURLExtras.m: 19406 (-[NSString _web_mapHostNameWithRange:encode:makeString:]): if the host name is percent-escaped, use CFURLCreateStringByReplacingPercentEscapes 19407 194082003-11-10 Richard Williamson <rjw@apple.com> 19409 19410 Use ICU for upper/lower conversion. Fixed 3477157, 3478455, 3478456, 3478457, 3478486. 19411 Remaining issues with surrogates (3477159) and Turkish I (3478482). 19412 19413 Reviewed by Ken. 19414 19415 * Misc.subproj/WebUnicode.m: 19416 (_unicodeLower): 19417 (_unicodeUpper): 19418 194192003-11-07 Chris Blumenberg <cblu@apple.com> 19420 19421 Fixed: <rdar://problem/3240778>: add "save" menu item to contextual menu for text pages 19422 19423 Reviewed by darin. 19424 19425 * WebView.subproj/WebTextView.m: 19426 (-[WebTextView menuForEvent:]): Made WebTextView's context menu behavior like WebHTMLView's context menu behavior with regards to selection. If the control-click was on a selection, show menu options for the selection like copy. If it was not on a 19427 19428 19429 selection, show menu options such as save and print. Don't select anything when control-clicking. 19430 194312003-11-08 Chris Blumenberg <cblu@apple.com> 19432 19433 Fixed: <rdar://problem/3478022>: assertion failure while loading WMP content 19434 19435 Reviewed by darin. 19436 19437 * ChangeLog: 19438 * Plugins.subproj/WebNetscapePluginStream.m: 19439 (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): Don't continue if the stream is cancelled in startStreamWithResponse. 19440 194412003-11-07 Richard Williamson <rjw@apple.com> 19442 19443 Fixed 3477067. Use our case unicode conversion routines. 19444 19445 Reviewed by Ken. 19446 19447 * WebCoreSupport.subproj/WebTextRenderer.m: 19448 (toUpper): 19449 194502003-11-06 Richard Williamson <rjw@apple.com> 19451 19452 Fixed 3476393. Call scrollPoint: recursively up the view hierarchy to ensure point is visible. 19453 19454 Reviewed by Ken. 19455 19456 * Misc.subproj/WebNSViewExtras.h: 19457 * Misc.subproj/WebNSViewExtras.m: 19458 (-[NSView _web_scrollPointToVisible:fromView:]): 19459 * WebView.subproj/WebHTMLView.m: 19460 (-[WebHTMLView scrollPoint:]): 19461 19462=== Safari-113 === 19463 194642003-11-05 Darin Adler <darin@apple.com> 19465 19466 Reviewed by Maciej. 19467 19468 - fixed 3473913 -- host names in simple mailto URLs are not getting encoded/decoded correctly yet 19469 19470 * Misc.subproj/WebNSURLExtras.m: 19471 (applyHostNameFunctionToMailToURLString): Handle case where host name is at the end of the string. 19472 (applyHostNameFunctionToURLString): Add the # character to the set of characters that can end 19473 a domain name. 19474 194752003-11-05 Richard Williamson <rjw@apple.com> 19476 19477 Fixed 3413067, 3405797, 3456877 19478 Use ATSUI to render Arabic and Hebrew. 19479 19480 Reviewed by John. 19481 19482 * WebCoreSupport.subproj/WebTextRenderer.m: 19483 (shouldUseATSU): 19484 194852003-11-05 John Sullivan <sullivan@apple.com> 19486 19487 - fixed <rdar://problem/3469791>: Bigger/Smaller commands are 19488 disabled for HTML Mail in separate window (w/WebKit-111) 19489 19490 Reviewed by Darin. 19491 19492 * WebView.subproj/WebFrameView.m: 19493 (-[WebFrameView acceptsFirstResponder]): 19494 always be willing to become first responder, even if no page 19495 has yet been loaded. 19496 (-[WebFrameView becomeFirstResponder]): 19497 if no page has yet been loaded (so our scrollview refuses 19498 first responder-ness), don't do any special becoming-first- 19499 responder shenanigans. 19500 19501 Also removed obsolete overrides for nextKeyView, nextValidKeyView, 19502 previousKeyView, and previousValidKeyView that are no longer 19503 required now that we handle the key loop more like NSScrollView. 19504 19505 * WebView.subproj/WebFrameViewPrivate.h: 19506 removed now-unused ivar inNextValidKeyView 19507 195082003-11-05 Richard Williamson <rjw@apple.com> 19509 19510 Fixed 3029966. Animated backgrounds specified in <BODY> don't animate 19511 Fixed 3474824. Tiled animated GIFs don't animate. 19512 Fixed 3029966. Animated backgrounds specified with CSS don't animate. 19513 19514 Reviewed by Chris. 19515 19516 * WebCoreSupport.subproj/WebImageRenderer.h: 19517 * WebCoreSupport.subproj/WebImageRenderer.m: 19518 (-[WebImageRenderer nextFrame:]): 19519 (-[WebImageRenderer drawImageInRect:fromRect:]): 19520 (-[WebImageRenderer startAnimationIfNecessary]): 19521 (-[WebImageRenderer tileInRect:fromPoint:]): 19522 * WebView.subproj/WebImageView.m: 19523 (-[WebImageView drawRect:]): 19524 195252003-11-05 Chris Blumenberg <cblu@apple.com> 19526 19527 Fixed: <rdar://problem/3201364>: Safari crashes when hosting carbon plug-in using drag and drop 19528 19529 Reviewed by rjw. 19530 19531 * WebView.subproj/WebView.m: 19532 (-[WebView draggingUpdated:]): return NSDragOperationNone if we're over a plug-in view so the plug-in can handle the drag 19533 195342003-11-05 Chris Blumenberg <cblu@apple.com> 19535 19536 Fixed: <rdar://problem/3474360>: should attempt to resolve symbolic links when choosing "Save Link As..." 19537 19538 Reviewed by kocienda. 19539 19540 * WebView.subproj/WebView.m: 19541 (-[WebView _fileWrapperForURL:]): follow sym links 19542 195432003-11-05 Ken Kocienda <kocienda@apple.com> 19544 19545 Reviewed by Darin 19546 19547 Fix for this bug: 19548 19549 <rdar://problem/3455910>: hitting up or down arrows when focus 19550 is on a pop-up menu should pop the menu 19551 19552 * WebView.subproj/WebFrameView.m: 19553 (-[WebFrameView keyDown:]): Call super with the event if focus 19554 is on a pop up button. 19555 195562003-11-05 Ken Kocienda <kocienda@apple.com> 19557 19558 Reviewed by Maciej 19559 19560 Fix for these bugs: 19561 19562 <rdar://problem/3467558>: Cannot tab to form file input widgets 19563 <rdar://problem/3473631>: WebFileButton sends notifications to communicate with WebCore 19564 19565 Tabbing now works for these widgets. While I was in the neighborhood, 19566 I improved the communication mechanism between the WebKit and WebCore 19567 sides of the file button implementation, replacing notifications 19568 with a callback object. 19569 19570 * WebCoreSupport.subproj/WebBridge.m: 19571 (-[WebBridge fileButtonWithDelegate:]): Method now takes a 19572 delegate object. 19573 * WebCoreSupport.subproj/WebFileButton.h: 19574 * WebCoreSupport.subproj/WebFileButton.m: 19575 (-[WebFileButton initWithBridge:delegate:]): 19576 (-[WebFileButton initWithFrame:]): 19577 (-[WebFileButton dealloc]): 19578 (-[WebFileButton chooseFilename:]): Sends callback rather than posting 19579 a notification. 19580 (-[WebFileButton chooseButtonPressed:]): Ditto. 19581 (-[WebFileButton mouseDown:]): 19582 (-[WebFileButton acceptsFirstResponder]): 19583 (-[WebFileButton becomeFirstResponder]): Make the button subview 19584 first responder. 19585 (-[WebFileButton nextKeyView]): Hook up to WebBridge key view machinery. 19586 (-[WebFileButton previousKeyView]): Ditto. 19587 (-[WebFileButton nextValidKeyView]): Ditto. 19588 (-[WebFileButton previousValidKeyView]): Ditto. 19589 (-[WebFileChooserButton initWithDelegate:]): 19590 (-[WebFileChooserButton nextValidKeyView]): Ditto. 19591 (-[WebFileChooserButton previousValidKeyView]): Ditto. 19592 (-[WebFileChooserButton resignFirstResponder]): Sends a focus change 19593 callback. 19594 195952003-11-04 Darin Adler <darin@apple.com> 19596 19597 Reviewed by John, except for one bit reviewed by Maciej. 19598 19599 - first step for IDNA support; helper functions for Safari 19600 19601 * Misc.subproj/WebNSURLExtras.h: Add six new methods to manipulate host names directly. 19602 * Misc.subproj/WebNSURLExtras.m: 19603 (applyHostNameFunctionToMailToURLString): Added. Finds host names within a mailto URL. 19604 (applyHostNameFunctionToURLString): Added. Finds host names within a URL. 19605 (collectRangesThatNeedMapping): Added. Builds a list of host name ranges that need mapping. 19606 (collectRangesThatNeedEncoding): Added. Calls the above for encoding. 19607 (collectRangesThatNeedDecoding): Added. Calls the above for decoding. 19608 (mapHostNames): Added. Helper function that does the entire mapping process for a URL. 19609 (+[NSURL _web_URLWithUserTypedString:]): Call mapHostNames to encode after trimming whitespace. 19610 (-[NSURL _web_userVisibleString]): Call mapHostNames to decode after decoding escape sequences. 19611 (-[NSURL _webkit_URLByRemovingFragment]): Removed unneeded redundant NULL check. 19612 (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Added. Workhorse function to call 19613 the IDN functions in the Unicode library. 19614 (-[NSString _web_hostNameNeedsDecodingWithRange:]): Added. 19615 (-[NSString _web_hostNameNeedsEncodingWithRange:]): Added. 19616 (-[NSString _web_decodeHostNameWithRange:]): Added. 19617 (-[NSString _web_encodeHostNameWithRange:]): Added. 19618 (-[NSString _web_decodeHostName]): Added. 19619 (-[NSString _web_encodeHostName]): Added. 19620 19621 * WebKit.pbproj/project.pbxproj: Added libicucore.dylib. 19622 * English.lproj/StringsNotToBeLocalized.txt: Updated for above changes. 19623 196242003-11-04 John Sullivan <sullivan@apple.com> 19625 19626 - a little optimization I noticed when looking at 3125137 19627 19628 Reviewed by Chris. 19629 19630 * Misc.subproj/WebStringTruncator.m: 19631 (truncateString): 19632 if incoming string has length 0, bail out right away 19633 196342003-11-04 Chris Blumenberg <cblu@apple.com> 19635 19636 Fixed: 19637 <rdar://problem/3472403>: RTFD of copied text and images should use original image data not tiffs 19638 <rdar://problem/3472435>: dragging local image file downloads it instead of copies it 19639 <rdar://problem/3472450>: copied and dragged local image files are TIFF, not original image data 19640 Reviewed by john. 19641 19642 * Misc.subproj/WebNSPasteboardExtras.h: 19643 * Misc.subproj/WebNSPasteboardExtras.m: 19644 (-[NSPasteboard _web_writeFileWrapperAsRTFDAttachment:]): new 19645 * Misc.subproj/WebNSViewExtras.h: 19646 * Misc.subproj/WebNSViewExtras.m: 19647 (-[NSView _web_dragImage:fileWrapper:rect:URL:title:event:]): take a file wrapper instead of data so [NSPasteboard _web_writeFileWrapperAsRTFDAttachment:] can be called 19648 * WebCoreSupport.subproj/WebBridge.m: 19649 (-[WebBridge fileWrapperForURL:]): call fileWrapperForURL on the WebView 19650 * WebView.subproj/WebDefaultContextMenuDelegate.m: 19651 (-[WebDefaultUIDelegate copyImageToClipboard:]): call [NSPasteboard _web_writeFileWrapperAsRTFDAttachment:] 19652 * WebView.subproj/WebHTMLView.m: 19653 (-[WebHTMLView _handleMouseDragged:]): when calling _web_dragImage, pass a file wrapper from fileWrapperForURL 19654 (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call fileWrapperForURL 19655 * WebView.subproj/WebImageRepresentation.h: 19656 * WebView.subproj/WebImageRepresentation.m: 19657 (-[WebImageRepresentation fileWrapper]): new 19658 * WebView.subproj/WebImageView.m: 19659 (-[WebImageView writeImageToPasteboard:]): call [NSPasteboard _web_writeFileWrapperAsRTFDAttachment:] 19660 (-[WebImageView mouseDragged:]): pass the file wrapper to _web_dragImage 19661 * WebView.subproj/WebView.m: 19662 (-[WebView _fileWrapperForURL:]): new, returns a file wrapper from a local file or from the cache 19663 * WebView.subproj/WebViewPrivate.h: 19664 196652003-11-04 John Sullivan <sullivan@apple.com> 19666 19667 - fixed <rdar://problem/3472813>: REGRESSION (100-111): Some tabs start 19668 out scrolled down to focused text field 19669 19670 Reviewed by Ken. 19671 19672 * WebView.subproj/WebHTMLView.m: 19673 (-[WebHTMLView acceptsFirstResponder]): 19674 The logic to avoid accepting first responder on clicks was too broad; 19675 it was rejecting first-responder-ness even for clicks outside of this 19676 view. Clicking a tab item was going through some logic in NSTabView 19677 looking for the first valid key view starting with the web view, but the 19678 web view was returning NO due to this faulty click logic. Thus the 19679 first subview text field was becoming first responder, and causing scroll. 19680 196812003-11-03 Chris Blumenberg <cblu@apple.com> 19682 19683 Fixed: 19684 <rdar://problem/3472377>: Provide NSRTFDPboardType on pasteboard when copying or dragging images 19685 <rdar://problem/3470809>: REGRESSION (111-112): Can't copy & paste image into Photoshop 7 19686 19687 Reviewed by hyatt. 19688 19689 * Misc.subproj/WebNSPasteboardExtras.h: 19690 * Misc.subproj/WebNSPasteboardExtras.m: 19691 (-[NSPasteboard _web_writeFileDataAsRTFDAttachment:withFilename:]): renamed, now writes file data as an RTF attachment 19692 * Misc.subproj/WebNSViewExtras.m: 19693 (-[NSView _web_dragImage:originalData:rect:URL:title:event:]): call renamed _web_writeFileDataAsRTFDAttachment 19694 * WebView.subproj/WebDefaultContextMenuDelegate.m: 19695 (-[WebDefaultUIDelegate copyImageToClipboard:]): call renamed _web_writeFileDataAsRTFDAttachment 19696 * WebView.subproj/WebImageView.m: 19697 (-[WebImageView writeImageToPasteboard:]): call renamed _web_writeFileDataAsRTFDAttachment 19698 196992003-11-03 Vicki Murley <vicki@apple.com> 19700 19701 Reviewed by kocienda. 19702 19703 - fixed <rdar://problem/3471096>: non-B&I builds should not use order files, because they cause false "regressions" in perf. 19704 19705 * WebKit.pbproj/project.pbxproj: added empty SECTORDER_FLAGS variables to the Development and Deployment build styles 19706 197072003-11-03 Ken Kocienda <kocienda@apple.com> 19708 19709 Reviewed by John 19710 19711 Fix for this bug: 19712 19713 <rdar://problem/3470342>: focus rings are shown for links in 19714 web pages even in non-frontmost windows 19715 19716 * WebView.subproj/WebHTMLView.m: 19717 (-[WebHTMLView updateFocusRing]): New method. Uses the "keyness" 19718 of the view's window to toggle focus ring drawing. 19719 (-[WebHTMLView windowDidBecomeKey:]): Calls updateFocusRing. 19720 (-[WebHTMLView windowDidResignKey:]): Ditto. 19721 197222003-11-01 Maciej Stachowiak <mjs@apple.com> 19723 19724 Reviewed by Darin. 19725 19726 - remove use of obsolete HTTLCookiePolicyBaseURL SPI 19727 19728 * WebCoreSupport.subproj/WebSubresourceClient.m: 19729 startLoadingResource:withURL:referrer:forDataSource:]): Use 19730 setMainDocumentURL, not setHTTPCookiePolicyBaseURL. 19731 * WebView.subproj/WebFrame.m: 19732 (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]): Likewise. 19733 * WebView.subproj/WebMainResourceClient.m: 19734 (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]): Likewise. 19735 197362003-11-01 Darin Adler <darin@apple.com> 19737 19738 Reviewed by Maciej. 19739 19740 - fixed 3470882 -- storage leaks in WebDownload code 19741 - fixed 3470884 -- download is always nil in downloadWindowForAuthenticationSheet: call from WebDownload 19742 19743 * Misc.subproj/WebDownload.m: 19744 (-[WebDownloadInternal initWithDownload:]): Removed this method, which was never called. 19745 (-[WebDownloadInternal dealloc]): Added missing call to [super dealloc] to fix one cause 19746 of a leak of the WebDownloadInternal object itself. Removed the release of webDownload, 19747 which was always nil, and if it wasn't would end up causing a leak due to a reference cycle. 19748 (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]): Remove the use of 19749 webDownload, which was always nil, and instead use the download parameter passed to us, 19750 casting it to WebDownload, since it's guaranteed to be one. 19751 (-[WebDownload _setRealDelegate:]): Added. Shared by the methods below to set up the real 19752 delegate before calling init. The old code called init twice, causing an second call to the 19753 superclass's init method, which caused it to create an extra copy of its internal structure, 19754 as well as causing us to create two WebDownloadInternal objects. 19755 (-[WebDownload init]): Don't allocate a second WebDownloadInternal if _setRealDelegate already 19756 allocated it for us. Before we would allocate and leak an extra one each time. 19757 (-[WebDownload dealloc]): Added. Releases the WebDownloadInternal. This is the second cause 19758 of the leak of the WebDownloadInternal object. 19759 (-[WebDownload initWithRequest:delegate:]): Call [self _setRealDelegate:] instead of calling 19760 [self init] and then [_webInternal setRealDelegate:], avoiding the leaks caused by doing it 19761 the other way. 19762 (-[WebDownload _initWithLoadingConnection:request:response:delegate:proxy:]): Ditto. 19763 (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): Ditto. 19764 (-[WebDownload _initWithRequest:delegate:directory:]): Ditto. 19765 197662003-10-31 David Hyatt <hyatt@apple.com> 19767 19768 Fix for 3466542, add a real minimum font size setting. 19769 Reviewed by john 19770 19771 * WebView.subproj/WebPreferences.h: 19772 * WebView.subproj/WebPreferences.m: 19773 (+[WebPreferences initialize]): 19774 (-[WebPreferences setMinimumFontSize:]): 19775 (-[WebPreferences minimumLogicalFontSize]): 19776 (-[WebPreferences setMinimumLogicalFontSize:]): 19777 * WebView.subproj/WebView.m: 19778 (-[WebView _updateWebCoreSettingsFromPreferences:]): 19779 197802003-10-31 Ken Kocienda <kocienda@apple.com> 19781 19782 Reviewed by Darin 19783 19784 Fix for this bug: 19785 19786 <rdar://problem/3469088>: focus not removed from text link 19787 when user hits cmd-L or clicks in window chrome 19788 19789 * WebView.subproj/WebHTMLView.m: 19790 (-[WebHTMLView deselectText]): Added new method just to deselect text. 19791 (-[WebHTMLView resignFirstResponder]): Just deseclect text if we 19792 are doing a programmatic setting of focus. Deselect all otherwise. 19793 197942003-10-30 Chris Blumenberg <cblu@apple.com> 19795 19796 Fixed: <rdar://problem/3458368>: drawing to the screen while window hidden: http://www.bhphotovideo.com/ 19797 19798 Reviewed by john. 19799 19800 * Plugins.subproj/WebBaseNetscapePluginView.m: 19801 (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): clip out the plug-in when the window is miniaturized or hidden 19802 (-[WebBaseNetscapePluginView restartNullEvents]): don't restart null events if the window is miniaturized, this allows restartNullEvents to be called in start and viewDidMoveToWindow without needing to make the check 19803 (-[WebBaseNetscapePluginView start]): just call restartNullEvents instead of checking if the window is miniaturized 19804 198052003-10-30 Ken Kocienda <kocienda@apple.com> 19806 19807 Reviewed by Hyatt 19808 19809 * WebCoreSupport.subproj/WebBridge.m: 19810 (-[WebBridge documentView]): Added. 19811 * WebCoreSupport.subproj/WebGraphicsBridge.h: Added. 19812 * WebCoreSupport.subproj/WebGraphicsBridge.m: Added. 19813 (+[WebGraphicsBridge createSharedBridge]): Added. 19814 (-[WebGraphicsBridge setFocusRingStyle:radius:color:]): Added. 19815 * WebKit.pbproj/project.pbxproj: 19816 * WebView.subproj/WebFrameView.m: Create a WebGraphicsBridge 19817 when creating a WebFrameView. 19818 19819=== Safari-112 === 19820 198212003-10-29 Maciej Stachowiak <mjs@apple.com> 19822 19823 Reviewed by Darin. 19824 19825 - fixed 3467632 - Leak of plugin info visiting http://www.ebay.com 19826 * Plugins.subproj/WebBasePluginPackage.m: 19827 (-[WebBasePluginPackage dealloc]): Release lastModifiedDate. 19828 198292003-10-29 Chris Blumenberg <cblu@apple.com> 19830 19831 WebKit part of fix for: 19832 <rdar://problem/3467744>: Photoshop files (.psd) don't show up in Open dialog in Safari, but can be viewed 19833 <rdar://problem/3109132>: Can't open movie file via open panel even though it can be dropped in browser window 19834 19835 Reviewed by john. 19836 19837 * WebView.subproj/WebView.m: 19838 (+[WebView _supportedMIMETypes]): new 19839 (+[WebView _supportedFileExtensions]): new 19840 * WebView.subproj/WebViewPrivate.h: 19841 198422003-10-29 Chris Blumenberg <cblu@apple.com> 19843 19844 Fixed: <rdar://problem/3438716>: jpg and gif images copied from Safari and placed in mail are sent as tiff 19845 19846 Reviewed by john. 19847 19848 * Misc.subproj/WebNSPasteboardExtras.h: 19849 * Misc.subproj/WebNSPasteboardExtras.m: 19850 (-[NSPasteboard _web_writeFileContents:withFilename:]): new 19851 * Misc.subproj/WebNSViewExtras.h: 19852 * Misc.subproj/WebNSViewExtras.m: 19853 (-[NSView _web_dragImage:originalData:rect:URL:title:event:]): now takes originalData and calls _web_fileContents:withFilename: 19854 * WebView.subproj/WebDefaultContextMenuDelegate.m: 19855 (-[WebDefaultUIDelegate copyImageToClipboard:]): call _web_writeFileContents:withFilename: 19856 * WebView.subproj/WebHTMLView.m: 19857 (-[WebHTMLView _handleMouseDragged:]): call renamed _web_dragImage and [WebView _cachedResponseForURL:] 19858 (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call [WebView _cachedResponseForURL:] 19859 * WebView.subproj/WebImageView.m: 19860 (-[WebImageView writeImageToPasteboard:]): call _web_writeFileContents:withFilename: 19861 (-[WebImageView mouseDragged:]): call renamed _web_dragImage 19862 * WebView.subproj/WebView.m: 19863 (-[WebView _cachedResponseForURL:]): new 19864 * WebView.subproj/WebViewPrivate.h: 19865 198662003-10-28 John Sullivan <sullivan@apple.com> 19867 19868 - fixed <rdar://problem/3466082>: 7B85/111: Crash viewing web page ([WebView setNextKeyView:]) 19869 19870 Reviewed by Chris. 19871 19872 * WebView.subproj/WebView.m: 19873 (-[WebView dealloc]): 19874 set _private to nil after releasing, because [super dealloc] can dispatch to it 19875 (-[WebView mainFrame]): 19876 fixed spelling error in comment 19877 198782003-10-28 Chris Blumenberg <cblu@apple.com> 19879 19880 Fixed: <rdar://problem/3465383>: REGRESSION: Text field progress bar goes to 100% after error or stop 19881 Reviewed by john. 19882 19883 * WebView.subproj/WebFrame.m: 19884 (-[WebFrame _isLoadComplete]): call _progressCompleted after we deliver the didFailLoadWithError or didFinishLoadForFrame message as we do in other places. This allows to be aware of the error (if there is one), when they get the WebViewProgressFi 19885 19886 19887nishedNotification notification. 19888 198892003-10-27 Maciej Stachowiak <mjs@apple.com> 19890 19891 Reviewed by Darin. 19892 19893 - fixed 3083264 - frame names changed by JavaScript are not reflected in WebFrame at the WebKit level 19894 19895 * WebCoreSupport.subproj/WebBridge.m: 19896 (-[WebBridge didSetName:]): Tell the WebFrame about its new name. 19897 198982003-10-28 John Sullivan <sullivan@apple.com> 19899 19900 - fixed 3465613 -- REGRESSION (111): Crash creating nib that 19901 contains WebView 19902 19903 Reviewed by Chris. 19904 19905 * WebView.subproj/WebView.m: 19906 (-[WebView mainFrame]): 19907 check for nil _private before dereferencing. 19908 199092003-10-28 Chris Blumenberg <cblu@apple.com> 19910 19911 Fixed: <rdar://problem/3465591>: Security: Netscape plug-ins can execute JavaScript in other frames 19912 19913 Reviewed by mjs. 19914 19915 * Plugins.subproj/WebBaseNetscapePluginView.m: 19916 (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): renamed, no need to pass the target frame since the target is either the plug-in itself or the frame that contains the plug-in 19917 (-[WebBaseNetscapePluginView loadPluginRequest:]): call renamed evaluateJavaScriptPluginRequest 19918 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): if this is a JS request that is targeted at a frame, return NPERR_INVALID_PARAM if the frame is not the frame that contains the plugin 19919 199202003-10-28 Chris Blumenberg <cblu@apple.com> 19921 19922 Fixed: <rdar://problem/3437959>: javascript: URLs don't work from Java (and other Cocoa plugins, if any) 19923 19924 Reviewed by mjs. 19925 19926 * Plugins.subproj/WebPluginController.m: 19927 (-[WebPluginController showURL:inFrame:]): support JS requests targeted only to the plug-in's frame. 19928 199292003-10-27 John Sullivan <sullivan@apple.com> 19930 19931 - fixed 3441258 -- hysteresis to start dragging a link is too small; too easy to start drag 19932 19933 Reviewed by Chris. 19934 19935 * WebView.subproj/WebHTMLView.m: 19936 (-[WebHTMLView _handleMouseDragged:]): 19937 Split DragHysteresis into two values, one for links and one for images. Make 19938 the link one much larger than the image one (since dragging an image doesn't 19939 occur accidentally in the ways that dragging a link does). 19940 199412003-10-27 Chris Blumenberg <cblu@apple.com> 19942 19943 Fixed: <rdar://problem/3462523>: Safari Sometimes Destroys Applets When Going "Back" 19944 19945 Reviewed by darin. 19946 19947 * History.subproj/WebHistoryItem.m: 19948 (+[WebHistoryItem _destroyAllPluginsInPendingPageCaches]): Don't destroy plug-ins that are currently being viewed. 19949 199502003-10-27 Chris Blumenberg <cblu@apple.com> 19951 19952 Fixed: <rdar://problem/3463144>: assertion failure when viewing jpeg with SoundPix installed 19953 19954 Reviewed by john. 19955 19956 * WebView.subproj/WebDataSource.m: 19957 (+[WebDataSource _repTypesAllowImageTypeOmission:]): don't allow image types to override types that are already registered as we do in [WebFrameView _viewTypesAllowImageTypeOmission:] 19958 199592003-10-24 Chris Blumenberg <cblu@apple.com> 19960 19961 Fixed: 19962 <rdar://problem/3462977>: ER: Nice if images dragged from web pages didn't redownload 19963 <rdar://problem/3031582>: Dragging an image to the desktop doesn't leave the file where I dropped it 19964 <rdar://problem/3061371>: "CFURLGetFSRef failed" log when dragging image to Finder 19965 19966 Reviewed by john. 19967 19968 * WebView.subproj/WebHTMLView.m: 19969 (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): attempt to fetch the image data from the cache, if that works, write out the file 19970 199712003-10-26 Darin Adler <darin@apple.com> 19972 19973 * WebKitPrefix.h: Add a definition of NULL here so we get the stricter type checking 19974 even on pre-Merlot systems. 19975 19976=== Safari-111 === 19977 199782003-10-24 Richard Williamson <rjw@apple.com> 19979 19980 Fixed 3425358. Don't try to create page cache for pages that 19981 have a nil view(). 19982 19983 Reviewed by Hyatt. 19984 19985 * WebView.subproj/WebFrame.m: 19986 (-[WebFrame _createPageCacheForItem:]): 19987 (-[WebFrame _setState:]): 19988 199892003-10-24 Chris Blumenberg <cblu@apple.com> 19990 Fixed: <rdar://problem/3424039>: standalone plug-in content occasionaly redirects to blank page 19991 19992 Reviewed by john. 19993 19994 * Plugins.subproj/WebBaseNetscapePluginView.m: 19995 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): don't honor JS requests from standalone plug-ins to workaround 3462628 which is a deeper issue. 19996 199972003-10-24 Chris Blumenberg <cblu@apple.com> 19998 19999 Fixed: <rdar://problem/3462256>: REGRESSION: Plain text is downloaded 20000 20001 Reviewed by john. 20002 20003 * WebView.subproj/WebView.m: 20004 (+[WebView _viewClass:andRepresentationClass:forMIMEType:]): use _web_objectForMIMEType when getting an object for a MIME. Removed unnecessary code that checked for the document classes after loading the plug-in DB since it is not an optimization because 20005 20006 20007 the plug-in DB calls _viewTypesAllowImageTypeOmission:NO. 20008 200092003-10-23 Chris Blumenberg <cblu@apple.com> 20010 20011 Fixed: <rdar://problem/3364036>: ER: Allow plug-ins to override built-in types such as image/jpeg 20012 20013 Reviewed by john. 20014 20015 * Plugins.subproj/WebPluginDatabase.m: 20016 (-[WebPluginDatabase refresh]): Allow plug-ins to override built-in types except for our core HTML types and don't allow the QT plug-in to override any types because it handles many types that we already handle 20017 * WebCoreSupport.subproj/WebBridge.m: 20018 (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:): instead of asserting, handle the case where we ask a plug-in to map from an extension to a MIME type, but nil is returned 20019 (-[WebBridge frameRequiredForMIMEType:URL:]): no need to start up the plug-in DB because this is now handled by [WebView _viewClass:andRepresentationClass:forMIMEType:] 20020 * WebView.subproj/WebDataSource.m: 20021 (+[WebDataSource _representationClassForMIMEType:]): call [WebView _viewClass:andRepresentationClass:forMIMEType:] 20022 (-[WebDataSource _makeRepresentation]): call _representationClassForMIMEType 20023 * WebView.subproj/WebDataSourcePrivate.h: 20024 * WebView.subproj/WebFrameView.m: 20025 (-[WebFrameView _makeDocumentViewForDataSource:]): tweak 20026 (+[WebFrameView _viewClassForMIMEType:]): call [WebView _viewClass:andRepresentationClass:forMIMEType:] 20027 * WebView.subproj/WebView.m: 20028 (+[WebView _viewClass:andRepresentationClass:forMIMEType:]): new, central place for mapping from a MIME to the document classes. We now load the plug-in DB when a non-HTML MIME type is encountered instead of loading the plug-in DB when the class for the 20029 20030 20031MIME type is not found. This is required to fully fix 3364036. 20032 (+[WebView canShowMIMEType:]): call [WebView _viewClass:andRepresentationClass:forMIMEType:] 20033 (+[WebView registerViewClass:representationClass:forMIMEType:]): tweak 20034 * WebView.subproj/WebViewPrivate.h: 20035 200362003-10-23 John Sullivan <sullivan@apple.com> 20037 20038 - fixed 3459272 -- Can't set up keyboard loop inside a 20039 WebDocumentView without subclassing views 20040 - fixed 3179062 -- can't tab back to address bar from image-only 20041 page 20042 - fixed 3252009 -- tabbing from address bar to content area does 20043 not work with WebTextView 20044 - fixed 3461398 -- Can't click on a standalone image to focus it 20045 (for later keyboard scrolling) 20046 20047 I redid the way WebView and WebFrameView splice themselves into 20048 the keyview loop in a way very similar to what NSScrollView and 20049 NSClipView do. This means that contained and sibling views won't 20050 need to do anything special to put themselves into the key loop. 20051 20052 Reviewed by Chris. 20053 20054 * WebView.subproj/WebFrameView.m: 20055 (-[WebFrameView _scrollView]): 20056 check for nil pointer before dereferencing; this can happen 20057 during [super dealloc]'s keyview-loop-fixup code 20058 (-[WebFrameView initWithFrame:]): 20059 wire our nextKeyView link to the contained scrollview (so 20060 previousKeyView will work correctly from scrollview) 20061 (-[WebFrameView acceptsFirstResponder]): 20062 return what the contained scrollview says 20063 (-[WebFrameView becomeFirstResponder]): 20064 in previous direction, use previousValidKeyView (follows normal 20065 NSView keyview links); in forward direction, hand first 20066 responder-ness to contained scrollview (which will in turn hand 20067 it down to clipview, which will in turn hand it down to document) 20068 (-[WebFrameView setNextKeyView:]): 20069 wire up scrollview instead of self, if it exists 20070 20071 * WebView.subproj/WebImageView.m: 20072 (-[WebImageView acceptsFirstResponder]): 20073 overridden to return YES; this fixes 3461398 and puts the finishing 20074 touches on 3179062 20075 20076 * WebView.subproj/WebView.m: 20077 (-[WebView _commonInitializationWithFrameName:groupName:]): 20078 wire our nextKeyView link to the contained webframeview (so 20079 previousKeyView will work correctly from webframeview). Also, 20080 if there's a nextKeyView already set (in a nib, e.g.), wire 20081 it to our contained webframeview. 20082 (-[WebView acceptsFirstResponder]): 20083 return what the contained webframeview says 20084 (-[WebView becomeFirstResponder]): 20085 in previous direction, use previousValidKeyView (follows normal 20086 NSView keyview links); in forward direction, hand first 20087 responder-ness to contained webframeview (which will in turn hand 20088 it down to scrollview, etc.) 20089 (-[WebView setNextKeyView:]): 20090 wire up webframeview instead of self, if it exists 20091 200922003-10-22 Richard Williamson <rjw@apple.com> 20093 20094 Match WebCore's notion of distributing linegap between top and bottom of 20095 line. WebKit used to put it all at the bottom of the line. 20096 20097 Reviewed by Hyatt. 20098 20099 * WebCoreSupport.subproj/WebTextRenderer.h: 20100 * WebCoreSupport.subproj/WebTextRenderer.m: 20101 (-[WebTextRenderer initWithFont:usingPrinterFont:]): 20102 (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]): 20103 201042003-10-21 Maciej Stachowiak <mjs@apple.com> 20105 20106 Reviewed by Dave. 20107 20108 Finished exception blocking changes, so now I can finally say: 20109 20110 - fixed 3137084 - Many non-reproducible crashers in ContextImp::mark / ScopeChain::mark 20111 - fixed 3308848 - nil-deref in KHTMLView::topLevelWidget 20112 - fixed 3311511 - nil deref inside KJS::Screen 20113 - fixed 3397422 - 7B51: Safari crashed in KJS::ObjectImp::mark() 20114 - fixed 3408373 - Panther7B58 : Safari Crashed in KJS::ObjectImp::mark 20115 - fixed 3409307 - 7B55: safari crashed in KJS::Interpreter::globalExec() (idle, nothing particular going on) 20116 - fixed 3410160 - 7B60 Safari crashed in KHTMLPart::parentPart called from JS while in the background 20117 - fixed 3413224 - unrepro crash in KJS::Window::mark 20118 - fixed 3419940 - unrepro crash in KJS::Collector::allocate trying to access http://www.lindyinthepalms.com 20119 - fixed 3420123 - Panther7B66: Safari crashed while going to http://www.tangents.co.uk/index2.html 20120 - fixed 3423225 - Safari crash in vtable for KWQMapImpl (vtable for KWQMapImpl + 8). 20121 - fixed 3437190 - nil-deref on quit in calling marked() from ScopeChain::mark() 20122 20123 * WebCoreSupport.subproj/WebTextRenderer.m: 20124 (-[WebTextRenderer ascent]): 20125 (-[WebTextRenderer descent]): 20126 (-[WebTextRenderer lineSpacing]): 20127 (-[WebTextRenderer xHeight]): 20128 (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]): 20129 (-[WebTextRenderer _smallCapsRenderer]): 20130 (-[WebTextRenderer _initializeATSUStyle]): 20131 (-[WebTextRenderer _createATSUTextLayoutForRun:]): 20132 (-[WebTextRenderer _trapezoidForRun:style:atPoint:]): 20133 (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]): 20134 (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]): 20135 (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]): 20136 201372003-10-22 Richard Williamson <rjw@apple.com> 20138 20139 Fixed 3458715. Reset to 0, not .1 when done. 20140 20141 Reviewed by Chris. 20142 20143 * WebView.subproj/WebView.m: 20144 (-[WebView _resetProgress]): 20145 (-[WebView _progressStarted:]): 20146 201472003-10-21 Richard Williamson <rjw@apple.com> 20148 20149 Don't use small caps font for characters that don't have an 20150 uppercase counterpart (i.e. punctuation marks). 20151 20152 Reviewed by Hyatt. 20153 20154 * WebCoreSupport.subproj/WebTextRenderer.m: 20155 (widthForNextCharacter): 20156 201572003-10-21 Chris Blumenberg <cblu@apple.com> 20158 20159 Fixed: <rdar://problem/3176170>: OBJECT tag with no or empty TYPE is mishandled 20160 Reviewed by rjw. 20161 20162 * Plugins.subproj/WebPluginDatabase.m: 20163 (-[WebPluginDatabase pluginForExtension:]): If no plug-in is found from the extension, attempt to map from the extension to a MIME type using our mappings and find a plug-in from the MIME type. This improves our chances of finding a plug-in when n 20164 20165 20166o MIME type is specified. 20167 * WebCoreSupport.subproj/WebBridge.m: 20168 (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): If the passed MIME is empty, nil it out so that clients only need to check for nil. This avoids error sheets complaining about "" MIME types. 20169 (-[WebBridge frameRequiredForMIMEType:URL:]): Renamed to include URL. If no MIME is specified, only create a plug-in view if we can map from the extension. 20170 201712003-10-20 Chris Blumenberg <cblu@apple.com> 20172 20173 Fixed: <rdar://problem/3457627>: empty Flash plugin at tvguide.com 20174 Fixed issues with plug-in stream error handling. 20175 Improved plug-in logging. 20176 20177 Reviewed by kocienda. 20178 20179 * Misc.subproj/WebKitLogging.h: added WebKitLogPluginEvents 20180 * Misc.subproj/WebKitLogging.m: 20181 * Plugins.subproj/WebBaseNetscapePluginStream.h: 20182 * Plugins.subproj/WebBaseNetscapePluginStream.m: 20183 (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): improved logging 20184 (-[WebBaseNetscapePluginStream destroyStream]): improved logging 20185 (-[WebBaseNetscapePluginStream destroyStreamWithFailingReason:]): renamed from cancelWithReason to avoid confusion 20186 (-[WebBaseNetscapePluginStream receivedError:]): calls destroyStreamWithFailingReason after determining a reason from the NSError 20187 (-[WebBaseNetscapePluginStream cancelWithReason:]): calls destroyStreamWithFailingReason, this method is overriden by subclasses to cancel the actual load 20188 (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): call destroyStreamWithFailingReason, not cancelWithReason because the loaded has already ended here 20189 (-[WebBaseNetscapePluginStream deliverData]): improved logging 20190 * Plugins.subproj/WebBaseNetscapePluginView.m: 20191 (-[WebBaseNetscapePluginView sendActivateEvent:]): use even logging 20192 (-[WebBaseNetscapePluginView sendUpdateEvent]): ditto 20193 (-[WebBaseNetscapePluginView becomeFirstResponder]): ditto 20194 (-[WebBaseNetscapePluginView resignFirstResponder]): ditto 20195 (-[WebBaseNetscapePluginView mouseDown:]): ditto 20196 (-[WebBaseNetscapePluginView mouseUp:]): ditto 20197 (-[WebBaseNetscapePluginView mouseEntered:]): ditto 20198 (-[WebBaseNetscapePluginView mouseExited:]): ditto 20199 (TSMEventHandler): ditto 20200 (-[WebBaseNetscapePluginView destroyStream:reason:]): call cancelWithReason so the reason is passed back to the plug-in 20201 * Plugins.subproj/WebNetscapePluginDocumentView.m: 20202 (-[WebNetscapePluginDocumentView setDataSource:]): tweak 20203 * Plugins.subproj/WebNetscapePluginRepresentation.m: 20204 (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): call receivedError 20205 (-[WebNetscapePluginRepresentation cancelWithReason:]): override, cancel the load, call super 20206 * Plugins.subproj/WebNetscapePluginStream.m: 20207 (-[WebNetscapePluginStream cancelWithReason:]): override, cancel the load, call super 20208 (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): be sure to call the stream before calling super because the stream can be cleared out when calling super 20209 (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:lengthReceived:]): ditto 20210 (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): ditto 20211 (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): ditto 20212 202132003-10-20 Richard Williamson <rjw@apple.com> 20214 20215 Conditionally excluded fix for 3446192. We'll enable the fix once 3446669 20216 has been fixed. This patch switches to the new UTI typing API for pasteboard types. 20217 20218 Reviewed by Ken. 20219 20220 * Misc.subproj/WebNSPasteboardExtras.m: 20221 (+[NSPasteboard initialize]): 20222 202232003-10-20 Richard Williamson <rjw@apple.com> 20224 20225 Fixed 3456103. Don't assert, just check for inappropriate state. 20226 Reviewed by Hyatt 20227 20228 Add a debug menu item to always use ATSU text drawing. This will be helpful 20229 to the ATSU folks in performance tuning there API. Right now I see approx. 20230 2X slowdown using ATSU. 20231 20232 Also did some shuffling around of inline related stuff. 20233 20234 Reviewed by Chris. 20235 20236 * WebCoreSupport.subproj/WebTextRenderer.h: 20237 * WebCoreSupport.subproj/WebTextRenderer.m: 20238 (isControlCharacter): 20239 (isAlternateSpace): 20240 (isSpace): 20241 (getUncachedWidth): 20242 (widthFromMap): 20243 (widthForGlyph): 20244 (+[WebTextRenderer _setAlwaysUseATSU:]): 20245 (glyphForCharacter): 20246 (glyphForUnicodeCharacter): 20247 (shouldUseATSU): 20248 * WebView.subproj/WebView.m: 20249 (+[WebView _setAlwaysUseATSU:]): 20250 (-[WebView _progressCompleted:]): 20251 * WebView.subproj/WebViewPrivate.h: 20252 202532003-10-19 Chris Blumenberg <cblu@apple.com> 20254 20255 Fixed: <rdar://problem/3442218>: crash due to infinite recursion trying to load standalone plug-in content 20256 20257 Reviewed by darin. 20258 20259 * WebView.subproj/WebFrame.m: 20260 (-[WebFrame stopLoading]): manage the isStoppingLoad ivar, return if isStoppingLoad is YES 20261 * WebView.subproj/WebFramePrivate.h: added the isStoppingLoad ivar 20262 202632003-10-19 Darin Adler <darin@apple.com> 20264 20265 Reviewed by Dave and Ken. 20266 20267 - fixed 3457066 -- REGRESSION (91-92): command-left-arrow causes a scroll to the left before going back 20268 20269 * WebView.subproj/WebFrameView.m: (-[WebFrameView keyDown:]): Add an else so that we don't fall into the 20270 scrolling code when the command key is down for right and left arrow. 20271 202722003-10-18 Chris Blumenberg <cblu@apple.com> 20273 20274 Fixed: <rdar://problem/3229530>: Dragging standalone image to desktop should save it, not re-download it 20275 20276 Reviewed by darin. 20277 20278 * English.lproj/Localizable.strings: 20279 * WebKit.pbproj/project.pbxproj: 20280 * WebView.subproj/WebDocumentPrivate.h: Added. 20281 * WebView.subproj/WebImageRepresentation.h: 20282 * WebView.subproj/WebImageRepresentation.m: 20283 (-[WebImageRepresentation dealloc]): release new filename and data ivars 20284 (-[WebImageRepresentation doneLoading]): return YES if data is non-nil 20285 (-[WebImageRepresentation setDataSource:]): store the filename 20286 (-[WebImageRepresentation receivedError:withDataSource:]): store the data 20287 (-[WebImageRepresentation finishedLoadingWithDataSource:]): store the data 20288 (-[WebImageRepresentation data]): new 20289 (-[WebImageRepresentation filename]): new 20290 * WebView.subproj/WebImageView.m: 20291 (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]): just save the image, don't download it 20292 (-[WebImageView image]): new 20293 202942003-10-17 Chris Blumenberg <cblu@apple.com> 20295 20296 Fixed: <rdar://problem/3456176>: Assertion failure when loading atomfilms.com 20297 20298 Reviewed by kocienda. 20299 20300 * Plugins.subproj/WebNetscapePluginStream.m: 20301 (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:lengthReceived:]): call super before calling plug-in code as we do in other callbacks 20302 (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): ditto 20303 (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): ditto 20304 203052003-10-16 Richard Williamson <rjw@apple.com> 20306 20307 Fixed 3455306. Ensure that progress is correctly ended when a load is interupted (i.e. becomes a download). 20308 20309 Reviewed by mjs. 20310 20311 * WebView.subproj/WebFrame.m: 20312 (-[WebFrame _isLoadComplete]): 20313 203142003-10-16 Chris Blumenberg <cblu@apple.com> 20315 20316 Fixed: <rdar://problem/3455176>: Assertion failure when loading non-existant plug-in content 20317 20318 Reviewed by rjw. 20319 20320 * Misc.subproj/WebDownload.m: fixed build failure when using new Foundation. We are overriding and calling a renamed method. Continue to override the old method, override the new method and declare their interfaces to avoid build failures. 20321 * Plugins.subproj/WebNetscapePluginStream.m: 20322 (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): cancel the load before telling the plug-in about the error so plug-in code doesn't attempt to cancel the load twice 20323 203242003-10-16 Richard Williamson <rjw@apple.com> 20325 20326 Fixed 3453991. We weren't setting the array cursor correctly after changing 20327 capacity. 20328 20329 Reviewed by John. 20330 20331 * ChangeLog: 20332 * History.subproj/WebBackForwardList.m: 20333 (-[WebBackForwardList setCapacity:]): 20334 20335=== Safari-110 === 20336 203372003-10-16 Richard Williamson <rjw@apple.com> 20338 20339 Tweaked the progress behavior and factored cleanup of progress 20340 related ivars. 20341 20342 Reviewed by Hyatt. 20343 20344 * WebView.subproj/WebDataSource.m: 20345 (-[WebDataSource _startLoading:]): 20346 * WebView.subproj/WebFrame.m: 20347 (-[WebFrame _isLoadComplete]): 20348 * WebView.subproj/WebView.m: 20349 (-[WebView _resetProgress]): 20350 (-[WebView _progressStarted:]): 20351 (-[WebView _finalProgressComplete]): 20352 (-[WebView _progressCompleted:]): 20353 (-[WebView _incrementProgressForConnection:data:]): 20354 * WebView.subproj/WebViewPrivate.h: 20355 203562003-10-14 Richard Williamson <rjw@apple.com> 20357 20358 Added logging for estimated progress. 20359 20360 Added a time delta to the throttler, so we now send notifications 20361 if a delta amount has been exceeded OR a delta between notifications 20362 has been exceeded. 20363 20364 Reviewed by Chris. 20365 20366 * Misc.subproj/WebKitLogging.h: 20367 * Misc.subproj/WebKitLogging.m: 20368 * WebView.subproj/WebView.m: 20369 (-[WebViewPrivate init]): 20370 (-[WebView _progressStarted]): 20371 (-[WebView _progressCompleted]): 20372 (-[WebView _incrementProgressForConnection:data:]): 20373 * WebView.subproj/WebViewPrivate.h: 20374 203752003-10-14 Ken Kocienda <kocienda@apple.com> 20376 20377 Reviewed by Darin 20378 20379 Fix for this bug: 20380 20381 <rdar://problem/3450449>: assertion failure in WebBridge 20382 _retrieveKeyboardUIModeFromPreferences 20383 20384 Can't assert that the preference always exists and is valid as I 20385 thought you could. This could just mean that the a preference for full 20386 keyboard access has not been specified by the user yet. If this is so, 20387 just return the default keyboard access mode. 20388 20389 * WebCoreSupport.subproj/WebBridge.m: 20390 (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]) 20391 203922003-10-13 Richard Williamson <rjw@apple.com> 20393 20394 Added support for small-caps. 20395 20396 Reworked drawing and measuring to use new iterators. Position checking was already using 20397 the new iterator code, but I was reluctant to switch the mainline drawing and measuring 20398 code over to the new approach until now. 20399 20400 Lots of other code cleanup. 20401 20402 Reviewed by John. 20403 20404 * Misc.subproj/WebUnicode.m: 20405 (initializeCharacterShapeIterator): 20406 * WebCoreSupport.subproj/WebTextRenderer.h: 20407 * WebCoreSupport.subproj/WebTextRenderer.m: 20408 (+[WebTextRenderer shouldBufferTextDrawing]): 20409 (+[WebTextRenderer initialize]): 20410 (-[WebTextRenderer initWithFont:usingPrinterFont:]): 20411 (-[WebTextRenderer dealloc]): 20412 (-[WebTextRenderer widthForCharacters:length:]): 20413 (-[WebTextRenderer widthForString:]): 20414 (-[WebTextRenderer ascent]): 20415 (-[WebTextRenderer descent]): 20416 (-[WebTextRenderer lineSpacing]): 20417 (-[WebTextRenderer xHeight]): 20418 (-[WebTextRenderer drawRun:style:atPoint:]): 20419 (-[WebTextRenderer floatWidthForRun:style:widths:]): 20420 (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]): 20421 (-[WebTextRenderer drawHighlightForRun:style:atPoint:]): 20422 (-[WebTextRenderer pointToOffset:style:position:reversed:]): 20423 (-[WebTextRenderer _setIsSmallCapsRenderer:]): 20424 (-[WebTextRenderer _isSmallCapsRenderer]): 20425 (-[WebTextRenderer _smallCapsRenderer]): 20426 (-[WebTextRenderer _smallCapsFont]): 20427 (-[WebTextRenderer _substituteFontForString:families:]): 20428 (-[WebTextRenderer _substituteFontForCharacters:length:families:]): 20429 (-[WebTextRenderer _convertCharacters:length:toGlyphs:skipControlCharacters:]): 20430 (-[WebTextRenderer _convertUnicodeCharacters:length:toGlyphs:]): 20431 (-[WebTextRenderer _computeWidthForSpace]): 20432 (-[WebTextRenderer _setupFont]): 20433 (_drawGlyphs): 20434 (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]): 20435 (-[WebTextRenderer _CG_drawRun:style:atPoint:]): 20436 (-[WebTextRenderer _floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]): 20437 (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]): 20438 (-[WebTextRenderer _extendUnicodeCharacterToGlyphMapToInclude:]): 20439 (-[WebTextRenderer _updateGlyphEntryForCharacter:glyphID:font:]): 20440 (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]): 20441 (-[WebTextRenderer _extendGlyphToWidthMapToInclude:font:]): 20442 (-[WebTextRenderer _trapezoidForRun:style:atPoint:]): 20443 (-[WebTextRenderer _ATSU_floatWidthForRun:style:]): 20444 (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]): 20445 (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]): 20446 (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]): 20447 (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:]): 20448 (freeWidthMap): 20449 (freeGlyphMap): 20450 (glyphForCharacter): 20451 (glyphForUnicodeCharacter): 20452 (mapForSubstituteFont): 20453 (widthFromMap): 20454 (widthForGlyph): 20455 (initializeCharacterWidthIterator): 20456 (widthAndGlyphForSurrogate): 20457 (ceilCurrentWidth): 20458 (widthForNextCharacter): 20459 (fillStyleWithAttributes): 20460 (findLengthOfCharacterCluster): 20461 (shouldUseATSU): 20462 (isControlCharacter): 20463 (isAlternateSpace): 20464 (isSpace): 20465 (fontContainsString): 20466 (GetScratchUniCharString): 20467 (toUpper): 20468 (isUpper): 20469 204702003-10-10 Maciej Stachowiak <mjs@apple.com> 20471 20472 * English.lproj/StringsNotToBeLocalized.txt: Fixed for Private 20473 change from a while back. 20474 204752003-10-10 David Hyatt <hyatt@apple.com> 20476 20477 Patch to move widgets during layout instead of waiting until paint time. 20478 Reviewed by darin 20479 20480 * WebView.subproj/WebDataSource.m: 20481 * WebView.subproj/WebDataSourcePrivate.h: 20482 * WebView.subproj/WebFrame.m: 20483 (-[WebFrame _isLoadComplete]): 20484 * WebView.subproj/WebHTMLView.m: 20485 * WebView.subproj/WebHTMLViewPrivate.h: 20486 204872003-10-09 Richard Williamson <rjw@apple.com> 20488 20489 Ensure that the autoscroll timer is always stopped if a mouse up event is lost. 20490 20491 Reviewed by John. 20492 20493 * WebView.subproj/WebHTMLView.m: 20494 (-[WebHTMLViewPrivate dealloc]): 20495 (-[WebHTMLView _startAutoscrollTimer:]): 20496 (-[WebHTMLView _stopAutoscrollTimer]): 20497 (-[WebHTMLView _autoscroll]): 20498 (-[WebHTMLView mouseDown:]): 20499 * WebView.subproj/WebHTMLViewPrivate.h: 20500 205012003-10-09 Chris Blumenberg <cblu@apple.com> 20502 20503 Fixed: <rdar://problem/3333897>: should support navigator.plugins.refresh as a way to add a plugin without restarting Safari 20504 20505 Reviewed by rjw. 20506 20507 * Plugins.subproj/WebBaseNetscapePluginView.m: 20508 (-[WebBaseNetscapePluginView dealloc]): release the plug-in object 20509 * Plugins.subproj/WebBasePluginPackage.h: 20510 * Plugins.subproj/WebBasePluginPackage.m: 20511 (-[WebBasePluginPackage initWithPath:]): store the last mod date 20512 (-[WebBasePluginPackage dealloc]): release the last mod date 20513 (-[WebBasePluginPackage lastModifiedDate]): new 20514 (-[WebBasePluginPackage isEqual:]): new 20515 (-[WebBasePluginPackage hash]): new 20516 * Plugins.subproj/WebNetscapePluginPackage.m: 20517 (-[WebNetscapePluginPackage load]): convert the NPP_Shutdown proc pointer so that we can use it later 20518 (-[WebNetscapePluginPackage unload]): added log message 20519 * Plugins.subproj/WebPluginDatabase.h: 20520 * Plugins.subproj/WebPluginDatabase.m: 20521 (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): tweak 20522 (-[WebPluginDatabase plugins]): tweak 20523 (-[WebPluginDatabase init]): call refresh 20524 (-[WebPluginDatabase refresh]): new 20525 (-[WebPluginDatabase loadPluginIfNeededForMIMEType:]): tweak 20526 * WebCoreSupport.subproj/WebViewFactory.m: 20527 (-[WebViewFactory refreshPlugins:]): new 20528 * WebView.subproj/WebControllerSets.h: 20529 * WebView.subproj/WebControllerSets.m: 20530 (+[WebViewSets makeWebViewsPerformSelector:]): new 20531 * WebView.subproj/WebFrame.m: 20532 (-[WebFrame _reloadForPluginChanges]): new 20533 * WebView.subproj/WebFramePrivate.h: 20534 * WebView.subproj/WebView.m: 20535 (-[WebView _reloadForPluginChanges]): new 20536 * WebView.subproj/WebViewPrivate.h: 20537 20538=== Safari-109 === 20539 205402003-10-03 Richard Williamson <rjw@apple.com> 20541 20542 Fix part of 3438071. Creating an instance of WebPreferences using init 20543 will do the expected thing: that is, create a new instance! We used to 20544 always return standardPreferences. 20545 20546 Reviewed by Chris. 20547 20548 * WebView.subproj/WebPreferences.m: 20549 (-[WebPreferences init]): 20550 (+[WebPreferences standardPreferences]): 20551 205522003-10-03 David Hyatt <hyatt@apple.com> 20553 20554 Fix for numerous regressions caused by an inadvertent renaming of the recursiveDisplay 20555 override method. 20556 Reviewed by darin 20557 20558 * WebView.subproj/WebHTMLView.m: 20559 (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]): 20560 205612003-10-03 Richard Williamson (Home0 <rjw@apple.com> 20562 20563 Fixed some edge case issue (control characters after end of word) with our rounding hack. 20564 20565 Reviewed by Darin. 20566 20567 * WebCoreSupport.subproj/WebTextRenderer.m: 20568 (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]): 20569 205702003-10-03 Ken Kocienda <kocienda@apple.com> 20571 20572 Reviewed by Darin, with much help from Maciej and Hyatt 20573 20574 Fix for this bug: 20575 20576 <rdar://problem/3441321>: Form buttons do not respond to key events when focused 20577 20578 * WebView.subproj/WebFrameView.m: 20579 (-[WebFrameView _firstResponderIsControl]): Added to tell if the focus 20580 is on a form control. 20581 (-[WebFrameView keyDown:]): Call new _firstResponderIsControl method to see 20582 whether space bar key events should propagate. Adding this check keeps us 20583 from blocking the event here and allows AppKit to handle it. 20584 * WebView.subproj/WebFrameViewPrivate.h: Add new _firstResponderIsControl 20585 method. 20586 205872003-10-02 Maciej Stachowiak <mjs@apple.com> 20588 20589 Folded Private implementation files into the regular ones as the 20590 first step towards pulling in our SPI exposure and other code 20591 cleanup. 20592 20593 * History.subproj/WebHistory.m: 20594 * History.subproj/WebHistoryPrivate.m: Removed. 20595 * Misc.subproj/WebIconDatabasePrivate.h: 20596 * WebKit.pbproj/project.pbxproj: 20597 * WebView.subproj/WebDataSource.m: 20598 * WebView.subproj/WebDataSourcePrivate.m: Removed. 20599 * WebView.subproj/WebFrame.m: 20600 * WebView.subproj/WebFramePrivate.m: Removed. 20601 * WebView.subproj/WebFrameView.m: 20602 * WebView.subproj/WebFrameViewPrivate.m: Removed. 20603 * WebView.subproj/WebHTMLView.m: 20604 * WebView.subproj/WebHTMLViewPrivate.m: Removed. 20605 * WebView.subproj/WebView.m: 20606 * WebView.subproj/WebViewPrivate.m: Removed. 20607 206082003-10-02 Chris Blumenberg <cblu@apple.com> 20609 20610 Fixed: <rdar://problem/3440063>: Safari 1.1 won't load new pages after visiting adultswim.com, assertion failure on debug build 20611 20612 Reviewed by rjw. 20613 20614 * Plugins.subproj/WebBaseNetscapePluginStream.m: 20615 (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): if not data was received for a stream, create the temp file anyway. Plug-ins expect this. 20616 20617=== Safari-108 === 20618 206192003-10-02 Darin Adler <darin@apple.com> 20620 20621 * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 20622 206232003-10-01 Maciej Stachowiak <mjs@apple.com> 20624 20625 Reviewed by Darin. 20626 20627 - fixed 3441466 - REGRESSION: http://www.meyerweb.com/eric/css/edge/complexspiral/glassy.html broken on scroll 20628 * WebView.subproj/WebFramePrivate.m: 20629 (-[WebFrame _setState:]): Don't turn on scroll-blitting here when the page is done... 20630 (-[WebFrame _transitionToCommitted:]): Instead do it here, when the page is committed. 20631 206322003-10-02 Darin Adler <darin@apple.com> 20633 20634 Reviewed by Ken. 20635 20636 - in preparation for a WebCore whitespace-handling change, made WebTextRenderer draw and measure 20637 newline characters as if they are spaces (just as we already do with non-breaking spaces) 20638 - removed some unused stuff from WebTextRenderer 20639 - other unimportant tweaks (e.g. unsigned int -> unsigned) 20640 20641 * WebCoreSupport.subproj/WebTextRenderer.m: 20642 (kFixedOne), (fixed1), (FixToFloat), (FloatToFixed): Removed these. We can use the standard ones 20643 from <FixMath.h> instead of defining our own. 20644 (isControlCharacter): Added. Inline function that we can use instead of the macro we had before. 20645 (isAlternateSpace): Added. Returns YES for newlines and non-breaking spaces. 20646 (isSpace): Added. Returns YES for real spaces and the two alternate spaces as well. 20647 (initializeCharacterWidthIterator): Use isSpace. 20648 (-[WebTextRenderer convertCharacters:length:toGlyphs:skipControlCharacters:]): Use isAlternateSpace 20649 and isControlCharacter. 20650 (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]): 20651 Use isControlCharacter, isAlternateSpace, and isSpace. Also fix a small bug where numGlyphs would 20652 not get set up properly when the run length is 0, and used local variables when possible instead 20653 of going back at the run structure. 20654 (-[WebTextRenderer _ATSU_floatWidthForRun:style:]): Use the standard FixedToFloat instead of our 20655 own FixToFloat. 20656 (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]): Ditto. 20657 206582003-10-02 David Hyatt <hyatt@apple.com> 20659 20660 Work on exposing elements to the Acc API. This patch gets us to the point where text 20661 under the mouse is voiced. 20662 Reviewed by darin 20663 20664 * WebView.subproj/WebHTMLView.m: 20665 (-[WebHTMLView accessibilityAttributeValue:]): 20666 (-[WebHTMLView accessibilityHitTest:]): 20667 206682003-10-01 John Sullivan <sullivan@apple.com> 20669 20670 Reviewed by Darin 20671 20672 * WebView.subproj/WebHTMLView.m: 20673 (-[WebHTMLView viewDidMoveToSuperview]): 20674 skip some work when when we've been removed. This wasn't 20675 causing any trouble before, but was at least conceptually 20676 inefficient. 20677 206782003-10-01 John Sullivan <sullivan@apple.com> 20679 20680 - fixed 3441372: REGRESSION (107+): Plain text document is 20681 initially drawn with proportional font 20682 20683 Reviewed by Hyatt 20684 20685 * WebView.subproj/WebTextView.m: 20686 (-[WebTextView setDataSource:]): 20687 Changed a != to an == 20688 206892003-10-01 Richard Williamson <rjw@apple.com> 20690 20691 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. 20692 20693 Reviewed by Ken. 20694 20695 * Misc.subproj/WebKitLogging.h: 20696 * Misc.subproj/WebKitLogging.m: 20697 * WebCoreSupport.subproj/WebBridge.m: 20698 (-[WebBridge loadURL:referrer:reload:onLoadEvent:target:triggeringEvent:form:formValues:]): 20699 * WebView.subproj/WebFramePrivate.h: 20700 * WebView.subproj/WebFramePrivate.m: 20701 (-[WebFrame _addBackForwardItemClippedAtTarget:]): 20702 (-[WebFrame _transitionToCommitted:]): 20703 (-[WebFrame _isLoadComplete]): 20704 (-[WebFrame _loadItem:withLoadType:]): 20705 (-[WebFrame _itemForRestoringDocState]): 20706 207072003-10-01 Darin Adler <darin@apple.com> 20708 20709 Reviewed by John. 20710 20711 * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _webView]): 20712 Fixed problem where we'd get a nil WebView and pass crazy values for subframe 20713 text multipliers. 20714 207152003-10-01 David Hyatt <hyatt@apple.com> 20716 20717 Fix for 3440804, broken scrollbars in downloads window. Make Auto be the default 20718 value in the enum, so that all scrollviews will be automatically initialized to be 20719 auto. 20720 Reviewed by cblu 20721 20722 * WebView.subproj/WebDynamicScrollBarsView.m: 20723 207242003-09-30 Richard Williamson <rjw@apple.com> 20725 20726 Attempt to find a reasonable font using a simple string matching heuristic if 20727 none of the fonts actually specified are found. In particular we will use 20728 Geeza Pro if "arabic", "urdu", or "pashto" is contained (case-insensitive) in 20729 any of the requested font family names. Geeza Pro is a much better fallback 20730 font for Arabic (and variant languages) than Helvetica. 20731 20732 Reviewed by Chris. 20733 20734 * WebCoreSupport.subproj/WebTextRendererFactory.m: 20735 (-[WebTextRendererFactory fontWithFamilies:traits:size:]): 20736 207372003-09-30 John Sullivan <sullivan@apple.com> 20738 20739 - fixed 3045617 -- Make Text Bigger/Smaller doesn't affect non-html documents. 20740 20741 I added an internal protocol inside WebKit to make this work, and implemented 20742 it for plain text and RTF. I also slightly shuffled the existing code to 20743 handle this for HTML so that it goes through the new protocol in that case 20744 also. 20745 20746 * WebView.subproj/WebDocumentInternal.h: Added. 20747 New header file, holds definition of 20748 _web_WebDocumentTextSizing protocol. 20749 20750 * WebView.subproj/WebFramePrivate.m: 20751 (-[WebFrame _textSizeMultiplierChanged]): 20752 if the document view conforms to the new protocol, 20753 tell it that the multiplier has changed. Also, don't 20754 tell the bridge here anymore; let WebHTMLView do that. 20755 20756 * WebView.subproj/WebHTMLView.m: 20757 (-[WebHTMLView _updateTextSizeMultiplier]): 20758 tell the bridge here instead of having WebFrame do so 20759 (-[WebHTMLView viewDidMoveToSuperview]): 20760 call _updateTextSizeMultiplier (in case it changed while we were switched out) 20761 (-[WebHTMLView _web_textSizeMultiplierChanged]): 20762 call _updateTextSizeMultiplier 20763 20764 * WebView.subproj/WebTextRepresentation.m: 20765 (-[WebTextRepresentation receivedData:withDataSource:]): 20766 20767 * WebView.subproj/WebTextView.h: 20768 now implements _web_WebDocumentTextSizing protocol; 20769 new ivar for holding local copy of text size multiplier; 20770 new public method appendReceivedData:fromDataSource: 20771 20772 * WebView.subproj/WebTextView.m: 20773 (-[WebTextView initWithFrame:]): 20774 set local copy of text size multiplier to 1.0 20775 (-[WebTextView _textSizeMultiplierFromWebView]): 20776 new method, asks the webview's opinion of the text size multiplier 20777 (-[WebTextView setFixedWidthFont]): 20778 use the text size multiplier when setting font size 20779 (-[WebTextView _adjustRichTextFontSizeByRatio:]): 20780 new method, borrowed from Mail and tweaked, that walks through 20781 the rich text and adjusts the font sizes 20782 (-[WebTextView _updateTextSizeMultiplier]): 20783 new method, updates local copy of text size multiplier to 20784 match webview's opinion 20785 (-[WebTextView setDataSource:]): 20786 set the text size multiplier appropriately before setting the 20787 fixed-width font; this is too early for the RTF case though 20788 since the fonts are embedded in the data 20789 (-[WebTextView appendReceivedData:fromDataSource:]): 20790 new method. Most of this logic was in WebTextRepresentation, but 20791 it's a little better encapsulated here, plus now it handles the 20792 text multiplier for RTF. 20793 (-[WebTextView defaultsChanged:]): 20794 added comment 20795 (-[WebTextView _web_textSizeMultiplierChanged]): 20796 call updateTextSizeMultiplier 20797 20798 * WebView.subproj/WebView.m: 20799 (-[WebView canMakeTextSmaller]): 20800 (-[WebView canMakeTextLarger]): 20801 return NO if the main frame doesn't support the text sizing protocol. This means 20802 that if the main frame doesn't support it but a subframe does, you can't adjust 20803 the text size. This seems fine for now since the only case with subframes is 20804 HTML, where the main frame does support changing text size. 20805 20806 * WebKit.pbproj/project.pbxproj: 20807 updated for new file 20808 208092003-09-30 Chris Blumenberg <cblu@apple.com> 20810 20811 Fixed: <rdar://problem/3428262>: Plugin loads for static files, but not PHP scripts 20812 20813 Reviewed by rjw. 20814 20815 * WebCoreSupport.subproj/WebBridge.m: 20816 (-[WebBridge frameRequiredForMIMEType:]): load the plug-in DB so this method returns reliable results. 20817 208182003-09-30 Chris Blumenberg <cblu@apple.com> 20819 20820 Fixed: <rdar://problem/3006869>: show image dimensions in title bar when single image is loaded 20821 20822 Reviewed by rjw. 20823 20824 * English.lproj/Localizable.strings: 20825 * WebView.subproj/WebImageRepresentation.m: 20826 (-[WebImageRepresentation title]): return "foo.jpg 50x50 pixels" 20827 208282003-09-30 Richard Williamson <rjw@apple.com> 20829 20830 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 on 20831 20832 20833ly important because our Help folks oddly depend on the behavior. 20834 20835 Reviewed by Chris. 20836 20837 * WebView.subproj/WebFramePrivate.m: 20838 (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): 20839 208402003-09-30 Ken Kocienda <kocienda@apple.com> 20841 20842 Reviewed by Maciej 20843 20844 Fix for this bug: 20845 20846 <rdar://problem/3439688>: WebKit needs to retrieve full keyboard access preference 20847 20848 * WebCoreSupport.subproj/WebBridge.h: Add two ivars: one to track the keyboard 20849 UI mode, the other a flag we use to register for notifications. 20850 * WebCoreSupport.subproj/WebBridge.m: 20851 (-[WebBridge dealloc]): Remove the notification observer to keyboard UI mode changes. 20852 (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]): New method. Accesses the 20853 preferences to get the current keyboard UI mode. 20854 (-[WebBridge keyboardUIMode]): Returns the current keyboard UI mode. Registers for 20855 notifications of keyboard UI mode changes when called the first time. 20856 208572003-09-30 Maciej Stachowiak <mjs@apple.com> 20858 20859 Reviewed by Ken. 20860 20861 - fixed 3375281 - Keyboard event handlers not fired if focus not in form field 20862 - fixed 3242927 - KeyPressed Event in Javascript don't work 20863 - fixed 3375353 - keyboard event.target not updated when blurring from form items 20864 - fixed 3183754 - returning false from key press handlers does not prevent typing or form submission 20865 20866 * WebView.subproj/WebHTMLView.m: 20867 (-[WebHTMLView keyDown:]): Ask the bridge before passing the event along. 20868 (-[WebHTMLView keyUp:]): Likewise. 20869 * WebView.subproj/WebHTMLViewPrivate.h: 20870 * WebView.subproj/WebHTMLViewPrivate.m: Remove dead code. 20871 208722003-09-30 Richard Williamson <rjw@apple.com> 20873 20874 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. 20875 20876 Reviewed by Chris. 20877 20878 * WebView.subproj/WebView.m: 20879 (-[WebView isLoading]): 20880 * WebView.subproj/WebViewPrivate.h: 20881 * WebView.subproj/WebViewPrivate.m: 20882 (-[WebView _didStartProvisionalLoadForFrame:]): 20883 (-[WebView _didCommitLoadForFrame:]): 20884 (-[WebView _didFinishLoadForFrame:]): 20885 (-[WebView _didFailLoadWithError:forFrame:]): 20886 (-[WebView _didFailProvisionalLoadWithError:forFrame:]): 20887 208882003-09-30 David Hyatt <hyatt@apple.com> 20889 20890 Improvements to scrolling and layout. Also fixing 3264346, body overflow should 20891 apply to document's scrollbars. 20892 Reviewed by darin 20893 20894 * WebView.subproj/WebDynamicScrollBarsView.h: 20895 * WebView.subproj/WebDynamicScrollBarsView.m: 20896 (-[WebDynamicScrollBarsView initWithFrame:]): 20897 (-[WebDynamicScrollBarsView setScrollBarsSuppressed:repaintOnUnsuppress:]): 20898 (-[WebDynamicScrollBarsView updateScrollers]): 20899 (-[WebDynamicScrollBarsView reflectScrolledClipView:]): 20900 (-[WebDynamicScrollBarsView setAllowsScrolling:]): 20901 (-[WebDynamicScrollBarsView allowsScrolling]): 20902 (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]): 20903 (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]): 20904 (-[WebDynamicScrollBarsView allowsHorizontalScrolling]): 20905 (-[WebDynamicScrollBarsView allowsVerticalScrolling]): 20906 (-[WebDynamicScrollBarsView horizontalScrollingMode]): 20907 (-[WebDynamicScrollBarsView verticalScrollingMode]): 20908 (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]): 20909 (-[WebDynamicScrollBarsView setVerticalScrollingMode:]): 20910 (-[WebDynamicScrollBarsView setScrollingMode:]): 20911 209122003-09-29 Chris Blumenberg <cblu@apple.com> 20913 20914 Fixed: <rdar://problem/3422739>: Plug-in streams not cancelled when plug-in returns error from NPP_NewStream 20915 20916 Reviewed by mjs. 20917 20918 * Plugins.subproj/WebBaseNetscapePluginStream.h: renamed receivedError to cancelWithReason 20919 * Plugins.subproj/WebBaseNetscapePluginStream.m: 20920 (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): call cancelWithReason if NPP_NewStream returns an error 20921 (-[WebBaseNetscapePluginStream cancelWithReason:]): renamed 20922 (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): tweak 20923 * Plugins.subproj/WebNetscapePluginRepresentation.m: 20924 (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): call renamed cancelWithReason 20925 (-[WebNetscapePluginRepresentation cancelWithReason:]): new override, stop load then call super 20926 * Plugins.subproj/WebNetscapePluginStream.m: 20927 (-[WebNetscapePluginStream cancelWithReason:]): new override, stop load then call super 20928 (-[WebNetscapePluginStream stop]): call cancelWithReason 20929 (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): call renamed cancelWithReason 20930 (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): call renamed cancelWithReason 20931 209322003-09-25 Maciej Stachowiak <mjs@apple.com> 20933 20934 Roll out build system change since it did not actually work. :-( 20935 * WebKit.pbproj/project.pbxproj: 20936 209372003-09-25 David Hyatt <hyatt@apple.com> 20938 20939 Change layout so that it is called from the private _recursive functions instead of 20940 inside drawRect. 20941 Reviewed by kocienda 20942 20943 * WebView.subproj/WebHTMLView.m: 20944 (-[WebHTMLView layoutToPageWidth:adjustingViewSize:]): 20945 (-[WebHTMLView drawRect:]): 20946 * WebView.subproj/WebHTMLViewPrivate.m: 20947 (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:testDirtyRect:]): 20948 (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]): 20949 (-[WebHTMLView _web_setPrintingModeRecursive]): 20950 (-[WebHTMLView _web_clearPrintingModeRecursive]): 20951 (-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]): 20952 (-[NSView _web_setPrintingModeRecursive]): 20953 (-[NSView _web_clearPrintingModeRecursive]): 20954 (-[NSView _web_layoutIfNeededRecursive:testDirtyRect:]): 20955 209562003-09-25 Richard Williamson <rjw@apple.com> 20957 20958 Fixed 3433802. Written by Ed. Carbon WebView doesn't detach native view when removed. 20959 20960 Reviewed by Richard. 20961 20962 * Carbon.subproj/HIWebView.m: 20963 (OwningWindowChanged): 20964 209652003-09-25 Richard Williamson <rjw@apple.com> 20966 20967 Fixed 3433488. Written by Ed. WebKit doesn't sync window visibility when new webview added to visible window. 20968 20969 Reviewed by Richard. 20970 20971 * Carbon.subproj/CarbonWindowAdapter.m: 20972 (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]): 20973 209742003-09-25 Richard Williamson <rjw@apple.com> 20975 20976 Fixed 3434854. Written by Ed. Correctly handle window modality in carbon. 20977 20978 Reviewed by Richard. 20979 20980 * Carbon.subproj/CarbonWindowAdapter.m: 20981 (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]): 20982 209832003-09-25 Maciej Stachowiak <mjs@apple.com> 20984 20985 Reviewed by Darin. 20986 20987 Updated setup for engineering builds. Don't embed the framework 20988 into Safari or hack the install name. However, do copy WebCore and 20989 JavaScriptCore into the proper sub-umbrella locations. 20990 * WebKit.pbproj/project.pbxproj: 20991 * embed-frameworks.sh: Added. 20992 20993=== Safari-107 === 20994 209952003-09-25 Ken Kocienda <kocienda@apple.com> 20996 20997 Reviewed by Darin 20998 20999 Fix for this bug: 21000 21001 <rdar://problem/3341222>: WebView doesn't follow AppKit default nextKeyView pattern 21002 21003 * WebCoreSupport.subproj/WebBridge.h: Added a variable to guard against recursion 21004 in -[WebBridge inNextKeyViewOutsideWebFrameViews]. 21005 * WebCoreSupport.subproj/WebBridge.m: 21006 (-[WebBridge inNextKeyViewOutsideWebFrameViews]): Accessor for recursion guard. 21007 (-[WebBridge nextKeyViewOutsideWebFrameViews]): Do not ask webView for its 21008 next key view, but rather, ask it for the next key view of the last view in 21009 its key view loop. This is what will get us to the next view outside of the 21010 webView. 21011 * WebView.subproj/WebHTMLView.m: 21012 (-[WebHTMLView nextKeyView]): Ask AppKit, rather than khtml, for the next key 21013 key view if -[WebBridge inNextKeyViewOutsideWebFrameViews] returns YES. Doing 21014 so gives us the correct answer as calculated by AppKit, and makes HTML views 21015 behave like other views. This check also heads off an infinite recursion 21016 through -[WebBridge nextKeyViewOutsideWebFrameViews]. 21017 21018 Also did some cleanup of some code that was marked for removal "some day". 21019 That "some day" is today. 21020 210212003-09-25 Darin Adler <darin@apple.com> 21022 21023 Reviewed by John. 21024 21025 - fixed 3176853 -- can't attach files that have no extensions with Yahoo mail (bad Content-Type headers) 21026 21027 * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge MIMETypeForPath:]): 21028 Return @"application/octet-stream" rather than nil or empty string when the type is not known. 21029 210302003-09-24 Darin Adler <darin@apple.com> 21031 21032 Reviewed by Maciej. 21033 21034 * WebView.subproj/WebHTMLView.m: 21035 (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): 21036 Added one more call to _stopAutoscrollTimer for when drags begin. 21037 210382003-09-24 Richard Williamson <rjw@apple.com> 21039 21040 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. 21041 21042 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. 21043 21044 Reviewed by John. 21045 21046 * Misc.subproj/WebKitLogging.h: 21047 * Misc.subproj/WebKitLogging.m: 21048 * Plugins.subproj/WebNetscapePluginPackage.h: 21049 * Plugins.subproj/WebNetscapePluginPackage.m: 21050 (-[WebNetscapePluginPackage load]): 21051 * Plugins.subproj/npapi.h: 21052 * WebCoreSupport.subproj/WebTextRenderer.m: 21053 (FillStyleWithAttributes): 21054 * WebCoreSupport.subproj/WebTextRendererFactory.m: 21055 (-[WebTextRendererFactory clearCaches]): 21056 (fontsChanged): 21057 (+[WebTextRendererFactory createSharedFactory]): 21058 (-[WebTextRendererFactory fontWithFamily:traits:size:]): 21059 (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]): 21060 210612003-09-23 Darin Adler <darin@apple.com> 21062 21063 Reviewed by John and Richard. 21064 21065 - fixed 3127833 -- autoscroll only works when mouse is moving 21066 21067 * WebView.subproj/WebHTMLView.m: 21068 (-[WebHTMLView viewDidMoveToWindow]): Stop the auto-scroll timer. This covers 21069 the case where a view is removed from the view hierarchy while the mouse is down. 21070 (-[WebHTMLView mouseDown:]): Start the auto-scroll timer. 21071 (-[WebHTMLView mouseUp:]): Stop the auto-scroll timer. 21072 * WebView.subproj/WebHTMLViewPrivate.h: Add an auto-scroll timer, and methods 21073 to start and stop it. 21074 * WebView.subproj/WebHTMLViewPrivate.m: 21075 (-[WebHTMLView _startAutoscrollTimer]): Create and schedule a timer. It uses the 21076 same 1/10 second interval that NSTextView uses for its scrolling timer. 21077 (-[WebHTMLView _stopAutoscrollTimer]): Invalidate and release the timer. 21078 (-[WebHTMLView _autoscroll]): Check for a mouse up event in the queue; if one is 21079 there, then no autoscrlling. But if not, then create a fake mouse dragged event 21080 and dispatch it; that will lead to autoscrolling. 21081 210822003-09-22 Darin Adler <darin@apple.com> 21083 21084 Reviewed by Dave. 21085 21086 - worked around 3429631 -- window stops getting mouse moved events after first tooltip appears 21087 21088 * WebView.subproj/WebHTMLViewPrivate.m: (-[NSToolTipPanel setAcceptsMouseMovedEvents:]): 21089 Do nothing, preventing the real setAcceptsMouseMovedEvents: (in class NSWindow) from being called. 21090 210912003-09-22 Darin Adler <darin@apple.com> 21092 21093 Reviewed by Dave. 21094 21095 - fixed 3431033 -- crash in -[NSToolTipManager _shouldInstallToolTip:] 21096 21097 * WebView.subproj/WebHTMLViewPrivate.m: 21098 (-[WebHTMLView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]): 21099 Override this alternate version of addTrackingRect. If I don't do this, we might 21100 create a real tracking rect, which we would then never remove. 21101 (-[WebHTMLView removeTrackingRect:]): Added assertions. 21102 211032003-09-22 Darin Adler <darin@apple.com> 21104 21105 * WebKit.pbproj/project.pbxproj: Rename Mixed build style to OptimizedWithSymbols. 21106 211072003-09-21 Darin Adler <darin@apple.com> 21108 21109 * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView removeTrackingRect:]): Remove bogus assert. 21110 211112003-09-21 Darin Adler <darin@apple.com> 21112 21113 Reviewed by Dave. 21114 21115 - fixed 3106411 -- show title attribute for page elements in tooltip on mouseover (important for PeopleSoft) 21116 21117 * WebView.subproj/WebHTMLViewPrivate.h: Added fields needed for tool tip implementation. 21118 * WebView.subproj/WebHTMLViewPrivate.m: 21119 (-[WebHTMLViewPrivate dealloc]): Release the tool tip string. 21120 (-[WebHTMLView addTrackingRect:owner:userData:assumeInside:]): Override the default NSView 21121 tracking rectangle implementation so we can trick the tool tip manager into trusting us about 21122 when you leave and enter the rectangle for each element. 21123 (-[WebHTMLView removeTrackingRect:]): The other half of the above stuff. 21124 (-[WebHTMLView _sendToolTipMouseExited]): Added. Makes an event just good enough to fool the tool tip 21125 manager, and send it on. 21126 (-[WebHTMLView _sendToolTipMouseEntered]): Ditto. 21127 (-[WebHTMLView _setToolTip:]): Added. Manages the new and old tool tips in a way that fools the tool 21128 tip manager into working even though we don't know the rectangles of the tool tips beforehand. The 21129 advantage of using AppKit tool tips is that they have all sorts of nice little features, like wrapping 21130 to a nice rectangular shape and fading out when you move away. 21131 (-[WebHTMLView view:stringForToolTip:point:userData:]): This is how the tool tip manager gets the actual 21132 tool tip text. 21133 (-[WebHTMLView _updateMouseoverWithEvent:]): Call _setToolTip method, using the value passed along with the 21134 WebCoreElementTitleKey in the dictionary. 21135 21136 - unrelated code cleanup 21137 21138 * WebView.subproj/WebFramePrivate.h: Don't define WebCorePageCacheStateKey here; instead use 21139 a definition exported from WebCore. 21140 * WebView.subproj/WebFramePrivate.m: Ditto. 21141 * English.lproj/StringsNotToBeLocalized.txt: Update for above changes. 21142 211432003-09-19 Maciej Stachowiak <mjs@apple.com> 21144 21145 Reviewed by Darin. 21146 21147 Roll out old fix for 3410980. 21148 21149 * WebCoreSupport.subproj/WebBridge.m: 21150 (-[WebBridge goBackOrForward:]): 21151 211522003-09-19 Darin Adler <darin@apple.com> 21153 21154 Reviewed by Dave. 21155 21156 - do the prep work for the mini controls feature; Dave will finish this 21157 21158 * WebCoreSupport.subproj/WebFileButton.m: 21159 (-[WebFileButton isFlipped]): Make this flipped, easier to understand coordinates that way. 21160 (-[WebFileButton drawRect:]): Update for flipped-ness. 21161 (-[WebFileButton visualFrame]): Update for flipped-ness. 21162 (-[WebFileButton setVisualFrame:]): Update for flipped-ness. 21163 (-[WebFileButton baseline]): Update for flipped-ness. 21164 211652003-09-19 Maciej Stachowiak <mjs@apple.com> 21166 21167 Reviewed by Darin. 21168 21169 - fixed 3410980 - FileMaker: going forward with an empty forward list makes a frame come out blank sometimes 21170 21171 * WebCoreSupport.subproj/WebBridge.m: 21172 (-[WebBridge backOrForwardItemWithDistance:]): Factored out from goBackOrForward. 21173 (-[WebBridge canGoBackOrForward:]): Use the new method. 21174 (-[WebBridge goBackOrForward:]): Likewise. 21175 211762003-09-17 John Sullivan <sullivan@apple.com> 21177 21178 - WebKit part of fix for 3157018 -- Would like option to 21179 not print backgrounds 21180 Reviewed by Darin 21181 21182 * WebView.subproj/WebPreferences.h: 21183 new accessor methods for new shouldPrintBackgrounds preference 21184 * WebView.subproj/WebPreferences.m: 21185 (+[WebPreferences initialize]): 21186 set initial value for WebKitShouldPrintBackgroundsPreferenceKey 21187 to NO 21188 (-[WebPreferences shouldPrintBackgrounds]): 21189 new method, read NSUserDefaults value 21190 (-[WebPreferences setShouldPrintBackgrounds:]): 21191 new method, write NSUserDefault value 21192 21193 * WebView.subproj/WebViewPrivate.m: 21194 (-[WebView _updateWebCoreSettingsFromPreferences:]): 21195 tell WebCore about value of shouldPrintBackgrounds 21196 21197 * English.lproj/StringsNotToBeLocalized.txt: 21198 Updated for these and other recent changes 21199 212002003-09-17 Darin Adler <darin@apple.com> 21201 21202 Reviewed by Maciej. 21203 21204 * Plugins.subproj/WebBasePluginPackage.m: 21205 (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]): Pass the 21206 "no UI" flag, so we don't prompt the user when we're trying to load plug-ins. 21207 Also use OSStatus rather than OSErr so we don't miss error codes that just 21208 happen to have zeroes in the low 16 bits. 21209 212102003-09-17 Darin Adler <darin@apple.com> 21211 21212 Reviewed by John. 21213 21214 * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton setFilename:]): 21215 Don't call -[NSWorkspace iconForFile:] on a path that does not start with a '/'. 21216 This can happen if JavaScript or the web page sets the path explicitly, and 21217 adding this check avoids an unpleasant warning on the console. 21218 21219=== WebKit-106 === 21220 212212003-09-16 Richard Williamson <rjw@apple.com> 21222 21223 Backed out fix to 3412062 to resolve 3424197. 21224 21225 Many sites use a technique of posting forms the same URL to generate content server side. The fix to 3412062 broke those sites. 21226 21227 Reviewed by Darin. 21228 21229 * WebView.subproj/WebFramePrivate.m: 21230 (-[WebFrame _transitionToCommitted:]): 21231 21232=== WebKit-105 === 21233 21234=== WebKit-104 === 21235 212362003-09-12 Richard Williamson <rjw@apple.com> 21237 21238 Fixed 3420097. If redirects are cancelled during a pending load don't reset the quickRedirect flag. 21239 21240 Reviewed by Darin. 21241 21242 * WebCoreSupport.subproj/WebBridge.m: 21243 (-[WebBridge reportClientRedirectCancelled:]): 21244 * WebView.subproj/WebFramePrivate.h: 21245 * WebView.subproj/WebFramePrivate.m: 21246 (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): 21247 (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): 21248 (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]): 21249 (-[WebFrame _clientRedirectCancelled:]): 21250 21251=== WebKit-103 === 21252 212532003-09-12 Richard Williamson <rjw@apple.com> 21254 21255 Fixed 3412062. Don't allow pages with the same URL as the current URL to enter b/f or history. 21256 21257 Reviewed by Maciej. 21258 21259 * WebView.subproj/WebFramePrivate.m: 21260 (-[WebFrame _transitionToCommitted:]): 21261 212622003-09-11 Maciej Stachowiak <mjs@apple.com> 21263 21264 Reviewed by Darin. 21265 21266 - fixed 3413463 - QuickTime plug-in content doesn't load in Safari (NPP_Write not called) 21267 * Plugins.subproj/npapi.h: Fix erroneous function pointer 21268 declarations that led to an int16/int32 mismatch. 21269 212702003-09-12 Chris Blumenberg <cblu@apple.com> 21271 21272 Fixed: <rdar://problem/3420112>: Reproducible Safari crash in in -[WebBaseNetscapePluginView sendEvent:] 21273 21274 Reviewed by darin. 21275 21276 * Plugins.subproj/WebBaseNetscapePluginView.m: 21277 (-[WebBaseNetscapePluginView sendEvent:]): temporarily retain self in case the plug-in view is released while sending an event. 21278 (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:targetFrame:]): don't deliver the return value of the JS evaluation if stringByEvaluatingJavaScriptFromString caused the plug-in to stop. 21279 21280=== WebKit-102 === 21281 212822003-09-11 Maciej Stachowiak <mjs@apple.com> 21283 21284 Reviewed by Ken. 21285 21286 - fixed 3417486 - after logging off from secure Etrade website, going back returns you to secure page 21287 21288 * WebView.subproj/WebFramePrivate.m: 21289 (-[WebFrame _loadItem:withLoadType:]): Don't request stale data 21290 for https pages, as this could be a security risk. 21291 212922003-09-11 Richard Williamson <rjw@apple.com> 21293 21294 Fixed 3406671. Added a private method for Mail to get selection 21295 rect. 21296 21297 Reviewed by Darin Adler. 21298 21299 * WebView.subproj/WebHTMLView.m: 21300 (-[WebHTMLView updateTextBackgroundColor]): 21301 * WebView.subproj/WebHTMLViewPrivate.h: 21302 * WebView.subproj/WebHTMLViewPrivate.m: 21303 (-[WebHTMLView _handleMouseDragged:]): 21304 (-[WebHTMLView _pluginController]): 21305 (-[WebHTMLView _selectionRect]): 21306 213072003-09-10 Richard Williamson <rjw@apple.com> 21308 21309 Fixed 3231031. Use the normal methodology for displaying each frame of a GIF. That is, 21310 just call setNeedsDisplayInRect, rather than drawing directly. Drawing directly violates 21311 layering/clipping. 21312 21313 Reviewed by Dave Hyatt. 21314 21315 * WebCoreSupport.subproj/WebImageRenderer.m: 21316 (-[WebImageRenderer nextFrame:]): 21317 21318=== Safari-100 === 21319 213202003-09-09 Richard Williamson <rjw@apple.com> 21321 21322 Fixed 3414988. Don't store absolute path to home directory. 21323 Reviewed by Chris Blumenberg. 21324 21325 Fixed 3414319. Send correct WebView back as parameter to webViewShow: 21326 Review by Darin. 21327 21328 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. 21329 Reviewed by Darin (and Richard). 21330 21331 * Misc.subproj/WebIconDatabase.m: 21332 (-[WebIconDatabase _createFileDatabase]): 21333 Store @"~/Library/Icon" instead of absolute path, and always try to tilde expand stored path. 21334 21335 * WebCoreSupport.subproj/WebBridge.m: 21336 (-[WebBridge setHasBorder:]): 21337 * WebView.subproj/WebFrameView.m: 21338 (-[WebFrameView drawRect:]): 21339 (-[WebFrameView setFrameSize:]): 21340 * WebView.subproj/WebFrameViewPrivate.h: 21341 * WebView.subproj/WebFrameViewPrivate.m: 21342 (-[WebFrameView _isMainFrame]): 21343 (-[WebFrameView _tile]): 21344 (-[WebFrameView _drawBorder]): 21345 (-[WebFrameView _shouldDrawBorder]): 21346 (-[WebFrameView _setHasBorder:]): 21347 * WebView.subproj/WebHTMLView.m: 21348 (-[WebHTMLView drawRect:]): 21349 Changes to correct draw border in WebFrameView instead of WebHTMLView. 21350 21351 * WebView.subproj/WebViewPrivate.m: 21352 (-[WebView _openNewWindowWithRequest:]): 21353 Send correct parameter (returned from webView:createWebViewWithRequest:), rather than self, to webViewShow:. 21354 213552003-09-09 Chris Blumenberg <cblu@apple.com> 21356 21357 Fixed: <rdar://problem/3412380>: REGRESSION (85-98): www.minoltan.com is decoded incorrectly on Japanese system 21358 21359 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 21360 21361 21362is 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 Saf 21363 21364 21365ari just ends up displaying the first item in the pop-up menu which is shift JIS. 21366 21367 Reviewed by rjw. 21368 21369 * WebView.subproj/WebPreferences.m: 21370 (+[WebPreferences initialize]): The WebKitDefaultTextEncodingNamePreferenceKey should be "ISO-8859-1" not "latin1" since "ISO-8859-1" is the IANA character set name for latin1. 21371 21372=== Safari-99 === 21373 213742003-09-08 Darin Adler <darin@apple.com> 21375 21376 Reviewed by Chris. 21377 21378 - fixed 3412726 -- some HTML messages in Mail lose a line at page breaks when printed (multipart/alternative) 21379 21380 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): 21381 Go into printing mode when asked to adjust page height, if not already in it. 21382 We already have code in drawRect that does this when actually printing, but it's 21383 also important to lay out the same way when deciding where to break pages, otherwise 21384 the difference between printer and screen fonts can lead to page breaks that split a line 21385 of text across two pages, and that can lead to missing lines of text as well. 21386 213872003-09-07 Darin Adler <darin@apple.com> 21388 21389 Reviewed by Maciej. 21390 21391 - fixed 3410939 -- disabling Geneva and Helvetica (by removing them, or by using Font Book) makes Safari crash 21392 21393 * WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory fallbackFontWithTraits:size:]): 21394 Fall back on Lucida Grande (plain, not bothering with traits) if Helvetica is not present. 21395 21396 * English.lproj/StringsNotToBeLocalized.txt: Update for this and other recent changes. 21397 213982003-09-07 Darin Adler <darin@apple.com> 21399 21400 Reviewed by Ken. 21401 21402 - fixed 3406660 -- screen fonts are not being used for substitute fonts (Japanese text, Roman font) 21403 21404 * WebCoreSupport.subproj/WebTextRenderer.m: 21405 (-[WebTextRenderer substituteFontForString:families:]): Get a printer or screen font, 21406 based on the renderer's mode. The old code didn't do anything explicit. 21407 (-[WebTextRenderer _setupFont]): Remove ignored parameter for clarity. 21408 (-[WebTextRenderer initWithFont:usingPrinterFont:]): Fixed code paths that would not 21409 explicitly get a printer or screen font, and code paths that would get data from the 21410 original "before mapping to printer or screen font" NSFont object. 21411 21412=== Safari-98 === 21413 214142003-09-05 Ken Kocienda <kocienda@apple.com> 21415 21416 Reviewed by Darin 21417 21418 Incorporate releaseGState fix that Darin developed for 21419 textareas and list boxes in WebCore. It turns out that 21420 we this workaround in WebClipView as well to get proper 21421 drawing of subframes. 21422 21423 In addition, removed some tests that which performed 21424 runtime checks for code in AppKit. AppKit will have 21425 the checked-for code in all versions that will be used 21426 with the version of WebKit. 21427 21428 * WebView.subproj/WebClipView.m: 21429 (-[WebClipView initWithFrame:]) 21430 (-[WebClipView resetAdditionalClip]) 21431 (-[WebClipView setAdditionalClip:]) 21432 214332003-09-04 John Sullivan <sullivan@apple.com> 21434 21435 - fixed 3409011 -- the graphics views palette does not open 21436 21437 Reviewed by Maciej 21438 21439 * WebView.subproj/WebPreferences.m: 21440 (+[WebPreferences _removeReferenceForIdentifier:]): 21441 special-case nil, which is a magic initial identifier already 21442 special-cased in the other mutator 21443 214442003-09-05 Maciej Stachowiak <mjs@apple.com> 21445 21446 Reviewed by Darin. 21447 21448 - fixed 3406140 - REGRESSION (7B52-7B55): time spent in NSFont makes Safari 50% slower in Five Apps test 21449 * WebCoreSupport.subproj/WebTextRendererFactory.m: 21450 (-[WebTextRendererFactory fontWithFamily:traits:size:]): Make font 21451 using the font name we found, not the one we were looking 21452 for. Since the compare is case-insensitive, it makes a 21453 difference. Also, don't make the font twice. 21454 214552003-09-04 Chris Blumenberg <cblu@apple.com> 21456 21457 Fixed: <rdar://problem/3316704>: Shockwave: getnetText steam is not functioning correctly 21458 21459 Reviewed by mjs. 21460 21461 * Plugins.subproj/WebBaseNetscapePluginStream.m: 21462 (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): if the content length is unknown, use 0 instead of -1 21463 214642003-09-04 Chris Blumenberg <cblu@apple.com> 21465 21466 Fixed: <rdar://problem/3286922>: Shockwave: Using HTTP to stream .mp3 or .swa files fails at ~50% 21467 21468 Reviewed by mjs. 21469 21470 * Plugins.subproj/WebBaseNetscapePluginStream.h: new deliveryData and reason ivars 21471 * Plugins.subproj/WebBaseNetscapePluginStream.m: 21472 (-[WebBaseNetscapePluginStream dealloc]): release deliveryData ivar 21473 (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): set new reason ivar 21474 (-[WebBaseNetscapePluginStream destroyStream]): new, calls NPP_StreamAsFile, NPP_DestroyStream and NPP_URLNotify 21475 (-[WebBaseNetscapePluginStream destroyStreamWithReason:]): set the reason, call destroyStream 21476 (-[WebBaseNetscapePluginStream receivedError:]): set deliveryData length to 0 so no more data is streamed, call destroyStreamWithReason 21477 (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): don't call NPP_StreamAsFile because this has to be called right before NPP_DestroyStream in destroyStream 21478 (-[WebBaseNetscapePluginStream deliverData]): new, call NPP_WriteReady and NPP_Write and properly obey their returned values 21479 (-[WebBaseNetscapePluginStream receivedData:]): call deliverData 21480 * Plugins.subproj/WebNetscapePluginStream.m: 21481 (-[WebNetscapePluginStream stop]): call receivedError here 21482 (-[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 21483 214842003-09-04 Chris Blumenberg <cblu@apple.com> 21485 21486 * Plugins.subproj/WebBaseNetscapePluginView.m: 21487 (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): Fixed typo in newly added comment. 21488 214892003-09-04 Chris Blumenberg <cblu@apple.com> 21490 21491 Fixed: <rdar://problem/3407328>: request headers at the start of the file passed to NPN_PostURL don't work for Acrobat plug-in? 21492 21493 Reviewed by john. 21494 21495 * Plugins.subproj/WebBaseNetscapePluginView.m: 21496 (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): As documented, allow headers to be specified via NPP_PostURL when using a file. 21497 21498=== Safari-97 === 21499 215002003-09-03 John Sullivan <sullivan@apple.com> 21501 21502 - fixed 3406411 -- infoseek.co.jp: many console errors about 21503 attempting to set non-screen font (HiraMinPro-W3) 21504 21505 Reviewed by Ken 21506 21507 * WebCoreSupport.subproj/WebTextRenderer.m: 21508 (_drawGlyphs): 21509 use ERROR instead of NSLog for the printing-font-used-on-screen 21510 case, so it doesn't flood the world's console logs. We need to 21511 investigate why this is happening also, but that can probably 21512 be post-Panther. 21513 215142003-09-01 John Sullivan <sullivan@apple.com> 21515 21516 - WebKit part of fix for 3402489 -- REGRESSION (7B48-7B55): Some printed web pages are too small (width is half a page) 21517 21518 This was a regression caused by the fix for 3378810. 21519 21520 Reviewed by Maciej 21521 21522 * WebView.subproj/WebHTMLView.m: 21523 (-[WebHTMLView layoutToPageWidth:adjustingViewSize:]): 21524 now takes adjustViewSize flag, and passes it down to 21525 one of bridge's forceLayout calls. 21526 (-[WebHTMLView layout]): 21527 pass NO for adjustViewSize flag in this case 21528 (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]): 21529 pass adjustViewSize flag down to layoutToPageWidth instead 21530 of using it directly here; this is the wrong level to use 21531 it directly since the bridge is no longer set up for 21532 printing after the layoutToPageWidth call completes. 21533 215342003-08-30 Maciej Stachowiak <mjs@apple.com> 21535 21536 Reviewed by John. 21537 21538 - fixed 3401709 - [WebView searchFor:] with wrap:NO hangs if the search fails 21539 * WebView.subproj/WebView.m: 21540 (-[WebView searchFor:direction:caseSensitive:wrap:]): Fix for 21541 wrap:NO case as suggested by Darin. 21542 21543=== Safari-96 === 21544 215452003-08-29 Richard Williamson <rjw@apple.com> 21546 21547 Fixed 3401334. Use IB document key when checking for reference removal on instances of WebPreferences. 21548 21549 Also removed _userDefaultsKeysForIB, no longer needed by IB. 21550 21551 Reviewed by John. 21552 21553 * WebView.subproj/WebPreferences.m: 21554 (+[WebPreferences _removeReferenceForIdentifier:]): 21555 (-[WebPreferences _postPreferencesChangesNotification]): 21556 * WebView.subproj/WebPreferencesPrivate.h: 21557 215582003-08-29 Richard Williamson <rjw@apple.com> 21559 21560 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 21561 21562 21563 item. 21564 21565 Reviewed byJohn Sullivan. 21566 21567 * History.subproj/WebBackForwardList.m: 21568 (-[WebBackForwardList _clearPageCache]): 21569 215702003-08-28 Richard Williamson <rjw@apple.com> 21571 21572 Fixed 3399736. Fixed several problems with WebView/WebPreferences 21573 interaction. 21574 21575 Reviewed by Eric Seymour. 21576 21577 * Misc.subproj/WebKitLogging.h: 21578 * Misc.subproj/WebKitLogging.m: 21579 Added debug logging. 21580 21581 * WebCoreSupport.subproj/WebTextRenderer.m: 21582 (_drawGlyphs): Checkin for 3398229 below. 21583 21584 * WebView.subproj/WebPreferences.m: 21585 (-[WebPreferences initWithIdentifier:]): 21586 (-[WebPreferences initWithCoder:]): 21587 (-[WebPreferences encodeWithCoder:]): 21588 (+[WebPreferences standardPreferences]): 21589 (+[WebPreferences _getInstanceForIdentifier:]): 21590 (+[WebPreferences _setInstance:forIdentifier:]): 21591 (+[WebPreferences _concatenateKeyWithIBCreatorID:]): 21592 * WebView.subproj/WebView.m: 21593 (-[WebView _commonInitializationWithFrameName:groupName:]): 21594 (-[WebView initWithCoder:]): 21595 (-[WebView encodeWithCoder:]): 21596 215972003-08-27 Richard Williamson <rjw@apple.com> 21598 21599 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, b 21600 21601 21602ut I don't think the failures are font related. 21603 21604 Reviewed by Hyatt. 21605 21606 * WebCoreSupport.subproj/WebTextRendererFactory.m: 21607 (-[WebTextRendererFactory fontWithFamily:traits:size:]): 21608 21609=== Safari-95 === 21610 216112003-08-27 Richard Williamson <rjw@apple.com> 21612 21613 Fixed 3397235. WebView wasn't archiving useBackForwardList. 21614 21615 Reviewed by Eric Seymour. 21616 21617 * WebView.subproj/WebView.m: 21618 (-[WebView initWithCoder:]): 21619 (-[WebView encodeWithCoder:]): 21620 216212003-08-26 Richard Williamson <rjw@apple.com> 21622 21623 Fixed 3385478. Look for an exact match for font names (using PS names) before matching on family names. 21624 21625 Also added logging to help debug now resolved binding problem. 21626 21627 Reviewed by Maciej. 21628 21629 * Misc.subproj/WebKitLogging.h: 21630 * Misc.subproj/WebKitLogging.m: 21631 * WebCoreSupport.subproj/WebTextRendererFactory.m: 21632 (-[WebTextRendererFactory fontWithFamily:traits:size:]): 21633 * WebView.subproj/WebView.m: 21634 (-[WebView addObserver:forKeyPath:options:context:]): 21635 (-[WebView removeObserver:forKeyPath:]): 21636 216372003-08-26 Darin Adler <darin@apple.com> 21638 21639 Reviewed by Maciej. 21640 21641 - fixed 3310943 -- REGRESSION (Panther): textareas in forms sometimes draw blank (bugreporter) 21642 21643 There are two fixes here. The more elegant and slightly faster one that requires a new AppKit, 21644 and the less elegant one that works without AppKit support. By including both we don't have to 21645 worry about timing of submission of WebKit vs. AppKit but we get the good, elegant fix. Later, 21646 we can delete the less elegant fix. 21647 21648 * WebView.subproj/WebClipView.m: 21649 (+[WebClipView initialize]): Set up a boolean global so we only hav to do the "does AppKit support 21650 _focusRingVisibleRect" check one time. 21651 (-[WebClipView resetAdditionalClip]): Only do the renewGState thing if we don't have the 21652 _focusRingVisibleRect method, but if we do the renewGState thing, do it to self and all descendants 21653 using _web_renewGStateDeep. 21654 (-[WebClipView setAdditionalClip:]): Ditto. 21655 (-[WebClipView visibleRect]): Only limit this based on the additional clip if we don't have the 21656 _focusRingVisibleRect method. 21657 (-[WebClipView _focusRingVisibleRect]): Override the new method. Harmless if it's an old AppKit 21658 that doesn't have the method yet. 21659 (-[NSView _web_renewGStateDeep]): Implemented this helper method. We can get rid of it once we 21660 are entirely on the new AppKit. 21661 216622003-08-26 Darin Adler <darin@apple.com> 21663 21664 Reviewed by Maciej. 21665 21666 - fixed 3321247 -- window size box disappears from Help window (caused by WebKit NSView hackery) 21667 21668 * WebView.subproj/WebHTMLViewPrivate.m: 21669 (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]), 21670 (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]): 21671 Don't propagate dirty rects at all. This was causing problems because now the AppKit uses 21672 dirty regions, not dirty rects. In AppKit-722 and newer, _setDrawsDescendants: takes care of this 21673 for us so we don't have to do anything at all. 21674 216752003-08-26 Darin Adler <darin@apple.com> 21676 21677 Reviewed by John. 21678 21679 - fixed 3392650 -- REGRESSION?: assertion fails trying Apple-hosted page load test while not on Apple network 21680 21681 * WebView.subproj/WebFramePrivate.m: (-[WebFrame _isLoadComplete]): 21682 Stop loading the provisional data source before blowing it away, in case 21683 there are some callbacks that haven't occurred yet. It's a waste of time to 21684 try to handle those additional callbacks, and can lead to failed assertions 21685 since the data source won't be hooked up to any frame any more. 21686 216872003-08-25 Richard Williamson <rjw@apple.com> 21688 21689 Fix for 3391609. Our rounding hack wasn't correctly reflected in the selection point 21690 code. Piggy-backed on this fix are fixes for selection of letter-spacing, word-spacing 21691 and justified text. 21692 21693 Reviewed by Hyatt. 21694 21695 * WebCoreSupport.subproj/WebTextRenderer.m: 21696 (initializeCharacterWidthIterator): 21697 (widthAndGlyphForSurrogate): 21698 (widthForNextCharacter): 21699 (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]): 21700 217012003-08-25 John Sullivan <sullivan@apple.com> 21702 21703 - fixed 3391264 -- REGRESSION (Panther): Back/Forward buttons not 21704 updating immediately after page load 21705 21706 The buttons are updated in response to window update notifications. 21707 Jaguar was sending so many extra bogus notifications that it 21708 masked the fact that we weren't ensuring that these notifications 21709 were sent at all in the case of non-event-based interesting 21710 changes that might affect menu items/toolbar items/etc. 21711 21712 Reviewed by Richard 21713 21714 * WebView.subproj/WebViewPrivate.m: 21715 (-[WebView _didStartProvisionalLoadForFrame:]): 21716 call -[NSApp setWindowsNeedUpdate:YES] so window update notices 21717 will be sent 21718 (-[WebView _didCommitLoadForFrame:]): 21719 ditto 21720 (-[WebView _didFinishLoadForFrame:]): 21721 ditto 21722 (-[WebView _didFailLoadWithError:forFrame:]): 21723 ditto 21724 (-[WebView _didFailProvisionalLoadWithError:forFrame:]): 21725 ditto 21726 217272003-08-24 Darin Adler <darin@apple.com> 21728 21729 Reviewed by John. 21730 21731 - fixed 3382179 -- REGRESSION: many images scroll down while loading (e.g., homepage.mac.com slide show) 21732 21733 * WebCoreSupport.subproj/WebImageRenderer.m: 21734 (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): While loading, always draw one less line than 21735 the number NSImage says we have, since that last line is a partial line and draws unwanted white. This 21736 is not what the bug report complains about, but is a longstanding and very minor issue. Remove the code 21737 that adjust the Y origin. This is what the bug report is about. That adjustment is incorrect and was 21738 unknowingly compensating for some kind of NSImage bug that is now fixed. 21739 (-[WebImageRenderer tileInRect:fromPoint:]): Added an assertion that the WebImageRenderer is flipped. 21740 The code does assume that it's flipped. 21741 217422003-08-22 John Sullivan <sullivan@apple.com> 21743 - fixed 3385837 -- REGRESSION: can't paste link from Safari into 21744 Keynote (paste at top level, not into text) 21745 21746 Reviewed by Darin 21747 21748 The problem was that we were using a single list of pasteboard 21749 types for both "types we can read" and "types we can write", but 21750 NSFilenamesPBoardType wasn't being written to, creating a bad 21751 pasteboard. The fix is to split this list in two. We could do 21752 this a little more elegantly if we weren't paranoid about 21753 last-minute SPI changes breaking compatibility with Sherlock or 21754 some other internal client. 21755 21756 * Misc.subproj/WebNSPasteboardExtras.h: 21757 add new _web_writableDragTypesForURL, commented various methods 21758 better. 21759 21760 * Misc.subproj/WebNSPasteboardExtras.m: 21761 (+[NSPasteboard _web_writableDragTypesForURL]): 21762 implement _web_writableDragTypesForURL; it's just like 21763 _web_dragTypesForURL but without the NSFilenamesPBoardType 21764 (-[NSPasteboard _web_writeURL:andTitle:withOwner:]): 21765 use _web_writableDragTypesForURL 21766 21767 * Misc.subproj/WebNSViewExtras.m: 21768 (-[NSView _web_dragPromisedImage:rect:URL:title:event:]): 21769 use _web_writableDragTypesForURL 21770 217712003-08-22 Darin Adler <darin@apple.com> 21772 21773 Reviewed by Dave. 21774 21775 - fixed 3386051 -- REGRESSION: text "too dark" after the page is deactivated and reactivated (bugweb) 21776 21777 Cached clips were causing us to draw nothing for the top frames of framesets, resulting in darkened 21778 text because we draw anti-aliased text twice without drawing a background. 21779 21780 * WebView.subproj/WebClipView.m: 21781 (-[WebClipView resetAdditionalClip]): Invalidate cached graphics state when changing the visible rect. 21782 (-[WebClipView setAdditionalClip:]): Ditto. 21783 217842003-08-21 Darin Adler <darin@apple.com> 21785 21786 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]): 21787 Tweak to printing fix: Be sure to call adjustViewSize after applying styles and doing layout. 21788 217892003-08-21 Richard Williamson <rjw@apple.com> 21790 21791 Fixed 3378810. Avoid resizing frame from drawRect: when printing. This will corrupt the graphics context. 21792 21793 Reviewed by Hyatt. 21794 21795 * WebView.subproj/WebHTMLView.m: 21796 (-[WebHTMLView layoutToPageWidth:]): 21797 (-[WebHTMLView drawRect:]): 21798 (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]): 21799 (-[WebHTMLView beginDocument]): 21800 (-[WebHTMLView endDocument]): 21801 21802=== Safari-94 === 21803 218042003-08-21 John Sullivan <sullivan@apple.com> 21805 21806 - fixed 3387950 -- REGRESSION (85-89): Standalone image in Safari prints much 21807 smaller than in Jaguar 21808 21809 Reviewed by Chris. 21810 21811 * WebView.subproj/WebImageView.m: 21812 (-[WebImageView adjustFrameSize]): 21813 renamed from setFrameSizeUsingImage; now sets the frame size to exactly 21814 the image size (as it did in Jaguar always) when we're not drawing to 21815 the screen. 21816 (-[WebImageView setFrameSize:]): 21817 updated for name change 21818 (-[WebImageView layout]): 21819 ditto 21820 (-[WebImageView beginDocument]): 21821 adjust frame size (before printing) 21822 (-[WebImageView endDocument]): 21823 adjust frame size (after printing) 21824 218252003-08-19 Richard Williamson <rjw@apple.com> 21826 21827 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. 21828 21829 Reviewed by Darin. 21830 21831 * WebCoreSupport.subproj/WebImageRenderer.m: 21832 (-[WebImageRenderer tileInRect:fromPoint:]): 21833 * WebKit.pbproj/project.pbxproj: 21834 218352003-08-18 Richard Williamson <rjw@apple.com> 21836 21837 Fixed 3140065. Bidi neutrals in RTL runs are now handled correctly. Still have 21838 problem with bidi neutrals at directional boundaries 3382926. 21839 21840 Reviewed by Maciej. 21841 21842 * Misc.subproj/WebUnicode.h: 21843 * Misc.subproj/WebUnicode.m: 21844 (shapedString): 21845 * WebCoreSupport.subproj/WebTextRenderer.m: 21846 (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]): 21847 218482003-08-18 Darin Adler <darin@apple.com> 21849 21850 Reviewed by Maciej. 21851 21852 - fixed 3299893 -- oncontextmenu support 21853 21854 * WebView.subproj/WebHTMLView.m: 21855 (-[WebHTMLView menuForEvent:]): Call sendContextMenuEvent: on the bridge, and 21856 don't show a menu if the event is handled over in WebCore. 21857 (-[WebHTMLView mouseDown:]): Don't send a mouse down event in the case where we 21858 already sent a context menu event and decided not to put up a real context menu. 21859 218602003-08-18 Richard Williamson <rjw@apple.com> 21861 21862 Fix build problem from last checkin. 21863 21864 Reviewed by Darin. 21865 21866 * WebCoreSupport.subproj/WebImageRenderer.m: 21867 (-[WebImageRenderer initWithData:MIMEType:]): 21868 (-[WebImageRenderer initWithContentsOfFile:]): 21869 218702003-08-17 Darin Adler <darin@apple.com> 21871 21872 Reviewed by Maciej. 21873 21874 - fixed 3376522 -- REGRESSION: uncaught exception from bad .ico causes crash (login window at 34sp.com) 21875 21876 I added exception handling in all the places we load images with NSImage. 21877 21878 * Misc.subproj/WebIconDatabase.m: 21879 (-[WebIconDatabase _iconsForIconURLString:]): Add exception handler. 21880 * Misc.subproj/WebIconLoader.m: 21881 (-[WebIconLoader connectionDidFinishLoading:]): Add exception handler. 21882 * WebCoreSupport.subproj/WebImageRenderer.m: 21883 (-[WebImageRenderer initWithData:MIMEType:]): Add exception handler. 21884 (-[WebImageRenderer initWithContentsOfFile:]): Add exception handler. 21885 (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): Add exception handler. 21886 218872003-08-15 Richard Williamson <rjw@apple.com> 21888 21889 Fixed 3378530. Ensure that line is always drawn within bounds 21890 of element. 21891 21892 Reviewed by Chris. 21893 21894 * WebCoreSupport.subproj/WebTextRenderer.m: 21895 (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]): 21896 218972003-08-15 Richard Williamson <rjw@apple.com> 21898 21899 Fixed 3379439. Remove checks for CG symbols. No longer needed. 21900 21901 Reviewed by Darin. 21902 21903 * WebCoreSupport.subproj/WebTextRendererFactory.m: 21904 (+[WebTextRendererFactory createSharedFactory]): 21905 21906=== Safari-93 === 21907 219082003-08-14 Vicki Murley <vicki@apple.com> 21909 21910 Reviewed by John. 21911 21912 * WebKit.pbproj/project.pbxproj: deleted WebKit.order from the project. 21913 219142003-08-14 Vicki Murley <vicki@apple.com> 21915 21916 Reviewed by John. 21917 21918 * WebKit.order: Removed. We now point to the WebKit order file in /AppleInternal/OrderFiles. 21919 * WebKit.pbproj/project.pbxproj: set sectorder flag to point to /AppleInternal/OrderFiles/WebKit.order 21920 219212003-08-14 Darin Adler <darin@apple.com> 21922 21923 Reviewed by Chris. 21924 21925 - fixed 3344259 -- flipped image when copying from Safari in 1000s of colors mode 21926 21927 The workaround is to turn off the NSImage cache. Andrew says this won't have any 21928 practical repercussions other than making the bug go away. 21929 21930 Seems to have a side effect of speeding up the cvs-base page load test! 21931 21932 * WebCoreSupport.subproj/WebImageRenderer.m: 21933 (-[WebImageRenderer initWithMIMEType:]): Set mode to NSImageCacheNever. 21934 (-[WebImageRenderer initWithData:MIMEType:]): Ditto. 21935 (-[WebImageRenderer initWithContentsOfFile:]): Ditto. 21936 (-[WebImageRenderer _adjustSizeToPixelDimensions]): Don't set mode to NSImageCacheDefault. 21937 219382003-08-14 Ken Kocienda <kocienda@apple.com> 21939 21940 Reviewed by Darin 21941 21942 Fix for this bug: 21943 21944 <rdar://problem/3375042>: Change usages of NSURL absoluteString in WebKit 21945 to use improved variants 21946 21947 * History.subproj/WebHistoryItem.m: 21948 (-[WebHistoryItem initWithURL:title:]): Use data-as-string. 21949 (-[WebHistoryItem initWithURL:target:parent:title:]): Use data-as-string. 21950 (-[WebHistoryItem setURL:]): Use data-as-string. 21951 * History.subproj/WebHistoryPrivate.m: 21952 (-[WebHistoryPrivate addItem:]): Remove FIX_VISITED ifdef 21953 (-[WebHistoryPrivate removeItem:]): Ditto 21954 (-[WebHistoryPrivate containsURL:]): Ditto. Use data-as-string. 21955 (-[WebHistoryPrivate itemForURL:]): Ditto. Ditto. 21956 (-[WebHistoryPrivate loadFromURL:error:]): Fix log message to URL. 21957 (-[WebHistoryPrivate _saveHistoryGuts:URL:error:]): Ditto. 21958 (-[WebHistoryPrivate saveToURL:error:]): Ditto. 21959 * History.subproj/WebURLsWithTitles.m: 21960 (+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]): Use visible-string. 21961 * Misc.subproj/WebIconLoader.m: 21962 (-[WebIconLoader connectionDidFinishLoading:]): Use data-as-string. 21963 * Misc.subproj/WebKitErrors.m: 21964 (+[NSError _webKitErrorWithDomain:code:URL:]): Added new convenience that takes 21965 a URL instead of a URL string. 21966 (-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]): 21967 Added new convenience that takes URLs instead of a URL stringis. 21968 * Misc.subproj/WebKitErrorsPrivate.h: Declared new conveniences. 21969 * Misc.subproj/WebNSPasteboardExtras.m: 21970 (-[NSPasteboard _web_writeURL:andTitle:withOwner:types:]): Use visible-string. 21971 * Misc.subproj/WebNSURLExtras.h: 21972 * Misc.subproj/WebNSURLExtras.m: 21973 (-[NSURL _web_originalDataAsString]): Added. 21974 (-[NSURL _webkit_isJavaScriptURL]): Use data-as-string. 21975 (-[NSURL _webkit_scriptIfJavaScriptURL]): Ditto 21976 (-[NSURL _webkit_isFTPDirectoryURL]): Ditto 21977 (-[NSURL _webkit_shouldLoadAsEmptyDocument]): Ditto. Also use _web_isEmpty. 21978 * Plugins.subproj/WebBaseNetscapePluginView.m: 21979 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Use data-as-string. 21980 * Plugins.subproj/WebNetscapePluginDocumentView.m: 21981 (-[WebNetscapePluginDocumentView setDataSource:]): Use new error convenience. 21982 * Plugins.subproj/WebNetscapePluginStream.m: 21983 (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): Ditto. 21984 * WebCoreSupport.subproj/WebBridge.m: 21985 (-[WebBridge requestedURLString]): Use data-as-string. 21986 * WebCoreSupport.subproj/WebSubresourceClient.m: 21987 (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): Use new error convenience. 21988 * WebView.subproj/WebBaseResourceHandleDelegate.m: 21989 (-[WebBaseResourceHandleDelegate cancelledError]): Ditto. 21990 * WebView.subproj/WebDataProtocol.m: 21991 (-[WebDataProtocol startLoading]): Ditto. 21992 * WebView.subproj/WebDataSourcePrivate.m: 21993 (-[WebDataSource _stopLoadingInternal]): Ditto. 21994 (-[WebDataSource _updateIconDatabaseWithURL:]): Use data-as-string. 21995 (-[WebDataSource _loadIcon]): Ditto. 21996 * WebView.subproj/WebFramePrivate.m: 21997 (-[WebFrame _createItem:]): Use data-as-string. 21998 (-[WebFrame _transitionToCommitted:]): Fix log message to use URL. 21999 (-[WebFrame _purgePageCache]): Use _web_isEmpty 22000 (-[WebFrame _setState:]): Fix log message to use URL. 22001 (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]): Use new error convenience. 22002 (-[WebFrame _loadItem:withLoadType:]): Fix log message to use URL. 22003 (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]): 22004 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): Fix log messages to use URL. 22005 (-[WebFrame _shouldTreatURLAsSameAsCurrent:]): Use data-as-string. 22006 * WebView.subproj/WebHTMLViewPrivate.m: 22007 (-[WebHTMLView _dragImageForLinkElement:]): Use visible-string. 22008 * WebView.subproj/WebMainResourceClient.m: 22009 (-[WebMainResourceClient interruptForPolicyChangeError]): Use new error convenience. 22010 * WebView.subproj/WebPreferences.m: 22011 (-[WebPreferences setUserStyleSheetLocation:]): Use data-as-string. 22012 * WebView.subproj/WebView.m: 22013 (-[WebView mainFrameURL]): Use data-as-string. 22014 (-[WebView mainFrameIcon]): Use data-as-string. 22015 * WebView.subproj/WebViewPrivate.m: 22016 (-[WebView _updateWebCoreSettingsFromPreferences:]): Use data-as-string. 22017 220182003-08-12 Maciej Stachowiak <mjs@apple.com> 22019 22020 Reviewed by Ken. 22021 22022 - fixed 3365242 - non-repro abort in HTMLTokenizer at ajc.com 22023 * WebView.subproj/WebDataSourcePrivate.m: 22024 (-[WebDataSource _receivedData:]): ref the data source around 22025 processing the data and afterwards, to avoid crashing if a script 22026 in this chunk of data made the frame go away. 22027 220282003-08-13 Richard Williamson <rjw@apple.com> 22029 22030 Fixed 3376077. Override automaticallyNotifiesObserversForKey: to 22031 prevent unnecessary additional notifications from being sent. Also 22032 added development-only logging (bulk of the change). 22033 22034 Reviewed by Chris. 22035 22036 * Misc.subproj/WebKitLogging.h: 22037 * Misc.subproj/WebKitLogging.m: 22038 * WebView.subproj/WebDataSourcePrivate.m: 22039 (-[WebDataSource _setTitle:]): 22040 (-[WebDataSource _updateIconDatabaseWithURL:]): 22041 * WebView.subproj/WebViewPrivate.h: 22042 * WebView.subproj/WebViewPrivate.m: 22043 (-[WebView _didChangeValueForKey:]): 22044 (-[WebView _willChangeValueForKey:]): 22045 (-[WebView _progressStarted]): 22046 (-[WebView _progressCompleted]): 22047 (-[WebView _incrementProgressForConnection:data:]): 22048 (+[WebView automaticallyNotifiesObserversForKey:]): 22049 (-[WebView _willChangeBackForwardKeys]): 22050 (-[WebView _didChangeBackForwardKeys]): 22051 (-[WebView _didStartProvisionalLoadForFrame:]): 22052 (-[WebView _didCommitLoadForFrame:]): 22053 (-[WebView _didFinishLoadForFrame:]): 22054 (-[WebView _didFailLoadWithError:forFrame:]): 22055 (-[WebView _didFailProvisionalLoadWithError:forFrame:]): 22056 220572003-08-13 Chris Blumenberg <cblu@apple.com> 22058 22059 Fixed: <rdar://problem/3347134>: After first successful POST in Flash, Safari does not repeat POST and gives cached reply 22060 22061 Reviewed by kocienda. 22062 22063 * Plugins.subproj/WebBaseNetscapePluginView.m: 22064 (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]): call [request setCachePolicy:NSURLRequestReloadIgnoringCacheData] 22065 220662003-08-13 Ken Kocienda <kocienda@apple.com> 22067 22068 Reviewed by Darin 22069 22070 Fix for this bug: 22071 22072 <rdar://problem/3366441>: URL strings with UTF-8 characters 22073 processed improperly for display by WebKit 22074 22075 * Misc.subproj/WebNSURLExtras.h: 22076 * Misc.subproj/WebNSURLExtras.m: 22077 (isHexDigit): Added 22078 (hexDigitValue): Added 22079 (-[NSURL _web_userVisibleString]): Added. Produces a string that 22080 is suitable for display to a user in the UI. 22081 (-[NSURL _web_isEmpty]): Convenience to check for an empty URL 22082 * WebCoreSupport.subproj/WebBridge.m: 22083 (-[WebBridge requestedURLString]): Now calls _web_userVisibleString 22084 220852003-08-13 Ken Kocienda <kocienda@apple.com> 22086 22087 Reviewed by Darin 22088 22089 Fix for this bug: 22090 22091 <rdar://problem/3374458>: Choose UTF-8 for encoding when calling 22092 CFURLCreateAbsoluteURLWithBytes in WebKit 22093 22094 Calling CFURLCreateAbsoluteURLWithBytes with ISO Latin 1 string 22095 encoding results in some issues when trying to decode a URL path in 22096 preparation for doing file I/O. Instead of doing a redecoding step 22097 whenever a path is needed to perform I/O, use UTF-8 as the encoding 22098 right from the start. This will mean that illegal UTF-8 sequences will 22099 be rejected by CFURLCreateAbsoluteURLWithBytes. However, we can work 22100 around this by falling back on ISO Latin1 in this case. The end result 22101 is that existing code throughout the URL loading system can remain 22102 unchanged and simply call the path method on NSURL as it does now and 22103 get the right result for its I/O requirements. 22104 22105 * Misc.subproj/WebNSURLExtras.m: 22106 (+[NSURL _web_URLWithData:relativeToURL:]) 22107 221082003-08-13 Ken Kocienda <kocienda@apple.com> 22109 22110 Reviewed by Darin 22111 22112 Fix for this bug: 22113 22114 <rdar://problem/3374487>: URLs with UTF-8 escape sequences can't be accessed 22115 when typed in the Safari location bar 22116 22117 * Misc.subproj/WebNSPasteboardExtras.m: 22118 (-[NSPasteboard _web_bestURL]): Call _web_URLWithUserTypedString: to make a 22119 URL from this type of string. 22120 * Misc.subproj/WebNSURLExtras.h: 22121 * Misc.subproj/WebNSURLExtras.m: 22122 (hexDigit): Added. 22123 (+[NSURL _web_URLWithUserTypedString:]): Added. Creates a URL from a string 22124 that is typed in a user, for example, in the Safari location bar. 22125 221262003-08-12 John Sullivan <sullivan@apple.com> 22127 22128 - fixed 3369505 -- leaks of NSCFTimer after running through the 22129 cvs-base test suite 22130 22131 Reviewed by Richard 22132 22133 * WebView.subproj/WebFrame.m: 22134 (-[WebFrame stopLoading]): 22135 release timer before nil'ing it out 22136 221372003-08-12 Ed Voas <voas@apple.com> 22138 22139 Reviewed by Richard. 22140 22141 Make sure to override the standard behavior for ordering windows to do nothing for Carbon stuff. 22142 22143 * Carbon.subproj/CarbonWindowAdapter.m: 22144 (-[CarbonWindowAdapter _reallyDoOrderWindow:relativeTo:findKey:forCounter:force:isModal:]): 22145 221462003-08-11 Chris Blumenberg <cblu@apple.com> 22147 22148 Fixed: <rdar://problem/3163589>: Macromedia Flash 6 cannot take Asian text entry in Safari 22149 22150 Revidewed by darin. 22151 22152 * Plugins.subproj/WebBaseNetscapePluginView.m: 22153 (-[WebBaseNetscapePluginView installKeyEventHandler]): new 22154 (-[WebBaseNetscapePluginView removeKeyEventHandler]): new 22155 (-[WebBaseNetscapePluginView becomeFirstResponder]): call installKeyEventHandler 22156 (-[WebBaseNetscapePluginView resignFirstResponder]): call removeKeyEventHandler 22157 (-[WebBaseNetscapePluginView keyUp:]): call TSMProcessRawKeyEvent so key events go through the machinery and UI that plug-ins expect 22158 (-[WebBaseNetscapePluginView keyDown:]): call TSMProcessRawKeyEvent so key events go through the machinery and UI that plug-ins expect 22159 (TSMEventHandler): turn the TSM event into a series of EventRecords and pass them to the plug-in 22160 (-[WebBaseNetscapePluginView stop]): call removeKeyEventHandler because resignFirstResponder may not get called 22161 221622003-08-08 Richard Williamson <rjw@apple.com> 22163 Lots of healthy cleanup. Introduced width and shaping iterators 22164 to simplify code and remove allocations for large text runs. Should 22165 go further and make more use of these in the future (post panther). 22166 22167 Fixed 3369608. Crash in -[WebTextRenderer _CG_drawRun:style:atPoint:] at lovepucca.net 22168 Fixed 3118050. Crash selecting text at http://www.faqs.org/rfcs/rfc2849.html (SELECTION) 22169 Fixed 3371115. Can't correctly select text that contains surrogate pairs 22170 22171 Reviewed by darin. 22172 22173 * Misc.subproj/WebUnicode.h: 22174 * Misc.subproj/WebUnicode.m: 22175 (prevChar): 22176 (nextChar): 22177 (prevLogicalCharJoins): 22178 (nextLogicalCharJoins): 22179 (glyphVariantLogical): 22180 (hasShapeForNextCharacter): 22181 (shapeForNextCharacter): 22182 (initializeCharacterShapeIterator): 22183 (shapedString): 22184 * WebCoreSupport.subproj/WebTextRenderer.h: 22185 * WebCoreSupport.subproj/WebTextRenderer.m: 22186 (initializeCharacterWidthIterator): 22187 (widthAndGlyphForSurrogate): 22188 (widthForNextCharacter): 22189 (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]): 22190 (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:]): 22191 22192 Just formatting changed here 22193 * WebView.subproj/WebHTMLViewPrivate.m: 22194 (-[WebHTMLView _dragImageForLinkElement:]): 22195 221962003-08-08 Darin Adler <darin@apple.com> 22197 22198 Reviewed by Maciej. 22199 22200 - fixed 3368236 -- NSURL exception going back at http://derstandard.at/ 22201 22202 * WebView.subproj/WebFramePrivate.m: (-[WebFrame _createItem:]): Put "about:blank" in 22203 the back/forward item if there is no URL (which happens because there is no data source 22204 because the frame has never successfully loaded anything). Perhaps we can do better 22205 some day, but this avoids all the major bad effects in a safe way. 22206 22207 * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 22208 22209=== Safari-92 === 22210 222112003-08-07 Richard Williamson <rjw@apple.com> 22212 22213 Fixed 3362939. Checked flippyness of view and adjust y coord accordingly. 22214 22215 Reviewed by John. 22216 22217 * Misc.subproj/WebKitNSStringExtras.m: 22218 222192003-08-07 Chris Blumenberg <cblu@apple.com> 22220 22221 Fixed: <rdar://problem/3330742>: 1.0 Safari fails to send NPP_URLNotify with the error of NPRES_NETWORK_ERR to Flash 22222 22223 Reviewed by darin. 22224 22225 * Plugins.subproj/WebBaseNetscapePluginStream.m: 22226 (-[WebBaseNetscapePluginStream destroyStreamWithReason:]): call NPP_URLNotify so we cover both the failure and successful cases 22227 (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): have destroyStreamWithReason call NPP_URLNotify 22228 222292003-08-07 Ken Kocienda <kocienda@apple.com> 22230 22231 Reviewed by Darin 22232 Fix for this bug: 22233 22234 <rdar://problem/3368552>: Fix inappropriate use of NSURL creation methods in WebKit 22235 22236 Change calls to URLWithString: or URLWithString:relativeToURL to 22237 _web_URLWithDataAsString: and _web_URLWithDataAsString:relativeToURL, 22238 respectively. 22239 22240 * WebView.subproj/WebFramePrivate.m: 22241 (-[WebFrame _loadItem:withLoadType:]): 22242 (-[WebFrame _loadURL:intoChild:]): 22243 * WebView.subproj/WebPreferences.m: 22244 (-[WebPreferences userStyleSheetLocation]): 22245 * WebView.subproj/WebView.m: 22246 (-[WebView takeStringURLFrom:]): 22247 (-[WebView setMainFrameURL:]): 22248 222492003-08-06 Darin Adler <darin@apple.com> 22250 22251 Reviewed by Richard. 22252 22253 - fixed 3347114 -- remove vestiges of posing, including init routine, from WebKit 22254 22255 * WebView.subproj/WebHTMLViewPrivate.m: Removed WebNSTextView, WebNSView, and WebNSWindow, 22256 removed the code to have them pose as NSTextView, NSView, and NSWindow, and removed excess 22257 imports that are no longer needed. 22258 222592003-08-06 Richard Williamson <rjw@apple.com> 22260 22261 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. 22262 22263 Reviewed by Vicki (and Dan!). 22264 22265 * WebCoreSupport.subproj/WebTextRenderer.m: 22266 (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]): 22267 (-[WebTextRenderer _CG_drawRun:style:atPoint:]): 22268 222692003-08-06 Richard Williamson <rjw@apple.com> 22270 22271 Fixed 3348630. Pick up about 1% by moving implementation of _unicodeDirection to WebCore and inlining. 22272 22273 Reviewed by Ken. 22274 22275 * Misc.subproj/WebUnicode.h: 22276 * Misc.subproj/WebUnicode.m: 22277 (_unicodeDirection): 22278 (_unicodeJoining): 22279 (_unicodeMirrored): 22280 (WebKitInitializeUnicode): 22281 * Misc.subproj/WebUnicodeTables.m: 22282 222832003-08-06 Chris Blumenberg <cblu@apple.com> 22284 22285 Fixed: <rdar://problem/3161102>: Avoid retain cycles by destroying plug-ins in the page cache before dealloc 22286 22287 Reviewed by rjw. 22288 22289 * History.subproj/WebHistoryItemPrivate.h: added declaration for [WebBackForwardList _clearPageCache] 22290 * WebView.subproj/WebViewPrivate.m: 22291 (-[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. 22292 222932003-08-04 Chris Blumenberg <cblu@apple.com> 22294 22295 Fixed: <rdar://problem/3106525>: Results of JavaScript requests are not returned to plug-ins 22296 22297 Reviewed by darin. 22298 22299 * Plugins.subproj/WebBaseNetscapePluginStream.h: 22300 * Plugins.subproj/WebBaseNetscapePluginStream.m: 22301 (-[WebBaseNetscapePluginStream setNotifyData:]): new 22302 (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): renamed from setResponse 22303 (-[WebBaseNetscapePluginStream startStreamWithResponse:]): new 22304 (-[WebBaseNetscapePluginStream receivedData:]): tweak 22305 (-[WebBaseNetscapePluginStream destroyStreamWithReason:]): tweak 22306 (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): tweak 22307 * Plugins.subproj/WebBaseNetscapePluginView.m: 22308 (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:targetFrame:]): new 22309 (-[WebBaseNetscapePluginView loadPluginRequest:]): call evaluateJavaScriptPluginRequest:: 22310 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): call loadPluginRequest for JS requests 22311 * Plugins.subproj/WebNetscapePluginRepresentation.m: 22312 (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): call renamed startStreamWithResponse 22313 * Plugins.subproj/WebNetscapePluginStream.m: 22314 (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]): call setNotifyData 22315 (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): call renamed startStreamWithResponse 22316 223172003-08-05 Ken Kocienda <kocienda@apple.com> 22318 22319 Reviewed by Richard 22320 22321 Plugins in WebKit need to store URLs in the form of "C-style" strings. 22322 Create and use a new, improved method to make these strings, and do 22323 not traverse through the NSURL absoluteString method, since that can i 22324 introduce errors. 22325 22326 * Misc.subproj/WebNSURLExtras.h: Added _web_URLCString method. 22327 * Misc.subproj/WebNSURLExtras.m: 22328 (-[NSURL _web_URLCString]): Added. 22329 * Plugins.subproj/WebBaseNetscapePluginStream.m: 22330 (-[WebBaseNetscapePluginStream setResponse:]): Call new _web_URLCString method. 22331 (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Ditto. 22332 * Plugins.subproj/WebBaseNetscapePluginView.m: 22333 (-[WebBaseNetscapePluginView frameStateChanged:]): Ditto. 22334 (-[WebBaseNetscapePluginView loadPluginRequest:]): Ditto. 22335 223362003-08-05 Ken Kocienda <kocienda@apple.com> 22337 22338 Reviewed by John 22339 22340 Fix for this bug: 22341 22342 <rdar://problem/3365035>: Modify WebNSURLExtras to call improved NSURL creation API 22343 22344 * Misc.subproj/WebNSURLExtras.m: 22345 (+[NSURL _web_URLWithDataAsString:]): Call through to _web_URLWithDataAsString:relativeToURL:. 22346 (+[NSURL _web_URLWithDataAsString:relativeToURL:]): Call through to _web_URLWithData:relativeToURL:. 22347 (+[NSURL _web_URLWithData:]): Ditto. 22348 (+[NSURL _web_URLWithData:relativeToURL:]): Call CFURLCreateAbsoluteURLWithBytes API in 22349 CoreFoundation. 22350 (-[NSURL _web_originalData]): Use CFURLGetBytes API in CoreFoundation. Also make sure 22351 that a relative URL is resolved against its base. 22352 (-[NSURL _web_displayableString]): Call _web_originalData to get bytes to use 22353 to create the string. 22354 (-[NSURL _web_URLStringLength]): Use CFURLGetBytes API in CoreFoundation. 22355 223562003-08-04 Richard Williamson <rjw@apple.com> 22357 22358 Fixed 3363011. Pass b/f related key down events to super if b/f is disabled. 22359 22360 Reviewed by Chris. 22361 22362 * WebView.subproj/WebFrameView.m: 22363 (-[WebFrameView keyDown:]): 22364 22365 22366 Fixed 3363345. Retain static array used by IB to present WebView's bindable keys. 22367 22368 Review by Maciej 22369 22370 * WebView.subproj/WebViewPrivate.m: 22371 (-[WebView _declaredKeys]): 22372 223732003-08-04 Ken Kocienda <kocienda@apple.com> 22374 22375 Reviewed by Darin 22376 22377 Fix for this bug: 22378 22379 <rdar://problem/3363318>: REGRESSION: Plug-in content doesn't show up, animate etc 22380 22381 WebNetscapePluginConnectionDelegate must implement this method: 22382 22383 - (void)connection:(NSURLConnection *)con didReceiveData:(NSData *)data lengthReceived:(long long)lengthReceived 22384 22385 * Plugins.subproj/WebNetscapePluginStream.m: 22386 (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:lengthReceived:]) 22387 223882003-08-04 Darin Adler <darin@apple.com> 22389 22390 Reviewed by Richard. 22391 22392 - fixed 3298153 -- get "screen font while printing" error, bad stuff happens after that (Sherlock, Safari) 22393 22394 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]): 22395 If we find ourselves in drawRect with the wrong printing mode, that usually 22396 means we're being printed as part of some larger print process, so do the 22397 layout in printing mode. 22398 223992003-08-04 Chris Blumenberg <cblu@apple.com> 22400 22401 Fixed: <rdar://problem/3360977>: REGRESSION (7B28-7B29): main webview rejects drop of doc icon from BBEdit 22402 22403 Reviewed by darin. 22404 22405 * Misc.subproj/WebNSPasteboardExtras.m: 22406 (+[NSPasteboard _web_dragTypesForURL]): we handle NSFilenamesPboardType 22407 * WebKit.pbproj/project.pbxproj: 22408 224092003-08-04 Richard Williamson <rjw@apple.com> 22410 22411 Fixed 3223989. Pass key down events to super if scrolling is disabled. 22412 22413 Reviewed by Chris (Welcome back!). 22414 22415 * WebView.subproj/WebFrameView.m: 22416 (-[WebFrameView keyDown:]): 22417 224182003-08-01 Richard Williamson <rjw@apple.com> 22419 22420 Fixed 3095376. Implemented correct selection behavior for rtl scripts. 22421 We still use our Arabic and Hebrew layout scheme. 22422 22423 Fixed 3360487. Implemented selection of ATSU rendered code. 22424 22425 Fixed 3360242. Return nil from _bodyBackgroundColor when no 22426 background color specified. This was requested by Doug D. 22427 22428 Reviewed by Maciej. 22429 22430 * WebCoreSupport.subproj/WebTextRenderer.m: 22431 (-[WebTextRenderer drawHighlightForRun:style:atPoint:]): 22432 (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]): 22433 (-[WebTextRenderer drawRun:style:atPoint:]): 22434 (-[WebTextRenderer _CG_drawRun:style:atPoint:]): 22435 (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]): 22436 (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]): 22437 (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]): 22438 (-[WebTextRenderer pointToOffset:style:position:reversed:]): 22439 (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]): 22440 (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:]): 22441 224422003-08-01 Maciej Stachowiak <mjs@apple.com> 22443 22444 Reviewed by Darin. 22445 22446 - fixed 3339255 - REGRESSION (73-85): javascript failure at gia.apple.com 22447 22448 * WebView.subproj/WebFramePrivate.m: 22449 (-[WebFrame _setState:]): When going to provisional state, tell the bridge that 22450 a provisional load started, so it can cancel any pending redirects. 22451 22452=== Safari-91 === 22453 224542003-07-31 Richard Williamson <rjw@apple.com> 22455 22456 Make sure width is initialized for monospace optimizations. 22457 Reviewed by Vicki. 22458 22459 * WebCoreSupport.subproj/WebTextRenderer.m: 22460 (-[WebTextRenderer checkSelectionPoint:style:position:reversed:]): 22461 224622003-07-31 Richard Williamson <rjw@apple.com> 22463 22464 Fixed 3359152. SPI to get the background color for a frame. 22465 22466 Reviewed by hyatt. 22467 22468 * WebCoreSupport.subproj/WebTextRenderer.m: 22469 (-[WebTextRenderer checkSelectionPoint:style:position:reversed:]): 22470 * WebView.subproj/WebFramePrivate.h: 22471 * WebView.subproj/WebFramePrivate.m: 22472 (-[WebFrame _bodyBackgroundColor]): 22473 224742003-07-31 Richard Williamson <rjw@apple.com> 22475 22476 Fixed 3358870. Fall back on 'user defaults' values when a value 22477 in a custom instance of WebPreferences hasn't been overriden. 22478 22479 Reviewed by Eric Seymour. 22480 22481 * WebView.subproj/WebPreferences.m: 22482 (-[WebPreferences _stringValueForKey:]): 22483 (-[WebPreferences _integerValueForKey:]): 22484 (-[WebPreferences _boolValueForKey:]): 22485 224862003-07-30 Richard Williamson <rjw@apple.com> 22487 22488 Preparation for 3095376. 22489 22490 Reviewed by Maciej. 22491 22492 * Misc.subproj/WebKitNSStringExtras.m: 22493 (-[NSString _web_widthWithFont:]): 22494 * Misc.subproj/WebStringTruncator.m: 22495 (stringWidth): 22496 * WebCoreSupport.subproj/WebTextRenderer.m: 22497 (shouldUseATSU): 22498 (-[WebTextRenderer widthForCharacters:length:]): 22499 (-[WebTextRenderer drawRun:style:atPoint:]): 22500 (-[WebTextRenderer _CG_drawRun:style:atPoint:]): 22501 (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]): 22502 (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]): 22503 (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:widths:letterSpacing:wordSpacing:smallCaps:fontFamilies:]): 22504 (-[WebTextRenderer floatWidthForRun:style:widths:]): 22505 (-[WebTextRenderer _floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]): 22506 (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]): 22507 (-[WebTextRenderer _createATSUTextLayoutForRun:]): 22508 (-[WebTextRenderer _trapezoidForRun:style:atPoint:]): 22509 (-[WebTextRenderer _ATSU_floatWidthForRun:style:]): 22510 (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]): 22511 (-[WebTextRenderer checkSelectionPoint:style:position:reversed:]): 22512 225132003-07-30 Richard Williamson <rjw@apple.com> 22514 22515 Fixed 3356518. Added private method called by IB to ensure 22516 that autoresizeSubviews flag is turned on correctly. 22517 22518 Reviewed by mjs. 22519 22520 * WebView.subproj/WebViewPrivate.m: 22521 (-[WebView _finishedMakingConnections]): 22522 225232003-07-28 Richard Williamson <rjw@apple.com> 22524 22525 Fixed 3323866. Provide SPI to IB to enable scoping of preferences 22526 values on a document-by-document basis. 22527 22528 Reviewed by Maciej. 22529 22530 * WebView.subproj/WebPreferences.m: 22531 (-[WebPreferencesPrivate dealloc]): 22532 (-[WebPreferences initWithIdentifier:]): 22533 (-[WebPreferences initWithCoder:]): 22534 (+[WebPreferences _userDefaultsKeysForIB]): 22535 (+[WebPreferences _setIBCreatorID:]): 22536 (+[WebPreferences _IBCreatorID]): 22537 (-[WebPreferences _concatenateKeyWithIBCreatorID:]): 22538 * WebView.subproj/WebPreferencesPrivate.h: 22539 225402003-07-28 Darin Adler <darin@apple.com> 22541 22542 Reviewed by Maciej. 22543 22544 - fixed 3344647 -- reachedTerminalState assertion in WebBaseResourceHandleDelegate.m 22545 22546 * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient cancelWithError:]): 22547 Use [super cancelWithError:] rather than [self receivedError:]. I checked carefully to 22548 see that this code now does everything the old code did (and a bit more). 22549 225502003-07-28 Richard Williamson <rjw@apple.com> 22551 22552 Fixed 3341859. 22553 Check that the WebHTMLView is initialized in viewWillMoveToWindow: and 22554 viewDidMoveToWindow. Don't do anything if we aren't initialized. This 22555 happens when decoding a WebView. When WebViews are decoded their subviews 22556 are created by initWithCoder: and so won't be normally initialized. The 22557 stub views are discarded by WebView. 22558 22559 Reviewed by John. 22560 22561 * WebView.subproj/WebHTMLView.m: 22562 (-[WebHTMLView viewWillMoveToWindow:]): 22563 (-[WebHTMLView viewDidMoveToWindow]): 22564 225652003-07-28 Darin Adler <darin@apple.com> 22566 22567 Reviewed by John. 22568 22569 - fixed 3279864 -- remove class_poseAs calls from WebKit 22570 22571 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView initWithFrame:]): 22572 Call _setDrawsOwnDescendants, if we have a new enough AppKit. 22573 * WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView load]): 22574 Don't pose as NSView, if we have a new enough AppKit. 22575 225762003-07-28 Ken Kocienda <kocienda@apple.com> 22577 22578 Reviewed by John 22579 22580 Fix for this bug: 22581 22582 <rdar://problem/3336933>: REGRESSION (Panther): Mozilla build downloaded 22583 with wrong extension, bad file size (gzip) 22584 22585 Use new delegate methods that allow for the correct reporting 22586 of progress in cases where Foundation-level content decoding has been performed on data received 22587 22588 * WebCoreSupport.subproj/WebSubresourceClient.m: 22589 (-[WebSubresourceClient connection:didReceiveData:lengthReceived:]): 22590 * WebView.subproj/WebBaseResourceHandleDelegate.m: 22591 (-[WebBaseResourceHandleDelegate connection:didReceiveData:]): 22592 (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]): 22593 * WebView.subproj/WebMainResourceClient.m: 22594 (-[WebMainResourceClient connection:didReceiveData:lengthReceived:]): 22595 225962003-07-28 Darin Adler <darin@apple.com> 22597 22598 Reviewed by Richard. 22599 22600 - fixed leak of WebDataRequestParameters objects 22601 22602 * WebView.subproj/WebDataProtocol.m: 22603 (-[NSMutableURLRequest _webDataRequestParametersForWriting]): 22604 Release the WebDataRequestParameters object after putting it in the dictionary. 22605 226062003-07-28 John Sullivan <sullivan@apple.com> 22607 22608 - fixed 3236815 -- bitmap TIFFs at > 72 dpi are scaled incorrectly 22609 in Safari when viewed standalone (uspto.gov) 22610 22611 Reviewed by Darin 22612 22613 * WebCoreSupport.subproj/WebImageRenderer.m: 22614 (-[WebImageRenderer _adjustSizeToPixelDimensions]): 22615 call setScalesWhenResized:YES 22616 226172003-07-25 Richard Williamson <rjw@apple.com> 22618 22619 Fixed 3344519. Prevent infinite recursion attempting font substitution. 22620 22621 Reviewed by Darin. 22622 22623 * WebCoreSupport.subproj/WebTextRenderer.m: 22624 (-[WebTextRenderer _floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]): 22625 226262003-07-25 Maciej Stachowiak <mjs@apple.com> 22627 22628 Reviewed by John. 22629 22630 - fixed 3280582 - REGRESSION (74-85): authentication sheet doesn't state that previous login was incorrect 22631 22632 * Panels.subproj/WebAuthenticationPanel.m: 22633 (-[WebAuthenticationPanel setUpForChallenge:]): Use chall, the 22634 parameter, not challenge, the not-yet-set ivar so we get the right 22635 failure count &c. 22636 226372003-07-25 Richard Williamson <rjw@apple.com> 22638 22639 Use 11 point bold, instead of 12 point bold to draw dragged link 22640 labels. This matches the text drawn in the bookmarks bar. 22641 22642 Reviewed by John. 22643 22644 * WebView.subproj/WebHTMLViewPrivate.m: 22645 (-[WebHTMLView _dragImageForLinkElement:]): 22646 226472003-07-24 Richard Williamson <rjw@apple.com> 22648 22649 Fixed 3279910. Change the way we draw dragged link to use 22650 WebKit's measurement and drawing. Also made the look match 22651 the bookmarks bar text. 22652 22653 Reviewed by Maciej. 22654 22655 * Misc.subproj/WebKitNSStringExtras.h: 22656 * Misc.subproj/WebKitNSStringExtras.m: 22657 (-[NSString _web_drawDoubledAtPoint:withTopColor:bottomColor:font:]): 22658 * WebView.subproj/WebHTMLViewPrivate.h: 22659 * WebView.subproj/WebHTMLViewPrivate.m: 22660 (-[WebHTMLView _dragImageForLinkElement:]): 22661 (-[WebHTMLView _handleMouseDragged:]): 22662 226632003-07-24 Richard Williamson <rjw@apple.com> 22664 22665 Removed unnecessary log. 22666 22667 Reviewed by John. 22668 22669 * WebCoreSupport.subproj/WebImageRendererFactory.m: 22670 (-[WebImageRendererFactory imageRendererWithData:MIMEType:]): 22671 Add another check to use ATSU for Limbu (Unicode 4.0) script. 22672 Also made shouldUseATSU inline. 22673 22674 * WebCoreSupport.subproj/WebTextRenderer.m: 22675 (shouldUseATSU): 22676 22677=== Safari-90 === 22678 226792003-07-23 Maciej Stachowiak <mjs@apple.com> 22680 22681 Build breakage fix: 22682 Fix WebKit to build with the latest Foundation. 22683 * Misc.subproj/WebNSURLExtras.h: 22684 * Misc.subproj/WebNSURLExtras.m: 22685 (-[NSURL _webkit_isJavaScriptURL]): 22686 (-[NSURL _webkit_scriptIfJavaScriptURL]): 22687 (-[NSURL _webkit_isFTPDirectoryURL]): 22688 (-[NSString _webkit_isFTPDirectoryURL]): 22689 226902003-07-23 Richard Williamson <rjw@apple.com> 22691 22692 Fixed 3311725: Added support for key/value binding. 22693 (As a side effect also made icon loading work! In 1.0 22694 it doesn't work unless a secret preference value is set.) 22695 22696 Reviewed by Ken. 22697 22698 * Misc.subproj/WebIconDatabase.m: 22699 (-[WebIconDatabase _createFileDatabase]): 22700 * WebView.subproj/WebDataSourcePrivate.m: 22701 (-[WebDataSource _startLoading:]): 22702 (-[WebDataSource _setTitle:]): 22703 (-[WebDataSource _updateIconDatabaseWithURL:]): 22704 * WebView.subproj/WebFramePrivate.m: 22705 (-[WebFrame _transitionToCommitted:]): 22706 (-[WebFrame _isLoadComplete]): 22707 * WebView.subproj/WebView.m: 22708 (-[WebView setMainFrameURL:]): 22709 (-[WebView mainFrameURL]): 22710 (-[WebView isLoading]): 22711 (-[WebView mainFrameTitle]): 22712 (-[WebView mainFrameIcon]): 22713 * WebView.subproj/WebViewPrivate.h: 22714 * WebView.subproj/WebViewPrivate.m: 22715 (-[WebView _progressStarted]): 22716 (-[WebView _progressCompleted]): 22717 (-[WebView _incrementProgressForConnection:data:]): 22718 (-[WebView _completeProgressForConnection:]): 22719 (-[WebView _declaredKeys]): 22720 (-[WebView setObservationInfo:]): 22721 (-[WebView observationInfo]): 22722 (-[WebView _willChangeBackForwardKeys]): 22723 (-[WebView _didChangeBackForwardKeys]): 22724 (-[WebView _didStartProvisionalLoadForFrame:]): 22725 (-[WebView _didCommitLoadForFrame:]): 22726 (-[WebView _didFinishLoadForFrame:]): 22727 (-[WebView _didFailLoadWithError:forFrame:]): 22728 (-[WebView _didFailProvisionalLoadWithError:forFrame:]): 22729 227302003-07-23 Richard Williamson <rjw@apple.com> 22731 22732 Fixed 3341119: Crash when content contains nil (0x0) characters. 22733 22734 Reviewed by Ken. 22735 22736 * WebCoreSupport.subproj/WebTextRenderer.m: 22737 (-[WebTextRenderer _CG_drawRun:style:atPoint:]): 22738 227392003-07-23 Darin Adler <darin@apple.com> 22740 22741 Reviewed by John. 22742 22743 - fixed 2/3 of 3279864 -- remove class_poseAs calls from WebKit (will also remove init routine) 22744 22745 * WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView load]): 22746 Only pose as NSTextView and NSWindow if we have an older AppKit. 22747 If we have a new enough AppKit, the code in WebCore now takes care of things. 22748 227492003-07-23 Richard Williamson <rjw@apple.com> 22750 22751 Fixed for 3259840. Use ATSU for scripts we don't handle internally, 22752 i.e.: Syriac, Thaana, Devanagari, Bengali, Gurmukhi, Gujarati, Oriya, Tamil, Telugu, Kannada, Malayalam, Sinhala, Thai, Lao, Tibetan, Myanmar, Hangul Jamo, Khmer, Mongolian 22753 22754 Also fixed issues with our rendering of Arabic. 22755 22756 Changed the internal API to take WebCoreTextRun and WebCoreTextStyle 22757 parameters instead of scads on individual parameters. Much cleaner. 22758 22759 Reviewed by Maciej. 22760 22761 * Misc.subproj/WebKitNSStringExtras.m: 22762 (-[NSString _web_widthWithFont:]): 22763 * Misc.subproj/WebStringTruncator.m: 22764 (stringWidth): 22765 * WebCoreSupport.subproj/WebTextRenderer.h: 22766 * WebCoreSupport.subproj/WebTextRenderer.m: 22767 (shouldUseATSU): 22768 (-[WebTextRenderer _setupFont:]): 22769 (-[WebTextRenderer dealloc]): 22770 (-[WebTextRenderer widthForCharacters:length:]): 22771 (-[WebTextRenderer drawRun:style:atPoint:]): 22772 (-[WebTextRenderer _CG_drawRun:style:atPoint:]): 22773 (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]): 22774 (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]): 22775 (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:letterSpacing:wordSpacing:smallCaps:fontFamilies:]): 22776 (-[WebTextRenderer floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:]): 22777 (-[WebTextRenderer _floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]): 22778 (-[WebTextRenderer _CG_floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]): 22779 (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): 22780 (-[WebTextRenderer _initializeATSUStyle]): 22781 (-[WebTextRenderer _createATSUTextLayoutForRun:]): 22782 (-[WebTextRenderer _trapezoidForRun:style:atPoint:]): 22783 (-[WebTextRenderer _ATSU_floatWidthForRun:style:]): 22784 (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]): 22785 227862003-07-23 Ken Kocienda <kocienda@apple.com> 22787 22788 Reviewed by Darin 22789 Removed dependency on Foundation NSURL_NSURLExtras file. 22790 Copied the required methods from that file to WebNSURLExtras, 22791 temporarily renaming the methods that are now in both 22792 places to have a _webkit_ prefix. The names will be changed 22793 back once every one is living on a Foundation version that 22794 no longer contains these methods. 22795 22796 The files below were changed in one of three ways: 22797 1. Rename _web_URLWithString: to _web_URLWithDataAsString: 22798 2. Tweak headers to depend on WebNSURLExtras instead of NSURL_NSURLExtras. 22799 3. At call sites, tweak names of methods that moved to WebKit (_web_ -> _webkit_). 22800 22801 * History.subproj/WebHistory.m: 22802 * History.subproj/WebHistoryItem.m: 22803 (-[WebHistoryItem URL]): 22804 * History.subproj/WebHistoryPrivate.m: 22805 * History.subproj/WebURLsWithTitles.m: 22806 (+[WebURLsWithTitles URLsFromPasteboard:]): 22807 * Misc.subproj/WebIconDatabase.m: 22808 (-[WebIconDatabase _iconForFileURL:withSize:]): 22809 * Misc.subproj/WebIconLoader.m: 22810 * Misc.subproj/WebNSPasteboardExtras.m: 22811 (-[NSPasteboard _web_bestURL]): 22812 * Misc.subproj/WebNSURLExtras.h: 22813 * Misc.subproj/WebNSURLExtras.m: 22814 (ReleaseIfNotNULL): 22815 (+[NSURL _web_URLWithDataAsString:]): 22816 (+[NSURL _web_URLWithDataAsString:relativeToURL:]): 22817 (+[NSURL _web_URLWithData:]): 22818 (+[NSURL _web_URLWithData:relativeToURL:]): 22819 (-[NSURL _web_originalData]): 22820 (-[NSURL _web_displayableString]): 22821 (-[NSURL _web_URLStringLength]): 22822 (-[NSURL _webkit_canonicalize]): 22823 (-[NSURL _webkit_URLByRemovingFragment]): 22824 (-[NSURL _webkit_isJavaScriptURL]): 22825 (-[NSURL _webkit_scriptIfJavaScriptURL]): 22826 (-[NSURL _webkit_isFTPDirectoryURL]): 22827 (-[NSURL _webkit_shouldLoadAsEmptyDocument]): 22828 (isHexDigit): 22829 (hexDigitValue): 22830 (-[NSString _webkit_isJavaScriptURL]): 22831 (-[NSString _webkit_stringByReplacingValidPercentEscapes]): 22832 (-[NSString _webkit_scriptIfJavaScriptURL]): 22833 * Misc.subproj/WebNSViewExtras.m: 22834 * Panels.subproj/WebAuthenticationPanel.m: 22835 * Plugins.subproj/WebBaseNetscapePluginView.m: 22836 (-[WebBaseNetscapePluginView requestWithURLCString:]): 22837 (-[WebBaseNetscapePluginView loadPluginRequest:]): 22838 (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]): 22839 * Plugins.subproj/WebNullPluginView.m: 22840 * WebCoreSupport.subproj/WebBridge.m: 22841 (-[WebBridge requestedURLString]): 22842 * WebCoreSupport.subproj/WebCookieAdapter.m: 22843 (-[WebCookieAdapter cookiesForURL:]): 22844 (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]): 22845 * WebKit.pbproj/project.pbxproj: 22846 * WebView.subproj/WebDataSourcePrivate.m: 22847 (-[WebDataSource _setTitle:]): 22848 (-[WebDataSource _loadIcon]): 22849 * WebView.subproj/WebFrame.m: 22850 * WebView.subproj/WebFramePrivate.m: 22851 (-[WebFrame _transitionToCommitted:]): 22852 (-[WebFrame _shouldReloadForCurrent:andDestination:]): 22853 (-[WebFrame _URLsMatchItem:]): 22854 * WebView.subproj/WebFrameView.m: 22855 * WebView.subproj/WebHTMLViewPrivate.m: 22856 (-[WebHTMLView _elementAtPoint:]): 22857 * WebView.subproj/WebMainResourceClient.m: 22858 (-[WebMainResourceClient continueAfterContentPolicy:response:]): 22859 (-[WebMainResourceClient loadWithRequest:]): 22860 (-[WebMainResourceClient setDefersCallbacks:]): 22861 228622003-07-22 Darin Adler <darin@apple.com> 22863 22864 * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 22865 228662003-07-21 Ken Kocienda <kocienda@apple.com> 22867 22868 Fixed build breaker. 22869 22870 Removed glyphCountFromFont function. It was used only in an 22871 ERROR function, which does not compile in on deployment 22872 builds, causing a "defined, but not used warning". 22873 22874 As this function is only a one-liner call into ATS, I 22875 replaced the usage in the ERROR call with a call to the 22876 ATS function directly. 22877 22878 * WebCoreSupport.subproj/WebTextRenderer.m: 22879 (-[WebTextRenderer initWithFont:usingPrinterFont:]) 22880 228812003-07-18 Richard Williamson <rjw@apple.com> 22882 22883 Fixed 3283594. "Times RO" appears to have a corrupt regular variant. Added 22884 additional bullet proofing to catch corrupt fonts. Also added a special case 22885 hack to map "Times RO" to "Time New Roman" if the variant doesn't have valid 22886 glyphs. 22887 22888 Fixed 3319846. The page mentioned in this bug required > 10 substitute fonts for 22889 the same base font. This triggered some buggy code that hasn't been exercise before. 22890 Specifically the code that resizes the substitute fonts array was incorrect. 22891 22892 Reviewed by mjs. 22893 22894 * Misc.subproj/WebAssertions.h: Added FATAL_ALWAYS macro that logs and CRASHES 22895 even in deployment builds. 22896 22897 * WebCoreSupport.subproj/WebTextRenderer.m: 22898 (mapForSubstituteFont): 22899 (widthFromMap): 22900 (FillStyleWithAttributes): 22901 (-[WebTextRenderer convertCharacters:length:toGlyphs:skipControlCharacters:]): 22902 (-[WebTextRenderer convertUnicodeCharacters:length:toGlyphs:]): 22903 (-[WebTextRenderer _computeWidthForSpace]): 22904 (-[WebTextRenderer _setupFont:]): 22905 (pathFromFont): 22906 (glyphCountFromFont): 22907 (-[WebTextRenderer initWithFont:usingPrinterFont:]): 22908 (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]): 22909 (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): 22910 229112003-07-17 Darin Adler <darin@apple.com> 22912 22913 Reviewed by John. 22914 22915 - fixed 3250608 -- REGRESSION (74-85): reproducible Safari crash in blinkCaretTimerAction 22916 22917 * WebView.subproj/WebHTMLViewPrivate.m: 22918 (-[WebNSTextView drawInsertionPointInRect:color:turnedOn:]): 22919 Use NSView's setNeedsDisplayInRect: instead of the one in NSTextView. 22920 This avoids the layout that the NSTextView version of the call might do. 22921 By definition, we don't need layout to draw the insertion point, because we did 22922 the layout to find where the insertion point should display. If we do the layout 22923 we can end up recursing into the insertion point drawing code, which wreaks major 22924 havoc. Still no idea why this happened less in version 74. 22925 229262003-07-17 Ken Kocienda <kocienda@apple.com> 22927 22928 Reviewed by John 22929 22930 * WebCoreSupport.subproj/WebBridge.m: 22931 (-[WebBridge startLoadingResource:withURL:]): Now uses NSURL instead of NSString 22932 (-[WebBridge objectLoadedFromCacheWithURL:response:size:]): Ditto 22933 (-[WebBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]): 22934 Ditto 22935 (-[WebBridge setIconURL:]): Ditto 22936 (-[WebBridge setIconURL:withType:]): Ditto 22937 (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): Ditto 22938 (-[WebBridge userAgentForURL:]): Ditto 22939 (-[WebBridge requestedURL]): Now returns string using _web_absoluteString 22940 * WebView.subproj/WebDataSourcePrivate.m: 22941 (-[WebDataSource _receivedError:complete:]): Now uses NSURL instead of NSString 22942 * WebView.subproj/WebFramePrivate.m: 22943 (-[WebFrame _opened]): Ditto 22944 (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): Ditto 22945 (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): Ditto 22946 229472003-07-17 Ken Kocienda <kocienda@apple.com> 22948 22949 * Misc.subproj/WebNSURLExtras.m: 22950 (-[NSURL _web_URLStringLength]): Fix premature use of new CFURL API. 22951 New code is ifdef'ed out for now until everyone has revved. 22952 229532003-07-17 Ken Kocienda <kocienda@apple.com> 22954 22955 Reviewed by Darin 22956 22957 * WebCoreSupport.subproj/WebBridge.m: 22958 (-[WebBridge createWindowWithURL:frameName:]): Now uses NSURL in API instead of NSString 22959 (-[WebBridge loadURL:referrer:reload:target:triggeringEvent:form:formValues:]): Ditto 22960 (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto 22961 * WebKit.pbproj/project.pbxproj: Added WebNSURLExtras file 22962 * WebView.subproj/WebDataSourcePrivate.m: 22963 (-[WebDataSource _commitIfReady:]): Now uses NSURL in API instead of NSString 22964 229652003-07-15 Richard Williamson <rjw@apple.com> 22966 22967 Fixed 3315952: Add support for <IMG> in attributed string conversion. 22968 Added RTFD pasteboard type. 22969 22970 Reviewed by John. 22971 22972 * WebView.subproj/WebHTMLViewPrivate.m: 22973 (+[WebHTMLView _pasteboardTypes]): 22974 (-[WebHTMLView _writeSelectionToPasteboard:]): 22975 229762003-07-14 Darin Adler <darin@apple.com> 22977 22978 Reviewed by Maciej. 22979 22980 - make some improvements to handling of the timer, inspired by some bug reports 22981 22982 * WebView.subproj/WebFramePrivate.m: 22983 (-[WebFramePrivate dealloc]): Instead of releasing the timer, assert it is nil. 22984 (-[WebFrame _detachFromParent]): Invalidate and release the timer after finishing 22985 dealing with self, in case the reference from the timer is the last one. 22986 (-[WebFrame _timedLayout:]): Release the timer after doing all the other work, 22987 in case the reference from the timer is the last one. 22988 (-[WebFrame _setState:]): Release the timer after doing all the other work, 22989 in case the reference from the timer is the last one. 22990 229912003-07-14 Darin Adler <darin@apple.com> 22992 22993 Rolled out workaround to bug 3298153 -- get "screen font while printing" 22994 error, bad stuff happens after that (Sherlock, Safari). It turns out the 22995 real fix was on the WebCore side. Now that we have that fix we don't need 22996 these extra calls to printerFont, which is a relatively slow call that 22997 may need to look up a font by name each time it's called. 22998 22999 * WebCoreSupport.subproj/WebTextRenderer.m: (_drawGlyphs): 23000 Remove code to look up the printer font. 23001 230022003-07-14 Maciej Stachowiak <mjs@apple.com> 23003 23004 Rolled in fix from Safari-89-branch 23005 2003-07-12 Maciej Stachowiak <mjs@apple.com> 23006 23007 Try to fix OS build by making the Frameworks link in both SYMROOT 23008 and DSTROOT, and at both build time and install time. 23009 23010 * WebKit.pbproj/project.pbxproj: 23011 230122003-07-14 Dave Hyatt <hyatt@apple.com> 23013 23014 Roll this change out. It was a bad change that I only made 23015 because I was using the opacity APIs wrong. 23016 Reviewed by (nobody, just a straight backout of a previous checkin) 23017 23018 * WebCoreSupport.subproj/WebImageRenderer.m: 23019 (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): 23020 230212003-07-13 Darin Adler <darin@apple.com> 23022 23023 * WebKit.pbproj/project.pbxproj: Add command to prevent build from failing if symlink 23024 creation fails. 23025 230262003-07-13 Darin Adler <darin@apple.com> 23027 23028 Fixed symbolic link path as Matt Reda suggested. 23029 23030 * WebKit.pbproj/project.pbxproj: Changed paths in both of Maciej's new build phases 23031 to use Versions/Current instead of Versions/A. 23032 230332003-07-13 Darin Adler <darin@apple.com> 23034 23035 Fixed DSTROOT path as Eric Weiss suggested. 23036 23037 * WebKit.pbproj/project.pbxproj: Changed paths in both of Maciej's new build phases. 23038 230392003-07-12 Maciej Stachowiak <mjs@apple.com> 23040 23041 Try to fix OS build by making the Frameworks link in both SYMROOT 23042 and DSTROOT, and at both build time and install time. 23043 23044 * WebKit.pbproj/project.pbxproj: 23045 230462003-07-11 Dave Hyatt <hyatt@apple.com> 23047 23048 Make sure image compositing obeys the current global alpha that 23049 is in effect, e.g., if someone has set an opacity within the 23050 current layer. 23051 23052 It's worth noting that I'm not even sure *why* this patch works, 23053 but it does, even with nested opacity layers. 23054 Reviewed by darin 23055 23056 * WebCoreSupport.subproj/WebImageRenderer.m: 23057 (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): 23058 23059=== Safari-89 === 23060 230612003-07-10 Richard Williamson <rjw@apple.com> 23062 23063 Fixed 3298153. Force use of printer font when printing. 23064 23065 Reviewed by Chris. 23066 23067 * WebCoreSupport.subproj/WebTextRenderer.m: 23068 (_drawGlyphs): 23069 230702003-07-10 Chris Blumenberg <cblu@apple.com> 23071 23072 Fixed: <rdar://problem/3161102>: Avoid retain cycles by destroying plug-ins in the page cache before dealloc 23073 Fixed: <rdar://problem/3320624>: WebElementImageAltStringKey is not exported :-( 23074 Unspoof freebsd since we now handle gzip'd content. 23075 23076 Reviewed by rjw. 23077 23078 * History.subproj/WebHistoryItem.m: 23079 (+[WebHistoryItem _destroyAllPluginsInPendingPageCaches]): new, destroys all plug-ins 23080 (+[WebHistoryItem _releaseAllPendingPageCaches]): call _destroyAllPluginsInPendingPageCaches 23081 * WebKit.exp: export WebElementImageAltStringKey 23082 * WebView.subproj/WebUserAgentSpoofTable.c: unspoof freebsd 23083 (hash): 23084 (_web_findSpoofTableEntry): 23085 * WebView.subproj/WebUserAgentSpoofTable.gperf: unspoof freebsd 23086 230872003-07-10 John Sullivan <sullivan@apple.com> 23088 23089 Reviewed by Chris 23090 23091 * WebCoreSupport.subproj/WebImageRenderer.m: 23092 (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): 23093 fixed copy/paste error in comment that I stumbled across 23094 230952003-07-09 Richard Williamson <rjw@apple.com> 23096 23097 Fixed 3141257. Animate multiple copies of the same 23098 image on the same page. 23099 23100 Reviewed by hyatt. 23101 23102 * WebCoreSupport.subproj/WebImageRenderer.h: 23103 * WebCoreSupport.subproj/WebImageRenderer.m: 23104 (+[WebImageRenderer stopAnimationsInView:]): 23105 (-[WebImageRenderer retainOrCopyIfNeeded]): 23106 (-[WebImageRenderer copyWithZone:]): 23107 (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): 23108 (-[WebImageRenderer dealloc]): 23109 (-[WebImageRenderer repetitionCount]): 23110 (-[WebImageRenderer scheduleFrame]): 23111 (-[WebImageRenderer beginAnimationInRect:fromRect:]): 23112 * WebCoreSupport.subproj/WebImageRendererFactory.h: 23113 * WebCoreSupport.subproj/WebImageRendererFactory.m: 23114 (-[WebImageRendererFactory imageRendererWithMIMEType:]): 23115 (-[WebImageRendererFactory imageRendererWithData:MIMEType:]): 23116 (-[WebImageRendererFactory imageRendererWithBytes:length:MIMEType:]): 23117 231182003-07-09 Chris Blumenberg <cblu@apple.com> 23119 23120 Fixed: <rdar://problem/3229364>: user stylesheet path should be stored relative to home directory 23121 23122 Reviewed by john. 23123 23124 * Misc.subproj/WebKitNSStringExtras.h: 23125 * Misc.subproj/WebKitNSStringExtras.m: 23126 (-[NSString _web_stringByAbbreviatingWithTildeInPath]): new, handles home directories that have symlinks in path 23127 * WebView.subproj/WebPreferences.m: 23128 (-[WebPreferences userStyleSheetLocation]): converts path string or URL string to URL 23129 (-[WebPreferences setUserStyleSheetLocation:]): converts URL to path string or URL string 23130 231312003-07-08 Darin Adler <darin@apple.com> 23132 23133 Reviewed by John. 23134 23135 - fixed 3125264 -- nuke NSImage workaround when we drop Jaguar support 23136 23137 * Misc.subproj/WebNSImageExtras.m: Removed the workaround. 23138 23139 - removed other Jaguar-specific code 23140 23141 * WebCoreSupport.subproj/WebImageRenderer.m: Remove workaround for improper 23142 handling of GIF animation loops with no loop counting, bug 3090341. 23143 23144 * WebView.subproj/WebHTMLViewPrivate.m: Remove workaround for problem extracting 23145 scroll wheel events without also getting all others, which caused jumping around 23146 if you used the scroll wheel while moving the mouse, bug 3245425. 23147 23148 * Misc.subproj/WebKitErrorsPrivate.h: Remove Jaguar-only import of <NSError.h>. 23149 * Plugins.subproj/WebNetscapePluginPackage.m: Remove Jaguar-only side of #if. 23150 * Plugins.subproj/WebNetscapePluginRepresentation.m: Remove Jaguar-only import 23151 of <NSError.h>. 23152 * WebKit/Plugins.subproj/WebPluginPackage.m: Remove unnecessary import of <NSError.h>. 23153 * Plugins.subproj/WebPluginPackage.m: Remove Jaguar-only side of #if. 23154 * WebCoreSupport.subproj/WebSubresourceClient.m: Remove Jaguar-only import 23155 of <NSError.h>. 23156 * WebView.subproj/WebDefaultFrameLoadDelegate.m: Remove Jaguar-only import 23157 of <NSError.h>. 23158 * WebView.subproj/WebImageRepresentation.m: Remove Jaguar-only import 23159 of <NSError.h>. 23160 23161 * WebKit/English.lproj/StringsNotToBeLocalized.txt: Updated for this and other recent changes. 23162 231632003-07-08 Chris Blumenberg <cblu@apple.com> 23164 23165 Fixed: <rdar://problem/3134494>: no progressive loading for standalone images 23166 Fixed: <rdar://problem/3280633>: exception raised (attempt to create array with nil element) when dragging image out of HTML 23167 23168 Reviewed by rjw. 23169 23170 * Misc.subproj/WebNSViewExtras.h: 23171 * Misc.subproj/WebNSViewExtras.m: 23172 (-[NSView _web_dragPromisedImage:rect:URL:title:event:]): don't take a file type since this can now be gotten from the image 23173 * WebCoreSupport.subproj/WebImageRenderer.h: 23174 * WebCoreSupport.subproj/WebImageRenderer.m: 23175 (-[WebImageRenderer _adjustSizeToPixelDimensions]): new method that rjw factored from incrementalLoadWithBytes::: 23176 (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): call _adjustSizeToPixelDimensions so we have the correct image size as the image loads 23177 (-[WebImageRenderer MIMEType]): new accessor 23178 * WebView.subproj/WebHTMLViewPrivate.m: 23179 (-[WebHTMLView _handleMouseDragged:]): use renamed _web_dragPromisedImage 23180 * WebView.subproj/WebImageRepresentation.h: 23181 * WebView.subproj/WebImageRepresentation.m: 23182 (-[WebImageRepresentation doneLoading]): new 23183 (-[WebImageRepresentation setDataSource:]): create the image here 23184 (-[WebImageRepresentation receivedData:withDataSource:]): pass data to image 23185 (-[WebImageRepresentation receivedError:withDataSource:]): complete image loading 23186 (-[WebImageRepresentation finishedLoadingWithDataSource:]): complete image loading 23187 * WebView.subproj/WebImageView.h: 23188 * WebView.subproj/WebImageView.m: 23189 (-[WebImageView initWithFrame:]): call setAutoresizingMask so setFrameSize is called often enough 23190 (-[WebImageView dealloc]): tweak 23191 (-[WebImageView haveCompleteImage]): new 23192 (-[WebImageView drawingRect]): new 23193 (-[WebImageView drawRect:]): fill white then draw the image so we never show the previous page 23194 (-[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. 23195 (-[WebImageView setFrameSize:]): call setFrameSizeUsingImage 23196 (-[WebImageView layout]): call setFrameSizeUsingImage 23197 (-[WebImageView setDataSource:]): store the rep 23198 (-[WebImageView dataSourceUpdated:]): call setNeedsLayout and setNeedsDisplay 23199 (-[WebImageView viewDidMoveToWindow]): tweak 23200 (-[WebImageView validateUserInterfaceItem:]): only allow copy if haveCompleteImage 23201 (-[WebImageView writeImageToPasteboard:]): only writeImageToPasteboard if haveCompleteImage 23202 (-[WebImageView writeSelectionToPasteboard:types:]): tweak 23203 (-[WebImageView menuForEvent:]): tweak 23204 (-[WebImageView mouseDragged:]): only allow drag if haveCompleteImage 23205 (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]): tweak 23206 232072003-07-08 Dave Hyatt <hyatt@apple.com> 23208 23209 Change minimum font size pref value back to 9. This change 23210 has been made in conjunction with associated WebCore changes 23211 that allow us to institute a minimum font size safely without 23212 the need for a visible GUI pref. 23213 Reviewed by darin 23214 23215 * WebView.subproj/WebPreferences.m: 23216 (+[WebPreferences initialize]): 23217 232182003-07-07 Maciej Stachowiak <mjs@apple.com> 23219 23220 Reviewed by John. 23221 23222 - fixed 3295916 - b/c JavaScriptCore and WebCore are installing in wrong location, private headers are public 23223 23224 * WebKit.pbproj/project.pbxproj: Make a link from Frameworks to Versions/A/Frameworks. 23225 23226=== Safari-88 === 23227 232282003-07-07 Darin Adler <darin@apple.com> 23229 23230 Reviewed by Dave. 23231 23232 - fix compile error from B&I Panther build; really, this time 23233 23234 * WebCoreSupport.subproj/WebTextRenderer.m: 23235 (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]): Use unsigned, not int. 23236 (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): Ditto. 23237 232382003-07-06 Darin Adler <darin@apple.com> 23239 23240 - fix compile error from B&I Panther build 23241 23242 * WebCoreSupport.subproj/WebTextRenderer.m: 23243 (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]): Rearrange code so that we won't get 23244 a warning if numGlyphs type is either signed or unsigned. We don't want to depend on the new ATS 23245 headers or the old ones; this is compatible with both. 23246 (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): Ditto. 23247 232482003-07-03 Darin Adler <darin@apple.com> 23249 23250 * WebCoreSupport.subproj/WebImageRenderer.m: Remove obsolete comment. 23251 232522003-07-03 Chris Blumenberg <cblu@apple.com> 23253 23254 Fixed: <rdar://problem/3206011>: Don't accepts drags when showing dialogs or sheets 23255 23256 Reviewed by john. 23257 23258 * Misc.subproj/WebNSViewExtras.m: 23259 (-[NSView _web_dragOperationForDraggingInfo:]): 23260 232612003-07-03 Chris Blumenberg <cblu@apple.com> 23262 23263 Fixed: <rdar://problem/3291566>: Aborting standalone image load makes image directory page unusable 23264 23265 Reviewed by john. 23266 23267 * WebKit.pbproj/project.pbxproj: Xcode-ified WebKit.pbproj 23268 * WebView.subproj/WebImageView.h: 23269 * WebView.subproj/WebImageView.m: 23270 (-[WebImageView drawRect:]): layout if we need to, fill with white if we don't have an image yet 23271 (-[WebImageView setNeedsLayout:]): set the bit 23272 (-[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 23273 232742003-07-02 Maciej Stachowiak <mjs@apple.com> 23275 23276 Reviewed by Ken. 23277 23278 - fixed 3304992 - REGRESSION: Every GET on an authenticated site requires a login (genentech) 23279 23280 I fixed this by adding a per-window queue of waiting 23281 authentication requests. Before going to a later item in the 23282 queue, the auth handler checks if there's already a credential 23283 available to handle it, and if so uses that as the answer instead of 23284 prompting. 23285 23286 * Panels.subproj/WebPanelAuthenticationHandler.h: 23287 * Panels.subproj/WebPanelAuthenticationHandler.m: 23288 (-[NSMutableDictionary _web_setObject:forUncopiedKey:]): 23289 (-[WebPanelAuthenticationHandler init]): 23290 (-[WebPanelAuthenticationHandler dealloc]): 23291 (-[WebPanelAuthenticationHandler enqueueChallenge:forWindow:]): 23292 (-[WebPanelAuthenticationHandler tryNextChallengeForWindow:]): 23293 (-[WebPanelAuthenticationHandler startAuthentication:window:]): 23294 (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]): 23295 232962003-06-30 John Sullivan <sullivan@apple.com> 23297 23298 - fixed 3310716 -- Authentication dialog could be tweaked to 23299 better match guidelines 23300 23301 Reviewed by Chris 23302 23303 * Panels.subproj/English.lproj/WebAuthenticationPanel.nib: 23304 left-aligned "Name:" and "Password:" labels; slightly tweaked 23305 layout at right edge of sheet 23306 233072003-06-26 Chris Blumenberg <cblu@apple.com> 23308 23309 Changes to make WebKit compile with gcc 3.3. 23310 23311 Reviewed by darin. 23312 23313 * Carbon.subproj/HIWebView.m: 23314 * WebCoreSupport.subproj/WebBridge.m: 23315 (-[WebBridge setScrollbarsVisible:]): 23316 (-[WebBridge loadURL:referrer:reload:target:triggeringEvent:form:formValues:]): 23317 (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): 23318 * WebView.subproj/WebFramePrivate.h: 23319 * WebView.subproj/WebFramePrivate.m: 23320 (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): 23321 (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): 23322 * WebView.subproj/WebPreferences.m: 23323 (-[WebPreferences setDefaultFontSize:]): 23324 (-[WebPreferences setDefaultFixedFontSize:]): 23325 (-[WebPreferences setMinimumFontSize:]): 23326 * WebView.subproj/WebView.m: 23327 (-[WebView searchFor:direction:caseSensitive:wrap:]): 23328 233292003-06-24 Chris Blumenberg <cblu@apple.com> 23330 23331 Renamed the context menu item Download Image To Disk" to "Download Image to Disk". 23332 23333 Reviewed by john. 23334 23335 * English.lproj/Localizable.strings: 23336 * WebView.subproj/WebDefaultContextMenuDelegate.m: 23337 (-[WebDefaultUIDelegate menuItemWithTag:]): 23338 233392003-06-19 Chris Blumenberg <cblu@apple.com> 23340 23341 Fixed: <rdar://problem/3294803>: HTTP error sent as content instead of error to plug-ins 23342 23343 23344 Reviewed by john. 23345 23346 * Plugins.subproj/WebNetscapePluginStream.m: 23347 (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): if the response is an error, cancel the load, return a network error 23348 23349=== Safari-85.1 === 23350 233512003-06-15 Vicki Murley <vicki@apple.com> 23352 23353 Reviewed by darin. 23354 23355 * WebKit.pbproj/project.pbxproj: remove SECTORDER_FLAGS variable, so that we don't use order file for our Panther submission 23356 23357=== Safari-85 === 23358 233592003-06-13 Darin Adler <darin@apple.com> 23360 23361 Reviewed by Darin (Richard wrote the first cut), then Don and Dave. 23362 23363 - fixed 3291467 -- CARBON: context menus are broken when using WebKit from Carbon 23364 23365 * Carbon.subproj/HIWebView.m: (ContextMenuClick): Rewrite method to create a fake 23366 right mouse up event, and pass that to menuForEvent: and _popUpMenuWithEvent. 23367 233682003-06-13 Darin Adler <darin@apple.com> 23369 23370 Reviewed by Chris. 23371 23372 - fixed 3291778 -- REGRESSION (51-52): QT controller never shows up for mp3 in frame 23373 23374 * Plugins.subproj/WebBaseNetscapePluginView.m: 23375 (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): 23376 Handle the "invisible" plug-in cases in a more complete way. 23377 Detect the various ways of being invisible (big negative X value, 0 size, 23378 not really in a window) and in all those cases, use a clip rect to guarantee 23379 we won't be seen, and make sure the size passed to the plug-in is *not* 0. 23380 23381 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 23382 233832003-06-13 David Hyatt <hyatt@apple.com> 23384 23385 Fix for 3291319, scrolling is much worse since 79. The problem 23386 was a fix for resize events that needed to use the scrollview size 23387 and not the document view size inside the scrollview. 23388 Reviewed by darin 23389 23390 * WebView.subproj/WebHTMLView.m: 23391 (-[WebHTMLView layoutToPageWidth:]): 23392 * WebView.subproj/WebHTMLViewPrivate.h: 23393 233942003-06-13 Chris Blumenberg <cblu@apple.com> 23395 23396 Fixed previous " Reviewed by" string. 23397 23398 * ChangeLog: 23399 234002003-06-13 Chris Blumenberg <cblu@apple.com> 23401 23402 Fixed: <rdar://problem/3291502>: REGRESSION (80-81): freebsd.org is giving us gzipped content (because we stopped spoofing) 23403 23404 Reviewed by john. 23405 23406 * WebView.subproj/WebUserAgentSpoofTable.c: 23407 (hash): 23408 (_web_findSpoofTableEntry): 23409 * WebView.subproj/WebUserAgentSpoofTable.gperf: 23410 234112003-06-12 Richard Williamson <rjw@apple.com> 23412 23413 Restoring fix for 3221078 that I earlier backed out in a 23414 panic about performance. In careful performance testing 23415 I now see no performance regression, and maybe a tiny improvement. 23416 The earlier performance regression Vicki saw was entirely 23417 due to the incorrect checkin for the fix to 3288532. 23418 23419 Reviewed by Chris & Gramps. 23420 23421 * WebCoreSupport.subproj/WebTextRenderer.h: 23422 * WebCoreSupport.subproj/WebTextRenderer.m: 23423 234242003-06-12 Richard Williamson <rjw@apple.com> 23425 23426 Correct fix for 3288532 again. This time will feeling! 23427 23428 Reviewed by Gramps. 23429 23430 * History.subproj/WebBackForwardList.m: 23431 (-[WebBackForwardList setCapacity:]): 23432 234332003-06-12 Don Melton <gramps@apple.com> 23434 23435 Since Richard didn't actually correct the fix for 3288532 in 23436 WebBackForwardList.m, I've backed out out his original fix entirely. 23437 23438 * History.subproj/WebBackForwardList.m: 23439 (-[WebBackForwardList setCapacity:]): 23440 234412003-06-12 Richard Williamson <rjw@apple.com> 23442 23443 Correct fix for 3288532. 23444 23445 * History.subproj/WebBackForwardList.m: 23446 234472003-06-12 Richard Williamson <rjw@apple.com> 23448 23449 Fixed 3288532. When setCapacity: shrinks capacity, trim 23450 the back/forward list. Setting to zero will effectively 23451 flush the list. 23452 23453 Reviewed by John. 23454 23455 * History.subproj/WebBackForwardList.m: 23456 234572003-06-12 Richard Williamson <rjw@apple.com> 23458 23459 Fixed 3221078. Maintain a seperate width map 23460 for substitute fonts to avoid collision of glyph 23461 codes. 23462 23463 Reviewed by Chris & Gramps. 23464 23465 * WebCoreSupport.subproj/WebTextRenderer.h: 23466 * WebCoreSupport.subproj/WebTextRenderer.m: 23467 23468=== Safari-84 === 23469 234702003-06-12 Darin Adler <darin@apple.com> 23471 23472 Fixed by Richard, reviewed by me. 23473 23474 - fixed 3289047 -- REGRESSION: can't go back after using form at attwireless.com 23475 23476 * WebCoreSupport.subproj/WebBridge.m: 23477 (-[WebBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]): 23478 Added isJavaScriptFormAction parameter, passed on to frame. 23479 23480 * WebView.subproj/WebFramePrivate.h: Added isJavaScriptFormAction parameter. 23481 * WebView.subproj/WebFramePrivate.m: 23482 (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]): 23483 If isJavaScriptFormAction is YES, then don't treat this is a "quick redirect" which is 23484 merged with the previous page for purposes of back/forward. 23485 234862003-06-11 Chris Blumenberg <cblu@apple.com> 23487 23488 Fixed: <rdar://problem/3289577>: Reenable Carbon Java plug-ins when in Carbon app 23489 23490 Reviewed by gramps. 23491 23492 * Plugins.subproj/WebPluginDatabase.m: 23493 (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): only call canUsePlugin: for web plug-ins 23494 234952003-06-11 Chris Blumenberg <cblu@apple.com> 23496 23497 Fixed: <rdar://problem/3289380>: REGRESSION: policyDataSource == nil assertion failure after closing particular window 23498 23499 23500 Reviewed by john. 23501 23502 * WebView.subproj/WebFramePrivate.m: 23503 (-[WebFrame _continueAfterNavigationPolicy:]): don't clear policyDataSource here because this method may not be called during navigation 23504 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): clear policyDataSource here 23505 235062003-06-11 Chris Blumenberg <cblu@apple.com> 23507 23508 Fixed: <rdar://problem/3288097>: REGRESSION: assertion failure after hitting back while loading page after fragment scroll 23509 23510 Fixed by darin, reviewed by me. 23511 23512 * WebView.subproj/WebFramePrivate.m: 23513 (-[WebFrame _URLsMatchItem:]): ignore the URL fragment so we scroll back at the current page instead of attempt to load the current page 23514 235152003-06-11 Darin Adler <darin@apple.com> 23516 23517 Reviewed by John. 23518 23519 - fixed 3285808 -- repro world leak when replacing div that contains iframe (at www.kbs.co.kr) 23520 23521 * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge frameDetached]): 23522 Add a call to _detachFromParent. 23523 * WebView.subproj/WebFramePrivate.m: (-[WebFrame _removeChild:]): 23524 Nil out the parent pointer in the removed child. 23525 235262003-06-10 Chris Blumenberg <cblu@apple.com> 23527 23528 Fixed: <rdar://problem/3288076>: REGRESSION: Fragment scroll stops page load 23529 23530 We do policy navigation checks for the regular load case, fragment scroll and redirects. 23531 We only want to stop the load, change the provisional data source etc in the regular load case. 23532 23533 Reviewed by darin. 23534 23535 * 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). 23536 (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): don't clear policyDataSource because it needs to be called in _continueLoadRequestAfterNavigationPolicy:: 23537 (-[WebFrame _setPolicyDataSource:]): new 23538 (-[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 23539 (-[WebFrame _continueAfterNavigationPolicy:]): don't call _prepareForProvisionalLoadWithDataSource::, call _setPolicyDataSource:nil after _continueLoadRequestAfterNavigationPolicy:: has used policyDataSource 23540 (-[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 23541 23542 23543 23544 23545Source:: 23546 (-[WebFrame _loadDataSource:withLoadType:formState:]): set the policyLoadType and policyDataSource (the beginning of the regular load case) 23547 235482003-06-10 Richard Williamson <rjw@apple.com> 23549 23550 Back out incorrect fix to 3287862. 23551 235522003-06-10 Chris Blumenberg <cblu@apple.com> 23553 23554 Fixed: <rdar://problem/3156169>: cmd-click opens new win but stops loading in prev win 23555 23556 Reviewed by rjw. 23557 23558 * WebView.subproj/WebFrame.m: 23559 (-[WebFrame stopLoading]): set the provisional data source to nil to avoid a newly added assert in [WebFramePrivate setProvisionalDataSource:] 23560 and since it is wasteful to retain it in this case 23561 * WebView.subproj/WebFramePrivate.h: added policyDataSource and policyLoadType ivars 23562 * WebView.subproj/WebFramePrivate.m: 23563 (-[WebFramePrivate dealloc]): added an assert 23564 (-[WebFramePrivate setProvisionalDataSource:]): added an assert 23565 (-[WebFrame _isLoadComplete]): formatting tweak 23566 (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): reset policyDataSource 23567 (-[WebFrame _checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]): formatting tweak 23568 (-[WebFrame _prepareForProvisionalLoadWithDataSource:loadType:]): new, calls stopLoading, _setLoadType and _setProvisionalDataSource 23569 (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]): call _prepareForProvisionalLoadWithDataSource:loadType: only in the "use" policy case 23570 (-[WebFrame _continueAfterNavigationPolicy:]): call _setProvisionalDataSource:andLoadType: 23571 (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): formatting tweak 23572 (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): formatting tweak 23573 (-[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 23574 (-[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 23575 23576 23577 23578 23579:loadType: instead. 23580 235812003-06-10 Richard Williamson <rjw@apple.com> 23582 23583 Fixed 3287862. Don't override resize flags 23584 when decoding WebView. 23585 23586 Reviewed by Chris. 23587 23588 * WebView.subproj/WebView.m: 23589 (-[WebView _commonInitializationFrameName:groupName:]): 23590 235912003-06-10 Chris Blumenberg <cblu@apple.com> 23592 23593 Fixed: <rdar://problem/3286006>: Carbon Java plug-in problems may require workaround in WebKit 23594 23595 Reviewed by john. 23596 23597 * Plugins.subproj/WebPluginDatabase.m: 23598 (-[WebPluginDatabase canUsePlugin:]): if in a carbon app, only use the mach-o java plug-in when its version is anything but 1.0.0 23599 (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): call canUsePlugin on all the plug-ins 23600 23601 236022003-06-10 Vicki Murley <vicki@apple.com> 23603 23604 Reviewed by john. 23605 23606 * WebKit.order: new order file for 1.0 23607 236082003-06-09 Chris Blumenberg <cblu@apple.com> 23609 23610 * WebView.subproj/WebDataSource.h: Removed FIXME related to pageTitle. 23611 236122003-06-09 Chris Blumenberg <cblu@apple.com> 23613 23614 <rdar://problem/3283359>: don't load Cocoa Java plug-in if in Carbon app 23615 23616 23617 Reviewed by darin. 23618 23619 * Plugins.subproj/WebPluginDatabase.h: removed pluginForFilename, wasn't being used 23620 * Plugins.subproj/WebPluginDatabase.m: 23621 (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): don't use the plug-in if ![self isCocoa] && [[[webPlugin bundle] bundleIdentifier] isEqualToString:JavaCocoaPluginIdentifier] 23622 236232003-06-09 Chris Blumenberg <cblu@apple.com> 23624 23625 Fixed: <rdar://problem/3284848>: REGRESSION: repro crash in Flash handling null event, going back to Japanese Disney page 23626 23627 When restarting plug-ins from the BF cache, we were not calling NPP_SetWindow. 23628 23629 Reviewed by darin. 23630 23631 * Plugins.subproj/WebBaseNetscapePluginView.m: 23632 (-[WebBaseNetscapePluginView stop]): set the window type to 0 to force the calling of NPP_SetWindow 23633 23634=== Safari-83 === 23635 236362003-06-07 Darin Adler <darin@apple.com> 23637 23638 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 23639 236402003-06-07 Darin Adler <darin@apple.com> 23641 23642 Rolled out Chris's fix for 3156169 because it was causing a lot of crashes 23643 and problems with basic behavior. We can try again later. 23644 23645 One of the problems was that Back wasn't working. Another was that you could 23646 not follow the link at the top of the page at kbb.com. More testing seemed to 23647 reveal still more problems. 23648 23649 * WebView.subproj/WebFramePrivate.h: Rolled back to previous version. 23650 * WebView.subproj/WebFramePrivate.m: Ditto. 23651 236522003-06-06 Richard Williamson <rjw@apple.com> 23653 23654 Fixed 3283236. Remove use of forward declarations in public header because 23655 CodeWarrior pukes on 'em. 23656 23657 Reviewed by Chris. 23658 23659 * WebView.subproj/WebDataSource.h: 23660 236612003-06-06 Chris Blumenberg <cblu@apple.com> 23662 23663 Fixed: <rdar://problem/3156169>: cmd-click opens new win but stops loading in prev win 23664 23665 Reviewed by darin. 23666 23667 * WebView.subproj/WebFramePrivate.h: added policyDataSource and policyLoadType as ivars 23668 * WebView.subproj/WebFramePrivate.m: 23669 (-[WebFramePrivate dealloc]): added ASSERT 23670 (-[WebFramePrivate setProvisionalDataSource:]): added ASSERT 23671 (-[WebFrame _isLoadComplete]): formatting tweak 23672 (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): clear policyDataSource 23673 (-[WebFrame _checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]): formatting tweak 23674 (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]): retain policyDataSource 23675 (-[WebFrame _continueAfterNavigationPolicy:]): stop the load, set the load type, set the provisional data source in the "use" case 23676 (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): formatting tweak 23677 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): don't reset things if something other than "use" has been chosen 23678 (-[WebFrame _loadDataSource:withLoadType:formState:]): DON'T stop the load, set the load type, set the provisional data source 23679 236802003-06-06 Chris Blumenberg <cblu@apple.com> 23681 23682 Fixed: <rdar://problem/3282881>: Java plugin fails in carbon WebKit apps 23683 23684 Fixed by Mike Hay, reviewed by me. 23685 23686 * Plugins.subproj/WebPluginDatabase.m: 23687 (-[WebPluginDatabase initIsCocoa]): 23688 (-[WebPluginDatabase isCocoa]): 23689 (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): don't load cocoa plug-ins if isCocoa. 23690 236912003-06-05 John Sullivan <sullivan@apple.com> 23692 23693 - fixed 3266216 -- repro crash in 23694 -[WebBaseResourceHandleDelegate connection:didReceiveData:] 23695 in GIA Application 23696 23697 The problem was that an NSURLConnection delegate object (in this 23698 case a WebMainResourceClient) was being dealloc'ed during one of 23699 its connection delegate methods. To prevent this kind of problem, 23700 I added [self retain]/[self release] guards around the meat of 23701 all of the connection delegate methods in which arbitrary code 23702 could be run. Another approach would be to do this retain/release 23703 pair in NSURLConnection, but Darin deemed it wiser not to muck with 23704 Foundation at this point for this issue. 23705 23706 Reviewed by Darin 23707 23708 * Plugins.subproj/WebNetscapePluginStream.m: 23709 (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): 23710 guard with [self retain]/[self release] 23711 (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:]): 23712 ditto 23713 (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): 23714 ditto 23715 23716 * WebCoreSupport.subproj/WebSubresourceClient.m: 23717 (-[WebSubresourceClient connection:didReceiveResponse:]): 23718 ditto 23719 (-[WebSubresourceClient connection:didReceiveData:]): 23720 ditto 23721 23722 * WebView.subproj/WebBaseResourceHandleDelegate.m: 23723 (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): 23724 ditto 23725 (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]): 23726 ditto 23727 (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]): 23728 ditto 23729 (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): 23730 ditto 23731 (-[WebBaseResourceHandleDelegate connection:didReceiveData:]): 23732 ditto. Also, commented out two assertions that fire illegitimately in the steps in 23733 this bug report. 23734 (-[WebBaseResourceHandleDelegate connection:didFailWithError:]): 23735 ditto 23736 23737 * WebView.subproj/WebMainResourceClient.m: 23738 (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]): 23739 ditto 23740 (-[WebMainResourceClient connection:didReceiveResponse:]): 23741 ditto 23742 (-[WebMainResourceClient connection:didReceiveData:]): 23743 ditto 23744 237452003-06-04 Richard Williamson <rjw@apple.com> 23746 23747 Fixed 3277775. Send less notifications. Notifcations suck! 23748 23749 Reviewed by David. 23750 23751 * WebView.subproj/WebViewPrivate.h: 23752 * WebView.subproj/WebViewPrivate.m: 23753 (-[WebViewPrivate init]): 23754 (-[WebView _progressStarted]): 23755 (-[WebView _progressCompleted]): 23756 (-[WebView _incrementProgressForConnection:data:]): 23757 237582003-06-04 Darin Adler <darin@apple.com> 23759 23760 Reviewed by John. 23761 23762 - fixed 3277675 -- REGRESSION: mouse wheel events not coalesced 23763 23764 * WebView.subproj/WebHTMLViewPrivate.m: (-[WebNSWindow nextEventMatchingMask:untilDate:inMode:dequeue:]): 23765 When the mask is scroll wheel mask, instead of getting no events, do some tricks to get the next 23766 event if it is a scroll wheel event, and nothing otherwise. Also ifdef the fix so we don't compile 23767 it on Panther, since the underlying bug was fixed on Panther. 23768 23769 - other changes 23770 23771 * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer copyWithZone:]): 23772 Remove unneeded line of code. The super function copies all simple fields for us. 23773 23774 * Plugins.subproj/WebBaseNetscapePluginView.m: 23775 (-[WebBaseNetscapePluginView setMIMEType:]): Use copy instead of retain, do it in the right order 23776 to avoid "same object release/retain" disease. 23777 (-[WebBaseNetscapePluginView setBaseURL:]): Do retain before release (same reason as above). 23778 237792003-06-03 Chris Blumenberg <cblu@apple.com> 23780 23781 Fixed: 3278496 - <rdar://problem/3278496>: NSURLDownload: initWithSource and source should be renamed to initWithRequest and request 23782 23783 Reviewed by rjw. 23784 23785 * Misc.subproj/WebDownload.m: 23786 (-[WebDownload initWithRequest:delegate:]): 23787 (-[WebDownload _initWithRequest:delegate:directory:]): 23788 * WebView.subproj/WebImageView.m: 23789 (-[WebImageView setNeedsDisplay:]): 23790 * WebView.subproj/WebViewPrivate.m: 23791 (-[WebView _downloadURL:toDirectory:]): 23792 237932003-06-03 Richard Williamson <rjw@apple.com> 23794 Fixed 3263188, 3274636. 23795 Written by Ed Voas. Reviewed by Richard. 23796 23797 * Carbon.subproj/CarbonUtils.m: 23798 (WebInitForCarbon): 23799 Ensure the process info is correctly initialized so the correct 23800 "flavour" (carbon) is detected. 23801 23802 * Carbon.subproj/HIWebView.m: 23803 (Draw): 23804 Always draw the growbox after drawing the web view, 23805 assuming overlap. 23806 23807=== Safari-82 === 23808 238092003-06-03 Chris Blumenberg <cblu@apple.com> 23810 23811 Fixed: <rdar://problem/3167792>: hang in _web_dragPromisedImage dragging 4 MB image 23812 23813 Reviewed by john. 23814 23815 * Misc.subproj/WebNSViewExtras.m: 23816 (-[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 23817 238182003-06-02 Richard Williamson <rjw@apple.com> 23819 23820 Fix for 3250352. 23821 23822 Reviewed by Chris. 23823 23824 * WebView.subproj/WebDataSourcePrivate.m: 23825 (-[WebDataSource _startLoading:]): 23826 Check respondsToSelector: before calling. 23827 23828 * WebView.subproj/WebResourceLoadDelegate.h: 23829 * WebView.subproj/WebUIDelegate.h: 23830 Headerdoc tweaks. 23831 23832=== Safari-81 === 23833 238342003-06-02 Chris Blumenberg <cblu@apple.com> 23835 23836 Fixed: <rdar://problem/3154910>: No video when viewing QT plug-in content at some pages but audio works 23837 23838 This fix works around QT plug-in bug 3275755, but I think the fix is logical and worth keeping even after 3275755 is fixed. 23839 23840 23841 Eric Carlson: 23842 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) 23843 23844 23845 23846 23847. 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) 23848 23849 23850 23851 23852 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. 23853 23854 Reviewed by john, darin. 23855 23856 * Plugins.subproj/WebBaseNetscapePluginView.h: 23857 * Plugins.subproj/WebBaseNetscapePluginView.m: 23858 (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): use the NSView width and height if greater than 0, else use the tag specified width and height 23859 (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]): new 23860 (-[WebBaseNetscapePluginView setWindow]): NPP_SetWindow may be expensive, only call it if it has changed 23861 * Plugins.subproj/WebNetscapePluginPackage.m: 23862 (-[WebNetscapePluginPackage launchRealPlayer]): tweak, no need to store error code since it is ignored 23863 238642003-05-30 Richard Williamson <rjw@apple.com> 23865 23866 Fixed 3272516. Items are now expired from the 23867 b/f cache if they are older than 30 minutes. This 23868 number was pulled out of our #!$es. Also did 23869 some cleanup of the b/f cache code. 23870 23871 Reviewed by Ken. 23872 23873 * WebCoreSupport.subproj/WebBridge.m: 23874 (-[WebBridge saveDocumentToPageCache:]): 23875 * WebView.subproj/WebFramePrivate.h: 23876 * WebView.subproj/WebFramePrivate.m: 23877 (-[WebFrame _transitionToCommitted:]): 23878 (-[WebFrame _createPageCacheForItem:]): 23879 (-[WebFrame _setState:]): 23880 (-[WebFrame _loadItem:withLoadType:]): 23881 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): 23882 * WebView.subproj/WebPreferences.m: 23883 (+[WebPreferences initialize]): 23884 (-[WebPreferences _resourceTimedLayoutEnabled]): 23885 (-[WebPreferences _backForwardCacheExpirationInterval]): 23886 * WebView.subproj/WebPreferencesPrivate.h: 23887 * WebView.subproj/WebView.h: 23888 23889 * WebView.subproj/WebPreferences.h: Cleaned up some headerdoc 23890 comments. 238912003-05-29 Richard Williamson <rjw@apple.com> 23892 23893 Implemented 'estimatedProgress' method on WebView. This should 23894 eventually replace the broken algorithm on WebBrowser. Maybe 23895 for panther. 23896 23897 Reviewed by Chris. 23898 23899 * WebKit.exp: 23900 * WebView.subproj/WebBaseResourceHandleDelegate.m: 23901 (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): 23902 (-[WebBaseResourceHandleDelegate connection:didReceiveData:]): 23903 (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): 23904 (-[WebBaseResourceHandleDelegate connection:didFailWithError:]): 23905 (-[WebBaseResourceHandleDelegate cancelWithError:]): 23906 * WebView.subproj/WebDataSourcePrivate.m: 23907 (-[WebDataSource _startLoading:]): 23908 * WebView.subproj/WebFramePrivate.h: 23909 * WebView.subproj/WebFramePrivate.m: 23910 (-[WebFrame _isLoadComplete]): 23911 (-[WebFrame _numPendingOrLoadingRequests:]): 23912 * WebView.subproj/WebView.h: 23913 * WebView.subproj/WebView.m: 23914 (-[WebView estimatedProgress]): 23915 * WebView.subproj/WebViewPrivate.h: 23916 * WebView.subproj/WebViewPrivate.m: 23917 (-[WebViewPrivate dealloc]): 23918 (-[WebView _isPerformingProgrammaticFocus]): 23919 (-[WebView _progressStarted]): 23920 (-[WebView _progressCompleted]): 23921 (-[WebView _incrementProgressForConnection:data:]): 23922 (-[WebView _completeProgressForConnection:]): 23923 23924 Code cleanup. Moved variable initialization into block that 23925 check for non-nil self. 23926 23927 * WebCoreSupport.subproj/WebImageRenderer.m: 23928 (-[WebImageRenderer initWithMIMEType:]): 23929 (-[WebImageRenderer initWithData:MIMEType:]): 23930 (-[WebImageRenderer initWithContentsOfFile:]): 23931 239322003-05-29 Richard Williamson <rjw@apple.com> 23933 23934 Fixed 3272226. The shared image factory was being released 23935 when any renderer had 0 reps! 23936 23937 Reviewed by John. 23938 23939 * WebCoreSupport.subproj/WebImageRendererFactory.m: 23940 (-[WebImageRendererFactory imageRendererWithMIMEType:]): 23941 239422003-05-29 Chris Blumenberg <cblu@apple.com> 23943 23944 Fixed: 3151216 - Safari crashes on Drag&Drop if plugin dialog is open 23945 Reviewed by rjw. 23946 23947 * Misc.subproj/WebNSViewExtras.m: 23948 (-[NSView _web_dragOperationForDraggingInfo:]): return NSDragOperationNone is the app has a modal window so the current page can't be changed with a drag 23949 * WebView.subproj/WebView.m: 23950 (-[WebView draggingEntered:]): return _web_dragOperationForDraggingInfo 23951 239522003-05-29 Chris Blumenberg <cblu@apple.com> 23953 23954 Fixed: 3273109 - leak from functionPointerForTVector in -[WebNetscapePluginPackage load] 23955 23956 * Plugins.subproj/WebNetscapePluginPackage.m: 23957 (-[WebNetscapePluginPackage load]): free the main function after using it 23958 239592003-05-29 Richard Williamson <rjw@apple.com> 23960 Fixed 3273115. Always use pixel dimensions, 23961 not absolute dimensions. 23962 23963 Reviewed by Ken. 23964 23965 * WebCoreSupport.subproj/WebImageRenderer.m: 23966 (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): 23967 239682003-05-29 Richard Williamson <rjw@apple.com> 23969 23970 Fix 3272292. Ensure that loadStatus is always 23971 initialized to NSImageRepLoadStatusUnknownType. 23972 23973 Reviewed by Chris. 23974 23975 * WebCoreSupport.subproj/WebImageRenderer.m: 23976 (-[WebImageRenderer initWithMIMEType:]): 23977 (-[WebImageRenderer initWithData:MIMEType:]): 23978 (-[WebImageRenderer initWithContentsOfFile:]): 23979 239802003-05-28 Ken Kocienda <kocienda@apple.com> 23981 23982 Reviewed by Richard 23983 23984 Fix for this bug: 23985 23986 Radar 3260323 (Some links at nike.com cause assertion failure 23987 (connectionDidFinishLoading sent after cancel)) 23988 23989 Added a flag which is set when a load is cancelled. This flag prevents 23990 bad behvior when loads that finish cause the load itself to be 23991 cancelled (which could happen with a javascript that changes the 23992 window location). This is used to prevent both the body of 23993 cancelWithError: and the body of connectionDidFinishLoading: running 23994 for a single delegate. Cancelling wins. 23995 23996 * WebView.subproj/WebBaseResourceHandleDelegate.h: 23997 * WebView.subproj/WebBaseResourceHandleDelegate.m: 23998 (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): 23999 (-[WebBaseResourceHandleDelegate cancelWithError:]): 24000 240012003-05-28 Chris Blumenberg <cblu@apple.com> 24002 24003 Fixed: 3270576 - RealPlayer plug-in fails to load 24004 24005 Reviewed by darin. 24006 24007 * Plugins.subproj/WebNetscapePluginPackage.m: 24008 (-[WebNetscapePluginPackage launchRealPlayer]): new 24009 (-[WebNetscapePluginPackage load]): call launchRealPlayer to regenerate its broken plist file 24010 240112003-05-28 Richard Williamson <rjw@apple.com> 24012 24013 Fixed 3165631 (and other similar). 24014 Fixed 3262592. 24015 24016 We now set NSImage's cache mode to NSImageCacheNever during 24017 progressive loads. It gets reset to NSImageCacheDefault when 24018 loads complete. 24019 24020 If an image is scaled, NSImage appears to create a NSCacheImageRep 24021 with the wrong size during progessive image loading. Specifically 24022 it appears to create a cached rep with the original size. 24023 24024 Reviewed by Chris. 24025 24026 * WebCoreSupport.subproj/WebImageRenderer.m: 24027 (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): 24028 (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): 24029 * WebCoreSupport.subproj/WebImageRendererFactory.m: 24030 (-[WebImageRendererFactory imageRendererWithMIMEType:]): 24031 24032 * WebView.subproj/WebPreferences.h: 24033 Updated headerdoc comments. 24034 240352003-05-27 Chris Blumenberg <cblu@apple.com> 24036 24037 Fixed: 3233442 - Crash in -[WebNetscapePluginPackage load] at http://www.adultswim.com/ 24038 24039 Reviewed by mjs. 24040 24041 * Plugins.subproj/WebNetscapePluginPackage.m: 24042 (-[WebNetscapePluginPackage load]): don't call NPP_Shutdown if the plug-in fails to load 24043 240442003-05-27 Chris Blumenberg <cblu@apple.com> 24045 24046 Don't load and save icons if the icon DB directory default is not set. 24047 24048 Reviewed by darin. 24049 24050 * Misc.subproj/WebIconDatabase.m: 24051 (-[WebIconDatabase _createFileDatabase]): don't create the DB if the default is not set 24052 (-[WebIconDatabase _loadIconDictionaries]): don't load the dictionaries if the DB doesn't exist 24053 (-[WebIconDatabase _updateFileDatabase]): don't update the DB if it doesn't exist 24054 * WebView.subproj/WebDataSourcePrivate.m: 24055 (-[WebDataSource _loadIcon]): don't load icons if the icon DB directory default is not set 24056 240572003-05-27 Maciej Stachowiak <mjs@apple.com> 24058 24059 Rolled in fix from Safari-80~1-branch 24060 2003-05-27 Maciej Stachowiak <mjs@apple.com> 24061 24062 Reviewed by Darin. 24063 24064 * WebKit.pbproj/project.pbxproj: Removed no longer needed and harmful flag. 24065 240662003-05-27 Richard Williamson <rjw@apple.com> 24067 24068 Fix for IB. 24069 24070 Reviewed by Eric Seymour. 24071 24072 * WebView.subproj/WebPreferences.m: 24073 (-[WebPreferences initWithIdentifier:]): 24074 Added retain to uniqued instance. (As we did recently 24075 for initWithCoder:). 24076 240772003-05-27 Chris Blumenberg <cblu@apple.com> 24078 24079 Fixed: 3270013 - Exception raised when visiting http://www.shutterfly.com/favicon.ico 24080 24081 Reviewed by john. 24082 24083 * WebCoreSupport.subproj/WebImageRendererFactory.m: 24084 (-[WebImageRendererFactory imageRendererWithBytes:length:MIMEType:]): return nil if the image has no representations 24085 240862003-05-27 Chris Blumenberg <cblu@apple.com> 24087 24088 Fixed: 3242864 - repro assertion failure in WebIconDatabase.m for www.shutterfly.com 24089 24090 Reviewed by john. 24091 24092 * Misc.subproj/WebIconLoader.m: 24093 (-[WebIconLoader connectionDidFinishLoading:]): don't set the icon on the DB if it has no representations 24094 240952003-05-27 Richard Williamson <rjw@apple.com> 24096 24097 Fixes for IB. 24098 24099 Reviewed by Eric Seymour. 24100 24101 * WebView.subproj/WebPreferences.m: 24102 (-[WebPreferences initWithCoder:]): 24103 Added retain to uniqued instance 24104 24105 * WebView.subproj/WebView.m: 24106 (-[WebView initWithCoder:]): 24107 (-[WebView setPreferences:]): 24108 Added release check to global uniquing dictionary. 24109 241102003-05-23 Richard Williamson <rjw@apple.com> 24111 24112 Tweaks for IB. 24113 Updated WebView and WebPreferences to use 24114 keyed archiving. 24115 Added private method to export settable user 24116 defaults keys. 24117 24118 Reviewed by Ken. 24119 24120 * WebView.subproj/WebPreferences.m: 24121 (-[WebPreferences initWithCoder:]): 24122 (+[WebPreferences _userDefaultsKeysForIB]): 24123 * WebView.subproj/WebPreferencesPrivate.h: 24124 * WebView.subproj/WebView.m: 24125 (-[WebView initWithCoder:]): 24126 241272003-05-23 Richard Williamson <rjw@apple.com> 24128 24129 Added export of _WebHistoryItemChangedNotification. 24130 24131 * WebKit.exp: 24132 241332003-05-23 Chris Blumenberg <cblu@apple.com> 24134 24135 Fixed: 3259426 - Can't copy mailto links to clipboard 24136 24137 Reviewed by john. 24138 24139 * WebView.subproj/WebDefaultContextMenuDelegate.m: 24140 (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): offer "Copy Link to Clipboard" for all links 24141 241422003-05-22 Richard Williamson <rjw@apple.com> 24143 24144 *** Public API change *** 24145 100% compatible. Added notification when history items 24146 change values. 24147 24148 Fixed 3265672 24149 Reviewed by John. 24150 24151 * History.subproj/WebHistoryItem.h: 24152 * History.subproj/WebHistoryItem.m: 24153 (-[WebHistoryItem setAlternateTitle:]): 24154 (-[WebHistoryItem setURL:]): 24155 (-[WebHistoryItem setOriginalURLString:]): 24156 (-[WebHistoryItem setTitle:]): 24157 (-[WebHistoryItem _setLastVisitedTimeInterval:]): 24158 241592003-05-22 Richard Williamson <rjw@apple.com> 24160 24161 Fixed 3266464. Build problem on panther caused by overly 24162 pedantic gcc. 24163 24164 Reviewed by John. 24165 24166 * WebView.subproj/WebPreferences.m: 24167 (-[WebPreferences initWithCoder:]): 24168 * WebView.subproj/WebView.m: 24169 (-[WebView initWithCoder:]): 24170 241712003-05-22 Richard Williamson <rjw@apple.com> 24172 24173 Add _web to method in category name. 24174 24175 Fixed 3266102. @selector missing ":". 24176 24177 Reviewed by Darin. 24178 24179 * WebView.subproj/WebPreferences.m: 24180 (+[WebPreferences _removeReferenceForIdentifier:]): 24181 (-[NSMutableDictionary _web_checkLastReferenceForIdentifier:]): 24182 241832003-05-22 Darin Adler <darin@apple.com> 24184 24185 Reviewed by John. 24186 24187 - removed all entries except for jaguar.com because: 24188 a) most of these sites now work fine without the spoofing or have gone away 24189 b) nj.com and oregonlive.com do not work, but the spoofing committee (Mark, 24190 Don, Dave, and me) decided we should stop spoofing and get them to fix 24191 the sites instead 24192 If we can resolve jaguar.com in a similar way, we can remove the spoofing 24193 feature altogether. 24194 24195 * WebView.subproj/WebUserAgentSpoofTable.gperf: Removed all but jaguar.com. 24196 * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated. 24197 241982003-05-21 Richard Williamson <rjw@apple.com> 24199 24200 *** Public API Change *** 24201 The fix for 3265442 requires new API. This API is an addition 24202 that is 100% compatible with the existing API. 24203 24204 Provide support for IB to palettize WebView. 24205 24206 Fixed 3265442. 24207 Fixed 3263106. 24208 24209 Reviewed by Chris. 24210 24211 * WebView.subproj/WebPreferences.h: 24212 * WebView.subproj/WebPreferences.m: 24213 (-[WebPreferencesPrivate dealloc]): 24214 (-[WebPreferences init]): 24215 (-[WebPreferences initWithIdentifier:]): 24216 (-[WebPreferences initWithCoder:]): 24217 (-[WebPreferences encodeWithCoder:]): 24218 (+[WebPreferences standardPreferences]): 24219 (-[WebPreferences dealloc]): 24220 (-[WebPreferences identifier]): 24221 (-[WebPreferences _stringValueForKey:]): 24222 (-[WebPreferences _setStringValue:forKey:]): 24223 (-[WebPreferences _integerValueForKey:]): 24224 (-[WebPreferences _setIntegerValue:forKey:]): 24225 (-[WebPreferences _boolValueForKey:]): 24226 (-[WebPreferences _setBoolValue:forKey:]): 24227 (-[WebPreferences autosaves]): 24228 (+[WebPreferences _getInstanceForIdentifier:]): 24229 (+[WebPreferences _setInstance:forIdentifier:]): 24230 (+[WebPreferences _removeReferenceForIdentifier:]): 24231 (-[WebPreferences _postPreferencesChangesNotification]): 24232 (-[NSMutableDictionary _checkLastReferenceForIdentifier:]): 24233 * WebView.subproj/WebPreferencesPrivate.h: 24234 * WebView.subproj/WebView.h: 24235 * WebView.subproj/WebView.m: 24236 (-[WebView _commonInitializationFrameName:groupName:]): 24237 (-[WebView initWithCoder:]): 24238 (-[WebView encodeWithCoder:]): 24239 (-[WebView dealloc]): 24240 (-[WebView setPreferencesIdentifier:]): 24241 (-[WebView preferencesIdentifier]): 24242 242432003-05-21 Chris Blumenberg <cblu@apple.com> 24244 24245 Fixed data source leak when viewing standalone plug-in content. 24246 24247 Reviewed by rjw. 24248 24249 * Plugins.subproj/WebBaseNetscapePluginStream.h: don't inherit from WebBaseResourceHandleDelegate 24250 * Plugins.subproj/WebBaseNetscapePluginStream.m: 24251 (-[WebBaseNetscapePluginStream transferMode]): new 24252 * Plugins.subproj/WebNetscapePluginRepresentation.m: 24253 (-[WebNetscapePluginRepresentation dealloc]): don't release the data source 24254 (-[WebNetscapePluginRepresentation setDataSource:]): don't retain the data source 24255 * Plugins.subproj/WebNetscapePluginStream.h: 24256 * Plugins.subproj/WebNetscapePluginStream.m: 24257 (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]): create a WebNetscapePluginConnectionDelegate 24258 (-[WebNetscapePluginStream dealloc]): release the WebNetscapePluginConnectionDelegate 24259 (-[WebNetscapePluginStream start]): start the load on the WebNetscapePluginConnectionDelegate 24260 (-[WebNetscapePluginStream stop]): start the load on the WebNetscapePluginConnectionDelegate 24261 (-[WebNetscapePluginConnectionDelegate initWithStream:view:]): new class, inherits from WebBaseResourceHandleDelegate 24262 (-[WebNetscapePluginConnectionDelegate _releaseResources]): 24263 (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): 24264 (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:]): 24265 (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): 24266 (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): 24267 (-[WebNetscapePluginConnectionDelegate cancel]): 24268 * WebView.subproj/WebBaseResourceHandleDelegate.h: 24269 * WebView.subproj/WebBaseResourceHandleDelegate.m: 24270 (-[WebBaseResourceHandleDelegate response]): new 24271 242722003-05-21 Maciej Stachowiak <mjs@apple.com> 24273 24274 Reviewed by John. 24275 24276 - fixed 3254473 - REGRESSION: nike help page reloads on mouseovers, triggered by onresize function 24277 24278 REGRESSION: reload loop due to onresize handler (fortune.com, flipdog.com, stanford.edu) 24279 24280 * WebView.subproj/WebHTMLView.m: 24281 (-[WebHTMLView layoutToPageWidth:]): Go back to checking for at least one 24282 layout instead of last layout event time. Measure size in a way that ignores 24283 whether the scrollbares are there or not. 24284 * WebView.subproj/WebHTMLViewPrivate.h: Remove last layout event time and 24285 add back laid out at least once boolean. 24286 242872003-05-21 Chris Blumenberg <cblu@apple.com> 24288 24289 These problems: 24290 3184359 - icon exception closing window while typing 24291 3245476 - Safari-78 crashes or hangs after IMDB Find and using the history menu to go back ... 24292 are not or are no longer reproducible. They were caused by an exception raised in WebKit. 24293 Since we don't use exceptions in WebKit, I've replaced the exception with an assert. 24294 Reviewed by john. 24295 24296 * Misc.subproj/WebIconDatabase.m: 24297 (-[WebIconDatabase _releaseFutureIconForURL:]): assert instead of exception if failure 24298 242992003-05-21 Ed Voas <voas@apple.com> 24300 24301 - fixed 3262868: Update Carbon WebKit API prefixes 24302 - fixed 3264980: Carbon support in WebKit needs to route mouse events properly 24303 Reviewed by Richard. 24304 24305 * Carbon.subproj/CarbonUtils.h: 24306 * Carbon.subproj/CarbonUtils.m: 24307 (WebInitForCarbon): 24308 (WebConvertNSImageToCGImageRef): 24309 * Carbon.subproj/HIWebView.h: 24310 * Carbon.subproj/HIWebView.m: 24311 (HIWebViewGetWebView): 24312 (OwningWindowChanged): 24313 (WindowHandler): 24314 (HIWebViewEventHandler): 24315 * WebKit.exp: 24316 243172003-05-21 Vicki Murley <vicki@apple.com> 24318 24319 Reviewed by john 24320 - fixed 3234553: Safari and its frameworks should link using order files 24321 24322 * WebKit.order: Added. 24323 * WebKit.pbproj/project.pbxproj: set SECTORDER_FLAGS = -sectorder __TEXT __text WebKit.order; 24324 243252003-05-20 Richard Williamson <rjw@apple.com> 24326 24327 Fixed 3262825. 24328 Fixed 3245625. 24329 Fixed 3262547. 24330 24331 Recursively check items when going back/forward to ensure all 24332 frame URLs are correct. 24333 24334 Added some logging to help diagnose back/forward problems. 24335 24336 Reviewed by John. 24337 24338 * History.subproj/WebHistory.m: 24339 (-[WebHistory addItem:]): 24340 * Misc.subproj/WebKitLogging.h: 24341 * Misc.subproj/WebKitLogging.m: 24342 * WebView.subproj/WebDataSource.m: 24343 (-[WebDataSource initWithRequest:]): 24344 * WebView.subproj/WebFramePrivate.m: 24345 (-[WebFrame _createItem:]): 24346 (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]): 24347 (-[WebFrame _transitionToCommitted:]): 24348 (-[WebFrame _URLsMatchItem:]): 24349 (-[WebFrame _loadItem:withLoadType:]): 24350 24351=== Safari-80 === 24352 243532003-05-20 Ken Kocienda <kocienda@apple.com> 24354 24355 Reviewed by Darin 24356 24357 Due to some header file changes in Foundation on Panther, 24358 Tweaked some includes so that WebKit builds on Jaguar 24359 and Panther. 24360 24361 * Carbon.subproj/CarbonWindowFrame.m: 24362 * Plugins.subproj/WebNetscapePluginPackage.m: 24363 * Plugins.subproj/WebPluginPackage.m: 24364 243652003-05-19 Maciej Stachowiak <mjs@apple.com> 24366 24367 - fixed 3261096 - Make WebKit an umbrella framework 24368 24369 * WebKit.pbproj/project.pbxproj: Build WebKit as a public umbrella 24370 framework when doing a B&I build. 24371 243722003-05-19 Ken Kocienda <kocienda@apple.com> 24373 24374 Reviewed by Darin 24375 24376 * Panels.subproj/WebAuthenticationPanel.m: Now imports Foundation/NSURLCredential.h 24377 * WebCoreSupport.subproj/WebCookieAdapter.m: Now imports Foundation/NSHTTPCookie.h 24378 243792003-05-19 Ken Kocienda <kocienda@apple.com> 24380 24381 Reviewed by Darin 24382 24383 Changed imports to include headers from Foundation 24384 instead of WebFoundation. 24385 24386 Removed WebFoundation.framework as a dependency in 24387 the project file. 24388 24389 * History.subproj/WebHistory.m: 24390 * History.subproj/WebHistoryItem.m: 24391 * History.subproj/WebHistoryPrivate.m: 24392 * History.subproj/WebURLsWithTitles.m: 24393 * Misc.subproj/WebDownload.h: 24394 * Misc.subproj/WebDownload.m: 24395 * Misc.subproj/WebFileDatabase.m: 24396 * Misc.subproj/WebIconDatabase.m: 24397 * Misc.subproj/WebIconLoader.m: 24398 * Misc.subproj/WebKitErrors.m: 24399 * Misc.subproj/WebKitErrorsPrivate.h: 24400 * Misc.subproj/WebNSPasteboardExtras.m: 24401 * Misc.subproj/WebNSViewExtras.m: 24402 * Panels.subproj/WebAuthenticationPanel.h: 24403 * Panels.subproj/WebAuthenticationPanel.m: 24404 * Panels.subproj/WebPanelAuthenticationHandler.h: 24405 * Panels.subproj/WebPanelAuthenticationHandler.m: 24406 * Plugins.subproj/WebBaseNetscapePluginStream.m: 24407 * Plugins.subproj/WebBaseNetscapePluginView.m: 24408 * Plugins.subproj/WebNetscapePluginDocumentView.m: 24409 * Plugins.subproj/WebNetscapePluginEmbeddedView.m: 24410 * Plugins.subproj/WebNetscapePluginRepresentation.m: 24411 * Plugins.subproj/WebNetscapePluginStream.m: 24412 * Plugins.subproj/WebNullPluginView.m: 24413 * Plugins.subproj/WebPluginController.m: 24414 * WebCoreSupport.subproj/WebBridge.m: 24415 * WebCoreSupport.subproj/WebCookieAdapter.m: 24416 * WebCoreSupport.subproj/WebImageRendererFactory.m: 24417 * WebCoreSupport.subproj/WebSubresourceClient.m: 24418 * WebKit.pbproj/project.pbxproj: 24419 * WebView.subproj/WebBaseResourceHandleDelegate.m: 24420 * WebView.subproj/WebDataProtocol.h: 24421 * WebView.subproj/WebDataProtocol.m: 24422 * WebView.subproj/WebDataSource.m: 24423 * WebView.subproj/WebDataSourcePrivate.m: 24424 * WebView.subproj/WebDefaultContextMenuDelegate.m: 24425 * WebView.subproj/WebDefaultFrameLoadDelegate.m: 24426 * WebView.subproj/WebDefaultPolicyDelegate.m: 24427 * WebView.subproj/WebDefaultResourceLoadDelegate.m: 24428 * WebView.subproj/WebDefaultUIDelegate.m: 24429 * WebView.subproj/WebFrame.m: 24430 * WebView.subproj/WebFramePrivate.m: 24431 * WebView.subproj/WebFrameView.m: 24432 * WebView.subproj/WebFrameViewPrivate.m: 24433 * WebView.subproj/WebHTMLRepresentation.m: 24434 * WebView.subproj/WebHTMLViewPrivate.m: 24435 * WebView.subproj/WebImageRepresentation.m: 24436 * WebView.subproj/WebMainResourceClient.m: 24437 * WebView.subproj/WebPreferences.m: 24438 * WebView.subproj/WebTextRepresentation.m: 24439 * WebView.subproj/WebTextView.m: 24440 * WebView.subproj/WebUIDelegate.h: 24441 * WebView.subproj/WebView.m: 24442 * WebView.subproj/WebViewPrivate.m: 24443 244442003-05-16 Maciej Stachowiak <mjs@apple.com> 24445 24446 Reviewed by John. 24447 24448 - fixed 3255088 - repro crash in WebCredentialStorage remembering password from onlinetrafficsafety.com 24449 24450 * WebView.subproj/WebFormDelegate.h: 24451 * WebView.subproj/WebFormDelegate.m: 24452 (-[WebFormDelegate frame:sourceFrame:willSubmitForm:withValues:submissionListener:]): Expect sourceFrame 24453 argument. 24454 * WebView.subproj/WebFramePrivate.m: 24455 (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): Include 24456 source frame in form state. 24457 (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): 24458 Include source frame in form state. Post directly to the target 24459 frame if it exists, since we want the form state to contain the 24460 right source frame. 24461 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): Pass source frame to form 24462 delegate. 24463 (-[WebFormState initWithForm:values:sourceFrame:]): New sourceFrame argument. 24464 (-[WebFormState dealloc]): release sourceFrame. 24465 (-[WebFormState sourceFrame]): New method. 24466 244672003-05-16 Ken Kocienda <kocienda@apple.com> 24468 24469 Reviewed by Gramps 24470 24471 Moved in WebDatabase and WebFileDatabase files from WebFoundation. 24472 24473 Copied NSLRUFileList from WebFoundation and renamed to WebLRUFileList. 24474 24475 Updated StringsNotToBeLocalized.txt. 24476 24477 * English.lproj/StringsNotToBeLocalized.txt: 24478 * Misc.subproj/WebDatabase.h: 24479 * Misc.subproj/WebDatabase.m: 24480 * Misc.subproj/WebFileDatabase.h: 24481 * Misc.subproj/WebFileDatabase.m: 24482 (-[WebFileDatabaseOp initWithCode:key:object:]): 24483 (-[WebFileDatabaseOp perform:]): 24484 (SetThreadPriority): 24485 (-[WebFileDatabase _createLRUList:]): 24486 (-[WebFileDatabase _truncateToSizeLimit:]): 24487 (+[WebFileDatabase _syncLoop:]): 24488 (-[WebFileDatabase setObject:forKey:]): 24489 (-[WebFileDatabase removeObjectForKey:]): 24490 (-[WebFileDatabase removeAllObjects]): 24491 (-[WebFileDatabase objectForKey:]): 24492 (-[WebFileDatabase performSetObject:forKey:]): 24493 (-[WebFileDatabase performRemoveObjectForKey:]): 24494 (-[WebFileDatabase close]): 24495 (-[WebFileDatabase lazySync:]): 24496 (-[WebFileDatabase sync]): 24497 (-[WebFileDatabase count]): 24498 (-[WebFileDatabase usage]): 24499 * Misc.subproj/WebIconDatabase.m: 24500 * Misc.subproj/WebKitLogging.h: 24501 * Misc.subproj/WebKitLogging.m: 24502 * Misc.subproj/WebLRUFileList.h: Added. 24503 * Misc.subproj/WebLRUFileList.m: Added. 24504 (WebLRUFileListCreate): 24505 (WebLRUFileListRelease): 24506 (WebLRUFileListRebuildFileDataUsingRootDirectory): 24507 (WebLRUFileListRemoveFileWithPath): 24508 (WebLRUFileListTouchFileWithPath): 24509 (WebLRUFileListSetFileData): 24510 (WebLRUFileListGetPathOfOldestFile): 24511 (WebLRUFileListRemoveOldestFileFromList): 24512 (WebLRUFileListContainsItem): 24513 (WebLRUFileListGetFileSize): 24514 (WebLRUFileListCountItems): 24515 (WebLRUFileListGetTotalSize): 24516 (WebLRUFileListRemoveAllFilesFromList): 24517 (compareTimes): 24518 (cStringEqual): 24519 (cStringHash): 24520 (NSLRUFileDataEqual): 24521 (WebLRUFileListGetOldestFileData): 24522 (NSLRUFileDataReleaseApplierFunction): 24523 (NSLRUFileDataRelease): 24524 (NSLRUFileDataBinaryHeapDumpApplierFunction): 24525 (NSLRUFileDataDictDumpApplierFunction): 24526 (WebLRUFileListDescription): 24527 * WebKit.pbproj/project.pbxproj: 24528 245292003-05-15 Chris Blumenberg <cblu@apple.com> 24530 24531 Fixed: 3199310 - No user agent included in favicon.ico requests 24532 24533 Reviewed by kocienda. 24534 24535 * Misc.subproj/WebIconLoader.h: 24536 * Misc.subproj/WebIconLoader.m: 24537 (-[WebIconLoaderPrivate dealloc]): use the request ivar 24538 (-[WebIconLoader URL]): ditto 24539 (-[WebIconLoader startLoading]): ditto 24540 (-[WebIconLoader connection:didReceiveData:]): ditto 24541 (-[WebIconLoader connectionDidFinishLoading:]): ditto 24542 * WebView.subproj/WebDataSourcePrivate.m: 24543 (-[WebDataSource _loadIcon]): create a icon loader with a request with the extra fields set 24544 245452003-05-15 Chris Blumenberg <cblu@apple.com> 24546 24547 Fixed: 3155760 - Plug-in MIME and extension mapping should be case-insensitive 24548 24549 Reviewed by john. 24550 24551 * Plugins.subproj/WebBasePluginPackage.m: 24552 (-[WebBasePluginPackage getPluginInfoFromBundleAndMIMEDictionary:]): store the extensions and MIMEs as lowercase strings 24553 (-[NSArray _web_lowercaseStrings]): new, returns array of lowercase strings 24554 * Plugins.subproj/WebNetscapePluginPackage.m: 24555 (-[WebNetscapePluginPackage getPluginInfoFromResources]): store the extensions and MIMEs as lowercase strings 24556 * Plugins.subproj/WebPluginDatabase.m: 24557 (-[WebPluginDatabase pluginForMIMEType:]): lowercase the passed MIME type 24558 (-[WebPluginDatabase pluginForExtension:]): lowercase the passed extension 24559 24560=== Safari-79 === 24561 245622003-05-15 Ken Kocienda <kocienda@apple.com> 24563 24564 Reviewed by John 24565 24566 Updated for recent changes. 24567 24568 * English.lproj/StringsNotToBeLocalized.txt: 24569 245702003-05-15 Ken Kocienda <kocienda@apple.com> 24571 24572 Reviewed by John 24573 24574 Changed the names of some extras files in WebFoundation: 24575 Updated imports and usages in this project. 24576 24577 WebNSCalendarDateExtras -> NSCalendarDate_NSURLExtras 24578 WebNSDataExtras -> NSData_NSURLExtras 24579 WebNSDictionaryExtras -> NSDictionary_NSURLExtras 24580 WebNSErrorExtras -> NSError_NSURLExtras 24581 WebNSFileManagerExtras -> NSFileManager_NSURLExtras 24582 WebNSObjectExtras -> NSObject_NSURLExtras 24583 WebNSStringExtras -> NSString_NSURLExtras 24584 WebNSURLExtras -> NSURL_NSURLExtras 24585 WebNSUserDefaultsExtras -> NSUserDefaults_NSURLExtras 24586 24587 * History.subproj/WebHistory.m: 24588 * History.subproj/WebHistoryItem.m: 24589 * History.subproj/WebHistoryPrivate.m: 24590 * History.subproj/WebURLsWithTitles.m: 24591 * Misc.subproj/WebIconDatabase.m: 24592 * Misc.subproj/WebIconLoader.m: 24593 * Misc.subproj/WebKitErrors.m: 24594 * Misc.subproj/WebNSPasteboardExtras.m: 24595 * Misc.subproj/WebNSViewExtras.m: 24596 * Panels.subproj/WebAuthenticationPanel.m: 24597 * Panels.subproj/WebPanelAuthenticationHandler.m: 24598 * Plugins.subproj/WebBaseNetscapePluginStream.m: 24599 * Plugins.subproj/WebBaseNetscapePluginView.m: 24600 * Plugins.subproj/WebNetscapePluginRepresentation.m: 24601 * Plugins.subproj/WebNullPluginView.m: 24602 * WebCoreSupport.subproj/WebBridge.m: 24603 * WebCoreSupport.subproj/WebCookieAdapter.m: 24604 * WebCoreSupport.subproj/WebSubresourceClient.m: 24605 * WebView.subproj/WebBaseResourceHandleDelegate.m: 24606 * WebView.subproj/WebDataProtocol.m: 24607 * WebView.subproj/WebDataSource.m: 24608 * WebView.subproj/WebDataSourcePrivate.m: 24609 * WebView.subproj/WebDefaultResourceLoadDelegate.m: 24610 * WebView.subproj/WebFrame.m: 24611 * WebView.subproj/WebFramePrivate.m: 24612 * WebView.subproj/WebFrameView.m: 24613 * WebView.subproj/WebFrameViewPrivate.m: 24614 * WebView.subproj/WebHTMLViewPrivate.m: 24615 * WebView.subproj/WebMainResourceClient.m: 24616 * WebView.subproj/WebPreferences.m: 24617 * WebView.subproj/WebView.m: 24618 * WebView.subproj/WebViewPrivate.m: 24619 246202003-05-14 Ken Kocienda <kocienda@apple.com> 24621 24622 Reviewed by Chris 24623 24624 WebKitSystemBits files that contain a system memory size 24625 getter. This function is used in a few of places in WebKit. 24626 24627 * History.subproj/WebBackForwardList.m: 24628 * Misc.subproj/WebKitSystemBits.h: Added. 24629 * Misc.subproj/WebKitSystemBits.m: Added. 24630 (initCapabilities): 24631 (WebSystemMainMemory): 24632 * WebCoreSupport.subproj/WebBridge.m: 24633 * WebCoreSupport.subproj/WebTextRendererFactory.m: 24634 * WebKit.pbproj/project.pbxproj: 24635 246362003-05-14 Ken Kocienda <kocienda@apple.com> 24637 24638 Reviewed by David 24639 24640 File and class renaming in WebFoundation: 24641 24642 WebFileTypeMappings -> NSURLFileTypeMappings 24643 24644 * WebCoreSupport.subproj/WebBridge.m: 24645 (-[WebBridge MIMETypeForPath:]): 24646 * WebCoreSupport.subproj/WebImageRendererFactory.m: 24647 (-[WebImageRendererFactory supportedMIMETypes]): 24648 * WebView.subproj/WebDataSource.m: 24649 * WebView.subproj/WebMainResourceClient.m: 24650 * WebView.subproj/WebViewPrivate.m: 24651 (+[WebView suggestedFileExtensionForMIMEType:]): 24652 (+[WebView _MIMETypeForFile:]): 24653 246542003-05-14 Ken Kocienda <kocienda@apple.com> 24655 24656 Reviewed by Maciej 24657 24658 Copied WebLocalizableStrings.[hm] from WebFoundation to WebKit 24659 24660 Updated all imports. 24661 24662 Added logging exported symbols to exports file. 24663 24664 * Misc.subproj/WebKitErrors.m: 24665 * Misc.subproj/WebLocalizableStrings.h: Added. 24666 * Misc.subproj/WebLocalizableStrings.m: Added. 24667 * Panels.subproj/WebAuthenticationPanel.m: 24668 * WebCoreSupport.subproj/WebBridge.m: 24669 * WebCoreSupport.subproj/WebFileButton.m: 24670 * WebCoreSupport.subproj/WebViewFactory.m: 24671 * WebKit.exp: 24672 * WebKit.pbproj/project.pbxproj: 24673 * WebView.subproj/WebDefaultContextMenuDelegate.m: 24674 246752003-05-14 Maciej Stachowiak <mjs@apple.com> 24676 24677 Reviewed by Don. 24678 24679 - fixed 3257307 - REGRESSION: crash using onFocus="this.blur()" 24680 * WebCoreSupport.subproj/WebBridge.m: 24681 (-[WebBridge makeFirstResponder:]): Let the WebView know that 24682 this is a programmatic focus. 24683 * WebView.subproj/WebHTMLView.m: 24684 (-[WebHTMLView becomeFirstResponder]): Check if this is a programmatic 24685 focus from WebCore - if so, treat it like a direct focus, even if there 24686 is a selection direction set. 24687 * WebView.subproj/WebViewPrivate.h: 24688 * WebView.subproj/WebViewPrivate.m: 24689 (-[WebView _pushPerformingProgrammaticFocus]): New method to indicate 24690 upcoming programmatic focus. 24691 (-[WebView _popPerformingProgrammaticFocus]): New method to indicate 24692 end of programmatic focus. Needs to nest with the previous. 24693 (-[WebView _isPerformingProgrammaticFocus]): Check if we are handling 24694 a programmatic focus from WebCore. 24695 246962003-05-14 Ken Kocienda <kocienda@apple.com> 24697 24698 Reviewed by John 24699 24700 Copied WebAssertions.[hm] from WebFoundation to WebKit 24701 24702 Updated all imports. 24703 24704 Added logging exported symbols to exports file. 24705 24706 * History.subproj/WebBackForwardList.m: 24707 * History.subproj/WebHistory.m: 24708 * History.subproj/WebHistoryItem.m: 24709 * Misc.subproj/WebAssertions.h: Added. 24710 * Misc.subproj/WebAssertions.m: Added. 24711 (vprintf_stderr_objc): 24712 (WebReportAssertionFailure): 24713 (WebReportAssertionFailureWithMessage): 24714 (WebReportArgumentAssertionFailure): 24715 (WebReportFatalError): 24716 (WebReportError): 24717 (WebLog): 24718 * Misc.subproj/WebKitLogging.h: 24719 * Misc.subproj/WebNSPasteboardExtras.m: 24720 * Misc.subproj/WebStringTruncator.m: 24721 * Panels.subproj/WebAuthenticationPanel.m: 24722 * Panels.subproj/WebPanelAuthenticationHandler.m: 24723 * Plugins.subproj/WebBaseNetscapePluginView.m: 24724 * Plugins.subproj/WebNetscapePluginDocumentView.m: 24725 * Plugins.subproj/WebNetscapePluginRepresentation.m: 24726 * WebCoreSupport.subproj/WebBridge.m: 24727 * WebCoreSupport.subproj/WebCookieAdapter.m: 24728 * WebCoreSupport.subproj/WebFileButton.m: 24729 * WebCoreSupport.subproj/WebImageRenderer.m: 24730 * WebCoreSupport.subproj/WebImageRendererFactory.m: 24731 * WebCoreSupport.subproj/WebJavaScriptTextInputPanel.m: 24732 * WebCoreSupport.subproj/WebSubresourceClient.m: 24733 * WebCoreSupport.subproj/WebTextRendererFactory.m: 24734 * WebCoreSupport.subproj/WebViewFactory.m: 24735 * WebKit.exp: 24736 * WebKit.pbproj/project.pbxproj: 24737 * WebView.subproj/WebBaseResourceHandleDelegate.m: 24738 * WebView.subproj/WebClipView.m: 24739 * WebView.subproj/WebDataProtocol.m: 24740 * WebView.subproj/WebDataSource.m: 24741 * WebView.subproj/WebDefaultPolicyDelegate.m: 24742 * WebView.subproj/WebFrameViewPrivate.m: 24743 * WebView.subproj/WebHTMLViewPrivate.m: 24744 * WebView.subproj/WebImageView.m: 24745 * WebView.subproj/WebTextRepresentation.m: 24746 * WebView.subproj/WebTextView.m: 24747 * WebView.subproj/WebView.m: 24748 * WebView.subproj/WebViewPrivate.m: 24749 247502003-05-13 Richard Williamson <rjw@apple.com> 24751 24752 Fixed 3014661. We now display (a lame Lemay) image 24753 when an image fails to load. We also display the 24754 alt text if it fits within the image container 24755 above the missing image icon. Alt text is also 24756 now shown if image loading is disabled. 24757 24758 Reviewed by John. 24759 24760 * Resources/missing_image.tiff: Added. 24761 * WebCoreSupport.subproj/WebImageRenderer.h: 24762 * WebCoreSupport.subproj/WebImageRenderer.m: 24763 (-[WebImageRenderer initWithMIMEType:]): 24764 (-[WebImageRenderer initWithData:MIMEType:]): 24765 (-[WebImageRenderer initWithContentsOfFile:]): 24766 (-[WebImageRenderer copyWithZone:]): 24767 (-[WebImageRenderer isNull]): 24768 (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): 24769 * WebCoreSupport.subproj/WebImageRendererFactory.m: 24770 (-[WebImageRendererFactory imageRendererWithName:]): 24771 * WebKit.pbproj/project.pbxproj: 24772 247732003-05-13 Darin Adler <darin@apple.com> 24774 24775 Reviewed by Chris and Richard. 24776 24777 - fixed 3257296 -- REGRESSION: crash in WebImageRendererFactory (movietickets.com) 24778 24779 * WebCoreSupport.subproj/WebImageRenderer.m: 24780 (-[WebImageRenderer initWithMIMEType:]): Check for nil. 24781 (-[WebImageRenderer initWithData:MIMEType:]): Check for nil, also don't check for GIF signature 24782 until after the object is allocated. 24783 247842003-05-12 Maciej Stachowiak <mjs@apple.com> 24785 24786 Reviewed by Darin. 24787 24788 - fixed 3254484 - Add a way to print JavaScript exceptions to the console via the debug menu 24789 24790 * Misc.subproj/WebCoreStatistics.h: 24791 * Misc.subproj/WebCoreStatistics.m: 24792 (+[WebCoreStatistics shouldPrintExceptions]): Call through to WebCore. 24793 (+[WebCoreStatistics setShouldPrintExceptions:]): Call through to WebCore. 24794 247952003-05-13 Darin Adler <darin@apple.com> 24796 24797 Reviewed by Ken. 24798 24799 - fixed 3120355 -- importing IE favorites garbles non-ASCII characters (esp. bad for non-Roman languages) 24800 24801 * WebView.subproj/WebViewPrivate.h: Added _decodeData:. 24802 * WebView.subproj/WebViewPrivate.m: (+[WebView _decodeData:]): Added. Calls through to WebCore. 24803 248042003-05-13 Maciej Stachowiak <mjs@apple.com> 24805 24806 Reviewed by Darin. 24807 24808 - renamed NSErrorFailingURLKey to NSErrorFailingURLStringKey 24809 24810 * Misc.subproj/WebKitErrors.m: 24811 (-[NSError _initWithPluginErrorCode:contentURLString:pluginPageURLString:pluginName:MIMEType:]): 24812 248132003-05-13 John Sullivan <sullivan@apple.com> 24814 24815 fixed build break 24816 24817 Reviewed by Darin 24818 24819 * WebCoreSupport.subproj/WebImageRenderer.m: 24820 (-[WebImageRenderer initWithData:MIMEType:]): 24821 move #ifdefs; two required methods were being #ifdeffed 24822 out on Panther 24823 248242003-05-12 Richard Williamson <rjw@apple.com> 24825 24826 Fixed 3251316. *** Public API Change *** 24827 24828 Added -(void)setGroupName:(NSString *) and -(NSString *)groupName; 24829 24830 Reviewed by mjs. 24831 24832 * WebView.subproj/WebView.h: 24833 * WebView.subproj/WebView.m: 24834 248352003-05-12 Richard Williamson <rjw@apple.com> 24836 24837 Fixed 3194614 and 3194751. Add SPI to set 'renderless' mode 24838 for a frame. 24839 24840 Reviewed by darin. 24841 24842 * WebView.subproj/WebFramePrivate.h: 24843 * WebView.subproj/WebFramePrivate.m: 24844 24845 WebImageRenderers now get a MIME type that can be used to faciliate 24846 selection of an appropriate decoder. 24847 24848 Reviewed by darin. 24849 24850 * WebCoreSupport.subproj/WebImageRenderer.h: 24851 * WebCoreSupport.subproj/WebImageRenderer.m: 24852 * WebCoreSupport.subproj/WebImageRendererFactory.m: 24853 * WebKit.pbproj/project.pbxproj: 24854 248552003-05-12 John Sullivan <sullivan@apple.com> 24856 24857 - addition to Darin's previous patch; when checking whether a request can 24858 be handled, take into account the schemes that were registered without 24859 an NSURLProtocol getting involved. 24860 24861 Reviewed by Darin 24862 24863 * WebView.subproj/WebViewPrivate.h: 24864 * WebView.subproj/WebViewPrivate.m: 24865 (+[WebView _canHandleRequest:]): 24866 like NSURLConnection canHandleRequest, but also takes into account the 24867 schemes that were registered without an NSURLProtocol 24868 * Plugins.subproj/WebNetscapePluginStream.m: 24869 (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]): 24870 use +[WebView _canHandleRequest] instead of +[NSURLConnection canHandleRequest] 24871 * WebView.subproj/WebDefaultContextMenuDelegate.m: 24872 (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): 24873 ditto 24874 * WebView.subproj/WebDefaultPolicyDelegate.m: 24875 (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): 24876 ditto 24877 * WebView.subproj/WebFramePrivate.m: 24878 (-[WebFrame _continueAfterNavigationPolicy:]): 24879 ditto 24880 248812003-05-12 Darin Adler <darin@apple.com> 24882 24883 Reviewed by John. 24884 24885 - fixed 3254576 -- REGRESSION: visiting bookmarks view sometimes waits for other tabs to load first 24886 24887 * WebView.subproj/WebViewPrivate.h: Added new SPI for registering view and represenation classes by 24888 scheme rather than MIME type. 24889 * WebView.subproj/WebViewPrivate.m: 24890 (+[WebView _registerViewClass:representationClass:forURLScheme:]]): Added. 24891 (+[WebView _generatedMIMETypeForURLScheme:]): Added. Makes a special MIME type for us only by the 24892 special "register scheme" mechanism. 24893 (+[WebView _representationExistsForURLScheme:]): Added. 24894 24895 * WebView.subproj/WebMainResourceClient.m: 24896 (-[WebMainResourceClient continueAfterContentPolicy:response:]): Check for schemes that have their 24897 own representation, and handle them just like empty documents, loading no data, and doing it synchronously. 24898 (-[WebMainResourceClient loadWithRequest:]): Same thing here, only also arrange to get the appropriate 24899 MIME type. 24900 (-[WebMainResourceClient setDefersCallbacks:]): Same check here. 24901 24902 * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 24903 249042003-05-11 Darin Adler <darin@apple.com> 24905 24906 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView layoutToPageWidth:]): Added a check for nil that I forgot. 24907 249082003-05-10 Darin Adler <darin@apple.com> 24909 24910 Reviewed by John. 24911 24912 - fixed 3254473 - REGRESSION: reload loop due to onresize handler (fortune.com, flipdog.com, stanford.edu) 24913 24914 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView layoutToPageWidth:]): Don't send out a resize event any 24915 time during the first event that results in a layout. The old check was merely for the first layout, 24916 but we need to ignore any number of layouts that are all part of handling a first event. Some day we 24917 may need to refine this rule even further, but this fixes the present bug. 24918 24919 * WebView.subproj/WebHTMLViewPrivate.h: Goodbye laidOutAtLeastOnce, hello firstLayoutEventTime. 24920 249212003-05-10 Darin Adler <darin@apple.com> 24922 24923 Reviewed by Maciej. 24924 24925 - fixed 3250119 -- REGRESSION: WebFrame leaked after showing pop-up menu 24926 24927 The leak was caused by various code storing the "element" dictionary that describes where 24928 a click took place. 24929 24930 * WebView.subproj/WebDefaultContextMenuDelegate.m: 24931 (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): 24932 Don't store the element in a retained global. Instead attach it as the represented 24933 object to each menu item. 24934 (-[WebDefaultUIDelegate openNewWindowWithURL:element:]): Pass in an element. 24935 (-[WebDefaultUIDelegate downloadURL:element:]): Ditto. 24936 (-[WebDefaultUIDelegate openLinkInNewWindow:]): Get element from represented object. 24937 (-[WebDefaultUIDelegate downloadLinkToDisk:]): Ditto. 24938 (-[WebDefaultUIDelegate copyLinkToClipboard:]): Ditto. 24939 (-[WebDefaultUIDelegate openImageInNewWindow:]): Ditto. 24940 (-[WebDefaultUIDelegate downloadImageToDisk:]): Ditto. 24941 (-[WebDefaultUIDelegate copyImageToClipboard:]): Ditto. 24942 (-[WebDefaultUIDelegate openFrameInNewWindow:]): Ditto. 24943 24944 * WebView.subproj/WebDefaultUIDelegate.h: Remove element field. 24945 * WebView.subproj/WebDefaultUIDelegate.m: (-[WebDefaultUIDelegate dealloc]): No need 24946 to release element any more. 24947 24948 * WebView.subproj/WebHTMLViewPrivate.h: Remove dragElement instance variable. 24949 * WebView.subproj/WebHTMLViewPrivate.m: 24950 (-[WebHTMLViewPrivate dealloc]): No need to release dragElement any more. 24951 (-[WebHTMLView _handleMouseDragged:]): Get element again here. The old code used to 24952 get it from an instance variable, but that is unnecessary. 24953 (-[WebHTMLView _mayStartDragWithMouseDragged:]): Don't store the element. 24954 249552003-05-09 Maciej Stachowiak <mjs@apple.com> 24956 24957 Reviewed by Darin. 24958 24959 Updated for NSURLResponse API changes. 24960 24961 * WebView.subproj/WebBaseResourceHandleDelegate.m: 24962 (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): 24963 * WebView.subproj/WebDataProtocol.m: 24964 (-[WebDataProtocol startLoading]): 24965 * WebView.subproj/WebMainResourceClient.m: 24966 (-[WebMainResourceClient loadWithRequest:]): 24967 249682003-05-09 Maciej Stachowiak <mjs@apple.com> 24969 24970 Reviewed by Darin. 24971 24972 - removed WebAuthenticationChallenge 24973 - adjusted everything for removal of NSURLAuthenticationChallenge subclasses. 24974 * Misc.subproj/WebDownload.m: 24975 (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]): 24976 (-[WebDownloadInternal download:didCancelAuthenticationChallenge:]): 24977 * Panels.subproj/WebPanelAuthenticationHandler.m: 24978 (-[WebPanelAuthenticationHandler startAuthentication:window:]): 24979 (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]): 24980 * WebView.subproj/WebAuthenticationChallenge.h: Removed. 24981 * WebView.subproj/WebAuthenticationChallenge.m: Removed. 24982 * WebView.subproj/WebAuthenticationChallengeInternal.h: Removed. 24983 * WebView.subproj/WebBaseResourceHandleDelegate.h: 24984 * WebView.subproj/WebBaseResourceHandleDelegate.m: 24985 (-[WebBaseResourceHandleDelegate useCredential:forAuthenticationChallenge:]): 24986 (-[WebBaseResourceHandleDelegate continueWithoutCredentialForAuthenticationChallenge:]): 24987 (-[WebBaseResourceHandleDelegate cancelAuthenticationChallenge:]): 24988 (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]): 24989 (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]): 24990 (-[WebBaseResourceHandleDelegate setIdentifier:]): 24991 * WebView.subproj/WebDefaultResourceLoadDelegate.m: 24992 (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveAuthenticationChallenge:fromDataSource:]): 24993 (-[WebDefaultResourceLoadDelegate webView:resource:didCancelAuthenticationChallenge:fromDataSource:]): 24994 * WebView.subproj/WebResourceLoadDelegate.h: 24995 * Misc.subproj/WebKit.h: Remove headers that are gone. 24996 * WebKit.exp: Remove classes that are gone. 24997 * WebKit.pbproj/project.pbxproj: Remove files that are gone. 24998 249992003-05-09 David Hyatt <hyatt@apple.com> 25000 25001 Change the minfontsize to 1, i.e., to have no minimum. This 25002 matches other browsers while still retaining the pref control 25003 in WebKit. 25004 25005 Fixes www.gamespot.com. The bug is 3254489. 25006 Reviewed by darin 25007 25008 * WebView.subproj/WebPreferences.m: 25009 (+[WebPreferences initialize]): 25010 250112003-05-09 Maciej Stachowiak <mjs@apple.com> 25012 25013 Reviewed by John. 25014 25015 Rename connection:didFailLoadingWithError: to 25016 connection:didFailWithError: to match NSURLDownload and 25017 NSURLProtocol. 25018 25019 * Misc.subproj/WebIconLoader.m: 25020 (-[WebIconLoader connection:didFailWithError:]): 25021 * Plugins.subproj/WebNetscapePluginStream.m: 25022 (-[WebNetscapePluginStream connection:didFailWithError:]): 25023 * WebCoreSupport.subproj/WebSubresourceClient.m: 25024 (-[WebSubresourceClient connection:didFailWithError:]): 25025 * WebView.subproj/WebBaseResourceHandleDelegate.m: 25026 (-[WebBaseResourceHandleDelegate connection:didFailWithError:]): 25027 * WebView.subproj/WebMainResourceClient.m: 25028 (-[WebMainResourceClient receivedError:]): 25029 (-[WebMainResourceClient connection:didFailWithError:]): 25030 250312003-05-09 Richard Williamson <rjw@apple.com> 25032 25033 Apply the same check used to by-pass fast rendering 25034 in the fix to 3146161 to measurement. 25035 25036 Reviewed by Ken. 25037 25038 * Misc.subproj/WebKitNSStringExtras.m: 25039 250402003-05-09 Ken Kocienda <kocienda@apple.com> 25041 25042 Reviewed by John 25043 25044 Removed unneeded import of WebFoundation/WebQueue.h. 25045 25046 * WebCoreSupport.subproj/WebTextRendererFactory.h 25047 250482003-05-08 Richard Williamson <rjw@apple.com> 25049 25050 Fixed 3146161. Use the AppKit to render complex 25051 text in the simple string drawing method. 25052 25053 Reviewed by John. 25054 25055 * Misc.subproj/WebKitNSStringExtras.m: 25056 250572003-05-08 Richard Williamson <rjw@apple.com> 25058 25059 Make representations without intrinsic titles return nil. 25060 25061 Reviewed by John. 25062 25063 * Plugins.subproj/WebNetscapePluginRepresentation.m: 25064 * WebView.subproj/WebDataSourcePrivate.h: 25065 * WebView.subproj/WebDataSourcePrivate.m: 25066 * WebView.subproj/WebImageRepresentation.m: 25067 * WebView.subproj/WebTextRepresentation.m: 25068 250692003-05-08 Richard Williamson <rjw@apple.com> 25070 25071 Fixed 3252460. *** Public API Change *** 25072 Added title method to WebDocumentRepresentation. 25073 25074 Fixed 3250352. Check that delegate implements method. 25075 25076 Reviewed by hyatt. 25077 25078 * WebView.subproj/WebDataSource.m: 25079 (-[WebDataSource pageTitle]): 25080 * WebView.subproj/WebDataSourcePrivate.h: 25081 * WebView.subproj/WebDataSourcePrivate.m: 25082 (-[WebDataSource _startLoading:]): 25083 (-[WebDataSource _title]): 25084 * WebView.subproj/WebDocument.h: 25085 * WebView.subproj/WebHTMLRepresentation.m: 25086 (-[WebHTMLRepresentation title]): 25087 * WebView.subproj/WebImageRepresentation.m: 25088 (-[WebImageRepresentation title]): 25089 * WebView.subproj/WebNetscapePluginRepresentation.m: 25090 (-[WebNetscapePluginRepresentation title]): 25091 * WebView.subproj/WebTextRepresentation.h: 25092 * WebView.subproj/WebTextRepresentation.m: 25093 (-[WebTextRepresentation dealloc]): 25094 (-[WebTextRepresentation setDataSource:]): 25095 (-[WebTextRepresentation title]): 25096 250972003-05-08 Darin Adler <darin@apple.com> 25098 25099 * WebKit.pbproj/project.pbxproj: Fixed paths for non-Panther builds. 25100 251012003-05-08 John Sullivan <sullivan@apple.com> 25102 25103 Closed up all gaps in WebKit between "ASSERT" and "(" to 25104 make Darin's day a little brighter. 25105 25106 Reviewed by Darin 25107 25108 * WebCoreSupport.subproj/WebBridge.m: 25109 (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): 25110 (-[WebBridge handleMouseDragged:]): 25111 (-[WebBridge mayStartDragWithMouseDragged:]): 25112 * WebCoreSupport.subproj/WebImageRenderer.m: 25113 (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): 25114 * WebView.subproj/WebBaseResourceHandleDelegate.m: 25115 (-[WebBaseResourceHandleDelegate _releaseResources]): 25116 (-[WebBaseResourceHandleDelegate dealloc]): 25117 * WebView.subproj/WebFramePrivate.m: 25118 (-[WebFrame _transitionToCommitted:]): 25119 * WebView.subproj/WebViewPrivate.m: 25120 (-[WebView _preferencesChangedNotification:]): 25121 251222003-05-08 John Sullivan <sullivan@apple.com> 25123 25124 - fixed 3252632 -- Registering a WebDocumentView too 25125 early breaks built-in image viewing 25126 25127 A startup-performance optimization was breaking the case 25128 where clients registered WebDocumentView types before the 25129 first WebFrameView had been created. The fix is to allow 25130 registering WebDocumentView types without retrieving the 25131 built-in image types. 25132 25133 Reviewed by Darin 25134 25135 * WebView.subproj/WebFrameViewPrivate.h: 25136 remove _viewTypes; expose _viewTypesAllowImageTypeOmission. 25137 All callers have to specify the boolean now. 25138 25139 * WebView.subproj/WebFrameViewPrivate.m: 25140 (+[WebFrameView _viewTypesAllowImageTypeOmission:]): 25141 assert that the list of image types isn't nil before inserting 25142 them; insert each image type only if not already present. 25143 (+[WebFrameView _viewClassForMIMEType:]): 25144 replace _viewTypes with _viewTypesAllowImageTypeOmission 25145 25146 * Plugins.subproj/WebPluginDatabase.m: 25147 (-[WebPluginDatabase init]): 25148 replace _viewTypes with _viewTypesAllowImageTypeOmission 25149 25150 * WebView.subproj/WebDataSourcePrivate.h: 25151 remove _repTypes; expose _repTypesAllowImageTypeOmission. 25152 All callers have to specify the boolean now. 25153 * WebView.subproj/WebDataSourcePrivate.m: 25154 (+[WebDataSource _representationClassForMIMEType:]): 25155 replace _repTypes with _repTypesAllowImageTypeOmission 25156 25157 * WebView.subproj/WebView.m: 25158 (+[WebView registerViewClass:representationClass:forMIMEType:]): 25159 replace _viewTypes with _viewTypesAllowImageTypeOmission, and 25160 replace _repTypes with _repTypesAllowImageTypeOmission 25161 251622003-05-08 Darin Adler <darin@apple.com> 25163 25164 Reviewed by Richard. 25165 25166 - fixed 3242414 -- REGRESSION: PLT times reported 10% slower after emptying cache with B/F cache enabled 25167 - made it only compute the page cache size once 25168 25169 * History.subproj/WebBackForwardList.m: 25170 (-[WebBackForwardList init]): Set initial page cache size to special value, COMPUTE_DEFAULT_PAGE_CACHE_SIZE. 25171 (-[WebBackForwardList setPageCacheSize:]): Remove code to set pageCacheSizeModified and call to 25172 _setUsesPageCache:, not needed any more. 25173 (-[WebBackForwardList pageCacheSize]): If cache size is COMPUTE_DEFAULT_PAGE_CACHE_SIZE, then compute it. 25174 The old code would compute the cache size each time this method was called until pageCacheSizeModified was set. 25175 (-[WebBackForwardList _usesPageCache]): Just check pageCacheSize for 0 to see if we use a page cache. 25176 No need for a separate boolean any more. 25177 25178 * History.subproj/WebHistoryItemPrivate.h: Remove _setUsesPageCache (gone altogether) and _clearPageCache 25179 (now only used internally). 25180 25181=== Safari-78 === 25182 251832003-05-07 Darin Adler <darin@apple.com> 25184 25185 Reviewed by John. 25186 25187 - fixed 3127927 -- web view should not use primary selection color when it's not first responder 25188 25189 * WebView.subproj/WebHTMLView.m: 25190 (-[WebHTMLView updateTextBackgroundColor]): Added. Sets the usesInactiveTextBackgroundColor flag 25191 on the bridge, and does setNeedsDisplayInRect: of the selectionRect if the state changes. 25192 (-[WebHTMLView viewDidMoveToWindow]): Call updateTextBackgroundColor. 25193 (-[WebHTMLView windowDidBecomeKey:]): Call updateTextBackgroundColor. 25194 (-[WebHTMLView windowDidResignKey:]): Call updateTextBackgroundColor. 25195 (-[WebHTMLView becomeFirstResponder]): Call updateTextBackgroundColor. 25196 (-[WebHTMLView resignFirstResponder]): Call updateTextBackgroundColor. 25197 25198 - fixed up WebHistoryItem initializers so there is a designated initializer 25199 25200 * History.subproj/WebHistoryItem.m: 25201 (-[WebHistoryItem init]): Call initWithURLString:title:lastVisitedTimeInterval:, 25202 which is the designated initializer. 25203 (-[WebHistoryItem initWithURL:title:]): Ditto. 25204 (-[WebHistoryItem initWithURL:target:parent:title:]): Ditto. 25205 25206 - other changes 25207 25208 * History.subproj/WebHistoryPrivate.m: (-[WebHistoryPrivate addItem:]): Fixed assertion 25209 to not use _lastVisitedDate; we're trying to get rid of calls to that method. 25210 252112003-05-07 Vicki Murley <vicki@apple.com> 25212 25213 Reviewed by darin. 25214 25215 - modify the Mixed build style to build optimized with symbols 25216 25217 * WebKit.pbproj/project.pbxproj: removed OPTIMIZATION_CGLAGS 25218 252192003-05-06 Richard Williamson <rjw@apple.com> 25220 25221 Fixed problem for HelpViewer. HV calls stopLoading in 25222 a webView:resource:didReceiveResponse. This causes 25223 the premature release of the connection delegate. 25224 25225 Reviewed by Ken. 25226 25227 * WebCoreSupport.subproj/WebSubresourceClient.m: 25228 (-[WebSubresourceClient connectionDidFinishLoading:]): 25229 * WebKit.pbproj/project.pbxproj: 25230 * WebView.subproj/WebBaseResourceHandleDelegate.m: 25231 (-[WebBaseResourceHandleDelegate _releaseResources]): 25232 (-[WebBaseResourceHandleDelegate dealloc]): 25233 * WebView.subproj/WebMainResourceClient.m: 25234 (-[WebMainResourceClient stopLoadingForPolicyChange]): 25235 (-[WebMainResourceClient continueAfterContentPolicy:response:]): 25236 (-[WebMainResourceClient continueAfterContentPolicy:]): 25237 (-[WebMainResourceClient connection:didReceiveResponse:]): 25238 (-[WebMainResourceClient connectionDidFinishLoading:]): 25239 252402003-05-06 Darin Adler <darin@apple.com> 25241 25242 - removed obsolete file that's still around for some reason 25243 25244 * Downloads.subproj/WebDownload.m: Removed. 25245 252462003-05-06 Darin Adler <darin@apple.com> 25247 25248 - fixed crash on startup 25249 25250 * History.subproj/WebHistoryItem.m: 25251 (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]): 25252 Allocate WebHistoryItemPrivate. 25253 252542003-05-06 Darin Adler <darin@apple.com> 25255 25256 - fixed 3249211 -- WebTextRenderer.h should not use "AttributeGroup" type for styleGroup 25257 25258 * WebCoreSupport.subproj/WebTextRenderer.h: Update to use ATSStyleGroupPtr. 25259 252602003-05-06 Darin Adler <darin@apple.com> 25261 25262 Reviewed by Ken. 25263 25264 - used ObjectAlloc to find large numbers of allocations on startup and get rid of some 25265 25266 * History.subproj/WebHistoryItem.m: 25267 (-[WebHistoryItem initFromDictionaryRepresentation:]): 25268 Use the init method that takes a URL string so we don't have to create and then 25269 destroy a URL for each item we decode. 25270 * History.subproj/WebHistoryPrivate.m: 25271 (-[WebHistoryPrivate addItem:]): Use URLString instead of making and destroying 25272 a URL each time this is called. 25273 (-[WebHistoryPrivate removeItem:]): Ditto. 25274 (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]): Check URLString for nil; no reason 25275 to construct and then destroy a URL just to check validity. 25276 25277 * WebCoreSupport.subproj/WebTextRendererFactory.m: 25278 (FontCacheKeyCopy): Added. 25279 (FontCacheKeyFree): Added. 25280 (FontCacheKeyEqual): Added. 25281 (FontCacheKeyHash): Added. 25282 (FontCacheValueRetain): Added. 25283 (FontCacheValueRelease): Added. 25284 (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]): Use a C struct for the 25285 font cache key instead of using an Objective-C object. This saves us an object 25286 allocation and deallocation when doing a lookup. Also took advantage of the CFDictionary 25287 ability to store NULL and distinguish it from "not found" so we don't need a separate set 25288 for cache misses. 25289 252902003-05-05 Maciej Stachowiak <mjs@apple.com> 25291 25292 Reviewed by Richard. 25293 25294 Fix build by separating mutating data protocol methods into 25295 category on NSMutableURLRequest. Also, formatting fixes. 25296 25297 * WebView.subproj/WebDataProtocol.h: 25298 * WebView.subproj/WebDataProtocol.m: 25299 (+[NSURLRequest _webDataRequestURLForData:]): 25300 (-[NSURLRequest _webDataRequestData]): 25301 (-[NSURLRequest _webDataRequestEncoding]): 25302 (-[NSURLRequest _webDataRequestMIMEType]): 25303 (-[NSURLRequest _webDataRequestBaseURL]): 25304 (-[NSURLRequest _webDataRequestExternalRequest]): 25305 (-[NSMutableURLRequest _webDataRequestSetData:]): 25306 * WebView.subproj/WebFrame.m: 25307 253082003-05-04 Darin Adler <darin@apple.com> 25309 25310 Reviewed by Maciej. 25311 25312 - fixed a storage leak 25313 25314 * WebView.subproj/WebFramePrivate.m: (-[WebFrame _setState:]): Release the timer before setting to nil. 25315 253162003-05-03 David Hyatt <hyatt@apple.com> 25317 25318 Add smallCaps boolean to the string measuring and drawing 25319 methods. Not actually supported yet. 25320 Reviewed by darin 25321 25322 * Misc.subproj/WebKitNSStringExtras.m: 25323 (-[NSString _web_widthWithFont:]): 25324 * Misc.subproj/WebStringTruncator.m: 25325 (stringWidth): 25326 * WebCoreSupport.subproj/WebTextRenderer.h: 25327 * WebCoreSupport.subproj/WebTextRenderer.m: 25328 (-[WebTextRenderer widthForCharacters:length:]): 25329 (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:letterSpacing:wordSpacing:smallCaps:fontFamilies:]): 25330 (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]): 25331 (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]): 25332 (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:letterSpacing:wordSpacing:smallCaps:fontFamilies:]): 25333 (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:smallCaps:fontFamilies:]): 25334 253352003-05-04 Darin Adler <darin@apple.com> 25336 25337 Reviewed by John. 25338 25339 - added validation to "Interface Builder" methods on WebView 25340 25341 * WebView.subproj/WebView.h: Add NSUserInterfaceValidations protocol so that subclassers 25342 know that they can call [super validateUserInterfaceItem:]. 25343 * WebView.subproj/WebView.m: 25344 (-[WebView canMakeTextSmaller]): Simplify. 25345 (-[WebView canMakeTextLarger]): Simplify. 25346 (-[WebView _isLoading]): Added. 25347 (-[WebView validateUserInterfaceItem:]): Added. Checks for the six actions we implement, 25348 and returns NO if they are not valid. 25349 253502003-05-02 Maciej Stachowiak <mjs@apple.com> 25351 25352 Reviewed by Richard. 25353 25354 - reformatted method prototypes to match AppKit style 25355 - remove "Public header file" from headers that are not public 25356 - fix header doc @method names to match actual method names 25357 25358 * Carbon.subproj/CarbonWindowAdapter.h: 25359 * Carbon.subproj/HIViewAdapter.h: 25360 * DOM.subproj/WebDOMDocument.h: 25361 * DOM.subproj/WebDOMNode.h: 25362 * History.subproj/WebBackForwardList.h: 25363 * History.subproj/WebHistoryItemPrivate.h: 25364 * History.subproj/WebHistoryPrivate.h: 25365 * History.subproj/WebURLsWithTitles.h: 25366 * Misc.subproj/WebIconDatabase.h: 25367 * Misc.subproj/WebIconLoader.h: 25368 * Misc.subproj/WebKitNSStringExtras.h: 25369 * Misc.subproj/WebUnicode.h: 25370 * Panels.subproj/WebPanelAuthenticationHandler.h: 25371 * Plugins.subproj/WebBasePluginPackage.h: 25372 * Plugins.subproj/WebNetscapePluginStream.h: 25373 * Plugins.subproj/WebNullPluginView.h: 25374 * Plugins.subproj/WebPluginViewFactory.h: 25375 * WebCoreSupport.subproj/WebGlyphBuffer.h: 25376 * WebCoreSupport.subproj/WebTextRenderer.h: 25377 * WebCoreSupport.subproj/WebTextRendererFactory.h: 25378 * WebView.subproj/WebBaseResourceHandleDelegate.h: 25379 * WebView.subproj/WebControllerSets.h: 25380 * WebView.subproj/WebDataProtocol.h: 25381 * WebView.subproj/WebDataSource.h: 25382 * WebView.subproj/WebDataSourcePrivate.h: 25383 * WebView.subproj/WebDebugDOMNode.h: 25384 * WebView.subproj/WebDocument.h: 25385 * WebView.subproj/WebFrame.h: 25386 * WebView.subproj/WebFramePrivate.h: 25387 * WebView.subproj/WebFrameView.h: 25388 * WebView.subproj/WebHTMLRepresentation.h: 25389 * WebView.subproj/WebHTMLView.h: 25390 * WebView.subproj/WebMainResourceClient.h: 25391 * WebView.subproj/WebPolicyDelegate.h: 25392 * WebView.subproj/WebPolicyDelegatePrivate.h: 25393 * WebView.subproj/WebPreferencesPrivate.h: 25394 * WebView.subproj/WebRenderNode.h: 25395 * WebView.subproj/WebResourceLoadDelegate.h: 25396 * WebView.subproj/WebUIDelegate.h: 25397 * WebView.subproj/WebView.h: 25398 * WebView.subproj/WebViewPrivate.h: 25399 254002003-05-02 Maciej Stachowiak <mjs@apple.com> 25401 25402 Reviewed by Darin. 25403 25404 - fixed 2936175 - MALLORY: please implement onResize 25405 25406 * WebView.subproj/WebHTMLViewPrivate.h: 25407 * WebView.subproj/WebHTMLView.m: 25408 (-[WebHTMLView layoutToPageWidth:]): If we just resized and we're 25409 not printing, make sure to send a resize event after the layout. 25410 254112003-05-02 Darin Adler <darin@apple.com> 25412 25413 Reviewed by John. 25414 25415 - fixed 3236383 -- http://www.xy.com/ exception, crash loading main page 25416 25417 * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge closeWindowSoon]): Replaces 25418 closeWindow. Schedule a closeWindow operation in the WebView. Important to not have 25419 the call's execution depend on whether this WebBridge or WebFrame is still around 25420 after the delay. 25421 25422 * WebView.subproj/WebViewPrivate.h: Added _closeWindow. 25423 * WebView.subproj/WebViewPrivate.m: (-[WebView _closeWindow]): Make a webViewClose: 25424 call on the UI delegate. 25425 254262003-05-02 Darin Adler <darin@apple.com> 25427 25428 Reviewed by John. 25429 25430 - first step in fixing 3236383 -- http://www.xy.com/ exception, crash loading main page 25431 25432 Changed WebFrame to explicitly detach from the bridge so we don't have a stale pointer; 25433 also cleaned up WebBridge initialization. 25434 25435 * WebCoreSupport.subproj/WebBridge.h: Added initWithWebFrame: and close methods, removed 25436 setWebFrame: method. 25437 * WebView.subproj/WebFrame.m: 25438 (-[WebFrame initWithName:webFrameView:webView:]): Use the new initWithWebFrame:. 25439 * WebView.subproj/WebFramePrivate.m: 25440 (-[WebFrame _detachFromParent]): Call close on the bridge. 25441 25442 - fixed many places that call a WebView a "controller" 25443 25444 * Misc.subproj/WebKitStatistics.h: 25445 * Misc.subproj/WebKitStatistics.m: 25446 * Misc.subproj/WebKitStatisticsPrivate.h: 25447 * Misc.subproj/WebNSViewExtras.m: 25448 * Plugins.subproj/WebBaseNetscapePluginView.h: 25449 * Plugins.subproj/WebBaseNetscapePluginView.m: 25450 * Plugins.subproj/WebNetscapePluginStream.m: 25451 * WebCoreSupport.subproj/WebBridge.m: 25452 * WebCoreSupport.subproj/WebSubresourceClient.m: 25453 * WebView.subproj/WebBaseResourceHandleDelegate.h: 25454 * WebView.subproj/WebBaseResourceHandleDelegate.m: 25455 * WebView.subproj/WebControllerSets.h: 25456 * WebView.subproj/WebControllerSets.m: 25457 * WebView.subproj/WebDataSourcePrivate.h: 25458 * WebView.subproj/WebDataSourcePrivate.m: 25459 * WebView.subproj/WebDefaultContextMenuDelegate.m: 25460 * WebView.subproj/WebFrame.m: 25461 * WebView.subproj/WebFramePrivate.h: 25462 * WebView.subproj/WebFrameView.m: 25463 * WebView.subproj/WebFrameViewPrivate.h: 25464 * WebView.subproj/WebFrameViewPrivate.m: 25465 * WebView.subproj/WebImageView.m: 25466 * WebView.subproj/WebMainResourceClient.m: 25467 * WebView.subproj/WebTextView.m: 25468 * WebView.subproj/WebView.m: 25469 * WebView.subproj/WebViewPrivate.h: 25470 * WebView.subproj/WebViewPrivate.m: 25471 254722003-05-01 John Sullivan <sullivan@apple.com> 25473 25474 - fixed 3246045 -- History items without a valid date in 25475 History.plist show up with unexpected dates in UI 25476 25477 Reviewed by Darin. 25478 25479 * History.subproj/WebHistoryItem.m: 25480 (-[WebHistoryItem initFromDictionaryRepresentation:]): 25481 don't set lastVisitedTimeInterval to [nil doubleValue], 25482 since this is random 25483 25484 * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 25485 254862003-05-01 Richard Williamson <rjw@apple.com> 25487 25488 Added missing header and alphabetized. 25489 25490 Reviewed by Ken. 25491 25492 * Misc.subproj/WebKit.h: 25493 254942003-05-01 Chris Blumenberg <cblu@apple.com> 25495 25496 Fixed: 3234888 - REGRESSION: "can't add a plug-in to a defunct WebPluginController" error, then crash 25497 Fixed: 3226392 - REGRESSION: Safari crashed while loading Java applet at PopCap.com 25498 25499 Reviewed by darin. 25500 25501 * WebView.subproj/WebFramePrivate.h: 25502 * WebView.subproj/WebFramePrivate.m: 25503 (-[WebFrame setController:]): fixed comment 25504 * WebView.subproj/WebView.m: 25505 (-[WebView dealloc]): call [self _close] 25506 * WebView.subproj/WebViewPrivate.h: 25507 * WebView.subproj/WebViewPrivate.m: 25508 (-[WebViewPrivate dealloc]): let the WebView class clear the frames 25509 (-[WebView _close]): remove self from controller set and detach and release frame 25510 25511=== Safari-77 === 25512 255132003-05-01 John Sullivan <sullivan@apple.com> 25514 25515 - fixed 3245793 -- Launching Safari-75 after tip of tree 25516 erases all history 25517 25518 Reviewed by Chris, Don 25519 25520 * History.subproj/WebHistoryItem.m: 25521 keep using "lastVisitedDate" as the dictionary key, since old 25522 Safaris otherwise can't read the History file. 25523 (-[WebHistoryItem dictionaryRepresentation]): 25524 keep storing the time interval as a string, since old Safaris 25525 otherwise can't read the History file 25526 (-[WebHistoryItem initFromDictionaryRepresentation:]): 25527 read the stored date as a string and convert to a double, 25528 as we did before. 25529 255302003-05-01 Darin Adler <darin@apple.com> 25531 25532 Reviewed by John. 25533 25534 - fixed 3169117 -- dragging while using a scroll wheel affects scroll movement 25535 25536 * WebView.subproj/WebHTMLViewPrivate.m: 25537 (-[WebNSWindow nextEventMatchingMask:untilDate:inMode:dequeue:]): 25538 Just return nil when called with NSScrollWheelMask to work around the bug where any 25539 kind of event can be returned when this mask is passed. This will prevent scroll wheel 25540 events from being coalesced, but it's better than extracting events of all different 25541 types. Mouse moved events are particularly bad because they have deltaX/Y/Z and the 25542 scroll wheel code in NSScrollView treats them as if they were scroll wheel events. 25543 255442003-05-01 Ken Kocienda <kocienda@apple.com> 25545 25546 Reviewed by Darin 25547 25548 Updated to use approved NSHTTPCookieStorage API. 25549 25550 +sharedCookieManager -> +sharedHTTPCookieStorage 25551 -acceptPolicy -> -cookieAcceptPolicy 25552 -cookieRequestHeaderFieldsForURL: -> -cookiesForURL: 25553 -setCookiesFromResponseHeader:forURL:policyBaseURL: -> -setCookies:forURL:mainDocumentURL: 25554 25555 * WebCoreSupport.subproj/WebCookieAdapter.m: 25556 (-[WebCookieAdapter cookiesEnabled]): 25557 (-[WebCookieAdapter cookiesForURL:]): 25558 (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]): 25559 255602003-05-01 Darin Adler <darin@apple.com> 25561 25562 * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 25563 255642003-04-30 Kenneth Kocienda <kocienda@apple.com> 25565 25566 Reviewed by Richard 25567 25568 Modified WebFoundation error constant names. Names 25569 now begin with NSURLError prefix. 25570 25571 * Plugins.subproj/WebNetscapePluginRepresentation.m: 25572 (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): 25573 * WebCoreSupport.subproj/WebSubresourceClient.m: 25574 (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): 25575 * WebView.subproj/WebBaseResourceHandleDelegate.m: 25576 (-[WebBaseResourceHandleDelegate cancelledError]): 25577 * WebView.subproj/WebDataProtocol.m: 25578 (-[WebDataProtocol startLoading]): 25579 * WebView.subproj/WebDataSourcePrivate.m: 25580 (-[WebDataSource _stopLoadingInternal]): 25581 255822003-04-30 Kenneth Kocienda <kocienda@apple.com> 25583 25584 Reviewed by Richard 25585 25586 Use NSURLResponse new SPI methods to set instance variables. 25587 25588 * WebView.subproj/WebBaseResourceHandleDelegate.m: 25589 (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): 25590 * WebView.subproj/WebDataProtocol.m: 25591 (-[WebDataProtocol startLoading]): 25592 * WebView.subproj/WebMainResourceClient.m: 25593 (-[WebMainResourceClient loadWithRequest:]): 25594 255952003-04-30 Maciej Stachowiak <mjs@apple.com> 25596 25597 Reviewed by Richard. 25598 25599 Moved NSURLProtectionSpace over to officially blessed API. 25600 * Panels.subproj/WebAuthenticationPanel.m: 25601 (-[WebAuthenticationPanel setUpForChallenge:]): 25602 256032003-04-30 Richard Williamson <rjw@apple.com> 25604 25605 Copy MIME type when copying WebDataProtocol's parameters. 25606 25607 Reviewed by Ken. 25608 25609 * WebView.subproj/WebDataProtocol.m: 25610 (-[WebDataRequestParameters copyWithZone:]): 25611 256122003-04-30 Richard Williamson <rjw@apple.com> 25613 25614 Documentation fixes. 25615 Added "ADVISORY NOTE" about possible API change after beta SDK. 25616 25617 * History.subproj/WebHistory.h: 25618 * WebView.subproj/WebUIDelegate.h: 25619 256202003-04-30 Ken Kocienda <kocienda@apple.com> 25621 25622 Reviewed by Maciej 25623 25624 Tweaked some HTTP-specific NSURLRequest method names as specified 25625 in the API errata list. 25626 25627 * Plugins.subproj/WebBaseNetscapePluginView.m: 25628 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): 25629 (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]): 25630 * WebCoreSupport.subproj/WebBridge.m: 25631 (-[WebBridge createWindowWithURL:frameName:]): 25632 * WebCoreSupport.subproj/WebSubresourceClient.m: 25633 (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): 25634 * WebView.subproj/WebBaseResourceHandleDelegate.m: 25635 (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): 25636 * WebView.subproj/WebDefaultContextMenuDelegate.m: 25637 (-[WebDefaultUIDelegate openNewWindowWithURL:]): 25638 * WebView.subproj/WebFramePrivate.m: 25639 (-[WebFrame _loadItem:withLoadType:]): 25640 (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]): 25641 (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): 25642 (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): 25643 * WebView.subproj/WebMainResourceClient.m: 25644 (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]): 25645 256462003-04-30 Maciej Stachowiak <mjs@apple.com> 25647 25648 Reviewed by Ken. 25649 25650 Minor header tweaks. 25651 25652 * Misc.subproj/WebDownload.h: Fix copyright notice. 25653 * Panels.subproj/WebAuthenticationPanel.h: Added 2003 to copyright. 25654 * WebView.subproj/WebAuthenticationChallenge.h: Fix copyright notice, add docs. 25655 * WebView.subproj/WebAuthenticationChallengeInternal.h: Fix copyright notice. 25656 256572003-04-30 Maciej Stachowiak <mjs@apple.com> 25658 25659 Reviewed by Ken. 25660 25661 Minor header tweaks. 25662 25663 * Misc.subproj/WebDownload.h: Fix copyright notice. 25664 * Panels.subproj/WebAuthenticationPanel.h: Added 2003 to copyright. 25665 * WebView.subproj/WebAuthenticationChallenge.h: Fix copyright notice, add docs. 25666 * WebView.subproj/WebAuthenticationChallengeInternal.h: Fix copyright notice. 25667 256682003-04-30 Maciej Stachowiak <mjs@apple.com> 25669 25670 Reviewed by Darin. 25671 25672 Fixed imports and @class directives for WebFoundation changes. 25673 25674 * Panels.subproj/WebAuthenticationPanel.h: 25675 * Panels.subproj/WebAuthenticationPanel.m: 25676 256772003-04-30 Richard Williamson <rjw@apple.com> 25678 25679 Fixed doc errors. 25680 25681 * History.subproj/WebHistory.h: 25682 256832003-04-30 Maciej Stachowiak <mjs@apple.com> 25684 25685 Reviewed by Darin. 25686 25687 Some simple renames: 25688 25689 sharedURLCredentialStorage --> sharedCredentialStorage 25690 URLCredentialWithUser:password:persistence: --> credentialWithUser:password:persistence: 25691 25692 * Panels.subproj/WebAuthenticationPanel.m: 25693 (-[WebAuthenticationPanel runAsModalDialogWithChallenge:]): 25694 (-[WebAuthenticationPanel sheetDidEnd:returnCode:contextInfo:]): 25695 256962003-04-30 Maciej Stachowiak <mjs@apple.com> 25697 25698 Reviewed by Darin. 25699 25700 Changed things to use WebAuthenticationChallenge for 25701 WebResoureceLoadDelegate auth callbacks. 25702 25703 * Panels.subproj/WebPanelAuthenticationHandler.m: 25704 (-[WebPanelAuthenticationHandler startAuthentication:window:]): 25705 (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]): 25706 * WebKit.exp: 25707 * WebKit.pbproj/project.pbxproj: 25708 * WebView.subproj/WebAuthenticationChallenge.h: Added. 25709 * WebView.subproj/WebAuthenticationChallenge.m: Added. 25710 (-[WebAuthenticationChallengeInternal initWithDelegate:]): 25711 (-[WebAuthenticationChallengeInternal dealloc]): 25712 (-[WebAuthenticationChallenge _initWithAuthenticationChallenge:delegate:]): 25713 (-[WebAuthenticationChallenge dealloc]): 25714 (-[WebAuthenticationChallenge useCredential:]): 25715 (-[WebAuthenticationChallenge cancel]): 25716 (-[WebAuthenticationChallenge continueWithoutCredential]): 25717 * WebView.subproj/WebAuthenticationChallengeInternal.h: Added. 25718 * WebView.subproj/WebBaseResourceHandleDelegate.h: 25719 * WebView.subproj/WebBaseResourceHandleDelegate.m: 25720 (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]): 25721 (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]): 25722 (-[WebBaseResourceHandleDelegate useCredential:forAuthenticationChallenge:]): 25723 (-[WebBaseResourceHandleDelegate continueWithoutCredentialForAuthenticationChallenge:]): 25724 (-[WebBaseResourceHandleDelegate cancelWithError:]): 25725 * WebView.subproj/WebDefaultResourceLoadDelegate.m: 25726 (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveAuthenticationChallenge:fromDataSource:]): 25727 (-[WebDefaultResourceLoadDelegate webView:resource:didCancelAuthenticationChallenge:fromDataSource:]): 25728 * WebView.subproj/WebResourceLoadDelegate.h: 25729 257302003-04-30 Maciej Stachowiak <mjs@apple.com> 25731 25732 Reviewed by Darin. 25733 Converted download code to use an 25734 NSURLDownloadAuthenticationChallenge rather than a vanilla 25735 NSURLAuthenticationChallenge. 25736 25737 * Misc.subproj/WebDownload.m: 25738 (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]): 25739 (-[WebDownloadInternal download:didCancelAuthenticationChallenge:]): 25740 * Panels.subproj/WebPanelAuthenticationHandler.h: 25741 * Panels.subproj/WebPanelAuthenticationHandler.m: 25742 (-[WebPanelAuthenticationHandler startAuthentication:window:]): 25743 (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]): 25744 257452003-04-30 Ken Kocienda <kocienda@apple.com> 25746 25747 Reviewed by Richard 25748 25749 Changed cookie-related constants and enums to 25750 the API-approved names. Also did some text 25751 search and replace in comments to catch usages 25752 of now-obsolete names. 25753 25754 * WebCoreSupport.subproj/WebCookieAdapter.m: 25755 (-[WebCookieAdapter cookiesEnabled]): 25756 257572003-04-30 Chris Blumenberg <cblu@apple.com> 25758 25759 FIXED: Clients of WebKit should have separate icon DB's 25760 25761 Reviewed by rjw. 25762 25763 * English.lproj/StringsNotToBeLocalized.txt: 25764 * Misc.subproj/WebIconDatabase.h: 25765 * Misc.subproj/WebIconDatabase.m: 25766 (-[WebIconDatabase _createFileDatabase]): If the icon db hasn't been set using the defaults, create o directory using the bundle id. 25767 * WebKit.exp: 25768 257692003-04-30 Richard Williamson <rjw@apple.com> 25770 25771 API changes from final review meeting. 25772 25773 Moved view registry to WebView. 25774 Changed WebHistoryItem to use NSTimeInterval (at least for public API). 25775 Still creates a NSCalendarDate for compatibility. We should wean Safari 25776 off it's use of NSCalendarDate. 25777 Added public init method for WebHistoryItem. 25778 Removed anchor from WebHistoryItem. 25779 Added WebHistorySavedNotification. 25780 25781 Reviewed by Darin. 25782 25783 * History.subproj/WebHistory.m: 25784 (-[WebHistory addItemForURL:]): 25785 * History.subproj/WebHistoryItem.h: 25786 * History.subproj/WebHistoryItem.m: 25787 (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]): 25788 (-[WebHistoryItem copyWithZone:]): 25789 (-[WebHistoryItem lastVisitedTimeInterval]): 25790 (-[WebHistoryItem anchor]): 25791 (-[WebHistoryItem _setLastVisitedTimeInterval:]): 25792 (-[WebHistoryItem _lastVisitedDate]): 25793 (-[WebHistoryItem dictionaryRepresentation]): 25794 (-[WebHistoryItem initFromDictionaryRepresentation:]): 25795 * History.subproj/WebHistoryItemPrivate.h: 25796 * History.subproj/WebHistoryPrivate.m: 25797 (-[WebHistoryPrivate insertItem:atDateIndex:]): 25798 (-[WebHistoryPrivate removeItemForURLString:]): 25799 (-[WebHistoryPrivate addItem:]): 25800 (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]): 25801 * Plugins.subproj/WebPluginDatabase.m: 25802 (-[WebPluginDatabase init]): 25803 * WebView.subproj/WebFrame.h: 25804 * WebView.subproj/WebFrame.m: 25805 * WebView.subproj/WebFramePrivate.m: 25806 (-[WebFrame _transitionToCommitted:]): 25807 * WebView.subproj/WebView.h: 25808 * WebView.subproj/WebView.m: 25809 (+[WebView registerViewClass:representationClass:forMIMEType:]): 25810 258112003-04-29 Maciej Stachowiak <mjs@apple.com> 25812 25813 Reviewed by Darin. 25814 25815 - Adjusted for authentication API change - now we expect 25816 authentication via the connection delegate, not a separate global 25817 authentication handler 25818 25819 * Misc.subproj/WebKit.h: Include WebDownload.h 25820 * Misc.subproj/WebDownload.h: Added. 25821 * Misc.subproj/WebDownload.m: Added - this new class is just like NSURLDownload 25822 but if the standard auth delegate methods are not implemented, it prompts using 25823 the standard AppKit sheet. 25824 * Panels.subproj/WebPanelAuthenticationHandler.h: 25825 * Panels.subproj/WebPanelAuthenticationHandler.m: 25826 (+[WebPanelAuthenticationHandler sharedHandler]): New method to get a shared 25827 handler, since we no logner register an instance with WebFoundation. 25828 (-[WebPanelAuthenticationHandler startAuthentication:window:]): Do things 25829 using the new API. 25830 (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]): 25831 Likewise. 25832 * WebKit.exp: Export WebDownload. 25833 * WebKit.pbproj/project.pbxproj: Add new files to build. 25834 25835 - Removed WebStandardPanels - this is removed from the API. 25836 25837 * Panels.subproj/WebStandardPanels.h: Removed. 25838 * Panels.subproj/WebStandardPanels.m: Removed. 25839 * Panels.subproj/WebStandardPanelsPrivate.h: Removed. 25840 * Panels.subproj/WebAuthenticationPanel.m: Remove WebStandardPanels.h import. 25841 25842 - Added new resource load delegate auth methods: 25843 * WebView.subproj/WebResourceLoadDelegate.h: 25844 25845 - Use WebDownload where appropriate, and remove use of WebStandardPanels: 25846 * WebView.subproj/WebBaseResourceHandleDelegate.h: 25847 * WebView.subproj/WebBaseResourceHandleDelegate.m: 25848 (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]): 25849 Pass to resource load delegate. 25850 (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]): 25851 Likewise. 25852 (-[WebBaseResourceHandleDelegate dealloc]): Don't track currentURL any more. 25853 (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): Likewise. 25854 (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): Likewise. 25855 (-[WebBaseResourceHandleDelegate connection:didFailLoadingWithError:]): Likewise. 25856 (-[WebBaseResourceHandleDelegate cancelWithError:]): Likewise. 25857 * WebView.subproj/WebDefaultResourceLoadDelegate.m: 25858 (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveAuthenticationChallenge:fromDataSource:]): 25859 Prompt using the standard panel. 25860 25861 (-[WebDefaultResourceLoadDelegate webView:resource:didCancelAuthenticationChallenge:fromDataSource:]): 25862 Cancel prompting using the standard panel. 25863 * WebView.subproj/WebMainResourceClient.m: 25864 (-[WebMainResourceClient continueAfterContentPolicy:response:]): Use WebDownload instead 25865 of NSURLDownload. 25866 * WebView.subproj/WebView.h: Remove unneeded @class directives, 25867 and mention WebDownload instead of NSURLDownload. 25868 * WebView.subproj/WebViewPrivate.h: 25869 * WebView.subproj/WebViewPrivate.m: 25870 (-[WebView _downloadURL:toDirectory:]): Use WebDownload instead of NSURLDownload. 25871 (-[WebView _cacheResourceLoadDelegateImplementations]): Track auth methods too. 25872 258732003-04-30 Ken Kocienda <kocienda@apple.com> 25874 25875 Reviewed by Darin 25876 25877 Changed cookie-related class names: 25878 25879 WebCookie -> NSHTTPCookie 25880 WebCookiePrivate -> NSHTTPCookieInternal 25881 WebCookieManager -> NSHTTPCookieStorage 25882 WebCookieManagerPrivate -> NSHTTPCookieStorageInternal 25883 25884 * WebCoreSupport.subproj/WebCookieAdapter.m: 25885 (-[WebCookieAdapter cookiesEnabled]): 25886 (-[WebCookieAdapter cookiesForURL:]): 25887 (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]): 25888 258892003-04-30 Ken Kocienda <kocienda@apple.com> 25890 25891 Reviewed by Darin 25892 25893 Changed file names for these classes. The contents 25894 of the files themselves remain unchanged. 25895 25896 WebCookie -> NSHTTPCookie. 25897 WebCookieManager -> NSHTTPCookieStorage. 25898 25899 * WebCoreSupport.subproj/WebCookieAdapter.m: 25900 * WebView.subproj/WebMainResourceClient.m: 25901 259022003-04-30 Darin Adler <darin@apple.com> 25903 25904 Reviewed by Ken. 25905 25906 - make change to avoid misunderstanding that led to bug report 3179394 25907 "Safari: Request that temp files use actual file extensions" 25908 25909 * Plugins.subproj/WebBaseNetscapePluginStream.m: 25910 (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): 25911 Don't put a dot between "SafariPlugInStream" and the the 6-digit unique number, so the number 25912 does not look like an extension. Also make it "WebKitPlugInStream" since this is used for 25913 other WebKit clients, and not just Safari. 25914 25915 * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 25916 259172003-04-29 Richard Williamson <rjw@apple.com> 25918 25919 API changes from final review meeting. 25920 Added textEncodingName method to WebDataSource. 25921 25922 Reviewed by Chris. 25923 25924 * WebView.subproj/WebDataSource.h: 25925 * WebView.subproj/WebDataSource.m: 25926 (-[WebDataSource textEncodingName]): 25927 259282003-04-29 Chris Blumenberg <cblu@apple.com> 25929 25930 Updated to use the new NSURLDownload API. 25931 Reviewed by rjw. 25932 25933 * WebView.subproj/WebDataSourcePrivate.h: 25934 * WebView.subproj/WebDataSourcePrivate.m: 25935 (-[WebDataSourcePrivate dealloc]): 25936 * WebView.subproj/WebMainResourceClient.m: 25937 (-[WebMainResourceClient continueAfterContentPolicy:response:]): 25938 * WebView.subproj/WebViewPrivate.m: 25939 (-[WebView _downloadURL:toDirectory:]): 25940 259412003-04-29 Richard Williamson <rjw@apple.com> 25942 25943 Added "Copyright (C) 2003 Apple Computer, Inc. All rights reserved." 25944 to all public headers. Also made formatting consistent. 25945 25946 Reviewed by darin. 25947 25948 * Carbon.subproj/CarbonUtils.h: 25949 * Carbon.subproj/HIWebView.h: 25950 * History.subproj/WebBackForwardList.h: 25951 * History.subproj/WebHistory.h: 25952 * History.subproj/WebHistoryItem.h: 25953 * Misc.subproj/WebKit.h: 25954 * Misc.subproj/WebKitErrors.h: 25955 * WebView.subproj/WebDataSource.h: 25956 * WebView.subproj/WebDocument.h: 25957 * WebView.subproj/WebFrame.h: 25958 * WebView.subproj/WebFrameLoadDelegate.h: 25959 * WebView.subproj/WebFrameView.h: 25960 * WebView.subproj/WebPolicyDelegate.h: 25961 * WebView.subproj/WebPreferences.h: 25962 * WebView.subproj/WebResourceLoadDelegate.h: 25963 * WebView.subproj/WebUIDelegate.h: 25964 * WebView.subproj/WebView.h: 25965 259662003-04-28 Don Melton <gramps@apple.com> 25967 25968 Fixed 3225050 -- Default font size should be 16px 25969 Fixed 3241813 -- No longer spoof as WinIE for abcnews.go.com when 25970 default font size becomes 16px 25971 25972 Reviewed by Darin and Maciej. 25973 25974 * English.lproj/StringsNotToBeLocalized.txt: 25975 25976 Updated. 25977 25978 * WebCoreSupport.subproj/WebTextRenderer.m: 25979 (-[WebTextRenderer initWithFont:usingPrinterFont:]): 25980 25981 We need to adjust Times, Helvetica, and Courier to closely match the 25982 vertical metrics of their Microsoft counterparts that are the de facto 25983 web standard. The AppKit adjustment of 20% is too big and is 25984 incorrectly added to line spacing, so we use a 15% adjustment instead 25985 and add it to the ascent. 25986 25987 * WebView.subproj/WebPreferences.m: 25988 (+[WebPreferences initialize]): 25989 25990 Changed default font size from 14 to 16 pixels and default fixed font 25991 size from 14 to 13 pixels. Changed standard font from Lucida Grande to 25992 Times, serif font from Times New Roman to Times, and sans serif font 25993 from Lucida Grande to Helvetica. Also replaced some stray tabs with 25994 spaces and made a few other anal-retentive formatting changes. 25995 25996 * WebView.subproj/WebUserAgentSpoofTable.c: 25997 (hash): 25998 (_web_findSpoofTableEntry): 25999 * WebView.subproj/WebUserAgentSpoofTable.gperf: 26000 26001 No longer spoof as Windows MSIE for abcnews.go.com since we've also 26002 changed the default font size. 26003 260042003-04-28 Richard Williamson <rjw@apple.com> 26005 26006 API changes from final review meeting. 26007 26008 goBackOrForwardToItem: -> goToBackForwardItem: 26009 drop "Window" from WebUIDelegate method names. 26010 WebElementIsSelectedTextKey -> WebElementIsSelectedKey 26011 Cross-frame searchFor on WebView now public. 26012 26013 Reviewed by Chris. 26014 26015 * Plugins.subproj/WebBaseNetscapePluginView.m: 26016 * WebCoreSupport.subproj/WebBridge.m: 26017 * WebKit.exp: 26018 * WebView.subproj/WebDefaultContextMenuDelegate.m: 26019 * WebView.subproj/WebDefaultUIDelegate.m: 26020 * WebView.subproj/WebFrame.h: 26021 * WebView.subproj/WebFramePrivate.m: 26022 * WebView.subproj/WebHTMLView.m: 26023 * WebView.subproj/WebHTMLViewPrivate.m: 26024 * WebView.subproj/WebImageView.m: 26025 * WebView.subproj/WebPolicyDelegate.h: 26026 * WebView.subproj/WebTextView.m: 26027 * WebView.subproj/WebUIDelegate.h: 26028 * WebView.subproj/WebView.h: 26029 * WebView.subproj/WebView.m: 26030 * WebView.subproj/WebViewPrivate.h: 26031 * WebView.subproj/WebViewPrivate.m: 26032 260332003-04-28 Ken Kocienda <kocienda@apple.com> 26034 26035 Reviewed by Chris 26036 26037 * Plugins.subproj/WebBaseNetscapePluginStream.m: 26038 (-[WebBaseNetscapePluginStream setResponse:]): _lastModifiedDate on 26039 NSURLResponse is now SPI. 26040 * WebView.subproj/WebDataSourcePrivate.m: 26041 (-[WebDataSource _commitIfReady:]): Ditto. 26042 260432003-04-27 Chris Blumenberg <cblu@apple.com> 26044 26045 Improved headerdoc comments. 26046 * Misc.subproj/WebKitErrors.h: 26047 * WebView.subproj/WebFrameLoadDelegate.h: 26048 260492003-04-25 Don Melton <gramps@apple.com> 26050 26051 Backed out Richard's (hopefully) accidental checkin of our experiments 26052 from earlier today. Otherwise many layout tests are hosed. But this 26053 change, or something like it, will arrive soon. 26054 26055 * WebCoreSupport.subproj/WebTextRenderer.m: 26056 (-[WebTextRenderer initWithFont:usingPrinterFont:]): 26057 260582003-04-25 Richard Williamson <rjw@apple.com> 26059 26060 API changes from final review meeting. 26061 26062 WebView: 26063 Added canShowMIMETypeAsHTML: 26064 26065 WebFrameView: 26066 Removed scrollView 26067 Removed isDocumentHTML 26068 26069 WebDataSource: 26070 Removed isDocumentHTML 26071 26072 Reviewed by Chris. 26073 26074 * WebCoreSupport.subproj/WebTextRenderer.m: 26075 (-[WebTextRenderer initWithFont:usingPrinterFont:]): 26076 * WebView.subproj/WebDataSource.h: 26077 * WebView.subproj/WebDataSource.m: 26078 * WebView.subproj/WebDataSourcePrivate.h: 26079 * WebView.subproj/WebDataSourcePrivate.m: 26080 (-[WebDataSource _layoutChildren]): 26081 (-[WebDataSource _mainDocumentError]): 26082 (-[WebDataSource _isDocumentHTML]): 26083 * WebView.subproj/WebFramePrivate.m: 26084 (-[WebFrame _makeDocumentView]): 26085 (-[WebFrame _setState:]): 26086 (-[WebFrame _isLoadComplete]): 26087 * WebView.subproj/WebFrameView.h: 26088 * WebView.subproj/WebFrameView.m: 26089 (-[WebFrameView setAllowsScrolling:]): 26090 (-[WebFrameView allowsScrolling]): 26091 (-[WebFrameView documentView]): 26092 (-[WebFrameView drawRect:]): 26093 (-[WebFrameView setFrameSize:]): 26094 * WebView.subproj/WebFrameViewPrivate.h: 26095 * WebView.subproj/WebFrameViewPrivate.m: 26096 (-[WebFrameView _setDocumentView:]): 26097 (-[WebFrameView _scrollView]): 26098 (-[WebFrameView _contentView]): 26099 (-[WebFrameView _verticalKeyboardScrollAmount]): 26100 (-[WebFrameView _horizontalKeyboardScrollAmount]): 26101 (-[WebFrameView _scrollToBottomLeft]): 26102 (+[WebFrameView _viewTypesAllowImageTypeOmission:]): 26103 (+[WebFrameView _canShowMIMETypeAsHTML:]): 26104 * WebView.subproj/WebHTMLView.m: 26105 (-[WebHTMLView _setPrinting:pageWidth:]): 26106 * WebView.subproj/WebHTMLViewPrivate.m: 26107 (-[WebHTMLView _updateMouseoverWithEvent:]): 26108 * WebView.subproj/WebView.h: 26109 * WebView.subproj/WebView.m: 26110 (+[WebView canShowMIMETypeAsHTML:]): 26111 261122003-04-25 Chris Blumenberg <cblu@apple.com> 26113 26114 Renamed WebDownload to NSURLDownload and moved it to WebFoundation. 26115 26116 Reviewed by rjw. 26117 26118 * Downloads.subproj/WebBinHexDecoder.h: Removed. 26119 * Downloads.subproj/WebBinHexDecoder.m: Removed. 26120 * Downloads.subproj/WebDownload.h: Removed. 26121 * Downloads.subproj/WebDownload.m: Removed. 26122 * Downloads.subproj/WebDownloadDecoder.h: Removed. 26123 * Downloads.subproj/WebDownloadPrivate.h: Removed. 26124 * Downloads.subproj/WebGZipDecoder.h: Removed. 26125 * Downloads.subproj/WebGZipDecoder.m: Removed. 26126 * Downloads.subproj/WebMacBinaryDecoder.h: Removed. 26127 * Downloads.subproj/WebMacBinaryDecoder.m: Removed. 26128 * Downloads.subproj/crc16.h: Removed. 26129 * Downloads.subproj/crc16.m: Removed. 26130 * English.lproj/Localizable.strings: 26131 * English.lproj/StringsNotToBeLocalized.txt: 26132 * Misc.subproj/WebKit.h: 26133 * Misc.subproj/WebKitErrors.h: 26134 * Misc.subproj/WebKitErrors.m: 26135 (-[NSError _initWithPluginErrorCode:contentURLString:pluginPageURLString:pluginName:MIMEType:]): 26136 (registerErrors): 26137 * Misc.subproj/WebNSWorkspaceExtras.h: Removed. 26138 * Misc.subproj/WebNSWorkspaceExtras.m: Removed. 26139 * WebKit.exp: 26140 * WebKit.pbproj/project.pbxproj: 26141 * WebView.subproj/WebDataSource.m: 26142 * WebView.subproj/WebDataSourcePrivate.m: 26143 * WebView.subproj/WebMainResourceClient.h: 26144 * WebView.subproj/WebMainResourceClient.m: 26145 (-[WebMainResourceClient initWithDataSource:]): 26146 (-[WebMainResourceClient continueAfterContentPolicy:response:]): 26147 * WebView.subproj/WebView.h: 26148 * WebView.subproj/WebViewPrivate.m: 26149 (-[WebView _downloadURL:toDirectory:]): 26150 261512003-04-25 Richard Williamson <rjw@apple.com> 26152 26153 Final API review changes. 26154 26155 parent -> parentFrame 26156 children -> childFrames 26157 26158 Reviewed by Chris. 26159 26160 * WebView.subproj/WebHTMLView.m: 26161 (-[WebHTMLView _setPrinting:pageWidth:]): 26162 261632003-04-25 Richard Williamson <rjw@apple.com> 26164 26165 Final API review changes. 26166 26167 parent -> parentFrame 26168 children -> childFrames 26169 26170 Reviewed by Chris. 26171 26172 * WebCoreSupport.subproj/WebBridge.m: 26173 (-[WebBridge childFrames]): 26174 (-[WebBridge frameDetached]): 26175 261762003-04-25 Richard Williamson <rjw@apple.com> 26177 26178 Final API review changes. 26179 26180 WebFrame: 26181 parent -> parentFrame 26182 children -> childFrames 26183 loadString:baseURL: -> loadHTMLString:baseURL: 26184 laodData:encodingName:baseURL: -> loadData:MIMEType:textEncodingName:baseURL: 26185 26186 Reviewed by Chris. 26187 26188 * WebView.subproj/WebDataProtocol.h: 26189 * WebView.subproj/WebDataProtocol.m: 26190 (-[WebDataRequestParameters dealloc]): 26191 (-[NSURLRequest _webDataRequestMIMEType]): 26192 (-[NSURLRequest _webDataRequestSetMIMEType:]): 26193 (-[WebDataProtocol startLoading]): 26194 * WebView.subproj/WebDataSource.m: 26195 (-[WebDataSource isLoading]): 26196 * WebView.subproj/WebDataSourcePrivate.m: 26197 (-[WebDataSource _recursiveStopLoading]): 26198 (-[WebDataSource _layoutChildren]): 26199 (-[WebDataSource _defersCallbacksChanged]): 26200 * WebView.subproj/WebFrame.h: 26201 * WebView.subproj/WebFrame.m: 26202 (-[WebFrame loadHTMLString:baseURL:]): 26203 (-[WebFrame findFrameNamed:]): 26204 (-[WebFrame parentFrame]): 26205 (-[WebFrame childFrames]): 26206 * WebView.subproj/WebFramePrivate.m: 26207 (-[WebFrame _createItem]): 26208 (-[WebFrame _descendantFrameNamed:]): 26209 (-[WebFrame _transitionToCommitted:]): 26210 (-[WebFrame _isLoadComplete]): 26211 (+[WebFrame _recursiveCheckCompleteFromFrame:]): 26212 (-[WebFrame _textSizeMultiplierChanged]): 26213 (-[WebFrame _viewWillMoveToHostWindow:]): 26214 (-[WebFrame _viewDidMoveToHostWindow]): 26215 (-[WebFrame _saveDocumentAndScrollState]): 26216 (-[WebFrame _loadDataSource:withLoadType:formState:]): 26217 * WebView.subproj/WebViewPrivate.m: 26218 (-[WebViewPrivate _clearControllerReferences:]): 26219 (-[WebView _frameForDataSource:fromFrame:]): 26220 (-[WebView _frameForView:fromFrame:]): 26221 262222003-04-25 Chris Blumenberg <cblu@apple.com> 26223 26224 Don't do "@class WebDataSource" as that class isn't mentioned in this file. 26225 26226 * WebView.subproj/WebFrameLoadDelegate.h: 26227 262282003-04-25 Chris Blumenberg <cblu@apple.com> 26229 26230 Turned WebLocationChangeDelegate into WebFrameLoadDelegate. Renamed WebFrameLoadDelegate all methods to pass a frame instead of the data source. 26231 26232 Reviewed by rjw. 26233 26234 * English.lproj/Localizable.strings: 26235 * Misc.subproj/WebKit.h: 26236 * Misc.subproj/WebKitErrors.h: 26237 * Misc.subproj/WebKitErrors.m: 26238 (registerErrors): 26239 * WebCoreSupport.subproj/WebBridge.m: 26240 * WebKit.pbproj/project.pbxproj: 26241 * WebView.subproj/WebDataSourcePrivate.m: 26242 (-[WebDataSource _startLoading:]): 26243 (-[WebDataSource _setTitle:]): 26244 (-[WebDataSource _setRequest:]): 26245 (-[WebDataSource _updateIconDatabaseWithURL:]): 26246 * WebView.subproj/WebDefaultFrameLoadDelegate.h: Added. 26247 * WebView.subproj/WebDefaultFrameLoadDelegate.m: Added. 26248 (+[WebDefaultFrameLoadDelegate sharedFrameLoadDelegate]): 26249 (-[WebDefaultFrameLoadDelegate webView:didStartProvisionalLoadForFrame:]): 26250 (-[WebDefaultFrameLoadDelegate webView:didReceiveServerRedirectForProvisionalLoadForFrame:]): 26251 (-[WebDefaultFrameLoadDelegate webView:didFailProvisionalLoadWithError:forFrame:]): 26252 (-[WebDefaultFrameLoadDelegate webView:didCommitLoadForFrame:]): 26253 (-[WebDefaultFrameLoadDelegate webView:didReceiveTitle:forFrame:]): 26254 (-[WebDefaultFrameLoadDelegate webView:didReceiveIcon:forFrame:]): 26255 (-[WebDefaultFrameLoadDelegate webView:didFinishLoadForFrame:]): 26256 (-[WebDefaultFrameLoadDelegate webView:didFailLoadWithError:forFrame:]): 26257 (-[WebDefaultFrameLoadDelegate webView:didChangeLocationWithinPageForFrame:]): 26258 (-[WebDefaultFrameLoadDelegate webView:willPerformClientRedirectToURL:delay:fireDate:forFrame:]): 26259 (-[WebDefaultFrameLoadDelegate webView:didCancelClientRedirectForFrame:]): 26260 (-[WebDefaultFrameLoadDelegate webView:willCloseFrame:]): 26261 * WebView.subproj/WebDefaultLocationChangeDelegate.h: Removed. 26262 * WebView.subproj/WebDefaultLocationChangeDelegate.m: Removed. 26263 * WebView.subproj/WebFrame.m: 26264 * WebView.subproj/WebFrameLoadDelegate.h: Added. 26265 * WebView.subproj/WebFramePrivate.m: 26266 (-[WebFrame _closeOldDataSources]): 26267 (-[WebFrame _transitionToCommitted:]): 26268 (-[WebFrame _isLoadComplete]): 26269 (-[WebFrame _loadItem:withLoadType:]): 26270 (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): 26271 (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:]): 26272 (-[WebFrame _clientRedirectCancelled]): 26273 * WebView.subproj/WebLocationChangeDelegate.h: Removed. 26274 * WebView.subproj/WebMainResourceClient.m: 26275 (-[WebMainResourceClient interruptForPolicyChangeError]): 26276 * WebView.subproj/WebPolicyDelegate.h: 26277 * WebView.subproj/WebView.h: 26278 * WebView.subproj/WebView.m: 26279 (-[WebView setFrameLoadDelegate:]): 26280 (-[WebView frameLoadDelegate]): 26281 * WebView.subproj/WebViewPrivate.h: 26282 * WebView.subproj/WebViewPrivate.m: 26283 (-[WebViewPrivate dealloc]): 26284 (-[WebView _frameLoadDelegateForwarder]): 26285 262862003-04-25 John Sullivan <sullivan@apple.com> 26287 26288 - fixed 3240676 -- REGRESSION: Using old Safari then new one 26289 erases history 26290 26291 Reviewed by Darin. 26292 26293 * History.subproj/WebHistoryPrivate.m: 26294 (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]): 26295 The new code to use a synchronous NSURLConnection to read the 26296 property list file did not take into account the two possible 26297 formats of the file (NSArray or NSDictionary), so reading 26298 old-style history files was completely broken. While in here, 26299 I distributed the variable declarations to first use. 26300 263012003-04-24 Maciej Stachowiak <mjs@apple.com> 26302 26303 Fixed build. 26304 * Panels.subproj/WebStandardPanels.m: 26305 (-[WebStandardPanels setUsesStandardAuthenticationPanel:]): 26306 263072003-04-24 Maciej Stachowiak <mjs@apple.com> 26308 26309 Reviewed by Ken. 26310 26311 Updated for auth API changes. 26312 * Panels.subproj/WebStandardPanels.m: 26313 (-[WebStandardPanels setUsesStandardAuthenticationPanel:]): 26314 263152003-04-24 Richard Williamson <rjw@apple.com> 26316 26317 Final API review changes. 26318 26319 Renamed WebWindowOperationsDelegate to WebUIDelegate. 26320 Merged WebContextMenuDelegate into WebUIDelegate. 26321 Fixed crasher if history file doesn't exist. 26322 26323 Reviewed by Ken. 26324 26325 * History.subproj/WebHistory.h: 26326 * History.subproj/WebHistoryPrivate.m: 26327 (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]): 26328 * Misc.subproj/WebKit.h: 26329 * Plugins.subproj/WebBaseNetscapePluginView.m: 26330 (-[WebBaseNetscapePluginView loadPluginRequest:]): 26331 (-[WebBaseNetscapePluginView status:]): 26332 * Plugins.subproj/WebPluginController.m: 26333 (-[WebPluginController showStatus:]): 26334 * WebCoreSupport.subproj/WebBridge.h: 26335 * WebCoreSupport.subproj/WebBridge.m: 26336 (-[WebBridge createWindowWithURL:frameName:]): 26337 (-[WebBridge showWindow]): 26338 (-[WebBridge areToolbarsVisible]): 26339 (-[WebBridge setToolbarsVisible:]): 26340 (-[WebBridge isStatusBarVisible]): 26341 (-[WebBridge setStatusBarVisible:]): 26342 (-[WebBridge setWindowFrame:]): 26343 (-[WebBridge windowFrame]): 26344 (-[WebBridge setWindowContentRect:]): 26345 (-[WebBridge windowContentRect]): 26346 (-[WebBridge setWindowIsResizable:]): 26347 (-[WebBridge windowIsResizable]): 26348 (-[WebBridge firstResponder]): 26349 (-[WebBridge makeFirstResponder:]): 26350 (-[WebBridge closeWindow]): 26351 (-[WebBridge runJavaScriptAlertPanelWithMessage:]): 26352 (-[WebBridge runJavaScriptConfirmPanelWithMessage:]): 26353 (-[WebBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]): 26354 (-[WebBridge runOpenPanelForFileButtonWithResultListener:]): 26355 (-[WebBridge setStatusText:]): 26356 (-[WebBridge focusWindow]): 26357 * WebKit.exp: 26358 * WebKit.pbproj/project.pbxproj: 26359 * WebView.subproj/WebContextMenuDelegate.h: Removed. 26360 * WebView.subproj/WebDefaultContextMenuDelegate.h: 26361 * WebView.subproj/WebDefaultContextMenuDelegate.m: 26362 * WebView.subproj/WebDefaultUIDelegate.h: 26363 * WebView.subproj/WebDefaultUIDelegate.m: 26364 (+[WebDefaultUIDelegate sharedUIDelegate]): 26365 (-[WebDefaultUIDelegate dealloc]): 26366 * WebView.subproj/WebDefaultWindowOperationsDelegate.h: Removed. 26367 * WebView.subproj/WebDefaultWindowOperationsDelegate.m: Removed. 26368 * WebView.subproj/WebFrame.m: 26369 * WebView.subproj/WebFramePrivate.m: 26370 (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]): 26371 * WebView.subproj/WebFrameView.m: 26372 * WebView.subproj/WebHTMLViewPrivate.m: 26373 * WebView.subproj/WebUIDelegate.h: 26374 * WebView.subproj/WebView.h: 26375 * WebView.subproj/WebView.m: 26376 (-[WebView setUIDelegate:]): 26377 (-[WebView UIDelegate]): 26378 (-[WebView downloadDelegate]): 26379 * WebView.subproj/WebViewPrivate.h: 26380 * WebView.subproj/WebViewPrivate.m: 26381 (-[WebViewPrivate init]): 26382 (-[WebViewPrivate dealloc]): 26383 (-[WebView _openNewWindowWithRequest:]): 26384 (-[WebView _menuForElement:]): 26385 (-[WebView _mouseDidMoveOverElement:modifierFlags:]): 26386 (-[WebView _UIDelegateForwarder]): 26387 * WebView.subproj/WebWindowOperationsDelegate.h: Removed. 26388 263892003-04-24 Richard Williamson <rjw@apple.com> 26390 26391 Final API review changes. 26392 26393 * History.subproj/WebHistoryItem.h: 26394 * History.subproj/WebHistoryItem.m: 26395 (-[WebHistoryItem setAlternateTitle:]): 26396 (-[WebHistoryItem initFromDictionaryRepresentation:]): 26397 263982003-04-24 Richard Williamson <rjw@apple.com> 26399 26400 Final API review changes. 26401 26402 Reviewed by Chris. 26403 26404 * History.subproj/WebBackForwardList.h: 26405 * History.subproj/WebBackForwardList.m: 26406 (-[WebBackForwardList containsItem:]): 26407 (-[WebBackForwardList capacity]): 26408 (-[WebBackForwardList setCapacity:]): 26409 (-[WebBackForwardList _clearPageCache]): 26410 (-[WebBackForwardList setPageCacheSize:]): 26411 (-[WebBackForwardList _setUsesPageCache:]): 26412 (-[WebBackForwardList _usesPageCache]): 26413 * History.subproj/WebHistory.h: 26414 * History.subproj/WebHistory.m: 26415 (+[WebHistory optionalSharedHistory]): 26416 (+[WebHistory setOptionalSharedHistory:]): 26417 (-[WebHistory init]): 26418 (-[WebHistory loadFromURL:error:]): 26419 (-[WebHistory saveToURL:error:]): 26420 * History.subproj/WebHistoryItemPrivate.h: 26421 * History.subproj/WebHistoryPrivate.h: 26422 * History.subproj/WebHistoryPrivate.m: 26423 (-[WebHistoryPrivate init]): 26424 (-[WebHistoryPrivate dealloc]): 26425 (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]): 26426 (-[WebHistoryPrivate loadFromURL:error:]): 26427 (-[WebHistoryPrivate _saveHistoryGuts:URL:error:]): 26428 (-[WebHistoryPrivate saveToURL:error:]): 26429 * WebView.subproj/WebDataSourcePrivate.m: 26430 (-[WebDataSource _setTitle:]): 26431 * WebView.subproj/WebFramePrivate.m: 26432 (-[WebFrame _transitionToCommitted:]): 26433 (-[WebFrame _canCachePage]): 26434 (-[WebFrame _purgePageCache]): 26435 264362003-04-24 Maciej Stachowiak <mjs@apple.com> 26437 26438 Reviewed by Chris. 26439 26440 * Panels.subproj/WebAuthenticationPanel.m: 26441 (-[WebAuthenticationPanel setUpForChallenge:]): Update for new Challenge API. 26442 264432003-04-24 Chris Blumenberg <cblu@apple.com> 26444 26445 Renamed - [NSURLResponse suggestedFilenameForSaving] to suggestedFilename and moved it to WebFoundation. 26446 26447 Reviewed by mjs. 26448 26449 * Downloads.subproj/WebDownload.m: 26450 (-[WebDownload _createFileIfNecessary]): 26451 * English.lproj/Localizable.strings: 26452 * English.lproj/StringsNotToBeLocalized.txt: 26453 * Misc.subproj/WebNSURLResponseExtras.h: Removed. 26454 * Misc.subproj/WebNSURLResponseExtras.m: Removed. 26455 * Plugins.subproj/WebNullPluginView.m: include NSError to unbreak build. 26456 * WebKit.pbproj/project.pbxproj: 26457 264582003-04-24 Chris Blumenberg <cblu@apple.com> 26459 26460 Removed WebPluginError and instead added fields to the userInfo of NSError for plug-in specific errors. 26461 26462 Reviewed by rjw. 26463 26464 * Misc.subproj/WebKitErrors.h: 26465 * Misc.subproj/WebKitErrors.m: 26466 (+[NSError _webKitErrorWithCode:failingURL:]): 26467 (-[NSError _initWithPluginErrorCode:contentURLString:pluginPageURLString:pluginName:MIMEType:]): 26468 * Misc.subproj/WebKitErrorsPrivate.h: 26469 * Plugins.subproj/WebNetscapePluginDocumentView.m: 26470 (-[WebNetscapePluginDocumentView setDataSource:]): 26471 * Plugins.subproj/WebNullPluginView.h: 26472 * Plugins.subproj/WebNullPluginView.m: 26473 * Plugins.subproj/WebPlugInError.h: Removed. 26474 * Plugins.subproj/WebPlugInError.m: Removed. 26475 * Plugins.subproj/WebPluginErrorPrivate.h: Removed. 26476 * WebCoreSupport.subproj/WebBridge.m: 26477 (-[WebBridge viewForPluginWithURLString:attributes:baseURLString:MIMEType:]): 26478 (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURLString:]): 26479 * WebKit.exp: 26480 * WebKit.pbproj/project.pbxproj: 26481 * WebView.subproj/WebDefaultResourceLoadDelegate.m: 26482 (-[WebDefaultResourceLoadDelegate webView:plugInFailedWithError:dataSource:]): 26483 * WebView.subproj/WebResourceLoadDelegate.h: 26484 264852003-04-24 Darin Adler <darin@apple.com> 26486 26487 Reviewed by Chris. 26488 26489 - fixed 3210096 -- server identifies page as UTF-8, page identifies itself as windows-1252, server must win 26490 26491 * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge receivedData:withDataSource:]): 26492 Change for new WebCore API. Pass the encoding in a separate setEncoding call rather than 26493 as a parameter in addData. Also don't handle default encoding here any more. Default encoding 26494 is now handled the same way all the other preferences are, in a way that works better on the 26495 WebCore side anyway; nil or empty string means use the default encoding. 26496 264972003-04-24 Ken Kocienda <kocienda@apple.com> 26498 26499 Reviewed by Darin 26500 26501 Changed WebError to NSError 26502 26503 * Downloads.subproj/WebDownload.h: 26504 * Downloads.subproj/WebDownload.m: 26505 (-[WebDownload connection:didReceiveData:]): 26506 (-[WebDownload connectionDidFinishLoading:]): 26507 (-[WebDownload connection:didFailLoadingWithError:]): 26508 (-[WebDownload _decodeData:]): 26509 (-[WebDownload _writeDataForkData:resourceForkData:]): 26510 (-[WebDownload _didCloseFile:]): 26511 (-[WebDownload _cancelWithError:]): 26512 (-[WebDownload _errorWithCode:]): 26513 (CloseCompletionCallback): 26514 * English.lproj/StringsNotToBeLocalized.txt: 26515 * Misc.subproj/WebIconLoader.m: 26516 (-[WebIconLoader connection:didFailLoadingWithError:]): 26517 * Misc.subproj/WebKitErrors.h: 26518 * Misc.subproj/WebKitErrors.m: 26519 (+[NSError _webKitErrorWithCode:failingURL:]): 26520 (registerErrors): 26521 * Misc.subproj/WebKitErrorsPrivate.h: 26522 * Plugins.subproj/WebNetscapePluginRepresentation.h: 26523 * Plugins.subproj/WebNetscapePluginRepresentation.m: 26524 (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): 26525 * Plugins.subproj/WebNetscapePluginStream.m: 26526 (-[WebNetscapePluginStream connection:didFailLoadingWithError:]): 26527 * Plugins.subproj/WebPlugInError.h: 26528 * Plugins.subproj/WebPlugInError.m: 26529 * WebCoreSupport.subproj/WebBridge.m: 26530 * WebCoreSupport.subproj/WebSubresourceClient.m: 26531 (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): 26532 (-[WebSubresourceClient receivedError:]): 26533 (-[WebSubresourceClient connection:didFailLoadingWithError:]): 26534 * WebKit.exp: 26535 * WebView.subproj/WebBaseResourceHandleDelegate.h: 26536 * WebView.subproj/WebBaseResourceHandleDelegate.m: 26537 (-[WebBaseResourceHandleDelegate connection:didFailLoadingWithError:]): 26538 (-[WebBaseResourceHandleDelegate cancelWithError:]): 26539 (-[WebBaseResourceHandleDelegate cancelledError]): 26540 * WebView.subproj/WebDataProtocol.m: 26541 (-[WebDataProtocol startLoading]): 26542 * WebView.subproj/WebDataSource.h: 26543 * WebView.subproj/WebDataSourcePrivate.h: 26544 * WebView.subproj/WebDataSourcePrivate.m: 26545 (-[WebDataSource _stopLoadingInternal]): 26546 (-[WebDataSource _setMainDocumentError:]): 26547 (-[WebDataSource _receivedError:complete:]): 26548 (-[WebDataSource _stopLoadingWithError:]): 26549 (-[WebDataSource _mainDocumentError]): 26550 * WebView.subproj/WebDefaultLocationChangeDelegate.m: 26551 (-[WebDefaultLocationChangeDelegate webView:locationChangeDone:forDataSource:]): 26552 * WebView.subproj/WebDefaultPolicyDelegate.m: 26553 (-[WebDefaultPolicyDelegate webView:unableToImplementPolicyWithError:frame:]): 26554 * WebView.subproj/WebDefaultResourceLoadDelegate.m: 26555 (-[WebDefaultResourceLoadDelegate webView:resource:didFailLoadingWithError:fromDataSource:]): 26556 * WebView.subproj/WebDocument.h: 26557 * WebView.subproj/WebFrame.h: 26558 * WebView.subproj/WebFramePrivate.m: 26559 (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]): 26560 * WebView.subproj/WebFrameView.m: 26561 * WebView.subproj/WebHTMLRepresentation.m: 26562 (-[WebHTMLRepresentation receivedError:withDataSource:]): 26563 * WebView.subproj/WebImageRepresentation.m: 26564 (-[WebImageRepresentation receivedError:withDataSource:]): 26565 * WebView.subproj/WebLocationChangeDelegate.h: 26566 * WebView.subproj/WebMainResourceClient.m: 26567 (-[WebMainResourceClient receivedError:]): 26568 (-[WebMainResourceClient cancelWithError:]): 26569 (-[WebMainResourceClient interruptForPolicyChangeError]): 26570 (-[WebMainResourceClient connection:didFailLoadingWithError:]): 26571 (-[WebResourceDelegateProxy connection:didFailLoadingWithError:]): 26572 * WebView.subproj/WebPolicyDelegate.h: 26573 * WebView.subproj/WebResourceLoadDelegate.h: 26574 * WebView.subproj/WebTextRepresentation.m: 26575 (-[WebTextRepresentation receivedError:withDataSource:]): 26576 * WebView.subproj/WebView.h: 26577 * WebView.subproj/WebViewPrivate.h: 26578 * WebView.subproj/WebViewPrivate.m: 26579 (-[WebView _receivedError:fromDataSource:]): 26580 (-[WebView _mainReceivedError:fromDataSource:complete:]): 26581 265822003-04-24 Darin Adler <darin@apple.com> 26583 26584 Reviewed by John. 26585 26586 * WebView.subproj/WebViewPrivate.m: (-[WebView _updateWebCoreSettingsFromPreferences:]): 26587 Added a call to the new setDefaultTextEncoding: method in WebCore. A preparation 26588 step for some encoding bug fixes. 26589 26590 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView addSuperviewObservers]): Improved a comment. 26591 26592=== Safari-75 === 26593 265942003-04-24 Maciej Stachowiak <mjs@apple.com> (checked in by Darin) 26595 26596 Reviewed by Ken and Darin. 26597 26598 Fixed an authentication crashing bug that crept into the last few 26599 changes, plus a typo. 26600 * Panels.subproj/WebAuthenticationPanel.m: 26601 (-[WebAuthenticationPanel setUpForChallenge:]): Remove extra space. 26602 (-[WebAuthenticationPanel runAsSheetOnWindow:withChallenge:]): Store 26603 the challenge properly. 26604 266052003-04-22 Maciej Stachowiak <mjs@apple.com> 26606 26607 Reviewed by Darin. 26608 26609 Adjusted for NSURLCredential changes. 26610 26611 * Panels.subproj/WebAuthenticationPanel.m: 26612 (-[WebAuthenticationPanel runAsModalDialogWithChallenge:]): 26613 (-[WebAuthenticationPanel sheetDidEnd:returnCode:contextInfo:]): 26614 266152003-04-23 Chris Blumenberg <cblu@apple.com> 26616 26617 Reviewed by darin. 26618 26619 * English.lproj/StringsNotToBeLocalized.txt: updated 26620 266212003-04-23 Chris Blumenberg <cblu@apple.com> 26622 26623 Fixed: 3161374 - safari windows don't allow text/URL dragging on the first click 26624 26625 Reviewed by john. 26626 26627 * WebView.subproj/WebHTMLView.m: 26628 (-[WebHTMLView _isSelectionEvent:]): new, determines if the event occurred over the selection 26629 (-[WebHTMLView acceptsFirstMouse:]): newly implemented, return result of _isSelectionEvent: 26630 (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): newly implemented, return result of _isSelectionEvent: 26631 266322003-04-23 Chris Blumenberg <cblu@apple.com> 26633 26634 Renamed the policy delegate methods. 26635 26636 Reviewed by john. 26637 26638 * WebView.subproj/WebDefaultPolicyDelegate.m: 26639 (-[WebDefaultPolicyDelegate webView:unableToImplementPolicyWithError:frame:]): 26640 (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): 26641 (-[WebDefaultPolicyDelegate webView:decidePolicyForNewWindowAction:request:newFrameName:decisionListener:]): 26642 * WebView.subproj/WebFramePrivate.m: 26643 (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]): 26644 (-[WebFrame _checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]): 26645 (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]): 26646 * WebView.subproj/WebMainResourceClient.m: 26647 (-[WebMainResourceClient checkContentPolicyForResponse:]): 26648 * WebView.subproj/WebPolicyDelegate.h: 26649 266502003-04-22 Ken Kocienda <kocienda@apple.com> 26651 26652 Reviewed by Darin 26653 26654 Updated to use API-approved methods for accessing 26655 protocol-specific URL request data. 26656 26657 * WebView.subproj/WebDataProtocol.m: 26658 (-[NSURLRequest _webDataRequestParametersForReading]): 26659 (-[NSURLRequest _webDataRequestParametersForWriting]): 26660 266612003-04-22 Maciej Stachowiak <mjs@apple.com> 26662 26663 Reviewed by Darin. 26664 26665 Renamed classes to match API document. 26666 * Panels.subproj/WebAuthenticationPanel.h: 26667 * Panels.subproj/WebAuthenticationPanel.m: 26668 (-[WebAuthenticationPanel setUpForChallenge:]): 26669 (-[WebAuthenticationPanel runAsModalDialogWithChallenge:]): 26670 (-[WebAuthenticationPanel runAsSheetOnWindow:withChallenge:]): 26671 (-[WebAuthenticationPanel sheetDidEnd:returnCode:contextInfo:]): 26672 * Panels.subproj/WebPanelAuthenticationHandler.h: 26673 * Panels.subproj/WebPanelAuthenticationHandler.m: 26674 (-[WebPanelAuthenticationHandler init]): 26675 (-[WebPanelAuthenticationHandler dealloc]): 26676 (-[WebPanelAuthenticationHandler isReadyToStartAuthentication:]): 26677 (-[WebPanelAuthenticationHandler startAuthentication:]): 26678 (-[WebPanelAuthenticationHandler cancelAuthentication:]): 26679 (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]): 26680 * Panels.subproj/WebStandardPanels.m: 26681 (-[WebStandardPanels setUsesStandardAuthenticationPanel:]): 26682 266832003-04-21 Ken Kocienda <kocienda@apple.com> 26684 26685 Reviewed by Darin 26686 26687 API changes in NSURLProtocol and its subclasses: 26688 26689 +canHandleURL: becomes +canInitWithRequest: 26690 +canonicalURLForURL: becomes +canonicalRequestForRequest: 26691 26692 Added new _webIsDataProtocolURL: helper method. 26693 26694 * WebView.subproj/WebBaseResourceHandleDelegate.m: 26695 (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): 26696 * WebView.subproj/WebDataProtocol.h: 26697 * WebView.subproj/WebDataProtocol.m: 26698 (+[WebDataProtocol _webIsDataProtocolURL:]): 26699 (+[WebDataProtocol canInitWithRequest:]): 26700 (+[WebDataProtocol canonicalRequestForRequest:]): 26701 * WebView.subproj/WebFramePrivate.m: 26702 (-[WebFrame _addBackForwardItemClippedAtTarget:]): 26703 (-[WebFrame _transitionToCommitted:]): 26704 267052003-04-21 Darin Adler <darin@apple.com> 26706 26707 * Plugins.subproj/WebNetscapePluginStream.m: Removed unnecessary #import of <WebFoundation/WebFoundation.h>. 26708 267092003-04-21 Maciej Stachowiak <mjs@apple.com> 26710 26711 Reviewed by Richard. 26712 26713 Updated for file renames. 26714 26715 * Panels.subproj/WebAuthenticationPanel.h: 26716 * Panels.subproj/WebPanelAuthenticationHandler.h: 26717 * Panels.subproj/WebStandardPanels.m: 26718 267192003-04-21 Chris Blumenberg <cblu@apple.com> 26720 Fixed previous "Reviewed by". 26721 26722 * ChangeLog: 26723 267242003-04-21 Chris Blumenberg <cblu@apple.com> 26725 26726 Fixed: 3140990 - Safari: Error attempting to load movie from Rhino records 26727 Renamed plug-in view methods to mention that they take URL strings. 26728 26729 Reviewed by john. 26730 26731 * WebCoreSupport.subproj/WebBridge.m: 26732 (-[WebBridge viewForPluginWithURLString:attributes:baseURLString:MIMEType:]): renamed, try to find the plug-in using the extension of the SRC URL if the plug-in isn't found using the MIME type. 26733 (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURLString:]): renamed 26734 267352003-04-18 Chris Blumenberg <cblu@apple.com> 26736 26737 Fixed: 3139385 - don't accept drags from other frames in the same WebView 26738 26739 Reviewed by john. 26740 26741 * WebView.subproj/WebFrameView.m: moved drag destination code from WebFrameView to WebView 26742 (-[WebFrameView initWithFrame:]): removed drag registration code 26743 * WebView.subproj/WebFrameViewPrivate.h: 26744 * WebView.subproj/WebFrameViewPrivate.m: 26745 * WebView.subproj/WebHTMLView.m: 26746 (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): unregister drag types on the WebView 26747 (-[WebHTMLView draggedImage:endedAt:operation:]): reregister drag types on the WebView 26748 * WebView.subproj/WebImageView.m: 26749 (-[WebImageView mouseDragged:]): unregister drag types on the WebView 26750 (-[WebImageView draggedImage:endedAt:operation:]): reregister drag types on the WebView 26751 * WebView.subproj/WebView.m: moved drag destination code from WebFrameView to WebView 26752 (-[WebView draggingEntered:]): moved from WebFrameView 26753 (-[WebView prepareForDragOperation:]): ditto 26754 (-[WebView performDragOperation:]): ditto 26755 (-[WebView concludeDragOperation:]): ditto 26756 * WebView.subproj/WebViewPrivate.h: 26757 * WebView.subproj/WebViewPrivate.m: 26758 (-[WebView _registerDraggedTypes]): ditto 26759 267602003-04-17 John Sullivan <sullivan@apple.com> 26761 26762 Reviewed by Maciej. 26763 26764 * History.subproj/WebHistoryPrivate.m: 26765 (-[WebHistoryPrivate _loadHistoryGuts:]): 26766 if we can't load the file as a dictionary, try loading it 26767 the old-fashioned array way. This makes the history file 26768 format change forward-compatible. 26769 267702003-04-17 Chris Blumenberg <cblu@apple.com> 26771 26772 Fixed: 3160751 - Can't use non-'.txt' file extension for text files? 26773 26774 Reviewed by mjs. 26775 26776 * English.lproj/StringsNotToBeLocalized.txt: 26777 * Misc.subproj/WebNSURLResponseExtras.m: 26778 (-[NSURL _web_suggestedFilenameForSavingWithMIMEType:]): don't correct the file extension for plain text files 26779 267802003-04-17 John Sullivan <sullivan@apple.com> 26781 26782 - fixed 3232332 -- History file should be versioned since 26783 we might change it in the future 26784 - fixed 3220355 -- Console error message at launch when 26785 there's no history file 26786 26787 Note: a downside of this change is that the history formats 26788 before and after this change are not compatible. You will 26789 get no history each time you cross that boundary by running 26790 different Safaris. 26791 26792 Reviewed by Maciej. 26793 26794 * History.subproj/WebHistoryPrivate.m: 26795 (-[WebHistoryPrivate _loadHistoryGuts:]): 26796 check for file-doesn't-exist case before complaining about 26797 being unable to read existing file; expect to read dictionary 26798 rather than array, and check version in dictionary. 26799 (-[WebHistoryPrivate _saveHistoryGuts:]): 26800 save dictionary that includes version as well as array of 26801 items by date. 26802 268032003-04-17 Richard Williamson <rjw@apple.com> 26804 26805 Fixed typos in headerdoc comments. 26806 26807 * WebView.subproj/WebFrame.h: 26808 268092003-04-17 Richard Williamson <rjw@apple.com> 26810 26811 Drop down yet one more level to avoid intialization horkage. 26812 Call objc_getClass() instead of NSClassFromString(). 26813 26814 Reviewed by darin. 26815 26816 * WebView.subproj/WebHTMLViewPrivate.m: 26817 (+[WebHTMLView load]): 26818 268192003-04-17 Darin Adler <darin@apple.com> 26820 26821 Reviewed by John. 26822 26823 * WebView.subproj/WebDataProtocol.m: (+[NSURLRequest _webDataRequestURLForData:]): 26824 Register the WebDataProtocol here instead of doing it with a load method, since this 26825 is the bottleneck that must be used before that protocol is needed. It's good to have 26826 one less load method, and this may fix a problem reported by a Panther WebKit client 26827 on intrigue-dev too. 26828 268292003-04-16 Ken Kocienda <kocienda@apple.com> 26830 26831 Reviewed by Darin 26832 26833 Fixed call to load synchronous URL. Now conforms to new API 26834 which allows callers to access error object associated with 26835 the load. 26836 26837 * WebView.subproj/WebFramePrivate.m: 26838 (-[WebFrame _loadItem:withLoadType:]): 26839 268402003-04-16 Chris Blumenberg <cblu@apple.com> 26841 26842 - Progressively load plain text in our text view. 26843 - Fixed: 3177603 - vCards appear in browser, not downloaded 26844 26845 Reviewed by darin. 26846 26847 * WebView.subproj/WebTextRepresentation.m: 26848 (-[WebTextRepresentation setDataSource:]): added FIXME about document source of RTF not working 26849 (-[WebTextRepresentation receivedData:withDataSource:]): feed data to the text view, progressively for plain text 26850 * WebView.subproj/WebTextView.m: 26851 (+[WebTextView unsupportedTextMIMETypes]): include text/directory, another vcard MIME type 26852 (-[WebTextView setDataSource:]): do 1-time attribute settings 26853 (-[WebTextView dataSourceUpdated:]): do nothing 26854 268552003-04-16 Ken Kocienda <kocienda@apple.com> 26856 26857 Reviewed by David 26858 26859 Moved this NSURLProtocolClient implementor to API-approved 26860 interface. 26861 26862 * WebView.subproj/WebDataProtocol.m: 26863 (-[WebDataProtocol startLoading]): 26864 268652003-04-16 Ken Kocienda <kocienda@apple.com> 26866 26867 Fix deployment build breaker caused by uninitialized variable. 26868 26869 * WebView.subproj/WebViewPrivate.m: 26870 (-[WebView _loadBackForwardListFromOtherView:]): 26871 268722003-04-16 Darin Adler <darin@apple.com> 26873 26874 Reviewed by John. 26875 26876 - fixed 3226281 -- REGRESSION: crash in WebHTMLView removeMouseMovedObserver closing gist.com 26877 26878 * Plugins.subproj/WebPluginController.m: (-[WebPluginController showStatus:]): 26879 Use _webView instead of _controller. 26880 26881 * WebCoreSupport.subproj/WebTextRendererFactory.m: Remove stray semicolon. 26882 26883 * WebView.subproj/WebHTMLView.m: 26884 (-[WebHTMLView removeMouseMovedObserver]): Use _webView instead of _controller. 26885 (-[WebHTMLView menuForEvent:]): Ditto. 26886 (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto. 26887 * WebView.subproj/WebHTMLViewPrivate.h: Rename _controller to _webView. 26888 * WebView.subproj/WebHTMLViewPrivate.m: 26889 (-[WebHTMLView _webView]): Use _web_superviewOfClass to find the WebView. This dodges possible 26890 stale unretained pointer issues with getting the WebView through the WebFrame, which is what 26891 fixes the bug. 26892 (-[WebHTMLView _updateMouseoverWithEvent:]): Use _webView instead of _controller. 26893 (+[WebHTMLView _pasteboardTypes]): Put the types in order from most preferred to least. 26894 (-[WebHTMLView _writeSelectionToPasteboard:]): Ditto. 26895 268962003-04-15 Richard Williamson <rjw@apple.com> 26897 26898 Create the dictionary for volatile values. Without this fix 26899 values were never volatile! 26900 26901 Reviewed by mjs. 26902 26903 * WebView.subproj/WebPreferences.m: 26904 (-[WebPreferences _init]): 26905 (-[WebPreferences init]): 26906 (+[WebPreferences standardPreferences]): 26907 (-[WebPreferences dealloc]): 26908 269092003-04-15 Richard Williamson <rjw@apple.com> 26910 26911 Fix for 3226746. Remove some ancient and apparantly invalid cruft. 26912 26913 Reviewed by trey. 26914 26915 * WebView.subproj/WebFramePrivate.m: 26916 (-[WebFrame _setDataSource:]): 26917 269182003-04-15 Richard Williamson <rjw@apple.com> 26919 26920 Fixed clipping of progressive images to correctly clip. 26921 26922 Reviewed by darin. 26923 26924 * WebCoreSupport.subproj/WebImageRenderer.m: 26925 (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): 26926 269272003-04-15 Ken Kocienda <kocienda@apple.com> 26928 26929 Reviewed by Darin 26930 26931 Name change from WebCacheObject to NSCachedURLResponse. 26932 No functional changes. 26933 26934 * WebView.subproj/WebDataProtocol.m: 26935 (-[WebDataProtocol startLoadingWithCacheObject:]): 26936 269372003-04-15 Trey Matteson <trey@apple.com> 26938 26939 3227514 Open window in "Same Page" should copy entire back/forward list 26940 26941 New support to load a new view by copying the whole backforward 26942 list and driving the new view to the current item. 26943 26944 Reviewed by John. 26945 26946 * WebView.subproj/WebViewPrivate.h: 26947 * WebView.subproj/WebViewPrivate.m: 26948 (-[WebView _loadItem:]): Old routine, which only loaded an item. 26949 (-[WebView _loadItemsFromOtherView:]): New routine that does the works. 26950 269512003-04-15 Ken Kocienda <kocienda@apple.com> 26952 26953 Reviewed by John 26954 26955 Name change from WebProtocolClient to NSURLProtocolClient. 26956 No functional changes. 26957 26958 * WebView.subproj/WebDataProtocol.m: 26959 (-[WebDataProtocol startLoadingWithCacheObject:]): 26960 269612003-04-15 Ken Kocienda <kocienda@apple.com> 26962 26963 Reviewed by Darin 26964 26965 Name change from WebProtocol to NSURLProtocol. 26966 No functional changes. 26967 26968 * WebView.subproj/WebDataProtocol.h: 26969 * WebView.subproj/WebDataProtocol.m: 26970 (-[NSURLRequest _webDataRequestParametersForReading]): 26971 (-[NSURLRequest _webDataRequestParametersForWriting]): 26972 (+[WebDataProtocol load]): 26973 * WebView.subproj/WebFrame.m: 26974 269752003-04-14 Trey Matteson <trey@apple.com> 26976 26977 3009051 - Find on Page stops (once) at end of page, should wrap automatically WebKit 26978 3051546 - Find on Page doesn't work for frameset pages 26979 3058437 - can have a selection in two frames at the same time (problem for finding in frames) 26980 3097498 - Find Previous continues to "Find Next" until end of paragraph 3097507 - Find Next searches from previous find hit instead of current selection Primary changes here: I added a wrap flag to the searchFor method, which is needed to 26981 control how we search as we traverse the frame tree. A new method is added to WebView 26982 that knows about traversing the frame tree as we search. HTMLView and TextView both 26983 clear their selections when they lose first responder (see 3228554 for possible 26984 improvements to that change). 26985 26986 Reviewed by Maciej. 26987 26988 * Misc.subproj/WebSearchableTextView.m: 26989 Added wrap flag, pass on to TextView. 26990 Ensure we do some searching when we would previous get a zero range to search in. 26991 * WebView.subproj/WebDocument.h: 26992 * WebView.subproj/WebFramePrivate.h: 26993 * WebView.subproj/WebFramePrivate.m: 26994 These are all basic methods to support forwards and backwards traversal of 26995 the frame tree. Modeled after same methods we have for traversing the DOM. 26996 (-[WebFrame _nextSibling]): 26997 (-[WebFrame _previousSibling]): 26998 (-[WebFrame _lastChild]): 26999 (-[WebFrame _nextFrameWithWrap:]): 27000 (-[WebFrame _previousFrameWithWrap:]): 27001 * WebView.subproj/WebHTMLView.m: 27002 (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]): Added wrap flag, 27003 pass it to bridge. 27004 (-[WebHTMLView resignFirstResponder]): Clear selection when we lose firstResp. 27005 * WebView.subproj/WebTextView.m: 27006 (-[WebTextView resignFirstResponder]): Clear selection when we lose firstResp. 27007 * WebView.subproj/WebView.m: 27008 (-[WebView _currentFrame]): Return the frame holding the first responder. 27009 (-[WebView _searchFor:direction:caseSensitive:wrap:]): Main work: traverse the 27010 frame tree and drive the overall find. 27011 * WebView.subproj/WebViewPrivate.h: 27012 270132003-04-14 Chris Blumenberg <cblu@apple.com> 27014 27015 Log time spent loading each plug-in. 27016 27017 Reviewed by mjs. 27018 27019 * Misc.subproj/WebIconDatabase.m: 27020 (-[WebIconDatabase _iconsForIconURLString:]): fixed logging code 27021 (-[WebIconDatabase _scaleIcon:toSize:]): fixed logging code 27022 * Plugins.subproj/WebNetscapePluginPackage.m: 27023 (-[WebNetscapePluginPackage load]): log time spent loading a plug-in 27024 * Plugins.subproj/WebPluginController.m: 27025 (-[WebPluginController startAllPlugins]): only log if there are plug-ins to start 27026 (-[WebPluginController stopAllPlugins]): only log if there are plug-ins to stop 27027 (-[WebPluginController destroyAllPlugins]): only log if there are plug-ins to destroy 27028 270292003-04-13 Trey Matteson <trey@apple.com> 27030 27031 3150693 - open new window on "same page" doesn't give me the same frame content 27032 27033 The core is a new support method that loads a WebView given a HistoryItem, which 27034 thus restores all frames of that item, and optionally the form and scroll state. 27035 27036 * History.subproj/WebHistoryItem.m: 27037 (-[WebHistoryItem copyWithZone:]): Copy the docState, scrollPosition, isTargetItem. 27038 No good reason to have left these out when I wrote this method. 27039 * WebView.subproj/WebFramePrivate.h: 27040 * WebView.subproj/WebFramePrivate.m: 27041 (-[WebFrame _saveDocumentAndScrollState]): New method to run the frame tree and 27042 save all form/scroll state to the current item. 27043 * WebView.subproj/WebView.m: 27044 _goToItem:withLoadType: moved to WebViewPrivate.m 27045 * WebView.subproj/WebViewPrivate.h: 27046 * WebView.subproj/WebViewPrivate.m: 27047 (-[WebView _goToItem:withLoadType:]): Moved from WebView.m, no change. 27048 (-[WebView _loadItem:showingInView:]): New method to load the view with the item. 27049 270502003-04-12 Chris Blumenberg <cblu@apple.com> 27051 27052 Fixed: 3162338 - Embedding SVG with <object type="image/svg+xml"> doesn't work 27053 27054 Reviewed by dave. 27055 27056 * WebCoreSupport.subproj/WebImageRendererFactory.m: 27057 (-[WebImageRendererFactory supportedMIMETypes]): code moved from +[WebImageView supportedImageMIMETypes] 27058 * WebView.subproj/WebImageView.m: 27059 (+[WebImageView supportedImageMIMETypes]): return -[WebImageRendererFactory supportedMIMETypes] 27060 270612003-04-13 Maciej Stachowiak <mjs@apple.com> 27062 27063 Reviewed by Trey. 27064 27065 * WebView.subproj/WebDefaultWindowOperationsDelegate.m: 27066 (-[WebDefaultWindowOperationsDelegate webView:setContentRect:]): 27067 Implemented in terms of webView:setFrame: to save clients work. 27068 270692003-04-11 Chris Blumenberg <cblu@apple.com> 27070 27071 Removed WebKitErrorResourceLoadInterruptedByPolicyChange error because it isn't used. 27072 27073 Reviewed by john. 27074 27075 * Misc.subproj/WebKitErrors.h: 27076 * Misc.subproj/WebKitErrors.m: 27077 (registerErrors): 27078 * WebKit.pbproj/project.pbxproj: 27079 270802003-04-11 Trey Matteson <trey@apple.com> 27081 27082 3148002 - printing shouldn't depend on the size of the window 27083 27084 The basic strategy is copied from khtmlview's print method: We reset the width 27085 of the document to the paper width minus margins, and relayout before paginating 27086 and printing. 27087 27088 Reviewed by Richard. 27089 27090 * WebKit.pbproj/project.pbxproj: Someone is using an old version... 27091 * WebView.subproj/WebDynamicScrollBarsView.m: 27092 (-[WebDynamicScrollBarsView reflectScrolledClipView:]): Don't do the dynamic 27093 scrollbar update magic when printing. 27094 * WebView.subproj/WebHTMLView.m: 27095 (-[WebHTMLView layoutToPageWidth:]): New routine, basically the old layout 27096 method with a new parameter. If we're given an width, we call a different 27097 bridge method. 27098 (-[WebHTMLView layout]): Just call above method with width==0 27099 (-[WebHTMLView drawRect:]): Protect setting/resetting of graphics context and 27100 additional clip with a DURING/HANDLER. I saw an assertion failure that could 27101 be explained by this, so this is mostly a beartrap for that problem. 27102 (-[WebHTMLView _setPrinting:pageWidth:]): Pass page width through to others. 27103 (-[WebHTMLView beginDocument]): If we are not in a frame set, do a layout 27104 using the page width. 27105 (-[WebHTMLView endDocument]): Pass 0 to new pageWidth: arg. 27106 271072003-04-08 Trey Matteson <trey@apple.com> 27108 27109 3220349 - assertion failure in [WebFrame _recursiveGoToItem:...] hitting Back while loading movie 27110 27111 The problem was that when we go back we call stopLoading on the top frame, but 27112 that has a bogus optimization to not do any work if state=Completed. That is a 27113 bogus test if a subframe is doing a load. The fix is to just always tell the 27114 dataSources to stopLoading. They already bail quickly when they are not loading, 27115 so there is no significant additional cost. 27116 27117 Reviewed by Richard. 27118 27119 * WebView.subproj/WebFrame.m: 27120 (-[WebFrame stopLoading]): 27121 27122=== Safari-73 === 27123 271242003-04-10 Richard Williamson <rjw@apple.com> 27125 27126 Fixed 3219525 27127 27128 Our work-around for the CG pattern cache bogosity was always bypassed, 27129 consequently we'd unnecessarily burn lots of memory filling that cache. 27130 27131 Reviewed by mjs & gramps. 27132 27133 * WebCoreSupport.subproj/WebImageRenderer.m: 27134 (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): 27135 (-[WebImageRenderer tileInRect:fromPoint:]): 27136 271372003-04-10 Darin Adler (Maciej committing for Darin) <darin@apple.com> 27138 27139 Reviewed by Maciej. 27140 27141 - fixed 3225042 - MallocDebug shows "access after deallocated" problem in WebFrameView 27142 27143 * WebView.subproj/WebFrameView.m: 27144 (-[WebFrameView dealloc]): Nil out _private. 27145 (-[WebFrameView nextKeyView]): Check _private for nil. 27146 (-[WebFrameView previousKeyView]): Check _private for nil. 27147 271482003-04-10 Richard Williamson <rjw@apple.com> 27149 27150 Fix performance regression with iBench (post 71). The iBench cheat was being defeated. 27151 27152 Ensure that the layout timer is always invalidated when a frame completes 27153 or is cancelled. 27154 27155 Reviewed by mjs & gramps. 27156 27157 * WebView.subproj/WebFrame.m: 27158 (-[WebFrame stopLoading]): 27159 * WebView.subproj/WebFramePrivate.m: 27160 (-[WebFrame _setState:]): 27161 271622003-04-10 Trey Matteson <trey@apple.com> 27163 27164 3224973 - Safari sometimes stores data for AUTOCOMPLETE=OFF fields and password fields 27165 27166 Just glue for calling a new WC function. 27167 27168 Reviewed by Darin. 27169 27170 * WebView.subproj/WebHTMLRepresentation.h: 27171 * WebView.subproj/WebHTMLRepresentation.m: 27172 (-[WebHTMLRepresentation elementWithName:inForm:]): 27173 27174=== Safari-72 === 27175 271762003-04-10 Maciej Stachowiak <mjs@apple.com> 27177 27178 Reviewed by Chris. 27179 27180 - fixed 3224690 - REGRESSION: Download related errors aren't preserved across launches 27181 27182 * WebKit.pbproj/project.pbxproj: Install WebKitErrorsPrivate.h as SPI. 27183 271842003-04-10 Darin Adler <darin@apple.com> 27185 27186 Reviewed by Trey. 27187 27188 - fixed 3224622 -- REGRESSION: in an empty window, repeated tabs don't cycle back to location field 27189 27190 Added logic to WebFrameView's next/previous that matches the logic in WebHTMLView. 27191 Looking for a better solution some day to the whole nextKeyView thing. 27192 27193 * WebView.subproj/WebFrameView.m: 27194 (-[WebFrameView nextKeyView]): If being called from nextValidKeyView, return the nextKeyView 27195 of the WebView rather than of self. 27196 (-[WebFrameView previousKeyView]): Ditto. 27197 (-[WebFrameView nextValidKeyView]): Set the inNextValidKeyView flag. 27198 (-[WebFrameView previousValidKeyView]): Ditto. 27199 27200 * WebView.subproj/WebFrameViewPrivate.h: Add the inNextValidKeyView flag. 27201 272022003-04-10 Maciej Stachowiak <mjs@apple.com> 27203 27204 Reviewed by Darin. 27205 27206 Another launch time speedup - don't load the WebKit WebError 27207 strings until we actually make a WebKit error. This prevents the 27208 WebKit localized strings file from being loaded during normal startup. 27209 27210 * Downloads.subproj/WebDownload.m: 27211 (+[WebDownloadPrivate initialize]): Don't register WebKit errors. 27212 (-[WebDownload _errorWithCode:]): Use _webKitErrorWithCode:failingURL: 27213 * Misc.subproj/WebKitErrors.m: 27214 (+[WebError _webKitErrorWithCode:failingURL:]): Wrapper that registers the 27215 WebKit error codes first. 27216 * Misc.subproj/WebKitErrorsPrivate.h: 27217 * WebView.subproj/WebFramePrivate.m: 27218 (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]): Use 27219 _webKitErrorWithCode:failingURL: 27220 (-[WebFrame _loadItem:withLoadType:]): Use _webKitErrorWithCode:failingURL: 27221 * WebView.subproj/WebFrameView.m: 27222 * WebView.subproj/WebMainResourceClient.m: 27223 (-[WebMainResourceClient interruptForPolicyChangeError]): Use _webKitErrorWithCode:failingURL: 27224 272252003-04-10 Chris Blumenberg <cblu@apple.com> 27226 27227 Fixed: 3222896 - REGRESSION: sound plays after closing a window with a RealPlayer plug-in in it 27228 27229 Reviewed by darin. 27230 27231 * Plugins.subproj/WebBaseNetscapePluginView.m: 27232 (-[WebBaseNetscapePluginView viewDidMoveToHostWindow]): We were starting plug-in on window close because that's when the host window is set to nil. Just check if we now have a host window before we start. 27233 272342003-04-10 Darin Adler <darin@apple.com> 27235 27236 Reviewed by Trey. 27237 27238 - speed up startup by not calling [NSImage imageFileTypes] until we need to 27239 27240 * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge frameRequiredForMIMEType:]): 27241 Call _viewClassForMIMEType instead of _viewTypes, since _viewClassForMIMEType is now optimized 27242 by not loading the image types unless needed. 27243 27244 * WebView.subproj/WebDataSourcePrivate.m: 27245 (-[WebDataSource _representationClass]): Call _representationClassForMIMEType instead of 27246 _repTypes, since _representationClassForMIMEType is now optimized by not loading the image 27247 types unless needed. 27248 (+[WebDataSource _repTypesAllowImageTypeOmission:]): Added. Moved the guts of _repTypes 27249 in here. If you pass YES, doesn't bother adding the image types yet. 27250 (+[WebDataSource _repTypes]): Now calls _repTypesAllowImageTypeOmission:NO. 27251 (+[WebDataSource _representationClassForMIMEType:]): First try the dictionary without 27252 requiring the image types, then only in the case where we get nil, try with the image types. 27253 27254 * WebView.subproj/WebFrameViewPrivate.m: 27255 (-[WebFrameView _makeDocumentViewForDataSource:]): Call _viewClassForMIMEType instead of 27256 _viewTypes, since _viewClassForMIMEType is now optimized by not loading the image types 27257 unless needed. 27258 (+[WebFrameView _viewTypesAllowImageTypeOmission:]): Added. Moved the guts of _viewTypes 27259 in here. If you pass YES, doesn't bother adding the image types yet. 27260 (+[WebFrameView _viewTypes]): Now calls _viewTypesAllowImageTypeOmission:NO. 27261 (+[WebFrameView _viewClassForMIMEType:]): First try the dictionary without requiring 27262 the image types, then only in the case where we get nil, try with the image types. 27263 272642003-04-09 Trey Matteson <trey@apple.com> 27265 27266 3223413 - crash in [CompletionController controlTextDidChange] at travelocity.com 27267 27268 This was a great one to get steps for repro - it has shown up at least twice before. 27269 27270 The problem is that when there is a focused TextField within a frame, the proper 27271 FormDelegate messages were not being sent on refresh or b/f. The cause was that 27272 the FirstResponder would be reset in the middle of detaching the frame, at which point 27273 our object graph was already half taken apart. Fix is to detect that case before 27274 doing the detach work, and endEditing explicitly. 27275 27276 Reviewed by Darin. 27277 27278 * ChangeLog: 27279 * Misc.subproj/WebKitLogging.h: 27280 * Misc.subproj/WebKitLogging.m: New FormDelegate logging category. 27281 * WebCoreSupport.subproj/WebBridge.m: 27282 All changes in here are just calling LOG for the new category. 27283 (-[WebBridge controlTextDidBeginEditing:]): 27284 (-[WebBridge controlTextDidEndEditing:]): 27285 (-[WebBridge controlTextDidChange:]): 27286 (-[WebBridge control:textShouldBeginEditing:]): 27287 (-[WebBridge control:textShouldEndEditing:]): 27288 (-[WebBridge control:didFailToFormatString:errorDescription:]): 27289 (-[WebBridge control:didFailToValidatePartialString:errorDescription:]): 27290 (-[WebBridge control:isValidObject:]): 27291 (-[WebBridge control:textView:doCommandBySelector:]): 27292 * WebView.subproj/WebFramePrivate.m: 27293 (-[WebFrame _setDataSource:]): The fix, as described above. 27294 272952003-04-09 Richard Williamson <rjw@apple.com> 27296 27297 Fix for 3222904. This change fixes the immediate symptoms of the bug, 27298 but we need to come back to this issue after beta 2. Bug 3223929 captures 27299 the other problems. 27300 27301 Reviewed by gramps. 27302 27303 * WebView.subproj/WebDataSourcePrivate.h: 27304 * WebView.subproj/WebDataSourcePrivate.m: 27305 (-[WebDataSource __setRequest:]): 27306 (-[WebDataSource _setRequest:]): 27307 * WebView.subproj/WebFramePrivate.m: 27308 (-[WebFrame _shouldReloadForCurrent:andDestination:]): 27309 (-[WebFrame _loadItem:withLoadType:]): 27310 (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): 27311 273122003-04-09 Maciej Stachowiak <mjs@apple.com> 27313 27314 Reviewed by Chris, Trey, Darin and Don. 27315 27316 - fixed 3223568 - site icons lost when moving from older Safari to 71 27317 27318 * Misc.subproj/WebIconDatabase.m: 27319 (-[WebIconDatabase _createFileDatabase]): Rename old database containing directory to 27320 new, so we carry over old databases. The format is forward but not backward compatible. 27321 (-[WebIconDatabase _loadIconDictionaries]): Treat no version at all as version 1, so we 27322 can load old-style databases. 27323 27324 Reviewed by Trey. 27325 27326 * English.lproj/StringsNotToBeLocalized.txt: Updated. 273272003-04-09 Chris Blumenberg <cblu@apple.com> 27328 27329 Fixed: 3223022 - Plug-in content bleeds onto frontmost tab 27330 27331 Reviewed by darin. 27332 27333 * Plugins.subproj/WebBaseNetscapePluginView.m: 27334 (-[WebBaseNetscapePluginView viewDidMoveToWindow]): Explicitly call setWindow when the plug-in view is moved out of the window so it is clipped out of sight. 27335 273362003-04-08 Trey Matteson <trey@apple.com> 27337 27338 3221355 document is numb to clicks after going back 27339 27340 The layoutTimer now does a layout if the doc is in state Completed, 27341 in addition to LayoutAcceptable. 27342 27343 Reviewed by Richard. 27344 27345 * WebView.subproj/WebFramePrivate.m: 27346 (-[WebFrame _timedLayout:]): 27347 273482003-04-08 Chris Blumenberg <cblu@apple.com> 27349 27350 Fixed: 3221128 - Double grey lines on macromedia.com home page 27351 27352 Flash relies on the ordering of attributes in the EMBED tag (which is really stupid). salign must come after scale. 27353 Changed our plug-in API's to preserve orderings using arrays rather than lose orderings when using dictionaries. 27354 27355 Reviewed by trey. 27356 27357 * Plugins.subproj/WebBaseNetscapePluginView.h: 27358 * Plugins.subproj/WebBaseNetscapePluginView.m: 27359 * Plugins.subproj/WebNetscapePluginEmbeddedView.h: 27360 * Plugins.subproj/WebNetscapePluginEmbeddedView.m: 27361 (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:]): take attributeKeys and attributeValues instead of a dictionary 27362 * WebCoreSupport.subproj/WebBridge.m: 27363 (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): create attributeKeys and attributeValues to pass to the above method 27364 (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]): create attributeKeys and attributeValues to pass to the above method 27365 273662003-04-08 Chris Blumenberg <cblu@apple.com> 27367 27368 Fixed: 3220463 - REGRESSION: PDF viewer plug-in does not display (worked in 69 and previous) 27369 27370 Reviewed by darin. 27371 27372 * Plugins.subproj/WebNetscapePluginDocumentView.m: 27373 (-[WebNetscapePluginDocumentView didStart]): always call redeliverStream. Have WebNetscapePluginRepresentation determine if it actually needs to do that. 27374 * Plugins.subproj/WebNetscapePluginRepresentation.h: 27375 * Plugins.subproj/WebNetscapePluginRepresentation.m: 27376 (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): keep track of _dataLengthReceived which is independent of the data received by the data source 27377 (-[WebNetscapePluginRepresentation redeliverStream]): only redeliver the stream if _dataLengthReceived is greater than 0 27378 273792003-04-07 Chris Blumenberg <cblu@apple.com> 27380 27381 Fixed: 3206018 - REGRESSION: Clicks on the BBC news ticker applet don't open story in new window 27382 27383 MSIE and Netscape for Windows treat a nil target as _top. Since this is usually the target audience of applet developers, we will mimic this. This makes 3206018 behave as expected. 27384 27385 Reviewed by gramps. 27386 27387 * Plugins.subproj/WebPluginController.m: 27388 (-[WebPluginController showURL:inFrame:]): treat nil as _top. 27389 273902003-04-07 Richard Williamson <rjw@apple.com> 27391 27392 API conveniences for IB. 27393 27394 Reviewed by Maciej. 27395 27396 * WebView.subproj/WebView.h: 27397 * WebView.subproj/WebView.m: 27398 (-[WebView canGoBack]): 27399 (-[WebView canGoForward]): 27400 (-[WebView reload:]): 27401 (-[WebView canMakeTextSmaller]): 27402 (-[WebView canMakeTextLarger]): 27403 (-[WebView makeTextSmaller:]): 27404 (-[WebView makeTextLarger:]): 27405 274062003-04-07 Richard Williamson <rjw@apple.com> 27407 27408 Fix for 3220988. Cancel frame load if it's detached before 27409 finished loading. 27410 27411 Reviewed by Maciej. 27412 27413 * WebCoreSupport.subproj/WebBridge.m: 27414 (-[WebBridge frameDetached]): 27415 * WebView.subproj/WebFrame.h: 27416 * WebView.subproj/WebFramePrivate.h: 27417 * WebView.subproj/WebFramePrivate.m: 27418 (-[WebFrame _removeChild:]): 27419 274202003-04-07 Maciej Stachowiak <mjs@apple.com> 27421 27422 Reviewed by Richard. 27423 27424 - fixed 3219584 - REGRESSION: launch times appear slower in v71 27425 27426 * WebView.subproj/WebView.m: 27427 (+[WebView canShowMIMEType:]): Avoid loading plugin database if we 27428 can find a view without doing so. 27429 274302003-04-07 Darin Adler <darin@apple.com> 27431 27432 * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated. 27433 When I landed my last change to the .gperf file I forgot to land this. 27434 27435=== Safari-71 === 27436 274372003-04-04 Darin Adler <darin@apple.com> 27438 27439 Reviewed by Ken. 27440 27441 - fixed 3217687 -- REGRESSION: printing uses widths from screen fonts, messing up layout 27442 27443 * WebCoreSupport.subproj/WebTextRendererFactory.m: Removed now-unused rendererWithFont: 27444 which called, the now-removed usingPrinterFonts method. WebCore now calls the one with 27445 the usingPrinterFont parameter. 27446 27447 * WebView.subproj/WebHTMLView.m: 27448 (-[WebHTMLView drawRect:]): Remove setUsingPrinterFonts: calls. This is now handled by the 27449 document on the WebCore side. 27450 (-[WebHTMLView _setPrinting:]): Ditto. 27451 274522003-04-04 Maciej Stachowiak <mjs@apple.com> 27453 27454 Reviewed by Trey. 27455 27456 - fixed 3188914 - loop checking for Flash at http://www.scottsmind.com/celebrity_defacer/index.php 27457 * Plugins.subproj/WebBaseNetscapePluginView.m: 27458 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Take a mutable request, 27459 and make sure to set referrer to the frame URL (as other browsers do). 27460 (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]): pass an NSMutableURLRequest. 27461 (-[WebBaseNetscapePluginView getURL:target:]): Likewise. 27462 (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]): 27463 If the plug-in passes a Content-Length header, take it out of the 27464 headers and truncate the content appropriately to make 27465 WebFoundation happy. 27466 274672003-04-03 Richard Williamson <rjw@apple.com> 27468 27469 Fix checks for about: to avoid using our 'fake' request when 27470 using WebDataProtocol. This fixes the assertion in the Snippet 27471 Editor. 27472 27473 Reviewed by mjs. 27474 27475 * WebView.subproj/WebMainResourceClient.m: 27476 (-[WebMainResourceClient continueAfterContentPolicy:response:]): 27477 274782003-04-03 Trey Matteson <trey@apple.com> 27479 27480 3218212 REGRESSION: page on screen draws ugly while printing is happening 27481 27482 Turn autodisplay of the window off while we print. 27483 27484 Reviewed by Darin. 27485 27486 * WebView.subproj/WebHTMLView.m: 27487 (-[WebHTMLView beginDocument]): Turn it off. 27488 (-[WebHTMLView endDocument]): and back on. 27489 274902003-04-03 Maciej Stachowiak <mjs@apple.com> 27491 27492 Reviewed by Trey. 27493 27494 - removed no-longer forwarding of become/resignFirstResponder 27495 * WebView.subproj/WebHTMLViewPrivate.m: Removed 27496 become/resignFirstResponder poses for WebNSTextView. 27497 274982003-04-03 Maciej Stachowiak <mjs@apple.com> 27499 27500 Reviewed by Richard and Don. 27501 27502 - fixed 3218262 - REGRESSION: Page address becomes about:blank when command-clicking bookmark to load tab 27503 27504 * WebView.subproj/WebDataProtocol.m: 27505 (-[NSURLRequest _webDataRequestParametersForWriting]): Renamed 27506 from _webDataRequestParameters. 27507 (-[NSURLRequest _webDataRequestParametersForReading]): Like the 27508 above, but make sure nto to create the part if it does not exist. 27509 (-[NSURLRequest _webDataRequestData]): Use _webDataRequestParametersForReading. 27510 (-[NSURLRequest _webDataRequestEncoding]): Likewise. 27511 (-[NSURLRequest _webDataRequestBaseURL]): Likewise. 27512 (-[NSURLRequest _webDataRequestSetData:]):Use _webDataRequestParametersForWriting. 27513 (-[NSURLRequest _webDataRequestSetEncoding:]): Likewise. 27514 (-[NSURLRequest _webDataRequestSetBaseURL:]): Likewise. 27515 (-[NSURLRequest _webDataRequestExternalRequest]): Use _webDataRequestParametersForReading. 27516 275172003-04-03 Richard Williamson <rjw@apple.com> 27518 27519 Tweaks to minimize access to the parts of a WebDataRequest 27520 that turn out to be slow. Although we've changed NSURLRequest 27521 to be faster, it's still good to keep these tweaks. 27522 27523 Reviewed by ken. 27524 27525 * WebView.subproj/WebBaseResourceHandleDelegate.m: 27526 (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): 27527 (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): 27528 * WebView.subproj/WebDataProtocol.h: 27529 * WebView.subproj/WebDataProtocol.m: 27530 (-[NSURLRequest _webDataRequestExternalRequest]): 27531 (+[WebDataProtocol canHandleURL:]): 27532 * WebView.subproj/WebDataSource.m: 27533 (-[WebDataSource request]): 27534 275352003-04-03 Trey Matteson <trey@apple.com> 27536 27537 3067928 - printing should not break lines in half 27538 27539 This is just glue to call the right piece in WebCore. 27540 27541 Reviewed by Darin. 27542 27543 (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): 27544 Defer to WebCore to set pagination boundary. 27545 275462003-04-03 Richard Williamson <rjw@apple.com> 27547 27548 As requested by Nancy, drop "Is" and "Are" from setters, 27549 but leave them in place on the getters. 27550 27551 Reviewed by cblu. 27552 27553 * WebView.subproj/WebPreferences.h: 27554 * WebView.subproj/WebPreferences.m: 27555 (-[WebPreferences setJavaEnabled:]): 27556 (-[WebPreferences setJavaScriptEnabled:]): 27557 (-[WebPreferences setPlugInsEnabled:]): 27558 275592003-04-03 Darin Adler <darin@apple.com> 27560 27561 Reviewed by Ken. 27562 27563 - remove spoof entries as decided in meeting with Don, Dave, Mark Malone 27564 27565 * WebView.subproj/WebUserAgentSpoofTable.gperf: Remove battle.net because it's only there to 27566 make Darin happy, and the site works fine without it. Remove pier1.com and disney.go.com because 27567 we want to try evangelism first in both those cases, and having a released version where the 27568 site works weakens our evangelism efforts. 27569 27570 * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated. 27571 27572 - disable workaround for Panther bug in Panther builds 27573 27574 * Misc.subproj/WebNSImageExtras.m: (-[NSImage _web_dissolveToFraction:]): Add ifdefs. 27575 275762003-04-02 Maciej Stachowiak <mjs@apple.com> 27577 27578 Reviewed by Trey. 27579 27580 - fixed 3213556 - VIP: parent.mainFrameWidth=undefined on page refresh results in missing content 27581 27582 * WebView.subproj/WebFramePrivate.m: 27583 (-[WebFrame _loadItem:withLoadType:]): When reload or going back/forward, 27584 make sure to load the original URL of the item, not it's most recent URL. 27585 (-[WebFrame _loadURL:intoChild:]): Likewise. 27586 275872003-04-02 Richard Williamson <rjw@apple.com> 27588 27589 Raise exceptions when these methods are called inappropriately. 27590 27591 Reviewed by Trey. 27592 27593 * History.subproj/WebBackForwardList.m: 27594 (-[WebBackForwardList goBack]): 27595 (-[WebBackForwardList goForward]): 27596 (-[WebBackForwardList goToItem:]): 27597 275982003-04-02 Richard Williamson <rjw@apple.com> 27599 27600 Added new API on WebFrame, loadData: and loadString: 27601 27602 Reviewed by Maciej. 27603 27604 Fixed loading of cocoa plugins. 27605 27606 Reviewed by Chris. 27607 27608 * History.subproj/WebBackForwardList.m: 27609 (-[WebBackForwardList _entries]): 27610 * Plugins.subproj/WebBasePluginPackage.h: 27611 * Plugins.subproj/WebBasePluginPackage.m: 27612 (-[WebBasePluginPackage bundle]): 27613 * Plugins.subproj/WebPluginDatabase.h: 27614 * Plugins.subproj/WebPluginDatabase.m: 27615 (-[WebPluginDatabase init]): 27616 (-[WebPluginDatabase loadPluginIfNeededForMIMEType:]): 27617 (-[WebPluginDatabase dealloc]): 27618 * WebKit.pbproj/project.pbxproj: 27619 * WebView.subproj/WebBaseResourceHandleDelegate.m: 27620 (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): 27621 (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): 27622 * WebView.subproj/WebDataProtocol.h: Added. 27623 * WebView.subproj/WebDataProtocol.m: Added. 27624 (-[WebDataRequestParameters copyWithZone:]): 27625 (-[WebDataRequestParameters mutableCopyWithZone:]): 27626 (-[WebDataRequestParameters dealloc]): 27627 (+[NSURLRequest _webDataRequestURLForData:]): 27628 (-[NSURLRequest _webDataRequestParameters]): 27629 (-[NSURLRequest _webDataRequestData]): 27630 (-[NSURLRequest _webDataRequestSetData:]): 27631 (-[NSURLRequest _webDataRequestEncoding]): 27632 (-[NSURLRequest _webDataRequestSetEncoding:]): 27633 (-[NSURLRequest _webDataRequestBaseURL]): 27634 (-[NSURLRequest _webDataRequestSetBaseURL:]): 27635 (-[NSURLRequest _webDataRequestExternalRequest]): 27636 (+[WebDataProtocol load]): 27637 (+[WebDataProtocol doesURLHaveInternalDataScheme:]): 27638 (+[WebDataProtocol canHandleURL:]): 27639 (+[WebDataProtocol canonicalURLForURL:]): 27640 (-[WebDataProtocol startLoadingWithCacheObject:]): 27641 (-[WebDataProtocol stopLoading]): 27642 * WebView.subproj/WebDataSource.m: 27643 (-[WebDataSource initialRequest]): 27644 (-[WebDataSource request]): 27645 * WebView.subproj/WebDataSourcePrivate.m: 27646 (-[WebDataSource _commitIfReady:]): 27647 * WebView.subproj/WebFrame.h: 27648 * WebView.subproj/WebFrame.m: 27649 (-[WebFrame loadRequest:]): 27650 (-[WebFrame loadString:baseURL:]): 27651 * WebView.subproj/WebFramePrivate.m: 27652 (-[WebFrame _addBackForwardItemClippedAtTarget:]): 27653 (-[WebFrame _transitionToCommitted:]): 27654 * WebView.subproj/WebFrameViewPrivate.m: 27655 (-[WebFrameView _makeDocumentViewForDataSource:]): 27656 * WebView.subproj/WebView.m: 27657 (+[WebView canShowMIMEType:]): 27658 276592003-04-02 Maciej Stachowiak <mjs@apple.com> 27660 27661 Reviewed by Ken. 27662 27663 - fixed 3177183 - disneyland.com says "500 Internal Server Error" 27664 27665 * WebView.subproj/WebUserAgentSpoofTable.gperf: Spoof as Mac IE 27666 for disney.go.com 27667 * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated. 27668 276692003-04-02 Richard Williamson <rjw@apple.com> 27670 27671 Reviewed by john. 27672 27673 * WebView.subproj/WebPreferences.h: 27674 (-[WebPreferences setUserStyleSheetLocation:]): Cleaned up arg and comment. 27675 276762003-04-02 Richard Williamson <rjw@apple.com> 27677 27678 Fix for 3200447. Use class_pose to pose so as to avoid 27679 indirect invocation of appkit class initializers. 27680 27681 Reviewed by darin. 27682 27683 * WebView.subproj/WebHTMLViewPrivate.m: 27684 (+[WebHTMLView load]): 27685 276862003-04-02 Richard Williamson <rjw@apple.com> 27687 27688 Removed private headers. 27689 27690 Reviewed by john. 27691 27692 * Misc.subproj/WebKit.h: 27693 276942003-04-01 Trey Matteson <trey@apple.com> 27695 27696 3174227 - aggressive caching of generated pages causes problems with WIKI 27697 27698 We decided to fix half the observed behavior, as all the bad behavior is 27699 arguably due to a mis-configured server (that sets a max-age=60 on 27700 all its pages). 27701 27702 The fix is that when a redirect comes in response to a POST we force a 27703 load from origin, since this is a common technique sites do to prevent 27704 a post from ending up in the b/f list, and it is very likely you are 27705 on your way back to look at data that you believe you just edited. 27706 27707 Reviewed by Ken. 27708 27709 * WebView.subproj/WebFramePrivate.m: 27710 (-[WebFrame _loadItem:withLoadType:]): Nit cleanup. Remove unused arg. 27711 (-[WebFrame _recursiveGoToItem:fromItem:withLoadType:]): 27712 Same nit cleanup. 27713 * WebView.subproj/WebMainResourceClient.m: 27714 (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]): 27715 Force loadFromOrigin if we have a redirect in response to a POST. 27716 * WebView.subproj/WebResourceLoadDelegate.h: 27717 Add headerdoc comment for redirectResponse param. 27718 277192003-04-01 Maciej Stachowiak <mjs@apple.com> 27720 27721 Reviewed by Richard. 27722 27723 - fixed 3214748 - REGRESSION: After using latest Safari for awhile, can't launch older Safaris (icon db problem) 27724 27725 * Misc.subproj/WebIconDatabase.m: 27726 Changed icon cache path, since we are breaking compatibility and the old version 27727 does not support versioning. 27728 (-[WebIconDatabase _loadIconDictionaries]): Check version. 27729 (-[WebIconDatabase _updateFileDatabase]): Save version. 27730 277312003-04-01 Ken Kocienda <kocienda@apple.com> 27732 27733 Reviewed by Darin 27734 27735 NSURLConnectionDelegate is no longer a formal protocol. 27736 27737 NSURLConnection no longer has a loadWithDelegate: method. Loads 27738 start implicitly at init time. Some clients have been updated 27739 to call the willSendRequest:redirectResponse: callback manually 27740 since this callback is no longer sent for initial loads. 27741 27742 * Downloads.subproj/WebDownload.m: 27743 (-[WebDownload initWithRequest:]): 27744 (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): 27745 (-[WebDownload loadWithDelegate:]): 27746 * Misc.subproj/WebIconLoader.h: 27747 * Misc.subproj/WebIconLoader.m: 27748 (-[WebIconLoader startLoading]): 27749 * WebView.subproj/WebBaseResourceHandleDelegate.h: 27750 * WebView.subproj/WebBaseResourceHandleDelegate.m: 27751 (-[WebBaseResourceHandleDelegate loadWithRequest:]): 27752 * WebView.subproj/WebMainResourceClient.h: 27753 * WebView.subproj/WebMainResourceClient.m: 27754 (-[WebMainResourceClient loadWithRequest:]): 27755 (-[WebResourceDelegateProxy setDelegate:]): 27756 277572003-04-01 Darin Adler <darin@apple.com> 27758 27759 Reviewed by John. 27760 27761 - fixed 3213918 -- REGRESSION: printing Mapquest directions, screen font is used, causing exception, crashes 27762 - fixed 3144287 -- CSS with media=print not used when printing 27763 27764 * WebView.subproj/WebFramePrivate.m: (-[WebFrame _opened]): Don't call the reapplyStyles 27765 method directly here, use setNeedsToApplyStyles instead. 27766 * WebView.subproj/WebHTMLView.m: 27767 (-[WebHTMLView reapplyStyles]): Pass the appropriate device type here. 27768 (-[WebHTMLView drawRect:]): Don't call setUsingPrinterFonts:NO at the end of this method 27769 if we were already using printer fonts at the start. This was the bug fix. 27770 (-[WebHTMLView _setPrinting:]): Renamed from _setUsingPrinterFonts since this now controls 27771 the styles used too, not just the fonts. 27772 (-[WebHTMLView beginDocument]): Updated for _setPrinting name change. 27773 (-[WebHTMLView endDocument]): Ditto. 27774 * WebView.subproj/WebHTMLViewPrivate.h: Renamed "usingPrinterFonts" field to "printing". 27775 277762003-04-01 Richard Williamson <rjw@apple.com> 27777 27778 Fixed ~2% performance regression problem. The regression 27779 was caused by the allocation of a forwarder on every 27780 delegate callback. Modified code to only create forwarders once, 27781 and reset when delegates change. 27782 27783 Reviewed by Ken. 27784 27785 * WebCoreSupport.subproj/WebBridge.m: 27786 (-[WebBridge objectLoadedFromCacheWithURL:response:size:]): 27787 * WebView.subproj/WebBaseResourceHandleDelegate.h: 27788 * WebView.subproj/WebBaseResourceHandleDelegate.m: 27789 (-[WebBaseResourceHandleDelegate setDataSource:]): 27790 (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): 27791 (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): 27792 (-[WebBaseResourceHandleDelegate connection:didReceiveData:]): 27793 (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): 27794 * WebView.subproj/WebView.m: 27795 (-[WebView setWindowOperationsDelegate:]): 27796 (-[WebView setResourceLoadDelegate:]): 27797 (-[WebView setContextMenuDelegate:]): 27798 (-[WebView setPolicyDelegate:]): 27799 (-[WebView setLocationChangeDelegate:]): 27800 * WebView.subproj/WebViewPrivate.h: 27801 * WebView.subproj/WebViewPrivate.m: 27802 (-[WebViewPrivate dealloc]): 27803 (-[WebView _locationChangeDelegateForwarder]): 27804 (-[WebView _resourceLoadDelegateForwarder]): 27805 (-[WebView _cacheResourceLoadDelegateImplementations]): 27806 (-[WebView _resourceLoadDelegateImplementations]): 27807 (-[WebView _policyDelegateForwarder]): 27808 (-[WebView _contextMenuDelegateForwarder]): 27809 (-[WebView _windowOperationsDelegateForwarder]): 27810 (-[_WebSafeForwarder forwardInvocation:]): 27811 27812 * API-Issues.rtf: 27813 Notes to self. 27814 278152003-04-01 Darin Adler <darin@apple.com> 27816 27817 * English.lproj/StringsNotToBeLocalized.txt: Allowed update-alex-localizable-strings 27818 to sort this file. 27819 278202003-03-31 Trey Matteson <trey@apple.com> 27821 27822 3212724 - bookmarks and history items have screwed up designated inits 27823 27824 and support code for: 27825 3116315 - autocomplete needs some prioritization magic 27826 27827 The main changes are adding and maintaining a visitCount to the HistoryItem, 27828 cleaning up the init methods of HistoryItem. Also lastVisitedDate is now 27829 set explicitly instead of automatically getting the current date. 27830 27831 Reviewed by John. 27832 27833 * History.subproj/WebHistory.m: 27834 (-[WebHistory addItemForURL:]): Set lastVisitedDate of new item. 27835 (-[WebHistory _itemForURLString:]): New helper routine. 27836 * History.subproj/WebHistoryItem.h: Conform to NSCopying. 27837 * History.subproj/WebHistoryItem.m: 27838 (-[WebHistoryItem init]): Behave like a designated initializer. 27839 (-[WebHistoryItem copyWithZone:]): New. 27840 (-[WebHistoryItem initWithURL:title:]): Call the designated initializer. 27841 (-[WebHistoryItem initWithURL:target:parent:title:]): Call the designated initializer. 27842 Don't blindly init lastVisitedDate. 27843 (-[WebHistoryItem setLastVisitedDate:]): Update visitCount too. 27844 (-[WebHistoryItem visitCount]): New getter. 27845 (-[WebHistoryItem setVisitCount:]): New setter. 27846 (-[WebHistoryItem _mergeAutoCompleteHints:]): Combine autocomplete info 27847 of two items. Used when one item replaces another in the history. 27848 (-[WebHistoryItem dictionaryRepresentation]): Write visitCount. 27849 (-[WebHistoryItem initFromDictionaryRepresentation:]): Read visitCount. 27850 * History.subproj/WebHistoryItemPrivate.h: 27851 * History.subproj/WebHistoryPrivate.h: 27852 * History.subproj/WebHistoryPrivate.m: 27853 (-[WebHistoryPrivate addItem:]): Merge autocomplete date from old item to new. 27854 (-[WebHistoryPrivate itemForURLString:]): s/entry/item/ 27855 (-[WebHistoryPrivate containsItemForURLString:]): s/entry/item/ 27856 (-[WebHistoryPrivate containsURL:]): s/entry/item/ 27857 (-[WebHistoryPrivate itemForURL:]): s/entry/item/ 27858 (-[WebHistoryPrivate _loadHistoryGuts:]): Skip history items without visitDate. 27859 * WebView.subproj/WebFramePrivate.m: 27860 (-[WebFrame _transitionToCommitted:]): Update last visitTime when we revisit 27861 the same URL (since no new history item is created). 27862 278632003-03-31 Richard Williamson <rjw@apple.com> 27864 27865 Fixed 3213637. We weren't calling the correct delegate method, 27866 setStatus: instead of webView:setStatus: 27867 27868 Reviewed by darin. 27869 27870 * Plugins.subproj/WebBaseNetscapePluginView.m: 27871 (-[WebBaseNetscapePluginView status:]): 27872 278732003-03-31 Maciej Stachowiak <mjs@apple.com> 27874 27875 Reviewed by Chris. 27876 27877 - fixed 3210813 - REGRESSION: full size stock chart on etrade shows up empty after viewing mini stock chart 27878 27879 I fixed this by adding a "negative cache" of icon URLs that loaded 27880 something but failed to yield an icon. This prevents us from 27881 asking for the site icon over and over, which was messing up the 27882 session cookie. 27883 * Misc.subproj/WebIconDatabase.m: 27884 (-[WebIconDatabase init]): 27885 (-[WebIconDatabase iconForURL:withSize:cache:]): 27886 (-[WebIconDatabase _updateFileDatabase]): 27887 (-[WebIconDatabase _iconsForIconURLString:]): 27888 (-[WebIconDatabase _setHaveNoIconForIconURL:]): 27889 (-[WebIconDatabase _releaseIconForIconURLString:]): 27890 * Misc.subproj/WebIconDatabasePrivate.h: 27891 * Misc.subproj/WebIconLoader.h: 27892 * Misc.subproj/WebIconLoader.m: 27893 (-[WebIconLoader startLoading]): 27894 (-[WebIconLoader connectionDidFinishLoading:]): 27895 * WebView.subproj/WebDataSourcePrivate.m: 27896 (-[WebDataSource _iconLoaderReceivedPageIcon:]): 27897 278982003-03-31 Darin Adler <darin@apple.com> 27899 27900 * English.lproj/InfoPlist.strings: Changed "1.0 Beta" to "1.0 Beta 2". 27901 * WebKit.pbproj/project.pbxproj: Changed "1.0 Beta" to "1.0 Beta 2". 27902 27903 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 27904 27905 * English.lproj/Localizable.strings: Regenerated (new script, "1.0 Beta 2"). 27906 279072003-03-31 Richard Williamson <rjw@apple.com> 27908 27909 Reviewed by darin. 27910 27911 * History.subproj/WebHistory.h: 27912 Added use of WebHistoryItemsKey instead of @"Entries". 27913 27914 * History.subproj/WebHistory.m:(-[WebHistory _sendNotification:entries:]): 27915 Use WebHistoryItemsKey as key instead of @"Entries". 27916 27917 * History.subproj/WebHistoryItem.m: (-[WebHistoryItem init]): 27918 Fix double allocation of WebHistoryPrivate. 27919 27920 * WebKit/WebKit.exp 27921 Added export for WebHistoryItemsKey 27922 27923 * WebKit/API-Issues.rtf 27924 Notes. 27925 279262003-03-31 Darin Adler <darin@apple.com> 27927 27928 Reviewed by Chris. 27929 27930 - improved default behaviors in window operations delegate 27931 27932 * WebView.subproj/WebDefaultWindowOperationsDelegate.m: 27933 (-[WebDefaultWindowOperationsDelegate webViewShowWindowBehindFrontmost:]): Removed unused method. 27934 (-[WebDefaultWindowOperationsDelegate webViewCloseWindow:]): Added default implementation, calls close on window. 27935 (-[WebDefaultWindowOperationsDelegate webViewFocusWindow:]): Added default implementation, makeKeyAndOrderFront. 27936 (-[WebDefaultWindowOperationsDelegate webViewUnfocusWindow:]): Added default implementation, uses _cycleWindowsReversed as needed. 27937 (-[WebDefaultWindowOperationsDelegate webViewFirstResponderInWindow:]): Added default implementation, calls firstResponder. 27938 (-[WebDefaultWindowOperationsDelegate webView:makeFirstResponderInWindow:]): Added default implementation, calls makeFirstResponder. 27939 (-[WebDefaultWindowOperationsDelegate webViewIsResizable:]): Added default implementation, calls showsResizeIndicator. 27940 (-[WebDefaultWindowOperationsDelegate webView:setResizable:]): Added default implementation, calls setShowsResizeIndicator. 27941 (-[WebDefaultWindowOperationsDelegate webView:setFrame:]): Use display:YES, not display:NO. 27942 (-[WebDefaultWindowOperationsDelegate webViewFrame:]): Return NSZeroRect if window is nil instead of random garbage. 27943 (-[WebDefaultWindowOperationsDelegate webView:setContentRect:]): Use display:YES, not display:NO. 27944 (-[WebDefaultWindowOperationsDelegate webViewContentRect:]): Return NSZeroRect if window is nil instead of random garbage. 27945 (-[WebDefaultWindowOperationsDelegate webView: runJavaScriptAlertPanelWithMessage:]): Added a FIXME because we should have a default implementation here. 27946 (-[WebDefaultWindowOperationsDelegate webView:runJavaScriptConfirmPanelWithMessage:]): Ditto. 27947 (-[WebDefaultWindowOperationsDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:]): Put a default implementation here. 27948 (-[WebDefaultWindowOperationsDelegate webView:runOpenPanelForFileButtonWithResultListener:]): Added a FIXME because we should have a default implementation here. 27949 279502003-03-29 Chris Blumenberg <cblu@apple.com> 27951 27952 Fixed: 3178058 - Plug-ins are stopped/reloaded when switching tabs 27953 Made the "Enable plug-ins" preference toggle in real-time again. 27954 27955 No events including null events are sent when a plug-in is in a non-frontmost tab. This causes Flash movies to pause (which is nice) and QT movies to continue to play. 27956 27957 Reviewed by darin. 27958 27959 * Plugins.subproj/WebBaseNetscapePluginView.h: 27960 * Plugins.subproj/WebBaseNetscapePluginView.m: 27961 (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): use the current window, clip out the plug-in when not in an actual window 27962 (-[WebBaseNetscapePluginView restorePortState:]): use the current window 27963 (-[WebBaseNetscapePluginView sendEvent:]): added asserts 27964 (-[WebBaseNetscapePluginView sendActivateEvent:]): tweak 27965 (-[WebBaseNetscapePluginView sendNullEvent]): tweak 27966 (-[WebBaseNetscapePluginView restartNullEvents]): tweak 27967 (-[WebBaseNetscapePluginView isInResponderChain]): tweak 27968 (-[WebBaseNetscapePluginView performKeyEquivalent:]): tweak 27969 (-[WebBaseNetscapePluginView canStart]): new, implemented by subclasses 27970 (-[WebBaseNetscapePluginView didStart]): new, implemented by subclasses 27971 (-[WebBaseNetscapePluginView addWindowObservers]): new 27972 (-[WebBaseNetscapePluginView removeWindowObservers]): new 27973 (-[WebBaseNetscapePluginView start]): check pref, call canStart, addWindowObservers and didStart 27974 (-[WebBaseNetscapePluginView stop]): call removeWindowObservers 27975 (-[WebBaseNetscapePluginView currentWindow]): new, returns the actual window else the host window 27976 (-[WebBaseNetscapePluginView initWithFrame:]): observer pref change notifications 27977 (-[WebBaseNetscapePluginView dealloc]): call removeObserver 27978 (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): stop if there is no host window 27979 (-[WebBaseNetscapePluginView viewDidMoveToWindow]): start if we moved to a window 27980 (-[WebBaseNetscapePluginView viewWillMoveToHostWindow:]): stop if there will be no windows 27981 (-[WebBaseNetscapePluginView viewDidMoveToHostWindow]): start if there is a window 27982 (-[WebBaseNetscapePluginView preferencesHaveChanged:]): renamed, start or stop 27983 (-[WebBaseNetscapePluginView destroyStream:reason:]): tweak 27984 (-[NSData _web_locationAfterFirstBlankLine]): tweak 27985 * Plugins.subproj/WebNetscapePluginDocumentView.m: 27986 (-[WebNetscapePluginDocumentView initWithFrame:]): call setAutoresizingMask here 27987 (-[WebNetscapePluginDocumentView canStart]): new, return YES if there is a data source 27988 (-[WebNetscapePluginDocumentView didStart]): redeliver the stream if there is any data 27989 (-[WebNetscapePluginDocumentView setDataSource:]): start if there is a current window 27990 (-[WebNetscapePluginDocumentView layout]): no need to call setWindow, this is done in the superclass 27991 (-[WebNetscapePluginDocumentView viewWillMoveToHostWindow:]): forward to super to make compiler happy 27992 (-[WebNetscapePluginDocumentView viewDidMoveToHostWindow]): forward to super to make compiler happy 27993 * Plugins.subproj/WebNetscapePluginEmbeddedView.m: 27994 (-[WebNetscapePluginEmbeddedView didStart]): start the load 27995 (-[WebNetscapePluginEmbeddedView dataSource]): tweak 27996 * WebView.subproj/WebDocument.h: added viewWillMoveToHostWindow: and viewDidMoveToHostWindow 27997 * WebView.subproj/WebFramePrivate.h: 27998 * WebView.subproj/WebFramePrivate.m: 27999 (-[WebFrame _viewWillMoveToHostWindow:]): forward to document view and subframes 28000 (-[WebFrame _viewDidMoveToHostWindow]): forward to document view and subframes 28001 * WebView.subproj/WebHTMLView.m: 28002 (-[WebHTMLView viewWillMoveToHostWindow:]): forward to plug-in views 28003 (-[WebHTMLView viewDidMoveToHostWindow]): forward to plug-in views 28004 (-[NSArray _web_makePluginViewsPerformSelector:withObject:]): new 28005 * WebView.subproj/WebHTMLViewPrivate.m: 28006 (-[WebHTMLView _reset]): don't stop plug-ins here. WebBaseNetscapePluginView can handle that 28007 * WebView.subproj/WebImageView.m: 28008 (-[WebImageView viewWillMoveToHostWindow:]): implement new WebDocumentView methods 28009 (-[WebImageView viewDidMoveToHostWindow]): implement new WebDocumentView methods 28010 * WebView.subproj/WebTextView.m: 28011 (-[WebTextView viewWillMoveToHostWindow:]): implement new WebDocumentView methods 28012 (-[WebTextView viewDidMoveToHostWindow]): implement new WebDocumentView methods 28013 * WebView.subproj/WebView.h: 28014 * WebView.subproj/WebView.m: 28015 (-[WebView setHostWindow:]): new 28016 (-[WebView hostWindow]): new 28017 * WebView.subproj/WebViewPrivate.h: 28018 * WebView.subproj/WebViewPrivate.m: 28019 (-[WebViewPrivate dealloc]): release the host window 28020 280212003-03-31 Darin Adler <darin@apple.com> 28022 28023 Reviewed by John. 28024 28025 * WebCoreSupport.subproj/WebBridge.m: 28026 (-[WebBridge nextKeyViewOutsideWebFrameViews]): Get next key view from WebView, only using 28027 the top level WebFrameView if the WebView doesn't have one set (for compatibility in case 28028 some of our current WebKit clients are using this). 28029 (-[WebBridge previousKeyViewOutsideWebFrameViews]): Ditto. 28030 280312003-03-31 Darin Adler <darin@apple.com> 28032 28033 Reviewed by John. 28034 28035 - fixed 3211730 -- REGRESSION: Flash spawns blank page then loads new page inside banner itself 28036 28037 * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadPluginRequest:]): 28038 Load the request in the frame we found or created, not always in our own frame (oops!). 28039 28040 - other changes 28041 28042 * History.subproj/WebHistory.h: Update comments to all say "Item" instead of "Entry". 28043 They didn't match the method names any more. 28044 28045 * WebView.subproj/WebView.m: 28046 (-[WebView acceptsFirstResponder]): Return YES. 28047 (-[WebView becomeFirstResponder]): Pass first responder on to the WebFrameView in the same way 28048 the WebFrameView passes it on to the document view. 28049 280502003-03-30 Maciej Stachowiak <mjs@apple.com> 28051 28052 Reviewed by Darin. 28053 28054 - fixed 3204257 - CNN's 'war on iraq' ticker stops on mouseover 28055 28056 * WebView.subproj/WebHTMLViewPrivate.h: 28057 * WebView.subproj/WebHTMLViewPrivate.m: 28058 (-[WebHTMLView _updateMouseoverWithEvent:]): When leaving an HTML 28059 view, tell it that the mouse moved outside everything in the view, 28060 even accounting for scrolled off portions (otherwise khtml gets 28061 confused). This makes cross-frame mouse enter/leave work properly. 28062 (-[WebHTMLView _clearLastHitViewIfSelf]): Method to clear last hit view, 28063 so we don't need to retain it. 28064 * WebView.subproj/WebHTMLView.m: 28065 (-[WebHTMLView dealloc]): Call _clearLastHitViewIfSelf. 28066 280672003-03-28 Richard Williamson <rjw@apple.com> 28068 28069 Fix typo in comments that broke headerdoc. 28070 28071 * WebView.subproj/WebWindowOperationsDelegate.h: 28072 280732003-03-28 Ken Kocienda <kocienda@apple.com> 28074 28075 Reviewed by John 28076 28077 Imports NSURLConnection private header to access NSURLConnection code 28078 that did not make the API cut. 28079 28080 * WebView.subproj/WebBaseResourceHandleDelegate.m: 28081 * WebView.subproj/WebMainResourceClient.m: 28082 280832003-03-28 Ken Kocienda <kocienda@apple.com> 28084 28085 Reviewed by Trey 28086 28087 NSURLConnection class method changed name: 28088 canInitWithRequest: -> canHandleRequest: 28089 28090 Moved to API-approved model for synchronous loads. 28091 Removed fixme I put in yesterday having to do with 28092 reposting form data. The feature is fully functional 28093 again. 28094 28095 * Plugins.subproj/WebNetscapePluginStream.m: 28096 (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]): 28097 * WebView.subproj/WebDefaultContextMenuDelegate.m: 28098 (-[WebDefaultContextMenuDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): 28099 * WebView.subproj/WebDefaultPolicyDelegate.m: 28100 (-[WebDefaultPolicyDelegate webView:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]): 28101 * WebView.subproj/WebFramePrivate.m: 28102 (-[WebFrame _loadItem:fromItem:withLoadType:]): 28103 (-[WebFrame _continueAfterNavigationPolicy:]): 28104 281052003-03-28 Ken Kocienda <kocienda@apple.com> 28106 28107 Reviewed by Darin 28108 28109 Cosmetic change. Instances of 'resource' as a local variable 28110 name have been changed to 'connection'. Some other changes 28111 related to this cosmetic cleanup were done as well. 28112 28113 As part of this change, I needed to change some 'connection' 28114 method arguments to 'con' to avoid the name conflict now 28115 that instance variables are named .connection'. 28116 28117 * Downloads.subproj/WebDownload.m: 28118 (-[WebDownloadPrivate dealloc]): 28119 (-[WebDownload initWithRequest:]): 28120 (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): 28121 (+[WebDownload _downloadWithLoadingResource:request:response:delegate:proxy:]): 28122 (-[WebDownload loadWithDelegate:]): 28123 (-[WebDownload _downloadEnded]): 28124 (-[WebDownload _cancelWithError:]): 28125 * Downloads.subproj/WebDownloadPrivate.h: 28126 * Plugins.subproj/WebNetscapePluginStream.m: 28127 (-[WebNetscapePluginStream connection:didReceiveResponse:]): 28128 (-[WebNetscapePluginStream connection:didReceiveData:]): 28129 (-[WebNetscapePluginStream connectionDidFinishLoading:]): 28130 (-[WebNetscapePluginStream connection:didFailLoadingWithError:]): 28131 * WebCoreSupport.subproj/WebSubresourceClient.m: 28132 (-[WebSubresourceClient connection:willSendRequest:redirectResponse:]): 28133 (-[WebSubresourceClient connection:didReceiveResponse:]): 28134 (-[WebSubresourceClient connection:didReceiveData:]): 28135 (-[WebSubresourceClient connectionDidFinishLoading:]): 28136 (-[WebSubresourceClient connection:didFailLoadingWithError:]): 28137 * WebView.subproj/WebBaseResourceHandleDelegate.h: 28138 * WebView.subproj/WebBaseResourceHandleDelegate.m: 28139 (-[WebBaseResourceHandleDelegate _releaseResources]): 28140 (-[WebBaseResourceHandleDelegate startLoading:]): 28141 (-[WebBaseResourceHandleDelegate loadWithRequest:]): 28142 (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): 28143 (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): 28144 (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): 28145 (-[WebBaseResourceHandleDelegate connection:didReceiveData:]): 28146 (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): 28147 (-[WebBaseResourceHandleDelegate connection:didFailLoadingWithError:]): 28148 (-[WebBaseResourceHandleDelegate cancelWithError:]): 28149 * WebView.subproj/WebMainResourceClient.m: 28150 (-[WebMainResourceClient receivedError:]): 28151 (-[WebMainResourceClient cancelWithError:]): 28152 (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]): 28153 (-[WebMainResourceClient continueAfterContentPolicy:response:]): 28154 (-[WebMainResourceClient connection:didReceiveResponse:]): 28155 (-[WebMainResourceClient connection:didReceiveData:]): 28156 (-[WebMainResourceClient connectionDidFinishLoading:]): 28157 (-[WebMainResourceClient connection:didFailLoadingWithError:]): 28158 (-[WebMainResourceClient startLoading:]): 28159 281602003-03-28 Ken Kocienda <kocienda@apple.com> 28161 28162 Reviewed by Darin 28163 28164 Changed names for URL connection callback methods to 28165 use the API-approved names. No functional changes. 28166 28167 * Downloads.subproj/WebDownload.h: 28168 * Downloads.subproj/WebDownload.m: 28169 (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): 28170 (-[WebDownload connection:willSendRequest:redirectResponse:]): 28171 (-[WebDownload connection:didReceiveResponse:]): 28172 (-[WebDownload connection:didReceiveData:]): 28173 (-[WebDownload connectionDidFinishLoading:]): 28174 (-[WebDownload connection:didFailLoadingWithError:]): 28175 * Misc.subproj/WebIconLoader.m: 28176 (-[WebIconLoader connectionDidFinishLoading:]): 28177 (-[WebIconLoader connection:willSendRequest:redirectResponse:]): 28178 (-[WebIconLoader connection:didReceiveResponse:]): 28179 (-[WebIconLoader connection:didReceiveData:]): 28180 (-[WebIconLoader connection:didFailLoadingWithError:]): 28181 * Plugins.subproj/WebNetscapePluginStream.m: 28182 (-[WebNetscapePluginStream connection:didReceiveResponse:]): 28183 (-[WebNetscapePluginStream connection:didReceiveData:]): 28184 (-[WebNetscapePluginStream connectionDidFinishLoading:]): 28185 (-[WebNetscapePluginStream connection:didFailLoadingWithError:]): 28186 * WebCoreSupport.subproj/WebBridge.m: 28187 (-[WebBridge objectLoadedFromCacheWithURL:response:size:]): 28188 * WebCoreSupport.subproj/WebSubresourceClient.m: 28189 (-[WebSubresourceClient connection:willSendRequest:redirectResponse:]): 28190 (-[WebSubresourceClient connection:didReceiveResponse:]): 28191 (-[WebSubresourceClient connection:didReceiveData:]): 28192 (-[WebSubresourceClient connectionDidFinishLoading:]): 28193 (-[WebSubresourceClient connection:didFailLoadingWithError:]): 28194 * WebView.subproj/WebBaseResourceHandleDelegate.m: 28195 (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): 28196 (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): 28197 (-[WebBaseResourceHandleDelegate connection:didReceiveData:]): 28198 (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): 28199 (-[WebBaseResourceHandleDelegate connection:didFailLoadingWithError:]): 28200 * WebView.subproj/WebDefaultResourceLoadDelegate.m: 28201 (-[WebDefaultResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]): 28202 * WebView.subproj/WebMainResourceClient.m: 28203 (-[WebMainResourceClient receivedError:]): 28204 (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]): 28205 (-[WebMainResourceClient continueAfterContentPolicy:response:]): 28206 (-[WebMainResourceClient connection:didReceiveResponse:]): 28207 (-[WebMainResourceClient connection:didReceiveData:]): 28208 (-[WebMainResourceClient connectionDidFinishLoading:]): 28209 (-[WebMainResourceClient connection:didFailLoadingWithError:]): 28210 (-[WebMainResourceClient startLoading:]): 28211 (-[WebResourceDelegateProxy connection:willSendRequest:redirectResponse:]): 28212 (-[WebResourceDelegateProxy connection:didReceiveResponse:]): 28213 (-[WebResourceDelegateProxy connection:didReceiveData:]): 28214 (-[WebResourceDelegateProxy connectionDidFinishLoading:]): 28215 (-[WebResourceDelegateProxy connection:didFailLoadingWithError:]): 28216 * WebView.subproj/WebResourceLoadDelegate.h: 28217 282182003-03-27 Chris Blumenberg <cblu@apple.com> 28219 28220 Left out a "!" in my last check-in. 28221 28222 * Plugins.subproj/WebNetscapePluginPackage.m: 28223 (-[WebNetscapePluginPackage load]): 28224 28225 282262003-03-27 Chris Blumenberg <cblu@apple.com> 28227 28228 - Allow Netscape plug-ins that don't have resource files to load in Safari. 28229 - Added more error handling when loading plug-ins. 28230 28231 Reviewed by darin. 28232 28233 * Plugins.subproj/WebNetscapePluginPackage.m: 28234 (-[WebNetscapePluginPackage load]): 28235 282362003-03-27 Maciej Stachowiak <mjs@apple.com> 28237 28238 Reviewed by Darin. 28239 28240 - fixed 3192344 - nil-deref in KWin::info scrolling amazon while other shopping tabs load 28241 - fixed 3098365 - Default window size changes as a result of popup windows 28242 - fixed 3189291 - javascript window.close() closes window, not just originating tab 28243 28244 * WebCoreSupport.subproj/WebBridge.m: 28245 (-[WebBridge setWindowIsResizable:]): New bridge method, implemented 28246 by calling window operations delegate. 28247 (-[WebBridge windowIsResizable]): Likewise. 28248 (-[WebBridge firstResponder]): Likewise. 28249 (-[WebBridge makeFirstResponder:]): Likewise. 28250 (-[WebBridge closeWindow]): Likewise. 28251 282522003-03-27 Ken Kocienda <kocienda@apple.com> 28253 28254 Reviewed by Darin 28255 28256 Changed WebResource to NSURLConnection. Some other "supporting" names 28257 changed as well. Note that there are no functional modifications, 28258 only name changes. 28259 28260 * Downloads.subproj/WebDownload.m: 28261 (-[WebDownload initWithRequest:]): 28262 (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): 28263 (+[WebDownload _downloadWithLoadingResource:request:response:delegate:proxy:]): 28264 (-[WebDownload loadWithDelegate:]): 28265 (-[WebDownload resource:willSendRequest:]): 28266 (-[WebDownload resource:didReceiveResponse:]): 28267 (-[WebDownload resource:didReceiveData:]): 28268 (-[WebDownload resourceDidFinishLoading:]): 28269 (-[WebDownload resource:didFailLoadingWithError:]): 28270 * Downloads.subproj/WebDownloadPrivate.h: 28271 * Misc.subproj/WebIconLoader.h: 28272 * Misc.subproj/WebIconLoader.m: 28273 (-[WebIconLoader startLoading]): 28274 (-[WebIconLoader resourceDidFinishLoading:]): 28275 (-[WebIconLoader resource:willSendRequest:]): 28276 (-[WebIconLoader resource:didReceiveResponse:]): 28277 (-[WebIconLoader resource:didReceiveData:]): 28278 (-[WebIconLoader resource:didFailLoadingWithError:]): 28279 * Plugins.subproj/WebNetscapePluginStream.h: 28280 * Plugins.subproj/WebNetscapePluginStream.m: 28281 (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]): 28282 (-[WebNetscapePluginStream resource:didReceiveResponse:]): 28283 (-[WebNetscapePluginStream resource:didReceiveData:]): 28284 (-[WebNetscapePluginStream resourceDidFinishLoading:]): 28285 (-[WebNetscapePluginStream resource:didFailLoadingWithError:]): 28286 * WebCoreSupport.subproj/WebBridge.m: 28287 * WebCoreSupport.subproj/WebSubresourceClient.m: 28288 (-[WebSubresourceClient resource:willSendRequest:]): 28289 (-[WebSubresourceClient resource:didReceiveResponse:]): 28290 (-[WebSubresourceClient resource:didReceiveData:]): 28291 (-[WebSubresourceClient resourceDidFinishLoading:]): 28292 (-[WebSubresourceClient resource:didFailLoadingWithError:]): 28293 * WebView.subproj/WebBaseResourceHandleDelegate.h: 28294 * WebView.subproj/WebBaseResourceHandleDelegate.m: 28295 (-[WebBaseResourceHandleDelegate loadWithRequest:]): 28296 (-[WebBaseResourceHandleDelegate resource:willSendRequest:]): 28297 (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]): 28298 (-[WebBaseResourceHandleDelegate resource:didReceiveData:]): 28299 (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]): 28300 (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]): 28301 * WebView.subproj/WebDataSource.h: 28302 * WebView.subproj/WebDataSource.m: 28303 * WebView.subproj/WebDataSourcePrivate.m: 28304 * WebView.subproj/WebDefaultContextMenuDelegate.m: 28305 (-[WebDefaultContextMenuDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): 28306 * WebView.subproj/WebDefaultPolicyDelegate.m: 28307 (-[WebDefaultPolicyDelegate webView:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]): 28308 * WebView.subproj/WebDefaultResourceLoadDelegate.m: 28309 * WebView.subproj/WebFramePrivate.m: 28310 (-[WebFrame _continueAfterNavigationPolicy:]): 28311 (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): 28312 * WebView.subproj/WebMainResourceClient.h: 28313 * WebView.subproj/WebMainResourceClient.m: 28314 (-[WebMainResourceClient resource:willSendRequest:]): 28315 (-[WebMainResourceClient resource:didReceiveResponse:]): 28316 (-[WebMainResourceClient resource:didReceiveData:]): 28317 (-[WebMainResourceClient resourceDidFinishLoading:]): 28318 (-[WebMainResourceClient resource:didFailLoadingWithError:]): 28319 (-[WebResourceDelegateProxy setDelegate:]): 28320 (-[WebResourceDelegateProxy resource:willSendRequest:]): 28321 (-[WebResourceDelegateProxy resource:didReceiveResponse:]): 28322 (-[WebResourceDelegateProxy resource:didReceiveData:]): 28323 (-[WebResourceDelegateProxy resourceDidFinishLoading:]): 28324 (-[WebResourceDelegateProxy resource:didFailLoadingWithError:]): 28325 * WebView.subproj/WebPolicyDelegate.h: 28326 * WebView.subproj/WebView.h: 28327 * WebView.subproj/WebView.m: 28328 * WebView.subproj/WebViewPrivate.m: 28329 283302003-03-27 Richard Williamson <rjw@apple.com> 28331 28332 API change: WebHistory initWithFile: -> initWithContentsOfURL: 28333 28334 Reviewed by Ken. 28335 28336 * History.subproj/WebHistory.h: 28337 * History.subproj/WebHistory.m: 28338 (-[WebHistory initWithContentsOfURL:]): 28339 (-[WebHistory URL]): 28340 * History.subproj/WebHistoryPrivate.h: 28341 * History.subproj/WebHistoryPrivate.m: 28342 (-[WebHistoryPrivate initWithContentsOfURL:]): 28343 (-[WebHistoryPrivate dealloc]): 28344 (-[WebHistoryPrivate _loadHistoryGuts:]): 28345 (-[WebHistoryPrivate loadHistory]): 28346 (-[WebHistoryPrivate _saveHistoryGuts:]): 28347 (-[WebHistoryPrivate URL]): 28348 (-[WebHistoryPrivate saveHistory]): 28349 283502003-03-27 Darin Adler <darin@apple.com> 28351 28352 Reviewed by Shelley. 28353 28354 - fixed 3157067 -- Pier1.com doesn't load; Microsoft VBScript runtime error in user-agent checking code 28355 28356 Besides this fix, I also filed an evangelism bug, bug 3210612. 28357 28358 * WebView.subproj/WebUserAgentSpoofTable.gperf: Added pier1.com. 28359 * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated. 28360 283612003-03-27 Ken Kocienda <kocienda@apple.com> 28362 28363 Reviewed by Trey 28364 28365 Moved to final NSURLResponse and NSHTTPURLResponse API. 28366 28367 * Downloads.subproj/WebDownload.m: 28368 * Misc.subproj/WebNSURLResponseExtras.m: 28369 (-[NSURLResponse suggestedFilenameForSaving]): 28370 (-[NSHTTPURLResponse suggestedFilenameForSaving]): 28371 * Plugins.subproj/WebBaseNetscapePluginStream.m: 28372 (-[WebBaseNetscapePluginStream setResponse:]): 28373 * Plugins.subproj/WebNetscapePluginDocumentView.m: 28374 (-[WebNetscapePluginDocumentView setDataSource:]): 28375 * WebView.subproj/WebDataSourcePrivate.m: 28376 (-[WebDataSource _representationClass]): 28377 (-[WebDataSource _commitIfReady:]): 28378 * WebView.subproj/WebFramePrivate.m: 28379 (-[WebFrame _opened]): 28380 (-[WebFrame _loadItem:fromItem:withLoadType:]): 28381 * WebView.subproj/WebFrameViewPrivate.m: 28382 (-[WebFrameView _makeDocumentViewForDataSource:]): 28383 * WebView.subproj/WebMainResourceClient.m: 28384 (-[WebMainResourceClient continueAfterContentPolicy:response:]): 28385 (-[WebMainResourceClient checkContentPolicyForResponse:]): 28386 (-[WebMainResourceClient resource:didReceiveResponse:]): 28387 (-[WebMainResourceClient startLoading:]): 28388 * WebView.subproj/WebTextRepresentation.m: 28389 (-[WebTextRepresentation setDataSource:]): 28390 * WebView.subproj/WebTextView.m: 28391 (-[WebTextView dataSourceUpdated:]): 28392 28393=== Safari-69 === 28394 283952003-03-26 Richard Williamson <rjw@apple.com> 28396 28397 File name change WebPluginError.[hm] -> WebPlugInError.[hm] 28398 28399 * Misc.subproj/WebKit.h: 28400 * Plugins.subproj/WebNullPluginView.m: 28401 * Plugins.subproj/WebPlugInError.h: 28402 * Plugins.subproj/WebPluginError.h: Removed. 28403 * Plugins.subproj/WebPluginError.m: Removed. 28404 * Plugins.subproj/WebPluginErrorPrivate.h: 28405 * WebKit.pbproj/project.pbxproj: 28406 284072003-03-26 Richard Williamson <rjw@apple.com> 28408 28409 WebPreferences API changes: 28410 28411 JavaScriptCanOpenWindowsAutomatically -> javaScriptCanOpenWindowsAutomatically 28412 setJavaScriptCanOpenWindowsAutomatically -> setJavaScriptCanOpenWindowsAutomatically 28413 willLoadImagesAutomatically -> loadsImagesAutomatically 28414 setWillLoadImagesAutomatically -> setLoadsImagesAutomatically 28415 JavaEnabled -> isJavaEnabled 28416 setJavaEnabled -> setIsJavaEnabled 28417 JavaScriptEnabled -> isJavaScriptEnabled 28418 setJavaScriptEnabled -> setIsJavaScriptEnabled 28419 pluginsEnabled -> arePlugInsEnabled 28420 setPluginsEnabled -> setArePlugInsEnabled 28421 allowAnimatedImageLooping -> allowsAnimatedImageLooping 28422 setAllowAnimatedImageLooping -> setAllowsAnimatedImageLooping 28423 allowAnimatedImages -> allowsAnimatedImages 28424 setAllowAnimatedImages -> setAllowsAnimatedImages 28425 28426 Made WebHistoryItem's ivars private. 28427 28428 WebPluginError API changes: 28429 28430 pluginPageURL -> plugInPageURLString 28431 contentURL -> contentURLString 28432 28433 Reviewed by cblu. 28434 28435 * API-Issues.rtf: 28436 * History.subproj/WebHistoryItem.h: 28437 * History.subproj/WebHistoryItem.m: 28438 (-[WebHistoryItemPrivate dealloc]): 28439 (-[WebHistoryItem init]): 28440 (-[WebHistoryItem dealloc]): 28441 (-[WebHistoryItem URLString]): 28442 (-[WebHistoryItem originalURLString]): 28443 (-[WebHistoryItem title]): 28444 (-[WebHistoryItem setDisplayTitle:]): 28445 (-[WebHistoryItem icon]): 28446 (-[WebHistoryItem lastVisitedDate]): 28447 (-[WebHistoryItem hash]): 28448 (-[WebHistoryItem anchor]): 28449 (-[WebHistoryItem isEqual:]): 28450 (-[WebHistoryItem description]): 28451 (-[WebHistoryItem _retainIconInDatabase:]): 28452 (-[WebHistoryItem initWithURL:target:parent:title:]): 28453 (-[WebHistoryItem URL]): 28454 (-[WebHistoryItem target]): 28455 (-[WebHistoryItem parent]): 28456 (-[WebHistoryItem setURL:]): 28457 (-[WebHistoryItem setOriginalURLString:]): 28458 (-[WebHistoryItem setTitle:]): 28459 (-[WebHistoryItem setTarget:]): 28460 (-[WebHistoryItem setParent:]): 28461 (-[WebHistoryItem setLastVisitedDate:]): 28462 (-[WebHistoryItem documentState]): 28463 (-[WebHistoryItem scrollPoint]): 28464 (-[WebHistoryItem setScrollPoint:]): 28465 (-[WebHistoryItem setAnchor:]): 28466 (-[WebHistoryItem isTargetItem]): 28467 (-[WebHistoryItem setIsTargetItem:]): 28468 (-[WebHistoryItem _recurseToFindTargetItem]): 28469 (-[WebHistoryItem targetItem]): 28470 (-[WebHistoryItem formData]): 28471 (-[WebHistoryItem setFormData:]): 28472 (-[WebHistoryItem formContentType]): 28473 (-[WebHistoryItem setFormContentType:]): 28474 (-[WebHistoryItem formReferrer]): 28475 (-[WebHistoryItem setFormReferrer:]): 28476 (-[WebHistoryItem children]): 28477 (-[WebHistoryItem addChildItem:]): 28478 (-[WebHistoryItem childItemWithName:]): 28479 (-[WebHistoryItem dictionaryRepresentation]): 28480 (-[WebHistoryItem initFromDictionaryRepresentation:]): 28481 (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]): 28482 (-[WebHistoryItem alwaysAttemptToUsePageCache]): 28483 (-[WebHistoryItem _scheduleRelease]): 28484 (-[WebHistoryItem setHasPageCache:]): 28485 (-[WebHistoryItem pageCache]): 28486 * Plugins.subproj/WebPluginError.h: 28487 * Plugins.subproj/WebPluginError.m: 28488 (-[WebPlugInError plugInPageURLString]): 28489 * WebView.subproj/WebPreferences.h: 28490 * WebView.subproj/WebPreferences.m: 28491 (-[WebPreferences isJavaEnabled]): 28492 (-[WebPreferences setIsJavaEnabled:]): 28493 (-[WebPreferences isJavaScriptEnabled]): 28494 (-[WebPreferences setIsJavaScriptEnabled:]): 28495 (-[WebPreferences javaScriptCanOpenWindowsAutomatically]): 28496 (-[WebPreferences arePlugInsEnabled]): 28497 (-[WebPreferences setArePlugInsEnabled:]): 28498 (-[WebPreferences allowsAnimatedImages]): 28499 (-[WebPreferences allowsAnimatedImageLooping]): 28500 (-[WebPreferences setAllowsAnimatedImageLooping:]): 28501 (-[WebPreferences setLoadsImagesAutomatically:]): 28502 (-[WebPreferences loadsImagesAutomatically]): 28503 * WebView.subproj/WebViewPrivate.m: 28504 (-[WebView _updateWebCoreSettingsFromPreferences:]): 28505 285062003-03-26 Ken Kocienda <kocienda@apple.com> 28507 28508 Reviewed by Darin 28509 28510 Changed WebResponse to NSURLResponse. Some other "supporting" names 28511 changed as well. Note that there are no functional modifications, 28512 only name changes. 28513 28514 * Downloads.subproj/WebDownload.h: 28515 * Downloads.subproj/WebDownload.m: 28516 (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): 28517 (+[WebDownload _downloadWithLoadingResource:request:response:delegate:proxy:]): 28518 (-[WebDownload _setResponse:]): 28519 (-[WebDownload resource:didReceiveResponse:]): 28520 * Downloads.subproj/WebDownloadPrivate.h: 28521 * Misc.subproj/WebIconLoader.m: 28522 (-[WebIconLoader resource:didReceiveResponse:]): 28523 * Misc.subproj/WebKit.h: 28524 * Plugins.subproj/WebBaseNetscapePluginStream.h: 28525 * Plugins.subproj/WebBaseNetscapePluginStream.m: 28526 (-[WebBaseNetscapePluginStream setResponse:]): 28527 * Plugins.subproj/WebNetscapePluginDocumentView.m: 28528 * Plugins.subproj/WebNetscapePluginStream.m: 28529 (-[WebNetscapePluginStream resource:didReceiveResponse:]): 28530 * WebCoreSupport.subproj/WebBridge.m: 28531 * WebCoreSupport.subproj/WebSubresourceClient.h: 28532 * WebCoreSupport.subproj/WebSubresourceClient.m: 28533 (-[WebSubresourceClient resource:didReceiveResponse:]): 28534 * WebKit.pbproj/project.pbxproj: 28535 * WebView.subproj/WebBaseResourceHandleDelegate.h: 28536 * WebView.subproj/WebBaseResourceHandleDelegate.m: 28537 (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]): 28538 * WebView.subproj/WebDataSource.h: 28539 * WebView.subproj/WebDataSource.m: 28540 (-[WebDataSource response]): 28541 * WebView.subproj/WebDataSourcePrivate.h: 28542 * WebView.subproj/WebDataSourcePrivate.m: 28543 (-[WebDataSource _setResponse:]): 28544 (-[WebDataSource _commitIfReady:]): 28545 (-[WebDataSource _addResponse:]): 28546 * WebView.subproj/WebDefaultPolicyDelegate.m: 28547 * WebView.subproj/WebDefaultResourceLoadDelegate.m: 28548 (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveResponse:fromDataSource:]): 28549 * WebView.subproj/WebFramePrivate.m: 28550 (-[WebFrame _opened]): 28551 * WebView.subproj/WebFrameViewPrivate.m: 28552 * WebView.subproj/WebHTMLRepresentation.m: 28553 * WebView.subproj/WebMainResourceClient.h: 28554 * WebView.subproj/WebMainResourceClient.m: 28555 (-[WebMainResourceClient continueAfterContentPolicy:response:]): 28556 (-[WebMainResourceClient continueAfterContentPolicy:]): 28557 (-[WebMainResourceClient checkContentPolicyForResponse:]): 28558 (-[WebMainResourceClient resource:didReceiveResponse:]): 28559 (-[WebMainResourceClient startLoading:]): 28560 (-[WebResourceDelegateProxy resource:didReceiveResponse:]): 28561 * WebView.subproj/WebPolicyDelegate.h: 28562 * WebView.subproj/WebResourceLoadDelegate.h: 28563 * WebView.subproj/WebTextRepresentation.m: 28564 * WebView.subproj/WebTextView.m: 28565 285662003-03-26 Darin Adler <darin@apple.com> 28567 28568 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 28569 285702003-03-26 Darin Adler <darin@apple.com> 28571 28572 Reviewed by Trey. 28573 28574 - fixed 3209091 -- REGRESSION: WebFrameView leak (world leak) 28575 28576 * WebView.subproj/WebView.m: 28577 (-[WebView _commonInitialization:frameName:groupName:]): Use copy, not retain, 28578 on an incoming NSString parameter. 28579 (-[WebView initWithFrame:frameName:groupName:]): Release the WebFrameView after 28580 setting it up. 28581 28582 - other changes 28583 28584 * WebCoreSupport.subproj/WebImageRenderer.m: 28585 (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): 28586 Put the bug workaround here inside an ifdef so we don't compile it in on Panther. 28587 285882003-03-26 Chris Blumenberg <cblu@apple.com> 28589 28590 Use the private _cfBundle method on NSBundle so we only create 1 bundle per plug-in package class. 28591 28592 Reviewed by trey. 28593 28594 * Plugins.subproj/WebBasePluginPackage.h: 28595 * Plugins.subproj/WebBasePluginPackage.m: 28596 (-[WebBasePluginPackage initWithPath:]): 28597 (-[WebBasePluginPackage getPluginInfoFromBundleAndMIMEDictionary:]): 28598 (-[WebBasePluginPackage dealloc]): 28599 * Plugins.subproj/WebNetscapePluginPackage.h: 28600 * Plugins.subproj/WebNetscapePluginPackage.m: 28601 (-[WebNetscapePluginPackage openResourceFile]): 28602 (-[WebNetscapePluginPackage closeResourceFile:]): 28603 (-[WebNetscapePluginPackage getPluginInfoFromPLists]): 28604 (-[WebNetscapePluginPackage initWithPath:]): 28605 (-[WebNetscapePluginPackage load]): 28606 (-[WebNetscapePluginPackage unload]): 28607 * Plugins.subproj/WebPluginPackage.m: 28608 (-[WebPluginPackage initWithPath:]): 28609 (-[WebPluginPackage viewFactory]): 28610 (-[WebPluginPackage load]): 28611 (-[WebPluginPackage isLoaded]): 28612 286132003-03-26 Ken Kocienda <kocienda@apple.com> 28614 28615 Reviewed by Maciej 28616 28617 Finished conversion to NSMutableURLRequest. HTTP-specific 28618 mutator methods are now properly placed on an HTTP 28619 category of NSMutableURLRequest. All client code has 28620 been updated to use NSMutableURLRequest where appropriate. 28621 28622 * Misc.subproj/WebIconLoader.m: 28623 (-[WebIconLoader startLoading]): 28624 * WebCoreSupport.subproj/WebBridge.m: 28625 (-[WebBridge createWindowWithURL:frameName:]): 28626 * WebView.subproj/WebBaseResourceHandleDelegate.m: 28627 (-[WebBaseResourceHandleDelegate resource:willSendRequest:]): 28628 * WebView.subproj/WebDefaultContextMenuDelegate.m: 28629 (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]): 28630 * WebView.subproj/WebFramePrivate.h: 28631 * WebView.subproj/WebFramePrivate.m: 28632 (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]): 28633 * WebView.subproj/WebMainResourceClient.m: 28634 (-[WebMainResourceClient resource:willSendRequest:]): 28635 286362003-03-25 Richard Williamson <rjw@apple.com> 28637 28638 Changed use of plugin to plugIn in our public API 28639 as instructed by those that must be obeyed. 28640 28641 Reviewed by Trey. 28642 28643 Changed userStyleSheetLocation to take/pass an NSURL. 28644 28645 Reviewed by Chris 28646 28647 * Plugins.subproj/WebNetscapePluginDocumentView.m: 28648 (-[WebNetscapePluginDocumentView setDataSource:]): 28649 * Plugins.subproj/WebNullPluginView.h: 28650 * Plugins.subproj/WebNullPluginView.m: 28651 (-[WebNullPluginView viewDidMoveToWindow]): 28652 * Plugins.subproj/WebPluginError.h: 28653 * Plugins.subproj/WebPluginError.m: 28654 (-[WebPlugInError plugInPageURL]): 28655 (-[WebPlugInError plugInName]): 28656 * Plugins.subproj/WebPluginErrorPrivate.h: 28657 * WebCoreSupport.subproj/WebBridge.m: 28658 (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): 28659 (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]): 28660 * WebView.subproj/WebDefaultResourceLoadDelegate.m: 28661 (-[WebDefaultResourceLoadDelegate webView:plugInFailedWithError:dataSource:]): 28662 * WebView.subproj/WebPreferences.h: 28663 * WebView.subproj/WebPreferences.m: 28664 (-[WebPreferences userStyleSheetLocation]): 28665 (-[WebPreferences setUserStyleSheetLocation:]): 28666 * WebView.subproj/WebResourceLoadDelegate.h: 28667 * WebView.subproj/WebViewPrivate.m: 28668 (-[WebView _updateWebCoreSettingsFromPreferences:]): 28669 28670 * API-Issues.rtf: notes to self 28671 286722003-03-25 Chris Blumenberg <cblu@apple.com> 28673 28674 Fixed: 3135385 - many file types don't work with the QuickTime plugin in Safari 28675 28676 Reviewed by trey. 28677 28678 * Plugins.subproj/WebBasePluginPackage.h: 28679 * Plugins.subproj/WebBasePluginPackage.m: 28680 (+[WebBasePluginPackage pluginWithPath:]): tweak 28681 (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]): moved up from WebNetscapePluginPackage 28682 (-[WebBasePluginPackage initWithPath:]): retain path, create bundle so subclasses don't have to do this work 28683 (-[WebBasePluginPackage getPluginInfoFromBundleAndMIMEDictionary:]): was getMIMEInformation from WebPluginPackage 28684 (-[WebBasePluginPackage dealloc]): release the bundle 28685 (-[WebBasePluginPackage setMIMEToExtensionsDictionary:]): tweak 28686 * Plugins.subproj/WebNetscapePluginPackage.h: 28687 * Plugins.subproj/WebNetscapePluginPackage.m: 28688 (+[WebNetscapePluginPackage preferredLocalizationName]): new 28689 (-[WebNetscapePluginPackage openResourceFile]): tweak 28690 (-[WebNetscapePluginPackage closeResourceFile:]): tweak 28691 (-[WebNetscapePluginPackage stringForStringListID:andIndex:]): tweak 28692 (-[WebNetscapePluginPackage getPluginInfoFromResources]): was getMIMEInformation 28693 (-[WebNetscapePluginPackage pListForPath:createFile:]): new, calls BP_CreatePluginMIMETypesPreferences if createFile==YES 28694 (-[WebNetscapePluginPackage getPluginInfoFromPLists]): calls getPluginInfoFromBundleAndMIMEDictionary with the MIME dictionary from the user's home dir. 28695 (-[WebNetscapePluginPackage initWithPath:]): have the superclass do some initialization, call getPluginInfoFromPLists and/or getPluginInfoFromResources 28696 (-[WebNetscapePluginPackage executableType]): tweak 28697 (-[WebNetscapePluginPackage load]): get the BP_CreatePluginMIMETypesPreferences symbol 28698 (-[WebNetscapePluginPackage unload]): tweak 28699 (-[WebNetscapePluginPackage dealloc]): tweak 28700 * Plugins.subproj/WebPluginPackage.h: 28701 * Plugins.subproj/WebPluginPackage.m: 28702 (-[WebPluginPackage initWithPath:]): have the superclass do some initialization, call getPluginInfoFromBundleAndMIMEDictionary 28703 (-[WebPluginPackage viewFactory]): tweak 28704 (-[WebPluginPackage load]): call principalClass 28705 (-[WebPluginPackage isLoaded]): tweak 28706 * Plugins.subproj/npapi.h: added declaration for the BP_CreatePluginMIMETypesPreferences function pointer. 28707 287082003-03-25 John Sullivan <sullivan@apple.com> 28709 28710 - WebKit part of fix for 3141794 -- No scroll bar for the 28711 "collections" column of the bookmarks window 28712 28713 Reviewed by Darin. 28714 28715 * WebView.subproj/WebDynamicScrollBarsView.h: 28716 replaced disallowsScrolling boolean ivar with separate booleans for 28717 disallowHorizontalScrolling and disallowVerticalScrolling 28718 28719 * WebView.subproj/WebDynamicScrollBarsView.m: 28720 (-[WebDynamicScrollBarsView updateScrollers]): 28721 take the two disallow booleans into account separately 28722 (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]), 28723 (-[WebDynamicScrollBarsView allowsHorizontalScrolling]), 28724 (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]), 28725 (-[WebDynamicScrollBarsView allowsVerticalScrolling]): 28726 new methods, do the obvious 28727 (-[WebDynamicScrollBarsView setAllowsScrolling:]): 28728 changed to set both ivars 28729 (-[WebDynamicScrollBarsView allowsScrolling]): 28730 changed to return YES if scrolling is allowed in either direction 28731 28732 * WebKit.exp: exported symbol for WebDynamicScrollBarsView class name 28733 287342003-03-25 Ken Kocienda <kocienda@apple.com> 28735 28736 Reviewed by Richard 28737 28738 Fixed a bug that could occur in the new immutable/mutable 28739 request scheme. When opening a javascript window, it was 28740 possible for a request passed as a method argument to be 28741 released during the course of a method, particularly 28742 after that request was passed to willSendRequest:. 28743 The solution is to ask the data source for its current 28744 request rather than using the one stored in the method 28745 argument. 28746 28747 * WebView.subproj/WebMainResourceClient.m: 28748 (-[WebMainResourceClient startLoading:]): 28749 287502003-03-24 Trey Matteson <trey@apple.com> 28751 28752 Pass -seg_addr_table_filename <FILENAME> to ld. This makes our frameworks in 28753 SYMROOT actually work for symbol resolution because they will have the correct 28754 prebinding address. It also fixes obscure B&I problems with prebinding 28755 reported by Matt Reda. 28756 28757 Note the reason all this is tricky for our projects is that we have a different 28758 install location for Jaguar and Panther. The purpose of this arg is to declare 28759 at link time our eventual location, which allows the prebinding address to be 28760 found in /AppleInternal/Developer/seg_addr_table. We use a funky back-tick 28761 expression within OTHER_LDFLAGS to get a conditional value depending on the 28762 build train we are in. 28763 28764 This can all go away once we only build on Panther and don't embed the 28765 frameworks inside the Safari.app wrapper. 28766 28767 In addition I fixed the OTHER_LDFLAGS settings in our build styles to be 28768 additive instead of overriding, so we have the args we used for B&I in force 28769 when building outside of B&I. 28770 28771 Reviewed by Maciej. 28772 28773 * WebKit.pbproj/project.pbxproj: 28774 287752003-03-25 Ken Kocienda <kocienda@apple.com> 28776 28777 Reviewed by Darin 28778 28779 Updated to use NSMutableURLRequest where appropriate. 28780 28781 * Plugins.subproj/WebBaseNetscapePluginView.m: 28782 (-[WebBaseNetscapePluginView requestWithURLCString:]): 28783 (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]): 28784 * WebCoreSupport.subproj/WebSubresourceClient.m: 28785 (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): 28786 * WebView.subproj/WebDataSource.h: 28787 * WebView.subproj/WebDataSource.m: 28788 (-[WebDataSource initWithRequest:]): 28789 (-[WebDataSource request]): 28790 * WebView.subproj/WebDataSourcePrivate.h: 28791 * WebView.subproj/WebDataSourcePrivate.m: 28792 (-[WebDataSource _setURL:]): 28793 * WebView.subproj/WebFrame.m: 28794 (-[WebFrame loadRequest:]): 28795 (-[WebFrame reload]): 28796 * WebView.subproj/WebFramePrivate.m: 28797 (-[WebFrame _loadItem:fromItem:withLoadType:]): 28798 (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): 28799 (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): 28800 (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]): 28801 288022003-03-25 Darin Adler <darin@apple.com> 28803 28804 Reviewed by John. 28805 28806 - fixed 3205745 -- WebKit.framework's Localizable.strings file contains high ASCII in the Key definition. 28807 28808 * English.lproj/Localizable.strings: Regenerated with the new version of the 28809 extract-localizable-strings tool that uses \U syntax instead of "high ASCII". 28810 28811 - changed cursive font back to "Apple Chancery" for now 28812 28813 * WebView.subproj/WebPreferences.m: (+[WebPreferences initialize]): Change to "Apple Chancery". 28814 * English.lproj/StringsNotToBeLocalized.txt: Update for above change. 28815 288162003-03-24 Darin Adler <darin@apple.com> 28817 28818 Reviewed by Dave. 28819 28820 - fixed 3206803 -- REGRESSION: Lucida Handwriting font doesn't work 28821 28822 * WebCoreSupport.subproj/WebTextRendererFactory.m: 28823 (acceptableChoice): Added. Returns NO if the weight/traits are no good. 28824 (betterChoice): Added. Returns YES if the new weight/traits are better than the old. 28825 (-[WebTextRendererFactory fontWithFamily:traits:size:]): Use the new functions to judge which 28826 font is good enough. Now it will accept an italic font if that's all we have. 28827 28828 - fixed 3206904 -- use "Lucida Handwriting" for "cursive" so it works on systems without Classic 28829 28830 * WebView.subproj/WebPreferences.m: (+[WebPreferences initialize]): 28831 Change default from "Apple Chancery" to "Lucida Handwriting". 28832 28833 * English.lproj/StringsNotToBeLocalized.txt: Updated for this change. 28834 288352003-03-24 Maciej Stachowiak <mjs@apple.com> 28836 28837 Reviewed by Richard. 28838 28839 - made API (actually doc-only) changes needed for 3087535 - 28840 bugzilla queries come back as downloaded files 28841 28842 * Downloads.subproj/WebDownload.h: Documented that 28843 download:didReceiveResponse: may be sent more than once. 28844 * WebView.subproj/WebLocationChangeDelegate.h: Documented that 28845 locationChangeCommittedForDataSource: may be sent more than once. 28846 * WebView.subproj/WebPolicyDelegate.h: Documented that 28847 decideContentPolicyForMIMEType:andRequest:inFrame: may be sent 28848 more than once. 28849 * WebView.subproj/WebResourceLoadDelegate.h: Documented that 28850 resource:didReceiveResponse:fromDataSource: may be sent more than 28851 once. 28852 288532003-03-24 Maciej Stachowiak <mjs@apple.com> 28854 28855 Reviewed by Richard. 28856 28857 - fixed 3083339 - significant top and side margin appended to new windows 28858 28859 Part of the fix involves adding new window operation delegate methods. 28860 * WebCoreSupport.subproj/WebBridge.m: 28861 (-[WebBridge setWindowFrame:]): Tweaked code a bit. 28862 (-[WebBridge windowFrame]): Added. 28863 (-[WebBridge setWindowContentRect:]): Added. 28864 (-[WebBridge windowContentRect]): Added. 28865 * WebView.subproj/WebDefaultWindowOperationsDelegate.m: 28866 (-[WebDefaultWindowOperationsDelegate webView:setContentRect:]): Implemented. 28867 (-[WebDefaultWindowOperationsDelegate webViewContentRect:]): Likewise. 28868 * WebView.subproj/WebWindowOperationsDelegate.h: 28869 288702003-03-24 Chris Blumenberg <cblu@apple.com> 28871 28872 Fixed: 3155489 - Seed: PostScript files display instead of downloading, often as a blank page 28873 Fixed: 3106251 - quicken file not downloaded, can't save manually 28874 28875 Reviewed by trey. 28876 28877 * WebView.subproj/WebDataSourcePrivate.m: 28878 (+[WebDataSource _repTypes]): call [WebImageView supportedImageMIMETypes] 28879 * WebView.subproj/WebFrameViewPrivate.m: 28880 (+[WebFrameView _viewTypes]): call [WebImageView supportedImageMIMETypes] 28881 * WebView.subproj/WebImageView.h: 28882 * WebView.subproj/WebImageView.m: 28883 (+[WebImageView initialize]): was -initialize (oops) 28884 (+[WebImageView unsupportedImageMIMETypes]): new, AppKit images that we shouldn't display inline, includes ps and pdf 28885 (+[WebImageView supportedImageMIMETypes]): new, was in WebViewPrivate 28886 * WebView.subproj/WebTextView.h: 28887 * WebView.subproj/WebTextView.m: 28888 (+[WebTextView unsupportedTextMIMETypes]): renamed, added text/qif (quicken) 28889 * WebView.subproj/WebView.m: 28890 (+[WebView canShowMIMEType:]): call [WebTextView unsupportedTextMIMETypes] 28891 * WebView.subproj/WebViewPrivate.h: removed _supportedImageMIMETypes 28892 * WebView.subproj/WebViewPrivate.m: removed _supportedImageMIMETypes 28893 288942003-03-24 Ken Kocienda <kocienda@apple.com> 28895 28896 Reviewed by hyatt. 28897 28898 Moved closer to target API for NSURLRequest. Merged in 28899 final names for immutable and mutable versions of this 28900 class and its HTTP category. The next step will be to 28901 actually make the split between immutable/mutable 28902 variants of NSURLRequest. 28903 28904 In WebKit, this amounts to name changes only. 28905 28906 * Misc.subproj/WebIconLoader.m: 28907 (-[WebIconLoader startLoading]): 28908 * Plugins.subproj/WebBaseNetscapePluginView.m: 28909 (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]): 28910 * WebCoreSupport.subproj/WebBridge.m: 28911 (-[WebBridge createWindowWithURL:frameName:]): 28912 (-[WebBridge incomingReferrer]): 28913 * WebCoreSupport.subproj/WebSubresourceClient.m: 28914 (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): 28915 * WebView.subproj/WebBaseResourceHandleDelegate.m: 28916 (-[WebBaseResourceHandleDelegate resource:willSendRequest:]): 28917 * WebView.subproj/WebDataSourcePrivate.m: 28918 * WebView.subproj/WebDefaultContextMenuDelegate.m: 28919 (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]): 28920 * WebView.subproj/WebFrame.m: 28921 (-[WebFrame reload]): 28922 * WebView.subproj/WebFramePrivate.m: 28923 (-[WebFrame _createItem]): 28924 (-[WebFrame _loadItem:fromItem:withLoadType:]): 28925 (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]): 28926 (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): 28927 (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): 28928 * WebView.subproj/WebMainResourceClient.m: 28929 (-[WebMainResourceClient resource:willSendRequest:]): 28930 289312003-03-22 Darin Adler <darin@apple.com> 28932 28933 Reviewed by John. 28934 28935 - fixed 3203869 -- Monaco 9 looks different in Safari than in TextEdit (uses outline instead of bitmap) 28936 28937 * Misc.subproj/WebKitNSStringExtras.m: (-[NSString _web_widthWithFont:]): 28938 Pass usingPrinterFont:NO, since this is used exclusively for on-screen text, not printing. 28939 * Misc.subproj/WebStringTruncator.m: (truncateString): Ditto. 28940 28941 * WebCoreSupport.subproj/WebTextRenderer.h: Add usingPrinterFont boolean field and parameter to init. 28942 * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer initWithFont:forScreen:]): 28943 Add usingPrinterFont parameter, and get the screen font if it's NO, also store the boolean 28944 for later use. 28945 (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding: attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:fontFamilies:]): 28946 Pass the usingPrinterFont parameter through when getting a substitute font. 28947 28948 * WebCoreSupport.subproj/WebTextRendererFactory.h: Add separate caches for screen and printing text 28949 renderers. Add usingPrinterFont parameter to our rendererWithFont: method (the one inherited from WebCore 28950 still has no parameter). 28951 * WebCoreSupport.subproj/WebTextRendererFactory.m: 28952 (-[WebTextRendererFactory init]): Create both caches. 28953 (-[WebTextRendererFactory dealloc]): Release both caches. 28954 (-[WebTextRendererFactory rendererWithFont:]): Call the new rendererWithFont:usingPrinterFont: method, 28955 passing usingPrinterFonts from the WebCore side. Thus any fonts fetched by WebCore during printing 28956 are printing fonts, and otherwise they are screen fonts. 28957 (-[WebTextRendererFactory rendererWithFont:usingPrinterFont:]): Added. Has the code from the old 28958 rendererWithFont: method, but passes the usingPrinterFont parameter through to the WebTextRenderer 28959 init method. 28960 28961 * WebView.subproj/WebHTMLView.m: 28962 (-[WebHTMLView initWithFrame:]): Don't set unused canDragTo and canDragFrom fields. 28963 (-[WebHTMLView drawRect:]): Call -[WebTextRendererFactory setUsingPrinterFonts:] here if we are printing, 28964 as indicated by the usingPrinterFonts field. The reason we do this only inside drawRect is so we don't 28965 affect redraws of other HTML views that are not being printed that might be in "needs display" state when 28966 printing began. 28967 (-[WebHTMLView _setUsingPrinterFonts:]): Added. Calls _setUsingPrinterFonts on all WebHTMLViews inside 28968 this one, then does the work for this one. Uses the frame hierarchy rather than the view hierarchy, but 28969 either would work. If printer font state is changing, then sets the WebTextRendererFactory mode, then 28970 forces a layout and application of styles, but without triggering display. 28971 (-[WebHTMLView beginDocument]): Do an explicit display so this view does not have to be displayed while 28972 it is in "use printer fonts" mode. Then call _setUsingPrinterFonts:YES so that drawRect will use printer 28973 fonts, and also that the WebCore data structures and layout will be updated to reflect printer fonts as 28974 opposed to screen fonts. 28975 (-[WebHTMLView endDocument]): Call _setUsingPrinterFonts:NO to restore things to normal after printing. 28976 * WebView.subproj/WebHTMLViewPrivate.h: Removed unused canDragTo, canDragFrom, and liveAllowsScrolling 28977 fields. Added usingPrinterFonts field. 28978 28979 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 28980 289812003-03-24 Ken Kocienda <kocienda@apple.com> 28982 28983 Reviewed by Darin 28984 28985 Removed now-obsolete WebResponseCachePolicy enum. 28986 Once the new cache API is ready, there will be new features 28987 to replace what this enum provided. Seeing as how this 28988 enum was largely unused, there is no impact associated with 28989 removing it now. 28990 28991 * WebCoreSupport.subproj/WebSubresourceClient.m: 28992 (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): 28993 289942003-03-24 Ken Kocienda <kocienda@apple.com> 28995 28996 Reviewed by John 28997 28998 Cleaned up some missed WebRequest -> NSURLRequest 28999 name conversions. 29000 29001 * WebView.subproj/WebFramePrivate.m 29002 290032003-03-24 Ken Kocienda <kocienda@apple.com> 29004 29005 Reviewed by John 29006 29007 Changed WebRequest to NSURLRequest. Several other names, 29008 like some constants whose names were based on WebRequest, 29009 changed as well. 29010 29011 * Downloads.subproj/WebDownload.h: 29012 * Downloads.subproj/WebDownload.m: 29013 (-[WebDownload initWithRequest:]): 29014 (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): 29015 (+[WebDownload _downloadWithLoadingResource:request:response:delegate:proxy:]): 29016 (-[WebDownload _setRequest:]): 29017 (-[WebDownload resource:willSendRequest:]): 29018 * Downloads.subproj/WebDownloadPrivate.h: 29019 * Misc.subproj/WebIconLoader.m: 29020 (-[WebIconLoader startLoading]): 29021 (-[WebIconLoader resource:willSendRequest:]): 29022 * Plugins.subproj/WebBaseNetscapePluginView.m: 29023 (-[WebBaseNetscapePluginView requestWithURLCString:]): 29024 (-[WebBaseNetscapePluginView loadPluginRequest:]): 29025 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): 29026 (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]): 29027 (-[WebBaseNetscapePluginView getURL:target:]): 29028 (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]): 29029 (-[WebPluginRequest initWithRequest:frameName:notifyData:]): 29030 (-[WebPluginRequest request]): 29031 * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h: 29032 * Plugins.subproj/WebNetscapePluginEmbeddedView.m: 29033 (-[WebNetscapePluginEmbeddedView viewDidMoveToWindow]): 29034 * Plugins.subproj/WebNetscapePluginStream.h: 29035 * Plugins.subproj/WebNetscapePluginStream.m: 29036 (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]): 29037 * Plugins.subproj/WebPluginController.m: 29038 (-[WebPluginController showURL:inFrame:]): 29039 * WebCoreSupport.subproj/WebBridge.m: 29040 (-[WebBridge createWindowWithURL:frameName:]): 29041 (-[WebBridge objectLoadedFromCacheWithURL:response:size:]): 29042 (-[WebBridge isReloading]): 29043 (-[WebBridge loadEmptyDocumentSynchronously]): 29044 * WebCoreSupport.subproj/WebSubresourceClient.m: 29045 (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): 29046 (-[WebSubresourceClient resource:willSendRequest:]): 29047 * WebView.subproj/WebBaseResourceHandleDelegate.h: 29048 * WebView.subproj/WebBaseResourceHandleDelegate.m: 29049 (-[WebBaseResourceHandleDelegate startLoading:]): 29050 (-[WebBaseResourceHandleDelegate loadWithRequest:]): 29051 (-[WebBaseResourceHandleDelegate resource:willSendRequest:]): 29052 * WebView.subproj/WebDataSource.h: 29053 * WebView.subproj/WebDataSource.m: 29054 (-[WebDataSource initWithRequest:]): 29055 (-[WebDataSource initialRequest]): 29056 (-[WebDataSource request]): 29057 * WebView.subproj/WebDataSourcePrivate.h: 29058 * WebView.subproj/WebDataSourcePrivate.m: 29059 (-[WebDataSource _setURL:]): 29060 (-[WebDataSource _setRequest:]): 29061 (-[WebDataSource _originalRequest]): 29062 (-[WebDataSource _lastCheckedRequest]): 29063 (-[WebDataSource _setLastCheckedRequest:]): 29064 * WebView.subproj/WebDefaultContextMenuDelegate.m: 29065 (-[WebDefaultContextMenuDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): 29066 (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]): 29067 * WebView.subproj/WebDefaultPolicyDelegate.m: 29068 (-[WebDefaultPolicyDelegate webView:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]): 29069 (-[WebDefaultPolicyDelegate webView:decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]): 29070 * WebView.subproj/WebDefaultResourceLoadDelegate.m: 29071 (-[WebDefaultResourceLoadDelegate webView:identifierForInitialRequest:fromDataSource:]): 29072 (-[WebDefaultResourceLoadDelegate webView:resource:willSendRequest:fromDataSource:]): 29073 * WebView.subproj/WebDefaultWindowOperationsDelegate.m: 29074 * WebView.subproj/WebFrame.h: 29075 * WebView.subproj/WebFrame.m: 29076 (-[WebFrame loadRequest:]): 29077 (-[WebFrame reload]): 29078 * WebView.subproj/WebFramePrivate.h: 29079 * WebView.subproj/WebFramePrivate.m: 29080 (-[WebFrame _createItem]): 29081 (-[WebFrame _loadItem:fromItem:withLoadType:]): 29082 (-[WebFrame _loadRequest:triggeringAction:loadType:formState:]): 29083 (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): 29084 (-[WebFrame _checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]): 29085 (-[WebFrame _continueAfterNewWindowPolicy:]): 29086 (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]): 29087 (-[WebFrame _continueAfterNavigationPolicy:]): 29088 (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): 29089 (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]): 29090 (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]): 29091 (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): 29092 (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): 29093 (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]): 29094 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): 29095 (-[WebFrame _loadRequest:inFrameNamed:]): 29096 * WebView.subproj/WebFrameView.m: 29097 (-[WebFrameView concludeDragOperation:]): 29098 * WebView.subproj/WebImageRepresentation.m: 29099 * WebView.subproj/WebMainResourceClient.m: 29100 (-[WebMainResourceClient continueAfterNavigationPolicy:formState:]): 29101 (-[WebMainResourceClient resource:willSendRequest:]): 29102 (-[WebMainResourceClient continueAfterContentPolicy:response:]): 29103 (-[WebMainResourceClient startLoading:]): 29104 (-[WebResourceDelegateProxy resource:willSendRequest:]): 29105 * WebView.subproj/WebPolicyDelegate.h: 29106 * WebView.subproj/WebResourceLoadDelegate.h: 29107 * WebView.subproj/WebView.m: 29108 (-[WebView takeStringURLFrom:]): 29109 * WebView.subproj/WebViewPrivate.h: 29110 * WebView.subproj/WebViewPrivate.m: 29111 (-[WebView _downloadURL:toDirectory:]): 29112 (-[WebView _openNewWindowWithRequest:]): 29113 * WebView.subproj/WebWindowOperationsDelegate.h: 29114 291152003-03-21 Chris Blumenberg <cblu@apple.com> 29116 29117 Fixed: 3081681 - text/calendar should be downloaded instead of displayed 29118 Fixed: 3177603 - vCards appear in browser, not downloaded 29119 29120 Reviewed by darin. 29121 29122 * WebView.subproj/WebDataSourcePrivate.h: 29123 * WebView.subproj/WebDataSourcePrivate.m: 29124 (+[WebDataSource _representationClassForMIMEType:]): was _canShowMIMEType 29125 * WebView.subproj/WebFrameViewPrivate.h: 29126 * WebView.subproj/WebFrameViewPrivate.m: 29127 (+[WebFrameView _viewClassForMIMEType:]): was _canShowMIMEType 29128 * WebView.subproj/WebTextView.h: 29129 * WebView.subproj/WebTextView.m: 29130 (+[WebTextView unshowableMIMETypes]): new, returns text types that shouldn't be shown 29131 * WebView.subproj/WebView.m: 29132 (+[WebView canShowMIMEType:]): call unshowableMIMETypes 29133 291342003-03-20 Richard Williamson <rjw@apple.com> 29135 29136 Use "Item" consistently in the WebHistory and WebBackForwardList. 29137 Change createSharedHistoryWithFile: to setSharedHistory: 29138 Make the various page cache methods per WebBackForwardList instead of global. 29139 29140 Reviewed by gramps. 29141 29142 * History.subproj/WebBackForwardList.h: 29143 * History.subproj/WebBackForwardList.m: 29144 (-[WebBackForwardListPrivate dealloc]): 29145 (-[WebBackForwardList init]): 29146 (-[WebBackForwardList dealloc]): 29147 (-[WebBackForwardList goBack]): 29148 (-[WebBackForwardList goForward]): 29149 (-[WebBackForwardList goToItem:]): 29150 (-[WebBackForwardList backItem]): 29151 (-[WebBackForwardList currentItem]): 29152 (-[WebBackForwardList forwardItem]): 29153 (-[WebBackForwardList containsItem:]): 29154 (-[WebBackForwardList maximumSize]): 29155 (-[WebBackForwardList setMaximumSize:]): 29156 (-[WebBackForwardList description]): 29157 (-[WebBackForwardList clearPageCache]): 29158 (-[WebBackForwardList setPageCacheSize:]): 29159 (-[WebBackForwardList pageCacheSize]): 29160 (-[WebBackForwardList setUsesPageCache:]): 29161 (-[WebBackForwardList usesPageCache]): 29162 (-[WebBackForwardList backListCount]): 29163 (-[WebBackForwardList forwardListCount]): 29164 (-[WebBackForwardList itemAtIndex:]): 29165 * History.subproj/WebHistory.h: 29166 * History.subproj/WebHistory.m: 29167 (-[_WebCoreHistoryProvider containsItemForURLString:]): 29168 (+[WebHistory setSharedHistory:]): 29169 (-[WebHistory addItemForURL:]): 29170 (-[WebHistory addItem:]): 29171 (-[WebHistory removeItem:]): 29172 (-[WebHistory removeItems:]): 29173 (-[WebHistory removeAllItems]): 29174 (-[WebHistory addItems:]): 29175 (-[WebHistory orderedItemsLastVisitedOnDay:]): 29176 (-[WebHistory containsItemForURLString:]): 29177 (-[WebHistory itemForURL:]): 29178 * History.subproj/WebHistoryItem.h: 29179 * History.subproj/WebHistoryPrivate.h: 29180 * History.subproj/WebHistoryPrivate.m: 29181 (-[WebHistoryPrivate insertItem:atDateIndex:]): 29182 (-[WebHistoryPrivate removeItemForURLString:]): 29183 (-[WebHistoryPrivate addItem:]): 29184 (-[WebHistoryPrivate removeItem:]): 29185 (-[WebHistoryPrivate removeItems:]): 29186 (-[WebHistoryPrivate removeAllItems]): 29187 (-[WebHistoryPrivate addItems:]): 29188 (-[WebHistoryPrivate orderedItemsLastVisitedOnDay:]): 29189 (-[WebHistoryPrivate containsItemForURLString:]): 29190 (-[WebHistoryPrivate itemForURL:]): 29191 (-[WebHistoryPrivate _loadHistoryGuts:]): 29192 * WebCoreSupport.subproj/WebBridge.m: 29193 (-[WebBridge goBackOrForward:]): 29194 * WebKit.exp: 29195 * WebKit.pbproj/project.pbxproj: 29196 * WebView.subproj/WebDataSourcePrivate.m: 29197 (-[WebDataSource _setTitle:]): 29198 * WebView.subproj/WebFramePrivate.m: 29199 (-[WebFrame _addBackForwardItemClippedAtTarget:]): 29200 (-[WebFrame _transitionToCommitted:]): 29201 (-[WebFrame _canCachePage]): 29202 (-[WebFrame _purgePageCache]): 29203 (-[WebFrame _goToItem:withLoadType:]): 29204 (-[WebFrame _resetBackForwardListToCurrent]): 29205 * WebView.subproj/WebLocationChangeDelegate.h: 29206 * WebView.subproj/WebResourceLoadDelegate.h: 29207 * WebView.subproj/WebView.h: 29208 * WebView.subproj/WebView.m: 29209 (-[WebView _commonInitialization:frameName:groupName:]): 29210 (-[WebView setMaintainsBackForwardList:]): 29211 (-[WebView goBack]): 29212 (-[WebView goForward]): 29213 292142003-03-20 Chris Blumenberg <cblu@apple.com> 29215 29216 Properly handle file URL directory errors. 29217 29218 Reviewed by trey. 29219 29220 * Misc.subproj/WebIconDatabase.m: 29221 (-[WebIconDatabase _iconForFileURL:withSize:]): when file URL has no path, return generic file icon 29222 * WebView.subproj/WebMainResourceClient.m: 29223 (-[WebMainResourceClient interruptForPolicyChangeError]): set the URL, don't set it to nil! 29224 292252003-03-20 Vicki Murley <vicki@apple.com> 29226 29227 don't include WebFoundation.h 29228 29229 Reviewed by cblu. 29230 29231 * Plugins.subproj/WebBaseNetscapePluginStream.m: 29232 * Plugins.subproj/WebNetscapePluginRepresentation.m: 29233 * Plugins.subproj/WebNetscapePluginStream.m: 29234 29235=== Safari-68 === 29236 292372003-03-20 Darin Adler <darin@apple.com> 29238 29239 * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 29240 292412003-03-19 Ed Voas voas@apple.com 29242 29243 Reviewed by Richard. 29244 29245 React to WebView API changes. Redo HIWebView API. 29246 29247 * Carbon.subproj/HIWebView.h: 29248 * Carbon.subproj/HIWebView.m: 29249 (if): 29250 (switch): 29251 * Carbon.subproj/HIWebViewPriv.h: Removed. 29252 * WebKit.exp: 29253 * WebKit.pbproj/project.pbxproj: 29254 292552003-03-19 Richard Williamson <rjw@apple.com> 29256 29257 Removed initWithView:* constructors from WebView. 29258 New designated initializer for WebView is initWithFrame:frameName:groupName: 29259 29260 Reviewed by cblu & ed. 29261 29262 * Carbon.subproj/HIWebView.m: 29263 * WebView.subproj/WebView.h: 29264 * WebView.subproj/WebView.m: 29265 (-[WebView init]): 29266 (-[WebView initWithFrame:]): 29267 292682003-03-19 Richard Williamson <rjw@apple.com> 29269 29270 Rename WebControllerPolicyDelegate*.[hm] to WebPolicyDelegate*.[hm] 29271 29272 Reviewed by trey. 29273 29274 * API-Issues.rtf: 29275 * Misc.subproj/WebKit.h: 29276 * WebKit.pbproj/project.pbxproj: 29277 * WebView.subproj/WebControllerPolicyDelegate.h: Removed. 29278 * WebView.subproj/WebControllerPolicyDelegate.m: Removed. 29279 * WebView.subproj/WebControllerPolicyDelegatePrivate.h: Removed. 29280 * WebView.subproj/WebDataSourcePrivate.m: 29281 * WebView.subproj/WebDefaultContextMenuDelegate.m: 29282 * WebView.subproj/WebFramePrivate.h: 29283 * WebView.subproj/WebFramePrivate.m: 29284 * WebView.subproj/WebFrameView.h: 29285 * WebView.subproj/WebHTMLViewPrivate.m: 29286 * WebView.subproj/WebMainResourceClient.m: 29287 * WebView.subproj/WebPolicyDelegate.m: 29288 * WebView.subproj/WebPolicyDelegatePrivate.h: 29289 * WebView.subproj/WebView.m: 29290 * WebView.subproj/WebViewPrivate.h: 29291 292922003-03-19 Darin Adler <darin@apple.com> 29293 29294 Reviewed by John. 29295 29296 - fixed 3202780 -- REGRESSION: progress bar, stop button, both get stuck in "loading" state (bartsoft.com) 29297 29298 * WebView.subproj/WebDataSource.m: (-[WebDataSource isLoading]): 29299 Add back the "is this page complete" check, so that subresource loads don't make us 29300 think we're loading again, once the page is complete. On the other hand, frames 29301 must still be checked independent of the "is this page complete" flag to avoid 29302 reintroducing bug 3200611. 29303 293042003-03-19 Ed Voas voas@apple.com 29305 29306 Reviewed by Richard. 29307 29308 Got it working in non-compositing mode as well, so in theory it 29309 can work inside a PowerPlant application as well. It's a bit of what 29310 I'd consider a hack, but it's pretty straightforward. 29311 29312 * Carbon.subproj/CarbonWindowAdapter.m: 29313 (-[CarbonWindowAdapter setViewsNeedDisplay:]): 29314 * Carbon.subproj/HIViewAdapter.h: 29315 * Carbon.subproj/HIViewAdapter.m: 29316 (+[HIViewAdapter bindHIViewToNSView:nsView:]): 29317 (-[HIViewAdapter setNeedsDisplay:]): 29318 (-[HIViewAdapter setNeedsDisplayInRect:]): 29319 (SetViewNeedsDisplay): 29320 * Carbon.subproj/HIWebView.m: 29321 (if): 29322 293232003-03-18 Maciej Stachowiak <mjs@apple.com> 29324 29325 Reviewed by Trey. 29326 29327 - fixed 3127431 - bring the window with the named frame to the front 29328 29329 * WebCoreSupport.subproj/WebBridge.m: 29330 (-[WebBridge focusWindow]): Tell the window operations delegate to focus. 29331 (-[WebBridge loadURL:referrer:reload:target:triggeringEvent:form:formValues:]): 29332 If this navigation is meant for a different frame, focus its window. 29333 (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): 29334 Likewise. 29335 293362003-03-18 Trey Matteson <trey@apple.com> 29337 29338 3077223 full keyboard UI navigation fails in authentication sheet 29339 29340 Hook up the views in this panel into a useful nextKeyView cycle. 29341 29342 Reviewed by Maciej. 29343 29344 * Panels.subproj/English.lproj/WebAuthenticationPanel.nib: 29345 293462003-03-17 Trey Matteson <trey@apple.com> 29347 29348 Support for saving passwords on forms-based logins. Biggest change is that 29349 the willSubmitForm: message is async to allow a sheet to be presented. 29350 29351 Also fixed @interface.*{ so prepare-change-log can swallow WebFramePrivate.m. 29352 29353 Reviewed by Maciej. 29354 29355 * WebView.subproj/WebControllerPolicyDelegate.m: 29356 (-[WebPolicyDecisionListener continue]): The decision listener also 29357 implements WebFormSubmissionListener, to share some other impl. 29358 * WebView.subproj/WebControllerPolicyDelegatePrivate.h: 29359 * WebView.subproj/WebFormDelegate.h: 29360 * WebView.subproj/WebFormDelegate.m: 29361 (-[WebFormDelegate frame:willSubmitForm:withValues:submissionListener:]): 29362 Take listener param for async API. 29363 * WebView.subproj/WebFramePrivate.m: 29364 (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): 29365 Latent bug. Don't call willSubmitForm if no values are being submitted. 29366 (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): 29367 Latent bug. Don't call willSubmitForm if no values are being submitted. 29368 (-[WebFrame _continueAfterWillSubmitForm:]): 29369 Continuation code for after FormDelegate is done with willSubmitForm. 29370 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): 29371 Pass new listener arg to willSubmitForm. 29372 * WebView.subproj/WebHTMLRepresentation.h: 29373 * WebView.subproj/WebHTMLRepresentation.m: 29374 Nuke deadwood formIsLoginForm. 29375 (-[WebHTMLRepresentation elementIsPassword:]): Just pass through glue 29376 over the bridge. 29377 293782003-03-18 Richard Williamson <rjw@apple.com> 29379 29380 Another rename WebController*.[hm] to WebView*.[hm] 29381 29382 Reviewed by darin. 29383 29384 * Carbon.subproj/HIWebView.h: 29385 * Misc.subproj/WebKit.h: 29386 * Misc.subproj/WebNSPasteboardExtras.m: 29387 * Panels.subproj/WebStandardPanelsPrivate.h: 29388 * Plugins.subproj/WebBaseNetscapePluginView.m: 29389 * Plugins.subproj/WebNetscapePluginDocumentView.m: 29390 * Plugins.subproj/WebNetscapePluginEmbeddedView.m: 29391 * Plugins.subproj/WebNetscapePluginStream.m: 29392 * Plugins.subproj/WebNullPluginView.m: 29393 * Plugins.subproj/WebPluginController.m: 29394 * WebCoreSupport.subproj/WebBridge.m: 29395 * WebCoreSupport.subproj/WebSubresourceClient.m: 29396 * WebKit.pbproj/project.pbxproj: 29397 * WebView.subproj/WebBaseResourceHandleDelegate.m: 29398 * WebView.subproj/WebController.h: Removed. 29399 * WebView.subproj/WebController.m: Removed. 29400 * WebView.subproj/WebControllerPrivate.h: Removed. 29401 * WebView.subproj/WebControllerPrivate.m: Removed. 29402 * WebView.subproj/WebDataSource.m: 29403 * WebView.subproj/WebDataSourcePrivate.m: 29404 * WebView.subproj/WebDefaultContextMenuDelegate.m: 29405 * WebView.subproj/WebDefaultPolicyDelegate.m: 29406 * WebView.subproj/WebDefaultResourceLoadDelegate.m: 29407 * WebView.subproj/WebDefaultWindowOperationsDelegate.m: 29408 * WebView.subproj/WebFrame.m: 29409 * WebView.subproj/WebFramePrivate.m: 29410 * WebView.subproj/WebFrameView.m: 29411 * WebView.subproj/WebFrameViewPrivate.m: 29412 * WebView.subproj/WebHTMLView.m: 29413 * WebView.subproj/WebHTMLViewPrivate.m: 29414 * WebView.subproj/WebImageView.m: 29415 * WebView.subproj/WebMainResourceClient.m: 29416 * WebView.subproj/WebTextView.m: 29417 * WebView.subproj/WebView.h: 29418 * WebView.subproj/WebView.m: 29419 * WebView.subproj/WebViewPrivate.h: 29420 * WebView.subproj/WebViewPrivate.m: 29421 294222003-03-18 Richard Williamson <rjw@apple.com> 29423 29424 Renamed WebView*.[hm] to WebFrameView*.[hm] 29425 29426 * Misc.subproj/WebKit.h: 29427 * Misc.subproj/WebNSViewExtras.m: 29428 * Panels.subproj/WebStandardPanels.m: 29429 * Plugins.subproj/WebBaseNetscapePluginView.m: 29430 * Plugins.subproj/WebNetscapePluginDocumentView.m: 29431 * Plugins.subproj/WebNetscapePluginEmbeddedView.m: 29432 * Plugins.subproj/WebNetscapePluginRepresentation.m: 29433 * Plugins.subproj/WebNullPluginView.m: 29434 * Plugins.subproj/WebPluginController.m: 29435 * Plugins.subproj/WebPluginDatabase.m: 29436 * WebCoreSupport.subproj/WebBridge.m: 29437 * WebKit.pbproj/project.pbxproj: 29438 * WebView.subproj/WebController.m: 29439 * WebView.subproj/WebControllerPrivate.m: 29440 * WebView.subproj/WebDataSourcePrivate.m: 29441 * WebView.subproj/WebDebugDOMNode.m: 29442 * WebView.subproj/WebDefaultContextMenuDelegate.m: 29443 * WebView.subproj/WebFrame.m: 29444 * WebView.subproj/WebFramePrivate.m: 29445 * WebView.subproj/WebFrameView.m: 29446 * WebView.subproj/WebFrameViewPrivate.h: 29447 * WebView.subproj/WebFrameViewPrivate.m: 29448 * WebView.subproj/WebHTMLView.m: 29449 * WebView.subproj/WebHTMLViewPrivate.m: 29450 * WebView.subproj/WebImageView.m: 29451 * WebView.subproj/WebMainResourceClient.m: 29452 * WebView.subproj/WebRenderNode.m: 29453 * WebView.subproj/WebTextView.m: 29454 * WebView.subproj/WebView.h: Removed. 29455 * WebView.subproj/WebView.m: Removed. 29456 * WebView.subproj/WebViewPrivate.h: Removed. 29457 * WebView.subproj/WebViewPrivate.m: Removed. 29458 294592003-03-18 Richard Williamson <rjw@apple.com> 29460 29461 Stage 2 of WebController to WebView renaming. 29462 29463 Reviewed by hyatt. 29464 29465 * API-Issues.rtf: 29466 * Carbon.subproj/HIWebView.h: 29467 * Carbon.subproj/HIWebView.m: 29468 * Misc.subproj/WebNSPasteboardExtras.m: 29469 (-[NSPasteboard _web_bestURL]): 29470 * Panels.subproj/WebStandardPanels.m: 29471 (-[WebStandardPanels _didStartLoadingURL:inController:]): 29472 (-[WebStandardPanels _didStopLoadingURL:inController:]): 29473 (-[WebStandardPanels frontmostWindowLoadingURL:]): 29474 * Panels.subproj/WebStandardPanelsPrivate.h: 29475 * Plugins.subproj/WebBaseNetscapePluginView.h: 29476 * Plugins.subproj/WebBaseNetscapePluginView.m: 29477 (-[WebBaseNetscapePluginView controller]): 29478 (-[WebBaseNetscapePluginView loadPluginRequest:]): 29479 * Plugins.subproj/WebNetscapePluginDocumentView.m: 29480 (-[WebNetscapePluginDocumentView setDataSource:]): 29481 * Plugins.subproj/WebNetscapePluginRepresentation.m: 29482 (-[WebNetscapePluginRepresentation isPluginViewStarted]): 29483 (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): 29484 * Plugins.subproj/WebNullPluginView.m: 29485 (-[WebNullPluginView viewDidMoveToWindow]): 29486 * Plugins.subproj/WebPluginController.m: 29487 (-[WebPluginController showStatus:]): 29488 * WebCoreSupport.subproj/WebBridge.m: 29489 (-[WebBridge mainFrame]): 29490 (-[WebBridge createWindowWithURL:frameName:]): 29491 (-[WebBridge showWindow]): 29492 (-[WebBridge areToolbarsVisible]): 29493 (-[WebBridge setToolbarsVisible:]): 29494 (-[WebBridge areScrollbarsVisible]): 29495 (-[WebBridge setScrollbarsVisible:]): 29496 (-[WebBridge isStatusBarVisible]): 29497 (-[WebBridge setStatusBarVisible:]): 29498 (-[WebBridge setWindowFrame:]): 29499 (-[WebBridge window]): 29500 (-[WebBridge runJavaScriptAlertPanelWithMessage:]): 29501 (-[WebBridge runJavaScriptConfirmPanelWithMessage:]): 29502 (-[WebBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]): 29503 (-[WebBridge runOpenPanelForFileButtonWithResultListener:]): 29504 (-[WebBridge setStatusText:]): 29505 (-[WebBridge objectLoadedFromCacheWithURL:response:size:]): 29506 (-[WebBridge setWebFrame:]): 29507 (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): 29508 (-[WebBridge userAgentForURL:]): 29509 (-[WebBridge nextKeyViewOutsideWebFrameViews]): 29510 (-[WebBridge previousKeyViewOutsideWebFrameViews]): 29511 (-[WebBridge defersLoading]): 29512 (-[WebBridge setDefersLoading:]): 29513 (-[WebBridge setNeedsReapplyStyles]): 29514 (-[WebBridge setNeedsLayout]): 29515 (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): 29516 (-[WebBridge handleMouseDragged:]): 29517 (-[WebBridge mayStartDragWithMouseDragged:]): 29518 (-[WebBridge historyLength]): 29519 (-[WebBridge goBackOrForward:]): 29520 (formDelegate): 29521 * WebCoreSupport.subproj/WebSubresourceClient.m: 29522 (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): 29523 * WebKit.exp: 29524 * WebView.subproj/WebBaseResourceHandleDelegate.h: 29525 * WebView.subproj/WebBaseResourceHandleDelegate.m: 29526 (-[WebBaseResourceHandleDelegate resource:willSendRequest:]): 29527 (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]): 29528 (-[WebBaseResourceHandleDelegate resource:didReceiveData:]): 29529 (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]): 29530 (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]): 29531 (-[WebBaseResourceHandleDelegate cancelWithError:]): 29532 * WebView.subproj/WebContextMenuDelegate.h: 29533 * WebView.subproj/WebController.h: 29534 * WebView.subproj/WebController.m: 29535 (-[WebView _commonInitialization:frameName:groupName:]): 29536 (-[WebView initWithFrame:]): 29537 (-[WebView supportsTextEncoding]): 29538 (-[WebView userAgentForURL:]): 29539 * WebView.subproj/WebControllerPolicyDelegate.h: 29540 * WebView.subproj/WebControllerPrivate.h: 29541 * WebView.subproj/WebControllerPrivate.m: 29542 (-[WebViewPrivate _clearControllerReferences:]): 29543 (+[WebView canShowFile:]): 29544 (+[WebView suggestedFileExtensionForMIMEType:]): 29545 (-[WebView _createFrameNamed:inParent:allowsScrolling:]): 29546 (-[WebView _findFrameNamed:]): 29547 (-[WebView _openNewWindowWithRequest:]): 29548 (-[WebView _menuForElement:]): 29549 (-[WebView _mouseDidMoveOverElement:modifierFlags:]): 29550 (-[WebView _frameForView:fromFrame:]): 29551 * WebView.subproj/WebControllerSets.h: 29552 * WebView.subproj/WebControllerSets.m: 29553 (+[WebControllerSets addController:toSetNamed:]): 29554 (+[WebControllerSets removeController:fromSetNamed:]): 29555 * WebView.subproj/WebDataSource.h: 29556 * WebView.subproj/WebDataSourcePrivate.h: 29557 * WebView.subproj/WebDataSourcePrivate.m: 29558 (-[WebDataSource _controller]): 29559 (-[WebDataSource _setController:]): 29560 (-[WebDataSource _startLoading:]): 29561 (-[WebDataSource _setTitle:]): 29562 (-[WebDataSource _setRequest:]): 29563 (-[WebDataSource _layoutChildren]): 29564 (+[WebDataSource _repTypes]): 29565 (-[WebDataSource _receivedData:]): 29566 (-[WebDataSource _updateIconDatabaseWithURL:]): 29567 * WebView.subproj/WebDefaultContextMenuDelegate.m: 29568 (-[WebDefaultContextMenuDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): 29569 (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]): 29570 (-[WebDefaultContextMenuDelegate downloadURL:]): 29571 * WebView.subproj/WebDefaultLocationChangeDelegate.m: 29572 (-[WebDefaultLocationChangeDelegate webView:locationChangeStartedForDataSource:]): 29573 (-[WebDefaultLocationChangeDelegate webView:serverRedirectedForDataSource:]): 29574 (-[WebDefaultLocationChangeDelegate webView:locationChangeCommittedForDataSource:]): 29575 (-[WebDefaultLocationChangeDelegate webView:receivedPageTitle:forDataSource:]): 29576 (-[WebDefaultLocationChangeDelegate webView:receivedPageIcon:forDataSource:]): 29577 (-[WebDefaultLocationChangeDelegate webView:locationChangeDone:forDataSource:]): 29578 (-[WebDefaultLocationChangeDelegate webView:willCloseLocationForDataSource:]): 29579 (-[WebDefaultLocationChangeDelegate webView:locationChangedWithinPageForDataSource:]): 29580 (-[WebDefaultLocationChangeDelegate webView:clientWillRedirectTo:delay:fireDate:forFrame:]): 29581 (-[WebDefaultLocationChangeDelegate webView:clientRedirectCancelledForFrame:]): 29582 * WebView.subproj/WebDefaultPolicyDelegate.m: 29583 (-[WebDefaultPolicyDelegate webView:unableToImplementPolicyWithError:inFrame:]): 29584 (-[WebDefaultPolicyDelegate webView:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]): 29585 (-[WebDefaultPolicyDelegate webView:decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]): 29586 * WebView.subproj/WebDefaultResourceLoadDelegate.m: 29587 (-[WebDefaultResourceLoadDelegate webView:identifierForInitialRequest:fromDataSource:]): 29588 (-[WebDefaultResourceLoadDelegate webView:resource:willSendRequest:fromDataSource:]): 29589 (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveResponse:fromDataSource:]): 29590 (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveContentLength:fromDataSource:]): 29591 (-[WebDefaultResourceLoadDelegate webView:resource:didFinishLoadingFromDataSource:]): 29592 (-[WebDefaultResourceLoadDelegate webView:resource:didFailLoadingWithError:fromDataSource:]): 29593 (-[WebDefaultResourceLoadDelegate webView:pluginFailedWithError:dataSource:]): 29594 * WebView.subproj/WebDefaultWindowOperationsDelegate.m: 29595 (-[WebDefaultWindowOperationsDelegate webView:runJavaScriptConfirmPanelWithMessage:]): 29596 (-[WebDefaultWindowOperationsDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:]): 29597 (-[WebDefaultWindowOperationsDelegate webView:runOpenPanelForFileButtonWithResultListener:]): 29598 * WebView.subproj/WebFrame.h: 29599 * WebView.subproj/WebFrame.m: 29600 (-[WebFrame init]): 29601 (-[WebFrame initWithName:webFrameView:webView:]): 29602 (-[WebFrame frameView]): 29603 (-[WebFrame webView]): 29604 (-[WebFrame findFrameNamed:]): 29605 (+[WebFrame registerViewClass:representationClass:forMIMEType:]): 29606 * WebView.subproj/WebFramePrivate.h: 29607 * WebView.subproj/WebFramePrivate.m: 29608 (if): 29609 (switch): 29610 * WebView.subproj/WebHTMLView.h: 29611 * WebView.subproj/WebHTMLViewPrivate.h: 29612 * WebView.subproj/WebHTMLViewPrivate.m: 29613 (-[WebHTMLView _controller]): 29614 * WebView.subproj/WebImageView.m: 29615 (-[WebImageView controller]): 29616 (-[WebImageView menuForEvent:]): 29617 * WebView.subproj/WebLocationChangeDelegate.h: 29618 * WebView.subproj/WebMainResourceClient.m: 29619 (-[WebMainResourceClient continueAfterContentPolicy:response:]): 29620 (-[WebMainResourceClient checkContentPolicyForResponse:]): 29621 * WebView.subproj/WebResourceLoadDelegate.h: 29622 * WebView.subproj/WebTextView.m: 29623 (-[WebTextView menuForEvent:]): 29624 * WebView.subproj/WebView.h: 29625 * WebView.subproj/WebView.m: 29626 (-[WebFrameView setAllowsScrolling:]): 29627 (-[WebFrameView allowsScrolling]): 29628 (-[WebFrameView scrollView]): 29629 (-[WebFrameView documentView]): 29630 (-[WebFrameView drawRect:]): 29631 (-[WebFrameView setFrameSize:]): 29632 * WebView.subproj/WebViewPrivate.h: 29633 * WebView.subproj/WebViewPrivate.m: 29634 (-[WebFrameView _controller]): 29635 (-[WebFrameView _setDocumentView:]): 29636 (-[WebFrameView _setController:]): 29637 (-[WebFrameView _contentView]): 29638 (-[WebFrameView _verticalKeyboardScrollAmount]): 29639 (-[WebFrameView _horizontalKeyboardScrollAmount]): 29640 (-[WebFrameView _scrollToBottomLeft]): 29641 (+[WebFrameView _viewTypes]): 29642 * WebView.subproj/WebWindowOperationsDelegate.h: 29643 296442003-03-18 Darin Adler <darin@apple.com> 29645 29646 Reviewed by Richard. 29647 29648 - fixed 3187143 -- when a font-family has many variants, Safari chooses the wrong one 29649 29650 * WebCoreSupport.subproj/WebTextRendererFactory.m: 29651 (-[WebTextRendererFactory fontWithFamily:traits:size:]): 29652 Changed the algorithm here in two ways. 1) Pick the family member with matching traits that has 29653 a weight closest to 5, the standard weight; the old code picked the first family member with 29654 matching traits. 2) Match traits based on a mask of which traits are the important ones. The old 29655 code matched traits based on a rule of "if the trait bit is 1 it matters, otherwise don't care". 29656 296572003-03-18 Darin Adler <darin@apple.com> 29658 29659 Reviewed by Richard. 29660 29661 - fixed 3194756 -- REGRESSION: Geneva bold yields Geneva plain, used to yield Helvetica bold (apple.com) 29662 29663 * WebCoreSupport.subproj/WebTextRendererFactory.m: 29664 (-[WebTextRendererFactory fontWithFamily:traits:size:]): 29665 Remove the first call to NSFontManager before we do our searching algorithm. 29666 We always need to do the searching, because NSFontManager uses a different set of rules. 29667 296682003-03-17 Chris Blumenberg <cblu@apple.com> 29669 29670 Fixed: 3200647 - File I/O related download errors just says "error" 29671 Reviewed by darin. 29672 29673 * Downloads.subproj/WebDownload.m: 29674 (+[WebDownloadPrivate initialize]): call _registerWebKitErrors 29675 * English.lproj/Localizable.strings: 29676 * Misc.subproj/WebKitErrors.h: cleaned-up, removed unused errors 29677 * Misc.subproj/WebKitErrors.m: 29678 (+[WebError _registerWebKitErrors]): 29679 (registerErrors): 29680 * WebKit.pbproj/project.pbxproj: 29681 * WebView.subproj/WebView.m: 29682 (+[WebFrameView initialize]): call _registerWebKitErrors 29683 296842003-03-17 Darin Adler <darin@apple.com> 29685 29686 Reviewed by Chris and Richard. 29687 29688 - fixed 3200611 -- Progress indicator in tabs not shown for subframe loads 29689 29690 * WebView.subproj/WebDataSource.m: (-[WebDataSource isLoading]): 29691 Remove the early out for when we're in the WebFrameStateComplete state. 29692 The top frame being complete does not really tell us anything about whether subframes 29693 are complete, especially since they can have their locations changed without affecting 29694 the top level frame at all. 29695 29696 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 29697 296982003-03-17 Chris Blumenberg <cblu@apple.com> 29699 29700 Made data categories use the "_web_" prefix. 29701 29702 Reviewed by darin. 29703 29704 * Plugins.subproj/WebBaseNetscapePluginView.m: 29705 (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]): 29706 (-[NSData _web_startsWithBlankLine]): 29707 (-[NSData _web_locationAfterFirstBlankLine]): 29708 297092003-03-17 Chris Blumenberg <cblu@apple.com> 29710 29711 Fixed: 3199105 - Accept carbon-style file URLs from plug-in POST requests 29712 Fixed: 3148767 - POST (aka Flash Remoting) doesn't work from Flash 29713 29714 Reviewed by kocienda. 29715 29716 * Plugins.subproj/WebBaseNetscapePluginView.m: 29717 (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]): parse headers, handle carbon POSIX paths 29718 (-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]): call _postURLNotify 29719 (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): call _postURLNotify 29720 (-[NSData startsWithBlankLine]): new 29721 (-[NSData locationAfterFirstBlankLine]): new 29722 297232003-03-17 Maciej Stachowiak <mjs@apple.com> 29724 29725 Reviewed by Darin. 29726 29727 - fixed 3200259 - REGRESSION: Clicking on Flash links at homestarrunner.com creates blank windows 29728 29729 * Plugins.subproj/WebBaseNetscapePluginView.m: 29730 (-[WebBaseNetscapePluginView loadPluginRequest:]): Don't always 29731 make the window, only do it if the frame doesn't already 29732 exist. Duh. 29733 297342003-03-17 Darin Adler <darin@apple.com> 29735 29736 Reviewed by Trey and Maciej. 29737 29738 - fixed 3199154 -- REGRESSION: world leaks on any page load test 29739 29740 * WebView.subproj/WebController.m: (-[WebController initWithView:frameName:groupName:]): 29741 Call through to initWithFrame, the designated initializer, not init. Calling [super init] results 29742 in calling our initWithFrame method, resulting in two calls to the _commonInitialization method. 29743 297442003-03-17 Maciej Stachowiak <mjs@apple.com> 29745 29746 Reviewed by Trey. 29747 29748 Adjusted for WebFoundation API changes. 29749 * Panels.subproj/WebAuthenticationPanel.m: 29750 (-[WebAuthenticationPanel setUpForRequest:]): 29751 297522003-03-17 Darin Adler <darin@apple.com> 29753 29754 * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 29755 297562003-03-17 Chris Blumenberg <cblu@apple.com> 29757 29758 Fixed: 3199951 - Standalone plug-in content that is cancelled doesn't restart when switching tabs 29759 29760 Instead of creating and managing resourceData in WebMainResourceClient then passing the ownership to WebDataSource, just manage it in WebDataSource. We had the prior behavior because we didn't buffer downloads. Now, we always buffer. The fix for the bug 29761 29762 29763 29764 29765 29766 29767is to retain the incomplete data even though the load ends in error. 29768 29769 Reviewed by darin. 29770 29771 * WebView.subproj/WebDataSource.h: updated headerdoc for the data method 29772 * WebView.subproj/WebDataSource.m: 29773 (-[WebDataSource data]): just return resourceData 29774 * WebView.subproj/WebDataSourcePrivate.h: 29775 * WebView.subproj/WebDataSourcePrivate.m: 29776 (-[WebDataSource _receivedData:]): create resourceData if necessary, append data to it. 29777 * WebView.subproj/WebMainResourceClient.h: 29778 * WebView.subproj/WebMainResourceClient.m: 29779 (-[WebMainResourceClient initWithDataSource:]): don't work with resourceData 29780 (-[WebMainResourceClient dealloc]): don't work with resourceData 29781 (-[WebMainResourceClient resource:didReceiveData:]): don't work with resourceData 29782 (-[WebMainResourceClient resourceDidFinishLoading:]): don't work with resourceData 29783 297842003-03-16 Trey Matteson <trey@apple.com> 29785 29786 3198135 - need to fix our projects so SYMROOT is not stripped 29787 29788 Tweaked stripping options: B&I build does not COPY_PHASE_STRIP. 29789 Deployment build still does. 29790 We strip manually as part of the install that we do ourselves. 29791 29792 Reviewed by Maciej. 29793 29794 * WebKit.pbproj/project.pbxproj: 29795 297962003-03-14 Chris Blumenberg <cblu@apple.com> 29797 29798 Backed out changes to WebBaseNetscapePluginView. Unintentional commit. 29799 29800 * Plugins.subproj/WebBaseNetscapePluginView.m: 29801 (-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]): 29802 (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): 29803 298042003-03-14 Chris Blumenberg <cblu@apple.com> 29805 29806 Fixed: 3198961 - REGRESSION: Stopping load of plug-in content is not reflected in UI 29807 29808 Reviewed by mjs. 29809 29810 * WebView.subproj/WebMainResourceClient.m: 29811 (-[WebMainResourceClient cancelWithError:]): call receivedError so [dataSource _receivedError:error complete:YES] is called 29812 298132003-03-14 Maciej Stachowiak <mjs@apple.com> 29814 29815 Reviewed by Don. 29816 29817 - revert premature controller --> webView renaming, it's causing 29818 problems with window opening and such. 29819 * WebView.subproj/WebDefaultWindowOperationsDelegate.m: 29820 298212003-03-14 Chris Blumenberg <cblu@apple.com> 29822 29823 Fixed: 3197872 - Standalone plug-in content isn't restarted when switching tabs 29824 Fixed: 3189675 - assertion in plug-in code fails (nil window) with .swf page displaying standalone in a tab 29825 29826 We start plug-ins when they are added to the window and stop them when they are removed. To restart a plug-in, the data stream must be redelivered. This works in the embedded plug-in case, but in the standalone plug-in case, the stream is delivered by th 29827 29828 29829 29830 29831 29832 29833e machinery in WebKit. The stream is only delivered once. This fix addresses that. 29834 29835 Reviewed by trey. 29836 29837 * Plugins.subproj/WebBaseNetscapePluginStream.m: 29838 (-[WebBaseNetscapePluginStream setResponse:]): reset the offset ivar 29839 (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): If we create a file for the plug-in, handle the case where the file is already created. 29840 * Plugins.subproj/WebBaseNetscapePluginView.h: 29841 * Plugins.subproj/WebBaseNetscapePluginView.m: 29842 (-[WebBaseNetscapePluginView isStarted]): added so the stream knows the state of the view 29843 * Plugins.subproj/WebNetscapePluginDocumentView.m: 29844 (-[WebNetscapePluginDocumentView initWithFrame:]): tweak 29845 (-[WebNetscapePluginDocumentView viewDidMoveToWindow]): call redeliverStream if we are added back to the window 29846 (-[WebNetscapePluginDocumentView setDataSource:]): only start the plug-in if we are in a window, don't assert 29847 * Plugins.subproj/WebNetscapePluginRepresentation.h: 29848 * Plugins.subproj/WebNetscapePluginRepresentation.m: 29849 (-[WebNetscapePluginRepresentation dealloc]): release the retained data source and error 29850 (-[WebNetscapePluginRepresentation setDataSource:]): retain the data source 29851 (-[WebNetscapePluginRepresentation isPluginViewStarted]): new 29852 (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): only do work if isPluginViewStarted 29853 (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): retain the error, only do work if isPluginViewStarted 29854 (-[WebNetscapePluginRepresentation finishedLoadingWithDataSource:]): only do work if isPluginViewStarted 29855 (-[WebNetscapePluginRepresentation redeliverStream]): call receivedData:: with all the received data up to this point. Call receivedError:: or finishedLoadingWithDataSource: if the load is already complete. 29856 298572003-03-13 Maciej Stachowiak <mjs@apple.com> 29858 29859 Reviewed by Trey. 29860 29861 - fixed 3188209 - REGRESSION: onmouseup handlers not running for most form elements 29862 29863 * WebCoreSupport.subproj/WebFileButton.m: 29864 (-[WebFileButton chooseButtonPressed:]): Send appropriate NSNotification. 29865 * WebView.subproj/WebHTMLViewPrivate.m: 29866 (-[WebNSTextView mouseDown:]): Call fieldEditorDidMouseDown: on 29867 delegate, if implemented, after calling super. 29868 298692003-03-13 Richard Williamson <rjw@apple.com> 29870 29871 First stage of the WebController -> WebView, WebView -> WebFrameView. 29872 This change does the WebView -> WebFrameView part of the change. Also 29873 changes WebController's inheritance. It now inherits from NSView. Also 29874 added some simple action methods to WebController (soon to be WebView) 29875 to facilitate IB hookup. 29876 29877 Reviewed by Maciej. 29878 29879 * Carbon.subproj/CarbonWindowAdapter.m: 29880 * Carbon.subproj/HIWebView.h: 29881 * Carbon.subproj/HIWebView.m: 29882 (if): 29883 (switch): 29884 * Carbon.subproj/HIWebViewPriv.h: 29885 * Misc.subproj/WebKitStatistics.m: 29886 (+[WebKitStatistics viewCount]): 29887 * Misc.subproj/WebKitStatisticsPrivate.h: 29888 * Misc.subproj/WebNSViewExtras.h: 29889 * Misc.subproj/WebNSViewExtras.m: 29890 (-[NSView _web_parentWebFrameView]): 29891 * Panels.subproj/WebStandardPanels.m: 29892 (-[WebStandardPanels frontmostWindowLoadingURL:]): 29893 * Plugins.subproj/WebNetscapePluginDocumentView.m: 29894 (-[WebNetscapePluginDocumentView layout]): 29895 * Plugins.subproj/WebNetscapePluginEmbeddedView.m: 29896 (-[WebNetscapePluginEmbeddedView dataSource]): 29897 * Plugins.subproj/WebNetscapePluginRepresentation.m: 29898 (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): 29899 * Plugins.subproj/WebNullPluginView.m: 29900 (-[WebNullPluginView viewDidMoveToWindow]): 29901 * Plugins.subproj/WebPluginDatabase.m: 29902 (-[WebPluginDatabase init]): 29903 * WebCoreSupport.subproj/WebBridge.m: 29904 (-[WebBridge areScrollbarsVisible]): 29905 (-[WebBridge setScrollbarsVisible:]): 29906 (-[WebBridge window]): 29907 (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): 29908 (-[WebBridge nextKeyViewOutsideWebFrameViews]): 29909 (-[WebBridge previousKeyViewOutsideWebFrameViews]): 29910 (-[WebBridge setNeedsReapplyStyles]): 29911 (-[WebBridge setNeedsLayout]): 29912 (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): 29913 (-[WebBridge frameRequiredForMIMEType:]): 29914 (-[WebBridge handleMouseDragged:]): 29915 (-[WebBridge mayStartDragWithMouseDragged:]): 29916 * WebKit.exp: 29917 * WebKit.pbproj/project.pbxproj: 29918 * WebView.subproj/WebController.h: 29919 * WebView.subproj/WebController.m: 29920 (+[WebContentTypes canShowMIMEType:]): 29921 (-[WebController _commonInitialization:frameName:groupName:]): 29922 (-[WebController init]): 29923 (-[WebController initWithFrame:]): 29924 (-[WebController initWithView:]): 29925 (-[WebController supportsTextEncoding]): 29926 (-[WebController takeStringURLFrom:]): 29927 (-[WebController goBack:]): 29928 (-[WebController goForward:]): 29929 (-[WebController stopLoading:]): 29930 * WebView.subproj/WebControllerPrivate.h: 29931 * WebView.subproj/WebControllerPrivate.m: 29932 (-[WebControllerPrivate _clearControllerReferences:]): 29933 (-[WebController _createFrameNamed:inParent:allowsScrolling:]): 29934 (-[WebController _frameForView:fromFrame:]): 29935 (-[WebController _frameForView:]): 29936 * WebView.subproj/WebDataSource.m: 29937 * WebView.subproj/WebDataSourcePrivate.m: 29938 (-[WebDataSource _layoutChildren]): 29939 (-[WebDataSource _receivedData:]): 29940 * WebView.subproj/WebDebugDOMNode.h: 29941 * WebView.subproj/WebDebugDOMNode.m: 29942 (-[WebDebugDOMNode initWithWebFrameView:]): 29943 * WebView.subproj/WebDefaultContextMenuDelegate.m: 29944 (-[WebDefaultContextMenuDelegate controller:contextMenuItemsForElement:defaultMenuItems:]): 29945 * WebView.subproj/WebDefaultLocationChangeDelegate.m: 29946 (-[WebDefaultLocationChangeDelegate controller:locationChangeStartedForDataSource:]): 29947 (-[WebDefaultLocationChangeDelegate controller:serverRedirectedForDataSource:]): 29948 (-[WebDefaultLocationChangeDelegate controller:locationChangeCommittedForDataSource:]): 29949 (-[WebDefaultLocationChangeDelegate controller:receivedPageTitle:forDataSource:]): 29950 (-[WebDefaultLocationChangeDelegate controller:receivedPageIcon:forDataSource:]): 29951 (-[WebDefaultLocationChangeDelegate controller:locationChangeDone:forDataSource:]): 29952 (-[WebDefaultLocationChangeDelegate controller:willCloseLocationForDataSource:]): 29953 (-[WebDefaultLocationChangeDelegate controller:locationChangedWithinPageForDataSource:]): 29954 (-[WebDefaultLocationChangeDelegate controller:clientWillRedirectTo:delay:fireDate:forFrame:]): 29955 (-[WebDefaultLocationChangeDelegate controller:clientRedirectCancelledForFrame:]): 29956 * WebView.subproj/WebDefaultPolicyDelegate.m: 29957 (-[WebDefaultPolicyDelegate controller:unableToImplementPolicyWithError:inFrame:]): 29958 (-[WebDefaultPolicyDelegate controller:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]): 29959 (-[WebDefaultPolicyDelegate controller:decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]): 29960 * WebView.subproj/WebDefaultResourceLoadDelegate.m: 29961 (-[WebDefaultResourceLoadDelegate controller:identifierForInitialRequest:fromDataSource:]): 29962 (-[WebDefaultResourceLoadDelegate controller:resource:willSendRequest:fromDataSource:]): 29963 (-[WebDefaultResourceLoadDelegate controller:resource:didReceiveResponse:fromDataSource:]): 29964 (-[WebDefaultResourceLoadDelegate controller:resource:didReceiveContentLength:fromDataSource:]): 29965 (-[WebDefaultResourceLoadDelegate controller:resource:didFinishLoadingFromDataSource:]): 29966 (-[WebDefaultResourceLoadDelegate controller:resource:didFailLoadingWithError:fromDataSource:]): 29967 (-[WebDefaultResourceLoadDelegate controller:pluginFailedWithError:dataSource:]): 29968 * WebView.subproj/WebDefaultWindowOperationsDelegate.m: 29969 (-[WebDefaultWindowOperationsDelegate controller:runJavaScriptConfirmPanelWithMessage:]): 29970 (-[WebDefaultWindowOperationsDelegate controller:runJavaScriptTextInputPanelWithPrompt:defaultText:]): 29971 (-[WebDefaultWindowOperationsDelegate controller:runOpenPanelForFileButtonWithResultListener:]): 29972 * WebView.subproj/WebDocument.h: 29973 * WebView.subproj/WebDynamicScrollBarsView.m: 29974 * WebView.subproj/WebFrame.h: 29975 * WebView.subproj/WebFrame.m: 29976 (-[WebFrame init]): 29977 (-[WebFrame initWithName:webFrameView:controller:]): 29978 (-[WebFrame view]): 29979 (+[WebFrame registerViewClass:representationClass:forMIMEType:]): 29980 * WebView.subproj/WebFramePrivate.h: 29981 * WebView.subproj/WebFramePrivate.m: 29982 (if): 29983 (switch): 29984 * WebView.subproj/WebHTMLView.h: 29985 * WebView.subproj/WebHTMLView.m: 29986 (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): 29987 (-[WebHTMLView draggedImage:endedAt:operation:]): 29988 (-[WebHTMLView becomeFirstResponder]): 29989 * WebView.subproj/WebHTMLViewPrivate.m: 29990 (-[WebHTMLView _controller]): 29991 (-[WebHTMLView _frame]): 29992 (-[WebHTMLView _elementAtPoint:]): 29993 * WebView.subproj/WebImageView.m: 29994 (-[WebImageView controller]): 29995 (-[WebImageView menuForEvent:]): 29996 (-[WebImageView mouseDragged:]): 29997 (-[WebImageView draggedImage:endedAt:operation:]): 29998 * WebView.subproj/WebLocationChangeDelegate.h: 29999 * WebView.subproj/WebRenderNode.h: 30000 * WebView.subproj/WebRenderNode.m: 30001 (-[WebRenderNode initWithName:position:rect:view:children:]): 30002 (-[WebRenderNode initWithWebFrameView:]): 30003 * WebView.subproj/WebResourceLoadDelegate.h: 30004 * WebView.subproj/WebTextView.m: 30005 (-[WebTextView menuForEvent:]): 30006 * WebView.subproj/WebView.h: 30007 * WebView.subproj/WebView.m: 30008 (-[WebFrameView initWithFrame:]): 30009 (-[WebFrameView dealloc]): 30010 * WebView.subproj/WebViewPrivate.h: 30011 * WebView.subproj/WebViewPrivate.m: 30012 * WebView.subproj/WebWindowOperationsDelegate.h: 30013 300142003-03-13 John Sullivan <sullivan@apple.com> 30015 30016 Reviewed by Trey. 30017 30018 * English.lproj/StringsNotToBeLocalized.txt: 30019 Removed all the bookmarks-related strings that I forgot 30020 to remove in my previous checkin. 30021 300222003-03-13 John Sullivan <sullivan@apple.com> 30023 30024 Removed all the bookmarks code from WebKit; put it 30025 in WebBrowser instead. 30026 30027 Reviewed by Darin 30028 30029 * Bookmarks.subproj/WebBookmark.h: Removed. 30030 * Bookmarks.subproj/WebBookmark.m: Removed. 30031 * Bookmarks.subproj/WebBookmarkGroup.h: Removed. 30032 * Bookmarks.subproj/WebBookmarkGroup.m: Removed. 30033 * Bookmarks.subproj/WebBookmarkGroupPrivate.h: Removed. 30034 * Bookmarks.subproj/WebBookmarkImporter.h: Removed. 30035 * Bookmarks.subproj/WebBookmarkImporter.m: Removed. 30036 * Bookmarks.subproj/WebBookmarkLeaf.h: Removed. 30037 * Bookmarks.subproj/WebBookmarkLeaf.m: Removed. 30038 * Bookmarks.subproj/WebBookmarkList.h: Removed. 30039 * Bookmarks.subproj/WebBookmarkList.m: Removed. 30040 * Bookmarks.subproj/WebBookmarkPrivate.h: Removed. 30041 * Bookmarks.subproj/WebBookmarkProxy.h: Removed. 30042 * Bookmarks.subproj/WebBookmarkProxy.m: Removed. 30043 * WebKit.exp: 30044 removed all bookmark-related symbols 30045 * WebKit.pbproj/project.pbxproj: 30046 updated for removed files 30047 30048=== Safari-67 === 30049 300502003-03-12 Chris Blumenberg <cblu@apple.com> 30051 30052 3196673 - REGRESSION: Assertion failure when download fails to create file 30053 - Retain the download delegate because it will live longer than the WebController which it is an instance of. 30054 30055 Reviewed by rjw. 30056 30057 * Downloads.subproj/WebDownload.m: 30058 (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): call _downloadStarted 30059 (-[WebDownload loadWithDelegate:]): call _downloadStarted 30060 (-[WebDownload _downloadStarted]): renamed from _loadStarted 30061 (-[WebDownload _downloadEnded]): release delegate 30062 (-[WebDownload resource:willSendRequest:]): reordered so if we are released in this method, we never call self 30063 (-[WebDownload resourceDidFinishLoading:]): don't call _loadEnded because _downloadEnded gets called in _didCloseFile and _cancelWithError 30064 (-[WebDownload resource:didFailLoadingWithError:]): don't call _loadEnded because _downloadEnded gets called in _didCloseFile and _cancelWithError 30065 (-[WebDownload _didCloseFile:]): call _downloadEnded 30066 (-[WebDownload _cancelWithError:]): call _downloadEnded 30067 * WebView.subproj/WebController.h: mention that the download delegate gets retained. 30068 300692003-03-12 Darin Adler <darin@apple.com> 30070 30071 Reviewed by John. 30072 30073 - fixed 3193552 -- REGRESSION: crash loading ftp directory URL 30074 - fixed minor problems with setDefersCallbacks handling and object lifetime 30075 30076 * WebView.subproj/WebBaseResourceHandleDelegate.h: Removed now-unused cancelQuietly. 30077 * WebView.subproj/WebBaseResourceHandleDelegate.m: 30078 (-[WebBaseResourceHandleDelegate cancel]): Changed cancel to tolerate being called 30079 when we have already cancelled. It's an error to call cancelWithError once we 30080 have cancelled. 30081 30082 * WebView.subproj/WebMainResourceClient.m: 30083 (-[WebMainResourceClient interruptForPolicyChangeError]): Added. New function to 30084 create the WebError object for policy change. 30085 (-[WebMainResourceClient stopLoadingForPolicyChange]): Changed to just be a call 30086 to cancelWithError:. 30087 (-[WebMainResourceClient resource:willSendRequest:]): Call setDefersCallbacks:YES 30088 here; continueAfterNavigationPolicy already takes care of setDefersCallbacks:NO, 30089 but we lost this one somewhere along the way. 30090 (-[WebMainResourceClient continueAfterContentPolicy:response:]): Changed to call 30091 receivedError: on interruptForPolicyChangeError directly. It wasn't clearer to call 30092 a method named interruptForPolicyChange. 30093 (-[WebMainResourceClient resource:didReceiveResponse:]): Don't bother calling 30094 setDefersCallbacks:YES here any more; checkContentPolicyForResponse: takes care 30095 of that so there's no need to do it here. Initialize _contentLength before calling 30096 checkContentPolicyForResponse:, since that method can result in deallocating self. 30097 300982003-03-12 John Sullivan <sullivan@apple.com> 30099 30100 Reviewed by Trey 30101 30102 * English.lproj/StringsNotToBeLocalized.txt: 30103 updated for recent changes 30104 301052003-03-11 Chris Blumenberg <cblu@apple.com> 30106 30107 Fixed deployment build failure. 30108 30109 * WebView.subproj/WebFramePrivate.m: 30110 301112003-03-11 Richard Williamson <rjw@apple.com> 30112 30113 Added controller: parameter to all WebControllers delegates. 30114 30115 Reviewed by chris. 30116 30117 * Plugins.subproj/WebBaseNetscapePluginView.m: 30118 (-[WebBaseNetscapePluginView loadPluginRequest:]): 30119 * Plugins.subproj/WebNetscapePluginDocumentView.m: 30120 (-[WebNetscapePluginDocumentView setDataSource:]): 30121 * Plugins.subproj/WebNullPluginView.m: 30122 (-[WebNullPluginView viewDidMoveToWindow]): 30123 * Plugins.subproj/WebPluginController.m: 30124 (-[WebPluginController showStatus:]): 30125 * WebCoreSupport.subproj/WebBridge.m: 30126 (-[WebBridge createWindowWithURL:frameName:]): 30127 (-[WebBridge showWindow]): 30128 (-[WebBridge areToolbarsVisible]): 30129 (-[WebBridge setToolbarsVisible:]): 30130 (-[WebBridge isStatusBarVisible]): 30131 (-[WebBridge setStatusBarVisible:]): 30132 (-[WebBridge setWindowFrame:]): 30133 (-[WebBridge runJavaScriptAlertPanelWithMessage:]): 30134 (-[WebBridge runJavaScriptConfirmPanelWithMessage:]): 30135 (-[WebBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]): 30136 (-[WebBridge runOpenPanelForFileButtonWithResultListener:]): 30137 (-[WebBridge setStatusText:]): 30138 (-[WebBridge objectLoadedFromCacheWithURL:response:size:]): 30139 * WebCoreSupport.subproj/WebSubresourceClient.m: 30140 * WebView.subproj/WebBaseResourceHandleDelegate.m: 30141 (-[WebBaseResourceHandleDelegate resource:willSendRequest:]): 30142 (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]): 30143 (-[WebBaseResourceHandleDelegate resource:didReceiveData:]): 30144 (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]): 30145 (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]): 30146 (-[WebBaseResourceHandleDelegate cancelWithError:]): 30147 * WebView.subproj/WebContextMenuDelegate.h: 30148 * WebView.subproj/WebControllerPolicyDelegate.h: 30149 * WebView.subproj/WebControllerPrivate.m: 30150 (-[WebController _openNewWindowWithRequest:]): 30151 (-[WebController _menuForElement:]): 30152 (-[WebController _mouseDidMoveOverElement:modifierFlags:]): 30153 * WebView.subproj/WebDataSourcePrivate.m: 30154 (-[WebDataSource _startLoading:]): 30155 (-[WebDataSource _setTitle:]): 30156 (-[WebDataSource _setRequest:]): 30157 (-[WebDataSource _updateIconDatabaseWithURL:]): 30158 * WebView.subproj/WebDefaultContextMenuDelegate.m: 30159 (-[WebDefaultContextMenuDelegate controller:contextMenuItemsForElement:defaultMenuItems:]): 30160 * WebView.subproj/WebDefaultLocationChangeDelegate.m: 30161 (-[WebDefaultLocationChangeDelegate controller:locationChangeStartedForDataSource:]): 30162 (-[WebDefaultLocationChangeDelegate controller:serverRedirectedForDataSource:]): 30163 (-[WebDefaultLocationChangeDelegate controller:locationChangeCommittedForDataSource:]): 30164 (-[WebDefaultLocationChangeDelegate controller:receivedPageTitle:forDataSource:]): 30165 (-[WebDefaultLocationChangeDelegate controller:receivedPageIcon:forDataSource:]): 30166 (-[WebDefaultLocationChangeDelegate controller:locationChangeDone:forDataSource:]): 30167 (-[WebDefaultLocationChangeDelegate controller:willCloseLocationForDataSource:]): 30168 (-[WebDefaultLocationChangeDelegate controller:locationChangedWithinPageForDataSource:]): 30169 (-[WebDefaultLocationChangeDelegate controller:clientWillRedirectTo:delay:fireDate:forFrame:]): 30170 (-[WebDefaultLocationChangeDelegate controller:clientRedirectCancelledForFrame:]): 30171 * WebView.subproj/WebDefaultPolicyDelegate.m: 30172 (-[WebDefaultPolicyDelegate controller:unableToImplementPolicy:error:forURL:inFrame:]): 30173 (-[WebDefaultPolicyDelegate controller:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]): 30174 (-[WebDefaultPolicyDelegate controller:decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]): 30175 * WebView.subproj/WebDefaultResourceLoadDelegate.m: 30176 (-[WebDefaultResourceLoadDelegate controller:identifierForInitialRequest:fromDataSource:]): 30177 (-[WebDefaultResourceLoadDelegate controller:resource:willSendRequest:fromDataSource:]): 30178 (-[WebDefaultResourceLoadDelegate controller:resource:didReceiveResponse:fromDataSource:]): 30179 (-[WebDefaultResourceLoadDelegate controller:resource:didReceiveContentLength:fromDataSource:]): 30180 (-[WebDefaultResourceLoadDelegate controller:resource:didFinishLoadingFromDataSource:]): 30181 (-[WebDefaultResourceLoadDelegate controller:resource:didFailLoadingWithError:fromDataSource:]): 30182 (-[WebDefaultResourceLoadDelegate controller:pluginFailedWithError:dataSource:]): 30183 * WebView.subproj/WebDefaultWindowOperationsDelegate.m: 30184 (-[WebDefaultWindowOperationsDelegate controller:runJavaScriptConfirmPanelWithMessage:]): 30185 (-[WebDefaultWindowOperationsDelegate controller:runJavaScriptTextInputPanelWithPrompt:defaultText:]): 30186 (-[WebDefaultWindowOperationsDelegate controller:runOpenPanelForFileButtonWithResultListener:]): 30187 * WebView.subproj/WebFramePrivate.m: 30188 (if): 30189 (switch): 30190 * WebView.subproj/WebLocationChangeDelegate.h: 30191 * WebView.subproj/WebMainResourceClient.m: 30192 (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]): 30193 * WebView.subproj/WebResourceLoadDelegate.h: 30194 * WebView.subproj/WebWindowOperationsDelegate.h: 30195 301962003-03-11 Maciej Stachowiak <mjs@apple.com> 30197 30198 Reviewed by Richard. 30199 30200 Final policy API changes: 30201 30202 - changed WebPolicyDecisionListener to protocol in public API 30203 - replaced policy enum with separate methods 30204 - made content policy handling async 30205 * WebKit.pbproj/project.pbxproj: 30206 * WebView.subproj/WebControllerPolicyDelegate.h: 30207 * WebView.subproj/WebControllerPolicyDelegate.m: 30208 (-[WebPolicyDecisionListener _usePolicy:]): 30209 (-[WebPolicyDecisionListener use]): 30210 (-[WebPolicyDecisionListener ignore]): 30211 (-[WebPolicyDecisionListener download]): 30212 * WebView.subproj/WebControllerPolicyDelegatePrivate.h: 30213 * WebView.subproj/WebDefaultPolicyDelegate.m: 30214 (-[WebDefaultPolicyDelegate unableToImplementPolicyWithError:inFrame:]): 30215 (-[WebDefaultPolicyDelegate decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]): 30216 (-[WebDefaultPolicyDelegate decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]): 30217 * WebView.subproj/WebFramePrivate.h: 30218 * WebView.subproj/WebFramePrivate.m: 30219 (switch): 30220 * WebView.subproj/WebMainResourceClient.h: 30221 * WebView.subproj/WebMainResourceClient.m: 30222 (-[WebMainResourceClient cancelContentPolicy]): 30223 (-[WebMainResourceClient cancel]): 30224 (-[WebMainResourceClient cancelQuietly]): 30225 (-[WebMainResourceClient cancelWithError:]): 30226 (-[WebMainResourceClient continueAfterContentPolicy:response:]): 30227 (-[WebMainResourceClient continueAfterContentPolicy:]): 30228 (-[WebMainResourceClient checkContentPolicyForResponse:]): 30229 (-[WebMainResourceClient resource:didReceiveResponse:]): 30230 302312003-03-11 Darin Adler <darin@apple.com> 30232 30233 Reviewed by John. 30234 30235 - fixed mistake in that last check-in that made Safari assert on startup with Chris's bookmarks bar 30236 30237 * Misc.subproj/WebStringTruncator.m: (centerTruncateToBuffer): 30238 Fix logic here to not use an uninitialized variable. 30239 302402003-03-11 Darin Adler <darin@apple.com> 30241 30242 Reviewed by John. 30243 30244 - fixed 3193213 -- assert truncatedLength+1 < STRING_BUFFER_SIZE creating tab label for firstyearibs.com 30245 - fixed 3194935 -- WebStringTruncator rightTruncateString: will break between composed characters 30246 - fixed right truncator to use interpolation algorithm rather than linear search 30247 30248 * Misc.subproj/WebStringTruncator.m: 30249 (centerTruncateToBuffer): Changed from a class method to a plain function, and tweaked the code a bit. 30250 (rightTruncateToBuffer): Added. Like centerTruncateToBuffer, but does it on the right end instead. 30251 (stringWidth): Added. Helper function that calls the TextRenderer method with the right parameters. 30252 (truncateString): Moved all the code from centerTruncateString here, adding one new parameter, the 30253 truncate to buffer function. 30254 (+[WebStringTruncator centerTruncateString:toWidth:]): Call truncateString with the appropriate parameters. 30255 (+[WebStringTruncator centerTruncateString:toWidth:withFont:]): Ditto. 30256 (+[WebStringTruncator rightTruncateString:toWidth:withFont:]): Ditto. 30257 30258=== Safari-66 === 30259 302602003-03-10 Maciej Stachowiak <mjs@apple.com> 30261 30262 Reviewed by Dave. 30263 30264 - fixed 3194221 - REGRESSION: search results loaded in wrong frame at directory.apple.com 30265 30266 * WebView.subproj/WebFramePrivate.m: 30267 (_postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:): 30268 Deliver targetted form posts correctly. 302692003-03-10 Darin Adler <darin@apple.com> 30270 30271 Reviewed by Maciej. 30272 30273 - fixed 3010915 -- mouse wheel won't scroll the main document when you are over [i]frame 30274 30275 * WebView.subproj/WebDynamicScrollBarsView.h: Made WebDynamicScrollBarsView a subclass of 30276 WebCoreScrollView instead of NSScrollView. 30277 30278 - other changes 30279 30280 * WebView.subproj/WebFramePrivate.m: (-[WebFrame _actionInformationForNavigationType:event:originalURL:): 30281 Fix problem where you would not get any information if the click was on a subview of the 30282 WebHTMLView, like a form control. 30283 302842003-03-10 Chris Blumenberg <cblu@apple.com> 30285 30286 Fixed some download-related leaks. Primarily, we were leaking the data source that started the download. The data source is now immediately released when it becomes a download. 30287 30288 Reviewed by darin. 30289 30290 * Downloads.subproj/WebDownload.m: 30291 (-[WebDownloadPrivate dealloc]): release the WebResourceDelegateProxy 30292 (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): renamed, don't pass a datasource so WebDownload is completely disconnected from the that. Pass the proxy so it transfers ownership from WebMainResourceClient and it doesn' 30293 30294 30295 30296 30297 30298 30299t leak when we cancel a download. 30300 (-[WebDownload _setRequest:]): added 30301 (-[WebDownload _setResponse:]): added 30302 (-[WebDownload resource:willSendRequest:]): call _setRequest 30303 (-[WebDownload resource:didReceiveResponse:]): call _setResponse 30304 * Downloads.subproj/WebDownloadPrivate.h: 30305 * WebView.subproj/WebBaseResourceHandleDelegate.h: 30306 * WebView.subproj/WebBaseResourceHandleDelegate.m: removed notifyDelegatesOfInterruptionByPolicyChange, no longer called 30307 * WebView.subproj/WebMainResourceClient.h: made WebResourceDelegateProxy available to other classes 30308 * WebView.subproj/WebMainResourceClient.m: 30309 (-[WebMainResourceClient receivedError:]): moved most error handling code here 30310 (-[WebMainResourceClient cancel]): stop load, call receivedError 30311 (-[WebMainResourceClient interruptForPolicyChange]): renamed, call receivedError with the policy interrupt error 30312 (-[WebMainResourceClient stopLoadingForPolicyChange]): call interruptForPolicyChange 30313 (-[WebMainResourceClient continueAfterContentPolicy:response:]): for WebPolicySave, create the download, call interruptForPolicyChange and return so the response isn't set on the superclass. 30314 (-[WebMainResourceClient resource:didFailLoadingWithError:]): call receivedError 30315 (-[WebResourceDelegateProxy setDelegate:]): don't retain the delegate 30316 (-[WebResourceDelegateProxy resourceDidFinishLoading:]): don't release the delegate 30317 (-[WebResourceDelegateProxy resource:didFailLoadingWithError:]): don't release the delegate 30318 303192003-03-07 Maciej Stachowiak <mjs@apple.com> 30320 30321 Reviewed by Richard. 30322 30323 - fixed 3127705 - don't open new window on opt-click even if the link requests it 30324 - fixed 3143971 - cmd-click should override the target="_blank" and target="_new" (important for tabs) 30325 30326 - removed open new window and open new window behind policies 30327 - removed [WebFrame findOrCreateFrameNamed:] from API 30328 - remved showWindowBehind from window operations delegate 30329 - added decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener: delegate method 30330 * Plugins.subproj/WebBaseNetscapePluginView.m: 30331 (-[WebBaseNetscapePluginView loadPluginRequest:]): 30332 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): 30333 (-[WebPluginRequest initWithRequest:frameName:notifyData:]): 30334 (-[WebPluginRequest dealloc]): 30335 (-[WebPluginRequest frameName]): 30336 * Plugins.subproj/WebPluginController.m: 30337 (-[WebPluginController showURL:inFrame:]): 30338 * WebCoreSupport.subproj/WebBridge.m: 30339 (-[WebBridge loadURL:referrer:reload:target:triggeringEvent:form:formValues:]): 30340 (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): 30341 * WebView.subproj/WebControllerPolicyDelegate.h: 30342 * WebView.subproj/WebControllerPrivate.h: 30343 * WebView.subproj/WebControllerPrivate.m: 30344 (-[WebController _openNewWindowWithRequest:]): 30345 * WebView.subproj/WebDefaultContextMenuDelegate.m: 30346 (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]): 30347 * WebView.subproj/WebDefaultPolicyDelegate.m: 30348 (-[WebDefaultPolicyDelegate decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]): 30349 * WebView.subproj/WebFrame.h: 30350 * WebView.subproj/WebFrame.m: 30351 * WebView.subproj/WebFramePrivate.h: 30352 * WebView.subproj/WebFramePrivate.m: 30353 (-[NSObject performSelector:withObject:withObject:withObject:]): 30354 * WebView.subproj/WebWindowOperationsDelegate.h: 30355 303562003-03-07 Chris Blumenberg <cblu@apple.com> 30357 30358 Updated header doc comments. 30359 30360 * Downloads.subproj/WebDownload.h: 30361 303622003-03-07 Richard Williamson <rjw@apple.com> 30363 30364 Drop mainDocumentError from WebDataSource. 30365 Combine registerView: and registerRepresentation: into one method on WebFrame. 30366 30367 Reviewed by trey. 30368 30369 * Plugins.subproj/WebPluginDatabase.m: 30370 (-[WebPluginDatabase init]): 30371 * WebView.subproj/WebDataSource.h: 30372 * WebView.subproj/WebDataSource.m: 30373 * WebView.subproj/WebDataSourcePrivate.h: 30374 * WebView.subproj/WebDataSourcePrivate.m: 30375 (-[WebDataSource _mainDocumentError]): 30376 * WebView.subproj/WebFrame.h: 30377 * WebView.subproj/WebFrame.m: 30378 (+[WebFrame registerViewClass:representationClass:forMIMEType:]): 30379 * WebView.subproj/WebFramePrivate.m: 30380 (switch): 30381 * WebView.subproj/WebView.h: 30382 * WebView.subproj/WebView.m: 30383 303842003-03-07 John Sullivan <sullivan@apple.com> 30385 30386 WebKit part of fixes to these two synching-related bugs: 30387 30388 3190844 -- Bookmarks Bar and Menu collections need to be 30389 marked specially in Bookmarks file 30390 30391 3192197 -- Safari should write out UUID-full Bookmarks 30392 file after reading UUID-free one 30393 30394 Reviewed by Trey 30395 30396 * Bookmarks.subproj/WebBookmark.h: 30397 * Bookmarks.subproj/WebBookmark.m: 30398 (-[WebBookmark setUUID:]): 30399 Removed the leading underscore, made this method public. 30400 Removed unnecessary constraint that new or old UUID had 30401 to be nil; now short-circuits the no-change case. 30402 (-[WebBookmark copyWithZone:]): 30403 updated for name change 30404 (-[WebBookmark initFromDictionaryRepresentation:withGroup:]): 30405 ditto 30406 30407 * Bookmarks.subproj/WebBookmarkGroup.h: 30408 * Bookmarks.subproj/WebBookmarkGroup.m: 30409 (-[WebBookmarkGroup bookmarkForUUID:]): 30410 new public method to find a bookmark from a UUID. 30411 (-[WebBookmarkGroup _addBookmark:]): 30412 updated for name change 30413 30414 * Bookmarks.subproj/WebBookmarkPrivate.h: 30415 removed declaration for old _setUUID 30416 304172003-03-07 Darin Adler <darin@apple.com> 30418 30419 Reviewed by John. 30420 30421 - fixed regression caused when we made the stopLoading method on WebDataSource private 30422 30423 * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _recursiveStopLoading]): 30424 The children are frames, so we need to do stopLoading, not _stopLoading. 30425 304262003-03-07 Chris Blumenberg <cblu@apple.com> 30427 30428 Fixed: 3191052 - Predetermined downloads should not be started from the browser window 30429 - Stripped the rest of WebKit of download related code. 30430 30431 Reviewed by trey. 30432 30433 * Downloads.subproj/WebDownload.h: Changed the download delegate method from download:didStartFromDataSource: download:didStartFromRequest:. Passing the data source wasn't that helpful. It was also quirky that the data source would sometimes be ni 30434 30435 30436 30437 30438 30439 30440l. 30441 * Downloads.subproj/WebDownload.m: 30442 (-[WebDownloadPrivate dealloc]): release directory path 30443 (-[WebDownload _initWithLoadingResource:dataSource:]): call _loadStarted and _loadEnded 30444 (-[WebDownload loadWithDelegate:]): call _loadStarted 30445 (-[WebDownload _loadStarted]): set flag, retain self 30446 (-[WebDownload _loadEnded]): set flag, release self 30447 (-[WebDownload resource:willSendRequest:]): call _loadEnded if the returned request is nil 30448 (-[WebDownload resourceDidFinishLoading:]): call _loadEnded 30449 (-[WebDownload resource:didFailLoadingWithError:]): call _loadEnded 30450 (-[WebDownload _createFileIfNecessary]): handle a predetermined download directory, not path 30451 (-[WebDownload _cancelWithError:]): call _loadEnded 30452 (-[WebDownload _setDirectoryPath:]): new private method 30453 * Downloads.subproj/WebDownloadPrivate.h: 30454 * WebView.subproj/WebControllerPrivate.m: 30455 (-[WebController _mainReceivedError:fromDataSource:complete:]): don't call [dataSource isDownloading] 30456 (-[WebController _downloadURL:toDirectory:]): create and start a self retained WebDownload 30457 * WebView.subproj/WebDataSource.h: 30458 * WebView.subproj/WebDataSource.m: removed download related methods 30459 * WebView.subproj/WebDataSourcePrivate.h: 30460 * WebView.subproj/WebDataSourcePrivate.m: removed download related methods 30461 (-[WebDataSource _commitIfReady:]): don't call isDownloading 30462 * WebView.subproj/WebFramePrivate.h: 30463 * WebView.subproj/WebFramePrivate.m: 30464 * WebView.subproj/WebMainResourceClient.m: 30465 (-[WebMainResourceClient continueAfterContentPolicy:response:]): when handing off the load to the download, don't deal with the download path 30466 (-[WebMainResourceClient resource:didReceiveResponse:]): no more predetermined downloads come through here 30467 304682003-03-06 Maciej Stachowiak <mjs@apple.com> 30469 30470 Reviewed by Trey. 30471 30472 Step towards policy API changes. Remove WebPolicyNone, 30473 WebPolicyRevealInFinder, WebPolicyOpenURL and WebPolicyShow. 30474 * WebView.subproj/WebControllerPolicyDelegate.h: 30475 * WebView.subproj/WebDefaultPolicyDelegate.m: 30476 (-[WebDefaultPolicyDelegate decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]): 30477 * WebView.subproj/WebFramePrivate.m: 30478 (switch): 30479 * WebView.subproj/WebMainResourceClient.m: 30480 (-[WebMainResourceClient continueAfterContentPolicy:response:]): 30481 304822003-03-06 Richard Williamson <rjw@apple.com> 30483 30484 Remove setWebView: from WebFrame. 30485 30486 Reviewed by chris. 30487 30488 * WebView.subproj/WebFrame.h: 30489 * WebView.subproj/WebFrame.m: 30490 (-[WebFrame initWithName:webView:controller:]): 30491 (-[WebFrame name]): 30492 304932003-03-06 Richard Williamson <rjw@apple.com> 30494 30495 API changes. WebCapabilities -> WebContentTypes. 30496 Move fileExtension from WebDataSource to WebContentTypes 30497 30498 Reviewed by chris. 30499 30500 * Misc.subproj/WebNSPasteboardExtras.m: 30501 (-[NSPasteboard _web_bestURL]): 30502 * WebKit.exp: 30503 * WebView.subproj/WebController.h: 30504 * WebView.subproj/WebController.m: 30505 (+[WebContentTypes suggestedFileExtensionForMIMEType:]): 30506 (-[WebController supportsTextEncoding]): 30507 (-[WebController setCustomTextEncodingName:]): 30508 (-[WebController _mainFrameOverrideEncoding]): 30509 (-[WebController customTextEncodingName]): 30510 (-[WebController stringByEvaluatingJavaScriptFromString:]): 30511 (-[WebController userAgentForURL:]): 30512 * WebView.subproj/WebControllerPrivate.h: 30513 * WebView.subproj/WebDataSource.h: 30514 * WebView.subproj/WebDataSource.m: 30515 * WebView.subproj/WebDefaultPolicyDelegate.m: 30516 * WebView.subproj/WebMainResourceClient.m: 30517 (-[WebMainResourceClient continueAfterContentPolicy:response:]): 30518 305192003-03-06 Chris Blumenberg <cblu@apple.com> 30520 30521 Implemented WebDownload API. 30522 30523 Fixed: 3118355 - Download mechanism that doesn't involve WebDataSource, WebFrame, WebController etc 30524 Fixed: 3110173 - add per-request disabling of download decoding, use to turn off when "Open Safe Files" is off 30525 30526 Reviewed by trey, rjw, mjs. 30527 30528 * Downloads.subproj/WebDownload.h: Tweaked comments, added new methods. 30529 * Downloads.subproj/WebDownload.m: 30530 (-[WebDownloadPrivate dealloc]): release new objects 30531 (-[WebDownload initWithRequest:]): was initWithRequest:delegate:, but found that starting the load from the init method made it tricky to do other set up work before the load started. 30532 (-[WebDownload _initWithLoadingResource:dataSource:]): private init method, "catches up" to load by sending delegate method immediately, doesn't retain the dataSource, uses it for info 30533 (-[WebDownload loadWithDelegate:]): new, starts load 30534 (-[WebDownload cancel]): cancel load with no error 30535 (-[WebDownload path]): simple getter 30536 (-[WebDownload setPath:]): implement this because WebDownload is the WebDownloadDecisionListener, call _setPath 30537 (-[WebDownload resource:willSendRequest:]): resource delegate method 30538 (-[WebDownload resource:didReceiveResponse:]): resource delegate method 30539 (-[WebDownload resource:didReceiveData:]): resource delegate method, decode and write data, cancel load if error 30540 (-[WebDownload resourceDidFinishLoading:]): resource delegate method, decode and write data if necessary, end in error if error 30541 (-[WebDownload resource:didFailLoadingWithError:]): resource delegate method, end in error 30542 (-[WebDownload _pathWithUniqueFilenameForPath:]): this work was done in _createFileIfNecessary, does what it says 30543 (-[WebDownload _createFSRefForPath:]): this work was done in _createFileIfNecessary as well, makes fileRefPtr point to a file 30544 (-[WebDownload _createFileIfNecessary]): creates file, creates temp file if path hasn't been set yet 30545 (-[WebDownload _decodeHeaderData:dataForkData:resourceForkData:]): call private method 30546 (-[WebDownload _decodeData:dataForkData:resourceForkData:]): made private, if the download is encoded, ask client if OK to decode 30547 (-[WebDownload _decodeData:]): hardly changed, don't cancel, just return error 30548 (-[WebDownload _dataIfDoneBufferingData:]): moved, not changed 30549 (-[WebDownload _finishDecoding]): hardly changed, don't cancel, just return error 30550 (-[WebDownload _writeForkData:isDataFork:]): moved, not changed 30551 (-[WebDownload _writeDataForkData:resourceForkData:]): moved, not changed 30552 (-[WebDownload _isFileClosed]): new 30553 (-[WebDownload _fileDidClose:]): new, called by the callback thread, delete file if deleteFile flag is set, report error or end successfully 30554 (-[WebDownload _closeForkAsync:]): new 30555 (-[WebDownload _closeForkSync:]): new 30556 (-[WebDownload _closeFileAsync]): new 30557 (-[WebDownload _closeFileSync]): new 30558 (-[WebDownload _deleteFileAsnyc]): new 30559 (-[WebDownload _closeAndDeleteFileAsync]): new 30560 (-[WebDownload _cancelWithError:]): kill load if there is one, report error if there is one, close and delete file is not already closed or deleted 30561 (-[WebDownload _cancelWithErrorCode:]): internal convenienve, calls _cancelWithError 30562 (-[WebDownload _setPath:]): set path, if we are already saving data to a temp path, move the file and continue downloading 30563 (-[WebDownload _currentPath]): new 30564 (-[WebDownload _errorWithCode:]): new 30565 (-[WebDownload _dataForkReferenceNumber]): added underscore 30566 (-[WebDownload _setDataForkReferenceNumber:]): added underscore 30567 (-[WebDownload _resourceForkReferenceNumber]): added underscore 30568 (-[WebDownload _setResourceForkReferenceNumber:]): added underscore 30569 (-[WebDownload _areWritesCancelled]): added underscore 30570 (-[WebDownload _setWritesCancelled:]): added underscore 30571 (-[WebDownload _encounteredCloseError]): new 30572 (-[WebDownload _setEncounteredCloseError:]): new 30573 (WriteCompletionCallback): call underscored methods 30574 (CloseCompletionCallback): call underscored methods, handle close error, don't delete file 30575 (DeleteCompletionCallback): call _currentPath 30576 * Downloads.subproj/WebDownloadPrivate.h: 30577 * WebView.subproj/WebBaseResourceHandleDelegate.h: renamed handle to resource 30578 * WebView.subproj/WebBaseResourceHandleDelegate.m: renamed handle to resource 30579 (-[WebBaseResourceHandleDelegate _releaseResources]): renamed handle to resource 30580 (-[WebBaseResourceHandleDelegate startLoading:]): renamed handle to resource 30581 (-[WebBaseResourceHandleDelegate loadWithRequest:]): renamed handle to resource 30582 (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): renamed handle to resource 30583 (-[WebBaseResourceHandleDelegate resource:willSendRequest:]): renamed handle to resource 30584 (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]): renamed handle to resource, don't handle downloads 30585 (-[WebBaseResourceHandleDelegate resource:didReceiveData:]): renamed handle to resource, don't handle downloads 30586 (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]): renamed handle to resource, don't handle downloads 30587 (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]): renamed handle to resource, don't handle downloads 30588 (-[WebBaseResourceHandleDelegate cancelWithError:]): renamed handle to resource, don't handle downloads 30589 * WebView.subproj/WebController.h: updated comments 30590 * WebView.subproj/WebController.m: 30591 (-[WebController setDownloadDelegate:]): call the ivar downloadDelegate, not downloadProgressDelegate 30592 (-[WebController downloadDelegate]): call the ivar downloadDelegate, not downloadProgressDelegate 30593 * WebView.subproj/WebControllerPolicyDelegate.h: removed saveFilenameForResponse:andRequest:, handle by WebDownload 30594 * WebView.subproj/WebControllerPrivate.h: call the ivar downloadDelegate, not downloadProgressDelegate 30595 * WebView.subproj/WebDefaultPolicyDelegate.m: removed saveFilenameForResponse:andRequest:, handle by WebDownload 30596 * WebView.subproj/WebMainResourceClient.h: added WebResourceDelegateProxy icar 30597 * WebView.subproj/WebMainResourceClient.m: remove most download related stuff 30598 (-[WebMainResourceClient initWithDataSource:]): create a WebResourceDelegateProxy which allows us to change the resource delegate 30599 (-[WebMainResourceClient dealloc]): release the proxy 30600 (-[WebMainResourceClient receivedError:complete:]): don't handle downloads 30601 (-[WebMainResourceClient continueAfterContentPolicy:response:]): pass the load off to the download 30602 (-[WebMainResourceClient resource:didReceiveResponse:]): don't handle downloads 30603 (-[WebMainResourceClient resource:didReceiveData:]): don't handle downloads 30604 (-[WebMainResourceClient resourceDidFinishLoading:]): don't handle downloads 30605 (-[WebMainResourceClient resource:didFailLoadingWithError:]): don't handle downloads 30606 (-[WebMainResourceClient startLoading:]): make the proxy the delegate 30607 (-[WebResourceDelegateProxy setDelegate:]): switches the resource delegate 30608 (-[WebResourceDelegateProxy resource:willSendRequest:]): forwards message 30609 (-[WebResourceDelegateProxy resource:didReceiveResponse:]): forwards message 30610 (-[WebResourceDelegateProxy resource:didReceiveData:]): forwards message 30611 (-[WebResourceDelegateProxy resourceDidFinishLoading:]): forwards message 30612 (-[WebResourceDelegateProxy resource:didFailLoadingWithError:]): forwards message 30613 306142003-03-06 Richard Williamson <rjw@apple.com> 30615 30616 Move tweaks to WebKit API. 30617 30618 Removed [WebFrame setController:] from public API. 30619 Removed [WebDataSource stringWithData:] from public API. 30620 30621 Reviewed by hyatt. 30622 30623 * WebView.subproj/WebDataSource.h: 30624 * WebView.subproj/WebDataSource.m: 30625 (-[WebDataSource mainDocumentError]): 30626 * WebView.subproj/WebDataSourcePrivate.h: 30627 * WebView.subproj/WebDataSourcePrivate.m: 30628 (-[WebDataSource _stringWithData:]): 30629 * WebView.subproj/WebFrame.h: 30630 * WebView.subproj/WebFrame.m: 30631 * WebView.subproj/WebFramePrivate.h: 30632 * WebView.subproj/WebFramePrivate.m: 30633 * WebView.subproj/WebHTMLRepresentation.m: 30634 * WebView.subproj/WebTextRepresentation.m: 30635 (-[WebTextRepresentation setDataSource:]): 30636 * WebView.subproj/WebTextView.m: 30637 (-[WebTextView dataSourceUpdated:]): 30638 306392003-03-06 Richard Williamson <rjw@apple.com> 30640 30641 Tweaks to WebKit API. 30642 Dropped URL on WebDataSource. 30643 Dropped start/stop loading on WebDataSource. 30644 Drop frameForView and frameForDataSource from WebController. 30645 Moved canShowXX to WebCapabilities. 30646 30647 Reviewed by hyatt. 30648 30649 * Downloads.subproj/WebDownload.m: 30650 (-[WebDownload errorWithCode:]): 30651 * Misc.subproj/WebNSPasteboardExtras.m: 30652 (-[NSPasteboard _web_bestURL]): 30653 * Misc.subproj/WebNSViewExtras.m: 30654 (-[NSView _web_printViewHierarchy:]): 30655 * Plugins.subproj/WebNetscapePluginDocumentView.m: 30656 (-[WebNetscapePluginDocumentView setDataSource:]): 30657 * Plugins.subproj/WebNetscapePluginEmbeddedView.m: 30658 (-[WebNetscapePluginEmbeddedView dataSource]): 30659 * WebCoreSupport.subproj/WebSubresourceClient.m: 30660 (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): 30661 * WebKit.exp: 30662 * WebView.subproj/WebController.h: 30663 * WebView.subproj/WebController.m: 30664 (+[WebCapabilities canShowMIMEType:]): 30665 (+[WebCapabilities canShowFile:]): 30666 (-[WebController mainFrame]): 30667 * WebView.subproj/WebControllerPrivate.h: 30668 * WebView.subproj/WebControllerPrivate.m: 30669 (-[WebController _frameForDataSource:fromFrame:]): 30670 (-[WebController _frameForDataSource:]): 30671 (-[WebController _frameForView:fromFrame:]): 30672 (-[WebController _frameForView:]): 30673 * WebView.subproj/WebDataSource.h: 30674 * WebView.subproj/WebDataSource.m: 30675 * WebView.subproj/WebDataSourcePrivate.h: 30676 * WebView.subproj/WebDataSourcePrivate.m: 30677 (-[WebDataSource _startLoading]): 30678 (-[WebDataSource _stopLoading]): 30679 (-[WebDataSource _stopLoadingInternal]): 30680 (-[WebDataSource _recursiveStopLoading]): 30681 (-[WebDataSource _updateIconDatabaseWithURL:]): 30682 (-[WebDataSource _loadIcon]): 30683 (-[WebDataSource _URL]): 30684 * WebView.subproj/WebDefaultContextMenuDelegate.m: 30685 (-[WebDefaultContextMenuDelegate openFrameInNewWindow:]): 30686 * WebView.subproj/WebDefaultPolicyDelegate.m: 30687 * WebView.subproj/WebFrame.m: 30688 (-[WebFrame stopLoading]): 30689 * WebView.subproj/WebFramePrivate.m: 30690 (if): 30691 * WebView.subproj/WebHTMLViewPrivate.m: 30692 (-[WebHTMLView _frame]): 30693 (-[WebHTMLView _elementAtPoint:]): 30694 * WebView.subproj/WebImageRepresentation.m: 30695 (-[WebImageRepresentation setDataSource:]): 30696 * WebView.subproj/WebImageView.m: 30697 (-[WebImageView menuForEvent:]): 30698 * WebView.subproj/WebMainResourceClient.m: 30699 (-[WebMainResourceClient cancel]): 30700 (-[WebMainResourceClient continueAfterContentPolicy:response:]): 30701 (-[WebMainResourceClient resource:didReceiveData:]): 30702 (-[WebMainResourceClient resourceDidFinishLoading:]): 30703 * WebView.subproj/WebTextView.m: 30704 (-[WebTextView menuForEvent:]): 30705 * WebView.subproj/WebView.m: 30706 (-[WebView webFrame]): 30707 * WebView.subproj/WebViewPrivate.m: 30708 (-[WebView _isMainFrame]): 30709 307102003-03-06 Ed Voas voas@apple.com 30711 30712 Reviewed by Richard. 30713 30714 Don't use _HIViewSetNeedsDisplayInRect for now. Fixes 30715 Jaguar builds. 30716 30717 * Carbon.subproj/HIViewAdapter.m: 30718 (-[HIViewAdapter setNeedsDisplay:]): 30719 (-[HIViewAdapter setNeedsDisplayInRect:]): 30720 307212003-03-05 Maciej Stachowiak <mjs@apple.com> 30722 30723 Reviewed by John. 30724 30725 Step towards policy API chantes - removed unneeded policy and URL 30726 arguments from unableToImplementPolicy: 30727 * WebView.subproj/WebControllerPolicyDelegate.h: 30728 * WebView.subproj/WebFramePrivate.h: 30729 * WebView.subproj/WebFramePrivate.m: 30730 * WebView.subproj/WebMainResourceClient.m: 30731 (-[WebMainResourceClient continueAfterContentPolicy:response:]): 30732 307332003-03-06 Ed Voas voas@apple.com 30734 30735 Reviewed by Richard. 30736 30737 First cut of Carbon view support. It will need tweaking as we go, 30738 but I think I finally have all the assertions taken care of, and 30739 I also believe that I have the drawing glitches all sorted out now. 30740 30741 * Carbon.subproj/CarbonUtils.h: Added. 30742 * Carbon.subproj/CarbonUtils.m: Added. 30743 (InitWebKitForCarbon): 30744 (PoolCleaner): 30745 (ConvertNSImageToCGImageRef): 30746 * Carbon.subproj/CarbonWindowAdapter.h: Added. 30747 * Carbon.subproj/CarbonWindowAdapter.m: Added. 30748 (+[CarbonWindowAdapter frameViewClassForStyleMask:]): 30749 (-[CarbonWindowAdapter initWithContentRect:styleMask:backing:defer:]): 30750 (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]): 30751 (-[CarbonWindowAdapter setViewsNeedDisplay:]): 30752 (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:]): 30753 (-[CarbonWindowAdapter dealloc]): 30754 (-[CarbonWindowAdapter windowRef]): 30755 (-[CarbonWindowAdapter _hasWindowRef]): 30756 (-[CarbonWindowAdapter _managesWindowRef]): 30757 (-[CarbonWindowAdapter _removeWindowRef]): 30758 (-[CarbonWindowAdapter _carbonWindowClass]): 30759 (-[CarbonWindowAdapter reconcileToCarbonWindowBounds]): 30760 (-[CarbonWindowAdapter sendSuperEvent:]): 30761 (-[CarbonWindowAdapter _cancelKey:]): 30762 (-[CarbonWindowAdapter _commonAwake]): 30763 (-[CarbonWindowAdapter _destroyRealWindow:]): 30764 (-[CarbonWindowAdapter _oldPlaceWindow:]): 30765 (-[CarbonWindowAdapter _termWindowIfOwner]): 30766 (-[CarbonWindowAdapter _windowMovedToRect:]): 30767 (-[CarbonWindowAdapter constrainFrameRect:toScreen:]): 30768 (-[CarbonWindowAdapter selectKeyViewFollowingView:]): 30769 (-[CarbonWindowAdapter selectKeyViewPrecedingView:]): 30770 (-[CarbonWindowAdapter makeKeyWindow]): 30771 (-[CarbonWindowAdapter canBecomeKeyWindow]): 30772 (-[CarbonWindowAdapter canBecomeMainWindow]): 30773 (-[CarbonWindowAdapter encodeWithCoder:]): 30774 (-[CarbonWindowAdapter initWithCoder:]): 30775 (-[CarbonWindowAdapter setContentView:]): 30776 (-[CarbonWindowAdapter worksWhenModal]): 30777 (-[CarbonWindowAdapter _setModalWindowLevel]): 30778 (-[CarbonWindowAdapter _clearModalWindowLevel]): 30779 (-[CarbonWindowAdapter carbonHICommandIDFromActionSelector:]): 30780 (-[CarbonWindowAdapter sendCarbonProcessHICommandEvent:]): 30781 (-[CarbonWindowAdapter sendCarbonUpdateHICommandStatusEvent:withMenuRef:andMenuItemIndex:]): 30782 (-[CarbonWindowAdapter _handleRootBoundsChanged]): 30783 (-[CarbonWindowAdapter _handleContentBoundsChanged]): 30784 (-[CarbonWindowAdapter _handleCarbonEvent:callRef:]): 30785 (NSCarbonWindowHandleEvent): 30786 * Carbon.subproj/CarbonWindowContentView.h: Added. 30787 * Carbon.subproj/CarbonWindowContentView.m: Added. 30788 * Carbon.subproj/CarbonWindowFrame.h: Added. 30789 * Carbon.subproj/CarbonWindowFrame.m: Added. 30790 (+[CarbonWindowFrame frameRectForContentRect:styleMask:]): 30791 (+[CarbonWindowFrame contentRectForFrameRect:styleMask:]): 30792 (+[CarbonWindowFrame minFrameSizeForMinContentSize:styleMask:]): 30793 (-[CarbonWindowFrame frameRectForContentRect:styleMask:]): 30794 (-[CarbonWindowFrame contentRectForFrameRect:styleMask:]): 30795 (-[CarbonWindowFrame minFrameSizeForMinContentSize:styleMask:]): 30796 (-[CarbonWindowFrame initWithFrame:styleMask:owner:]): 30797 (-[CarbonWindowFrame dealloc]): 30798 (-[CarbonWindowFrame _setFrameNeedsDisplay:]): 30799 (-[CarbonWindowFrame _setSheet:]): 30800 (-[CarbonWindowFrame _updateButtonState]): 30801 (-[CarbonWindowFrame _windowChangedKeyState]): 30802 (-[CarbonWindowFrame _showToolbarWithAnimation:]): 30803 (-[CarbonWindowFrame _hideToolbarWithAnimation:]): 30804 (-[CarbonWindowFrame closeButton]): 30805 (-[CarbonWindowFrame styleMask]): 30806 (-[CarbonWindowFrame dragRectForFrameRect:]): 30807 (-[CarbonWindowFrame isOpaque]): 30808 (-[CarbonWindowFrame minimizeButton]): 30809 (-[CarbonWindowFrame setTitle:]): 30810 (-[CarbonWindowFrame title]): 30811 (-[CarbonWindowFrame _sheetHeightAdjustment]): 30812 (-[CarbonWindowFrame _maxTitlebarTitleRect]): 30813 (-[CarbonWindowFrame _clearDragMargins]): 30814 (-[CarbonWindowFrame _resetDragMargins]): 30815 * Carbon.subproj/HIViewAdapter.h: Added. 30816 * Carbon.subproj/HIViewAdapter.m: Added. 30817 (+[HIViewAdapter bindHIViewToNSView:nsView:]): 30818 (+[HIViewAdapter getHIViewForNSView:]): 30819 (+[HIViewAdapter unbindNSView:]): 30820 (-[HIViewAdapter initWithFrame:view:]): 30821 (-[HIViewAdapter hiView]): 30822 (-[HIViewAdapter nextValidKeyView]): 30823 (-[HIViewAdapter setNeedsDisplay:]): 30824 (-[HIViewAdapter setNeedsDisplayInRect:]): 30825 (-[CarbonSheetInterceptor _orderFrontRelativeToWindow:]): 30826 (-[CarbonSheetInterceptor _orderOutRelativeToWindow:]): 30827 * Carbon.subproj/HIWebView.h: Added. 30828 * Carbon.subproj/HIWebView.m: Added. 30829 (if): 30830 (switch): 30831 * Carbon.subproj/HIWebViewPriv.h: Added. 30832 * WebKit.exp: 30833 * WebKit.pbproj/project.pbxproj: 30834 30835=== Safari-65 === 30836 308372003-03-05 Richard Williamson <rjw@apple.com> 30838 30839 API changes 30840 WebView and WebDataSource give up -(WebController *)controller. 30841 WebView gets -(WebFrame *)webFrame. 30842 30843 Reviewed by cblu. 30844 30845 * Plugins.subproj/WebNetscapePluginDocumentView.m: 30846 (-[WebNetscapePluginDocumentView setDataSource:]): 30847 * Plugins.subproj/WebNetscapePluginEmbeddedView.m: 30848 (-[WebNetscapePluginEmbeddedView dataSource]): 30849 * Plugins.subproj/WebNullPluginView.m: 30850 (-[WebNullPluginView viewDidMoveToWindow]): 30851 * WebCoreSupport.subproj/WebBridge.m: 30852 (-[WebBridge startLoadingResource:withURL:]): 30853 * WebCoreSupport.subproj/WebSubresourceClient.m: 30854 (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): 30855 (-[WebSubresourceClient receivedError:]): 30856 (-[WebSubresourceClient resourceDidFinishLoading:]): 30857 * WebKit.pbproj/project.pbxproj: 30858 * WebView.subproj/WebBaseResourceHandleDelegate.m: 30859 (-[WebBaseResourceHandleDelegate setDataSource:]): 30860 * WebView.subproj/WebController.h: 30861 * WebView.subproj/WebController.m: 30862 (-[WebController backForwardList]): 30863 (-[WebController setUsesBackForwardList:]): 30864 * WebView.subproj/WebDataSource.h: 30865 * WebView.subproj/WebDataSource.m: 30866 * WebView.subproj/WebDataSourcePrivate.h: 30867 * WebView.subproj/WebDataSourcePrivate.m: 30868 (-[WebDataSource _controller]): 30869 (-[WebDataSource _receivedError:complete:]): 30870 (-[WebDataSource _loadIcon]): 30871 * WebView.subproj/WebFrame.h: 30872 * WebView.subproj/WebFramePrivate.m: 30873 (switch): 30874 * WebView.subproj/WebHTMLViewPrivate.m: 30875 (-[WebHTMLView _controller]): 30876 (-[WebHTMLView _frame]): 30877 (-[WebHTMLView _elementAtPoint:]): 30878 * WebView.subproj/WebImageView.m: 30879 (-[WebImageView controller]): 30880 (-[WebImageView menuForEvent:]): 30881 * WebView.subproj/WebMainResourceClient.m: 30882 (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]): 30883 (-[WebMainResourceClient continueAfterNavigationPolicy:formState:]): 30884 (-[WebMainResourceClient resource:willSendRequest:]): 30885 (-[WebMainResourceClient continueAfterContentPolicy:response:]): 30886 (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]): 30887 (-[WebMainResourceClient resource:didReceiveResponse:]): 30888 (-[WebMainResourceClient resource:didReceiveData:]): 30889 (-[WebMainResourceClient resourceDidFinishLoading:]): 30890 (-[WebMainResourceClient resource:didFailLoadingWithError:]): 30891 * WebView.subproj/WebTextView.m: 30892 (-[WebTextView menuForEvent:]): 30893 * WebView.subproj/WebView.h: 30894 * WebView.subproj/WebView.m: 30895 (-[WebView webFrame]): 30896 (-[WebView concludeDragOperation:]): 30897 * WebView.subproj/WebViewPrivate.h: 30898 * WebView.subproj/WebViewPrivate.m: 30899 (-[WebView _controller]): 30900 309012003-03-05 Maciej Stachowiak <mjs@apple.com> 30902 30903 Reviewed by Ken. 30904 30905 * WebView.subproj/WebFramePrivate.m: 30906 (_recursiveGoToItem:fromItem:withLoadType:): Account for 30907 possibility of nil target. 30908 309092003-03-05 Maciej Stachowiak <mjs@apple.com> 30910 30911 Reviewed by Darin. 30912 30913 - fixed crash when going back due to frame name of nil since we 30914 don't force the name "_top" any more. 30915 * WebView.subproj/WebController.m: 30916 (-[WebController _goToItem:withLoadType:]): Handle nil target 30917 properly. 30918 309192003-03-05 Darin Adler <darin@apple.com> 30920 30921 Reviewed by John. 30922 30923 - fixed 3189441 -- REGRESSION: layout tests crash building generated frame name 30924 30925 * WebView.subproj/WebFramePrivate.m: (-[WebFrame _addFramePathToString:]): 30926 Handle a frame name of nil here, since we don't force the name "_top" any more. 30927 309282003-03-04 Trey Matteson <trey@apple.com> 30929 30930 Support for autofill. These are just two new glue routines 30931 that call down through the bridge. They allow regexp driven 30932 binding of AB data to form elements. 30933 30934 Reviewed by Maciej. 30935 30936 * WebView.subproj/WebHTMLRepresentation.h: 30937 * WebView.subproj/WebHTMLRepresentation.m: 30938 (-[WebHTMLRepresentation searchForLabels:beforeElement:]): 30939 Call straight to bridge. 30940 (-[WebHTMLRepresentation matchLabels:againstElement:]): 30941 Call straight to bridge. 30942 309432003-03-04 Maciej Stachowiak <mjs@apple.com> 30944 30945 Reinstate missing part of last checking. 30946 * WebView.subproj/WebFramePrivate.m: 30947 309482003-03-04 Maciej Stachowiak <mjs@apple.com> 30949 30950 Reviewed by Trey. 30951 30952 Added the ability to set the top-level frame name via the 30953 WebController initializer. Also made [[controller mainFrame] 30954 frameName] return the true top-level frame name instead of "_top", 30955 since that is already special-cased anywhere it needs to be. 30956 * WebView.subproj/WebController.h: 30957 * WebView.subproj/WebController.m: 30958 (-[WebController init]): Update for change to designated initializer. 30959 (-[WebController initWithView:]): New convenience initializer. 30960 (-[WebController initWithView:frameName:setName:]): Added ability to set 30961 top-level frame name. 30962 * WebView.subproj/WebControllerPrivate.h: 30963 * WebView.subproj/WebControllerPrivate.m: 30964 (-[WebControllerPrivate dealloc]): Remove topLevelFrameNAme field. 30965 (-[WebController _setTopLevelFrameName:]): Actually set it 30966 on the top level frame, no point to keeping it here. 30967 (-[WebController _findFrameInThisWindowNamed:]): No more need to 30968 special-case top-level frame name. 30969 * WebView.subproj/WebFrame.m: 30970 (-[WebFrame initWithName:webView:controller:]): call [self _setName:] instead 30971 of [_private setName:] 30972 * WebView.subproj/WebFramePrivate.h: 30973 * WebView.subproj/WebFramePrivate.m: 30974 (-[WebFrame _setName:]): Don't let the name get set to _blank. 309752003-03-04 John Sullivan <sullivan@apple.com> 30976 30977 Reviewed by Darin 30978 30979 * Misc.subproj/WebKitNSStringExtras.h: 30980 * Misc.subproj/WebKitNSStringExtras.m: 30981 (-[NSString _web_widthWithFont:]): 30982 (-[NSString _web_drawAtPoint:font:textColor:): 30983 removed the unnecessary string parameter from these two 30984 NSString methods. 30985 309862003-03-04 Darin Adler <darin@apple.com> 30987 30988 Reviewed by Maciej. 30989 30990 - got rid of some framework initialization (working on bug 3185161) 30991 30992 * WebView.subproj/WebPreferences.m: 30993 (-[WebPreferences _postPreferencesChangesNotification]): Moved this function up. 30994 (+[WebPreferences standardPreferences]): Call _postPreferencesChangesNotification when this is made, 30995 for consistency with the old behavior. 30996 (+[WebPreferences initialize]): Changed to initialize from load, and got rid of stuff we don't want 30997 to do from inside an initialize function. 30998 309992003-03-04 Richard Williamson <rjw@apple.com> 31000 31001 Remove initWithURL: and frameName from WebDataSource public API. 31002 31003 Reviewed by trey. 31004 31005 * WebView.subproj/WebDataSource.h: 31006 * WebView.subproj/WebDataSource.m: 31007 (-[WebDataSource webFrame]): 31008 310092003-03-04 Darin Adler <darin@apple.com> 31010 31011 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 31012 * English.lproj/Localizable.strings: Regenerated. 31013 310142003-03-03 Richard Williamson <rjw@apple.com> 31015 31016 Switch all WebController's delegate to use informal protocols. 31017 31018 Reviewed by trey. 31019 31020 * Plugins.subproj/WebBaseNetscapePluginView.m: 31021 (-[WebBaseNetscapePluginView status:]): 31022 * Plugins.subproj/WebNetscapePluginDocumentView.m: 31023 (-[WebNetscapePluginDocumentView setDataSource:]): 31024 * Plugins.subproj/WebNullPluginView.m: 31025 (-[WebNullPluginView viewDidMoveToWindow]): 31026 * Plugins.subproj/WebPluginController.m: 31027 (-[WebPluginController showStatus:]): 31028 * WebCoreSupport.subproj/WebBridge.h: 31029 * WebCoreSupport.subproj/WebBridge.m: 31030 (-[WebBridge createWindowWithURL:frameName:]): 31031 (-[WebBridge showWindow]): 31032 (-[WebBridge areToolbarsVisible]): 31033 (-[WebBridge setToolbarsVisible:]): 31034 (-[WebBridge isStatusBarVisible]): 31035 (-[WebBridge setStatusBarVisible:]): 31036 (-[WebBridge setWindowFrame:]): 31037 (-[WebBridge setStatusText:]): 31038 (-[WebBridge objectLoadedFromCacheWithURL:response:size:]): 31039 (-[WebBridge setWebFrame:]): 31040 * WebKit.exp: 31041 * WebKit.pbproj/project.pbxproj: 31042 * WebView.subproj/WebBaseResourceHandleDelegate.h: 31043 * WebView.subproj/WebBaseResourceHandleDelegate.m: 31044 (-[WebBaseResourceHandleDelegate resourceLoadDelegate]): 31045 (-[WebBaseResourceHandleDelegate downloadDelegate]): 31046 (-[WebBaseResourceHandleDelegate resource:willSendRequest:]): 31047 (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]): 31048 (-[WebBaseResourceHandleDelegate resource:didReceiveData:]): 31049 (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]): 31050 (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]): 31051 (-[WebBaseResourceHandleDelegate cancelWithError:]): 31052 (-[WebBaseResourceHandleDelegate notifyDelegatesOfInterruptionByPolicyChange]): 31053 * WebView.subproj/WebContextMenuDelegate.h: 31054 * WebView.subproj/WebController.h: 31055 * WebView.subproj/WebController.m: 31056 (-[WebController setWindowOperationsDelegate:]): 31057 (-[WebController windowOperationsDelegate]): 31058 (-[WebController setResourceLoadDelegate:]): 31059 (-[WebController resourceLoadDelegate]): 31060 (-[WebController setDownloadDelegate:]): 31061 (-[WebController downloadDelegate]): 31062 (-[WebController setContextMenuDelegate:]): 31063 (-[WebController contextMenuDelegate]): 31064 (-[WebController setPolicyDelegate:]): 31065 (-[WebController policyDelegate]): 31066 (-[WebController setLocationChangeDelegate:]): 31067 (-[WebController locationChangeDelegate]): 31068 (-[WebController stringByEvaluatingJavaScriptFromString:]): 31069 * WebView.subproj/WebControllerPolicyDelegate.h: 31070 * WebView.subproj/WebControllerPrivate.h: 31071 * WebView.subproj/WebControllerPrivate.m: 31072 (-[WebController _openNewWindowWithRequest:behind:]): 31073 (-[WebController _menuForElement:]): 31074 (-[WebController _mouseDidMoveOverElement:modifierFlags:]): 31075 (-[WebController _locationChangeDelegateForwarder]): 31076 (-[WebController _resourceLoadDelegateForwarder]): 31077 (-[WebController _policyDelegateForwarder]): 31078 (-[WebController _contextMenuDelegateForwarder]): 31079 (-[WebController _windowOperationsDelegateForwarder]): 31080 (-[_WebSafeForwarder initWithTarget:defaultTarget:templateClass:]): 31081 (-[_WebSafeForwarder forwardInvocation:]): 31082 (-[_WebSafeForwarder methodSignatureForSelector:]): 31083 * WebView.subproj/WebDataSource.h: 31084 * WebView.subproj/WebDataSourcePrivate.m: 31085 (-[WebDataSource _startLoading:]): 31086 (-[WebDataSource _setTitle:]): 31087 (-[WebDataSource _setRequest:]): 31088 (-[WebDataSource _updateIconDatabaseWithURL:]): 31089 * WebView.subproj/WebDefaultContextMenuDelegate.h: 31090 * WebView.subproj/WebDefaultContextMenuDelegate.m: 31091 (+[WebDefaultContextMenuDelegate sharedContextMenuDelegate]): 31092 * WebView.subproj/WebDefaultLocationChangeDelegate.h: Added. 31093 * WebView.subproj/WebDefaultLocationChangeDelegate.m: Added. 31094 (+[WebDefaultLocationChangeDelegate sharedLocationChangeDelegate]): 31095 (-[WebDefaultLocationChangeDelegate locationChangeStartedForDataSource:]): 31096 (-[WebDefaultLocationChangeDelegate serverRedirectedForDataSource:]): 31097 (-[WebDefaultLocationChangeDelegate locationChangeCommittedForDataSource:]): 31098 (-[WebDefaultLocationChangeDelegate receivedPageTitle:forDataSource:]): 31099 (-[WebDefaultLocationChangeDelegate receivedPageIcon:forDataSource:]): 31100 (-[WebDefaultLocationChangeDelegate locationChangeDone:forDataSource:]): 31101 (-[WebDefaultLocationChangeDelegate willCloseLocationForDataSource:]): 31102 (-[WebDefaultLocationChangeDelegate locationChangedWithinPageForDataSource:]): 31103 (-[WebDefaultLocationChangeDelegate clientWillRedirectTo:delay:fireDate:forFrame:]): 31104 (-[WebDefaultLocationChangeDelegate clientRedirectCancelledForFrame:]): 31105 * WebView.subproj/WebDefaultPolicyDelegate.h: 31106 * WebView.subproj/WebDefaultPolicyDelegate.m: 31107 (+[WebDefaultPolicyDelegate sharedPolicyDelegate]): 31108 * WebView.subproj/WebDefaultPolicyDelegatePrivate.h: Removed. 31109 * WebView.subproj/WebDefaultResourceLoadDelegate.h: Added. 31110 * WebView.subproj/WebDefaultResourceLoadDelegate.m: Added. 31111 (+[WebDefaultResourceLoadDelegate sharedResourceLoadDelegate]): 31112 (-[WebDefaultResourceLoadDelegate identifierForInitialRequest:fromDataSource:]): 31113 (-[WebDefaultResourceLoadDelegate resource:willSendRequest:fromDataSource:]): 31114 (-[WebDefaultResourceLoadDelegate resource:didReceiveResponse:fromDataSource:]): 31115 (-[WebDefaultResourceLoadDelegate resource:didReceiveContentLength:fromDataSource:]): 31116 (-[WebDefaultResourceLoadDelegate resource:didFinishLoadingFromDataSource:]): 31117 (-[WebDefaultResourceLoadDelegate resource:didFailLoadingWithError:fromDataSource:]): 31118 (-[WebDefaultResourceLoadDelegate pluginFailedWithError:dataSource:]): 31119 * WebView.subproj/WebDefaultWindowOperationsDelegate.h: Added. 31120 * WebView.subproj/WebDefaultWindowOperationsDelegate.m: Added. 31121 (+[WebDefaultWindowOperationsDelegate sharedWindowOperationsDelegate]): 31122 (-[WebDefaultWindowOperationsDelegate runJavaScriptConfirmPanelWithMessage:]): 31123 (-[WebDefaultWindowOperationsDelegate runJavaScriptTextInputPanelWithPrompt:defaultText:]): 31124 (-[WebDefaultWindowOperationsDelegate runOpenPanelForFileButtonWithResultListener:]): 31125 * WebView.subproj/WebFrame.m: 31126 (-[WebFrame initWithName:webView:controller:]): 31127 (-[WebFrame findOrCreateFrameNamed:]): 31128 * WebView.subproj/WebFramePrivate.m: 31129 (if): 31130 (switch): 31131 * WebView.subproj/WebLocationChangeDelegate.h: 31132 * WebView.subproj/WebLocationChangeDelegate.m: Removed. 31133 * WebView.subproj/WebMainResourceClient.h: 31134 * WebView.subproj/WebMainResourceClient.m: 31135 (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]): 31136 (-[WebMainResourceClient continueAfterContentPolicy:response:]): 31137 (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]): 31138 * WebView.subproj/WebResourceLoadDelegate.h: 31139 * WebView.subproj/WebWindowOperationsDelegate.h: 31140 311412003-03-03 Darin Adler <darin@apple.com> 31142 31143 Reviewed by Richard. 31144 31145 - simplified the custom user agent and text encoding methods as per request from documentation group 31146 31147 * WebView.subproj/WebController.h: Removed hasCustomUserAgent, resetUserAgent, hasCustomTextEncoding, 31148 and resetTextEncoding. Updated comments to indicate what nil means. 31149 31150 * WebView.subproj/WebController.m: 31151 (-[WebController setCustomUserAgent:]): Remove assertion, allow nil. 31152 (-[WebController customUserAgent]): Remove nil check. 31153 (-[WebController setCustomTextEncodingName:]): Remove assertion, allow nil, and do an == check along 31154 with the isEqualToString: check to handle the nil case. 31155 (-[WebController customTextEncodingName]): Remove nil check. 31156 311572003-03-01 Maciej Stachowiak <mjs@apple.com> 31158 31159 Reviewed by Darin. 31160 31161 - fixed 3163855 - Need control over certain potential dialogs/sheets 31162 31163 * WebCoreSupport.subproj/WebBridge.h: 31164 * WebCoreSupport.subproj/WebBridge.m: 31165 (-[WebBridge runJavaScriptAlertPanelWithMessage:]): Moved here from 31166 view factory. Call the bridge instead of popping up the dialog. 31167 (-[WebBridge runJavaScriptConfirmPanelWithMessage:]): Likewise. 31168 (-[WebBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]): 31169 Likewise. 31170 (-[WebBridge fileButton]): Moved here from view factory, so we can 31171 pass the bridge to the button. 31172 (-[WebBridge runOpenPanelForFileButtonWithResultListener:]): Call the delegate. 31173 * WebCoreSupport.subproj/WebFileButton.h: 31174 * WebCoreSupport.subproj/WebFileButton.m: 31175 (-[WebFileButton initWithBridge:]): New method so this object knows about the bridge. 31176 (-[WebFileButton beginSheet]): Instead of popping up the sheet directly, 31177 call the bridge (which will call the delegate). 31178 (-[WebFileButton chooseFilename:]): Update for the new filename. 31179 (-[WebFileButton cancel]): Do nothing. 31180 * WebCoreSupport.subproj/WebViewFactory.m: Removed some methods. 31181 * WebKit.exp: Export .objc_class_WebJavaScriptTextInputPanel (for now). 31182 * WebKit.pbproj/project.pbxproj: Export WebJavaScriptTextInputPanel.h (for now). 31183 * WebView.subproj/WebWindowOperationsDelegate.h: Added new methods. 31184 311852003-03-01 Richard Williamson <rjw@apple.com> 31186 31187 Reviewed by Chris & Darin. 31188 31189 Fixed frameRequiredForMIMEType: to correctly check for BOTH 31190 netscape plugins and cocoa plugins. 31191 31192 * WebCoreSupport.subproj/WebBridge.m: 31193 (-[WebBridge frameRequiredForMIMEType:]): 31194 31195 Made WebPluginViewFactory.h private (SPI) to provide access to 31196 plugin package keys. 31197 31198 * WebKit.pbproj/project.pbxproj: 31199 312002003-02-28 Richard Williamson <rjw@apple.com> 31201 31202 Make WebDOM* classes private instead of public. This change 31203 was made before but the project file must have been accidentally 31204 overwritten. Make the WebPlugin* classes private. 31205 31206 * WebKit.pbproj/project.pbxproj: 31207 312087003-02-28 Trey Matteson <trey@apple.com> 31209 31210 Various support for autofill/autocomplete. 31211 31212 We receive a form along with the formValues from WC on submit, which we 31213 just pass along to the FormDelegate. As part of this we store the values 31214 and the form together in a new private WebFormState class. Lots of glue 31215 for passing this around instead of just the values dict. 31216 31217 Send willCloseLocationForDataSource when we are finally through with a page. 31218 31219 Reviewed by Darin. 31220 31221 * WebCoreSupport.subproj/WebBridge.m: 31222 (-[WebBridge loadURL:reload:triggeringEvent:form:formValues:]): 31223 Pass along form along with values 31224 (-[WebBridge postWithURL:data:contentType:triggeringEvent:form:formValues:]): 31225 Pass along form along with values 31226 * WebView.subproj/WebDataSourcePrivate.m: 31227 (-[WebDataSource _commitIfReady:]): Call frame to send willCloseLocationForDataSource. 31228 * WebView.subproj/WebFormDelegate.h: 31229 * WebView.subproj/WebFormDelegate.m: 31230 (-[WebFormDelegate frame:willSubmitForm:withValues:]): Pass form along with values 31231 * WebView.subproj/WebFrame.m: 31232 (-[WebFrame loadRequest:]): Pass FormState instead of just values. 31233 (-[WebFrame reload]): Pass FormState instead of just values. 31234 * WebView.subproj/WebFramePrivate.h: 31235 * WebView.subproj/WebFramePrivate.m: 31236 <<prepare-ChangeLog flailed on this file>> 31237 Lots of routines were we pass FormState instead of the form values dict 31238 -([WebFrame _closeOldDataSources]): New, sends willCloseLocation for whole frame tree. 31239 New, trivial, WebFormState class. 31240 * WebView.subproj/WebHTMLRepresentation.h: 31241 * WebView.subproj/WebHTMLRepresentation.m: 31242 (-[WebHTMLRepresentation formIsLoginForm:]): Changed to take form instead of form field. 31243 (-[WebHTMLRepresentation formForElement:]): New, just pass through bridge. 31244 (-[WebHTMLRepresentation controlsInForm:]): New, just pass through bridge. 31245 * WebView.subproj/WebLocationChangeDelegate.h: Add willCloseLocationForDataSource. 31246 * WebView.subproj/WebLocationChangeDelegate.m: 31247 (-[WebLocationChangeDelegate willCloseLocationForDataSource:]): Default impl. 31248 * WebView.subproj/WebMainResourceClient.m: 31249 (-[WebMainResourceClient continueAfterNavigationPolicy:formState:]): 31250 Pass FormState instead of just values. 31251 (-[WebMainResourceClient resource:willSendRequest:]): 31252 Pass FormState instead of just values. 31253 312542003-02-28 Maciej Stachowiak <mjs@apple.com> 31255 31256 Reviewed by Trey. 31257 31258 - fixed 3180170 - filepile.com does not work correctly 31259 31260 I fixed this by making referrer work correctly for targetted 31261 cross-frame and cross-window links. It is still not working right 31262 for JavaScript window.open though. 31263 * WebCoreSupport.subproj/WebBridge.m: 31264 (-[WebBridge createWindowWithURL:frameName:]): Set referrer. 31265 (-[WebBridge loadURL:referrer:reload:triggeringEvent:formValues:]): Pass referrer 31266 along to frame. 31267 (-[WebBridge postWithURL:referrer:data:contentType:triggeringEvent:formValues:]): 31268 Likewise. 31269 * WebView.subproj/WebFramePrivate.h: 31270 * WebView.subproj/WebFramePrivate.m: 31271 (-[WebFrame _loadItem:fromItem:withLoadType:]): Pass referrer. 31272 (-[WebFrame 31273 _loadURL:referrer:loadType:triggeringEvent:formValues:]): Use 31274 passed-in referrer (link could have been clicked in another 31275 frame). 31276 (-[WebFrame _loadURL:intoChild:]): Pass referrer. 31277 (-[WebFrame 31278 _postWithURL:referrer:data:contentType:triggeringEvent:formValues:]): 31279 Use passed-in referrer. 31280 312812003-02-28 Darin Adler <darin@apple.com> 31282 31283 Reviewed by Trey. 31284 31285 - fixed 3183575 -- <https://sbcreg.sbcglobal.net> casuses infinite refresh & crash 31286 31287 The page had history.forward(1) which was causing us to reload. 31288 31289 * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge goBackOrForward:]): 31290 Handle edge cases by checking backListCount and forwardListCount at this level. 31291 Be sure to do nothing when we are already on the right page. 31292 31293 * History.subproj/WebBackForwardList.h: Added forwardListCount, updated comment for entryAtIndex. 31294 * History.subproj/WebBackForwardList.m: 31295 (-[WebBackForwardList forwardListCount]): Added. 31296 (-[WebBackForwardList entryAtIndex:]): Return nil for out of range indices. 31297 312982003-02-27 Maciej Stachowiak <mjs@apple.com> 31299 31300 Reviewed by Richard. 31301 31302 * WebCoreSupport.subproj/WebBridge.m: 31303 (-[WebBridge window]): Avoid calling removed call. 31304 * WebView.subproj/WebView.m: Remove override of window method. 31305 * WebView.subproj/WebWindowOperationsDelegate.h: 31306 Adjust for new API. 31307=== Safari-64 === 31308 31309=== Safari-63 === 31310 313112003-02-26 Maciej Stachowiak <mjs@apple.com> 31312 31313 Reviewed by Dave. 31314 31315 - fixed reproducible hang at http://asp.eltonsoft.dk/cast/get.asp?cat=Quicktime 31316 31317 WebKit's processing time was O(N^3) in the number of 31318 frames. Improved it to O(N^2) by storing frame pointer directly in 31319 WebDataSource instead of linear scan. Could still be improved more. 31320 * WebView.subproj/WebDataSource.m: 31321 (-[WebDataSource webFrame]): 31322 * WebView.subproj/WebDataSourcePrivate.h: 31323 * WebView.subproj/WebDataSourcePrivate.m: 31324 (-[WebDataSourcePrivate dealloc]): 31325 (-[WebDataSource _stopLoadingWithError:]): 31326 (-[WebDataSource _setWebFrame:]): 31327 * WebView.subproj/WebFramePrivate.m: 31328 (-[WebFrame _detachFromParent]): 31329 (-[WebFrame _setDataSource:]): 31330 (-[WebFrame _transitionToCommitted:]): 31331 (-[WebFrame _isLoadComplete]): 31332 (-[WebFrame _clearProvisionalDataSource]): 31333 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formValues:]): 31334 (-[WebFrame _loadDataSource:withLoadType:formValues:]): 31335 (-[WebFrame _setProvisionalDataSource:]): 31336 313372003-02-26 Richard Williamson <rjw@apple.com> 31338 31339 Fixed 3102760. Removed WebDocumentDragSettings from API. 31340 31341 Reviewed by Chris. 31342 31343 * WebView.subproj/WebDocument.h: 31344 * WebView.subproj/WebHTMLView.h: 31345 * WebView.subproj/WebHTMLView.m: 31346 * WebView.subproj/WebImageView.h: 31347 * WebView.subproj/WebImageView.m: 31348 (-[WebImageView initWithFrame:]): 31349 (-[WebImageView mouseDragged:]): 31350 * WebView.subproj/WebTextView.h: 31351 * WebView.subproj/WebTextView.m: 31352 (-[WebTextView initWithFrame:]): 31353 (-[WebTextView layout]): 31354 313552003-02-25 David Hyatt <hyatt@apple.com> 31356 31357 Fix for bug #3181249. Ensure the padding argument gets passed 31358 through properly (instead of just passing 0). 31359 Reviewed by darin 31360 31361 * WebCoreSupport.subproj/WebTextRenderer.m: 31362 313632003-02-25 John Sullivan <sullivan@apple.com> 31364 31365 WebKit part of fix for 3181290 -- need call to reload all bookmarks from disk, 31366 for synching's sake. 31367 31368 I ended up not adding a new call, but making the existing loadBookmarkGroup 31369 work better when called after the initial load. It wasn't doing anything wrong 31370 before; it just wasn't passing along enough information to clients to enable 31371 them to do the right thing. 31372 31373 Reviewed by Trey 31374 31375 * Bookmarks.subproj/WebBookmarkGroup.h: 31376 new extern NSStrings WebBookmarksWillBeReloadedNotification and 31377 WebBookmarksWereReloadedNotification 31378 31379 * Bookmarks.subproj/WebBookmarkGroup.m: 31380 (-[WebBookmarkGroup _sendNotification:forBookmark:children:]): 31381 soften assert so it doesn't fire on the new cases. 31382 31383 (-[WebBookmarkGroup _bookmarksWillBeReloaded]): 31384 send WebBookmarksWillBeReloadedNotification 31385 (-[WebBookmarkGroup _bookmarksWereReloaded]): 31386 send WebBookmarksWereReloadedNotification 31387 31388 (-[WebBookmarkGroup _loadBookmarkGroupGuts]): 31389 bracket the load with the new notification-sending calls 31390 31391 * WebKit.exp: 31392 add the two new extern NSStrings 31393 313942003-02-25 Darin Adler <darin@apple.com> 31395 31396 Reviewed by John. 31397 31398 - fixed 3176962 -- add KHTML somewhere in the user agent string 31399 31400 * English.lproj/StringsNotToBeLocalized.txt: Change "(like Gecko)" to "(KHTML, like Gecko)". 31401 * WebView.subproj/WebController.m: (-[WebController userAgentForURL:]): Ditto. 31402 314032003-02-20 Chris Blumenberg <cblu@apple.com> 31404 31405 Added _web_superviewOfClass:stoppingAtClass:. Climbs up hierarchy and returns nil when stoppingAtClass is hit. 31406 31407 Reviewed by darin. 31408 31409 * Misc.subproj/WebNSViewExtras.h: 31410 * Misc.subproj/WebNSViewExtras.m: 31411 (-[NSView _web_superviewOfClass:stoppingAtClass:]): 31412 (-[NSView _web_superviewOfClass:]): 31413 314142003-02-20 Ken Kocienda <kocienda@apple.com> 31415 31416 Reviewed by David 31417 31418 Modified to use new WebFoundation API. Though there seem to be 31419 many changes, they are all "uninteresting" in that the changes 31420 only moved code to use new method and class names. 31421 31422 * Downloads.subproj/WebDownload.h: 31423 * Downloads.subproj/WebDownload.m: 31424 (-[WebDownload initWithRequest:delegate:]): 31425 (-[WebDownload _initWithLoadingHandle:request:response:delegate:]): 31426 (-[WebDownload createFileIfNecessary]): 31427 * Downloads.subproj/WebDownloadPrivate.h: 31428 * Misc.subproj/WebIconLoader.h: 31429 * Misc.subproj/WebIconLoader.m: 31430 (-[WebIconLoader startLoading]): 31431 (-[WebIconLoader resourceDidFinishLoading:]): 31432 (-[WebIconLoader resource:willSendRequest:]): 31433 (-[WebIconLoader resource:didReceiveResponse:]): 31434 (-[WebIconLoader resource:didReceiveData:]): 31435 (-[WebIconLoader resource:didFailLoadingWithError:]): 31436 * Misc.subproj/WebResourceResponseExtras.h: 31437 * Misc.subproj/WebResourceResponseExtras.m: 31438 (-[WebHTTPResponse suggestedFilenameForSaving]): 31439 * Plugins.subproj/WebBaseNetscapePluginStream.h: 31440 * Plugins.subproj/WebBaseNetscapePluginStream.m: 31441 (-[WebBaseNetscapePluginStream setResponse:]): 31442 * Plugins.subproj/WebBaseNetscapePluginView.m: 31443 (-[WebBaseNetscapePluginView sendEvent:]): 31444 (-[WebBaseNetscapePluginView requestWithURLCString:]): 31445 (-[WebBaseNetscapePluginView loadPluginRequest:]): 31446 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): 31447 (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]): 31448 (-[WebBaseNetscapePluginView getURL:target:]): 31449 (-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]): 31450 (-[WebPluginRequest initWithRequest:frame:notifyData:]): 31451 (-[WebPluginRequest request]): 31452 * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h: 31453 * Plugins.subproj/WebNetscapePluginDocumentView.m: 31454 * Plugins.subproj/WebNetscapePluginEmbeddedView.m: 31455 (-[WebNetscapePluginEmbeddedView viewDidMoveToWindow]): 31456 * Plugins.subproj/WebNetscapePluginRepresentation.m: 31457 (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): 31458 * Plugins.subproj/WebNetscapePluginStream.h: 31459 * Plugins.subproj/WebNetscapePluginStream.m: 31460 (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]): 31461 (-[WebNetscapePluginStream resource:didReceiveResponse:]): 31462 (-[WebNetscapePluginStream resource:didReceiveData:]): 31463 (-[WebNetscapePluginStream resourceDidFinishLoading:]): 31464 (-[WebNetscapePluginStream resource:didFailLoadingWithError:]): 31465 * Plugins.subproj/WebPluginController.m: 31466 (-[WebPluginController showURL:inFrame:]): 31467 * WebCoreSupport.subproj/WebBridge.m: 31468 (-[WebBridge createWindowWithURL:frameName:]): 31469 (-[WebBridge objectLoadedFromCacheWithURL:response:size:]): 31470 (-[WebBridge defersLoading]): 31471 (-[WebBridge setDefersLoading:]): 31472 (-[WebBridge loadEmptyDocumentSynchronously]): 31473 * WebCoreSupport.subproj/WebCookieAdapter.m: 31474 (-[WebCookieAdapter cookiesForURL:]): 31475 (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]): 31476 * WebCoreSupport.subproj/WebSubresourceClient.h: 31477 * WebCoreSupport.subproj/WebSubresourceClient.m: 31478 (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): 31479 (-[WebSubresourceClient resource:willSendRequest:]): 31480 (-[WebSubresourceClient resource:didReceiveResponse:]): 31481 (-[WebSubresourceClient resource:didReceiveData:]): 31482 (-[WebSubresourceClient resourceDidFinishLoading:]): 31483 (-[WebSubresourceClient resource:didFailLoadingWithError:]): 31484 * WebView.subproj/WebBaseResourceHandleDelegate.h: 31485 * WebView.subproj/WebBaseResourceHandleDelegate.m: 31486 (-[WebBaseResourceHandleDelegate startLoading:]): 31487 (-[WebBaseResourceHandleDelegate loadWithRequest:]): 31488 (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): 31489 (-[WebBaseResourceHandleDelegate resource:willSendRequest:]): 31490 (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]): 31491 (-[WebBaseResourceHandleDelegate resource:didReceiveData:]): 31492 (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]): 31493 (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]): 31494 (-[WebBaseResourceHandleDelegate cancelledError]): 31495 * WebView.subproj/WebController.h: 31496 * WebView.subproj/WebController.m: 31497 (-[WebResourceLoadDelegate identifierForInitialRequest:fromDataSource:]): 31498 (-[WebResourceLoadDelegate resource:willSendRequest:fromDataSource:]): 31499 (-[WebResourceLoadDelegate resource:didReceiveResponse:fromDataSource:]): 31500 * WebView.subproj/WebControllerPolicyDelegate.h: 31501 * WebView.subproj/WebControllerPrivate.h: 31502 * WebView.subproj/WebControllerPrivate.m: 31503 (-[WebController _downloadURL:toDirectory:]): 31504 (-[WebController defersCallbacks]): 31505 (-[WebController setDefersCallbacks:]): 31506 (-[WebController _openNewWindowWithRequest:behind:]): 31507 * WebView.subproj/WebDataSource.h: 31508 * WebView.subproj/WebDataSource.m: 31509 (-[WebDataSource initWithURL:]): 31510 (-[WebDataSource initWithRequest:]): 31511 (-[WebDataSource initialRequest]): 31512 (-[WebDataSource request]): 31513 (-[WebDataSource response]): 31514 * WebView.subproj/WebDataSourcePrivate.h: 31515 * WebView.subproj/WebDataSourcePrivate.m: 31516 (-[WebDataSource _addSubresourceClient:]): 31517 (-[WebDataSource _stopLoading]): 31518 (-[WebDataSource _setURL:]): 31519 (-[WebDataSource _setRequest:]): 31520 (-[WebDataSource _setResponse:]): 31521 (-[WebDataSource _commitIfReady:]): 31522 (-[WebDataSource _defersCallbacksChanged]): 31523 (-[WebDataSource _originalRequest]): 31524 (-[WebDataSource _lastCheckedRequest]): 31525 (-[WebDataSource _setLastCheckedRequest:]): 31526 (-[WebDataSource _addResponse:]): 31527 * WebView.subproj/WebDefaultContextMenuDelegate.m: 31528 (-[WebDefaultContextMenuDelegate contextMenuItemsForElement:defaultMenuItems:]): 31529 (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]): 31530 * WebView.subproj/WebDefaultPolicyDelegate.m: 31531 (-[WebDefaultPolicyDelegate savePathForResponse:andRequest:]): 31532 (-[WebDefaultPolicyDelegate decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]): 31533 * WebView.subproj/WebFrame.h: 31534 * WebView.subproj/WebFrame.m: 31535 (-[WebFrame loadRequest:]): 31536 (-[WebFrame reload]): 31537 * WebView.subproj/WebFramePrivate.h: 31538 * WebView.subproj/WebFramePrivate.m: 31539 (-[WebFrame _createItem]): 31540 (-[WebFrame _opened]): 31541 (-[WebFrame _loadItem:fromItem:withLoadType:]): 31542 (-[WebFrame _loadRequest:triggeringAction:loadType:formValues:]): 31543 (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): 31544 (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formValues:andCall:withSelector:]): 31545 (-[WebFrame _continueAfterNavigationPolicy:]): 31546 (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formValues:]): 31547 (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]): 31548 (-[WebFrame _loadURL:loadType:triggeringEvent:formValues:]): 31549 (-[WebFrame _postWithURL:data:contentType:triggeringEvent:formValues:]): 31550 (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]): 31551 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formValues:]): 31552 (-[WebFrame _downloadRequest:toDirectory:]): 31553 * WebView.subproj/WebHTMLRepresentation.m: 31554 * WebView.subproj/WebMainResourceClient.h: 31555 * WebView.subproj/WebMainResourceClient.m: 31556 (-[WebMainResourceClient continueAfterNavigationPolicy:formValues:]): 31557 (-[WebMainResourceClient resource:willSendRequest:]): 31558 (-[WebMainResourceClient continueAfterContentPolicy:response:]): 31559 (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]): 31560 (-[WebMainResourceClient resource:didReceiveResponse:]): 31561 (-[WebMainResourceClient resource:didReceiveData:]): 31562 (-[WebMainResourceClient resourceDidFinishLoading:]): 31563 (-[WebMainResourceClient resource:didFailLoadingWithError:]): 31564 (-[WebMainResourceClient startLoading:]): 31565 * WebView.subproj/WebResourceLoadDelegate.h: 31566 * WebView.subproj/WebTextRepresentation.m: 31567 * WebView.subproj/WebTextView.m: 31568 * WebView.subproj/WebView.m: 31569 (-[WebView concludeDragOperation:]): 31570 * WebView.subproj/WebViewPrivate.m: 31571 * WebView.subproj/WebWindowOperationsDelegate.h: 31572 315732003-02-18 Maciej Stachowiak <mjs@ap0101m-dhcp138.apple.com> 31574 31575 Reviewed by Chris. 31576 Merged changes from Safari-58-1-branch. 31577 2003-02-11 Richard Williamson <rjw@apple.com> 31578 31579 Add import of CGFontCache.h, which is no longer 31580 included by CoreGraphicsPrivate.h. 31581 31582 Reviewed by Vicki. 31583 31584 * WebCoreSupport.subproj/WebTextRendererFactory.m: 31585 31586 2003-02-11 Maciej Stachowiak <mjs@apple.com> 31587 31588 Reviewed by Darin. 31589 31590 * WebCoreSupport.subproj/WebTextRenderer.m: Change (void **) cast 31591 to (void *) for compatibility with the latest Panther. 31592 2003-02-11 Maciej Stachowiak <mjs@apple.com> 31593 31594 Reviewed by Trey. 31595 31596 * WebKit.pbproj/project.pbxproj: Add /System/Library/PrivateFrameworks 31597 31598=== Safari-62 === 31599 316002003-02-17 Ken Kocienda <kocienda@apple.com> 31601 31602 Reviewed by Trey 31603 31604 Rolled in documentation changes from Peter Kelly, our tech writer. 31605 31606 * History.subproj/WebBackForwardList.h 31607 * History.subproj/WebHistory.h 31608 * Misc.subproj/WebKitErrors.h 31609 * Misc.subproj/WebResourceResponseExtras.h 31610 * Panels.subproj/WebStandardPanels.h 31611 * Plugins.subproj/WebPluginError.h 31612 * WebView.subproj/WebContextMenuDelegate.h 31613 * WebView.subproj/WebController.h 31614 * WebView.subproj/WebControllerPolicyDelegate.h 31615 * WebView.subproj/WebDataSource.h 31616 * WebView.subproj/WebDefaultPolicyDelegate.h 31617 * WebView.subproj/WebDocument.h 31618 * WebView.subproj/WebFrame.h 31619 * WebView.subproj/WebPreferences.h 31620 * WebView.subproj/WebResourceLoadDelegate.h 31621 * WebView.subproj/WebView.h 31622 * WebView.subproj/WebWindowOperationsDelegate.h 31623 316242003-02-13 Trey Matteson <trey@apple.com> 31625 31626 2943514 hide the cursor when using the arrow keys to scroll 31627 Reviewed by Darin 31628 31629 * WebView.subproj/WebView.m: 31630 (-[WebView keyDown:]): Hide that cursor. 31631 316322003-02-16 Chris Blumenberg <cblu@apple.com> 31633 31634 Added debug method that can be used inside of gdb to examine an image. Needed this many times. 31635 31636 Reviewed by darin. 31637 31638 * Misc.subproj/WebNSImageExtras.h: 31639 * Misc.subproj/WebNSImageExtras.m: 31640 (-[NSImage _web_saveAndOpen]): 31641 316422003-02-15 Darin Adler <darin@apple.com> 31643 31644 * English.lproj/Localizable.strings: Regenerated. 31645 316462003-02-14 David Hyatt <hyatt@apple.com> 31647 31648 Patch to the drawLine function for the inline box model landing. 31649 Reviewed by kocienda 31650 31651 * WebCoreSupport.subproj/WebTextRenderer.m: 31652 316532003-02-13 Trey Matteson <trey@apple.com> 31654 31655 First checkin for working forms autocomplete. 31656 31657 This level mostly just has glue to go from app to WC through the bridge. 31658 WebHTMLReo exports some new SPI to get the element of a view, and then to get 31659 some HTML-level properties of that element. 31660 31661 Reviewed by Chris 31662 31663 * Bookmarks.subproj/WebBookmarkGroup.m: 31664 (-[WebBookmarkGroup _saveBookmarkGroupGuts]): Don't dump entire bookmark 31665 dict in the log. 31666 * WebKit.exp: New class used by app, objc_class_name_WebHTMLRepresentation. 31667 * WebView.subproj/WebHTMLRepresentation.h: 31668 * WebView.subproj/WebHTMLRepresentation.m: 31669 (-[WebHTMLRepresentation elementForView:]): New SPI. 31670 (-[WebHTMLRepresentation elementDoesAutoComplete:]): New SPI. 31671 (-[WebHTMLRepresentation elementIsInLoginForm:]): New SPI. 31672 316732003-02-13 Chris Blumenberg <cblu@apple.com> 31674 31675 Fixed WebKit typos found by Peter Wilson. 31676 31677 Reviewed by darin. 31678 31679 * Misc.subproj/WebKitErrors.h: 31680 * Misc.subproj/WebKitErrors.m: 31681 (categoryInitialize): Error should be WebErrorDescriptionCannotFindApplicationForURL not WebErrorDescriptionCannotNotFindApplicationForURL 31682 * Plugins.subproj/WebBaseNetscapePluginView.m: 31683 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): call findOrCreateFrameNamed 31684 * Plugins.subproj/WebPluginController.m: 31685 (-[WebPluginController showURL:inFrame:]): call findOrCreateFrameNamed 31686 * WebCoreSupport.subproj/WebBridge.m: 31687 (-[WebBridge findOrCreateFrameNamed:]): call findOrCreateFrameNamed 31688 * WebView.subproj/WebFrame.h: 31689 * WebView.subproj/WebFrame.m: 31690 (-[WebFrame findOrCreateFrameNamed:]): fixed name 31691 * WebView.subproj/WebFramePrivate.m: 31692 (-[WebFrame _continueAfterNavigationPolicy:]): use WebErrorDescriptionCannotFindApplicationForURL 31693 * WebView.subproj/WebMainResourceClient.m: 31694 (-[WebMainResourceClient continueAfterContentPolicy:response:]): use WebErrorDescriptionCannotFindApplicationForURL 31695 * WebView.subproj/WebView.h: 31696 * WebView.subproj/WebView.m: 31697 (-[WebView setAllowsScrolling:]): cast to WebDynamicScrollBarsView 31698 (-[WebView allowsScrolling]): cast to WebDynamicScrollBarsView 31699 (-[WebView frameScrollView]): return NSScrollView 31700 * WebView.subproj/WebViewPrivate.m: 31701 (-[WebView _setDocumentView:]): cast to WebDynamicScrollBarsView 31702 317032003-02-12 Chris Blumenberg <cblu@apple.com> 31704 31705 - Moved the WebKit error registration out of WebView because apps that use WebKit but not WebView might need to use WebKit errors (like my test app for WebDownload). 31706 - Added file close and file move errors (needed for WebDownload). 31707 31708 Reviewed by kocienda. 31709 31710 * English.lproj/Localizable.strings: Localize file close and file move errors. 31711 * Misc.subproj/WebKitErrors.h: Added file close and file move errors. 31712 * Misc.subproj/WebKitErrors.m: Added. 31713 (+[WebError initialize]): register the errors here 31714 * WebKit.exp: Export the WebDownload class (forgot to do this earlier). 31715 * WebKit.pbproj/project.pbxproj: 31716 * WebView.subproj/WebView.m: don't register the errors here 31717 317182003-02-12 Darin Adler <darin@apple.com> 31719 31720 Reviewed by Ken. 31721 31722 - fixed 3158484 -- after submission failure, submitting a second time doesn't work 31723 31724 * WebView.subproj/WebDataSourcePrivate.h: Added _receivedError:complete: method. 31725 * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _receivedError:complete:]): 31726 Added, parallel to _receivedData and _finishedLoading. Calls the new bridge method 31727 didNotOpenURL: for cases where we fail before committing (which calls openURL). 31728 Note that we can't use our own _bridge method because it asserts that we have committed 31729 to prevent accidental misuse. Also make the call on the controller that used to be done 31730 directly by the client. 31731 31732 * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient receivedError:complete:]): 31733 Call the new -[WebDataSource _receivedError:complete:] rather than calling the controller directly. 31734 317352003-02-11 Darin Adler <darin@apple.com> 31736 31737 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 31738 317392003-02-11 Darin Adler <darin@apple.com> 31740 31741 Reviewed by Ed. 31742 31743 - applied a fixed version of Ed Voas's change to make plug-ins position correctly 31744 inside Carbon metal windows; should have no effect on Safari 31745 31746 * Plugins.subproj/WebBaseNetscapePluginView.m: 31747 (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): 31748 Don't assume that the Cocoa concept of the content view matches up with the Carbon 31749 concept of where the port is positioned. Instead, convert coordinates to border 31750 view coordinates, then back to Carbon content coordinates by using the delta between 31751 the port bounds and the port's pixmap bounds. Bug 3160710 was caused by an older version 31752 of this patch implicitly assuming the port bounds always had (0,0) for top left. 31753 317542003-02-11 Trey Matteson <trey@apple.com> 31755 31756 Set -seg1addr in our build styles, but not for the B&I build. 31757 This makes our SYMROOTS from B&I usable to determine symbols from crash 31758 logs from the field. 31759 Also nuked DeploymentFat build style. 31760 31761 Reviewed by Ken. 31762 31763 * WebKit.pbproj/project.pbxproj: 31764 317652003-02-10 Chris Blumenberg <cblu@apple.com> 31766 31767 Added HeaderDoc comments for WebDownload and WebPluginError. 31768 31769 Reviewed by rjw. 31770 31771 * Downloads.subproj/WebDownload.h: 31772 * Plugins.subproj/WebPluginError.h: 31773 317742003-02-10 Trey Matteson <trey@apple.com> 31775 31776 Following the recent fix for ensuring that we always have a FormDelegate, 31777 when we need a default policy delegate we use a shared one instead of allocing 31778 a new one each time, which then would leak. 31779 31780 This included getting rid of the initWithWebController: method in the 31781 WebDefaultPolicyDelegate API. The arg was not used. 31782 31783 Reviewed by Richard 31784 31785 * WebKit.pbproj/project.pbxproj: new private header 31786 * WebView.subproj/WebController.m: 31787 (-[WebController policyDelegate]): use shared delegate if none set 31788 * WebView.subproj/WebDefaultPolicyDelegate.h: 31789 * WebView.subproj/WebDefaultPolicyDelegate.m: 31790 (+[WebDefaultPolicyDelegate _sharedWebPolicyDelegate]): return shared instance 31791 * WebView.subproj/WebDefaultPolicyDelegatePrivate.h: Added. 31792 * WebView.subproj/WebFormDelegate.m: 31793 (+[WebFormDelegate _sharedWebFormDelegate]): Trivial renaming of static. 31794 317952003-02-10 Richard Williamson <rjw@apple.com> 31796 31797 Update API issues document. 31798 31799 * API-Issues.rtf: 31800 318012003-02-10 Chris Blumenberg <cblu@apple.com> 31802 31803 Fixed: 3168888 - REGRESSION: many downloads fail (due to -36 error from write) 31804 31805 Reviewed by darin. 31806 31807 * Downloads.subproj/WebDownload.m: 31808 (-[WebDownload writeForkData:isDataFork:]): 31809 318102003-02-10 Trey Matteson <trey@apple.com> 31811 31812 Make sure we have a FormsDelegate installed with NOP behavior if our client 31813 does not set one. Editing forms was broken for Ed by the introduction 31814 of the new FormDelegate. 31815 31816 Reviewed by Darin. 31817 31818 * WebKit.pbproj/project.pbxproj: Added new header file. 31819 * WebView.subproj/WebControllerPrivate.m: 31820 (-[WebController _formDelegate]): Use shared delegate if none set yet. 31821 * WebView.subproj/WebFormDelegatePrivate.h: New header. 31822 * WebView.subproj/WebFormDelegate.h: Nit cleanup. 31823 * WebView.subproj/WebFormDelegate.m: 31824 (+[WebFormDelegate _sharedWebFormDelegate]): New method to return a shared 31825 NOP implementation. 31826 318272003-02-07 Richard Williamson <rjw@apple.com> 31828 31829 Changes to support per WebController preferences. 31830 31831 Reviewed by Maciej and Ken. 31832 31833 * WebView.subproj/WebController.m: 31834 (-[WebController setPreferences:]): 31835 * WebView.subproj/WebControllerPrivate.h: 31836 * WebView.subproj/WebControllerPrivate.m: 31837 (-[WebControllerPrivate init]): 31838 (-[WebControllerPrivate dealloc]): 31839 (-[WebController _setFormDelegate:]): 31840 (-[WebController _formDelegate]): 31841 (-[WebController _settings]): 31842 (-[WebController _updateWebCoreSettingsFromPreferences:]): 31843 (-[WebController _releaseUserAgentStrings]): 31844 (-[WebController _preferencesChangedNotification:]): 31845 * WebView.subproj/WebFrame.m: 31846 (-[WebFrame initWithName:webView:controller:]): 31847 * WebView.subproj/WebPreferences.h: 31848 * WebView.subproj/WebPreferences.m: 31849 (-[WebPreferences _postPreferencesChangesNotification]): 31850 (+[WebPreferences load]): 31851 (-[WebPreferences _stringValueForKey:]): 31852 (-[WebPreferences _setStringValue:forKey:]): 31853 (-[WebPreferences _integerValueForKey:]): 31854 (-[WebPreferences _setIntegerValue:forKey:]): 31855 (-[WebPreferences _boolValueForKey:]): 31856 (-[WebPreferences _setBoolValue:forKey:]): 31857 (-[WebPreferences standardFontFamily]): 31858 (-[WebPreferences setStandardFontFamily:]): 31859 (-[WebPreferences fixedFontFamily]): 31860 (-[WebPreferences setFixedFontFamily:]): 31861 (-[WebPreferences serifFontFamily]): 31862 (-[WebPreferences setSerifFontFamily:]): 31863 (-[WebPreferences sansSerifFontFamily]): 31864 (-[WebPreferences setSansSerifFontFamily:]): 31865 (-[WebPreferences cursiveFontFamily]): 31866 (-[WebPreferences setCursiveFontFamily:]): 31867 (-[WebPreferences fantasyFontFamily]): 31868 (-[WebPreferences setFantasyFontFamily:]): 31869 (-[WebPreferences defaultFontSize]): 31870 (-[WebPreferences setDefaultFontSize:]): 31871 (-[WebPreferences defaultFixedFontSize]): 31872 (-[WebPreferences setDefaultFixedFontSize:]): 31873 (-[WebPreferences minimumFontSize]): 31874 (-[WebPreferences setMinimumFontSize:]): 31875 (-[WebPreferences defaultTextEncodingName]): 31876 (-[WebPreferences setDefaultTextEncodingName:]): 31877 (-[WebPreferences userStyleSheetEnabled]): 31878 (-[WebPreferences setUserStyleSheetEnabled:]): 31879 (-[WebPreferences userStyleSheetLocation]): 31880 (-[WebPreferences setUserStyleSheetLocation:]): 31881 (-[WebPreferences JavaEnabled]): 31882 (-[WebPreferences setJavaEnabled:]): 31883 (-[WebPreferences JavaScriptEnabled]): 31884 (-[WebPreferences setJavaScriptEnabled:]): 31885 (-[WebPreferences JavaScriptCanOpenWindowsAutomatically]): 31886 (-[WebPreferences setJavaScriptCanOpenWindowsAutomatically:]): 31887 (-[WebPreferences pluginsEnabled]): 31888 (-[WebPreferences setPluginsEnabled:]): 31889 (-[WebPreferences allowAnimatedImages]): 31890 (-[WebPreferences allowAnimatedImageLooping]): 31891 (-[WebPreferences setAllowAnimatedImageLooping:]): 31892 (-[WebPreferences setWillLoadImagesAutomatically:]): 31893 (-[WebPreferences willLoadImagesAutomatically]): 31894 (-[WebPreferences _initialTimedLayoutDelay]): 31895 (-[WebPreferences _initialTimedLayoutSize]): 31896 (-[WebPreferences _pageCacheSize]): 31897 (-[WebPreferences _objectCacheSize]): 31898 (-[WebPreferences _initialTimedLayoutEnabled]): 31899 (-[WebPreferences _resourceTimedLayoutDelay]): 31900 (-[WebPreferences _resourceTimedLayoutEnabled]): 31901 * WebView.subproj/WebPreferencesPrivate.h: 31902 319032003-02-06 Chris Blumenberg <cblu@apple.com> 31904 31905 - Made WebDownload.h a public header. 31906 - Added stubs for the new methods. 31907 - Moved all private methods to the WebPrivate category. 31908 - Added FIXMEs for things that needed to be removed or implemented. 31909 31910 Reviewed by rjw. 31911 31912 * Downloads.subproj/WebDownload.h: 31913 * Downloads.subproj/WebDownload.m: 31914 (-[WebDownload initWithRequest:delegate:]): 31915 (-[WebDownload dealloc]): 31916 (-[WebDownload cancel]): 31917 (-[WebDownload _initWithLoadingHandle:request:response:delegate:]): 31918 (-[WebDownload initWithDataSource:]): 31919 (-[WebDownload receivedData:]): 31920 (-[WebDownload finishedLoading]): 31921 (-[WebDownload decodeHeaderData:dataForkData:resourceForkData:]): 31922 (-[WebDownload decodeData:dataForkData:resourceForkData:]): 31923 (-[WebDownload createFileIfNecessary]): 31924 (-[WebDownload writeDataForkData:resourceForkData:]): 31925 (-[WebDownload dataIfDoneBufferingData:]): 31926 (-[WebDownload decodeData:]): 31927 (-[WebDownload finishDecoding]): 31928 * Downloads.subproj/WebDownloadPrivate.h: 31929 * WebKit.pbproj/project.pbxproj: 31930 * WebView.subproj/WebMainResourceClient.m: 31931 319322003-02-06 Chris Blumenberg <cblu@apple.com> 31933 31934 Renamed WebDownloadHandler to WebDownload. 31935 Made ivars of WebDownload private. 31936 31937 Reviewed by kocienda. 31938 31939 * Downloads.subproj/WebDownload.h: Added. 31940 * Downloads.subproj/WebDownload.m: Added. 31941 (-[WebDownloadPrivate init]): 31942 (-[WebDownloadPrivate dealloc]): 31943 (-[WebDownload initWithDataSource:]): 31944 (-[WebDownload dealloc]): 31945 (-[WebDownload decodeHeaderData:dataForkData:resourceForkData:]): 31946 (-[WebDownload decodeData:dataForkData:resourceForkData:]): 31947 (-[WebDownload closeFork:deleteFile:]): 31948 (-[WebDownload closeFileAndDelete:]): 31949 (-[WebDownload closeFile]): 31950 (-[WebDownload cleanUpAfterFailure]): 31951 (-[WebDownload createFileIfNecessary]): 31952 (-[WebDownload writeDataForkData:resourceForkData:]): 31953 (-[WebDownload dataIfDoneBufferingData:]): 31954 (-[WebDownload decodeData:]): 31955 (-[WebDownload receivedData:]): 31956 (-[WebDownload finishDecoding]): 31957 (-[WebDownload finishedLoading]): 31958 (-[WebDownload cancel]): 31959 (-[WebDownload path]): 31960 (-[WebDownload writeForkData:isDataFork:]): 31961 (-[WebDownload errorWithCode:]): 31962 (-[WebDownload cancelWithError:]): 31963 (-[WebDownload dataForkReferenceNumber]): 31964 (-[WebDownload setDataForkReferenceNumber:]): 31965 (-[WebDownload resourceForkReferenceNumber]): 31966 (-[WebDownload setResourceForkReferenceNumber:]): 31967 (-[WebDownload areWritesCancelled]): 31968 (-[WebDownload setWritesCancelled:]): 31969 (WriteCompletionCallback): 31970 (CloseCompletionCallback): 31971 (DeleteCompletionCallback): 31972 * Downloads.subproj/WebDownloadHandler.h: Removed. 31973 * Downloads.subproj/WebDownloadHandler.m: Removed. 31974 * WebKit.pbproj/project.pbxproj: 31975 * WebView.subproj/WebController.h: 31976 * WebView.subproj/WebDataSource.m: 31977 * WebView.subproj/WebDataSourcePrivate.m: 31978 * WebView.subproj/WebMainResourceClient.h: 31979 * WebView.subproj/WebMainResourceClient.m: 31980 (-[WebMainResourceClient dealloc]): 31981 (-[WebMainResourceClient download]): 31982 (-[WebMainResourceClient isDownload]): 31983 (-[WebMainResourceClient receivedError:complete:]): 31984 (-[WebMainResourceClient continueAfterContentPolicy:response:]): 31985 (-[WebMainResourceClient handle:didReceiveData:]): 31986 (-[WebMainResourceClient handleDidFinishLoading:]): 31987 319882003-02-06 Chris Blumenberg <cblu@apple.com> 31989 31990 Fixed: 3125067 - Investigate performance implications of writing download file data 31991 Reviewed by trey, rjw, darin. 31992 31993 * Downloads.subproj/WebDownloadHandler.h: 31994 * Downloads.subproj/WebDownloadHandler.m: 31995 (-[WebDownloadHandler closeFileAndDelete:]): close the file asynchronously 31996 (-[WebDownloadHandler closeFile]): call closeFileAndDelete:NO 31997 (-[WebDownloadHandler cleanUpAfterFailure]): call closeFileAndDelete:YES 31998 (-[WebDownloadHandler writeDataForkData:resourceForkData:]): call writeForkData:isDataFork: 31999 (-[WebDownloadHandler path]): new 32000 (-[WebDownloadHandler writeForkData:isDataFork:]): writes file asynchronously 32001 (-[WebDownloadHandler errorWithCode:]): moved 32002 (-[WebDownloadHandler cancelWithError:]): new, stops load with error 32003 (-[WebDownloadHandler dataForkReferenceNumber]): new 32004 (-[WebDownloadHandler setDataForkReferenceNumber:]): new 32005 (-[WebDownloadHandler resourceForkReferenceNumber]): new 32006 (-[WebDownloadHandler setResourceForkReferenceNumber:]): new 32007 (WriteCompletionCallback): new 32008 (CloseCompletionCallback): new, removes file if necessary 32009 (DeleteCompletionCallback): new, 32010 * WebView.subproj/WebDataSourcePrivate.h: 32011 * WebView.subproj/WebDataSourcePrivate.m: 32012 (-[WebDataSource _stopLoadingWithError:]): new 32013 320142003-02-06 Trey Matteson <trey@apple.com> 32015 32016 3137647 - ad frames get their own history entries at channels.netscape.com 3133844 - 2 items in back list at http://www.kiup-bank.com/personal/main01.html 32017 32018 Move logic for deciding on "quick redirect" down to WebCore, where we really know 32019 what case we're in instead of having to guess from the params we were receiving. 32020 32021 Reviewed by Maciej, Darin. 32022 32023 * Plugins.subproj/WebNetscapePluginDocumentView.m: 32024 (-[WebNetscapePluginDocumentView setDataSource:]): Fix build error (URL vs String) 32025 * WebView.subproj/WebFramePrivate.h: Nuke Completing state. 32026 * WebView.subproj/WebFramePrivate.m: 32027 (-[WebFrame _transitionToLayoutAcceptable]): Nuke Completing state. 32028 (-[WebFrame _transitionToCommitted:]): Nuke Completing state. 32029 (-[WebFrame _isLoadComplete]): Nuke Completing state. 32030 (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:]): 32031 Just obey lockHistory param when deciding whether we are doing a "client redirect" 32032 instead of previous guesswork. 32033 320342003-02-06 Richard Williamson <rjw@apple.com> 32035 32036 Rename WebError to WebKitError. 32037 32038 Reviewed by maciej. 32039 32040 * API-Issues.rtf: 32041 * Bookmarks.subproj/WebBookmarkImporter.m: 32042 (-[WebBookmarkImporter initWithPath:]): 32043 * Downloads.subproj/WebDownloadHandler.m: 32044 (-[WebDownloadHandler createFileIfNecessary]): 32045 (-[WebDownloadHandler writeDataForkData:resourceForkData:]): 32046 (-[WebDownloadHandler decodeData:]): 32047 (-[WebDownloadHandler finishedLoading]): 32048 * Misc.subproj/WebKitErrors.h: 32049 * Plugins.subproj/WebNetscapePluginDocumentView.m: 32050 (-[WebNetscapePluginDocumentView setDataSource:]): 32051 * WebCoreSupport.subproj/WebBridge.m: 32052 (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): 32053 (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]): 32054 * WebView.subproj/WebBaseResourceHandleDelegate.m: 32055 (-[WebBaseResourceHandleDelegate notifyDelegatesOfInterruptionByPolicyChange]): 32056 * WebView.subproj/WebFramePrivate.m: 32057 (-[WebFrame _continueAfterNavigationPolicy:]): 32058 * WebView.subproj/WebMainResourceClient.m: 32059 (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]): 32060 (-[WebMainResourceClient continueAfterContentPolicy:response:]): 32061 * WebView.subproj/WebView.m: 32062 (+[WebView initialize]): 32063 320642003-02-05 Chris Blumenberg <cblu@apple.com> 32065 32066 Comment should have been "Made WebPluginError constructors private." 32067 32068 * ChangeLog: 32069 320702003-02-05 Chris Blumenberg <cblu@apple.com> 32071 32072 WebKit API clean-up: 32073 - Added enum to WebContextMenuDelegate that is the menu item tag of the menu items passed in the default menu item array. 32074 - WebPluginError should return URL strings. 32075 - Made WebPluginError constructors private. 32076 32077 Reviewed by rjw. 32078 32079 * Plugins.subproj/WebNetscapePluginDocumentView.m: 32080 (-[WebNetscapePluginDocumentView setDataSource:]): 32081 * Plugins.subproj/WebPluginError.h: 32082 * Plugins.subproj/WebPluginError.m: 32083 (-[WebPluginError pluginPageURL]): 32084 * Plugins.subproj/WebPluginErrorPrivate.h: Added. 32085 * WebCoreSupport.subproj/WebBridge.m: 32086 (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): 32087 * WebKit.pbproj/project.pbxproj: 32088 * WebView.subproj/WebContextMenuDelegate.h: 32089 * WebView.subproj/WebDefaultContextMenuDelegate.h: 32090 * WebView.subproj/WebDefaultContextMenuDelegate.m: 32091 (-[WebDefaultContextMenuDelegate menuItemWithTag:]): 32092 (-[WebDefaultContextMenuDelegate contextMenuItemsForElement:defaultMenuItems:]): 32093 320942003-02-04 Trey Matteson <trey@apple.com> 32095 32096 WC now tells us the form values being submitted with a get/post. 32097 We forward this info to a new WebFormDelegate method. Most of this 32098 change is just glue passing the formValues through all our layers. 32099 32100 Reviewed by Maciej 32101 32102 * WebCoreSupport.subproj/WebBridge.m: 32103 (-[WebBridge loadURL:reload:triggeringEvent:formValues:]) 32104 Pass along formValues. 32105 (-[WebBridge postWithURL:data:contentType:triggeringEvent:formValues:]): 32106 Pass along formValues. 32107 * WebKit.pbproj/project.pbxproj: Reorder previously added files. 32108 * WebView.subproj/WebControllerPolicyDelegate.m: Fix latent copy/paste error 32109 where two keys had the same underlying string value! 32110 * WebView.subproj/WebFormDelegate.h: Declare new delegate method. 32111 * WebView.subproj/WebFormDelegate.m: 32112 (-[WebFormDelegate frame:willSubmitFormWithValues:]): NOP impl of new method. 32113 * WebView.subproj/WebFrame.m: 32114 (-[WebFrame loadRequest:]): Pass nil formValues. 32115 (-[WebFrame reload]): Pass nil formValues. 32116 * WebView.subproj/WebFramePrivate.h: New ivar to hold form values 32117 while waiting for the policy delegate response. 32118 * WebView.subproj/WebFramePrivate.m: 32119 (-[WebFramePrivate dealloc]): ASSERT new ivar is nil. 32120 (-[WebFrame _loadItem:fromItem:withLoadType:]): Pass nil formValues. 32121 (-[WebFrame _loadRequest:triggeringAction:loadType:formValues:]): 32122 Pass along formValues. 32123 (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): 32124 Pass nil formValues to continuation method. 32125 (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formValues:andCall:withSelector:]): 32126 Stash formValues before calling policy delegate. 32127 (-[WebFrame _continueAfterNavigationPolicy:]): 32128 Resurrect formValues after calling policy delegate, pass to continuation method. 32129 (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formValues:]): 32130 Bail on nil request instead of shouldContinue=NO 32131 (-[WebFrame _loadURL:loadType:triggeringEvent:formValues:]): 32132 Pass formValues along. 32133 (-[WebFrame _loadURL:intoChild:]): Pass nil formValues. 32134 (-[WebFrame _postWithURL:data:contentType:triggeringEvent:formValues:]): 32135 Pass formValues along. 32136 (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]): 32137 Pass nil formValues. 32138 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formValues:]): 32139 Bail on nil request instead of shouldContinue=NO. Call new FormDelegate method. 32140 (-[WebFrame _loadDataSource:withLoadType:formValues:]): 32141 Pass formValues along. 32142 (-[WebFrame _downloadRequest:toDirectory:]): 32143 Pass nil formValues. 32144 * WebView.subproj/WebMainResourceClient.m: 32145 (-[WebMainResourceClient continueAfterNavigationPolicy:formValues:]): 32146 Bail on nil request instead of shouldContinue=NO 32147 (-[WebMainResourceClient handle:willSendRequest:]): 32148 Pass nil formValues. 32149 321502003-02-05 Richard Williamson <rjw@apple.com> 32151 32152 WebHistory* API clenaup. 32153 32154 Reviewed by Chris. 32155 32156 * Bookmarks.subproj/WebBookmarkLeaf.m: 32157 * History.subproj/WebHistory.h: 32158 * History.subproj/WebHistory.m: 32159 * History.subproj/WebHistoryItem.h: 32160 * History.subproj/WebHistoryItem.m: 32161 (-[WebHistoryItem title]): 32162 (-[WebHistoryItem setDisplayTitle:]): 32163 (-[WebHistoryItem hash]): 32164 (-[WebHistoryItem anchor]): 32165 (-[WebHistoryItem isEqual:]): 32166 (-[WebHistoryItem description]): 32167 (-[WebHistoryItem _retainIconInDatabase:]): 32168 (+[WebHistoryItem entryWithURL:]): 32169 (-[WebHistoryItem initWithURL:title:]): 32170 (-[WebHistoryItem initWithURL:target:parent:title:]): 32171 (-[WebHistoryItem URL]): 32172 (-[WebHistoryItem target]): 32173 (-[WebHistoryItem parent]): 32174 (-[WebHistoryItem dictionaryRepresentation]): 32175 (-[WebHistoryItem initFromDictionaryRepresentation:]): 32176 * History.subproj/WebHistoryItemPrivate.h: 32177 * History.subproj/WebHistoryPrivate.h: 32178 * History.subproj/WebHistoryPrivate.m: 32179 * WebKit.pbproj/project.pbxproj: 32180 * WebView.subproj/WebController.h: 32181 * WebView.subproj/WebController.m: 32182 (-[WebController setPreferences:]): 32183 (-[WebController preferences]): 32184 * WebView.subproj/WebControllerPrivate.h: 32185 * WebView.subproj/WebControllerPrivate.m: 32186 (-[WebControllerPrivate dealloc]): 32187 * WebView.subproj/WebDataSourcePrivate.m: 32188 * WebView.subproj/WebFramePrivate.m: 32189 321902003-02-05 Richard Williamson <rjw@apple.com> 32191 32192 Cleanup public WebHistory API, stage 1. 32193 32194 Reviewed by trey. 32195 32196 * History.subproj/WebHistory.h: 32197 * History.subproj/WebHistory.m: 32198 (-[_WebCoreHistoryProvider initWithHistory:]): 32199 (-[_WebCoreHistoryProvider containsEntryForURLString:]): 32200 (-[_WebCoreHistoryProvider dealloc]): 32201 (+[WebHistory sharedHistory]): 32202 (+[WebHistory createSharedHistoryWithFile:]): 32203 * History.subproj/WebHistoryPrivate.h: 32204 * History.subproj/WebHistoryPrivate.m: 32205 322062003-02-04 Maciej Stachowiak <mjs@apple.com> 32207 32208 Reviewed by Darin. 32209 32210 * WebKit.pbproj/project.pbxproj: Updated to build the framework 32211 standalone instead of embedded when doing a B&I build for Panther. 32212 322132003-02-04 Chris Blumenberg <cblu@apple.com> 32214 32215 Fixed: 3163879 - receivedPageIcon:forDataSource: always sends nil image 32216 32217 Reviewed by rjw. 32218 32219 * WebView.subproj/WebDataSourcePrivate.m: 32220 (-[WebDataSource _updateIconDatabaseWithURL:]): 32221 322222003-02-04 Darin Adler <darin@apple.com> 32223 32224 Reviewed by Ken. 32225 32226 - fixed 3135388 -- encoding changes do not affect text in form elements 32227 32228 The problem was that form data was being saved and restored, and in the case of buttons, 32229 the form data was the incorrectly decoded button label. 32230 32231 * WebView.subproj/WebFramePrivate.m: 32232 (-[WebFrame _transitionToLayoutAcceptable]): Remove the default: case so we get a warning if 32233 we omit one of the enum values from this switch statement. 32234 (-[WebFrame _transitionToCommitted:]): Move the WebFrameLoadTypeReloadAllowingStaleData 32235 case up so it's right next to the case it should be merged with. 32236 (-[WebFrame _isLoadComplete]): Remove the default: case so we get a warning if 32237 we omit one of enum values from this switch statement. 32238 (-[WebFrame _itemForRestoringDocState]): Replace the if statement with a switch statement. 32239 Include WebFrameLoadTypeReloadAllowingStaleData, which fixes the bug. 32240 322412003-02-03 Richard Williamson <rjw@apple.com> 32242 32243 Fixed headerdoc type. 32244 32245 * WebView.subproj/WebDocument.h: 32246 322472003-02-03 Richard Williamson <rjw@apple.com> 32248 32249 Support for new canProvideDocumentSource and documentSource API. 32250 Updated all the representations. Added support to show for RTF source. 32251 Moved WebKitInitializeUnicode to to early class. This was necessary 32252 because WebCore may use the unicode property functions before WebTextRenderer 32253 gets initialized. 32254 Ensured guarantee that identifierForInitialRequest:fromDataSource: is called with 32255 the first initial request. 32256 32257 Reviewed by maciej. 32258 32259 * Plugins.subproj/WebNetscapePluginRepresentation.m: 32260 (-[WebNetscapePluginRepresentation canProvideDocumentSource]): 32261 (-[WebNetscapePluginRepresentation documentSource]): 32262 * WebCoreSupport.subproj/WebTextRenderer.m: 32263 * WebView.subproj/WebBaseResourceHandleDelegate.h: 32264 * WebView.subproj/WebBaseResourceHandleDelegate.m: 32265 (-[WebBaseResourceHandleDelegate setIdentifier:]): 32266 * WebView.subproj/WebDataSource.h: 32267 * WebView.subproj/WebDataSource.m: 32268 (-[WebDataSource initWithRequest:]): 32269 (-[WebDataSource controller]): 32270 (-[WebDataSource initialRequest]): 32271 * WebView.subproj/WebDataSourcePrivate.h: 32272 * WebView.subproj/WebDataSourcePrivate.m: 32273 (-[WebDataSourcePrivate dealloc]): 32274 (-[WebDataSource _startLoading:]): 32275 (-[WebDataSource _originalRequest]): 32276 * WebView.subproj/WebDocument.h: 32277 * WebView.subproj/WebHTMLRepresentation.h: 32278 * WebView.subproj/WebHTMLRepresentation.m: 32279 (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): 32280 (-[WebHTMLRepresentation canProvideDocumentSource]): 32281 * WebView.subproj/WebHTMLView.m: 32282 (+[WebHTMLView initialize]): 32283 * WebView.subproj/WebImageRepresentation.m: 32284 (-[WebImageRepresentation canProvideDocumentSource]): 32285 (-[WebImageRepresentation documentSource]): 32286 * WebView.subproj/WebTextRepresentation.h: 32287 * WebView.subproj/WebTextRepresentation.m: 32288 (-[WebTextRepresentation dealloc]): 32289 (-[WebTextRepresentation setDataSource:]): 32290 (-[WebTextRepresentation finishedLoadingWithDataSource:]): 32291 (-[WebTextRepresentation canProvideDocumentSource]): 32292 (-[WebTextRepresentation documentSource]): 32293 322942003-02-03 Chris Blumenberg <cblu@apple.com> 32295 32296 Fixed: 3163073 - SECURITY: Need to check if filename in encoded download is safe 32297 32298 Reviewed by kocienda, darin, mjs. 32299 32300 * Downloads.subproj/WebDownloadHandler.m: 32301 (-[WebDownloadHandler createFileIfNecessary]): call _web_filenameByFixingIllegalCharacters on the encoded filename 32302 323032003-02-01 Maciej Stachowiak <mjs@apple.com> 32304 32305 Reviewed by Darin and Ken. 32306 32307 - fixed 3162581 - 56 debug: Assertion failure displaying pop-up menu while downloading 32308 * WebView.subproj/WebMainResourceClient.m: 32309 (-[WebMainResourceClient handle:didReceiveResponse:]): No need to assert that the controller is 32310 not deferred if this is a handle being used for a download. 32311 (-[WebMainResourceClient handle:didReceiveData:]): Likewise. 32312 (-[WebMainResourceClient handleDidFinishLoading:]): Likewise. 32313 (-[WebMainResourceClient handle:didFailLoadingWithError:]): Likewise. 32314 323152003-01-31 Trey Matteson <trey@apple.com> 32316 32317 New plumbing for autofill/autocomplete. WebBrowser receives controlText delegate 32318 messages from our form widgets. Should result in no behavior change. 32319 32320 New private API is exposed for the app to set a WebFormDelegate. 32321 32322 Reviewed by Richard 32323 32324 * WebCoreSupport.subproj/WebBridge.m: Pass msgs from WC on to the controller's FormDelegate. 32325 (formDelegate): Little utility function. 32326 (-[WebBridge controlTextDidBeginEditing:]): 32327 (-[WebBridge controlTextDidEndEditing:]): 32328 (-[WebBridge controlTextDidChange:]): 32329 (-[WebBridge control:textShouldBeginEditing:]): 32330 (-[WebBridge control:textShouldEndEditing:]): 32331 (-[WebBridge control:didFailToFormatString:errorDescription:]): 32332 (-[WebBridge control:didFailToValidatePartialString:errorDescription:]): 32333 (-[WebBridge control:isValidObject:]): 32334 (-[WebBridge control:textView:doCommandBySelector:]): 32335 * WebKit.exp: New class exported. 32336 * WebKit.pbproj/project.pbxproj: New WebFormDelegate files. 32337 * WebView.subproj/WebControllerPrivate.h: API to set/get FormDelegate. 32338 * WebView.subproj/WebControllerPrivate.m: 32339 (-[WebController _setFormDelegate:]): simple setter 32340 (-[WebController _formDelegate]): simple getter 32341 * WebView.subproj/WebFormDelegate.h: Added. 32342 * WebView.subproj/WebFormDelegate.m: Added. 32343 NOP impls for all these delegate methods. 32344 (-[WebFormDelegate controlTextDidBeginEditing:inFrame:]): 32345 (-[WebFormDelegate controlTextDidEndEditing:inFrame:]): 32346 (-[WebFormDelegate controlTextDidChange:inFrame:]): 32347 (-[WebFormDelegate control:textShouldBeginEditing:inFrame:]): 32348 (-[WebFormDelegate control:textShouldEndEditing:inFrame:]): 32349 (-[WebFormDelegate control:didFailToFormatString:errorDescription:inFrame:]): 32350 (-[WebFormDelegate control:didFailToValidatePartialString:errorDescription:inFrame:]): 32351 (-[WebFormDelegate control:isValidObject:inFrame:]): 32352 (-[WebFormDelegate control:textView:doCommandBySelector:inFrame:]): 32353 323542003-01-31 Chris Blumenberg <cblu@apple.com> 32355 32356 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 32357 * WebView.subproj/WebController.m: fixed key value 32358 323592003-01-31 Chris Blumenberg <cblu@apple.com> 32360 32361 Fixed : 3155148 - image shown when dragging gets size from image file, not size as used on page 32362 32363 Reviewed by darin. 32364 32365 * Misc.subproj/WebNSViewExtras.h: 32366 * Misc.subproj/WebNSViewExtras.m: 32367 (-[NSView _web_dragPromisedImage:rect:URL:fileType:title:event:]): take a rect so we know the original size and origin 32368 * WebKit.exp: added WebElementImageRectKey 32369 * WebView.subproj/WebController.h: WebElementImageRectKey 32370 * WebView.subproj/WebController.m: WebElementImageRectKey 32371 * WebView.subproj/WebHTMLViewPrivate.m: 32372 (-[WebHTMLView _handleMouseDragged:]): call _web_dragPromisedImage with WebElementImageRect 32373 * WebView.subproj/WebImageView.m: 32374 (-[WebImageView menuForEvent:]): provide the WebElementImageRect since we do this for other image elements 32375 (-[WebImageView mouseDragged:]): call _web_dragPromisedImage with [self bounds] 32376 32377=== Safari-55 === 32378 323792003-01-30 Chris Blumenberg <cblu@apple.com> 32380 32381 Backed out my fix for 3161102. Richard and I found problems the fix. 3161102 turns out to not be an issue. 32382 32383 Reviewed by rjw. 32384 32385 * History.subproj/WebHistoryItem.m: 32386 (+[WebHistoryItem _releaseAllPendingPageCaches]): 32387 * WebView.subproj/WebHTMLView.m: 32388 (-[WebHTMLView windowWillClose:]): 32389 323902003-01-30 Chris Blumenberg <cblu@apple.com> 32391 32392 Fixed: 3161102 - Avoid retain cycles by destroying plug-ins in the page cache before dealloc 32393 32394 Reviewed by rjw. 32395 32396 * History.subproj/WebHistoryItem.m: 32397 (+[WebHistoryItem _releaseAllPendingPageCaches]): iterate over all of the plug-ins and call destroy 32398 * WebView.subproj/WebHTMLView.m: 32399 (-[WebHTMLView windowWillClose:]): clear page cache 32400 324012003-01-30 Chris Blumenberg <cblu@apple.com> 32402 32403 Fixed: 3160464 - Slideback sometimes happens twice 32404 32405 Because we start drags in mouseDragged (which AppKit says we shouldn't), we get mouseDragged events 32406 after a drag (image, link, text etc) has ended. We also get mouseDragged events after we've sent the 32407 fake mouseUp to WebCore. That is probably bad for unknown reasons. 32408 32409 Reviewed by darin. 32410 32411 * WebView.subproj/WebHTMLView.m: 32412 (-[WebHTMLView mouseDown:]): set ignoringMouseDraggedEvents to NO 32413 (-[WebHTMLView mouseDragged:]): check ignoringMouseDraggedEvents 32414 (-[WebHTMLView draggedImage:endedAt:operation:]): set ignoringMouseDraggedEvents to NO 32415 * WebView.subproj/WebHTMLViewPrivate.h: added ignoringMouseDraggedEvents 32416 324172003-01-30 Darin Adler <darin@apple.com> 32418 32419 Reviewed by John. 32420 32421 - fixed 3160710 -- REGRESSION: bizrate.com front page ad in wrong position 32422 32423 The new code to compute port coordinates was screwing up somehow. 32424 I had to roll it out and we'll have to try again to fix the problem Ed was fixing. 32425 32426 * Plugins.subproj/WebBaseNetscapePluginView.m: 32427 (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): 32428 Roll back changes between 1.45 and 1.47. 32429 324302003-01-29 Darin Adler <darin@apple.com> 32431 32432 Reviewed by John. 32433 32434 - fixed 3158624 -- crash reentering WebBaseNetscapePluginView removeTrackingRect closing window 32435 32436 * Plugins.subproj/WebBaseNetscapePluginView.m: 32437 (-[WebBaseNetscapePluginView removeTrackingRect]): 32438 Set tracking tag to 0 before releasing the window to prevent reentering. 32439 324402003-01-29 Ken Kocienda <kocienda@apple.com> 32441 32442 Reviewed by Darin. 32443 32444 Fix for this bug: 32445 32446 Radar 3142818 (Downloading many items quickly can cause future page loads to fail) 32447 32448 The issue was with a mismatch between different object's idea about 32449 whether callbacks were being deferred. I have simplified the code in this 32450 area somewhat, and I have added some asserts to make sure that callbacks 32451 are not sent when deferalls are on. 32452 32453 More work will need to be done in callback deferral-land, however. This change 32454 fixes the bug, but it may not be a good long-term fix. I will file a bug on 32455 the need for this additonal work. 32456 32457 * WebView.subproj/WebBaseResourceHandleDelegate.h: 32458 * WebView.subproj/WebBaseResourceHandleDelegate.m: 32459 (-[WebBaseResourceHandleDelegate defersCallbacks]): Added method. 32460 * WebView.subproj/WebMainResourceClient.h: Removed unneeded defersBeforeCheckingPolicy flag. 32461 * WebView.subproj/WebMainResourceClient.m: 32462 (-[WebMainResourceClient continueAfterNavigationPolicy:request:]): Unconditionally set 32463 callback deferrals to NO. 32464 (-[WebMainResourceClient handle:willSendRequest:]): Remove all callback deferral code here. 32465 (-[WebMainResourceClient continueAfterContentPolicy:response:]): Unconditionally set 32466 callback deferrals to NO. 32467 (-[WebMainResourceClient handle:didReceiveResponse:]): Assert that the handle argument 32468 to this method, the client (self), and the data source's controller all are not 32469 deferring callbacks. 32470 Unconditionally set callback deferrals to YES. 32471 (-[WebMainResourceClient handle:didReceiveData:]): Ditto 32472 (-[WebMainResourceClient handleDidFinishLoading:]): Ditto 32473 (-[WebMainResourceClient handle:didFailLoadingWithError:]): Ditto 32474 324752003-01-29 John Sullivan <sullivan@apple.com> 32476 32477 - fixed 3160116 -- REGRESSION:leak in WebBookmarkLeaf at startup 32478 32479 Reviewed by Darin 32480 32481 * Bookmarks.subproj/WebBookmarkLeaf.m: 32482 (-[WebBookmarkLeaf initFromDictionaryRepresentation:withGroup:]): 32483 don't leak the _entry that was created in initWithURLString:title:group: 32484 324852003-01-29 Trey Matteson <trey@apple.com> 32486 32487 3159750 - REGRESSION: cursor is I-beam when over a standalone image 32488 32489 We now reset the cursor to arrow before switching doc views. 32490 32491 Also, made various replacements of "id <WebDocumentView>" with "NSView < WebDocumentView> *" 32492 to get better compile time checking. 32493 32494 Reviewed by Darin. 32495 32496 * WebView.subproj/WebFramePrivate.m: 32497 (-[WebFrame _makeDocumentView]): Use NSView* 32498 (-[WebFrame _transitionToCommitted:]): Use NSView* 32499 * WebView.subproj/WebViewPrivate.h: Use NSView* 32500 * WebView.subproj/WebViewPrivate.m: 32501 (-[WebView _setDocumentView:]): Use NSView*. Reset cursor. 32502 (-[WebView _makeDocumentViewForDataSource:]): Use NSView* 32503 325042003-01-29 Chris Blumenberg <cblu@apple.com> 32505 32506 3159529 - REGRESSION: URLs with no path are saved as "-.html" 32507 32508 Reviewed by darin, trey, kocienda. 32509 32510 * Misc.subproj/WebResourceResponseExtras.m: 32511 (-[NSURL _web_suggestedFilenameForSavingWithMIMEType:]): Don't use the lastPathComponent if it is "/". 32512 325132003-01-28 Trey Matteson <trey@apple.com> 32514 32515 Removing ERROR() that isn't an error, left over from the Safari-48 download firedrill. 32516 32517 Reviewed by Chris. 32518 32519 * Downloads.subproj/WebDownloadHandler.m: 32520 (-[WebDownloadHandler cleanUpAfterFailure]): Don't ERROR if we are asked to cleanup 32521 a file and there is nothing to cleanup. This can happen in the rare case of the 32522 download being canceled before the first byte arrives, and we deal properly, no ERROR. 32523 325242003-01-28 Chris Blumenberg <cblu@apple.com> 32525 32526 Fixed: 3150856 - crash with full-size plugins in frame or iframe 32527 32528 Reviewed by darin. 32529 32530 * Plugins.subproj/WebBaseNetscapePluginView.m: 32531 (-[WebBaseNetscapePluginView start]): added assert 32532 * Plugins.subproj/WebNetscapePluginDocumentView.m: 32533 (-[WebNetscapePluginDocumentView setDataSource:]): added assert 32534 * WebView.subproj/WebFramePrivate.m: 32535 (-[WebFrame _makeDocumentView]): Don't call setDataSource here because the view is not in the view hierarchy at this point. 32536 * WebView.subproj/WebViewPrivate.m: 32537 (-[WebView _makeDocumentViewForDataSource:]): Call setDataSource on the document view after it has been placed in the view hierarchy. This what we for the top-level view, so should do this for views in subframes as well. 32538 325392003-01-28 Chris Blumenberg <cblu@apple.com> 32540 32541 Fixed: 3156172 - No filename correction when downloading images via drag & drop 32542 32543 Reviewed by mjs, john, trey. 32544 32545 * WebView.subproj/WebControllerPrivate.h: 32546 * WebView.subproj/WebControllerPrivate.m: 32547 (-[WebController _downloadURL:]): call _downloadURL:toDirectory: 32548 (-[WebController _downloadURL:toDirectory:]): call -[WebFrame _downloadRequest:toDirectory:] 32549 * WebView.subproj/WebDataSourcePrivate.h: 32550 * WebView.subproj/WebDataSourcePrivate.m: 32551 (-[WebDataSourcePrivate dealloc]): release the download directory 32552 (-[WebDataSource _setDownloadDirectory:]): new 32553 (-[WebDataSource _downloadDirectory]): new 32554 * WebView.subproj/WebFramePrivate.h: 32555 * WebView.subproj/WebFramePrivate.m: 32556 (-[WebFrame _downloadRequest:toDirectory:]): renamed 32557 * WebView.subproj/WebHTMLView.m: 32558 (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call -[WebController _downloadURL:toDirectory:] 32559 * WebView.subproj/WebImageView.m: 32560 (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]): call -[WebController _downloadURL:toDirectory:] 32561 * WebView.subproj/WebMainResourceClient.m: 32562 (-[WebMainResourceClient continueAfterContentPolicy:response:]): if the data source has a download directory, use it plus the filename from the response as download path 32563 325642003-01-28 Trey Matteson <trey@apple.com> 32565 32566 2940179 - Arrow cursor should change to link cursor after click of link in non-frontmost window 32567 3158240 - cursor does not track when switching from panels to safari windows 32568 32569 Two changes here: First, we post fake mousemoved events to get the cursor fixed up 32570 without checking if the mouse is down (WC deals with that now). That fixes 2940179, 32571 because the button is down when we get notified of becoming key. 32572 32573 Second, we observe key window instead of main window notifications everywhere, so we 32574 update the cursor when clicking between a panel and our doc windows. 32575 32576 Reviewed by Darin. 32577 32578 * WebView.subproj/WebHTMLView.m: 32579 (-[WebHTMLView addMouseMovedObserver]): s/main/key/g 32580 (-[WebHTMLView addWindowObservers]): s/main/key/g 32581 (-[WebHTMLView removeWindowObservers]): s/main/key/g 32582 (-[WebHTMLView windowDidBecomeKey:]): s/main/key/g 32583 (-[WebHTMLView windowDidResignKey:]): s/main/key/g 32584 * WebView.subproj/WebHTMLViewPrivate.m: 32585 (-[WebHTMLView _frameOrBoundsChanged]): Always post mousemoved event. 32586 325872003-01-28 John Sullivan <sullivan@apple.com> 32588 32589 - fixed 3158304 -- Assertion failure cancelling "Add Bookmark" 32590 or deleting newly-created bookmarks 32591 32592 Reviewed by Darin 32593 32594 * Bookmarks.subproj/WebBookmarkGroup.m: 32595 (-[WebBookmarkGroup _bookmark:changedUUIDFrom:to:]): 32596 new method that notifies group when a bookmark that's already 32597 in a group changes its UUID -- the UUID to bookmark dictionary 32598 updates for this change. 32599 32600 * Bookmarks.subproj/WebBookmarkGroupPrivate.h: 32601 private declaration for this method 32602 32603 * Bookmarks.subproj/WebBookmark.m: 32604 (-[WebBookmark _setUUID:]): 32605 notify group when UUID changes 32606 (-[WebBookmark UUID]): 32607 ditto 32608 326092003-01-28 Darin Adler <darin@apple.com> 32610 32611 Reviewed by Ken. 32612 32613 - fixed 3156197 -- leak in -[WebBookmarkList initFromDictionaryRepresentation:withGroup:] 32614 32615 * Bookmarks.subproj/WebBookmarkList.m: 32616 (-[WebBookmarkList initFromDictionaryRepresentation:withGroup:]): 32617 Fixed storage leak by not allocating the list here, because [self init] will 32618 be called and that will allocate the list. 32619 326202003-01-26 Maciej Stachowiak <mjs@apple.com> 32621 32622 Reviewed by Darin and Ken. 32623 32624 * English.lproj/StringsNotToBeLocalized.txt: Removed unused exception. 32625 326262003-01-27 Chris Blumenberg <cblu@apple.com> 32627 32628 Fixed: 3156230 - REGRESSION: Java 141: Safari Does Not Stop Applets When Browser Window Closes 32629 32630 Reviewed by dave. 32631 32632 * Plugins.subproj/WebPluginController.h: 32633 * Plugins.subproj/WebPluginController.m: 32634 (-[WebPluginController destroyAllPlugins]): renamed from HTMLViewWillBeDeallocated because it may get called before the dealloc 32635 * WebView.subproj/WebHTMLView.m: 32636 (-[WebHTMLView addWindowObservers]): observe NSWindowWillCloseNotification 32637 (-[WebHTMLView removeWindowObservers]): remove observer for NSWindowWillCloseNotification 32638 (-[WebHTMLView windowWillClose:]): call destroyAllPlugins 32639 * WebView.subproj/WebHTMLViewPrivate.m: 32640 (-[WebHTMLViewPrivate dealloc]): call destroyAllPlugins 32641 326422003-01-27 Richard Williamson <rjw@apple.com> 32643 32644 Fixed 3139909. Fake the resource load delegate messages (minus willSendRequest) 32645 when a page is loaded from a the page cache. 32646 32647 Reviewed by john. 32648 32649 * WebView.subproj/WebBaseResourceHandleDelegate.m: 32650 (-[WebBaseResourceHandleDelegate handle:didReceiveResponse:]): 32651 * WebView.subproj/WebDataSourcePrivate.h: 32652 * WebView.subproj/WebDataSourcePrivate.m: 32653 (-[WebDataSourcePrivate dealloc]): 32654 (-[WebDataSource _addResponse:]): 32655 (-[WebDataSource _responses]): 32656 * WebView.subproj/WebFramePrivate.m: 32657 (-[WebFrame _opened]): 32658 326592003-01-27 Trey Matteson <trey@apple.com> 32660 32661 3157104 - reproducible assert in _continueFragmentScrollAfterNavigationPolicy 32662 32663 Remove assertion, and it turns out the existing code will handle the case. 32664 32665 * WebView.subproj/WebFramePrivate.m: 32666 (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): 32667 326682003-01-27 Richard Williamson <rjw@apple.com> 32669 32670 Make emptying the page cache synchronous when "Empty Cache" 32671 is selected from menu. More bulletproofing to ensure that 32672 3155781 doesn't happen. 32673 32674 Reviewed by trey. 32675 32676 * History.subproj/WebBackForwardList.m: 32677 (-[WebBackForwardList clearPageCache]): 32678 326792003-01-27 Chris Blumenberg <cblu@apple.com> 32680 32681 Fixed: 3156235 - change throttle for plug-in null events to 50 frames per second (when frontmost) 32682 32683 Reviewed by dave. 32684 32685 * Plugins.subproj/WebBaseNetscapePluginView.m: 32686 326872003-01-27 Richard Williamson <rjw@apple.com> 32688 32689 Fixed 3151241. Cleanly handle nil return from resource:willSendRequest:fromDataSource:. 32690 32691 Reviewed by trey. 32692 32693 * WebView.subproj/WebBaseResourceHandleDelegate.m: 32694 (-[WebBaseResourceHandleDelegate handle:willSendRequest:]): 32695 (-[WebBaseResourceHandleDelegate handleDidFinishLoading:]): 32696 (-[WebBaseResourceHandleDelegate handle:didFailLoadingWithError:]): 32697 (-[WebBaseResourceHandleDelegate cancelWithError:]): 32698 * WebView.subproj/WebControllerPrivate.m: 32699 (-[WebController _mainReceivedError:fromDataSource:complete:]): 32700 327012003-01-27 John Sullivan <sullivan@apple.com> 32702 32703 - fixed 3156744 -- REGRESSION: Renaming bookmarks dragged 32704 into bookmark bar does not work at first 32705 32706 Reviewed by Darin 32707 32708 * Bookmarks.subproj/WebBookmarkList.m: 32709 (-[WebBookmarkList insertChild:atIndex:]): 32710 was adding self to its own group (a no-op), instead of adding 32711 the new child to self's group. This was a typo from the 32712 refactoring to fix 3152427. 32713 327142003-01-27 Chris Blumenberg <cblu@apple.com> 32715 32716 * English.lproj/StringsNotToBeLocalized.txt: Updated for changes I previously made. 32717 327182003-01-26 Chris Blumenberg <cblu@apple.com> 32719 32720 Fixed: 3156725 - Partially selected links show extra underlining when dragged 32721 32722 Reviewed by darin. 32723 32724 * WebCoreSupport.subproj/WebTextRenderer.m: 32725 (drawLineForCharacters...): don't ignore "from" "to" parameters 32726 327272003-01-25 Darin Adler <darin@apple.com> 32728 32729 Reviewed by Maciej. 32730 32731 - fixed 3126211 -- "go back" buttons that use "history.go(-1)" doesn't work (verizonwireless.com is an example) 32732 32733 Implemented new bridge functions for use by the history object. 32734 32735 * History.subproj/WebBackForwardList.h: Added backListCount and entryAtIndex:. 32736 * History.subproj/WebBackForwardList.m: 32737 (-[WebBackForwardList backListCount]): Added. 32738 (-[WebBackForwardList entryAtIndex:]): Added. 32739 * WebCoreSupport.subproj/WebBridge.m: 32740 (-[WebBridge historyLength]): Added. Calls backListCount. 32741 (-[WebBridge goBackOrForward:]): Added. Calls entryAtIndex: and then goBackOrForwardToItem:. 32742 327432003-01-25 Chris Blumenberg <cblu@apple.com> 32744 32745 Fixed: 3153605 - Drag image when dragging text should be the actual text 32746 32747 Reviewed by darin. 32748 32749 * Misc.subproj/WebNSImageExtras.m: 32750 (-[NSImage _web_dissolveToFraction:]): handle non-flipped images 32751 * Misc.subproj/WebNSViewExtras.h: moved some constants around 32752 * Misc.subproj/WebNSViewExtras.m: 32753 * Resources/text_clipping.tiff: Removed. 32754 * WebKit.pbproj/project.pbxproj: 32755 * WebView.subproj/WebHTMLViewPrivate.m: 32756 (-[WebHTMLView _handleMouseDragged:]): cleaned-up, get text drag image from WebCore 32757 327582003-01-25 Darin Adler <darin@apple.com> 32759 32760 * Plugins.subproj/WebBaseNetscapePluginView.m: Replace some tabs with spaces. 32761 327622003-01-24 Richard Williamson <rjw@apple.com> 32763 32764 Cleaned up some stray comments. 32765 32766 Reviewed by kocienda. 32767 32768 * Misc.subproj/WebUnicode.m: 32769 (getShape): 32770 (nextChar): 32771 (glyphVariantLogical): 32772 (shapedString): 32773 327742003-01-24 Trey Matteson <trey@apple.com> 32775 32776 Chris pointed out a FIXME that led to a more contained way to make sure the cursor 32777 is correct during and after image/text/URL dragging. 32778 32779 Reviewed by Chris. 32780 32781 * WebView.subproj/WebHTMLView.m: 32782 (-[WebHTMLView draggedImage:endedAt:operation:]): No need to reset the cursor at 32783 the end of dragging. WC deals with it. 32784 * WebView.subproj/WebHTMLViewPrivate.m: 32785 (-[WebHTMLView _handleMouseDragged:]): No need to set the cursor to arrow, WC 32786 deals with it. 32787 327882003-01-24 Darin Adler <darin@apple.com> 32789 32790 Reviewed by Dave. 32791 32792 - fixed 3142852 -- frame content repeatedly requested 32793 32794 * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge incomingReferrer]): 32795 Added a way to get the referrer across the bridge, needed for bug fix. 32796 327972003-01-24 Ed Voas <voas@apple.com> 32798 32799 Reviewed by Darin. 32800 32801 Netscape plugins were being improperly positioned. I noticed this when I 32802 put the web view into a window with borders around it (Carbon metal window, 32803 but I would imagine Cocoa metal would do it too). 32804 32805 * Plugins.subproj/WebBaseNetscapePluginView.m: 32806 (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): 32807 328082003-01-23 Trey Matteson <trey@apple.com> 32809 32810 3155162 - cursor changes to I-beam after dragging image 32811 3154468 - no mouseup event comes through after text snippet drag 32812 32813 During AK dragging the system takes over the event stream and we never get any mouse 32814 move or up events. It also changes the cursor behind out back. When done 32815 cached state that thinks it knows the current cursor is wrong. 32816 32817 The fix is that after the drag we reset the cursor and synthesize a mouseup event, 32818 which then sets the cursor based on what we're really over. 32819 32820 Reviewed by Darin. 32821 32822 * WebView.subproj/WebHTMLView.m: 32823 (-[WebHTMLView draggedImage:endedAt:operation:]): After the drag, 32824 reset the cursor, fake up a mouseup event. 32825 328262003-01-24 John Sullivan <sullivan@apple.com> 32827 32828 Reviewed by Trey 32829 32830 * WebView.subproj/WebHTMLView.m: 32831 (-[WebHTMLView takeFindStringFromSelection:]): 32832 Now uses new _web_setFindPasteboardString:withOwner: to share code. 32833 328342003-01-24 John Sullivan <sullivan@apple.com> 32835 32836 Reviewed by Trey 32837 32838 * Misc.subproj/WebNSPasteboardExtras.h: 32839 * Misc.subproj/WebNSPasteboardExtras.m: 32840 (+[NSPasteboard _web_setFindPasteboardString:withOwner:]): 32841 New method to put text on the Find pasteboard. 32842 328432003-01-23 Maciej Stachowiak <mjs@apple.com> 32844 32845 Reviewed by Trey. 32846 32847 * WebView.subproj/WebController.h: Remove unneeded declaration in 32848 sample code. 32849 328502003-01-23 Chris Blumenberg <cblu@apple.com> 32851 32852 Made WebTextView use the same format for context menus as the rest of WebKit. 32853 Implemented "Copy" context menu. 32854 32855 Reviewed by john. 32856 32857 * English.lproj/Localizable.strings: 32858 * WebView.subproj/WebControllerPrivate.m: 32859 (-[WebController _menuForElement:]): tweak. 32860 * WebView.subproj/WebDefaultContextMenuDelegate.m: 32861 (-[WebDefaultContextMenuDelegate contextMenuItemsForElement:defaultMenuItems:]): added "Copy" context menu. 32862 * WebView.subproj/WebImageView.m: 32863 (-[WebImageView menuForEvent:]): added asserts 32864 * WebView.subproj/WebTextView.m: 32865 (-[WebTextView menuForEvent:]): implemented 32866 328672003-01-23 Maciej Stachowiak <mjs@apple.com> 32868 32869 Reviewed by Darin. 32870 32871 * WebView.subproj/WebController.m: Add missing static. 32872 328732003-01-23 Darin Adler <darin@apple.com> 32874 32875 Reviewed by John. 32876 32877 * Downloads.subproj/WebBinHexDecoder.m: (-[WebBinHexDecoder fileAttributes]): 32878 * Downloads.subproj/WebMacBinaryDecoder.m: (-[WebMacBinaryDecoder fileAttributes]): 32879 Use "FinderFlags" instead of "FinderInfo" as appropriate, since these are 32880 just the Finder flags, not all the Finder info. 32881 32882 * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler createFileIfNecessary]): 32883 * Misc.subproj/WebNSWorkspaceExtras.m: (-[NSWorkspace _web_noteFileChangedAtPath:]): 32884 * Plugins.subproj/WebNetscapePluginPackage.m: 32885 (-[WebNetscapePluginPackage openResourceFile]): 32886 (-[WebNetscapePluginPackage pathByResolvingSymlinksAndAliasesInPath:]): 32887 (-[WebNetscapePluginPackage load]): 32888 Use fileSystemRepresentation instead of fileSystemRepresentationWithPath: 32889 because it's simpler and there's no good reason to use the other one. 32890 32891 * WebView.subproj/WebUserAgentSpoofTable.gperf: Improved one of the motivating comments. 32892 32893 * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 32894 32895=== Safari-54 === 32896 328972003-01-22 Chris Blumenberg <cblu@apple.com> 32898 32899 Fixed problem where we weren't stopping the Java plug-in. This problem was introduced on Jan. 1 32900 when the ownership of the WebPluginController was moved from WebFrame to WebDataSource. This 32901 change moves the WebPluginController to the WebHTMLView. Why this change? 32902 32903 - The state of the plug-ins (currently only the Java plug-in) completely relies on the state of 32904 the WebHTMLView, not on the state of the WebDataSource. 32905 32906 - WebHTMLView and WebDataSource are usually coupled via WebView and WebFrame, but not always. 32907 In a transitional state, the WebHTMLView may not be up to date with the WebDataSource. 32908 32909 - WebPluginController controls an array of views. It makes more sense for this object to be 32910 owned by a view (WebHTMLView) not a model. 32911 32912 Reviewed by darin. 32913 32914 * Plugins.subproj/WebPluginController.h: 32915 * Plugins.subproj/WebPluginController.m: 32916 (-[WebPluginController initWithHTMLView:]): renamed, take the HTML view 32917 (-[WebPluginController addPlugin:]): use the HTML view 32918 (-[WebPluginController HTMLViewWillBeDeallocated]): renamed 32919 (-[WebPluginController showURL:inFrame:]): use the HTML view 32920 (-[WebPluginController showStatus:]): use the HTML view 32921 * WebCoreSupport.subproj/WebBridge.m: 32922 (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): get the plug-in controller from the HTML view 32923 * WebView.subproj/WebDataSourcePrivate.h: 32924 * WebView.subproj/WebDataSourcePrivate.m: 32925 (-[WebDataSourcePrivate dealloc]): removed calls to plug-in controller 32926 * WebView.subproj/WebHTMLView.m: 32927 (-[WebHTMLView initWithFrame:]): create plug-in controller 32928 (-[WebHTMLView viewWillMoveToWindow:]): get plug-in controller from self, data source won't be accessible here since we don't have a superview 32929 (-[WebHTMLView viewDidMoveToWindow]): get plug-in controller from self 32930 (-[WebHTMLView addSubview:]): get plug-in controller from self 32931 * WebView.subproj/WebHTMLViewPrivate.h: 32932 * WebView.subproj/WebHTMLViewPrivate.m: 32933 (-[WebHTMLViewPrivate dealloc]): release plug-in controller 32934 (-[WebHTMLView _pluginController]): added 32935 329362003-01-22 John Sullivan <sullivan@apple.com> 32937 32938 - fixed 3152427 -- Need unique IDs for bookmarks, for 32939 synching's sake 32940 32941 Bookmarks now have a UUID string so that each can maintain its identity 32942 even in the face of multi-machine synching. One known loose end is written 32943 up in 3153832 (unique IDs in bookmarks aren't preserved correctly after copy/paste). 32944 This should be good enough now for the iSynch folks to start implementing 32945 the bookmarks-synching conduit. 32946 32947 I also did some cleanup in this area to share more code and handle 32948 init methods more cleanly, inspired by earlier feedback from Trey and Darin. 32949 32950 Reviewed by Trey and Darin 32951 32952 * Bookmarks.subproj/WebBookmark.h: 32953 new _UUID ivar, UUID declaration 32954 * Bookmarks.subproj/WebBookmarkPrivate.h: 32955 new _setUUID and _hasUUID declarations 32956 32957 * Bookmarks.subproj/WebBookmark.m: 32958 (-[WebBookmark dealloc]): 32959 assert that group is nil here; release _UUID 32960 (-[WebBookmark copyWithZone:]): 32961 implement the code shared by each subclass; formerly had no implementation. 32962 (-[WebBookmark _setUUID:]): 32963 private method to set the UUID 32964 (-[WebBookmark UUID]): 32965 public method to get the UUID; this lazily creates the UUID. 32966 (-[WebBookmark _hasUUID]): 32967 private method to check whether there's a UUID without creating 32968 one by side effect (as calling -[WebBookmark UUID] would) 32969 (-[WebBookmark initFromDictionaryRepresentation:withGroup:]): 32970 implement the code shared by each subclass; formerly had no implementation. 32971 (-[WebBookmark dictionaryRepresentation]): 32972 implement the code shared by each subclass; formerly had no implementation. 32973 32974 * Bookmarks.subproj/WebBookmarkGroup.h: 32975 new _bookmarksByUUID ivar 32976 * Bookmarks.subproj/WebBookmarkGroupPrivate.h: 32977 declarations for new methods _addBookmark: and _removeBookmark: 32978 32979 * Bookmarks.subproj/WebBookmarkGroup.m: 32980 (-[WebBookmarkGroup init]): 32981 new method, just complains that you should have called initWithFile: instead. 32982 (-[WebBookmarkGroup initWithFile:]): 32983 create _bookmarksByUUID 32984 (-[WebBookmarkGroup dealloc]): 32985 release _bookmarksByUUID 32986 (-[WebBookmarkGroup _addBookmark:]): 32987 new method, if bookmark has UUID, adds it to table, and recursively 32988 processes children the same way 32989 (-[WebBookmarkGroup _removeBookmark:]): 32990 new method, if bookmark has UUID, removes it from table, and recursively 32991 processes children the same way 32992 (-[WebBookmarkGroup _setTopBookmark:]): 32993 replace [bookmark setGroup:group] with [group _addBookmark:bookmark] 32994 so it runs through the UUID code 32995 (-[WebBookmarkGroup _bookmarkChildren:wereRemovedFromParent:]): 32996 retitled this from "wereRemovedToParent" 32997 32998 * Bookmarks.subproj/WebBookmarkLeaf.m: 32999 (-[WebBookmarkLeaf init]): 33000 now calls initWithURLString:title:group with nil parameters so that 33001 there's a designated initializer 33002 (-[WebBookmarkLeaf initFromDictionaryRepresentation:withGroup:]): 33003 rewritten to do only the subclasses' part now 33004 (-[WebBookmarkLeaf dictionaryRepresentation]): 33005 rewritten to do only the subclasses' part now 33006 (-[WebBookmarkLeaf copyWithZone:]): 33007 rewritten to do only the subclasses' part now 33008 33009 * Bookmarks.subproj/WebBookmarkList.m: 33010 (-[WebBookmarkList init]): 33011 now calls initWithTitle:group with nil parameters so that 33012 there's a designated initializer 33013 (-[WebBookmarkList initWithTitle:group:]): 33014 replace [bookmark setGroup:group] with [group _addBookmark:bookmark] 33015 so it runs through the UUID code 33016 (-[WebBookmarkList initFromDictionaryRepresentation:withGroup:]): 33017 rewritten to do only the subclasses' part now 33018 (-[WebBookmarkList dictionaryRepresentation]): 33019 rewritten to do only the subclasses' part now 33020 (-[WebBookmarkList copyWithZone:]): 33021 rewritten to do only the subclasses' part now 33022 (-[WebBookmarkList _setGroup:]): 33023 removed this override, which used to do the recursion to set the group 33024 of children; this recursion is now done by -[WebBookmarkGroup _addBookmark:] 33025 and _removeBookmark: 33026 (-[WebBookmarkList removeChild:]): 33027 wereRemovedToParent -> wereRemovedFromParent 33028 (-[WebBookmarkList insertChild:atIndex:]): 33029 replace [bookmark setGroup:group] with [group _addBookmark:bookmark] 33030 so it runs through the UUID code 33031 33032 * Bookmarks.subproj/WebBookmarkProxy.m: 33033 (-[WebBookmarkProxy init]): 33034 now calls initWithTitle:group with nil parameters so that 33035 there's a designated initializer 33036 (-[WebBookmarkProxy initWithTitle:group:]): 33037 replace [bookmark setGroup:group] with [group _addBookmark:bookmark] 33038 so it runs through the UUID code 33039 (-[WebBookmarkProxy initFromDictionaryRepresentation:withGroup:]): 33040 rewritten to do only the subclasses' part now 33041 (-[WebBookmarkProxy dictionaryRepresentation]): 33042 rewritten to do only the subclasses' part now 33043 (-[WebBookmarkProxy copyWithZone:]): 33044 rewritten to do only the subclasses' part now 33045 330462003-01-22 Darin Adler <darin@apple.com> 33047 33048 Reviewed by Maciej. 33049 33050 - fixed 3153673 -- spoof as MacIE to get into http://www.mazdausa.com 33051 - fixed 3153678 -- spoof as MacIE for http://wap.sonyericsson.com/ 33052 33053 * WebView.subproj/WebUserAgentSpoofTable.gperf: Add the two new entries. 33054 Also reorganize existing entries a bit. 33055 330562003-01-22 Chris Blumenberg <cblu@apple.com> 33057 33058 Removed comment that I added by mistake. 33059 33060 * WebView.subproj/WebHTMLView.m: 33061 (-[WebHTMLView draggingSourceOperationMaskForLocal:]): 33062 330632003-01-22 Chris Blumenberg <cblu@apple.com> 33064 33065 Fixed: 3153651 - text dragging does not work to Terminal 33066 33067 Reviewed by trey. 33068 33069 * WebView.subproj/WebHTMLView.m: 33070 (-[WebHTMLView draggingSourceOperationMaskForLocal:]): Terminal only accepts the drag if one of the operations is generic. Made the operation both generic and copy. 33071 330722003-01-21 Chris Blumenberg <cblu@apple.com> 33073 33074 Added support for text dragging. 33075 33076 Reviewed by dave. 33077 33078 * Resources/text_clipping.tiff: Added. Temp drag image until we can create an image of the selected text. 33079 * WebCoreSupport.subproj/WebBridge.m: 33080 (-[WebBridge mayStartDragWithMouseDraggedEvent:]): renamed, we now ask if OK to drag during the drag 33081 * WebKit.exp: renamed element key for selected text 33082 * WebKit.pbproj/project.pbxproj: 33083 * WebView.subproj/WebController.h: renamed element key for selected text 33084 * WebView.subproj/WebController.m: renamed element key for selected text 33085 * WebView.subproj/WebHTMLViewPrivate.h: 33086 * WebView.subproj/WebHTMLViewPrivate.m: 33087 (-[WebHTMLView _handleMouseDragged:]): added support for text dragging 33088 (-[WebHTMLView _mayStartDragWithMouseDragged:]): renamed, we now ask if OK to drag during the drag 33089 330902003-01-20 Maciej Stachowiak <mjs@apple.com> 33091 33092 Reviewed by Trey. 33093 33094 - fixed 3132120 - onchange handler not firing on mac.com webmail 33095 * WebView.subproj/WebHTMLViewPrivate.m: 33096 (-[WebNSTextView resignFirstResponder]): If we really resign first responder, and 33097 our delegate responds to filedWillBecomeFirstResponder, then call that method. 33098 (-[WebNSTextView becomeFirstResponder]): If we really become first responder, and 33099 our delegate responds to filedWillBecomeFirstResponder, then call that method. 33100 331012003-01-20 Trey Matteson <trey@apple.com> 33102 33103 Nit fix to remove a dead "cursor" ivar found while grepping. 33104 33105 Reviewed by Richard. 33106 33107 * WebView.subproj/WebDynamicScrollBarsView.h: 33108 * WebView.subproj/WebDynamicScrollBarsView.m: 33109 331102003-01-18 Maciej Stachowiak <mjs@apple.com> 33111 33112 Reviewed by John. 33113 33114 - fixed 3123041 - VIP: Spewage at bottom of oregonlive.com and other similar pages 33115 33116 * WebView.subproj/WebUserAgentSpoofTable.gperf: Added nj.com to spoof list 33117 below oregonlive.com (which was already in there). Added comment explaining the 33118 need to spoof a bit more. 33119 * WebView.subproj/WebUserAgentSpoofTable.c: 33120 (hash): 33121 (_web_findSpoofTableEntry): Regenerated. 33122 331232003-01-17 Chris Blumenberg <cblu@apple.com> 33124 33125 Fixed: 3143656 - crash in MIMETypeForFile when a large QT movie is dragged over window 33126 33127 Reviewed by darin. 33128 33129 * WebView.subproj/WebControllerPrivate.m: 33130 (+[WebController _MIMETypeForFile:]): rewrote, now calls _web_guessedMIMEType 33131 331322003-01-17 Darin Adler <darin@apple.com> 33133 33134 - compressed all our non-compressed TIFF files 33135 33136 * Resources/nullplugin.tiff: 33137 * Resources/url_icon.tiff: 33138 331392003-01-16 Darin Adler <darin@apple.com> 33140 33141 * WebView.subproj/WebController.h: Fixed a comment that was out of date. 33142 331432003-01-16 Chris Blumenberg <cblu@apple.com> 33144 33145 Fixed comment. 33146 33147 * Plugins.subproj/WebBaseNetscapePluginView.m: 33148 331492003-01-16 Chris Blumenberg <cblu@apple.com> 33150 33151 Fixed: 3125743 - right-click doesn't count as ctrl-click in Flash 33152 33153 AppKit doesn't call mouseDown or mouseUp on right-click. Simulate control-click mouseDown and mouseUp so plug-ins get the right-click event as they do in Carbon 33154 33155 Reviewed by darin. 33156 33157 * Plugins.subproj/WebBaseNetscapePluginView.m: 33158 (-[WebBaseNetscapePluginView rightMouseDown:]): 33159 (-[WebBaseNetscapePluginView rightMouseUp:]): 33160 331612003-01-16 Darin Adler <darin@apple.com> 33162 33163 Reviewed by John. 33164 33165 - added an API for dumping the external representation of the render tree for testing 33166 33167 * Misc.subproj/WebCoreStatistics.h: Added renderTreeAsExternalRepresentation. 33168 * Misc.subproj/WebCoreStatistics.m: (-[WebFrame renderTreeAsExternalRepresentation]): Added. 33169 33170 - removed remnants of an earlier more-naive cut at this same sort of thing 33171 33172 * Misc.subproj/WebTestController.h: Removed. 33173 * Misc.subproj/WebTestController.m: Removed. 33174 * WebKit.exp: Removed WebTestController. 33175 * WebKit.pbproj/project.pbxproj: Removed WebTestController. 33176 33177 - other changes 33178 33179 * WebCoreSupport.subproj/WebBridge.m: Had added new copyright date to touch a file. 33180 That's not needed any more, but the date should be updated anyway. 33181 33182=== Safari-52 === 33183 331842003-01-15 Maciej Stachowiak <mjs@apple.com> 33185 33186 Reviewed by Darin. 33187 33188 - fixed 3143418 - controller assert in WebStandardPanels _didStartLoadingURL 33189 - fixed 3141212 - crash in kjs garbage collection (contextimp mark) 33190 33191 * WebCoreSupport.subproj/WebBridge.m: 33192 (-[WebBridge startLoadingResource:withURL:]): If the data source 33193 doesn't have a controller, then block the load. 33194 331952003-01-15 Darin Adler <darin@apple.com> 33196 33197 Reviewed by Ken. 33198 33199 - fixed problem where Content-Type was going into WebCore with suffixes like "charset" 33200 33201 * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady:]): 33202 Pass in contentType from the response, rather than the "Content-Type" header. 33203 Also pass in the refresh header separately. 33204 33205 * English.lproj/StringsNotToBeLocalized.txt: Updated for above change. 33206 332072003-01-13 Maciej Stachowiak <mjs@apple.com> 33208 33209 Reviewed by Darin, Dave and Trey, and given the seal of approval by Don. 33210 33211 Use new safer file removal call that does not handle directories. 33212 33213 * Downloads.subproj/WebDownloadHandler.m: 33214 (-[WebDownloadHandler cleanUpAfterFailure]): Use 33215 _web_removeFileOnlyAtPath: 33216 * Plugins.subproj/WebBaseNetscapePluginStream.m: 33217 (-[WebBaseNetscapePluginStream dealloc]): Use _web_removeFileOnlyAtPath: 33218 (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Use _web_removeFileOnlyAtPath: 33219 332202003-01-14 Darin Adler <darin@apple.com> 33221 33222 Reviewed by Dave. 33223 33224 * Plugins.subproj/WebBaseNetscapePluginStream.m: 33225 (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): 33226 Fixed uninitialized variable warning so builds work again. 33227 33228 * WebView.subproj/WebDataSourcePrivate.m: (+[WebDataSource _repTypes]): Added "application/xml". 33229 * WebView.subproj/WebViewPrivate.m: (+[WebView _viewTypes]): Added "application/xml". 33230 33231 * English.lproj/Localizable.strings: Regenerated. 33232 * English.lproj/StringsNotToBeLocalized.txt: Updated for above change. 33233 332342003-01-13 Darin Adler <darin@apple.com> 33235 33236 Reviewed by Trey, John, and Maciej, and given the seal of approval by Don. 33237 33238 - fixed 3143317 -- plug-in supplied URLs cause correspondingly named files in /tmp to be deleted 33239 - fixed 3143330 -- plug-in supplied URLs can overwrite files used in other windows by same plug-in 33240 33241 * Plugins.subproj/WebBaseNetscapePluginStream.h: Make path be a char * rather than an NSString. 33242 * Plugins.subproj/WebBaseNetscapePluginStream.m: 33243 (-[WebBaseNetscapePluginStream dealloc]): Use unlink() to delete the temporary file we made. 33244 Since we created the file, we know it doesn't have any fancy stuff like a resource fork. 33245 (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Create the file with mkstemp instead of 33246 trying to come up with our own filename. This eliminates the need to delete an old file (because we 33247 are guaranteed the file is new) and also mkstemp opens the file for us, so we just need to write 33248 the contents. 33249 33250 * English.lproj/StringsNotToBeLocalized.txt: Updated for above changes. 33251 33252 - unrelated change to help with other bug analysis 33253 33254 * WebView.subproj/WebBaseResourceHandleDelegate.m: Added assertions. 33255 332562003-01-12 Chris Blumenberg <cblu@apple.com> 33257 33258 Fix for checking and creating proper download filenames. 33259 33260 Reviewed by mjs, kocienda, trey. 33261 33262 * WebKit.pbproj/project.pbxproj: 33263 * WebView.subproj/WebControllerPolicyDelegate.h: changes for renamed savePathForResponse:andRequest: method 33264 * WebView.subproj/WebDefaultPolicyDelegate.m: changes for renamed savePathForResponse:andRequest: method 33265 (-[WebDefaultPolicyDelegate savePathForResponse:andRequest:]): renamed 33266 * WebView.subproj/WebMainResourceClient.m: 33267 (-[WebMainResourceClient continueAfterContentPolicy:response:]): changes for renamed savePathForResponse:andRequest: method 33268 332692003-01-12 Darin Adler <darin@apple.com> 33270 33271 Reviewed by John. 33272 33273 - fixed 3144882 -- pretend to be WinIE for abcnews.com 33274 33275 * WebView.subproj/WebControllerPrivate.h: Add an enum, UserAgentStringType, with values 33276 Safari, MacIE, and WinIE. Also add NumUserAgentStringTypes and turn the userAgent and 33277 userAgentWhenPretendingToBeMacIE strings into an array indexed by type. 33278 33279 * WebView.subproj/WebController.m: 33280 (-[WebController setApplicationNameForUserAgent:]): Use a loop to discard the user agent 33281 strings, since we have an array now. 33282 (-[WebController userAgentForURL:]): Change user agent algorithm to check two strings rather 33283 than once against the spoof table, allowing two dots in the "domain name", which is needed 33284 for "abcnews.go.com". Get a user agent string type from the table rather than just a boolean 33285 "pretend to be MacIE". Store a string per type rather than one for normalcy and one for MacIE. 33286 Add a case for WinIE to the user agent computations. 33287 33288 * English.lproj/StringsNotToBeLocalized.txt: Update for change above. 33289 33290 * WebView.subproj/WebControllerPrivate.m: 33291 (-[WebControllerPrivate dealloc]): Use a loop to discard the user agent strings, since we have 33292 an array now. 33293 (-[WebController _defaultsDidChange]): Ditto. 33294 33295 * WebView.subproj/WebUserAgentSpoofTable.gperf: Add a UserAgentStringType field to the struct. 33296 Add MacIE to each existing table entry, and add a new one that says WinIE for abcnews.go.com. 33297 33298 * Makefile.am: Pass "-F ,0" to gperf so that we don't get warnings compiling empty entries 33299 in the hash table. 33300 33301 * WebView.subproj/WebUserAgentSpoofTable.c: Re-generated. 33302 33303 - other changes 33304 33305 * WebView.subproj/WebHTMLView.m: Removed some old, dead, #if 0'd code. 33306 333072003-01-11 Darin Adler <darin@apple.com> 33308 33309 Reviewed by John. 33310 33311 - fixed 3144479 -- put TITLE from links in status bar 33312 33313 * WebKit.exp: Add _WebElementLinkTitleKey and also sort this file. 33314 33315 * WebCoreSupport.subproj/WebImageRenderer.m: Need to touch a file to get the above 33316 to have any effect, so update the copyright date here. 33317 333182003-01-09 Darin Adler <darin@apple.com> 33319 33320 * WebKit.pbproj/project.pbxproj: Add the year 2003, remove CFBundleIconFile, 33321 bump marketing version to 0.8.1 and version to 52u to keep up with the branch, 33322 remove CFHumanReadableCopyright, remove NSPrincipalClass. 33323 33324 * English.lproj/InfoPlist.strings: Updated to match above changes. 33325 333262003-01-09 Darin Adler <darin@apple.com> 33327 33328 Reviewed by Maciej. 33329 33330 * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 33331 333322003-01-09 Richard Williamson <rjw@apple.com> 33333 33334 Fixed 3143361. This was a regression introduced with some image 33335 rendering optimizations. Don't bypass the tiling code path if 33336 the image needs to be rendered out-of-phase. 33337 33338 Reviewed by hyatt. 33339 33340 * WebCoreSupport.subproj/WebImageRenderer.m: 33341 (-[WebImageRenderer tileInRect:fromPoint:]): 33342 333432003-01-09 Darin Adler <darin@apple.com> 33344 33345 Reviewed by Chris. 33346 33347 - second pass on 3143332 - we still need a test case to be sure this is right 33348 33349 * Plugins.subproj/WebBaseNetscapePluginStream.m: 33350 (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): 33351 Check for "/". Also report the failure instead of just hanging on forever. 33352 333532003-01-09 Darin Adler <darin@apple.com> 33354 33355 Reviewed by Richard. 33356 33357 - fixed 3143332 -- if path returned is empty string (or "." or "..") it will trash the /tmp symlink 33358 33359 * Plugins.subproj/WebBaseNetscapePluginStream.m: 33360 (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): 33361 Check for empty string, ".", and "..", and don't create files by those names. 33362 333632003-01-09 Trey Matteson <trey@apple.com> 33364 33365 3143294 - need short-term bulletproofing of download code against bad filenames 33366 33367 We protect against a download location that is not an absolute path. 33368 33369 Reviewed by Darin 33370 33371 * WebView.subproj/WebMainResourceClient.m: 33372 (-[WebMainResourceClient continueAfterContentPolicy:response:]): 33373 Bail on download if we don't have a abs path to write to. 33374 333752003-01-08 Trey Matteson <trey@apple.com> 33376 33377 3142201 - home directory nuked during power download session 33378 33379 We add checks for various error cases that could combine to cause this problem. While we 33380 never got a reproducible case, we are confident that this is the only file removal done 33381 in the download code, and its ability to wreak havoc has been clipped. 33382 Reviewed by Richard. 33383 33384 * Downloads.subproj/WebDownloadHandler.m: 33385 (-[WebDownloadHandler cleanUpAfterFailure]): Only nuke the partial download if in fact we created 33386 a new download file. Never nuke a directory. 33387 (-[WebDownloadHandler createFileIfNecessary]): Don't add "." to the foo-1 filenames we generate 33388 if the original filename doesn't have any extension. 33389 * WebView.subproj/WebMainResourceClient.m: 33390 (-[WebMainResourceClient continueAfterContentPolicy:response:]): 33391 If the policyDelegate gives us a nil filename, just stop the whole load, instead of trying to 33392 overwrite the user's home directory. 33393 333942003-01-08 Chris Blumenberg <cblu@apple.com> 33395 33396 Fixed: 3111432 - Support OBJECT tags with type text/plain or text/html 33397 33398 Reviewed by dave. 33399 33400 * WebCoreSupport.subproj/WebBridge.m: 33401 (-[WebBridge frameRequiredForMIMEType:]): added, returns YES for non-plug-in views 33402 334032003-01-08 Chris Blumenberg <cblu@apple.com> 33404 33405 FIXED: 3128098 - flash performance weak!!! 33406 33407 Reviewed by darin. 33408 33409 * Plugins.subproj/WebBaseNetscapePluginView.m: Don't throttle plug-in when in an active window. 33410 334112003-01-03 Richard Williamson <rjw@apple.com> 33412 33413 Fixed 3139129. Added application/xhtml+xml to list of supported type. 33414 33415 Reviewed by gramps. 33416 33417 * WebView.subproj/WebDataSourcePrivate.m: 33418 (+[WebDataSource _repTypes]): 33419 * WebView.subproj/WebViewPrivate.m: 33420 (+[WebView _viewTypes]): 33421 334222003-01-03 Richard Williamson <rjw@apple.com> 33423 33424 Support for fixes to 3138743, 3138678. Added 33425 isFontFixedPitch used to determine if font is fixed 33426 pitch. Makes use of appkit private _isFakeFixedPitch 33427 (detects courier and monoca). Updated our fakey test 33428 to use the appkit's version. 33429 33430 Reviewed by darin. 33431 33432 * WebCoreSupport.subproj/WebTextRenderer.m: 33433 * WebCoreSupport.subproj/WebTextRendererFactory.m: 33434 (-[WebTextRendererFactory isFontFixedPitch:]): 33435 334362003-01-03 Darin Adler <darin@apple.com> 33437 33438 Reviewed by Chris. 33439 33440 - fixed leak of WebIconLoader observed using leaks tool 33441 33442 * WebView.subproj/WebDataSourcePrivate.m: 33443 (-[WebDataSourcePrivate dealloc]): Tell the icon loader to stop loading. 33444 Add a FIXME asking why we had to do this to fix the leak. 33445 (-[WebDataSource _loadIcon]): Add an assertion. 33446 334472003-01-03 Richard Williamson <rjw@apple.com> 33448 33449 Fix to 3131226. Don't force a layout when the document view is set 33450 on the page's scrollview. A layout would occur indirectly as a result 33451 of reflectScrolledClipView: being called when the document view 33452 was set. The khtmlpart/khtmlview/WebHTMLView would be out of sync 33453 at this point and a layout would have unintended and incorrect 33454 side effects. 33455 33456 Reviewed by Darin (and tested by John). 33457 33458 * WebView.subproj/WebDynamicScrollBarsView.h: 33459 * WebView.subproj/WebDynamicScrollBarsView.m: 33460 (-[WebDynamicScrollBarsView updateScrollers]): 33461 * WebView.subproj/WebViewPrivate.m: 33462 (-[WebView _setDocumentView:]): 33463 33464=== Alexander-48 === 33465 334662003-01-02 Richard Williamson <rjw@apple.com> 33467 33468 Increase the minimum font size to 9pt. This bounds the lower 33469 size of the sizes array used for named sizes. Net effect is 33470 to increase xx-small from 8pt to 9pt. xx-small is used by 33471 www.microsoft.com. 33472 33473 Reviewed by hyatt. 33474 33475 * WebView.subproj/WebPreferences.m: 33476 (+[WebPreferences load]): 33477 334782003-01-02 Darin Adler <darin@apple.com> 33479 33480 Reviewed by Don. 33481 33482 - at Scott and Don's request, roll out small text anti-aliasing cutoff 33483 33484 Turns out this makes small text look worse, not better. We're not going to respect 33485 this setting, and in Panther AppKit will almost certainly be changed not to either. 33486 33487 * WebCoreSupport.subproj/WebTextRenderer.m: Rolled out yesterday's change using CVS. 33488 334892003-01-02 Darin Adler <darin@apple.com> 33490 33491 Reviewed by John and Don. 33492 33493 - fixed 3137661 -- REGRESSION: autoscroll selection is broken 33494 33495 The new logic in WebCore is slightly pickier, and can't abide a mouse-moved event 33496 coming in during a drag. Unfortunately, we were sending a fake mouse-moved event 33497 during a drag, so lets not do that. 33498 33499 * WebView.subproj/WebHTMLView.m: 33500 (-[WebHTMLView mouseDown:]): Cancel any scheduled fake mouse-moved event. 33501 (-[WebHTMLView mouseUp:]): Send a fake mouse-moved event because we didn't update during the drag. 33502 33503 * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _frameOrBoundsChanged]): 33504 Don't schedule a fake mouse-moved event if the mouse is down, because that means we are in the 33505 middle of a drag. 33506 335072003-01-02 Darin Adler <darin@apple.com> 33508 33509 Reviewed by John and Ken. 33510 33511 - fixed 3135548 -- exception in Internet Explorer bookmark import code at first startup 33512 33513 * Bookmarks.subproj/WebBookmarkImporter.m: 33514 (_breakStringIntoLines): Break lines before a <DT> or </DL>. 33515 (_HREFTextFromSpec): Rewrite to simplify, search in a case-insensitive manner. 33516 (-[WebBookmarkImporter initWithPath:]): Change prefix checks to be case-insensitive. 33517 Don't discard folders altogether if the name can't be parsed as that would mess up 33518 nesting w.r.t the next </DL>. Make the </DL> handling robust so we misparse, but don't 33519 crash the whole application by raising an exception. 33520 33521 * English.lproj/StringsNotToBeLocalized.txt: Updated for this change and recent changes. 33522 335232003-01-01 Richard Williamson <rjw@apple.com> 33524 33525 Obey the font smoothing size preference (3137618). 33526 33527 Reviewed by Don and Darin. 33528 33529 * WebCoreSupport.subproj/WebTextRenderer.m: 33530 335312002-12-31 Maciej Stachowiak <mjs@apple.com> 33532 33533 Reviewed by Darin. 33534 33535 - fixed 3130831 - HOMEPAGE: JavaScript that tries to intercept onmousedown fails, image gets dragged instead 33536 - fixed 3125554 - while dragging to select text in a nested frame, you can start dragging a link or image 33537 33538 * WebCoreSupport.subproj/WebBridge.m: 33539 (-[WebBridge handleMouseDragged:]): New method; call through the WebHTMLView. 33540 (-[WebBridge mayStartDragWithMouseDown:]): Likewise. 33541 (-[WebBridge handleAutoscrollForMouseDragged:]): Likewise. 33542 * WebView.subproj/WebHTMLView.m: 33543 (-[WebHTMLView mouseDragged:]): Instead of doing drag handling 33544 here, just pass the event to WebCore. 33545 (-[WebHTMLView draggedImage:endedAt:operation:]): Send a fake 33546 mousemove event instead of sending the current event (likely a 33547 mouse up as if it were a mouse move). 33548 * WebView.subproj/WebHTMLViewPrivate.h: 33549 * WebView.subproj/WebHTMLViewPrivate.m: 33550 (-[WebHTMLViewPrivate dealloc]): Release drag element if any. 33551 (-[WebHTMLView _dragImageForElement:]): New method. Split out the 33552 code to make the special drag image for links. 33553 (-[WebHTMLView _handleMouseDragged:]): Move all the drag handling 33554 here. This method will get called only if WebCore hasn't blocked 33555 default drag handling. 33556 (-[WebHTMLView _handleAutoscrollForMouseDragged:]): Do 33557 autoscroll. Autoscroll is still lame, we need a timer. 33558 (-[WebHTMLView _mayStartDragWithMouseDown:]): Determine if the element 33559 is a link or image and so may be dragged; remember the drag element. 33560 335612003-01-01 Richard Williamson <rjw@apple.com> 33562 33563 Correct fix for 3137430 that doesn't always effectively disable 33564 the cache. 33565 33566 Reviewed by kocienda. 33567 33568 * History.subproj/WebHistoryItem.m: 33569 * WebView.subproj/WebFramePrivate.m: 33570 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]): 33571 335722003-01-01 Richard Williamson <rjw@apple.com> 33573 33574 Don't reset the cookie policy URL if it has already been set. Fixes to 3109590. 33575 33576 Reviewed by Maciej. 33577 33578 * WebView.subproj/WebFramePrivate.m: 33579 (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]): 33580 335812003-01-01 Richard Williamson <rjw@apple.com> 33582 33583 Don't attempt to restore page from page cache if the cache 33584 doesn't contain valid page state. This may happen after a 33585 redirect. Fixes 3137430. 33586 33587 Reviewed by kocienda. 33588 33589 * History.subproj/WebHistoryItem.m: 33590 335912002-12-31 Darin Adler <darin@apple.com> 33592 33593 Reviewed by Trey. 33594 33595 - fixed 3137287 -- REGRESSION: Java applets don't work when you go back to them (Java 1.4.1 plug-in) 33596 33597 By attaching the plug-in controller to the frame, we run into trouble. 33598 It really needs to be attached to the data source, which has the right lifetime 33599 and is kept around in the page cache. 33600 33601 * Plugins.subproj/WebPluginController.h: Keep a reference to a data source, not a frame. 33602 Add a new _started variable. Rename addPluginView: to addPlugin:, get rid of didAddPluginView:, 33603 replace destroyAllPlugins with dataSourceWillBeDeallocated, add startAllPlugins and stopAllPlugins. 33604 * Plugins.subproj/WebPluginController.m: 33605 (-[WebPluginController initWithDataSource:]): Store a data source reference, not a frame reference. 33606 Don't bother registering for the window will close notification, WebHTMLView handles that fine. 33607 (-[WebPluginController startAllPlugins]): Do nothing if they are already started, call pluginStart on each otherwise. 33608 (-[WebPluginController stopAllPlugins]): Do nothing if they are not started, call pluginStop on each otherwise. 33609 (-[WebPluginController addPlugin:]): Initialize the plugin if it's not already in our list. Also start 33610 it if we are in "started" mode. 33611 (-[WebPluginController dataSourceWillBeDeallocated]): Stop all the plugins, then destroy them. 33612 Also nil out the fields of the object. This is always called before the controller is released so we 33613 don't need to override dealloc. 33614 (-[WebPluginController showURL:inFrame:]): Added error checking and changed now that we start with a data source. 33615 (-[WebPluginController showStatus:]): Ditto. 33616 33617 * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): 33618 Use the data source, not the view. Don't add the plugin here, wait until we are ready to start. 33619 33620 * WebView.subproj/WebDataSourcePrivate.h: Store a pointer to the plug-in controller here. 33621 * WebView.subproj/WebDataSourcePrivate.m: 33622 (-[WebDataSourcePrivate dealloc]): Tell the plug-in controller to go away. 33623 (-[WebDataSource _makeHandleDelegates:deferCallbacks:]): Remove unused empty method. 33624 (-[WebDataSource _pluginController]): Create a plug-in controller if needed. 33625 33626 * WebView.subproj/WebFramePrivate.h: Remove plug-in controller code. 33627 * WebView.subproj/WebFramePrivate.m: 33628 (-[WebFramePrivate dealloc]): Remove plug-in controller code. 33629 (-[WebFrame _detachFromParent]): Remove plug-in controller code. 33630 (-[WebFrame _transitionToCommitted:]): Remove plug-in controller code. 33631 33632 * WebView.subproj/WebHTMLView.m: 33633 (-[WebHTMLView viewWillMoveToWindow:]): Stop plug-ins when view moves out of a window. 33634 This includes the case when the window is being destroyed. 33635 (-[WebHTMLView viewDidMoveToWindow]): Start plug-ins when view moves into a window. 33636 (-[WebHTMLView addSubview:]): Add plug-ins to the controller as they are added to us. 33637 33638 * WebView.subproj/WebController.m: Added now-needed include due to header change. 33639 * WebView.subproj/WebDefaultContextMenuDelegate.m: Ditto. 33640 33641=== Alexander-47 === 33642 336432002-12-30 Darin Adler <darin@apple.com> 33644 33645 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 33646 336472002-12-30 Trey Matteson <trey@apple.com> 33648 33649 3137110 - REGRESSION: calls from 2nd and subsequent instances of Java 1.4.1 plug-in seem to be ignored 33650 33651 We had previously made changes to "numb" a plugin controller after its frame 33652 was tossed or changed content. We now finish the job by making sure a new 33653 controller is created when we go to a new page with plugins. To so this we 33654 release the old controller whenever we flush the plugins from a page. 33655 33656 Reviewed by Maciej. 33657 33658 * WebView.subproj/WebFramePrivate.m: 33659 (-[WebFrame _detachFromParent]): Call newly factored code. 33660 (-[WebFrame _transitionToCommitted:]): Call newly factored code. 33661 (-[WebFrame _destroyPluginController]): New method to tear down plugins. 33662 336632002-12-30 Trey Matteson <trey@apple.com> 33664 33665 3135025 - Assertion failure in _transitionToCommitted on espn nba scoreboard 33666 33667 For blank pages we decided that there would be no b/f entry. This means that 33668 subframes within such pages (created via doc.write()), should not try to make 33669 WebHistoryItems, since they have no parent items to attach them to. 33670 33671 Reviewed by Darin. 33672 33673 * WebView.subproj/WebFramePrivate.m: 33674 (-[WebFrame _transitionToCommitted:]): Don't make a history item for a subframe 33675 it the parent frame has no item. 33676 336772002-12-30 Trey Matteson <trey@apple.com> 33678 33679 3135779 - REGRESSION: reproducible assertion failure, going back from ~orubin to the main spies.com page 3136218 - REGRESSION: Assertion failure in _restoreScrollPosition running browser buster 33680 Both were caused by subtle interactions between new code for short-circuiting loading of 33681 blank pages, and the WebHistoryItem manipulations we do for b/f and reload of child frames. 33682 33683 Reviewed by Maciej 33684 33685 * WebView.subproj/WebFramePrivate.m: 33686 (-[WebFrame _loadURL:intoChild:]): Setup provisional or current item before jumping into 33687 the real work of loading the URL. 33688 (-[WebFrame _restoreScrollPosition]): Tweaked to make the assertion message clearer. 33689 336902002-12-30 Darin Adler <darin@apple.com> 33691 33692 Reviewed by Don and Ken. 33693 33694 - fixed 3136797 -- crash when Adobe SVG Viewer plug-in puts up modal dialog 33695 33696 * Plugins.subproj/WebBaseNetscapePluginView.h: Add inSetWindow boolean. 33697 * Plugins.subproj/WebBaseNetscapePluginView.m: 33698 (-[WebBaseNetscapePluginView sendEvent:]): Don't send any events to a plug-in while it's 33699 inside NPP_SetWindow. We don't want to implement more general reentrancy protection, because 33700 it could cause trouble for plugins that can handle it correctly, but it's unlikely that any 33701 legitimate use would require reentrant calls while inside NPP_SetWindow, and that's the case 33702 that crashes for the SVG viewer plug-in when it presents its registration dialog. 33703 (-[WebBaseNetscapePluginView setWindow]): Set boolean. 33704 337052002-12-29 Darin Adler <darin@apple.com> 33706 33707 Reviewed by Don. 33708 33709 - fixed 3103287 -- body of page not rendered (page uses JavaScript trick to be both a frameset and a frame) 33710 33711 Our self-reference checks prevented this page from working. 33712 I just removed the WebKit one, since it was really just working around a problem with the WebCore 33713 one that I fixed (didn't ignore #xxx suffixes). 33714 33715 * WebCoreSupport.subproj/WebBridge.m: 33716 (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): 33717 Remove self-reference check. 33718 337192002-12-29 Darin Adler <darin@apple.com> 33720 33721 Reviewed by Don. 33722 33723 - fixed 3136801 -- scrolling a page that contains a QuickTime movie leaves garbage behind 33724 33725 * Plugins.subproj/WebBaseNetscapePluginView.m: 33726 (-[WebBaseNetscapePluginView tellQuickTimeToChill]): Added. Calls a QuickDraw SPI 33727 CallDrawingNotifications to let QuickTime know it should take a nature break. 33728 (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): Call tellQuickTimeToChill. 33729 (-[WebBaseNetscapePluginView viewHasMoved:]): Call tellQuickTimeToChill. 33730 337312002-12-29 Darin Adler <darin@apple.com> 33732 33733 Reviewed by Don. 33734 33735 - follow-on to my fix for 3125877 that fixes a crash I observed when a plug-in fails to NPP_New 33736 33737 I filed bug 3136870 about the fact that we don't do a good job reporting the error. 33738 33739 * Plugins.subproj/WebBaseNetscapePluginView.m: 33740 (-[WebBaseNetscapePluginView sendEvent:]): Return quietly if this is called when 33741 the plug-in is not started rather than asserting (and doing bad things on Deployment). 33742 (-[WebBaseNetscapePluginView setWindow]): Ditto. 33743 (-[WebBaseNetscapePluginView viewHasMoved:]): Just call setWindow since it now checks isStarted. 33744 337452002-12-29 Darin Adler <darin@apple.com> 33746 33747 Reviewed by Don. 33748 33749 - fixed 3120630 -- spacebar scrolls the page as well as pausing the QuickTime movie 33750 33751 Imitate Mozilla and OmniWeb by not propagating keyboard events after passing them to 33752 plug-ins regardless of what the plug-in returns, rather than imitating MacIE, which 33753 looks at the return value from NPP_HandleEvent. 33754 33755 * Plugins.subproj/WebBaseNetscapePluginView.m: 33756 (-[WebBaseNetscapePluginView keyUp:]): Remove call to super, add comment. 33757 (-[WebBaseNetscapePluginView keyDown:]): Ditto. 33758 337592002-12-29 Darin Adler <darin@apple.com> 33760 33761 Reviewed by Ken and Don. 33762 33763 - fixed 3136120 -- much content missing at www.olympic.org 33764 33765 This site gives modern CSS to "Internet Explorer" or "Netscape 6". Since we are neither of 33766 those, we need to pretend to be one or the other. So we add olympic.org to our MacIE spoofing list. 33767 33768 * WebView.subproj/WebUserAgentSpoofTable.gperf: Add olympic.org to the list of pages that give us better 33769 CSS if we claim to be Internet Explorer. 33770 * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated. 33771 33772=== Alexander-46 === 33773 337742002-12-28 Ken Kocienda <kocienda@apple.com> 33775 33776 Reviewed by Gramps and Richard 33777 33778 Fix for this bug: 33779 33780 Radar 3112233 (400 response when attaching files at mail.yahoo.com) 33781 33782 I added the MIMETypeForPath method which accesses the WebFoundation mime 33783 file map we maintain. KHTML can now access this map by using the bridge. 33784 33785 * WebCoreSupport.subproj/WebBridge.m: 33786 (-[WebBridge MIMETypeForPath:]) 33787 337882002-12-28 Darin Adler <darin@apple.com> 33789 33790 Reviewed by Gramps and Ken 33791 Checked in by Ken 33792 33793 - fixed 3125877 -- RealPlayer plug-in doesn't work in Safari 33794 33795 * Plugins.subproj/WebBaseNetscapePluginView.h: Remove some methods that don't have 33796 any need to be public, getCarbonEvent:, sendEvent:, sendUpdateEvent, setUpWindowAndPort. 33797 Make setWindow public. 33798 33799 * Plugins.subproj/WebBaseNetscapePluginView.m: 33800 (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): Added. This replaces the 33801 old setUpWindowAndPort. Besides setting up the port and the window, it also sets up the 33802 port's origin, clip, visible, and update regions properly, and sets the current port. 33803 In the case of an update event, we have extra work to do, which was formerly done in drawRect:. 33804 (-[WebBaseNetscapePluginView saveAndSetPortState]): Calls saveAndSetPortStateForUpdate:NO. 33805 (-[WebBaseNetscapePluginView restorePortState:]): Undoes the port state changes done by the 33806 saveAndSetPortState calls. 33807 (-[WebBaseNetscapePluginView sendEvent:]): Call saveAndSetPortStateForUpdate: before sending 33808 the event to the plug-in. This is the core of fixing the bug. We need to have the port set 33809 up properly. Specifically, RealPlayer depended on the port's origin being set and the update 33810 region being set. Also added a "draw green" debugging aid to builds without NDEBUG set. 33811 (-[WebBaseNetscapePluginView sendNullEvent]): Update text of a FIXME. 33812 (-[WebBaseNetscapePluginView setWindow]): Call the new saveAndSetPortState method instead of 33813 the old setUpWindowAndPort method. 33814 (-[WebBaseNetscapePluginView drawRect:]): Remove bug workarounds that are now inside the 33815 saveAndSetPortStateForUpdate: method. 33816 (-[WebBaseNetscapePluginView viewDidMoveToWindow]): Add missing call to super. 33817 (-[WebBaseNetscapePluginView windowBecameKey:]): Don't send an update event to the plugin directly. 33818 Instead mark this view as needing display so we'll get a drawRect later. 33819 (-[WebBaseNetscapePluginView windowResignedKey:]): Ditto. 33820 (-[WebBaseNetscapePluginView requestWithURLCString:]): Corrected handling of URLs. Absolute URLs 33821 are handled by the relative URL function, so there's no need to do an explicit check. Also use 33822 requestWithURL instead of doing a three-method dance that does the same thing. 33823 (-[WebBaseNetscapePluginView invalidateRect:]): Use setNeedsDisplayInRect: to schedule redrawing 33824 rather than forcing an update right away by doing a sendUpdateEvent directly. 33825 (-[WebBaseNetscapePluginView invalidateRegion:]): Ditto. 33826 (-[WebBaseNetscapePluginView forceRedraw]): Use setNeedsDisplay: and displayIfNeeded to do the 33827 drawing through the view system instead of doing a sendUpdateEvent directly. 33828 33829 * Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView layout]): 33830 Do a setWindow rather than a setUpWindowAndPort when the size of the view changes. This matches 33831 what other browsers do and extends the bug fix for the Java plug-in to the resize case as well as 33832 the scrolling case. 33833 33834 * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage initWithPath:]): 33835 Remove RealPlayer antibodies. 33836 338372002-12-27 Darin Adler <darin@apple.com> 33838 33839 Reviewed by Don. 33840 33841 - fixed 3136206 -- Can't display images in Ambrosia Software image viewer 33842 33843 WebKit wasn't creating the frames correctly when they weren't HTML. 33844 33845 * WebView.subproj/WebFramePrivate.m: (-[WebFrame _makeDocumentView]): Added. Calls the 33846 WebView to make the document view and then installs the new view, as WebHTMLView used to do. 33847 (-[WebFrame _transitionToCommitted:]): Call _makeDocumentView instead of calling WebView 33848 directly. These are all the calls to _makeDocumentViewForDataSource:. 33849 33850 * WebView.subproj/WebViewPrivate.h: Add return value to _makeDocumentViewForDataSource:. 33851 * WebView.subproj/WebViewPrivate.m: (-[WebView _makeDocumentViewForDataSource:]): 33852 Return the newly-created view. 33853 33854 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView setDataSource:]): Removed the code here 33855 since it's done by WebFrame now. 33856 338572002-12-25 Darin Adler <darin@apple.com> 33858 33859 Reviewed by Don. 33860 33861 - fixed 3133611 -- Java "ticker" applet renders badly when scrolling page 33862 33863 * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView viewHasMoved:]): 33864 Call setWindow so we make a call to the plugin each time it moves, rather than just adjusting 33865 the data structure we had passed to it earlier. 33866 338672002-12-24 Darin Adler <darin@apple.com> 33868 33869 Reviewed by Richard and Don. 33870 33871 - fixed 3132192 -- HOMEPAGE: Quicktime plug in with AVI content brings Plug-ins not found panel 33872 33873 * Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): 33874 Lower-case the key before searching for it. This is needed for both MIME types and extensions, 33875 since we want case insensitive comparison in both cases. 33876 33877=== Alexander-45 === 33878 338792002-12-23 Ken Kocienda <kocienda@apple.com> 33880 33881 Reviewed by Darin and Gramps 33882 33883 Workaround for this bug: 33884 33885 Radar 3134219 (MPEG-4 files don't work with the QuickTime plugin in Safari, 33886 work fine in Mozilla, IE) 33887 33888 For beta 1, when getting the MIME information for the QuickTime plugin, we directly 33889 insert the information to handle MP4. 33890 33891 In the future, we will use the additional plugin entry points to dynamically load 33892 this information from the plugin itself. 33893 33894 * Plugins.subproj/WebNetscapePluginPackage.m: 33895 (-[WebNetscapePluginPackage getMIMEInformation]) 33896 338972002-12-23 Darin Adler <darin@apple.com> 33898 33899 Reviewed by John and Don. 33900 33901 - fixed 3134282 -- REGRESSION: text encoding setting reverts when you go to a new location 33902 33903 * WebView.subproj/WebFrame.m: (-[WebFrame loadRequest:]): Propagate an override encoding if there 33904 was an existing data source and it had an override encoding. 33905 * WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadRequest:triggeringAction:loadType:]): Ditto. 33906 33907=== Alexander-44 === 33908 339092002-12-20 Trey Matteson <trey@apple.com> 33910 33911 Do not add empty URLs to the back forward list. 33912 33913 Reviewed by Richard, Darin 33914 33915 * WebView.subproj/WebFramePrivate.m: 33916 (-[WebFrame _transitionToCommitted:]): 33917 339182002-12-20 Trey Matteson <trey@apple.com> 33919 33920 3133829 - crash leaving page with a running applet 33921 33922 This fixes some holes in how we teardown plugins. An additional fix is expected 33923 from Mike Hay to finish the issue. (3133981) 33924 33925 Reviewed by Richard 33926 33927 * Plugins.subproj/WebPluginController.m: 33928 (-[WebPluginController destroyAllPlugins]): frame=nil, so we don't do any more 33929 messaging back to WK after this step. 33930 (-[WebPluginController showURL:inFrame:]): bail if !frame 33931 (-[WebPluginController showStatus:]): bail if !frame 33932 * WebView.subproj/WebFramePrivate.m: 33933 (-[WebFrame _detachFromParent]): destroy plugins here. We were only doing it 33934 in the non-frame case. 33935 33936=== Alexander-43 === 33937 339382002-12-20 Trey Matteson <trey@apple.com> 33939 33940 3131841 - crash when switching encodings on a page with frames 33941 33942 Reviewed by rjw 33943 33944 * WebView.subproj/WebFramePrivate.m: 33945 (-[WebFrame _transitionToCommitted:]): Create a docView in the LoadStale case, like 33946 every other kind of load does. 33947 339482002-12-20 Richard Williamson <rjw@apple.com> 33949 33950 Fixed 3133261. This fix really has two parts. This first part 33951 is here in WebTextRenderer. The second part adds some width 33952 caching to RenderText. I was using a stack allocated array, 33953 this would blow out the stack for large strings. 33954 33955 Reviewed by john. 33956 33957 * WebCoreSupport.subproj/WebTextRenderer.m: 33958 339592002-12-20 Trey Matteson <trey@apple.com> 33960 33961 We now build with symbols the B&I. Deployment builds are without symbols, 33962 so it is easy to generate a non-huge app as a one-off. 33963 33964 Reviewed by Darin 33965 33966 * WebKit.pbproj/project.pbxproj: 33967 33968=== Alexander-42 === 33969 339702002-12-19 John Sullivan <sullivan@apple.com> 33971 33972 - WebKit part of fix for 3124949 -- Alexander recreates the 33973 default set of bookmarks every time a separate app copy is launched 33974 33975 Reviewed by Darin 33976 33977 * Bookmarks.subproj/WebBookmarkGroup.h: 33978 new _tag ivar and -tag method. 33979 33980 * Bookmarks.subproj/WebBookmarkGroup.m: 33981 (-[WebBookmarkGroup dealloc]): 33982 release _tag 33983 (-[WebBookmarkGroup tag]): 33984 return _tag 33985 (-[WebBookmarkGroup _loadBookmarkGroupGuts]): 33986 read _tag from the dictionary in the file (or leave it at 33987 nil if there's no value in the file). 33988 33989 * English.lproj/StringsNotToBeLocalized.txt: 33990 kept this file up to date 33991 339922002-12-19 Darin Adler <darin@apple.com> 33993 33994 Reviewed by John. 33995 33996 - corrected the name of a method that was leading to trouble elsewhere 33997 33998 * WebView.subproj/WebDataSource.h: Change fileType to fileExtension for clarity. 33999 * WebView.subproj/WebDataSource.m: (-[WebDataSource fileExtension]): Ditto. 34000 34001=== Alexander-41 === 34002 340032002-12-19 Darin Adler <darin@apple.com> 34004 34005 Reviewed by John. 34006 34007 - probably fixed 3129395 -- Reproducible crash when running a javascript at www.scenespot.org 34008 34009 * WebCoreSupport.subproj/WebViewFactory.m: 34010 (-[WebViewFactory runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]): 34011 Close the window. Before we relied on it being released which was bad. But it's not clear this 34012 actually was the cause of the bug. 34013 340142002-12-19 Darin Adler <darin@apple.com> 34015 34016 Reviewed by Chris. 34017 34018 - fixed 31323455 -- REGRESSION: Crash in plugin code closing popup window on lordoftherings.net 34019 34020 * Plugins.subproj/WebBaseNetscapePluginView.m: 34021 (-[WebBaseNetscapePluginView sendEvent:]): Added an assert. 34022 (-[WebBaseNetscapePluginView setWindow]): Added an assert. 34023 (-[WebBaseNetscapePluginView stop]): Cancel perform requests, now that we are using them for 34024 URL navigation. 34025 (-[WebBaseNetscapePluginView frameStateChanged:]): Only notify if the plugin is still running. 34026 (-[WebBaseNetscapePluginView loadPluginRequest:]): Added. Does the actual load at idle time. 34027 Also fixed to only notify if plugin is loaded. Added a number of FIXMEs for other problems here. 34028 Also send JavaScript to the appropriate frame, not always the top level. 34029 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Use loadPluginRequest: 34030 to do the request after a delay. Also remove the special cases for special frame names; they 34031 were trying to avoid calling a plugin that has gone away, but we do that a better way now. 34032 (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]): Added logging. 34033 (-[WebBaseNetscapePluginView status:]): Use Windows Latin-1 rather than MacRoman for messages. 34034 I guess we should test later to find out which is used by MacIE and conform to that, but for now 34035 this seems like a better default. 34036 (-[WebPluginRequest initWithRequest:frame:notifyData:]): Added. 34037 (-[WebPluginRequest dealloc]): Added. 34038 (-[WebPluginRequest request]): Added. 34039 (-[WebPluginRequest webFrame]): Added. 34040 (-[WebPluginRequest notifyData]): Added. 34041 340422002-12-18 Darin Adler <darin@apple.com> 34043 34044 Reviewed by Chris. 34045 34046 - fixed fix for 3132056 -- Supply Finder bits for decoded BinHex files 34047 34048 * Downloads.subproj/WebBinHexDecoder.m: (-[WebBinHexDecoder decodeHeader]): 34049 Mask off fewer Finder flag bits. Use the same mask as for MacBinary, in fact. 34050 340512002-12-18 Darin Adler <darin@apple.com> 34052 34053 Reviewed by Richard. 34054 34055 - fixed 3127490 -- pages w/frames sometimes show up blank 34056 34057 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]): 34058 Updated the optimization where we draw the entire view if we did a layout 34059 so that it works properly for the case where the clip is narrower because of 34060 the parent WebHTMLView. 34061 34062 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 34063 34064=== Alexander-40 === 34065 340662002-12-18 Trey Matteson <trey@apple.com> 34067 34068 3098388 - Pressing the back button goes back two levels at allmusic.com 34069 34070 I rewrote the logic we use to decide whether a given redirect should be 34071 treated as part of the previous navigation. We make use of WebCore's 34072 lockHistory setting, the delay time and the frame state. 34073 34074 Reviewed by Darin. 34075 34076 * WebCoreSupport.subproj/WebBridge.m: 34077 (-[WebBridge reportClientRedirectToURL:delay:fireDate:lockHistory:]): 34078 Pass lockHistory up to the frame. 34079 * WebView.subproj/WebFramePrivate.h: 34080 * WebView.subproj/WebFramePrivate.m: 34081 (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:]): 34082 New logic. No quick summary, best to read the code. 34083 340842002-12-18 Chris Blumenberg <cblu@apple.com> 34085 34086 Reject the RealPlayer plug-in because we know it doesn't work. 34087 34088 Reviewed by sullivan. 34089 34090 * English.lproj/StringsNotToBeLocalized.txt: 34091 * Plugins.subproj/WebNetscapePluginPackage.m: 34092 (-[WebNetscapePluginPackage initWithPath:]): reject the RealPlayer plug-in 34093 340942002-12-18 Maciej Stachowiak <mjs@apple.com> 34095 34096 Reviewed by John. 34097 34098 - fixed 3131171 - Change Alex versions to satisfy both marketing and B&I requirements 34099 * English.lproj/InfoPlist.strings: 34100 341012002-12-18 Richard Williamson <rjw@apple.com> 34102 34103 Fixed 3129951. Don't allow pages that are stopping to enter the page cache. 34104 (Fixed yesterday, forgot to checkin.) 34105 34106 Reviewed by trey. 34107 34108 * WebView.subproj/WebFramePrivate.m: 34109 (-[WebFrame _setState:]): 34110 341112002-12-18 Maciej Stachowiak <mjs@apple.com> 34112 34113 Reviewed by Darin and Trey. 34114 34115 - fixed 3124933 - abcnews.com leads to empty window with sheet complaining about javascript: URL 34116 - fixed 3091248 - picture does not show up in window from epinions 34117 - made "about:blank" load synchronously, which I'm told is required by some sites. 34118 34119 * WebCoreSupport.subproj/WebBridge.m: 34120 (-[WebBridge createWindowWithURL:frameName:]): If the URL is nil 34121 or empty, pass a nil request - otherwise WebBrowser will try to 34122 load it, resulting in an extra back/forward list entry. 34123 (-[WebBridge loadEmptyDocumentSynchronously]): Tell the frame to 34124 load a request with an empty URL - this will cause a synchronous 34125 load of an empty html document 34126 * WebView.subproj/WebBaseResourceHandleDelegate.h: 34127 * WebView.subproj/WebBaseResourceHandleDelegate.m: 34128 (-[WebBaseResourceHandleDelegate loadWithRequest:]): Split off 34129 startLoading: part of method to allow behavior to be subclassed. 34130 (-[WebBaseResourceHandleDelegate startLoading:]): 34131 * WebView.subproj/WebDataSourcePrivate.m: 34132 (-[WebDataSource _commitIfReady:]): Lie and claim the URL is 34133 "about:blank" if it's really empty to avoid confusing WebCore. 34134 * WebView.subproj/WebFramePrivate.m: 34135 (-[WebFrame _transitionToCommitted:]): Don't put the empty URL in 34136 global history. 34137 (-[WebFrame 34138 _checkNavigationPolicyForRequest:dataSource:andCall:withSelector:]): 34139 Don't check policy if URL is empty - this is likely to confuse the 34140 client and we know what the right behavior here is. 34141 * WebView.subproj/WebMainResourceClient.m: 34142 (-[WebMainResourceClient startLoading:]): Try to load 34143 "about:blank" and the empty URL synchronously, bypassing 34144 WebFoundation. 34145 (-[WebMainResourceClient continueAfterContentPolicy:response:]): Ditto. 34146 (-[WebMainResourceClient setDefersCallbacks:]): Ditto. 34147 * English.lproj/StringsNotToBeLocalized.txt: Updated. 34148 341492002-12-18 Chris Blumenberg <cblu@apple.com> 34150 34151 Fixed: 2862385 - need to pass browser's user agent and version to plug-ins 34152 Added some more error checking to the plug-in code 34153 34154 Reviewed by trey. 34155 34156 * Plugins.subproj/WebBaseNetscapePluginView.h: 34157 * Plugins.subproj/WebBaseNetscapePluginView.m: 34158 (+[WebBaseNetscapePluginView setCurrentPluginView:]): new, sets a global variable for the current plug-in 34159 (+[WebBaseNetscapePluginView currentPluginView]): new, returns the current plug-in 34160 (-[WebBaseNetscapePluginView start]): check if NPP_New fails, return NO if it does, set the current plug-in view. Currently, this is the only place we need to do this. 34161 (-[WebBaseNetscapePluginView userAgent]): made instance-specific because it depends on the plug-in view's WebController 34162 * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h: 34163 * Plugins.subproj/WebNetscapePluginEmbeddedView.m: 34164 (-[WebNetscapePluginEmbeddedView viewDidMoveToWindow]): don't start the stream is start fails 34165 * Plugins.subproj/npapi.m: 34166 (NPN_MemAlloc): tweak 34167 (NPN_RequestRead): tweak 34168 (pluginViewForInstance): returns the instance's plug-in view if it has one, if not, return the current plug-in view 34169 (NPN_GetURLNotify): get the instance from pluginViewForInstance 34170 (NPN_GetURL): 34171 (NPN_PostURLNotify): 34172 (NPN_PostURL): 34173 (NPN_NewStream): 34174 (NPN_Write): 34175 (NPN_DestroyStream): 34176 (NPN_UserAgent): 34177 (NPN_Status): 34178 (NPN_InvalidateRect): 34179 (NPN_InvalidateRegion): 34180 (NPN_ForceRedraw): 34181 (NPN_GetValue): 34182 (NPN_SetValue): 34183 (NPN_GetJavaEnv): 34184 (NPN_GetJavaPeer): 34185 341862002-12-18 Richard Williamson <rjw@apple.com> 34187 34188 Fixed 3109590. We now set the cookie policy URL to a frame's URL if the 34189 contents of the frame changes as a result of user action. The site mentioned 34190 is this bug branded a service by wrapping it in their own frameset. That frameset 34191 had a different domain than the service, so our cookie policy prevented cookies 34192 from being set. 34193 34194 Reviewed by trey. 34195 34196 * WebView.subproj/WebDataSourcePrivate.m: 34197 (-[WebDataSource _startLoading:]): 34198 * WebView.subproj/WebFrame.m: 34199 (-[WebFrame loadRequest:]): 34200 * WebView.subproj/WebFramePrivate.h: 34201 * WebView.subproj/WebFramePrivate.m: 34202 (-[WebFrame _loadItem:fromItem:withLoadType:]): 34203 (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]): 34204 (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): 34205 (-[WebFrame _postWithURL:data:contentType:triggeringEvent:]): 34206 342072002-12-18 Chris Blumenberg <cblu@apple.com> 34208 34209 Fixed: 3131714 - System becomes unresponsive while downloading 34210 34211 While downloading a file, Safari and the Finder take up 30%-40% of the CPU each. This is happening because for every chunk of data we write to disk, we call -[NSWorkspace noteFileSystemChanged:]. noteFileSystemChanged is inefficient. It calls 2 AppleEven 34212 34213 34214 34215 34216 34217 34218 34219 34220 34221ts each with 60 timeouts. The event also cause the Finder to do a lot of work. 34222 34223 We should: 34224 - Send 1 AppleEvent ourselves with no timeout since we don't care about the reply 34225 - Call the notification/event less often. The only benefit of sending the event for every chunk written is that the file size updates in the Finder. Not worth the performance impact. 34226 34227 Reviewed by kocienda. 34228 34229 * Downloads.subproj/WebDownloadHandler.m: 34230 (-[WebDownloadHandler cleanUpAfterFailure]): call _web_noteFileChangedAtPath 34231 (-[WebDownloadHandler createFileIfNecessary]): call _web_noteFileChangedAtPath 34232 (-[WebDownloadHandler writeDataForkData:resourceForkData:]): don't call noteFileSystemChanged 34233 (-[WebDownloadHandler finishedLoading]): call _web_noteFileChangedAtPath 34234 * Misc.subproj/WebNSWorkspaceExtras.h: Added. 34235 * Misc.subproj/WebNSWorkspaceExtras.m: Added. 34236 (-[NSWorkspace _web_noteFileChangedAtPath:]): Notifies the Finder (or any other app that cares) that we added, removed or changed the attributes of a file. This method is better than calling noteFileSystemChanged: because noteFileSystemChanged: se 34237 34238 34239 34240 34241 34242 34243 34244 34245 34246nds 2 apple events both with a 60 second timeout. This method returns immediately. 34247 * WebKit.pbproj/project.pbxproj: 34248 342492002-12-18 Darin Adler <darin@apple.com> 34250 34251 Reviewed by Maciej. 34252 34253 - fixed 3098293 -- Shockwave plug-in doesn't work 34254 34255 The problem is that the Shockwave plug-in depends on being able to do LMGetCurApRefNum 34256 and then do a PBGetFCBInfoSync on the result, and if it gets an error it will refuse 34257 to initialize. 34258 34259 * Plugins.subproj/WebNetscapePluginPackage.m: (+[WebNetscapePluginPackage initialize]): 34260 Supply a bogus CurApRefNum. Do it only if CurApRefNum is -1, so we don't screw things 34261 up if we are used in a Carbon application. 34262 342632002-12-17 Darin Adler <darin@apple.com> 34264 34265 Reviewed by Trey. 34266 34267 * WebKit.pbproj/project.pbxproj: Remove signature. 34268 * WebView.subproj/WebController.m: Turn off inlining so we can build even on the 34269 compiler that warns about static data in inline functions. 34270 342712002-12-17 John Sullivan <sullivan@apple.com> 34272 34273 - fixed 2895826 -- ICON: Need a "no plug-in" icon 34274 34275 * Resources/nullplugin.tiff: 34276 new plug-in icon. Blue 3-D lego with question marks. 34277 342782002-12-17 Richard Williamson <rjw@apple.com> 34279 34280 Added support for Aki's 20% boost to line height. This is 34281 done with a horrible hack and should be removed when 3129490 34282 is fixed. 34283 34284 Reviewed by hyatt. 34285 34286 * WebCoreSupport.subproj/WebTextRenderer.m: 34287 34288=== Alexander-39 === 34289 34290=== Alexander-38 === 34291 342922002-12-17 Richard Williamson <rjw@apple.com> 34293 34294 Fixed 3127932. Added WebFrameLoadTypeReloadAllowingStaleData to cases that do not 34295 get cached in the b/f cache. 34296 34297 Reviewed by trey. 34298 34299 * WebView.subproj/WebFramePrivate.m: 34300 (-[WebFrame _setState:]): 34301 343022002-12-17 Richard Williamson <rjw@apple.com> 34303 34304 Fixed 3128794. Use CG directy to get font metrics rather than the appkit. The appkit 34305 has a bug (3129490) that sometimes causes line height to be 20% too large. 34306 34307 Reviewed by hyatt. 34308 34309 * WebCoreSupport.subproj/WebTextRenderer.m: 34310 (-[WebTextRenderer initWithFont:]): 34311 (-[WebTextRenderer ascent]): 34312 (-[WebTextRenderer descent]): 34313 (-[WebTextRenderer lineSpacing]): 34314 343152002-12-17 Trey Matteson <trey@apple.com> 34316 34317 Reworking the code to update the page icon led me to roll the WebIconDB API 34318 for URL to NSString. In addition, the vestigial "Site" was removed. 34319 34320 Everything below is renaming, except where noted. 34321 34322 Reviewed by Darin 34323 34324 * English.lproj/StringsNotToBeLocalized.txt: 34325 * History.subproj/WebHistoryItem.m: 34326 (-[WebHistoryItem _retainIconInDatabase:]): 34327 (-[WebHistoryItem icon]): 34328 * Misc.subproj/WebIconDatabase.h: 34329 * Misc.subproj/WebIconDatabase.m: 34330 (-[WebIconDatabase init]): 34331 (-[WebIconDatabase iconForURL:withSize:cache:]): Use _web_isFileURL. 34332 (-[WebIconDatabase iconForURL:withSize:]): 34333 (-[WebIconDatabase retainIconForURL:]): 34334 (-[WebIconDatabase releaseIconForURL:]): 34335 (-[WebIconDatabase _iconDictionariesAreGood]): 34336 (-[WebIconDatabase _loadIconDictionaries]): 34337 (-[WebIconDatabase _updateFileDatabase]): 34338 (-[WebIconDatabase _iconForFileURL:withSize:]): Cons up a NSURL to get the path. 34339 Test explicitly for .htm and .html suffixes. 34340 (-[WebIconDatabase _setIcon:forIconURL:]): 34341 (-[WebIconDatabase _setIconURL:forURL:]): 34342 (-[WebIconDatabase _releaseIconForIconURLString:]): 34343 (-[WebIconDatabase _retainFutureIconForURL:]): 34344 (-[WebIconDatabase _releaseFutureIconForURL:]): 34345 (-[WebIconDatabase _sendNotificationForURL:]): 34346 * Misc.subproj/WebIconDatabasePrivate.h: 34347 * Misc.subproj/WebIconLoader.m: 34348 (-[WebIconLoader handleDidFinishLoading:]): 34349 * WebKit.exp: 34350 * WebView.subproj/WebDataSourcePrivate.m: 34351 (-[WebDataSource _updateIconDatabaseWithURL:]): 34352 (-[WebDataSource _loadIcon]): 34353 343542002-12-17 Chris Blumenberg <cblu@apple.com> 34355 34356 Fixed: 3113073 - link on http://studio.adobe.com/explore/ redirects to not found page in Alex 34357 34358 Reviewed by darin. 34359 34360 * Misc.subproj/WebNSPasteboardExtras.m: 34361 (-[NSPasteboard _web_bestURL]): don't trim whitespace because _web_URLWithString does this for us 34362 * Plugins.subproj/WebBaseNetscapePluginView.m: 34363 (-[WebBaseNetscapePluginView pluginURLFromCString:]): tweak 34364 343652002-12-17 John Sullivan <sullivan@apple.com> 34366 34367 - to help with performance of various bookmark operations, 34368 added a call that returns the internal array of children, 34369 to complement the safer call that returns a copy. 34370 34371 Reviewed by Darin 34372 34373 * Bookmarks.subproj/WebBookmark.h: 34374 commented -children and new -rawChildren 34375 * Bookmarks.subproj/WebBookmark.m: 34376 (-[WebBookmark rawChildren]): 34377 new method, returns nil at this level. 34378 (-[WebBookmark contentMatches:]): 34379 use -rawChildren instead of -children 34380 34381 * Bookmarks.subproj/WebBookmarkList.m: 34382 (-[WebBookmarkList rawChildren]): 34383 new method, returns internal array without copying 34384 343852002-12-16 Darin Adler <darin@apple.com> 34386 34387 Reviewed by Don and Maciej. 34388 34389 * WebView.subproj/WebUserAgentSpoofTable.gperf: Added a couple of new domains to the list we 34390 spoof as Mac IE, and added comments. 34391 * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated. 34392 34393 * WebKit.pbproj/project.pbxproj: Set MACOSX_DEPLOYMENT_TARGET to 10.2 34394 343952002-12-16 Chris Blumenberg <cblu@apple.com> 34396 34397 Fixed: 3129503 - Crash cancelling download after closing browser window that started download 34398 34399 Reviewed by rjw. 34400 34401 * WebView.subproj/WebDataSourcePrivate.m: 34402 (-[WebDataSource _setLoading:]): Added comment about our tragic dependence on a non-retained reference to the controller. 34403 (-[WebDataSource _recursiveStopLoading]): Call webFrame before calling _stopLoading because we release the controller in _stopLoading and we depend on it in webFrame. 34404 34405=== Alexander-37 === 34406 344072002-12-16 Maciej Stachowiak <mjs@apple.com> 34408 34409 Reviewed by no one but it's just a version bump. 34410 34411 * WebKit.pbproj/project.pbxproj: Bump version to 37u3 34412 344132002-12-16 Darin Adler <darin@apple.com> 34414 34415 Reviewed by Maciej. 34416 34417 - fixed 3128858 -- Supply Finder bits for decoded BinHex files 34418 34419 * Downloads.subproj/WebBinHexDecoder.h: Add a _finderFlags field. 34420 * Downloads.subproj/WebBinHexDecoder.m: 34421 (-[WebBinHexDecoder decodeHeader]): Decode Finder flags. 34422 (-[WebBinHexDecoder fileAttributes]): Put Finder flags in dictionary. 34423 34424 * Downloads.subproj/WebMacBinaryDecoder.m: Tweaked things for no good reason. 34425 (It is good to always import your own header first as a check that it's self-sufficient). 34426 34427 * WebKit.pbproj/project.pbxproj: Let Electron wipe the slate clean of pre-Electron iniquity. 34428 344292002-12-15 Chris Blumenberg <cblu@apple.com> 34430 Fixed: 3094928 - Apply Finder bits to decoded downloads 34431 34432 Reviewed by darin. 34433 34434 * Downloads.subproj/WebDownloadHandler.m: 34435 (-[WebDownloadHandler createFileIfNecessary]): call _web_createFileAtPath:contents:attributes: so we set Finder bits 34436 * Downloads.subproj/WebMacBinaryDecoder.h: 34437 * Downloads.subproj/WebMacBinaryDecoder.m: 34438 (-[WebMacBinaryDecoder decodeData:dataForkData:resourceForkData:]): save Finder bits 34439 (-[WebMacBinaryDecoder fileAttributes]): return Finder bits 34440 34441=== WebKit-37u2 === 34442 344432002-12-15 Maciej Stachowiak <mjs@apple.com> 34444 34445 Reviewed by Darin. 34446 34447 - fixed likely B&I build problem. 34448 34449 * WebKit.pbproj/project.pbxproj: Get at other frameworks in B&I 34450 build. Bump version to 37u2. 34451 344522002-12-15 Darin Adler <darin@apple.com> 34453 34454 Reviewed by Dave. 34455 34456 - implemented user-agent spoofing as described in bug 3044569 34457 34458 * WebView.subproj/WebController.m: (-[WebController userAgentForURL:]): 34459 Find the suffix of the host name that contains exactly one dot, lower-case it, 34460 and look it up in the user-agent spoof table. For now, anything in the table 34461 pretends to be MacIE. Don't fret that this table is simple. We will complicate it 34462 as needed. The technique is flexible, even though it may not look it now. 34463 34464 * WebView.subproj/WebControllerPrivate.h: Add userAgentWhenPretendingToBeMacIE field. 34465 * WebView.subproj/WebControllerPrivate.m: 34466 (-[WebControllerPrivate dealloc]): Release userAgentWhenPretendingToBeMacIE. 34467 (-[WebController _defaultsDidChange]): Release and nil userAgentWhenPretendingToBeMacIE. 34468 34469 * Makefile.am: Added rules to build WebUserAgentSpoofTable.c using gperf. 34470 * WebView.subproj/WebUserAgentSpoofTable.c: Added. Generated file. 34471 * WebView.subproj/WebUserAgentSpoofTable.gperf: Added. Table 34472 34473 * English.lproj/StringsNotToBeLocalized.txt: Update for above changes. 34474 34475 - fixed a crash I saw in a simplistic way 34476 34477 * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _elementAtPoint:]): 34478 Don't assert if the webFrame is nil, just return a partial dictionary. 34479 344802002-12-15 Darin Adler <darin@apple.com> 34481 34482 Reviewed by Trey. 34483 34484 - fixed 3128260 -- REGRESSION: context menus in frames are always the generic page menu 34485 34486 * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView hitTest:]): 34487 Check the control key in the mouse down event. If it's down, then do no magic. 34488 344892002-12-15 Darin Adler <darin@apple.com> 34490 34491 Reviewed by Dave. 34492 34493 - fixed 3128651 -- REGRESSION: Mouse wheeling is busted on frames pages 34494 34495 * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView hitTest:]): 34496 Only do the hitTest magic for left mouse downs; the rest of the clicks end up going 34497 to the correct view anyway, without our help. This makes this stop making trouble for 34498 the scroll wheel events. 34499 345002002-12-14 Don Melton <gramps@apple.com> 34501 34502 Fixed 3127173 -- REGRESSION: fboweb.com renders incorrectly 34503 34504 Reviewed by darin 34505 34506 * English.lproj/StringsNotToBeLocalized.txt: 34507 * WebView.subproj/WebController.m: 34508 (-[WebController userAgentForURL:]): 34509 34510 Changed "PPC" in our user agent string to "PPC Mac OS X" in order to 34511 match Mozilla and make the silly server-side user agent string checking 34512 work at fboweb.com. Actually, just "PPC " would work fine at 34513 fboweb.com. Go figure. 34514 345152002-12-13 Darin Adler <darin@apple.com> 34516 34517 Reviewed by Don. 34518 34519 * WebView.subproj/WebController.m: (-[WebController userAgentForURL:]): 34520 Add "(like Gecko)" string and change "WebKit" to "AppleWebKit". 34521 34522 * English.lproj/StringsNotToBeLocalized.txt: Update for these changes. 34523 * Misc.subproj/WebUnicode.h: No need for & 0xFF since we cast to unsigned char. 34524 345252002-12-13 John Sullivan <sullivan@apple.com> 34526 34527 - WebKit part of fix for 3028061 -- visiting a bookmarked site 34528 that now has a site icon will not update bookmark's icon 34529 34530 No longer store the icon in the WebHistoryItem, since there's no 34531 mechanism for keeping it fresh and telling interested clients 34532 when it changes. Instead, the latest icon is always returned from 34533 the icon database, and it's up to clients to get a fresh one when 34534 they notice that the icon for a URL has been updated. 34535 34536 Reviewed by Darin 34537 34538 * History.subproj/WebHistoryItem.h: 34539 remove _icon and _loadedIcon ivars 34540 34541 * History.subproj/WebHistoryItem.m: 34542 (-[WebHistoryItem dealloc]): 34543 don't release _icon 34544 (-[WebHistoryItem icon]): 34545 just return fresh icon from database, don't store 34546 (-[WebHistoryItem setURL:]): 34547 don't set _loadedIcon to NO 34548 34549=== Alexander-37u1 === 34550 345512002-12-13 Darin Adler <darin@apple.com> 34552 34553 Reviewed by Maciej. 34554 34555 * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 34556 345572002-12-13 Trey Matteson <trey@apple.com> 34558 34559 3108976 - assert _private provisionalItem in -[WebFrame(WebPrivate) _transitionToCommitted 34560 3108865 - frames not maintained going back at directory.apple.com 34561 34562 Both bugs are fixed by the same small change. We no longer try to inherit loadType 34563 across redirects. Instead we just make sure the right thing happens in _transitionToCommitted: 34564 for redirects in the loadType=Standard case. 34565 34566 3122721 - History stores both original and redirected sites 34567 34568 Easy fix while in the neighborhood. We just don't add to History when doing a redirect. 34569 34570 Reviewed by rjw 34571 34572 * WebView.subproj/WebFramePrivate.m: 34573 (-[WebFrame _transitionToCommitted:]): On redirect, update the URL of the frame's current 34574 item, not the current item in the b/f list. Also do not add to history on redirect. 34575 (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Cut out funny business 34576 that tried to guess when to inherit loadtype across redirects. 34577 345782002-12-13 Richard Williamson <rjw@apple.com> 34579 34580 Fixed 3127225. Scale page cache based on available memory. 34581 Also added support for setting WebCore object cache size via 34582 a preference. 34583 Fixed 3126267. Increase CG glyph cache size if font smoothing 34584 is turned on. 34585 34586 Reviewed by gramps. 34587 34588 * History.subproj/WebBackForwardList.m: 34589 (+[WebBackForwardList pageCacheSize]): 34590 * Misc.subproj/WebKitLogging.h: 34591 * Misc.subproj/WebKitLogging.m: 34592 * WebCoreSupport.subproj/WebBridge.m: 34593 (-[WebBridge getObjectCacheSize]): 34594 * WebCoreSupport.subproj/WebTextRendererFactory.m: 34595 (getAppDefaultValue): 34596 (getUserDefaultValue): 34597 (getLCDScaleParameters): 34598 * WebView.subproj/WebPreferences.m: 34599 (+[WebPreferences load]): 34600 (-[WebPreferences _pageCacheSize]): 34601 (-[WebPreferences _objectCacheSize]): 34602 * WebView.subproj/WebPreferencesPrivate.h: 34603 346042002-12-13 Chris Blumenberg <cblu@apple.com> 34605 34606 Fixed: 3105486 - c|net news.com site seems to have lost its favicon again 34607 34608 Reviewed by darin. 34609 34610 * Misc.subproj/WebIconDatabase.m: 34611 (-[WebIconDatabase _updateFileDatabase]): Only save icons with a size of 16 x 16 since that's the only size we use. 34612 346132002-12-13 Chris Blumenberg <cblu@apple.com> 34614 34615 Catch NULL status strings passed to NPN_Status. 34616 Reviewed by darin. 34617 34618 * Plugins.subproj/WebBaseNetscapePluginView.m: 34619 (-[WebBaseNetscapePluginView status:]): check the incoming string before calling [NSString stringWithCString] 34620 346212002-12-12 Trey Matteson <trey@apple.com> 34622 34623 3117101 - PLT slows down as history fills up 34624 34625 I saw a 3% sloth effect from a huge (100k) history. This change cut that cost in half. 34626 I think we still have a marginally measurable cost for our worst practical case. 34627 34628 Reviewed by rjw 34629 34630 * History.subproj/WebHistoryPrivate.m: 34631 (-[WebHistoryPrivate insertEntry:atDateIndex:]): Comment. 34632 (-[WebHistoryPrivate removeEntryForURLString:]): Use removeIdentical 34633 instead of remove, since we don't need to do all the equals comparisons. 34634 346352002-12-12 Richard Williamson <rjw@apple.com> 34636 34637 Changes to fix 3116584. 34638 Reviewed by hyatt. 34639 34640 Changes to support emptying the page cache from the 34641 "Empty Cache" menu. 34642 Reviewed by trey. 34643 34644 * ChangeLog: 34645 * History.subproj/WebBackForwardList.h: 34646 * History.subproj/WebBackForwardList.m: 34647 (-[WebBackForwardList clearPageCache]): 34648 * History.subproj/WebHistoryItem.m: 34649 (+[WebHistoryItem _scheduleReleaseTimer]): 34650 (-[WebHistoryItem _scheduleRelease]): 34651 (+[WebHistoryItem _releasePageCache:]): 34652 (-[WebHistoryItem setHasPageCache:]): 34653 * WebCoreSupport.subproj/WebTextRenderer.m: 34654 * WebView.subproj/WebFramePrivate.m: 34655 (-[WebFrame _opened]): 34656 346572002-12-12 Richard Williamson <rjw@apple.com> 34658 34659 Fixed 3119693. Restore scroll position when going back 34660 to item in b/f cache. 34661 34662 Reviewed by trey. 34663 34664 * WebView.subproj/WebFramePrivate.m: 34665 (-[WebFrame _opened]): 34666 34667=== Alexander-36 === 34668 346692002-12-12 Richard Williamson <rjw@apple.com> 34670 34671 Change relating to 3083287. This doesn't fix the problem but 34672 flips the geometry calcs to get most incremental images to draw 34673 correctly. .mac now slideshows draw with the incorrect sliding 34674 behavior while loading. 34675 34676 3083287 has been moved to 0.9/1. 34677 34678 Reviewed by darin. 34679 34680 * WebCoreSupport.subproj/WebImageRenderer.m: 34681 (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): 34682 (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): 34683 346842002-12-12 Trey Matteson <trey@apple.com> 34685 34686 Fixed 3094525 - Need to use SPI to fix flipped drag image problem 34687 34688 We call the new SPI. I also had to rework the dissolve steps to get it 34689 to non flip the image in Panther in millions (but leave the old code for 34690 the Jaguar case). 34691 34692 Reviewed by cblu 34693 34694 * Misc.subproj/WebNSImageExtras.m: 34695 (+[NSImage load]): Call the SPI. 34696 (-[NSImage _web_dissolveToFraction:]): Add new way of building the image for Panther. 34697 346982002-12-12 Darin Adler <darin@apple.com> 34699 34700 Reviewed by Maciej. 34701 34702 - fixed most likely cause of 3125565 -- 2% regression running the PLT for uncached loads 34703 34704 Don't recompute the user agent when it doesn't change. It almost never changes. 34705 34706 * WebView.subproj/WebController.m: 34707 (-[WebController initWithView:controllerSetName:]): Add observer so we know when defaults change. 34708 (-[WebController dealloc]): Remove observer. 34709 (-[WebController setApplicationNameForUserAgent:]): Clear out computed user agent to force it 34710 to be recomputed later. 34711 (-[WebController applicationNameForUserAgent]): Just retain since we copied when we stored it 34712 so we know it's not mutable. 34713 (-[WebController customUserAgent]): Ditto. 34714 (-[WebController userAgentForURL:]): Use the cached user agent if it's good. Otherwise compute 34715 and cache the user agent string. This means that we will almost never recompute it. 34716 34717 * WebView.subproj/WebControllerPrivate.h: Add userAgent field to cache in. 34718 * WebView.subproj/WebControllerPrivate.m: 34719 (-[WebControllerPrivate dealloc]): Release userAgent. 34720 (-[WebController _defaultsDidChange]): Release and nil userAgent. 34721 347222002-12-12 Darin Adler <darin@apple.com> 34723 34724 Reviewed by Maciej. 34725 34726 - fixed 3125504 -- REGRESSION: Selection not working correctly for text area on http://glish.com/css/7.asp 34727 34728 The problem is that the text area lost its first responder status because WebHTMLView took the click, 34729 and NSWindow wanted WebHTMLView to become first responder too. 34730 34731 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView acceptsFirstResponder]): 34732 Don't allow the NSWindow to make this the first responder during the early part of mouseDown event 34733 handling. But do allow anyone else to make this the first responder, for example from keyboard events, 34734 or from calls back from WebCore once we begin mouse-down event handling. 34735 347362002-12-12 Darin Adler <darin@apple.com> 34737 34738 Reviewed by Maciej and Richard. 34739 34740 - fixed reentrancy crash I ran into while debugging infinite recursion bugs 34741 34742 * WebView.subproj/WebHTMLViewPrivate.m: 34743 (-[WebHTMLView _updateMouseoverWithFakeEvent]): Added. Does part of what _frameOrBoundsChanged did. 34744 (-[WebHTMLView _frameOrBoundsChanged]): Schedule the mouseover update to happen soon, rather than 34745 doing it right away. If we do it right away, we might reenter because sending a mouse moved event 34746 can result in another layout since mouse moved events are the same as mouse dragged events in KHTML. 34747 * WebView.subproj/WebHTMLView.m: 34748 (-[WebHTMLView viewWillMoveToWindow:]): Cancel the scheduled mouseover update. 34749 34750 * WebKit.pbproj/project.pbxproj: Electron uber alles. 34751 347522002-12-12 Richard Williamson <rjw@apple.com> 34753 34754 Fixed 3125585. One click crasher option clicking on 34755 any link. Added additional check to curtail overly 34756 zealous ASSERT. 34757 34758 Reviewed by mjs. 34759 34760 * WebView.subproj/WebControllerPrivate.m: 34761 (-[WebController _mainReceivedError:fromDataSource:complete:]): 34762 347632002-12-11 Richard Williamson <rjw@apple.com> 34764 34765 Fixed 3125425. Just call super if view isn't in view heirarchy, 34766 rather than asserting. The assert was firing because NSText 34767 was trying to perform a background layout on an item view that 34768 was moved to the page cache. 34769 34770 Reviewed by gramps. 34771 34772 * WebCoreSupport.subproj/WebImageRenderer.m: 34773 (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): 34774 (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): 34775 * WebView.subproj/WebHTMLView.m: 34776 (-[WebHTMLView visibleRect]): 34777 347782002-12-11 Richard Williamson <rjw@apple.com> 34779 34780 Fixed 3124121, 3124716 (and other dupes). Regressions related to b/f crash. 34781 34782 Reviewed by hyatt. 34783 34784 * ChangeLog: 34785 * History.subproj/WebHistoryItem.m: 34786 (-[WebHistoryItem _scheduleRelease]): 34787 * WebCoreSupport.subproj/WebBridge.m: 34788 (-[WebBridge saveDocumentToPageCache:]): 34789 * WebCoreSupport.subproj/WebImageRenderer.m: 34790 (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): 34791 (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): 34792 * WebView.subproj/WebFramePrivate.m: 34793 (-[WebFrame _setState:]): 34794 347952002-12-11 Richard Williamson <rjw@apple.com> 34796 34797 Fixed 3123375. Provide SPI to release all pending page caches 34798 34799 Reviewed by kocienda. 34800 34801 * History.subproj/WebBackForwardList.m: 34802 * History.subproj/WebHistoryItem.h: 34803 * History.subproj/WebHistoryItem.m: 34804 * History.subproj/WebHistoryItemPrivate.h: Added. 34805 * WebCoreSupport.subproj/WebBridge.m: 34806 * WebKit.pbproj/project.pbxproj: 34807 * WebView.subproj/WebFramePrivate.m: 34808 348092002-12-11 Darin Adler <darin@apple.com> 34810 34811 Reviewed by Richard. 34812 34813 - fixed 3124837 -- Crash trying to handle weird javascript URL in page address field 34814 34815 * Plugins.subproj/WebBaseNetscapePluginView.m: 34816 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): 34817 Use the new _web_scriptIfJavaScriptURL to simplify the check for JavaScript URLs, 34818 and to use a more tolerant unescaper. 34819 34820 * English.lproj/StringsNotToBeLocalized.txt: Updated. 34821 348222002-12-11 Darin Adler <darin@apple.com> 34823 34824 Reviewed by John. 34825 34826 - turned on the mechanism that passes events through WebCore, now that it's working better 34827 34828 * WebView.subproj/WebHTMLViewPrivate.m: 34829 (-[WebHTMLView hitTest:]): Moved this function in here. Rewrote it. It has a new feature where 34830 you can set a global and do a normal hit test, needed for the mouse-moved handling below. Also, 34831 for efficiency, it does the actual hit testing of itself, rather than calling super, which recurses, 34832 and ignoring the result. The sum total is that it always returns self for mouse-moved events, so 34833 we pass them all over the bridge at the topmost frame. 34834 34835 (-[WebHTMLView _updateMouseoverWithEvent:]): 34836 * WebView.subproj/WebHTMLView.m: Moved hitTest: out of here. 34837 348382002-12-11 John Sullivan <sullivan@apple.com> 34839 34840 - fixed 3124640 -- Crash importing IE Favorites if there 34841 are no IE favorites 34842 34843 Reviewed by Darin 34844 34845 * Bookmarks.subproj/WebBookmarkImporter.m: 34846 (-[WebBookmarkImporter initWithPath:]): 34847 use alloc/init instead of autoreleasing constructor for error since 34848 it's kept around until dealloc. 34849 348502002-12-11 Darin Adler <darin@apple.com> 34851 34852 Reviewed by John. 34853 34854 - fixed 3117611 -- REGRESSION: exception in mouseoverTextForElement with accented characters in status 34855 34856 * WebView.subproj/WebHTMLViewPrivate.m: 34857 (-[NSMutableDictionary _web_setObjectIfNotNil:forKey:]): 34858 Remove the object from the dictionary rather than just leaving the dictionary alone if it's nil. 34859 This is needed since we now are reusing an already-existing dictionary. 34860 34861 * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 34862 348632002-12-11 Chris Blumenberg <cblu@apple.com> 34864 34865 Fixed: 3118430 - crash / loop trying to copy url of link to clipboard 34866 Fixed: 3122585 - REGRESSION: dragging links to the desktop or a Finder window does not do anything 34867 34868 Reviewed by john. 34869 34870 We were reusing the drag types from the previous drag pasteboard. For example, we would declare image types when dragging URLs. This would confuse the Finder, so location files weren't being created. This would occasional cause us to crash because we wer 34871 34872 34873 34874 34875 34876 34877 34878 34879 34880en't providing the declared data. 34881 34882 * Misc.subproj/WebNSPasteboardExtras.h: 34883 * Misc.subproj/WebNSPasteboardExtras.m: 34884 (+[NSPasteboard _web_dragTypesForURL]): Added more types that we handle 34885 (-[NSPasteboard _web_writeURL:andTitle:withOwner:declareTypes:]): declares the provided types, writes URL and title 34886 (-[NSPasteboard _web_writeURL:andTitle:withOwner:]): call _web_writeURL:andTitle:withOwner:types: with _web_dragTypesForURL 34887 * Misc.subproj/WebNSViewExtras.h: 34888 * Misc.subproj/WebNSViewExtras.m: 34889 (-[NSView _web_dragPromisedImage:origin:URL:fileType:title:event:]): call _web_writeURL:andTitle:withOwner: types: plus images types 34890 348912002-12-10 Trey Matteson <trey@apple.com> 34892 34893 3092966 - going back goes to different page (can't go back to a POST page) 34894 3123450 - if the user refuses a navigation, the b/f menus is wrong 34895 34896 We will rePOST data upon back/forward/refresh if our caches fail us. The policy delegate 34897 gets a crack at confirming this operation. Latent bugs where the policy delegate was double 34898 queried are fixed. A bug in the b/f cursor when a page failed to load is fixed. 34899 34900 Reviewed by Maciej. 34901 34902 * English.lproj/StringsNotToBeLocalized.txt: Usual suspects. 34903 * History.subproj/WebHistoryItem.h: Add state for reposting forms. 34904 * History.subproj/WebHistoryItem.m: Boilerplate changes for new state. 34905 (-[WebHistoryItem dealloc]): 34906 (-[WebHistoryItem setFormData:]): 34907 (-[WebHistoryItem setFormContentType:]): 34908 (-[WebHistoryItem formData]): 34909 (-[WebHistoryItem formContentType]): 34910 (-[WebHistoryItem description]): 34911 * WebView.subproj/WebController.m: 34912 (-[WebController _goToItem:withLoadType:]): Tighten up an assert as I clarified an 34913 assumption as I worked through this task. 34914 * WebView.subproj/WebControllerPolicyDelegate.h: New WebNavigationType's for back/forward, 34915 refresh, and repost. 34916 * WebView.subproj/WebFrame.m: 34917 (-[WebFrame loadRequest:]): Eliminate extra copy of a request. 34918 (-[WebFrame reload]): Eliminate extra copy of a request. Setup triggeringAction properly 34919 if we're about to rePOST. 34920 * WebView.subproj/WebFramePrivate.h: Started moving some private methods into the .m file. 34921 * WebView.subproj/WebFramePrivate.m: 34922 (-[WebFrame _createItem]): Save form state with history items. 34923 (-[WebFrame _isLoadComplete]): Fix up b/f cursor on page error before commit succeeds. 34924 (-[WebFrame _loadItem:fromItem:withLoadType:]): Set up request to rePOST if that's what the 34925 HistoryItem demands. Add call to _addExtraFieldsToRequest so we don't do a double 34926 query of the policy delegate. Pre-flight the form post vs. WF cache to setup triggering 34927 action properly. 34928 (-[WebFrame _actionInformationForLoadType:isFormSubmission:event:originalURL:]): 34929 New utility method to help build action dict. 34930 (-[WebFrame _continueAfterNavigationPolicy:]): Comment only. 34931 (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Call new utility method 34932 instead (just code factoring). 34933 (-[WebFrame _postWithURL:data:contentType:triggeringEvent:]): Call new utility method 34934 instead (just code factoring). Add call to _addExtraFieldsToRequest so we don't do a double 34935 query of the policy delegate. 34936 (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]): Whitespace only. 34937 (-[WebFrame _resetBackForwardListToCurrent]): Utility routine to fix up b/f cursor on page error. 34938 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]): Fix up b/f cursor on page 34939 error before commit succeeds. 34940 349412002-12-10 Darin Adler <darin@apple.com> 34942 34943 Reviewed by Maciej. 34944 34945 - fixed 3124302 -- REGRESSION: Can't use directory.apple.com because 34946 frame resize bar intercepts mouse clicks 34947 34948 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView hitTest:]): 34949 Don't steal clicks for views that are inside nested WebViews. 34950 This isn't the real fix, but it's good enough for now. The real fix will be in WebCore. 34951 349522002-12-10 Darin Adler <darin@apple.com> 34953 34954 - fixed fix for 3124081 -- REGRESSION: partial progress is left in address field after download 34955 34956 Reviewed by Chris. 34957 34958 Need to move it down one line so the data source is clear before callback. 34959 34960 * WebView.subproj/WebMainResourceClient.m: 34961 (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]): 34962 Do the _clearProvisionalDataSource before the locationChangeDone: callback. 34963 349642002-12-10 John Sullivan <sullivan@apple.com> 34965 34966 Fixed more "Alexander"s that were lurking in places I forgot 34967 to look before. 34968 34969 Reviewed by Darin 34970 34971 * Makefile.am: 34972 "rm -rf $(SYMROOTS)/Safari.app/Frameworks/WebKit.framework" 34973 349742002-12-10 Darin Adler <darin@apple.com> 34975 34976 - fixed 3124081 -- REGRESSION: partial progress is left in address field after download 34977 34978 Reviewed by Chris. 34979 34980 * WebView.subproj/WebMainResourceClient.m: 34981 (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]): 34982 Put in code to call the locationChangeDone: method on the location change delegate if 34983 keepLoading is YES. Since the data source is not finished loading WebFrame won't do it. 34984 349852002-12-10 Chris Blumenberg <cblu@apple.com> 34986 34987 Fixed: 3124079 - REGRESSION: Downloads never complete 34988 34989 Reviewed by darin. 34990 34991 * WebView.subproj/WebMainResourceClient.m: 34992 (-[WebMainResourceClient handleDidFinishLoading:]): release and set to nil the download handler after calling [super handleDidFinishLoading:h] 34993 349942002-12-10 Richard Williamson <rjw@apple.com> 34995 34996 Fixed 3115427. Page now draws instantly instead of 20 seconds. 34997 I added the substitution font we get from the appkit to the character to glyph 34998 cache. 34999 35000 Fixed early return optimization from letter forming function. It was too 35001 eager to return! 35002 35003 Reviewed by mjs. 35004 35005 * Misc.subproj/WebUnicode.m: 35006 (shapedString): 35007 * WebCoreSupport.subproj/WebTextRenderer.h: 35008 * WebCoreSupport.subproj/WebTextRenderer.m: 35009 (glyphForCharacter): 35010 (glyphForUnicodeCharacter): 35011 (widthForGlyph): 35012 (widthForCharacter): 35013 (_fontContainsString): 35014 (-[WebTextRenderer substituteFontForString:families:]): 35015 (-[WebTextRenderer _computeWidthForSpace]): 35016 (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:fontFamilies:]): 35017 (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]): 35018 (-[WebTextRenderer updateGlyphEntryForCharacter:glyphID:font:]): 35019 (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): 35020 (-[WebTextRenderer extendGlyphToWidthMapToInclude:]): 35021 350222002-12-10 John Sullivan <sullivan@apple.com> 35023 35024 - tweaked the API of WebBookmarkImporter while implementing 35025 real "Import IE Favorites" UI 35026 35027 Reviewed by Ken 35028 35029 * Bookmarks.subproj/WebBookmarkImporter.h: 35030 fixed a typo in a constant 35031 * Bookmarks.subproj/WebBookmarkImporter.m: 35032 (-[WebBookmarkImporter initWithPath:]): 35033 Don't pass a group here. This method now creates the topBookmark 35034 (as it was doing before) but does not attempt to insert it 35035 anywhere. It's up to the client to fetch the topBookmark and do 35036 something with it. Also, don't name the new folder here; leave 35037 that to the caller also. 35038 35039 * English.lproj/Localizable.strings: 35040 kept this file up to date 35041 350422002-12-10 Darin Adler <darin@apple.com> 35043 35044 Reviewed by John. 35045 35046 - fixed 3108912 -- onclick handlers not supported on form elements 35047 35048 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView hitTest:]): 35049 Take over hit testing so that all clicks on subviews are handled by the WebHTMLView. 35050 WebCore now handles getting the mouse events to the subviews after passing 35051 the events through the DOM. 35052 350532002-12-09 Maciej Stachowiak <mjs@apple.com> 35054 35055 Reviewed by Trey. 35056 35057 - fixed 3123057 - SJ: DHTML doesn't always work on http://www.pixar.com/howwedoit/ 35058 * WebView.subproj/WebFramePrivate.m: 35059 (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): 35060 Treat a click on a link to the same URL with an anchor as a scroll 35061 to anchor, not a same URL load. 35062 (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Avoid 35063 adding the same anchor URL to the back/forward list many times. 35064 350652002-12-09 Darin Adler <darin@apple.com> 35066 35067 Reviewed by Maciej. 35068 35069 - fixed 3028664 -- change user agent string to include application name and version 35070 35071 * WebView.subproj/WebController.m: 35072 (-[WebController setApplicationNameForUserAgent:]): Remove locking, unneeded since we changed 35073 how WebFoundation handles user agent. 35074 (-[WebController setCustomUserAgent:]): Ditto. 35075 (-[WebController resetUserAgent]): Ditto. 35076 (-[WebController userAgentForURL:]): Remove locking. Also add new algorithm for computing the 35077 user agent which takes the preferred language into account, and incorporates the WebKit version 35078 and the application name. 35079 35080 * WebView.subproj/WebControllerPrivate.h: No need for a lock. 35081 * WebView.subproj/WebControllerPrivate.m: 35082 (-[WebControllerPrivate init]): Don't create a lock. 35083 (-[WebControllerPrivate dealloc]): Don't release a lock. 35084 35085 * WebKit.pbproj/project.pbxproj: Bump versions to 0.8 and 35u. 35086 * English.lproj/InfoPlist.strings: In here too. 35087 35088 * English.lproj/StringsNotToBeLocalized.txt: Updated for these and other recent changes. 35089 350902002-12-09 Richard Williamson <rjw@apple.com> 35091 35092 Many changes for b/f list. 35093 1. Always attempt to cache snap back items. 35094 2. Lazily release resources from page cache. This garners gains on the PLT (and presumably iBench) tests, both for uncached. 35095 3. Set the page cache size to 4 (+ snap back items). After releasing resources we hover around 28MB footprint. Closing windows releases all resources. 35096 4. Turn on the back/forward cache by default. The menu item still allows you to toggle b/f on and off. Useful when conducting speed comparison in the PLT. 35097 5. Addition of lazy update to PLT memory statistics to show footprint after lazy release of page cache resources. 35098 6. Delayed to leak detector to account for lazy release of resources. 35099 7. A change when saving a page to back/forward cache to clear and restore the documents root renderer. Without this fix pages would appear to 'flicker' more when content arrived. 35100 8. A change to ensure a layout when restoring a page from the b/f cache. Without this fix scrollbars wouldn't appear correctly. 35101 9. A change to ensure that khtmlview layout and paint timers are unscheduled when a page is placed in the b/f cache. 35102 10. A fix to decouple of khtmlview from it's part when placed in the b/f cache. This fixed a crash caused by inappropriate deference of the part when a page cache item was released. 35103 11. A comment in KHTMLPageCache.h explaining the that our page cache is not the same as the khtml page cache. (Their cache just cached the html source.) 35104 12. Reapply styles when loading page from cache. This ensures that visited link get the appropriate style. 35105 35106 Reviewed by kocienda. 35107 35108 * History.subproj/WebBackForwardList.m: 35109 (+[WebBackForwardList pageCacheSize]): 35110 (+[WebBackForwardList setUsesPageCache:]): 35111 (+[WebBackForwardList usesPageCache]): 35112 * History.subproj/WebHistoryItem.h: 35113 * History.subproj/WebHistoryItem.m: 35114 (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]): 35115 (-[WebHistoryItem alwaysAttemptToUsePageCache]): 35116 (+[WebHistoryItem _invalidateReleaseTimer]): 35117 (-[WebHistoryItem _scheduleRelease]): 35118 (+[WebHistoryItem _releaseAllPendingPageCaches]): 35119 (-[WebHistoryItem _releasePageCache:]): 35120 (-[WebHistoryItem setHasPageCache:]): 35121 (-[WebWindowWatcher windowWillClose:]): 35122 * WebView.subproj/WebDataSourcePrivate.h: 35123 * WebView.subproj/WebDataSourcePrivate.m: 35124 (-[WebDataSource _startLoading:]): 35125 (-[WebDataSource _commitIfReady:]): 35126 (-[WebDataSource _loadingFromPageCache]): 35127 * WebView.subproj/WebDynamicScrollBarsView.h: 35128 * WebView.subproj/WebFramePrivate.h: 35129 * WebView.subproj/WebFramePrivate.m: 35130 (-[WebFrame _purgePageCache]): 35131 (+[WebFrame _timeOfLastCompletedLoad]): 35132 (-[WebFrame _setState:]): 35133 (-[WebFrame _opened]): 35134 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]): 35135 * WebView.subproj/WebPreferences.m: 35136 (+[WebPreferences load]): 35137 351382002-12-09 Darin Adler <darin@apple.com> 35139 35140 Reviewed by Chris. 35141 35142 - fixed 3122608 -- REGRESSION: Downloads can't be cancelled 35143 35144 When I fixed the leak for other categories of policy interruption, I messed 35145 things up for downloads. Added new parameters to handle this right. 35146 35147 * WebView.subproj/WebBaseResourceHandleDelegate.h: Remove isDownload flag. 35148 * WebView.subproj/WebBaseResourceHandleDelegate.m: 35149 (-[WebBaseResourceHandleDelegate isDownload]): Return NO, override in subclass. 35150 (-[WebBaseResourceHandleDelegate handle:didReceiveResponse:]): Call isDownload 35151 method instead of looking at flag directly. 35152 35153 * WebView.subproj/WebControllerPrivate.h: Add complete: parameter to _mainReceivedError:. 35154 * WebView.subproj/WebControllerPrivate.m: 35155 (-[WebController _mainReceivedError:fromDataSource:complete:]): If complete is NO, then 35156 don't mark the primary load as complete. 35157 * WebView.subproj/WebMainResourceClient.m: 35158 (-[WebMainResourceClient isDownload]): Added. Returns YES if downloadHandler is non-nil. 35159 (-[WebMainResourceClient receivedError:complete:]): Added complete parameter. Call the 35160 _setPrimaryLoadComplete: method in the download case (fixes a possible leak), and pass 35161 the complete parameter through to the controller. 35162 (-[WebMainResourceClient cancel]): Pass complete:YES. 35163 (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]): Added the keepLoading 35164 flag, and pass complete:!keepLoading. 35165 (-[WebMainResourceClient stopLoadingForPolicyChange]): Pass keepLoading:NO. 35166 (-[WebMainResourceClient continueAfterContentPolicy:response:]): Pass keepLoading:YES, 35167 and remove the call to the now-obsolete setIsDownload:. 35168 (-[WebMainResourceClient handle:didFailLoadingWithError:]): Pass complete:YES. 35169 351702002-12-08 Darin Adler <darin@apple.com> 35171 35172 Reviewed by Don and Dave. 35173 35174 - fixed 3120578 -- REGRESSION: going to about:blank creates null view 35175 35176 This part of the fix makes sure that a renderer is created, even when there are no bytes 35177 of data passed through. This makes the empty document about:blank case work just like the 35178 "document with just whitespace in it case". There's another part of the fix in WebCore that 35179 takes care of the remaining problem. 35180 35181 * WebView.subproj/WebHTMLRepresentation.m: 35182 (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): 35183 Call receivedData:withDataSource: on the bridge with nil for the data. It would be even more 35184 elegant to add a new call for the case where we finish, but it's not necessary, since the 35185 existing receivedData: call does all the right things if passed nil. 35186 35187 * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _finishedLoading]): 35188 Call finishedLoadingWithDataSource: here, to make sure it's done after committing. 35189 This parallels what we already do for the didReceiveData call. 35190 * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handleDidFinishLoading:]): 35191 Remove the call to finishedLoadingWithDataSource: because it's handled by _finishedLoading now. 35192 This parallels what we already do for the didReceiveData call. 35193 35194 - fixed long standing problem where resizing could make you see a "null view" 35195 35196 * WebView.subproj/WebView.m: 35197 (-[WebView drawRect:]): Add a "paint cyan" feature in development builds. 35198 Null view problems are particularly hard to debug without something like this, 35199 and we don't care if development builds are slightly slower. No change in deployment. 35200 (-[WebView setFrameSize:]): Tell the scroll view to draw the background if we are 35201 resized. We can't do our "let the old bits show through" thing any more if we have to 35202 redraw because of resizing. 35203 35204 - other changes 35205 35206 * WebKit.pbproj/project.pbxproj: Remove the old -DAPPLE_CHANGES and -DHAVE_CONFIG_H that we 35207 once needed when WebKit used to compile C++ headers from the KHTML part of WebCore. 35208 We haven't needed those for ages. Also sort things a bit, using the new Electron feature for 35209 sorting lists of files alphabetically, and some by hand. 35210 35211 * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 35212 352132002-12-08 Chris Blumenberg <cblu@apple.com> 35214 35215 Fixed: 3121627 - REGRESSION: partial progress is left in address field after download 35216 35217 Reviewed by: darin 35218 35219 In WebMainResourceClient, make sure to always call receivedError before _clearProvisionalDataSource so that 35220 receivedError works. This is done in multiple places, so I factored this out into one method interuptForPolicyChange. 35221 35222 * WebView.subproj/WebControllerPrivate.m: 35223 (-[WebController _mainReceivedError:fromDataSource:]): added asserts for nil error, dataSource and frame 35224 * WebView.subproj/WebMainResourceClient.m: 35225 (-[WebMainResourceClient interruptForPolicyChange]): renamed from notifyDelegatesOfInterruptionByPolicyChange because it now also sets the provisionalDataSource on the frame to nil. 35226 (-[WebMainResourceClient stopLoadingForPolicyChange]): call interruptForPolicyChange, stop load 35227 (-[WebMainResourceClient continueAfterContentPolicy:response:]): call interruptForPolicyChange 35228 352292002-12-06 Trey Matteson <trey@apple.com> 35230 35231 Clean up some printfs. Use WebKitLogPageCache for page cache info. 35232 35233 Reviewed by: rjw 35234 35235 * WebView.subproj/WebFramePrivate.m: 35236 (-[WebFrame _transitionToCommitted:]): 35237 (-[WebFrame _purgePageCache]): 35238 (-[WebFrame _setState:]): 35239 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]): 35240 352412002-12-06 Trey Matteson <trey@apple.com> 35242 35243 3118584 - implement desired behavior for load - reload - b/f 35244 3119241 - page cache needs to be refreshed after reload 35245 3118096 - isTargetItem:NO saved to disk with every bookmark 35246 35247 The most noticeable changes are the addition of the "Same" loadType, and that reload 35248 does not restore form state. 3119241 was noticed in passing, and is related. 35249 3118096 is a nit with a possible small perf benefit. 35250 35251 Reviewed by: rjw 35252 35253 * History.subproj/WebHistoryItem.h: 35254 * History.subproj/WebHistoryItem.m: 35255 (-[WebHistoryItem dealloc]): New originalURL field. 35256 (-[WebHistoryItem originalURL]): New getter. 35257 (-[WebHistoryItem setOriginalURL:]): New setter. 35258 (-[WebHistoryItem dictionaryRepresentation]): Dont save isTarget. 35259 (-[WebHistoryItem initFromDictionaryRepresentation:]): Dont save isTarget. 35260 * WebView.subproj/WebFrame.m: 35261 (-[WebFrame loadRequest:]): Test for going to same URL, invoke loadTypeSame case. 35262 * WebView.subproj/WebFramePrivate.h: Add loadTypeSame 35263 * WebView.subproj/WebFramePrivate.m: 35264 (-[WebFrame _addBackForwardItemClippedAtTarget:]): Remove a line of dead code. 35265 (-[WebFrame _createItem]): Set originalURL when item is created. 35266 (-[WebFrame _transitionToCommitted:]): For loadTypeSame, clear page cache 35267 (-[WebFrame _purgePageCache]): Added logging. 35268 (-[WebFrame _setState:]): Don't add to page cache if doing a reload. 35269 (-[WebFrame _isLoadComplete]): LoadTypeSame is a NOP. 35270 (-[WebFrame _loadItem:fromItem:withLoadType:]): LoadTypeSame is an ASSERT. 35271 (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): In 35272 the LoadTypeSame case load from origin and never do anchor nav. If asked to load 35273 the same URL, invoke LoadTypeSame case. 35274 (-[WebFrame _loadURL:intoChild:]): Latent bug: WebFrameLoadTypeReloadAllowingStaleData 35275 should restore child frame content like reload does. 35276 (-[WebFrame _itemForRestoringDocState]): Prevent form state restore on reload and loadSame. 35277 (-[WebFrame _shouldTreatURLAsSameAsCurrent:]): New utility function. 35278 352792002-12-06 Maciej Stachowiak <mjs@apple.com> 35280 35281 Reviewed by: Darin Adler 35282 35283 - made framework embedding work correctly with buildit 35284 35285 * WebKit.pbproj/project.pbxproj: Give framework a relative 35286 install path, don't install it the normal way, and copy it 35287 manually to /AppleInternal/Library/Frameworks if installing. Also 35288 look for other frameworks in 35289 ${DSTROOT}/AppleInternal/Library/Frameworks. 35290 352912002-12-05 Darin Adler <darin@apple.com> 35292 35293 Reviewed by Trey. 35294 35295 - fixed 3103691 -- assertion in WebHTMLView addMouseMovedObserver at versiontracker 35296 35297 * WebView.subproj/WebHTMLView.m: 35298 (-[WebHTMLView addMouseMovedObserver]): Instead of asserting, do the checks here to 35299 determine if the observer should be installed. 35300 (-[WebHTMLView viewDidMoveToWindow]): Remove checks, since addMouseMovedObserver now checks. 35301 (-[WebHTMLView windowDidBecomeMain:]): Remove checks, since addMouseMovedObserver now checks. 35302 353032002-12-05 Richard Williamson <rjw@apple.com> 35304 35305 Don't ceil spaces if not a fixed pitch font. This make sites 35306 that have hard coded block widths have less wrapping beyond what the 35307 designer expected. Fixes 3117225. 35308 35309 Reviewed by: mjs 35310 35311 * WebCoreSupport.subproj/WebTextRenderer.h: 35312 * WebCoreSupport.subproj/WebTextRenderer.m: 35313 (widthForGlyph): 35314 (-[WebTextRenderer _computeWidthForSpace]): 35315 (-[WebTextRenderer initWithFont:]): 35316 (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:fontFamilies:]): 35317 353182002-12-05 Chris Blumenberg <cblu@apple.com> 35319 35320 Added WebDocumentText protocol. Made WebHTMLView and WebTextView implement it. 35321 35322 Reviewed by: rjw 35323 35324 * WebView.subproj/WebController.m: 35325 (-[WebController supportsTextEncoding]): check if protocol is WebDocumentText 35326 * WebView.subproj/WebDocument.h: 35327 * WebView.subproj/WebHTMLView.h: 35328 * WebView.subproj/WebHTMLView.m: 35329 (-[WebHTMLView hasSelection]): call selectedString 35330 (-[WebHTMLView takeFindStringFromSelection:]): call selectedString 35331 (-[WebHTMLView selectAll:]): call selectAll 35332 (-[WebHTMLView string]): part of WebDocumentText protocol 35333 (-[WebHTMLView attributedString]): part of WebDocumentText protocol 35334 (-[WebHTMLView selectedString]): part of WebDocumentText protocol 35335 (-[WebHTMLView selectedAttributedString]): part of WebDocumentText protocol 35336 (-[WebHTMLView selectAll]): part of WebDocumentText protocol 35337 (-[WebHTMLView deselectAll]): part of WebDocumentText protocol 35338 * WebView.subproj/WebHTMLViewPrivate.m: 35339 (-[WebHTMLView _writeSelectionToPasteboard:]): call selectedAttributedString 35340 * WebView.subproj/WebTextView.h: 35341 * WebView.subproj/WebTextView.m: 35342 (-[WebTextView string]): part of WebDocumentText protocol 35343 (-[WebTextView attributedString]): part of WebDocumentText protocol 35344 (-[WebTextView selectedString]): part of WebDocumentText protocol 35345 (-[WebTextView selectedAttributedString]): part of WebDocumentText protocol 35346 (-[WebTextView selectAll]): part of WebDocumentText protocol 35347 (-[WebTextView deselectAll]): part of WebDocumentText protocol 35348 353492002-12-05 Darin Adler <darin@apple.com> 35350 35351 Reviewed by Richard. 35352 35353 - fixed 3107240 -- world leak: reproducible, trying to open TIFF file 35354 35355 * WebView.subproj/WebMainResourceClient.m: 35356 (-[WebMainResourceClient notifyDelegatesOfInterruptionByPolicyChange]): 35357 Send error to the delegate using receivedError: rather than directly. 35358 This results in the frame properly stopping the load and fixes the leak. 35359 353602002-12-05 Darin Adler <darin@apple.com> 35361 35362 Reviewed by Chris. 35363 35364 * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler initWithDataSource:]): 35365 Add WebGZipDecoder to the list. 35366 35367 * Downloads.subproj/WebGZipDecoder.h: Finished this. 35368 * Downloads.subproj/WebGZipDecoder.m: Finished this. 35369 35370 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 35371 353722002-12-05 Maciej Stachowiak <mjs@apple.com> 35373 35374 Reviewed by: Darin 35375 35376 * English.lproj/InfoPlist.strings: removed letters from 35377 CFBundleShortVersionString to make buildit happy. 35378 35379=== Alexander-35 === 35380 353812002-12-05 Darin Adler <darin@apple.com> 35382 35383 Reviewed by Ken. 35384 35385 - fixed 3118647 -- REGRESSION: click policy no longer works 35386 35387 * WebView.subproj/WebFramePrivate.m: 35388 (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): 35389 Allow mouse up events too. Those are usually the ones that trigger navigation. 35390 353912002-12-04 Darin Adler <darin@apple.com> 35392 35393 Reviewed by Maciej. 35394 35395 - fixed assert when you choose an item from a menu, for example, and that navigates 35396 35397 * WebView.subproj/WebFramePrivate.m: 35398 (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): 35399 If the event is over some other element, just don't include the element info. 35400 354012002-12-04 Chris Blumenberg <cblu@apple.com> 35402 35403 Fixed: 3116294 - Need "Reload" feature in Downloads window 35404 35405 Reviewed by: rjw 35406 35407 * WebKit.pbproj/project.pbxproj: made WebFramePrivate.h private so that WebBrowser can call _downloadRequest:toPath: 35408 * WebView.subproj/WebFramePrivate.m: 35409 (-[WebFrame _loadDataSource:withLoadType:]): commented out assert that complains about lack of WebView. Long-term solution is to catch this earlier and have a lone datasource download mechanism 3118355. 35410 354112002-12-04 Trey Matteson <trey@apple.com> 35412 35413 3097585 - Crash in -[WebFrame(WebPrivate) _isLoadComplete] at result of google image search 35414 35415 The root of this problem was that we would detach child frames by calling detach 35416 on them all, then clearing the whole array. This would fail because detaching a 35417 frame might have to stop a load, which calls checkLoadComplete, which visits the 35418 entire frame tree. But if a previously detached child is still sitting in that 35419 tree, we end up with an assertion failure. The solution is to remove the kids as 35420 they are detached. 35421 35422 Reviewed by: Darin Adler 35423 35424 * WebView.subproj/WebFramePrivate.m: 35425 (-[WebFrame _createItem]): Method rename (a nit I missed from an earlier change) 35426 (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]): Method rename 35427 (-[WebFrame _detachChildren]): new method to do detaching right 35428 (-[WebFrame _detachFromParent]): call new method 35429 (-[WebFrame _setDataSource:]): call new method 35430 (-[WebFrame _transitionToCommitted:]): Method rename 35431 354322002-12-04 Darin Adler <darin@apple.com> 35433 35434 Reviewed by Trey and Maciej. 35435 35436 - fixed 3117558 -- Assertion failure in KWQKHTMLPart::slotData after typing "amazon.com" twice 35437 - update NSEvent handling in preparation for NSView mouse event handling going through WebCore 35438 35439 * WebView.subproj/WebFramePrivate.m: 35440 (-[WebFrame _loadItem:fromItem:withLoadType:]): Added FIXME comments about matching the _loadURL 35441 case more closely. 35442 (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): Only use the event if it's 35443 a mouse down event. This prevents trouble when we have other kinds of events coming through. 35444 (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Call the new scrollToAnchorWithURL: 35445 instead of openURL:. This fixes the assertion failure in the bug above. 35446 (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Update checks here to more closely 35447 match the ones in KHTMLPart::openURL that we are replacing. Add more comments. 35448 35449 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView hitTest:]): Function to intercept all clicks at the 35450 WebHTMLView level, disabled for now because we are not yet ready. 35451 35452 - started a gzip download decoder, not yet hooked up 35453 35454 * Downloads.subproj/WebGZipDecoder.h: Added. 35455 * Downloads.subproj/WebGZipDecoder.m: Added. 35456 * WebKit.pbproj/project.pbxproj: Add WebGZipDecoder and zlib. 35457 35458 - other changes 35459 35460 * Panels.subproj/WebAuthenticationPanel.m: Fixed screwed-up indentation. 35461 354622002-12-04 Richard Williamson <rjw@apple.com> 35463 35464 Cache the fallback font in the same way we cache other 35465 fonts. 35466 35467 Reviewed by: Darin 35468 35469 * WebCoreSupport.subproj/WebTextRendererFactory.h: 35470 * WebCoreSupport.subproj/WebTextRendererFactory.m: 35471 (-[WebTextRendererFactory fallbackFontWithTraits:size:]): 35472 (-[WebTextRendererFactory fontWithFamilies:traits:size:]): 35473 (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]): 35474 354752002-12-04 Richard Williamson <rjw@apple.com> 35476 35477 Fixed massive performance regression. 35478 We were leaking WebFontCacheKey. 35479 Added a cache of missing fonts to avoid 35480 expensive appkit lookup. 35481 35482 Reviewed by: Maciej 35483 35484 * WebCoreSupport.subproj/WebTextRendererFactory.m: 35485 (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]): 35486 (-[WebTextRendererFactory cachedFontFromFamilies:traits:size:]): 35487 354882002-12-03 Darin Adler <darin@apple.com> 35489 35490 - fixed 3117193 -- REGRESSION: Hang on Hixie's weblog 35491 35492 Reviewed by Maciej. 35493 35494 * WebCoreSupport.subproj/WebTextRenderer.m: 35495 (-[WebTextRenderer substituteFontForString:families:]): 35496 Do the operation on the whole string at once instead of a character at a time. 35497 I decided to do this rather than correct the bug in the character-at-a-time version. 35498 35499== Rolled over to ChangeLog-2002-12-03 == 35500