Timeline



Apr 2, 2003:

10:41 PM Changeset in webkit [4011] by mjs
  • 2 edits in trunk/WebKit

Reviewed by Trey.

  • fixed 3213556 - VIP: parent.mainFrameWidth=undefined on page refresh results in missing content
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadItem:withLoadType:]): When reload or going back/forward, make sure to load the original URL of the item, not it's most recent URL. (-[WebFrame _loadURL:intoChild:]): Likewise.
7:24 PM Changeset in webkit [4010] by hyatt
  • 3 edits in trunk/WebCore

Fix for 3216650. Needed an additional check when the disabled
attribute is changed on <link> elements for stylesheets to keep
the pending sheet count in sync.

Reviewed by gramps

  • khtml/html/html_headimpl.cpp: (HTMLLinkElementImpl::parseAttribute):
5:31 PM Changeset in webkit [4009] by rjw
  • 2 edits in trunk/WebKit

Raise exceptions when these methods are called inappropriately.

Reviewed by Trey.

  • History.subproj/WebBackForwardList.m: (-[WebBackForwardList goBack]): (-[WebBackForwardList goForward]): (-[WebBackForwardList goToItem:]):
5:22 PM Changeset in webkit [4008] by hyatt
  • 3 edits in trunk/WebCore

Fix for 3212011. Avoid applying a fixup to the minwidth
of overflow:hidden table cells, since we don't really have
an accurate width to compare against.

I filed followup bug 3216709 to deal with the fact that this
fixup has been disabled.

Reviewed by john

  • khtml/rendering/render_block.cpp:
4:48 PM Changeset in webkit [4007] by hyatt
  • 4 edits in trunk/WebCore

Do not assume all columns have a minwidth/maxwidth of 1px.
Instead give them a min/maxwidth of 0px, and only inflate to
1px if a cell originates in the column.

This fixes the error on travelocity.com, where a large colspan
leads to the implicit creation of a new column that contains no
originating cells. That new column should be 0px wide, not
1px.

The bug # is 3170592.

Reviewed by kocienda

  • khtml/rendering/table_layout.cpp: (AutoTableLayout::recalcColumn):
  • khtml/rendering/table_layout.h:
4:47 PM Changeset in webkit [4006] by rjw
  • 16 edits
    2 adds in trunk/WebKit

WebKit:

Added new API on WebFrame, loadData: and loadString:

Reviewed by Maciej.

Fixed loading of cocoa plugins.

Reviewed by Chris.

  • History.subproj/WebBackForwardList.m: (-[WebBackForwardList _entries]):
  • Plugins.subproj/WebBasePluginPackage.h:
  • Plugins.subproj/WebBasePluginPackage.m: (-[WebBasePluginPackage bundle]):
  • Plugins.subproj/WebPluginDatabase.h:
  • Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase init]): (-[WebPluginDatabase loadPluginIfNeededForMIMEType:]): (-[WebPluginDatabase dealloc]):
  • WebKit.pbproj/project.pbxproj:
  • WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
  • WebView.subproj/WebDataProtocol.h: Added.
  • WebView.subproj/WebDataProtocol.m: Added. (-[WebDataRequestParameters copyWithZone:]): (-[WebDataRequestParameters mutableCopyWithZone:]): (-[WebDataRequestParameters dealloc]): (+[NSURLRequest _webDataRequestURLForData:]): (-[NSURLRequest _webDataRequestParameters]): (-[NSURLRequest _webDataRequestData]): (-[NSURLRequest _webDataRequestSetData:]): (-[NSURLRequest _webDataRequestEncoding]): (-[NSURLRequest _webDataRequestSetEncoding:]): (-[NSURLRequest _webDataRequestBaseURL]): (-[NSURLRequest _webDataRequestSetBaseURL:]): (-[NSURLRequest _webDataRequestExternalRequest]): (+[WebDataProtocol load]): (+[WebDataProtocol doesURLHaveInternalDataScheme:]): (+[WebDataProtocol canHandleURL:]): (+[WebDataProtocol canonicalURLForURL:]): (-[WebDataProtocol startLoadingWithCacheObject:]): (-[WebDataProtocol stopLoading]):
  • WebView.subproj/WebDataSource.m: (-[WebDataSource initialRequest]): (-[WebDataSource request]):
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady:]):
  • WebView.subproj/WebFrame.h:
  • WebView.subproj/WebFrame.m: (-[WebFrame loadRequest:]): (-[WebFrame loadString:baseURL:]):
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _addBackForwardItemClippedAtTarget:]): (-[WebFrame _transitionToCommitted:]):
  • WebView.subproj/WebFrameViewPrivate.m: (-[WebFrameView _makeDocumentViewForDataSource:]):
  • WebView.subproj/WebView.m: (+[WebView canShowMIMEType:]):

WebBrowser:

Change SnippetEditor to use new loadString: API.

Reviewed by Maciej.

  • ChangeLog:
  • Debug/SnippetController.m: (-[SnippetController load]):
4:42 PM Changeset in webkit [4005] by mjs
  • 3 edits in trunk/WebKit

Reviewed by Ken.

  • fixed 3177183 - disneyland.com says "500 Internal Server Error"
  • WebView.subproj/WebUserAgentSpoofTable.gperf: Spoof as Mac IE for disney.go.com
  • WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.
4:39 PM Changeset in webkit [4004] by rjw
  • 2 edits in trunk/WebKit

Reviewed by john.

  • WebView.subproj/WebPreferences.h: (-[WebPreferences setUserStyleSheetLocation:]): Cleaned up arg and comment.
4:37 PM Changeset in webkit [4003] by rjw
  • 2 edits in trunk/WebKit

Fix for 3200447. Use class_pose to pose so as to avoid
indirect invocation of appkit class initializers.

Reviewed by darin.

  • WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView load]):
