=== Alexander-21 === 2002-08-28 Darin Adler - fixed 3036440 -- Crash running PLT with "Check for 'world leaks'" enabled * WebView.subproj/WebDataSourcePrivate.h: Add defersCallbacks boolean. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setController:]): Don't try to look at the controller before, it might already be deallocated. (-[WebDataSource _defersCallbacksChanged]): Use a boolean to record whether the "defers callbacks" state changed since last time and do no work if it didn't. This replaces the check in _setController:. 2002-08-28 Richard Williamson (Local) Tell CG to not use time expiration of glyph cache and increase it's size. THIS CHANGE REQUIRES THAT YOU INSTALL THE CG ROOT. * WebCoreSupport.subproj/WebTextRendererFactory.m: 2002-08-28 Richard Williamson (Home) Fixed selection horkage I introduced with drag fix yesterday. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView mouseDragged:]): 2002-08-27 Richard Williamson (Local) * WebView.subproj/WebHTMLView.m: (-[WebHTMLView mouseDown:]): (-[WebHTMLView mouseDragged:]): (-[WebHTMLView mouseMovedNotification:]): * WebView.subproj/WebHTMLViewPrivate.h: * WebView.subproj/WebHTMLViewPrivate.m: Fixed active link style. Cleaned up and fixed drag initiation for links and images. Dotted lines not drawing correcly, but other styles are applied correctly. * WebKit.exp: * History.subproj/WebHistory.h: * History.subproj/WebHistory.m: Added some constants. * WebCoreSupport.subproj/WebTextRendererFactory.m: Code to change CG caching policy. Not enabled until we receive a root from CG team. 2002-08-27 Darin Adler - fixed 3031583 -- directory.apple.com now gives "unsupported" redirect * WebView.subproj/WebDataSource.m: (-[WebDataSource initWithURL:attributes:flags:]): Don't create the resource handle here. It's a bit too early. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading:]): Create the resource handle here, now that we have a controller to get a user agent from. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handleWillUseUserAgent:forURL:]): Add an assert that will catch any future problems of this kind. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge defersLoading]): Added. New call for use in WebCore. (-[WebBridge setDefersLoading:]): Added. New call for use in WebCore. 2002-08-26 Darin Adler Add machinery for deferring callbacks. Not used yet. * WebView.subproj/WebControllerPrivate.h: Add methods. * WebView.subproj/WebControllerPrivate.m: (-[WebController _defersCallbacks]): Returns old state. (-[WebController _setDefersCallbacks:]): Changes state and calls _defersCallbacksChanged on the main frame. * WebView.subproj/WebFramePrivate.h: Add _defersCallbacksChanged. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _defersCallbacksChanged]): Calls _defersCallbacksChanged on both data sources. * WebView.subproj/WebDataSourcePrivate.h: Add _defersCallbacksChanged. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setController:]): Call _defersCallbacksChanged if changing the controller changes the state. (-[WebDataSource _addResourceHandle:]): Call setDefersCallbacks:YES on the new handle if we are already attached to a controller that defers callbacks. (-[WebDataSource _defersCallbacksChanged]): Call setDefersCallbacks on all the handles, and call _defersCallbacksChanged on the child frames as well. * WebView.subproj/WebDataSource.m: (-[WebDataSource controller]): We need to know about all controller changes, so it's unacceptable to consult our parent about the controller. But we already do know about it and this code was unnecessary. Leave the old code around as an assert only. 2002-08-26 Richard Williamson * History.subproj/WebHistory.h: * History.subproj/WebHistory.m: (+[WebHistory webHistoryWithFile:]): Stage 1, set the shared history instance. This'll move to WebKit soon. * WebView.subproj/WebView.m: (-[WebView setFrame:]): Only force display if in live resize. 2002-08-26 John Sullivan - fixed bug where dragging a separator in the Bookmarks window would hit an assertion. * Bookmarks.subproj/WebBookmarkSeparator.m: (-[WebBookmarkSeparator initWithGroup:]): Removed obsolete assertion that group is not nil. * Bookmarks.subproj/WebBookmarkLeaf.m: (-[WebBookmarkLeaf initWithTitle:group:]): Removed a similar obsolete assertion here. * Bookmarks.subproj/WebBookmarkList.m: (-[WebBookmarkList initWithTitle:group:]): Removed a similar obsolete assertion here. 2002-08-23 Darin Adler * WebView.subproj/WebFrame.m: (-[WebFrame reset]): Remove unneeded call to _reset. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _setDataSource:]): Add code that removes the KHTML stuff from the frame when switching to another type of view. It would be better to do this at some other level, but without this code, we end up leaving the entire KHTMLView behind when we switch to a non-HTML page. 2002-08-22 Richard Williamson Changed public string from #define to extern NSString. * WebKit.exp: * WebView.subproj/WebController.h: * WebView.subproj/WebController.m: * WebView.subproj/WebDefaultContextMenuHandler.m: (-[WebDefaultContextMenuHandler contextMenuItemsForElement:defaultMenuItems:]): (-[WebDefaultContextMenuHandler openNewWindowWithURL:]): (-[WebDefaultContextMenuHandler downloadURL:]): (-[WebDefaultContextMenuHandler openLinkInNewWindow:]): (-[WebDefaultContextMenuHandler downloadLinkToDisk:]): (-[WebDefaultContextMenuHandler copyLinkToClipboard:]): (-[WebDefaultContextMenuHandler openImageInNewWindow:]): (-[WebDefaultContextMenuHandler downloadImageToDisk:]): (-[WebDefaultContextMenuHandler copyImageToClipboard:]): (-[WebDefaultContextMenuHandler openFrameInNewWindow:]): * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _elementAtPoint:]): (-[WebHTMLView _continueAfterCheckingDragForEvent:]): 2002-08-22 Ken Kocienda Passing the main load's attributes to the subresource loads causes breakage (most visible when we POST). Right now, we just rely on flags to handle "back/forward" loads, so the attributes were not actually being used. A better fix needs to be put in place when the soon-to-be-done attributes/flags rework is done. * WebCoreSupport.subproj/WebSubresourceClient.m: (+[WebSubresourceClient startLoadingResource:withURL:dataSource:]): === Alexander-20 === 2002-08-21 Richard Williamson Simple name change. Plugin -> NetscapePlugin in anticipation of other plugin related API. Removed vestigal WebDocumentLoading. * Plugins.subproj/WebPlugin.h: * Plugins.subproj/WebPlugin.m: (-[WebNetscapePlugin load]): * Plugins.subproj/WebPluginDatabase.h: * Plugins.subproj/WebPluginDatabase.m: (+[WebNetscapePluginDatabase installedPlugins]): (-[WebNetscapePluginDatabase pluginForMimeType:]): (-[WebNetscapePluginDatabase pluginForExtension:]): (-[WebNetscapePluginDatabase pluginWithFilename:]): (-[WebNetscapePluginDatabase MIMETypes]): (-[WebNetscapePluginDatabase init]): * Plugins.subproj/WebPluginNullEventSender.h: * Plugins.subproj/WebPluginNullEventSender.m: (-[WebNetscapePluginNullEventSender initWithPluginView:]): (-[WebNetscapePluginNullEventSender sendNullEvents]): * Plugins.subproj/WebPluginStream.h: * Plugins.subproj/WebPluginStream.m: (-[WebNetscapePluginStream getFunctionPointersFromPluginView:]): (-[WebNetscapePluginStream initWithURL:pluginPointer:notifyData:attributes:]): * Plugins.subproj/WebPluginView.h: * Plugins.subproj/WebPluginView.m: (-[WebNetscapePluginView initWithFrame:plugin:URL:baseURL:mime:arguments:]): (-[WebNetscapePluginView start]): (-[WebNetscapePluginView provisionalDataSourceChanged:]): (-[WebNetscapePluginView loadURL:inTarget:withNotifyData:andHandleAttributes:]): (-[WebNetscapePluginView destroyStream:reason:]): * WebCoreSupport.subproj/WebViewFactory.m: (-[WebViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]): (-[WebViewFactory pluginsInfo]): (-[WebViewFactory viewForJavaAppletWithFrame:baseURL:parameters:]): * WebView.subproj/WebController.h: * WebView.subproj/WebController.m: (+[WebController canShowMIMEType:]): * WebView.subproj/WebDocument.h: * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebHTMLView.m: (-[WebHTMLView provisionalDataSourceChanged:]): (-[WebHTMLView provisionalDataSourceCommitted:]): (-[WebHTMLView dataSourceUpdated:]): * WebView.subproj/WebHTMLViewPrivate.m: (-[NSView _web_stopIfPluginView]): * WebView.subproj/WebImageView.h: * WebView.subproj/WebTextView.h: * WebView.subproj/WebView.h: * WebView.subproj/WebViewPrivate.h: * WebView.subproj/WebViewPrivate.m: (-[WebView _makeDocumentViewForDataSource:]): Still need to muck with cvs server to change file names. 2002-08-20 David Hyatt Raising the layout delay from 0.75 to 1.00. This should be a little more conservative and matches the value used by Gecko. * WebView.subproj/WebPreferences.m: (+[WebPreferences load]): 2002-08-20 David Hyatt Lower the paint/layout delay from 1.85 to 0.75, since we've gotten a lot faster. * WebView.subproj/WebPreferences.m: (+[WebPreferences load]): 2002-08-20 John Sullivan * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handleDidReceiveData:data:]): Fixed uninitialized variable that Maciej's deployment build found. 2002-08-20 John Sullivan Fixed problem with previous checkin that was causing drag-and-drop for files to fail (at least). * WebView.subproj/WebFramePrivate.m: (-[WebFrame _shouldShowURL:]): pass isDirectory, not YES, to fileURLPolicyForMIMEType:inFrame:isDirectory: 2002-08-20 John Sullivan WebKit part of fixes for: - 3027491 -- failure loading frame's resource leads to misbehaving panel - 3027494 -- failure loading frame's resource leads to error message in Alex, silence in IE - 3027697 -- alert box for missing file covered by browser window; should be a sheet - 3014123 -- error sheet when iframe has URL with bad path Cleaned up the WebPolicy APIs to pass frames and URLs consistently. Also cleaned up _shouldShowURL: (formerly _shouldShowDataSource:) method quite a bit. * WebView.subproj/WebControllerPolicyHandler.h: * WebView.subproj/WebDefaultContextMenuHandler.m: (-[WebDefaultContextMenuHandler downloadURL:]): * WebView.subproj/WebDefaultPolicyHandler.m: (-[WebDefaultPolicyHandler URLPolicyForURL:inFrame:]): (-[WebDefaultPolicyHandler fileURLPolicyForMIMEType:inFrame:isDirectory:]): (-[WebDefaultPolicyHandler unableToImplementPolicy:error:forURL:inFrame:]): * WebView.subproj/WebFrame.m: (-[WebFrame setProvisionalDataSource:]): * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handleDidReceiveData:data:]): Made various Policy-related methods pass the frame and when necessary the URL instead of the dataSource (or not even that in some broken cases). Collapsed the three unableToImplementXXXPolicy: methods into one. * WebView.subproj/WebFramePrivate.h: Change _shouldShowDataSource: to _shouldShowURL: * WebView.subproj/WebFramePrivate.m: (-[WebFrame handleUnimplementablePolicy:errorCode:forURL:]): New helper method. (-[WebFrame _shouldShowURL:]): use case statements instead of nested ifs; use handleUnimplementablePolicy: to reduce duplicated code; update for API changes; eliminate non-useful local variables. 2002-08-20 Darin Adler - fixed 3023076 -- Strange font chosen, widths screwed up, when text includes 007F characters * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer convertCharacters:length:toGlyphs:skipControlCharacters:]): (-[WebTextRenderer _drawCharacters:length:fromCharacterPosition:toCharacterPosition:atPoint:withTextColor:backgroundColor:]): (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:applyRounding:attemptFontSubstitution:]): Treat 007F as a control character, skipping it just as we do other control characters. 2002-08-20 Darin Adler * WebView.subproj/WebController.m: (-[WebController setApplicationNameForUserAgent:]): Lock in here, in anticipation of actually using the name in the user agent string. 2002-08-20 Darin Adler WebKit part of support for tabbing into and out of the toolbar. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge nextKeyViewOutsideWebViews]): Ask the main WebView for its nextKeyView on behalf of WebCore. (-[WebBridge previousKeyViewOutsideWebViews]): Ask the main WebView for its previousKeyView on behalf of WebCore. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView becomeFirstResponder]): When we are being tabbed-into, make the first or last view in the bridge first responder, instead of taking it ourselves. * WebView.subproj/WebView.m: (-[WebView becomeFirstResponder]): Always make the document view the first responder instead of taking it ourselves. 2002-08-19 Chris Blumenberg Fixed 3025019: "only-if-cached" attribute fetches data from network if cached but expired * Misc.subproj/WebIconLoader.m: (-[WebIconLoader iconFromCache]): 2002-08-19 Darin Adler - fixed 2863025 -- Need to implement TABing between widgets in forms Implemented tabbing into a web view's fields. I now consider the task of tabbing between widgets done. But there are many loose ends, each with its own bug report. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView dealloc]): Set _private to nil so we can properly handle calls that come from NSView dealloc. (-[WebHTMLView provisionalDataSourceChanged:]): No need to pass width and height to createKHTMLViewWithNSView any more. Also, just pass self rather than making the roung trip to the WebFrame and the WebView back here. (-[WebHTMLView nextKeyView]): Added. Calls the bridge version when we are called from nextValidKeyView, the normal version the rest of the time. (-[WebHTMLView previousKeyView]): Added. Calls the bridge version when we are called from nextValidKeyView, the normal version the rest of the time. (-[WebHTMLView nextValidKeyView]): Set inNextValidKeyView and call super. (-[WebHTMLView previousValidKeyView]): Set inNextValidKeyView and call super. * WebView.subproj/WebHTMLViewPrivate.h: Add inNextValidKeyView flag. 2002-08-18 Darin Adler Update WebResourceClient instances for new API, including adding the handleWillUseUserAgent:forURL: method. * Misc.subproj/WebIconLoader.m: * Plugins.subproj/WebPluginStream.m: * WebCoreSupport.subproj/WebSubresourceClient.m: * WebView.subproj/WebMainResourceClient.m: These were all the clients that needed updating. * WebView.subproj/WebController.m: (-[WebController setUserAgent:]): Lock so that we can set the user agent even though another thread could be calling userAgentForURL:. (-[WebController userAgentForURL:]): Ditto. * WebView.subproj/WebControllerPrivate.h: Add lock. * WebView.subproj/WebControllerPrivate.m: (-[WebControllerPrivate init]): Create lock. (-[WebControllerPrivate dealloc]): Release lock. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _stopLoading]): Improve comment. 2002-08-18 Darin Adler * Misc.subproj/WebIconLoader.m: (-[WebIconLoader iconFromCache]): (-[WebIconLoader WebResourceHandleDidFinishLoading:data:]): Don't process each icon twice. We need to have the loader as a client even for the synchronous case because of the user agent issue, but that causes double work. 2002-08-16 Darin Adler Step 3 in adding user agent API to WebKit and WebFoundation. Add the calls to WebKit to configure the user-agent string. Change WebCore to get the user-agent from WebKit via the bridge. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge userAgentForURL:]): Added. Calls [WebController userAgentForURL:]. * WebView.subproj/WebController.h: Add three new methods. * WebView.subproj/WebController.m: (-[WebController setApplicationNameForUserAgent:]): Store an application name that will be used to build up the user-agent string. (-[WebController setUserAgent:]): Set an override user agent; mainly useful for testing user-agent strings different from the one WebKit supplies. (-[WebController userAgentForURL:]): Public API for getting the user agent string that the WebController will use for a particular URL. * WebView.subproj/WebControllerPrivate.h: Add fields for the user-agent parameters. * WebView.subproj/WebControllerPrivate.m: (-[WebControllerPrivate dealloc]): Release both strings when the controller goes away. 2002-08-16 Darin Adler Missed one call to [WebResourceHandle initWithURL:]. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge objectLoadedFromCache:size:]): Change to call [WebResourceHandle initWithClient:URL:] with nil for the client. 2002-08-16 Darin Adler Oops. Forgot to save in Project Builder before committing. * Plugins.subproj/WebPluginStream.m: * WebView.subproj/WebDataSource.m: * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: 2002-08-16 Darin Adler Update for change to the WebResourceHandle API where the client is passed in at init time. * Misc.subproj/WebIconLoader.m: (-[WebIconLoader iconFromCache]): Pass self as client when creating handle for foreground "only if cached" load. Also don't put the handle into the class's data structure in this case. (-[WebIconLoader startLoading]): Pass self as client when creating handle instead of making a separate addClient call. Also fix potential leak if this is called when we are already loading. (-[WebIconLoader stopLoading]): Release the handle and nil it out right here. * Plugins.subproj/WebPluginStream.m: (-[WebPluginStream startLoad]): Pass client when creating handle rather than doing an addClient afterward. (-[WebPluginStream stop]): Don't do a removeClient. * WebCoreSupport.subproj/WebSubresourceClient.m: (+[WebSubresourceClient startLoadingResource:withURL:dataSource:]): * WebView.subproj/WebDataSource.m: (-[WebDataSource initWithURL:attributes:flags:]): Pass client when creating handle. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading:]): Since client is not created in init, don't bother creating it here. 2002-08-16 John Sullivan Split searchability out from WebTextView so it could be used elsewhere (specifically, in DOM window). * Misc.subproj/WebSearchableTextView.h: Added. * Misc.subproj/WebSearchableTextView.m: Added. (-[WebSearchableTextView searchFor:direction:caseSensitive:]): (-[NSString findString:selectedRange:options:wrap:]): New class, split out from WebTextView, which now inherits from it. * WebView.subproj/WebTextView.h: * WebView.subproj/WebTextView.m: Took out the searching stuff and put it in WebSearchableTextView; made WebTextView inherit from WebSearchableTextView. * WebKit.pbproj/project.pbxproj: Added new files, made WebSearchableTextView.h be Private. 2002-08-16 John Sullivan - fixed 3025394 -- Bookmarks & History items do not remember their icons across launches - fixed 3025421 -- Dragging from location field proxy icon to favorites bar loses page icon - part of fix for 3026279 -- Bookmarks should lose their favIcons when the URL is edited * Bookmarks.subproj/WebBookmarkLeaf.m: (-[WebBookmarkLeaf initFromDictionaryRepresentation:withGroup:]): (-[WebBookmarkLeaf dictionaryRepresentation]): Removed the #ifdeffed-out code for storing iconURL in dictionary; this was unnecessary because it is also done by the lower-level WebHistoryItem. * History.subproj/WebHistoryItem.m: (-[WebHistoryItem _setIcon:]): New method, extracted from -icon for clarity. (-[WebHistoryItem icon]): Fixed problem where once an icon was set it would never be changed, even if the iconURL is changed. Also, use _setIcon for clarity and to fix retainCount bugs. (-[WebHistoryItem dictionaryRepresentation]): Removed the #ifdef around the line that stores the URL in the dictionary. Gramps decided that this architecture is OK after all. 2002-08-16 Darin Adler Fixed broken build. * Misc.subproj/WebTestController.m: Added empty placeholder methods. 2002-08-15 John Sullivan - fixed 3025770 -- "New Bookmark" button hits assertion and crashes * Bookmarks.subproj/WebBookmarkLeaf.m: (-[WebBookmarkLeaf setURLString:]): Instead of asserting that parameter is not nil, handle the nil case by converting to empty string. This was another regression from yesterday's favIcon changes. === Alexander-19 === 2002-08-15 John Sullivan Disabled support for storing favIcon URLs in bookmarks; Gramps realized this is an architecture problem that needs a better solution, and he didn't want to ship Alex-18 with this problem. * Bookmarks.subproj/WebBookmarkLeaf.m: (-[WebBookmarkLeaf dictionaryRepresentation]): * History.subproj/WebHistoryItem.m: (-[WebHistoryItem dictionaryRepresentation]): Commented out the code that added the iconURLString in the dictionary used for writing out file. This dictionary is also used on the pasteboard, so this change causes the favIcon not to be remembered when you drag from proxy icon to favorites bar. === Alexander-18 === 2002-08-14 Chris Blumenberg Support for showing favicons in bookmarks and history. Renamed "image" to "icon" in all places. Made history and bookmarks take and save an icon URL * Bookmarks.subproj/WebBookmark.h: * Bookmarks.subproj/WebBookmark.m: (-[WebBookmark icon]): (-[WebBookmark iconURL]): (-[WebBookmark setIconURL:]): * Bookmarks.subproj/WebBookmarkGroup.h: * Bookmarks.subproj/WebBookmarkGroup.m: (-[WebBookmarkGroup _setTopBookmark:]): (-[WebBookmarkGroup addNewBookmarkToBookmark:withTitle:iconURL:URLString:type:]): (-[WebBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:iconURL:URLString:type:]): * Bookmarks.subproj/WebBookmarkLeaf.h: * Bookmarks.subproj/WebBookmarkLeaf.m: (-[WebBookmarkLeaf initFromDictionaryRepresentation:withGroup:]): (-[WebBookmarkLeaf dictionaryRepresentation]): (-[WebBookmarkLeaf copyWithZone:]): (-[WebBookmarkLeaf icon]): (-[WebBookmarkLeaf iconURL]): (-[WebBookmarkLeaf setIconURL:]): (-[WebBookmarkLeaf setURLString:]): * Bookmarks.subproj/WebBookmarkList.h: * Bookmarks.subproj/WebBookmarkList.m: (-[WebBookmarkList initWithTitle:group:]): (-[WebBookmarkList dealloc]): (-[WebBookmarkList copyWithZone:]): (-[WebBookmarkList icon]): * Bookmarks.subproj/WebBookmarkSeparator.m: (-[WebBookmarkSeparator icon]): * History.subproj/WebHistory.h: * History.subproj/WebHistory.m: (-[WebHistory updateURL:title:displayTitle:iconURL:forURL:]): * History.subproj/WebHistoryItem.h: * History.subproj/WebHistoryItem.m: (-[WebHistoryItem init]): (-[WebHistoryItem initWithURL:title:]): (-[WebHistoryItem initWithURL:target:parent:title:]): (-[WebHistoryItem dealloc]): (-[WebHistoryItem iconURL]): (-[WebHistoryItem icon]): (-[WebHistoryItem setIconURL:]): (-[WebHistoryItem dictionaryRepresentation]): (-[WebHistoryItem initFromDictionaryRepresentation:]): * History.subproj/WebHistoryPrivate.h: * History.subproj/WebHistoryPrivate.m: (-[WebHistoryPrivate updateURL:title:displayTitle:iconURL:forURL:]): * Misc.subproj/WebIconLoader.h: * Misc.subproj/WebIconLoader.m: (+[WebIconLoader iconLoaderWithURL:]): (-[WebIconLoader initWithURL:]): (-[WebIconLoader URL]): (-[WebIconLoader _icons]): (-[WebIconLoader delegate]): (-[WebIconLoader iconFromCache]): (-[WebIconLoader startLoading]): (-[WebIconLoader WebResourceHandleDidFinishLoading:data:]): * WebCoreSupport.subproj/WebBridge.m: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _loadIcon]): * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted]): * WebView.subproj/WebLocationChangeHandler.h: * WebView.subproj/WebLocationChangeHandler.m: (-[WebLocationChangeHandler receivedPageIcon:fromURL:forDataSource:]): 2002-08-14 Darin Adler Remove some unused things. Fix minor problems. * Plugins.subproj/WebPluginNullEventSender.m: * Plugins.subproj/WebPluginView.m: * WebCoreSupport.subproj/WebTextRenderer.m: Fixed places that were using the C++ bool instead of the Objective C BOOL. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _receivedData:]): Remove old code related to the dummy data source. * WebView.subproj/WebFrame.m: (-[WebFrame initWithName:webView:provisionalDataSource:controller:]): Remove _changeBridge, since we don't any more. Hoist the creation of the bridge up here. * WebView.subproj/WebFramePrivate.h: Remove _changeBridge. * WebView.subproj/WebFramePrivate.m: Remove _changeBridge. * WebView.subproj/WebHTMLRepresentation.h: * WebView.subproj/WebHTMLView.h: * WebView.subproj/WebImageRepresentation.h: * WebView.subproj/WebTextRepresentation.h: * WebView.subproj/WebTextView.h: Don't re-declare methods that are part of protocols we implement. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView initWithFrame:]): Don't add the mouse moved observer until the view gets put into a window. (-[WebHTMLView addMouseMovedObserver]): Added. (-[WebHTMLView removeMouseMovedObserver]): Added. (-[WebHTMLView viewWillMoveToWindow:]): Remove observer if we were in the main window. (-[WebHTMLView viewDidMoveToWindow]): Add observer if we are now in the main window. * WebView.subproj/WebHTMLViewPrivate.h: Add _frame method. Remove unused controller and cursor instance variables. * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _frame]): Added. (-[WebHTMLView _bridge]): Call _frame. * WebView.subproj/WebTextRepresentation.m: Add now-needed import. * WebView.subproj/WebHTMLRepresentation.m: Tweak. 2002-08-13 Maciej Stachowiak Add the ability to determine the classes of live JavaScript objects, to help with leak fixing. * Misc.subproj/WebCoreStatistics.h: * Misc.subproj/WebCoreStatistics.m: (+[WebCoreStatistics javaScriptLiveObjectClasses]): 2002-08-12 Darin Adler * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge isReloading]): Change dataSourceIsReloading to isReloading. 2002-08-12 Maciej Stachowiak * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: Remove private _flags and _attributes accessors, now that Ken added public versions. * WebView.subproj/WebFrame.m: (-[WebFrame reload:]): Remove sole use thereof. === Alexander-17 === 2002-08-10 Ken Kocienda Added support for "stale mode" (loads triggered by use of back/forward), and added support for reload. Also added a bridge function so the WebCore cache can tell if a load is a reload. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge dataSourceIsReloading]): New method. * WebCoreSupport.subproj/WebSubresourceClient.m: (+[WebSubresourceClient startLoadingResource:withURL:dataSource:]): Use same flags that were used for main resource load. * WebView.subproj/WebDataSource.h: * WebView.subproj/WebDataSource.m: (-[WebDataSource attributes]): New accessor. (-[WebDataSource flags]): New accessor. * WebView.subproj/WebFrame.m: (-[WebFrame reload:]): Reload adds WebResourceHandleFlagLoadFromOrigin flag to load. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _goToItem:withFrameLoadType:]): Adds flags so that WebFoundation can tell when back/forward has been used. === milestone 0.5 === === Alexander-16 === 2002-08-09 Chris Blumenberg - Cache icon image for HTML files - resize the icon in WebIconLoader instead of in multiple places elsewhere * Misc.subproj/WebIconLoader.h: * Misc.subproj/WebIconLoader.m: (+[WebIconLoader _resizeImage:]): (+[WebIconLoader defaultIcon]): call _resizeImage (+[WebIconLoader iconForFileAtPath:]): added, caches html icon (-[WebIconLoader WebResourceHandleDidFinishLoading:data:]): call _resizeImage * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _loadIcon]): call iconForFileAtPath 2002-08-08 Maciej Stachowiak Fix to get onLoad to fire, so the iBench test works. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): Return the bridge for the new child frame. 2002-08-08 Darin Adler * WebKit.pbproj/project.pbxproj: Change the group name back to Debug. 2002-08-08 Richard Williamson Added flag to turn on/off buffered text drawing to help determine if we get any speed boost. Run from console with "-BufferTextDrawing YES" to enable buffered text drawing. Moved buffered text drawing out of web core. * WebCoreSupport.subproj/WebTextRenderer.h: * WebCoreSupport.subproj/WebTextRenderer.m: (+[WebTextRenderer shouldBufferTextDrawing]): (+[WebTextRenderer initialize]): (-[WebTextRenderer drawGlyphs:numGlyphs:fromGlyphPosition:toGlyphPosition:atPoint:withTextColor:backgroundColor:]): * WebCoreSupport.subproj/WebTextRendererFactory.h: * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]): 2002-08-08 Darin Adler Placeholders for the "drawing observer" method that I'll be using to implement the "dump page as diffable text" feature. * Misc.subproj/WebTestController.h: Added. * Misc.subproj/WebTestController.m: Added. * WebKit.pbproj/project.pbxproj: Mention new files. * WebKit.exp: Mention new class. * WebView.subproj/WebPreferences.h: * WebView.subproj/WebPreferences.m: Changed "fixed font size" to "default fixed font size". 2002-08-08 Chris Blumenberg * Plugins.subproj/WebPluginStream.m: (-[WebPluginStream finishedLoadingWithData:]): call [NSFileManager _web_carbonPathForPath:] 2002-08-08 Maciej Stachowiak - fixed 2957197 - Need API for getting/setting default text encoding * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate init]): Set default encoding if no other is set. * WebView.subproj/WebPreferences.h: * WebView.subproj/WebPreferences.m: (+[WebPreferences load]): Added support for default text encoding pref. (-[WebPreferences defaultTextEncoding]): Likewise. (-[WebPreferences setDefaultTextEncoding:]): Likewise. 2002-08-08 Richard Williamson Changes to coalesce all drawing calls of the same text style and color into one call to CG. Significantly improves drawing time. My tests should about 7-8% on ALL pages. Disabled the code for now until I can verify on speed improvements on Ken's test rig. * WebCoreSupport.subproj/WebGlyphBuffer.h: Added. * WebCoreSupport.subproj/WebGlyphBuffer.m: Added. (-[WebGlyphBuffer initWithFont:color:]): (-[WebGlyphBuffer font]): (-[WebGlyphBuffer color]): (-[WebGlyphBuffer reset]): (-[WebGlyphBuffer dealloc]): (-[WebGlyphBuffer drawInView:]): (-[WebGlyphBuffer addGlyphs:advances:count:at::]): * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer drawGlyphs:numGlyphs:fromGlyphPosition:toGlyphPosition:atPoint:withTextColor:backgroundColor:]): * WebCoreSupport.subproj/WebTextRendererFactory.h: * WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory coalesceTextDrawing]): (-[WebTextRendererFactory startCoalesceTextDrawing]): (-[WebTextRendererFactory endCoalesceTextDrawing]): (-[WebTextRendererFactory glyphBufferForFont:andColor:]): (-[WebTextRendererFactory dealloc]): * WebKit.pbproj/project.pbxproj: 2002-08-07 Maciej Stachowiak WebKit work for: - fixed 2956008 - Need API for getting/setting text encoding for current page * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge receivedData:withDataSource:]): Handle override encoding, if any. * WebView.subproj/WebDataSource.m: (-[WebDataSource initWithURL:attributes:flags:]): Remember the flags and attributes. * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate init]): Initialize overrideEncoding (-[WebDataSourcePrivate dealloc]): Release attributes (-[WebDataSource _setOverrideEncoding:]): Added. (-[WebDataSource _overrideEncoding]): Added. (-[WebDataSource _flags]): Added. (-[WebDataSource _attributes]): Added. * WebView.subproj/WebFrame.m: (-[WebFrame startLoading]): Pass proper forceRefresh value to data source based on load type (but the data source will ignore it). (-[WebFrame reload:]): Made this work a bit better. Now instead of crashing, it will actually reload, but it won't force a refresh (and may not handle the back/forward issues properly). * WebView.subproj/WebDocument.h: Defined new WebDocumentTextEncoding protocol. * WebView.subproj/WebHTMLView.h: * WebView.subproj/WebHTMLView.m: (-[WebHTMLView textEncoding]): Implemented WebDocumentTextEncoding protocol. (-[WebHTMLView setTextEncoding:]): Implemented WebDocumentTextEncoding protocol. (-[WebHTMLView setDefaultTextEncoding]): Implemented WebDocumentTextEncoding protocol. (-[WebHTMLView usingDefaultTextEncoding]): Implemented WebDocumentTextEncoding protocol. 2002-08-07 John Sullivan - fixed 3017245 -- Shift-Delete should go forward * WebView.subproj/WebView.m: (-[WebView keyDown:]): Check for shift-delete. 2002-08-07 Richard Williamson Fixed scrollview related drawing turd problems. (3000844 and 2896459). * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]): * WebView.subproj/WebView.m: (-[WebView setFrame:]): 2002-08-07 Darin Adler * WebView.subproj/WebFrame.m: (-[WebFrame setProvisionalDataSource:]): * WebView.subproj/WebFramePrivate.m: (-[WebFrame _goToItem:withFrameLoadType:]): Call _web_URLWithoutFragment by its new name _web_URLByRemovingFragment. 2002-08-07 Chris Blumenberg Fixed: 3018632 - the show javascript files inline bug * WebView.subproj/WebDataSourcePrivate.m: (+[WebDataSource _repTypes]): support application/x-javascript * WebView.subproj/WebViewPrivate.m: (+[WebView _viewTypes]): support application/x-javascript 2002-08-07 John Sullivan * Misc.subproj/WebNSViewExtras.h: * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_superviewOfClass:]): Changed name from _web_superviewWithName: and made it take a Class object instead of a string. * Plugins.subproj/WebNullPluginView.m: (-[WebNullPluginView drawRect:]): * Plugins.subproj/WebPluginView.m: (-[WebPluginView start]): (-[WebPluginView layout]): Updated callers of _web_superviewWithName: * WebKit.pbproj/project.pbxproj: Changed WebNSViewExtras.h from Public to Private 2002-08-06 Darin Adler Fix assert I saw while fixing bug 2965321. * WebView.subproj/WebControllerPrivate.m: (-[WebController _receivedError:forResourceHandle:partialProgress:fromDataSource:]): Create a suitable resource identifier from the failing URL in the WebError for cases where we fail before we are able to construct a resource handle. 2002-08-06 Darin Adler - fixed 2970516 -- Activate Events don't appear to be coming in to the Java Applet.plugin correctly. * Plugins.subproj/WebPluginView.m: (-[WebPluginView sendActivateEvent:]): Use activeFlag to set modifiers, not activMask, which is an event mask. 2002-08-06 John Sullivan Add mechanism to store userStyleSheet preferences in WebKit in preparation for Dave wiring up the implementation. * WebView.subproj/WebPreferences.h: * WebView.subproj/WebPreferences.m: (-[WebPreferences userStyleSheetEnabled]), (-[WebPreferences setUserStyleSheetEnabled:]), (-[WebPreferences userStyleSheetLocation]), (-[WebPreferences setUserStyleSheetLocation:]): New methods, read and write UserDefaults values. (+[WebPreferences load]): Set initial values for userStyleSheetEnabled and userStyleSheetLocation 2002-08-06 Maciej Stachowiak Removed some APPLE_CHANGES no longer needed after the part change. * WebCoreSupport.subproj/WebBridge.m: Remove setOpenedByScript: and openedByScript methods now that they are not needed. * WebView.subproj/WebControllerPrivate.h: * WebView.subproj/WebControllerPrivate.m: Remove setOpenedByScript: and openedByScript methods now that they are not needed. 2002-08-06 Darin Adler - fixed 3017761 -- dataSource != nil assertion navigating at yahoo.com * WebView.subproj/WebLocationChangeHandler.h: * WebView.subproj/WebLocationChangeHandler.m: Change client redirect calls to pass the frame, not the data source. At the time a client redirect is requested, it's not even clear yet which data source will be involved. We may want to make some of the other calls pass frames, also, aside from the "start", "committed", "done", calls, which must specify the data source. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge reportClientRedirectTo:delay:fireDate:]): Pass frame, not data source. (-[WebBridge reportClientRedirectCancelled]): Pass frame, not data source. 2002-08-06 Darin Adler * lots of files: Changed url to URL in many places and renamed URL-related methods. 2002-08-06 Darin Adler * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge dataSourceChanged]): Call setParent:. * WebView.subproj/WebControllerPrivate.m: (-[WebControllerPrivate init]): Initialize the text size multiplier to 1. * WebView.subproj/WebDataSource.h: Removed [redirectedURL], deprecated [inputURL], added [URL]. * WebView.subproj/WebDataSource.m: (-[WebDataSource URL]): Added. Returns current URL, without requiring separate logic for the redirected and not-yet-redirected cases. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _loadIcon]): Use [WebDataSource URL]. * WebView.subproj/WebDefaultContextMenuHandler.m: (-[WebDefaultContextMenuHandler openFrameInNewWindow:]): Use [WebDataSource URL]. 2002-08-06 John Sullivan WebKit part of fix for 3017539 -- Replace Serif and Sans-serif font preferences with Default preference; let fixed width font size be independent. * WebView.subproj/WebPreferences.h: * WebView.subproj/WebPreferences.m: (+[WebPreferences load]): Add default value for fixed width size (-[WebPreferences fixedFontSize]), (-[WebPreferences setFixedFontSize:]): New methods. 2002-08-06 Darin Adler - fixed 3017536 -- Change default font to Lucida Grande 14 pt. * WebView.subproj/WebPreferences.m: (+[WebPreferences load]): Changed default font and sans serif font family names to Lucida Grande. Changed default font size to 14 point. 2002-08-05 Maciej Stachowiak fixed 2974993 - window.open does not return the right window object fixed 3017140 - WebKit creates a new KHTMLPart per page; should reuse it like KHTML does * WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation setDataSource:]): Don't swap the part at this point. Now it gets reused. 2002-08-05 Maciej Stachowiak * WebKit.pbproj/project.pbxproj: Fix tyops that broke Development build. 2002-08-05 Darin Adler * .cvsignore: Ignore WebCore-combined.exp. 2002-08-05 Maciej Stachowiak - fixed 3007072 - need to be able to build fat * WebKit.pbproj/project.pbxproj: Fixed DeploymentFat build. * Makefile.am: Build WebCore-combined.exp for Development and Mixed build. * WebKit-tests.exp: Added. * WebKit.exp: Remove test-only function. 2002-08-05 Darin Adler Do the wiring for the "text size multiplier" feature. The rest of the work will probably be done at the WebCore level. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge setFrame:]): Set the text size multiplier. * WebView.subproj/WebController.h: * WebView.subproj/WebController.m: (-[WebController setTextSizeMultiplier:]): Added. Calls _textSizeMultiplierChanged on the main frame. (-[WebController textSizeMultiplier]): Added. * WebView.subproj/WebControllerPrivate.h: Added textSizeMultiplier instance variable. * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _textSizeMultiplierChanged]): Added. Calls setTextSizeMultiplier: on the bridge, and _textSizeMultiplierChanged on all the child frames. 2002-08-05 Chris Blumenberg Renamed icon loader delegate method to include the icon loader. * Misc.subproj/WebIconLoader.h: * Misc.subproj/WebIconLoader.m: (-[WebIconLoader WebResourceHandleDidFinishLoading:data:]): * WebView.subproj/WebDataSourcePrivate.m: 2002-08-05 Richard Williamson Added additional check to find appropriate fonts with available weight, rather than always using a weight of 5. Regarding "kCGErrorFailure : can't find name id 4 for font id 8395" errors: CG appears to be lying to us about some fonts, Verdana in particular. It claims to have an available Verdana font w/ the correct traits, but spits errors when we request that font. Further, the Font Panel behaves oddly when you request Verdana. The panel displays the font but if you select the font it doesn't 'stick'. A mystery. * WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory fontWithFamily:traits:size:]): 2002-08-05 Darin Adler - fixed 2986567 -- suppress return characters from title in title bar, status bar, menu items * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge setTitle:]): Call _web_stringByCollapsingNonPrintingCharacters. 2002-08-05 Richard Williamson Added exported symbols file. * WebKit.exp: Added. * WebKit.pbproj/project.pbxproj: 2002-08-05 Darin Adler - fixed 3014122 -- spinner never stops spinning when iframe has URL with bad path * WebView.subproj/WebFrame.m: (-[WebFrame initWithName:webView:provisionalDataSource:controller:]): Initialize the state in WebFramePrivate init instead. * WebView.subproj/WebFramePrivate.h: Remove WebFrameStateUninitialized. * WebView.subproj/WebFramePrivate.m: (-[WebFramePrivate init]): Set initial state to WebFrameStateComplete. (-[WebFrame _transitionToLayoutAcceptable]): Remove WebFrameStateUninitialized case. (-[WebFrame _transitionToCommitted]): Remove WebFrameStateUninitialized case. (-[WebFrame _isLoadComplete]): Remove WebFrameStateUninitialized case. * WebView.subproj/WebDataSource.h: Tweak. * WebView.subproj/WebDataSource.m: (-[WebDataSource stopLoading]): Move downloadHandler logic from here into _stopLoading. (-[WebDataSource isLoading]): Rewrite for simplicity. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _stopLoading]): Move downloadHandler logic here from stopLoading. Also make this work even if handles are removed from the list during the stop process. (-[WebDataSource _recursiveStopLoading]): Simplify a lot by using WebFrame's stopLoading. (-[WebDataSource _setTitle:]): Use the committed boolean rather than the state to check if the title change should be sent to the location change handler. 2002-08-05 Maciej Stachowiak * Misc.subproj/WebKitDebug.h: Put WEBKIT_ASSERT_NOT_REACHED() inside the appropriate #ifdef, and remove the various _log macros, which are onsolete in WebKit. 2002-08-05 Maciej Stachowiak Some changes related to re-merging the KHTMLPart end() method: * Misc.subproj/WebKitDebug.h: Added WEBKIT_ASSERT_NOT_REACHED(). * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToLayoutAcceptable]): Replace NSException with ASSERT_NOT_REACHED (this is an internal consistency check, not an argument check on a public API, so an assert is more appropriate than an exception). (-[WebFrame _transitionToCommitted]): Likewise. (-[WebFrame _isLoadComplete]): Likewise; also, remove bridge call to scrollToBaseAnchor:, since that will now happen automatically when calling end. 2002-08-02 Darin Adler WebKit support for feature where client redirects are treated as if the page was continuing to load. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge reportClientRedirectTo:delay:fireDate:]): Added. Passes the client redirect along to the location change handler. (-[WebBridge reportClientRedirectCancelled]): Passes client redirect cancel along to the location change handler. (-[WebBridge dataSourceChanged]): Remove hack related to dummy data source. (-[WebBridge dataSource]): Remove hack related to dummy data source. * WebView.subproj/WebLocationChangeHandler.h: Added client redirect methods. Added class for base implementation of protocol. Updated stale comment. * WebView.subproj/WebLocationChangeHandler.m: Added. Provides base implementation of the WebLocationChangeHandler protocol so that clients don't need to implement all the methods if they are only interested in some of them. * WebKit.pbproj/project.pbxproj: Added WebLocationChangeHandler.m. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _goToItem:withFrameLoadType:]): Call scrollToAnchor under its new name. * Misc.subproj/WebIconLoader.h: * Misc.subproj/WebIconLoader.m: * WebView.subproj/WebControllerPolicyHandler.m: * WebView.subproj/WebControllerPolicyHandlerPrivate.h: Replaced __MyCompanyName__ with the actual name of our company. 2002-08-02 John Sullivan - fixed 3015705 -- Command-up-arrow and -down-arrow should go to beginning and end of web page * WebView.subproj/WebView.m: (-[WebView keyDown:]): Added checks for command key. 2002-08-01 Richard Williamson Effort towards 3014555 (going back to frame), but not fixed. Need to think more about appropriate solution and compromises. * History.subproj/WebBackForwardList.h: * History.subproj/WebBackForwardList.m: (-[WebBackForwardList backEntryAtIndex:]): * History.subproj/WebHistoryItem.h: * History.subproj/WebHistoryItem.m: (-[WebHistoryItem initWithURL:title:]): (-[WebHistoryItem initWithURL:title:image:]): (-[WebHistoryItem initWithURL:target:parent:title:image:]): (-[WebHistoryItem dealloc]): (-[WebHistoryItem parent]): (-[WebHistoryItem setTitle:]): (-[WebHistoryItem setTarget:]): (-[WebHistoryItem setParent:]): (-[WebHistoryItem setDisplayTitle:]): * WebCoreSupport.subproj/WebBridge.m: * WebView.subproj/WebController.m: (-[WebController _goToItem:withFrameLoadType:]): * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted]): (-[WebFrame _isLoadComplete]): (-[WebFrame _scrollToTop]): 2002-08-01 Chris Blumenberg Only send command key events if the plug-in is in the responder chain. * Plugins.subproj/WebPluginView.m: (-[WebPluginView isInResponderChain]): (-[WebPluginView performKeyEquivalent:]): (-[WebPluginView setWindow]): added some more logging 2002-08-01 Chris Blumenberg Only send command keyDown once by ignoring the keyDown that comes after performKeyEquivalent. * Plugins.subproj/WebPluginView.m: (-[WebPluginView keyDown:]): 2002-08-01 Chris Blumenberg Fixed: 2970530 - Command keys are not getting passed in to plugins * Plugins.subproj/WebPluginView.m: (-[WebPluginView performKeyEquivalent:]): 2002-08-01 Richard Williamson More back/forward work. Support for restoring scroll position. We still have a big remaining issue. We don't record the entire frame tree in back/forward items. This means going back or forward to a frame will looose the context of the containing frameset, see 3014555. * History.subproj/WebBackForwardList.m: (-[WebBackForwardList currentEntry]): * History.subproj/WebHistoryItem.h: * History.subproj/WebHistoryItem.m: (-[WebHistoryItem anchor]): (-[WebHistoryItem setAnchor:]): * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge reportError:]): * WebView.subproj/WebController.m: (-[WebController _goToItem:withFrameLoadType:]): (-[WebController goBack]): (-[WebController goForward]): * WebView.subproj/WebFrame.m: (-[WebFrame setProvisionalDataSource:]): * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted]): (-[WebFrame _isLoadComplete]): (-[WebFrame _goToItem:withFrameLoadType:]): (-[WebFrame _restoreScrollPosition]): (-[WebFrame _scrollToTop]): 2002-08-01 Chris Blumenberg Fixed: 2938010 - PLUGINS: right-click support 2938011 - PLUGINS: extended key events support 2970523 - Arrow key events not correctly passed to applets * Plugins.subproj/WebPluginView.m: (-[WebPluginView modifiersForEvent:]): (-[WebPluginView getCarbonEvent:withEvent:]): (-[WebPluginView mouseDown:]): (-[WebPluginView keyUp:]): (-[WebPluginView keyDown:]): (-[WebPluginView menuForEvent:]): === Alexander-15 === 2002-08-01 Don Melton Fixed deployment build compile problem. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted]): 2002-08-01 Maciej Stachowiak Remove stuff formerly useful for "View Reconstructed Source" feature but now useless. * WebView.subproj/WebDataSource.h: * WebView.subproj/WebDataSource.m: (-[WebDataSource documentTextFromDOM]): Removed. 2002-07-31 Maciej Stachowiak Changed things around so that WebFrame, not WebDataSource, owns WebBridge. This allows us to remove the dummy data source. * WebView.subproj/WebFrame.m: (-[WebFrame initWithName:webView:provisionalDataSource:controller:]): Remove all dummy data source-related crud, but call _changeBridge to create the initial bridge. (-[WebFrame setProvisionalDataSource:]): Remove dummy data source-related epicycles. * WebView.subproj/WebFramePrivate.h: Add bridge member to private class. * WebView.subproj/WebFramePrivate.m: (-[WebFramePrivate setDataSource:]): Don't remove old data source from frame, this is no longer needed and may even be harmful. (-[WebFrame _transitionToCommitted]): Remove much now-unneeded code. (-[WebFrame _isLoadComplete]): Get location change handler from controller. Don't call end on the bridge if the document is not html. (-[WebFrame _changeBridge]): Free the old bridge and make a new one. (-[WebFrame _bridge]): Get it directly, not from the data source. * WebView.subproj/WebDataSourcePrivate.h: Remove everything related to the `dummy' concept. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setFinalURL:]): Reorder code a bit. (-[WebDataSource _bridge]): Get bridge from frame. (-[WebDataSource _commitIfReady]): No more need to set the bridge's frame. (-[WebDataSource _makeRepresentation]): Set data source on the rep. (-[WebDataSource _startLoading:]): Get location change handler from controller. (-[WebDataSource _setTitle:]): Likewise. (-[WebDataSource receivedPageIcon:]): Likewise. (-[WebDataSource _loadIcon]): Likewise. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient WebResourceHandle:dataDidBecomeAvailable:]): Get location change handler from the controller. * WebView.subproj/WebViewPrivate.m: (-[WebView _makeDocumentViewForDataSource:]): Change *and* commit the data source. This could probably be collapsed down to one method now. * WebView.subproj/WebDocument.h: Added setDataSource: method to the WebDocumentRepresenation protocol. For now it is only useful for the HTML representation, but could potentially be useful for other representation classes. It should also allow the data source to be removed as a parameter from other methods, but I have not done that yet. It may be even better still to pass the data source as a paremeter to the init method. * WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation init]): Remove allocation of bridge. (-[WebHTMLRepresentation dealloc]): Remove release of bridge. (-[WebHTMLRepresentation setDataSource:]): Store unretained reference to the data source's frame's bridge. * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _bridge]): Fetch the bridge from the frame, not the data source. * WebView.subproj/WebImageRepresentation.m: (-[WebImageRepresentation setDataSource:]): Added empty implementation. * WebView.subproj/WebTextRepresentation.m: (-[WebTextRepresentation setDataSource:]): Added empty implementation. * Plugins.subproj/WebPluginStream.m: (-[WebPluginStream setDataSource:]): Added empty implementation. 2002-07-30 Maciej Stachowiak Fixes of various bugs that prevented Alexander from running the Mozilla page load test. - fixed 3008682 - Alexander cannot run Mozilla-PLT * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge dataSourceChanged]): Don't call setURL: to set a URL that we got from a redirect; just pass it directly to openURL:. The inputURL is irrelevant. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setFinalURL:]): Don't call setURL: on the bridge; instead, assert that the data source is committed, because it would be a mistake to get a redirect after having received data. 2002-07-30 Richard Williamson Remove annoying log, it's really annoying. Added FIX ME comment instead. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted]): 2002-07-30 John Sullivan - fixed 3012083 "Looked for URLs on the pasteboard, but found none" spam dragging nil-target bookmark * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_bestURLForDraggingInfo:]): This method was getting data for types on the pasteboard without first checking whether the types were on the pasteboard, a no-no. Restructured this method and tweaked it here and there also. (-[NSView _web_dragOperationForDraggingInfo:]): moved a fast test in front of a slow test 2002-07-29 Richard Williamson Removed setDirectsAllLinksToSystemBrowser: method, not needed and antiquated by the policy APIs. * WebView.subproj/WebController.h: * WebView.subproj/WebController.m: 2002-07-29 Richard Williamson Changes to support the migration of back/forward list to WebKit. Back/forward in frames now works (2946164), still not done w/ restoring scroll positions (2927633). * History.subproj/WebHistoryItem.h: * History.subproj/WebHistoryItem.m: (+[WebHistoryItem entryWithURL:]): * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): * WebView.subproj/WebController.h: * WebView.subproj/WebController.m: (-[WebController initWithView:provisionalDataSource:]): (-[WebController setUseBackForwardList:]): (-[WebController useBackForwardList]): (-[WebController goBack]): (-[WebController goForward]): * WebView.subproj/WebControllerPrivate.h: * WebView.subproj/WebFrame.m: (-[WebFrame setProvisionalDataSource:]): * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted]): (-[WebFrame _setProvisionalDataSource:]): (-[WebFrame _goToURL:withFrameLoadType:]): * WebView.subproj/WebViewPrivate.m: (-[WebView _goBack]): (-[WebView _goForward]): 2002-07-29 Richard Williamson Fixed 3009074. Added [WebHTMLView jumpToSelection:] and related user interface item validation. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView jumpToSelection:]): (-[WebHTMLView validateUserInterfaceItem:]): 2002-07-29 Richard Williamson Fixed 3009085. Implemented takeFindStringFromSelection: on WebHTMLView and WebTextView. Also added user interface item validation for that method. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView hasSelection]): (-[WebHTMLView takeFindStringFromSelection:]): (-[WebHTMLView validateUserInterfaceItem:]): * WebView.subproj/WebTextView.m: (-[WebTextView canTakeFindStringFromSelection]): (-[WebTextView takeFindStringFromSelection:]): 2002-07-29 Chris Blumenberg Fixed: 2971845 - text view uses default "user font" (Helvetica), not fonts chosen in Alexander preferences * WebView.subproj/WebTextView.m: (-[WebTextView initWithFrame:]): add observer (-[WebTextView dealloc]): remove observer (-[WebTextView setFixedWidthFont]): added, checks defaults (-[WebTextView dataSourceUpdated:]): calls setFixedWidthFont (-[WebTextView searchFor:direction:caseSensitive:]): no changes (-[WebTextView defaultsChanged:]): calls setFixedWidthFont 2002-07-27 Chris Blumenberg Implemented click policy, support for option-click Implemented dragging of links and images from WebHTMLView * Misc.subproj/WebNSViewExtras.h: * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragShouldBeginFromMouseDown:withExpiration:]): added, moved from WebBrowser (-[NSView _web_dragOperationForDraggingInfo:]): don't accept drag if source == destination * WebView.subproj/WebControllerPolicyHandler.h: * WebView.subproj/WebControllerPolicyHandler.m: (-[WebPolicy URL]): needed for click policy (+[WebURLPolicy webPolicyWithURLAction:]): (+[WebFileURLPolicy webPolicyWithFileAction:]): (+[WebContentPolicy webPolicyWithContentAction:andPath:]): * WebView.subproj/WebControllerPrivate.h: * WebView.subproj/WebControllerPrivate.m: (-[WebController _downloadURL:toPath:]): added, simply downloads a URL * WebView.subproj/WebDefaultContextMenuHandler.m: (-[WebDefaultContextMenuHandler downloadURL:]): calls [WebController _downloadURL:toPath:] * WebView.subproj/WebDefaultPolicyHandler.m: (-[WebDefaultPolicyHandler clickPolicyForElement:button:modifierMask:]): * WebView.subproj/WebHTMLView.m: (-[WebHTMLView mouseDown:]): calls _continueAfterCheckingDragForEvent (-[WebHTMLView mouseUp:]): calls _continueAfterClickPolicyForEvent (-[WebHTMLView draggingSourceOperationMaskForLocal:]): added (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): added, starts download * WebView.subproj/WebHTMLViewPrivate.h: * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLViewPrivate dealloc]): (-[WebHTMLView _elementAtPoint:]): (-[WebHTMLView _continueAfterClickPolicyForEvent:]): added, implements click policy (-[WebHTMLView _continueAfterCheckingDragForEvent:]): added, checks if mouse event is a drag 2002-07-26 Richard Williamson WebframeLoadType enum first value wasn't explicitly set, so 0 was used. I assumed 0 was unitialized, and depended on that to not execute some 'transitional' back/forward. This problem broke back/forward. * WebView.subproj/WebFramePrivate.h: 2002-07-26 John Sullivan WebKit part of fix for 3009404 -- Back/Forward menu items should use [ and ], but command-arrows should still work too. * WebView.subproj/WebController.h: - added goForward to windowContext protocol. This is temporary, just like goBack here is temporary; they can be migrated into the new back-forward-in-WebKit design together. * WebView.subproj/WebView.m: (-[WebView keyDown:]): call _goBack and _goForward for command-arrow keys * WebView.subproj/WebViewPrivate.h, * WebView.subproj/WebViewPrivate.m: (-[WebView _goForward]): add _goForward, parallel to _existing goBack. 2002-07-26 Chris Blumenberg Fixed crash in unknown_text Fixed full-window plug-ins. I think darin broken this :) Cleaned up WebPluginStream a bit * Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase init]): * Plugins.subproj/WebPluginStream.m: (-[WebPluginStream getFunctionPointersFromPluginView:]): (-[WebPluginStream initWithURL:pluginPointer:notifyData:attributes:]): (-[WebPluginStream startLoad]): (-[WebPluginStream stop]): (-[WebPluginStream setUpGlobalsWithHandle:]): (-[WebPluginStream receivedError:]): (-[WebPluginStream receivedData:withDataSource:]): (-[WebPluginStream receivedError:withDataSource:]): (-[WebPluginStream WebResourceHandle:dataDidBecomeAvailable:]): (-[WebPluginStream WebResourceHandleDidCancelLoading:]): (-[WebPluginStream WebResourceHandle:didFailLoadingWithResult:]): * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _mainHandle]): added, WebPluginStream needs this 2002-07-25 Richard Williamson More incremental changes for back/forward migration. * History.subproj/WebBackForwardList.h: * History.subproj/WebBackForwardList.m: (-[WebBackForwardList init]): (-[WebBackForwardList dealloc]): (-[WebBackForwardList addEntry:]): (-[WebBackForwardList goBack]): (-[WebBackForwardList goBackToIndex:]): (-[WebBackForwardList backEntry]): (-[WebBackForwardList currentEntry]): (-[WebBackForwardList forwardEntry]): (-[WebBackForwardList goForward]): (-[WebBackForwardList goForwardToIndex:]): (-[WebBackForwardList canGoBack]): (-[WebBackForwardList canGoForward]): (-[WebBackForwardList description]): * History.subproj/WebHistoryItem.h: * History.subproj/WebHistoryItem.m: (-[WebHistoryItem initWithURL:title:]): (-[WebHistoryItem initWithURL:title:image:]): (-[WebHistoryItem initWithURL:target:title:image:]): (-[WebHistoryItem dealloc]): (-[WebHistoryItem target]): (-[WebHistoryItem setTarget:]): (-[WebHistoryItem setLastVisitedDate:]): (-[WebHistoryItem scrollPoint]): (-[WebHistoryItem setScrollPoint:]): * History.subproj/WebHistoryList.m: * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFramePrivate setLoadType:]): (-[WebFrame _setLoadType:]): (-[WebFrame _loadType]): (-[WebFrame _transitionToCommitted]): 2002-07-25 Chris Blumenberg Made some WebPolicy API's private Added support for download link/image to disk * Misc.subproj/WebDownloadHandler.m: (-[WebDownloadHandler receivedData:]): * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebControllerPolicyHandler.h: * WebView.subproj/WebControllerPolicyHandler.m: (-[WebPolicyPrivate dealloc]): (-[WebPolicy _setPolicyAction:]): (-[WebPolicy policyAction]): (-[WebPolicy path]): (-[WebPolicy _setPath:]): (-[WebPolicy dealloc]): (+[WebURLPolicy webPolicyWithURLAction:]): (+[WebFileURLPolicy webPolicyWithFileAction:]): (+[WebContentPolicy webPolicyWithContentAction:andPath:]): (+[WebClickPolicy webPolicyWithClickAction:andPath:]): * WebView.subproj/WebControllerPolicyHandlerPrivate.h: Added. * WebView.subproj/WebDefaultContextMenuHandler.m: (-[WebDefaultContextMenuHandler downloadURL:]): (-[WebDefaultContextMenuHandler downloadLinkToDisk:]): (-[WebDefaultContextMenuHandler openImageInNewWindow:]): (-[WebDefaultContextMenuHandler downloadImageToDisk:]): * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient WebResourceHandle:dataDidBecomeAvailable:]): 2002-07-25 Chris Blumenberg Fixed crasher caused by not retaining the content policy. * WebView.subproj/WebControllerPolicyHandler.h: * WebView.subproj/WebMainResourceClient.h: * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient WebResourceHandle:dataDidBecomeAvailable:]): 2002-07-25 Chris Blumenberg Made policy APIs return a WebPolicy object. Added click policy. * Misc.subproj/WebDownloadHandler.m: (-[WebDownloadHandler receivedData:]): (-[WebDownloadHandler finishedLoading]): (-[WebDownloadHandler cancel]): * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebController.h: * WebView.subproj/WebController.m: (+[WebController defaultURLPolicyForURL:]): * WebView.subproj/WebControllerPolicyHandler.h: * WebView.subproj/WebControllerPolicyHandler.m: Added. (-[WebPolicy initWithPolicyAction:]): (-[WebPolicy policyAction]): (+[WebURLPolicy webPolicyWithURLAction:]): (+[WebFileURLPolicy webPolicyWithFileAction:]): (+[WebContentPolicy webPolicyWithContentAction:andPath:]): (-[WebContentPolicy initWithContentPolicyAction:andPath:]): (-[WebContentPolicy dealloc]): (-[WebContentPolicy path]): (-[WebClickPolicy initWithClickPolicyAction:andPath:]): (+[WebClickPolicy webPolicyWithClickAction:andPath:]): (-[WebClickPolicy dealloc]): (-[WebClickPolicy path]): * WebView.subproj/WebControllerPrivate.m: (-[WebController _receivedError:forResourceHandle:partialProgress:fromDataSource:]): * WebView.subproj/WebDataSource.h: * WebView.subproj/WebDataSource.m: (-[WebDataSource contentPolicy]): (-[WebDataSource fileType]): * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): (-[WebDataSource _setContentPolicy:]): (-[WebDataSource _commitIfReady]): (-[WebDataSource _isReadyForData]): * WebView.subproj/WebDefaultPolicyHandler.m: (-[WebDefaultPolicyHandler URLPolicyForURL:]): (-[WebDefaultPolicyHandler fileURLPolicyForMIMEType:dataSource:isDirectory:]): (-[WebDefaultPolicyHandler unableToImplementFileURLPolicy:error:forDataSource:]): (-[WebDefaultPolicyHandler unableToImplementURLPolicy:error:forURL:]): (-[WebDefaultPolicyHandler pluginNotFoundForMIMEType:pluginPageURL:]): (-[WebDefaultPolicyHandler clickPolicyForElement:button:modifierMask:]): * WebView.subproj/WebFrame.m: (-[WebFrame initWithName:webView:provisionalDataSource:controller:]): * WebView.subproj/WebFramePrivate.m: (-[WebFrame _shouldShowDataSource:]): * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient receivedProgressWithHandle:complete:]): (-[WebMainResourceClient receivedError:forHandle:]): (-[WebMainResourceClient WebResourceHandleDidFinishLoading:data:]): (-[WebMainResourceClient WebResourceHandle:dataDidBecomeAvailable:]): 2002-07-25 Darin Adler * WebKit.pbproj/project.pbxproj: Add DeploymentFat build style. 2002-07-25 Darin Adler WebKit part of fix for 3006054 -- assert error failingURL != nil * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge reportError:]): New. Passes the error to the controller associated with the dataSource. * WebCoreSupport.subproj/WebSubresourceClient.m: (+[WebSubresourceClient startLoadingResource:withURL:dataSource:]): Call absoluteString. (-[WebSubresourceClient WebResourceHandleDidCancelLoading:]): Call absoluteString. * WebView.subproj/WebController.m: (-[WebController haveContentPolicy:andPath:forDataSource:]): Call absoluteString. * WebView.subproj/WebControllerPrivate.m: (-[WebController _receivedError:forResourceHandle:partialProgress:fromDataSource:]): Don't call absoluteString. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _shouldShowDataSource:]): Call absoluteString. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient WebResourceHandleDidCancelLoading:]): Call absoluteString. 2002-07-25 Chris Blumenberg Remove reloadImage until its implemented. * WebView.subproj/WebDefaultContextMenuHandler.m: (-[WebDefaultContextMenuHandler contextMenuItemsForElement:defaultMenuItems:]): 2002-07-25 Chris Blumenberg Renamed elementInfoAtPoint to elementAtPoint * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebDefaultContextMenuHandler.h: * WebView.subproj/WebDefaultContextMenuHandler.m: (+[WebDefaultContextMenuHandler addMenuItemWithTitle:action:target:toArray:]): renamed (-[WebDefaultContextMenuHandler contextMenuItemsForElement:defaultMenuItems:]): * WebView.subproj/WebHTMLView.m: (-[WebHTMLView menuForEvent:]): * WebView.subproj/WebHTMLViewPrivate.h: * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _elementAtPoint:]): 2002-07-24 Chris Blumenberg tiny change * WebView.subproj/WebDefaultContextMenuHandler.m: 2002-07-24 Chris Blumenberg Added implmentations for a few context menu items. * WebView.subproj/WebController.h: * WebView.subproj/WebDefaultContextMenuHandler.h: * WebView.subproj/WebDefaultContextMenuHandler.m: (-[WebDefaultContextMenuHandler dealloc]): (-[WebDefaultContextMenuHandler contextMenuItemsForElement:defaultMenuItems:]): (-[WebDefaultContextMenuHandler validateUserInterfaceItem:]): (-[WebDefaultContextMenuHandler openNewWindowWithURL:]): (-[WebDefaultContextMenuHandler openLinkInNewWindow:]): (-[WebDefaultContextMenuHandler copyLinkToClipboard:]): (-[WebDefaultContextMenuHandler openImageInNewWindow:]): (-[WebDefaultContextMenuHandler copyImageToClipboard:]): (-[WebDefaultContextMenuHandler reloadImage:]): (-[WebDefaultContextMenuHandler openFrameInNewWindow:]): * WebView.subproj/WebHTMLView.m: (-[WebHTMLView menuForEvent:]): 2002-07-24 Richard Williamson Removed vestigal locationChangeHandler ivar. * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _loadIcon]): 2002-07-24 Chris Blumenberg Call [self _locationChangeHandler] instead of _private-locationChangeHandler * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource receivedPageIcon:]): 2002-07-24 Richard Williamson Implemented find for text views. * WebView.subproj/WebTextView.m: (-[NSString findString:selectedRange:options:wrap:]): (-[WebTextView searchFor:direction:caseSensitive:]): 2002-07-24 Chris Blumenberg Implemented initial contextual menus. None activated yet. * WebView.subproj/WebDefaultContextMenuHandler.h: * WebView.subproj/WebDefaultContextMenuHandler.m: (-[WebDefaultContextMenuHandler dealloc]): added (-[WebDefaultContextMenuHandler addMenuItemWithTitle:action:toArray:]): added (-[WebDefaultContextMenuHandler contextMenuItemsForElementInfo:defaultMenuItems:]): create menu items * WebView.subproj/WebHTMLView.m: (-[WebHTMLView menuForEvent:]): 2002-07-24 Chris Blumenberg More renaming for WebDefaultPolicyHandler. * WebView.subproj/WebController.m: (-[WebController policyHandler]): * WebView.subproj/WebDefaultPolicyHandler.h: * WebView.subproj/WebDefaultPolicyHandler.m: 2002-07-24 Chris Blumenberg Renamed WebDefaultControllerPolicyHandler to WebDefaultPolicyHandler. * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebDefaultControllerPolicyHandler.h: Removed. * WebView.subproj/WebDefaultControllerPolicyHandler.m: Removed. * WebView.subproj/WebDefaultPolicyHandler.h: Added. * WebView.subproj/WebDefaultPolicyHandler.m: Added. (-[WebDefaultControllerPolicyHandler initWithWebController:]): (-[WebDefaultControllerPolicyHandler URLPolicyForURL:]): (-[WebDefaultControllerPolicyHandler fileURLPolicyForMIMEType:dataSource:isDirectory:]): (-[WebDefaultControllerPolicyHandler unableToImplementFileURLPolicy:forDataSource:]): (-[WebDefaultControllerPolicyHandler requestContentPolicyForMIMEType:dataSource:]): (-[WebDefaultControllerPolicyHandler unableToImplementURLPolicyForURL:error:]): (-[WebDefaultControllerPolicyHandler unableToImplementContentPolicy:forDataSource:]): (-[WebDefaultControllerPolicyHandler pluginNotFoundForMIMEType:pluginPageURL:]): 2002-07-24 Chris Blumenberg More plumbing for contextual menu support. * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebController.h: * WebView.subproj/WebController.m: (-[WebController setContextMenuHandler:]): added (-[WebController contextMenuHandler]): added * WebView.subproj/WebControllerPrivate.h: * WebView.subproj/WebControllerPrivate.m: (-[WebControllerPrivate init]): alloc WebDefaultContextMenuHandler (-[WebControllerPrivate dealloc]): dealloc WebDefaultContextMenuHandler (-[WebController _defaultContextMenuHandler]): * WebView.subproj/WebDefaultContextMenuHandler.h: Added. * WebView.subproj/WebDefaultContextMenuHandler.m: Added. (-[WebDefaultContextMenuHandler contextMenuItemsForElementInfo:defaultMenuItems:]): new * WebView.subproj/WebHTMLView.m: (-[WebHTMLView menuForEvent:]): call contextMenuHandlers * WebView.subproj/WebHTMLViewPrivate.h: * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _setController:]): added comment (-[WebHTMLView _controller]): added 2002-07-24 Darin Adler * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer xHeight]): Added. Calls [NSFont xHeight]. * WebView.subproj/WebPreferences.h: * WebView.subproj/WebPreferences.m: (+[WebPreferences load]): (-[WebPreferences defaultFontSize]): (-[WebPreferences setDefaultFontSize:]): Renamed minimumFont to defaultFont, and changed it from 11 to 16. Also changed default monospaced font to Courier instead of Monaco. 2002-07-24 Richard Williamson Support for find in HTML, find in text view coming soon. * WebView.subproj/WebDocument.h: * WebView.subproj/WebHTMLView.h: * WebView.subproj/WebHTMLView.m: (-[WebHTMLView searchFor:direction:caseSensitive:]): * WebView.subproj/WebTextView.h: * WebView.subproj/WebTextView.m: (-[WebTextView searchFor:direction:caseSensitive:]): 2002-07-23 Chris Blumenberg More plumbing for contextual menu support. * WebCoreSupport.subproj/WebBridge.h: * WebCoreSupport.subproj/WebBridge.m: * WebView.subproj/WebHTMLView.m: (-[WebHTMLView menuForEvent:]): * WebView.subproj/WebHTMLViewPrivate.h: * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _elementInfoAtPoint:]): added 2002-07-23 Darin Adler * WebKit.pbproj/project.pbxproj: Fix file reference types to be more consistent. 2002-07-23 Chris Blumenberg Initial plumbing for contextual menu support. * WebCoreSupport.subproj/WebBridge.h: * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge elementInfoForMouseEvent:]): added * WebView.subproj/WebController.h: * WebView.subproj/WebHTMLView.m: (-[WebHTMLView menuForEvent:]): added 2002-07-23 Darin Adler * WebKit.pbproj/project.pbxproj: Fix paths for newly added files. 2002-07-23 Richard Williamson Cleaned up LocationChangeHandler. We now have one per controller. * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebController.h: * WebView.subproj/WebController.m: (-[WebController policyHandler]): (-[WebController setLocationChangeHandler:]): (-[WebController locationChangeHandler]): * WebView.subproj/WebControllerPolicyHandler.h: * WebView.subproj/WebControllerPrivate.h: * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): (-[WebDataSource _setIsDummy:) (-[WebDataSource _isDummy]): Hack on hack. MJS will remove when the dummy data source hack is removed. (-[WebDataSource _locationChangeHandler]): (-[WebDataSource _removeFromFrame]): (-[WebFrame initWithName:webView:provisionalDataSource:controller:]): (-[WebFrame setProvisionalDataSource:]): * WebView.subproj/WebFramePrivate.m: (-[WebFramePrivate dealloc]): Added default policy handler. This is used if no policy handler is set on the controller. * WebView.subproj/WebDefaultControllerPolicyHandler.h: Added. * WebView.subproj/WebDefaultControllerPolicyHandler.m: Added. (-[WebDefaultControllerPolicyHandler initWithWebController:]): (-[WebDefaultControllerPolicyHandler URLPolicyForURL:]): (-[WebDefaultControllerPolicyHandler fileURLPolicyForMIMEType:dataSource:isDirectory:]): (-[WebDefaultControllerPolicyHandler unableToImplementFileURLPolicy:forDataSource:]): (-[WebDefaultControllerPolicyHandler requestContentPolicyForMIMEType:dataSource:]): (-[WebDefaultControllerPolicyHandler unableToImplementURLPolicyForURL:error:]): (-[WebDefaultControllerPolicyHandler unableToImplementContentPolicy:forDataSource:]): (-[WebDefaultControllerPolicyHandler pluginNotFoundForMIMEType:pluginPageURL:]): * WebView.subproj/WebFrame.m: 2002-07-23 Darin Adler * Makefile.am: Clean based on all, not all-am, so it happens before subdirs if any. 2002-07-23 Darin Adler * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer drawUnderlineForCharacters:stringLength:atPoint:withColor:]): Change API to take character array instead of a string. * WebKit.pbproj/project.pbxproj: Took "subproj" off the names of some groups. === Alexander-14 === 2002-07-22 Richard Williamson Moved back/forward list from Alex's document to WebController. First step to address a series of back/forward related issues. * WebView.subproj/WebController.h: * WebView.subproj/WebController.m: (-[WebController backForwardList]): * WebView.subproj/WebControllerPrivate.h: * WebView.subproj/WebControllerPrivate.m: (-[WebControllerPrivate init]): (-[WebControllerPrivate dealloc]): 2002-07-22 Chris Blumenberg Strip white space before and after URL string 2998696 * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_bestURLForDraggingInfo:]): 2002-07-22 Ken Kocienda * WebView.subproj/WebHTMLView.m: import of removed WebFrame bridge header was left in, causing a build break. 2002-07-22 Maciej Stachowiak Merged WebBridge and WebFrameBridge. * WebCoreSupport.subproj/WebBridge.h: * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge childFrames]): Return bridges, not frameBridges. (-[WebBridge descendantFrameNamed:]): Return bridge, not frameBridge. (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): Return a bridge, not a frameBridge. (-[WebBridge mainFrame]): Return a bridge, not a frameBridge. (-[WebBridge frameNamed:]):Return a bridge, not a frameBridge. (-[WebBridge loadURL:attributes:flags:withParent:]): Moved from WebFrameBridge. (-[WebBridge loadURL:]): Moved from WebFrameBridge. (-[WebBridge postWithURL:data:]): Moved from WebFrameBridge. * WebCoreSupport.subproj/WebFrameBridge.h: Removed. * WebCoreSupport.subproj/WebFrameBridge.m: Removed. * WebView.subproj/WebFrame.m: (-[WebFrame initWithName:webView:provisionalDataSource:controller:]): Don't create a WebFrameBridge. * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFramePrivate dealloc]): No longer dealloc frameBridge, since we don't have one. (-[WebFrame _transitionToCommitted]): Pass along the frame's render part, if any. (-[WebFrame _frameBridge]): Removed. * WebKit.pbproj/project.pbxproj: Removed deleted files. 2002-07-22 Maciej Stachowiak Change WebBridge to hold on to a WebFrame instead of a WebDataSource. Since we will no longer ever have a bridge for a provisional data source, we'll just bind the bridge to a frame. Which means we can merge the bridge and the frame bridge next. * WebCoreSupport.subproj/WebBridge.h: * WebCoreSupport.subproj/WebBridge.m: Changed below methods to work with direct knowledge of the frame but not the bridge (mostly a simplification). (-[WebBridge frame]): (-[WebBridge parent]): (-[WebBridge childFrames]): (-[WebBridge descendantFrameNamed:]): (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): (-[WebBridge openNewWindowWithURL:]): (-[WebBridge areToolbarsVisible]): (-[WebBridge setToolbarsVisible:]): (-[WebBridge areScrollbarsVisible]): (-[WebBridge setScrollbarsVisible:]): (-[WebBridge isStatusBarVisible]): (-[WebBridge setStatusBarVisible:]): (-[WebBridge setWindowFrame:]): (-[WebBridge window]): (-[WebBridge setStatusText:]): (-[WebBridge mainFrame]): (-[WebBridge frameNamed:]): (-[WebBridge receivedData:withDataSource:]): (-[WebBridge objectLoadedFromCache:size:]): (-[WebBridge setFrame:]): (-[WebBridge dataSourceChanged]): (-[WebBridge dataSource]): (-[WebBridge openedByScript]): (-[WebBridge setOpenedByScript:]): * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady]): Set bridge's frame and notify that the data source changed. * WebView.subproj/WebFrame.m: (-[WebFrame initWithName:webView:provisionalDataSource:controller:]): Set bridge's frame. * WebView.subproj/WebFramePrivate.h, WebView.subproj/WebFramePrivate.m: (-[WebFrame _bridge]): Method to get the bridge. 2002-07-21 Maciej Stachowiak Removed provisional/committed distinction from WebCore and the WebCore SPI. WebCore will never see a provisional data source or provisional anything, any more. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge descendantFrameNamed:]): Don't bother with the provisional bridge - no such thing. (-[WebBridge setDataSource:]): Assert the data source is committed. * WebCoreSupport.subproj/WebFrameBridge.m: (-[WebFrameBridge bridge]): Return committed bridge always, and remove committed bridge method. 2002-07-21 Maciej Stachowiak Fix a regression in my recent refactoring that broke JavaScript window opening, by doing some trickery to make a frame's initial dummy data source committed. * WebView.subproj/WebFrame.m: (-[WebFrame initWithName:webView:provisionalDataSource:controller:]): Create dummy data source as committed, not provisional. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted]): Allow the documentView to be nil if there is no webView either; this is temporarily needed to handle the special initial dummy data source, which will be going away soon. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _receivedData:]): Add temporary special case to avoid sending empty NSData to the representation, to avoid triggering WebCore assertions. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge openNewWindowWithURL:]): Get the committed data source, not the provisional one. 2002-07-21 Chris Blumenberg Used darin-inspired code factoring to fix 3000801 (alex doesn't accept drag of webloc file) in 3 places where we accept drags. * Misc.subproj/WebNSViewExtras.h: * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_parentWebView]): no changes (-[NSView _web_acceptableDragTypes]): added (-[NSView _web_bestURLForDraggingInfo:]): added (-[NSView _web_dragOperationForDraggingInfo:]): added * WebKit.pbproj/project.pbxproj: made WebNSViewExtras.h public * WebView.subproj/WebView.m: (-[WebView initWithFrame:]): calls _web_acceptableDragTypes (-[WebView draggingEntered:]): calls _web_dragOperationForDraggingInfo (-[WebView concludeDragOperation:]): calls _web_bestURLForDraggingInfo 2002-07-21 Chris Blumenberg - We were loading icons when page loads ended in error. Fixed. - Special-case file URLs once instead of twice by moving NSWorkspace call out of WebIconLoader * Misc.subproj/WebIconLoader.m: (-[WebIconLoader startLoading]): removed file URL special-case * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _loadIcon]): check for document error, send file icon to client if none has been set with the LINK tag 2002-07-21 Maciej Stachowiak * Makefile.am: Remove products from symroots on `make clean'. 2002-07-21 Maciej Stachowiak * WebKit.pbproj/project.pbxproj: Set directories for the group folders, so that creating new files in them will put them in the right directory by default. 2002-07-21 Maciej Stachowiak More refactoring. Change bridge to get the data source via a method instead of straight from the ivar, and in the method, assert that the data source is not nil and is not provisional. Turns out no one was using it while provisional, which is great. This means we can eliminate the provisional concept from the bridge interface as the next step. * WebCoreSupport.subproj/WebBridge.h: * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge dataSource]): New method to get data source - assert it is not nil, and committed. (-[WebBridge frame]): Get data source from method. (-[WebBridge childFrames]): Likewise. (-[WebBridge descendantFrameNamed:]): Likewise. (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): Likewise. (-[WebBridge openNewWindowWithURL:]): Likewise. (-[WebBridge areToolbarsVisible]): Likewise. (-[WebBridge setToolbarsVisible:]): Likewise. (-[WebBridge areScrollbarsVisible]): Likewise. (-[WebBridge setScrollbarsVisible:]): Likewise. (-[WebBridge isStatusBarVisible]): Likewise. (-[WebBridge setStatusBarVisible:]): Likewise. (-[WebBridge setWindowFrame:]): Likewise. (-[WebBridge window]): Likewise. (-[WebBridge setTitle:]): Likewise. (-[WebBridge setStatusText:]): Likewise. (-[WebBridge mainFrame]): Likewise. (-[WebBridge frameNamed:]): Likewise. (-[WebBridge receivedData:withDataSource:]): Likewise. (-[WebBridge startLoadingResource:withURL:]): Likewise. (-[WebBridge objectLoadedFromCache:size:]): Likewise. (-[WebBridge setDataSource:]): Likewise. (-[WebBridge openedByScript]): Likewise. (-[WebBridge setOpenedByScript:]): Likewise. (-[WebBridge setIconURL:]): Likewise. (-[WebBridge setIconURL:withType:]): Likewise. * WebView.subproj/WebDataSourcePrivate.h, WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _isCommitted]): New private method to check if a data source is committed, for the benefit of WebBridge assertions. 2002-07-20 Darin Adler * WebKit.pbproj/project.pbxproj: Turn stricter warnings back on now that we don't use C++ any more. * Plugins.subproj/WebPluginView.m: (-[WebPluginView sendActivateEvent:]): Fix cast that stricter warning didn't like. (-[WebPluginView sendUpdateEvent]): Fix cast that stricter warning didn't like. (-[WebPluginView frameStateChanged:]): Remove unneeded cast that stricter warning didn't like. 2002-07-20 Darin Adler - fixed 2999643 -- Leak of NSSet in -[IFStandardPanels _didStartLoadingURL:inController:] This is another case of the leak I fixed a month ago. I don't know how I managed to overlook this other code path with the identical bug. * Panels.subproj/WebStandardPanels.m: (-[WebStandardPanels _didStopLoadingURL:inController:]): Fix a leak caused by calling the wrong method. This was calling objectForKey: instead of removeObjectForKey:. 2002-07-20 Darin Adler * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge areToolbarsVisible]): (-[WebBridge isStatusBarVisible]): Fix misspelling of visible. 2002-07-20 Maciej Stachowiak Changed the code to handle "icon" and "SHORTCUT ICON" links separately, and give higher priority to the former. Also, we don't start loading the icon the moment khtml finds one in the document any more, instead we wait until the document is done loading, in case there are both "icon" and "SHORTCUT ICON" link tags. - fixed 3003672 - Assertion failure related to iconloader on metafilter * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge setIconURL:]): Forward to the data source. (-[WebBridge setIconURL:withType:]): Likewise. * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): Release iconURL. (-[WebDataSource _setDefaultIconURLIfUnset]): Renamed from _loadPageIconIfNecessary, and changed to only set iconURL rather than actually loading. (-[WebDataSource _setPrimaryLoadComplete:]): Call _loadIcon instead of _loadPageIconIfNecessary, since we defer all loads to this point. (-[WebDataSource _loadIcon]): Load current iconURL if set. (-[WebDataSource _setIconURL:]): Set iconURL if not set already (since typed icons are higher priority). (-[WebDataSource _setIconURL:withType:]): Set the iconURL. 2002-07-20 Darin Adler - fixed 2999616 -- Possible leak in +[IFPluginDatabase installedPlugins] * Plugins.subproj/WebPluginDatabase.m: (+[WebPluginDatabase installedPlugins]): Move the code into an init function. (pluginLocations): Simplified. (-[WebPluginDatabase init]): Added. Cleaned up a bit, and made it release the WebPlugin objects -- this was the leak. (-[WebPluginDatabase dealloc]): Added. * Plugins.subproj/WebPluginDatabase.h: Tweaked formatting. * Plugins.subproj/WebPluginStream.h: * Plugins.subproj/WebPluginStream.m: (-[WebPluginStream startLoad]): (-[WebPluginStream stop]): * WebCoreSupport.subproj/WebSubresourceClient.m: (+[WebSubresourceClient startLoadingResource:withURL:dataSource:]): (-[WebSubresourceClient WebResourceHandleDidCancelLoading:]): (-[WebSubresourceClient WebResourceHandleDidFinishLoading:data:]): (-[WebSubresourceClient WebResourceHandle:didFailLoadingWithResult:]): * WebView.subproj/WebDataSource.m: (-[WebDataSource stopLoading]): * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): (-[WebDataSource _setPrimaryLoadComplete:]): (-[WebDataSource _startLoading:]): (-[WebDataSource _addResourceHandle:]): (-[WebDataSource _removeResourceHandle:]): Changed code that called it a URLHandle to say resourceHandle. * WebView.subproj/WebFrame.m: (-[WebFrame dealloc]): Add an autorelease pool here since this is called from a timer and AppKit does not use an explicit autorelease pool in that case. This makes the "world leak check" work better, and is mildly helpful in other cases too. Radar 3003650 is a request for the AppKit team to fix this, but this workaround will do for now. 2002-07-19 Darin Adler - fixed 3001951 -- Massive memory leak after running base or static PLT * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _makeRepresentation]): Add a missing release. Reduced our use of autorelease. This allows the page load test to detect leaks of the world much more easily. We may later find we need to use the "retain autorelease" idiom in a few more places, but I did a lot of testing and that did not show up. * Bookmarks.subproj/WebBookmarkGroup.m: (-[WebBookmarkGroup _setTopBookmark:]): Use a plain release. (-[WebBookmarkGroup _loadBookmarkGroupGuts]): Use a plain release. * Bookmarks.subproj/WebBookmarkList.m: (-[WebBookmarkList copyWithZone:]): Use a plain release. * Misc.subproj/WebIconLoader.m: (-[WebIconLoader WebResourceHandleDidFinishLoading:data:]): Use a plain release. * Plugins.subproj/WebPluginView.m: (-[WebPluginView loadURL:inTarget:withNotifyData:andHandleAttributes:]): Use a plain release. * WebView.subproj/WebController.m: (-[WebController createFrameNamed:for:inParent:allowsScrolling:]): Use a plain release. (-[WebController setWindowContext:]): Use a plain release. (-[WebController setResourceProgressHandler:]): Use a plain release. (-[WebController setDownloadProgressHandler:]): Use a plain release. (-[WebController setPolicyHandler:]): Use a plain release. * WebView.subproj/WebControllerPrivate.m: (-[WebControllerPrivate dealloc]): Use plain release. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): Use plain release. (-[WebDataSource _setPrimaryLoadComplete:]): Use plain release. (-[WebDataSource _setTitle:]): Use plain release. * WebView.subproj/WebFrame.m: (-[WebFrame initWithName:webView:provisionalDataSource:controller:]): Use plain release. (-[WebFrame reset]): Invalidate and release the timer. * WebView.subproj/WebFramePrivate.h: Keep a reference to the timer. * WebView.subproj/WebFramePrivate.m: (-[WebFramePrivate dealloc]): Invalidate and release the timer. Use plain release. (-[WebFramePrivate setName:]): Use plain release. (-[WebFramePrivate setWebView:]): Use plain release. (-[WebFramePrivate setDataSource:]): Use plain release. (-[WebFramePrivate setProvisionalDataSource:]): Use plain release. (-[WebFrame _scheduleLayout:]): Keep a reference to the timer. (-[WebFrame _timedLayout:]): Release and nil the timer. * WebView.subproj/WebRenderNode.m: (-[WebRenderNode initWithName:rect:view:children:]): Use plain release. * WebView.subproj/WebView.m: (-[WebView concludeDragOperation:]): Use plain release. * WebView.subproj/WebViewPrivate.m: (-[WebView _makeDocumentViewForDataSource:]): Use plain release. Other changes to make the new page load test feature work. * Misc.subproj/WebKitStatistics.h: * Misc.subproj/WebKitStatistics.m: (+[WebKitStatistics HTMLRepresentationCount]): Added a stat for WebHTMLRepresentation objects. * WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation init]): Bump the count. (-[WebHTMLRepresentation dealloc]): Decrement the count. Renaming. * Misc.subproj/WebCoreStatistics.h: * Misc.subproj/WebKitStatisticsPrivate.h: * Misc.subproj/WebCoreStatistics.m: (+[WebCoreStatistics emptyCache]): (+[WebCoreStatistics setCacheDisabled:]): Renamed to include the word cache now that the class does not. * Plugins.subproj/WebPluginStream.m: * WebCoreSupport.subproj/WebSubresourceClient.m: * WebView.subproj/WebMainResourceClient.m: Updated for the WebFoundation renaming. 2002-07-19 Chris Blumenberg * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _loadPageIconIfNecessary]): use the correct relative string to request favicon.ico 2002-07-19 Chris Blumenberg * History.subproj/WebHistoryItem.m: (-[WebHistoryItem image]): call [WebIconLoader defaultIcon] * Misc.subproj/WebIconLoader.m: (+[WebIconLoader defaultIcon]): move bundle image loading code from [WebHistoryItem image] to here. 2002-07-19 Chris Blumenberg Added support favicons. * Misc.subproj/WebIconLoader.h: Added. * Misc.subproj/WebIconLoader.m: Added. (-[WebIconLoaderPrivate dealloc]): (+[WebIconLoader defaultIcon]): (-[WebIconLoader initWithURL:]): (-[WebIconLoader dealloc]): (-[WebIconLoader setDelegate:]): (-[WebIconLoader startLoading]): (-[WebIconLoader startLoadingOnlyFromCache]): (-[WebIconLoader stopLoading]): (-[WebIconLoader WebResourceHandleDidBeginLoading:]): (-[WebIconLoader WebResourceHandleDidCancelLoading:]): (-[WebIconLoader WebResourceHandleDidFinishLoading:data:]): (-[WebIconLoader WebResourceHandle:resourceDataDidBecomeAvailable:]): (-[WebIconLoader WebResourceHandle:resourceDidFailLoadingWithResult:]): (-[WebIconLoader WebResourceHandle:didRedirectToURL:]): * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge loadIcon:]): added * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebControllerPrivate.m: (-[WebController _mainReceivedError:forResourceHandle:partialProgress:fromDataSource:]): * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): (-[WebDataSource _loadPageIconIfNecessary]): added (-[WebDataSource _setPrimaryLoadComplete:]): start loading icon (-[WebDataSource _stopLoading]): stop icon loader (-[WebDataSource receivedPageIcon:]): added (-[WebDataSource _loadIcon:]): added * WebView.subproj/WebLocationChangeHandler.h: 2002-07-19 Darin Adler * WebKit.pbproj/project.pbxproj: Forgot to export WebKitStatistics.h so it can be used by WebBrowser. 2002-07-19 Darin Adler Added some stats that we can use to sniff out "leak the world" problems. * Misc.subproj/WebKitStatistics.h: Added. * Misc.subproj/WebKitStatistics.m: Added. * Misc.subproj/WebKitStatisticsPrivate.h: Added. * WebKit.pbproj/project.pbxproj: Added new files. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge init]): Bump count. (-[WebBridge dealloc]): Decrement count. * WebView.subproj/WebController.m: (-[WebController initWithView:provisionalDataSource:]): Bump count. (-[WebController dealloc]): Decrement count. * WebView.subproj/WebDataSource.m: (-[WebDataSource initWithURL:attributes:flags:): Bump count. (-[WebDataSource dealloc]): Decrement count. * WebView.subproj/WebFrame.m: (-[WebFrame initWithName:webView:provisionalDataSource:controller:]): Bump count. (-[WebFrame dealloc]): Decrement count. * WebView.subproj/WebView.m: (-[WebView initWithFrame:]): Bump count. (-[WebView dealloc]): Decrement count. 2002-07-19 Maciej Stachowiak More refactoring: Use assertions to make sure a provisional data source's bridge is never used - and then fix the places where it would have been used. :-) * WebView.subproj/WebDataSource.m: (-[WebDataSource documentTextFromDOM]): Return nil if the document is not committed. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _stopLoading]): Don't tell the bridge to stop if we're provisional, because we won't have one. (-[WebDataSource _setFinalURL:]): Don't try to set the bridge URL if we are not committed - it will get set at commit time. (-[WebDataSource _removeFromFrame]): Assert that the data soource is committed - a provisional data source should never be removed from a frame because it should never be in a frame in the first place. (-[WebDataSource _bridge]): Assert that the view is committed. (-[WebDataSource _commitIfReady]): Do nothing if already committed. (-[WebDataSource _receivedData:]): Notice that first byte was read, if appropriate, and commit when ready. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient WebResourceHandle:didRedirectToURL:]): Simplify code by using [WebDataSource _receivedData:] 2002-07-19 Maciej Stachowiak Fix a regression caused by a previous commit that broke frames. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge receivedData:withDataSource:]): Instead setting the data source implicitly here, and doing other special first-time init, simply assert that we have a data source. (-[WebBridge setDataSource:]): Do the extra work when setting the data source here instead. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady]): After making the representation, set the data source, because we no longer pass the first data chunk _before_ transitioning to committed, instead we do it right after, so the logic in WebBridge to do it implicitly was not going to cut it. 2002-07-18 Maciej Stachowiak More refactoring: Simplify a bit more by moving more logic into the data source. * WebView.subproj/WebDataSourcePrivate.h, WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _gotFirstByte]): Removed. (-[WebDataSource _setGotFirstByte]): Removed. (-[WebDataSource _isReadyForData]): Removed. (-[WebDataSource _receivedData:]): Commit if appropriate, and pass data to representation and documentView. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient WebResourceHandle:resourceDataDidBecomeAvailable:]): Change the check back to policy != None, because the first chunk will trigger a commit in the policy == Show case, so there is no need to worry about it. 2002-07-18 Maciej Stachowiak Rename some methods for clarity. These two methods are defined by the end state, not the start state (in fact, transitionToLayoutAcceptable does most of it's work when it starts in the cimmitted state, not provisional). * WebView.subproj/WebFramePrivate.h, WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToLayoutAcceptable]): Renamed from _transitionProvisionalToLayoutAcceptable. (-[WebFrame _transitionToCommitted]): Renamed from _transitionProvisionalToLayoutAcceptable. And adjust all the calls to them: * WebView.subproj/WebControllerPrivate.m: (-[WebController _receivedProgress:forResourceHandle:fromDataSource:complete:]): (-[WebController _mainReceivedProgress:forResourceHandle:fromDataSource:complete:]): * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady]): 2002-07-18 Maciej Stachowiak Even more exciting refactoring. Change the rules for committing the data source and creating the representation so that both happen when the first byte has been received _and_ the content policy has been set to show. Previously these actions happened at different times. Now we maintain the invariant that the data source has a representation if and only if it is committed. * WebView.subproj/WebController.m: (-[WebController haveContentPolicy:andPath:forDataSource:]): Simplify further by putting more of the work in WebDataSource. * WebView.subproj/WebControllerPrivate.m: (-[WebController _mainReceivedProgress:forResourceHandle:fromDataSource:complete:]): * WebView.subproj/WebDataSource.h, WebView.subproj/WebDataSource.m: Move makeRepresentation method to private file. * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setContentPolicy:]): If the policy is set to show, commit if we have already gotten the first byte. (-[WebDataSource _commitIfReady]): Create representation and commit if we have the first byte and have a policy of show. (-[WebDataSource _gotFirstByte]): Method to check if this data source has gotten the first byte yet. Commit here if ready. (-[WebDataSource _setGotFirstByte]): Method to report that some data has been received. (-[WebDataSource _makeRepresentation]): Make and set up teh document view too. (-[WebDataSource _isReadyForData]): Return TRUE if policy is set (and if the policy is Show, if we have also received the first byte. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionProvisionalToCommitted]): Don't call the datasource (it now calls us) * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient WebResourceHandle:resourceDataDidBecomeAvailable:]): * WebView.subproj/WebView.h, WebView.subproj/WebView.m: move makeDocumentViewForDataSource... * WebView.subproj/WebViewPrivate.h, WebView.subproj/WebViewPrivate.m: (-[WebView _makeDocumentViewForDataSource:]): To here. 2002-07-18 Maciej Stachowiak Avoid throwing an exception while stopping animations. Image renders were getting into the array multiple times, which means the code that iterated over the array backwards could throw an exception, because callling removeObject: on the array would remove all instances of the object. This probably fixes the following crashers, and a bunch of huge leaks: Radar 2999853 - Uninitialized memory access in plugins on theonion.com Radar 2999892 - Crash disconnecting view from next view chain on theonion.com Radar 2999911 - Infinite loop in [WebHTMLView dealloc], resulting in crash * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer scheduleFrame]): Move adding to array of image renderers from here... (-[WebImageRenderer beginAnimationInRect:fromRect:]): To here. === Alexander-13 === 2002-07-18 Maciej Stachowiak Yet still more refactoring in preparation for the KHTMLPart change. This is preparing things to change the commit rule to require receiving at least one byte of data, and having the content policy set to Show. * WebView.subproj/WebController.m: (-[WebController haveContentPolicy:andPath:forDataSource:]): Remove more code since makeRepresentation now does most of the work. * WebView.subproj/WebDataSource.m: (-[WebDataSource makeRepresentation]): Tell the WebView (if any) to create the documentView now too. * WebView.subproj/WebView.h: * WebView.subproj/WebView.m: (-[WebView makeDocumentViewForDataSource:]): Hook document view up to data source. 2002-07-18 Maciej Stachowiak Some refactoring in preparation for the KHTMLPart change. * WebView.subproj/WebDataSourcePrivate.h, WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _stopLoading]): Bail early if not loading. (-[WebDataSource _commit]): Method to mark when the data source is committed (it now knows whether it's committed or provisional). This will be useful for adding assertions later on about what operations may happen only when committed, and which can only happen when provisional. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionProvisionalToCommitted]): Call data source's _commit method. 2002-07-17 Richard Williamson * WebView.subproj/WebHTMLView.m: Removed unnecessary (and incorrect) lockFocus. 2002-07-17 Maciej Stachowiak Some refactoring in preparation for the KHTMLPart change. * WebView.subproj/WebController.m: (-[WebController haveContentPolicy:andPath:forDataSource:]): Move more of the work of creating and setting the representation and document view into WebDataSource and WebView. * WebView.subproj/WebDataSource.h, WebView.subproj/WebDataSource.m: (+[(id ) createRepresentationForMIMEType:]): Removed. (-[WebDataSource makeRepresentation]): A method to build the right kind of representation for the content type. * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _representationClass]): Method to get the right representation class for the current content type. (-[WebDataSource _bridge]): Move here from WebBridge.[mh], so we can later add an assertion that the data source is not provisional. * WebView.subproj/WebHTMLViewPrivate.m: #import WebDataSourcePrivate.h * WebView.subproj/WebView.h, WebView.subproj/WebView.m: (+[(id ) createDocumentViewForMIMEType:]): Removed. (-[WebView makeDocumentViewForMIMEType:]): Method to build the right kind of document view for the specified MIME type. 2002-07-16 Darin Adler * History.subproj/WebBackForwardList.m: Replace MyCompanyName with Apple Computer. (-[WebBackForwardList init]): Fix strange [super init] logic to be standard. * History.subproj/WebHistoryItem.h: Replace MyCompanyName with Apple Computer. * Misc.subproj/WebDownloadHandler.h: Replace MyCompanyName with Apple Computer. 2002-07-16 Darin Adler - fixed 2997891 -- Alexander confused about base page URL for relative links * WebCoreSupport.subproj/WebSubresourceClient.m: (-[WebSubresourceClient WebResourceHandle:didRedirectToURL:]): Don't tell the bridge the URL changed. The bridge doesn't care about redirects for subresources (and if it did, we'd need some way to tell it that this was a subresource redirect). * WebCoreSupport.subproj/WebBridge.m: Formatting tweaks. * WebCoreSupport.subproj/WebImageRenderer.m: Formatting tweaks. * WebView.subproj/WebView.m: Formatting tweaks. 2002-07-16 Richard Williamson Really, stop animation if last frame has zero duration, like IE. Was checking adjustedFrameDuration, which is never zero. * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer unadjustedFrameDuration]): (-[WebImageRenderer frameDuration]): (-[WebImageRenderer nextFrame:]): 2002-07-16 Maciej Stachowiak WebKit part of fix for: Radar 2982043 - Link mouse-over status should change in response to modifier keys * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge modifierTrackingEnabled]): Implemented by checking bit on WebHTMLView class. * WebKit.pbproj/project.pbxproj: Install WebHTMLViewPrivate as a Private header. * WebView.subproj/WebHTMLViewPrivate.h: Prototype new modifier tracking SPI. * WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView _setModifierTrackingEnabled:]): Method to inform WebHTMLView that modifier tracking is working. (+[WebHTMLView _modifierTrackingEnabled]): Obligatory getter. (+[WebHTMLView _postFlagsChangedEvent:]): Method to report flagsChanged events. Creates corresponding fake mouseMoved event and sends it as a notification. 2002-07-16 Darin Adler * WebCoreSupport.subproj/WebBridge.m: Remove childFrameNamed since it's not needed, and every one of these bridge methods adds potential confusion. (-[WebBridge descendantFrameNamed:]): Make this look for descendants in the provisional data sources first. This is the same change Richard made to childFrameNamed, but it turns out that this is the method that's really used. 2002-07-16 Darin Adler * almost every file: Renamed IF* -> Web*. 2002-07-15 Richard Williamson Removed dependence on window resize notification. We now use the IFWebView setFrame: method to trigger layouts. Much cleaner. Cleaned up image animation timer scheduler. Stop animation if last frame has zero duration, like IE. Change minimum duration to 1/30th (used if zero frame duration is specified). This is closer to what I see in IE empirically. * WebCoreSupport.subproj/IFImageRenderer.h: * WebCoreSupport.subproj/IFImageRenderer.m: (-[IFImageRenderer frameDuration]): (-[IFImageRenderer _scheduleFrame]): (-[IFImageRenderer nextFrame:]): (-[IFImageRenderer beginAnimationInRect:fromRect:]): * WebView.subproj/IFHTMLView.mm: (-[IFHTMLView initWithFrame:]): (-[IFHTMLView removeNotifications]): * WebView.subproj/IFWebView.mm: (-[IFWebView setFrame:]): (-[IFWebView viewWillStartLiveResize]): (-[IFWebView viewDidEndLiveResize]): 2002-07-15 Maciej Stachowiak Fixed Radar 2957209 - Change "JavaScript can open new windows automatically" preference to off by default * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]): Switch default for "Allow JavaScript to open new windows automatically" to FALSE. 2002-07-15 Darin Adler More weaning from C++. * Plugins.subproj/IFPluginView.mm: (-[IFPluginView initWithFrame:plugin:url:baseURL:mime:arguments:]): Use malloc instead of new. (-[IFPluginView dealloc]): Use free instead of delete. 2002-07-15 Darin Adler Fixes so we are ready to compile as Objective C, not C++. The C++ front end misses a lot of things the C front end catches. * Plugins.subproj/IFNullPluginView.mm: (-[IFNullPluginView drawRect:]): Add missing cast. * Plugins.subproj/IFPluginStream.mm: (-[IFPluginStream IFURLHandle:resourceDidFailLoadingWithResult:]): Use [IFLoadProgress initWithURLHandle:] instead of getting at private fields. * Plugins.subproj/IFPluginView.mm: (-[IFPluginView setUpWindowAndPort]): Remove unused windowFrame. (-[IFPluginView start]): Don't use a variable within a for statement. Add missing cast. * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): Use [IFWebFrame _setProvisionalDataSource:] so we don't have to get at the protected field _private. * WebView.subproj/IFWebControllerPrivate.mm: (-[IFWebController _mainReceivedProgress:forResourceHandle:fromDataSource:complete:]): Use [IFProgress bytesSoFar] so we don't have to get at the protected field bytesSoFar. * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _isLoadComplete]): Add missing cast. (-[IFWebFrame _setProvisionalDataSource:]): Added. * WebView.subproj/IFHTMLRepresentation.mm: * WebView.subproj/IFHTMLViewPrivate.h: * WebView.subproj/IFWebControllerPrivate.h: * WebView.subproj/IFWebDataSourcePrivate.h: * WebView.subproj/IFWebFramePrivate.h: * WebView.subproj/IFWebViewPrivate.h: Make data in private class @public, since the main class needs to get at it directly. 2002-07-15 Richard Williamson Only adjustFrames in parent if parent is a frame set. (Anywhere from 2% to 6% gain, depending on what you believe.) * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _isLoadComplete]): * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]): Increment initial layout from 1.5 seconds to 1.85 seconds. 2002-07-15 Darin Adler * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): Tweak a comment that included the word WebController, to smooth things over a tiny bit for the coming renaming. 2002-07-15 Darin Adler * WebCoreSupport.subproj/IFTextRenderer.m: (-[IFTextRenderer widthForCharacters:length:]): Remove implementation of some unused methods, including at least one that was never used. 2002-07-15 Maciej Stachowiak WebKit part of fix for Radar 2896356 - cookie "ask for each site" not implemented yet * Panels.subproj/IFPanelCookieAcceptHandler.h: Added. * Panels.subproj/IFPanelCookieAcceptHandler.m: Added. (-[IFPanelCookieAcceptHandler init]): (-[IFPanelCookieAcceptHandler dealloc]): (-[IFPanelCookieAcceptHandler readyToStartCookieAcceptCheck:]): (-[IFPanelCookieAcceptHandler startCookieAcceptCheck:]): (-[IFPanelCookieAcceptHandler cancelCookieAcceptCheck:]): (-[IFPanelCookieAcceptHandler doneWithCheck:returnCode:contextInfo:]): * Panels.subproj/IFStandardPanels.m: (-[IFStandardPanels setUseStandardCookieAcceptPanel:]): (-[IFStandardPanels useStandardCookieAcceptPanel]): * WebKit.pbproj/project.pbxproj: 2002-07-14 Maciej Stachowiak More workarounds for the Objective C++ typecasting bug. * WebView.subproj/IFDOMNode.mm: (-[IFDOMNode initWithWebView:]): * WebView.subproj/IFHTMLViewPrivate.mm: (-[NSView _IF_stopIfPluginView]): * WebView.subproj/IFRenderNode.mm: (-[IFRenderNode initWithWebView:]): * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame reset]): 2002-07-14 Darin Adler Wean WebKit completely from getting at the C++ parts of WebCore. We probably don't need to use C++ at all for WebKit any more. * WebKit.pbproj/project.pbxproj: Remove all the header search paths; we don't need any special ones now. * WebKitPrefix.h: Remove ; we don't need it any more. * Misc.subproj/IFCache.h: Rename getStatistics to statistics. * Misc.subproj/IFCache.mm: (+[IFCache statistics]): (+[IFCache empty]): (+[IFCache setDisabled:]): Call through WebCoreCache instead of going directly to khtml::Cache. (+[IFCache javaScriptObjectsCount]): (+[IFCache javaScriptInterpretersCount]): (+[IFCache javaScriptNoGCAllowedObjectsCount]): (+[IFCache javaScriptReferencedObjectsCount]): (+[IFCache garbageCollectJavaScriptObjects]): Call through WebCoreJavaScript instead of going directly to kjs::Collector. * WebCoreSupport.subproj/IFWebCoreFrame.m: (-[IFWebCoreFrame bridge]): Change to return bridge from the provisional data source if it exists. (-[IFWebCoreFrame committedBridge]): Do what [bridge] used to do, always returning the bridge from the committed data source and never the provisional one. * WebView.subproj/IFHTMLView.mm: (-[IFHTMLView provisionalDataSourceChanged:]): Don't store the provisional widget. It's stored in the bridge for the provisional data source. (-[IFHTMLView provisionalDataSourceCommitted:]): Use the bridge method installInFrame: to do most of the work that used to be here. The rest is don in removeFromFrame which is called elsewhere. (-[IFHTMLView mouseUp:]): Use the bridge's mouseUp method. (-[IFHTMLView mouseDown:]): Use the bridge's mouseDown method. (-[IFHTMLView mouseMovedNotification:]): Use the bridge's mouseMoved method. (-[IFHTMLView mouseDragged:]): Use the bridge's mouseDragged method. * WebView.subproj/IFHTMLViewPrivate.h: Remove the widget, widgetOwned, and provisionalWidget instance variables, and the _widget and _provisionalWidget methods. * WebView.subproj/IFHTMLViewPrivate.mm: (-[IFHTMLView _reset]): Remove the code that deleted the widget and the provisional widget. This is now handled elsewhere. * WebView.subproj/IFDOMNode.mm: Redo to use the copyDOMTree feature of the bridge. * WebView.subproj/IFRenderNode.mm: Redo to use the copyRenderTree feature of the bridge. * WebView.subproj/IFRenderNode.h: Use an NSRect instead of four integers (the switch to floating point is OK). * WebView.subproj/IFWebDataSourcePrivate.h: Add private _removeFromFrame method. * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _removeFromFrame]): Set the controller and location change handler references to nil, and also call [WebCoreBridge removeFromFrame]. * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFramePrivate setDataSource:]): Use _removeFromFrame where we formerly would set the controller and location change handler references to nil. * WebCoreSupport.subproj/IFWebCoreBridge.h: Tweak. 2002-07-13 Darin Adler * Plugins.subproj/IFNullPluginView.mm: (-[IFNullPluginView dealloc]): * WebView.subproj/IFImageRepresentation.m: (-[IFImageRepresentation dealloc]): Fix leaks by adding calls to [super dealloc]. 2002-07-13 Darin Adler * Misc.subproj/IFNSEventExtras.h: Removed. * Misc.subproj/IFNSEventExtras.m: Removed. * WebKit.pbproj/project.pbxproj: Removed IFNSEventExtras.*. * WebCoreSupport.subproj/IFWebCoreBridge.mm: * WebView.subproj/IFWebFrame.mm: * WebView.subproj/IFWebFramePrivate.h: * WebView.subproj/IFWebFramePrivate.mm: Renamed all bridgeFrame to frameBridge for greater clarity. * WebView.subproj/IFHTMLView.mm: Updated comments and commented-out code. * WebView.subproj/IFWebDataSource.h: Fix comment that mentioned IFDefaultWebController. * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _transitionProvisionalToCommitted]): Fix exception string that cited the wrong state name. 2002-07-13 Darin Adler * History.subproj/IFURIEntry.m: (-[IFURIEntry image]): Use [IFURIEntry class] instead of [self class] so we get the icon from the WebKit bundle even if someone subclasses IFURIEntry. * Plugins.subproj/IFNullPluginView.mm: (-[IFNullPluginView initWithFrame:mimeType:arguments:]): Use bundleForClass instead of bundleWithIdentifier so things work even if we have two copies of WebKit installed on the same machine. * Makefile.am: Remove include of embed.am. * WebKit.pbproj/project.pbxproj: Use embed-into-alex instead of make embed. Also change bundle identifier to com.apple.WebKit instead of com.apple.webkit to match standard used by our other frameworks. (Checked that we no longer have any hard-coding of the bundle identifier anywhere in our code.) 2002-07-13 Richard Williamson Fixed 2981849 - frames don't always draw correctly. * WebCoreSupport.subproj/IFWebCoreBridge.mm: (-[IFWebCoreBridge childFrameNamed:]): Check provisional data source first. * WebView.subproj/IFHTMLViewPrivate.h: * WebView.subproj/IFHTMLViewPrivate.mm: (-[IFHTMLView _adjustFrames]): Added method to adjust frame geometry. * WebView.subproj/IFWebDataSourcePrivate.h: * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _layoutChildren]): Added method to adjust child frame geometries. * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _isLoadComplete]): Removed unnecessary drawing now that frame geometry is calculated directly. 2002-07-12 Darin Adler About 1/3 of the remaining work to wean WebKit from its special relationship with WebCore onto explicit interfaces. * Misc.subproj/IFCache.mm: * WebView.subproj/IFDOMNode.mm: * WebView.subproj/IFRenderNode.mm: Mark imports from inside WebCore with #ifndef WEBKIT_INDEPENDENT_OF_WEBCORE. Once these are all gone, the task is done. * Plugins.subproj/IFPlugin.h: * WebCoreSupport.subproj/IFCookieAdapter.h: * WebCoreSupport.subproj/IFImageRenderer.h: * WebCoreSupport.subproj/IFImageRendererFactory.h: * WebCoreSupport.subproj/IFResourceURLHandleClient.m: * WebCoreSupport.subproj/IFTextRenderer.h: * WebCoreSupport.subproj/IFTextRendererFactory.h: * WebCoreSupport.subproj/IFWebCoreBridge.h: * WebCoreSupport.subproj/IFWebCoreViewFactory.h: Use #import for getting at WebCore headers so we don't need to use -I. * WebCoreSupport.subproj/IFWebCoreBridge.mm: (-[IFWebCoreBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): Call setRenderPart on the WebCoreFrame rather than on the IFWebFrame. * WebCoreSupport.subproj/IFWebCoreFrame.h: Subclass from the WebCoreFrame class. * WebCoreSupport.subproj/IFWebCoreFrame.m: (-[IFWebCoreFrame HTMLView]): Add a cast. (-[IFWebCoreFrame widget]): Remove overzealous assert. * WebKit.pbproj/project.pbxproj: Rearranged things a bit. Removed unneeded build phase. * WebView.subproj/IFDocument.h: * WebView.subproj/IFDynamicScrollBarsView.h: * WebView.subproj/IFWebController.h: * WebView.subproj/IFWebControllerPolicyHandler.h: Changed a few stray #include statements to #import statements. * WebView.subproj/IFHTMLView.mm: (-[IFHTMLView provisionalDataSourceCommitted:]): Move the logic for setting up the renderPart in here from IFWebView. (-[IFHTMLView reapplyStyles]): Use the bridge. (-[IFHTMLView layout]): Use the bridge. (-[IFHTMLView drawRect:]): Use the bridge. * WebView.subproj/IFHTMLViewPrivate.h: Remove _takeOwnershipOfWidget which is no longer needed. * WebView.subproj/IFHTMLViewPrivate.mm: (-[NSView _IF_stopIfPluginView]): Added. Use to clean up _reset a bit. (-[IFHTMLView _reset]): Use makeObjectsPerformSelector: for simplicity. * WebView.subproj/IFImageView.h: Remove unneeded IFWebDataSource declaration. * WebView.subproj/IFImageView.m: Just formatting tweaks. * WebView.subproj/IFWebControllerPrivate.mm: Removed unneeded import. * WebView.subproj/IFWebDataSource.mm: Removed unneeded import. * WebView.subproj/IFWebDataSourcePrivate.mm: Removed unneeded import. * WebView.subproj/IFWebFrame.mm: Removed unneeded import. * WebView.subproj/IFWebFramePrivate.h: Remove renderPart field and related declarations. * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFramePrivate dealloc]): No need to let go of renderPart any more. (-[IFWebFrame _transitionProvisionalToCommitted]): Move logic into IFHTMLView. * WebView.subproj/IFWebView.h: Be a bit more specific about the type of documentView. 2002-07-12 Chris Blumenberg Only accept drags of 1 file. * WebView.subproj/IFWebView.mm: (-[IFWebView draggingEntered:]): 2002-07-12 Darin Adler Fix cancelling. My recent check-in broke it for downloads. * WebCoreSupport.subproj/IFResourceURLHandleClient.m: (-[IFResourceURLHandleClient receivedError:forHandle:]): Helper function to save code. (-[IFResourceURLHandleClient IFURLHandleResourceDidCancelLoading:]): Use an error for cancel rather than -1,-1 progress. * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient receivedProgressWithHandle:complete:]): Remove -1,-1 handling here; instead we treat it as an error. (-[IFMainURLHandleClient receivedError:forHandle:]): Remove most of the parameters since they are things we can compute ourselves. (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]): Use an error for cancel rather than -1,-1 progress. * WebView.subproj/IFWebControllerPrivate.mm: (-[IFWebController _receivedProgress:forResourceHandle:fromDataSource:complete:]): Remove the -1,-1 cancel handling; we use an error instead. (-[IFWebController _mainReceivedProgress:forResourceHandle:fromDataSource:complete:]): Remove the -1,-1 cancel handling; we use an error instead. (-[IFWebController _receivedError:forResourceHandle:partialProgress:fromDataSource:]): Remove the _isStopping check. We want to do the additional work even if already stopping. (-[IFWebController _mainReceivedError:forResourceHandle:partialProgress:fromDataSource:]): Remove the _isStopping check. We want to do the additional work even if already stopping. * WebView.subproj/IFWebView.mm: (-[IFWebView keyDown:]): Use NSDeleteCharacter. 2002-07-12 Darin Adler * WebView.subproj/IFWebDataSource.mm: (+[IFWebDataSource registerRepresentationClass:forMIMEType:]): Use self instead of [self class]. (+[IFWebDataSource createRepresentationForMIMEType:]): Use the new _IF_objectForMIMEType to simplify and use hash table instead of linear search. * WebView.subproj/IFWebDataSourcePrivate.mm: (+[IFWebDataSource _repTypes]): Use initWithObjectsAndKeys for brevity and a tiny tiny bit of efficiency. (+[IFWebDataSource _canShowMIMEType:]): Use the new _IF_objectForMIMEType to simplify and use hash table instead of linear search. * WebView.subproj/IFWebView.mm: (+[IFWebView registerViewClass:forMIMEType:]): Use self instead of [self class]. (+[IFWebView createViewForMIMEType:]): Use the new _IF_objectForMIMEType to simplify and use hash table instead of linear search. * WebView.subproj/IFWebViewPrivate.mm: (+[IFWebView _canShowMIMEType:]): Use the new _IF_objectForMIMEType to simplify and use hash table instead of linear search. 2002-07-12 Darin Adler * WebKit.pbproj/project.pbxproj: Re-added JavaScriptCore, which I removed by accident. 2002-07-12 Darin Adler * WebKit.pbproj/project.pbxproj: Don't include the html4.css file from WebCore any more. WebCore handles this on its own now. Also, don't include the document templates; we don't use them any more. * Resources/image_document_template.html: Removed. * Resources/plugin_document_template.html: Removed. * Resources/text_document_template.html: Removed. * Makefile.am: Small tweak to the force-clean-timestamp logic. 2002-07-11 Chris Blumenberg Fix for: 2986548 - Crash if you drop URL of frameset page onto frame 2953421 - document dragged into frame should replace frameset * WebView.subproj/IFWebView.mm: (-[IFWebView draggingEntered:]): removed obsolute comment (-[IFWebView performDragOperation:]): moved implementation from here (-[IFWebView concludeDragOperation:]): to here, added support for NSURL drags 2002-07-11 Darin Adler * WebView.subproj/IFWebViewPrivate.mm: (+[IFWebView _viewTypes]): Changed back to a mutable dictionary. Oops. 2002-07-11 John Sullivan - fixed 2980779 -- no scroll bar in history window * WebKit.pbproj/project.pbxproj: Removed nonexistent .h file from project list (IFGrabBag.h) * WebView.subproj/IFDynamicScrollBarsView.h: Renamed field allowsScrolling to disallowsScrolling * WebView.subproj/IFDynamicScrollBarsView.m: (-[IFDynamicScrollBarsView updateScrollers]): (-[IFDynamicScrollBarsView setAllowsScrolling:]): (-[IFDynamicScrollBarsView allowsScrolling]): Removed initWithFrame override, whose only purpose was to set allowsScrolling to the "default" value (but not good enough for load-from-nib case). Changed all users of allowsScrolling to !disallowsScrolling instead. 2002-07-11 Chris Blumenberg * Plugins.subproj/IFPluginNullEventSender.h: * Plugins.subproj/IFPluginNullEventSender.m: (-[IFPluginNullEventSender initWithPluginView:]): renamed, simplified (-[IFPluginNullEventSender stop]): call plugin debug function * Plugins.subproj/IFPluginView.h: * Plugins.subproj/IFPluginView.mm: (-[IFPluginView start]): call new initWithPluginView (-[IFPluginView windowWillClose:]): added back to fix plugin view leak (-[IFPluginView NPP_HandleEvent]): added 2002-07-11 Darin Adler - fixed 2930872 -- option-arrow keys should page up and down - fixed 2924727 -- Delete does not go to previous page * WebView.subproj/IFHTMLView.mm: Disable the keyDown and keyUp methods here. We don't really need to pass these events to KHTMLView at the moment. See the comment in this file for further explanation. This paves the way to handle keys other than arrow keys in IFWebView. * WebView.subproj/IFWebController.h: Add temporary goBack method to IFWindowContext. See comment for more. * WebView.subproj/IFWebView.mm: (-[IFWebView keyDown:]): Add handling for option arrow keys, space (page down), shift-space (page up), and delete (go back). Also make this call super if the key is not handled so keys make their way back to the superview in the application. * WebView.subproj/IFWebViewPrivate.h: Add _pageLeft, _pageRight, _goBack. * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView _pageHorizontally:]): Added. (-[IFWebView _pageLeft]): Added. (-[IFWebView _pageRight]): Added. (+[IFWebView _viewTypes]): Simplify. (-[IFWebView _goBack]): Added. Calls [IFWindowContext goBack]. 2002-07-10 Darin Adler - fixed 2973738 -- box characters To be consistent with other browsers, we need to draw nothing for 0000-001F. We were drawing boxes. * WebCoreSupport.subproj/IFTextRenderer.m: (-[IFTextRenderer convertCharacters:length:toGlyphs:skipControlCharacters:]): Add the skipControlCharacters parameter. If YES, don't include glyphs for characters in the 0000-001F range. (-[IFTextRenderer slowPackGlyphsForCharacters:numCharacters:glyphBuffer:numGlyphs:]): Pass skipControlCharacters:YES. (-[IFTextRenderer _drawCharacters:length:fromCharacterPosition:toCharacterPosition:atPoint:withTextColor:backgroundColor:]): Skip control characters when creating the glyph array. (-[IFTextRenderer slowFloatWidthForCharacters:stringLength:fromCharacterPostion:numberOfCharacters:applyRounding:]): Pass skipControlCharacters:YES. (-[IFTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:applyRounding:attemptFontSubstitution:]): Skip control characters when computing the width. (-[IFTextRenderer extendCharacterToGlyphMapToInclude:]): Pass skipControlCharacters:NO. 2002-07-10 Darin Adler - fixed 2986273 -- assert currentURL isEqual:[handle redirectedURL] ? [handle redirectedURL] : [handle url] Since cancel prevents further notification from getting through, currentURL can get out of sync before cancelling, so we can't assert in the cancel function. * WebCoreSupport.subproj/IFResourceURLHandleClient.m: (-[IFResourceURLHandleClient IFURLHandleResourceDidCancelLoading:]): Remove assert. * WebView.subproj/IFMainURLHandleClient.h: Remove unnecessary includes. Change type of dataSource to IFWebDataSource from id. Change url to currentURL to match IFResourceURLHandleClient. * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient initWithDataSource:]): Simplify. (-[IFMainURLHandleClient didStartLoadingWithURL:]): Copied here from IFResourceURLHandleClient as a first step toward using a common superclass some day. (-[IFMainURLHandleClient didStopLoading]): Copied here from IFResourceURLHandleClient as a first step toward using a common superclass some day. (-[IFMainURLHandleClient dealloc]): Add an assert. (-[IFMainURLHandleClient receivedProgressWithHandle:complete:]): Removed most of the parameters to make this match the one in IFResourceURLHandleClient. (-[IFMainURLHandleClient IFURLHandleResourceDidBeginLoading:]): Use didStartLoadingWithURL. (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]): Use receivedProgressWithHandle and didStopLoading. (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]): Use receivedProgressWithHandle and didStopLoading. (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): Use receivedProgressWithHandle. (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]): Use receivedProgressWithHandle and didStopLoading. (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]): Use didStopLoading and didStartLoadingWithURL. 2002-07-10 Maciej Stachowiak WebKit part of fix for: Radar 2953250 - JavaScript window.focus() and window.blur() methods don't work * WebCoreSupport.subproj/IFWebCoreBridge.mm: (-[IFWebCoreBridge unfocusWindow]): Use private AppKit interface to cycle windows if the window is the key window. 2002-07-10 Darin Adler - fixed 2983025 -- crash in sendEvent on pages with flash playing * Plugins.subproj/IFPluginView.mm: (-[IFPluginView removeTrackingRect]): New, removes tracking rect and releases window. (-[IFPluginView resetTrackingRect]): New, adds tracking rect and retains window. (-[IFPluginView start]): Use resetTrackingRect. (-[IFPluginView stop]): Use removeTrackingRect. (-[IFPluginView viewWillMoveToWindow:]): Call removeTrackingRect because the window will change by the time we get to viewDidMoveToWindow. (-[IFPluginView viewDidMoveToWindow]): Call resetTrackingRect. (-[IFPluginView viewHasMoved:]): Call resetTrackingRect. 2002-07-10 Darin Adler * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView _scrollToBottomLeft]): Fix this to use the document view to define what the bottom left is, not the content view (which is often much smaller than the document). 2002-07-10 Chris Blumenberg Fixes for: 2981866 - Download doesn't appear in Downloads window if link was command-clicked 2965312 - Download progress not shown when clicking on download link with Alex not running * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): retain the downloadProgressHandler before calling requestContentPolicy as the web controller may be released in requestContentPolicy 2002-07-10 Chris Blumenberg Fix for: 2976311 - Download fails if you close the window that started the download 2976308 - Can't navigate in window while download started in that window is in progress * WebView.subproj/IFMainURLHandleClient.h: * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient dealloc]): (-[IFMainURLHandleClient _receivedProgress:forResourceHandle:fromDataSource:complete:]): added, sends progress to correct handler (-[IFMainURLHandleClient _receivedError:forResourceHandle:partialProgress:fromDataSource:]): added, sends progress to correct handler (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]): calls _receivedProgress (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]): calls _receivedProgress (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): calls _receivedProgress (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]): calls _receivedError * WebView.subproj/IFWebController.h: * WebView.subproj/IFWebController.mm: (-[IFWebController setDownloadProgressHandler:]): added (-[IFWebController downloadProgressHandler]): added * WebView.subproj/IFWebControllerPrivate.h: * WebView.subproj/IFWebControllerPrivate.mm: (-[IFWebController _mainReceivedProgress:forResourceHandle:fromDataSource:complete:]): removed download special-casing 2002-07-10 Maciej Stachowiak * WebView.subproj/IFGrabBag.h: Removed. * WebView.subproj/IFWebController.h: Move IFContextMenuHandler here. 2002-07-10 Darin Adler Did some tweaks that weren't really necessary. But at least one is a significant improvement so I decided to commit rather then just discarding the changes. * Bookmarks.subproj/IFBookmark.m: (-[IFBookmark title]): Take out special case for separator. (-[IFBookmark setTitle:]): Take out special case for separator. (-[IFBookmark image]): Take out special case for separator. (-[IFBookmark setImage:]): Take out special case for separator. (-[IFBookmark setURLString:]): Take out special case for non-leaf. (-[IFBookmark children]): Take out request for concrete implementation; this is not useful since it's specific to one subclass. (-[IFBookmark numberOfChildren]): Take out request for concrete implementation; this is not useful since it's specific to one subclass. (-[IFBookmark _numberOfDescendants]): Take out request for concrete implementation; this is not useful since it's specific to one subclass. (-[IFBookmark insertChild:atIndex:]): Take out special case for non-list. (-[IFBookmark removeChild:]): Take out special case for non-list. (+[IFBookmark bookmarkFromDictionaryRepresentation:withGroup:]): Refactored to eliminate repeated code. * Bookmarks.subproj/IFBookmarkLeaf.m: (-[IFBookmarkLeaf copyWithZone:]): Use allocWithZone to be more pedantically correct. * Bookmarks.subproj/IFBookmarkSeparator.m: (-[IFBookmarkSeparator title]): Override to return nil. (-[IFBookmarkSeparator image]): Override to return nil. 2002-07-10 Darin Adler * Misc.subproj/WebKitDebug.m: Remove workaround for long-ago fixed C compiler bug. * Plugins.subproj/IFPluginView.mm: (-[IFPluginView keyUp:]), (-[IFPluginView keyDown:]): Simplify keyboard scrolling code by passing along all events that the plug-in doesn't handle rather than special-casing certain events. Also use super rather than nextResponder to pass along the scroll events (super will do nextResponder). * WebView.subproj/IFHTMLView.mm: (-[IFHTMLView keyDown:]), (-[IFHTMLView keyUp:]): Use super rather than nextResponder to pass along scroll events (super will do nextResponder). 2002-07-08 Chris Blumenberg Fixes for: 2955757 - Keyboard scrolling code needs to move to WebKit 2937231 - Left and right arrows should scroll the content area * Misc.subproj/IFNSEventExtras.h: Added. * Misc.subproj/IFNSEventExtras.m: Added. (-[NSEvent _IF_isScrollEvent]): new * Plugins.subproj/IFPluginView.mm: (-[IFPluginView keyUp:]): if plug-in doesn't accept it, send to nextResponder (-[IFPluginView keyDown:]): if plug-in doesn't accept it, send to nextResponder * WebKit.pbproj/project.pbxproj: * WebView.subproj/IFHTMLView.mm: (-[IFHTMLView keyDown:]): calls _IF_isScrollEvent, if so send to nextResponder (-[IFHTMLView keyUp:]): calls _IF_isScrollEvent, if so send to nextResponder * WebView.subproj/IFWebView.mm: (-[IFWebView acceptsFirstResponder]): added (-[IFWebView window]): no changes (-[IFWebView keyDown:]): added, does the scroll * WebView.subproj/IFWebViewPrivate.h: * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView _contentView]): added (-[IFWebView _scrollVerticallyBy:]): added, moved from BrowserWindow.m (-[IFWebView _scrollHorizontallyBy:]): added, moved from BrowserWindow.m (-[IFWebView _pageVertically:]): added, moved from BrowserWindow.m (-[IFWebView _scrollLineVertically:]): added, moved from BrowserWindow.m (-[IFWebView _scrollLineHorizontally:]): added, moved from BrowserWindow.m (-[IFWebView _pageDown]): added, moved from BrowserWindow.m (-[IFWebView _pageUp]): added, moved from BrowserWindow.m (-[IFWebView _scrollToTopLeft]): added, moved from BrowserWindow.m (-[IFWebView _scrollToBottomLeft]): added, moved from BrowserWindow.m (-[IFWebView _lineDown]): added, moved from BrowserWindow.m (-[IFWebView _lineUp]): added, moved from BrowserWindow.m (-[IFWebView _lineLeft]): added, moved from BrowserWindow.m (-[IFWebView _lineRight]): added, moved from BrowserWindow.m 2002-07-08 Darin Adler * WebCoreSupport.subproj/IFWebCoreBridge.mm: Fix compiles under newer compiler (Jaguar 6C89 and newer) by adding missing include. 2002-07-07 Maciej Stachowiak WebCore part of fix for Radar 2953431 - JavaScript window.close() method is not working * WebCoreSupport.subproj/IFWebCoreBridge.mm: (-[IFWebCoreBridge openedByScript]): Implement by calling controller. (-[IFWebCoreBridge setOpenedByScript:]): Likewise. * WebView.subproj/IFWebControllerPrivate.h: * WebView.subproj/IFWebControllerPrivate.mm: (-[IFWebController _openedByScript]): Implement. (-[IFWebController _setOpenedByScript:]): Implement. 2002-07-05 Darin Adler Fix crashes I saw with zombies enabled caused by messing with windows that are in the process of being destroyed. * Plugins.subproj/IFPluginView.mm: (-[IFPluginView start]): Remove windowWillClose notification because we use viewDidMoveToWindow instead. (-[IFPluginView viewDidMoveToWindow]): Use this instead of viewWillMoveToWindow. * WebView.subproj/IFHTMLView.mm: (-[IFHTMLView viewDidMoveToWindow]): Use this instead of viewWillMoveToWindow. * WebView.subproj/IFHTMLViewPrivate.h: Need a boolean flag to tell window changes before the first time we are installed from window changes afterward. * WebView.subproj/IFImageView.m: (-[IFImageView viewDidMoveToWindow]): Use this instead of viewWillMoveToWindow. 2002-07-04 Maciej Stachowiak * WebView.subproj/IFHTMLView.mm: (-[IFHTMLView mouseMovedNotification:]): Pass the modifier flags along for mouse move events. 2002-07-04 John Sullivan * WebView.subproj/IFDynamicScrollBarsView.h: Updated FIXME to mention bug number. 2002-07-03 Chris Blumenberg - Fix for 2975750 - Removed Java workaround since that will be fixed soon. * Plugins.subproj/IFPlugin.h: * Plugins.subproj/IFPlugin.m: (-[IFPlugin _openResourceFile]): added (-[IFPlugin _closeResourceFile:]): added (-[IFPlugin _getPluginInfo]): rename (-[IFPlugin initWithPath:]): simplified (-[IFPlugin load]): calls _openResourceFile (-[IFPlugin unload]): calls _closeResourceFile * Plugins.subproj/IFPluginView.mm: (-[IFPluginView setUpWindowAndPort]): removed Java workaround 2002-07-03 Darin Adler * Misc.subproj/IFException.h: Use Objective C header style rather than plain C. === Alexander-11 === 2002-07-03 Darin Adler * Misc.subproj/IFDownloadHandler.mm: (-[IFDownloadHandler finishedLoading]): * WebView.subproj/IFWebController.h: A couple places where it still said IFContentPolicyOpenExternally. 2002-07-03 Maciej Stachowiak WebKit part of fixes for: Radar 2950616 - JavaScript window.screenX and window.screenY always return -1 Radar 2950614 - JavaScript window.screenLeft and window.screenTop properties are unimplemented Radar 2950609 - JavaScript window.outerHeight and window.outerWidth properties always return 0 * WebView.subproj/IFHTMLView.mm: (-[IFHTMLView provisionalDataSourceChanged:]): Pass the real document view to the newly created bridge, since it will be ready by now and is needed by JavaScript. 2002-07-03 Maciej Stachowiak * Plugins.subproj/IFPluginView.mm: (-[IFPluginView status:]): Fix build problem. Why doesn't compiling catch these more reliably? 2002-07-03 Richard Williamson * Misc.subproj/IFNSViewExtras.m: (-[NSView _IF_printViewHierarchy:]): Debugging help. * WebView.subproj/IFHTMLView.mm: (-[IFHTMLView layout]): Added setLayouted(false). * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _isLoadComplete]): Tweaks attempting to fix frame drawing problems. 2002-07-03 Maciej Stachowiak WebCore part of fix for: Radar 2943465 - JavaScript window.defaultStatus property not implemented Radar 2943464 - JavaScript window.status property is not implemented Radar 2926213 - show url of moused-over link in status bar * WebCoreSupport.subproj/IFWebCoreBridge.mm: (-[IFWebCoreBridge setStatusText:]): Connect bridge status text setting to window context. * WebView.subproj/IFWebController.h: 2002-07-02 Chris Blumenberg Added IFFileURLPolicyReveal. This makes things a little clearer for the client. * WebView.subproj/IFWebControllerPolicyHandler.h: * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _shouldShowDataSource:]): support for IFFileURLPolicyReveal. 2002-07-02 Darin Adler * WebCoreSupport.subproj/IFImageRenderer.m: (-[IFImageRenderer incrementalLoadWithBytes:length:complete:]): Fixed a syntax error caused by a "just before committing" edit. 2002-07-02 Darin Adler - fixed 2952837 -- image not rendered if height or width attributes specified incorrectly * WebCoreSupport.subproj/IFImageRenderer.m: (-[IFImageRenderer incrementalLoadWithBytes:length:complete:]): Set the size of both the image and the image representation. 2002-07-02 Chris Blumenberg Can't call startLoading on a frame if setProvisionalDataSource returned NO. * Plugins.subproj/IFPluginView.mm: (-[IFPluginView loadURL:inTarget:withNotifyData:andHandleAttributes:]): * WebCoreSupport.subproj/IFWebCoreFrame.m: (-[IFWebCoreFrame loadURL:attributes:flags:withParent:]): * WebView.subproj/IFWebView.mm: (-[IFWebView performDragOperation:]): 2002-07-02 Chris Blumenberg Fixed asseration failure caused by an iframe not having a correct mime type. We now assume that local files without extensions are html files. * WebView.subproj/IFWebControllerPrivate.mm: (+[IFWebController _MIMETypeForFile:]): 2002-07-02 Chris Blumenberg - Moved all policy methods to IFWebControllerPolicyHandler.h - Moved all file URL error checking to WebKit - Implemented file URL policy methods - Renamed IFContentPolicyOpenExternally to IFContentPolicySaveAndOpenExternally * Misc.subproj/IFWebKitErrors.h: Added. * WebKit.pbproj/project.pbxproj: * WebView.subproj/IFLocationChangeHandler.h: removed content policy stuff * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]): IFContentPolicySaveAndOpenExternally rename (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): call the policy handler for content policy stuff * WebView.subproj/IFWebController.h: * WebView.subproj/IFWebController.mm: (-[IFWebController haveContentPolicy:andPath:forDataSource:]): sends a unableToImplementContentPolicy: (+[IFWebController canShowFile:]): now calls _MIMETypeForFile * WebView.subproj/IFWebControllerPolicyHandler.h: Added. * WebView.subproj/IFWebControllerPrivate.h: * WebView.subproj/IFWebControllerPrivate.mm: (-[IFWebController _mainReceivedProgress:forResourceHandle:fromDataSource:complete:]): IFContentPolicySaveAndOpenExternally rename (-[IFWebController _didStopLoading:]): no changes (+[IFWebController _MIMETypeForFile:]): added * WebView.subproj/IFWebDataSource.h: * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame setProvisionalDataSource:]): calls _shouldShowDataSource * WebView.subproj/IFWebFramePrivate.h: * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _bridgeFrame]): no changes (-[IFWebFrame _shouldShowDataSource:]): does the error handling * WebView.subproj/IFWebView.mm: (+[IFWebView initialize]): registers WebKit errors 2002-07-02 Richard Williamson * WebView.subproj/IFRenderNode.mm: (-[IFRenderNode initWithRenderObject:khtml::]): Fixed regression that prevented showing of nodes in subframes. 2002-07-02 Darin Adler * Plugins.subproj/IFPluginView.mm: (-[IFPluginView setWindow]), (-[IFPluginView start]), (-[IFPluginView stop]): Fix unused variable issue that affects deployment builds. 2002-07-02 John Sullivan Remove unnecessary code to fill with white from here; this code path has changed. Now it just bails out early in the case where there's no widget. * WebView.subproj/IFHTMLView.mm: (-[IFHTMLView drawRect:]): 2002-07-02 John Sullivan Made IFWebView fill with white when there's no document view. This fixes: - 2978210 -- problems with "hide status bar" - 2978742 -- Resizing initially-empty Alexander window results in garbage in window * WebView.subproj/IFWebView.mm: (-[IFWebView drawRect:]): 2002-07-02 Darin Adler * WebView.subproj/IFMainURLHandleClient.mm: Fix comment. 2002-07-02 Darin Adler - fixed 2975790 - Ads on salon.com scribble all over page * Plugins.subproj/IFPluginView.mm: (-[IFPluginView setUpWindowAndPort]): New, sets up the window, but does not call NPP_SetWindow again. (-[IFPluginView setWindow]): Call [setUpWindowAndPort] then call NPP_SetWindow. (-[IFPluginView start]): Register for changes to the bounds or frame of any of our superviews, not just one particular one. Also, don't bother to register for notification when the window resizes. Finally, use the constants for the names of the notifications, not literal strings. (-[IFPluginView layout]): Just use [setUpWindowAndPort]; no need for a new call to NPP_SetWindow. (-[IFPluginView viewHasMoved:]): Just use [setUpWindowAndPort]; no need for a new call to NPP_SetWindow. 2002-07-01 Maciej Stachowiak * WebView.subproj/IFWebView.mm: (-[IFWebView window]): If the view hasn't been added to a window yet, get the window from the WindowContext. 2002-07-01 Richard Williamson * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]): Ensure that _didStopLoading is called for both error case and non-error case. 2002-07-01 Richard Williamson * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]): A completion message was being sent, as well as an error message. This, no doubt confused Alexander. No only send either the final error message or the completion message. 2002-07-01 Darin Adler Ken fixed the load message sequencing problem in WebFoundation, so now we can go back to the original versions of the asserts. * WebCoreSupport.subproj/IFResourceURLHandleClient.m: (-[IFResourceURLHandleClient dealloc]): (-[IFResourceURLHandleClient IFURLHandleResourceDidCancelLoading:]): (-[IFResourceURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]): * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient dealloc]): (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]): Roll out the stuff that's ifdef'd and marked with bug 2954901. 2002-07-01 Darin Adler * WebView.subproj/IFDynamicScrollBarsView.m: (-[IFDynamicScrollBarsView updateScrollers]): After a closer reading of the NSScrollView source code, I see that we don't need to explicitly do tile or setNeedsDisplay: because the setters take care of that, so I made this simpler. (-[IFDynamicScrollBarsView reflectScrolledClipView:]): Replace the anti- recursion hack that I erroneously removed earlier. * WebView.subproj/IFTextView.h: Removed the isRTF flag. * WebView.subproj/IFTextView.m: (-[IFTextView provisionalDataSourceChanged:]): Do nothing here. (-[IFTextView dataSourceUpdated:]): Check the MIME type here. 2002-07-01 Richard Williamson Fixed 2976913. * WebView.subproj/IFHTMLView.mm: (-[IFHTMLView layout]): Augmented debugging info. (-[IFHTMLView setNeedsDisplay:]): Augmented debugging info. (-[IFHTMLView setNeedsLayout:]): Removed overload of this method to also set display flag. Why was this added? (-[IFHTMLView setNeedsToApplyStyles:]): Augmented debugging info. (-[IFHTMLView drawRect:]): Augmented debugging info. * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _timedLayout:]): If the view size is zero (width or height) force a layout now, rather than depending on the lazy layout that will happen in display. If the view size is 0,0 the AppKit will optimize out the display. 2002-07-01 Chris Blumenberg Minor cleanup * Plugins.subproj/IFNullPluginView.mm: (-[IFNullPluginView initWithFrame:mimeType:arguments:]): (-[IFNullPluginView dealloc]): 2002-07-01 Darin Adler * Plugins.subproj/IFPlugin.m: (-[IFPlugin _getPluginInfoForResourceFile:]): Fix off-by one error that would cause a memory trasher if we had a 255-character string. * WebView.subproj/IFHTMLView.mm: * WebView.subproj/IFRenderNode.mm: Touch these files so we don't have to do a full build of WebKit for my WebCore changes. 2002-07-01 Maciej Stachowiak Build fixes (don't know why a plain build didn't catch these): * Plugins.subproj/IFPluginView.mm: openNewWindowWithURL: is not a method of the controller any more, nor are the status-related calls. * WebView.subproj/IFWebController.h: Un-ifdef the status calls. 2002-07-01 Maciej Stachowiak Part of fix for Radar 2976618 - links targeting _blank hit assertion trying to set provisional data source * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame frameNamed:]): Show the window. 2002-07-01 Maciej Stachowiak Fix Radar 2953256 - Auth sheet appears detached when clicking directly on auth link with Alex not running * Panels.subproj/IFStandardPanels.m: (-[IFStandardPanels frontmostWindowLoadingURL:]): Don't consider windows that are not visible. 2002-06-29 Darin Adler * WebCoreSupport.subproj/IFImageRenderer.m: (-[IFImageRenderer tileInRect:fromPoint:]): Fix calculation of oneTileRect. I think this is finally correct now. 2002-06-29 Maciej Stachowiak WebKit part of fix for: Radar 2942074 - JavaScript size, positioning and feature parameters to window.open are ignored Also, renamed IFScriptContextHandler protocol to IFWindowContext, and made it a settable handler like the others rather than something implemented by the controller, so it can be used w/o subclassing. * WebCoreSupport.subproj/IFWebCoreBridge.mm: (-[IFWebCoreBridge openNewWindowWithURL:]): Forward to the WindowContext. (-[IFWebCoreBridge areToolbarsVisisble]): Likewise. (-[IFWebCoreBridge setToolbarsVisible:]): Likewise. (-[IFWebCoreBridge areScrollbarsVisible]): Likewise. (-[IFWebCoreBridge setScrollbarsVisible:]): Likewise. (-[IFWebCoreBridge isStatusBarVisisble]): Likewise. (-[IFWebCoreBridge setStatusBarVisible:]): Likewise. (-[IFWebCoreBridge setWindowFrame:]): Likewise. (-[IFWebCoreBridge window]): Likewise. * WebView.subproj/IFWebController.h: * WebView.subproj/IFWebController.mm: (-[IFWebController setWindowContext:]): Setter for new WindowContext handler (-[IFWebController windowContext]): Likewise. * WebView.subproj/IFWebControllerPrivate.h: * WebView.subproj/IFWebControllerPrivate.mm: (-[IFWebControllerPrivate dealloc]): Release window context. * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame frameNamed:]): Open new windows via WindowContext. 2002-06-28 Darin Adler * WebCoreSupport.subproj/IFImageRenderer.h: Renamed statusOfCache to patternColorLoadStatus for clarity. * WebCoreSupport.subproj/IFImageRenderer.m: (-[IFImageRenderer copyWithZone:]): Add FIXME. (-[IFImageRenderer tileInRect:fromPoint:]): Add optimization for the case where a single draw of the image will cover the entire area to be tiled. Also add comments and make other small improvements. 2002-06-28 Richard Williamson Use float character measurement to determine selection region. Necessary to ensure accuracy of selection region. First step towards weaning khtml off int measurements. * WebCoreSupport.subproj/IFImageRenderer.m: (-[IFImageRenderer tileInRect:fromPoint:]): Cleaned up use of loadStatus. * WebCoreSupport.subproj/IFTextRenderer.m: (-[IFTextRenderer slowFloatWidthForCharacters:stringLength:fromCharacterPostion:numberOfCharacters:applyRounding:]): (-[IFTextRenderer floatWidthForCharacters:stringLength:characterPosition:]): (-[IFTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:applyRounding:attemptFontSubstitution:]): 2002-06-28 Chris Blumenberg * WebView.subproj/IFMainURLHandleClient.h: * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient downloadHandler]): added (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]): removed [downloadHandler cancel] * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource stopLoading]): call [downloadHandler cancel] here so clean up is done immediately. 2002-06-27 Richard Williamson Fixed tiling of progressively loaded images. * WebCoreSupport.subproj/IFImageRenderer.h: * WebCoreSupport.subproj/IFImageRenderer.m: (-[IFImageRenderer initWithSize:]): (-[IFImageRenderer incrementalLoadWithBytes:length:complete:]): (-[IFImageRenderer loadStatus]): (-[IFImageRenderer tileInRect:fromPoint:]): 2002-06-27 Richard Williamson * WebCoreSupport.subproj/IFImageRenderer.h: * WebCoreSupport.subproj/IFImageRenderer.m: (-[IFImageRenderer incrementalLoadWithBytes:length:complete:]): (-[IFImageRenderer loadStatus]): (-[IFImageRenderer tileInRect:fromPoint:]): 2002-06-27 Richard Williamson * WebCoreSupport.subproj/IFTextRenderer.m: (-[IFTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:applyRounding:attemptFontSubstitution:]): Fixed uninitialized variable warning. Compile being too aggressive, broke deployment build. 2002-06-27 Chris Blumenberg Fixed plug-in positioning. * Plugins.subproj/IFPluginView.mm: (-[IFPluginView initWithFrame:plugin:url:baseURL:mime:arguments:]): added some logging. (-[IFPluginView setWindow]): Use the window's content view as the guide for the port's coordinates. Also added a workaround for Java. 2002-06-27 Darin Adler Fixed DOM tree viewer. * WebView.subproj/IFDOMNode.mm: (-[IFDOMNode initWithDOMNode:DOM::]): A typo got in here somehow, leading to an infinite loop. 2002-06-27 Darin Adler - fixed 2973212 -- bad arg string != nil in _IF_URLWithString * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _startLoading:]): Get rid of essentially-dead code that computed but did not use a URL. Also order operations so that we first set the flag to say that we're loading, then tell the location change handler, and only then ask for the actual I/O to being. * WebView.subproj/IFBaseLocationChangeHandler.h: Removed. * WebView.subproj/IFBaseLocationChangeHandler.m: Removed. === Alexander-10 === 2002-06-27 Richard Williamson Method name changes in preparation for fixing TextSlave::checkSelectionPoint(). Stubbed only, no support for new parameters yet. * Misc.subproj/IFStringTruncator.m: (+[IFStringTruncator centerTruncateString:toWidth:withFont:]): * WebCoreSupport.subproj/IFTextRenderer.h: * WebCoreSupport.subproj/IFTextRenderer.m: (-[IFTextRenderer slowFloatWidthForCharacters:stringLength:fromCharacterPostion:numberOfCharacters:applyRounding:]): (-[IFTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]): (-[IFTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:applyRounding:attemptFontSubstitution:]): (-[IFTextRenderer widthForCharacters:length:]): (-[IFTextRenderer widthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]): 2002-06-27 Richard Williamson Removed old methods and references. * WebCoreSupport.subproj/IFTextRenderer.m: (-[IFTextRenderer drawString:atPoint:withColor:]): (-[IFTextRenderer slowDrawCharacters:length:fromCharacterPosition:toCharacterPosition:atPoint:withTextColor:backgroundColor:attemptFontSubstitution:]): (-[IFTextRenderer _drawCharacters:length:fromCharacterPosition:toCharacterPosition:atPoint:withTextColor:backgroundColor:]): Fixed final fragment rendering glitch. 2002-06-27 Darin Adler * WebCoreSupport.subproj/IFWebCoreViewFactory.m: (-[IFWebCoreViewFactory viewForJavaAppletWithFrame:baseURL:parameters:]): Pass baseURL as a separate parameter. * WebView.subproj/IFBaseLocationChangeHandler.m: Fix a typo. I think this file might be unneeded, but I won't delete it until I hear from Chris. 2002-06-27 Richard Williamson Fix selection in 'slow' code path (non-base characters and font substitution). * WebCoreSupport.subproj/IFTextRenderer.m: (-[IFTextRenderer drawGlyphs:numGlyphs:fromGlyphPosition:toGlyphPosition:atPoint:withTextColor:backgroundColor:]): (-[IFTextRenderer slowDrawCharacters:length:fromCharacterPosition:toCharacterPosition:atPoint:withTextColor:backgroundColor:attemptFontSubstitution:]): 2002-06-27 Richard Williamson Implemented auto scrolling. * WebView.subproj/IFHTMLView.mm: (-[IFHTMLView mouseDragged:]): 2002-06-27 Richard Williamson Implement selectAll. * WebView.subproj/IFHTMLView.mm: (-[IFHTMLView selectAll:]): 2002-06-27 Maciej Stachowiak WebKit part of fixes for JavaScript cookie bugs: 2943749 - JavaScript navigator.cookieEnabled property is always "true" 2856039 - JavaScript document.cookies property is not implemented Thereby also fixing: 2944378 - Trying to log into my Yahoo web mail account sent Alexander into a loop * WebCoreSupport.subproj/IFCookieAdapter.h: Added. * WebCoreSupport.subproj/IFCookieAdapter.m: Added. (+[IFCookieAdapter createSharedAdapter]): Set up an instance of IFCookieAdapter as the WebCoreCookieAdapter shared instance. (-[IFCookieAdapter cookiesEnabled]): Implement in terms of WebFoundation stuff. (-[IFCookieAdapter cookiesForURL:]): Likewise. (-[IFCookieAdapter setCookies:forURL:]): Likewise. * WebKit.pbproj/project.pbxproj: Add new files to build. * WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]): Hook up the cookie adapter just like the various factory classes. 2002-06-27 Chris Blumenberg Support for Java. * Plugins.subproj/IFPluginView.mm: (-[IFPluginView initWithFrame:plugin:url:baseURL:mime:arguments:]): set DOCBASE argument * WebCoreSupport.subproj/IFWebCoreViewFactory.m: (-[IFWebCoreViewFactory viewForJavaAppletWithFrame:andArguments:]): renamed 2002-06-26 Richard Williamson Many improvements to selection. More Cocoa like, normalized all text drawing code paths for selected and unselected cases. Still need to work on: 1. 'slow' drawing cases, i.e. runs with non-base characters or runs requiring font substitution. 2. Select All menu item. 3. Auto scrolling. * WebCoreSupport.subproj/IFTextRenderer.m: (-[IFTextRenderer drawString:atPoint:withColor:]): (-[IFTextRenderer drawGlyphs:numGlyphs:fromGlyphPosition:toGlyphPosition:atPoint:withTextColor:backgroundColor:]): (-[IFTextRenderer slowDrawCharacters:length:fromCharacterPosition:toCharacterPosition:atPoint:withTextColor:backgroundColor:attemptFontSubstitution:]): (-[IFTextRenderer _drawCharacters:length:fromCharacterPosition:toCharacterPosition:atPoint:withTextColor:backgroundColor:]): (-[IFTextRenderer drawCharacters:length:atPoint:withTextColor:backgroundColor:]): (-[IFTextRenderer drawCharacters:length:atPoint:withTextColor:]): (-[IFTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withTextColor:backgroundColor:]): 2002-06-26 Darin Adler - fixed 2969280 -- if trailing / not specified for site, relative URLs are incorrectly expanded * WebCoreSupport.subproj/IFWebCoreBridge.mm: (-[IFWebCoreBridge receivedData:withDataSource:]): Update the URL for the case where we've already been redirected before we receive any data. 2002-06-26 Darin Adler - fixed 2971532 -- crash with null KHTMLView at gramicci.com * WebView.subproj/IFHTMLView.mm: (-[IFHTMLView reapplyStyles]): Handle widget == 0 case. (-[IFHTMLView layout]): Handle widget == 0 case. Fixed a crash I have seen many times where a data source tries to use its parent to locate the controller after its parent is deallocated. * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]): Use _parentDataSourceWillBeDeallocated instead of _setController:nil. * WebView.subproj/IFWebFramePrivate.h: Add _parentDataSourceWillBeDeallocated. * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _parentDataSourceWillBeDeallocated]): Does both a _setController:nil, and a _setParent:nil on both data sources. 2002-06-26 John Sullivan - fixed 2971024 -- wrong item is bookmarked -[IFWebDataSource redirectedURL] was returning the URL of a sub-page resource. * WebCoreSupport.subproj/IFResourceURLHandleClient.m: (-[IFResourceURLHandleClient IFURLHandle:didRedirectToURL:]): Removed evil call to _setFinalURL here. It had no right to live. 2002-06-26 Darin Adler * WebCoreSupport.subproj/IFImageRendererFactory.m: (-[IFImageRendererFactory imageRenderer]): Fix NSBitmapImageRep leak. 2002-06-26 Chris Blumenberg - added "complete" to to progress methods to indicate last progress message * Plugins.subproj/IFPluginView.mm: (-[IFPluginView setWindow]): added a draw test * WebView.subproj/IFWebController.h: * WebView.subproj/IFWebControllerPrivate.mm: (-[IFWebController _receivedProgress:forResourceHandle:fromDataSource:complete:]): (-[IFWebController _mainReceivedProgress:forResourceHandle:fromDataSource:complete:]): 2002-06-26 Richard Williamson Fixed recursion problems. +[NSFont findFontLike:forString:withRange:inLanguage:] will alternate between suggested fonts with bogus answers. The work around involves adding an explicit flag indicating whether or not font substitution should be attempted. * Misc.subproj/IFStringTruncator.m: (+[IFStringTruncator centerTruncateString:toWidth:withFont:]): * WebCoreSupport.subproj/IFTextRenderer.h: * WebCoreSupport.subproj/IFTextRenderer.m: (-[IFTextRenderer slowDrawCharacters:length:atPoint:withColor:attemptFontSubstitution:]): (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]): (-[IFTextRenderer floatWidthForCharacters:length:applyRounding:attemptFontSubstitution:]): (-[IFTextRenderer widthForCharacters:length:]): 2002-06-26 Darin Adler * WebView.subproj/IFHTMLView.mm: (-[IFHTMLView validateUserInterfaceItem:]): Switch to this instead of validateMenuItem: so that a Copy toolbar button would work. 2002-06-25 Richard Williamson Disable the copy menu item when IFHTMLView has is key and has no selection. * WebView.subproj/IFHTMLView.mm: (-[IFHTMLView validateMenuItem:]): Disable menu if selection is empty. (-[IFHTMLView copy:]): Factored code that gets the bridge. * WebView.subproj/IFHTMLViewPrivate.h: Added _bridge. * WebView.subproj/IFHTMLViewPrivate.mm: (-[IFHTMLView _bridge]): We need to access the bridge from the view to get the part's selection. 2002-06-25 Chris Blumenberg Remove downloaded file if cancelled. * Misc.subproj/IFDownloadHandler.mm: (-[IFDownloadHandler cancel]): 2002-06-25 Richard Williamson Support for rudimentary plain text 'copy'. * WebCoreSupport.subproj/IFImageRenderer.m: (-[IFImageRenderer incrementalLoadWithBytes:length:complete:]): * WebView.subproj/IFHTMLView.mm: (-[IFHTMLView copy:]): * WebView.subproj/IFWebViewPrivate.h: * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView _controller]): 2002-06-25 Richard Williamson Enabled progressive image loading code. * WebCoreSupport.subproj/IFImageRenderer.h: * WebCoreSupport.subproj/IFImageRenderer.m: (-[IFImageRenderer initWithSize:]): (-[IFImageRenderer incrementalLoadWithBytes:length:complete:]): * WebCoreSupport.subproj/IFImageRendererFactory.m: (-[IFImageRendererFactory imageRenderer]): 2002-06-25 Richard Williamson Extended our text measurement rounding work-around for integer-float mismatch to round on word boundaries as well as spaces. * WebCoreSupport.subproj/IFTextRenderer.m: (-[IFTextRenderer drawGlyphs:numGlyphs:atPoint:withColor:]): (-[IFTextRenderer slowFloatWidthForCharacters:length:applyRounding:]): (-[IFTextRenderer floatWidthForCharacters:length:applyRounding:]): 2002-06-25 Darin Adler * WebCoreSupport.subproj/IFResourceURLHandleClient.m: (-[IFResourceURLHandleClient IFURLHandleResourceDidCancelLoading:]): (-[IFResourceURLHandleClient IFURLHandleResourceDidFinishLoading:data:]): (-[IFResourceURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]): Don't remove the URL handle from the data source until we've finished the loading process in KDE code. This may fix 2968527. * WebCoreSupport.subproj/IFTextRenderer.m: Keep around commented printfs so I can do the "dump all strings as they are rendered" again. * WebKit.pbproj/project.pbxproj: Re-add -Wmissing-format-attribute. 2002-06-25 Darin Adler * WebCoreSupport.subproj/IFImageRenderer.m: (-[IFImageRenderer tileInRect:fromPoint:]): Remove stray NSLog. 2002-06-25 Darin Adler - fixed 2968298 -- IFImageRenderer crash at download.com * WebCoreSupport.subproj/IFImageRenderer.m: (-[IFImageRenderer initWithSize:]): Override this instead of [init]. This is the designated initializer and all the others call this. (-[IFImageRenderer copyWithZone:]): Override to nil out fields that can't be shared by the copy. Fix leaks. * History.subproj/IFURIEntry.m: (-[IFURIEntry initWithURL:title:image:]): Use copy instead of retain in case we are passed a mutable string. (-[IFURIEntry dealloc]): Release _displayTitle. Fixes a leak. (-[IFURIEntry setTitle:]): Use copy instead of retain in case we are passed a mutable string. (-[IFURIEntry setDisplayTitle:]): Use copy instead of retain in case we are passed a mutable string. (-[IFURIEntry initFromDictionaryRepresentation:]): Lose the extra retain for _lastVisitedDate. Fixes a leak. 2002-06-24 Darin Adler * Panels.subproj/IFStandardPanels.m: (-[IFStandardPanels didStopLoadingURL:inWindow:]): Fix a leak caused by calling the wrong method. This was calling objectForKey: instead of removeObjectForKey:. 2002-06-24 Richard Williamson Changed our usage of +[NSFont findFontLike:forString:withRange:inLanguage:] after talking with Aki. We were erroneously passing a complete string rather than a character cluster. Fixed 2964793. * WebCoreSupport.subproj/IFTextRenderer.m: (findLengthOfCharacterCluster): (-[IFTextRenderer slowPackGlyphsForCharacters:numCharacters:glyphBuffer:numGlyphs:]): (-[IFTextRenderer drawGlyphs:numGlyphs:atPoint:withColor:]): (-[IFTextRenderer slowDrawCharacters:length:atPoint:withColor:]): (-[IFTextRenderer _drawCharacters:length:atPoint:withColor:]): (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]): (-[IFTextRenderer floatWidthForCharacters:length:applyRounding:]): 2002-06-24 Darin Adler * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _transitionProvisionalToCommitted]): Take ownership before doing the setWidget. The other way the widget was getting deleted. 2002-06-24 Chris Blumenberg * Plugins.subproj/IFPlugin.h: * Plugins.subproj/IFPlugin.m: (-[IFPlugin initWithPath:]): Close resource files when done. (-[IFPlugin load]): Remove Java plug-in workaround, load as mach-o * Plugins.subproj/IFPluginView.h: * Plugins.subproj/IFPluginView.mm: (-[IFPluginView initWithFrame:plugin:url:baseURL:mime:arguments:]): take NSURLs (-[IFPluginView dealloc]): release baseURL * WebCoreSupport.subproj/IFWebCoreViewFactory.m: (-[IFWebCoreViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]): take NSURLs (-[IFWebCoreViewFactory viewForJavaAppletWithArguments:]): 2002-06-24 Darin Adler Remove some unused stuff. Other minor cleanup. * WebView.subproj/IFDynamicScrollBarsView.h: Remove breakRecursionCycle, don't declare updateScrollers or resetCursorRects. * WebView.subproj/IFDynamicScrollBarsView.m: (-[IFDynamicScrollBarsView updateScrollers]): Make this work even for a view that doesn't allow scrolling, turning off both scrollers in that case. (-[IFDynamicScrollBarsView reflectScrolledClipView:]): Call updateScrollers unconditionally, letting it decide what to do, rather than looking at allowsScrolling. Also, no need to use a boolean to break the recursion cycle, now that updateScrollers does no work if none is needed. (-[IFDynamicScrollBarsView setCursor:]): Do nothing if the cursor is not changing. Also handle arrowCursor case here. (-[IFDynamicScrollBarsView resetCursorRects]): Call discardCursorRects so the old rects won't keep accumulating. (-[IFDynamicScrollBarsView setAllowsScrolling:]): Always call updateScrollers, not just when turning scrolling off. * WebView.subproj/IFHTMLView.mm: (-[IFHTMLView initWithFrame:]): Remove unneeded NSWindowWillCloseNotification and isFlipped field. (-[IFHTMLView removeNotifications]): Moved here from NSWindowWillCloseNotification. (-[IFHTMLView viewWillMoveToWindow:]): Remove all the notifications when the view is removed from the window. (-[IFHTMLView setNeedsLayout:]): Call setNeedsDisplay in the YES case, so the callers don't all have to. (-[IFHTMLView isFlipped]): Just return YES. No need to store it. (-[IFHTMLView windowResized:]): Add a FIXME, since this is not the way we want to handle view resizing for the long run. * WebView.subproj/IFHTMLViewPrivate.h: Remove isFlipped. 2002-06-24 Darin Adler Fix the last of the "leak the world" problems. The KHTMLView was leaking in IFHTMLView. * WebView.subproj/IFHTMLView.mm: (-[IFHTMLView dealloc]): Call _reset instead of _stopPlugins, so we get rid of the widget too. (-[IFHTMLView viewWillMoveToWindow:]): Use _reset now instead of the old _stopPlugins; also check that the window isn't already nil so we don't do a reset as part of our first install. (-[IFHTMLView provisionalDataSourceCommitted:]): Use the new widgetOwned flag to tell if the widget should be deleted instead of deciding based on whether the dataSource is the main document. * WebView.subproj/IFHTMLViewPrivate.h: Add a widgetOwned boolean and a private _takeOwnershipOfWidget method. Combine _resetWidget and _stopPlugins into a single _reset call. Remove _removeSubviews. * WebView.subproj/IFHTMLViewPrivate.mm: (-[IFHTMLView _reset]): New name for the combination of _resetWidget and _stopPlugins. Now it decides whether to delete the widget based on the widget owned flag, so it is safe to call even for non-main-document views. (-[IFHTMLView _takeOwnershipOfWidget]): Sets widgetOwned to NO. * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame reset]): Use _resetWidget under its new name _reset. * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _transitionProvisionalToCommitted]): Don't bother doing explicit _stopPlugins and _removeSubviews. It's now the view's own responsibility to do this in viewWillMoveToWindow:. Call _takeOwnershipOfWidget after attaching the widget to the RenderPart. * WebView.subproj/IFImageView.m: (-[IFImageView viewWillMoveToWindow:]): Added. Break the reference cycle by stopping animated IFImageRenderer here instead of waiting for dealloc. * Plugins.subproj/IFPluginView.mm: (-[IFPluginView setWindow]): Fix a warning by changing the printf format string to match the parameter type. * Misc.subproj/WebKitDebug.h: Re-add the __format__ attribute, now that Radar 2920557 is fixed. 2002-06-23 Darin Adler * WebCoreSupport.subproj/IFImageRenderer.m: (-[IFImageRenderer nextFrame:]): Use hasAlpha instead of isOpaque because the latter does not work (Radar 2966937). 2002-06-21 Darin Adler * WebCoreSupport.subproj/IFImageRenderer.m: (-[IFImageRenderer nextFrame:]): Add back the higher-speed case where we draw directly for opaque animated images. 2002-06-21 Darin Adler Cache the patterns we make for tiled images for added speed. * WebCoreSupport.subproj/IFImageRenderer.h: Removed declarations of methods inherited from WebCoreImageRenderer. Added patternColor field. * WebCoreSupport.subproj/IFImageRenderer.m: (-[IFImageRenderer dealloc]): Release patternColor. (-[IFImageRenderer beginAnimationInRect:fromRect:]): Get the view with [NSView focusView] rather than taking a parameter that's used only for the animating case. (-[IFImageRenderer tileInRect:fromPoint:]): New. Caches the pattern in the patternColor field. * WebView.subproj/IFImageView.m: (-[IFImageView drawRect:]): No need to pass view to image renderer any more. 2002-06-21 Darin Adler Fix rendering of non-opaque animated images. * WebCoreSupport.subproj/IFImageRenderer.m: (-[IFImageRenderer nextFrame:]): Use [NSView displayRect:] instead of drawing explicitly so that views behind us get a chance to draw too. This is less efficient than just drawing for opaque images, but NSImage doesn't offer a way to find out if the image is opaque. Also, this changes things a bit because beginAnimationInView gets called again, so we don't have to reschedule the timer. 2002-06-20 Richard Williamson * WebCoreSupport.subproj/IFImageRenderer.m: (-[IFImageRenderer frameDuration]): Added minimum 1/60th second duration per frame. * WebView.subproj/IFDynamicScrollBarsView.m: (-[IFDynamicScrollBarsView updateScrollers]): Only display scrollview if scrollers changed. * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _setState:]): Explicity turn on copiesOnScroll. This may cause problems w/ plugins. Need to verify once plugins are no longer crashing. 2002-06-20 Darin Adler Fix for leak where sub-frame IFHTMLViews would not call _stopPlugins. * Plugins.subproj/IFPluginView.mm: (-[IFPluginView viewWillMoveToWindow:]): * WebView.subproj/IFHTMLView.mm: (-[IFHTMLView viewWillMoveToWindow:]): Use this viewWillMoveToWindow instead of removeFromSuperview; it's a more reliable way to handle cases where the view is removed from the view hierarchy. Fix for IFWebFrame -> IFWebDataSource -> LoadProgressMonitor -> IFWebFrame reference cycle. * WebView.subproj/IFLocationChangeHandler.h: Add dataSource parameters for the methods that don't have them so this can be "delegate" style. * WebView.subproj/IFWebController.h: Pass a dataSource instead of a frame when asking for a location change handler. * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): Pass dataSource for locationChangeDone. * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _startLoading:]): Pass dataSource for locationChangeStarted. * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame setProvisionalDataSource:]): Pass a dataSource instead of a frame when asking for a location change handler. * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _transitionProvisionalToCommitted]): Pass dataSource for locationChangeCommitted. (-[IFWebFrame _isLoadComplete]): Pass dataSource for locationChangeDone. * force-clean-timestamp: Give this mechanism a try. I'm not sure we really need a clean build right now. * WebView.subproj/IFWebDataSource.mm: Simplify. 2002-06-20 Kenneth Kocienda A more complete fix for this bug: Radar 2942728 (Link to Yahoo! Finance stocks page fails, says URL is "not a valid location") I added a new +(NSURL)_IF_URLWithString: method to IFNSURLExtensions. This is now the suggested way to create a URL from a string. * History.subproj/IFURIEntry.m: (-[IFURIEntry initFromDictionaryRepresentation:]) * History.subproj/IFURLsWithTitles.m: (+[IFURLsWithTitles URLsFromPasteboard:]) * History.subproj/IFWebHistoryPrivate.m: (-[IFWebHistoryPrivate updateURL:title:displayTitle:forURL:]) * Plugins.subproj/IFNullPluginView.mm: (-[IFNullPluginView initWithFrame:mimeType:arguments:]) * Plugins.subproj/IFPluginView.mm: (-[IFPluginView initWithFrame:plugin:url:mime:arguments:]) (-[IFPluginView loadURL:inTarget:withNotifyData:andHandleAttributes:]) * WebCoreSupport.subproj/IFWebCoreViewFactory.m: (-[IFWebCoreViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]) * WebKit.pbproj/project.pbxproj: * WebView.subproj/IFWebDataSource.h: * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _startLoading:]) * WebView.subproj/IFWebView.mm: (-[IFWebView performDragOperation:]) === Alexander-9 === 2002-06-19 Richard Williamson Break image renderer reference cycle. When a view is removed from the view hierarchy active image renderers are told to stop animating, which will, in turn, cause them to release their view. We leverage the existing _stopPlugins mechanism. * WebCoreSupport.subproj/IFImageRenderer.h: * WebCoreSupport.subproj/IFImageRenderer.m: (+[IFImageRenderer stopAnimationsInView:]): (-[IFImageRenderer beginAnimationInView:inRect:fromRect:]): (-[IFImageRenderer frameView]): (-[IFImageRenderer stopAnimation]): * WebView.subproj/IFHTMLViewPrivate.mm: (-[IFHTMLView _stopPlugins]): 2002-06-19 John Sullivan - fixed 2960677 -- attempt to insert nil key; content policy set twice on particular page. The problem here was a bad URL not being propogated through the error-handling machinery correctly because the url handle was nil, but used to get its string. * WebCoreSupport.subproj/IFResourceURLHandleClient.m: (+[IFResourceURLHandleClient startLoadingResource:withURL:dataSource:]): * WebView.subproj/IFWebControllerPrivate.mm: Use IFError init method that takes failingURL. (-[IFWebController _receivedProgress:forResourceHandle:fromDataSource:complete:]): (-[IFWebController _receivedError:forResourceHandle:partialProgress:fromDataSource:]): Check [error failingURL] when resource handle is nil. 2002-06-19 Darin Adler Fixed a storage leak and made some other changes to go along with corresponding WebCore changes. * WebCoreSupport.subproj/IFResourceURLHandleClient.m: (-[IFResourceURLHandleClient didStartLoadingWithURL:]): Added. (-[IFResourceURLHandleClient didStopLoading]): Added. (-[IFResourceURLHandleClient dealloc]): (-[IFResourceURLHandleClient IFURLHandleResourceDidBeginLoading:]): (-[IFResourceURLHandleClient IFURLHandleResourceDidCancelLoading:]): (-[IFResourceURLHandleClient IFURLHandleResourceDidFinishLoading:data:]): (-[IFResourceURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]): (-[IFResourceURLHandleClient IFURLHandle:didRedirectToURL:]): Use didStartLoadingWithURL and didStopLoading to cure problems where the handle would be left in the data sources list of loading handles. * WebView.subproj/IFDynamicScrollBarsView.h: Changed to conform to the WebCoreFrameView protocol. * Misc.subproj/WebKitDebug.h: Cloned improved assert code from WebFoundation. * WebView.subproj/IFDynamicScrollBarsView.m: Fixed comment. 2002-06-19 Chris Blumenberg Call setWindow in layout so that plug-in content is drawn without needing to resize. * Plugins.subproj/IFPluginView.mm: (-[IFPluginView layout]): (-[IFPluginView viewHasMoved:]): 2002-06-19 Kenneth Kocienda I just played alchemical voodoo games with the linker to make all our frameworks and Alexander prebound. * WebKit.pbproj/project.pbxproj 2002-06-18 Chris Blumenberg Fix for 2961733 - Progress of plug-in files not shown in activity window Plugin classed must call _IF_superviewWithName: not _IF_parentWebView * Plugins.subproj/IFNullPluginView.mm: (-[IFNullPluginView drawRect:]): * Plugins.subproj/IFPluginStream.mm: minor cleanup (-[IFPluginStream IFURLHandle:resourceDataDidBecomeAvailable:]): (-[IFPluginStream IFURLHandleResourceDidFinishLoading:data:]): (-[IFPluginStream IFURLHandleResourceDidCancelLoading:]): (-[IFPluginStream IFURLHandle:resourceDidFailLoadingWithResult:]): (-[IFPluginStream IFURLHandle:didRedirectToURL:]): * Plugins.subproj/IFPluginView.mm: (-[IFPluginView start]): (-[IFPluginView layout]): 2002-06-18 Chris Blumenberg Enabled the viewing of plug-in content inline (aka direct links to plugin media). Made IFPluginView a IFDocumentView and IFPluginStream a IFDocumentRespresentation. Renamed content policy API's to include the data source. * Plugins.subproj/IFPluginDatabase.h: * Plugins.subproj/IFPluginDatabase.m: (+[IFPluginDatabase installedPlugins]): registers plugins as IFDocument* * Plugins.subproj/IFPluginStream.h: * Plugins.subproj/IFPluginStream.mm: (-[IFPluginStream init]): added for IFDocumentRepresentation (-[IFPluginStream initWithURL:pluginPointer:notifyData:attributes:]): removed load initiliazatoin (-[IFPluginStream dealloc]): (-[IFPluginStream startLoad]): added (-[IFPluginStream stop]): (-[IFPluginStream receivedData:]): added as the base implementation (-[IFPluginStream receivedError]): added as the base implementation (-[IFPluginStream finishedLoadingWithData:]): added as the base implementation (-[IFPluginStream receivedData:withDataSource:]): added for IFDocumentRepresentation (-[IFPluginStream receivedError:withDataSource:]): added for IFDocumentRepresentation (-[IFPluginStream finishedLoadingWithDataSource:]): added for IFDocumentRepresentation (-[IFPluginStream IFURLHandleResourceDidBeginLoading:]): (-[IFPluginStream IFURLHandle:resourceDataDidBecomeAvailable:]): call receivedData (-[IFPluginStream IFURLHandleResourceDidFinishLoading:data:]): call finishedLoadingWithData (-[IFPluginStream IFURLHandleResourceDidCancelLoading:]): call receivedError (-[IFPluginStream IFURLHandle:resourceDidFailLoadingWithResult:]): call receivedError (-[IFPluginStream IFURLHandle:didRedirectToURL:]): * Plugins.subproj/IFPluginView.h: * Plugins.subproj/IFPluginView.mm: (-[IFPluginView initWithFrame:plugin:url:mime:arguments:]): removed special-case code for NP_FULL mose (-[IFPluginView start]): (-[IFPluginView initWithFrame:]): added for IFDocumentView (-[IFPluginView provisionalDataSourceChanged:]): added for IFDocumentView (-[IFPluginView provisionalDataSourceCommitted:]): added for IFDocumentView (-[IFPluginView dataSourceUpdated:]): added for IFDocumentView (-[IFPluginView layout]): added for IFDocumentView (-[IFPluginView removeFromSuperview]): call stop (-[IFPluginView loadURL:inTarget:withNotifyData:andHandleAttributes:]): (-[IFPluginView pluginInstance]): added * WebCoreSupport.subproj/IFWebCoreViewFactory.m: (-[IFWebCoreViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]): call new init method (-[IFWebCoreViewFactory viewForJavaAppletWithArguments:]): call new init method * WebKit.pbproj/project.pbxproj: * WebView.subproj/IFLocationChangeHandler.h: content policy method name changes * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): content policy method name changes * WebView.subproj/IFWebController.h: * WebView.subproj/IFWebController.mm: (-[IFWebController haveContentPolicy:andPath:forDataSource:]): content policy method name changes * WebView.subproj/IFWebDataSourcePrivate.h: 2002-06-18 Kenneth Kocienda Fix for this bug: Radar 2928483 (activity viewer does not show all the pieces of a web page when the page is cached) * WebCoreSupport.subproj/IFWebCoreBridge.mm: (-[IFWebCoreBridge objectLoadedFromCache:size:]): New method that sends the appropriate progress indication. 2002-06-17 Richard Williamson Fixed window.open regression. Partial fix to targeting frame of new name. * WebCoreSupport.subproj/IFWebCoreBridge.h: * WebCoreSupport.subproj/IFWebCoreBridge.mm: (-[IFWebCoreBridge openNewWindowWithURL:]): Return the newly created bridge. (-[IFWebCoreBridge receivedData:withDataSource:]): Use setDataSource: method (-[IFWebCoreBridge startLoadingResource:withURL:]): No change. (-[IFWebCoreBridge setDataSource:]): New method. * WebView.subproj/IFHTMLView.mm: (-[IFHTMLView mouseMovedNotification:]): Selection support. (-[IFHTMLView mouseDragged:]): Selection support. * WebView.subproj/IFWebController.mm: (-[IFWebController haveContentPolicy:andPath:forLocationChangeHandler:]): Only change representation if it hasn't been pre-bound, or if it's class changed. * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame initWithName:webView:provisionalDataSource:controller:]): More hackery to support window.open. 2002-06-17 Darin Adler Fixed many of the reasons that we were leaking the world. But we still leak KHTMLPart objects, so there must be more problems. * WebCoreSupport.subproj/IFResourceURLHandleClient.m: (+[IFResourceURLHandleClient startLoadingResource:withURL:dataSource:]): Add missing autorelease. Without this, we leak the world. (-[IFResourceURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]): Weaken assert. It was firing before. * WebCoreSupport.subproj/IFWebCoreBridge.mm: (-[IFWebCoreBridge receivedData:withDataSource:]): Don't retain the dataSource any more. Without this, we leak the world. * WebView.subproj/IFWebControllerPrivate.mm: (-[IFWebControllerPrivate dealloc]): Release the policy handler too. Without this, we leak the world. * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]): Release resourceData, representation, downloadPath, encoding, and contentType. Without this, we leak the world. * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame initWithName:webView:provisionalDataSource:controller:]): Release the dummy data source after setting it up so it doesn't leak. * WebView.subproj/IFHTMLViewPrivate.mm: (-[IFHTMLViewPrivate dealloc]): Don't release the controller, we didn't retain it. (-[IFHTMLView _resetWidget]): Delete the provisional widget too. * WebView.subproj/IFWebDataSourcePrivate.h: Remove unused "children" array. * WebCoreSupport.subproj/IFImageRenderer.m: Fix comment. * WebView.subproj/IFHTMLView.mm: Fix comments. 2002-06-17 Richard Williamson Fixed call to renamed progress method. * Plugins.subproj/IFPluginStream.mm: 2002-06-17 Chris Blumenberg * WebView.subproj/IFWebDataSource.h: * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource contentType]): no changes (-[IFWebDataSource fileType]): added. Returns extension based on MIME. 2002-06-17 Richard Williamson Added explicit complete check for resources, rather than depend on bytesSoFar == totalToLoad. * WebCoreSupport.subproj/IFResourceURLHandleClient.m: (-[IFResourceURLHandleClient receivedProgressWithHandle:complete:]): (-[IFResourceURLHandleClient IFURLHandleResourceDidBeginLoading:]): (-[IFResourceURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): (-[IFResourceURLHandleClient IFURLHandleResourceDidCancelLoading:]): (-[IFResourceURLHandleClient IFURLHandleResourceDidFinishLoading:data:]): * WebView.subproj/IFWebControllerPrivate.h: * WebView.subproj/IFWebControllerPrivate.mm: (-[IFWebController _receivedProgress:forResourceHandle:fromDataSource:complete:]): 2002-06-17 Chris Blumenberg Fix for 2939881. No more overwritting of one's files. * Misc.subproj/IFDownloadHandler.mm: (-[IFDownloadHandler receivedData:]): (-[IFDownloadHandler finishedLoading]): 2002-06-17 Richard Williamson Fixed IFImageViews not drawing correctly. Changed compeletion to explicity use IFURLHandleResourceDidFinishLoading, rather than depend on bytesSoFar == totalToLoad. * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]): (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]): (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): * WebView.subproj/IFWebControllerPrivate.h: * WebView.subproj/IFWebControllerPrivate.mm: (-[IFWebController _mainReceivedProgress:forResourceHandle:fromDataSource:complete:]): 2002-06-16 Darin Adler * WebCoreSupport.subproj/IFWebCoreFrame.m: (-[IFWebCoreFrame bridge]): Added. 2002-06-16 Darin Adler Add a separate WebCoreFrame alongside WebCoreBridge to facilitate handling of frames with no HTML content in them. This probably fixes frames named "_blank". * WebCoreSupport.subproj/IFResourceURLHandleClient.m: * WebCoreSupport.subproj/IFWebCoreBridge.mm: (-[IFWebCoreBridge frame]): Added. (-[IFWebCoreBridge parent]): Changed name from parentFrame, to emphasize that this gives a WebCoreBridge. (-[IFWebCoreBridge childFrames]): Return IFWebCoreFrame objects. (-[IFWebCoreBridge childFrameNamed:]): Return IFWebCoreFrame object. (-[IFWebCoreBridge descendantFrameNamed:]): Return IFWebCoreFrame object. (-[IFWebCoreBridge createChildFrameNamed:withURL:renderPart:khtml::allowsScrolling:marginWidth:marginHeight:]): Use the loadURL operation in IFWebCoreFrame. (-[IFWebCoreBridge mainFrame]): Return IFWebCoreFrame object. (-[IFWebCoreBridge frameNamed:]): Return IFWebCoreFrame object. * WebCoreSupport.subproj/IFWebCoreFrame.h: Added. * WebCoreSupport.subproj/IFWebCoreFrame.m: Added. * WebKit.pbproj/project.pbxproj: Update for added files. * WebView.subproj/IFHTMLViewPrivate.h: Made this includable from plain Objective C. * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame initWithName:webView:provisionalDataSource:controller:]): Create the IFWebCoreFrame. * WebView.subproj/IFWebFramePrivate.h: Add _bridgeFrame method for getting IFWebCoreFrame. * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFramePrivate dealloc]): Release the IFWebCoreFrame. (-[IFWebFrame _bridgeFrame]): Added. 2002-06-16 Darin Adler Moved the IFURLHandleClient subclass here from WebCore, so it can some day be merged with the one for the frames themselves; this one is for resources. * WebCoreSupport.subproj/IFResourceURLHandleClient.h: Added. * WebCoreSupport.subproj/IFResourceURLHandleClient.m: Added. * WebKit.pbproj/project.pbxproj: Added IFResourceURLHandleClient.h and .m. * WebCoreSupport.subproj/IFWebCoreBridge.mm: (-[IFWebCoreBridge startLoadingResource:withURL:]): Added. Removed all the old methods, with their guts moved into IFResourceURLHandleClient. 2002-06-15 Darin Adler Update for frame-related changes in WebCore. * WebCoreSupport.subproj/IFWebCoreBridge.mm: (-[IFWebFrame _bridge]): Look at provisional data source first. (-[IFWebCoreBridge dealloc]): Release the data source. (-[IFWebCoreBridge parentFrame]): Renamed. (-[IFWebCoreBridge childFrames]): Renamed. (-[IFWebCoreBridge childFrameNamed:]): Added. (-[IFWebCoreBridge descendantFrameNamed:]): Added. (-[IFWebCoreBridge didFinishLoadingWithHandle:]): Don't call _didStopLoading twice when we finish loading. Also changed controller getters to call [dataSource controller] and got rid of the [IFWebCoreBridge controller] method. 2002-06-15 Richard Williamson * Misc.subproj/IFNSViewExtras.h: * Misc.subproj/IFNSViewExtras.m: (-[NSView _IF_superviewWithName:]): (-[NSView _IF_parentWebView]): Replaced use of _IF_superviewWithName w/ safer _IF_parentWebView. * Plugins.subproj/IFNullPluginView.mm: (-[IFNullPluginView drawRect:]): Replaced use of _IF_superviewWithName w/ safer _IF_parentWebView. * Plugins.subproj/IFPluginStream.mm: (-[IFPluginStream IFURLHandle:resourceDataDidBecomeAvailable:]): (-[IFPluginStream IFURLHandleResourceDidFinishLoading:data:]): (-[IFPluginStream IFURLHandleResourceDidCancelLoading:]): (-[IFPluginStream IFURLHandle:resourceDidFailLoadingWithResult:]): Call _receiveProgress instead of directly calling handler. * Plugins.subproj/IFPluginView.mm: (-[IFPluginView start]): Replaced use of _IF_superviewWithName w/ safer _IF_parentWebView. * WebCoreSupport.subproj/IFWebCoreBridge.mm: (-[IFWebCoreBridge loadURL:attributes:flags:inFrame:withParent:]): Handle changing top frame correctly. Parent may be nil. (-[IFWebCoreBridge didFinishLoadingWithHandle:]): Added non-terminal error case. * WebView.subproj/IFHTMLView.mm: (-[IFHTMLView provisionalDataSourceCommitted:]): Replaced use of _IF_superviewWithName w/ safer _IF_parentWebView. * WebView.subproj/IFMainURLHandleClient.mm: * WebView.subproj/IFWebControllerPrivate.mm: Comment changes. 2002-06-15 Darin Adler * WebCoreSupport.subproj/IFWebCoreBridge.mm: Added a lot of assertions that I had used while debugging. (-[IFWebCoreBridge didRedirectWithHandle:fromURL:]): Commented out the line of code that calls [serverRedirectTo:forDataSource:]. Our old code was sending this to the web controller (that was a bug). But if we send it to the location change handler, then we confuse Alexander. We may return to this later, uncomment it, and change the interface so the client can tell what is being redirected. We'll need to do that if we want the activity window to show redirected URLs at the time of the redirect. 2002-06-15 Richard Williamson Fixed _bridge not accounting for provisional data source, broke access to window.frames during load. * WebCoreSupport.subproj/IFWebCoreBridge.mm: (-[IFWebFrame _bridge]): (-[IFWebCoreBridge children]): * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _isLoadComplete]): 2002-06-15 Darin Adler * WebView.subproj/IFHTMLView.mm: (-[IFHTMLView provisionalDataSourceChanged:]): Don't turn negative numbers into 0 for margins. This was a mistake. 2002-06-15 Darin Adler - fixed 2942808 -- remove all calls to WebKit from WebCore Update to use the WebCore bridge for more things, reducing dependencies in both directions. Besides using the bridge for all the remaining WebCore to WebKit calls, almost no WebKit code deals with KHTMLPart directly any more, instead the other side of the bridge handles it. * Plugins.subproj/IFPluginStream.mm: (-[IFPluginStream IFURLHandleResourceDidBeginLoading:]): Remove unneeded casts. (-[IFPluginStream IFURLHandle:resourceDataDidBecomeAvailable:]): (-[IFPluginStream IFURLHandleResourceDidFinishLoading:data:]): (-[IFPluginStream IFURLHandleResourceDidCancelLoading:]): (-[IFPluginStream IFURLHandle:resourceDidFailLoadingWithResult:]): (-[IFPluginStream IFURLHandle:didRedirectToURL:]): Use the new IFProgress methods to simplify code. * WebCoreSupport.subproj/IFWebCoreBridge.h: Use the new WebCoreBridge protocol so we get a compiler error if we forget to implement anything. Add a method for IFWebDataSource that gets the WebCoreBridge if it has an IFHTMLRepresentation, and nil otherwise. * WebCoreSupport.subproj/IFWebCoreBridge.mm: (-[IFWebDataSource _bridge]): Add; does checking so that it returns nil if the representation is not an IFHTMLRepresentation. This is now used almost everywhere so we don't have to do so much type casting. (-[IFWebCoreBridge loadURL:attributes:flags:inFrame:withParent:]): Remove a stray use of [IFWebCoreBridge dataSource] so we can remove it. (-[IFWebCoreBridge receivedData:withDataSource:]): Use the new [WebCoreBridge openURL:] and [WebCoreBridge addData:] methods from the other side of the bridge so we don't have to deal with the KHTMLPart directly. (-[IFWebCoreBridge addHandle:]): Added. (-[IFWebCoreBridge removeHandle:]): Added. (-[IFWebCoreBridge didStartLoadingWithHandle:]): Added. (-[IFWebCoreBridge receivedProgressWithHandle:]): Added. (-[IFWebCoreBridge didFinishLoadingWithHandle:]): Added. (-[IFWebCoreBridge didCancelLoadingWithHandle:]): Added. (-[IFWebCoreBridge didFailBeforeLoadingWithError:]): Added. (-[IFWebCoreBridge didFailToLoadWithHandle:error:]): Added. (-[IFWebCoreBridge didRedirectWithHandle:fromURL:]): Added. * WebView.subproj/IFHTMLRepresentation.h: Remove unneeded declarations. * WebView.subproj/IFHTMLRepresentation.mm: Remove [IFHTMLRepresentation part]. * WebView.subproj/IFHTMLRepresentationPrivate.h: Remove [IFHTMLRepresentation part]. * WebView.subproj/IFHTMLView.mm: (-[IFHTMLView provisionalDataSourceChanged:]): Use the bridge. * WebView.subproj/IFHTMLViewPrivate.mm: Remove a bunch of unused stuff that was there for the render and document tree viewers. I had removed it once before but it got re-added as a side effect of the reorganization process. * WebView.subproj/IFLoadProgress.h: Remove the unused IFLoadType -- we can add it back if we find that it's needed. It didn't do much good to have it here and only partly implemented, and I don't think it's needed. Added some convenient interfaces for creating IFLoadProgress objects. * WebView.subproj/IFLoadProgress.mm: Get rid of WCSetIFLoadProgressMakeFunc stuff. (-[IFLoadProgress init]): Added. (-[IFLoadProgress initWithBytesSoFar:totalToLoad:]): Remove type part. (-[IFLoadProgress initWithURLHandle:]): Added. (+[IFLoadProgress progress]): Added. (+[IFLoadProgress progressWithBytesSoFar:totalToLoad:]): Added. (+[IFLoadProgress progressWithURLHandle:]): Added. * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient dealloc]): Add more workaround for 2954901. (-[IFMainURLHandleClient IFURLHandleResourceDidBeginLoading:]): (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]): (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]): (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]): (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]): Remove unneeded type casts and simplify by using new IFLoadProgress methods. Also simplify access to _bridge by using [IFWebDataSource _bridge]. * WebView.subproj/IFWebControllerPrivate.mm: * WebView.subproj/IFWebFrame.mm: Remove unneeded include of KHTMLPart header. * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource documentTextFromDOM]): * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _stopLoading]): * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _isLoadComplete]): Use bridge. 2002-06-15 Maciej Stachowiak Made Development build mode mean what Unoptimized used to mean. Removed Unoptimized build mode. Added a Mixed build mode which does what Deployment used to. All this to fix: Radar 2955367 - Change default build style to "Unoptimized" * WebKit.pbproj/project.pbxproj: 2002-06-15 Maciej Stachowiak Added temporary workardound for Radar 2954901 by making the assertion more lenient. * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]): 2002-06-14 Richard Williamson Removed redundant private _isDocumentHTML method. * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]): * WebView.subproj/IFWebDataSourcePrivate.h: * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _stopLoading]): (-[IFWebDataSource _addError:forResource:]): * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _isLoadComplete]): 2002-06-14 Richard Williamson Added handlers to IFWebController. Should eventually be possible to use IFWebController w/o subclassing. Changed IFResourceProgressHandler to pass back resource handle instead of string description. This will address the needs descibed in 2954160. Fixed many incorrect references to datasource reps. * Plugins.subproj/IFNullPluginView.mm: (-[IFNullPluginView drawRect:]): * Plugins.subproj/IFPluginStream.mm: (-[IFPluginStream IFURLHandle:resourceDataDidBecomeAvailable:]): (-[IFPluginStream IFURLHandleResourceDidFinishLoading:data:]): (-[IFPluginStream IFURLHandleResourceDidCancelLoading:]): (-[IFPluginStream IFURLHandle:resourceDidFailLoadingWithResult:]): * WebCoreSupport.subproj/IFWebCoreBridge.mm: (-[IFWebDataSource _bridge]): (-[IFWebCoreBridge createNewFrameNamed:withURL:renderPart:khtml::allowsScrolling:marginWidth:marginHeight:]): * WebView.subproj/IFDocument.h: * WebView.subproj/IFHTMLRepresentation.h: * WebView.subproj/IFHTMLRepresentationPrivate.h: * WebView.subproj/IFHTMLView.mm: (-[IFHTMLView provisionalDataSourceChanged:]): (-[IFHTMLView viewWillStartLiveResize]): (-[IFHTMLView viewDidEndLiveResize]): * WebView.subproj/IFImageView.m: * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]): (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]): (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]): (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]): * WebView.subproj/IFWebController.h: * WebView.subproj/IFWebController.mm: (-[IFWebController createFrameNamed:for:inParent:allowsScrolling:]): (-[IFWebController setResourceProgressHandler:]): (-[IFWebController resourceProgressHandler]): (-[IFWebController setPolicyHandler:]): (-[IFWebController policyHandler]): (+[IFWebController defaultURLPolicyForURL:]): * WebView.subproj/IFWebControllerPrivate.h: * WebView.subproj/IFWebControllerPrivate.mm: (-[IFWebControllerPrivate dealloc]): (-[IFWebController _receivedProgress:forResourceHandle:fromDataSource:]): (-[IFWebController _mainReceivedProgress:forResourceHandle:fromDataSource:]): (-[IFWebController _receivedError:forResourceHandle:partialProgress:fromDataSource:]): (-[IFWebController _mainReceivedError:forResourceHandle:partialProgress:fromDataSource:]): * WebView.subproj/IFWebDataSource.h: * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource representation]): (-[IFWebDataSource isDocumentHTML]): (-[IFWebDataSource documentTextFromDOM]): * WebView.subproj/IFWebDataSourcePrivate.h: * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]): (-[IFWebDataSource _setRepresentation:]): (-[IFWebDataSource _stopLoading]): (-[IFWebDataSource _isDocumentHTML]): * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame setProvisionalDataSource:]): * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _isLoadComplete]): 2002-06-14 Darin Adler * Panels.subproj/IFStandardPanels.m: Use the real PTHREAD_ONCE_INIT, remove the workaround for 2905545. * IFWebCoreBridge.h: Moved into WebCoreSupport.subproj. * IFWebCoreBridge.mm: Moved into WebCoreSupport.subproj. * WebCoreSupport.subproj/IFWebCoreBridge.h: Moved from top level. * WebCoreSupport.subproj/IFWebCoreBridge.mm: Moved from top level. * WebKit.pbproj/project.pbxproj: Update for new file locations. Also pass -no-c++filt so we get mangled names (more useful for .exp files), and remove PFE_FILE_C_DIALECTS. 2002-06-14 Chris Blumenberg * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): If content type is the default type and there is no extension, assume HTML. (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]): * WebView.subproj/IFWebDataSource.h: * WebView.subproj/IFWebDataSource.mm: Made isDocumentHTML public (-[IFWebDataSource isDocumentHTML]): (-[IFWebDataSource documentSource]): (-[IFWebDataSource documentTextFromDOM]): * WebView.subproj/IFWebDataSourcePrivate.h: * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _stopLoading]): (-[IFWebDataSource _addError:forResource:]): * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _isLoadComplete]): 2002-06-14 Darin Adler * Panels.subproj/IFStandardPanels.m: Fix what I broke last time. 2002-06-14 Darin Adler * Panels.subproj/IFStandardPanels.m: (-[IFStandardPanelsPrivate frontmostWindowLoadingURL:]): Change to call webView instead of view. Not sure why anyone was able to compile this. * Plugins.subproj/IFNullPluginView.mm: Remove include of obsolete WCPluginWidget.h. * WebView.subproj/IFHTMLRepresentation.mm: (-[IFHTMLRepresentation part]): Call part instead of KHTMLPart. Not sure why anyone was able to compile this. 2002-06-14 Darin Adler Add the new bridge class that connects us to WebCore in a nicer way. Started to use it for some things. More to come. * WebKit.pbproj/project.pbxproj: * IFWebCoreBridge.h: Added. * IFWebCoreBridge.mm: Added. * Misc.subproj/IFDownloadHandler.mm: (-[IFDownloadHandler initWithDataSource:]): Call [super init]. (-[IFDownloadHandler dealloc]): Call [super dealloc]. * Plugins.subproj/IFPluginNullEventSender.m: (-[IFPluginNullEventSender initializeWithNPP:functionPointer:window:]): Call [super init]. (-[IFPluginNullEventSender dealloc]): Call [super dealloc]. * WebView.subproj/IFDOMNode.mm: (-[IFDOMNode dealloc]): Call [super dealloc]. * WebView.subproj/IFImageView.m: (-[IFImageView dealloc]): Call [super dealloc]. * WebView.subproj/IFRenderNode.mm: (-[IFRenderNode dealloc]): Call [super dealloc]. * WebView.subproj/IFHTMLRepresentation.h: Moved variables into a private structure so this class can be made public. * WebView.subproj/IFHTMLRepresentationPrivate.h: Added. Has _bridge method. * WebView.subproj/IFHTMLRepresentation.mm: (-[IFHTMLRepresentation init]): Call [super init]. Also use the new private structure, and allocate the IFWebCoreBridge. (-[IFHTMLRepresentation dealloc]): Release the private structure and the IFWebCoreBridge. Also, call [super dealloc]. (-[IFHTMLRepresentation _bridge]): Private method to get to the bridge. (-[IFHTMLRepresentation receivedData:withDataSource:]): Use IFWebCoreBridge. * WebView.subproj/IFWebViewPrivate.h: Add _setMarginWidth and _setMarginHeight. * WebView.subproj/IFWebDataSourcePrivate.h: Tweak. * WebView.subproj/IFWebDataSource.mm: Tweak. * History.subproj/IFWebHistoryPrivate.m: Tweak. 2002-06-14 Richard Williamson Lots of frame related cleanup. Added attempt to get nested scrollbars to work correctly with window's resize corner. Still not quite right. Name change [IFWebFrame view] -> [IFWebFrame webView]. * WebView.subproj/IFDynamicScrollBarsView.m: (-[IFDynamicScrollBarsView updateScrollers]): * WebView.subproj/IFHTMLView.mm: (-[IFHTMLView provisionalDataSourceChanged:]): (-[IFHTMLView viewDidEndLiveResize]): * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): * WebView.subproj/IFWebController.h: * WebView.subproj/IFWebController.mm: (-[IFWebController initWithView:provisionalDataSource:]): (-[IFWebController createFrameNamed:for:inParent:inScrollView:]): (-[IFWebController _frameForView:fromFrame:]): (-[IFWebController frameForView:]): (-[IFWebController haveContentPolicy:andPath:forLocationChangeHandler:]): * WebView.subproj/IFWebControllerPrivate.mm: (-[IFWebControllerPrivate _clearControllerReferences:]): * WebView.subproj/IFWebFrame.h: * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame init]): (-[IFWebFrame initWithName:webView:provisionalDataSource:controller:]): (-[IFWebFrame setWebView:]): (-[IFWebFrame webView]): (-[IFWebFrame setProvisionalDataSource:]): (-[IFWebFrame reset]): * WebView.subproj/IFWebFramePrivate.h: * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFramePrivate dealloc]): (-[IFWebFramePrivate setWebView:]): (-[IFWebFrame _timedLayout:]): (-[IFWebFrame _transitionProvisionalToCommitted]): (-[IFWebFrame _setState:]): (-[IFWebFrame _isLoadComplete]): 2002-06-14 Richard Williamson * WebView.subproj/IFHTMLView.mm: (-[IFHTMLView initWithFrame:]): Added notification so we can intelligently add/remove mouse move observation when the window becomes/resigns main. Also added window close observation so we can clean up other observers. (-[IFHTMLView viewWillStartLiveResize]):\ Backed out removal of scroll bars during resize. (-[IFHTMLView viewDidEndLiveResize]): Backed out removal of scroll bars during resize. (-[IFHTMLView windowWillClose:]): Clean up observers. (-[IFHTMLView windowDidBecomeMain:]): Add mouse move observer. (-[IFHTMLView windowDidResignMain:]): Remove mouse move observer. (-[IFHTMLView mouseMovedNotification:]): Only pay attention to mouse moves for this window. * WebView.subproj/IFImageView.m: (-[IFImageView layout]): Removed unnecessary scroll view setDrawBackground calls. * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _setState:]): Added calls to scroll view setDrawBackground when the view rect is valid. 2002-06-14 Chris Blumenberg Enabled displaying of text, images and RTF Fixed drag & drop 2002-06-13 John Sullivan Various changes to better support the pasteboard. * Bookmarks.subproj/IFBookmark.h, * Bookmarks.subproj/IFBookmark.m: (+[IFBookmark bookmarkOfType:]): New method. * Bookmarks.subproj/IFBookmarkLeaf.m: (-[IFBookmarkLeaf init]): start out with a non-nil _entry (-[IFBookmarkLeaf setTitle:]): added assert (-[IFBookmarkLeaf setURLString:]): added assert * History.subproj/IFURLsWithTitles.h, * History.subproj/IFURLsWithTitles.m: (+[IFURLsWithTitles arrayWithIFURLsWithTitlesPboardType]), (+[IFURLsWithTitles writeURLs:andTitles:toPasteboard:]), (+[IFURLsWithTitles titlesFromPasteboard:]), (+[IFURLsWithTitles URLsFromPasteboard:]): New file with methods for reading/writing pasteboard entry representing a list of URLs with associated titles. Used by Bookmarks window and History window in Alexander. * History.subproj/IFWebHistoryPrivate.m: (-[IFWebHistoryPrivate removeEntryForURLString:]): refactored to turn a WEBKITDEBUG into a more-appropriate WEBKIT_ASSERT. * WebKit.pbproj/project.pbxproj: Updated for new files. 2002-06-13 Kenneth Kocienda Fixed typo in ChangeLog comment. 2002-06-13 Kenneth Kocienda Fixed uninitialized variable that broke the build. * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]) 2002-06-13 Richard Williamson Lots of cleanup. Fixed most regressions. Added removal of scrollbars during resizing, not sure if it's the correct behavior, but it makes resizing much smoother. Let's see what people think. * WebView.subproj/IFDynamicScrollBarsView.h: * WebView.subproj/IFDynamicScrollBarsView.m: (-[IFDynamicScrollBarsView initWithFrame:]): (-[IFDynamicScrollBarsView reflectScrolledClipView:]): (-[IFDynamicScrollBarsView updateScrollers]): (-[IFDynamicScrollBarsView setCursor:]): (-[IFDynamicScrollBarsView setAllowsScrolling:]): (-[IFDynamicScrollBarsView allowsScrolling]): * WebView.subproj/IFHTMLView.mm: (-[IFHTMLView provisionalDataSourceChanged:]): (-[IFHTMLView provisionalDataSourceCommitted:]): (-[IFHTMLView viewWillStartLiveResize]): (-[IFHTMLView viewDidEndLiveResize]): * WebView.subproj/IFHTMLViewPrivate.h: * WebView.subproj/IFHTMLViewPrivate.mm: (-[IFHTMLViewPrivate dealloc]): (-[IFHTMLView _provisionalWidget]): * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _timedLayout:]): (-[IFWebFrame _isLoadComplete]): * WebView.subproj/IFWebView.h: * WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]): (-[IFWebView setAllowsScrolling:]): (-[IFWebView allowsScrolling]): (-[IFWebView frameScrollView]): (-[IFWebView documentView]): (+[IFWebView createViewForMIMEType:]): (-[IFWebView isOpaque]): (-[IFWebView drawRect:]): * WebView.subproj/IFWebViewPrivate.h: * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebViewPrivate dealloc]): (-[IFWebView _setDocumentView:]): 2002-06-13 Chris Blumenberg Removed MIME.subproj. Moved IFDownloadHandler to Misc. * MIME.subproj/IFDownloadHandler.h: Removed. * MIME.subproj/IFDownloadHandler.mm: Removed. * Misc.subproj/IFDownloadHandler.h: Added. * Misc.subproj/IFDownloadHandler.mm: Added. (-[IFDownloadHandler initWithDataSource:]): (-[IFDownloadHandler dealloc]): (-[IFDownloadHandler receivedData:isComplete:]): (-[IFDownloadHandler cancel]): * WebKit.pbproj/project.pbxproj: 2002-06-13 Chris Blumenberg Fixed downloads. Now write out download files as data comes in. Removed useless lproj's. * Dutch.lproj/InfoPlist.strings: Removed. * Dutch.lproj/Localizable.strings: Removed. * French.lproj/InfoPlist.strings: Removed. * French.lproj/Localizable.strings: Removed. * German.lproj/InfoPlist.strings: Removed. * German.lproj/Localizable.strings: Removed. * Italian.lproj/InfoPlist.strings: Removed. * Italian.lproj/Localizable.strings: Removed. * Japanese.lproj/InfoPlist.strings: Removed. * Japanese.lproj/Localizable.strings: Removed. * MIME.subproj/IFDownloadHandler.h: * MIME.subproj/IFDownloadHandler.mm: (-[IFDownloadHandler dealloc]): (-[IFDownloadHandler receivedData:isComplete:]): added (-[IFDownloadHandler cancel]): added * Spanish.lproj/InfoPlist.strings: Removed. * Spanish.lproj/Localizable.strings: Removed. * WebKit.pbproj/project.pbxproj: * WebView.subproj/IFMainURLHandleClient.h: * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient initWithDataSource:]): removed unused BOOL (-[IFMainURLHandleClient dealloc]): (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]): (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]): (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]): 2002-06-12 Chris Blumenberg Couldn't run ChangeLog because it hung with the massize diffs, so here's a hand-made one. Changes to support inline views. Modified Files: WebKit/ChangeLog WebKit/Plugins.subproj/IFNullPluginView.mm WebKit/Plugins.subproj/IFPluginDatabase.h WebKit/Plugins.subproj/IFPluginDatabase.m WebKit/Plugins.subproj/IFPluginView.mm WebKit/WebCoreSupport.subproj/IFImageRenderer.h WebKit/WebCoreSupport.subproj/IFWebCoreViewFactory.m WebKit/WebKit.pbproj/project.pbxproj WebKit/WebView.subproj/IFDOMNode.mm WebKit/WebView.subproj/IFDynamicScrollBarsView.m WebKit/WebView.subproj/IFMainURLHandleClient.h WebKit/WebView.subproj/IFMainURLHandleClient.mm WebKit/WebView.subproj/IFRenderNode.mm WebKit/WebView.subproj/IFWebController.h WebKit/WebView.subproj/IFWebController.mm WebKit/WebView.subproj/IFWebControllerPrivate.h WebKit/WebView.subproj/IFWebControllerPrivate.mm WebKit/WebView.subproj/IFWebDataSource.h WebKit/WebView.subproj/IFWebDataSource.mm WebKit/WebView.subproj/IFWebDataSourcePrivate.h WebKit/WebView.subproj/IFWebDataSourcePrivate.mm WebKit/WebView.subproj/IFWebFrame.mm WebKit/WebView.subproj/IFWebFramePrivate.h WebKit/WebView.subproj/IFWebFramePrivate.mm WebKit/WebView.subproj/IFWebView.h WebKit/WebView.subproj/IFWebView.mm WebKit/WebView.subproj/IFWebViewPrivate.h WebKit/WebView.subproj/IFWebViewPrivate.mm Added Files: WebKit/Misc.subproj/IFNSViewExtras.h WebKit/Misc.subproj/IFNSViewExtras.m WebKit/WebView.subproj/IFDocument.h WebKit/WebView.subproj/IFHTMLRepresentation.h WebKit/WebView.subproj/IFHTMLRepresentation.mm WebKit/WebView.subproj/IFHTMLView.h WebKit/WebView.subproj/IFHTMLView.mm WebKit/WebView.subproj/IFHTMLViewPrivate.h WebKit/WebView.subproj/IFHTMLViewPrivate.mm WebKit/WebView.subproj/IFImageRepresentation.h WebKit/WebView.subproj/IFImageRepresentation.m WebKit/WebView.subproj/IFImageView.h WebKit/WebView.subproj/IFImageView.m WebKit/WebView.subproj/IFTextRepresentation.h WebKit/WebView.subproj/IFTextRepresentation.m WebKit/WebView.subproj/IFTextView.h WebKit/WebView.subproj/IFTextView.m Removed Files: WebKit/MIME.subproj/IFContentHandler.h WebKit/MIME.subproj/IFContentHandler.m WebKit/MIME.subproj/IFMIMEHandler.h WebKit/MIME.subproj/IFMIMEHandler.m 2002-06-12 Kenneth Kocienda * Misc.subproj/WebKitDebug.h: Made assertion failure console message bolder and easier to see. 2002-06-11 Darin Adler * WebView.subproj/IFMainURLHandleClient.mm: Add lots of assertions that allowed me to find the "leak the world" bug that Ken fixed in WebFoundation. These are a good idea anyway. * Plugins.subproj/IFPluginStream.mm: (-[IFPluginStream initWithURL:pluginPointer:notifyData:attributes:]): Use cStringLength to get the length for the cString rather than assuming that length will be right. (-[IFPluginStream IFURLHandle:didRedirectToURL:]): Add a FIXME. 2002-06-11 John Sullivan Made methods that convert bookmarks to and from property-list-compatible dictionaries public so they can be used in the Bookmarks window for cut/paste. * Bookmarks.subproj/IFBookmark.h: * Bookmarks.subproj/IFBookmark.m: (+[IFBookmark bookmarkFromDictionaryRepresentation:withGroup:]): New method (-[IFBookmark initFromDictionaryRepresentation:withGroup:]): (-[IFBookmark dictionaryRepresentation]): * Bookmarks.subproj/IFBookmarkGroup.m: (-[IFBookmarkGroup _loadBookmarkGroupGuts]): (-[IFBookmarkGroup _saveBookmarkGroupGuts]): * Bookmarks.subproj/IFBookmarkLeaf.m: (-[IFBookmarkLeaf initFromDictionaryRepresentation:withGroup:]): (-[IFBookmarkLeaf dictionaryRepresentation]): * Bookmarks.subproj/IFBookmarkList.m: (-[IFBookmarkList initFromDictionaryRepresentation:withGroup:]): (-[IFBookmarkList dictionaryRepresentation]): * Bookmarks.subproj/IFBookmarkSeparator.m: (-[IFBookmarkSeparator initFromDictionaryRepresentation:withGroup:]): (-[IFBookmarkSeparator dictionaryRepresentation]): * Bookmarks.subproj/IFBookmark_Private.h: Removed leading underscores from _initFromDictionaryRepresentation and _dictionaryRepresentation, and made them public. 2002-06-11 Darin Adler * WebView.subproj/IFDOMNode.h: Added. * WebView.subproj/IFDOMNode.mm: Added. * WebView.subproj/IFRenderNode.h: Added. * WebView.subproj/IFRenderNode.mm: Added. These contain all the interesting bits of the code for the render and DOM tree viewers, mostly moved here from WebBrowser. * WebView.subproj/IFWebViewPrivate.mm: Remove the methods in here that aren't declared in the header and are only used for the render and DOM tree viewers. * WebKit.pbproj/project.pbxproj: Add new files. 2002-06-10 Darin Adler * Makefile.am: Do a clean before building if the force-clean-timestamp file is newer than the previous-clean-timestamp. Edit force-clean-timestamp (doesn't matter what you change as long as you change it) to force a clean build in WebKit. * force-clean-timestamp: Added. * .cvsignore: Ignore previous-clean-timestamp. 2002-06-10 Darin Adler * WebCoreSupport.subproj/IFTextRenderer.h: Remove the flavor of floatWidthForCharacters without the applyRounding boolean. * WebCoreSupport.subproj/IFTextRenderer.m: (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]): Remove logic about characters in the 0x7F-0xA0 range, since it's already handled by the time we get around to drawing. (-[IFTextRenderer floatWidthForCharacters:length:applyRounding:]): Pass in the applyRounding boolean when calling through to slowFloatWidthForCharacters. Move logic about characters in the 0x7F-0xA0 range from here into [extendCharacterToGlyphMapToInclude:]. (-[IFTextRenderer widthForCharacters:length:]): Call the version of floatWidthForCharacters that takes the applyRounding parameter; this was the only client of the flavor that didn't take the parameter. (-[IFTextRenderer extendCharacterToGlyphMapToInclude:]): Add the logic about characters in the 0x7F-0xA0 range into here. 2002-06-10 Richard Williamson Tweaks to rounding code. Added Cocoa-exact width measurement emulation flag to support IFStringTruncator. Remove code that was already conditionally excluded calls to support non-specified advance drawing (we now depend on tweaked advances). * Misc.subproj/IFStringTruncator.m: (+[IFStringTruncator centerTruncateString:toWidth:withFont:]): * WebCoreSupport.subproj/IFTextRenderer.h: * WebCoreSupport.subproj/IFTextRenderer.m: (-[IFTextRenderer initWithFont:]): (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]): (-[IFTextRenderer slowFloatWidthForCharacters:length:applyRounding:]): (-[IFTextRenderer slowFloatWidthForCharacters:length:]): (-[IFTextRenderer floatWidthForCharacters:length:applyRounding:]): (-[IFTextRenderer floatWidthForCharacters:length:]): (-[IFTextRenderer extendCharacterToGlyphMapToInclude:]): 2002-06-10 Darin Adler * WebCoreSupport.subproj/IFCachedTextRenderer.m: Removed. 2002-06-10 John Sullivan Fixed leaks in History mechanism, found by overriding release, retain, autorelease, and dealloc and watching the spam fly. * History.subproj/IFWebHistoryPrivate.m: (-[IFWebHistoryPrivate addEntry:]): Make autoreleased array for entries on a given date. (-[IFWebHistoryPrivate _loadHistoryGuts:]): autorelease entries as they are generated from data on disk. 2002-06-10 Darin Adler * WebCoreSupport.subproj/IFTextRenderer.m: (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]): Fix a typo where I left the S off of DRAW_WITHOUT_ADVANCES. 2002-06-10 Richard Williamson 90% solution to round-off problem. khtml breaks measures text on space boundaries during layout. It assumes integer measurement, CG uses float measurements. Some common fonts have non-integer space width. So, differences in between drawing advances and measurement of space characters can easily accumulate enough to be visually apparent. We may still accumulate differences across words, although it's much less visible than for spaces. As a next step we can fudge the advances of words to force integer widths, although I think, given how khtml work, just accounting for consistency in measuring and drawing spaces may be sufficient. Many sites that looked flaky before now render correctly. * WebCoreSupport.subproj/IFTextRenderer.m: (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]): Force rounding of advance for space characters. (-[IFTextRenderer floatWidthForCharacters:length:]): Force rounding of measurement for space characters. 2002-06-09 John Sullivan WebKit part of fix for 2949646 (Can't drag & drop bookmarks into auto-expanded folder). To get this to work right, I gave each bookmark a unique (per-session) identifier. While working on this, I found and fixed some leaks of bookmarks. * Bookmarks.subproj/IFBookmark.h: New -[identifier] method and _identifier ivar. * Bookmarks.subproj/IFBookmark.m: (+[IFBookmark _generateUniqueIdentifier]): (-[IFBookmark init]): (-[IFBookmark dealloc]): Remember unique identifier in each bookmark as it is created; delete when dealloc'd. (-[IFBookmark identifier]): Return unique identifier. (-[IFBookmark _setParent:]): Don't retain parent, to avoid circular ownership. (-[IFBookmark _setGroup:]): Tell coming and going group. * Bookmarks.subproj/IFBookmarkGroup.h: New +[bookmarkForIdentifier] method and _bookmarksByID ivar. * Bookmarks.subproj/IFBookmarkGroup_Private.h: Declarations of _removedBookmark: and _addedBookmark: * Bookmarks.subproj/IFBookmarkGroup.m: (-[IFBookmarkGroup initWithFile:]): alloc _bookmarksByID. (-[IFBookmarkGroup dealloc]): release _bookmarksByID. (-[IFBookmarkGroup _setTopBookmark:]): Don't bail out early; would now cause leak. (-[IFBookmarkGroup _removedBookmark:]): New method, removes bookmark from _bookmarksByID. (-[IFBookmarkGroup _addedBookmark:]): New method, adds bookmark to _bookmarksByID. (-[IFBookmarkGroup bookmarkForIdentifier:]): Looks up bookmark from _bookmarksByID dictionary. (-[IFBookmarkGroup _loadBookmarkGroupGuts]): autorelease newTopbookmark; this had been leaking. * Bookmarks.subproj/IFBookmarkList.m: (-[IFBookmarkList _initFromDictionaryRepresentation:withGroup:]): autorelease children before adding them to parent; this had been leaking. 2002-06-09 Darin Adler * WebCoreSupport.subproj/IFTextRenderer.m: (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]): Fixed a possible uninitialized variable problem that the compiler and Don caught. 2002-06-09 Darin Adler * WebCoreSupport.subproj/IFTextRenderer.m: (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]): Add code to handle drawing when are more than LOCAL_GLYPH_BUFFER_SIZE advances. I ran into this loading . Also fix handling of advances for the obscure case where we hit a non-base character, slowPackGlyphsForCharacters fails, and substituteFontforCharacters returns nil. 2002-06-07 Darin Adler * Makefile.am: Use new shared "embed.am" file so we don't need four copies of the embedding rules for WebFoundation, JavaScriptCore, WebCore, and WebKit. 2002-06-07 Darin Adler * MIME.subproj/IFContentHandler.m: (-[IFContentHandler HTMLDocument]): Fix a warning that shows up with the new C++ compiler (not sure why it is not showing up with the old one). 2002-06-07 Chris Blumenberg Allow plug-ins to make a NPP_*URLNotify request when the target is _self, _top, _parent or _current. This goes against the plug-in documentation, but mimics IE. Need for iTools. * Plugins.subproj/IFPluginView.mm: (-[IFPluginView loadURL:inTarget:withNotifyData:andHandleAttributes:]): 2002-06-07 Darin Adler * WebKit.pbproj/project.pbxproj: Don't use any warning flags for C that won't work for C++, because PFE uses the C warning flags on a C++ compile. 2002-06-07 Chris Blumenberg Made IFWebController a class. Fixed all places where IFWebController was referred to as a protocol. Renamed IFBaseWebController files to IFWebController. IFWebController.h replaces IFWebBaseController.h. Added support for IEPL plug-ins. * Panels.subproj/IFStandardPanels.m: (-[IFStandardPanels _didStartLoadingURL:inController:]): (-[IFStandardPanels _didStopLoadingURL:inController:]): * Panels.subproj/IFStandardPanelsPrivate.h: * Plugins.subproj/IFNullPluginView.mm: (-[IFNullPluginView drawRect:]): * Plugins.subproj/IFPlugin.h: * Plugins.subproj/IFPlugin.m: (-[IFPlugin _getPluginInfoForResourceFile:]): (-[IFPlugin initWithPath:]): (-[IFPlugin load]): (-[IFPlugin description]): * Plugins.subproj/IFPluginStream.mm: (-[IFPluginStream IFURLHandleResourceDidBeginLoading:]): (-[IFPluginStream IFURLHandleResourceDidFinishLoading:data:]): (-[IFPluginStream IFURLHandleResourceDidCancelLoading:]): (-[IFPluginStream IFURLHandle:resourceDidFailLoadingWithResult:]): (-[IFPluginStream IFURLHandle:didRedirectToURL:]): * Plugins.subproj/IFPluginView.h: * Plugins.subproj/IFPluginView.mm: (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]): (-[IFPluginView webController]): * WebKit.pbproj/project.pbxproj: * WebView.subproj/IFBaseWebController.h: Removed. * WebView.subproj/IFBaseWebController.mm: Removed. * WebView.subproj/IFBaseWebControllerPrivate.h: Removed. * WebView.subproj/IFBaseWebControllerPrivate.mm: Removed. * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandleResourceDidBeginLoading:]): (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]): (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]): (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]): (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]): * WebView.subproj/IFWebController.h: * WebView.subproj/IFWebController.mm: Added. (-[IFWebController init]): (-[IFWebController initWithView:provisionalDataSource:]): (-[IFWebController dealloc]): (-[IFWebController setDirectsAllLinksToSystemBrowser:]): (-[IFWebController directsAllLinksToSystemBrowser]): (-[IFWebController createFrameNamed:for:inParent:inScrollView:]): (-[IFWebController setStatusText:forDataSource:]): (-[IFWebController statusTextForDataSource:]): (-[IFWebController openNewWindowWithURL:]): (-[IFWebController receivedProgress:forResource:fromDataSource:]): (-[IFWebController receivedError:forResource:partialProgress:fromDataSource:]): (-[IFWebController provideLocationChangeHandlerForFrame:]): (-[IFWebController receivedPageTitle:forDataSource:]): (-[IFWebController serverRedirectTo:forDataSource:]): (-[IFWebController _frameForDataSource:fromFrame:]): (-[IFWebController frameForDataSource:]): (-[IFWebController _frameForView:fromFrame:]): (-[IFWebController frameForView:]): (-[IFWebController frameNamed:]): (-[IFWebController mainFrame]): (-[IFWebController pluginNotFoundForMIMEType:pluginPageURL:]): (-[IFWebController provideLocationChangeHandlerForFrame:andURL:]): (-[IFWebController URLPolicyForURL:]): (-[IFWebController unableToImplementURLPolicyForURL:error:]): (-[IFWebController haveContentPolicy:andPath:forLocationChangeHandler:]): (-[IFWebController stopAnimatedImages]): (-[IFWebController startAnimatedImages]): (-[IFWebController stopAnimatedImageLooping]): (-[IFWebController startAnimatedImageLooping]): * WebView.subproj/IFWebControllerPrivate.h: Added. * WebView.subproj/IFWebControllerPrivate.mm: Added. (-[IFWebControllerPrivate init]): (-[IFWebControllerPrivate _clearControllerReferences:]): (-[IFWebControllerPrivate dealloc]): (-[IFWebController _receivedProgress:forResource:fromDataSource:]): (-[IFWebController _mainReceivedProgress:forResource:fromDataSource:]): (-[IFWebController _receivedError:forResource:partialProgress:fromDataSource:]): (-[IFWebController _mainReceivedError:forResource:partialProgress:fromDataSource:]): (-[IFWebController _didStartLoading:]): (-[IFWebController _didStopLoading:]): * WebView.subproj/IFWebDataSource.h: * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource controller]): * WebView.subproj/IFWebDataSourcePrivate.h: * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _setController:]): * WebView.subproj/IFWebFrame.h: * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame initWithName:view:provisionalDataSource:controller:]): (-[IFWebFrame controller]): (-[IFWebFrame setController:]): (-[IFWebFrame frameNamed:]): * WebView.subproj/IFWebFramePrivate.h: * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFramePrivate setController:]): (-[IFWebFrame _setController:]): * WebView.subproj/IFWebView.h: * WebView.subproj/IFWebView.mm: (-[IFWebView controller]): * WebView.subproj/IFWebViewPrivate.h: * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView _setController:]): === Alexander-8 === 2002-06-06 Darin Adler * WebKit.pbproj/project.pbxproj: Update warning flags for compatibility with new C++. * WebCoreSupport.subproj/IFTextRenderer.m: (FillStyleWithAttributes): Remove workaround we copied from AppKit, because it's a workaround for a bug that was fixed in Puma. 2002-06-06 Chris Blumenberg Added support for key codes and other encodings. Send activate to make Java happy. * Plugins.subproj/IFPluginView.mm: (-[IFPluginView keyMessageForEvent:]): added (-[IFPluginView keyUp:]): use above. (-[IFPluginView keyDown:]): use above. (-[IFPluginView windowBecameKey:]): send activate. (-[IFPluginView windowResignedKey:]): send activate. 2002-06-06 John Sullivan * Bookmarks.subproj/IFBookmarkList.m: (-[IFBookmarkList removeChild:]): (-[IFBookmarkList insertChild:atIndex:]): * ChangeLog: 2002-06-06 John Sullivan * Bookmarks.subproj/IFBookmarkList.m: (-[IFBookmarkList removeChild:]): Added assert. (-[IFBookmarkList insertChild:atIndex:]): Set the group of the new child, and added assert. 2002-06-06 Darin Adler * MIME.subproj/IFContentHandler.m: (-[IFContentHandler initWithURL:MIMEType:MIMEHandlerType:]): Add call to [super init]. (-[IFContentHandler useTemplate:withGlobal:]): New helper function. Also got rid of from templates, since there's no need for us to provide a fake title if it's just the URL. (-[IFContentHandler HTMLDocument]): Reduce use of copied and pasted code. (-[IFContentHandler dealloc]): Add call to [super dealloc]. * Resources/image_document_template.html: Remove <title>. * Resources/plugin_document_template.html: Remove <title>. * Resources/text_document_template.html: Remove <title>. * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient processData:isComplete:allDataReceived:]): Remove some unneeded type casts. 2002-06-05 Maciej Stachowiak <mjs@apple.com> Fixed Radar 2936155 - crash in IFAuthenticationPanel * Panels.subproj/IFAuthenticationPanel.m: (-[IFAuthenticationPanel runAsSheetOnWindow:withRequest:]): Add some assertions. (-[IFAuthenticationPanel sheetDidEnd:returnCode:contextInfo:]): Avoid referencing instance variables after performing a selector that might release this object. Also, add some assertions. * Panels.subproj/IFPanelAuthenticationHandler.m: (-[IFPanelAuthenticationHandler startAuthentication:]): Tweak whitespace. 2002-06-05 Richard Williamson <rjw@apple.com> Fixed snafu in recursion over frame tree. * WebView.subproj/IFWebFrame.mm: (+[IFWebFrame _frameNamed:fromFrame:]): (-[IFWebFrame frameNamed:]): 2002-06-05 Richard Williamson <rjw@apple.com> Normalized frame naming. (We still don't support cross window name lookups.) * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController frameNamed:]): * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame frameNamed:]): 2002-06-04 Chris Blumenberg <cblu@apple.com> * MIME.subproj/IFDownloadHandler.mm: Use public methods * WebView.subproj/IFWebDataSource.h: Made downloadPath public * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource downloadPath]): * WebView.subproj/IFWebDataSourcePrivate.h: * WebView.subproj/IFWebDataSourcePrivate.mm: 2002-06-04 Richard Williamson <rjw@apple.com> More exclusion for pre 6C48. * ChangeLog: * WebCoreSupport.subproj/IFImageRenderer.m: (-[IFImageRenderer incrementalLoadWithBytes:length:complete:]): * WebCoreSupport.subproj/IFImageRendererFactory.m: (-[IFImageRendererFactory imageRenderer]): 2002-06-04 Richard Williamson <rjw@apple.com> Oops, excluded even more code for < 6C48. * WebCoreSupport.subproj/IFImageRenderer.m: (-[IFImageRenderer incrementalLoadWithBytes:length:complete:]): 2002-06-04 Kenneth Kocienda <kocienda@apple.com> * Misc.subproj/WebKitDebug.h: Added a line of stderr output into the assertion failure code so that we have some idea of what happened. 2002-06-04 Richard Williamson <rjw@apple.com> Excluded call to new API until everyone has moved to >= 6C48. * WebCoreSupport.subproj/IFImageRenderer.m: (-[IFImageRenderer incrementalLoadWithBytes:length:complete:]): 2002-06-04 Richard Williamson <rjw@apple.com> Changes to support progressive image loading. Currently disabled until 2945218 is fixed. * WebCoreSupport.subproj/IFImageRenderer.h: * WebCoreSupport.subproj/IFImageRenderer.m: * WebCoreSupport.subproj/IFImageRendererFactory.m: 2002-06-04 Darin Adler <darin@apple.com> - fixed 2932862 -- exception -[NSCFArray getObjects:range:]: index (137) beyond bounds (10) * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView _stopPlugins]): (-[IFWebView _removeSubviews]): Make a copy of the subviews list so that changes to the list don't screw up the iterating logic. 2002-06-04 John Sullivan <sullivan@apple.com> Made changes here while working on Undo for removing history entries. * History.subproj/IFWebHistory.h: New methods addEntries: and removeEntries:, deleted method removeEntriesForDay: (use removeEntries: instead). * History.subproj/IFWebHistory.m: (-[IFWebHistory addEntries:]), (-[IFWebHistory removeEntries:]): New methods, each takes an array of entries. Useful for doing multiple things at a time to minimize notifications. (-[IFWebHistory removeEntriesForDay:]): deleted this now-unnecessary method. * History.subproj/IFWebHistoryPrivate.h: * History.subproj/IFWebHistoryPrivate.m: (-[IFWebHistoryPrivate removeEntries:]): (-[IFWebHistoryPrivate removeAllEntries]): (-[IFWebHistoryPrivate addEntries:]): Private implementations for the public changes. 2002-06-04 Darin Adler <darin@apple.com> - fixed 2943513 -- move StringTruncator into WebKit from WebBrowser so we don't need text measuring API exported * WebKit.pbproj/project.pbxproj: No longer export the text renderer headers as Private. 2002-06-04 Darin Adler <darin@apple.com> * WebKit.pbproj/project.pbxproj: Exported IFStringTruncator.h as Private. 2002-06-04 Darin Adler <darin@apple.com> Moved the string truncator class here from WebBrowser so we don't have to export our text machinery. * WebKit.pbproj/project.pbxproj: * Misc.subproj/IFStringTruncator.h: Added. * Misc.subproj/IFStringTruncator.m: Added. 2002-06-03 Darin Adler <darin@apple.com> * WebCoreSupport.subproj/IFImageRenderer.m: (-[IFImageRenderer beginAnimationInView:inRect:fromRect:]): Remove the "fix" for the nonexistent storage leak. Richard showed me the error of my ways. 2002-06-03 John Sullivan <sullivan@apple.com> Richard told me which line to change to fix 2944237 (Stop item in View menu enabled on startup if you have no home page.) * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource isLoading]): Don't return YES if !_private->loading. 2002-06-01 Darin Adler <darin@apple.com> * WebCoreSupport.subproj/IFImageRenderer.m: (-[IFImageRenderer beginAnimationInView:inRect:fromRect:]): Remove an assert I added, since it is firing, and instead fixed the storage leak that inspired me to put the assert in. 2002-05-31 Darin Adler <darin@apple.com> * WebView.subproj/IFWebViewPrivate.mm: Add include to prepare for change to WebCore that will make it required. 2002-05-31 Darin Adler <darin@apple.com> * WebCoreSupport.subproj/IFImageRenderer.h: Fixed the line endings (they were Macintosh CRs instead of Unix LFs). Also made all the methods be private for now since there's no need to have them be public. * WebCoreSupport.subproj/IFImageRenderer.m: Fixed the line endings (they were Macintosh CRs instead of Unix LFs). Some minor code tweaks too sharing a bit more code. * WebCoreSupport.subproj/IFImageRendererFactory.m: (-[IFImageRendererFactory imageRendererWithSize:]): Return an IFImageRenderer rather than just an NSImage, since an NSImage does not satisfy WebCoreImageRenderer. 2002-05-31 Darin Adler <darin@apple.com> * Misc.subproj/WebKitDebug.h: Use displayableString in DEBUG_OBJECT for nicer logging. * WebView.subproj/IFWebView.mm: (-[IFWebView keyDown:]): (-[IFWebView keyUp:]): Use DEBUG_OBJECT so we don't get exceptions when the key characters are not simple ASCII characters. 2002-05-30 Richard Williamson <rjw@apple.com> API and comment cleanup. * WebView.subproj/IFWebFrame.h: * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame setProvisionalDataSource:]): 2002-05-30 Maciej Stachowiak <mjs@apple.com> WebKit parts of fixes for: Radar 2926169 - no support for window.open Radar 2890469 - Preference to prevent JavaScript from automatically opening new windows doesn't work Radar 2938569 - link cursor does not appear on some pages * WebView.subproj/IFWebController.h: Added openNewWindowWithURL: method for the benefit of JavaScript. * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController openNewWindowWithURL:]): No-op default implementation. * WebView.subproj/IFDynamicScrollBarsView.h: * WebView.subproj/IFDynamicScrollBarsView.m: (-[IFDynamicScrollBarsView setCursor:]): Fix cursor handling. (-[IFDynamicScrollBarsView resetCursorRects]): Likewise. * WebView.subproj/IFWebView.mm: (-[IFWebView mouseMovedNotification:]): Likewise. (-[IFWebView setCursor:]): Likewise. * WebView.subproj/IFPreferences.h: * WebView.subproj/IFPreferences.mm: (-[IFPreferences javaScriptEnabled]): Renamed from jScriptEnabled. (-[IFPreferences setJavaScriptEnabled:]): Renamed from setJScriptEnabled. (-[IFPreferences javaScriptCanOpenWindowsAutomatically]): New method. (-[IFPreferences setJavaScriptCanOpenWindowsAutomatically:]): Likewise. * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame initWithName:view:provisionalDataSource:controller:]): Create a dummy provisional data source if none is provided, so we always have a part for the frame. 2002-05-30 Darin Adler <darin@apple.com> Use methods in KWQKHTMLPartImpl that were moved there from KHTMLPart. * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]): (-[IFMainURLHandleClient processData:isComplete:allDataReceived:]): * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource documentText]): * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _setController:]): * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _isLoadComplete]): * WebView.subproj/IFWebView.mm: (-[IFWebView provisionalDataSourceChanged:]): 2002-05-30 Chris Blumenberg <cblu@apple.com> Use NSWorkspace methods instead of Launch Services and Finder functions. * MIME.subproj/IFDownloadHandler.h: * MIME.subproj/IFDownloadHandler.mm: * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame setProvisionalDataSource:]): 2002-05-30 Richard Williamson <rjw@apple.com> Added 'canDraw' check to ensure that we can render an image frame. * WebCoreSupport.subproj/IFImageRenderer.m: === Alexander-7 === 2002-05-29 Richard Williamson <rjw@apple.com> Changes to support animated image rendering. Moved image rendering into webkit. Still need to implement preferences stubs and start/stop stubs. * WebCoreSupport.subproj/IFImageRenderer.h: Added. * WebCoreSupport.subproj/IFImageRenderer.m: Added. * WebCoreSupport.subproj/IFImageRendererFactory.h: Added. * WebCoreSupport.subproj/IFImageRendererFactory.m: Added. (+[IFImageRendererFactory createSharedFactory]): (+[IFImageRendererFactory sharedFactory]): (-[IFImageRendererFactory imageRendererWithBytes:length:]): (-[IFImageRendererFactory imageRendererWithSize:]): * WebKit.pbproj/project.pbxproj: * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController stopAnimatedImages]): (-[IFBaseWebController startAnimatedImages]): (-[IFBaseWebController stopAnimatedImageLooping]): (-[IFBaseWebController startAnimatedImageLooping]): * WebView.subproj/IFPreferences.h: * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]): (-[IFPreferences _resourceTimedLayoutEnabled]): (-[IFPreferences allowAnimatedImages]): (-[IFPreferences allowAnimatedImageLooping]): (-[IFPreferences setAllowAnimatedImageLooping:]): * WebView.subproj/IFWebController.h: * WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]): 2002-05-29 Richard Williamson <rjw@apple.com> API stubs for image animation. * WebKit.pbproj/project.pbxproj: * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController stopAnimatedImages]): (-[IFBaseWebController startAnimatedImages]): (-[IFBaseWebController stopAnimatedImageLooping]): (-[IFBaseWebController startAnimatedImageLooping]): * WebView.subproj/IFPreferences.h: * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]): (-[IFPreferences _resourceTimedLayoutEnabled]): (-[IFPreferences allowAnimatedImages]): (-[IFPreferences allowAnimatedImageLooping]): (-[IFPreferences setAllowAnimatedImageLooping:]): * WebView.subproj/IFWebController.h: 2002-05-29 John Sullivan <sullivan@apple.com> Removed acceptsFirstMouse override, this fixes at least: 2930713 -- clicking on an empty part of window to bring it to front takes focus away from page address field 2938028 -- Link cursor doesn't appear when browser window not frontmost, but clicks activate links * WebView.subproj/IFWebView.mm: 2002-05-28 John Sullivan <sullivan@apple.com> Made -[IFBookmark group] and -[IFBookmark parent] public methods, and renamed them to not use leading underscores, as part of support for revealing a particular bookmark in the Bookmarks window. * Bookmarks.subproj/IFBookmark_Private.h: removed _group and _parent. * Bookmarks.subproj/IFBookmark.h: added group and parent. * Bookmarks.subproj/IFBookmark.m: (-[IFBookmark parent]): (-[IFBookmark group]): * Bookmarks.subproj/IFBookmarkGroup.m: (-[IFBookmarkGroup removeBookmark:]): (-[IFBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:image:URLString:type:]): * Bookmarks.subproj/IFBookmarkLeaf.m: (-[IFBookmarkLeaf copyWithZone:]): (-[IFBookmarkLeaf setTitle:]): (-[IFBookmarkLeaf setImage:]): (-[IFBookmarkLeaf setURLString:]): * Bookmarks.subproj/IFBookmarkList.m: (-[IFBookmarkList copyWithZone:]): (-[IFBookmarkList setTitle:]): (-[IFBookmarkList setImage:]): (-[IFBookmarkList removeChild:]): (-[IFBookmarkList insertChild:atIndex:]): (-[IFBookmarkList _setGroup:]): * Bookmarks.subproj/IFBookmarkSeparator.m: (-[IFBookmarkSeparator copyWithZone:]): Fixed up all references to _group and _parent to now refer to group and parent. 2002-05-28 Richard Williamson <rjw@apple.com> Backed out band-aid add to fixed malformed resources URLs. * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _addURLHandle:]): 2002-05-28 Chris Blumenberg <cblu@apple.com> Added support for creating a new window from a plug-in (2938004) * Plugins.subproj/IFPluginView.mm: (-[IFPluginView loadURL:inTarget:withNotifyData:andHandleAttributes:]): 2002-05-28 Chris Blumenberg <cblu@apple.com> * Plugins.subproj/IFPluginDatabase.h: * Plugins.subproj/IFPluginDatabase.m: (-[IFPluginDatabase pluginForMimeType:]): renamed (-[IFPluginDatabase pluginForExtension:]): renamed (-[IFPluginDatabase pluginForFilename:]): renamed (findPlugins): * WebCoreSupport.subproj/IFWebCoreViewFactory.m: support for above renamed (-[IFWebCoreViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]): (-[IFWebCoreViewFactory viewForJavaAppletWithArguments:]): * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _addURLHandle:]): fix for a nil handle being added to an array 2002-05-28 Darin Adler <darin@apple.com> * WebCoreSupport.subproj/IFTextRenderer.m: (hasMissingGlyphs): Use recordSize instead of assuming records are sizeof(ATSLayoutRecord). (-[IFTextRenderer convertCharacters:length:toGlyphs:]): Free buffer after calling ATSUConvertCharToGlyphs; old code was using buffer after freeing it. (-[IFTextRenderer widthForString:]): Handle case where string is longer than LOCAL_GLYPH_BUFFER_SIZE. (-[IFTextRenderer slowPackGlyphsForCharacters:numCharacters:glyphBuffer:numGlyphs:]): (-[IFTextRenderer drawString:atPoint:withColor:]): Use recordSize instead of assuming records are sizeof(ATSLayoutRecord). (-[IFTextRenderer slowFloatWidthForCharacters:length:]): Use recordSize instead of assuming records are sizeof(ATSLayoutRecord). (-[IFTextRenderer floatWidthForCharacters:length:]): Remove extra rounding. The caller that converts the width to an integer already does the rounding. (-[IFTextRenderer extendCharacterToGlyphMapToInclude:]): Fix off by one error that caused us to include one extra character in each glyph map block. Also use recordSize instead of assuming records are sizeof(ATSLayoutRecord). 2002-05-27 John Sullivan <sullivan@apple.com> Part of fix for 2922772 -- page title & location field don't show redirected URLs. * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource wasRedirected]): Fixed this method, now that we have a client that relies on it. Its logic was backwards, and it didn't handle the null _finalURL case. 2002-05-26 Maciej Stachowiak <mjs@apple.com> Fixed Radar 936147 - debug output in console "keyUp: NSEvent: type=KeyUp" * WebView.subproj/IFWebView.mm: (-[IFWebView keyDown:]): Turned NSLog into WEBKITDEBUGLEVEL. (-[IFWebView keyUp:]): Likewise. 2002-05-26 Maciej Stachowiak <mjs@apple.com> WebKit part of fix for: Radar 2884085 - add support for changing cursor over links Also, fix handling of mouseMoved events. * WebView.subproj/IFWebView.mm: (-[IFWebView mouseMovedNotification:]): Clip mouseMoved events to the view rect, otherwise mouseover effects might happen for elements past the edge of the window. (-[IFWebView setCursor:]): Implement. (-[IFWebView resetCursorRects]): Implement. * WebView.subproj/IFWebViewPrivate.h: * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebViewPrivate dealloc]): Added NSCursor *cursor field. 2002-05-25 Maciej Stachowiak <mjs@apple.com> * WebKit.pbproj/project.pbxproj: Link against WebCore.framework, not libwebcore.dylib. === 0.3 === 2002-05-24 Shelley A Sheridan <sheridan@apple.com> * ChangeLog: === Alexander-6 === 2002-05-23 Maciej Stachowiak <mjs@apple.com> WebKit part of the fix for: Radar 2896391 - command-click should open link in new window * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController openNewWindowWithURL:]): Default implementation silently does nothing. * WebView.subproj/IFWebController.h: Add openNewWindowWithURL: method. * WebView.subproj/IFWebView.mm: (-[IFWebView _addModifiers:toState:]): Split out modifier key handling to here. Treat Command as Meta. (-[IFWebView mouseUp:]): Use new method to set key modifiers for mouse events. (-[IFWebView mouseDown:]): Use new method to set key modifiers for mouse events. (-[IFWebView keyDown:]): Use new shared code for key modifiers. (-[IFWebView keyUp:]): Use new shared code for key modifiers. 2002-05-23 Kenneth Kocienda <kocienda@apple.com> Fixes for these bugs: Radar 2883631 (need to implement support for META HTTP_EQUIV=REFRESH) Radar 2935472 (Non-standard html pages don't always get decoded) * WebView.subproj/IFMainURLHandleClient.h: * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient setContentPolicy:]): Updated method to use new processData interface. (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): Senses when all data has been received for a load. (-[IFMainURLHandleClient processData:isComplete:allDataReceived:]): Modified interface to add a flag for when all data for a load has been received. 2002-05-23 Shelley A Sheridan <sheridan@apple.com> * ChangeLog: === Alexander-5 === 2002-05-23 Maciej Stachowiak <mjs@apple.com> Move authentication panel to WebKit and make it a sheet, fixing: Radar 2876445 - Authentication panel should be a sheet Radar 2876449 - The Alexander authentication panel should be moved to WebKit for use as a standard one * Panels.subproj/English.lproj/IFAuthenticationPanel.nib: Added. * Panels.subproj/IFAuthenticationPanel.h: Added. * Panels.subproj/IFAuthenticationPanel.m: Added. * Panels.subproj/IFPanelAuthenticationHandler.h: Added. * Panels.subproj/IFPanelAuthenticationHandler.m: Added. * Panels.subproj/IFStandardPanels.h: Added. * Panels.subproj/IFStandardPanels.m: Added. * Panels.subproj/IFStandardPanelsPrivate.h: Added. * WebKit.pbproj/project.pbxproj: Add new files to build. * Plugins.subproj/IFPluginStream.mm: (-[IFPluginStream IFURLHandleResourceDidBeginLoading:]): Notify of load start. (-[IFPluginStream IFURLHandleResourceDidFinishLoading:data:]): Notify of load end. (-[IFPluginStream IFURLHandleResourceDidCancelLoading:]): Likewise. (-[IFPluginStream IFURLHandle:resourceDidFailLoadingWithResult:]): Likewise. (-[IFPluginStream IFURLHandle:didRedirectToURL:]): Notify that old URL is no longer loading, but new one is. * WebView.subproj/IFBaseWebControllerPrivate.h: * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController _didStartLoading:]): New private method used to track what URLs are loading on behalf of this controller. (-[IFBaseWebController _didStopLoading:]): Likewise. * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandleResourceDidBeginLoading:]): Notify of load start. (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]): Notify of load end. (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]): Likewise. (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): Likewise. (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]): Likewise. (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]): Notify of load end and start. 2002-05-22 Chris Blumenberg <cblu@apple.com> Fixed download data source leaks when downloads are cancelled. * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]): * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]): (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]): 2002-05-22 Chris Blumenberg <cblu@apple.com> Removed activate events as this was causing problems for the QT plug-in. * Plugins.subproj/IFPluginView.mm: (-[IFPluginView windowBecameKey:]): (-[IFPluginView windowResignedKey:]): 2002-05-22 Chris Blumenberg <cblu@apple.com> Fixed crasher caused by not retaining. Fixed targeting bug. * Plugins.subproj/IFPluginView.mm: (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]): (-[IFPluginView getURLNotify:target:notifyData:]): (-[IFPluginView getURL:target:]): (-[IFPluginView postURLNotify:target:len:buf:file:notifyData:]): (-[IFPluginView postURL:target:len:buf:file:]): 2002-05-22 Richard J. Williamson <rjw@apple.com> Changed semantics of isLoading to only return YES if the datasource is loading resources related to the intial load. Other resources loaded later by JS will not be accounted for by isLoading. * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource isLoading]): 2002-05-22 Chris Blumenberg <cblu@apple.com> - Removed obsolete MIME/download related code. - Minor clean-ups. - Made WebKit support all text MIME types. - Now send NPP_URLNotify when pages requested by plug-ins are loaded. - Simplified NPP_Get/NPP_Post code. * MIME.subproj/IFContentHandler.h: * MIME.subproj/IFContentHandler.m: * MIME.subproj/IFDownloadHandler.mm: * MIME.subproj/IFMIMEDatabase.h: Removed. * MIME.subproj/IFMIMEDatabase.m: Removed. * MIME.subproj/IFMIMEHandler.h: * MIME.subproj/IFMIMEHandler.m: (+[IFMIMEHandler MIMEHandlerTypeForMIMEType:]): (+[IFMIMEHandler canShowMIMEType:]): * Plugins.subproj/IFPluginView.h: * Plugins.subproj/IFPluginView.mm: (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]): (-[IFPluginView dealloc]): (-[IFPluginView frameStateChanged:]): (-[IFPluginView loadURL:inTarget:withNotifyData:andHandleAttributes:]): (-[IFPluginView getURLNotify:target:notifyData:]): (-[IFPluginView getURL:target:]): (-[IFPluginView postURLNotify:target:len:buf:file:notifyData:]): (-[IFPluginView postURL:target:len:buf:file:]): (-[IFPluginView invalidateRect:]): (-[IFPluginView invalidateRegion:]): (-[IFPluginView forceRedraw]): * WebKit.pbproj/project.pbxproj: * WebView.subproj/IFMainURLHandleClient.h: * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient dealloc]): (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): (-[IFMainURLHandleClient processData:isComplete:]): * WebView.subproj/IFWebFramePrivate.h: * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _setState:]): 2002-05-21 Richard J. Williamson <rjw@apple.com> Fixed baseline regression. Obvious of sites that have tables w/ backgrounds, i.e. www.slashdot.org. * WebCoreSupport.subproj/IFTextRenderer.m: (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]): (-[IFTextRenderer drawUnderlineForString:atPoint:withColor:]): 2002-05-21 Richard J. Williamson <rjw@apple.com> Changes to support additional DHTML events. * WebView.subproj/IFWebView.mm: (-[IFWebView keyDown:]): (-[IFWebView keyUp:]): * WebView.subproj/IFWebViewPrivate.mm: (+[IFWebView _nodeHTML:DOM::]): 2002-05-21 Chris Blumenberg <cblu@apple.com> Content policy can now be sent at a later time to avoid blocking. * WebView.subproj/IFMainURLHandleClient.h: * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient initWithDataSource:part:]): (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): 2002-05-21 Chris Blumenberg <cblu@apple.com> Move the tracking rect after the view has moved. * Plugins.subproj/IFPluginView.mm: (-[IFPluginView viewHasMoved:]): Fixed logging. * Plugins.subproj/npapi.m: (NPN_UserAgent): (NPN_MemAlloc): (NPN_MemFree): (NPN_MemFlush): (NPN_ReloadPlugins): 2002-05-21 Kenneth Kocienda <kocienda@apple.com> Merged these four include files into the precompiled header. These are used for the enhanced assertion/debuggin support I added yesterday. <signal.h> <sys/types.h> <sys/time.h> <sys/resource.h> * WebKitPrefix.h 2002-05-20 Chris Blumenberg <cblu@apple.com> Added support for plug-ins to send URL requests to certain targets. Added frameNamed to IFWebFrame. * Plugins.subproj/IFPluginView.mm: (-[IFPluginView getURLNotify:target:notifyData:]): (-[IFPluginView postURLNotify:target:len:buf:file:notifyData:]): * WebView.subproj/IFWebFrame.h: * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame frameNamed:]): 2002-05-20 Kenneth Kocienda <kocienda@apple.com> * Misc.subproj/WebKitDebug.h: Now includes <sys/time.h> to prevent possible build breakage in the inclusion of <sys/resource.h> 2002-05-20 Kenneth Kocienda <kocienda@apple.com> Changed assertion failure code to send a SIGQUIT instead of raising an NSException. * Misc.subproj/WebKitDebug.h 2002-05-20 Chris Blumenberg <cblu@apple.com> A whole lot of plug-in clean-up. Moved the following functions from npapi to IFPlugin. * Plugins.subproj/IFPlugin.m: (functionPointerForTVector): (tVectorForFunctionPointer): Only supply mouse coords when active. * Plugins.subproj/IFPluginNullEventSender.h: * Plugins.subproj/IFPluginNullEventSender.m: (-[IFPluginNullEventSender initializeWithNPP:functionPointer:window:]): (-[IFPluginNullEventSender dealloc]): (-[IFPluginNullEventSender sendNullEvents]): Minor clean-ups * Plugins.subproj/IFPluginStream.mm: (-[IFPluginStream dealloc]): (-[IFPluginStream IFURLHandleResourceDidFinishLoading:data:]): (-[IFPluginStream IFURLHandleResourceDidCancelLoading:]): (-[IFPluginStream IFURLHandle:resourceDidFailLoadingWithResult:]): Removed the isMouseDown flag from the following functions as it was unnecessary. Cleaned up logging. * Plugins.subproj/IFPluginView.mm: (-[IFPluginView modifiersForEvent:]): (-[IFPluginView getCarbonEvent:withEvent:]): (-[IFPluginView sendUpdateEvent]): (-[IFPluginView becomeFirstResponder]): (-[IFPluginView resignFirstResponder]): (-[IFPluginView mouseDown:]): (-[IFPluginView mouseUp:]): (-[IFPluginView mouseExited:]): (-[IFPluginView setWindow]): (-[IFPluginView start]): (-[IFPluginView stop]): URLForString now uses _IF_looksLikeAbsoluteURL. (-[IFPluginView URLForString:]): Implemented the following: (-[IFPluginView invalidateRect:]): (-[IFPluginView invalidateRegion:]): (-[IFPluginView forceRedraw]): Put implementation of GetValue SetValue in npapi. * Plugins.subproj/npapi.h: * Plugins.subproj/npapi.m: (NPN_GetValue): (NPN_SetValue): Added drag & drop support. * WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]): (-[IFWebView setCanDragFrom:]): (-[IFWebView canDragFrom]): (-[IFWebView setCanDragTo:]): (-[IFWebView canDragTo]): (-[IFWebView draggingEntered:]): (-[IFWebView prepareForDragOperation:]): (-[IFWebView performDragOperation:]): * WebView.subproj/IFWebViewPrivate.h: * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebViewPrivate dealloc]): 2002-05-20 John Sullivan <sullivan@apple.com> Support for bookmark separators * Bookmarks.subproj/IFBookmark.h: Update comments and replace isLeaf with bookmarkType. * Bookmarks.subproj/IFBookmark.m: (-[IFBookmark bookmarkType]): New method, replaces isLeaf. (-[IFBookmark title]): (-[IFBookmark setTitle:]): (-[IFBookmark image]): (-[IFBookmark setImage:]): (-[IFBookmark setURLString:]): (-[IFBookmark children]): (-[IFBookmark numberOfChildren]): (-[IFBookmark _numberOfDescendants]): (-[IFBookmark insertChild:atIndex:]): (-[IFBookmark removeChild:]): Update callers of isLeaf, and don't require concrete implementations of some methods for some types. * Bookmarks.subproj/IFBookmarkLeaf.m: (-[IFBookmarkLeaf bookmarkType]): return IFBookmarkTypeLeaf (-[IFBookmarkLeaf _dictionaryRepresentation]): set value for bookmark type. * Bookmarks.subproj/IFBookmarkList.m: (-[IFBookmarkList _initFromDictionaryRepresentation:withGroup:]): Handle separator case. (-[IFBookmarkList _dictionaryRepresentation]): set value for bookmark type (-[IFBookmarkList bookmarkType]): return IFBookmarkTypeList * Bookmarks.subproj/IFBookmarkSeparator.h: Added. * Bookmarks.subproj/IFBookmarkSeparator.m: Added. (-[IFBookmarkSeparator initWithGroup:]): Simple init method. (-[IFBookmarkSeparator _initFromDictionaryRepresentation:withGroup:]): Just calls initWithGroup. (-[IFBookmarkSeparator _dictionaryRepresentation]): set value for bookmark type (-[IFBookmarkSeparator bookmarkType]): return IFBookmarkTypeSeparator (-[IFBookmarkSeparator copyWithZone:]): calls initWithGroup * Bookmarks.subproj/IFBookmark_Private.h: Added key/value #defines for dictionary representation. * Bookmarks.subproj/IFBookmarkGroup.h: * Bookmarks.subproj/IFBookmarkGroup.m: (-[IFBookmarkGroup _setTopBookmark:]): (-[IFBookmarkGroup _bookmarkChildrenDidChange:]): (-[IFBookmarkGroup addNewBookmarkToBookmark:withTitle:image:URLString:type:]): Update callers of isLeaf to use bookmarkType instead. (-[IFBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:image:URLString:type:]): if type is IFBookmarkTypeSeparator, instantiate an IFBookmarkSeparator * WebKit.pbproj/project.pbxproj: Updated for new files. 2002-05-17 Chris Blumenberg <cblu@apple.com> - Made IFPluginStream the URL handle client instead of IFPluginView. - Added support for NPP_PostURL and NPP_PostNotify. - Possible fix for 2928558. * Plugins.subproj/IFPluginStream.h: * Plugins.subproj/IFPluginView.h: * Plugins.subproj/IFPluginView.mm: (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]):NSURL for url instead of NSString (-[IFPluginView dealloc]): (-[IFPluginView setWindow]): (-[IFPluginView start]): (-[IFPluginView stop]): (-[IFPluginView webDataSource]):Accessor for IFPluginStream. (-[IFPluginView webController]):Accessor for IFPluginStream. (-[IFPluginView URLForString:]): (-[IFPluginView getURLNotify:target:notifyData:]): (-[IFPluginView postURLNotify:target:len:buf:file:notifyData:]): (-[IFPluginView postURL:target:len:buf:file:]): (-[IFPluginView destroyStream:reason:]): (-[IFPluginView status:]): (-[IFPluginView NPP_NewStream]): Accessor for IFPluginStream. (-[IFPluginView NPP_WriteReady]):Accessor for IFPluginStream. (-[IFPluginView NPP_Write]): Accessor for IFPluginStream. (-[IFPluginView NPP_StreamAsFile]): Accessor for IFPluginStream. (-[IFPluginView NPP_DestroyStream]): Accessor for IFPluginStream. (-[IFPluginView NPP_URLNotify]): Accessor for IFPluginStream. * WebCoreSupport.subproj/IFWebCoreViewFactory.m: Use new IFPluginView init method (-[IFWebCoreViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]): * WebKit.pbproj/project.pbxproj: 2002-05-16 Richard J. Williamson <rjw@apple.com> Fixed 2925638. Don't send last progress message from resourceDataDidBecomeAvailable, it is sent from IFURLHandleResourceDidFinishLoading, avoiding duplication. * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): 2002-05-16 Richard J. Williamson <rjw@apple.com> Fix to fix for 0x7f to 0xa0. I was being overly aggressive about finding substitute glyphs. * WebCoreSupport.subproj/IFTextRenderer.m: (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]): (-[IFTextRenderer floatWidthForCharacters:length:]): 2002-05-16 Darin Adler <darin@apple.com> * Plugins.subproj/IFPluginView.mm: (-[IFPluginView IFURLHandleResourceDidFinishLoading:data:]): Use this new getCarbonPath function rather than hardcoding assumptions about "/tmp" being ":private:tmp". (getCarbonPath): New. 2002-05-16 Darin Adler <darin@apple.com> * Plugins.subproj/IFPluginView.mm: (-[IFPluginView mouseUp:]): Fixed log statement so development builds work again. 2002-05-16 Darin Adler <darin@apple.com> * Plugins.subproj/IFPluginView.mm: (-[IFPluginView mouseUp:]): Remove unused variable that breaks optimized builds. 2002-05-15 Darin Adler <darin@apple.com> Another quick events cleanup pass. * Plugins.subproj/IFPluginNullEventSender.m: (-[IFPluginNullEventSender sendNullEvents]): Use [IFPluginView getCarbonEvent:]. * Plugins.subproj/IFPluginView.h: Make almost all methods private. * Plugins.subproj/IFPluginView.mm: (+[IFPluginView getCarbonEvent:]): New. (-[IFPluginView getCarbonEvent:]): New, calls class method. (-[IFPluginView modifiersForEvent:isMouseDown:]): Reversed sense of btnState. This flag is set if the mouse is up, not if the mouse is down. (-[IFPluginView getCarbonEvent:withEvent:isMouseDown:]): New. (-[IFPluginView getCarbonEvent:withEvent:]): New. (-[IFPluginView sendActivateEvent:]): Now takes parameter for activate vs. deactivate and uses [getCarbonEvent:]. (-[IFPluginView sendUpdateEvent]): Uses [getCarbonEvent:]. (-[IFPluginView becomeFirstResponder]): Uses [getCarbonEvent:]. (-[IFPluginView resignFirstResponder]): Uses [getCarbonEvent:]. (-[IFPluginView mouseDown:]): Uses [getCarbonEvent:withEvent:isMouseDown:]. (-[IFPluginView mouseUp:]): Uses [getCarbonEvent:withEvent:isMouseDown:]. (-[IFPluginView mouseEntered:]): Uses [getCarbonEvent:withEvent:]. (-[IFPluginView mouseExited:]): Uses [getCarbonEvent:withEvent:]. (-[IFPluginView keyUp:]): Uses [getCarbonEvent:withEvent:]. (-[IFPluginView keyDown:]): Uses [getCarbonEvent:withEvent:]. (-[IFPluginView start]): Call [sendActivateEvent:YES]. (-[IFPluginView windowBecameKey:]): Call [sendActivateEvent:YES]. (-[IFPluginView windowResignedKey:]): Call [sendActivateEvent:NO]. 2002-05-15 Richard J. Williamson <rjw@apple.com> Fixed problem dealing w/ characters in range 0x7f - 0xa0. * WebCoreSupport.subproj/IFTextRenderer.m: (setGlyphForCharacter): (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]): (-[IFTextRenderer floatWidthForCharacters:length:]): 2002-05-15 Chris Blumenberg <cblu@apple.com> Fixed Flash mouse-down, mouse-over Flash bug. Added support for modifiers (control-click etc) (2884451). A lot of events clean-up. * Plugins.subproj/IFPluginNullEventSender.m: (-[IFPluginNullEventSender sendNullEvents]): * Plugins.subproj/IFPluginView.h: * Plugins.subproj/IFPluginView.mm: (newCString): (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]): (-[IFPluginView start]): (-[IFPluginView drawRect:]): (-[IFPluginView isFlipped]): (-[IFPluginView currentModifiers]): (-[IFPluginView modifiersForEvent:isMouseDown:]): (-[IFPluginView sendActivateEvent]): (-[IFPluginView sendUpdateEvent]): (-[IFPluginView becomeFirstResponder]): (-[IFPluginView resignFirstResponder]): (-[IFPluginView mouseDown:]): (-[IFPluginView mouseUp:]): (-[IFPluginView mouseEntered:]): (-[IFPluginView mouseExited:]): (-[IFPluginView keyUp:]): (-[IFPluginView keyDown:]): (-[IFPluginView windowBecameKey:]): (-[IFPluginView windowResignedKey:]): Case-sensitivity issue with an include. * WebView.subproj/IFWebView.mm: 2002-05-15 Darin Adler <darin@apple.com> * Makefile.am: Use all-am and clean-am instead of all and clean because it's better and to make "make check" at the top level work right. 2002-05-14 John Sullivan <sullivan@apple.com> Work to support copying bookmarks, needed for drag & drop in Bookmarks window. * Bookmarks.subproj/IFBookmark.h: Make IFBookmark conform to NSCopying. * Bookmarks.subproj/IFBookmark.m: (-[IFBookmark copyWithZone:]): insist that subclasses implement this. * Bookmarks.subproj/IFBookmarkGroup.h: * Bookmarks.subproj/IFBookmarkGroup.m: (-[IFBookmarkGroup insertBookmark:atIndex:ofBookmark:]): Removed this unnecessary method. * Bookmarks.subproj/IFBookmarkLeaf.m: (-[IFBookmarkLeaf copyWithZone:]): New method. * Bookmarks.subproj/IFBookmarkList.m: (-[IFBookmarkList copyWithZone:]): New method. 2002-05-14 Richard J. Williamson <rjw@apple.com> Fixed exception in log code. * WebCoreSupport.subproj/IFTextRenderer.m: (-[IFTextRenderer floatWidthForCharacters:length:]): 2002-05-14 Richard J. Williamson <rjw@apple.com> Fixed 2926153, not getting correct messages after cancel. Fixed leak of mouse events (Darin wanted this ASAP). * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController _receivedProgress:forResource:fromDataSource:]): (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]): * WebView.subproj/IFLocationChangeHandler.h: * WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]): (-[IFWebView layout]): (-[IFWebView mouseUp:]): (-[IFWebView mouseDown:]): (-[IFWebView mouseMovedNotification:]): 2002-05-14 Chris Blumenberg <cblu@apple.com> Removed retain of the URL handle. This was causing everything to leak. * WebView.subproj/IFMainURLHandleClient.h: * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient initWithDataSource:part:]): (-[IFMainURLHandleClient dealloc]): (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]): (-[IFMainURLHandleClient processData:isComplete:]): 2002-05-14 Darin Adler <darin@apple.com> * WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]): Remove code that makes us the first responder. That's up to the higher levels, not the web view. 2002-05-14 John Sullivan <sullivan@apple.com> * History.subproj/IFURIEntry.h: Oops, deleted the prototype for setLastVisitedDate accidentally, which made Jersey sad. 2002-05-14 John Sullivan <sullivan@apple.com> Fixed 2919027 -- Need to remove unused code in WebKit/History.subproj * History.subproj/IFAttributedURL.h: Removed. * History.subproj/IFBackForwardList.h: Removed large #ifdef. * History.subproj/IFURIEntry.h, * History.subproj/IFURIEntry.m: Removed all mention of unused fields comment, creationDate, modificationDate * WebKit.pbproj/project.pbxproj: Updated for removed file. 2002-05-13 Chris Blumenberg <cblu@apple.com> Added support for setting the content policy on the location change handler and data source at any time instead of depending on an immediate response. * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController haveContentPolicy:andPath:forLocationChangeHandler:]): * WebView.subproj/IFMainURLHandleClient.h: * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient initWithDataSource:part:]): (-[IFMainURLHandleClient dealloc]): (-[IFMainURLHandleClient setContentPolicy:]): (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]): (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]): (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]): (-[IFMainURLHandleClient processData:isComplete:]): * WebView.subproj/IFWebController.h: * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _setContentPolicy:]): * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame setProvisionalDataSource:]): 2002-05-13 Maciej Stachowiak <mjs@apple.com> * WebKitPrefix.h: Gratuitous change to make the prefix file rebuild. 2002-05-13 Chris Blumenberg <cblu@apple.com> * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController URLPolicyForURL:]): Use [IFURLHandle canInitWithURL] instead of hard-coded URL schemes. * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]): * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]): (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): * WebView.subproj/IFWebDataSourcePrivate.h: * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate init]): (-[IFWebDataSource _setDownloadPath:]): Removed _contentPolicy as contentPolicy is public. Initialize contentPolicy in [IFWebDataSourcePrivate init]. 2002-05-10 Richard J. Williamson <rjw@apple.com> Logging changes. * WebCoreSupport.subproj/IFTextRenderer.m: * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource isLoading]): * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _isLoadComplete]): 2002-05-10 Chris Blumenberg <cblu@apple.com> Added support for non-html non-file URL data sources. Added the init methods below. Removed initWithHandle. * WebView.subproj/IFWebDataSource.h: * WebView.subproj/IFWebDataSource.mm: (IFWebDataSourceMake): (-[IFWebDataSource initWithURL:]): (-[IFWebDataSource initWithURL:attributes:]): (-[IFWebDataSource startLoading:]): 2002-05-10 Darin Adler <darin@apple.com> * WebCoreSupport.subproj/IFTextRenderer.h: Moved most of the stuff from here into the .m file so this header can be included by clients. Also added floatWidthForCharacters:length:. * WebCoreSupport.subproj/IFTextRenderer.m: (freeWidthMap): Check for NULL. (freeGlyphMap): Check for NULL. (-[IFTextRenderer slowFloatWidthForCharacters:length:]): Renamed, and made it return the float. (-[IFTextRenderer floatWidthForCharacters:length:]): Renamed, and made it return the float. (-[IFTextRenderer widthForCharacters:length:]): Do rounding here. * WebCoreSupport.subproj/IFTextRendererFactory.h: * WebCoreSupport.subproj/IFTextRendererFactory.m: Make the interface slightly easier to use by using the specific types. * WebKit.pbproj/project.pbxproj: Exported the headers. 2002-05-10 Kenneth Kocienda <kocienda@apple.com> Fixed build breakage caused by my previous checkin. * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]) 2002-05-10 John Sullivan <sullivan@apple.com> Fixed 2922756 (@ image in History window is a little too tall) Fixed 2923790 (bookmark folders need folder icons) * Resources/bookmark_folder.tiff: New image (small folder, copied from elsewhere) * Resources/url_icon.tiff: Shrunk this one a little bit. * Bookmarks.subproj/IFBookmarkList.m: (-[IFBookmarkList image]): Return the default image if no custom image is set. * History.subproj/IFURIEntry.m: (-[IFURIEntry image]): If the default image's file isn't found, don't try to create an NSImage, because it will come out horribly broken and evil if you do (I ran into this while adding the bookmark folder image; most of Alexander's menus did not appear at all because the bookmark folder image was using a bogus NSImage). * WebKit.pbproj/project.pbxproj: Updated for new files. 2002-05-10 Kenneth Kocienda <kocienda@apple.com> Reviewed by: Maciej Stachowiak This code was modified to use the new interface and features of IFError. These features and changes are described in these four bug reports: Radar 2923998 (Change IFError private data into a pointer to a private data object) Radar 2924002 (IFError should include an error domain) Radar 2924013 (IFError initialization is not threadsafe) Radar 2924280 (IFError should contain a new field which tells whether the error is terminal) * Plugins.subproj/IFPluginView.mm: (-[IFPluginView IFURLHandle:resourceDidFailLoadingWithResult:]): * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController _receivedProgress:forResource:fromDataSource:]): (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]): * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): 2002-05-09 Richard J. Williamson <rjw@apple.com> Tuned implementation more. Cleaned up and factored code. * WebCoreSupport.subproj/IFTextRenderer.h: * WebCoreSupport.subproj/IFTextRenderer.m: (-[IFTextRenderer substituteFontForString:]): (-[IFTextRenderer substituteFontForCharacters:length:]): (-[IFTextRenderer initWithFont:]): (-[IFTextRenderer dealloc]): (-[IFTextRenderer slowPackGlyphsForCharacters:numCharacters:glyphBuffer:numGlyphs:]): (-[IFTextRenderer drawString:atPoint:withColor:]): (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]): (-[IFTextRenderer drawUnderlineForString:atPoint:withColor:]): (-[IFTextRenderer slowWidthForCharacters:length:]): (-[IFTextRenderer widthForCharacters:length:]): (-[IFTextRenderer extendGlyphToWidthMapToInclude:]): 2002-05-09 John Sullivan <sullivan@apple.com> * Bookmarks.subproj/IFBookmarkGroup.h: * Bookmarks.subproj/IFBookmarkGroup.m: (-[IFBookmarkGroup addNewBookmarkToBookmark:withTitle:image:URLString:isLeaf:]): (-[IFBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:image:URLString:isLeaf:]): Gave these two methods return values of the new bookmark created, to make callers' lives easier. === Alexander-3 === 2002-05-08 Richard J. Williamson <rjw@apple.com> Added optimizations for text rendering. * WebCoreSupport.subproj/IFTextRenderer.h: * WebCoreSupport.subproj/IFTextRenderer.m: (freeWidthMap): (freeGlyphMap): (glyphForCharacter): (widthForGlyph): (widthForCharacter): (-[IFTextRenderer substituteFontForCharacters:length:]): (-[IFTextRenderer convertCharacters:length:glyphs:]): (-[IFTextRenderer dealloc]): (-[IFTextRenderer drawString:atPoint:withColor:]): (-[IFTextRenderer drawUnderlineForString:atPoint:withColor:]): (-[IFTextRenderer widthForCharacters:length:]): (-[IFTextRenderer extendCharacterToGlyphMapToInclude:]): (-[IFTextRenderer extendGlyphToWidthMapToInclude:]): 2002-05-08 Darin Adler <darin@apple.com> * Misc.subproj/IFCache.h: Add more JavaScript object statistics. * Misc.subproj/IFCache.mm: (+[IFCache javaScriptInterpretersCount]): New. (+[IFCache javaScriptNoGCAllowedObjectsCount]): New. (+[IFCache javaScriptReferencedObjectsCount]): New. * WebKit.pbproj/project.pbxproj: Rearranged two files, dunno why. 2002-05-08 Chris Blumenberg <cblu@apple.com> Cleaned up mach-o plug-in support. Changed the init method in IFPlugin to initWithPath. * Plugins.subproj/IFPlugin.h: * Plugins.subproj/IFPlugin.m: (-[IFPlugin initWithPath:]): (-[IFPlugin load]): * Plugins.subproj/IFPluginDatabase.m: (findPlugins): 2002-05-08 Darin Adler <darin@apple.com> * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _setTitle:]): Use _IF_stringByTrimmingWhitespace. 2002-05-07 Richard J. Williamson <rjw@apple.com> First pass at font substitution. Find a substitute font to use when the specified font doesn't have glyphs for the characters that need to be drawn. Works correctly but hasn't been optimized yet, VERY slow. Will optimize this evening and tomorrow. Try www.yahoo.co.jp, it will take a long time to render be eventually will draw correctly. * WebCoreSupport.subproj/IFTextRenderer.h: * WebCoreSupport.subproj/IFTextRenderer.m: (hasMissingGlyphs): (+[IFTextRenderer initialize]): (-[IFTextRenderer convertCharacters:length:glyphs:]): (-[IFTextRenderer initializeCaches]): (-[IFTextRenderer drawString:atPoint:withColor:]): (-[IFTextRenderer drawUnderlineForString:atPoint:withColor:]): (-[IFTextRenderer widthForCharacters:length:]): 2002-05-07 Darin Adler <darin@apple.com> Oops. These files don't belong at the top level. * IFWebCoreViewFactory.h: Removed. * IFWebCoreViewFactory.m: Removed. * WebCoreSupport.subproj/IFWebCoreViewFactory.h: Added. * WebCoreSupport.subproj/IFWebCoreViewFactory.m: Added. * WebKit.pbproj/project.pbxproj: 2002-05-07 Darin Adler <darin@apple.com> Move more plugin code here from WebCore. * IFWebCoreViewFactory.h: Added. * IFWebCoreViewFactory.m: Added. * Plugins.subproj/IFPlugin.h: Moved from WebCore. * Plugins.subproj/IFPlugin.m: Moved from WebCore. * Plugins.subproj/IFPluginDatabase.h: Moved from WebCore. * Plugins.subproj/IFPluginDatabase.m: Moved from WebCore. * Plugins.subproj/npapi.h: Moved from WebCore. * Plugins.subproj/npapi.m: Moved from WebCore. * WebKit.pbproj/project.pbxproj: Source file names changed * MIME.subproj/IFMIMEDatabase.m: * MIME.subproj/IFMIMEHandler.m: * Plugins.subproj/IFPluginView.h: * Plugins.subproj/IFPluginView.mm: Updated for WC -> IF name change. * WebCoreSupport.subproj/IFCachedTextRenderer.h: Renamed to IFTextRenderer. * WebCoreSupport.subproj/IFCachedTextRenderer.m: Renamed to IFTextRenderer. * WebCoreSupport.subproj/IFCachedTextRendererFactory.h: Renamed to IFTextRendererFactory. * WebCoreSupport.subproj/IFCachedTextRendererFactory.m: Renamed to IFTextRendererFactory. * WebCoreSupport.subproj/IFTextRenderer.h: Renamed from IFCachedTextRenderer. * WebCoreSupport.subproj/IFTextRenderer.m: Renamed from IFCachedTextRenderer. * WebCoreSupport.subproj/IFTextRendererFactory.h: Renamed from IFCachedTextRendererFactory. * WebCoreSupport.subproj/IFTextRendererFactory.m: Renamed from IFCachedTextRendererFactory. Renamed to take "Cached" out of the name now that the simpler name is available. * WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]): Create shared IFWebCoreViewFactory. (-[IFWebView delayLayout:]): Use WEBKITDEBUG, not KWQDEBUG. (-[IFWebView notificationReceived:]): Use WEBKITDEBUG, not KWQDEBUG. 2002-05-07 Darin Adler <darin@apple.com> Use isEqualToString: instead of isEqual: more consistently. But only for strings. * WebCoreSupport.subproj/IFCachedTextRendererFactory.m: (-[IFFontCacheKey isEqual:]): * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController _frameNamed:fromFrame:]): 2002-05-06 John Sullivan <sullivan@apple.com> Some improvements to the bookmark changed notifications. * Bookmarks.subproj/IFBookmarkGroup.h: * Bookmarks.subproj/IFBookmarkGroup.m: (-[IFBookmarkGroup _sendChangeNotificationForBookmark:childrenChanged:]): (-[IFBookmarkGroup _setTopBookmark:]): (-[IFBookmarkGroup _bookmarkDidChange:]): (-[IFBookmarkGroup _bookmarkChildrenDidChange:]): Send bookmark that changed and whether its children changed as part of change notifications, so clients can choose to do less unnecessary work. * Bookmarks.subproj/IFBookmarkLeaf.m: (-[IFBookmarkLeaf setTitle:]): Check for the no-change case and bail out without sending notification when you find it. 2002-05-06 Darin Adler <darin@apple.com> * WebKitPrefix.h: Added. * WebKit.pbproj/project.pbxproj: Use PFE precompiling. Also switch from xNDEBUG to NDEBUG. * Misc.subproj/WebKitDebug.h: Get rid of format attribute because of bug 2920557. Switch from xNDEBUG to NDEBUG. * Misc.subproj/WebKitDebug.m: Add undef to work around PFE problem with inline functions, Radar 2920554. * Plugins.subproj/IFPluginView.mm: Changed how we work around the bug in the CGS defines. * WebCoreSupport.subproj/IFCachedTextRenderer.h: Change include of the private QD header to use the form that works with more-normal way of getting at the private bits of frameworks. * WebCoreSupport.subproj/IFCachedTextRenderer.m: Use the header <CoreGraphics/CoreGraphicsPrivate.h> instead of <CoreGraphics/CGFontPrivate.h>. * Misc.subproj/IFCache.mm: * WebView.subproj/IFLoadProgress.mm: * WebView.subproj/IFWebFrame.mm: * WebView.subproj/IFWebFramePrivate.mm: * WebView.subproj/IFWebView.mm: Changed includes to imports. 2002-05-06 Chris Blumenberg <cblu@apple.com> Made start and stop work cleaner. Now observe defaults changes so that plug-ins are disabled or enabled immediately (2871725). * Plugins.subproj/IFPluginNullEventSender.m: (-[IFPluginNullEventSender sendNullEvents]): * Plugins.subproj/IFPluginView.h: * Plugins.subproj/IFPluginView.mm: (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]): (-[IFPluginView start]): (-[IFPluginView stop]): (-[IFPluginView drawRect:]): (-[IFPluginView windowWillClose:]): (-[IFPluginView defaultsHaveChanged:]): 2002-05-06 Richard J. Williamson <rjw@apple.com> Fixed width measurement regression. We lost the final ROUND_TO_INT in the width measurement funtion after the move from WebCore. * WebCoreSupport.subproj/IFCachedTextRenderer.m: (-[IFCachedTextRenderer widthForCharacters:length:]): 2002-05-06 Richard J. Williamson <rjw@apple.com> Changes to support dhtml. * WebView.subproj/IFWebView.mm: 2002-05-06 John Sullivan <sullivan@apple.com> * Resources/url_icon.tiff: New bookmarks/history icon, looks more like the springy @ sign as seen from above, less like text. 2002-05-03 John Sullivan <sullivan@apple.com> Along with small corresponding WebBrowser change, fixed 2919172 (Bookmarks aren't saved between sessions). * Bookmarks.subproj/IFBookmark_Private.h: Declarations for new private methods. * Bookmarks.subproj/IFBookmark.m: (-[IFBookmark _numberOfDescendants]): New private method, counts deep; used only for debugging messages at this time. (-[IFBookmark _initFromDictionaryRepresentation:withGroup:]): (-[IFBookmark _dictionaryRepresentation]): New private methods used to save/load bookmarks. Stub implementations; subclasses must implement. * Bookmarks.subproj/IFBookmarkLeaf.m: (-[IFBookmarkLeaf _initFromDictionaryRepresentation:withGroup:]): (-[IFBookmarkLeaf _dictionaryRepresentation]): New methods. * Bookmarks.subproj/IFBookmarkList.m: (-[IFBookmarkList _initFromDictionaryRepresentation:withGroup:]): (-[IFBookmarkList _dictionaryRepresentation]): (-[IFBookmarkList _numberOfDescendants]): New methods. (-[IFBookmarkList _setGroup:]): Recurse on children. * Bookmarks.subproj/IFBookmarkGroup.h: New _loading instance variable. * Bookmarks.subproj/IFBookmarkGroup.m: (-[IFBookmarkGroup _setTopBookmark:]): Renamed from _resetTopBookmark, now has potentially non-nil argument. (-[IFBookmarkGroup initWithFile:]), (-[IFBookmarkGroup removeBookmark:]): Updated for name change. (-[IFBookmarkGroup _sendBookmarkGroupChangedNotification]): Don't send notifications while loading bookmarks from disk. (-[IFBookmarkGroup _loadBookmarkGroupGuts]), (-[IFBookmarkGroup loadBookmarkGroup]), (-[IFBookmarkGroup _saveBookmarkGroupGuts]), (-[IFBookmarkGroup saveBookmarkGroup]): New methods, load/save bookmarks and report timings. * History.subproj/IFURIEntry.m: (-[IFURIEntry dictionaryRepresentation]), (-[IFURIEntry initFromDictionaryRepresentation:]): Handle nil URL case, which bookmarks run into. * WebKit.pbproj/project.pbxproj: version wars 2002-05-03 Darin Adler <darin@apple.com> * WebCoreSupport.subproj/IFCachedTextRenderer.m: Remove some of the unused code. I was going to wait and let Richard do it next week, but I was unable to control my urge to hack on it. 2002-05-03 Darin Adler <darin@apple.com> * Resources/url_icon.tiff: Improved icon. Could be better. 2002-05-03 Darin Adler <darin@apple.com> * Misc.subproj/WebKitDebug.h: Add WEBKIT_LOG_MEMUSAGE, WEBKIT_LOG_FONTCACHE, and WEBKIT_LOG_FONTCACHECHARMISS for font code moved here from WebCore. * Resources/url_icon.tiff: New URL icon? * WebCoreSupport.subproj/IFCachedTextRenderer.h: Added. * WebCoreSupport.subproj/IFCachedTextRenderer.m: Added. * WebCoreSupport.subproj/IFCachedTextRendererFactory.h: Added. * WebCoreSupport.subproj/IFCachedTextRendererFactory.m: Added. This has code moved here from WebCore. * WebKit.pbproj/project.pbxproj: Add the new source files. * Bookmarks.subproj/IFBookmarkLeaf.m: (-[IFBookmarkLeaf setURLString:]): Use copy instead of initWithString. * Bookmarks.subproj/IFBookmarkList.m: (-[IFBookmarkList initWithTitle:image:group:]): Use copy instead of stringWithString. (-[IFBookmarkList setTitle:]): Use copy instead of stringWithString. * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _setTitle:]): Use mutableCopy instead of stringWithString. * WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]): Use copy instead of stringWithString. 2002-05-02 John Sullivan <sullivan@apple.com> Changed API such that mutating methods can now be called on bookmark objects, which in turn tell their group that they have changed (so the group can send out notifications). * Bookmarks.subproj/IFBookmark.h: * Bookmarks.subproj/IFBookmark.m: (-[IFBookmark setTitle:]): (-[IFBookmark setImage:]): (-[IFBookmark setURLString:]): (-[IFBookmark insertChild:atIndex:]): (-[IFBookmark removeChild:]): (-[IFBookmark _parent]): (-[IFBookmark _group]): * Bookmarks.subproj/IFBookmarkGroup.h: * Bookmarks.subproj/IFBookmarkGroup.m: (-[IFBookmarkGroup _resetTopBookmark]): (-[IFBookmarkGroup _bookmarkDidChange:]): (-[IFBookmarkGroup _bookmarkChildrenDidChange:]): (-[IFBookmarkGroup removeBookmark:]): (-[IFBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:image:URLString:isLeaf:]): * Bookmarks.subproj/IFBookmarkLeaf.m: (-[IFBookmarkLeaf setTitle:]): (-[IFBookmarkLeaf setImage:]): (-[IFBookmarkLeaf setURLString:]): * Bookmarks.subproj/IFBookmarkList.m: (-[IFBookmarkList setTitle:]): (-[IFBookmarkList setImage:]): (-[IFBookmarkList removeChild:]): (-[IFBookmarkList insertChild:atIndex:]): * Bookmarks.subproj/IFBookmark_Private.h: Made _parent and _group private; made setTitle, setImage, setURLString, insertChild:atIndex:, and removeChild: public. * Bookmarks.subproj/IFBookmarkGroup_Private.h: Added. * WebKit.pbproj/project.pbxproj: Changed for new file. 2002-05-02 John Sullivan <sullivan@apple.com> Implemented removing the root node bookmark (i.e., removing all bookmarks with one call). * Bookmarks.subproj/IFBookmarkGroup.m: (-[IFBookmarkGroup _resetTopBookmark]): New method, releases old topBookmark and creates new one. (-[IFBookmarkGroup initWithFile:]): Call _resetTopBookmark. (-[IFBookmarkGroup removeBookmark:]): If the bookmark being removed is the top one, call _resetTopBookmark. 2002-05-02 John Sullivan <sullivan@apple.com> Some more implementation of bookmarks code, enough to support adding bookmarks to the Bookmarks menu (but not yet enough to support persistent bookmarks). * Bookmarks.subproj/IFBookmark_Private.h: * Bookmarks.subproj/IFBookmark.h: * Bookmarks.subproj/IFBookmark.m: (-[IFBookmark numberOfChildren]): New public method, stub implementation. (-[IFBookmark _removeChild:]): New private method, stub implementation. * Bookmarks.subproj/IFBookmarkGroup.h: * Bookmarks.subproj/IFBookmarkGroup.m: (-[IFBookmarkGroup _sendBookmarkGroupChangedNotification]): (-[IFBookmarkGroup removeBookmark:]): (-[IFBookmarkGroup addNewBookmarkToBookmark:withTitle:image:URLString:isLeaf:]): (-[IFBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:image:URLString:isLeaf:]): (-[IFBookmarkGroup updateBookmark:title:image:URLString:]): Changed "URL" to "URLString" in several places, added a "with" to some parameter names; added addNewBookmarkToBookmark public method; added notification that's sent when bookmarks are added or removed. * Bookmarks.subproj/IFBookmarkLeaf.h: * Bookmarks.subproj/IFBookmarkLeaf.m: (-[IFBookmarkLeaf initWithURLString:title:image:group:]): Added image parameter. * Bookmarks.subproj/IFBookmarkList.m: (-[IFBookmarkList numberOfChildren]): New method. (-[IFBookmarkList _removeChild:]): Implemented. 2002-04-30 John Sullivan <sullivan@apple.com> Added initial set of files/API and some of the code for bookmarks support. Nobody calls it yet, but it compiles. I wanted to get this in before I ran into project file merge conflicts. * Bookmarks.subproj/IFBookmark.h: Added. * Bookmarks.subproj/IFBookmark_Private.h: Added. * Bookmarks.subproj/IFBookmark.m: Added. (-[IFBookmark dealloc]): (-[IFBookmark title]): (-[IFBookmark _setTitle:]): (-[IFBookmark image]): (-[IFBookmark _setImage:]): (-[IFBookmark isLeaf]): (-[IFBookmark URLString]): (-[IFBookmark _setURLString:]): (-[IFBookmark children]): (-[IFBookmark _insertChild:atIndex:]): (-[IFBookmark parent]): (-[IFBookmark _setParent:]): (-[IFBookmark group]): (-[IFBookmark _setGroup:]): * Bookmarks.subproj/IFBookmarkGroup.h: Added. * Bookmarks.subproj/IFBookmarkGroup.m: Added. (+[IFBookmarkGroup bookmarkGroupWithFile:]): (-[IFBookmarkGroup initWithFile:]): (-[IFBookmarkGroup dealloc]): (-[IFBookmarkGroup topBookmark]): (-[IFBookmarkGroup insertBookmark:atIndex:ofBookmark:]): (-[IFBookmarkGroup removeBookmark:]): (-[IFBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:title:image:URL:isLeaf:]): (-[IFBookmarkGroup updateBookmark:title:image:URL:]): (-[IFBookmarkGroup file]): (-[IFBookmarkGroup loadBookmarkGroup]): (-[IFBookmarkGroup saveBookmarkGroup]): * Bookmarks.subproj/IFBookmarkLeaf.h: Added. * Bookmarks.subproj/IFBookmarkLeaf.m: Added. (-[IFBookmarkLeaf dealloc]): (-[IFBookmarkLeaf title]): (-[IFBookmarkLeaf _setTitle:]): (-[IFBookmarkLeaf image]): (-[IFBookmarkLeaf _setImage:]): (-[IFBookmarkLeaf isLeaf]): (-[IFBookmarkLeaf URLString]): (-[IFBookmarkLeaf _setURLString:]): * Bookmarks.subproj/IFBookmarkList.h: Added. * Bookmarks.subproj/IFBookmarkList.m: Added. (-[IFBookmarkList initWithTitle:image:group:]): (-[IFBookmarkList dealloc]): (-[IFBookmarkList title]): (-[IFBookmarkList _setTitle:]): (-[IFBookmarkList image]): (-[IFBookmarkList _setImage:]): (-[IFBookmarkList isLeaf]): (-[IFBookmarkList children]): (-[IFBookmarkList _insertChild:atIndex:]): * WebKit.pbproj/project.pbxproj: Updated for new files. 2002-04-29 Richard Williamson <rjw@apple.com> Fix to 2915688. I wasn't checking if the main document error had an error, only the resource errors. * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _isLoadComplete]): 2002-04-29 Richard Williamson <rjw@apple.com> Restored file, line, and function to log messages. * Misc.subproj/WebKitDebug.m: (WebKitLog): 2002-04-25 Darin Adler <darin@apple.com> * History.subproj/IFWebHistoryPrivate.m: (-[IFWebHistoryPrivate _loadHistoryGuts:]): Use NSDictionary instead of NSObject to avoid a cast. * WebView.subproj/IFLocationChangeHandler.h: Add NSObject as a required protocol so we can retain and release. * WebView.subproj/IFWebController.h: Add NSObject as a required protocol so we can retain and release. * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]): (-[IFWebDataSource _setLoading:]): (-[IFWebDataSource _setController:]): (-[IFWebDataSource _setLocationChangeHandler:]): * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebViewPrivate dealloc]): Removed NSObject * casts that were used to work around the problem fixed above. 2002-04-25 Chris Blumenberg <set EMAIL_ADDRESS environment variable> * MIME.subproj/IFDownloadHandler.h: * MIME.subproj/IFDownloadHandler.mm: (+[IFDownloadHandler launchURL:]): Added the above method as a way to universally launch an URL within WebKit * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController URLPolicyForURL:]): We handle http, https and file URL's * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource initWithURL:]): (-[IFWebDataSource startLoading:]): The IFURLHandle is now lazilly allocated. * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame setProvisionalDataSource:]): We only load a data source if the URL policy is IFURLPolicyUseContentPolicy 2002-04-25 Richard Williamson <rjw@apple.com> Fixed problem with errors potentially being reported on wrong data source by moving collected errors from frame to datasource. Little changes in preparation for events. * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController _receivedProgress:forResource:fromDataSource:]): (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]): (-[IFBaseWebController _receivedError:forResource:partialProgress:fromDataSource:]): (-[IFBaseWebController _mainReceivedError:forResource:partialProgress:fromDataSource:]): * WebView.subproj/IFWebDataSource.h: * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource errors]): (-[IFWebDataSource mainDocumentError]): * WebView.subproj/IFWebDataSourcePrivate.h: * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]): (-[IFWebDataSource _startLoading:]): (-[IFWebDataSource _setMainDocumentError:]): (-[IFWebDataSource _clearErrors]): (-[IFWebDataSource _addError:forResource:]): * WebView.subproj/IFWebFrame.h: * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame reload:]): (-[IFWebFrame reset]): * WebView.subproj/IFWebFramePrivate.h: * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFramePrivate dealloc]): (-[IFWebFrame _isLoadComplete]): (-[IFWebFrame _checkLoadComplete]): * WebView.subproj/IFWebView.mm: (-[IFWebView acceptsFirstResponder]): (-[IFWebView layout]): (-[IFWebView drawRect:]): 2002-04-25 Darin Adler <darin@apple.com> Rework plugin code to prepare to move more of here from WebCore. * Plugins.subproj/IFPluginView.mm: (IFPluginViewCreate): New. Does all the work of creating an NSView for a plug-in, including stuff previously done in WebCore. (IFJavaAppletViewCreate): Same as above, for Java applets. (+[IFPluginView load]): Set up the function pointers using the new improved WebCore API. * Plugins.subproj/IFNullPluginView.mm: (-[IFNullPluginView load]): Remove this setup because now there's no separate call to set up a null plug-in. 2002-04-25 John Sullivan <sullivan@apple.com> Fixed 2911915 (Exception in -[IFWebView mouseMoved]) * WebView.subproj/IFWebView.mm: (-[IFWebView mouseDown:]): Changed "mouseUp" to "mouseDown" in exception message. (-[IFWebView mouseMoved:]): Removed bogus event-type checking that caused this method to (always?) throw an exception when invoked. 2002-04-24 Chris Blumenberg <cblu@apple.com> Renamed [IFWebDataSource frame] to [IFWebDataSource webFrame] * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController _receivedProgress:forResource:fromDataSource:]): (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]): (-[IFBaseWebController _receivedError:forResource:partialProgress:fromDataSource:]): (-[IFBaseWebController _mainReceivedError:forResource:partialProgress:fromDataSource:]): * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): * WebView.subproj/IFWebDataSource.h: * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource webFrame]): (-[IFWebDataSource frameName]): (-[IFWebDataSource isLoading]): * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _startLoading:]): (-[IFWebDataSource _setTitle:]): 2002-04-24 Richard Williamson <rjw@apple.com> Changed ordering of messages so activity viewer doesn't get -1 bytesSoFar for cancelled messages. * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController _receivedProgress:forResource:fromDataSource:]): (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]): === Alexander 0.3c2 (v1) === 2002-04-23 Chris Blumenberg <cblu@apple.com> * WebKit.pbproj/project.pbxproj: Took IFDownloadHandler.h out of the public headers. * WebView.subproj/IFLocationChangeHandler.h: Removed deprecated methods. * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame setProvisionalDataSource:]): Don't call locationChangeStarted anymore. 2002-04-23 Chris Blumenberg <cblu@apple.com> * MIME.subproj/IFDownloadHandler.h: * MIME.subproj/IFDownloadHandler.m: Removed. * MIME.subproj/IFDownloadHandler.mm: Added. (-[IFDownloadHandler initWithDataSource:]): (-[IFDownloadHandler dealloc]): * MIME.subproj/IFDownloadHandlerPrivate.h: Removed. * MIME.subproj/IFDownloadHandlerPrivate.m: Removed. Made IFDownloadHandler a private class that retains the data source and saves the data to disk. * WebKit.pbproj/project.pbxproj: Removed IFDownloadHandlerPrivate * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]): Only send locationChangeCommitted if its shown inline. * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]): Save data with IFDownloadHandler (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): If its a download, set the provisionalDataSource on the frame to nil. * WebView.subproj/IFWebDataSource.h: * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource webFrame]): (-[IFWebDataSource pageTitle]): (-[IFWebDataSource contentPolicy]): Added some accessor methods. Spelling fix pageTitle. 2002-04-23 Kenneth Kocienda <kocienda@apple.com> Reviewed by: Darin Adler Fix for Radar 2908403 (Fix names in WebFoundation extensions code) Extensions code in WebFoundation now is in its own namespace. Where we have added categories to existing Foundation and AppKit classes, the categories begin with the IF prefix. All method names begin with the _IF_ prefix. This file here was changed to use the new names. * History.subproj/IFWebHistoryPrivate.m: (-[IFWebHistoryPrivate findIndex:forDay:]): (-[IFWebHistoryPrivate arrayRepresentation]): (-[IFWebHistoryPrivate _loadHistoryGuts:]): 2002-04-22 Chris Blumenberg <cblu@apple.com> * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): Send an IFError when we're asked to show content we can't handle. * WebView.subproj/IFWebDataSourcePrivate.mm: Cleaning 2002-04-22 Chris Blumenberg <cblu@apple.com> * WebKit.pbproj/project.pbxproj: * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController haveContentPolicy:andPath:forLocationChangeHandler:]): * WebView.subproj/IFWebDataSourcePrivate.h: * WebView.subproj/IFWebDataSourcePrivate.mm: Fixed frames which I broke in the previous commit. We now set the content policy on all child frames instead of just the main frame. 2002-04-22 Chris Blumenberg <cblu@apple.com> * MIME.subproj/IFMIMEHandler.h: * MIME.subproj/IFMIMEHandler.m: (+[IFMIMEHandler showableMIMETypes]): (+[IFMIMEHandler saveFileWithPath:andData:]): (+[IFMIMEHandler saveAndOpenFileWithPath:andData:]): Added the above factory methods. * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController haveContentPolicy:andPath:forLocationChangeHandler:]): Save the content policy and download path on the datasource. * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]): (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]): (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]): Made IFMainURLHandleClient use our new content policy API rather than IFDownloadHandler. * WebView.subproj/IFWebController.h: Removed some deprecated methods. * WebView.subproj/IFWebDataSourcePrivate.h: * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _downloadPath]): (-[IFWebDataSource _setDownloadPath:]): (-[IFWebDataSource _contentPolicy]): (-[IFWebDataSource _setContentPolicy:]): Added the above methods. 2002-04-22 Darin Adler <darin@apple.com> * Plugins.subproj/IFPluginView.mm: (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]): Fix the fix. It was bumping argsCount even when not putting an argument into the array. 2002-04-21 Maciej Stachowiak <mjs@apple.com> Fix a plugins memory trasher that was making Alexander crash on the abcnews.com test page in cvs-torture-test: * Plugins.subproj/IFPluginView.mm: (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]): Use a new maxArguments variable to size the argument and value arrays - with the old code argsCount would end up twice the size it should be, and the arguments would all get written past the end of the argument array. 2002-04-19 Kenneth Kocienda <kocienda@apple.com> Changes to support submission of forms using HTTP POST. These changes move us over to using the new WebKit interface for creating WebDataSource instances, one that passes a handle rather than just a URL, enabling the specific request method to be communicated to WebFoundation. This fixes: Radar 2903602 (IFWebDataSource API must passes attributes and flags to IFURLHandle) * WebKit.pbproj/project.pbxproj: * WebView.subproj/IFWebDataSource.h: * WebView.subproj/IFWebDataSource.mm: (IFWebDataSourceMake), (-[IFWebDataSource initWithURL:]), (-[IFWebDataSource initWithHandle:]): * WebView.subproj/IFWebDataSourcePrivate.h: * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _startLoading:]): 2002-04-19 Richard Williamson <rjw@apple.com> Updated comments to reflect new API. * WebView.subproj/IFLocationChangeHandler.h: 2002-04-19 Darin Adler <darin@apple.com> * Plugins.subproj/IFPluginView.h: Re-add the attributes and values arrays, since they need to live the life of the plugin. * Plugins.subproj/IFPluginView.mm: (newCString): New function to make a C++ new-allocated C string from an NSString. (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]): Move code to allocate the arrays back here. (-[IFPluginView dealloc]): Deallocate the arrays and their contents. (-[IFPluginView start]): Simplify now that it does no work. 2002-04-18 Chris Blumenberg <cblu@apple.com> Made stop and start to work better. Fixed a bug darin made. * Plugins.subproj/IFPluginView.h: * Plugins.subproj/IFPluginView.mm: (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]), (-[IFPluginView setWindow]), (-[IFPluginView start]), (-[IFPluginView stop]): 2002-04-18 Richard Williamson <rjw@apple.com> Fixed typo. * WebView.subproj/IFBaseLocationChangeHandler.m: (-[IFBaseLocationChangeHandler requestContentPolicyForMIMEType:]): * WebView.subproj/IFLocationChangeHandler.h: 2002-04-18 Richard Williamson <rjw@apple.com> New API stubs for content policy. * WebView.subproj/IFBaseLocationChangeHandler.h: Added. * WebView.subproj/IFBaseLocationChangeHandler.m: Added. (+[IFBaseLocationChangeHandler setGlobalContentPolicy:forMIMEType:]), (+[IFBaseLocationChangeHandler globaContentPolicyForContentType:]), (+[IFBaseLocationChangeHandler globalContentPolicies]), (+[IFBaseLocationChangeHandler suggestedFileanemForURL:andContentType:]), (+[IFBaseLocationChangeHandler suggestedDirectoryForURL:andContentType:]), (+[IFBaseLocationChangeHandler extensionForURL:]), (-[IFBaseLocationChangeHandler extension]), (-[IFBaseLocationChangeHandler locationWillChangeTo:]), (-[IFBaseLocationChangeHandler locationChangeStarted]), (-[IFBaseLocationChangeHandler locationChangeCommitted]), (-[IFBaseLocationChangeHandler locationChangeDone:]), (-[IFBaseLocationChangeHandler receivedPageTitle:forDataSource:]), (-[IFBaseLocationChangeHandler serverRedirectTo:forDataSource:]), (-[IFBaseLocationChangeHandler downloadingWithHandler:]), (-[IFBaseLocationChangeHandler requestContentPolicyForContentMIMEType:]), (-[IFBaseLocationChangeHandler unableToImplementContentPolicy:]): * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController receivedError:forDownloadHandler:partialProgress:]), (-[IFBaseWebController provideLocationChangeHandlerForFrame:andURL:]), (-[IFBaseWebController URLPolicyForURL:]), (-[IFBaseWebController unableToImplementURLPolicyForURL:error:]), (-[IFBaseWebController haveContentPolicy:andPath:forLocationChangeHandler:]): * WebView.subproj/IFLocationChangeHandler.h: * WebView.subproj/IFWebController.h: * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _setState:]): 2002-04-18 Darin Adler <darin@apple.com> * WebKit.pbproj/project.pbxproj: Oops. Take out -Wstrict-prototypes, put back -Wmissing-prototypes. 2002-04-18 Darin Adler <darin@apple.com> * WebKit.pbproj/project.pbxproj: Take out -Wmissing-prototypes because system headers are triggering it when we don't have precompiled headers on. 2002-04-18 Darin Adler <darin@apple.com> Fixes for compiling with gcc3 and more warnings. * WebKit.pbproj/project.pbxproj: Turn on gcc3 and the same set of warnings as in the rest of Labyrinth (see top level ChangeLog for details). * Plugins.subproj/IFPluginView.mm: Avoid warnings about malloc by not using it. (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]): Keep the arguments dictionary around instead of keeping the C format version of it around. Also don't bother keeping the C string form of the MIME type around, and simplify some other stuff in here. (-[IFPluginView dealloc]): Corresponding changes since we keep a different set of things. (-[IFPluginView newStream:mimeType:notifyData:]): Use [mimeType cString]. (-[IFPluginView start]): Build the lists of attributes and values in here. Do it using [NSString cString] for simplicity and don't keep the lists around after we're done with them. (-[IFPluginView IFURLHandleResourceDidFinishLoading:data:]): Use [filenameClassic cString]. * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]), (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]), (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]), (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]): * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]), (-[IFWebDataSource _setLoading:]), (-[IFWebDataSource _setController:]), (-[IFWebDataSource _setLocationChangeHandler:]): * WebView.subproj/IFWebView.mm: (-[IFWebView provisionalDataSourceChanged:]), (-[IFWebView mouseUp:]), (-[IFWebView mouseDown:]): Add type casts required by pickier gcc3. * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebViewPrivate dealloc]): Add type cast required by pickier gcc3. (-[IFWebView _stopPlugins]): Use local variable to work around Radar 2905835. 2002-04-18 Chris Blumenberg <cblu@apple.com> Moved plugin instance creation to the start method in IFPluginView. * Plugins.subproj/IFPluginView.h: * Plugins.subproj/IFPluginView.mm: (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]), (-[IFPluginView dealloc]), (-[IFPluginView newStream:mimeType:notifyData:]), (-[IFPluginView start]), (-[IFPluginView stop]), (-[IFPluginView drawRect:]), (-[IFPluginView windowBecameKey:]), (-[IFPluginView windowResignedKey:]), (-[IFPluginView IFURLHandle:resourceDataDidBecomeAvailable:]), (-[IFPluginView IFURLHandleResourceDidFinishLoading:data:]): 2002-04-17 Darin Adler <darin@apple.com> * WebKit.pbproj/project.pbxproj: Update header search paths to find WebCore in the new location and eliminate WebCore/include. 2002-04-17 Chris Blumenberg <cblu@apple.com> Added a debug bit mask for plugins and downloads. * MIME.subproj/IFDownloadHandlerPrivate.m: (-[IFDownloadHandlerPrivate _openFile]), (-[IFDownloadHandlerPrivate _saveFile]), (-[IFDownloadHandler _initWithURLHandle:mimeHandler:]): * Misc.subproj/WebKitDebug.h: * Plugins.subproj/IFPluginView.mm: (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]), (-[IFPluginView setWindow]), (-[IFPluginView newStream:mimeType:notifyData:]), (-[IFPluginView stop]), (-[IFPluginView sendUpdateEvent]), (-[IFPluginView becomeFirstResponder]), (-[IFPluginView resignFirstResponder]), (-[IFPluginView mouseDown:]), (-[IFPluginView mouseUp:]), (-[IFPluginView mouseEntered:]), (-[IFPluginView mouseExited:]), (-[IFPluginView keyUp:]), (-[IFPluginView keyDown:]), (-[IFPluginView IFURLHandle:resourceDataDidBecomeAvailable:]), (-[IFPluginView IFURLHandleResourceDidFinishLoading:data:]), (-[IFPluginView getURLNotify:target:notifyData:]), (-[IFPluginView getURL:target:]), (-[IFPluginView postURLNotify:target:len:buf:file:notifyData:]), (-[IFPluginView postURL:target:len:buf:file:]), (-[IFPluginView newStream:target:stream:]), (-[IFPluginView write:len:buffer:]), (-[IFPluginView destroyStream:reason:]), (-[IFPluginView status:]), (-[IFPluginView getValue:value:]), (-[IFPluginView setValue:value:]), (-[IFPluginView invalidateRect:]), (-[IFPluginView invalidateRegion:]), (-[IFPluginView forceRedraw]): * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): 2002-04-17 Darin Adler <darin@apple.com> * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]): Changed another Georgia that I missed to Times New Roman. 2002-04-16 Darin Adler <darin@apple.com> * WebView.subproj/IFWebDataSource.mm: * WebView.subproj/IFWebDataSourcePrivate.mm: Touch these files to try to make Jersey build again. 2002-04-16 Darin Adler <darin@apple.com> * WebView.subproj/IFBaseWebControllerPrivate.mm: Include khtml_part.h instead of KWQKHTMLPart.h. * WebView.subproj/IFWebFrame.mm: Include khtml_part.h instead of KWQKHTMLPart.h. * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource documentTextFromDOM]): Remove an unneeded cast and an extra retain/autorelease. 2002-04-16 Darin Adler <darin@apple.com> * WebView.subproj/IFWebFrame.h: * WebView.subproj/IFWebFrame.mm: * WebView.subproj/IFWebFramePrivate.h: Change view/setView back to be id, rather than IFWebView. In the future, the view may be some other kind of object. 2002-04-16 John Sullivan <sullivan@apple.com> Fixed bug Chris noticed where Alexander wasn't putting up an error sheet on failed page visits. * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _isLoadComplete]): Don't set provisionalDataSource to nil until after sending it locationChangeDone. 2002-04-16 Darin Adler <darin@apple.com> * WebView.subproj/IFBaseWebController.mm: Remove special release handling because data sources now retain the controller as long as they are loading. * WebView.subproj/IFWebDataSource.mm: Remove special release handling because data sources now retain themselves as long as they are loading. * WebView.subproj/IFWebFrame.mm: Remove special release handling, because data sources now retain the controller as long as they are loading, and the controller retains the frame. * WebView.subproj/IFWebDataSourcePrivate.h: Add a "loading" boolean. * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _setLoading:]): Change the "loading" state, retaining or releasing this object and the controller as necessary. (-[IFWebDataSource _updateLoading]): Update the loading state; called when some part of loading is done to see if it's all done. (-[IFWebDataSource _setController:]): Retain the new controller and release the old controller when loading. (-[IFWebDataSource _setPrimaryLoadComplete:]): Call _updateLoading. (-[IFWebDataSource _startLoading:]): Call _setLoading:YES. (-[IFWebDataSource _addURLHandle:]): Call _setLoading:YES. (-[IFWebDataSource _removeURLHandle:]): Call _updateLoading. * WebView.subproj/IFWebFrame.h: Use the real type, IFWebView, for setView and view. * WebView.subproj/IFWebFramePrivate.h: Formatting tweak. * WebKit.pbproj/project.pbxproj: Version wars. 2002-04-16 John Sullivan <sullivan@apple.com> * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView _setController:]): removed a mistaken retain/release pair here for Darin. 2002-04-16 Darin Adler <darin@apple.com> Change default font to "Times New Roman 11" rather than "Georgia 12" to be more like Macintosh Internet Explorer. * WebView.subproj/IFPreferences.mm: A little simplifying of private pointers. * MIME.subproj/IFDownloadHandler.h: * MIME.subproj/IFDownloadHandler.m: 2002-04-16 Darin Adler <darin@apple.com> A little simplifying of private pointers. * MIME.subproj/IFDownloadHandler.m: * MIME.subproj/IFDownloadHandlerPrivate.m: * WebView.subproj/IFBaseWebController.mm: * WebView.subproj/IFWebDataSource.h: * WebView.subproj/IFWebDataSource.mm: * WebView.subproj/IFWebDataSourcePrivate.mm: * WebView.subproj/IFWebFrame.h: * WebView.subproj/IFWebFrame.mm: * WebView.subproj/IFWebFramePrivate.mm: * WebView.subproj/IFWebView.h: * WebView.subproj/IFWebView.mm: * WebView.subproj/IFWebViewPrivate.h: * WebView.subproj/IFWebViewPrivate.mm: 2002-04-16 Darin Adler <darin@apple.com> Change headers so they don't include so much. Also change IF_LOAD_TYPE to IFLoadType. * History.subproj/IFBackForwardList.h: * History.subproj/IFBackForwardList.m: * History.subproj/IFURIEntry.h: * History.subproj/IFURIList.h: * History.subproj/IFURIList.m: * History.subproj/IFWebHistory.h: * History.subproj/IFWebHistoryPrivate.h: * History.subproj/IFWebHistoryPrivate.m: * MIME.subproj/IFContentHandler.h: * MIME.subproj/IFDownloadHandler.h: * MIME.subproj/IFDownloadHandlerPrivate.h: * MIME.subproj/IFDownloadHandlerPrivate.m: * MIME.subproj/IFMIMEDatabase.h: * MIME.subproj/IFMIMEDatabase.m: * Misc.subproj/IFException.h: * Plugins.subproj/IFNullPluginView.mm: * Plugins.subproj/IFPluginView.h: * Plugins.subproj/IFPluginView.mm: * WebKit.pbproj/project.pbxproj: * WebView.subproj/IFBaseWebController.h: * WebView.subproj/IFBaseWebController.mm: * WebView.subproj/IFBaseWebControllerPrivate.h: * WebView.subproj/IFBaseWebControllerPrivate.mm: * WebView.subproj/IFLoadProgress.h: * WebView.subproj/IFLoadProgress.mm: * WebView.subproj/IFLocationChangeHandler.h: * WebView.subproj/IFMainURLHandleClient.h: * WebView.subproj/IFMainURLHandleClient.mm: * WebView.subproj/IFPreferences.h: * WebView.subproj/IFPreferencesPrivate.h: * WebView.subproj/IFWebController.h: * WebView.subproj/IFWebDataSource.h: * WebView.subproj/IFWebDataSource.mm: * WebView.subproj/IFWebDataSourcePrivate.h: * WebView.subproj/IFWebDataSourcePrivate.mm: * WebView.subproj/IFWebFrame.h: * WebView.subproj/IFWebFrame.mm: * WebView.subproj/IFWebFramePrivate.h: * WebView.subproj/IFWebFramePrivate.mm: * WebView.subproj/IFWebView.h: * WebView.subproj/IFWebView.mm: * WebView.subproj/IFWebViewPrivate.h: * WebView.subproj/IFWebViewPrivate.mm: 2002-04-16 Kenneth Kocienda <kocienda@apple.com> Moved IFError class from WebKit to WebFoundation. Updated includes due to this change. Updated URL handle client interface to pass an IFError in an error callback rather than a plain int. The URL client was modified due to this change. * Misc.subproj/IFError.h: Removed. * Misc.subproj/IFError.m: Removed. * Plugins.subproj/IFPluginView.mm: * WebKit.pbproj/project.pbxproj: * WebView.subproj/IFBaseWebControllerPrivate.mm: * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]): * WebView.subproj/IFWebFramePrivate.mm: 2002-04-15 Darin Adler <darin@apple.com> * WebView.subproj/IFPreferences.h: * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]): Remove the old WebKitFontSizes preference. (-[IFPreferences mediumFontSize]), (-[IFPreferences setMediumFontSize:]): New. * WebView.subproj/IFWebView.mm: (-[IFWebView reapplyStyles]): Call updateStyleSelector() instead of recalcStyle(). 2002-04-15 Darin Adler <darin@apple.com> Merged changes from previous merge branch. 2002-03-25 Darin Adler <darin@apple.com> * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]): Add WebKitMediumFontSizePreferenceKey. 2002-04-15 John Sullivan <sullivan@apple.com> * Plugins.subproj/IFNullPluginView.mm: (-[IFNullPluginView drawRect:]): Moved a line of code to prevent pluginNotFound message from being sent twice. 2002-04-15 Richard Williamson <rjw@apple.com> Changes to IFLocationChangeHandler. Experimental allocator code, not to be used, not thread safe.! * Misc.subproj/WebKitDebug.h: * Misc.subproj/WebKitDebug.m: (if_check_zone), (_debugAllocate), (_debugAllocatorInitialize), (printDebugMallocCounters), (if_cf_retain), (if_cf_release), (if_cf_alloc), (if_cf_realloc), (if_cf_dealloc), (if_cf_preferredSize), (setupDebugMalloc), (clearDebugMalloc), (resetDebugMallocCounters), (public_mALLOc), (public_fREe), (public_rEALLOc), (public_mEMALIGn), (public_vALLOc), (public_pVALLOc), (public_cALLOc), (public_iCALLOc), (public_iCOMALLOc), (public_cFREe), (public_mTRIm), (public_mUSABLe), (public_mSTATs), (public_mALLINFo), (public_mALLOPt), (do_check_malloc_state), (mALLINFo), (mSTATs), (if_size), (if_valloc), (if_malloc), (if_realloc), (if_calloc), (if_free): * WebKit.pbproj/project.pbxproj: * WebView.subproj/IFBaseWebController.h: * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController provideLocationChangeHandlerForFrame:]): * WebView.subproj/IFLocationChangeHandler.h: Added. * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]), (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]): * WebView.subproj/IFWebController.h: * WebView.subproj/IFWebDataSource.mm: (+[IFWebDataSource load]): * WebView.subproj/IFWebDataSourcePrivate.h: * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]), (-[IFWebDataSource _startLoading:]), (-[IFWebDataSource _setTitle:]), (-[IFWebDataSource _locationChangeHandler]), (-[IFWebDataSource _setLocationChangeHandler:]): * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame setProvisionalDataSource:]): * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _transitionProvisionalToCommitted]), (-[IFWebFrame _isLoadComplete]): 2002-04-15 Chris Blumenberg <set EMAIL_ADDRESS environment variable> * MIME.subproj/IFContentHandler.m: (-[IFContentHandler HTMLDocument]): Made sure I didn't unnecessarily allocate html document strings * MIME.subproj/IFDownloadHandler.h: * MIME.subproj/IFDownloadHandler.m: (-[IFDownloadHandler suggestedFilename]), (-[IFDownloadHandler openAfterDownload:]): Added the mentioned API's * MIME.subproj/IFDownloadHandlerPrivate.h: * MIME.subproj/IFDownloadHandlerPrivate.m: (-[IFDownloadHandlerPrivate init]), (-[IFDownloadHandlerPrivate dealloc]), (-[IFDownloadHandlerPrivate _suggestedFilename]), (-[IFDownloadHandlerPrivate _cancelDownload]), (-[IFDownloadHandlerPrivate _storeAtPath:]), (-[IFDownloadHandlerPrivate _finishedDownload]), (-[IFDownloadHandlerPrivate _openAfterDownload:]), (-[IFDownloadHandlerPrivate _openFile]), (-[IFDownloadHandlerPrivate _saveFile]), (-[IFDownloadHandler _initWithURLHandle:mimeHandler:]): Cleaned up and added a lot error checking code to IFDownloadHandlerPrivate * Plugins.subproj/IFNullPluginView.mm: (-[IFNullPluginView initWithFrame:mimeType:arguments:]), (-[IFNullPluginView drawRect:]): Made sure I didn't unnecessarily allocate images * Resources/plugin_document_template.html: Plugins now have 100% of the window 2002-04-12 Chris Blumenberg <cblu@apple.com> Fixed build failure. Forgot to make IFDownloadHandler.h a public header. * WebKit.pbproj/project.pbxproj: 2002-04-12 Chris Blumenberg <cblu@apple.com> First implementation of IFDownloadHandler and IFDownloadHandlerPrivate. 2002-04-11 Chris Blumenberg <cblu@apple.com> Added support for non-html content. Non-html content is embedded in a contrived HTML document. * English.lproj/IFError.strings: * MIME.subproj/IFContentHandler.h: Added. * MIME.subproj/IFContentHandler.m: Added. (-[IFContentHandler initWithMIMEHandler:URL:]), (-[IFContentHandler HTMLDocument]), (-[IFContentHandler dealloc]): * MIME.subproj/IFMIMEDatabase.h: * MIME.subproj/IFMIMEDatabase.m: (-[IFMIMEDatabase MIMEHandlerForMIMEType:]), (setMimeHandlers): * MIME.subproj/IFMIMEHandler.h: * MIME.subproj/IFMIMEHandler.m: (-[IFMIMEHandler initWithMIMEType:handlerType:handlerName:]), (-[IFMIMEHandler description]): * Misc.subproj/IFError.h: * Misc.subproj/IFError.m: (+[IFError initialize]): * Plugins.subproj/IFPluginView.mm: (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]), (-[IFPluginView dealloc]), (-[IFPluginView stop]): * Resources/plugin_document_template.html: Added. * Resources/text_document_template.html: Added. * WebKit.pbproj/project.pbxproj: * WebView.subproj/IFMainURLHandleClient.h: * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient initWithDataSource:part:]), (-[IFMainURLHandleClient dealloc]), (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]), (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): 2002-04-10 Chris Blumenberg <cblu@apple.com> Cleaned up stream deallocations. * Plugins.subproj/IFPluginStream.h: * Plugins.subproj/IFPluginStream.m: (-[IFPluginStream initWithURL:mimeType:notifyData:]), (-[IFPluginStream incrementOffset:]), (-[IFPluginStream dealloc]): * Plugins.subproj/IFPluginView.mm: (-[IFPluginView newStream:mimeType:notifyData:]), (-[IFPluginView IFURLHandleResourceDidCancelLoading:]), (-[IFPluginView IFURLHandle:resourceDidFailLoadingWithResult:]): 2002-04-10 John Sullivan <sullivan@apple.com> Fixed 2891396 -- window fills with garbage if you resize or hide/show toolbar before loading first page * WebView.subproj/IFWebView.mm: (-[IFWebView drawRect:]): Made webview fill rect with white if there's no widget. 2002-04-09 Chris Blumenberg <cblu@apple.com> * Plugins.subproj/IFPluginView.h: * Plugins.subproj/IFPluginView.mm: (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]), (-[IFPluginView setWindow]), (-[IFPluginView newStream:mimeType:notifyData:]), (-[IFPluginView start]), (-[IFPluginView stop]), (-[IFPluginView dealloc]), (-[IFPluginView findSuperview:]), (-[IFPluginView sendUpdateEvent]), (-[IFPluginView drawRect:]), (-[IFPluginView isFlipped]), (-[IFPluginView viewHasMoved:]), (-[IFPluginView windowBecameKey:]), (-[IFPluginView windowResignedKey:]), (-[IFPluginView windowWillClose:]), (-[IFPluginView IFURLHandleResourceDidBeginLoading:]), (-[IFPluginView IFURLHandle:resourceDataDidBecomeAvailable:]), (-[IFPluginView IFURLHandleResourceDidFinishLoading:data:]), (-[IFPluginView IFURLHandleResourceDidCancelLoading:]), (-[IFPluginView IFURLHandle:resourceDidFailLoadingWithResult:]), (-[IFPluginView IFURLHandle:didRedirectToURL:]), (-[IFPluginView forceRedraw]), (IFPluginMake), (+[IFPluginView load]): * WebKit.pbproj/project.pbxproj: * WebView.subproj/IFLoadProgress.h: Cleaned up the IFPluginView code. Moved a lot of things around. Added support for plug-in file download progress. 2002-04-08 Chris Blumenberg <cblu@apple.com> * Plugins.subproj/IFPluginView.h: * Plugins.subproj/IFPluginView.mm: (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]), (-[IFPluginView drawRect:]), (-[IFPluginView newStream:mimeType:notifyData:]), (-[IFPluginView getURLNotify:target:notifyData:]): Support new stream requests from plug-ins that are relative URL's. 2002-04-08 Darin Adler <darin@apple.com> * WebKit.pbproj/project.pbxproj: Re-added -Wno-format-y2k. 2002-04-08 Richard Williamson <rjw@apple.com> Added logs for Shelley to note start and completion of document load. -WebKitLogLevel 0x1000. Also, as a bonus, note time to load. * Misc.subproj/WebKitDebug.h: * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame startLoading]): * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _setState:]): 2002-04-08 Chris Blumenberg <cblu@apple.com> * Plugins.subproj/IFNullPluginView.h: * Plugins.subproj/IFNullPluginView.mm: (-[IFNullPluginView initWithFrame:mimeType:arguments:]), (-[IFNullPluginView drawRect:]): * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController pluginNotFoundForMIMEType:pluginPageURL:]): * WebView.subproj/IFWebController.h: Added pluginNotFoundForMIMEType: pluginPageURL: to WebKit. This gets called by IFNullPluginView when a plug-in for a certain mime type is requested but not installed. 2002-04-08 Richard Williamson <rjw@apple.com> Added frameForView: Cleaned up out-of-date comments. * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController _frameForView:fromFrame:]), (-[IFBaseWebController frameForView:]): * WebView.subproj/IFWebController.h: 2002-04-05 Chris Blumenberg <cblu@apple.com> * Plugins.subproj/IFNullPluginView.mm: (+[IFNullPluginView load]): Enabled the below. 2002-04-05 Chris Blumenberg <cblu@apple.com> * Plugins.subproj/IFNullPluginView.h: Added. * Plugins.subproj/IFNullPluginView.mm: Added. (-[IFNullPluginView initWithFrame:mimeType:arguments:]), (-[IFNullPluginView findSuperview:]), (-[IFNullPluginView drawRect:]): * Resources/nullplugin.tiff: Added. * WebKit.pbproj/project.pbxproj: An IFNullPluginView is now created when no plug-in for a requested mime type is found. IFNullPluginView displays a null plug-in icon and will eventually report this error to the WebController. 2002-04-05 Richard Williamson <rjw@apple.com> Back out some changes to lazily dealloc frame. * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame release]): 2002-04-05 Richard Williamson <rjw@apple.com> New method on controller to find a frame of a particular name anywhere in the frame hierarchy. * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController initWithView:provisionalDataSource:]), (-[IFBaseWebController _frameNamed:fromFrame:]), (-[IFBaseWebController frameNamed:]): * WebView.subproj/IFWebController.h: 2002-04-05 Darin Adler <darin@apple.com> * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]): Use contentLengthReceived rather than getting the length of availableResourceData to determine how much data has arrived. 2002-04-05 Richard Williamson <rjw@apple.com> Implemented the same lazily deallocation scheme on frame as in controller and data source. * WebView.subproj/IFWebFrame.mm: (-[_IFFrameHolder initWithObject:]), (-[_IFFrameHolder _checkReadyToDealloc:]), (-[IFWebFrame release]): 2002-04-04 Richard Williamson <rjw@apple.com> Clear controller references from data source and view, as well as frame. * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebControllerPrivate _clearControllerReferences:]): 2002-04-04 Richard Williamson <rjw@apple.com> Lazily dealloc controller and data source ONLY after all loads have completed. * WebView.subproj/IFBaseWebController.mm: (-[_IFControllerHolder initWithController:]), (-[_IFControllerHolder _checkReadyToDealloc:]), (-[IFBaseWebController dealloc]), (-[IFBaseWebController release]): * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebControllerPrivate _clearControllerReferences:]), (-[IFBaseWebControllerPrivate dealloc]): * WebView.subproj/IFWebDataSource.mm: (-[_IFDataSourceHolder initWithDataSource:]), (-[_IFDataSourceHolder _checkReadyToDealloc:]), (-[IFWebDataSource release]): 2002-04-04 Kenneth Kocienda <kocienda@apple.com> Hack to handle displaying image URLs. The trick is to sense when the main URL is an image type and wrap the URL in a small generated HTML document and hand that off to the engine to display. Works like a charm! :) There may be some longer-term issues, but for now, this lets us do something we could not before. It also lets us handle some iframes that contain only image URLs. * Resources/image_document_template.html: Added. * WebKit.pbproj/project.pbxproj: * WebView.subproj/IFMainURLHandleClient.h: * WebView.subproj/IFMainURLHandleClient.mm: (loadImageDocumentTemplate), (-[IFMainURLHandleClient initWithDataSource:part:]), (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): 2002-04-04 Chris Blumenberg <cblu@apple.com> * English.lproj/IFError.strings: * Misc.subproj/IFError.h: * Misc.subproj/IFError.m: (+[IFError initialize]): * WebKit.pbproj/project.pbxproj: * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): Added the IFNonHTMLContentNotSupportedError to IFError. 2002-04-04 Richard Williamson <rjw@apple.com> Tuned and re-enabled resource layouts. * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]): * WebView.subproj/IFWebFramePrivate.h: * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _scheduleLayout:]), (-[IFWebFrame _timedLayout:]): 2002-04-04 Darin Adler <darin@apple.com> * WebKit.pbproj/project.pbxproj: Add an Unoptimized build style: exactly like Development except without the -O. 2002-04-03 Richard Williamson <rjw@apple.com> Changed name of finalURL to redirectedURL. Disabled layout after resource load. It appears to really slow us down. * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]): * WebView.subproj/IFWebController.h: * WebView.subproj/IFWebDataSource.h: * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource redirectedURL]), (-[IFWebDataSource wasRedirected]): * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _isLoadComplete]): 2002-04-03 Richard Williamson <rjw@apple.com> Added support for finalURL and wasRedirected to datasource. Added additional layouts on resource loads. Added more implementations of frame related methods in data source. * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]): * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]), (-[IFPreferences _resourceTimedLayoutDelay]), (-[IFPreferences _resourceTimedLayoutEnabled]): * WebView.subproj/IFPreferencesPrivate.h: * WebView.subproj/IFWebDataSource.h: * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource frameNames]), (-[IFWebDataSource findDataSourceForFrameNamed:]), (-[IFWebDataSource frameExists:]), (-[IFWebDataSource finalURL]), (-[IFWebDataSource wasRedirected]): * WebView.subproj/IFWebDataSourcePrivate.h: * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]), (-[IFWebDataSource _setTitle:]), (-[IFWebDataSource _setFinalURL:]): * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _scheduleLayout:]), (-[IFWebFrame _transitionProvisionalToLayoutAcceptable]), (-[IFWebFrame _isLoadComplete]): 2002-04-03 Kenneth Kocienda <kocienda@apple.com> Updated debugging log messages to use new varargs macros. * History.subproj/IFWebHistoryPrivate.m: (-[IFWebHistoryPrivate removeEntryForURLString:]), (-[IFWebHistoryPrivate _loadHistoryGuts:]), (-[IFWebHistoryPrivate loadHistory]), (-[IFWebHistoryPrivate _saveHistoryGuts:]), (-[IFWebHistoryPrivate saveHistory]): * Misc.subproj/WebKitDebug.h: * Misc.subproj/WebKitDebug.m: (timestamp), (WebKitLog): * Plugins.subproj/IFPluginView.mm: (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]), (-[IFPluginView setWindow]), (-[IFPluginView newStream:mimeType:notifyData:]), (-[IFPluginView IFURLHandle:resourceDataDidBecomeAvailable:]), (-[IFPluginView IFURLHandleResourceDidFinishLoading:data:]), (-[IFPluginView becomeFirstResponder]), (-[IFPluginView resignFirstResponder]), (-[IFPluginView sendUpdateEvent]), (-[IFPluginView mouseDown:]), (-[IFPluginView mouseUp:]), (-[IFPluginView mouseEntered:]), (-[IFPluginView mouseExited:]), (-[IFPluginView keyUp:]), (-[IFPluginView keyDown:]), (-[IFPluginView getURLNotify:target:notifyData:]), (-[IFPluginView getURL:target:]), (-[IFPluginView status:]), (-[IFPluginView stop]): * WebKit.pbproj/project.pbxproj: * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController _receivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]): * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandleResourceDidBeginLoading:]), (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]), (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]), (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]), (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]), (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]): * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource isLoading]): * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _stopLoading]): * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _transitionProvisionalToLayoutAcceptable]), (-[IFWebFrame _timedLayout:]), (-[IFWebFrame _setState:]), (-[IFWebFrame _isLoadComplete]): * WebView.subproj/IFWebView.mm: (-[IFWebView reapplyStyles]), (-[IFWebView layout]), (-[IFWebView setNeedsDisplay:]), (-[IFWebView setNeedsLayout:]), (-[IFWebView setNeedsToApplyStyles:]), (-[IFWebView drawRect:]): 2002-04-02 Darin Adler <darin@apple.com> * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _setTitle:]): Update title if the page is already in the committed state. 2002-04-02 Darin Adler <darin@apple.com> * WebKit.pbproj/project.pbxproj: Fix flags as I did in WebFoundation. * Misc.subproj/WebKitDebug.h: Turn off logging when xNDEBUG is defined. Remove unused stuff. Add checking for printf parameters. * Misc.subproj/WebKitDebug.m: Remove unused variants. * Plugins.subproj/IFPluginView.mm: Change to use WebKit logging, not WebCore logging. * WebView.subproj/IFMainURLHandleClient.mm: * WebView.subproj/IFWebView.mm: Fix types in log statements caught by the compiler. 2002-04-02 Chris Blumenberg <cblu@apple.com> * Plugins.subproj/IFPluginView.mm: (-[IFPluginView IFURLHandleResourceDidCancelLoading:]), (-[IFPluginView IFURLHandle:resourceDidFailLoadingWithResult:]), (-[IFPluginView IFURLHandle:didRedirectToURL:]): Added support for the above callbacks. * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): Return an error if non-html is requested. 2002-04-02 Richard Williamson <rjw@apple.com> More relaxed about invalid states. * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _transitionProvisionalToLayoutAcceptable]): 2002-04-02 Darin Adler <darin@apple.com> * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _setTitle:]): Fix a leak I introduced here by copying the string in a better way. 2002-04-01 Richard Williamson <rjw@apple.com> Cleaned up lots of potentially stale references to controller. * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebControllerPrivate dealloc]): * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient initWithDataSource:part:]), (-[IFMainURLHandleClient dealloc]): * WebView.subproj/IFWebDataSource.h: * WebView.subproj/IFWebDataSource.mm: * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]), (-[IFWebDataSource _setPrimaryLoadComplete:]), (-[IFWebDataSource _setTitle:]): * WebView.subproj/IFWebFramePrivate.h: * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFramePrivate dealloc]), (-[IFWebFramePrivate setDataSource:]), (-[IFWebFramePrivate setProvisionalDataSource:]), (-[IFWebFrame _setController:]), (-[IFWebFrame _transitionProvisionalToCommitted]), (-[IFWebFrame _timedLayout:]), (-[IFWebFrame _setState:]): 2002-04-01 Richard Williamson <rjw@apple.com> Logging changes. Changes to support correct i/frame behavior. * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController createFrameNamed:for:inParent:inScrollView:]): * WebView.subproj/IFWebController.h: * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _timedLayout:]): * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebViewPrivate dealloc]), (-[IFWebView _setupScrollers]): 2002-04-01 John Sullivan <sullivan@apple.com> Added method for updating url, title, and/or displayTitle on existing entry. * History.subproj/IFWebHistory.h: * History.subproj/IFWebHistory.m: (-[IFWebHistory updateURL:title:displayTitle:forURL:]): Calls through to IFWebHistoryPrivate. * History.subproj/IFWebHistoryPrivate.h: * History.subproj/IFWebHistoryPrivate.m: (-[IFWebHistoryPrivate _entryForURLString:]): Broke this out from containsURL. (-[IFWebHistoryPrivate containsURL:]): Call broken-out method. (-[IFWebHistoryPrivate updateURL:title:displayTitle:forURL:]): Find existing entry (if any), change its attributes. 2002-04-01 Darin Adler <darin@apple.com> * Misc.subproj/IFError.h: Add the failing URL to IFError. * Misc.subproj/IFError.m: (-[IFError initWithErrorCode:]): Call through with nil for the URL. (-[IFError initWithErrorCode:failingURL:]): Retain the passed URL. (-[IFError dealloc]): Autorelease the URL. (-[IFError failingURL]): Return the URL. (-[IFError description]): Include the URL in the description. * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController _receivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]): Put the URL into the IFError. * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]): Put the URL into the IFError. 2002-04-01 Richard Williamson <rjw@apple.com> Added more logging to show time of layouts. * WebView.subproj/IFWebFramePrivate.h: * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _transitionProvisionalToLayoutAcceptable]), (-[IFWebFrame _timedLayout:]), (-[IFWebFrame _isLoadComplete]): * WebView.subproj/IFWebView.mm: (-[IFWebView reapplyStyles]), (-[IFWebView layout]): 2002-04-01 Darin Adler <darin@apple.com> Added operations for JavaScript objects. Not sure if this was the best place for them, but it should be OK for now. * Misc.subproj/IFCache.h: * Misc.subproj/IFCache.mm: (+[IFCache setDisabled:]), (+[IFCache javaScriptObjectsCount]), (+[IFCache garbageCollectJavaScriptObjects]): * WebKit.pbproj/project.pbxproj: 2002-03-30 Richard Williamson <rjw@apple.com> Corrected comments describing the new 'acceptable to layout' state transition. * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]): 2002-03-30 Darin Adler <darin@apple.com> * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController receivedPageTitle:forDataSource:]): Remove the exception from here. This is really a "do nothing, subclasses override me" method. * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource pageTitle]): Implement. * WebView.subproj/IFWebDataSourcePrivate.h: Add pageTitle and [IFWebDataSource _setTitle]. * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]): autorelease pageTitle. (-[IFWebDataSource _setTitle:]): Update the title, trimming whitespace and using nil, rather than empty string, to mean no title at all. Call [receivedPageTitle: forDataSource:] as necessary too. * WebView.subproj/IFMainURLHandleClient.mm: Did a gratuitious whitespace edit to force this file to recompile so everyone doesn't have to "make clean". 2002-03-30 Richard Williamson <rjw@apple.com> Added support for scrolling to anchor points. * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _isLoadComplete]): 2002-03-30 Maciej Stachowiak <mjs@apple.com> * WebKit.pbproj/project.pbxproj: Link against JavaScriptCore.framework instead of the defunct libJavaScriptCore.dylib. 2002-03-29 Richard Williamson <rjw@apple.com> Fixes for cancelling. Still need to think about a better solution than putting data sources in stopped mode. * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController _receivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController _receivedError:forResource:partialProgress:fromDataSource:]), (-[IFBaseWebController _mainReceivedError:forResource:partialProgress:fromDataSource:]): * WebView.subproj/IFWebDataSourcePrivate.h: * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _startLoading:]), (-[IFWebDataSource _isStopping]), (-[IFWebDataSource _stopLoading]): * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame setProvisionalDataSource:]): 2002-03-29 Richard Williamson <rjw@apple.com> Hooked up redirect. Now we see many more ads. :( Fixed cancel of main handle for document. Moved stop before start from frame to data source. * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController locationChangeDone:forFrame:]), (-[IFBaseWebController serverRedirectTo:forDataSource:]): * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]), (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]), (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]), (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]): * WebView.subproj/IFWebDataSourcePrivate.h: * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]), (-[IFWebDataSource _startLoading:]), (-[IFWebDataSource _stopLoading]): * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame startLoading]): 2002-03-29 Richard Williamson <rjw@apple.com> Added stopLoading to startLoading to cancel any pending loads before new loads start. This doesn't work yet because of loader bugs, but will once those are fixed. Adding logging for redirects. * Misc.subproj/WebKitDebug.h: * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]): * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame startLoading]): 2002-03-29 Darin Adler <darin@apple.com> * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFramePrivate dealloc]): Deref the renderFramePart, and autorelease the provisionalDataSource. (-[IFWebFramePrivate setRenderFramePart:]): Ref renderFramePart while we hold it. 2002-03-28 Richard Williamson <rjw@apple.com> Increased size default for initial layout. * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]): 2002-03-28 Richard Williamson <rjw@apple.com> Fixed big leak of any document that had a frame or iframe. * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource retain]): * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]), (-[IFWebDataSource _setParent:]): 2002-03-28 Richard Williamson <rjw@apple.com> Modified the initial layout policy. * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController _receivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]): * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]), (-[IFPreferences _initialTimedLayoutDelay]), (-[IFPreferences _initialTimedLayoutSize]): * WebView.subproj/IFPreferencesPrivate.h: * WebView.subproj/IFWebFramePrivate.h: * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _transitionProvisionalToLayoutAcceptable]), (-[IFWebFrame _transitionProvisionalToCommitted]), (-[IFWebFrame _initialLayout:]), (-[IFWebFrame _isLoadComplete]): 2002-03-28 Darin Adler <darin@apple.com> New private interface for getting at the cache. * Misc.subproj/IFCache.h: New. * Misc.subproj/IFCache.mm: New. * WebKit.pbproj/project.pbxproj: Added IFCache files. 2002-03-28 Darin Adler <darin@apple.com> * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController locationChangeDone:forFrame:]): Remove log of errors loading now that we have the activity viewer. 2002-03-28 Richard Williamson <rjw@apple.com> Modified the initial layout policy. We now try to layout as close as possible to WebKitInitialTimedLayoutDelay seconds after the load was started, not after the provisional-to-committed transition. If the time to the provisional-to-committed transition exceeds WebKitInitialTimedLayoutDelay we layout immediately. * WebView.subproj/IFWebDataSourcePrivate.h: * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _startLoading:]), (-[IFWebDataSource _recursiveStopLoading]), (-[IFWebDataSource _loadingStartedTime]): * WebView.subproj/IFWebFramePrivate.h: * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _transitionProvisionalToCommitted]), (-[IFWebFrame _initialLayout:]): 2002-03-28 John Sullivan <sullivan@apple.com> * History.subproj/IFWebHistoryPrivate.m: (-[IFWebHistoryPrivate _loadHistoryGuts:]): Made this more robust about bad data from the disk file. I don't know how bad data could get into the disk file in normal use, but it seems to have happened to Richard. 2002-03-27 Richard Williamson <rjw@apple.com> Added initial-layout-after-delay-if-not-layed-out-yet feature. * Misc.subproj/WebKitDebug.h: * WebKit.pbproj/project.pbxproj: * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]): * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]), (-[IFPreferences setPluginsEnabled:]), (-[IFPreferences _initialTimedLayoutDelay]), (-[IFPreferences _initialTimedLayoutEnabled]): * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _transitionProvisionalToCommitted]), (-[IFWebFrame _initialLayout:]), (-[IFWebFrame _state]): 2002-03-27 Kenneth Kocienda <kocienda@apple.com> Changed loadProgress->bytesSoFar to use [sender contentLengthReceived] instead of the size of the chunk that was delivered in the callback. This makes the activity window data more correct than it was. * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): 2002-03-27 Chris Blumenberg <cblu@apple.com> Now setting the modifier bit for the activate and cursor events. * Plugins.subproj/IFPluginView.h: * Plugins.subproj/IFPluginView.mm: (-[IFPluginView drawRect:]), (-[IFPluginView windowBecameKey:]), (-[IFPluginView windowResignedKey:]), (-[IFPluginView mouseEntered:]), (-[IFPluginView mouseExited:]): 2002-03-27 Darin Adler <darin@apple.com> * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]): Switch back to serif font, since using Luicida Grande was exposing some font bugs. 2002-03-26 Maciej Stachowiak <mjs@apple.com> * WebKit.pbproj/project.pbxproj: Fixed to build with standalone libJavaScriptCore.dylib. 2002-03-26 Kenneth Kocienda <kocienda@apple.com> Changes to help the transition to the new build system which unifies our development build setting with the settings we use to ship releases. * Makefile.am: * WebKit.pbproj/kocienda.pbxuser: * WebKit.pbproj/project.pbxproj: 2002-03-26 Richard Williamson <rjw@apple.com> Try to ensure that display needed bits are correctly set. * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _isLoadComplete]): 2002-03-26 Darin Adler <darin@apple.com> * Misc.subproj/IFError.m: (+[IFError initialize]): Fix a typo where we said "unvailable". * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]): Change the default sans-serif font to "Lucida Grande" to match the OS X system font, and also make that the defalt standard font. 2002-03-26 John Sullivan <sullivan@apple.com> * WebKit.pbproj/project.pbxproj: Marked IFProgress.h Public. 2002-03-25 John Sullivan <sullivan@apple.com> Broke IFLoadProgress out into its own file, and added an init method and getters, without which this class is useless in Objective-C files (but strangely usable in Objective-C++ files, see radar 2887253). * WebView.subproj/IFWebController.h: * WebView.subproj/IFBaseWebController.mm: Took IFLoadProgress declaration and implementation out of here. * WebView.subproj/IFLoadProgress.h, * WebView.subproj/IFLoadProgress.mm: Moved IFLoadProgress declaration and implementation to here; added -[IFLoadProgress initWithBytesSoFar:totalToLoad:type:] and getters for each field. * WebKit.pbproj/project.pbxproj: Updated for new files 2002-03-25 Richard Williamson <rjw@apple.com> Tweaks to force layout of frames and iframes. * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _isLoadComplete]): 2002-03-25 Maciej Stachowiak <mjs@apple.com> * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _startLoading:]): Just create an IFURLHandle, since it now creates the proper concrete subclass automagically. 2002-03-25 Chris Blumenberg <cblu@apple.com> * MIME.subproj/IFMIMEDatabase.m: (+[IFMIMEDatabase sharedMIMEDatabase]), (-[IFMIMEDatabase MIMEHandlerForMIMEType:]), (setMimeHandlers): * MIME.subproj/IFMIMEHandler.h: * MIME.subproj/IFMIMEHandler.m: (-[IFMIMEHandler initWithMIMEType:handlerType:handlerName:]), (-[IFMIMEHandler MIMEType]), (-[IFMIMEHandler MIMESupertype]), (-[IFMIMEHandler MIMESubtype]), (-[IFMIMEHandler handlerName]), (-[IFMIMEHandler handlerType]), (-[IFMIMEHandler description]): Initial implementations of the above. 2002-03-25 Richard Williamson <rjw@apple.com> Added private API to allow browser to access the DOM tree. * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView DOM::]), (+[IFWebView _nodeName:DOM::]), (+[IFWebView _nodeValue:DOM::]), (+[IFWebView _nodeHTML:DOM::]): 2002-03-25 Richard Williamson <rjw@apple.com> Added private API to allow browser to access the render tree. * WebView.subproj/IFWebViewPrivate.mm: 2002-03-24 Richard Williamson <rjw@apple.com> Changed data source to create IFURLHandle of the appropriate class. The prevented us from getting the response headers correctly. * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _startLoading:]): 2002-03-24 Richard Williamson <rjw@apple.com> Removed erroneous comments. * WebView.subproj/IFWebView.mm: (-[IFWebView dataSourceChanged:]), (-[IFWebView reapplyStyles]): 2002-03-22 Chris Blumenberg <cblu@apple.com> * MIME.subproj/IFMIMEDatabase.h: Added a list of mime type that WebKit will be capable of handling 2002-03-22 Chris Blumenberg <cblu@apple.com> * WebKit.pbproj/project.pbxproj: Added the MIME clases to WebKit. 2002-03-22 John Sullivan <sullivan@apple.com> * WebView.subproj/IFWebView.mm: (-[IFWebView reapplyStyles]): Removed stale FIXME. 2002-03-22 Richard Williamson <rjw@apple.com> Fixed reapplyStyles to use new KDE3 recalcStyle function. * WebView.subproj/IFWebView.mm: (-[IFWebView reapplyStyles]) 2002-03-21 John Sullivan <sullivan@apple.com> * WebView.subproj/IFWebView.mm: (-[IFWebView reapplyStyles]): Commented out call to applyChanges that no longer exists. This was breaking the build. Live font changes are temporarily broken again. 2002-03-21 Richard Williamson <rjw@apple.com> Added setNeedsToApplyStyles: and reapplyStyles. This is for dynamic preferences refresh support. * WebView.subproj/IFWebView.h: * WebView.subproj/IFWebView.mm: (-[IFWebView reapplyStyles]), (-[IFWebView layout]), (-[IFWebView setNeedsToApplyStyles:]), (-[IFWebView drawRect:]): * WebView.subproj/IFWebViewPrivate.h: 2002-03-21 John Sullivan <sullivan@apple.com> Cleaned up defaults registration and use. The class IFPreferences now registers the defaults at load time, early enough that Alexander doesn't have to register them separately as it had been. Also, all the defaults currently in use now have accessor cover methods, which Alexander will use exclusively. * WebView.subproj/IFPreferences.mm: New file, registers defaults and implements cover methods. * WebView.subproj/IFPreferences.h: This file existed but wasn't being used (contents #ifdeffed out). Now it declares the cover methods, but still has an #ifdeffed section for possible future stuff. * WebKit.pbproj/project.pbxproj: Updated for new file. * WebView.subproj/IFWebDataSource.mm: (+[IFWebDataSource initialize]): removed defaults-registration from here. 2002-03-20 Maciej Stachowiak <mjs@apple.com> Merged the following changes from LABYRINTH_KDE_3_MERGE branch: 2002-03-20 Maciej Stachowiak <mjs@apple.com> Merged accumlated changes from HEAD, up to MERGED_TO_KDE_3_MERGE_BRANCH tag. 2002-03-19 Maciej Stachowiak <mjs@apple.com> * WebView.subproj/IFWebView.mm: (-[IFWebView layout]): layout() no longer takes an argument. 2002-03-20 John Sullivan <sullivan@apple.com> Added displayTitle field to IFURIEntry. This is intended to hold the string used in menu items, window titles, etc. Alexander uses this to cache the center-truncated title for pages with very long titles. * History.subproj/IFURIEntry.h: * History.subproj/IFURIEntry.m: (-[IFURIEntry setDisplayTitle:]), (-[IFURIEntry dictionaryRepresentation]), (-[IFURIEntry initFromDictionaryRepresentation:]): 2002-03-19 Richard Williamson <rjw@apple.com> Fixed IFWebView leak. * WebView.subproj/IFWebView.mm: (-[IFWebView provisionalDataSourceChanged:]): 2002-03-18 John Sullivan <sullivan@apple.com> Imposed age limit on history items saved to/loaded from disk. Sped up history loading by reversing list before processing entries. * History.subproj/IFWebHistoryPrivate.m: (+[IFWebHistoryPrivate initialize]): Register default for age limit. (-[IFWebHistoryPrivate _ageLimitDate]): New convenience method, returns a date older than any history entry that should be stored/loaded. (-[IFWebHistoryPrivate arrayRepresentation]): skip too-old dates. (-[IFWebHistoryPrivate _loadHistoryGuts:]), (-[IFWebHistoryPrivate _saveHistoryGuts:]): Broke into separate methods to make timing wrapper less messy. Respect age limit. Report number of items saved/loaded in timing message. (-[IFWebHistoryPrivate loadHistory]), (-[IFWebHistoryPrivate saveHistory]): use broken-out _guts methods. * WebKit.pbproj/project.pbxproj: version wars 2002-03-16 Richard Williamson <rjw@apple.com> Fixed scroll bar flash. Add provisional view to go along with provisional widget. * WebView.subproj/IFWebView.mm: (-[IFWebView provisionalDataSourceChanged:]), (-[IFWebView dataSourceChanged:]): 2002-03-16 Richard Williamson <rjw@apple.com> Fixed error handling. Fixed most frame loading problems. Cleaned up frame state machine. Moved IFMainURLHandleClient from WebCore. * Misc.subproj/IFError.m: (-[IFError description]): * WebKit.pbproj/project.pbxproj: * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController receivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController receivedError:forResource:partialProgress:fromDataSource:]), (-[IFBaseWebController locationChangeDone:forFrame:]): * WebView.subproj/IFBaseWebControllerPrivate.h: * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController _receivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController _receivedError:forResource:partialProgress:fromDataSource:]), (-[IFBaseWebController _mainReceivedError:forResource:partialProgress:fromDataSource:]): * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource startLoading:]), (-[IFWebDataSource isLoading]): * WebView.subproj/IFWebDataSourcePrivate.h: * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate init]), (-[IFWebDataSourcePrivate dealloc]), (-[IFWebDataSource _setPrimaryLoadComplete:]), (-[IFWebDataSource _startLoading:]), (-[IFWebDataSource _stopLoading]): * WebView.subproj/IFWebFrame.h: * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame setProvisionalDataSource:]), (-[IFWebFrame startLoading]), (-[IFWebFrame reload:]), (-[IFWebFrame errors]), (-[IFWebFrame mainDocumentError]): * WebView.subproj/IFWebFramePrivate.h: * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFramePrivate dealloc]), (-[IFWebFrame _transitionProvisionalToCommitted]), (-[IFWebFrame _setState:]), (-[IFWebFrame _addError:forResource:]), (-[IFWebFrame _isLoadComplete]), (+[IFWebFrame _recursiveCheckCompleteFromFrame:]), (-[IFWebFrame _checkLoadCompleteResource:error:isMainDocument:]), (-[IFWebFrame _setMainDocumentError:]), (-[IFWebFrame _clearErrors]): * WebView.subproj/IFWebView.mm: * WebView.subproj/IFMainURLHandleClient.h: added * WebView.subproj/IFMainURLHandleClient.mm: added 2002-03-15 John Sullivan <sullivan@apple.com> Impose default-based limit (1000 by default) on number of history items saved/loaded. Also instrumented timing for saving/loading history. * History.subproj/IFWebHistoryPrivate.m: (+[IFWebHistoryPrivate initialize]): register default for WebKitHistoryItemLimit. (-[IFWebHistoryPrivate arrayRepresentation]): respect limit (-[IFWebHistoryPrivate loadHistory]): respect limit, time the load. (-[IFWebHistoryPrivate saveHistory]): time the save. * WebKit.pbproj/project.pbxproj: version wars 2002-03-15 John Sullivan <sullivan@apple.com> Fixed bug where history entry images weren't showing up, except by historical accident in some cases. Made IFWebHistory no longer be a singleton class; made the file location be passed in at init time. * History.subproj/IFURIEntry.m: (-[IFURIEntry image]): Get the default image a way that works with frameworks; only get the default image once. * History.subproj/IFWebHistory.h: * History.subproj/IFWebHistory.m: (+[IFWebHistory webHistoryWithFile:]): New convenience constructor that returns a new IFWebHistory object with a particular disk file. (-[IFWebHistory initWithFile:]): New init method for specifying a disk file. (-[IFWebHistory file]): New accessor for file path. (-[IFWebHistory loadHistory]), (-[IFWebHistory saveHistory]): Use file accessor. Also removed the methods that were computing a file path to use. * History.subproj/IFWebHistoryPrivate.h: * History.subproj/IFWebHistoryPrivate.m: (-[IFWebHistoryPrivate initWithFile:]), (-[IFWebHistoryPrivate dealloc]), (-[IFWebHistoryPrivate file]), (-[IFWebHistoryPrivate loadHistory]), (-[IFWebHistoryPrivate saveHistory]): Guts of implementation for file-manipulation stuff. * Resources/url_icon.tiff: ran tiffUtil to premultiply the alpha channel. This was spewing error messages that I didn't notice before because they only happen on Puma and I was on Jaguar. * WebKit.pbproj/project.pbxproj: not sure what change I made, maybe version wars. 2002-03-14 John Sullivan <sullivan@apple.com> Made history store its data in ~/Library/Application Support/<app name>/History.plist * History.subproj/IFWebHistoryPrivate.m: (GetRefPath), (FindFolderPath): Functions copied from NSSavePanel.m for using FindFolder in a POSIX sort of way. Ken plans to put some version of this in IFNSFileManagerExtensions eventually, which I'll switch to later. (-[IFWebHistoryPrivate historyFilePath]): Construct the path using FindFolderPath and the file name. (-[IFWebHistoryPrivate loadHistory]), (-[IFWebHistoryPrivate saveHistory]): failure case debug messages are now more specific. 2002-03-13 Richard Williamson <rjw@apple.com> Added support to stop plugins in removeFromSuperview. * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _checkLoadComplete:]): * WebView.subproj/IFWebView.mm: (-[IFWebView dealloc]), (-[IFWebView removeFromSuperview]), (-[IFWebView removeFromSuperviewWithoutNeedingDisplay]): 2002-03-13 Richard Williamson <rjw@apple.com> Fixed open window w/ no open windows crasher. * ChangeLog: * WebView.subproj/IFBaseWebController.mm: (-[IFObjectHolder dealloc]): * WebView.subproj/IFWebView.mm: (-[IFWebView dealloc]), (-[IFWebView layout]): 2002-03-13 Richard Williamson <rjw@apple.com> * ChangeLog: * WebView.subproj/IFBaseWebController.mm: (-[IFObjectHolder dealloc]): * WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]), (-[IFWebView dealloc]), (-[IFWebView provisionalDataSourceChanged:]), (-[IFWebView dataSourceChanged:]), (-[IFWebView layout]), (-[IFWebView isOpaque]), (-[IFWebView setNeedsDisplay:]), (-[IFWebView setNeedsLayout:]), (-[IFWebView drawRect:]), (-[IFWebView setFrame:]), (-[IFWebView windowResized:]), (-[IFWebView mouseDragged:]): 2002-03-12 Richard Williamson <rjw@apple.com> * WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]), (-[IFWebView provisionalDataSourceChanged:]), (-[IFWebView dataSourceChanged:]), (-[IFWebView layout]), (-[IFWebView isOpaque]), (-[IFWebView setNeedsDisplay:]), (-[IFWebView setNeedsLayout:]), (-[IFWebView drawRect:]), (-[IFWebView setFrame:]), (-[IFWebView windowResized:]), (-[IFWebView mouseDragged:]): 2002-03-12 John Sullivan <sullivan@apple.com> Added support for persistent history. Following in the grand footsteps of Ken, it currently stores data in /tmp/alexander.history * Resources/url_icon.tiff: default IFURIEntry image, moved here from WebBrowser. * WebKit.pbproj/project.pbxproj: Updated to add image file. * History.subproj/IFURIEntry.m: (-[IFURIEntry image]): If there's no explicit image, return the default one. (-[IFURIEntry dictionaryRepresentation]): return a representation suitable for saving to an xml file. (-[IFURIEntry initFromDictionaryRepresentation:]): init given the representation returned from dictionaryRepresentation. * History.subproj/IFWebHistory.h: * History.subproj/IFWebHistory.m: (-[IFWebHistory saveHistory]): Added saveHistory call. * History.subproj/IFWebHistoryPrivate.h: added saveHistory call. * History.subproj/IFWebHistoryPrivate.m: (-[IFWebHistoryPrivate arrayRepresentation]): return a representation suitable for saving to an xml file. (-[IFWebHistoryPrivate historyFilePath]): return location of history on disk. (-[IFWebHistoryPrivate loadHistory]): read history from disk. (-[IFWebHistoryPrivate saveHistory]): write history to disk. (-[IFWebHistoryPrivate init]): call loadHistory (-[IFWebHistoryPrivate removeEntryForURLString:]): changed NSLog to WEBKITDEBUG 2002-03-11 Richard Williamson <rjw@apple.com> Fixed call back ordering problems when an error occurs. More twiddling with scroll bars. * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController createFrameNamed:for:inParent:]): * WebView.subproj/IFDynamicScrollBarsView.h: * WebView.subproj/IFDynamicScrollBarsView.m: (-[IFDynamicScrollBarsView reflectScrolledClipView:]): * WebView.subproj/IFWebFrame.h: * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame startLoading]), (-[IFWebFrame reload:]), (-[IFWebFrame reset]), (-[IFWebFrame lastError]): * WebView.subproj/IFWebFramePrivate.h: * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFramePrivate dealloc]), (-[IFWebFrame _checkLoadComplete:]), (-[IFWebFrame _setLastError:]): 2002-03-08 Richard Williamson <rjw@apple.com> Fixed scroll bar recursion problems. Took a long time to find a stupid typo bug in [IFBaseWebController _frameForDataSource:fromFrame:] that overwrote an input parameter that should been a local variable. This caused a crash the second time a page that contained an iframe was loaded. * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController createFrameNamed:for:inParent:]), (-[IFBaseWebController _frameForDataSource:fromFrame:]): * WebView.subproj/IFDynamicScrollBarsView.m: (-[IFDynamicScrollBarsView reflectScrolledClipView:]): * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _checkLoadComplete:]): * WebView.subproj/IFWebView.mm: (-[IFWebView layout]): * WebView.subproj/IFWebViewPrivate.h: * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView _setFrameScrollView:]), (-[IFWebView _frameScrollView]), (-[IFWebView _setupScrollers]): 2002-03-07 John Sullivan <sullivan@apple.com> * Misc.subproj/IFError.m: (-[IFError errorDescription]): Removed a line of debugging spam. Oops! 2002-03-07 Richard Williamson <rjw@apple.com> Fixed occasional scroll bar problem in iframes. Fixed occasional problem removing scroll bar on main page. * WebView.subproj/IFDynamicScrollBarsView.m: (-[IFDynamicScrollBarsView reflectScrolledClipView:]): * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _checkLoadComplete:]): * WebView.subproj/IFWebView.mm: (-[IFWebView drawRect:]): 2002-03-07 John Sullivan <sullivan@apple.com> First pass at adding error strings to IFError. They are properly localized, but they don't include any parameters, and the strings haven't been made user-friendly. * Misc.subproj/IFError.m: (+[IFError initialize]): New method, set up a dictionary mapping error code to localized error string. (-[IFError errorDescription]): Read string from dictionary. * English.lproj/IFError.strings: New file, auto-generated by the genstrings tool. * WebKit.pbproj/project.pbxproj: Removed stray -F /symroots. This shouldn't have been in there since symroots location is no longer hardwired. 2002-03-07 John Sullivan <sullivan@apple.com> Defined more symbolic debug-level constants; specified ranges for use by different software levels (core/kit/client==browser) to enable easier isolation of debug messages. * Misc.subproj/WebKitDebug.h: #defined new debug levels for existing uses; renamed a couple. * Misc.subproj/WebKitDebug.m: (WebKitLog), (WebKitDebug): Updated for renamed debug levels. * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController receivedProgress:forResource:fromDataSource:]): * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _stopLoading]): * WebView.subproj/IFWebView.mm: (-[IFWebView layout]), (-[IFWebView setNeedsDisplay:]), (-[IFWebView setNeedsLayout:]), (-[IFWebView drawRect:]), (-[IFWebView mouseDragged:]): * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView _resetView]): Changed numeric debug levels to symbolic ones. * WebKit.pbproj/project.pbxproj: Jaguar/Puma version war. 2002-03-06 Richard Williamson <rjw@apple.com> Lots of little changes to improve drawing, and dynamic scroll bar layout. We now have NO flash between pages, however, I still need to add a transition timeout. As currently implemented the page will not transition until the document is read. * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController locationChangeDone:forFrame:]): * WebView.subproj/IFDynamicScrollBarsView.m: (-[IFDynamicScrollBarsView reflectScrolledClipView:]): * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _transitionProvisionalToCommitted]), (-[IFWebFrame _checkLoadComplete:]): * WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]), (-[IFWebView dataSourceChanged:]), (-[IFWebView layout]), (-[IFWebView isOpaque]), (-[IFWebView setNeedsDisplay:]), (-[IFWebView setNeedsLayout:]), (-[IFWebView drawRect:]), (-[IFWebView setFrame:]): * WebView.subproj/IFWebViewPrivate.h: * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView _stopPlugins]), (-[IFWebView _removeSubviews]): 2002-03-06 John Sullivan <sullivan@apple.com> * Misc.subproj/IFError.h: Removed stray but evil import. 2002-03-06 Maciej Stachowiak <mjs@apple.com> * WebKit.pbproj/project.pbxproj: Turn on -Werror. 2002-03-05 Richard Williamson <rjw@apple.com> Streamlined layout and drawing. We now do the minimum amount of drawing and layout. * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _checkLoadComplete:]): * WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]), (-[IFWebView layout]), (-[IFWebView setNeedsDisplay:]), (-[IFWebView setNeedsLayout:]), (-[IFWebView drawRect:]), (-[IFWebView setFrame:]), (-[IFWebView windowResized:]): 2002-03-05 John Sullivan <sullivan@apple.com> * WebView.subproj/IFWebDataSource.mm: (+[IFWebDataSource initialize]): Tweak default font sizes so they match what algorithm used in Alexander returns. 2002-03-05 Richard Williamson <rjw@apple.com> Pass errors correctly to browser. Removed old notification code. Added support for IFError. Lots of little cleanups. Improved IFWebFrame state handling. * Misc.subproj/IFError.h: * Misc.subproj/IFError.m: (IFErrorMake), (+[IFError load]), (-[IFError initWithErrorCode:]), (-[IFError errorCode]), (-[IFError errorDescription]): * WebKit.pbproj/project.pbxproj: * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController receivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController receivedError:forResource:partialProgress:fromDataSource:]): * WebView.subproj/IFBaseWebControllerPrivate.h: * WebView.subproj/IFBaseWebControllerPrivate.mm: * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource isLoading]): * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _startLoading:initiatedByUserEvent:]): * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame initWithName:view:provisionalDataSource:controller:]), (-[IFWebFrame setProvisionalDataSource:]): * WebView.subproj/IFWebFramePrivate.h: * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _transitionProvisionalToCommitted]), (-[IFWebFrame _state]), (-[IFWebFrame _setState:]), (-[IFWebFrame _checkLoadComplete:]): 2002-03-05 John Sullivan <sullivan@apple.com> * WebView.subproj/IFWebDataSource.mm: (+[IFWebDataSource initialize]): Changed default font sizes to match scheme used in Alexander. There are some serious wackinesses with KDE engine font size handling; if and when we address those we might revisit these default sizes. 2002-03-05 Maciej Stachowiak <mjs@apple.com> Removed references to IFAuthenticationHandler, since that protocol now lives in WebFoundation and it's no longer quite appropriate to include as part of a controller. * WebView.subproj/IFBaseWebController.mm: * WebView.subproj/IFWebController.h: 2002-03-04 Richard Williamson <rjw@apple.com> Changes to support 'provisional' data sources. API changes to IFBaseWebController, removed redundant methods. * Misc.subproj/WebKitDebug.h: * Plugins.subproj/IFPluginView.mm: (-[IFPluginView getURLNotify:target:notifyData:]): * WebView.subproj/IFBaseWebController.h: * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController init]), (-[IFBaseWebController initWithView:provisionalDataSource:]), (-[IFBaseWebController createFrameNamed:for:inParent:]), (-[IFBaseWebController receivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController receivedError:forResource:partialProgress:fromDataSource:]), (-[IFBaseWebController locationChangeCommittedForFrame:]), (-[IFBaseWebController _frameForDataSource:fromFrame:]), (-[IFBaseWebController mainFrame]): * WebView.subproj/IFBaseWebControllerPrivate.h: * WebView.subproj/IFBaseWebControllerPrivate.mm: * WebView.subproj/IFWebController.h: * WebView.subproj/IFWebDataSource.mm: (IFWebDataSourceMake), (+[IFWebDataSource load]): * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _startLoading:initiatedByUserEvent:]): * WebView.subproj/IFWebFrame.h: * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame init]), (-[IFWebFrame initWithName:view:provisionalDataSource:controller:]), (-[IFWebFrame setProvisionalDataSource:]), (-[IFWebFrame startLoading]), (-[IFWebFrame stopLoading]), (-[IFWebFrame reload:]): * WebView.subproj/IFWebFramePrivate.h: * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _setDataSource:]), (-[IFWebFrame _transitionProvisionalToCommitted]): * WebView.subproj/IFWebView.h: * WebView.subproj/IFWebView.mm: (-[IFWebView provisionalDataSourceChanged:]), (-[IFWebView dataSourceChanged:]): * WebView.subproj/IFWebViewPrivate.h: * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView _provisionalWidget]): 2002-03-04 John Sullivan <sullivan@apple.com> Changed default fonts. * WebView.subproj/IFWebDataSource.mm: (+[IFWebDataSource initialize]): Changed default fonts to ones that actually exist (this was listing "Times-Roman" where it meant either "Times" or "Times New Roman"). I'm about to check in working font preferences, so it won't matter too much if you don't like the defaults (although we should of course make sure that the defaults are sensible, which I think they are). 2002-03-04 John Sullivan <sullivan@apple.com> * WebView.subproj/IFWebDataSource.mm: (+[IFWebDataSource initialize]): Reverted default fonts to what they were before I accidentally checked in some debugging changes. 2002-03-01 Richard Williamson <rjw@apple.com> Fixed a potentially large leak in frames. View associated w/ frame was not being released. Added scaffolding for correct frame by frame load complete check. Moved private IFWebBaseController method implementations to IFWebBaseControllerPrivate.mm. * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController createFrameNamed:for:inParent:]), (-[IFBaseWebController receivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController receivedError:forResource:partialProgress:fromDataSource:]): * WebView.subproj/IFBaseWebControllerPrivate.h: * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebControllerPrivate dealloc]), (-[IFBaseWebController _changeLocationTo:forFrame:parent:]), (-[IFBaseWebController _changeFrame:dataSource:]), (-[IFBaseWebController _checkLoadCompleteForDataSource:]): * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate init]): * WebView.subproj/IFWebView.mm: (-[IFWebView dataSourceChanged:]): 2002-02-27 Kenneth Kocienda <kocienda@apple.com> I have changed the way that WebCore is glued to WebFoundation and WebKit. If you used or relied upon any code in the following files, you should now use the IF* equivalents straight up. - Labyrinth/WebCore/include/WCBackForwardList.h - Labyrinth/WebCore/include/WCURICache.h - Labyrinth/WebCore/include/WCURICacheData.h - Labyrinth/WebCore/include/WCURIEntry.h - Labyrinth/WebCore/include/WCURIEntry.h All changes in this commit are related to making dependant code work with the new convention. * History.subproj/IFURIEntry.h: * History.subproj/IFURIEntry.m: * Plugins.subproj/IFPluginView.mm: (-[IFPluginView newStream:mimeType:notifyData:]), (-[IFPluginView IFURLHandle:resourceDataDidBecomeAvailable:]), (-[IFPluginView IFURLHandleResourceDidFinishLoading:data:]), (-[IFPluginView IFURLHandleResourceDidBeginLoading:]), (-[IFPluginView IFURLHandleResourceDidCancelLoading:]), (-[IFPluginView IFURLHandle:resourceDidFailLoadingWithResult:]): * WebKit.pbproj/kocienda.pbxuser: * WebKit.pbproj/project.pbxproj: 2002-02-26 John Sullivan <sullivan@apple.com> * History.subproj/IFURIEntry.m: (-[IFURIEntry dealloc]): Added missing dealloc method that 'leaks' found. * History.subproj/IFURIList.m: (-[IFURIList dealloc]): Added missing [super dealloc] call that 'leaks' found. 2002-02-22 Maciej Stachowiak <mjs@apple.com> Fix prebinding: * WebKit.pbproj/project.pbxproj: Set first segment address 0x4000000 to avoid colliding with apps or our other frameworks. Set up some hacks to avoid link-time dependency on WebKit. Prebinding is incompatible with - undefined suppress, so we can't have WebCore depend on symbols provided by WebKit any more: * Plugins.subproj/IFPluginView.mm: (IFPluginMake), (+[IFPluginView load]), (startupVolumeName): * WebView.subproj/IFBaseWebController.mm: (IFLoadProgressMake), (+[IFLoadProgress load]): 2002-02-22 John Sullivan <sullivan@apple.com> Updated for modified NSCalendarDate extensions API. * History.subproj/IFWebHistoryPrivate.m: (-[IFWebHistoryPrivate findIndex:forDay:]): use compareDate: instead of daysSinceDate:, which no longer exists. 2002-02-22 Richard Williamson <rjw@apple.com> Added data: to IFURLHandleResourceDidFinishLoading: * WebView.subproj/IFWebDataSource.h: * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource isLoading]): 2002-02-22 Richard Williamson <rjw@apple.com> Implemented missing getter for provisionalDataSource. * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame provisionalDataSource]): * WebView.subproj/IFWebFramePrivate.h: 2002-02-22 Richard Williamson <rjw@apple.com> Normalized code paths for setMainDataSource on controller and setDataSource on frame. * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController setMainView:andMainDataSource:]), (-[IFBaseWebController createFrameNamed:for:inParent:]), (-[IFBaseWebController _changeFrame:dataSource:]): * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _setController:]): * WebView.subproj/IFWebFrame.h: * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame init]), (-[IFWebFrame initWithName:view:dataSource:controller:]), (-[IFWebFrame setView:]), (-[IFWebFrame controller]), (-[IFWebFrame setController:]), (-[IFWebFrame setDataSource:]), (-[IFWebFrame reset]): * WebView.subproj/IFWebFramePrivate.h: * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFramePrivate setController:]), (-[IFWebFrame _setRenderFramePart:]), (-[IFWebFrame _renderFramePart]), (-[IFWebFrame _setDataSource:]): 2002-02-21 Richard Williamson <rjw@apple.com> Stop mostly working. * WebView.subproj/IFBaseWebController.h: * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController _frameForDataSource:fromFrame:]), (-[IFBaseWebController frameForDataSource:]): * WebView.subproj/IFWebController.h: * WebView.subproj/IFWebDataSource.h: * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource frame]), (-[IFWebDataSource frameName]), (-[IFWebDataSource stopLoading]): * WebView.subproj/IFWebDataSourcePrivate.h: * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]), (-[IFWebDataSource _addURLHandle:]), (-[IFWebDataSource _removeURLHandle:]), (-[IFWebDataSource _stopLoading]), (-[IFWebDataSource _recursiveStopLoadingfromDataSource:]): * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame setDataSource:]): 2002-02-20 Richard Williamson <rjw@apple.com> Some groundwork to bring WebFoundation callbacks up to WebKit. * WebView.subproj/IFBaseWebController.mm: (-[IFLoadProgress init]), (-[IFBaseWebController receivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController receivedError:forResource:partialProgress:fromDataSource:]), (-[IFBaseWebController _changeFrame:dataSource:]): * WebView.subproj/IFWebController.h: * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource stopLoading]): * WebView.subproj/IFWebFrame.h: * WebView.subproj/IFWebFramePrivate.h: * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFramePrivate setProvisionalDataSource:]): 2002-02-20 Maciej Stachowiak <mjs@apple.com> * WebView.subproj/IFWebController.h: Fix my WebController screw-up. 2002-02-19 John Sullivan <sullivan@apple.com> Finished first cut at IFWebHistory implementation. All methods are implemented except the string-matching ones. * History.subproj/IFURIEntry.h: * History.subproj/IFURIEntry.m: (-[IFURIEntry initWithURL:title:image:comment:]), (-[IFURIEntry lastVisitedDate]), (-[IFURIEntry setModificationDate:]), (-[IFURIEntry setLastVisitedDate:]): Changed all NSDates to be NSCalendarDates. * History.subproj/IFWebHistory.h: * History.subproj/IFWebHistory.m: (-[IFWebHistory init]), (-[IFWebHistory dealloc]), (-[IFWebHistory sendEntriesChangedNotification]), (-[IFWebHistory addEntry:]), (-[IFWebHistory removeEntry:]), (-[IFWebHistory removeEntriesForDay:]), (-[IFWebHistory removeAllEntries]), (-[IFWebHistory orderedLastVisitedDays]), (-[IFWebHistory orderedEntriesLastVisitedOnDay:]), (-[IFWebHistory entriesWithAddressContainingString:]), (-[IFWebHistory entriesWithTitleOrAddressContainingString:]), (-[IFWebHistory containsURL:]): Implemented all IFWebHistory methods by calling through to IFWebHistoryPrivate object. Send a change notification each time the actual data changes. Removed all canned-data mechanisms. * History.subproj/IFWebHistoryPrivate.h: * History.subproj/IFWebHistoryPrivate.m: (-[IFWebHistoryPrivate init]), (-[IFWebHistoryPrivate dealloc]), (-[IFWebHistoryPrivate findIndex:forDay:]), (-[IFWebHistoryPrivate insertEntry:atDateIndex:]), (-[IFWebHistoryPrivate removeEntryForURLString:]), (-[IFWebHistoryPrivate addEntry:]), (-[IFWebHistoryPrivate removeEntry:]), (-[IFWebHistoryPrivate removeEntriesForDay:]), (-[IFWebHistoryPrivate removeAllEntries]), (-[IFWebHistoryPrivate orderedLastVisitedDays]), (-[IFWebHistoryPrivate orderedEntriesLastVisitedOnDay:]), (-[IFWebHistoryPrivate entriesWithAddressContainingString:]), (-[IFWebHistoryPrivate entriesWithTitleOrAddressContainingString:]), (-[IFWebHistoryPrivate containsURL:]): Implemented guts of history mechanism using a dictionary for URL lookup and a sorted array of dates with entries and a sorted array of sorted arrays of entries per date. * WebKit.pbproj/project.pbxproj: Updated for new files 2002-02-18 John Sullivan <sullivan@apple.com> First piece of implementing IFWebHistory. None of the mutators do anything, and the accessors return canned data. But at least all the temporary hackery is hiding behind legitimate API. * History.subproj/IFWebHistory.h: * History.subproj/IFWebHistory.m: (+[IFWebHistory sharedWebHistory]): Implemented sensibly. (-[IFWebHistory createTestEntryWithURLString:title:date:]), (-[IFWebHistory testDataDates]), (-[IFWebHistory testData]), Private temporary hackery to return fake data. (-[IFWebHistory orderedLastVisitedDays]), (-[IFWebHistory orderedEntriesLastVisitedOnDay:]): Implemented using temporary hackery. (-[IFWebHistory addEntry:]), (-[IFWebHistory removeEntry:]), (-[IFWebHistory removeAllEntries]): Unimplemented mutator methods. (-[IFWebHistory entriesWithAddressContainingString:]), (-[IFWebHistory entriesWithTitleOrAddressContainingString:]), (-[IFWebHistory containsURL:]): Methods that we'll need eventually, currently unimplemented. We may flesh out the API a little more before we actually implement any of these. (-[NSCalendarDate daysSinceDate:]): Convenience method in category; will probably move to another file soon. * WebKit.pbproj/project.pbxproj: Updated for new files 2002-02-18 Kenneth Kocienda <kocienda@apple.com> Fixed breakge that came up when project file merged. * WebKit.pbproj/project.pbxproj: 2002-02-18 Kenneth Kocienda <kocienda@apple.com> Changes to support building standalone Alexander with Frameworks and libraries contained inside the app package. * Makefile.am: * WebKit.pbproj/kocienda.pbxuser: * WebKit.pbproj/project.pbxproj: 2002-02-18 Richard Williamson <rjw@apple.com> Performance measurement. * WebView.subproj/IFWebView.mm: (-[IFWebView layout]), (-[IFWebView drawRect:]): 2002-02-16 Richard Williamson <rjw@apple.com> * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource controller]): 2002-02-16 Richard Williamson <rjw@apple.com> Reminders to change frame<->datasource ownership cycle. * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource setFrame:]), (-[IFWebDataSource frame]): 2002-02-13 Richard Williamson <rjw@apple.com> Fixed cleanup. Should revisit ownership graph. Cycles may be avoidable. * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebControllerPrivate dealloc]): * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource setFrame:]): * WebView.subproj/IFWebFrame.m: (-[IFWebFrame reset]): * WebView.subproj/IFWebViewPrivate.h: * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView _resetWidget]): 2002-02-12 Richard Williamson <rjw@apple.com> Made basic forms work. * WebView.subproj/IFBaseWebController.mm: * WebView.subproj/IFWebController.h: * WebView.subproj/IFWebDataSource.mm: (+[IFWebDataSource initialize]), (-[IFWebDataSource startLoading:]): * WebView.subproj/IFWebDataSourcePrivate.h: * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _startLoading:initiatedByUserEvent:]): 2002-02-11 John Sullivan <sullivan@apple.com> Fixed bug where clicking on empty browser page would crash. This could happen when the start page was empty, or failed to load. * WebView.subproj/IFWebView.mm: (-[IFWebView mouseUp:]), (-[IFWebView mouseDown:]): Checked for nil widget before dispatching mouse events. 2002-02-08 John Sullivan <sullivan@apple.com> Changed back & forward to goBack and goForward and made them not return a value (so signatures match those in WebBrowser). Added backEntry and forwardEntry that don't alter the list. These will be needed to ask to go to the URL at the back position without altering the back list until the change is committed. * History.subproj/IFBackForwardList.h: * History.subproj/IFBackForwardList.m: (-[IFBackForwardList goBack]), (-[IFBackForwardList backEntry]), (-[IFBackForwardList currentEntry]), (-[IFBackForwardList forwardEntry]), (-[IFBackForwardList goForward]): 2002-02-07 Richard Williamson <rjw@apple.com> More changes to IFLocationChangeHandler API. * WebView.subproj/IFBaseWebController.mm: * WebView.subproj/IFWebController.h: * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource startLoading:]): * WebView.subproj/IFWebDataSourcePrivate.h: * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _startLoading:initiatedByMouseEvent:]): * WebView.subproj/IFWebFramePrivate.h: 2002-02-07 Richard Williamson <rjw@apple.com> Update IFLocationChangeHandler API. Added factored code for URL loading. * ChangeLog: * WebView.subproj/IFBaseWebController.h: * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController setMainView:andMainDataSource:]), (-[IFBaseWebController _changeLocationTo:forFrame:parent:]), (-[IFBaseWebController _changeFrame:dataSource:]), (-[IFBaseWebController locationChangeCommittedForFrame:]): * WebView.subproj/IFBaseWebControllerPrivate.h: * WebView.subproj/IFWebController.h: * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource startLoading:]): * WebView.subproj/IFWebFrame.h: * WebView.subproj/IFWebFrame.m: (-[IFWebFrame reset]): 2002-02-06 Richard Williamson <rjw@apple.com> Fixed allocation problems. Implemented parent->child management for datasource correctly. * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController changeLocationTo:forFrame:]): * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource addFrame:]): * WebView.subproj/IFWebDataSourcePrivate.h: * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _setController:]), (-[IFWebDataSource _part]), (-[IFWebDataSource _setParent:]): * WebView.subproj/IFWebFrame.h: * WebView.subproj/IFWebFrame.m: (-[IFWebFrame _setRenderFramePart:]), (-[IFWebFrame _renderFramePart]): * WebView.subproj/IFWebView.mm: (-[IFWebView dataSourceChanged:]): 2002-02-05 Richard Williamson <rjw@apple.com> Updated controller API to reflect frames. * WebView.subproj/IFBaseWebController.h: * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController initWithView:dataSource:]), (-[IFBaseWebController setMainView:andMainDataSource:]), (-[IFBaseWebController createFrameNamed:for:inParent:]), (-[IFBaseWebController mainFrame]), (-[IFBaseWebController mainView]), (-[IFBaseWebController mainDataSource]), (-[IFBaseWebController changeLocationTo:forFrame:]), (-[IFBaseWebController locationChangeStartedForFrame:]), (-[IFBaseWebController locationChangeInProgressForFrame:]), (-[IFBaseWebController locationChangeDone:forFrame:]): * WebView.subproj/IFBaseWebControllerPrivate.h: * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebControllerPrivate init]), (-[IFBaseWebControllerPrivate dealloc]): * WebView.subproj/IFWebController.h: * WebView.subproj/IFWebDataSource.h: * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource initWithURL:]), (-[IFWebDataSource setFrame:]), (-[IFWebDataSource frame]), (-[IFWebDataSource frameName]): * WebView.subproj/IFWebDataSourcePrivate.h: * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]), (-[IFWebDataSource _part]): * WebView.subproj/IFWebFrame.h: * WebView.subproj/IFWebFrame.m: (-[IFWebFrame dealloc]), (-[IFWebFrame dataSource]), (-[IFWebFrame setDataSource:]): * WebView.subproj/IFWebView.h: * WebView.subproj/IFWebView.mm: (-[IFWebView dataSourceChanged:]): 2002-02-05 Maciej Stachowiak <mjs@apple.com> Remove old obsolete cache code from tree and build. * Cache.subproj/NSURICache.h: * Cache.subproj/NSURICache.m: * Cache.subproj/NSURICacheData.h: * Cache.subproj/NSURICacheData.m: * Cache.subproj/NSURILoad.h: * Cache.subproj/NSURILoad.m: * Cache.subproj/NSURILoadReallyPrivate.h: * Cache.subproj/_NSURICacheQueue.h: * Cache.subproj/_NSURICacheQueue.m: * Misc.subproj/WebKitReallyPrivate.h: * Misc.subproj/_NSMonitor.h: * Misc.subproj/_NSMonitor.m: * WebKit.pbproj/project.pbxproj: 2002-02-05 Richard Williamson <rjw@apple.com> Changes to support dynamic scroll bars in frames/iframes. * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController createFrameNamed:for:inParent:]): * WebView.subproj/IFWebView.mm: (-[IFWebView dataSourceChanged]): * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView _setFrameScrollView:]): 2002-02-04 Maciej Stachowiak <mjs@apple.com> Rename all classes from WK prefix to IF prefix. * Cache.subproj/IFLoadChunk.h: * Cache.subproj/IFWebCache.h: * Cache.subproj/IFWebCacheClient.h: * Cache.subproj/IFWebContentType.h: * History.subproj/IFAttributedURL.h: * History.subproj/IFBackForwardList.h: * History.subproj/IFBackForwardList.m: (-[IFBackForwardList init]), (-[IFBackForwardList addEntry:]), (-[IFBackForwardList back]), (-[IFBackForwardList currentEntry]), (-[IFBackForwardList forward]), (-[IFBackForwardList description]): * History.subproj/IFURIEntry.h: * History.subproj/IFURIEntry.m: (WCCreateURIEntry), (-[IFURIEntry isEqual:]), (-[IFURIEntry description]): * History.subproj/IFURIList.h: * History.subproj/IFURIList.m: (newURIListNode), (freeNode), (-[IFURIList dealloc]), (-[IFURIList addEntry:]), (-[IFURIList removeURL:]), (-[IFURIList removeEntry:]), (-[IFURIList entryForURL:]), (-[IFURIList entryAtIndex:]), (-[IFURIList removeEntryAtIndex:]), (-[IFURIList removeEntriesToIndex:]): * Misc.subproj/IFException.h: * Misc.subproj/IFException.m: * WebKit.pbproj/project.pbxproj: * WebView.subproj/IFBaseWebController.h: * WebView.subproj/IFBaseWebController.mm: (+[IFObjectHolder holderWithObject:]), (-[IFBaseWebController init]), (-[IFBaseWebController initWithView:dataSource:]), (-[IFBaseWebController setDirectsAllLinksToSystemBrowser:]), (-[IFBaseWebController directsAllLinksToSystemBrowser]), (-[IFBaseWebController setView:andDataSource:]), (-[IFBaseWebController createFrameNamed:for:inParent:]), (-[IFBaseWebController viewForDataSource:]), (-[IFBaseWebController dataSourceForView:]), (-[IFBaseWebController mainView]), (-[IFBaseWebController mainDataSource]), (-[IFBaseWebController setStatusText:forDataSource:]), (-[IFBaseWebController statusTextForDataSource:]), (-[IFBaseWebController authenticate:]), (-[IFBaseWebController receivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController receivedError:forResource:partialProgress:fromDataSource:]), (-[IFBaseWebController locationWillChangeTo:]), (-[IFBaseWebController locationChangeStartedForDataSource:]), (-[IFBaseWebController locationChangeInProgressForDataSource:]), (-[IFBaseWebController locationChangeDone:forDataSource:]), (-[IFBaseWebController receivedPageTitle:forDataSource:]), (-[IFBaseWebController serverRedirectTo:forDataSource:]): * WebView.subproj/IFBaseWebControllerPrivate.h: * WebView.subproj/IFBaseWebControllerPrivate.mm: * WebView.subproj/IFDynamicScrollBarsView.h: * WebView.subproj/IFDynamicScrollBarsView.m: * WebView.subproj/IFGrabBag.h: * WebView.subproj/IFPreferences.h: * WebView.subproj/IFWebController.h: * WebView.subproj/IFWebDataSource.h: * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource _commonInitialization]), (-[IFWebDataSource initWithURL:]), (-[IFWebDataSource frameName]), (-[IFWebDataSource isMainDocument]), (-[IFWebDataSource parent]), (-[IFWebDataSource children]), (-[IFWebDataSource addFrame:]), (-[IFWebDataSource frameNamed:]), (-[IFWebDataSource frameNames]), (-[IFWebDataSource findDataSourceForFrameNamed:]), (-[IFWebDataSource frameExists:]), (-[IFWebDataSource openURL:inFrameNamed:]), (-[IFWebDataSource openURL:inIFrame:]), (-[IFWebDataSource controller]), (-[IFWebDataSource inputURL]), (-[IFWebDataSource finalURL]), (-[IFWebDataSource wasRedirected]), (-[IFWebDataSource stopLoading]), (-[IFWebDataSource isLoading]), (-[IFWebDataSource base]), (-[IFWebDataSource baseTarget]), (-[IFWebDataSource encoding]), (-[IFWebDataSource setUserStyleSheetFromURL:]), (-[IFWebDataSource setUserStyleSheetFromString:]), (-[IFWebDataSource icon]), (-[IFWebDataSource isPageSecure]), (-[IFWebDataSource pageTitle]): * WebView.subproj/IFWebDataSourcePrivate.h: * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]), (-[IFWebDataSource _setController:]), (-[IFWebDataSource _part]), (-[IFWebDataSource _setFrameName:]): * WebView.subproj/IFWebFrame.h: * WebView.subproj/IFWebFrame.m: (-[IFWebFrame initWithName:view:dataSource:]), (-[IFWebFrame dataSource]): * WebView.subproj/IFWebView.h: * WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]), (-[IFWebView controller]), (-[IFWebView dataSourceChanged]), (-[IFWebView layout]), (-[IFWebView stopAnimations]), (-[IFWebView setFontSizes:]), (-[IFWebView fontSizes]), (-[IFWebView resetFontSizes]), (-[IFWebView setStandardFont:]), (-[IFWebView standardFont]), (-[IFWebView setFixedFont:]), (-[IFWebView fixedFont]), (-[IFWebView setCanDragFrom:]), (-[IFWebView setCanDragTo:]), (-[IFWebView defaultContextMenuItemsForNode:]), (-[IFWebView setContextMenusEnabled:]), (-[IFWebView deselectText]), (-[IFWebView searchFor:direction:caseSensitive:]), (-[IFWebView selectedText]), (-[IFWebView setNeedsLayout:]), (-[IFWebView drawRect:]), (-[IFWebView setIsFlipped:]), (-[IFWebView isFlipped]), (-[IFWebView mouseUp:]), (-[IFWebView mouseDown:]): * WebView.subproj/IFWebViewPrivate.h: * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebViewPrivate dealloc]), (-[IFWebView _setController:]), (-[IFWebView _widget]), (-[IFWebView _setFrameScrollView:]), (-[IFWebView _frameScrollView]): 2002-02-04 Maciej Stachowiak <mjs@apple.com> Rename all WK files to IF (classes not renamed yet). * Cache.subproj/IFLoadChunk.h: * Cache.subproj/IFWebCache.h: * Cache.subproj/IFWebCacheClient.h: * Cache.subproj/IFWebContentType.h: * Cache.subproj/WKLoadChunk.h: * Cache.subproj/WKWebCache.h: * Cache.subproj/WKWebCacheClient.h: * Cache.subproj/WKWebContentType.h: * History.subproj/IFAttributedURL.h: * History.subproj/IFBackForwardList.h: * History.subproj/IFBackForwardList.m: * History.subproj/IFURIEntry.h: * History.subproj/IFURIEntry.m: * History.subproj/IFURIList.h: * History.subproj/IFURIList.m: * History.subproj/WKAttributedURL.h: * History.subproj/WKBackForwardList.h: * History.subproj/WKBackForwardList.m: * History.subproj/WKURIEntry.h: * History.subproj/WKURIEntry.m: * History.subproj/WKURIList.h: * History.subproj/WKURIList.m: * Misc.subproj/WKException.h: * Misc.subproj/WKException.m: * WebKit.pbproj/project.pbxproj: * WebView.subproj/IFBaseWebController.h: * WebView.subproj/IFBaseWebController.mm: * WebView.subproj/IFBaseWebControllerPrivate.h: * WebView.subproj/IFBaseWebControllerPrivate.mm: * WebView.subproj/IFDefaultWebController.h: * WebView.subproj/IFDefaultWebController.mm: * WebView.subproj/IFDefaultWebControllerPrivate.h: * WebView.subproj/IFDefaultWebControllerPrivate.mm: * WebView.subproj/IFDynamicScrollBarsView.m: * WebView.subproj/IFGrabBag.h: * WebView.subproj/IFPreferences.h: * WebView.subproj/IFWebController.h: * WebView.subproj/IFWebDataSource.h: * WebView.subproj/IFWebDataSource.mm: * WebView.subproj/IFWebDataSourcePrivate.h: * WebView.subproj/IFWebDataSourcePrivate.mm: * WebView.subproj/IFWebFrame.h: * WebView.subproj/IFWebFrame.m: * WebView.subproj/IFWebView.h: * WebView.subproj/IFWebView.mm: * WebView.subproj/IFWebViewPrivate.h: * WebView.subproj/IFWebViewPrivate.mm: * WebView.subproj/WKDefaultWebController.h: * WebView.subproj/WKDefaultWebController.mm: * WebView.subproj/WKDefaultWebControllerPrivate.h: * WebView.subproj/WKDefaultWebControllerPrivate.mm: * WebView.subproj/WKDynamicScrollBarsView.h: * WebView.subproj/WKDynamicScrollBarsView.m: * WebView.subproj/WKGrabBag.h: * WebView.subproj/WKPreferences.h: * WebView.subproj/WKWebController.h: * WebView.subproj/WKWebDataSource.h: * WebView.subproj/WKWebDataSource.mm: * WebView.subproj/WKWebDataSourcePrivate.h: * WebView.subproj/WKWebDataSourcePrivate.mm: * WebView.subproj/WKWebFrame.h: * WebView.subproj/WKWebFrame.m: * WebView.subproj/WKWebView.h: * WebView.subproj/WKWebView.mm: * WebView.subproj/WKWebViewPrivate.h: * WebView.subproj/WKWebViewPrivate.mm: 2002-02-01 Richard Williamson <rjw@apple.com> Changes for dynamic scrolling frames. Added notification of complete load. * WebView.subproj/WKDefaultWebController.mm: (-[WKDefaultWebController createFrameNamed:for:inParent:]), (-[WKDefaultWebController locationChangeDone:forDataSource:]): * WebView.subproj/WKWebController.h: * WebView.subproj/WKWebView.mm: (-[WKWebView dataSourceChanged]): * WebView.subproj/WKWebViewPrivate.h: * WebView.subproj/WKWebViewPrivate.mm: (-[WKWebViewPrivate dealloc]), (-[WKWebView _widget]), (-[WKWebView _setFrameScrollView:]), (-[WKWebView _frameScrollView]): 2002-02-01 John Sullivan <sullivan@apple.com> Added call to examine the entry at the current index in the back/forward list without modifying the list. I needed this to save context data (in my case, scroll position) on the currently-viewed entry. * History.subproj/WKBackForwardList.h: * History.subproj/WKBackForwardList.m: (-[WKBackForwardList currentEntry]): Just returns the entry at the current index. 2002-01-31 John Sullivan <sullivan@apple.com> * History.subproj/WKURIList.m: (newURIListNode): retain entries before adding them to list. The node-freeing routine was releasing, but the node-adding routine wasn't retaining. Bad asymmetry, made up for by WebViewTest not autoreleasing. I fixed that too. 2002-01-31 John Sullivan <sullivan@apple.com> * WebKit.pbproj: Removed -O0, so it will now get all the same warnings as pbxbuild gets. 2002-01-31 Kenneth Kocienda <kocienda@apple.com> Removed dependency on WC versions of these files * History.subproj/WKBackForwardList.h: * History.subproj/WKBackForwardList.m: * History.subproj/WKURIEntry.h: * History.subproj/WKURIEntry.m: * WebKit.pbproj/project.pbxproj: 2002-01-31 John Sullivan <sullivan@apple.com> * WebKit.pbproj: Marked WKURIList.h as a public header 2002-01-30 Richard Williamson <rjw@apple.com> * WebView.subproj/WKDefaultWebController.mm: (-[WKDefaultWebController createFrameNamed:for:inParent:]): * WebView.subproj/WKWebDataSource.mm: (-[WKWebDataSource documentTextFromDOM]): 2002-01-30 Richard Williamson <rjw@apple.com> Cleaned up API w/ respect to frames. * WebView.subproj/WKDefaultWebController.h: * WebView.subproj/WKDefaultWebController.mm: (-[WKDefaultWebController setView:andDataSource:]), (-[WKDefaultWebController createFrameNamed:for:inParent:]): * WebView.subproj/WKWebController.h: * WebView.subproj/WKWebDataSource.h: 2002-01-30 Kenneth Kocienda <kocienda@apple.com> Added *.lo, *.la, Icon, and .libs to .cvsignore files * .cvsignore: 2002-01-29 Richard Williamson <rjw@apple.com> * ChangeLog: * WebView.subproj/WKDefaultWebController.h: * WebView.subproj/WKDefaultWebController.mm: (-[WKDefaultWebController setView:andDataSource:]), (-[WKDefaultWebController dataSourceForView:]): 2002-01-29 Richard Williamson <rjw@apple.com> * WebView.subproj/WKDefaultWebController.mm: (-[WKDefaultWebController setView:andDataSource:]): 2002-01-29 Richard Williamson <rjw@apple.com> First pass at frame code. Still needs lots of cleanup. * WebKit.pbproj/project.pbxproj: * WebView.subproj/WKDefaultWebController.h: * WebView.subproj/WKDefaultWebController.mm: (-[WKDefaultWebController init]): * WebView.subproj/WKWebDataSource.h: * WebView.subproj/WKWebDataSource.mm: (-[WKWebDataSource dealloc]), (-[WKWebDataSource frameName]), (-[WKWebDataSource parent]), (-[WKWebDataSource children]), (-[WKWebDataSource addFrame:]), (-[WKWebDataSource frameNamed:]): * WebView.subproj/WKWebDataSourcePrivate.h: * WebView.subproj/WKWebDataSourcePrivate.mm: (-[WKWebDataSourcePrivate init]), (-[WKWebDataSourcePrivate dealloc]), (-[WKWebDataSource _setController:]), (-[WKWebDataSource _setFrameName:]): * WebView.subproj/WKWebView.mm: (-[WKWebView mouseUp:]): * WebView.subproj/WKWebViewPrivate.h: * WebView.subproj/WKWebViewPrivate.mm: (-[WKWebViewPrivate dealloc]), (-[WKWebView _setController:]), (-[WKWebView _widget]): 2002-01-29 Kenneth Kocienda <kocienda@apple.com> WebKit now links with WebFoundation * WebKit.pbproj/kocienda.pbxuser: * WebKit.pbproj/project.pbxproj: 2002-01-23 Ken Kocienda <kocienda@apple.com> Took out @executable_path hack added for Alexander demo. This should clear up a class of crash-on-launch issues. * WebKit.pbproj/project.pbxproj: 2002-01-21 John Sullivan <sullivan@apple.com> * WebView.subproj/WKWebController.h: * WebView.subproj/WKWebView.h: Changed WKConcreteWebController to WKDefaultWebController in a couple of comments. 2002-01-18 Richard Williamson <rjw@apple.com> First pass at new view/datasource/controller API. * Misc.subproj/WKException.h: * Misc.subproj/WKException.m: * WebKit.pbproj/project.pbxproj: * WebView.subproj/WKDefaultWebController.h: * WebView.subproj/WKDefaultWebController.mm: (+[WKObjectHolder holderWithObject:]), (-[WKObjectHolder initWithObject:]), (-[WKObjectHolder dealloc]), (-[WKObjectHolder copyWithZone:]), (-[WKObjectHolder hash]), (-[WKObjectHolder object]), (-[WKObjectHolder isEqual:]), (-[WKDefaultWebController initWithView:dataSource:]), (-[WKDefaultWebController dealloc]), (-[WKDefaultWebController setDirectsAllLinksToSystemBrowser:]), (-[WKDefaultWebController directsAllLinksToSystemBrowser]), (-[WKDefaultWebController setView:andDataSource:]), (-[WKDefaultWebController viewForDataSource:]), (-[WKDefaultWebController dataSourceForView:]), (-[WKDefaultWebController mainView]), (-[WKDefaultWebController mainDataSource]), (-[WKDefaultWebController createViewForDataSource:inFrameNamed:]), (-[WKDefaultWebController createViewForDataSource:inIFrame:]), (-[WKDefaultWebController setStatusText:forDataSource:]), (-[WKDefaultWebController statusTextForDataSource:]), (-[WKDefaultWebController authenticate:]), (-[WKDefaultWebController receivedProgress:forResource:fromDataSource:]), (-[WKDefaultWebController receivedError:forResource:partialProgress:fromDataSource:]), (-[WKDefaultWebController locationWillChangeTo:]), (-[WKDefaultWebController locationChangeStartedForDataSource:]), (-[WKDefaultWebController locationChangeInProgressForDataSource:]), (-[WKDefaultWebController locationChangeDone:forDataSource:]), (-[WKDefaultWebController receivedPageTitle:forDataSource:]), (-[WKDefaultWebController serverRedirectTo:forDataSource:]): * WebView.subproj/WKDefaultWebControllerPrivate.h: * WebView.subproj/WKDefaultWebControllerPrivate.mm: (-[WKDefaultWebControllerPrivate init]), (-[WKDefaultWebControllerPrivate dealloc]): * WebView.subproj/WKWebController.h: * WebView.subproj/WKWebController.mm: * WebView.subproj/WKWebDataSource.h: * WebView.subproj/WKWebDataSource.mm: (-[WKWebDataSource _commonInitialization]), (-[WKWebDataSource initWithURL:]), (-[WKWebDataSource parent]), (-[WKWebDataSource isMainDocument]), (-[WKWebDataSource children]), (-[WKWebDataSource frameNames]), (-[WKWebDataSource findDataSourceForFrameNamed:]), (-[WKWebDataSource frameExists:]), (-[WKWebDataSource openURL:inFrameNamed:]), (-[WKWebDataSource openURL:inIFrame:]), (-[WKWebDataSource controller]), (-[WKWebDataSource inputURL]), (-[WKWebDataSource finalURL]), (-[WKWebDataSource wasRedirected]), (-[WKWebDataSource startLoading:]), (-[WKWebDataSource stopLoading]), (-[WKWebDataSource isLoading]), (-[WKWebDataSource documentText]), (-[WKWebDataSource base]), (-[WKWebDataSource baseTarget]), (-[WKWebDataSource encoding]), (-[WKWebDataSource setUserStyleSheetFromURL:]), (-[WKWebDataSource setUserStyleSheetFromString:]), (-[WKWebDataSource icon]), (-[WKWebDataSource isPageSecure]), (-[WKWebDataSource pageTitle]): * WebView.subproj/WKWebDataSourcePrivate.h: * WebView.subproj/WKWebDataSourcePrivate.mm: (-[WKWebDataSourcePrivate init]), (-[WKWebDataSourcePrivate dealloc]), (-[WKWebDataSource _setController:]), (-[WKWebDataSource _part]): * WebView.subproj/WKWebView.h: * WebView.subproj/WKWebView.mm: (-[WKWebView initWithFrame:]), (-[WKWebView dealloc]), (-[WKWebView controller]), (-[WKWebView dataSourceChanged]), (-[WKWebView layout]), (-[WKWebView stopAnimations]), (-[WKWebView setFontSizes:]), (-[WKWebView fontSizes]), (-[WKWebView resetFontSizes]), (-[WKWebView setStandardFont:]), (-[WKWebView standardFont]), (-[WKWebView setFixedFont:]), (-[WKWebView fixedFont]), (-[WKWebView setCanDragFrom:]), (-[WKWebView canDragFrom]), (-[WKWebView setCanDragTo:]), (-[WKWebView canDragTo]), (-[WKWebView defaultContextMenuItemsForNode:]), (-[WKWebView setContextMenusEnabled:]), (-[WKWebView deselectText]), (-[WKWebView searchFor:direction:caseSensitive:]), (-[WKWebView selectedText]), (-[WKWebView delayLayout:]), (-[WKWebView notificationReceived:]), (-[WKWebView setNeedsLayout:]), (-[WKWebView drawRect:]), (-[WKWebView setIsFlipped:]), (-[WKWebView isFlipped]), (-[WKWebView setFrame:]), (-[WKWebView mouseUp:]), (-[WKWebView mouseDown:]), (-[WKWebView mouseDragged:]): * WebView.subproj/WKWebViewPrivate.h: * WebView.subproj/WKWebViewPrivate.mm: (-[WKWebViewPrivate init]), (-[WKWebViewPrivate dealloc]), (-[WKWebView _resetView]), (-[WKWebView _setController:]): 2002-01-14 Maciej Stachowiak <mjs@apple.com> Convert build system to automake * Makefile.am: Add this * Makefile.in: Remove this (now autogenerated) * .cvsignore: Fix ignores * WebKit.pbproj/project.pbxproj: Twiddle link flags 2001-12-21 John Sullivan <sullivan@apple.com> * .cvsignore: * WebKit.pbproj/.cvsignore: Added files that were showing up on my machine to .cvsignores. 2001-12-18 Kenneth Kocienda <kocienda@apple.com> Deleted one little word * Documentation/WebKit-White-Paper/WebKit-White-Paper.html: 2001-12-18 Richard Williamson <rjw@apple.com> Restructing of headers in prepartion for implementation. Added new WK* headers to PB project description. * ChangeLog: * WebKit.pbproj/project.pbxproj: * WebView.subproj/NSWebPageDataSource.h: * WebView.subproj/NSWebPageDataSource.mm: * WebView.subproj/NSWebPageDataSourcePrivate.h: * WebView.subproj/NSWebPageView.h: * WebView.subproj/NSWebPageView.mm: * WebView.subproj/NSWebPageViewPrivate.h: * WebView.subproj/WKWebController.h: * WebView.subproj/WKWebController.mm: * WebView.subproj/WKWebDataSource.h: * WebView.subproj/WKWebDataSource.mm: (+[WKWebDataSource initialize]): * WebView.subproj/WKWebDataSourcePrivate.h: * WebView.subproj/WKWebView.h: * WebView.subproj/WKWebView.mm: * WebView.subproj/WKWebViewPrivate.h: 2001-12-18 Kenneth Kocienda <kocienda@apple.com> Updated the white paper text and graphics. * Documentation/WebKit-White-Paper/WebKit-White-Paper.html: * Documentation/WebKit-White-Paper/images/webkit-cache-loader.jpg: * Documentation/WebKit-White-Paper/images/webkit-classes.jpg: 2001-12-18 Kenneth Kocienda <kocienda@apple.com> Merged "Changes" information into individual files * Cache.subproj/WKLoadChunk.h: * Cache.subproj/WKWebCache.h: * Cache.subproj/WKWebCacheClient.h: * Cache.subproj/WKWebContentType.h: 2001-12-17 Kenneth Kocienda <kocienda@apple.com> Fixed small cpp glitch in WKWebCache. Added WKAttributedURL header. Updated WKBackForwardList with ifdef'ed out new design. * Cache.subproj/WKWebCache.h: * History.subproj/WKAttributedURL.h: * History.subproj/WKBackForwardList.h: 2001-12-17 Kenneth Kocienda <kocienda@apple.com> Added header files by chopping up the CacheAPI.h document I have been working on. * Cache.subproj/WKLoadChunk.h: * Cache.subproj/WKWebCache.h: * Cache.subproj/WKWebCacheClient.h: * Cache.subproj/WKWebContentType.h: 2001-12-17 Kenneth Kocienda <kocienda@apple.com> Did some verb tense cleanup. * Documentation/WebKit-White-Paper/WebKit-White-Paper.html: 2001-12-17 Kenneth Kocienda <kocienda@apple.com> Added the current draft of the WebKit white paper. * Documentation/WebKit-White-Paper/WebKit-White-Paper.html: * Documentation/WebKit-White-Paper/images/webkit-cache-loader.jpg: 2001-12-14 Richard Williamson <rjw@apple.com> Remove WKContextMenuHandler for want of a better way to describe the not-yet-existing WKDOMNode. We can't think of any initial clients that want to override the default behavior anyway. Put it in WKGrabBag.h for now. * WebView.subproj/WKWebController.h: 2001-12-14 Richard Williamson <rjw@apple.com> Remove explicit API to get/set the selection range. This will be postponed until we have a DOM API that allows us to express selection ranges correctly. Instead we have API that should support searching and getting a NSAttributedString that corresponds to the selected text. Added the following methods: - (void)searchFor: (NSString *)string direction: (BOOL)forward caseSensitive: (BOOL)case - deselectText; - (NSAttributedString *)selectedText; * WebView.subproj/WKWebView.h: Moved search API to WKWebView. Moved WKPreferences to a new file, WKPreferences.h. We are still discussing this item and it will not make it into the white paper. Minor naming changes. * WebView.subproj/WKDataSource.h: 2001-12-14 Maciej Stachowiak <mjs@apple.com> Simplified WKLocationChangeHandler and updated WKAuthenticationHandler. * WebView.subproj/WKWebController.h: (WKWebDataSource): Renamed methods to be forDataSource, not byDataSource. (-[WKWebDataSource locationChangeInProgressForDataSource:]): Added. (-[WKWebDataSource locationChangeDone:forDataSource:]): Added as a collapsed version of locationChangeCancelled:, locationChangeStopped: and locationChangeFinished:. (WKSimpleAuthenticationResult, WKSimpleAuthenticationRequest): made these interfaces instead of structs. 2001-12-14 Maciej Stachowiak <mjs@apple.com> Minor cleanups, mostly for naming consistency. * WebView.subproj/WKWebController.h: (WKSimpleAuthenticationRequest) name field `url', not `uri'. (-[WKWebDataSourceErrorHandler receivedError:forDataSource:]): renamed from `error:inDataSource:' so that it's a verb phrase. * WebView.subproj/WKWebDataSource.h: (-[WKWebDataSource initWithURL:]): Rename `inputUrl' argument to `inputURL'. (-[WKWebDataSource initWithLoader:]): Change argument type from `WKURILoader' to `WKLoader'. (-[WKWebDataSource wasRedirected]): Renamed from `isRedirected', the past tense seems more appropriate here. (-[WKWebDataSource setJavaEnabled:]): Add missing semicolon. (-[WKWebDataSource pluginsEnabled:]): renamed from `pluginEnabled' for consistency with `setPluginsEnabled:'. * WebView.subproj/WKWebView.h: (-[WKWebView fontSizes]): renamed from `fontSize' for sonsistency with `setFontSizes:'. (-[WKWebView setContextMenusEnabled]): renamed from 'setEnableContextMenus:' for consistency with `contextMenusenabled'. 2001-12-14 Maciej Stachowiak <mjs@apple.com> After discussion with Don, Removed all methods relating to resolved URLs, since browsers don't actually treat aliases specially. * WebView.subproj/WKWebController.h: removed inputURLresolvedTo: methods. * WebView.subproj/WKWebDataSource.h: remove resolvedURL method, and mentions of it in comments. 2001-12-13 Richard Williamson <rjw@apple.com> Removed WKFrameSetHandler, placed that functionality on WKWebDataSource. Changed WKLocationChangeHandler to add a parameter specifying the data source that sent the message. * WebView.subproj/WKWebController.h: 2001-12-13 Maciej Stachowiak <mjs@apple.com> Warning fixes and support to pass the http headers along with cache data items * Cache.subproj/NSURICacheData.h, Cache.subproj/NSURICacheData.m: (+[NSURICacheData dataWithURL:status:error:headers:data:size:notificationString:userData:], -[NSURICacheData initWithURL:status:error:headers:data:size:notificationString:userData:]), -[NSURICacheData dealloc], -[NSURICacheData error], -[NSURICacheData headers]: NSURICacheData now carries a copy of the response headers dictionary. * Cache.subproj/NSURICache.m: include "WCURICache.h" to fix warnings. (-[NSURICache requestWithURL:requestor:userData:]): Handle headers in CacheData. * Cache.subproj/NSURILoad.h, Cache.subproj/NSURILoad.m: (-[NSURILoad __NSURILoadReadStreamCallback:event:data:], -[NSURILoad headers], -[NSURILoad dealloc], -[NSURILoad done]): An NSURILoad object now carries the response headers associated with its connection, if any. * History.subproj/WKBackForwardList.m: include WCBackForwardList.h to fix warning. * History.subproj/WKURIEntry.m: include WCURIEntry.h to fix warning. * Misc.subproj/WebKitDebug.h: Use (void) for C prototypes, not (). * WebView.subproj/NSWebPageDataSource.mm: (+[NSWebPageDataSource initialize]): Remove unused variable to fix warning. * WebKit.pbproj/project.pbxproj: Enable many warning flags and -Werror 2001-12-13 Maciej Stachowiak <mjs@apple.com> * WebView.subproj/WKWebController.h: Defined initial version of WKAuthenticationHandler interface, and associated WKSimpleAuthenticationRequest and WKSimpleAuthenticationResult structs. 2001-12-13 Richard Williamson <rjw@apple.com> Remove setBase: and setBaseTarget: Changed return type of baseTarget to (NSString *) Added the following two methods: - (WKDataSource *)parent; - (NSArry *)children; - (BOOL)isMainDocument; Added the following methods: - (NSArray *)frameNames; - (WKWebDataSource) findDataSourceForFrameNamed: (NSString *)name; - (BOOL)frameExists: (NSString *)name; - (void)openURL: (NSURL *)url inFrameNamed: (NSString *)frameName; - (void)openURL: (NSURL *)url inIFrame: (id)iFrameIdentifier; * WebView.subproj/WKWebDataSource.h: 2001-12-12 Richard Williamson <rjw@apple.com> Changed WKConcreteWebController to WKDefaultWebController. Changed WKLocationChangedHandler naming, replace "loadingXXX" with "locationChangeXXX". Changed loadingStopped in WKLocationChangedHandler to locationChangeStopped:(WKError *). Changed loadingCancelled in WKLocationChangedHandler to locationChangeCancelled:(WKError *). Changed loadedPageTitle in WKLocationChangedHandler to receivedPageTitle:. Added inputURL:(NSURL *) resolvedTo: (NSURL *) to WKLocationChangedHandler. Added the following two methods to WKLocationChangedHandler: - (void)inputURL: (NSURL *)inputURL resolvedTo: (NSURL *)resolvedURL; - (void)serverRedirectTo: (NSURL *)url; Put locationWillChangeTo: back on WKLocationChangedHandler. Changed XXXforLocation in WKLoadHandler to XXXforResource. Changed timeoutForLocation: in WKLoadHandler to receivedError:forResource:partialProgress: Added the following two methods to WKDefaultWebController: - setDirectsAllLinksToSystemBrowser: (BOOL)flag - (BOOL)directsAllLinksToSystemBrowser; Removed WKError. This will be described in WKError.h. * WebView.subproj/WKWebController.h: 2001-12-12 Richard Williamson <rjw@apple.com> After group discussion we decided to classify API as : Tier 1: Needed by our browser (or Sherlock). Tier 2: Nedded by Apple internal clients (Mail, Help, PB, other TBD). Tier 3: Third party software vendors. Added finalURL and isRedirected. * WebView.subproj/WKWebDataSource.h: 2001-12-11 Chris Blumenberg <cblu@apple.com> * ChangeLog: * WebView.subproj/NSWebPageDataSource.mm: (+[NSWebPageDataSource initialize]): 2001-12-11 Chris Blumenberg <cblu@apple.com> * WebView.subproj/NSWebPageDataSource.mm: (+[NSWebPageDataSource initialize]): 2001-12-10 John Sullivan <sullivan@apple.com> * WebView.subproj/WKWebController.h: * WebView.subproj/WKWebDataSource.h: * WebView.subproj/WKWebView.h: Fixed some typos and misspellings. 2001-12-07 Richard Williamson <rjw@apple.com> * WebView.subproj/NSWebPageDataSource.h: * WebView.subproj/NSWebPageDataSourcePrivate.h: * WebView.subproj/NSWebPageView.h: First pass at API for WKWebView and WKWebDataSource. Note that we have to change names from NS to WK! The new API is conditionally excluded #ifdef READY_FOR_PRIMETIME Added these files: * WebView.subproj/WKWebDataSource.h: * WebView.subproj/WKWebView.h: * WebView.subproj/WKWebController.h: 2001-12-06 Maciej Stachowiak <mjs@apple.com> * Cache.subproj/NSURICacheData.m: (+[NSURICacheData dataWithURL:status:error:data:size:notificationString:userData:]), (-[NSURICacheData initWithURL:status:error:data:size:notificationString:userData:]): Remove redundant semicolons between the end of the prototype and the open brace, because they confuse the changelog script.