⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Dec 9, 2002:

9:45 PM Changeset in webkit [2986] by mjs
  • 2 edits in trunk/WebKit

Reviewed by Trey.

  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Treat a click on a link to the same URL with an anchor as a scroll to anchor, not a same URL load. (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Avoid adding the same anchor URL to the back/forward list many times.
9:00 PM Changeset in webkit [2985] by darin
  • 16 edits in trunk

Tools:

Reviewed by Maciej.

  • Scripts/set-alex-version: Make it bump the source version and marketing version of all our subprojects, because that's what we need up until Alex 1.0.

JavaScriptCore:

Reviewed by Maciej.

  • JavaScriptCore.pbproj/project.pbxproj: Bump versions to 0.8 and 35u.
  • English.lproj/InfoPlist.strings: In here too.

WebFoundation:

Reviewed by Maciej.

  • fixed problems I noticed in my review of Chris's change (which came in too late)
CacheLoader.subproj/WebResourceLoad.m: (_guessMIMEType): Fix && vs.
confusion that

will make CR, LF, and tab not qualify as text characters. Also take end of loop check
out of the loop.

  • added a method for use in user-agent computations
  • Misc.subproj/WebNSUserDefaultsExtras.h: Added _web_preferredLanguageCode.
  • Misc.subproj/WebNSUserDefaultsExtras.m: (+[NSUserDefaults _web_preferredLanguageCode]): Use _web_HTTPStyleLanguageCode on the first element of the AppleLanguages array.
  • WebFoundation.pbproj/project.pbxproj: Bump versions to 0.8 and 35u. Make WebNSUserDefaultsExtras.h SPI so we can use it in WebKit. Re-sort things a bit.
  • English.lproj/InfoPlist.strings: Bump versions in here too.
  • English.lproj/StringsNotToBeLocalized.txt: Updated for these and other recent changes.

WebCore:

Reviewed by Maciej.

  • WebCore.pbproj/project.pbxproj: Bump versions to 0.8 and 35u.

WebKit:

Reviewed by Maciej.

  • fixed 3028664 -- change user agent string to include application name and version
  • WebView.subproj/WebController.m: (-[WebController setApplicationNameForUserAgent:]): Remove locking, unneeded since we changed how WebFoundation handles user agent. (-[WebController setCustomUserAgent:]): Ditto. (-[WebController resetUserAgent]): Ditto. (-[WebController userAgentForURL:]): Remove locking. Also add new algorithm for computing the user agent which takes the preferred language into account, and incorporates the WebKit version and the application name.
  • WebView.subproj/WebControllerPrivate.h: No need for a lock.
  • WebView.subproj/WebControllerPrivate.m: (-[WebControllerPrivate init]): Don't create a lock. (-[WebControllerPrivate dealloc]): Don't release a lock.
  • WebKit.pbproj/project.pbxproj: Bump versions to 0.8 and 35u.
  • English.lproj/InfoPlist.strings: In here too.
  • English.lproj/StringsNotToBeLocalized.txt: Updated for these and other recent changes.

WebBrowser:

Reviewed by Maciej.

  • pass properly-formatted application name string to WebKit so it can make a good user-agent
  • BrowserWebController.m: (-[BrowserWebController initWithBrowserDocument:]): Instead of passing "Mr. Poopypants", pass Sherlock, augmented with version strings, to setApplicationNameForUserAgent:. Later we will pass Safari instead.
  • WebBrowser.pbproj/project.pbxproj: Bump version to 35u (we won't use " unofficial" any more).
  • English.lproj/StringsNotToBeLocalized.txt: Updated for these changes.
8:16 PM Changeset in webkit [2984] by mjs
  • 8 edits in trunk/WebCore

Reviewed by Dave.

  • fixed 3117734 - fail at document.releaseEvents in js at rollingstone.com
  • khtml/ecma/kjs_html.cpp: (KJS::HTMLDocFunction::tryCall): Added no-op implementations of captureEvents and releaseEvents. (KJS::HTMLDocument::tryGet):
  • khtml/ecma/kjs_html.h:
  • khtml/ecma/kjs_window.cpp: (Window::get, WindowFunc::tryCall): Added no-op implementation of releaseEvents.
  • khtml/ecma/kjs_window.h:
  • khtml/ecma/kjs_html.lut.h: Regenerated.
  • khtml/ecma/kjs_window.lut.h: Regenerated.
7:27 PM Changeset in webkit [2983] by hyatt
  • 3 edits in trunk/WebCore

Fix for the CSS test suite link. Need to make sure inlines
that are obscured by blocks are properly considered to be
above the block background.

Reviewed by LUCKY WINNER

  • khtml/rendering/render_object.cpp: (RenderObject::nodeAtPoint):
5:24 PM Changeset in webkit [2982] by darin
  • 17 edits in trunk/WebCore

Reviewed by Trey.

  • made KWQKHTMLPart a subclass of KHTMLPart so we can override virtual functions
  • khtml/khtml_part.h: Get rid of kwq pointer.
  • khtml/khtml_part.cpp: (KHTMLPart::init): No need to make a KWQKHTMLPart any more. (KHTMLPart::~KHTMLPart): No need to delete a KWQKHTMLPart any more. (KHTMLPart::closeURL): KWQKHTMLPart does saveDocumentState in an override now. (KHTMLPart::begin): KWQ() instead of ->kwq. (KHTMLPart::checkCompleted): KWQ() instead of ->kwq, and ifdef out some unneeded code. (KHTMLPart::urlSelected): KWQ() instead of ->kwq. (KHTMLPart::requestFrameName): KWQ() instead of ->kwq. (KHTMLPart::processObjectRequest): Just call openURL, since we are now KWQKHTMLPart. (KHTMLPart::submitForm): KWQ() instead of ->kwq. (KHTMLPart::popupMenu): Did a bit more ifdef'int out here.
  • kwq/KWQKHTMLPart.h: Include "khtml_part.h" and remove includes we don't need any more. Inherit from KHTMLPart instead of QObject. Remove KHTMLPart parameter from constructor. Override openURL and closeURL. Remove part and d pointers. Add KWQ() inline to avoid casting.
  • kwq/KWQKHTMLPart.mm: (KHTMLPart::completed): KWQ() instead of ->kwq. (KHTMLPart::openURL): Never reached now, since we override. (KHTMLPart::setStatusBarText): KWQ() instead of ->kwq. (KHTMLPart::started): KWQ() instead of ->kwq. (KWQKHTMLPart::KWQKHTMLPart): No need to deal with separate part. (KWQKHTMLPart::bridgeForFrameName): KWQ() instead of ->kwq. (KWQKHTMLPart::openURL): Add bool return value so we can override the existing openURL. (KWQKHTMLPart::slotData): Remove unneeded part->. (KWQKHTMLPart::setView): Remove unneeded part->. (KWQKHTMLPart::document): Remove unneeded part->. (KWQKHTMLPart::renderer): Remove unneeded part->. (KWQKHTMLPart::userAgent): Remove unneeded part->. (KWQKHTMLPart::nextKeyViewInFrame): KWQ() instead of ->kwq. (KWQKHTMLPart::nextKeyViewInFrameHierarchy): KWQ() instead of ->kwq. (KWQKHTMLPart::canCachePage): Remove unneeded part->. (KWQKHTMLPart::saveWindowProperties): Use this instead of part. (KWQKHTMLPart::saveLocationProperties): Use this instead of part. (KWQKHTMLPart::restoreWindowProperties): Use this instead of part. (KWQKHTMLPart::restoreLocationProperties): Use this instead of part. (KWQKHTMLPart::openURLFromPageCache): Remove unneeded part->. (KWQKHTMLPart::partForNode): KWQ() instead of ->kwq. (KWQKHTMLPart::updatePolicyBaseURL): Remove unneeded part->. (KWQKHTMLPart::setPolicyBaseURL): Remove unneeded part->. (KWQKHTMLPart::createDummyDocument): Use this instead of part. (KWQKHTMLPart::scrollToAnchor): Remove unneeded part->. (KWQKHTMLPart::closeURL): Added. Calls saveDocumentState().
  • kwq/WebCoreBridge.h: Use KWQKHTMLPart instead of KHTMLPart.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge init]): Make a KWQKHTMLPart. Use _part instead of _part->kwq in the rest of the file.
  • kwq/KWQSignal.mm: (KWQSignal::disconnect): Add the names of a few signals that are disconnected after the KWQKHTMLPart part of the KHTMLPart is destroyed, to avoid noise.
  • khtml/ecma/kjs_navigator.cpp: (Navigator::getValueProperty): KWQ() instead of ->kwq.
  • khtml/ecma/kjs_proxy.cpp: (KJSProxyImpl::initScript): KWQ() instead of ->kwq.
  • khtml/ecma/kjs_window.cpp: (Window::scheduleClose): KWQ() instead of ->kwq. (WindowFunc::tryCall): KWQ() instead of ->kwq.
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::setTitle): KWQ() instead of ->kwq.
  • kwq/KWQKHTMLPartBrowserExtension.mm: (KHTMLPartBrowserExtension::openURLRequest): KWQ() instead of ->kwq. (KHTMLPartBrowserExtension::createNewWindow): KWQ() instead of ->kwq. (KHTMLPartBrowserExtension::setIconURL): KWQ() instead of ->kwq. (KHTMLPartBrowserExtension::setTypedIconURL): KWQ() instead of ->kwq.
  • kwq/KWQKJavaAppletWidget.mm: (KJavaAppletWidget::showApplet): KWQ() instead of ->kwq.
  • kwq/KWQLoader.mm: (KWQServeRequest): Cast to KWQKHTMLPart instead of casting to KHTMLPart and doing ->kwq. (KWQCheckIfReloading): Ditto. (KWQCheckCacheObjectStatus): Ditto.
  • WebCore.pbproj/project.pbxproj: Let Electron punish the wicked.
3:24 PM Changeset in webkit [2981] by rjw
  • 20 edits in trunk

Many changes for b/f list.

  1. Always attempt to cache snap back items.
  2. Lazily release resources from page cache. This garners gains on the PLT (and presumably iBench) tests, both for uncached.
  3. Set the page cache size to 4 (+ snap back items). After releasing resources we hover around 28MB footprint. Closing windows releases all resources.
  4. Turn on the back/forward cache by default. The menu item still allows you to toggle b/f on and off. Useful when conducting speed comparison in the PLT.
  5. Addition of lazy update to PLT memory statistics to show footprint after lazy release of page cache resources.
  6. Delayed to leak detector to account for lazy release of resources.
  7. A change when saving a page to back/forward cache to clear and restore the documents root renderer. Without this fix pages would appear to 'flicker' more when content arrived.
  8. A change to ensure a layout when restoring a page from the b/f cache. Without this fix scrollbars wouldn't appear correctly.
  9. A change to ensure that khtmlview layout and paint timers are unscheduled when a page is placed in the b/f cache.
  10. A fix to decouple of khtmlview from it's part when placed in the b/f cache. This fixed a crash caused by inappropriate deference of the part when a page cache item was released.
  11. A comment in KHTMLPageCache.h explaining the that our page cache is not the same as the khtml page cache. (Their cache just cached the html source.)
  12. Reapply styles when loading page from cache. This ensures that visited link get the appropriate style.

Reviewed by kocienda.

  • History.subproj/WebBackForwardList.m: (+[WebBackForwardList pageCacheSize]): (+[WebBackForwardList setUsesPageCache:]): (+[WebBackForwardList usesPageCache]):
  • History.subproj/WebHistoryItem.h:
  • History.subproj/WebHistoryItem.m: (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]): (-[WebHistoryItem alwaysAttemptToUsePageCache]): (+[WebHistoryItem _invalidateReleaseTimer]): (-[WebHistoryItem _scheduleRelease]): (+[WebHistoryItem _releaseAllPendingPageCaches]): (-[WebHistoryItem _releasePageCache:]): (-[WebHistoryItem setHasPageCache:]): (-[WebWindowWatcher windowWillClose:]):
  • WebView.subproj/WebDataSourcePrivate.h:
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading:]): (-[WebDataSource _commitIfReady:]): (-[WebDataSource _loadingFromPageCache]):
  • WebView.subproj/WebDynamicScrollBarsView.h:
  • WebView.subproj/WebFramePrivate.h:
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _purgePageCache]): (+[WebFrame _timeOfLastCompletedLoad]): (-[WebFrame _setState:]): (-[WebFrame _opened]): (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):
  • WebView.subproj/WebPreferences.m: (+[WebPreferences load]):

WebCore

Reviewed by kocienda.

  • khtml/html/html_documentimpl.cpp: (HTMLDocumentImpl::clearTimers):
  • khtml/html/html_documentimpl.h:
  • khtml/khtmlview.cpp: (KHTMLView::clearPart): (KHTMLView::timerEvent):
  • khtml/khtmlview.h:
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::restoreRenderer): (DocumentImpl::detach):
  • khtml/xml/dom_docimpl.h:
  • kwq/KWQKHTMLPageCache.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge openURL:reload:headers:lastModified:pageCache:]): (-[WebCoreBridge saveDocumentToPageCache]): (-[KWQPageState initWithDocument:DOM::URL:windowProperties:KJS::locationProperties:KJS::]): (-[KWQPageState dealloc]): (-[KWQPageState KJS::]): (-[KWQPageState khtml::]):

WebBrowser

Make the memory check fire again after a delay.
This will show the high water mark first, and then
the footprint after the lazy release of resource has completed.

Reviewed by kocienda.

  • BrowserDocument.m: (-[BrowserDocument setSearchResultsForSnapBack:]): (-[BrowserDocument setPageForSnapBack:]):
  • Debug/DebugUtilities.m: (-[DebugUtilities createDebugMenu]):
  • Test/PageLoadTestController.m: (-[PageLoadTestController testFinishedNotification:]):
  • Test/PageLoadTestRunner.m: (-[PageLoadTestRunner checkForWorldLeaks]): (-[PageLoadTestRunner checkForWorldLeaksNow]):
3:16 PM Changeset in webkit [2980] by darin
  • 1 edit in trunk/WebKit/WebView.subproj/WebHTMLView.m

Oops.

3:16 PM Changeset in webkit [2979] by darin
  • 2 edits in trunk/WebKit

Reviewed by Chris.

  • fixed 3122608 -- REGRESSION: Downloads can't be cancelled

When I fixed the leak for other categories of policy interruption, I messed
things up for downloads. Added new parameters to handle this right.

  • WebView.subproj/WebBaseResourceHandleDelegate.h: Remove isDownload flag.
  • WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate isDownload]): Return NO, override in subclass. (-[WebBaseResourceHandleDelegate handle:didReceiveResponse:]): Call isDownload method instead of looking at flag directly.
  • WebView.subproj/WebControllerPrivate.h: Add complete: parameter to _mainReceivedError:.
  • WebView.subproj/WebControllerPrivate.m: (-[WebController _mainReceivedError:fromDataSource:complete:]): If complete is NO, then don't mark the primary load as complete.
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient isDownload]): Added. Returns YES if downloadHandler is non-nil. (-[WebMainResourceClient receivedError:complete:]): Added complete parameter. Call the _setPrimaryLoadComplete: method in the download case (fixes a possible leak), and pass the complete parameter through to the controller. (-[WebMainResourceClient cancel]): Pass complete:YES. (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]): Added the keepLoading flag, and pass complete:!keepLoading. (-[WebMainResourceClient stopLoadingForPolicyChange]): Pass keepLoading:NO. (-[WebMainResourceClient continueAfterContentPolicy:response:]): Pass keepLoading:YES, and remove the call to the now-obsolete setIsDownload:. (-[WebMainResourceClient handle:didFailLoadingWithError:]): Pass complete:YES.
3:14 PM Changeset in webkit [2978] by darin
  • 11 edits in trunk/WebKit

Reviewed by Chris.

  • fixed 3122608 -- Downloads can't be cancelled

When I fixed the leak for other categories of policy interruption, I messed
things up for downloads. Added new parameters to handle this right.

  • WebView.subproj/WebBaseResourceHandleDelegate.h: Remove isDownload flag.
  • WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate isDownload]): Return NO, override in subclass. (-[WebBaseResourceHandleDelegate handle:didReceiveResponse:]): Call isDownload method instead of looking at flag directly.
  • WebView.subproj/WebControllerPrivate.h: Add complete: parameter to _mainReceivedError:.
  • WebView.subproj/WebControllerPrivate.m: (-[WebController _mainReceivedError:fromDataSource:complete:]): If complete is NO, then don't mark the primary load as complete.
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient isDownload]): Added. Returns YES if downloadHandler is non-nil. (-[WebMainResourceClient receivedError:complete:]): Added complete parameter. Call the _setPrimaryLoadComplete: method in the download case (fixes a possible leak), and pass the complete parameter through to the controller. (-[WebMainResourceClient cancel]): Pass complete:YES. (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]): Added the keepLoading flag, and pass complete:!keepLoading. (-[WebMainResourceClient stopLoadingForPolicyChange]): Pass keepLoading:NO. (-[WebMainResourceClient continueAfterContentPolicy:response:]): Pass keepLoading:YES, and remove the call to the now-obsolete setIsDownload:. (-[WebMainResourceClient handle:didFailLoadingWithError:]): Pass complete:YES.
11:00 AM Changeset in webkit [2977] by trey
  • 10 edits in trunk/WebCore

Fixed 3115903 - exchangehomes.com sometimes has form state poorly restored

KHTML is much smarter about restoring form state now, taking into account element names and
types instead of blindly blasting data by simple element ordering. We encode the name
and type at the front of the "state" strings that previously just held the value of the
element.

QString::endsWith() was just plain wrong. Looks like it had some copied code, but was
never really implemented.

Reviewed by: Darin Adler

  • WebCore.pbproj/project.pbxproj: PB is hellbent on adding "shouldUseHeadermap = 0;"
  • khtml/html/html_formimpl.cpp: (encodedElementName): Utility func to encode an element name, escaping amp and lt (HTMLGenericFormElementImpl::state): Build the prefix of an element's state string, e.g. ELEMENT_NAME&ELEMENT_TYPE& (HTMLGenericFormElementImpl::findMatchingState): Find a matching piece of state out of the list of state strings that were previously saved. (HTMLFieldSetElementImpl::type): Return our element type. (HTMLInputElementImpl::state): Call super as part of building state string. (HTMLInputElementImpl::restoreState): Use findMatchingState. (HTMLLegendElementImpl::type): Return our element type. (HTMLSelectElementImpl::state): Call super as part of building state string. (HTMLSelectElementImpl::restoreState): Use findMatchingState. (HTMLKeygenElementImpl::type): Return our element type. (HTMLOptGroupElementImpl::type): Return our element type. (HTMLOptionElementImpl::type): Return our element type. (HTMLTextAreaElementImpl::state): Call super as part of building state string. (HTMLTextAreaElementImpl::restoreState): Use findMatchingState.
  • khtml/html/html_formimpl.h: type() is moved up to HTMLGenericFormElementImpl
  • khtml/html/htmlparser.cpp: (KHTMLParser::insertNode): Pass list of states to restoreState. (KHTMLParser::popOneBlock): Pass list of states to restoreState.
  • khtml/xml/dom_docimpl.h: Add method to return the whole list of form states.
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::restoreState): Nodes receive the whole list of form states to restore from, not just a single state that has already been chosen.
  • khtml/xml/dom_nodeimpl.h:
  • kwq/KWQString.mm: (QString::endsWith): Walk the search string correctly.
8:49 AM Changeset in webkit [2976] by mjs
  • 3 edits in trunk/WebCore

Reviewed by Darin.

  • fixed 3103954 - preferences not displayed properly at excite.com
  • khtml/html/html_formimpl.cpp: (HTMLInputElementImpl::value): If a radio or checkbox input has a value, return that rather than something based on the checked state. Only fall back on the checked state if there is no value.
8:36 AM Changeset in webkit [2975] by mjs
  • 3 edits in trunk/WebCore

Reviewed by Darin.

  • fixed 3103036 - REGRESSION: scripts dropped from DOM tree; javascript text rendered to screen

The problem here is that we don't allow SCRIPT inside MAP, so the
script tag gets thrown away in the DOM and the text is added
directly to the MAP. I can't see a good reason not to allow SCRIPT
here, so I think the best thing to do is relax the DTD.

  • khtml/html/dtd.cpp: (DOM::checkChild): Relax the DTD to allow SCRIPT inside MAP.
8:21 AM Changeset in webkit [2974] by mjs
  • 3 edits in trunk/JavaScriptCore

Reviewed by Ken.

  • fixed 3059637 - all articles missing at excite.com sports page
  • fixed 3065903 - most of content missing at excite.com news page

These bugs both came up because a JavaScript function has a var
declaration that collides with a function parameter name.

  • kjs/nodes.cpp: (VarDeclNode::processVarDecls): Don't set the property to undefined if a property with that name is already set on the global object. Otherwise we may clobber function parameters with undefined even before hitting a possible var initializer.

Dec 8, 2002:

11:12 PM Changeset in webkit [2973] by hyatt
  • 4 edits in trunk/WebCore

Fix for 3007276, styles do not cascade properly through
tables. The font was being reset to the default font
(konq_default) when it needed to be reset to the body's font.
I added a new font family value called konq_body and the
style system resolves that value to be the body's font family list.

Reviewed by: gramps and mjs

  • khtml/css/cssstyleselector.cpp:
  • khtml/html/html_tableimpl.cpp: (HTMLTableElementImpl::attach):
9:48 PM Changeset in webkit [2972] by hyatt
  • 4 edits in trunk/WebCore

Fix for 3121814. Forms inside table elements (tbody and table
etc.) can be inline. Just remove the assert and replace it
with a bailout.

Fix for 3036479. Tables with specified heights but cells
with no height (or no cells at all) were not honoring
the specified height.

Reviewed by: gramps

  • khtml/rendering/render_table.cpp: (RenderTable::RenderTable): (RenderTable::startRow): (RenderTable::layoutRows): (RenderTable::paint): (RenderTable::recalcCells):
9:41 PM Changeset in webkit [2971] by mjs
  • 3 edits in trunk/WebCore

Reviewed by Dave.

  • fixed 2981252 - JavaScript inside <!-- --> comments inside <select> is not executed

This problem is caused by the hack to turn all whitespace into
spaces inside <select>, so that it's collapsed in the DOM. But
this is especially bad for scripts inside select tags, so I
changed the select special case to not apply inside scripts.

  • khtml/html/htmltokenizer.cpp: (HTMLTokenizer::addPending): (HTMLTokenizer::write):
7:39 PM Changeset in webkit [2970] by darin
  • 18 edits in trunk

WebFoundation:

Reviewed by Don and Dave.

  • English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
  • WebFoundation.pbproj/project.pbxproj: Let Electron be Electron.

WebCore:

Reviewed by Don and Dave.

  • fixed 3115845 -- bad-pointer crash destroying DOM tree reproducible at a particular site

All hail libgmalloc, without which this would just be another bug I can't reproduce!

This memory trasher bug was caused bug calling setChildrenLoaded after casting a node to
HTMLObjectElementImpl, when the node wasn't always an object element. It turns out that this
fix was made obsolete a while back when I changed close on renderers to be delivered even for
cases where the renderer is not created yet at close time.

  • khtml/html/htmlparser.cpp: (KHTMLParser::processCloseTag): Remove the special case for </object>. Now that this is fixed another way we don't need this at all.
  • khtml/html/html_objectimpl.h: Remove setChildrenLoaded and m_childrenLoaded.
  • khtml/html/html_objectimpl.cpp: (HTMLObjectElementImpl::HTMLObjectElementImpl): Remove code that sets m_childrenLoaded to false. (HTMLObjectElementImpl::attach): Remove code that looks at m_childrenLoaded, since we don't need it any more (and in fact there's no way to set it any more).
  • fixed 3120578 -- REGRESSION: going to about:blank creates null view

If no tokens are ever sent to the parser, then we end up without a render tree.

  • khtml/html/htmlparser.h: Add finished() function.
  • khtml/html/htmlparser.cpp: (KHTMLParser::finished): Make an HTML element if the document is still empty at this point. This is identical to what KHTMLParser::insertNode does when you insert any kind of element other than an HTML element.
  • khtml/html/htmltokenizer.cpp: (HTMLTokenizer::end): Call finished() to let the parser know.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::paint): Turn on the "paint red" feature in development builds. Null view problems are particularly hard to debug without something like this, and we don't care if development builds are ever-so-slightly slower. No change in deployment.
  • fixed 3121527 -- crash in WebCoreBridge frameBorderStyle
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge frameBorderStyle]): Handle case where this is called and we don't have a KHTMLView yet.
  • other changes
  • WebCore.pbproj/project.pbxproj: Electron is doing his thing.

WebKit:

Reviewed by Don and Dave.

  • fixed 3120578 -- REGRESSION: going to about:blank creates null view

This part of the fix makes sure that a renderer is created, even when there are no bytes
of data passed through. This makes the empty document about:blank case work just like the
"document with just whitespace in it case". There's another part of the fix in WebCore that
takes care of the remaining problem.

  • WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): Call receivedData:withDataSource: on the bridge with nil for the data. It would be even more elegant to add a new call for the case where we finish, but it's not necessary, since the existing receivedData: call does all the right things if passed nil.
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _finishedLoading]): Call finishedLoadingWithDataSource: here, to make sure it's done after committing. This parallels what we already do for the didReceiveData call.
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handleDidFinishLoading:]): Remove the call to finishedLoadingWithDataSource: because it's handled by _finishedLoading now. This parallels what we already do for the didReceiveData call.
  • fixed long standing problem where resizing could make you see a "null view"
  • WebView.subproj/WebView.m: (-[WebView drawRect:]): Add a "paint cyan" feature in development builds. Null view problems are particularly hard to debug without something like this, and we don't care if development builds are slightly slower. No change in deployment. (-[WebView setFrameSize:]): Tell the scroll view to draw the background if we are resized. We can't do our "let the old bits show through" thing any more if we have to redraw because of resizing.
  • other changes
  • WebKit.pbproj/project.pbxproj: Remove the old -DAPPLE_CHANGES and -DHAVE_CONFIG_H that we once needed when WebKit used to compile C++ headers from the KHTML part of WebCore. We haven't needed those for ages. Also sort things a bit, using the new Electron feature for sorting lists of files alphabetically, and some by hand.
  • English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.

WebBrowser:

Reviewed by Don and Dave.

  • English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
6:42 PM Changeset in webkit [2969] by cblu
  • 5 edits in trunk/WebKit

WebKit:

Fixed: 3121627 - REGRESSION: partial progress is left in address field after download

Reviewed by: darin

In WebMainResourceClient, make sure to always call receivedError before _clearProvisionalDataSource so that
receivedError works. This is done in multiple places, so I factored this out into one method interuptForPolicyChange.

  • WebView.subproj/WebControllerPrivate.m: (-[WebController _mainReceivedError:fromDataSource:]): added asserts for nil error, dataSource and frame
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient interruptForPolicyChange]): renamed from notifyDelegatesOfInterruptionByPolicyChange because it now also sets the provisionalDataSource on the frame to nil. (-[WebMainResourceClient stopLoadingForPolicyChange]): call interruptForPolicyChange, stop load (-[WebMainResourceClient continueAfterContentPolicy:response:]): call interruptForPolicyChange

WebBrowser:

Fixed: 3121284 - REGRESSION: Downloaded item's URL is left in address field

Reviewed by: darin

  • BrowserWindowController.m: (-[BrowserWindowController updateLocationFieldText]): If the provisional data source has ended in error, don't use its URL.
1:08 PM Changeset in webkit [2968] by hyatt
  • 3 edits in trunk/WebCore

Fix for image bullets. They were neglecting to offset
themselves by their own width, and were just relying on
sheer luck (the default margin) to accommodate their
size. The bug is 3007040 (borkware.com).

Reviewed by: gramps

  • khtml/rendering/render_list.cpp: (RenderListMarker::paintObject):

Dec 7, 2002:

6:06 PM Changeset in webkit [2967] by hyatt
  • 5 edits in trunk/WebCore

This change fixes three bugs in list items.

(1) Stop implementing markers as floats. This is simply
wrong. The bullet doesn't affect the height of the line
box if it's a float, and it can also affect other
list items that follow the bullet's enclosing list item
(leading to odd staggered layout of lists).

(2) Relax the DTD. It was trying to obey strict HTML, which
is hopeless in the case of lists. Match the behavior of
both Gecko and the IEs (mac and win32) and allow non-list
content to be inserted between list items without being
wrapped in its own list item. Lists were making empty
items for whitespace in between items, and this stops that
and makes our lists behave much more like Gecko and the IEs.

(3) The bullet's min and max width weren't getting set, which
could lead to confused line width calculations when image
bullets were used.

Reviewed by: gramps

  • ChangeLog:
  • khtml/html/dtd.cpp: (DOM::checkChild):
  • khtml/rendering/bidi.cpp: (RenderFlow::findNextLineBreak):
  • khtml/rendering/render_list.cpp: (RenderListItem::setStyle): (RenderListMarker::calcMinMaxWidth):
5:03 PM Changeset in webkit [2966] by kocienda
  • 3 edits in trunk/WebCore

Tests:

Reviewed by: Maciej

Fix for this bug:

Radar 3073988 (URLs with /../ are not resolved before being sent to the host)

  • TestURLs.h: Added some new test URLs. Added a new TestAbsoluteURLsWithRelativePortions array.
  • WebFoundation-Misc/ifnsurlextensions-test.chk: Updated for changed behavior.
  • kde/Makefile.am: Added new kurl-relative-test.
  • kde/kurl-relative-test.chk: Added.
  • kde/kurl-relative-test.cpp: Added.
  • kde/kurl-test.chk: Updated for changed behavior.

WebFoundation:

Reviewed by: Maciej

Fix for this bug:

Radar 3073988 (URLs with /../ are not resolved before being sent to the host)

  • Misc.subproj/WebNSURLExtras.m: (pathRemovingDots): New code that was adapted from KURL relative URL resolution code. (-[NSURL _web_URLComponents]): Call new pathRemovingDots function where needed.

WebCore:

Reviewed by: Maciej

Fix for this bug:

Radar 3073988 (URLs with /../ are not resolved before being sent to the host)

  • kwq/KWQKURL.mm: (KURL::KURL): (copyPathRemovingDots): New function containing code that was pulled out of the existing relative URL resolution code. (KURL::parse): Call new copyPathRemovingDots function instead of doing same work inline.

Dec 6, 2002:

6:21 PM Changeset in webkit [2965] by hyatt
  • 8 edits in trunk/WebCore

Sigh. I forgot to commit the first layer fix (that has already
been reviewed), so now this is also including that.

The first layer fix was to deal with the yale.edu crasher.
It involved making sure that append/remove of render object
trees drill down into those trees to remove/append corresponding
layers (instead of just checking the root of the trees).

The second fix involves making sure that cliprects are right
for painting backgrounds and borders of clipped objects.
Fixes benoit's bug.

Reviewed by: mjs and darin (fix 1), mjs and gramps (fix 2)

  • khtml/rendering/render_container.cpp: (RenderContainer::removeChildNode): (RenderContainer::appendChildNode): (RenderContainer::insertChildNode):
  • khtml/rendering/render_container.h:
  • khtml/rendering/render_layer.cpp: (RenderLayer::paint): (RenderLayer::constructZTree):
  • khtml/rendering/render_layer.h:
  • khtml/rendering/render_object.cpp: (RenderObject::appendLayers): (RenderObject::removeLayers): (RenderObject::enclosingLayer):
  • khtml/rendering/render_object.h:
5:50 PM Changeset in webkit [2964] by trey
  • 2 edits in trunk/WebKit

WebKit:

Clean up some printfs. Use WebKitLogPageCache for page cache info.

Reviewed by: rjw

  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted:]): (-[WebFrame _purgePageCache]): (-[WebFrame _setState:]): (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):

WebBrowser:

Clean up some printfs. Use WebKitLogPageCache for page cache info.

Reviewed by: rjw, co-conspirator

  • Debug/DebugUtilities.m: (-[BrowserDocument toggleBackForwardEnabled:]):
5:18 PM Changeset in webkit [2963] by trey
  • 6 edits in trunk/WebKit

WebKit:

3118584 - implement desired behavior for load - reload - b/f
3119241 - page cache needs to be refreshed after reload
3118096 - isTargetItem:NO saved to disk with every bookmark

The most noticeable changes are the addition of the "Same" loadType, and that reload
does not restore form state. 3119241 was noticed in passing, and is related.
3118096 is a nit with a possible small perf benefit.

Reviewed by: rjw

  • History.subproj/WebHistoryItem.h:
  • History.subproj/WebHistoryItem.m: (-[WebHistoryItem dealloc]): New originalURL field. (-[WebHistoryItem originalURL]): New getter. (-[WebHistoryItem setOriginalURL:]): New setter. (-[WebHistoryItem dictionaryRepresentation]): Dont save isTarget. (-[WebHistoryItem initFromDictionaryRepresentation:]): Dont save isTarget.
  • WebView.subproj/WebFrame.m: (-[WebFrame loadRequest:]): Test for going to same URL, invoke loadTypeSame case.
  • WebView.subproj/WebFramePrivate.h: Add loadTypeSame
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _addBackForwardItemClippedAtTarget:]): Remove a line of dead code. (-[WebFrame _createItem]): Set originalURL when item is created. (-[WebFrame _transitionToCommitted:]): For loadTypeSame, clear page cache (-[WebFrame _purgePageCache]): Added logging. (-[WebFrame _setState:]): Don't add to page cache if doing a reload. (-[WebFrame _isLoadComplete]): LoadTypeSame is a NOP. (-[WebFrame _loadItem:fromItem:withLoadType:]): LoadTypeSame is an ASSERT. (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): In the LoadTypeSame case load from origin and never do anchor nav. If asked to load the same URL, invoke LoadTypeSame case. (-[WebFrame _loadURL:intoChild:]): Latent bug: WebFrameLoadTypeReloadAllowingStaleData should restore child frame content like reload does. (-[WebFrame _itemForRestoringDocState]): Prevent form state restore on reload and loadSame. (-[WebFrame _shouldTreatURLAsSameAsCurrent:]): New utility function.

WebBrowser:

3118584 - implement desired behavior for load - reload - b/f
3119029 - assert if you control click on back button when it's enabled only to leave bookmarks view

The app no longer has a test in it to turn a standard nav into a reload. WK does it.

The bug was a result of the special case of the back button as a way to get out
of bookmarks view to the web view. The back menu basically has to play the same game.

Reviewed by: rjw, john sullivan (respectively)

  • BrowserDocument.m: (-[BrowserDocument goToRequest:]): Remove test, let WK sort out when to reload. (-[BrowserDocument goToItem:]): Special case if in bookmarks view. Go back to web view mode. (-[BrowserDocument backListMenuForButton:]): Special case if in bookmarks view. Add current item to menu.
  • BrowserWindowController.h: Export a couple existing methods.
4:27 PM Changeset in webkit [2962] by mjs
  • 10 edits in trunk/WebCore

Reviewed by: Darin

  • fixed 3077227 - netflix "top 100" page JavaScript runs so slowly, it seems like a hang

I fixed this by adding hash tables of image and form elements by
name and id. This allows scans of the whole document to be avoided
in many cases.

This also results in a small speedup (~1%) on cvs-js-ibench.

  • khtml/dom/html_document.cpp:
  • khtml/ecma/kjs_html.cpp: (KJS::HTMLDocument::hasProperty): (KJS::HTMLDocument::tryGet):
  • khtml/html/html_documentimpl.cpp: (HTMLDocumentImpl::addNamedImageOrForm): (HTMLDocumentImpl::removeNamedImageOrForm): (HTMLDocumentImpl::haveNamedImageOrForm):
  • khtml/html/html_documentimpl.h:
  • khtml/html/html_formimpl.cpp: (HTMLFormElementImpl::attach): (HTMLFormElementImpl::detach): (HTMLFormElementImpl::parseAttribute):
  • khtml/html/html_formimpl.h:
  • khtml/html/html_imageimpl.cpp: (HTMLImageElementImpl::parseAttribute): (HTMLImageElementImpl::attach): (HTMLImageElementImpl::detach):
  • khtml/html/html_imageimpl.h:
3:05 PM Changeset in webkit [2961] by hyatt
  • 4 edits in trunk/WebCore

Hack to make i-bench paint every fourth page. We can tune
this # as needed.

Reviewed by: darin

  • khtml/html/html_documentimpl.cpp: (HTMLDocumentImpl::close):
  • khtml/rendering/render_flow.h:
12:07 PM Changeset in webkit [2960] by darin
  • 4 edits in trunk/WebCore

Reviewed by Trey.

Update to latest character-sets document.

  • kwq/character-sets.txt: Got the newest one and merged in our change.
  • kwq/KWQCharsetData.c: Regenerated this. Added just one character set name.
10:05 AM Changeset in webkit [2959] by darin
  • 4 edits in trunk/WebCore

Reviewed by Maciej.

  • khtml/ecma/kjs_events.h: Add listenerObjImp() method so we don't have to ref/unref for speed-critical uses.
  • khtml/ecma/kjs_window.cpp: (Window::getJSEventListener): Change this to work with ObjectImp so we don't ref/unref each listener. This should give us some extra speed.
8:35 AM Changeset in webkit [2958] by mjs
  • 8 edits in trunk

JavaScriptCore:

Reviewed by: Darin Adler

  • made framework embedding work correctly with buildit
  • JavaScriptCore.pbproj/project.pbxproj: Give framework a relative install path, don't install it the normal way, and copy it manually to /AppleInternal/Library/Frameworks if installing.

WebFoundation:

Reviewed by: Darin Adler

  • made framework embedding work correctly with buildit
  • WebFoundation.pbproj/project.pbxproj: Give framework a relative install path, don't install it the normal way, and copy it manually to /AppleInternal/Library/Frameworks if installing.