4:33 PM Changeset in webkit [4002] by rjw
  • 2 edits in trunk/WebKit

Removed private headers.

Reviewed by john.

  • Misc.subproj/WebKit.h:
3:30 PM Changeset in webkit [4001] by hyatt
  • 2 edits in trunk/WebCore

Fix for excite.com. There are many bugs being fixed that all
contributed to the wideness of the table.

The bug # is 3200534

Reviewed by darin

  • khtml/rendering/table_layout.cpp: (shouldScaleColumns):
3:19 PM Changeset in webkit [4000] by hyatt
  • 3 edits in trunk/WebCore

Fix for excite.com. There are many bugs being fixed that all
contributed to the wideness of the table.

Reviewed by darin

  • khtml/rendering/table_layout.cpp: (shouldScaleColumns):
1:54 PM Changeset in webkit [3999] by darin
  • 4 edits in trunk/WebCore

Reviewed by Dave.

  • fixed 3213854 -- REGRESSION: can't click on a text field to select it
  • fixed 3201477 -- friends links don't work on hyatt's blog
  • khtml/rendering/render_object.cpp: (RenderObject::nodeAtPoint): Skip floating objects when hit testing children.
  • khtml/rendering/render_inline.cpp: (RenderInline::nodeAtPoint): Ditto.
10:54 AM Changeset in webkit [3998] by trey
  • 5 edits in trunk/WebKit

3174227 - aggressive caching of generated pages causes problems with WIKI

We decided to fix half the observed behavior, as all the bad behavior is
arguably due to a mis-configured server (that sets a max-age=60 on
all its pages).

The fix is that when a redirect comes in response to a POST we force a
load from origin, since this is a common technique sites do to prevent
a post from ending up in the b/f list, and it is very likely you are
on your way back to look at data that you believe you just edited.

Reviewed by Ken.

  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadItem:withLoadType:]): Nit cleanup. Remove unused arg. (-[WebFrame _recursiveGoToItem:fromItem:withLoadType:]): Same nit cleanup.
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]): Force loadFromOrigin if we have a redirect in response to a POST.
  • WebView.subproj/WebResourceLoadDelegate.h: Add headerdoc comment for redirectResponse param.
10:44 AM Changeset in webkit [3997] by trey
  • 3 edits in trunk/WebCore

WebCore:

3119711 - redirects to anchors leave window half-loaded (was SCClib.org is half loaded, half rendered)

The problem happened when an anchor nav was the last half of a client redirect.
We would never stop the redirect timer, and thus never post a clientRedirectCanceled
message up through the stack. This left the app thinking that it was in redirect
mode even when the whole navigation had finished, which makes it not clear the
progress bar.

Reviewed by Darin.

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::scrollToAnchor): Stop the redirect timer.

WebBrowser:

3119711 - redirects to anchors leave window half-loaded (was SCClib.org is half loaded, half rendered)

The problem happened when an anchor nav was the last half of a client redirect.
This case implies that an anchor nav must do the end-of-load cleanup, and not assume
that only a scroll was done to accomplish the nav. Note additional fix was
also needed in WebCore.

Reviewed by Darin.

  • LocationChangeHandler.m: (-[LocationChangeHandler webView:locationChangedWithinPageForDataSource:]): Update our page loading status. Finish up the progress bar, if it was showing non-zero progress.

Apr 1, 2003:

7:25 PM Changeset in webkit [3996] by mjs
  • 2 edits in trunk/WebKit

Reviewed by Richard.

  • fixed 3214748 - REGRESSION: After using latest Safari for awhile, can't launch older Safaris (icon db problem)
  • Misc.subproj/WebIconDatabase.m: Changed icon cache path, since we are breaking compatibility and the old version does not support versioning. (-[WebIconDatabase _loadIconDictionaries]): Check version. (-[WebIconDatabase _updateFileDatabase]): Save version.
7:01 PM Changeset in webkit [3995] by sheridan
  • 3 edits in trunk

version 71u; building 71 on Friday.

6:59 PM Changeset in webkit [3994] by mjs
  • 3 edits in trunk/WebCore

Reviewed by Dave.

  • fixed 3182103 - REGRESSION: one developer.apple.com page is so slow, it almost seems like a hang
  • khtml/rendering/bidi.cpp: (RenderBlock::findNextLineBreak): Avoid returning bad iterators that point past the end of an object instead of to the start ot the next one.
4:46 PM Changeset in webkit [3993] by darin
  • 8 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed 3123709 -- redirect isn't followed at Apple's Dental Benefits provider
  • khtml/dom/dom2_events.h: Added boolean "isWindowEvent" parameter.
  • khtml/dom/dom2_events.cpp: (EventListener::handleEvent): Ignore boolean "isWindowEvent" parameter.
  • khtml/ecma/kjs_events.h: Added boolean "isWindowEvent" parameter.
  • khtml/ecma/kjs_events.cpp: (JSEventListener::handleEvent): Look at new "isWindowEvent" parameter, and send the event to the window if it's true, rather than the current node, document, and form.
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::defaultEventHandler): Pass true for "isWindowEvent".
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::handleLocalEvents): Pass false for "isWindowEvent".
4:21 PM Changeset in webkit [3992] by kocienda
  • 12 edits in trunk/WebKit

Tests:

Reviewed by Darin

NSURLConnectionDelegate is no longer a formal protocol.

  • PDFBundle/PDFView.m:

WebFoundation:

Reviewed by Darin

NSURLConnectionDelegate is no longer a formal protocol. Added support
to do dynamic checking of delegate object to see if that object
implements the NSURLConnectionDelegate category methods.

NSURLConnection no longer has a loadWithDelegate: method. Loads
start implicitly at init time. Changed code since we no longer
send willSendRequest:redirectResponse: callbacks for initial loads.

Updated comments in NSURLConnection.h so they match API approved versions.

Tweaked callback flag names so that they match the callback names themselves.

  • CacheLoader.subproj/NSURLConnection.h:
  • CacheLoader.subproj/NSURLConnection.m: (+[NSURLConnection connectionWithRequest:delegate:]): (-[NSURLConnection initWithRequest:delegate:]): (-[NSURLConnection _sendCallbacks]): (-[NSURLConnection _postWillSendRequestCallback]): (-[NSURLConnection _postDidReceiveResponseCallback]): (-[NSURLConnection _postDidReceiveDataCallback]): (-[NSURLConnection _postDidFinishLoadingCallback]): (-[NSURLConnection _postDidFailLoadingCallback]): (-[NSURLConnection _sendWillSendRequestCallback]): (-[NSURLConnection schedule]): (-[NSURLConnection _beginLoad]): (-[NSURLConnectionInternal prepareCallbacks]):
  • CacheLoader.subproj/WebSynchronousDelegate.h:
  • CacheLoader.subproj/WebSynchronousDelegate.m: (-[WebSynchronousDelegate run:]):

WebKit:

Reviewed by Darin

NSURLConnectionDelegate is no longer a formal protocol.

NSURLConnection no longer has a loadWithDelegate: method. Loads
start implicitly at init time. Some clients have been updated
to call the willSendRequest:redirectResponse: callback manually
since this callback is no longer sent for initial loads.

  • Downloads.subproj/WebDownload.m: (-[WebDownload initWithRequest:]): (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): (-[WebDownload loadWithDelegate:]):
  • Misc.subproj/WebIconLoader.h:
  • Misc.subproj/WebIconLoader.m: (-[WebIconLoader startLoading]):
  • WebView.subproj/WebBaseResourceHandleDelegate.h:
  • WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate loadWithRequest:]):
  • WebView.subproj/WebMainResourceClient.h:
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient loadWithRequest:]): (-[WebResourceDelegateProxy setDelegate:]):

WebBrowser:

Reviewed by Darin

NSURLConnectionDelegate is no longer a formal protocol.

NSURLConnection no longer has a loadWithDelegate: method. Loads
start implicitly at init time.

  • BugReportController.h:
  • BugReportController.m: (-[BugReportController sendBugReportToAppleWithScreenShot:source:]):
2:05 PM Changeset in webkit [3991] by darin
  • 10 edits in trunk

WebCore:

Reviewed by John.

  • fixed 3144287 -- CSS with media=print not used when printing
  • kwq/KWQKHTMLPart.h: Added a setMediaType function, so the bridge can access the KHTMLView::setMediaType function, which is private (KWQKHTMLPart is a friend).
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::setMediaType): Call setMediaType on the KHTMLView.
  • kwq/WebCoreBridge.h: Added a device type parameter to reapplyStyles.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge reapplyStylesForDeviceType:]): Call setMediaType with the appropriate media type for the passed in device type.

WebKit:

Reviewed by John.

  • fixed 3213918 -- REGRESSION: printing Mapquest directions, screen font is used, causing exception, crashes
  • fixed 3144287 -- CSS with media=print not used when printing
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _opened]): Don't call the reapplyStyles method directly here, use setNeedsToApplyStyles instead.
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView reapplyStyles]): Pass the appropriate device type here. (-[WebHTMLView drawRect:]): Don't call setUsingPrinterFonts:NO at the end of this method if we were already using printer fonts at the start. This was the bug fix. (-[WebHTMLView _setPrinting:]): Renamed from _setUsingPrinterFonts since this now controls the styles used too, not just the fonts. (-[WebHTMLView beginDocument]): Updated for _setPrinting name change. (-[WebHTMLView endDocument]): Ditto.
  • WebView.subproj/WebHTMLViewPrivate.h: Renamed "usingPrinterFonts" field to "printing".
12:17 PM Changeset in webkit [3990] by hyatt
  • 3 edits in trunk/WebCore

Table code fixes. Working to try to fix excite.com.

Reviewed by darin

  • khtml/rendering/table_layout.cpp: (shouldScaleColumns): (AutoTableLayout::calcMinMaxWidth):
12:05 PM Changeset in webkit [3989] by darin
  • 3 edits in trunk/WebCore

Reviewed by Dave.

  • khtml/css/cssparser.cpp: (CSSParser::parseColor): Add a missing check for nil.
11:34 AM Changeset in webkit [3988] by rjw
  • 10 edits in trunk/WebKit

Fixed ~2% performance regression problem. The regression
was caused by the allocation of a forwarder on every
delegate callback. Modified code to only create forwarders once,
and reset when delegates change.

Reviewed by Ken.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
  • WebView.subproj/WebBaseResourceHandleDelegate.h:
  • WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate setDataSource:]): (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): (-[WebBaseResourceHandleDelegate connection:didReceiveData:]): (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]):
  • WebView.subproj/WebView.m: (-[WebView setWindowOperationsDelegate:]): (-[WebView setResourceLoadDelegate:]): (-[WebView setContextMenuDelegate:]): (-[WebView setPolicyDelegate:]): (-[WebView setLocationChangeDelegate:]):
  • WebView.subproj/WebViewPrivate.h:
  • WebView.subproj/WebViewPrivate.m: (-[WebViewPrivate dealloc]): (-[WebView _locationChangeDelegateForwarder]): (-[WebView _resourceLoadDelegateForwarder]): (-[WebView _cacheResourceLoadDelegateImplementations]): (-[WebView _resourceLoadDelegateImplementations]): (-[WebView _policyDelegateForwarder]): (-[WebView _contextMenuDelegateForwarder]): (-[WebView _windowOperationsDelegateForwarder]): (-[_WebSafeForwarder forwardInvocation:]):
  • API-Issues.rtf: Notes to self.