WebCore:

Reviewed by: Darin Adler

  • made framework embedding work correctly with buildit
  • WebCore.pbproj/project.pbxproj: Give framework a relative install path, don't install it the normal way, and copy it manually to /AppleInternal/Library/Frameworks if installing. Also look for other frameworks in ${DSTROOT}/AppleInternal/Library/Frameworks.

WebKit:

Reviewed by: Darin Adler

  • made framework embedding work correctly with buildit
  • WebKit.pbproj/project.pbxproj: Give framework a relative install path, don't install it the normal way, and copy it manually to /AppleInternal/Library/Frameworks if installing. Also look for other frameworks in ${DSTROOT}/AppleInternal/Library/Frameworks.

WebBrowser:

Reviewed by: Darin Adler

  • made framework embedding work correctly with buildit
  • copy-frameworks-to-dstroot.sh: Copy frameworks from /AppleInternal/Library/Frameworks
  • embed-frameworks.sh: Fixed typo.
12:20 AM Changeset in webkit [2957] by darin
  • 5 edits in trunk

WebCore:

Reviewed by Trey.

  • fixed 3111903 -- crash in DOM::HTMLDocumentImpl::close
  • khtml/html/html_documentimpl.cpp: (HTMLDocumentImpl::close): Check for the case where view() is 0 so we don't do a null-dereference. Also, remove some of the unneeded redundant isNull/isEmpty checking here.

WebKit:

Reviewed by Trey.

  • fixed 3103691 -- assertion in WebHTMLView addMouseMovedObserver at versiontracker
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView addMouseMovedObserver]): Instead of asserting, do the checks here to determine if the observer should be installed. (-[WebHTMLView viewDidMoveToWindow]): Remove checks, since addMouseMovedObserver now checks. (-[WebHTMLView windowDidBecomeMain:]): Remove checks, since addMouseMovedObserver now checks.

Dec 5, 2002:

11:03 PM Changeset in webkit [2956] by darin
  • 5 edits in trunk/WebCore

Reviewed by Don.

  • fixed 3116149 -- REGRESSION: assert on invalid encoding trying to show accuweather.com source

The regression was caused when we updated the View Source window to try to get the encoding right.

  • kwq/WebCoreBridge.mm: (+[WebCoreBridge stringWithData:textEncoding:]): Make this function decode the string as Windows Latin-1 if the passed-in encoding is invalid or ISO Latin-1, since that's what we always want.
  • kwq/mac-encodings.txt: Add "8859_1" since we have now seen it "in the wild".
  • kwq/KWQCharsetData.c: Check in new version of generated file.
8:00 PM Changeset in webkit [2955] by rjw
  • 3 edits in trunk/WebKit

Don't ceil spaces if not a fixed pitch font. This make sites
that have hard coded block widths have less wrapping beyond what the
designer expected. Fixes 3117225.

Reviewed by: mjs

  • WebCoreSupport.subproj/WebTextRenderer.h:
  • WebCoreSupport.subproj/WebTextRenderer.m: (widthForGlyph): (-[WebTextRenderer _computeWidthForSpace]): (-[WebTextRenderer initWithFont:]): (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:fontFamilies:]):
6:51 PM Changeset in webkit [2954] by hyatt
  • 3 edits in trunk/WebCore

Fix for javadoc page. It specified an invalid unit, and our
unit match was on a substring, so it allowed "pts" when it
shouldn't. This patch adds some code to help handle this
error case.

Bug # is 3119830.

Reviewed by: rjw

  • khtml/css/cssparser.cpp: (StyleBaseImpl::parseUnit):
6:35 PM Changeset in webkit [2953] by cblu
  • 13 edits in trunk

WebCore:

Reviewed by: rjw

  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge selectedString]): renamed to reflect WebDocument API change (-[WebCoreBridge deselectAll]): added (-[WebCoreBridge elementAtPoint:]): call selectedString

WebKit:

Added WebDocumentText protocol. Made WebHTMLView and WebTextView implement it.

Reviewed by: rjw

  • WebView.subproj/WebController.m: (-[WebController supportsTextEncoding]): check if protocol is WebDocumentText
  • WebView.subproj/WebDocument.h:
  • WebView.subproj/WebHTMLView.h:
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView hasSelection]): call selectedString (-[WebHTMLView takeFindStringFromSelection:]): call selectedString (-[WebHTMLView selectAll:]): call selectAll (-[WebHTMLView string]): part of WebDocumentText protocol (-[WebHTMLView attributedString]): part of WebDocumentText protocol (-[WebHTMLView selectedString]): part of WebDocumentText protocol (-[WebHTMLView selectedAttributedString]): part of WebDocumentText protocol (-[WebHTMLView selectAll]): part of WebDocumentText protocol (-[WebHTMLView deselectAll]): part of WebDocumentText protocol
  • WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _writeSelectionToPasteboard:]): call selectedAttributedString
  • WebView.subproj/WebTextView.h:
  • WebView.subproj/WebTextView.m: (-[WebTextView string]): part of WebDocumentText protocol (-[WebTextView attributedString]): part of WebDocumentText protocol (-[WebTextView selectedString]): part of WebDocumentText protocol (-[WebTextView selectedAttributedString]): part of WebDocumentText protocol (-[WebTextView selectAll]): part of WebDocumentText protocol (-[WebTextView deselectAll]): part of WebDocumentText protocol

WebBrowser:

Fixed: 3119117 - AppleScript text attribute not implemented

Reviewed by: rjw

  • BrowserDocument.m: (-[BrowserDocument text]): Create and return a text storage of the document
  • Scripting.subproj/English.lproj/Alexander.scriptTerminology: fixed typo
5:44 PM Changeset in webkit [2952] by darin
  • 3 edits in trunk/WebKit

Reviewed by Richard.

  • fixed 3107240 -- world leak: reproducible, trying to open TIFF file
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient notifyDelegatesOfInterruptionByPolicyChange]): Send error to the delegate using receivedError: rather than directly. This results in the frame properly stopping the load and fixes the leak.
4:37 PM Changeset in webkit [2951] by hyatt
  • 3 edits in trunk/WebCore

Fix relative positioned elements to add in the right offset
when repainting themselves.

Reviewed by: darin

  • khtml/rendering/render_box.cpp: (RenderBox::repaintRectangle):
4:31 PM Changeset in webkit [2950] by darin
  • 6 edits in trunk/WebKit

WebFoundation:

Reviewed by Chris.

  • English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

WebKit:

Reviewed by Chris.

  • Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler initWithDataSource:]): Add WebGZipDecoder to the list.
  • Downloads.subproj/WebGZipDecoder.h: Finished this.
  • Downloads.subproj/WebGZipDecoder.m: Finished this.
  • English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

WebBrowser:

Reviewed by Chris.

  • BugReportController.m: Removed obsolete FIXME.
  • English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
  • English.lproj/Localizable.strings: Regenerated this, some string somewhere changed.
4:18 PM Changeset in webkit [2949] by rjw
  • 6 edits in trunk/WebCore

Fixed two issues relating to font sizes. Fixes any page
that specifies font size in device independent units, i.e.
www.abcnews.com.

  1. Change dpi to 72. Mac OS X does appear to assume 72, not 96!
  2. Don't appply DPI adjustments to font selections, instead normalize values to points. OS X takes care of device scaling.

Reviewed by: gramps

  • khtml/css/css_valueimpl.cpp: (CSSPrimitiveValueImpl::computeLengthFloat): (CSSPrimitiveValueImpl::computePointFloat):
  • khtml/css/css_valueimpl.h:
  • khtml/css/cssstyleselector.cpp:
  • kwq/KWQPaintDeviceMetrics.mm: (QPaintDeviceMetrics::logicalDpiY):
3:28 PM Changeset in webkit [2948] by mjs
  • 2 edits in trunk/WebKit

Reviewed by: Darin

  • English.lproj/InfoPlist.strings: removed letters from CFBundleShortVersionString to make buildit happy.
1:23 PM Changeset in webkit [2947] by hyatt
  • 3 edits in trunk/WebCore

Make sure that blocks with block children compute their
minwidth and maxwidth correctly. This fixes 4-5 bugs on my
list, including the becblog.blogspot.com misrender and
the wrapping list item on webstandards.org.

The fix ensures that the margins of a child have been
computed before they are asked for by the parent in
calcBlockMinMaxWidth.

Also fix a bug in collapsing margins that caused the height
of positioned elements that contained only zero-height children
to not compute their heights correctly. We now pass tests 2
and 3 on the collapsing margin tests with this fix.

Reviewed by: trey

  • khtml/rendering/render_flow.cpp: (RenderFlow::layoutBlockChildren): (RenderFlow::calcBlockMinMaxWidth):
12:41 PM Changeset in webkit [2946]
  • 3 copies in tags/Alexander-35

This commit was manufactured by cvs2svn to create tag 'Alexander-35'.

12:41 PM Changeset in webkit [2945] by sheridan
  • 5 edits in trunk

Alex-35 stamp

9:17 AM Changeset in webkit [2944] by darin
  • 2 edits in trunk/WebKit

Reviewed by Ken.

  • fixed 3118647 -- REGRESSION: click policy no longer works
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): Allow mouse up events too. Those are usually the ones that trigger navigation.
12:31 AM Changeset in webkit [2943] by hyatt
  • 5 edits in trunk/WebCore

Fix for wsj.com orange underline regression. In quirks mode
only, don't let anchors without hrefs go into :hover. This
matches MacIE's behavior.

The bug is 3118643.

Reviewed by: mjs

  • khtml/rendering/render_object.cpp: (RenderObject::setHoverAndActive): (RenderObject::nodeAtPoint):
  • khtml/rendering/render_object.h:
  • khtml/rendering/render_text.h:
12:23 AM Changeset in webkit [2942] by mjs
  • 4 edits
    1 add in trunk/WebCore

Reviewed by: David Hyatt

  • fixed 3118083 - WebCore includes config.h from Labyrinth top level
  • Makefile.am: Regenerate config.h from top-level version, but make sure not to alter date if it has not changed.
  • config.h: Added (autogenerated but checked in for benefit of B&I).
  • ForwardingHeaders/config.h: Include WebCore copy rather than Labyrinth copy.

Dec 4, 2002:

10:29 PM Changeset in webkit [2941] by darin
  • 2 edits in trunk/WebKit

Reviewed by Maciej.

  • fixed assert when you choose an item from a menu, for example, and that navigates
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): If the event is over some other element, just don't include the element info.
7:29 PM Changeset in webkit [2940] by mjs
  • 11 edits in trunk/WebCore

Reviewed by: David Hyatt

  • fixed 3049601 - support the equivalent of createcontextualfragment(NS6) or insertAdjacentHTML (IE)
  • fixed 3108065 - DHTML at expedia.com doesn't work-- lack of support for createContextualFragment
  • fixed 3114627 - DHTML menus used in Yahoo mail don't work-- lack of support for createContextualFragment
  • improvement towards 3052113 - "site menu" part of .mac home page editing doesn't work
  • khtml/ecma/kjs_range.h:
  • khtml/ecma/kjs_range.cpp: (DOMRangeProtoFunc::tryCall): Added suppor for createContextualFragment method.
  • khtml/ecma/kjs_range.lut.h: Regenerated.
  • khtml/dom/dom2_range.h:
  • khtml/dom/dom2_range.cpp: (Range::createContextualFragment): Implemented (calls impl).
  • khtml/html/html_elementimpl.h:
  • khtml/html/html_elementimpl.cpp: (HTMLElementImpl::createContextualFragment): Factored out of setInnerHTML. (HTMLElementImpl::setInnerHTML): Call createContextualFragment to make the fragment.
  • khtml/xml/dom2_rangeimpl.h:
  • khtml/xml/dom2_rangeimpl.cpp: (RangeImpl::createContextualFragment): Implemented (calls start container element).
6:30 PM Changeset in webkit [2939] by hyatt
  • 4 edits in trunk/WebCore

Fix assert on compuserve page. <form> under <table> should not
get a layout() call.

Reviewed by: gramps

  • khtml/rendering/render_flow.cpp: (RenderFlow::layout):
  • khtml/rendering/render_table.cpp: (RenderTable::layout):
5:49 PM Changeset in webkit [2938] by cblu
  • 3 edits in trunk/WebKit

WebKit:

Fixed: 3116294 - Need "Reload" feature in Downloads window

Reviewed by: rjw

  • WebKit.pbproj/project.pbxproj: made WebFramePrivate.h private so that WebBrowser can call _downloadRequest:toPath:
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadDataSource:withLoadType:]): commented out assert that complains about lack of WebView. Long-term solution is to catch this earlier and have a lone datasource download mechanism 3118355.

WebBrowser:

Fixed: 3116294 - Need "Reload" feature in Downloads window

Added new download button art.

Reviewed by: sullivan & darin

  • DownloadMonitor.h:
  • DownloadMonitor.m: (-[DownloadMonitor init]): create new dictionary _reloadingDataSourceToEntry that store pointers of dataSources to entries so the download monitor knows which entry started the reload. (-[DownloadMonitor resource:didReceiveResponse:fromDataSource:]): check if this is a reload by checking _reloadingDataSourceToEntry (-[DownloadMonitor setEntry:forReloadingDataSource:]): new, called by the entry to set itself as a reloading downlaod
  • DownloadProgressEntry.h:
  • DownloadProgressEntry.m: (-[DownloadProgressEntry _setController:]): new, for when a controller is created for reload (-[DownloadProgressEntry _setDataSource:]): tweak (-[DownloadProgressEntry _setRequest:]): new, need to retain the request so it can be used for reload (-[DownloadProgressEntry _setStartDate:]): new, allows to set the date more then just once (-[DownloadProgressEntry dealloc]): release the request and controller (-[DownloadProgressEntry reload]): make a controller, set it up, start download, reset the entry (-[DownloadProgressEntry setDone:]): release the controller because it won't be needed
  • DownloadRow.h:
  • DownloadRow.m: (-[DownloadRow _repositionSubviews]): new, moves widgets around (-[DownloadRow _setButtonAttributes]): new, sets attributes of the button (-[DownloadRow _startProgressAnimation]): simplified, just deal with progress bar (-[DownloadRow _startDiskCopyAnimation]): simplified, just deal with progress bar (-[DownloadRow _stopProgressAnimation]): simplified, just deal with progress bar (-[DownloadRow _updateStage]): call _repositionSubviews and _setButtonAttributes (-[DownloadRow awakeFromNib]): save the origins of the widgets (-[DownloadRow reload:]): call [entry reload]
  • English.lproj/Localizable.strings:
  • ResourceProgressEntry.m: (-[ResourceProgressEntry setBytesLoaded:]): remove error, added comment
  • Resources/Images/Download_Reload.tif: Added.
  • Resources/Images/Download_ReloadPressed.tif: Added.
  • Resources/Images/Download_Reveal.tif:
  • Resources/Images/Download_RevealPressed.tif:
  • Resources/Images/Download_Stop.tif:
  • Resources/Images/Download_StopPressed.tif:
  • WebBrowser.pbproj/project.pbxproj:
5:20 PM Changeset in webkit [2937] by hyatt
  • 19 edits in trunk/WebCore

Fix shroudedisles.com table misalignment by removing more\
bogus rules from html4.css.

Fix forums on macosx.com by implementing support for the align
attribute on the <P> tag.

Implement min-width and max-width for block level floating
and normal flow elements.

Fix event handling so that :hover notifications get through to
objects inside floats.

Reviewed by: rjw

  • khtml/css/html4.css:
  • khtml/html/html_blockimpl.cpp: (HTMLParagraphElementImpl::parseAttribute):
  • khtml/html/html_blockimpl.h:
  • khtml/rendering/render_box.cpp: (RenderBox::calcWidth): (RenderBox::calcWidthUsing): (RenderBox::calcHeight):
  • khtml/rendering/render_box.h:
  • khtml/rendering/render_flow.cpp: (RenderFlow::layoutBlockChildren): (RenderFlow::nodeAtPoint):
  • khtml/rendering/render_flow.h:
  • khtml/rendering/render_frames.cpp: (RenderFrameSet::nodeAtPoint):
  • khtml/rendering/render_frames.h:
  • khtml/rendering/render_image.cpp: (RenderImage::nodeAtPoint):
  • khtml/rendering/render_image.h:
  • khtml/rendering/render_object.cpp: (RenderObject::nodeAtPoint):
  • khtml/rendering/render_object.h:
  • khtml/rendering/render_root.cpp: (RenderRoot::calcHeight):
  • khtml/rendering/render_style.cpp: (StyleBoxData::StyleBoxData):
  • khtml/rendering/render_text.cpp: (RenderText::nodeAtPoint):
  • khtml/rendering/render_text.h:
4:19 PM Changeset in webkit [2936] by trey
  • 2 edits in trunk/WebKit

3097585 - Crash in -[WebFrame(WebPrivate) _isLoadComplete] at result of google image search

The root of this problem was that we would detach child frames by calling detach
on them all, then clearing the whole array. This would fail because detaching a
frame might have to stop a load, which calls checkLoadComplete, which visits the
entire frame tree. But if a previously detached child is still sitting in that
tree, we end up with an assertion failure. The solution is to remove the kids as
they are detached.

Reviewed by: Darin Adler

  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _createItem]): Method rename (a nit I missed from an earlier change) (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]): Method rename (-[WebFrame _detachChildren]): new method to do detaching right (-[WebFrame _detachFromParent]): call new method (-[WebFrame _setDataSource:]): call new method (-[WebFrame _transitionToCommitted:]): Method rename
4:12 PM Changeset in webkit [2935] by mjs
  • 6 edits in trunk/JavaScriptCore

Reviewed by: Richard Williamson

Added explicit lock/unlock methods so Sherlock can grab the
interpreter lock as needed.

  • kjs/internal.cpp: (InterpreterImp::InterpreterImp): (InterpreterImp::lock): (InterpreterImp::unlock):
  • kjs/internal.h:
  • kjs/interpreter.cpp: (Interpreter::lock): (Interpreter::unlock):
  • kjs/interpreter.h:
2:04 PM Changeset in webkit [2934] by mjs
  • 2 edits in trunk/JavaScriptCore

Added missing reviewer.

1:57 PM Changeset in webkit [2933] by mjs
  • 10 edits
    5 adds
    18 deletes in trunk/JavaScriptCore

Reviewed by: NOBODY (OOPS!)

Set things up so JavaScriptCore builds in PCRE and uses it for
regular expressions. This fixes many form validation bugs:

  • fixed 3103197 - javascript at fidelity.com rejects valid input
  • fixed 2942552 - form validation at weather.com fails
  • fixed 3079752 - js always reports textarea is empty
  • fixed 3079719 - covad.com "check availalbility" fails
  • Makefile.am: Add pcre subdir.
  • kjs/config.h: define HAVE_PCREPOSIX to true.
  • kjs/regexp.h: Don't include pcreposix.h since nothing from there is used.
  • pcre/.cvsignore: Added.
  • pcre/ChangeLog: Removed.
  • pcre/INSTALL: Removed.
  • pcre/Makefile.am: Added.
  • pcre/Makefile.in: Removed.
  • pcre/NEWS: Removed.
  • pcre/NON-UNIX-USE: Removed.
  • pcre/README: Removed.
  • pcre/chartables.c: Added.
  • pcre/config.guess: Removed.
  • pcre/config.in: Removed.
  • pcre/config.sub: Removed.
  • pcre/configure: Removed.
  • pcre/configure.in: Removed.
  • pcre/dll.mk: Removed.
  • pcre/doc/Tech.Notes: Removed.
  • pcre/doc/pcre.3: Removed.
  • pcre/doc/pcre.html: Removed.
  • pcre/doc/pcre.txt: Removed.
  • pcre/doc/pcregrep.1: Removed.
  • pcre/doc/pcregrep.html: Removed.
  • pcre/doc/pcregrep.txt: Removed.
  • pcre/doc/pcreposix.3: Removed.
  • pcre/doc/pcreposix.html: Removed.
  • pcre/doc/pcreposix.txt: Removed.
  • pcre/doc/pcretest.1: Removed.
  • pcre/doc/pcretest.html: Removed.
  • pcre/doc/pcretest.txt: Removed.
  • pcre/doc/perltest.txt: Removed.
  • pcre/install-sh: Removed.
  • pcre/ltmain.sh: Removed.
  • pcre/pcre-config.h: Added.
  • pcre/pcre-config.in: Removed.
  • pcre/internal.h: Include pcre-config.h instead of config.h
  • pcre/pcre.c: (ord2utf8): Fix warnings. (pcre_compile): Fix warnings.
  • pcre/pcre.def: Removed.
  • pcre/pcre.h: Added.
  • pcre/pcre.in: Removed.
  • JavaScriptCore.pbproj/project.pbxproj: Added pcre files to build.
  • JavaScriptCorePrefix.h: Guard c++ headers with #ifdef cplusplus.
1:47 PM Changeset in webkit [2932] by darin
  • 14 edits
    2 adds in trunk

WebCore:

Reviewed by Trey and Maciej.

  • fixed 3117558 -- Assertion failure in KWQKHTMLPart::slotData after typing "amazon.com" twice
  • got rid of the per-part NSEvent in preparation for NSView mouse event handling going through WebCore
  • khtml/khtml_part.h: Added declaration for didOpenURL.
  • khtml/khtml_part.cpp: (KHTMLPart::openURL): Changed name to didOpenURL in the APPLE_CHANGES version because calls to openURL from within KHTML need to make the round trip to WebKit. Also disabled the "scroll to anchor" part.
  • kwq/KWQKHTMLPart.cpp: (KWQKHTMLPart::isFrameSet): Fix to return false when document is 0.
  • kwq/KWQKHTMLPart.h: Add scrollToAnchor, remove setCurrentEvent and _currentEvent
  • kwq/KWQKHTMLPart.mm: (KHTMLPart::openURL): Pass the openURL call to the KWQKHTMLPart. (KWQKHTMLPart::KWQKHTMLPart): Don't initialize _currentEvent. (KWQKHTMLPart::~KWQKHTMLPart): Don't release _currentEvent. (KWQKHTMLPart::submitForm): Pass [NSApp currentEvent] instead of _currentEvent. (KWQKHTMLPart::urlSelected): Pass [NSApp currentEvent] instead of _currentEvent. (KWQKHTMLPart::scrollToAnchor): Added. Contains the code from the anchor case inside KHTMLPart::openURL.
  • kwq/WebCoreBridge.h: Added scrollToAnchorWithURL:.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge openURL:reload:headers:lastModified:pageCache:]): Change around so that we don't do a bunch of irrelevant stuff in the page cache case. I think we might just want to make a separate method for the page cache case. (-[WebCoreBridge scrollToAnchorWithURL:]): Added. (-[WebCoreBridge mouseUp:]): Simplify check for nil view. Remove calls to setCurrentEvent. (-[WebCoreBridge mouseDown:]): Simplify check for nil view. Fix event type constants for right mouse button and other mouse button. (-[WebCoreBridge mouseMoved:]): Simplify check for nil view. (-[WebCoreBridge mouseDragged:]): Simplify check for nil view.

WebKit:

Reviewed by Trey and Maciej.

  • fixed 3117558 -- Assertion failure in KWQKHTMLPart::slotData after typing "amazon.com" twice
  • update NSEvent handling in preparation for NSView mouse event handling going through WebCore
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadItem:fromItem:withLoadType:]): Added FIXME comments about matching the _loadURL case more closely. (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): Only use the event if it's a mouse down event. This prevents trouble when we have other kinds of events coming through. (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Call the new scrollToAnchorWithURL: instead of openURL:. This fixes the assertion failure in the bug above. (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Update checks here to more closely match the ones in KHTMLPart::openURL that we are replacing. Add more comments.
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView hitTest:]): Function to intercept all clicks at the WebHTMLView level, disabled for now because we are not yet ready.
  • started a gzip download decoder, not yet hooked up
  • Downloads.subproj/WebGZipDecoder.h: Added.
  • Downloads.subproj/WebGZipDecoder.m: Added.
  • WebKit.pbproj/project.pbxproj: Add WebGZipDecoder and zlib.
  • other changes
  • Panels.subproj/WebAuthenticationPanel.m: Fixed screwed-up indentation.
11:01 AM Changeset in webkit [2931] by rjw
  • 12 edits in trunk

WebCore

Cache the NSFont in QFont after doing family based lookup.
Use that cached font to find a text renderer.

Reviewed by: Darin

  • kwq/KWQFont.h:
  • kwq/KWQFont.mm: (QFont::QFont): (QFont::~QFont): (QFont::setFamily): (QFont::setFirstFamily): (QFont::setPixelSize): (QFont::setWeight): (QFont::setItalic): (QFont::getNSFont):
  • kwq/KWQFontMetrics.mm:
  • kwq/KWQPainter.mm: (QPainter::_updateRenderer):
  • kwq/WebCoreTextRendererFactory.h:
  • kwq/WebCoreTextRendererFactory.m: (-[WebCoreTextRendererFactory rendererWithFont:]):

WebKit

Cache the fallback font in the same way we cache other
fonts.

Reviewed by: Darin

  • WebCoreSupport.subproj/WebTextRendererFactory.h:
  • WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory fallbackFontWithTraits:size:]): (-[WebTextRendererFactory fontWithFamilies:traits:size:]): (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]):
2:34 AM Changeset in webkit [2930] by rjw
  • 7 edits in trunk

WebCore

Cache the last used text renderer to avoid expensive lookup
when font hasn't changed.

Reviewed by: maciej

  • khtml/rendering/render_flow.cpp: (RenderFlow::layout):
  • kwq/KWQPainter.h:
  • kwq/KWQPainter.mm: (QPainter::_updateRenderer): (QPainter::drawText): (QPainter::drawUnderlineForText):

WebKit

Fixed massive performance regression.
We were leaking WebFontCacheKey.
Added a cache of missing fonts to avoid
expensive appkit lookup.

Reviewed by: Maciej

  • WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]): (-[WebTextRendererFactory cachedFontFromFamilies:traits:size:]):
1:22 AM Changeset in webkit [2929]
  • 1 copy
    15 deletes in tags/PCRE_3_9

This commit was manufactured by cvs2svn to create tag 'PCRE_3_9'.

1:22 AM Changeset in webkit [2928]
  • 1 copy
    42 deletes in tags/PCRE-6-1-anchor

This commit was manufactured by cvs2svn to create tag
'PCRE-6-1-anchor'.

1:22 AM Changeset in webkit [2927] by mjs
  • 2 edits
    28 adds in trunk/JavaScriptCore

top level:

Reviewed by: Richard Williamson

  • pcre/doc/*: Added.
  • pcre/testdata/*: Added.

pcre:

(i) Added long-form option names like gnu grep.
(ii) Added --help to list all options with an explanatory phrase.
(iii) Added -r, --recursive to recurse into sub-directories.
(iv) Added -f, --file to read patterns from a file.

Dec 3, 2002:

11:19 PM Changeset in webkit [2926] by mjs
  • 2 edits
    36 adds in trunk/JavaScriptCore

Reviewed by: Darin Adler

  • imported PCRE 3.9 into the tree; this isn't actually compiled or used yet.
  • pcre/*: Added.
11:07 PM Changeset in webkit [2925] by darin
  • 2 edits in trunk/WebKit
  • fixed 3117193 -- REGRESSION: Hang on Hixie's weblog

Reviewed by Maciej.

  • WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer substituteFontForString:families:]): Do the operation on the whole string at once instead of a character at a time. I decided to do this rather than correct the bug in the character-at-a-time version.
9:50 PM Changeset in webkit [2924] by mjs
  • 5 edits in trunk

Rolled over all the ChangeLogs to ChangeLog-2002-12-03's in the hopes
of speeding up checkouts and checkins.

9:18 PM Changeset in webkit [2923] by trey
  • 4 edits in trunk/WebKit

Re-fix of 3113393 - Clients side redirects shouldn't always add item to back/forward list
Fix 3116980 - REGRESSION: Back button goes back twice
Fix 3099631 - assertion failure at http://www.calendarlive.com/ when pop-up blocking is off

The earlier fix for the first bug was to consider any redirect happening within one
second as a continuation of the previous load. To fix the regressions I re-cast that
fix using a similar, pre-existing mechanism.

Reviewed by: Richwill

  • WebView.subproj/WebFramePrivate.h: Nuke shortRedirectComing, rename instantRedirectComing to quickRedirectComing.
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _createOrUpdateItem]): Remove code related to shortRedirectComing, the fix that brought the regressions. (-[WebFrame _setState:]): Don't cache the page we're leaving if we're doing a redirect (since we don't want the redirecting page in the cache). (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Above rename. (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Above rename. (-[WebFrame _loadURL:intoChild:]): Comment fix. (-[WebFrame _clientRedirectedTo:delay:fireDate:]): Use 1 second instead of 0 seconds as the metric of a client redirect. Do not consider whether the frame state is completed as part of the decision. (-[WebFrame _clientRedirectCancelled]): Above rename.
8:52 PM Changeset in webkit [2922] by sullivan
  • 3 edits in trunk/WebKit

WebKit:

Reviewed by: Darin

  • REALLY changed the default state for block pop-ups to be off.
  • WebView.subproj/WebPreferences.m: (+[WebPreferences load]): change default for letting JavaScript open windows automatically to YES

WebBrowser:

Reviewed by: Darin

  • Deleted old unused preference keys, one of which was tricking me into thinking that block pop-ups was correctly set when it wasn't (the real setting is in WebKit)
  • Defaults.plist:
  • PreferenceKeys.h: deleted things that aren't used anywhere
8:39 PM Changeset in webkit [2921] by darin
  • 5 edits in trunk/WebKit
  • fixed 3117135 -- world leak: drag any image, get a leak of 1 WebFrame

Reviewed by John.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView mouseDragged:]): Retain the URL of the dragged image, not the entire element dictionary. The element dictionary creates a reference cycle since it includes a reference to the WebFrame. (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Use the URL rather than extracting it from the dictionary with a WebElementImageURLKey.
  • WebView.subproj/WebHTMLViewPrivate.h: URL, not element dictionary.
  • WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLViewPrivate dealloc]): Release the URL, not the element dictionary.
7:25 PM Changeset in webkit [2920] by hyatt
  • 4 edits in trunk/WebCore

Fix for 3078227, hanging in table code. Make sure <form>s
don't get wrapped in anonymous rows and cells.

Reviewed by: rjw

  • khtml/rendering/render_table.cpp: (RenderTable::addChild): (RenderTableSection::addChild): (RenderTableRow::addChild):
7:10 PM Changeset in webkit [2919] by rjw
  • 5 edits in trunk/WebKit

Added a preference to change the page cache size, i.e.:
Alexander.app/Contents/MacOS/Alexander -WebKitPageCacheSizePreferenceKey 4

Reviewed by: hyatt

  • History.subproj/WebBackForwardList.m: (+[WebBackForwardList setPageCacheSize:]): (+[WebBackForwardList pageCacheSize]):
  • WebView.subproj/WebPreferences.m: (+[WebPreferences load]): (-[WebPreferences _initialTimedLayoutSize]): (-[WebPreferences _pageCacheSize]):
  • WebView.subproj/WebPreferencesPrivate.h:
6:43 PM Changeset in webkit [2918] by hyatt
  • 4 edits in trunk/WebCore

Backing out a file that I did not intend to check in.

  • khtml/misc/loader.cpp:
6:14 PM Changeset in webkit [2917] by rjw
  • 4 edits in trunk/WebCore

D'oh. Fixed last minute change that broke the build.

  • kwq/KWQFont.mm: (QFont::getNSFont):
6:05 PM Changeset in webkit [2916] by hyatt
  • 8 edits in trunk/WebCore

Remove the moveWidgetsAside function. This fixes all the
form controls on livepage.apple.com that were getting hosed
by the scrolling marquee.

Reviewed by: darin

  • khtml/html/html_tableimpl.cpp: (HTMLTableRowElementImpl::addChild):
  • khtml/misc/loader.cpp:
  • khtml/rendering/render_root.cpp: (RenderRoot::layout):
  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::KWQKHTMLPart): (KWQKHTMLPart::paint):
5:56 PM Changeset in webkit [2915] by rjw
  • 19 edits in trunk

Fixed 3019986. Use an array of font families instead of a single
font family to support CSS family lists.
r=hyatt

  • Misc.subproj/WebKitNSStringExtras.m: (-[NSString _web_widthForString:font:]):
  • Misc.subproj/WebStringTruncator.m: (+[WebStringTruncator rightTruncateString:toWidth:withFont:]): (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
  • WebCoreSupport.subproj/WebTextRenderer.h:
  • WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer substituteFontForString:families:]): (-[WebTextRenderer substituteFontForCharacters:length:families:]): (-[WebTextRenderer widthForCharacters:length:]): (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:letterSpacing:wordSpacing:fontFamilies:]): (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]): (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]): (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:letterSpacing:wordSpacing:fontFamilies:]): (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:fontFamilies:]):
  • WebCoreSupport.subproj/WebTextRendererFactory.h:
  • WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory fontWithFamilies:traits:size:]): (-[WebTextRendererFactory fontWithFamily:traits:size:]): (+[WebTextRendererFactory fallbackFontWithTraits:size:]): (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]): (-[WebTextRendererFactory cachedFontFromFamilies:traits:size:]): (-[WebTextRendererFactory rendererWithFamilies:traits:size:]):

Fixed 3019986. Use an array of font families instead of a single
font family to support CSS family lists.
r=hyatt

  • kwq/KWQFont.h:
  • kwq/KWQFont.mm: (QFont::getNSFont):
  • kwq/KWQFontMetrics.mm: (QFontMetrics::width): (QFontMetrics::floatWidth): (QFontMetrics::floatCharacterWidths):
  • kwq/KWQPainter.mm: (QPainter::drawText): (QPainter::drawUnderlineForText):
  • kwq/WebCoreTextRenderer.h:
  • kwq/WebCoreTextRendererFactory.h:
  • kwq/WebCoreTextRendererFactory.m: (-[WebCoreTextRendererFactory rendererWithFamilies:traits:size:]): (-[WebCoreTextRendererFactory fontWithFamilies:traits:size:]):
4:21 PM Changeset in webkit [2914] by cblu
  • 3 edits in trunk/WebKit

Fixed: 3115073 - REGRESSION: plants.com is crashing in WebIconDB with bad retain count

The plants.com favicon was marked to be removed from disk and thus it had no retain count. The problem was that it was still on disk and _hasIconForIconURL would return YES. If hasIconForIconURL returns YES, its is ok to call _setIconURL:forSiteURL:. Since there was no retain count, the assert in _setIconURL:forSiteURL: would be hit.

We now consider icons without retain counts to not exist even if they're on disk.

  • Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase _updateFileDatabase]): (-[WebIconDatabase _setIconURL:forSiteURL:]):
3:20 PM Changeset in webkit [2913] by mjs
  • 4 edits in trunk/JavaScriptCore

Reviewed by: Darin Adler

  • fixed Deployment build.
  • kjs/dtoa.cpp: Work around warnings.
2:51 PM Changeset in webkit [2912] by mjs
  • 5 edits
    2 adds in trunk/JavaScriptCore
  • fixed 3114790 - Gamespot reviews pages badly mis-rendering because floating point numbers format wide

Reviewed by: David Hyatt

  • kjs/dtoa.cpp: Imported float <--> string conversion routines from David M. Gay. I changed this to fix warnings and avoid colliding with names of standard library functions.
  • kjs/dtoa.h: Added a header I made up for dtoa.cpp
  • kjs/ustring.cpp: (UString::from): Use new double to string routine (kjs_strtod). (UString::toDouble): Use new string to double routine (kjs_dtoa).
  • JavaScriptCore.pbproj/project.pbxproj: Added new files
2:46 PM Changeset in webkit [2911] by hyatt
  • 6 edits in trunk/WebCore

Fix for 3112599, aol.com shopping page doesn't work. Apply
the same form demotion trick to <tr> that I did already for
<tbody> and <table>.

r=gramps

  • khtml/html/dtd.cpp: (DOM::checkChild):
  • khtml/html/html_tableimpl.cpp: (HTMLTableRowElementImpl::addChild):
  • khtml/html/html_tableimpl.h:
1:57 PM Changeset in webkit [2910] by cblu
  • 11 edits in trunk/WebKit

Fixed:
3112477 - REGRESSION: dropping image within window loads image in current window
Fix: Unregister the parent webview for dragging when the drag starts, reregister after the drag ends.

3116423 - Dragged images sometimes have the wrong promised-file file type
Fix: Make the - [NSView_web_dragPromisedImage...] method take a file type rather than deriving the file type from the URL

3115768 - REGRESSION: contextual menu item "copy url to clipboard" doesn't work
Fix: In [NSPastboard _web_writeURL:andTitle:withOwner:] adding pboard types doesn't work for the general pasteboard, have to redeclare.

3116594 - Image on the drag pasteboard shouldn't have applied transparency and scaling
Fix: In - [NSView_web_dragPromisedImage...] put the original image on the pboard

Reviewed by John.

  • Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_writeURL:andTitle:withOwner:]): don't use addTypes as it doesn't work as I expected
  • Misc.subproj/WebNSViewExtras.h:
  • Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragPromisedImage:origin:URL:fileType:title:event:]): put the original image on the pboard, not the drag image
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): (-[WebHTMLView mouseDragged:]): call _web_dragPromisedImage (-[WebHTMLView draggedImage:endedAt:operation:]): call -[WebView _reregisterDraggedTypes]
  • WebView.subproj/WebImageView.m: (-[WebImageView mouseDragged:]): call _web_dragPromisedImage (-[WebImageView draggedImage:endedAt:operation:]): call -[WebView _reregisterDraggedTypes]
  • WebView.subproj/WebView.m: (-[WebView initWithFrame:]): call _reregisterDraggedTypes (-[WebView draggingEntered:]): simplified, don't need to check drag source
  • WebView.subproj/WebViewPrivate.h:
  • WebView.subproj/WebViewPrivate.m: (-[WebView _reregisterDraggedTypes]):
1:50 PM Changeset in webkit [2909] by hyatt
  • 4 edits in trunk/WebCore

Fix link feedback regression on aintitcool.com. Observe
the wacky feedback we give now (yes, it matches MacIE and
Gecko). Gotta love this malformed page.

<a><h4>...</h4></a>

r=mjs

  • khtml/rendering/render_object.cpp: (RenderObject::nodeAtPoint):
1:36 PM Changeset in webkit [2908] by darin
  • 3 edits in trunk/WebKit
  • fixed 3114796 -- WORLD LEAKS: 1 WebFrame leaked on trivial source file with <html> tag only (probably fixed a ton of other bugs too, since this always leaks)

Reviewed by Chris.

  • WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _elementAtPoint:]): Added a missing autorelease.
1:18 PM Changeset in webkit [2907] by darin
  • 5 edits in trunk/WebKit

WebFoundation:

Reviewed by Maciej.

  • English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

WebKit:

Reviewed by Maciej.

  • WebView.subproj/WebView.m: Fixed a pair of strings that conflict.
  • English.lproj/Localizable.strings: Regenerated.
  • English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
1:11 PM Changeset in webkit [2906] by hyatt
  • 12 edits in trunk/WebCore

Eliminate the KONQBLOCK hack. Fixes ipodhacks.com (a mislayout
caused by malformed html... <table><br>...)

r=mjs

  • khtml/css/html4.css:
  • khtml/html/dtd.cpp: (DOM::checkChild):
  • khtml/html/html_elementimpl.cpp: (HTMLElementImpl::isInline):
  • khtml/html/htmlparser.cpp: (KHTMLParser::reset): (KHTMLParser::insertNode):
  • khtml/html/htmlparser.h:
  • khtml/misc/htmltags.c: (hash_tag): (findTag):
  • khtml/misc/htmltags.h:
  • khtml/misc/htmltags.in:
  • khtml/rendering/render_flow.cpp: (RenderFlow::layoutBlockChildren):

Dec 2, 2002:

3:17 PM Changeset in webkit [2905] by hyatt
  • 8 edits in trunk/WebCore

Fix for 3032557, wsj.com DHTML elements in the wrong position.
This patch adds support for img.x and img.y (a Mozilla extension
from NS4 days), which is used by the site to position the menus.

r=kocienda on the patch.

  • khtml/dom/html_image.cpp: (HTMLImageElement::x): (HTMLImageElement::y):
  • khtml/dom/html_image.h:
  • khtml/ecma/kjs_html.cpp: (KJS::HTMLElement::getValueProperty):
  • khtml/ecma/kjs_html.h:
  • khtml/ecma/kjs_html.lut.h:
2:00 PM Changeset in webkit [2904] by hyatt
  • 4 edits in trunk/WebCore

Undo my changes to margin collapsing for blocks inside inlines.
Although they may be correct in a strict mode, they don't
work with the real-world Web. For now, I'm just backing out
the code. The CSS WG hasn't decided how this should work yet
anyway, so I'll just let the quirk behavior be our behavior
in both modes.

This fixes aintitcool.com.

  • khtml/rendering/render_flow.cpp: (RenderFlow::layoutBlockChildren):
9:59 AM Changeset in webkit [2903] by trey
  • 10 edits in trunk/WebKit

WebKit:

Refined bookmark notifications to be more detailed. We now have added, removed,
willChange and didChange.

  • Bookmarks.subproj/WebBookmarkGroup.h: New API.
  • Bookmarks.subproj/WebBookmarkGroup.m: (-[WebBookmarkGroup _sendNotification:forBookmark:children:]): (-[WebBookmarkGroup _setTopBookmark:]): (-[WebBookmarkGroup _bookmarkWillChange:]): (-[WebBookmarkGroup _bookmarkDidChange:]): (-[WebBookmarkGroup _bookmarkChildren:wereAddedToParent:]): (-[WebBookmarkGroup _bookmarkChildren:wereRemovedToParent:]): All just small pieces of flow control for posting the notes.
  • Bookmarks.subproj/WebBookmarkGroupPrivate.h: Internal methods for posting the notes.
  • Bookmarks.subproj/WebBookmarkLeaf.m: (-[WebBookmarkLeaf setTitle:]): Post da note (-[WebBookmarkLeaf setURLString:]): Post da note (-[WebBookmarkLeaf description]): Added for debugging.
  • Bookmarks.subproj/WebBookmarkList.m: (-[WebBookmarkList setTitle:]): Post da note (-[WebBookmarkList removeChild:]): Post da note (-[WebBookmarkList insertChild:atIndex:]): Post da note
  • Bookmarks.subproj/WebBookmarkProxy.m: (-[WebBookmarkProxy setTitle:]): Post da note
  • English.lproj/StringsNotToBeLocalized.txt: New strings.
  • WebKit.exp: New strings.

WebBrowser:

The auto-complete DB properly tracks HistoryItems and Bookmarks coming and going.
We have only one DB entry for a given URL, with a ref count. HistoryItems replace
Bookmarks in the DB, so we have a well-defined place to keep stats like visitCount
or recent times accessed.

  • BookmarksController.m: (-[BookmarksController awakeFromNib]): Adopt new API for bookmark notifications.
  • BookmarksViewController.m: Adopt new API for bookmark notifications.
  • CompletionController.m: (+[CompletionController _tree_create]): Set refCount of root node. (_keyStringFromItem): Nuke redundant code. (_keyStringFromNode): Deleted nodes must retain their key string to function properly in the DB. (_findPotentialNode): Test for deleted nodes using new bit. (+[CompletionController _tree_addItem:]): New rules for handing a collision on add. Bump ref count, replace Bookmarks with HistoryItems. (+[CompletionController _tree_deleteItem:]): Obey refcounting. (+[CompletionController _tree_nextItemUsingCursor:]): Test for deleted nodes using new bit. (DumpAutoCompleteTree): Debugging nit. (+[CompletionController _removeBookmarkTree:]): New utility routine. (+[CompletionController _loadDB]): Debugging nits. (-[CompletionController _executeQuery]): Bandaid fix for user typing "www.". (+[CompletionController _registerForNotifications]): Register for bookmark notes. (+[CompletionController _bookmarksAdded:]): Receive bookmark note. (+[CompletionController _bookmarksRemoved:]): Receive bookmark note. (+[CompletionController _bookmarkWillChange:]): Receive bookmark note. (+[CompletionController _bookmarkDidChange:]): Receive bookmark note. (-[CompletionController _positionWindow]): Small code rearranging.
5:40 AM Changeset in webkit [2902] by mjs
  • 12 edits in trunk/WebKit

WebKit:

  • added original URL field to action dictionary so that policy delegates can avoid prompting over and over on redirects.
  • WebKit.exp:
  • WebView.subproj/WebControllerPolicyDelegate.h:
  • WebView.subproj/WebControllerPolicyDelegate.m:
  • WebView.subproj/WebDataSource.m: (-[WebDataSource initWithRequest:]):
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading:]):
  • WebView.subproj/WebFrame.m: (-[WebFrame loadRequest:]):
  • WebView.subproj/WebFramePrivate.h:
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): (-[WebFrame _checkNavigationPolicyForRequest:dataSource:andCall:withSelector:]): (-[WebFrame _addExtraFieldsToRequest:]): (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): (-[WebFrame _postWithURL:data:contentType:triggeringEvent:]):

WebBrowser:

  • fixed 3109894 - Insecure form warning prompts twice
  • BrowserWebController.m: (-[BrowserWebController decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):

Dec 1, 2002:

5:32 PM Changeset in webkit [2901] by hyatt
  • 5 edits in trunk/WebCore

Convert the WebCore cache from LRU to size-adjusted and
popularity-aware LRU (LRU-SP). With the improved cache,
the size restriction on images can be relaxed back to 40K
(from 16K) while retaining the same score on cvs-base.
This should result in better real-world performance.

  • khtml/misc/loader.cpp: (CachedObject::ref): (CachedObject::setSize): (m_tail): (LRUList::~LRUList): (Cache::flush): (FastLog2): (Cache::getLRUListFor): (Cache::removeFromLRUList): (Cache::insertInLRUList): (Cache::adjustSize):
  • khtml/misc/loader.h:

Nov 29, 2002:

8:20 PM Changeset in webkit [2900] by gramps
  • 4 edits in trunk/WebCore
  • khtml/css/html4.css:

Finally tweak headline font sizes and margins to match Gecko and CSS
standard:

  • increase H1 font-size from 1.7em to 2em
  • increase H2 font-size from 1.4em to 1.5em
  • make H2 top and bottom margin match (bottom was strangely .87em)
  • increase H4 margin from 1.0em to 1.33em

Nov 28, 2002:

6:35 PM Changeset in webkit [2899] by darin
  • 6 edits in trunk/WebKit
  • Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler createFileIfNecessary]): Add a FIXME. (-[WebDownloadHandler writeDataForkData:resourceForkData:]): Notify that the file system has changed so the Finder can respond to the size change. (-[WebDownloadHandler finishedLoading]): Notify that the file system has changed now that the download has completed and the files are closed (may be redundant now that we have the above, but will do no harm).
  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Use _web_isCaseInsensitiveEqualToString instead of lowercaseString.
  • Misc.subproj/WebNSViewExtras.m: Tweak formatting.

Nov 27, 2002:

4:00 PM Changeset in webkit [2898] by hyatt
  • 6 edits in trunk/WebCore

Fix DHTML on phoenix.com. Add support for window.addEventListener
and window.removeEventListener.

  • khtml/ecma/kjs_window.cpp: (Window::get): (WindowFunc::tryCall):
  • khtml/ecma/kjs_window.h:
  • khtml/ecma/kjs_window.lut.h:
3:56 PM Changeset in webkit [2897] by rjw
  • 4 edits in trunk/WebKit

Fixed 3113393. Client side redirects that happen <= 1 second
update the current back/forward item, rather than creating
a new one.

  • WebView.subproj/WebFramePrivate.h:
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _addBackForwardItemClippedAtTarget:]): (-[WebFrame _createOrUpdateItem]): (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]): (-[WebFrame _transitionToCommitted:]): (-[WebFrame _clientRedirectedTo:delay:fireDate:]): (-[WebFrame _clientRedirectCancelled]):
2:12 PM Changeset in webkit [2896] by mjs
  • 4 edits in trunk/WebCore
  • avoid doing any work when setting the document's link colors if there is no change. This avoids superfluous style updates and results in a 20% improvment on the JavaScript iBench.
  • khtml/ecma/kjs_html.cpp: (KJS::HTMLDocument::putValue):
12:56 PM Changeset in webkit [2895] by rjw
  • 3 edits in trunk/WebKit

Fixed measurement error for Ahem font (and any font that
has a tiny fractional value). 3112745, 3112742

  • WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer initWithFont:]):
10:03 AM Changeset in webkit [2894] by sullivan
  • 4 edits in trunk/JavaScriptCore
  • kjs/collector.cpp: removed puts("COLLECT") leftover debugging spam that was buggin' gramps
2:11 AM Changeset in webkit [2893] by hyatt
  • 4 edits in trunk/WebCore

Fix <br clear=""> and <br clear> to just behave like <br>
rather than <br clear="all">. Matches behavior in other
browsers.

  • khtml/html/html_inlineimpl.cpp: (HTMLBRElementImpl::parseAttribute):
1:54 AM Changeset in webkit [2892] by hyatt
  • 6 edits in trunk/WebCore

Numerous overflow: hidden improvements to fix espn.com.

First stop absolute positioned overflow hidden elements
from growing to accommodate their overflow. (Actually
absolute positioned elements should never grow to do this,
but fixing it for non-overflow hidden elements is hard,
so later.)

Second fix the render layer code to not allow background/borders
of the object with overflow: hidden from being clipped. This
involves an extra paint step where the object paints its
background and borders prior to establishing the clip rect
for the children. (This will also be necessary for overflow:auto
and overflow:scroll).

  • ChangeLog:
  • khtml/rendering/render_box.cpp: (RenderBox::getClipRect): (RenderBox::calcAbsoluteVertical):
  • khtml/rendering/render_layer.cpp: (RenderLayer::paint):
  • khtml/rendering/render_object.h:
12:06 AM Changeset in webkit [2891] by hyatt
  • 4 edits in trunk/WebCore

Fix for 3105502. drop-downs wrapping to next line.

  • khtml/css/html4.css:

Nov 26, 2002:

9:05 PM Changeset in webkit [2890] by hyatt
  • 4 edits in trunk/WebCore

Smarter block inside inline handling. Eliminate whitespace
that is in between blocks inside inilnes.

  • khtml/xml/dom_textimpl.cpp: (TextImpl::attach):
7:04 PM Changeset in webkit [2889] by hyatt
  • 5 edits in trunk/WebCore

Don't let blocks inside inlines collapse with their surroundings
ever.

  • khtml/rendering/render_flow.cpp: (RenderFlow::layoutBlockChildren):
6:06 PM Changeset in webkit [2888] by hyatt
  • 4 edits in trunk/WebCore

Fix a collapsing margin regression on aintitcool caused by
my support of blocks inside inlines. A block could be wrapped
by an inline, e.g., <font><p>foo</p></font>, and in this case,
you do not apply the collapsing margin quirk. The margin stays.

  • khtml/rendering/render_flow.cpp: (RenderFlow::layoutBlockChildren):
5:18 PM Changeset in webkit [2887] by cblu
  • 8 edits in trunk/WebKit

WebKit:

Fixed: 3090834 - Launch WMP (Window Media Player) when encountering WMP content

Added contentURL to WebPluginError.

  • Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView setDataSource:]):
  • Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage initWithPath:]):
  • Plugins.subproj/WebNullPluginView.m: (-[WebNullPluginView viewDidMoveToWindow]):
  • Plugins.subproj/WebPluginError.h:
  • Plugins.subproj/WebPluginError.m: (-[WebPluginErrorPrivate dealloc]): (-[WebPluginError dealloc]):
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]):

WebBrowser:

Fixed: 3090834 - Launch WMP (Window Media Player) when encountering WMP content

  • BrowserNSWorkspaceExtras.h:
  • BrowserNSWorkspaceExtras.m: (-[NSWorkspace pathForApplicationOfFileAtPath:]): fixed leak (-[NSWorkspace pathForApplicationForMIMEType:]): added
  • English.lproj/Localizable.strings:
  • LoadProgressMonitor.m: (-[LoadProgressMonitor launchApplicationSheetEnded:returnCode:contextInfo:]): launch WMP (-[LoadProgressMonitor pluginErrorSheetEnded:returnCode:contextInfo:]): renamed (-[LoadProgressMonitor pluginFailedWithError:dataSource:]): check for WMP content
5:07 PM Changeset in webkit [2886] by hyatt
  • 8 edits in trunk/WebCore

Fix the font family stuff to be refcounted, so copying
fonts stays cheap. Re-enabling it.

Patch the render_arena code with some debugging info
to help detect when memory gets trashed.

Fix the background painting code to deal with negative
x and y bakcground positions. Fixes the brain on
brainjar.com.

  • khtml/css/cssstyleselector.cpp:
  • khtml/rendering/render_arena.cpp: (RenderArena::free):
  • khtml/rendering/render_box.cpp: (RenderBox::paintBackground):
  • kwq/KWQFont.h:
  • kwq/KWQFont.mm: (QFontFamily::QFontFamily): (QFontFamily::operator=):
4:50 PM Changeset in webkit [2885]
  • 3 copies in tags/Alexander-34

This commit was manufactured by cvs2svn to create tag 'Alexander-34'.

4:50 PM Changeset in webkit [2884] by sheridan
  • 8 edits in trunk

Alex-34 stamp

3:52 PM Changeset in webkit [2883] by mjs
  • 11 edits in trunk/JavaScriptCore

Change ActivationImp to be allocated via the garbage collector
again instead of on the stack. This fixes the following four
regressions but sadly it causes a 6% performance hit. It's
probably possibly to reduce the hit a bit by being smarter about
inlining and the way the marking list variant is implemented, but
I'll look into that later.

  • fixed 3111500 - REGRESSION: crash in "KJS::ScopeChain::mark()" on www.posci.com
  • fixed 3111145 - REGRESSION: reproducible crash in KJS hashtable lookup at time.com
  • fixed 3110897 - REGRESSION: javascript crasher on http://bmwgallery.tripod.com/
  • fixed 3109987 - REGRESSION: Reproducible crash in KJS ObjectImp at live365.com

Also:

  • improved DEBUG_COLLECTOR mode a bit by never giving memory back to the system.
  • kjs/collector.cpp:
  • kjs/context.h:
  • kjs/function.cpp: (ActivationImp::ActivationImp): (ActivationImp::mark): (ActivationImp::createArgumentsObject):
  • kjs/function.h:
  • kjs/internal.cpp: (ContextImp::ContextImp): (ContextImp::mark):
  • kjs/list.cpp:
  • kjs/list.h:
  • kjs/value.cpp: (Value::Value):
3:34 PM Changeset in webkit [2882] by darin
  • 4 edits in trunk/JavaScriptCore
  • kjs/property_map.cpp: (PropertyMap::save): Look at the attributes the same way in the single hash entry case as in the actual hash table case. Change the rule for which attributes to save to "attributes that don't have the ReadOnly, DontEnum, or Function bit set". Also fix bug where saving an empty property map would leave the count set to the old value.
1:31 PM Changeset in webkit [2881] by rjw
  • 8 edits in trunk

JavaScriptCore

Remove debugging code. Could be cause of performance regresssion.

  • kjs/nodes.cpp: (FunctionCallNode::evaluate):

Restire attributes correctly.

  • kjs/property_map.cpp:

WebKit Only cache page if the load has completed.

  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _setState:]):
12:30 PM Changeset in webkit [2880] by hyatt
  • 4 edits in trunk/WebCore

Backing out support for multiple font families for now.
The support is still there in QFont. I've just stopped
the style selector from walking the entire value list (it
will only put the first family into the font).

The original change caused a 5% perf regression.
I'm going to see what kinds of tricks I can pull to get
some of this back before re-enabling the feature.

  • khtml/css/cssstyleselector.cpp:
12:07 PM Changeset in webkit [2879] by cblu
  • 4 edits in trunk/WebKit

Removed some logging.

  • WebView.subproj/WebControllerPrivate.m: (+[WebController _supportedImageMIMETypes]):
12:02 PM Changeset in webkit [2878] by cblu
  • 8 edits in trunk/WebKit

WebFoundation:

Added MIME types for images that NSImage can handle.

  • types.plist:

WebKit:

Fixed: 3112003 - Show standalone tiffs using AppKit not QT plug-in

We now dynamically check NSImage for supported image types when registering WebImageView's and WebImageRepresentation's supported MIME types.

  • WebView.subproj/WebControllerPrivate.h:
  • WebView.subproj/WebControllerPrivate.m: (+[WebController _supportedImageMIMETypes]): convert NSImage types to mime types
  • WebView.subproj/WebDataSourcePrivate.m: (+[WebDataSource _repTypes]): use _supportedImageMIMETypes to register mime types of WebImageRepresentation
  • WebView.subproj/WebViewPrivate.m: (+[WebView _viewTypes]): use _supportedImageMIMETypes to register mime types of WebImageView
11:13 AM Changeset in webkit [2877] by hyatt
  • 5 edits in trunk/WebCore

Fix render object removal to remerge adjacent anonymous inline boxes
when an intervening block box gets removed.

  • khtml/rendering/render_flow.cpp: (RenderFlow::removeChild):
  • khtml/rendering/render_flow.h:
10:48 AM Changeset in webkit [2876] by cblu
  • 3 edits in trunk/WebKit

Fixed: 3061174 - javascript: URLs sent by plugins don't work

For "Javascript:" URLs.

  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): lowercase the scheme
1:25 AM Changeset in webkit [2875] by rjw
  • 6 edits in trunk/WebKit

WebBrowser

Added some logging to indicate when page cache is turned on.

  • Debug/DebugUtilities.m: (-[BrowserDocument toggleBackForwardEnabled:]):

WebKit

More work on back/forward cache. It's ready for
more general testing. Although, to be safe I've
left it disabled by default for tomorrow's release.
It will log when a page is save and restored from
the page cache.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge saveDocumentToPageCache:]):
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading:]): (-[WebDataSource _commitIfReady:]): (-[WebDataSource _loadIcon]):
  • WebView.subproj/WebFramePrivate.h:
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted:]): (-[WebFrame _setState:]): (-[WebFrame _loadItem:fromItem:withLoadType:]): (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]): (-[WebFrame _setProvisionalDataSource:]):

Nov 25, 2002:

11:51 PM Changeset in webkit [2874] by rjw
  • 18 edits in trunk

JavaScriptCore

Use delete[] (not delete) operator to delete array.

  • kjs/property_map.cpp:

WebBrowser

Use cleaned up API to enable/disable page cache.

  • Debug/DebugUtilities.m: (-[BrowserDocument toggleBackForwardEnabled:]):

WebCore

Cleanup up leaking objects in page cache.

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::openURLFromPageCache):
  • kwq/WebCoreBridge.mm: (-[KWQPageState initWithDocument:DOM::URL:windowProperties:KJS::locationProperties:KJS::]): (-[KWQPageState dealloc]):

WebKit

Cleanup leaking objects in page cache.
Cleaned up API a bit.

  • History.subproj/WebBackForwardList.h:
  • History.subproj/WebBackForwardList.m: (-[WebBackForwardList dealloc]): (+[WebBackForwardList setUsesPageCache:]): (+[WebBackForwardList usesPageCache]): (+[WebBackForwardList setPageCacheSize:]): (+[WebBackForwardList pageCacheSize]):
  • History.subproj/WebHistoryItem.h:
  • History.subproj/WebHistoryItem.m: (-[WebHistoryItem setHasPageCache:]):
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge saveDocumentToPageCache:]):
  • WebKit.exp:
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _canCachePage]): (-[WebFrame _purgePageCache]): (-[WebFrame _setState:]): (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):
10:20 PM Changeset in webkit [2873] by rjw
  • 7 edits in trunk

Changed ordering of cachability check.

  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _setState:]):

Added check for non-nil doc.

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::setView):
6:50 PM Changeset in webkit [2872] by hyatt
  • 4 edits in trunk/WebCore

Fix for the DHTML on hrweb. With these changes it works
except for some odd vertical spacing issues.

  • khtml/rendering/render_flow.cpp: (RenderFlow::addChildToFlow): (RenderFlow::makeChildrenNonInline):
6:49 PM Changeset in webkit [2871] by rjw
  • 16 edits in trunk

i Added a debug menu to turn back/forward cache on and off.

Off by default. Use with discretion. Still leaks like
a sieve. Useful to provide a sense of potential speed up.

  • Debug/DebugUtilities.m: (-[DebugUtilities createDebugMenu]): (-[BrowserDocument validate_showDOMTree:]): (-[BrowserDocument toggleBackForwardEnabled:]):

Changes fro back/forward cache.

  • History.subproj/WebHistoryItem.h:
  • History.subproj/WebHistoryItem.m: (+[WebHistoryItem setUsePageCache:]): (+[WebHistoryItem usePageCache]):
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge saveDocumentToPageCache:]):
  • WebView.subproj/WebFramePrivate.h:
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _detachFromParent]): (-[WebFrame _canCachePage]): (-[WebFrame _setState:]):

Tweaked some debugging info.

  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::~DocumentImpl): (DocumentImpl::detach):

Added debugging info. Fixed property map save function.

  • kjs/nodes.cpp: (FunctionCallNode::evaluate):
  • kjs/property_map.cpp:
6:04 PM Changeset in webkit [2870] by cblu
  • 4 edits in trunk/WebCore

Use = to refer to OBJECTs with TYPEs that start with "image/". This is better than hard-coding image mime types.

  • khtml/css/html4.css:
5:44 PM Changeset in webkit [2869] by cblu
  • 12 edits in trunk

WebCore:

Fixed: 2987001 - spurious mime-type errors from <object> images

KHTML didn't seem to have any clean support for OBJECT tags that are images. Added support for that.

  • khtml/css/html4.css: OBJECTs that are images should be rendered inline
  • khtml/html/html_objectimpl.cpp: (HTMLObjectElementImpl::attach): if the type is an image, create a render image
  • khtml/rendering/render_image.cpp: (RenderImage::updateFromElement): if the element is an object, use DATA for the URL
  • kwq/KWQDOMNode.cpp: (isImage): if it is an OBJECT element, check the type
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]): if the element is an object, use DATA for the URL

WebKit:

Fixed 2 drag-related crashes. Oops.

  • Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragPromisedImage:fromOrigin:withURL:title:event:]): put nil at the end of the array list.
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView mouseDragged:]): retain self before drag
5:27 PM Changeset in webkit [2868] by hyatt
  • 4 edits in trunk/WebCore

Fix this even further. JUst drop support for arbitrary
property lookup by name on the document. Mac IE and
Gecko only do this for img and form, and this makes things
a lot faster.

  • khtml/ecma/kjs_html.cpp: (KJS::HTMLDocument::hasProperty): (KJS::HTMLDocument::tryGet):
5:08 PM Changeset in webkit [2867] by hyatt
  • 5 edits in trunk/WebCore

Rewrite the img/form document property lookup strategy. This
should be faster and actually work (gasp!). Fixes the dhtml
on hrweb to at least show up.

  • khtml/ecma/kjs_html.cpp: (KJS::HTMLDocument::tryGet):
  • khtml/html/html_miscimpl.cpp: (HTMLCollectionImpl::nextItem):
2:38 PM Changeset in webkit [2866] by hyatt
  • 9 edits in trunk/WebCore

Add support to QFont for multiple families. NOw all that's left
is getting the multiple families out of the font and down into
WebKit.

  • khtml/css/cssstyleselector.cpp:
  • khtml/rendering/font.cpp: (Font::update):
  • khtml/rendering/font.h:
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::recalcStyle):
  • kwq/KWQFont.h:
  • kwq/KWQFont.mm: (QFontFamily::QFontFamily): (QFontFamily::operator=): (QFontFamily::family): (QFontFamily::setFamily): (QFontFamily::operator==): (QFont::QFont): (QFont::family): (QFont::setFamily): (QFont::getNSFontWithFamily):
2:12 PM Changeset in webkit [2865] by cblu
  • 3 edits in trunk/WebKit
  • Allow missing icons to be restored when going to the page of the missing icon.
  • Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase _setIconURL:forSiteURL:]):
2:03 PM Changeset in webkit [2864] by rjw
  • 3 edits in trunk/WebCore

* empty log message *

2:02 PM Changeset in webkit [2863] by rjw
  • 20 edits
    1 add in trunk

Changes for back/forward. Currently disabled.

  • History.subproj/WebHistoryItem.h:
  • History.subproj/WebHistoryItem.m: (-[WebHistoryItem dealloc]): (-[WebHistoryItem setPageCacheEnabled:]): (-[WebHistoryItem pageCache]):
  • Misc.subproj/WebKitLogging.h:
  • Misc.subproj/WebKitLogging.m:
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge saveDocumentToPageCache:]):
  • WebView.subproj/WebDataSource.m: (-[WebDataSource startLoading]):
  • WebView.subproj/WebDataSourcePrivate.h:
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading:]): (-[WebDataSource _startLoading]): (-[WebDataSource _commitIfReady:]): (-[WebDataSource _commitIfReady]): (-[WebDataSource _setStoredInPageCache:]): (-[WebDataSource _storedInPageCache]):
  • WebView.subproj/WebFramePrivate.h:
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted:]): (-[WebFrame _canCachePage]): (-[WebFrame _purgePageCache]): (-[WebFrame _setState:]): (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):

Changes for back/forward. Currently disabled.

  • ForwardingHeaders/kjs/property_map.h: Added.
  • khtml/ecma/kjs_window.cpp: (Window::hasTimeouts): (WindowQObject::hasTimeouts):
  • khtml/ecma/kjs_window.h:
  • khtml/khtmlpart_p.h:
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::DocumentImpl): (DocumentImpl::detach): (DocumentImpl::inPageCache): (DocumentImpl::setInPageCache):
  • khtml/xml/dom_docimpl.h:
  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::setView): (KWQKHTMLPart::userAgent): (KWQKHTMLPart::nextKeyViewForWidget): (KWQKHTMLPart::canCachePage): (KWQKHTMLPart::saveWindowProperties): (KWQKHTMLPart::saveLocationProperties): (KWQKHTMLPart::restoreWindowProperties): (KWQKHTMLPart::restoreLocationProperties): (KWQKHTMLPart::openURLFromPageCache):
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge openURL:reload:headers:lastModified:pageCache:]): (-[WebCoreBridge saveDocumentToPageCache]): (-[WebCoreBridge canCachePage]): (attributedString): (-[KWQPageState initWithDocument:DOM::URL:windowProperties:KJS::locationProperties:KJS::]): (-[KWQPageState dealloc]): (-[KWQPageState DOM::]): (-[KWQPageState URL]): (-[KWQPageState KJS::]):

Changes for back/forward. Currently disabled.

  • kjs/property_map.cpp:
  • kjs/property_map.h:
1:54 PM Changeset in webkit [2862] by rjw
  • 13 edits in trunk/WebKit

Fixed exception thrown often when creating mouseover status text (3110186).

  • WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _elementAtPoint:]):
1:34 PM Changeset in webkit [2861] by darin
  • 7 edits in trunk

JavaScriptCore:

  • kjs/property_map.cpp: Rearrange code a little bit and tweak indentation. This might provide a tiny speedup because we don't look at the single entry any more in cases where the _table pointer is non-0.

WebKit:

  • fixed a problem I discovered in testing where multiple identical bookmarks confuse us
  • Bookmarks.subproj/WebBookmarkList.m: (-[WebBookmarkList removeChild:]): Use indexOfObjectIdenticalTo: and removeObjectIdenticalTo: instead of containsObject: and removeObject:. (-[WebBookmarkList insertChild:atIndex:]): Use indexOfObjectIdenticalTo: instead of containsObject: in the assertion.

WebBrowser:

  • fixed 3042781 -- slidey animation sometimes draws partial item behind overflow indicator
  • fixed 3090845 -- would be nice to be able to drop bookmarks into folders using the bookmark toolbar
  • fixed 3107422 -- bookmark in toolbar gets stuck highlighted if window is moved by the stacking code
  • fixed problem where you would get an overflow indicator even if there was room for the last bookmark
  • fixed problem where the cursor could change to an I-beam during a constrained drag
  • FavoriteButton.h: Add canAcceptDroppedBookmark, setHighlighted, and acceptDroppedBookmark methods for use when doing a constrained drag that drop items into folders. Also add a category on NSView to be used to pause animation when over a button that will accept a drop.
  • FavoriteButton.m: (-[FavoriteButton registerForDraggedTypes]): Accept DraggedFavoriteButtonPboardType. (-[FavoriteButton initTrackingRect]): Add an observer so we update the tracking rect when the window moves too. This fixes bug 3107422. (-[FavoriteButton bookmarksFromPasteboard:]): Added. Helper method that accepts drag from DraggedFavoriteButtonPboardType as well as the other bookmark pasteboard types, but only within the same superview. (-[FavoriteButton determineDragOperation:]): Call [self bookmarksFromPasteboard:] instead of [WebBookmark bookmarksFromPasteboard]. (-[FavoriteButton draggingEntered:]): Pause animation when we enter a button that can accept a dropped bookmark. This makes sure that the button doesn't slide out from under the mouse. (-[FavoriteButton draggingUpdated:]): Don't do any highlighting here because it's not necessary. (-[FavoriteButton draggingExited:]): Resume the animation in case we paused it. (-[FavoriteButton performDragOperation:]): Call [self bookmarksFromPasteboard:] instead of [WebBookmark bookmarksFromPasteboard]. Also resume the animation in case we paused it. (-[FavoriteButton canAcceptDroppedBookmark]): Added. Returns YES if the bookmark's type is WebBookmarkTypeList. (-[FavoriteButton setHighlighted:]): Added. Calls setHighlighted: on the button's cell. (-[FavoriteButton acceptDroppedBookmark:]): Added. Does the same work that performDragOperation does for the case of moving a button within the same bar. (-[FavoriteButton _hitTest:dragTypes:]): Don't accept drags at the edges of the button. This makes space between buttons so there's room to put new buttons between two old ones, even if the old ones are both for folders. (-[NSView pauseAnimation]): Added. Passes the call up the superview chain. (-[NSView resumeAnimation]): Added. Passes the call up the superview chain.
  • FavoritesBar.m: (-[FavoritesBar maxButtonXWithoutClipIndicator]): Added. Leaves a margin, currently 3 pixels. (-[FavoritesBar maxButtonXWithClipIndicator]): Added. Leaves a margin, currently 3 pixels. (-[FavoritesBar maxButtonX]): Modified to call either maxButtonXWithoutClipIndicator or maxButtonXWithClipIndicator depending on whether the clip indicator is showing. (-[FavoritesBar slideButtonsIntoPlace]): Slide buttons off the right side of the bar if they are going to be clipped out. Allow the last button to go all the way to the right, using the space that would otherwise be used by the clip indicator. Make the clip indicator disappear if buttons are going to slide past it to the left or the right. (-[FavoritesBar _layOutButtons]): Include the smarts about leaving space for the item to be dropped and about leaving out the currently dragged item that was formerly only in slideButtonsIntoPlace. Also include the smarts about positioning mentioned above, and do positioning here, rather than in _refreshButtons. To allow calling this during constrained dragging, add the dragged item after adding all the other items. (-[FavoritesBar finishedSlidingAnimation:]): Added. Calls _layOutButtons. This is used to make the clip indicator reappear in case slideButtonsIntoPlace made it disappear. (-[FavoritesBar addButtonForBookmark:]): Removed left edge parameter. This no method longer tries to position bookmarks at all. (-[FavoritesBar _refreshButtons]): Get rid of code that attempts to position the buttons. We now do that in _layOutButtons. (-[FavoritesBar initWithView:]): Initialize _dragSourceIndexIfMoving to NSNotFound. Make us the animation's delegate so we get a finishedSlidingAnimation:. (-[FavoritesBar performDragOperation:]): Check for drags within the favorites bar by checking _dragSourceIndexIfMoving rather than looking for DraggedFavoriteButtonPboardType. Also reset _dropIndex since _layOutButtons now looks at it. (-[FavoritesBar draggingEnded:]): Reset _dragSourceIndexIfMoving since _layOutButtons now looks at it. (-[FavoritesBar reorderFavoriteButton:fromMouseDownEvent:]): Disable cursor rectangles and set the cursor to the arrow cursor during the reorder process. Add hit testing so that the constrained dragging can drop items in FavoriteButtons that are folders. Pause animation when over such a FavoriteButton, and resume it when not over it. (-[FavoritesBar pauseAnimation]): Added. (-[FavoritesBar resumeAnimation]): Added.
  • FavoritesBarView.h: Add pauseAnimation and resumeAnimation methods to the delegate.
  • FavoritesBarView.m: (-[FavoritesBarView pauseAnimation]): Pass call on to the delegate. (-[FavoritesBarView resumeAnimation]): Ditto.
  • SlidingAnimation.h: Add delegate, setDelegate method, pause and resume methods, and finishedSlidingAnimation: method for the delegate.
  • SlidingAnimation.m: (-[SlidingAnimation updateTimer]): Take the paused state into account, and also call the finishedSlidingAnimation: method when the animation completes. (-[SlidingAnimation showNextFrame]): Simplify by using a call to updateTimer to do most of the work. (-[SlidingAnimation setDelegate:]): Added. Just sets the delegate field. (-[SlidingAnimation pause]): Added. Just sets the paused state and calls updateTimer. (-[SlidingAnimation resume]): Added. Just sets the paused state and calls updateTimer.
  • fixed a problem I discovered in testing where multiple identical bookmarks confuse us
  • BookmarksViewController.m: ([BookmarksViewController anyAncestorOfBookmark:inArray:]): Use indexOfObjectIdenticalTo: instead of containsObject:, because we want to use identity on bookmarks, not equality comparison. ([BookmarksViewController bookmarkOrAnyAncestor:inArray:]): Ditto. ([BookmarksViewController newContentItemWithTitle:URLString:type:positionIgnoresSelection:]): Ditto. ([BookmarksViewController sourceRowForBookmark:]): Ditto. ([BookmarksViewController outlineView:validateDrop:proposedItem:proposedChildIndex:]): Ditto. ([BookmarksViewController paste:]): Ditto. ([UndoRemoveInfo initWithBookmark:]): Ditto.
11:14 AM Changeset in webkit [2860] by hyatt
  • 5 edits in trunk/WebCore

Fix for 3025963. Ensure that KJS looks for the form on the
element itself when pushing it onto the scope chain, since
the <form> may not be an ancestor of the element.

  • khtml/ecma/kjs_html.cpp: (getForm): (KJS::HTMLElement::pushEventHandlerScope):
  • khtml/html/html_elementimpl.h:
8:50 AM Changeset in webkit [2859] by cblu
  • 7 edits in trunk/WebKit

Fixed: 3084350 - No URL flavors provided for images

  • Misc.subproj/WebNSViewExtras.h:
  • Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragPromisedImage:fromOrigin:withURL:title:event:]): renamed, simplifies dragging an image (-[WebFilePromiseDragSource initWithSource:]): subclass of NSFilePromiseDragSource, to be used later (-[WebFilePromiseDragSource draggingSource]): (-[WebFilePromiseDragSource dealloc]):
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView mouseDragged:]): call _web_dragPromisedImage:fromOrigin:withURL:title:event:, retain self (-[WebHTMLView draggedImage:endedAt:operation:]): added, release self
  • WebView.subproj/WebImageView.m: (-[WebImageView mouseDragged:]): call _web_dragPromisedImage:fromOrigin:withURL:title:event:, retain self (-[WebImageView draggedImage:endedAt:operation:]): added, release self
  • WebView.subproj/WebView.m: (-[WebView isDocumentHTML]): call isKindOfClass instead of className (-[WebView draggingEntered:]): check for WebFilePromiseDragSource
1:19 AM Changeset in webkit [2858] by hyatt
  • 4 edits in trunk/WebCore

Fix for 3020493, another fun little margin collapsing quirk
that I missed. (<td><div><p>). The <div> has to pick up the quirk
from the <p> so that the margins of the <p> still get collapsed
away.

  • khtml/rendering/render_flow.cpp: (RenderFlow::layoutBlockChildren):
12:59 AM Changeset in webkit [2857] by hyatt
  • 4 edits in trunk/WebCore

Don't add in the halfleading for align=texttop. That's incorrect.

  • khtml/rendering/render_object.cpp: (RenderObject::getVerticalPosition):

Nov 24, 2002:

11:39 PM Changeset in webkit [2856] by trey
  • 4 edits in trunk/WebKit

Tests:

Added a test for new URL parsing functions in WebNSStringExtras.

  • WebFoundation-Misc/Makefile.am: Add new test.
  • WebFoundation-Misc/ifurlparsing-test.chk: Added.
  • WebFoundation-Misc/ifurlparsing-test.m: Added. (FormatStringForDisplay): (FormatStrForDisplay): (PrintRangeResult): (TestURL): (main):
  • test.list:

WebFoundation:

Adding routines to parse URLs, operating on ranges instead of substrings for perf.

  • Misc.subproj/WebNSStringExtras.h:
  • Misc.subproj/WebNSStringExtras.m: (-[NSString _web_hasCaseInsensitivePrefix:]): Nit cleanup. (pieceBeforeColon): Utility function. (pieceAfterColon): Utility function. (-[NSString _web_rangeOfURLScheme]): New SPI. Cache NSCharacterSet with legal scheme chars, since creating it is a huge pig. (-[NSString _web_rangeOfURLResourceSpecifier]): New SPI. (-[NSString _web_rangeOfURLUserPasswordHostPort]): New SPI. (rangeOfUserAndPassword): Utility function. (rangeOfHostAndPort): Utility function. (-[NSString _web_rangeOfURLUser]): New SPI. (-[NSString _web_rangeOfURLPassword]): New SPI. (-[NSString _web_rangeOfURLHost]): New SPI. (-[NSString _web_rangeOfURLPort]): New SPI. (-[NSString _web_looksLikeAbsoluteURL]): Now just calls _web_rangeOfURLScheme for equivalent functionality as before.

WebKit:

Added URLString method to WebHistoryItem to avoid silly conversions between
NSURL and NSString. When the dust settles with our plans for NSURL we can
rationalize this API with the rest of WebKit.

  • History.subproj/WebHistoryItem.h:
  • History.subproj/WebHistoryItem.m: (-[WebHistoryItem URLString]):

WebBrowser:

Auto-complete handles absolute URLs typed by the user. Lots of fixes with
better handling of various URLs (with user:password, with port,...).

Various auto-complete database operations speed ups, ranging from 32% to 64%.
The most important case is the initial db load, which was running 115 msec on
a 2x1.2Ghz, and is now 42msec. I think this will eliminate a noticeable first-use
delay on slow machines. We also eliminate some heap thrashing.

Speedups were achieved by getting rid of URL-String conversions, using new
range-based URL parsing methods instead of NSURL and caching the index of the
"cooked" string within the raw URL string (with no space cost because we had
bits in a bitfield available).

  • CompletionController.h:
  • CompletionController.m: (+[CompletionController _tree_create]): Set cookedStringLoc for root node. (recursiveDestroyTree): Name change. (+[CompletionController _tree_destroy]): Name change. (_keyStringFromItem): Get rid of conversions, return index for caching. (_keyStringFromNode): Use cached cooked string index if available. (_findPotentialNode): Fixed edge case of cursor setting when an exact match was hit. (+[CompletionController _tree_addItem:]): Cache the index of the cooked string in new nodes. (+[CompletionController _tree_deleteItem:]): Adopt some internal name changes. (+[CompletionController _tree_setCursorAtStart:]): Newly factored code. (+[CompletionController _tree_findItem:cursor:]): On search for "", set the cursor ahead of all nodes in the tree. (DumpAutoCompleteTree): Nit. (_rawStringFromItem): Newly factored code. (_indexOfCookedURLString): Return the index of the cooked string instead of the substring at that position, allowing clients to cache this number. (-[CompletionController _executeQuery]): Handle cases of the user typing an absolute URL, or a partial string starting with "www." (-[CompletionController _reflectSelectedRow]): Updating the text field works differently when the user typed an absolute URL. (-[CompletionController completeString:]): Nuke FIXME. (-[CompletionController control:textView:doCommandBySelector:]): Nuke FIXME.
11:08 PM Changeset in webkit [2855] by mjs
  • 7 edits in trunk/WebCore

Fixed support for onLoad handlers on images - this is in
APPLE_CHANGES because khtml used a different mechanism. Also
implemented onError on images. As a result:

  • fixed 3084916 - blank page at aol
  • fixed 3093162 - golfswitch doesn't work
  • khtml/html/html_imageimpl.cpp: (HTMLImageElementImpl::parseAttribute): Remove "implement this" comment from onError attribute.
  • khtml/misc/loader.h:
  • khtml/misc/loader.cpp: (CachedImage::CachedImage): Initialize m_loading to true. (CachedImage::ref): Send notifyFinished to the new client if the image is not loading. (CachedImage::data): If at eof, set m_loading to false and notify. (CachedImage::error): Set m_loading to false and notify. (CachedImage::checkNotify): New method to notify all clients of changes.
  • khtml/rendering/render_image.cpp: (RenderImage::notifyFinished): Deliver the appropriate choice of LOAD_EVENT or ERROR_EVENT.
10:17 PM Changeset in webkit [2854] by hyatt
  • 12 edits in trunk/WebCore

This landing adds support for blocks inside inlines. It
gets rid of the old broken way KHTML used to handle this
and implements a brand new mechanism.

With this change, I have decreased the tag priority of <font>
and <a> to match other inlines (<i>, <span>, etc.), and I
now allow all the inlines to contain blocks for relaxed parsing.

Now if you open an <i> or a <b> and just leave it open across
blocks, this will work.

I also fixed a bad DHTML bug caused by the WebCoreBridge
forceLayout method. The basic pattern is that someone does
a tiny repaint of just a sliver of the window, then someone
schedules a layout (which means they want a full repaint), but
then drawRect comes along and calls forceLayout which unschedules
the layout, thus preventing the full repaint from occurring.

Any basic DHTML that used append/remove child was broken because
of this pattern. For now I have just removed the unscheduleLayout
call at the end of forceLayout.

  • khtml/html/dtd.cpp: (DOM::checkChild):
  • khtml/html/htmlparser.cpp: (KHTMLParser::popInlineBlocks):
  • khtml/rendering/render_container.cpp: (RenderContainer::removeChild): (RenderContainer::removeLeftoverAnonymousBoxes):
  • khtml/rendering/render_flow.cpp: (RenderFlow::setStyle): (RenderFlow::layoutBlockChildren): (RenderFlow::continuationBefore): (cloneInline): (RenderFlow::splitInlines): (RenderFlow::splitFlow): (RenderFlow::addChildWithContinuation): (RenderFlow::addChild): (RenderFlow::addChildToFlow):
  • khtml/rendering/render_flow.h:
  • khtml/rendering/render_object.cpp: (RenderObject::mouseInside):
  • khtml/rendering/render_object.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::forceLayout):
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge copyRenderNode:copier:]):
7:12 PM Changeset in webkit [2853] by cblu
  • 13 edits in trunk

WebCore:

Added element keys for the image ALT and link TITLE attributes. This will eventually be used to fix other bugs. Also made WebKit and WebCore use the same element keys to simplify the conversion of the element dictionary.

  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]):

WebKit:

Added element keys for the image ALT and link TITLE attributes. This will eventually be used to fix other bugs. Also made WebKit and WebCore use the same element keys to simplify the conversion of the element dictionary.

  • WebView.subproj/WebController.h:
  • WebView.subproj/WebController.m:
  • WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _elementAtPoint:]):

WebBrowser:

Fixed: 3053342 - Dragging URL to address field with favicon should clear favicon

  • BrowserWindowController.m: (-[BrowserWindowController locationFieldReceivedDroppedURL:]):
  • English.lproj/StringsNotToBeLocalized.txt:
4:26 PM Changeset in webkit [2852] by cblu
  • 7 edits in trunk/WebKit

Fixed: 3109945 - Assertion failure in -[WebIconDatabase_largestIconFromDictionary:]
Added error strings for download decoding errors.

  • English.lproj/Localizable.strings: Added error strings for download decoding errors
  • English.lproj/StringsNotToBeLocalized.txt:
  • Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase _loadIconDictionaries]): tweak (-[WebIconDatabase _updateFileDatabase]): more error checking to prevent assert (-[WebIconDatabase _setIconURL:forSiteURL:]): added asserts to prevent a site URL <-> icon URL mapping without a icon URL -> icon mapping (-[WebIconDatabase _largestIconFromDictionary:]): tweak
  • Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_writeURL:andTitle:withOwner:]): declare pboard types if none have been declared, else append types
  • WebView.subproj/WebView.m: (+[WebView initialize]): Added error strings for download decoding errors
2:37 PM Changeset in webkit [2851] by darin
  • 16 edits in trunk

JavaScriptCore:

  • changed ScopeChain to not ref each item in the chain, and use marking instead; gains 1% on JavaScript iBench
  • kjs/context.h: Return chain by reference.
  • kjs/internal.cpp: (ContextImp::mark): Mark the scope chain.
  • kjs/interpreter.cpp: (Context::scopeChain): Return chain by reference.
  • kjs/interpreter.h: Make some Context methods inline.
  • kjs/nodes.cpp: (ThisNode::evaluate): Get at ContextImp directly. (ResolveNode::evaluateReference): Ditto. (VarDeclNode::evaluate): Ditto. (VarDeclNode::processVarDecls): Ditto. (FuncDeclNode::processFuncDecl): Pass ScopeChain directly to avoid copying. (FuncExprNode::evaluate): Ditto.
  • kjs/object.cpp: Make scope and setScope inline.
  • kjs/object.h: Make scope return a chain by reference. Make scope and setScope both be inline. Use a normal ScopeChain instead of NoRefScopeChain since they are now one and the same.
  • kjs/scope_chain.cpp: Remove all the code to ref and deref objects. Merge NoRefScopeChain in with ScopeChain since they both work this way now.
  • kjs/scope_chain.h: Remove NoRefScopeChain and simplify the ref counts. Make more functions inline.

WebCore:

  • force-js-clean-timestamp: Touch for ScopeChain change.
7:56 AM Changeset in webkit [2850] by mjs
  • 9 edits in trunk

WebCore:

  • fixed 3067939 - no support for window.document.lastModified
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge openURL:reload:headers:lastModified:]): Set "modified" metadata based on passed in last mdified date.

WebKit:

  • fixed 3067939 - no support for window.document.lastModified
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady]): Pass last modified date to WebCore.
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Pass nil last modified date.
7:02 AM Changeset in webkit [2849] by mjs
  • 4 edits in trunk/JavaScriptCore
  • fixed 3098356 - Hard hang on movie search at www.movietickets.com
  • kjs/string_object.cpp: (StringProtoFuncImp::call): When doing a regexp replacement that results in an empty match, always move on to the next character after doing the replacement. The previous code would hit an infinite loop if an initial empty match was replaced with the empty string.
5:03 AM Changeset in webkit [2848] by mjs
  • 4 edits in trunk/WebCore
  • fixed 3081946 - bookmarklet reports the wrong "windowfull" size

This isn't really beta 1 material but the fix was so tirivial I
couldn't resist.

  • khtml/ecma/kjs_html.cpp: (KJS::HTMLDocument::tryGet): Use contentWidth and contentHeight for document.width and document.height instead of visibleWidth for both.
2:12 AM Changeset in webkit [2847] by mjs
  • 7 edits in trunk/JavaScriptCore
  • fixed 3095446 - Crash on AppleScript page due to very long argument list
  • kjs/grammar.y: Don't try to construct the argument list in the right order, since that blows out the parser stack.
  • kjs/nodes.cpp: (ArgumentsNode::ArgumentsNode): Instead reverse the argument list here.
  • kjs/nodes.h: Make ArgumentsNode a friend of ArgumentListNode.
  • kjs/grammar.cpp: Updated from grammar.y.

Nov 23, 2002:

11:49 PM Changeset in webkit [2846] by mjs
  • 13 edits in trunk/JavaScriptCore
  • completed Darin's mostly-fix for 3037795 - Resource use increases when accessing very high index value in array

The two missing pieces were handling sparse properties when
shrinking the array, and when sorting. Thse are now both taken
care of.

  • kjs/array_instance.h:
  • kjs/array_object.cpp: (ArrayInstanceImp::put): (ArrayInstanceImp::deleteProperty): (ArrayInstanceImp::resizeStorage): (ArrayInstanceImp::setLength): (ArrayInstanceImp::sort): (ArrayInstanceImp::pushUndefinedObjectsToEnd):
  • kjs/identifier.h:
  • kjs/object.h:
  • kjs/property_map.cpp:
  • kjs/property_map.h:
  • kjs/reference_list.cpp: (ReferenceList::append): (ReferenceList::length):
  • kjs/reference_list.h:
  • kjs/ustring.cpp: (UString::toUInt32):
  • kjs/ustring.h:
4:04 PM Changeset in webkit [2845] by mjs
  • 8 edits in trunk/JavaScriptCore

Numerous collector changes for a net gain of 3% on JS ibench:

  • Replaced per-block bitmap with free list.
  • Increased number of empty blocks kept around to 2.
  • Doubled block size.
  • When scanning heap in collector, skip scanning the rest of a block as soon as we see as many live cells as the the number of used cells it had originally.

Also the following collector changes unrelated to performance:

  • Made constants const int' instead of static const int'.
  • Miscellaneous code cleanup.
  • kjs/collector.cpp:
  • Added debugging mode enabled by defining DEBUG_GC which asserts when a destroyed ValueImp
  • kjs/internal.cpp: (ContextImp::mark):
  • kjs/value.cpp: (Value::Value):
  • kjs/value.h:
  • kjs/config.h:
1:17 PM Changeset in webkit [2844] by cblu
  • 9 edits in trunk/WebKit

Fixed: 3109835 - Download errors aren't communicated to client

Cleaned-up WebMainResourceClient and WebBaseResourceHandleDelegate a little.

  • Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase defaultIconWithSize:]): tweak (-[WebIconDatabase releaseIconForSiteURL:]): don't retain site URL here (-[WebIconDatabase _setIcon:forIconURL:]): tweak (-[WebIconDatabase _setIconURL:forSiteURL:]): tweak (-[WebIconDatabase _releaseIconForIconURLString:]): retain site URL here (-[WebIconDatabase _releaseFutureIconForSiteURL:]): tweak (-[WebIconDatabase _sendNotificationForSiteURL:]): tweak
  • WebView.subproj/WebBaseResourceHandleDelegate.h:
  • WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate cancelWithError:]): made public (-[WebBaseResourceHandleDelegate cancel]): cancel downloads too, call cancelWithError (-[WebBaseResourceHandleDelegate cancelQuietly]): call cancelWithError (-[WebBaseResourceHandleDelegate cancelledError]): tweak (-[WebBaseResourceHandleDelegate notifyDelegatesOfInterruptionByPolicyChange]): tweak
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient receivedError:]): stop downloadHandler if downloading, else notify controller (-[WebMainResourceClient cancel]): call receivedError (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]): tweak (-[WebMainResourceClient handle:didReceiveData:]): stop load for download errors, report error (-[WebMainResourceClient handleDidFinishLoading:]): call didFailLoadingWithError is download error (-[WebMainResourceClient handle:didFailLoadingWithError:]): call receivedError

Nov 22, 2002:

11:49 PM Changeset in webkit [2843] by darin
  • 19 edits in trunk

JavaScriptCore:

  • replaced List class with a vector rather than a linked list, changed it to use a pool of instances instead of all the nodes allocated off of the heap; gives 10% gain on iBench
  • kjs/list.h: Complete rewrite.
  • kjs/list.cpp: Ditto.
  • kjs/array_object.cpp: (compareWithCompareFunctionForQSort): Go back to doing a clear and two appends here. Fast with the new list implementation.
  • kjs/collector.h: Remove _COLLECTOR hack and just make rootObjectClasses return a const void *.
  • kjs/collector.cpp: Remove _COLLECTOR hack, and various other minor tweaks.

WebCore:

  • khtml/ecma/kjs_window.cpp: Remove _COLLECTOR hack.
  • kwq/WebCoreJavaScript.h:
  • kwq/WebCoreJavaScript.mm: (+[WebCoreJavaScript rootObjectClasses]): Update for name change -- root object classes, not all live object classes.
  • force-js-clean-timestamp: Make sure we don't have more build problems.

WebKit:

  • Misc.subproj/WebCoreStatistics.h:
  • Misc.subproj/WebCoreStatistics.m: (+[WebCoreStatistics javaScriptRootObjectClasses]): Update for name change -- root object classes, not all live object classes.

WebBrowser:

  • Debug/CacheController.m: (-[CacheController refreshJavaScriptStatisticsMatrix]): Update for name change -- root object classes, not all live object classes.
9:24 PM Changeset in webkit [2842] by cblu
  • 4 edits in trunk/WebKit

WebFoundation:

Fixed: 3026574 - .text is probably text too

  • types.plist: "text" is another extension for text/plain

WebKit:

Fixed assertion while loading local files.

  • Misc.subproj/WebIconDatabase.m: we don't have icon URLs for files
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _loadIcon]): Only try loading favicon as the root of server if scheme is http or https. This isn't really a feature of other protocols.
8:33 PM Changeset in webkit [2841] by hyatt
  • 5 edits in trunk/WebCore

Fix for 3107658, text doubling problem caused by layers being
constructed for <td>s. Just disallow positioning of <td>.

  • khtml/rendering/render_box.cpp: (RenderBox::setStyle):
  • khtml/rendering/render_flow.cpp: (RenderFlow::setStyle):
7:53 PM Changeset in webkit [2840] by hyatt
  • 4 edits in trunk/WebCore

Oops. I meant to do that for <input type=button> and not
<button>. Just do it for <select>s for now.

  • khtml/rendering/render_box.cpp: (RenderBox::calcReplacedWidth):
7:43 PM Changeset in webkit [2839] by hyatt
  • 4 edits in trunk/WebCore

Make <select>s and <button>s ignore a CSS-specified width if that
width is smaller than their intrinsic width.

Fixes the <select> at the top of livepage.apple.com.

  • khtml/rendering/render_box.cpp: (RenderBox::calcReplacedWidth):
7:43 PM Changeset in webkit [2838] by cblu
  • 4 edits in trunk/WebKit

WebKit:

2002-11-22 Chris Blumenberg <cblu@apple.com>

  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterContentPolicy:response:]): Added a FIXME around saveFilenameForResponse:andRequest: because the API expects a path but is asking for a filename.

WebBrowser:

Fixed: 3049735 - no default location for downloads

InternetConfig was giving an empty string for the download path. Now, when this happens, we set the download directory in InternetConfig to the Desktop.

  • BrowserWebController.m: (-[BrowserWebController saveFilenameForResponse:andRequest:]): Added a FIXME because the API expects a path but is asking for a filename.
  • Preferences.subproj/WBPreferences.m: (+[WBPreferences downloadPath]): Handle nil and "" case. Set download directory to Desktop.
6:50 PM Changeset in webkit [2837] by cblu
  • 3 edits in trunk/WebKit

Fixed: 3104693 - QT movie doesn't show video while still downloading

The initial size of plug-in should be 0,0 instead of 1,1 or else we don't get the layout

  • Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView initWithFrame:]):
6:18 PM Changeset in webkit [2836] by vicki
  • 1 edit in trunk/WebKit/Misc.subproj/WebIconDatabase.m

fixed tiny deployment build breakage; removed unused variables duration and start

5:27 PM Changeset in webkit [2835] by cblu
  • 5 edits in trunk/WebKit

Fixed: 3078737 - Crash in -[WebHistoryItem dealloc] after closing last window

  • Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase releaseIconForSiteURL:]): retain the site URL string because it may get released from beneath (-[WebIconDatabase _updateFileDatabase]): tweak (-[WebIconDatabase _iconsForIconURLString:]): disable timings for deployment build (-[WebIconDatabase _setIconURL:forSiteURL:]): tweak (-[WebIconDatabase _releaseIconForIconURLString:]): tweak (-[WebIconDatabase _scaleIcon:toSize:]): disable timings for deployment build
  • Misc.subproj/WebIconDatabasePrivate.h:
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _updateIconDatabaseWithURL:]): new, does the db binding (-[WebDataSource _loadIcon]): call _updateIconDatabaseWithURL
3:20 PM Changeset in webkit [2834] by darin
  • 8 edits
    2 adds
    1 delete in trunk/JavaScriptCore
  • prepare to reimplement KJS::List; move to its own file, add statistics
  • kjs/function_object.cpp: (FunctionProtoFuncImp::call): Use new copyTail() function rather than copy() and removeFirst().
  • kjs/identifier.cpp: Add statistics, off by default.
  • kjs/property_map.cpp: Add statistics, off by default.
  • kjs/list.cpp: Added. Moved code here. To be rewritten.
  • kjs/list.h: Added. Moved interface here. To be rewritten.
  • kjs/types.cpp: Removed.
  • kjs/types.h: Now just an empty header that includes other headers.
3:05 PM Changeset in webkit [2833] by cblu
  • 7 edits in trunk/WebKit

WebKit:

Attempt to fix: 3078737 - Crash in -[WebHistoryItem dealloc] after closing last window
I haven't found anything that would cause the crash. I did some clean-up, added asserts and error messages in hopes that this help me track this down.

  • Misc.subproj/WebIconDatabase.h:
  • Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase init]): (-[WebIconDatabase iconForSiteURL:withSize:cache:]): (-[WebIconDatabase iconForSiteURL:withSize:]): (-[WebIconDatabase retainIconForSiteURL:]): (-[WebIconDatabase releaseIconForSiteURL:]): (-[WebIconDatabase delayDatabaseCleanup]): (-[WebIconDatabase allowDatabaseCleanup]): (-[WebIconDatabase _iconDictionariesAreGood]): (-[WebIconDatabase _loadIconDictionaries]): (-[WebIconDatabase _updateFileDatabase]): (-[WebIconDatabase _hasIconForSiteURL:]): (-[WebIconDatabase _iconsForIconURLString:]): (-[WebIconDatabase _iconForFileURL:withSize:]): (-[WebIconDatabase _setIcon:forIconURL:]): (-[WebIconDatabase _setIconURL:forSiteURL:]): (-[WebIconDatabase _retainIconForIconURLString:]): (-[WebIconDatabase _releaseIconForIconURLString:]): (-[WebIconDatabase _retainFutureIconForSiteURL:]): (-[WebIconDatabase _releaseFutureIconForSiteURL:]): (-[WebIconDatabase _releaseOriginalIconsOnDisk]): (-[WebIconDatabase _sendNotificationForSiteURL:]): (-[WebIconDatabase _addObject:toSetForKey:inDictionary:]): (-[WebIconDatabase _largestIconFromDictionary:]): (-[WebIconDatabase _iconsBySplittingRepresentationsOfIcon:]): (-[WebIconDatabase _iconFromDictionary:forSize:cache:]): (-[WebIconDatabase _scaleIcon:toSize:]):
  • Misc.subproj/WebIconDatabasePrivate.h:
  • WebKit.exp:
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _loadIcon]):

WebBrowser:

  • Removed old scripting code.
  • Removed code that installed built-in icons.
  • AppController.m: (-[AppController awakeFromNib]):
  • Scripting.subproj/Scripting.h: Removed.
  • Scripting.subproj/Scripting.m: Removed.
  • WebBrowser.pbproj/project.pbxproj:
2:19 PM Changeset in webkit [2832] by rjw
  • 6 edits in trunk/WebKit

Fixed rendering issues associated with 3100120.
We now correctly map surrogate pairs in UTF-16. khtml still has
issues dealing with characters outside BMP. These are tracked
with 3109251 and 3109258.

Surrogate pairs are treated as exceptions and have their own character
to glyph map.

  • Misc.subproj/WebUnicode.h:
  • Misc.subproj/WebUnicode.m: (shapedString):
  • WebCoreSupport.subproj/WebTextRenderer.h:
  • WebCoreSupport.subproj/WebTextRenderer.m: (glyphForUnicodeCharacter): (findLengthOfCharacterCluster): (-[WebTextRenderer substituteFontForString:]): (-[WebTextRenderer convertUnicodeCharacters:length:toGlyphs:]): (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:]): (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]): (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]):
1:28 PM Changeset in webkit [2831] by darin
  • 15 edits
    20 adds in trunk/WebCore
  • started checking in all our generated source files for the benefit of B&I
  • .cvsignore:
  • WebCore-combined.exp: Added.
  • khtml/css/.cvsignore:
  • khtml/css/cssproperties.c: Added.
  • khtml/css/cssproperties.h: Added.
  • khtml/css/cssvalues.c: Added.
  • khtml/css/cssvalues.h: Added.
  • khtml/ecma/.cvsignore:
  • khtml/ecma/kjs_css.lut.h: Added.
  • khtml/ecma/kjs_dom.lut.h: Added.
  • khtml/ecma/kjs_events.lut.h: Added.
  • khtml/ecma/kjs_html.lut.h: Added.
  • khtml/ecma/kjs_navigator.lut.h: Added.
  • khtml/ecma/kjs_range.lut.h: Added.
  • khtml/ecma/kjs_traversal.lut.h: Added.
  • khtml/ecma/kjs_views.lut.h: Added.
  • khtml/ecma/kjs_window.lut.h: Added.
  • khtml/html/.cvsignore:
  • khtml/html/kentities.c: Added.
  • khtml/misc/.cvsignore:
  • khtml/misc/htmlattrs.c: Added.
  • khtml/misc/htmlattrs.h: Added.
  • khtml/misc/htmltags.c: Added.
  • khtml/misc/htmltags.h: Added.
  • kwq/.cvsignore:
  • kwq/KWQCharsetData.c: Added.
1:13 PM Changeset in webkit [2830] by sullivan
  • 4 edits in trunk/WebKit

WebKit:

  • Resources/url_icon.tiff: new generic URL icon -- little blue globe, pretty nice
  • WebKit.exp: removed symbol for WebTextRendererFactory which was in here to support an obsolete SPI hack

WebBrowser:

  • fixed 3104765 -- Use plain metal for bookmarks toolbar
  • fixed 3104766 -- Implement new highlighting for bookmarks toolbar
  • fixed 3108323 -- Dragging a toolbar bookmark can cause others to flash their mouseover highlight
  • new preference icons
  • BrowserNSStringExtras.h:
  • BrowserNSStringExtras.m: (-[NSString drawDoubledInRect:withTopColor:bottomColor:font:centered:flipped:]): new method that encapsulates the double-text-draw used by the status bar. Now it's needed for FavoriteButtons too.
  • EtchedStringView.m: (-[EtchedStringView drawRect:]): Now uses -[NSString drawDoubledInRect:etc]
  • FavoriteButton.h:
  • FavoriteButton.m: (-[FavoriteButton setBookmark:]): (-[FavoriteButton drawRolloverBackgroundImage]): (-[FavoriteButton drawPressedBackgroundImage]): (-[FavoriteButton drawDragBackgroundImage]): (-[FavoriteButton drawRect:]): (-[FavoriteButton drawForDraggingImageInRect:]): (-[FavoriteButton mouseDown:]): (-[FavoriteButton setIsMouseOver:]): reworked all the drawing code to draw background with _NSDrawThreePartImage instead of filled circles and rectangles, to match the new design from HI. Also, don't do rollover drawing if mouse is down (fixes 3108323)
  • FavoriteButtonCell.h:
  • FavoriteButtonCell.m: (+[FavoriteButtonCell bottomColorForDarkText]): (+[FavoriteButtonCell topColorForDarkText]): (+[FavoriteButtonCell bottomColorForLightText]): (+[FavoriteButtonCell topColorForLightText]): (-[FavoriteButtonCell drawInteriorWithFrame:inView:]): (-[FavoriteButtonCell setDrawsLightText:]): (-[FavoriteButtonCell drawsLightText]): reworked all the drawing code to use -[NSString drawDoubledInRect:etc], to match the new design from HI
  • FavoritesBarView.h:
  • FavoritesBarView.m: (-[FavoritesBarView awakeFromNib]): removed code to use a special background pattern
  • Preferences.subproj/AppearancePreferences.tiff:
  • Preferences.subproj/BookmarkPreferences.tiff:
  • Preferences.subproj/SecurityPreferences.tiff: new icons (GeneralPreferences.tiff is unchanged)
  • Preferences.subproj/English.lproj/GeneralPreferences.nib: final (ha!) set of tweaks from HI
  • Preferences.subproj/GeneralPreferences.m: (-[GeneralPreferences moduleWasInstalled]): tweaked; removed obsolete comment
  • Resources/Images/FavoriteDrag_Caps.tif: Added.
  • Resources/Images/FavoriteDrag_Middle.tif: Added.
  • Resources/Images/FavoritePressed_Caps.tif: Added.
  • Resources/Images/FavoritePressed_Middle.tif: Added.
  • Resources/Images/FavoriteRollover_Caps.tif: Added.
  • Resources/Images/FavoriteRollover_Middle.tif: Added.
  • Resources/Images/FavoritesBarClipIndicator.tiff:
  • Resources/Images/FavoritesFolderArrow.tif:
  • Resources/Images/FavoritesFolderArrowWhite.tif: Added.
  • WebBrowser.pbproj/project.pbxproj: updated for new files
11:35 AM Changeset in webkit [2829] by trey
  • 6 edits in trunk/WebKit

WebKit:

Added more detailed notifications on history changes.
All changes below are just posting the new notes at the right time.

  • English.lproj/StringsNotToBeLocalized.txt:
  • History.subproj/WebHistory.h:
  • History.subproj/WebHistory.m: (-[WebHistory _sendNotification:entries:]): (-[WebHistory addEntry:]): (-[WebHistory removeEntry:]): (-[WebHistory removeEntries:]): (-[WebHistory removeAllEntries]): (-[WebHistory addEntries:]): (-[WebHistory loadHistory]):
  • WebKit.exp:

WebBrowser:

Autocomplete is working with a decent DB behind it. We use a Patricia tree with the added
capability of enumerating forward from a cursor.

Things that work at this point:

  • Anything in your history or bookmarks (except from AB or Rendezvous) is findable
  • autocomplete DB tracks changes to history
  • results are ordered lexographically (not fancy, but at least the shortest things are first)

Here's what's getting fixed next:

  • Matching doesn't work if you type http:// or www. as part of your partial string (we only match ignoring the boilerplate).
  • Changes to bookmarks are not reflected in the autocomplete DB
  • Results will be ranked so the one you want is always the first one selected, like it's reading your mind.
  • Reduce conversions from NString to NSURL to NSString to NSURL to...
  • BrowserWindowController.m: (-[BrowserWindowController windowDidLoad]): Re-enable feature.
  • CompletionController.m: (leftPointsUpward): Patricia utility function. (rightPointsUpward): Patricia utility function. (leftmostChild): Patricia utility function. (+[CompletionController _tree_create]): Initialize the root node. (destroyTree): recursively free up the tree (+[CompletionController _tree_destroy]): Free the tree. (_bitOfString): Patricia utility function. (_leftmostBitOfUnichar): Patricia utility function. (_leftmostDiffBit): Patricia utility function. (_stringFromKey): Extract the string we index from an item we put in the db (calls _cookedURLString) (_findInsertionPoint): Search the tree for place we would insert a node. (_findPotentialNode): Search for a match in the tree. (+[CompletionController _tree_addItem:]): Add an item. (+[CompletionController _tree_deleteItem:]): Delete an item. (+[CompletionController _tree_findItem:cursor:]): Find and item, setting cursor. (+[CompletionController _tree_nextItemUsingCursor:]): Get next item. (+[CompletionController _tree_setCursorAtStart:]): Set cursor (only for debug now) (DumpAutoCompleteTree): Debugding dump. (_cookedURLString): Strips off boilerplate like "http://www." from a URL (+[CompletionController _addBookmarkTree:]): Recursively adds bookmarks to the tree. (+[CompletionController _loadDB]): Adds bookmarks and history to the tree. (-[CompletionController _executeQuery]): Looks up a result set given a user's partial string. (+[CompletionController _registerForNotifications]): Listen for history changes. (+[CompletionController _historyAdded:]): Update db on history change. (+[CompletionController _historyRemoved:]): Update db on history change. (+[CompletionController _reloadDB:]): Update db on history change. (-[CompletionController _buildUI]): Make popdown window slightly transparent. (-[CompletionController _reflectSelectedRow]): Properly add completion text to user's partial text. ("http://www." no longer hardwired) (-[CompletionController tableView:objectValueForTableColumn:row:]): Handle bookmarks as well as WebHistoyItems.
  • GlobalHistory.m: (-[GlobalHistory _registerForHistoryNotifications]): Register for new WebHistory notifications.
11:03 AM Changeset in webkit [2828] by hyatt
  • 7 edits in trunk/WebCore

Fix for the table/form regressions. Also landing beginnings
of the block/inline work.

  • khtml/html/html_tableimpl.cpp: (HTMLTableSectionElementImpl::addChild):
  • khtml/html/html_tableimpl.h:
  • khtml/rendering/render_flow.cpp: (RenderFlow::RenderFlow):
  • khtml/rendering/render_flow.h:
11:00 AM Changeset in webkit [2827] by rjw
  • 4 edits in trunk/WebKit

Changed NSString category methods to include _web_ prefix.

  • Misc.subproj/WebKitNSStringExtras.h:
  • Misc.subproj/WebKitNSStringExtras.m: (-[NSString _web_widthForString:font:]):

Changed NSString category methods to include _web_ prefix.

  • EtchedStringView.m: (-[EtchedStringView drawRect:]):
10:48 AM Changeset in webkit [2826] by rjw
  • 3 edits
    2 adds in trunk/WebKit

Changed to use simplified SPI. Drawing and measuring using
WebKit's text renderer are provided as category methods
on NSString.

  • EtchedStringView.m: (-[EtchedStringView drawRect:]):

Simplified drawing and measuring SPI for use by Alex.

  • Misc.subproj/WebKitNSStringExtras.h: Added.
  • Misc.subproj/WebKitNSStringExtras.m: Added. (-[NSString widthForString:font:]):
  • WebKit.pbproj/project.pbxproj:
1:47 AM Changeset in webkit [2825] by mjs
  • 4 edits in trunk/JavaScriptCore
  • reduce cell size to 56 bytes from 64, now that nearly all objects fit in that size. .5% speed gain and probably some footprint gain.
  • kjs/collector.cpp: Change CELL_SIZE from 64 to 56.
1:04 AM Changeset in webkit [2824] by darin
  • 21 edits in trunk

JavaScriptCore:

  • change ScopeChain to be a singly linked list shares tails, gives 11% gain on iBench
  • kjs/context.h: (ContextImp::pushScope): Make inline, use push instead of prepend, and pass imp pointer. (ContextImp::popScope): Make inline, use pop instead of removeFirst.
  • kjs/function.cpp: (DeclaredFunctionImp::DeclaredFunctionImp): No need to copy.
  • kjs/function_object.cpp: (FunctionObjectImp::construct): Use push instead of prepend, and pass imp pointer.
  • kjs/internal.cpp: (ContextImp::ContextImp): Use clear, push instead of prepend, and pass imp pointers.
  • kjs/nodes.cpp: (ResolveNode::evaluateReference): Use isEmpty, pop, and top instead of ScopeChainIterator.
  • kjs/object.h: Change _scope to be a NoRefScopeChain.
  • kjs/object.cpp: No need to initialize _scope any more, since it's not a NoRefScopeChain.
  • kjs/scope_chain.h: Rewrite, different implementation and interface.
  • kjs/scope_chain.cpp: More of the same.

WebCore:

  • khtml/ecma/kjs_dom.cpp: (DOMNode::pushEventHandlerScope): Change to push handlers on an existing scope chain rather than returning one. Name change too.
  • khtml/ecma/kjs_dom.h: More of the same.
  • khtml/ecma/kjs_html.cpp: (KJS::HTMLElement::pushEventHandlerScope): And here.
  • khtml/ecma/kjs_html.h: And here.
  • khtml/ecma/kjs_events.cpp: (JSEventListener::handleEvent): Use the pushEventHandlerScope function, and also don't worry about optimizing the "no change" case, because that already works pretty efficiently.
12:48 AM Changeset in webkit [2823] by hyatt
  • 7 edits in trunk/WebCore

Fix for the weather.com, slate and espn malformations that
could occur. Also reverting an earlier change for handling
font tags like other inlines. Both FONT and A need to be
given special treatment until I can implement a strategy that
will allow them to be handled just like the other inlines.

  • khtml/html/dtd.cpp: (DOM::checkChild):
  • khtml/html/html_elementimpl.cpp: (HTMLElementImpl::isInline):
  • khtml/html/html_elementimpl.h:
  • khtml/xml/dom_nodeimpl.h:
12:13 AM Changeset in webkit [2822] by mjs
  • 4 edits in trunk/JavaScriptCore
  • a simple change for .4% gain on ibench - instead of unmarking all objects at the start of collection, instead unmark as part of the sweep phase
  • kjs/collector.cpp: (Collector::collect): Remove separate unmarking pass and instead unmark the objects that don't get collected during the sweep phase.

Nov 21, 2002:

10:59 PM Changeset in webkit [2821] by darin
  • 27 edits
    3 adds in trunk

top level:

  • Site/Internal/Design/CFURL.rtf: Added.

Tools:

  • Scripts/last-update: Added. Script for Trey that tells you when you last did a cvs update, based on most-recently updated ChangeLog.

JavaScriptCore:

  • stop garbage collecting the ActivationImp objects, gets 3% on iBench
  • pave the way to separate the argument lists from scope chains
  • kjs/context.h: Added. Moved ContextImp here so it can use things defined in function.h
  • kjs/scope_chain.h: Added. Starting as a copy of List, to be improved.
  • kjs/scope_chain.cpp: Added. Starting as a copy of List, to be improved.
  • JavaScriptCore.pbproj/project.pbxproj: Rearranged things, added context.h.
  • kjs/function.cpp: (FunctionImp::call): Pass InterpreterImp, not ExecState, to ContextImp. (DeclaredFunctionImp::DeclaredFunctionImp): List -> ScopeChain. (ActivationImp::createArgumentsObject): ArgumentList -> List. (GlobalFuncImp::call): Pass InterpreterImp, not an ExecState, to ContextImp.
  • kjs/function.h: List -> ScopeChain.
  • kjs/function_object.cpp: (FunctionObjectImp::construct): List -> ScopeChain.
  • kjs/internal.cpp: (ContextImp::ContextImp): Set the context in the interpreter. (ContextImp::~ContextImp): Set the context in the interpreter to the caller. (ContextImp::mark): Mark all the activation objects. (InterpreterImp::InterpreterImp): Initialize context to 0. (InterpreterImp::mark): Mark the top context. (InterpreterImp::evaluate): Pass InterpreterImp to ContextImp.
  • kjs/internal.h: Move ContextImp to its own header. Add setContext to InterpreterImp.
  • kjs/interpreter.cpp: (Context::scopeChain): List -> ScopeChain.
  • kjs/interpreter.h: List -> ScopeChain.
  • kjs/nodes.cpp: (ResolveNode::evaluateReference): List -> ScopeChain. (FuncDeclNode::processFuncDecl): List -> ScopeChain. (FuncExprNode::evaluate): List -> ScopeChain.
  • kjs/object.cpp: List -> ScopeChain.
  • kjs/object.h: List -> ScopeChain.
  • kjs/types.h: Remove needsMarking features from List.
  • kjs/types.cpp: Ditto.

WebCore:

  • khtml/ecma/kjs_dom.cpp: (DOMNode::eventHandlerScope): List -> ScopeChain.
  • khtml/ecma/kjs_dom.h: List -> ScopeChain.
  • khtml/ecma/kjs_events.cpp: (JSEventListener::handleEvent): List -> ScopeChain.
  • khtml/ecma/kjs_html.cpp: (KJS::HTMLElement::eventHandlerScope): List -> ScopeChain.
  • khtml/ecma/kjs_html.h: List -> ScopeChain.
  • force-js-clean-timestamp: Not sure this is required, but better safe than sorry.
8:40 PM Changeset in webkit [2820] by cblu
  • 6 edits in trunk/WebKit

Removed workaround for: 3093170 - Handle clients receive data with length 0

as it's now fixed.

  • Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler receivedData:]): remove workaround
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handle:didReceiveData:]): added asserts
6:58 PM Changeset in webkit [2819] by rjw
  • 4 edits in trunk/WebKit

A different fix to 3078065 that doesn't depend on the appkit's idea of
fixed pitch font.

The fix is to adjust the width of all characters that have the same width
as the space character to match the adjustment of the space character.
This has the slight downside that non-monospace fonts that contain glyphs
with the same width as the space character will have an extra adjustment.
In practice this is not noticeable as the adjustment is always sub-pixel.
Nor of course does this cause any mislayout, as it's done at the lowest
level for both measurement and drawing.

Until we move kthml internals to floats this will be just fine.

  • WebCoreSupport.subproj/WebTextRenderer.h:
  • WebCoreSupport.subproj/WebTextRenderer.m: (widthForGlyph): (-[WebTextRenderer initWithFont:]): (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:]):

tAfterNavigationPolicy:request:]):

6:43 PM Changeset in webkit [2818] by mjs
  • 4 edits in trunk/WebCore
  • force-js-clean-timestamp: Touch so other people's builds work.
6:08 PM Changeset in webkit [2817] by mjs
  • 5 edits in trunk/JavaScriptCore
  • reduced the size of PropertyMap by storing sizes and such in the dynamically allocated part of the object to reduce the size of ObjectImp - .5% speed improvement on JS iBench.
  • kjs/property_map.cpp:
  • kjs/property_map.h:
5:57 PM Changeset in webkit [2816] by hyatt
  • 4 edits in trunk/WebCore

Nested <a>s are never allowed. Make sure to always pop the
<a> blocks.

  • khtml/html/htmlparser.cpp: (KHTMLParser::getElement):
5:32 PM Changeset in webkit [2815] by hyatt
  • 4 edits in trunk/WebCore

Stop table cells from repainting the whole table when they
get a repaint. Gives another big boost to link rollover
performance when links' containing blocks are table cells.

  • khtml/rendering/render_table.cpp: (RenderTableCell::repaint):
5:26 PM Changeset in webkit [2814] by hyatt
  • 4 edits in trunk/WebCore

Fix <font> so that behaves just like <i>, <b>, etc. Stop
the (incorrect) allowance of blocks inside <font> tags.
This fixes the mispositioning on avoyagetoarcturus.blogspot.com
and fixes the vertical gaps on www.ve3d.com.

  • khtml/html/dtd.cpp: (DOM::checkChild):
5:20 PM Changeset in webkit [2813] by mjs
  • 11 edits in trunk

Tools:

  • CommitLogEditor/Makefile.am: Pass symroots for this tree to pbxbuild.
  • HotSpotFinder/Makefile.am: Pass symroots for this tree to pbxbuild.

JavaScriptCore:

  • Makefile.am: Pass symroots for this tree to pbxbuild.

Tests:

  • ObjcUnit/Makefile.am: Pass symroots for this tree to pbxbuild.
  • TestPlugin/Makefile.am: Pass symroots for this tree to pbxbuild.
  • WebFoundation-CacheLoader/Makefile.am: Pass symroots for this tree to pbxbuild.

WebFoundation:

  • Makefile.am: Pass symroots for this tree to pbxbuild.

WebCore:

  • Makefile.am: Pass symroots for this tree to pbxbuild.

WebKit:

  • Makefile.am: Pass symroots for this tree to pbxbuild.

WebBrowser:

  • Makefile.am: Pass symroots for this tree to pbxbuild.
5:17 PM Changeset in webkit [2812] by hyatt
  • 6 edits in trunk/WebCore

Fixed for tables. Make the percentage height calculation
more robust. Also add a hack for replaced elements to
subtract out their margins when computing percentage widths.
This keeps them from spilling out of table cells.

  • khtml/rendering/render_box.cpp: (RenderBox::calcReplacedWidth): (RenderBox::calcReplacedHeight):
  • khtml/rendering/render_table.cpp: (RenderTable::layoutRows):
  • khtml/xml/dom_nodeimpl.h:
4:25 PM Changeset in webkit [2811]
  • 4 copies in tags/Alexander-33

This commit was manufactured by cvs2svn to create tag 'Alexander-33'.

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

Moved Alexander-33 marker.

4:22 PM Changeset in webkit [2809] by rjw
  • 4 edits in trunk/WebCore

Fixed from SK's copy/paste whitespace issue.
This fixes 3076236 and a regression due to additional whitespace
in the DOM.

  • kwq/WebCoreBridge.mm: (attributedString):
4:13 PM Changeset in webkit [2808] by cblu
  • 4 edits in trunk/WebKit

Fixed: 3009881 - plugins get mouse-overs even when mouse is in menus
Fixed: 3108240 - Loading datasource sometimes doesn't have cancelled error when cancelled

  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView sendNullEvent]): check if menus are showing (-[WebBaseNetscapePluginView restartNullEvents]): tweak
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _stopLoading]): set cancelled error if main handle is gone
4:03 PM Changeset in webkit [2807] by sheridan
  • 8 edits in trunk

Alex-33 stamp

2:06 PM Changeset in webkit [2806] by hyatt
  • 4 edits in trunk/WebCore

Fix mac.com regression (and weather.com regression).

  • khtml/rendering/bidi.cpp: (RenderFlow::findNextLineBreak):
1:19 PM Changeset in webkit [2805] by rjw
  • 4 edits in trunk/WebCore

Fixed performance regression! Argh.

  • khtml/rendering/font.cpp: (Font::width):
9:36 AM Changeset in webkit [2804] by darin
  • 8 edits in trunk

JavaScriptCore:

  • kjs/property_map.cpp: More assertions.

WebCore:

  • force-js-clean-timestamp: Trigger a rebuild because of the size change in ValueImp.
9:06 AM Changeset in webkit [2803] by darin
  • 5 edits in trunk/WebCore
  • fixed 3107286 -- REGRESSION: unrepro assertion failure in KWQKHTMLPart.mm keyEvent
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::keyEvent): Handle case of nil document as well as case of nil focus node.
  • kwq/WebCoreBridge.mm: Tweak whitespace.
8:23 AM Changeset in webkit [2802] by darin
  • 4 edits in trunk/JavaScriptCore
  • kjs/property_map.cpp: Turn that consistency check back off.
8:22 AM Changeset in webkit [2801] by darin
  • 5 edits in trunk/JavaScriptCore
  • someone somewhere must be defining a macro named check, causing a compile failure in WebCore

Rename check() to checkConsistency().

  • kjs/property_map.h: Rename.
  • kjs/property_map.cpp: Yes, rename.
7:39 AM Changeset in webkit [2800] by darin
  • 12 edits in trunk/JavaScriptCore
  • add self-check to property map in hopes of finding the cnet.com bug
  • kjs/property_map.h: Add check() function.
  • kjs/property_map.cpp: Add the checking, controlled by DO_CONSISTENCY_CHECK.
  • fixed UChar interface so it's not so slow in debug builds
  • kjs/ustring.h: Nothing in UChar needs to be private.
  • kjs/function.cpp: (GlobalFuncImp::call):
  • kjs/function_object.cpp: (FunctionObjectImp::construct):
  • kjs/identifier.cpp:
  • kjs/lexer.cpp: (Lexer::setCode), (Lexer::shift):
  • kjs/lookup.cpp: (keysMatch):
  • kjs/ustring.cpp: (UString::Rep::computeHash), (KJS::compare): Use the "uc" field instead of the "unicode()" inline function.
7:11 AM Changeset in webkit [2799] by darin
  • 6 edits in trunk/JavaScriptCore
  • fixed a null-dereference I ran into while trying to reproduce bug 3107351
  • kjs/function.h: Change ActivationImp constructor to take context parameter.
  • kjs/function.cpp: (ActivationImp::ActivationImp): Take context parameter, not execution state parameter.
  • kjs/internal.cpp: (ContextImp::ContextImp): Initialize activation object from context, not execution state, because the new context is not yet in the execution state.

Nov 20, 2002:

11:42 PM Changeset in webkit [2798] by darin
  • 10 edits in trunk

WebFoundation:

  • English.lproj/StringsNotToBeLocalized.txt: Update.

WebCore:

  • fixed 3107383 -- clicking link on cnet.com leads to assertion failure

When we removed a frame, we were leaving behind an empty WebView. Yuck.

  • kwq/KWQScrollView.mm: (QScrollView::addChild): Use the new getOuterView. (QScrollView::removeChild): Ditto. This was the bug fix.
  • kwq/KWQWidget.h: Add getOuterView.
  • kwq/KWQWidget.mm: (QWidget::frameGeometry): Use the new getOuterView. (QWidget::setFrameGeometry): Ditto. (QWidget::getOuterView): Added. Does the WebCoreFrameView magic to find the WebView instead of the WebHTMLView. Yuck. (QWidget::paint): Use the new getOuterView.

WebKit:

  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Unescape the string before executing it, so we don't suffer from bug 3083043 here in the javascript: URLs that come from plug-ins.
  • English.lproj/StringsNotToBeLocalized.txt: Update.

WebBrowser:

  • Debug/DebugUtilities.m: (-[DebugUtilities createDebugMenu]): Fix typo. "Import" the favorites, don't "Imported" them.
  • English.lproj/StringsNotToBeLocalized.txt: Let the update script sort this file.
10:05 PM Changeset in webkit [2797] by cblu
  • 5 edits
    2 deletes in trunk/WebKit

Fixed: 3079134 - Throttle plug-ins while in background

  • Plugins.subproj/WebBaseNetscapePluginView.h:
  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView sendNullEvent]): new (-[WebBaseNetscapePluginView stopNullEvents]): stops timer (-[WebBaseNetscapePluginView restartNullEvents]): stops timer if there is one, and starts a new one based on window activation state (-[WebBaseNetscapePluginView start]): call restartNullEvents (-[WebBaseNetscapePluginView stop]): call stopNullEvents (-[WebBaseNetscapePluginView windowBecameKey:]): call restartNullEvents (-[WebBaseNetscapePluginView windowResignedKey:]): call restartNullEvents (-[WebBaseNetscapePluginView windowDidMiniaturize:]): call stopNullEvents (-[WebBaseNetscapePluginView windowDidDeminiaturize:]): call restartNullEvents
  • Plugins.subproj/WebNetscapePluginNullEventSender.h: Removed. No need for another class, use a timer.
  • Plugins.subproj/WebNetscapePluginNullEventSender.m: Removed. No need for another class, use a timer.
  • WebKit.pbproj/project.pbxproj:
6:20 PM Changeset in webkit [2796] by rjw
  • 4 edits in trunk

Fixed 3107007. Letter-spacing is causing width to be miscalculated.
This also fixed some selection problems.

  • khtml/rendering/font.cpp: (Font::width):

Fixed 3107007. Letter-spacing is causing width to be miscalculated.
This also fixed some selection problems.

  • WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:]):
5:35 PM Changeset in webkit [2795] by rjw
  • 1 edit in trunk/WebKit/WebCoreSupport.subproj/WebTextRenderer.h

Oops, forgot to checkin header change.

5:28 PM Changeset in webkit [2794] by darin
  • 6 edits in trunk/JavaScriptCore
  • added a feature for Richard to use in his back/forward cache
  • kjs/object.h: Added save/restoreProperties.
  • kjs/property_map.h: Here too.
  • kjs/property_map.cpp: Here too.
5:21 PM Changeset in webkit [2793] by rjw
  • 3 edits in trunk/WebKit

Fixed mono spaced fonts to always render with mono spacing! (3078065)

  • WebCoreSupport.subproj/WebTextRenderer.h:
  • WebCoreSupport.subproj/WebTextRenderer.m: (widthForGlyph): (-[WebTextRenderer initWithFont:]):
4:55 PM Changeset in webkit [2792] by darin
  • 8 edits in trunk/JavaScriptCore
  • created argument list objects only on demand for a 7.5% speedup
  • kjs/function.h: Change ActivationImp around.
  • kjs/function.cpp: (FunctionImp::call): Pass a pointer to the arguments list to avoid ref/unref. (FunctionImp::get): Get the function pointer from the context directly, not the activation object. (ArgumentsImp::ArgumentsImp): Add an overload that takes no arguments. (ActivationImp::ActivationImp): Store a context pointer and an arguments object pointer. (ActivationImp::get): Special case for arguments, create it and return it. (ActivationImp::put): Special case for arguments, can't be set. (ActivationImp::hasProperty): Special case for arguments, return true. (ActivationImp::deleteProperty): Special case for arguments, refuse to delete. (ActivationImp::mark): Mark the arguments object. (ActivationImp::createArgumentsObject): Do the work of actually creating it. (GlobalFuncImp::call): Use stack-based objects for the ContextImp and ExecState.
  • kjs/internal.h: Keep function and arguments pointer in the context.
  • kjs/internal.cpp: (ContextImp::ContextImp): Don't pass in the func and args when making an ActivationImp. (InterpreterImp::evaluate): Use stack-based objects here.
  • kjs/types.h: Add ArgumentList as a synonym for List, soon to be separate.
4:21 PM Changeset in webkit [2791] by mjs
  • 5 edits in trunk/JavaScriptCore

Reduced the size of ValueImp by 8 bytes for a .5% speedup.

  • kjs/value.h: Removed destructed flag. Made refcount and flag 16 bits each.
  • kjs/value.cpp: (ValueImp::~ValueImp): Don't set destructed flag.
3:55 PM Changeset in webkit [2790] by cblu
  • 3 edits in trunk/WebKit

Fixed: 3074926 - crash in BitsToPix() trying to print cnet page

  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView drawRect:]): disable experimental plug-in printing code.
2:59 PM Changeset in webkit [2789] by darin
  • 4 edits in trunk/JavaScriptCore
  • kjs/types.cpp: Keep ref count for the whole lists of nodes. Doesn't speed things up much, less than 1%.
2:26 PM Changeset in webkit [2788] by mjs
  • 4 edits in trunk/JavaScriptCore
  • kjs/collector.cpp: (Collector::allocate): Clear the flags on newly allocated objects.
2:11 PM Changeset in webkit [2787] by cblu
  • 4 edits in trunk/WebKit

Minor clean-up, logging and more error checking in plug-in code.

  • Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream setResponse:]): (-[WebBaseNetscapePluginStream receivedData:]): (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
  • Plugins.subproj/npapi.m: (NPN_UserAgent): (NPN_MemFree): (NPN_MemFlush): (NPN_ReloadPlugins):
1:49 PM Changeset in webkit [2786] by darin
  • 6 edits in trunk/JavaScriptCore
  • oops, checked in big regression instead of 5% speedup
  • kjs/function.cpp: (ActivationImp::ActivationImp): Make a marking list, not a refing list.
  • a cut at the sparse array implementation
  • kjs/array_instance.h: Keep storageLength separate from length.
  • kjs/array_object.cpp: (ArrayInstanceImp::ArrayInstanceImp): Start with storageLength == length. (ArrayInstanceImp::get): Check against storage length. (ArrayInstanceImp::put): Ditto. (ArrayInstanceImp::hasProperty): Ditto. (ArrayInstanceImp::deleteProperty): Ditto. (ArrayInstanceImp::setLength): Only enlarge storage length up to a cutoff. (ArrayInstanceImp::mark): Use storageLength. (ArrayInstanceImp::pushUndefinedObjectsToEnd): Added FIXME.
1:34 PM Changeset in webkit [2785] by darin
  • 4 edits in trunk/WebCore
  • force-js-clean-timestamp: Again.
1:25 PM Changeset in webkit [2784] by hyatt
  • 4 edits in trunk/WebCore

Fix the mac.com line-breaking bug. This was not a regression
but was present in Konq.

  • khtml/rendering/bidi.cpp: (RenderFlow::findNextLineBreak):
1:12 PM Changeset in webkit [2783] by darin
  • 31 edits
    1 add in trunk/JavaScriptCore
  • decrease ref/deref -- 5% speedup in iBench
  • JavaScriptCore.pbproj/project.pbxproj: Added array_instance.h
  • kjs/array_instance.h: Added so it can be shared by function.h.
  • kjs/array_object.cpp:
  • kjs/array_object.h:
  • kjs/bool_object.cpp:
  • kjs/bool_object.h:
  • kjs/collector.cpp:
  • kjs/date_object.cpp:
  • kjs/date_object.h:
  • kjs/error_object.cpp:
  • kjs/function.cpp:
  • kjs/function.h:
  • kjs/function_object.cpp:
  • kjs/internal.cpp:
  • kjs/internal.h:
  • kjs/math_object.cpp:
  • kjs/nodes.cpp:
  • kjs/number_object.cpp:
  • kjs/object.cpp:
  • kjs/object.h:
  • kjs/object_object.cpp:
  • kjs/property_map.cpp:
  • kjs/reference.cpp:
  • kjs/reference.h:
  • kjs/regexp_object.cpp:
  • kjs/string_object.cpp:
  • kjs/string_object.h:
  • kjs/value.cpp:
  • kjs/value.h: Switched lots of interfaces so they don't require ref/deref.
11:20 AM Changeset in webkit [2782] by cblu
  • 3 edits in trunk/WebKit

Fixed: 3061174 - javascript: URLs sent by plugins don't work

  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
8:54 AM Changeset in webkit [2781] by mjs
  • 5 edits in trunk/JavaScriptCore

Fixed the two most obvious problems with the new GC for another 6%
improvement.

  • kjs/collector.cpp: (Collector::allocate): Don't bother doing the bit tests on a bitmap word if all it's bits are on. (Collector::collect): Track memoryFull boolean.
  • kjs/collector.h: Inlined outOfMemory since it was showing up on profiles.
2:07 AM Changeset in webkit [2780] by darin
  • 3 edits in trunk/WebKit

WebFoundation:

  • English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.

WebKit:

  • English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.

WebBrowser:

  • English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
  • Test/PageLoadTestController.m: (-[PageLoadTestController browserWindowClosed]): Explain the world leak check a bit more.
1:34 AM Changeset in webkit [2779] by mjs
  • 11 edits in trunk

JavaScriptCore:

Rewrote garbage collector to make blocks of actual memory instead
of blocks of pointers. 7% improvement on JavaScript
iBench. There's still lots of room to tune the new GC, this is
just my first cut.

  • kjs/collector.cpp: (Collector::allocate): (Collector::collect): (Collector::size): (Collector::outOfMemory): (Collector::finalCheck): (Collector::numGCNotAllowedObjects): (Collector::numReferencedObjects): (Collector::liveObjectClasses):
  • kjs/collector.h:
  • kjs/function.cpp: (ActivationImp::ActivationImp):
  • kjs/function.h:

WebCore:

  • force-js-clean-timestamp: Work around PB lameness yet again.
1:11 AM Changeset in webkit [2778] by darin
  • 9 edits in trunk/JavaScriptCore
  • on the road to killing ActivationImp
  • kjs/function.h: Add get/put to FunctionImp. Remove argumentsObject() from ActivationImp. Add function() to ActivationImp.
  • kjs/function.cpp: (FunctionImp::FunctionImp): No arguments property. (FunctionImp::call): No need to set up the arguments property. (FunctionImp::parameterString): Remove strangeness. (FunctionImp::processParameters): Ditto. (FunctionImp::get): Added, handles arguments and length properties. (FunctionImp::put): Ditto. (FunctionImp::hasProperty): Ditto. (FunctionImp::deleteProperty): Ditto. (ActivationImp::ActivationImp): Store a function pointer so we can find it in the context.
  • kjs/function_object.cpp: (FunctionObjectImp::construct): No need to set up arguments property.
  • kjs/nodes.cpp: (FuncExprNode::evaluate): No need to set up length property.
  • kjs/internal.h: Return ObjectImp * for activation object.
  • kjs/interpreter.h: Remove stray declaration of ExecStateImp.
12:53 AM Changeset in webkit [2777] by darin
  • 7 edits in trunk/JavaScriptCore
  • add a couple of list operations to avoid clearing lists so much during sorting; gives 1.5% iBench
  • kjs/types.h: Added replaceFirst/replaceLast.
  • kjs/types.cpp: (List::replaceFirst), (List::replaceLast): Added.
  • kjs/array_object.cpp: (compareWithCompareFunctionForQSort): Use replaceFirst/replaceLast.
  • kjs/property_map.cpp: Put in an ifdef so I can re-add/remove the single entry to see if it has outlived its usefulness. (It hasn't yet.)
12:15 AM Changeset in webkit [2776] by darin
  • 7 edits in trunk/JavaScriptCore
  • atomic identifiers; gives another 6.5% in the iBench suite
  • kjs/identifier.h: Did the real thing.
  • kjs/identifier.cpp: Ditto.
  • kjs/property_map.h: _tableSizeHashMask -> _tableSizeMask
  • kjs/property_map.cpp: The above, plus take advantage of comparing by pointer instead of by comparing bytes.

Nov 19, 2002:

11:11 PM Changeset in webkit [2775] by darin
  • 4 edits in trunk/WebCore
  • force-js-clean-timestamp: Make other people's builds work.
7:07 PM Changeset in webkit [2774] by hyatt
  • 4 edits in trunk/WebCore

I screwed up the line breaking for inline replaced elements.

  • khtml/rendering/render_flow.cpp: (RenderFlow::calcInlineMinMaxWidth):
6:52 PM Changeset in webkit [2773] by cblu
  • 3 edits in trunk/WebKit

Fixed: 3106061 - REGRESSION: Copy in text view copies all text not just selection

  • Misc.subproj/WebSearchableTextView.m: (-[WebSearchableTextView copy:]):
6:35 PM Changeset in webkit [2772] by darin
  • 17 edits in trunk/JavaScriptCore
  • a few more globals for often-used property names
  • conversion to Identifier from UString must now be explicit
  • kjs/error_object.cpp:
  • kjs/function.cpp:
  • kjs/function_object.cpp:
  • kjs/identifier.cpp:
  • kjs/identifier.h:
  • kjs/lexer.cpp:
  • kjs/nodes.cpp:
  • kjs/number_object.cpp:
  • kjs/object.cpp:
  • kjs/object.h:
  • kjs/string_object.cpp:
  • kjs/testkjs.cpp:
  • kjs/ustring.cpp:
  • kjs/ustring.h:
6:32 PM Changeset in webkit [2771] by darin
  • 5 edits in trunk/WebCore
  • another atomic identifier scrub pass; make the conversion to Identifier explicit
  • khtml/ecma/kjs_html.cpp: (KJS::HTMLCollection::tryCall): Add explicit Identifier() conversion. (KJS::HTMLCollectionProtoFunc::tryCall): Ditto.
  • khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): And again.
5:53 PM Changeset in webkit [2770] by hyatt
  • 7 edits in trunk/WebCore

Fix for 3049663. Table cells don't grow to accommodate block
overflow.

  • khtml/rendering/bidi.cpp: (RenderFlow::layoutInlineChildren):
  • khtml/rendering/render_flow.cpp: (RenderFlow::RenderFlow): (RenderFlow::layout): (RenderFlow::layoutBlockChildren):
  • khtml/rendering/render_flow.h:
  • khtml/rendering/render_object.h:
5:23 PM Changeset in webkit [2769] by darin
  • 8 edits in trunk/JavaScriptCore
  • another step towards atomic identifiers; storing hash in the string rep. gives about a 1.5% speedup in the JavaScript iBench
  • kjs/ustring.h: Add a hash field to UString::Rep.
  • kjs/ustring.cpp: (UString::Rep::create): Set hash to uninitialized value. (UString::Rep::destroy): Do the deleting in her, and call Identifier if needed. (UString::Rep::computeHash): Added. (UString::append): Set hash to 0 when modifying the string in place. (UString::operator=): Ditto.
  • kjs/property_map.cpp: Use the hash from UString.
  • kjs/identifier.h: Added aboutToDestroyUStringRep.
  • kjs/identifier.cpp: (Identifier::aboutToDestroyUStringRep): Added.
4:24 PM Changeset in webkit [2768] by cblu
  • 3 edits in trunk/WebKit

Fixed: 3092588 - redraw errors in QT controller if window is in background

We need to send update events after we activate/deactivate after all.

  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView windowBecameKey:]): (-[WebBaseNetscapePluginView windowResignedKey:]):
4:09 PM Changeset in webkit [2767] by cblu
  • 3 edits in trunk/WebKit

Fixed: 3020720 - dropping a folder in the page address makes the folder open in Finder, empties the field

  • Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_bestURL]): Don't accept directories.
3:45 PM Changeset in webkit [2766] by darin
  • 22 edits in trunk

JavaScriptCore:

  • next step towards atomic identifiers; Identifier is no longer derived from UString
  • kjs/identifier.h: Remove base class and add _ustring member.
  • kjs/identifier.cpp: Add null and an == that works with const char *.
  • kjs/property_map.cpp: Get rep through _ustring.
  • kjs/function.cpp: (FunctionImp::parameterString): Call ustring().
  • kjs/function_object.cpp: (FunctionProtoFuncImp::call): Ditto.
  • kjs/nodes.cpp: (PropertyNode::evaluate): Ditto. (VarDeclNode::evaluate): Ditto. (ForInNode::execute): Ditto.
  • kjs/nodes2string.cpp: (SourceStream::operator<<): Add overload for Identifier.
  • kjs/reference.cpp: (Reference::getValue): Call ustring().
  • kjs/regexp_object.cpp: (RegExpObjectImp::get): Call ustring().

WebCore:

  • next step towards atomic identifiers; Identifier is no longer derived from UString
  • khtml/ecma/kjs_binding.cpp: (Identifier::string): Added. (Identifier::qstring): Added.
  • khtml/ecma/kjs_binding.h:
  • khtml/ecma/kjs_css.cpp: (jsNameToProp): (DOMCSSStyleDeclaration::tryPut): (DOMStyleSheet::tryPut): (DOMStyleSheetList::tryGet): (DOMMediaList::tryGet): (DOMCSSRuleList::tryGet): (DOMCSSValueList::tryGet):
  • khtml/ecma/kjs_dom.cpp: (DOMNodeList::hasProperty): (DOMNodeList::tryGet): (DOMNodeListFunc::DOMNodeListFunc): (DOMElement::tryGet): (DOMNamedNodeMap::hasProperty): (DOMNamedNodeMap::tryGet): (DOMNamedNodesCollection::tryGet):
  • khtml/ecma/kjs_html.cpp: (KJS::HTMLDocument::tryGet): (HTMLElementFunction::HTMLElementFunction): (KJS::HTMLElement::putValue): (KJS::HTMLCollection::hasProperty): (KJS::HTMLCollection::tryGet): (KJS::HTMLSelectCollection::tryPut): (OptionConstructorImp::OptionConstructorImp):
  • khtml/ecma/kjs_navigator.cpp: (Plugins::get): (MimeTypes::get): (Plugin::get):
  • khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): (FrameArray::get): Use lengthPropertyName instead of "length" for better speed.
3:00 PM Changeset in webkit [2765] by cblu
  • 3 edits in trunk/WebKit

Fixed: 3068112 - extra line breaks when copying from source window

  • Misc.subproj/WebSearchableTextView.m: (-[WebSearchableTextView copy:]): Convert CRLF to LF
2:49 PM Changeset in webkit [2764] by hyatt
  • 3 edits in trunk/WebKit

Make sure that if the scrollers are shown/hidden that we
force an immediate layout, since if we don't, an intervening
display can cause us to show scrollbars when they really
shouldn't be there.

  • WebView.subproj/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView updateScrollers]):
2:48 PM Changeset in webkit [2763] by hyatt
  • 4 edits in trunk/WebCore

Fix backgrounds not painting in deployment builds.

  • khtml/rendering/render_box.cpp: (RenderBox::paintBackground):
2:25 PM Changeset in webkit [2762] by darin
  • 4 edits in trunk/JavaScriptCore
  • fixed memory trasher
  • kjs/ustring.cpp: (UString::from): Fix "end of buffer" computation.
2:02 PM Changeset in webkit [2761]
  • 1 copy
    59 deletes in branches/unlabeled-1.5.56

This commit was manufactured by cvs2svn to create branch
'unlabeled-1.5.56'.

2:02 PM Changeset in webkit [2760] by darin
  • 61 edits
    2 adds in trunk

JavaScriptCore:

  • a first step towards atomic identifiers in JavaScript

Most places that work with identifiers now use Identifier
instead of UString.

  • kjs/identifier.cpp: Added.
  • kjs/identifier.h: Added.
  • JavaScriptCore.pbproj/project.pbxproj: Added files.
  • kjs/array_object.cpp:
  • kjs/array_object.h:
  • kjs/completion.cpp:
  • kjs/completion.h:
  • kjs/date_object.cpp:
  • kjs/date_object.h:
  • kjs/function.cpp:
  • kjs/function.h:
  • kjs/function_object.cpp:
  • kjs/grammar.cpp:
  • kjs/grammar.cpp.h:
  • kjs/grammar.h:
  • kjs/grammar.y:
  • kjs/internal.cpp:
  • kjs/internal.h:
  • kjs/lexer.cpp:
  • kjs/lookup.cpp:
  • kjs/lookup.h:
  • kjs/math_object.cpp:
  • kjs/math_object.h:
  • kjs/nodes.cpp:
  • kjs/nodes.h:
  • kjs/number_object.cpp:
  • kjs/number_object.h:
  • kjs/object.cpp:
  • kjs/object.h:
  • kjs/property_map.cpp:
  • kjs/property_map.h:
  • kjs/reference.cpp:
  • kjs/reference.h:
  • kjs/regexp_object.cpp:
  • kjs/regexp_object.h:
  • kjs/string_object.cpp:
  • kjs/string_object.h:

WebCore:

  • a first step towards atomic identifiers in JavaScript

Most places that work with identifiers now use Identifier
instead of UString.

  • khtml/ecma/kjs_binding.cpp:
  • khtml/ecma/kjs_binding.h:
  • khtml/ecma/kjs_css.cpp:
  • khtml/ecma/kjs_css.h:
  • khtml/ecma/kjs_dom.cpp:
  • khtml/ecma/kjs_dom.h:
  • khtml/ecma/kjs_events.cpp:
  • khtml/ecma/kjs_events.h:
  • khtml/ecma/kjs_html.cpp:
  • khtml/ecma/kjs_html.h:
  • khtml/ecma/kjs_navigator.cpp:
  • khtml/ecma/kjs_navigator.h:
  • khtml/ecma/kjs_range.cpp:
  • khtml/ecma/kjs_range.h:
  • khtml/ecma/kjs_traversal.cpp:
  • khtml/ecma/kjs_traversal.h:
  • khtml/ecma/kjs_views.cpp:
  • khtml/ecma/kjs_views.h:
  • khtml/ecma/kjs_window.cpp:
  • khtml/ecma/kjs_window.h:
11:49 AM Changeset in webkit [2759] by cblu
  • 3 edits in trunk/WebKit

Fixed: 3100597 - repro NSArray exception using contextual menu

  • Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_writeURL:andTitle:withOwner:]): more error checking
10:59 AM Changeset in webkit [2758] by darin
  • 4 edits in trunk/JavaScriptCore
  • fix hash function and key comparison for the other kind of hash table; yields 3%
  • kjs/lookup.cpp: (keysMatch): Added. (Lookup::findEntry): Don't allocate and convert to ASCII just to search.
10:44 AM Changeset in webkit [2757] by darin
  • 7 edits in trunk/JavaScriptCore
  • another hash table fix; yields a 2% improvement on iBench JavaScript
  • kjs/property_map.cpp: A few more places where we use & instead of %.
  • some List changes that don't affect speed yet
  • kjs/types.cpp: (List::prependList): Tighten up a tiny bit. (List::copy): Use prependList.
  • kjs/types.h: Remove appendList and globalClear.
  • kjs/interpreter.cpp: (Interpreter::finalCheck): Remove List::globalClear().
10:07 AM Changeset in webkit [2756] by darin
  • 4 edits in trunk/JavaScriptCore
  • fixed 3105026 -- REGRESSION: DHTML menus are broken all over the place
  • kjs/types.cpp: (List::prepend): Fix backwards links in new node.
9:44 AM Changeset in webkit [2755] by trey
  • 3 edits in trunk/WebKit

WebKit:

Just a tweak to the description printout.

  • History.subproj/WebHistoryItem.m: (-[WebHistoryItem description]):

WebBrowser:

Implementation of the UI for auto-complete. The back end is simplistic at this
stage, as it just searches for http://www.WhatYouTyped.

  • ABHomePagesController.m: (-[ABHomePagesController refreshContents]): Added notes for a future fix.
  • BrowserWindowController.h: Added BrowserWindowWillResize notification.
  • BrowserWindowController.m: (-[BrowserWindowController windowDidLoad]): Create CompletionController. (-[BrowserWindowController windowWillResize:toSize:]): Post resize notification. (-[BrowserWindowController dealloc]): Free CompletionController. (-[BrowserWindowController controlTextDidChange:]): Forward to CompletionController. (-[BrowserWindowController controlTextDidEndEditing:]): Forward to CompletionController. (-[BrowserWindowController control:textView:doCommandBySelector:]): Forward to CompletionController.
  • CompletionController.h: Added.
  • CompletionController.m: Added. (-[CompletionController initWithSourceField:]): Hook up to a field to operate on. (-[CompletionController dealloc]): (-[CompletionController _executeQuery]): Get a result set. (-[CompletionController _matchingPrefixOfString:]): Determine piece of a result that matched. (-[CompletionController _buildUI]): Build completion window and table view. (placementViewForControl): Utility function. (-[CompletionController _positionWindow]): Position the window wrt location field. (-[CompletionController _showMatchesWindow]): Show it, (-[CompletionController _hideMatchesWindow]): hide it. (-[CompletionController _sourceWindowWillMoveOrResize:]): (-[CompletionController _sourceWindowWillMiniaturize:]): (-[CompletionController _sourceWindowWillClose:]):

Hide UI on various source window changes.

(-[CompletionController _abortCompletion:]): wrapper for performAfterDelay.
(-[CompletionController abortCompletion]): Bail out of completion operation.
(-[CompletionController completeString:]): Do a query, bring up the UI.
(-[CompletionController _reflectSelectedRow]): Update location field when a
completion is selected in the TableView
(-[CompletionController controlTextDidChange:]): Drive completion on new text.
(-[CompletionController control:textView:doCommandBySelector:]):
Drive completion on arrows, backspace, escape, return.
(-[CompletionController goToItemAtRow:]): Double click sends performClick to location field.
(-[CompletionController tableViewSelectionDidChange:]): Drive UI when row selected.
(-[CompletionController numberOfRowsInTableView:]): Supply tableView data.
(-[CompletionController tableView:objectValueForTableColumn:row:]): Supply tableView data.

  • TitleBarButton.m: (-[TitleBarButton hitTest:]): Bug fix to allow superview to process mouse events that we don't handle. Allows proper sending of WindowWillMove.
  • WebBrowser.pbproj/project.pbxproj: New class added.
12:10 AM Changeset in webkit [2754] by darin
  • 4 edits in trunk/JavaScriptCore
  • a fix that gives another 1.5% on the iBench JavaScript test
  • kjs/ustring.cpp: (UString::from): Stop using sprintf to format integers.

Nov 18, 2002:

11:57 PM Changeset in webkit [2753] by darin
  • 18 edits in trunk

JavaScriptCore:

  • reduced the creation of Value objects and hoisted the property map into Object for another gain of about 6%
  • JavaScriptCore.pbproj/project.pbxproj: Made property_map.h public.
  • kjs/array_object.cpp: (compareWithCompareFunctionForQSort): Don't wrap the ValueImp * in a Value just to add it to a list. (ArrayProtoFuncImp::call): Pass the globalObject directly so we don't have to ref/deref.
  • kjs/function.cpp: (FunctionImp::call): Use a reference for the global object to avoid ref/deref. (GlobalFuncImp::call): Ditto.
  • kjs/internal.cpp: (BooleanImp::toObject): Put the object directly into the list, don't create a Value. (StringImp::toObject): Ditto. (NumberImp::toObject): Ditto. (InterpreterImp::evaluate): Use a reference for the global object.
  • kjs/internal.h: Return a reference for the global object.
  • kjs/interpreter.cpp: (Interpreter::globalObject): Ditto.
  • kjs/interpreter.h: Ditto.
  • kjs/object.cpp: Use _prop directly in the object, not a separate pointer.
  • kjs/object.h: Ditto.
  • kjs/types.cpp: Added List methods that work directly with ValueImp. (List::append): Added a ValueImp version. (List::prepend): Ditto. (List::appendList): Work directly with the ValueImp's. (List::prependList): Ditto. (List::copy): Use appendList. (List::empty): Use a shared global List.
  • kjs/types.h: Update for above changes.

WebCore:

  • force-js-clean-timestamp: Another Object change.
11:44 PM Changeset in webkit [2752] by hyatt
  • 27 edits in trunk/WebCore

Implement phased painting to correct the paint order of blocks,
floats, and inlines.

  • khtml/rendering/render_body.cpp: (RenderBody::paintBoxDecorations):
  • khtml/rendering/render_body.h:
  • khtml/rendering/render_box.cpp: (RenderBox::paint): (RenderBox::paintBoxDecorations): (RenderBox::paintBackground):
  • khtml/rendering/render_box.h:
  • khtml/rendering/render_br.h:
  • khtml/rendering/render_flow.cpp: (RenderFlow::paint): (RenderFlow::paintObject): (RenderFlow::paintFloats): (RenderFlow::addChild):
  • khtml/rendering/render_flow.h:
  • khtml/rendering/render_html.cpp: (RenderHtml::setStyle): (RenderHtml::paint): (RenderHtml::paintBoxDecorations):
  • khtml/rendering/render_html.h:
  • khtml/rendering/render_image.cpp: (RenderImage::setStyle): (RenderImage::paintObject):
  • khtml/rendering/render_image.h:
  • khtml/rendering/render_layer.cpp: (RenderLayer::paint): (RenderLayer::nodeAtPoint):
  • khtml/rendering/render_list.cpp: (RenderListItem::paint): (RenderListItem::paintObject): (RenderListMarker::paint): (RenderListMarker::paintObject):
  • khtml/rendering/render_list.h:
  • khtml/rendering/render_object.cpp: (RenderObject::RenderObject): (RenderObject::paintBorder): (RenderObject::paintOutline): (RenderObject::paint): (RenderObject::dump): (RenderObject::setStyle):
  • khtml/rendering/render_object.h:
  • khtml/rendering/render_replaced.cpp: (RenderReplaced::paint): (RenderWidget::setStyle): (RenderWidget::paintObject):
  • khtml/rendering/render_replaced.h:
  • khtml/rendering/render_root.cpp: (RenderRoot::paint): (RenderRoot::paintObject):
  • khtml/rendering/render_root.h:
  • khtml/rendering/render_table.cpp: (RenderTable::paint): (RenderTableCell::RenderTableCell): (RenderTableCell::setStyle): (RenderTableCell::paint): (RenderTableCell::paintBoxDecorations):
  • khtml/rendering/render_table.h:
  • khtml/rendering/render_text.cpp: (TextSlave::paintSelection): (TextSlave::paintDecoration): (TextSlave::paintBoxDecorations): (RenderText::paintObject): (RenderText::paint): (RenderText::paintTextOutline):
  • khtml/rendering/render_text.h:
11:04 PM Changeset in webkit [2751] by darin
  • 5 edits in trunk/JavaScriptCore
  • kjs/property_map.cpp: Oops, copyright goes to Apple, not me.
  • kjs/property_map.h: Ditto.
10:59 PM Changeset in webkit [2750] by darin
  • 4 edits in trunk/WebCore
  • force-js-clean-timestamp: I changed the size of ObjectImp.
10:53 PM Changeset in webkit [2749] by darin
  • 10 edits in trunk/JavaScriptCore
  • property and string improvements giving a 7% or so improvement in JavaScript iBench
  • kjs/property_map.h: Rewrite to use a hash table.
  • kjs/property_map.cpp: Ditto.
  • kjs/string_object.h:
  • kjs/string_object.cpp: (StringInstanceImp::StringInstanceImp): Construct a string with the right value instead of putting the string in later. (StringInstanceImp::get): Get the length from the string, not a separate property. (StringInstanceImp::put): Ignore attempts to set length, since we don't put it in the property map. (StringInstanceImp::hasProperty): Return true for length. (StringInstanceImp::deleteProperty): Return false for length. (StringObjectImp::construct): Call new StringInstanceImp constructor. Don't try to set a length property.
  • kjs/ustring.h: Make the rep deref know how to deallocate the rep.
  • kjs/ustring.cpp: (UString::release): Move the real work to the rep's deref, since the hash table now uses the rep directly.
  • kjs/object.h: Remove unused field.
10:20 PM Changeset in webkit [2748] by mjs
  • 6 edits in trunk/JavaScriptCore

Change List to completely avoid going through the GC
allocator. 3.6% performance improvement on JavaScript iBench.

  • kjs/internal.cpp: (InterpreterImp::mark): Don't mark the empty list.

For all the methods below I basically lifted the ListImp version
up to the List method with minor tweaks.

  • kjs/types.cpp: (ListIterator::ListIterator): (List::List): (List::operator=): (List::~List): (List::mark): (List::append): (List::prepend): (List::appendList): (List::prependList): (List::removeFirst): (List::removeLast): (List::remove): (List::clear): (List::clearInternal): (List::copy): (List::begin): (List::end): (List::isEmpty): (List::size): (List::at): (List::operator[]): (List::empty): (List::erase): (List::refAll): (List::derefAll): (List::swap): (List::globalClear):
  • kjs/types.h:
9:07 PM Changeset in webkit [2747] by mjs
  • 4 edits in trunk/JavaScriptCore

Fixed a horrible leak introduced with my last change that
somehow did not show up on my machine.

  • kjs/types.cpp: (List::List): Mark ListImp as GC allowed.
7:05 PM Changeset in webkit [2746] by hyatt
  • 4 edits in trunk/WebCore

Fix crazyapplerumors.com. I had the logic backwards. CSS
padding beats cellpadding.

  • khtml/rendering/render_table.cpp: (RenderTableCell::paddingTop): (RenderTableCell::paddingBottom): (RenderTableCell::paddingLeft): (RenderTableCell::paddingRight):
6:33 PM Changeset in webkit [2745] by hyatt
  • 4 edits in trunk/WebCore

Fix crash on espn.com.

  • khtml/rendering/render_object.cpp: (RenderObject::setLayouted):
6:15 PM Changeset in webkit [2744] by mjs
  • 5 edits in trunk/JavaScriptCore

Another step towards the List conversion: stop inheriting from Value.

  • kjs/types.cpp: (ListIterator::ListIterator): (List::List): (List::operator=): (List::~List): (List::mark): (List::append): (List::prepend): (List::appendList): (List::prependList): (List::removeFirst): (List::removeLast): (List::remove): (List::clear): (List::copy): (List::begin): (List::end): (List::isEmpty): (List::size): (List::at): (List::operator[]):
  • kjs/types.h:
6:03 PM Changeset in webkit [2743] by hyatt
  • 4 edits in trunk/WebCore

Fix my <konqblock> regression on ign.com.

  • khtml/html/htmlparser.cpp: (KHTMLParser::insertNode):
5:30 PM Changeset in webkit [2742] by cblu
  • 9 edits in trunk/WebKit

Real fix for: 3104183 - Assert loading www.louisvuitton.com

Since we don't consider plug-in content as a subresource, attaching plug-in streams to the datasource has no affect on the loading state of the datasource. Both stopLoading on WebFrame and _stopLoading datasource, would not stop plug-ins streams after the data source was done loading. Because of this, I've decided to not keep a list of plug-in streams attached to the data source and pulled my previous change. To fix this bug, WebBaseResourceHandleDelegate now retains the controller.

  • Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream start]): (-[WebNetscapePluginStream cancel]): (-[WebNetscapePluginStream handleDidFinishLoading:]): (-[WebNetscapePluginStream handle:didFailLoadingWithError:]):
  • WebView.subproj/WebBaseResourceHandleDelegate.h:
  • WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate _releaseResources]): (-[WebBaseResourceHandleDelegate setDataSource:]): (-[WebBaseResourceHandleDelegate handle:willSendRequest:]): (-[WebBaseResourceHandleDelegate handleDidFinishLoading:]): (-[WebBaseResourceHandleDelegate handle:didFailLoadingWithError:]): (-[WebBaseResourceHandleDelegate _cancelWithError:]):
  • WebView.subproj/WebDataSourcePrivate.h:
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): (-[WebDataSource _stopLoading]): (-[WebDataSource _makeHandleDelegates:deferCallbacks:]): (-[WebDataSource _defersCallbacksChanged]):
5:01 PM Changeset in webkit [2741] by mjs
  • 13 edits in trunk

JavaScriptCore:

Partway to removing Value from List. Created a marking List
variant, used it in place of ListImp.

  • kjs/internal.h: Removed List stuff.
  • kjs/internal.cpp: (InterpreterImp::mark): Call appropriate List method to do marking of empty ListImp.
  • kjs/object.h:
  • kjs/object.cpp: Use marking List instead of ListImp *.
  • kjs/types.h:
  • kjs/types.cpp: (List::List): New boolean needsMarking parameter. (List::operator=): Perform trickery related to needsMarking. (List::~List): Likewise. (List::mark): Mark the ListImp. (List::markEmptyList): (ListImp::*): Moved here fron internal.cpp, they will be integrated into the relevant List methods soon.

WebCore:

  • force-js-clean-timestamp: Rebuild for JSC changes.
3:43 PM Changeset in webkit [2740] by darin
  • 9 edits in trunk/JavaScriptCore
  • another string constant discovered that can be optimized
  • kjs/object.h: Add a property name constant for "proto".
  • kjs/object.cpp: Define it. (ObjectImp::get): Use it. (ObjectImp::hasProperty): Use it.
  • prepare to turn PropertyMap into a hash table
  • kjs/object.cpp: (ObjectImp::mark): Use the new PropertyMap::mark(). (ObjectImp::put): Use the new overload of PropertyMap::get(). (ObjectImp::deleteProperty): Use the new overload of PropertyMap::get(). (ObjectImp::propList): Use PropertyMap::addEnumerablesToReferenceList().
  • kjs/property_map.h: Remove PropertyMapNode and make all node-related methods private. Add mark(), a new overload of get() that returns attributes, a clear() that takes no attributes, and addEnumerablesToReferenceList().
  • kjs/property_map.cpp: (PropertyMap::get): Added new overload. (PropertyMap::clear): Added new overload. (PropertyMap::mark): Added. (PropertyMap::addEnumerablesToReferenceList): Added.
  • kjs/ustring.h: Added a hash function.
  • kjs/ustring.cpp: (KJS::hash): Added.
3:23 PM Changeset in webkit [2739] by darin
  • 4 edits in trunk/WebCore
  • force-js-clean-timestamp: Touch files to make the build work.
2:49 PM Changeset in webkit [2738] by darin
  • 7 edits in trunk/JavaScriptCore
  • simplified the ExecState class, which was showing up in profiles

Sped up JavaScript iBench by 6%.

  • kjs/interpreter.h: Removed the level of indirection, and made it all inline.
  • kjs/interpreter.cpp: Removed ExecState implementation from here altogether.
  • fixed an oversight in my sort speedup
  • kjs/array_object.h: Add pushUndefinedObjectsToEnd.
  • kjs/array_object.cpp: (ArrayInstanceImp::sort): Call pushUndefinedObjectsToEnd. (ArrayInstanceImp::pushUndefinedObjectsToEnd): Added. Pushes all undefined to the end of the array.
2:22 PM Changeset in webkit [2737] by cblu
  • 5 edits in trunk/WebKit

Fixed: 3104183 - Assert loading www.louisvuitton.com

We need to treat plug-in streams like subresources except they don't change the loading state of the data source.

  • Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream start]): call _addPluginStream (-[WebNetscapePluginStream cancel]): call _removePluginStream (-[WebNetscapePluginStream handleDidFinishLoading:]): call _removePluginStream (-[WebNetscapePluginStream handle:didFailLoadingWithError:]): call _removePluginStream
  • WebView.subproj/WebDataSourcePrivate.h:
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): release pluginStreams (-[WebDataSource _addPluginStream:]): just like addSubresourceClient except don't change the loading state. (-[WebDataSource _removePluginStream:]): just like removeSubresourceClient except don't change the loading state. (-[WebDataSource _stopLoading]): stop plug-ins streams (-[WebDataSource _makeHandleDelegates:deferCallbacks:]): (-[WebDataSource _defersCallbacksChanged]): call _makeHandleDelegates:deferCallbacks: for subresources and plug-in streams.
1:55 PM Changeset in webkit [2736] by darin
  • 11 edits in trunk/JavaScriptCore
  • fix worst speed problems on the sort page of the iBench JavaScript test

Sped up JavaScript iBench by 70%, the sort page by 88%.

  • kjs/array_object.h: Add array-specific sort functions.
  • kjs/array_object.cpp: (compareByStringForQSort): Added. (ArrayInstanceImp::sort): Added. (compareWithCompareFunctionForQSort): Added. (ArrayProtoFuncImp::call): Use ArrayInstanceImp::sort if the object being sorted is actually an array.
  • kjs/object.h: Add argumentsPropertyName.
  • kjs/object.cpp: Add argumentsPropertyName.
  • kjs/function.cpp: (FunctionImp::FunctionImp): Use argumentsPropertyName to avoid making a UString. (FunctionImp::call): Ditto. (ActivationImp::ActivationImp): Ditto.
  • kjs/function_object.cpp: (FunctionObjectImp::construct): Ditto.
  • kjs/ustring.h: Added compare function for -1/0/+1 comparison.
  • kjs/ustring.cpp: (KJS::compare): Added.
1:45 PM Changeset in webkit [2735] by mjs
  • 6 edits in trunk/JavaScriptCore

Change ArgumentListNode operations to be iterative instead of
recursive. This probably fixes 3095446 (Crash in
KJS::ArgumentListNode::ref()) but I can't reproduce it myself so
I'm not 100% sure. I think the original bug was a stack overflow
and this change would remove that possibility.

  • kjs/nodes.cpp: (ArgumentListNode::ref): Make iterative. (ArgumentListNode::deref): Make iterative. (ArgumentListNode::evaluateList): Make iterative.
12:30 PM Changeset in webkit [2734] by rjw
  • 4 edits in trunk/WebCore

Fixed 3103004. REGRESSION: word-spacing/letter-spacing applied when they shouldn't be
This was actually NOT a regression. khtml wasn't recognizing the 'normal' value for the
word and letter spacing properties. So it incorrectly substituted a -1 spacing.

  • khtml/css/cssstyleselector.cpp:
12:14 PM Changeset in webkit [2733] by hyatt
  • 5 edits in trunk/WebCore

Fix render_body's repaint method.

  • khtml/rendering/render_body.cpp: (RenderBody::repaint):
  • khtml/rendering/render_body.h:
11:52 AM Changeset in webkit [2732] by rjw
  • 3 edits in trunk/WebKit

Check for usesBackForwardList was excluding all load types.

  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted]):
11:31 AM Changeset in webkit [2731] by cblu
  • 3 edits in trunk/WebKit

Fixed: 3098767 - REGRESSION: standalone quicktime content just shows blank window

Check the instance not the class for the class type.

  • Plugins.subproj/WebNetscapePluginRepresentation.m: (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
7:52 AM Changeset in webkit [2730] by kocienda
  • 7 edits
    2 adds in trunk/WebKit

WebKit:

Added feature to import bookmarks/favorites from MSIE. This
fixes Radar 2961230 (import Mac IE bookmarks).

  • Bookmarks.subproj/WebBookmarkImporter.h: Added.
  • Bookmarks.subproj/WebBookmarkImporter.m: Added. (_breakStringIntoLines): (_HREFRangeFromSpec): (_HREFTextFromSpec): (_linkTextRangeFromSpec): (_linkTextFromSpec): (-[WebBookmarkImporter initWithPath:group:]): (-[WebBookmarkImporter topBookmark]): (-[WebBookmarkImporter error]): (-[WebBookmarkImporter dealloc]):
  • Bookmarks.subproj/WebBookmarkList.m: (-[WebBookmarkList init]): Create the bookmark list object. This was not created with the -init initializer, causing bookmark lists to fail.
  • English.lproj/Localizable.strings:
  • English.lproj/StringsNotToBeLocalized.txt:
  • WebKit.exp:
  • WebKit.pbproj/project.pbxproj:

WebBrowser:

Added calls in Debug menu to import IE Favorites.
No doubt that this code will move somewhere else once
we figure out the interaction design for importing
bookmarks.

  • Debug/DebugUtilities.m: (-[DebugUtilities createDebugMenu]): (-[BrowserDocument importInteretExplorerBookmarks:]):
5:41 AM Changeset in webkit [2729] by mjs
  • 4 edits in trunk/WebCore
  • fixed 3103711 - Alexander does not complete JavaScript iBench
  • khtml/ecma/kjs_html.cpp: (KJS::HTMLDocument::putValue): Resolve URL for location property relative to the base URL of the frame where the JavaScript is executing, not the target frame.
1:11 AM Changeset in webkit [2728] by hyatt
  • 5 edits in trunk/WebCore

Yay! Found the main cause of :hover feedback being so
slow on links. The diff function for styles was
considering a color change as a containing block layout
instead of just a repaint. With this fix, we will no
longer lay out when you hover over a link whose color
is different (remember that laying out causes the whole
page to repaint).

There's still some work to do to optimize this further,
since we do repaint the containing block still, but this
should be good enough for beta.

  • khtml/rendering/render_style.cpp: (RenderStyle::diff):

Nov 17, 2002:

11:55 PM Changeset in webkit [2727] by hyatt
  • 6 edits in trunk/WebCore

Don't use the immediate painting code for now. Revert
to non-immediate code. Using the non-immediate path I
have managed to fix all the regressions except for
mrskin losing updates in its marquee (this works only with
immediate painting) and the general scrollbar regression
(which I just don't understand).

  • khtml/html/html_documentimpl.cpp: (HTMLDocumentImpl::close):
  • khtml/rendering/render_object.cpp: (RenderObject::setLayouted):
  • khtml/rendering/render_root.cpp: (RenderRoot::repaintRectangle): (RenderRoot::repaint):
10:47 PM Changeset in webkit [2726] by trey
  • 3 edits in trunk/WebKit

Code cleanup to make some internal methods return autoreleased objects.

  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _addBackForwardItemClippedAtTarget:]): (-[WebFrame _createItem]): (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]): (-[WebFrame _transitionToCommitted]):
9:59 PM Changeset in webkit [2725] by trey
  • 8 edits in trunk/WebKit

Fixed 3102076 - REGRESSION: infinite recursion involving bridge end
Fixed 3100929 - REGRESSION: serverRedirectedForDataSource: not sent on server redirects
Fixed 3103381 - REGRESSION: Going back from anchor doesn't restore scroll position

  • WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate handle:willSendRequest:]): Return the copy of the request that we make instead of the original.
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handle:willSendRequest:]): Call super after we make our mods to the request, so the copy that super makes for us includes those mods.
  • WebView.subproj/WebFramePrivate.h: Added new state, WebFrameStateCompleting.
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToLayoutAcceptable]): Completing state is a NOP. (-[WebFrame _transitionToCommitted]): Completing state is a NOP. (-[WebFrame _isLoadComplete]): Go to Completing state before calling [bridge end]. Go to Completed state afterwards, only if no new loads started in the meantime. (-[WebFrame _loadItem:fromItem:withLoadType:]): When doing anchor nav to get to the item, save and restore scroll state, and set the current item. (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Reorder the steps so the right scroll state gets saved to the right place. Also, don't add a backForward item if we're doing a client redirect to an anchor.
8:59 PM Changeset in webkit [2724] by hyatt
  • 5 edits in trunk/WebCore

More refinements to immediate painting code. Still doesn't
fix the scrollbar problem though. :(

  • khtml/html/html_documentimpl.cpp: (HTMLDocumentImpl::close):
  • khtml/khtmlview.cpp: (KHTMLView::init): (KHTMLView::timerEvent):
8:01 PM Changeset in webkit [2723] by hyatt
  • 7 edits in trunk/WebCore

Make immediate repainting of the root element more robust.

  • khtml/html/html_documentimpl.cpp: (HTMLDocumentImpl::close):
  • khtml/khtmlview.cpp: (KHTMLView::unscheduleRepaint):
  • khtml/khtmlview.h:
  • khtml/rendering/render_root.cpp: (RenderRoot::repaint):
7:37 PM Changeset in webkit [2722] by hyatt
  • 3 edits in trunk/WebKit

Back out my previous fix. I have a better one that is
confined to WebCore.

  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _isLoadComplete]):
6:02 PM Changeset in webkit [2721] by hyatt
  • 3 edits in trunk/WebKit

The needsdisplay is necessary even for HTML documents.
I over-optimized here. Fixes the directory.apple.com
regression and the santa clara library regression.

  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _isLoadComplete]):
1:25 PM Changeset in webkit [2720] by darin
  • 23 edits in trunk

WebCore:

  • moved all NSURL and CFURL use out of WebCore
  • kwq/KWQKURL.h: Remove getNSURL() and getNSURLFromString().
  • kwq/KWQKURL.mm: Ditto.
  • kwq/KWQKCookieJar.mm: (KWQKCookieJar::cookie): Pass an NSString instead of an NSURL. (KWQKCookieJar::setCookie): Ditto.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::openURL): Ditto. (KWQKHTMLPart::openURLRequest): Ditto. (KWQKHTMLPart::submitForm): Ditto. (KWQKHTMLPart::urlSelected): Ditto. (KWQKHTMLPart::createPart): Ditto. (KWQKHTMLPart::redirectionTimerStartedOrStopped): Ditto. (KWQKHTMLPart::userAgent): Ditto. (KWQKHTMLPart::requestedURLString): Receive an NSString instead of an NSURL.
  • kwq/KWQKHTMLPartBrowserExtension.mm: (KHTMLPartBrowserExtension::createNewWindow): Pass an NSString instead of an NSURL. (KHTMLPartBrowserExtension::setIconURL): Ditto. (KHTMLPartBrowserExtension::setTypedIconURL): Ditto.
  • kwq/KWQKJavaAppletWidget.h: Remove use of NSURL, just use QString instead.
  • kwq/KWQKJavaAppletWidget.mm: (KJavaAppletWidget::KJavaAppletWidget): No need to set the QString to nil. (KJavaAppletWidget::~KJavaAppletWidget): No need to release the QString. (KJavaAppletWidget::showApplet): Pass an NSString instead of an NSURL.
  • kwq/KWQLoader.mm: (KWQServeRequest): Pass an NSString instead of an NSURL. (KWQCheckCacheObjectStatus): Ditto.
  • kwq/WebCoreBridge.h: Change all methods to use NSString instead of NSURL.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge openURL:reload:headers:]): Receive an NSString instead of an NSURL. (-[WebCoreBridge completeURLForDOMString:]): Return an NSString instead of an NSURL. (-[WebCoreBridge elementAtPoint:]): WebCoreElementLinkURL and WebCoreElementImageURL are now strings. (-[WebCoreBridge URL]): Return an NSString instead of an NSURL.
  • kwq/WebCoreCookieAdapter.h: Change all methods to use NSString instead of NSURL.
  • kwq/WebCoreCookieAdapter.m: (-[WebCoreCookieAdapter cookiesForURL:]): Ditto. (-[WebCoreCookieAdapter setCookies:forURL:policyBaseURL:]): Ditto.
  • khtml/rendering/render_applet.cpp: (RenderApplet::processArguments): Tweaked this file a tiny bit, mainly because header dependencies weren't working and we need this file to be recompiled due to inline function changes.

WebKit:

  • update for change to WebCore API so it never uses NSURL
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge createWindowWithURL:frameName:]): Take NSString instead of NSURL. (-[WebBridge startLoadingResource:withURL:]): Ditto. (-[WebBridge objectLoadedFromCacheWithURL:response:size:]): Ditto. (-[WebBridge reportClientRedirectToURL:delay:fireDate:]): Ditto. (-[WebBridge setIconURL:]): Ditto. (-[WebBridge setIconURL:withType:]): Ditto. (-[WebBridge loadURL:reload:triggeringEvent:isFormSubmission:]): Ditto. (-[WebBridge postWithURL:data:contentType:triggeringEvent:]): Ditto. (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): Ditto. (-[WebBridge userAgentForURL:]): Ditto. (-[WebBridge requestedURL]): Return NSString instead of NSURL. (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): Take NSString instead of NSURL. (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]): Take NSString instead of NSURL.
  • WebCoreSupport.subproj/WebCookieAdapter.m: (-[WebCookieAdapter cookiesForURL:]): Take NSString instead of NSURL. (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]): Ditto.
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady]): Pass NSString instead of NSURL.
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Pass NSString instead of NSURL (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Turn bridge URL into NSURL so we can call _web_URLByRemovingFragment on it.
  • WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _elementAtPoint:]): Convert NSString to NSURL when making the WebKit element dictionary.
12:39 PM Changeset in webkit [2719] by hyatt
  • 15 edits in trunk/WebCore

Add support for specifying whether repaint should be immediate or
not. Default to async for now to maintain current behavior.

For clipped object repainting (e.g., livepage.apple.com and mrskin)
switch to immediate repainting, since this makes the marquees
faster, stops dropping updates, and keeps the hover effects and
painting on the rest of the page fast (since the marquee rect doesn't
get unioned with links or images that you roll over).

  • khtml/rendering/render_box.cpp: (RenderBox::repaint): (RenderBox::repaintRectangle):
  • khtml/rendering/render_box.h:
  • khtml/rendering/render_html.cpp: (RenderHtml::repaint):
  • khtml/rendering/render_html.h:
  • khtml/rendering/render_object.cpp: (RenderObject::setLayouted): (RenderObject::repaintRectangle):
  • khtml/rendering/render_object.h:
  • khtml/rendering/render_root.cpp: (RenderRoot::repaintRectangle): (RenderRoot::repaint):
  • khtml/rendering/render_root.h:
  • khtml/rendering/render_table.cpp: (RenderTableRow::repaint): (RenderTableCell::repaintRectangle): (RenderTableCell::repaint):
  • khtml/rendering/render_table.h:
  • khtml/rendering/render_text.cpp: (RenderText::repaint):
  • khtml/rendering/render_text.h:
5:52 AM Changeset in webkit [2718] by mjs
  • 15 edits
    1 add in trunk

WebCore:

  • fixed 2949193 - implement onKeyDown, onKeyPress, and onKeyUp event handlers
  • khtml/html/html_formimpl.cpp: (HTMLGenericFormElementImpl::defaultEventHandler):
  • kwq/KWQEvent.h:
  • kwq/KWQEvent.mm: (QKeyEvent::QKeyEvent): Implemented. (QKeyEvent::key): Likewise. (QKeyEvent::state): Likewise. (QKeyEvent::accept): Likewise. (QKeyEvent::ignore): Likewise. (QKeyEvent::isAutoRepeat): Likewise. (QKeyEvent::text): Likewise. (QKeyEvent::ascii): Likewise. (QKeyEvent::count): Likewise. (QKeyEvent::isAccepted): Likewise.
  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::keyEvent): Translate the event to a QEvent and send it through the DOM event mechanism.
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge interceptKeyEvent:toView:]): Pass event to the KWQ part.
  • kwq/WebCoreBridgePrivate.h: Added.
  • WebCore.pbproj/project.pbxproj: Added new file.

WebKit:

  • fixed 2949193 - implement onKeyDown, onKeyPress, and onKeyUp event handlers
  • WebView.subproj/WebHTMLViewPrivate.h:
  • WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView load]): Pose as NSWindow too now. (-[WebHTMLView _interceptKeyEvent:toView:]): Pass event to WebCore and see if WebCore wants to block it. (-[WebNSWindow sendEvent:]): For all key events that would go to a subview of a WebHTMLView, let the WebHTMLView take a first crack at it.
2:38 AM Changeset in webkit [2717] by hyatt
  • 4 edits in trunk/WebCore

Don't discard linefeeds after elements with no close tag
(e.g., <img> or <input>).

  • khtml/html/htmltokenizer.cpp: (HTMLTokenizer::parseTag):
1:58 AM Changeset in webkit [2716] by hyatt
  • 4 edits in trunk/WebCore

Fix for slashdot table mispositioning in the upper right.
Now that we fixed <td> to set to -konq-center when align="center"
is specified, the style rules are no longer necessary in
html4.css (and are in fact harmful).

  • khtml/css/html4.css:
1:24 AM Changeset in webkit [2715] by hyatt
  • 4 edits in trunk/WebCore

Fix for 3038168. Duh. Remember to be case-insensitive when
checking the type of the <style> attribute.

  • khtml/html/html_headimpl.cpp: (HTMLStyleElementImpl::parseAttribute):
1:04 AM Changeset in webkit [2714] by hyatt
  • 8 edits in trunk/WebCore

This is a fix for bug 3058470. The bug was that replaced elements
were computing their min and max widths wrong. Specifically they
were not adding in borders and padding! This means that any image
with a border around it would potentially break to another line
too early.

Once I fixed this for replaced elements I then went in and
fixed form controls. I added two APPLE_CHANGES features for
our form controls. First I overrode the border/padding functions
to always return 0 for all form controls, since no Aqua control
honors border/padding (nor should it). This fixes the menulist
at the top of wired.com.

Second I made sure that certain controls will ignore CSS-specified
heights and always use their intrinsic heights. These include
<select size=1> (combobox), single line text fields, and buttons.
I allow listboxes and textareas to honor height.

  • khtml/rendering/render_box.cpp: (RenderBox::contentWidth): (RenderBox::contentHeight): (RenderBox::calcWidth): (RenderBox::calcHeight):
  • khtml/rendering/render_form.h:
  • khtml/rendering/render_image.h:
  • khtml/rendering/render_object.h:
  • khtml/rendering/render_replaced.cpp: (RenderReplaced::calcMinMaxWidth):

Nov 16, 2002:

9:15 PM Changeset in webkit [2713] by hyatt
  • 4 edits in trunk/WebCore

Fix for 3078240, <pre> should not establish its own text-align,
but should instead inherit from its parent.

  • khtml/css/html4.css:
7:30 PM Changeset in webkit [2712] by hyatt
  • 5 edits in trunk/WebCore

Rewrite the calculation of min and max width for <pre>s. This
is the second stage of the whitespace rewrite (third stage
will be to stop morphing newlines).

This should fix a bunch of bugs, e.g., especially if you ever
did the following:
<td><pre><span>foo</span>

more text after the newline</pre></td>

The new code now properly handles building up the correct min/max
width for the <pre>.

If anyone recalls seeing any bugs like this, let me know and
I can close them.

  • khtml/rendering/render_flow.cpp: (RenderFlow::calcInlineMinMaxWidth):
  • khtml/rendering/render_text.cpp: (RenderText::trimmedMinMaxWidth): (RenderText::calcMinMaxWidth):
5:57 PM Changeset in webkit [2711] by hyatt
  • 4 edits in trunk/WebCore

Fix more edge cases with whitespace handling that caused some
lines to be too long (and unselectable).

  • khtml/rendering/bidi.cpp: (appendRunsForObject):
5:33 PM Changeset in webkit [2710] by hyatt
  • 4 edits in trunk/WebCore

Make <caption> error-handling more robust.

Specifically, handle <tr> and <td> misplaced inside
<caption>s and still make them be part of the table.

  • khtml/html/htmlparser.cpp: (KHTMLParser::insertNode):
11:57 AM Changeset in webkit [2709] by hyatt
  • 4 edits in trunk/WebCore

Implement the collapsing top margin quirk for <body> (the same
quirk used for table cells) and make sure it works even when the
<body> has margins of its own.

Fixes www.eflightpacks.com (the top frame was shoved down because
the <p> margin didn't collapse away).

  • khtml/rendering/render_flow.cpp: (RenderFlow::layoutBlockChildren):
1:20 AM Changeset in webkit [2708] by hyatt
  • 4 edits in trunk/WebCore

Sigh. Amazingly enough, all other browsers seem to treat
stray </p>s as <p></p> (Mac IE treats it as <br>, but
I'm going with the WinIE/Gecko behavior of <p></p>).

This fixes bug 3063699.

  • khtml/html/htmlparser.cpp: (KHTMLParser::processCloseTag): (KHTMLParser::popBlock):

Nov 15, 2002:

11:29 PM Changeset in webkit [2707] by hyatt
  • 7 edits in trunk/WebCore

Fix for livepage.apple.com slowness. Ensure that
clipped regions only paint their own rectangles
when they or any children inside of them need to
be reflowed.

This fix is intended as an interim band-aid for a much
larger problem (that all of layout doesn't just auto-invalidate
the regions it needs to, and that DHTML doesn't have
specialized behavior to avoid async repainting or even
relayout when only a repaint is required).

  • khtml/khtmlview.cpp: (KHTMLView::timerEvent):
  • khtml/rendering/render_container.cpp: (RenderContainer::removeChildNode): (RenderContainer::appendChildNode): (RenderContainer::insertChildNode): (RenderContainer::layout):
  • khtml/rendering/render_object.cpp: (RenderObject::setLayouted): (RenderObject::scheduleRelayout):
  • khtml/rendering/render_root.cpp: (RenderRoot::repaintRectangle):
6:23 PM Changeset in webkit [2706] by hyatt
  • 4 edits in trunk/WebCore

Fix the problem where the last lines of paragrpahs were getting
justified incorrectly.

  • khtml/rendering/bidi.cpp: (RenderFlow::findNextLineBreak):
4:09 PM Changeset in webkit [2705] by hyatt
  • 4 edits in trunk/WebCore

Fix bustage with <nobr> tags. Inline nowrap elements were
breaking on images when they shouldn't have.

  • khtml/rendering/render_flow.cpp: (RenderFlow::calcInlineMinMaxWidth):
4:06 PM Changeset in webkit [2704] by kocienda
  • 6 edits in trunk/WebCore

Fix for this bug:

Radar 3102708 (REGRESSION: assertion failure backing up to page)

KWQCheckCacheObjectStatus did not create an NSURL in a way that
dealt with the fact that we handle non-NSURL-compliant URL strings.
I have fixed it so it does, and in the process, factored out
the code to do it into a new KURL static function (KURL::getNSURLFromString).

  • kwq/KWQKURL.h:
  • kwq/KWQKURL.mm: (KURL::getNSURL): Now calls through to KURL::getNSURLFromString (KURL::encode_string) (KURL::getNSURLFromString): New function to handle NSURL creation
  • kwq/KWQLoader.mm: (KWQCheckCacheObjectStatus)
3:56 PM Changeset in webkit [2703] by hyatt
  • 5 edits in trunk/WebCore

Fix asserts in tables.

  • khtml/rendering/render_table.cpp: (RenderTableRow::layout):
2:42 PM Changeset in webkit [2702] by darin
  • 4 edits in trunk/WebKit
  • fixed 3079214 -- text/plain page shows up slowly, a few pages at a time
  • WebView.subproj/WebTextView.m: (-[WebTextView initWithFrame:]): Remove unneeded setWidthTracksTextView:, because that's the default. (-[WebTextView dataSourceUpdated:]): Replace the thing each time in the RTF case. (-[WebTextView viewDidMoveToSuperview]): Here's where we resize, but only the width. Resizing the height was causing the bug. (-[WebTextView layout]): Do nothing. (-[WebTextView setAcceptsDrags:]): Update to new name. Since we weren't importing WebDocument.h, we never noticed that this file got out of sync. (-[WebTextView acceptsDrags]): Ditto. (-[WebTextView setAcceptsDrops:]): Ditto. (-[WebTextView acceptsDrops]): Ditto.
  • WebView.subproj/WebDocument.h: Fix typo. It said setAcceptsDrags: twice.
2:35 PM Changeset in webkit [2701] by hyatt
  • 4 edits in trunk/WebCore

Fix for whitespace regressions that caused text overlapping
and text spilling.

  • khtml/rendering/bidi.cpp: (appendRunsForObject):
1:32 PM Changeset in webkit [2700] by hyatt
  • 6 edits in trunk/WebCore

Fix newlines getting stripped out of textareas by not making
rendertext objects for children of textareas.

  • khtml/rendering/render_form.h:
  • khtml/rendering/render_object.h:
  • khtml/xml/dom_textimpl.cpp: (TextImpl::attach):
1:02 PM Changeset in webkit [2699] by hyatt
  • 6 edits in trunk/WebCore

Make <form> inside <table> stay inside the <table> but demote
itself to a leaf. Then the children of the <form> are treated
as though they occurred underneath the <table> itself. Everything
KHTML does with this is completely wrong but this band-aid should
hopefully suffice until 1.0.

Also allowing <input type="hidden"> to be constructed and attached
under <table>s. Since they have no render objects this is safe.
Again, total hack, since CSS2 anonymous table construction should be
implemented and that would have fixed all this.

This collection of hacks makes travelocity render correctly on the
PLT.

  • khtml/css/html4.css:
  • khtml/html/dtd.cpp: (DOM::checkChild):
  • khtml/html/html_tableimpl.cpp: (HTMLTableElementImpl::addChild):
  • khtml/html/htmlparser.cpp: (KHTMLParser::parseToken): (KHTMLParser::insertNode):
12:04 PM Changeset in webkit [2698] by hyatt
  • 4 edits in trunk/WebCore

Fix Hixie's blog. Background images can be transparent, so
if the root's color isn't valid always do a fixup even if you
have a valid background image.

  • khtml/rendering/render_html.cpp: (RenderHtml::printBoxDecorations):
11:42 AM Changeset in webkit [2697] by darin
  • 4 edits in trunk/WebCore
  • kwq/KWQWindowWidget.mm: (KWQWindowWidget::setFrameGeometry): Oops. Make that display:YES.
11:14 AM Changeset in webkit [2696] by darin
  • 4 edits in trunk/WebCore
  • fixed 3090219 -- Window jumps up and down when loading nikon page
  • kwq/KWQWindowWidget.mm: (KWQWindowWidget::setFrameGeometry): Don't pass display:NO when resizing the window.
10:34 AM Changeset in webkit [2695] by darin
  • 3 edits in trunk/WebKit
  • WebView.subproj/WebFramePrivate.m: Removed a bunch of tabs and fixed indenting.
10:30 AM Changeset in webkit [2694] by mjs
  • 7 edits in trunk/WebKit
  • fixed 3102016 - REGRESSION: Command-clicking on a link can open _two_ windows.
  • WebView.subproj/WebDataSourcePrivate.h:
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setJustOpenedForTargetedLink:]): (-[WebDataSource _justOpenedForTargetedLink]):
  • WebView.subproj/WebFrame.m: (-[WebFrame findOrCreateFramedNamed:]):
  • WebView.subproj/WebFramePrivate.h:
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _continueAfterNavigationPolicy:]): (-[WebFrame _loadDataSource:withLoadType:]): (-[WebFrame _downloadRequest:toPath:]): (-[WebFrame _setJustOpenedForTargetedLink:]):
10:22 AM Changeset in webkit [2693] by kocienda
  • 4 edits in trunk/WebCore

Remove characters RFC 2396 describes as "unwise" from the
BadChar character class. This causes them to remain unescaped
in KURL objects. As a result, some extra escaping needed to
be added into the getNSURL() function to enable NSURL
objects to be created using a KURL.

This enables me to fix this bug:
Radar 3050437 (Clicking link leads to page with garbled content)

Note, however, that my fix for 3050437 relies on this bug remaining unfixed:

Radar 3102332 (Square bracket characters "sneak through" CFURL illegal character checks)

  • kwq/KWQKURL.mm: (KURL::getNSURL)
9:59 AM Changeset in webkit [2692] by darin
  • 3 edits in trunk/WebKit
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _checkNavigationPolicyForRequest:dataSource:andCall:withSelector:]): Give the listener a slightly longer lifetime, to make this API a bit more foolproof.
8:46 AM Changeset in webkit [2691] by darin
  • 6 edits in trunk/WebCore

Tools:

  • Scripts/update-alex-localizable-strings: Fix it so that the line numbers in error messages will be accurate.

WebCore:

  • fixed 3027460 -- text areas don't have focus rectangles
  • fixed 2937204 -- text areas have solid black borders
  • kwq/KWQSignal.mm: (KWQSignal::disconnect): Add a special case so we don't hear about finishedParsing all the time.
  • kwq/KWQTextArea.mm: (-[KWQTextArea initWithFrame:]): Use a bezel border, not a line border. (-[KWQTextArea getCursorPositionAsIndex:inParagraph:]): Fix bug where it would return a bogus value for an empty text area. (-[KWQTextArea setCursorPositionToIndex:inParagraph:]): Use setSelectedRange: ratherr than setMarkedText:selectedRange:. (-[KWQTextArea drawRect:]): Draw a focus ring if our text view is first responder. (-[KWQTextArea _KWQ_setKeyboardFocusRingNeedsDisplay]): Added. (-[KWQTextAreaTextView becomeFirstResponder]): Call _KWQ_setKeyboardFocusRingNeedsDisplay. (-[KWQTextAreaTextView resignFirstResponder]): Call _KWQ_setKeyboardFocusRingNeedsDisplay. (-[NSView _KWQ_setKeyboardFocusRingNeedsDisplay]): Calls the same thing on parent.
  • WebCore.pbproj/project.pbxproj: PB is a cruel master.

WebBrowser:

  • fixed problem I introduced where text would get too close to the right button
  • LocationTextField.m: (-[LocationTextField didShowOrHideRightButton]): Add back logic to adjust the right border. I removed this because it was incompatible with my changes, but now I made a new compatible version by adding a new method.
  • TextFieldWithControls.h: Rename showRightButton: to setIsShowingRightButton:, and added isShowingRightButton, and didShowOrHideRightButton methods.
  • TextFieldWithControls.m: (-[TextFieldWithControls isShowingRightButton]): Added. (-[TextFieldWithControls didShowOrHideRightButton]): Added. (-[TextFieldWithControls setIsShowingRightButton:]): Call didShowOrHideRightButton at the right moment so we can properly respond to any changes it makes to the cell.
  • BrowserWindowController.m: (-[BrowserWindowController updateSnapBackButtons]): Update for method name change.
  • WebBrowser.pbproj/project.pbxproj: PB is a cruel master.
8:40 AM Changeset in webkit [2690] by mjs
  • 3 edits in trunk/WebKit

Fix world leak I introduced, and also add an early return when needed.

  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): (-[WebFrame _checkNavigationPolicyForRequest:dataSource:andCall:withSelector:]):
7:11 AM Changeset in webkit [2689] by mjs
  • 4 edits in trunk/WebCore
  • khtml/html/html_formimpl.cpp: (HTMLInputElementImpl::attach): Removed a stray printf.
5:40 AM Changeset in webkit [2688] by mjs
  • 11 edits
    2 adds in trunk/WebKit

WebKit:

Make navigation policy asynchronous for real.

  • WebKit.pbproj/project.pbxproj:
  • WebView.subproj/WebControllerPolicyDelegate.h:
  • WebView.subproj/WebControllerPolicyDelegate.m: (-[WebPolicyDecisionListenerPrivate initWithTarget:action:]): (-[WebPolicyDecisionListenerPrivate dealloc]): (-[WebPolicyDecisionListener usePolicy:]): (-[WebPolicyDecisionListener _initWithTarget:action:]): (-[WebPolicyDecisionListener dealloc]): (-[WebPolicyDecisionListener _invalidate]):
  • WebView.subproj/WebControllerPolicyDelegatePrivate.h: Added.
  • WebView.subproj/WebDefaultPolicyDelegate.m: (-[WebDefaultPolicyDelegate decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
  • WebView.subproj/WebFrame.m: (-[WebFrame stopLoading]):
  • WebView.subproj/WebFramePrivate.h:
  • WebView.subproj/WebFramePrivate.m: (-[WebFramePrivate dealloc]): (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): (-[WebFrame _checkNavigationPolicyForRequest:dataSource:andCall:withSelector:]): (-[WebFrame _continueAfterNavigationPolicy:]): (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): (-[WebFrame _loadDataSource:withLoadType:]):

WebBrowser:

Make navigation policy asynchronous.

  • BrowserWebController.m: (-[BrowserWebController decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
3:33 AM Changeset in webkit [2687] by mjs
  • 6 edits in trunk/WebKit

Wrap content policy invocation to look asynchronous.

  • WebView.subproj/WebBaseResourceHandleDelegate.h:
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterContentPolicy:response:]): (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]): (-[WebMainResourceClient handle:didReceiveResponse:]):
2:48 AM Changeset in webkit [2686] by mjs
  • 8 edits in trunk/WebKit

Refactor so that all invocations of navigation policy are set up
to be asynchronous. However, the actually delegate method is not
async yet.

  • WebView.subproj/WebFramePrivate.h:
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _checkNavigationPolicyForRequest:dataSource:andCall:withSelector:]): (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]): (-[WebFrame _loadDataSource:withLoadType:]):
  • WebView.subproj/WebMainResourceClient.h:
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient stopLoadingForPolicyChange]): (-[WebMainResourceClient continueAfterNavigationPolicy:request:]): (-[WebMainResourceClient handle:willSendRequest:]): (-[WebMainResourceClient handle:didReceiveResponse:]):

Nov 14, 2002:

10:08 PM Changeset in webkit [2685] by darin
  • 7 edits in trunk/WebCore

WebCore:

  • fixed most of the problems with OPTGROUP
  • khtml/html/htmlparser.cpp: (KHTMLParser::insertNode): Make OPTGROUPs pop out of other unclosed OPTGROUPs, not just out of options.
  • kwq/KWQListBox.h: Add private member function.
  • kwq/KWQListBox.mm: (QListBox::insertItem): Use shared insertItem function. (QListBox::insertGroupLabel): Create an attributed string for the group label, with bold font. (-[KWQListBoxTableViewDelegate tableView:shouldSelectRow:]): Return YES only for the plain strings, that way you can't select the group labels.
  • WebCore.pbproj/project.pbxproj: Let PB do its thing.

WebBrowser:

  • BrowserDocument.h: Remove unused BrowserDocumentPageTitleChangedNotification.
  • BrowserDocument.m: (-[BrowserDocument _pageTitleHasChanged]): Remove unused notification. (-[BrowserDocument goToBugReportingPage:]): Escape URL so it works in the form parameters.
  • PoofAnimator.m: (-[PoofAnimator init]): Remove use of private _setHasShadow: which is just the same thing as the public setHasShadow:.
  • BrowserWindowController.m: Tweak formatting.
  • Preferences.subproj/GeneralPreferences.m: Tweak.
  • WebBrowser.pbproj/project.pbxproj: Let PB do its thing.
9:48 PM Changeset in webkit [2684] by mjs
  • 5 edits in trunk/WebKit

Refactor things a bit so all loads bottleneck through a single
method (_loadDataSource:withLoadType:).

  • WebView.subproj/WebFrame.m: (-[WebFrame loadRequest:]): (-[WebFrame reload]):
  • WebView.subproj/WebFramePrivate.h:
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadItem:fromItem:withLoadType:]): (-[WebFrame _loadRequest:triggeringAction:loadType:]): (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): (-[WebFrame _postWithURL:data:contentType:triggeringEvent:]): (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]): (-[WebFrame _loadDataSource:withLoadType:]): (-[WebFrame _downloadRequest:toPath:]):
8:23 PM Changeset in webkit [2683] by mjs
  • 17 edits in trunk/WebKit

WebKit:

Change things so the public interface to loading is loadRequest:
and everything else is private.

  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
  • Plugins.subproj/WebPluginController.m: (-[WebPluginController showURL:inFrame:]):
  • WebView.subproj/WebController.h:
  • WebView.subproj/WebController.m: (-[WebController init]):
  • WebView.subproj/WebControllerPrivate.m: (-[WebController _createFrameNamed:inParent:allowsScrolling:]): (-[WebController _downloadURL:toPath:]):
  • WebView.subproj/WebFrame.h:
  • WebView.subproj/WebFrame.m: (-[WebFrame init]): (-[WebFrame initWithName:webView:controller:]): (-[WebFrame loadRequest:]): (-[WebFrame reload]):
  • WebView.subproj/WebFramePrivate.h:
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _timedLayout:]): (-[WebFrame _clearProvisionalDataSource]): (-[WebFrame _loadItem:fromItem:withLoadType:]): (-[WebFrame _loadRequest:triggeringAction:]): (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]): (-[WebFrame _itemForRestoringDocState]): (-[WebFrame _setProvisionalDataSource:]): (-[WebFrame _startLoading]): (-[WebFrame _downloadRequest:toPath:]):
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handle:willSendRequest:]): (-[WebMainResourceClient stopLoadingAfterContentPolicy]): (-[WebMainResourceClient handle:didReceiveResponse:]):
  • WebView.subproj/WebView.m: (-[WebView concludeDragOperation:]):

WebBrowser:

Change things so the public interface to loading is loadRequest:
and everything else is private.

  • BrowserDocument.m: (-[BrowserDocument goToRequest:]):
  • BrowserWebController.m: (-[BrowserWebController initWithBrowserDocument:]):
  • Debug/SnippetController.h:
  • Debug/SnippetController.m: (-[SnippetController dealloc]): (-[SnippetController windowWillClose:]): (-[SnippetController load]): (-[SnippetController loadComplete]): (-[SnippetController mainDataSource]):
6:23 PM Changeset in webkit [2682] by hyatt
  • 4 edits in trunk/WebCore

Fix spinner.com mislayout on the PLT. Make sure
<input type=image> honors the width attribute and
make sure that its render object calls updateFromElement.

  • khtml/html/html_formimpl.cpp: (HTMLInputElementImpl::parseAttribute): (HTMLInputElementImpl::attach):
4:04 PM Changeset in webkit [2681] by hyatt
  • 3 edits in trunk/WebKit

Move text measurement and layout beyond onload. This
shoudl speed up i-bench substantially and morrison's
PLT test slightly. Note that the adjustFrames layout
stuff has been removed from isLoadComplete.

  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _timedLayout:]): (-[WebFrame _isLoadComplete]):
3:57 PM Changeset in webkit [2680] by hyatt
  • 7 edits in trunk/WebCore

Move text measurement and layout beyond onload. This
shoudl speed up i-bench substantially and morrison's
PLT test slightly.

Also allow <table>s as children of <p> and <h1>-<h6>.
This fixes floats on slashdot.org (the left side) and
the floating tables in articles on wired.com.

  • khtml/html/dtd.cpp: (DOM::checkChild):
  • khtml/html/html_documentimpl.cpp: (HTMLDocumentImpl::HTMLDocumentImpl): (HTMLDocumentImpl::close):
  • khtml/html/html_documentimpl.h:
  • khtml/html/htmlparser.cpp: (KHTMLParser::insertNode):
1:46 PM Changeset in webkit [2679] by rjw
  • 4 edits in trunk/WebCore

Fixed 3099505. With the recent white space changes, multiple slaves may
be created for contiguous text on the same line. The fix changes the
iteration order of over the slave array. Now, when searching for the end
point of a line we'll always find the last slave on a line first.

  • khtml/khtml_part.cpp: (lastSlaveAt):
11:37 AM Changeset in webkit [2678] by darin
  • 4 edits in trunk/WebCore
  • fixed 3095854 -- small select boxes get no scrollbar
  • kwq/KWQListBox.mm: (QListBox::sizeForNumberOfLines): Always use a minimum of 4 lines.
11:19 AM Changeset in webkit [2677] by darin
  • 3 edits in trunk/WebKit

WebFoundation:

  • English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

WebKit:

  • English.lproj/Localizable.strings: Updated to include the new error messages that Maciej just added. I wonder what effect this will have if we see those errors in Alex-32?
10:51 AM Changeset in webkit [2676]
  • 3 copies in tags/Alexander-32

This commit was manufactured by cvs2svn to create tag 'Alexander-32'.

10:51 AM Changeset in webkit [2675] by sheridan
  • 8 edits in trunk

Alex-32 stamp

10:35 AM Changeset in webkit [2674] by darin
  • 4 edits in trunk/JavaScriptCore
  • fixed 3101243 -- excite passes date that can't be parsed, results in bogus date at top right corner
  • kjs/date_object.cpp: (KJS::KRFCDate_parseDate): Handle errors from strtol by checking errno. Check the "string in a haystack" to be sure it's a multiple of 3. Add case that allows year to be after time.
10:11 AM Changeset in webkit [2673] by darin
  • 4 edits in trunk/JavaScriptCore
  • fixed 3101191 -- REGRESSION: Hang loading excite.com
  • kjs/date_object.cpp: (mktimeUsingCF): Pick an arbitrary cutoff of 3000, and return -1 if the year passed in is that big so we don't infinite loop. Also validate the rest of the date with CFGregorianDateIsValid. (DateProtoFuncImp::call): Handle a -1 result from mktime. (DateObjectImp::construct): Check for NaN before calling mktime, and also handle a -1 result from mktime. (DateObjectFuncImp::call): Check for NaN before calling mktime, and also handle a -1 result from mktime.
6:52 AM Changeset in webkit [2672] by gramps
  • 4 edits in trunk/WebKit
  • WebView.subproj/WebControllerPolicyDelegate.h:

Added missing semi-colon in definition of WebPolicyDecisionListener to
fix build error.

5:18 AM Changeset in webkit [2671] by mjs
  • 13 edits in trunk/WebKit

WebKit:

Combined file URL policy with content policy. We don't actually
bother to ask earlier for file URLs yet, since that will make
things more complicated.

  • Misc.subproj/WebKitErrors.h:
  • WebView.subproj/WebControllerPolicyDelegate.h:
  • WebView.subproj/WebDefaultPolicyDelegate.m:
  • WebView.subproj/WebFramePrivate.h:
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _handleUnimplementablePolicy:errorCode:forURL:]): (-[WebFrame _continueAfterNavigationPolicyForRequest:dataSource:]):
  • WebView.subproj/WebMainResourceClient.h:
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient stopLoadingAfterContentPolicy]): (-[WebMainResourceClient handle:didReceiveResponse:]):
  • WebView.subproj/WebView.m: (+[WebView initialize]):

WebBrowser:

Combined file URL policy with content policy. Also adjusted error
handling to continue to handle file errors well.

  • BrowserWebController.m: (-[BrowserWebController unableToImplementPolicy:error:forURL:inFrame:]): (-[BrowserWebController contentPolicyForMIMEType:andRequest:inFrame:]):
  • LocationChangeError.m: (-[LocationChangeHandler specializedTitleForError:]): (-[LocationChangeHandler specializedMessageForError:]):
  • LocationChangeHandler.m: (-[LocationChangeHandler locationChangeDone:forDataSource:]):
  • WebBrowser.pbproj/project.pbxproj:
1:13 AM Changeset in webkit [2670] by darin
  • 10 edits in trunk

WebCore:

  • fixed 3099240 -- REGRESSION: repro assert d->m_doc->parsing

Don't force all redirects to be reloads, because the ones from JavaScript must
not be. Maybe a better solution post-Alex-32 will be to pass a flag that distinguishes
redirects from other location changes.

  • khtml/khtml_part.cpp: (KHTMLPart::slotRedirect): Don't ignore the anchor when comparing URLs to see if they should be a reload. We'll still do a reload if the URLs are actually equal, but if they differ in anchor we will just go to the anchor. This is the bug fix.
  • kwq/WebCoreBridge.h: Add reload parameter.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge openURL:reload:headers:]): Stuff the reload parameter into the URLArgs.

WebKit:

  • fixed 3099240 -- REGRESSION: repro assert d->m_doc->parsing

Make the reload flag pass across the bridge.

  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady]): Pass a reload flag, based on the load type, to the bridge.
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Pass a reload flag of NO in the anchor case. Preserve reload load types even when doing client redirects (have to talk with Trey about this tomorrow).
12:37 AM Changeset in webkit [2669] by darin
  • 9 edits in trunk

WebCore:

  • fixed 3100235 -- nil-deference in khtml::RenderTable at money.cnn.com
  • kwq/WebCoreBridge.h: Add needsLayout.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge needsLayout]): Return true if the render tree root says "layouted" is false. It would be more elegant to use more of this WebCore layout logic and have less of our own on the WebKit side.
  • WebCore.pbproj/project.pbxproj: Oh, that Project Builder.

WebKit:

  • fixed 3100235 -- nil-deference in khtml::RenderTable at money.cnn.com
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]): If the WebCore side needs layout, then do layout before trying to draw.

Nov 13, 2002:

11:24 PM Changeset in webkit [2668] by trey
  • 5 edits in trunk/WebKit

Fixed client redirects, some more. The upshot is that they do not
generate two items in the back-forward list. iBench still works.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge reportClientRedirectTo:delay:fireDate:]): Call straight to the frame for all impl. (-[WebBridge reportClientRedirectCancelled]): Call straight to the frame for all impl. (-[WebBridge loadURL:reload:triggeringEvent:isFormSubmission:]): clientRedirect param removed when sending _loadURL: to frame.
  • WebView.subproj/WebFramePrivate.h:
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): clientRedirect param removed. Check our own ivar to know if we are in client redirect case. (-[WebFrame _loadURL:intoChild:]): clientRedirect param removed when sending _loadURL: . (-[WebFrame _clientRedirectedTo:delay:fireDate:]): Note that we are doing a redirect if time=0 and we're not completed. Also includes previous impl moved from Bridge. (-[WebFrame _clientRedirectCancelled]): Previous impl moved from Bridge.
10:16 PM Changeset in webkit [2667] by darin
  • 5 edits in trunk/WebCore
  • khtml/rendering/render_text.h: Add an optional arena parameter to deleteSlaves.
  • khtml/rendering/render_text.cpp: (RenderText::detach): Pass the render arena in to deleteSlaves. (RenderText::deleteSlaves): Use the passed-in arena.
10:09 PM Changeset in webkit [2666] by darin
  • 11 edits in trunk/WebCore

WebFoundation:

  • Misc.subproj/WebAssertions.m: (vprintf_stderr_objc): Don't use displayableString. Makes us able to build on Panther.
  • WebFoundation.pbproj/project.pbxproj: Project Builder wanted to touch this.

WebCore:

  • khtml/rendering/render_box.cpp: (RenderBox::setStyle): Call renderArena() from RenderObject rather than going at the document directly. Safer because it works even when we don't have a node yet.
  • khtml/rendering/render_flow.cpp: (RenderFlow::addChild): Ditto.
  • khtml/rendering/render_layer.cpp: (RenderLayer::paint): Ditto. (RenderLayer::nodeAtPoint): Ditto. (RenderLayer::constructZTree): Ditto.
  • khtml/rendering/render_list.cpp: (RenderListItem::setStyle): Ditto.
  • khtml/rendering/render_text.cpp: (RenderText::deleteSlaves): Ditto. (RenderText::position): Ditto. This is the one that actually crashed.
  • khtml/misc/makeattrs: Fixed handling of failure case.
  • khtml/misc/maketags: Ditto.
  • WebCore.pbproj/project.pbxproj: Project Builder wanted to touch this.
9:11 PM Changeset in webkit [2665] by darin
  • 9 edits in trunk/WebCore

A few arena-related fixes.

  • khtml/rendering/bidi.h: Don't define the operator new without the arena parameter. That way, we get a link failure if we use it by accident, rather than an assert at runtime. It would be even better to get a compile-time error, but I don't know how to make that happen.
  • khtml/rendering/render_layer.h: Ditto.
  • khtml/rendering/render_object.h: Ditto.
  • khtml/rendering/render_text.h: Ditto.
  • khtml/rendering/render_container.cpp: (RenderContainer::addChild): Create the RenderTable with the appropriate arena. (RenderContainer::insertPseudoChild): Create the RenderFlow objects with the appropriate arena.
  • khtml/rendering/render_text.cpp: (RenderText::deleteSlaves): Don't try to get the arena when there are no slaves. This can happen after the element is nil, and in that case we will do a nil-dereference.
8:53 PM Changeset in webkit [2664] by darin
  • 5 edits in trunk/WebCore

WebCore:

  • kwq/KWQLineEdit.mm: (QLineEdit::sizeForCharacterWidth): Use the "0" instead of the "x" as the canonical character for width. This is slightly wider and is better for credit card numbers, for example.
  • WebCore.pbproj/project.pbxproj: Tweak.

WebBrowser:

  • English.lproj/StringsNotToBeLocalized.txt: Let the script sort this file.
8:44 PM Changeset in webkit [2663] by darin
  • 4 edits in trunk/JavaScriptCore
  • fixed 3099930 -- dates/times without time zones are parsed as UTC by kjs, local time by other browsers
  • kjs/date_object.cpp: (DateProtoFuncImp::call): Handle the NaN case better, like Mozilla and OmniWeb. (DateObjectFuncImp::call): Return NaN rather than Undefined() for bad dates. (KJS::parseDate): Return NaN rather than Undefined() or 0 for bad dates. (KJS::KRFCDate_parseDate): Return -1 rather than 0 for bad dates. Assume local time if no time zone is passed. Don't return 1 if we parse 0.
7:20 PM Changeset in webkit [2662] by mjs
  • 7 edits in trunk/WebKit

WebKit:

Pass mime type instead of full response to content policy delegate
method, in preparation for merging it with the file URL policy.

  • WebView.subproj/WebControllerPolicyDelegate.h:
  • WebView.subproj/WebDefaultPolicyDelegate.m:
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handle:didReceiveResponse:]):

WebBrowser:

Pass mime type instead of full response to content policy delegate
method, in preparation for merging it with the file URL policy.

  • BrowserWebController.m: (-[BrowserWebController contentPolicyForMIMEType:andRequest:inFrame:]):
3:46 PM Changeset in webkit [2661] by vicki
  • 1 edit in trunk/WebCore/khtml/misc/arena.h

tiny change made by rjw to fix build breakage

3:32 PM Changeset in webkit [2660] by darin
  • 18 edits in trunk

WebCore:

  • fixed 3083982 -- Logging into AOL gives null view

Turns out AOL was using a refresh header, which we were not supporting.

  • khtml/khtml_part.h: Declare receivedFirstData, a private member function.
  • khtml/khtml_part.cpp: (KHTMLPart::receivedFirstData): Separate out the part of slotData we want to share, which really seems kinda separate anyway. (KHTMLPart::slotData): More of the same.
  • kwq/KWQKHTMLPart.h: Declare addMetaData.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::slotData): Call receivedFirstData instead of doing the same thing ourselves. (KWQKHTMLPart::addMetaData): Added. Puts metadata into the job.
  • kwq/KWQKHTMLPartBrowserExtension.mm: (KHTMLPartBrowserExtension::createNewWindow): Fix bug where this was calling openURL: but meant to call loadURL:.
  • kwq/WebCoreBridge.h: Add headers to openURL method. Remove setContentType.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge openURL:withHeaders:]): Handle Content-Type and Refresh. This method is big enough that I should probably move the guts to KWQKHTMLPart.
  • other things
  • kwq/KWQListImpl.mm: (KWQListImpl::~KWQListImpl): I overlooked something while doing my "bug fix" in here a while back. Change an assignment statement to an assert.

WebKit:

  • fixed 3083982 -- Logging into AOL gives null view

Turns out AOL was using a refresh header, which we were not supporting.

  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady]): Call openURL: and pass headers in.
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:isFormSubmission:]): Pass nil for headers in this case, since we know it's just an anchor change.
  • other things
  • WebCoreSupport.subproj/WebBridge.h: Remove dataSourceChanged and dataSource methods. We try to keep the bridge methods down to actual bridging.
  • WebCoreSupport.subproj/WebBridge.m: Remove dataSourceChanged altogether, and move dataSource up in the file.
  • WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation setDataSource:]): Keep the data source around, so we don't need to ask the bridge for it. (-[WebHTMLRepresentation documentSource]): Use it here.
3:01 PM Changeset in webkit [2659] by hyatt
  • 4 edits in trunk/WebCore

Fix for floats. Force relayout if collapsing margins
have to adjust the position of an object.

  • khtml/rendering/render_flow.cpp: (RenderFlow::layoutBlockChildren):
2:13 PM Changeset in webkit [2658] by trey
  • 4 edits in trunk/WebKit

Fixed 3100084 - REGRESSION: web page is not first responder after visiting web page

  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady]): Make the rep before _transitionToCommitted. This is the way it used to be. (-[WebDataSource _makeRepresentation]): Don't make the docView here.
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted]): Make the docView here, after we save the scroll state but before notifying the delegate.
2:07 PM Changeset in webkit [2657] by hyatt
  • 11 edits in trunk/WebCore

Rewrite cellpadding to not use the style system at all and
to make table cells just get the padding from the table
itself (overriding style).

  • khtml/html/html_tableimpl.cpp: (HTMLTableElementImpl::HTMLTableElementImpl): (HTMLTableElementImpl::attach): (HTMLTableElementImpl::parseAttribute): (HTMLTableCellElementImpl::init):
  • khtml/html/html_tableimpl.h:
  • khtml/rendering/bidi.cpp: (RenderFlow::layoutInlineChildren):
  • khtml/rendering/render_box.cpp: (RenderBox::contentWidth): (RenderBox::contentHeight):
  • khtml/rendering/render_flow.cpp: (RenderFlow::layoutBlockChildren): (RenderFlow::leftOffset): (RenderFlow::rightOffset): (RenderFlow::calcMinMaxWidth):
  • khtml/rendering/render_object.h:
  • khtml/rendering/render_table.cpp: (RenderTable::RenderTable): (RenderTableCell::paddingTop): (RenderTableCell::paddingBottom): (RenderTableCell::paddingLeft): (RenderTableCell::paddingRight):
  • khtml/rendering/render_table.h:
1:40 PM Changeset in webkit [2656] by kocienda
  • 4 edits in trunk/WebCore

Bump WebCore cache to 4 MB (was 1 MB).

  • khtml/misc/loader.cpp
1:15 PM Changeset in webkit [2655] by darin
  • 5 edits in trunk/JavaScriptCore
  • fixed 3073230 -- JavaScript time calls do I/O by lstat()ing /etc/localtime
  • kjs/date_object.cpp: (formatDate): Added. (formatTime): Added. (formatLocaleDate): Added. (formatLocaleTime): Added. (DateProtoFuncImp::call): Changed to use the above functions instead of using strftime.
10:30 AM Changeset in webkit [2654] by darin
  • 3 edits in trunk/WebKit
  • fixed 3100013 -- REGRESSION: Can't get results from i-Bench anymore
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _isLoadComplete]): Don't set the state to WebFrameStateComplete if it has already been set to WebFrameStateProvisional. If it has, that means we already began a new load; that one is not yet complete.
9:17 AM Changeset in webkit [2653] by sullivan
  • 4 edits in trunk/WebKit

2002-11-13 John Sullivan <sullivan@apple.com>

  • fixed 3099922 -- REGRESSION: Back button always pops up menu
  • Misc.subproj/WebNSViewExtras.h:
  • Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragShouldBeginFromMouseDown:withExpiration:xHysteresis:yHysteresis:]: Fixed a copy/paste error I made yesterday -- this method was never noticing the mouse-up events because it was checking the event type against the wrong number. Also changed the hysteresis values from unsigneds to floats (unsigned was just wrong).
2:56 AM Changeset in webkit [2652] by mjs
  • 15 edits in trunk

WebCore:

  • fixed 3050447 - Policy handlers have no way of telling client that the proposed navigation is a form post
  • khtml/khtml_part.cpp: (KHTMLPart::submitForm): Call kwq->submitForm
  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::openURL): Adjusted for bridge API change. (KWQKHTMLPart::openURLRequest): Removed POST handling. (KWQKHTMLPart::submitForm): Added this back, because we need to know what URL navigations are caused by form submission, even if they are not POSTs. (KWQKHTMLPart::urlSelected): Adjusted for bridge API change.
  • kwq/WebCoreBridge.h: Add triggeringEvent: parameter to postURL: and isFormSubmission: parameter to loadURL:.

WebKit:

  • fixed 3050447 - Policy handlers have no way of telling client that the proposed navigation is a form post

Now we pass form submissions through all the normal policy steps.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge loadURL:reload:triggeringEvent:isFormSubmission:]): (-[WebBridge postWithURL:data:contentType:triggeringEvent:]): (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
  • WebView.subproj/WebDataSourcePrivate.h:
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): (-[WebDataSource _setTriggeringAction:]): (-[WebDataSource _triggeringAction]): (-[WebDataSource _lastCheckedRequest]): (-[WebDataSource _setLastCheckedRequest:]):
  • WebView.subproj/WebFrame.m: (-[WebFrame setProvisionalDataSource:]):
  • WebView.subproj/WebFramePrivate.h:
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _shouldShowRequest:]): (-[WebFrame _loadRequest:triggeringAction:]): (-[WebFrame _actionInformationForNavigationType:event:]): (-[WebFrame _continueAfterNavigationPolicyForRequest:dataSource:]): (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:isFormSubmission:]): (-[WebFrame _loadURL:intoChild:]): (-[WebFrame _postWithURL:data:contentType:triggeringEvent:]):

Nov 12, 2002:

8:52 PM Changeset in webkit [2651] by mjs
  • 8 edits in trunk/WebKit

WebKit:

Combine click policy and URL policy into navigation policy.

  • WebView.subproj/WebControllerPolicyDelegate.h:
  • WebView.subproj/WebDefaultPolicyDelegate.h:
  • WebView.subproj/WebDefaultPolicyDelegate.m: (-[WebDefaultPolicyDelegate navigationPolicyForAction:andRequest:inFrame:]):
  • WebView.subproj/WebFramePrivate.h:
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _shouldShowRequest:]): (-[WebFrame _actionInformationForNavigationType:event:]): (-[WebFrame _continueAfterFileURLPolicyForRequest:]): (-[WebFrame _continueAfterNavigationPolicyForRequest:event:]): (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:]):

WebBrowser:

Combined click policy and URL policy into navigation policy.

  • BrowserDocument.m: (-[BrowserDocument goToRequest:]):
  • BrowserWebController.m: (-[BrowserWebController navigationPolicyForAction:andRequest:inFrame:]):
7:24 PM Changeset in webkit [2650] by hyatt
  • 5 edits in trunk/WebCore

Fix for 3032869, the background image for the body was being
propagated up to the root properly but was not being tiled over
the whole canvas.

  • khtml/rendering/render_box.cpp: (RenderBox::printBackground):
  • khtml/rendering/render_html.cpp: (RenderHtml::printBoxDecorations):
6:20 PM Changeset in webkit [2649] by trey
  • 3 edits in trunk/WebKit

fixed 3096030 - Crash in -[WebBackForwardList goToEntry:] when playing with SnapBack and dictionary.com

  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _isLoadComplete]): Set state=completed only after we tell the bridge to end the load. This allows client redirects to be processed before we think we're complete. (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:]): Only process client redirects as such if we are not already complete. This makes JS driven navigations after load-time work like the user would expect, as normal navigations.
6:15 PM Changeset in webkit [2648] by hyatt
  • 4 edits in trunk/WebCore

Fix the top of moveabletype.org. The maxwidth/minwidth
calculation for blocks with inline content did not properly
deal with margins and padding on inline elements like <a>.

  • khtml/rendering/render_flow.cpp: (RenderFlow::calcInlineMinMaxWidth):
5:59 PM Changeset in webkit [2647] by hyatt
  • 6 edits in trunk/WebCore

Fix for 2953367, padding is incorrectly inherited into table cells
and also incorrectly overrides cellpadding on the table itself.
Fixes dailyf1.com.

  • khtml/css/html4.css:
  • khtml/html/html_tableimpl.cpp: (HTMLTableElementImpl::parseAttribute): (HTMLTableCellElementImpl::init):
  • khtml/html/html_tableimpl.h:
5:56 PM Changeset in webkit [2646] by mjs
  • 10 edits in trunk/WebKit
  • fixed 3099487 - REGRESSION: dragging an image always puts it in the download directory
  • WebView.subproj/WebControllerPrivate.h:
  • WebView.subproj/WebControllerPrivate.m: (-[WebController _downloadURL:]): Call _downloadURL:toPath: with nil path. (-[WebController _downloadURL:toPath:]): New method that predetermines the path to download to (needed for DnD).
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Use _downloadURL:toPath:
  • WebView.subproj/WebImageView.m: (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]): Use _downloadURL:toPath:
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handle:didReceiveResponse:]): Don't ask delegate for download path if we already have one.
5:49 PM Changeset in webkit [2645] by rjw
  • 3 edits in trunk/WebKit

Fixed likely cause of 3099047 (and others). Width buffer could underrun in
some situations.

  • WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:]):
5:33 PM Changeset in webkit [2644] by hyatt
  • 4 edits in trunk/WebCore

For now make text/xml files use HTML parsing/documents.
This avoids the infinite loop we get into when loading
text/xml. If/when we finally support XML, we can undo
this change.

  • khtml/khtml_part.cpp: (KHTMLPart::begin):
5:28 PM Changeset in webkit [2643] by hyatt
  • 4 edits in trunk/WebCore

Fix for 3086321, stylesheets not loading if titles are
specified. Note that 4 of the pages on the PLT were
affected by this, so I fully expect a slight performance
degradation (the boost from the regression was artificial).

  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::recalcStyleSelector):
5:27 PM Changeset in webkit [2642] by sullivan
  • 4 edits in trunk/WebKit

WebKit:

  • Misc.subproj/WebNSViewExtras.h:
  • Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragShouldBeginFromMouseDown:withExpiration:xHysteresis:yHysteresis:]): new method (-[NSView _web_dragShouldBeginFromMouseDown:withExpiration:]): now calls the new method, passing the default hysteresis values

WebBrowser:

  • fixed 3096528 -- don't let initially-horizontal drags of toolbar bookmarks escape from toolbar

Unfortunately I left behind a drawing glitch, recorded as
bug 3099488. Ideas to fix this are hereby solicited.

  • FavoritesBar.m: (-[FavoritesBar slideButtonsIntoPlace]): renamed from repositionButtons for clarity (-[FavoritesBar maxButtonX]): new method, extracted from _layOutButtons (-[FavoritesBar _layOutButtons]): now calls maxButtonX (-[FavoritesBar setDropIndex:]): updated for name change (-[FavoritesBar specialBookmarkSourcesCount]): new method, extracted from duplicated code (-[FavoritesBar lastNonFavoriteIndex]): new method, extracted from dropIndexFromDraggingInfo: (-[FavoritesBar dropIndexFromLocalPoint:]): new method, extracted from dropIndexFromDraggingInfo: (-[FavoritesBar dropIndexFromDraggingInfo:]): now calls dropIndexFromLocalPoint: (-[FavoritesBar addDroppedBookmarks:atIndex:]): new method, extracted from performDragOperation: (-[FavoritesBar performDragOperation:]): now calls addDroppedBookmarks:atIndex: (-[FavoritesBar _lastDraggedEventFollowing:]), (-[FavoritesBar _lastDraggedOrUpEventFollowing:]): new methods, cribbed from AppKit (-[FavoritesBar constrainProposedButtonFrame:]): new method (-[FavoritesBar reorderFavoriteButton:fromMouseDownEvent:]): new method, drags (but not using CoreDragging stuff) button horizontally within bar only
  • FavoritesBarView.h: added definition of FavoritesBarReorderingDelegate informal protocol
  • FavoritesBarView.m: (-[FavoritesBarView reorderFavoriteButton:fromMouseDownEvent:]): pass call through to delegate (FavoritesBar)
  • FavoriteButton.m: (-[FavoriteButton currentEventOffsetFromEvent:]): new method, extracted from performDragFromEvent: (-[FavoriteButton performDragFromEvent:]): now calls extracted method (-[FavoriteButton canDrag]): renamed from canDragButton; now checks whether superview is a FavoritesBarView (-[FavoriteButton mouseDown:]): checks whether initial dragging movement was primarily vertical or horizontal; if horizontal, calls new reordering code; if vertical, uses larger hysteresis to minimize accidental poofing
5:18 PM Changeset in webkit [2641] by rjw
  • 4 edits in trunk/WebCore

Oops, removed debugging.

  • khtml/rendering/font.cpp: (Font::drawText):
5:07 PM Changeset in webkit [2640] by rjw
  • 14 edits in trunk

Implemented letter-spacing and word-spacing CSS properties.

  • khtml/rendering/font.cpp: (Font::drawText): (Font::floatWidth): (Font::floatCharacterWidths):
  • kwq/KWQFontMetrics.h:
  • kwq/KWQFontMetrics.mm: (QFontMetrics::width): (QFontMetrics::floatWidth): (QFontMetrics::floatCharacterWidths):
  • kwq/KWQPainter.h:
  • kwq/KWQPainter.mm: (QPainter::drawText):
  • kwq/WebCoreTextRenderer.h:

Implemented letter-spacing and word-spacing CSS properties.

  • Misc.subproj/WebStringTruncator.m: (+[WebStringTruncator rightTruncateString:toWidth:withFont:]): (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
  • WebCoreSupport.subproj/WebTextRenderer.h:
  • WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer widthForCharacters:length:]): (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:letterSpacing:wordSpacing:]): (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]): (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]): (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:letterSpacing:wordSpacing:]): (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:]):

Changed to reflect method name change.

  • EtchedStringView.m: (-[EtchedStringView drawRect:]):
5:03 PM Changeset in webkit [2639] by hyatt
  • 8 edits in trunk/WebCore

Revert floats so that they don't use layers any more.
Floats have to be able to paint in between the background
and foreground of inlines, so they can't have layers.

  • khtml/rendering/render_box.cpp: (RenderBox::setStyle):
  • khtml/rendering/render_flow.cpp: (RenderFlow::printObject): (RenderFlow::paintFloats): (RenderFlow::addOverHangingFloats): (RenderFlow::nodeAtPoint):
  • khtml/rendering/render_flow.h:
  • khtml/rendering/render_layer.cpp: (RenderLayer::constructZTree):
  • khtml/rendering/render_list.cpp: (RenderListItem::printObject):
4:54 PM Changeset in webkit [2638] by mjs
  • 17 edits
    2 deletes in trunk/WebKit

WebKit:

Removed policy classes and instead use the policy enums directly,
since we no longer hold the path in the enum.

  • Downloads.subproj/WebDownloadHandler.m:
  • WebKit.exp:
  • WebKit.pbproj/project.pbxproj:
  • WebView.subproj/WebControllerPolicyDelegate.h:
  • WebView.subproj/WebControllerPolicyDelegate.m:
  • WebView.subproj/WebControllerPolicyDelegatePrivate.h: Removed.
  • WebView.subproj/WebControllerPrivate.m:
  • WebView.subproj/WebDefaultPolicyDelegate.h:
  • WebView.subproj/WebDefaultPolicyDelegate.m: (+[WebDefaultPolicyDelegate defaultURLPolicyForRequest:]): (-[WebDefaultPolicyDelegate URLPolicyForRequest:inFrame:]): (-[WebDefaultPolicyDelegate fileURLPolicyForMIMEType:andRequest:inFrame:]): (-[WebDefaultPolicyDelegate unableToImplementPolicy:error:forURL:inFrame:]): (-[WebDefaultPolicyDelegate clickPolicyForAction:andRequest:inFrame:]):
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame handleUnimplementablePolicy:errorCode:forURL:]): (-[WebFrame _shouldShowRequest:]): (-[WebFrame _continueAfterClickPolicyForEvent:request:]):
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handle:didReceiveResponse:]):

WebBrowser:

Adjusted for WebKit API changes.

  • BrowserDocument.m: (-[BrowserDocument goToRequest:]):
  • BrowserWebController.m: (-[BrowserWebController URLPolicyForRequest:inFrame:]): (-[BrowserWebController unableToImplementPolicy:error:forURL:inFrame:]): (-[BrowserWebController fileURLPolicyForMIMEType:andRequest:inFrame:]): (-[BrowserWebController contentPolicyForResponse:andRequest:inFrame:]): (-[BrowserWebController clickPolicyForAction:andRequest:inFrame:]):
3:24 PM Changeset in webkit [2637] by darin
  • 4 edits in trunk/WebCore
  • kwq/KWQCursor.mm: (QCursor::QCursor): Use nil instead of [NSCursor arrowCursor]. This will probably fix the performance regression.
2:10 PM Changeset in webkit [2636] by darin
  • 5 edits in trunk/WebCore
  • fixed 3080250 -- Hands-free crash at wired.com in KHTMLPart::slotChildStarted
  • kwq/KWQListImpl.mm: (KWQListImpl::~KWQListImpl): Set the node of each iterator to NULL too, not just the list. This is the bug fix for the bug above. (KWQListIteratorImpl::toFirst): Check for list of NULL. (KWQListIteratorImpl::toLast): ditto.
  • kwq/KWQSlot.mm: Tweaks.
1:44 PM Changeset in webkit [2635] by hyatt
  • 44 edits
    4 adds in trunk/WebCore

This patch lands a rewrite of whitespace-handling in the
layout engine and adds support for the CSS2 white-space
property.

It also includes a rewrite of inlines' min/max width
calculations (for both flow inlines and raw text).

A problem with <form> margins has been fixed (this is a
regression I caused with my collapsing margin checkin).

  • WebCore.pbproj/project.pbxproj:
  • khtml/css/html4.css:
  • khtml/html/dtd.cpp: (DOM::checkChild):
  • khtml/html/html_baseimpl.cpp: (HTMLBodyElementImpl::attach): (HTMLFrameElementImpl::attach): (HTMLFrameSetElementImpl::attach): (HTMLHtmlElementImpl::attach): (HTMLIFrameElementImpl::attach):
  • khtml/html/html_formimpl.cpp: (HTMLFormElementImpl::HTMLFormElementImpl): (HTMLInputElementImpl::attach): (HTMLSelectElementImpl::attach): (HTMLTextAreaElementImpl::attach):
  • khtml/html/html_formimpl.h:
  • khtml/html/html_imageimpl.cpp: (HTMLImageElementImpl::attach):
  • khtml/html/html_inlineimpl.cpp: (HTMLBRElementImpl::attach):
  • khtml/html/html_objectimpl.cpp: (HTMLAppletElementImpl::attach): (HTMLEmbedElementImpl::attach): (HTMLObjectElementImpl::attach):
  • khtml/html/htmlparser.cpp: (KHTMLParser::reset): (KHTMLParser::parseToken): (KHTMLParser::insertNode): (KHTMLParser::popBlock): (KHTMLParser::popOneBlock):
  • khtml/html/htmlparser.h:
  • khtml/html/htmltokenizer.cpp: (HTMLTokenizer::addPending): (HTMLTokenizer::write):
  • khtml/misc/arena.cpp: Added. (CeilingLog2): (InitArenaPool): (ArenaAllocate): (ArenaGrow): (FreeArenaList): (ArenaRelease): (FreeArenaPool): (FinishArenaPool): (ArenaFinish):
  • khtml/misc/arena.h: Added.
  • khtml/rendering/bidi.cpp: (BidiIterator::detach): (throw): (BidiIterator::operator delete): (appendRunsForObject): (appendRun): (RenderFlow::bidiReorderLine): (deleteMidpoints): (RenderFlow::layoutInlineChildren): (RenderFlow::findNextLineBreak):
  • khtml/rendering/bidi.h:
  • khtml/rendering/render_arena.cpp: Added. (RenderArena::RenderArena): (RenderArena::~RenderArena): (RenderArena::allocate): (RenderArena::free):
  • khtml/rendering/render_arena.h: Added.
  • khtml/rendering/render_box.cpp: (RenderBox::setStyle): (RenderBox::~RenderBox): (RenderBox::detach):
  • khtml/rendering/render_box.h:
  • khtml/rendering/render_br.cpp: (RenderBR::RenderBR):
  • khtml/rendering/render_container.cpp: (RenderContainer::~RenderContainer): (RenderContainer::detach):
  • khtml/rendering/render_container.h:
  • khtml/rendering/render_flow.cpp: (RenderFlow::setStyle): (RenderFlow::layout): (RenderFlow::calcInlineMinMaxWidth): (RenderFlow::calcBlockMinMaxWidth): (RenderFlow::calcMinMaxWidth): (RenderFlow::addChild): (RenderFlow::makeChildrenNonInline):
  • khtml/rendering/render_flow.h:
  • khtml/rendering/render_html.cpp: (RenderHtml::RenderHtml):
  • khtml/rendering/render_layer.cpp: (RenderLayer::~RenderLayer): (throw): (RenderLayer::operator delete): (RenderLayer::detach): (RenderLayer::paint): (RenderLayer::nodeAtPoint): (RenderLayer::constructZTree): (RenderLayer::RenderLayerElement::operator delete): (RenderLayer::RenderLayerElement::detach): (RenderLayer::RenderZTreeNode::operator delete): (RenderLayer::RenderZTreeNode::detach):
  • khtml/rendering/render_layer.h:
  • khtml/rendering/render_list.cpp: (RenderListItem::setStyle):
  • khtml/rendering/render_object.cpp: (throw): (RenderObject::operator delete): (RenderObject::createObject): (RenderObject::renderArena): (RenderObject::detach):
  • khtml/rendering/render_object.h:
  • khtml/rendering/render_replaced.cpp: (RenderWidget::detach):
  • khtml/rendering/render_replaced.h:
  • khtml/rendering/render_root.cpp: (RenderRoot::RenderRoot):
  • khtml/rendering/render_table.cpp: (RenderTable::addChild): (RenderTable::calcWidth): (RenderTable::setCellWidths): (RenderTableSection::addChild): (RenderTableRow::addChild):
  • khtml/rendering/render_text.cpp: (TextSlave::detach): (throw): (TextSlave::operator delete): (TextSlaveArray::TextSlaveArray): (RenderText::RenderText): (RenderText::~RenderText): (RenderText::detach): (RenderText::deleteSlaves): (RenderText::trimmedMinMaxWidth): (RenderText::calcMinMaxWidth): (RenderText::position):
  • khtml/rendering/render_text.h:
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::DocumentImpl): (DocumentImpl::~DocumentImpl): (DocumentImpl::attach): (DocumentImpl::detach):
  • khtml/xml/dom_docimpl.h:
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::detach): (NodeImpl::isReadOnly): (NodeImpl::previousRenderer):
  • khtml/xml/dom_nodeimpl.h:
  • khtml/xml/dom_stringimpl.cpp:
  • khtml/xml/dom_stringimpl.h:
  • khtml/xml/dom_textimpl.cpp: (CharacterDataImpl::containsOnlyWhitespace): (TextImpl::attach):
  • khtml/xml/dom_textimpl.h:
1:43 PM Changeset in webkit [2634] by mjs
  • 3 edits in trunk/WebKit

Keep the triggering event around on the data source, so it can be
used with redirects.

  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadRequest:triggeringEvent:]): (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:]): (-[WebFrame _postWithURL:data:contentType:]):
1:36 PM Changeset in webkit [2633] by darin
  • 4 edits in trunk/WebCore
  • fixed 3094819 -- Crash in -[KWQObjectTimerTarget timerFired]
  • kwq/KWQObject.mm: (QObject::~QObject): Call the _destroyed signal. (QObject::killTimers): Simplify the code a bit using makeObjectsPerformSelector:.
10:43 AM Changeset in webkit [2632] by darin
  • 6 edits in trunk/WebCore
  • khtml/misc/loader.cpp: (CachedCSSStyleSheet::checkNotify): Copy the clients list before iterating over it, since clients can move around in the list or be removed. (CachedScript::checkNotify): Ditto. (CachedImage::do_notify): Ditto. (CachedImage::movieStatus): Ditto.
  • fixed double calls to openURL I noticed
  • khtml/khtml_part.cpp: (KHTMLPart::processObjectRequest): Don't call openURL here at all. That happens indirectly as a result of the load we kick off.
  • kwq/KWQKHTMLPart.mm: Tweaks.
9:22 AM Changeset in webkit [2631] by darin
  • 7 edits in trunk

WebCore:

  • fixed 3083043 -- Alex doesn't decode % sequences in javascript: URLs

Some places here did KURL::decode_string, but others didn't.

  • khtml/khtml_part.cpp: (KHTMLPart::slotShowDocument): Added call to KURL::decode_string. (KHTMLPart::overURL): Ditto. (KHTMLPart::urlSelected): Ditto. (KHTMLPart::requestFrame): Ditto. (KHTMLPart::slotChildURLRequest): Ditto.

WebKit:

  • improved the code that manages observing the window and superview
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView addSuperviewObservers]): Added. (-[WebHTMLView removeSuperviewObservers]): Added. (-[WebHTMLView addWindowObservers]): Added. (-[WebHTMLView removeWindowObservers]): Added. (-[WebHTMLView viewWillMoveToSuperview:]): Call removeSuperviewObservers. (-[WebHTMLView viewDidMoveToSuperview]): Call addSuperviewObservers. (-[WebHTMLView viewWillMoveToWindow:]): Call removeWindowObservers and removeSuperviewObservers. (-[WebHTMLView viewDidMoveToWindow]): Call addWindowObservers and addSuperviewObservers.

WebBrowser:

  • fixed 3083043 -- Alex doesn't decode % sequences in javascript: URLs
  • BrowserWebBookmarkExtras.m: (-[WebBookmark _goToWithWindowPolicy:]): Call CFURLCreateStringByReplacingPercentEscapes on the URL fragment before passing it to stringByEvaluatingJavaScriptFromString:.
  • BrowserWindowController.m: (-[BrowserWindowController goToToolbarLocation:]): Ditto.
  • fixed world leaks seen when playing with the snippet window
  • Debug/SnippetController.m: (-[SnippetController dealloc]): Release the location change delegate to avoid a leak. Also release the data source now that we retain it. (-[SnippetController windowWillClose:]): Release everything here. If we don't we get a world leak. Also remove the WebView from the superview. If we don't, it leaks. At some point we should look into this because it may indicate a WebKit problem, so I marked it with a FIXME. (-[SnippetController load]): Retain the data source. (-[SnippetController loadComplete]): Release the old text storage.
  • Debug/SnippetController.h: Tweaks.

Nov 11, 2002:

11:17 PM Changeset in webkit [2630] by mjs
  • 19 edits in trunk/WebKit

WebKit:

Remove contentPolicy parameter from _downloadURL, and remove
remaining traces of path from policy object.

  • WebView.subproj/WebControllerPolicyDelegate.h:
  • WebView.subproj/WebControllerPolicyDelegate.m: (-[WebPolicyPrivate dealloc]): (+[WebURLPolicy webPolicyWithURLAction:]): (+[WebFileURLPolicy webPolicyWithFileAction:]): (+[WebContentPolicy webPolicyWithContentAction:]): (+[WebClickPolicy webPolicyWithClickAction:]):
  • WebView.subproj/WebControllerPolicyDelegatePrivate.h:
  • WebView.subproj/WebControllerPrivate.h:
  • WebView.subproj/WebControllerPrivate.m: (-[WebController _downloadURL:]):
  • WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultContextMenuDelegate downloadURL:]):
  • WebView.subproj/WebDefaultPolicyDelegate.m: (-[WebDefaultPolicyDelegate clickPolicyForAction:andRequest:inFrame:]):
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _continueAfterClickPolicyForEvent:request:]):
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
  • WebView.subproj/WebImageView.m: (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]):
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handle:didReceiveResponse:]):

WebBrowser:

Don't pass path when making policy objects.

  • BrowserWebController.m: (-[BrowserWebController contentPolicyForResponse:andRequest:inFrame:]): (-[BrowserWebController clickPolicyForAction:andRequest:inFrame:]):
10:33 PM Changeset in webkit [2629] by darin
  • 8 edits in trunk

WebFoundation:

  • English.lproj/StringsNotToBeLocalized.txt: Update.

WebCore:

  • kwq/KWQWidget.mm: (QWidget::setCursor): Remove printf I left in by accident.

WebKit:

  • Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage load]): Use fileSystemRepresentationWithPath, not cString, to turn a path into something to pass to FSPathMakeRef.
  • English.lproj/StringsNotToBeLocalized.txt: Update.

WebBrowser:

  • BrowserNSStringExtras.m: (-[NSString compareVersionString:]): Use lossyCString so we don't get an exception if a string is bad.
  • English.lproj/StringsNotToBeLocalized.txt: Update.
6:06 PM Changeset in webkit [2628] by darin
  • 11 edits in trunk

WebCore:

  • tighten up cursor handling a bit more
  • kwq/KWQWidget.mm: (QWidget::setCursor): Use setDocumentCursor: instead of our own protocol. (QWidget::cursor): Use documentCursor instead of storing our own cursor.
  • kwq/WebCoreFrameView.h: Remove setCursor: method.

WebKit:

  • tighten up cursor handling a bit more
  • WebView.subproj/WebDynamicScrollBarsView.m:
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView addMouseMovedObserver]): Call _frameOrBoundsChanged so we emit a mouse moved event right away. (-[WebHTMLView viewWillMoveToSuperview:]): Remove the colon since I removed the parameter from _frameOrBoundsChanged.
  • WebView.subproj/WebHTMLViewPrivate.h: Declare _frameOrBoundsChanged.
  • WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _frameOrBoundsChanged]): Remove parameter.
5:47 PM Changeset in webkit [2627] by darin
  • 7 edits in trunk/WebCore
  • fixed 3084704 -- crash in HTMLTokenizer on page with JavaScript HTMLDocument::Close inside a <script>

I think it's going to work this time. The key was to hook up the
KHTML submitFormAgain machinery.

  • khtml/khtml_part.cpp: (KHTMLPart::submitForm): Take out the APPLE_CHANGES ifdef that was disabling the submitFormAgain logic.
  • kwq/KWQKHTMLPart.h: Remove submitForm(), because openURLRequest() handles it fine.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::openURLRequest): Move the logic for handling POST here from submitForm() and remove submitForm().
  • kwq/KWQSlot.mm: (KWQSlot::KWQSlot): Add support for the submitFormAgain slot. (KWQSlot::call): Ditto.
11:27 AM Changeset in webkit [2626] by trey
  • 3 edits in trunk/WebKit

Fixed 3015884 - Reloading a page should remember the scroll position

  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted]): Save scroll position on reload (-[WebFrame _isLoadComplete]): Restore position on reload
11:04 AM Changeset in webkit [2625] by darin
  • 8 edits
    2 adds in trunk/WebCore
  • fixed 3092421 -- javascript: URL that opens window crashes Alex if typed into empty window
  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::KWQKHTMLPart): Set _ownsView to false. (KWQKHTMLPart::~KWQKHTMLPart): Delete the view if we own it. Also release _currentEvent to fix a leak. (KWQKHTMLPart::setView): Delete the old view if we own it. Also, set the _ownsView flag. (KWQKHTMLPart::createDummyDocument): Create a dummy view too.
  • kwq/KWQDummyView.h: Added.
  • kwq/KWQDummyView.m: Added.
  • WebCore.pbproj/project.pbxproj: Added KWQDummyView.
  • kwq/WebCoreBridge.h: Remove bridgeOwnsKHTMLView and currentEvent.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge createKHTMLViewWithNSView:marginWidth:marginHeight:]): Pass true to setView instead of setting bridgeOwnsKHTMLView. (-[WebCoreBridge removeFromFrame]): Just call setView on the part. It knows how to handle ownership now. (-[WebCoreBridge installInFrame:]): Call setOwnsView instead of setting bridgeOwnsKHTMLView.
10:33 AM Changeset in webkit [2624] by trey
  • 21 edits in trunk

First checkin of making frames work with the back forward list, restoring scroll position and form state. Fixing:

3014555 Lose frameset context going back/forward
3078151 History inconsistency after loading frame content
3089551 REGRESSION: www.bmwusa.com frames don't load in alex-30
3095878 refresh doesn't preserve frame state

WebCore:

  • khtml/khtml_part.cpp: (KHTMLPart::requestFrameName): Call through bridge to get generated frame name.
  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::generateFrameName): New call that just forwards through the bridge.
  • kwq/WebCoreBridge.h:

WebKit:

  • History.subproj/WebBackForwardList.m: (-[WebBackForwardList addEntry:]): Yank code to avoid adding a duplicate entry, to catch the refresh case. That's dealt with in WebFramePrivate now. (-[WebBackForwardList description]): Enhanced to print more info.
  • History.subproj/WebHistoryItem.h: History items now hold an array of subitems to mirror the frame tree. One item in the tree is designated the target of the navigation.
  • History.subproj/WebHistoryItem.m: (-[WebHistoryItem dealloc]): Release new ivars. (-[WebHistoryItem isTargetItem]): (-[WebHistoryItem setIsTargetItem:]): New setter and setter. (-[WebHistoryItem _recurseToFindTargetItem]): (-[WebHistoryItem targetItem]): Search the tree to find the target item. (-[WebHistoryItem children]): (-[WebHistoryItem addChildItem:]): (-[WebHistoryItem childItemWithName:]): Maintain and search new child item list. (-[WebHistoryItem description]): Enhanced to print out the tree of items. (-[WebHistoryItem dictionaryRepresentation]): (-[WebHistoryItem initFromDictionaryRepresentation:]): Save and load the new state.
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge generateFrameName]): New call from KWQ, just forwards to Frame. (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): Call new frame method dedicated to this case. (-[WebBridge saveDocumentState:]): (-[WebBridge documentState]): Call frame methods to get the right item to save/restore to/from.
  • WebView.subproj/WebController.m: (-[WebController _goToItem:withLoadType:]): Stop any current loading before going to a new item. (-[WebController goBack]): (-[WebController goForward]): (-[WebController goBackOrForwardToItem:]): Name change of private method (for consistency)
  • WebView.subproj/WebDataSourcePrivate.h: ProvisionalItem and PreviousItem are moved back up to WebFrame, where we know more about the state transitions that happen during loading.
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): Don't release removed ivars. (-[WebDataSource _commitIfReady]): Make the view representations -after- the transition to committed. This allows us to save away the scroll location successfully, since making the view was resetting it.
  • WebView.subproj/WebFrame.h:
  • WebView.subproj/WebFrame.m: (-[WebFrame setProvisionalDataSource:]): Saving the scroll location has moved elsewhere to handle frames. (-[WebFrame stopLoading]): Skip all the work if we're already state=complete.
  • WebView.subproj/WebFramePrivate.h: The frame now holds a ref to the current, previous and provisional back-forward items.
  • WebView.subproj/WebFramePrivate.m: (-[WebFramePrivate dealloc]): Release new state. (-[WebFramePrivate setProvisionalItem:]): (-[WebFramePrivate setPreviousItem:]): (-[WebFramePrivate setCurrentItem:]): New setters (1 line getters were missed by script) (-[WebFrame _addBackForwardItemClippedAtTarget:]): Adds a BF item to the top of the BF list. (-[WebFrame _createItem]): Create a single BF item. (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]): Create a tree of BF items, which mirror the frame tree. (-[WebFrame _immediateChildFrameNamed:]): New frame search utility (doesn't recurse) (-[WebFrame _detachFromParent]): Save the scroll position when detaching a frame. (-[WebFrame _transitionToCommitted]): Maintain new item ivars. Save scroll position when appropriate. Hook up items for child frames to their parent, as they are created. (-[WebFrame _setState:]): Clear previousItem whenever we reach committed. (-[WebFrame _isLoadComplete]): Clear previousItem if we are committed. (-[WebFrame _childFramesMatchItem:]): Does the frame's frame tree match the one held by the item? (-[WebFrame _loadItem:fromItem:withLoadType:]): Only do simple anchor navigation if the frame has no children (fixes oddball corner case with a frame reloading itself). Set provisional item. (-[WebFrame _recursiveGoToItem:fromItem:withLoadType:]): Heart of returning to an item that had frames. We either find that the existing content is good, or initiate a load. (-[WebFrame _goToItem:withLoadType:]): Adjust the BF list cursor, and recurse to do the work. (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:]): Only do anchor-style nav if the destination URL has a fragment. Save scroll position. (-[WebFrame _loadURL:intoChild:]): If returning to an item with frames, possibly replace the new content with the stuff that was there at the time, substituting the URL. (-[WebFrame _saveScrollPositionToItem:]): Don't croak on nil item or view. (-[WebFrame _restoreScrollPosition]): Do croak (ASSERT) on nil item. (-[WebFrame _scrollToTop]): Nit cleanup. (-[WebFrame _addFramePathToString:]): Add a component for our frame to the frame name we're generating. (-[WebFrame _generateFrameName]): Generate a frame name that is repeatable. (-[WebFrame _itemForSavingDocState]): Returns correct item to use for formstate save. (-[WebFrame _itemForRestoringDocState]): Returns correct item to use for formstate restore

WebBrowser:

  • BrowserDocument.m: (-[BrowserDocument _addItem:toMenu:]): For a back-forward item that's a tree because its for a frameset, use the right item of the tree to generate the menu contents.
7:01 AM Changeset in webkit [2623] by mjs
  • 12 edits in trunk/WebKit

WebKit:

Store path and the fact that we're downloading in the data source,
instead of storing the content policy.

  • Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler cleanUpAfterFailure]): (-[WebDownloadHandler createFileIfNecessary]): (-[WebDownloadHandler finishedLoading]):
  • WebView.subproj/WebControllerPrivate.m: (-[WebController _downloadURL:withContentPolicy:]):
  • WebView.subproj/WebDataSource.h:
  • WebView.subproj/WebDataSource.m: (+[WebDataSource registerRepresentationClass:forMIMEType:]): (-[WebDataSource isDownloading]): (-[WebDataSource downloadPath]):
  • WebView.subproj/WebDataSourcePrivate.h:
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): (-[WebDataSource _commitIfReady]): (-[WebDataSource _setIsDownloading:]): (-[WebDataSource _setDownloadPath:]):
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient receivedError:]): (-[WebMainResourceClient handle:didReceiveResponse:]): (-[WebMainResourceClient handleDidFinishLoading:]):

WebBrowser:

Adjusted for WebKit API changes.

  • DownloadProgressEntry.m: (+[DownloadProgressEntry entryWithDataSource:]): (-[DownloadProgressEntry path]):
4:49 AM Changeset in webkit [2622] by mjs
  • 8 edits in trunk/WebKit

WebKit:

Don't ask for the content policy any more if the previous policies
said to save - in effect this means to ask only if the previous
policies said to use the content policy. Also, remove now-useless
previous content policy parameter from content policy delegate.

  • WebView.subproj/WebControllerPolicyDelegate.h:
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setContentPolicy:]): Retain new policy before releasing the old one.
  • WebView.subproj/WebDefaultPolicyDelegate.m:
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handle:didReceiveResponse:]): Don't ask for content policy if the delegate already decided to save.

WebBrowser:

Adjusted for WebKit API change.

  • BrowserWebController.m: (-[BrowserWebController contentPolicyForResponse:andRequest:inFrame:]):
1:29 AM Changeset in webkit [2621] by mjs
  • 7 edits in trunk/WebKit

WebKit:

Added new policy delegate callback to get the filename - this
won't be up to the content policy any more.

  • WebView.subproj/WebControllerPolicyDelegate.h:
  • WebView.subproj/WebDefaultPolicyDelegate.m: (-[WebDefaultPolicyDelegate saveFilenameForResponse:andRequest:]):
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handle:didReceiveResponse:]):

WebBrowser:

Added new policy delegate callback to get the filename - this
won't be up to the content policy any more.

  • BrowserWebController.m: (-[BrowserWebController contentPolicyForResponse:andRequest:inFrame:withContentPolicy:]): (-[BrowserWebController saveFilenameForResponse:andRequest:]):
12:46 AM Changeset in webkit [2620] by darin
  • 4 edits in trunk/WebCore
  • fixed 3097253 -- text tagged <small> inside <h1> is too small
  • khtml/css/html4.css: Change BIG to use "font-size: larger" rather than "font-size: large" and SMALL to use "font-size: smaller" rather than "font-size: small".
12:31 AM Changeset in webkit [2619] by darin
  • 15 edits in trunk

WebCore:

  • kwq/WebCoreBridge.h: Remove unused modifierTrackingEnabled method.

WebKit:

  • made some improvements to cursor setting for greater speed and correctness
  • WebView.subproj/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView setCursor:]): Just use setDocumentCursor: instead of our own logic. This allows us to remove code and may fix some bugs or anomalies as well. (-[WebDynamicScrollBarsView dealloc]): Release the cursor. I think we were leaking before.
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView viewWillMoveToSuperview:]): Use _frameOrBoundsChanged: method now, which has been moved into the private file. (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): Don't bother finding topmost WebHTMLView to call _updateMouseoverWithEvent: on; now it works fine no matter which level it's called at.
  • WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _frameOrBoundsChanged:]): Moved the code here that was formerly in the _setNeedsLayoutIfSizeChanged method, also added code that does _updateMouseoverWithEvent: so that we get properly updated cursor when we scroll. (-[WebHTMLView _updateMouseoverWithEvent:]): Remove unneeded assert. This method works equally well no matter which WebHTMLView calls it; everything is done at the window and controller level.
  • WebView.subproj/WebControllerPrivate.h: Added lastElementWasNotNil field and _mouseDidMoveOverElement:modifierFlags: method.
  • WebView.subproj/WebControllerPrivate.m: (-[WebController _mouseDidMoveOverElement:modifierFlags:]): Call through to the delegate, but don't do multiple calls if they are all nil.
  • WebCoreSupport.subproj/WebBridge.m: Remove unused modifierTrackingEnabled method.
  • WebView.subproj/WebHTMLViewPrivate.h: Remove unused _setModifierTrackingEnabled and _modifierTrackingEnabled methods.

WebBrowser:

  • AppController.m: (-[AppController awakeFromNib]): Remove unneeded call to set unused modifierTrackingEnabled flag. The code that used to care about this flag is now in WebBrowser and there's no need to inform WebCore and WebKit about whether we are passing in flags-changed events.

Nov 10, 2002:

10:36 PM Changeset in webkit [2618] by darin
  • 3 edits in trunk/WebKit

WebFoundation:

  • English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

WebKit:

  • English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

WebBrowser:

  • BrowserWindowController.m: (-[BrowserWindowController windowDidLoad]): Add call to _setAutoreleaseDuringLiveResize: so we can live with a smaller footprint when running under SUJagGreen or newer.
  • Preferences.subproj/DefaultBrowserController.m: (keyValuesMatch): Fix comparison of nils. (-[DefaultBrowserController handleApplicationPopUp:withSheetDidEndSelector:]): Fix typo in localization comment.
  • English.lproj/Localizable.strings: Update.
  • English.lproj/StringsNotToBeLocalized.txt: Update.
  • TextFieldWithControls.m: (-[TextFieldWithControls selectText:]): Add a comment explaining Chris's bug fix.
2:33 PM Changeset in webkit [2617] by cblu
  • 5 edits in trunk/WebKit

WebFoundation:

Made WebCacheObject and WebResourceResponse methods that refer to specific dates set and return NSDates rather than NSTimeIntervals. Our public methods now only use NSTimeIntervals when referring to differences in time. Made the methods that use NSTimeIntervals when referring to specific dates private.

  • CacheLoader.subproj/WebCacheObject.h:
  • CacheLoader.subproj/WebCacheObject.m: (-[WebCacheObject createdDate]): (-[WebCacheObject setCreatedDate:]): (-[WebCacheObject expiresDate]): (-[WebCacheObject setExpiresDate:]): (-[WebCacheObject lastModifiedDate]): (-[WebCacheObject setLastModifiedDate:]): (-[WebCacheObject maxAgeValue]): (-[WebCacheObject isExpired]): (-[WebCacheObject age]): (-[WebCacheObject freshnessLifetime]): (-[WebCacheObject dealloc]): (-[WebCacheObject _createdTime]): (-[WebCacheObject _setCreatedTime:]): (-[WebCacheObject _expiresTime]): (-[WebCacheObject _setExpiresTime:]): (-[WebCacheObject _lastModifiedTime]): (-[WebCacheObject _setLastModifiedTime:]):
  • CacheLoader.subproj/WebCacheObjectPrivate.h: Added.
  • CacheLoader.subproj/WebResourceResponse.h:
  • CacheLoader.subproj/WebResourceResponse.m: (-[WebResourceResponse createdDate]): (-[WebResourceResponse lastModifiedDate]): (-[WebResourceResponse _createdTime]): (-[WebResourceResponse _lastModifiedTime]): (-[WebResourceResponse _takePersistentValuesFrom:]):
  • CacheLoader.subproj/WebResourceResponsePrivate.h:
  • ProtocolHandlers.subproj/WebCFNetworkHTTPProtocolHandler.m: (-[WebCFNetworkHTTPProtocolHandler addIfModifiedSinceHeader:]): (-[WebCFNetworkHTTPProtocolHandler continueHeaderReadAfter3xxResponseAndCall:]):
  • ProtocolHandlers.subproj/WebHTTPProtocolHandler.m: (-[WebHTTPProtocolHandler willCacheObject:]):
  • ProtocolHandlers.subproj/WebSimpleHTTPProtocolHandler.m: (-[WebSimpleHTTPProtocolHandler _createHTTPRequest]): (-[WebSimpleHTTPProtocolHandler _examineHeaders]):
  • WebFoundation.pbproj/project.pbxproj:

WebKit:

Fixed: 3021681 - downloaded files' creation and modification dates are not set

  • Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler createFileIfNecessary]): call [response creationDate] and [response lastModifiedDate] when setting file attributes.
  • Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream setResponse:]): call [response lastModifiedDate] when giving content to plug-ins.

WebBrowser:

Possible fix for: 3096071 - Button under "Proxy settings" in preferences window needs implementation

With the new Network Pref root, the proxy button seems to work %50 of the time. 3096071 may be fixed if the current problem is just a bug in the network pref.

  • Preferences.subproj/GeneralPreferences.m: (-[GeneralPreferences _launchNetworkPrefs]): code from Robert Ulrich (-[GeneralPreferences openProxyPreferences:]): call _launchNetworkPrefs
9:07 AM Changeset in webkit [2616] by darin
  • 3 edits in trunk/WebKit
  • English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

Nov 9, 2002:

3:45 PM Changeset in webkit [2615] by darin
  • 11 edits in trunk/WebKit
  • fixed 3095156 -- reproducible leak of WebDataSource due to bad URL in stylesheet
  • WebCoreSupport.subproj/WebSubresourceClient.m: (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): Check for errors by looking at the return value from loadWithRequest: rather than making a separate call to canInitWithRequest.
  • WebView.subproj/WebBaseResourceHandleDelegate.h: Add boolean success/failure result loadWithRequest:.
  • WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate loadWithRequest:]): Return NO if we fail to make a handle.
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading]): Check result of loadWithRequest: and complain if it's NO.
  • WebView.subproj/WebMainResourceClient.m: Tweak whitespace.
12:59 PM Changeset in webkit [2614] by cblu
  • 6 edits in trunk/WebKit

WebKit:

Fixed: 2991610 - Alexander should support services, including Speech

  • WebView.subproj/WebHTMLView.m: (+[WebHTMLView initialize]): register for service types (-[WebHTMLView dealloc]): moved to top of file (-[WebHTMLView copy:]): call _writeSelectionToPasteboard (-[WebHTMLView writeSelectionToPasteboard:types:]): call _writeSelectionToPasteboard (-[WebHTMLView validRequestorForSendType:returnType:]): return self for our pboard types
  • WebView.subproj/WebHTMLViewPrivate.h:
  • WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView _pasteboardTypes]): new, returns the array of supported pboard types (-[WebHTMLView _writeSelectionToPasteboard:]): new, adds data to pboard
  • WebView.subproj/WebImageView.m: (-[WebImageView initialize]): register for service types (-[WebImageView validateUserInterfaceItem:]): respond to copy (-[WebImageView validRequestorForSendType:returnType:]): return self for images (-[WebImageView writeImageToPasteboard:]): writes image data to pboard (-[WebImageView copy:]): calls writeImageToPasteboard (-[WebImageView writeSelectionToPasteboard:types:]): calls writeImageToPasteboard

WebBrowser:

Open the URL in a new window as we do for other externally opened URLs.

  • ServicesProvider.m: (-[ServicesProvider openURL:userData:error:]):
Note: See TracTimeline for information about the timeline view.