10:24 AM Changeset in webkit [3987]
  • 15 copies in tags/Safari-70

This commit was manufactured by cvs2svn to create tag 'Safari-70'.

10:24 AM Changeset in webkit [3986] by sheridan
  • 5 edits in branches/Safari-70-branch

changelog markers for safari-70

9:10 AM Changeset in webkit [3985] by darin
  • 3 edits in trunk/WebCore

Reviewed by Trey.

  • fixed 3202542 -- REGRESSION: preinitialized password inputs do not show dots (affects mac.com)
  • kwq/KWQTextField.mm: (-[KWQTextField setPasswordMode:]): Remove code that sets the string value to "". This is not needed, and because a text changed signal is sent out it makes the caller think the text was deleted intentionally. Added code to move the string from the current field in use to the other field, so changing the password mode does not make the string go away. The old code was fragile and depended on the order of operations.
7:35 AM Changeset in webkit [3984] by darin
  • 2 edits in trunk/WebKit
  • English.lproj/StringsNotToBeLocalized.txt: Allowed update-alex-localizable-strings to sort this file.

Mar 31, 2003:

6:49 PM Changeset in webkit [3983] by trey
  • 9 edits in trunk/WebKit

WebKit:

3212724 - bookmarks and history items have screwed up designated inits

and support code for:
3116315 - autocomplete needs some prioritization magic

The main changes are adding and maintaining a visitCount to the HistoryItem,
cleaning up the init methods of HistoryItem. Also lastVisitedDate is now
set explicitly instead of automatically getting the current date.

Reviewed by John.

  • History.subproj/WebHistory.m: (-[WebHistory addItemForURL:]): Set lastVisitedDate of new item. (-[WebHistory _itemForURLString:]): New helper routine.
  • History.subproj/WebHistoryItem.h: Conform to NSCopying.
  • History.subproj/WebHistoryItem.m: (-[WebHistoryItem init]): Behave like a designated initializer. (-[WebHistoryItem copyWithZone:]): New. (-[WebHistoryItem initWithURL:title:]): Call the designated initializer. (-[WebHistoryItem initWithURL:target:parent:title:]): Call the designated initializer. Don't blindly init lastVisitedDate. (-[WebHistoryItem setLastVisitedDate:]): Update visitCount too. (-[WebHistoryItem visitCount]): New getter. (-[WebHistoryItem setVisitCount:]): New setter. (-[WebHistoryItem _mergeAutoCompleteHints:]): Combine autocomplete info of two items. Used when one item replaces another in the history. (-[WebHistoryItem dictionaryRepresentation]): Write visitCount. (-[WebHistoryItem initFromDictionaryRepresentation:]): Read visitCount.
  • History.subproj/WebHistoryItemPrivate.h:
  • History.subproj/WebHistoryPrivate.h:
  • History.subproj/WebHistoryPrivate.m: (-[WebHistoryPrivate addItem:]): Merge autocomplete date from old item to new. (-[WebHistoryPrivate itemForURLString:]): s/entry/item/ (-[WebHistoryPrivate containsItemForURLString:]): s/entry/item/ (-[WebHistoryPrivate containsURL:]): s/entry/item/ (-[WebHistoryPrivate itemForURL:]): s/entry/item/ (-[WebHistoryPrivate _loadHistoryGuts:]): Skip history items without visitDate.
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted:]): Update last visitTime when we revisit the same URL (since no new history item is created).

WebBrowser:

3116315 - autocomplete needs some prioritization magic
3181925 - editing redundant bookmarks could lead to screwed up autocomplete, likely crash
3212724 - bookmarks and history items have screwed up designated inits
3213092 - REGRESSION: infinite loop on launch if no bookmarks file exists

Reviewed by John.

  • BookmarksController.h:
  • BookmarksController.m: (-[BookmarksController bookmarksFileHasChanged]): Don't return YES if the file doesn't exist - fixes 3213092. (-[BookmarksController savePendingChangesWhenever]): New method to dirty bookmarks file without causing save.
  • BrowserWebBookmarkExtras.m: (-[WebBookmark _goToWithWindowPolicy:]): Set lastVisited date of bookmark. Rearranged code to get rid of embedded return statements.

General idea here is that the _instantRedirectPending is replaced by the
delay of the redirect. I ended up tossing the client code that used this,
but it seems like a useful thing to keep for no cost.

  • BrowserWebController.h:
  • BrowserWebController.m: (-[BrowserWebController initWithDocument:request:frameName:]): Init _redirectDelay. (-[BrowserWebController displayName]): Test _redirectDelay. (-[BrowserWebController setPendingRedirectDelay:]): Set the _redirectDelay instead of just the BOOL. (-[BrowserWebController cancelPendingRedirect]): Clear _redirectDelay. (-[BrowserWebController pendingRedirectDelay]): Return _redirectDelay. (-[BrowserWebController pageLoadingStatusHasChanged]): Test _redirectDelay.
  • LocationChangeHandler.m: (-[LocationChangeHandler webView:locationChangeStartedForDataSource:]): Don't clear redirectDelay yet. Wait for clientRedirectCancelled. (-[LocationChangeHandler webView:locationChangeDone:forDataSource:]): Adopt coding standards. clear redirectDelay (-[LocationChangeHandler webView:willCloseLocationForDataSource:]): Add LOG (-[LocationChangeHandler webView:locationChangedWithinPageForDataSource:]): Add LOG (-[LocationChangeHandler webView:clientWillRedirectTo:delay:fireDate:forFrame:]): Add LOG, set redirectDelay. (-[LocationChangeHandler webView:clientRedirectCancelledForFrame:]): Add LOG, clear redirectDelay.
  • BrowserWindowController.m: (-[BrowserWindowController frameLoadFinished:]): Renamed a variable, noted an existing bug.
  • English.lproj/Localizable.strings:
  • English.lproj/StringsNotToBeLocalized.txt:
  • GlobalHistory.m: (-[GlobalHistory parentOfContentItem:]): Added ASSERT.
  • LoadProgressMonitor.m: (-[LoadProgressMonitor _createProgressEntryWithRequest:dataSource:]): Comment out overly verbose, misfit LOG.

Two things going on here: 1) We changed the Patricia Trie data structure to
hold an array of bookmarks instead of just one with a refcount, to fix problems
when bookmarks were added/deleted. In addition, this also means that when we
have both a HistoryItem and Bookmark added, we prefer the Bookmark instead of
the History item. 2) Added code to pick the selected autocomplete element
based on various heuristics.

  • URLCompletionController.m: (isDeleted): Use deleted flag instead of refCount. (+[URLCompletionController _tree_create]): Set deleted instead of refCount. (_keyStringFromNode): Test deleted flag instead of isKindOf:NSString. This is functionally the same thing, but would make it easier to separate out the data structure into a reusable class someday. (_findPotentialNode): Added ASSERT. (setKeyForNode): New utility routine for setting the key of a node. (deleteKeyForNode): New utility routine for deleting the key of a node. (+[URLCompletionController _tree_addItem:]): Deal with all the cases of adding items and bookmarks in different order. (+[URLCompletionController _tree_deleteItem:]): Deal with all the cases of removing items and bookmarks in different order. (_rawStringFromItem): Handle the array-of-bookmarks case. (+[URLCompletionController _loadDB]): Use GlobalHistory instead of WebHistory so we know the thing will be created if needed. (-[URLCompletionController _queryStringForAbsoluteURL:fullScan:]): This is just code factored from the next method. (-[URLCompletionController _queryStringForString:fullScan:]): Cut out code of above method for factoring. (visitCountForResult): Calc the visit count for a given result. (-[URLCompletionController _indexOfBestMatch:]): Pick the best result. (-[URLCompletionController queryResultsForString:startingMatch:]): Call _indexOfBestMatch instead of just using 0. All other changes here are diff being dumb. (+[URLCompletionController _registerForNotifications]): Use GlobalHistory instead of WebHistory so we know the thing will be created if needed. (-[URLCompletionController _addStatsForURL:]): NOP'ed code.

This is all mostly sorting out the designated inits.

  • WebBookmark.h:
  • WebBookmark.m: (-[WebBookmark initFromDictionaryRepresentation:withGroup:]): Call super like a designated init should.
  • WebBookmarkGroup.h:
  • WebBookmark.h:
  • WebBookmark.m: (-[WebBookmarkLeaf setLastVisitedDate:]): New abstract method. (-[WebBookmarkLeaf lastVisitedDate]): New abstract method.
  • WebBookmarkLeaf.m: (-[WebBookmarkLeaf init]): Call super like a designated init should. (-[WebBookmarkLeaf initWithURLString: title:group:]): Call [self init] like a non-designated init should. (-[WebBookmarkLeaf initFromDictionaryRepresentation:withGroup:]): No need to free wasted entry now that this is a designated init. (-[WebBookmarkLeaf dictionaryRepresentation]): Nil out visitCount, since we don't want this to end up in the bookmarks file. (-[WebBookmarkLeaf copyWithZone:]): Do a real copy of the HistoryItem. (-[WebBookmarkLeaf setLastVisitedDate:]): New setter. (-[WebBookmarkLeaf lastVisitedDate]): New getter.
  • WebBookmarkList.m: (-[WebBookmarkList init]): Call super like a designated init should. (-[WebBookmarkList initWithTitle:group:]): Call [self init] like a non-designated init should. (-[WebBookmarkList initFromDictionaryRepresentation:withGroup:]): Alloc _list, since we are a designated init.
  • WebBookmarkProxy.m: Nuke init method. Now that it is a designated init, it can use the inherited one. (-[WebBookmarkList initWithTitle:group:]): Call [self init] like a non-designated init should.
5:14 PM Changeset in webkit [3982] by darin
  • 7 edits in branches/Safari-70-branch

Bumped versions to 70 and 1.0 Beta 2, regenerated strings files.

5:06 PM Changeset in webkit [3981] by rjw
  • 2 edits in trunk/WebKit

Fixed 3213637. We weren't calling the correct delegate method,
setStatus: instead of webView:setStatus:

Reviewed by darin.

  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView status:]):
4:51 PM Changeset in webkit [3980] by mjs
  • 6 edits in trunk/WebKit

Reviewed by Chris.

  • fixed 3210813 - REGRESSION: full size stock chart on etrade shows up empty after viewing mini stock chart

I fixed this by adding a "negative cache" of icon URLs that loaded
something but failed to yield an icon. This prevents us from
asking for the site icon over and over, which was messing up the
session cookie.

  • Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase init]): (-[WebIconDatabase iconForURL:withSize:cache:]): (-[WebIconDatabase _updateFileDatabase]): (-[WebIconDatabase _iconsForIconURLString:]): (-[WebIconDatabase _setHaveNoIconForIconURL:]): (-[WebIconDatabase _releaseIconForIconURLString:]):
  • Misc.subproj/WebIconDatabasePrivate.h:
  • Misc.subproj/WebIconLoader.h:
  • Misc.subproj/WebIconLoader.m: (-[WebIconLoader startLoading]): (-[WebIconLoader connectionDidFinishLoading:]):
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _iconLoaderReceivedPageIcon:]):
4:39 PM Changeset in webkit [3979] by darin
  • 5 edits in trunk/WebKit
  • English.lproj/InfoPlist.strings: Changed "1.0 Beta" to "1.0 Beta 2".
  • WebKit.pbproj/project.pbxproj: Changed "1.0 Beta" to "1.0 Beta 2".
  • English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
  • English.lproj/Localizable.strings: Regenerated (new script, "1.0 Beta 2").
4:38 PM Changeset in webkit [3978] by darin
  • 4 edits in trunk/WebCore
  • English.lproj/InfoPlist.strings: Changed "1.0 Beta" to "1.0 Beta 2".
  • WebCore.pbproj/project.pbxproj: Changed "1.0 Beta" to "1.0 Beta 2".
4:37 PM Changeset in webkit [3977] by darin
  • 4 edits in trunk/JavaScriptCore
  • English.lproj/InfoPlist.strings: Changed "1.0 Beta" to "1.0 Beta 2".
  • JavaScriptCore.pbproj/project.pbxproj: Changed "1.0 Beta" to "1.0 Beta 2".
2:46 PM Changeset in webkit [3976] by hyatt
  • 4 edits in trunk/WebCore

Fixes for 3211862 and 3212750, add error-handling cases for
property values to the CSS parser so the whole sheet doesn't
get rejected.

Reviewed by darin

  • khtml/css/parser.cpp:
  • khtml/css/parser.y:
2:36 PM Changeset in webkit [3975] by rjw
  • 6 edits in trunk/WebKit

WebKit:

Reviewed by darin.

  • History.subproj/WebHistory.h: Added use of WebHistoryItemsKey instead of @"Entries".
  • History.subproj/WebHistory.m:(-[WebHistory _sendNotification:entries:]): Use WebHistoryItemsKey as key instead of @"Entries".
  • History.subproj/WebHistoryItem.m: (-[WebHistoryItem init]): Fix double allocation of WebHistoryPrivate.
  • WebKit/WebKit.exp Added export for WebHistoryItemsKey
  • WebKit/API-Issues.rtf Notes.

WebBrowser:

Use WebHistoryItemsKey as key instead of @"Entries".

Reviewed by darin.

  • URLCompletionController.m: (+[URLCompletionController _historyAdded:]): (+[URLCompletionController _historyRemoved:]):
2:31 PM Changeset in webkit [3974] by darin
  • 3 edits in trunk/WebCore

Reviewed by Chris.

  • fixed 3213093 -- REGRESSION: crash accessing menu items right after launch with about:blank as homepage
  • khtml/khtmlview.cpp: (KHTMLView::viewportMouseMoveEvent): Another place needed a check for null.
1:44 PM Changeset in webkit [3973] by hyatt
  • 3 edits in trunk/WebCore

Fix for 3211849. I accidentally removed a BORDER_COLOR case
from the switch when I removed the transparency check for
the shorthand. The case originally fell through to the case
below it, so a straight removal was wrong. I needed to add
it to the following set of case labels.

Reviewed by darin

  • khtml/css/cssstyleselector.cpp:
1:42 PM Changeset in webkit [3972] by darin
  • 3 edits in trunk/WebKit

WebKit:

Reviewed by Chris.

  • improved default behaviors in window operations delegate
  • WebView.subproj/WebDefaultWindowOperationsDelegate.m: (-[WebDefaultWindowOperationsDelegate webViewShowWindowBehindFrontmost:]): Removed unused method. (-[WebDefaultWindowOperationsDelegate webViewCloseWindow:]): Added default implementation, calls close on window. (-[WebDefaultWindowOperationsDelegate webViewFocusWindow:]): Added default implementation, makeKeyAndOrderFront. (-[WebDefaultWindowOperationsDelegate webViewUnfocusWindow:]): Added default implementation, uses _cycleWindowsReversed as needed. (-[WebDefaultWindowOperationsDelegate webViewFirstResponderInWindow:]): Added default implementation, calls firstResponder. (-[WebDefaultWindowOperationsDelegate webView:makeFirstResponderInWindow:]): Added default implementation, calls makeFirstResponder. (-[WebDefaultWindowOperationsDelegate webViewIsResizable:]): Added default implementation, calls showsResizeIndicator. (-[WebDefaultWindowOperationsDelegate webView:setResizable:]): Added default implementation, calls setShowsResizeIndicator. (-[WebDefaultWindowOperationsDelegate webView:setFrame:]): Use display:YES, not display:NO. (-[WebDefaultWindowOperationsDelegate webViewFrame:]): Return NSZeroRect if window is nil instead of random garbage. (-[WebDefaultWindowOperationsDelegate webView:setContentRect:]): Use display:YES, not display:NO. (-[WebDefaultWindowOperationsDelegate webViewContentRect:]): Return NSZeroRect if window is nil instead of random garbage. (-[WebDefaultWindowOperationsDelegate webView: runJavaScriptAlertPanelWithMessage:]): Added a FIXME because we should have a default implementation here. (-[WebDefaultWindowOperationsDelegate webView:runJavaScriptConfirmPanelWithMessage:]): Ditto. (-[WebDefaultWindowOperationsDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:]): Put a default implementation here. (-[WebDefaultWindowOperationsDelegate webView:runOpenPanelForFileButtonWithResultListener:]): Added a FIXME because we should have a default implementation here.

WebBrowser:

Reviewed by Chris.

  • fixed 3213389 -- last tab can be left showing a close button (then you get assertion/badness if you close it)
  • BrowserWindowController.m: (-[BrowserWindowController closeTab:]): Be sure to turn off the close buttons even if the tab bar is invisible at the moment you close a tab (noticed by inspection, not the bug). (-[BrowserWindowController closeOtherTabs:]): Turn off the close buttons (this was the bug).
  • fixed 3213569 -- non-frontmost tabs can grab focus, causing crash later on
  • BrowserWebController.h: Remove "window" method.
  • BrowserWebController.m: (-[BrowserWebController initWithDocument:request:frameName:]): Use the window controller's window so this works even for the non-frontmost tab. (-[BrowserWebController webViewShowWindowBehindFrontmost:]): Removed. Was eliminated from WebKit API, so unused. (-[BrowserWebController webViewUnfocusWindow:]): Removed. The WebKit default implementation now handles this fine. (-[BrowserWebController webViewIsResizable:]): Removed. The WebKit default implementation now handles this fine. (-[BrowserWebController webView:setResizable:]): Removed. The WebKit default implementation now handles this fine. (-[BrowserWebController window]): Removed. We don't want to override -[NSView window]. This fixed the bug. Had to visit all the various places window was called to make sure it was OK not to return the host window in the case of an inactive tab. (-[BrowserWebController webView:setFrame:]): Don't do anything for the case of the non-frontmost tab. (-[BrowserWebController webViewFrame:]): Use the window controller's window so this works even for the non-frontmost tab. (-[BrowserWebController webView:setContentRect:]): Don't do anything for the case of the non-frontmost tab. (-[BrowserWebController webViewContentRect:]): Use the window controller's window so this works even for the non-frontmost tab. (-[BrowserWebController webView:runJavaScriptAlertPanelWithMessage:]): Select the tab before putting up the panel. (-[BrowserWebController webView:runJavaScriptConfirmPanelWithMessage:]): Ditto. (-[BrowserWebController webView:runJavaScriptTextInputPanelWithPrompt:defaultText:]): Ditto.
11:56 AM Changeset in webkit [3971] by hyatt
  • 4 edits in trunk/WebCore

First-letter can be floated. Make sure we mutate the display
to BLOCK so that we don't make an inline when we're floating.
Fixes bug 3186004.

Reviewed by darin

  • khtml/rendering/render_block.cpp:
11:35 AM Changeset in webkit [3970] by cblu
  • 16 edits in trunk/WebKit

Fixed: 3178058 - Plug-ins are stopped/reloaded when switching tabs
Made the "Enable plug-ins" preference toggle in real-time again.

No events including null events are sent when a plug-in is in a non-frontmost tab. This causes Flash movies to pause (which is nice) and QT movies to continue to play.

Reviewed by darin.

  • Plugins.subproj/WebBaseNetscapePluginView.h:
  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): use the current window, clip out the plug-in when not in an actual window (-[WebBaseNetscapePluginView restorePortState:]): use the current window (-[WebBaseNetscapePluginView sendEvent:]): added asserts (-[WebBaseNetscapePluginView sendActivateEvent:]): tweak (-[WebBaseNetscapePluginView sendNullEvent]): tweak (-[WebBaseNetscapePluginView restartNullEvents]): tweak (-[WebBaseNetscapePluginView isInResponderChain]): tweak (-[WebBaseNetscapePluginView performKeyEquivalent:]): tweak (-[WebBaseNetscapePluginView canStart]): new, implemented by subclasses (-[WebBaseNetscapePluginView didStart]): new, implemented by subclasses (-[WebBaseNetscapePluginView addWindowObservers]): new (-[WebBaseNetscapePluginView removeWindowObservers]): new (-[WebBaseNetscapePluginView start]): check pref, call canStart, addWindowObservers and didStart (-[WebBaseNetscapePluginView stop]): call removeWindowObservers (-[WebBaseNetscapePluginView currentWindow]): new, returns the actual window else the host window (-[WebBaseNetscapePluginView initWithFrame:]): observer pref change notifications (-[WebBaseNetscapePluginView dealloc]): call removeObserver (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): stop if there is no host window (-[WebBaseNetscapePluginView viewDidMoveToWindow]): start if we moved to a window (-[WebBaseNetscapePluginView viewWillMoveToHostWindow:]): stop if there will be no windows (-[WebBaseNetscapePluginView viewDidMoveToHostWindow]): start if there is a window (-[WebBaseNetscapePluginView preferencesHaveChanged:]): renamed, start or stop (-[WebBaseNetscapePluginView destroyStream:reason:]): tweak (-[NSData _web_locationAfterFirstBlankLine]): tweak
  • Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView initWithFrame:]): call setAutoresizingMask here (-[WebNetscapePluginDocumentView canStart]): new, return YES if there is a data source (-[WebNetscapePluginDocumentView didStart]): redeliver the stream if there is any data (-[WebNetscapePluginDocumentView setDataSource:]): start if there is a current window (-[WebNetscapePluginDocumentView layout]): no need to call setWindow, this is done in the superclass (-[WebNetscapePluginDocumentView viewWillMoveToHostWindow:]): forward to super to make compiler happy (-[WebNetscapePluginDocumentView viewDidMoveToHostWindow]): forward to super to make compiler happy
  • Plugins.subproj/WebNetscapePluginEmbeddedView.m: (-[WebNetscapePluginEmbeddedView didStart]): start the load (-[WebNetscapePluginEmbeddedView dataSource]): tweak
  • WebView.subproj/WebDocument.h: added viewWillMoveToHostWindow: and viewDidMoveToHostWindow
  • WebView.subproj/WebFramePrivate.h:
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _viewWillMoveToHostWindow:]): forward to document view and subframes (-[WebFrame _viewDidMoveToHostWindow]): forward to document view and subframes
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView viewWillMoveToHostWindow:]): forward to plug-in views (-[WebHTMLView viewDidMoveToHostWindow]): forward to plug-in views (-[NSArray _web_makePluginViewsPerformSelector:withObject:]): new
  • WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _reset]): don't stop plug-ins here. WebBaseNetscapePluginView can handle that
  • WebView.subproj/WebImageView.m: (-[WebImageView viewWillMoveToHostWindow:]): implement new WebDocumentView methods (-[WebImageView viewDidMoveToHostWindow]): implement new WebDocumentView methods
  • WebView.subproj/WebTextView.m: (-[WebTextView viewWillMoveToHostWindow:]): implement new WebDocumentView methods (-[WebTextView viewDidMoveToHostWindow]): implement new WebDocumentView methods
  • WebView.subproj/WebView.h:
  • WebView.subproj/WebView.m: (-[WebView setHostWindow:]): new (-[WebView hostWindow]): new
  • WebView.subproj/WebViewPrivate.h:
  • WebView.subproj/WebViewPrivate.m: (-[WebViewPrivate dealloc]): release the host window
10:44 AM Changeset in webkit [3969] by darin
  • 2 edits in trunk/WebKit

WebKit:

Reviewed by John.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge nextKeyViewOutsideWebFrameViews]): Get next key view from WebView, only using the top level WebFrameView if the WebView doesn't have one set (for compatibility in case some of our current WebKit clients are using this). (-[WebBridge previousKeyViewOutsideWebFrameViews]): Ditto.

WebBrowser:

Reviewed by John.

  • fixed 3213095 -- REGRESSION: can't clear History; selector removeAllEntries not recognized
  • GlobalHistory.m: (-[GlobalHistory appendClearHistoryItemToMenuWithEnabledState:]): Use the new name, removeAllItems, instead of the old name removeAllEntries.
  • use the WebView for the keyboard loop rather than going at the WebFrameView explicitly
  • BrowserWindowController.m: (-[BrowserWindowController updateKeyboardLoop]): Just use WebView instead of digging in for the WebFrameView.
10:29 AM Changeset in webkit [3968] by darin
  • 4 edits in trunk/WebKit

Reviewed by John.

  • fixed 3211730 -- REGRESSION: Flash spawns blank page then loads new page inside banner itself
  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadPluginRequest:]): Load the request in the frame we found or created, not always in our own frame (oops!).
  • other changes
  • History.subproj/WebHistory.h: Update comments to all say "Item" instead of "Entry". They didn't match the method names any more.
  • WebView.subproj/WebView.m: (-[WebView acceptsFirstResponder]): Return YES. (-[WebView becomeFirstResponder]): Pass first responder on to the WebFrameView in the same way the WebFrameView passes it on to the document view.
10:23 AM Changeset in webkit [3967] by darin
  • 5 edits in trunk/WebCore

Reviewed by John.

  • fixed 3213093 -- accessing menu items immediately after launch causes crash when about:blank is homepage
  • khtml/khtmlview.cpp: (isSubmitImage): Add check for node of 0.
  • fixed 3211461 -- crash in KWQListIteratorImpl tabbing through w3c test page
  • kwq/KWQKHTMLPart.h: Added childFrameForPart function, better than KHTMLPart::frame because it works for HTML frames inside objects as well as plain old HTML frames.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::childFrameForPart): Like KHTMLPart::frame, but looks through m_objects too. (KWQKHTMLPart::nextKeyViewInFrameHierarchy): Use childFrameForPart instead of frame function.

Mar 30, 2003:

7:36 PM Changeset in webkit [3966] by mjs
  • 4 edits in trunk/WebKit

Reviewed by Darin.

  • fixed 3204257 - CNN's 'war on iraq' ticker stops on mouseover
  • WebView.subproj/WebHTMLViewPrivate.h:
  • WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _updateMouseoverWithEvent:]): When leaving an HTML view, tell it that the mouse moved outside everything in the view, even accounting for scrolled off portions (otherwise khtml gets confused). This makes cross-frame mouse enter/leave work properly. (-[WebHTMLView _clearLastHitViewIfSelf]): Method to clear last hit view, so we don't need to retain it.
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView dealloc]): Call _clearLastHitViewIfSelf.
6:53 PM Changeset in webkit [3965] by mjs
  • 5 edits in trunk/WebCore

Reviewed by Darin.

  • fixed 3206524 - incyte.com "load properties" function does not work
  • khtml/html/html_documentimpl.cpp: (HTMLDocumentImpl::close): Make sure to clear the tokenizer before firing the onLoad handler, otherwise document.write from inside an onLoad handler will fail.
  • khtml/xml/dom_docimpl.h:
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::close): Call closeInternal. (DocumentImpl::closeInternal): New version of close that allows bypassing the tokenizer null check, in case we already deleted the tokenizer/
12:10 AM Changeset in webkit [3964] by mjs
  • 3 edits in trunk/WebCore

Reviewed by Trey.

  • fixed 3169064 - can't search at lonelyplanet.com; onSubmit handler fails due to problem addressing radio button
  • khtml/ecma/kjs_dom.cpp: (DOMNamedNodesCollection::tryGet): Allow lookup by id as well as by integer index.

Mar 29, 2003:

11:22 PM Changeset in webkit [3963] by mjs
  • 3 edits in trunk/WebCore

Reviewed by Trey.

  • fixed 3138427 - new window opened by javascript is too small for popcap.com game
  • khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): Be a bit more tolerant of misformatted attribute strings.
11:20 PM Changeset in webkit [3962] by mjs
  • 3 edits in trunk/WebCore

Reviewed by Trey.

  • fixed 3180786 - Can't log in to the LL Bean Web site

The problem on this site was misnested tags, leading to two FORM
elements that were nested. Both their onSubmit handlers fired, and
the outer one returned false. The fix was to avoid bubbling submit
events, since this can never be useful in a valid document and
because that is what other browsers seem to do, and what Win IE
documents.

  • khtml/html/html_formimpl.cpp: (HTMLFormElementImpl::prepareSubmit): Don't allow the submit event to bubble.
4:46 PM Changeset in webkit [3961] by mjs
  • 2 edits in trunk/WebCore

Corrected reviewer in ChangeLog.

4:46 PM Changeset in webkit [3960] by mjs
  • 3 edits in trunk/WebCore

Reviewed by Ken.

  • improved on Darin's fix for 3211289 - REGRESSION: nil-deref in bridgeForWidget
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::bridgeForWidget): Special-case KHTMLView - this is the only kind of widget in the program that's not a form control (so nodeForWidget would return nil for it).
Note: See TracTimeline for information about the timeline view.