18 years ago Fix major JavaScript memory leak. run-plt says cvs-base improved
mjs [Thu, 15 Aug 2002 00:59:18 +0000 (00:59 +0000)]
    Fix major JavaScript memory leak. run-plt says cvs-base improved
by 2% and cvs-js-performance improved by 7%. However, this was
within the possible noise level in each case.

The fix was to store ValueImp *'s in the array instead of Value
objects, since the Value wrapper will keep a ref and make the
object immortal.

* kjs/array_object.cpp:
        * kjs/array_object.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1821 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoWebKit:
cblu [Thu, 15 Aug 2002 00:48:09 +0000 (00:48 +0000)]

Support for showing favicons in bookmarks and history.

Renamed "image" to "icon" in all places.

Made history and bookmarks take and save an icon URL

        * Bookmarks.subproj/WebBookmark.h:
        * Bookmarks.subproj/WebBookmark.m:
        (-[WebBookmark icon]):
        (-[WebBookmark iconURL]):
        (-[WebBookmark setIconURL:]):
        * Bookmarks.subproj/WebBookmarkGroup.h:
        * Bookmarks.subproj/WebBookmarkGroup.m:
        (-[WebBookmarkGroup _setTopBookmark:]):
        (-[WebBookmarkGroup addNewBookmarkToBookmark:withTitle:iconURL:URLString:type:]):
        (-[WebBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:iconURL:URLString:type:]):
        * Bookmarks.subproj/WebBookmarkLeaf.h:
        * Bookmarks.subproj/WebBookmarkLeaf.m:
        (-[WebBookmarkLeaf initFromDictionaryRepresentation:withGroup:]):
        (-[WebBookmarkLeaf dictionaryRepresentation]):
        (-[WebBookmarkLeaf copyWithZone:]):
        (-[WebBookmarkLeaf icon]):
        (-[WebBookmarkLeaf iconURL]):
        (-[WebBookmarkLeaf setIconURL:]):
        (-[WebBookmarkLeaf setURLString:]):
        * Bookmarks.subproj/WebBookmarkList.h:
        * Bookmarks.subproj/WebBookmarkList.m:
        (-[WebBookmarkList initWithTitle:group:]):
        (-[WebBookmarkList dealloc]):
        (-[WebBookmarkList copyWithZone:]):
        (-[WebBookmarkList icon]):
        * Bookmarks.subproj/WebBookmarkSeparator.m:
        (-[WebBookmarkSeparator icon]):
        * History.subproj/WebHistory.h:
        * History.subproj/WebHistory.m:
        (-[WebHistory updateURL:title:displayTitle:iconURL:forURL:]):
        * History.subproj/WebHistoryItem.h:
        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem init]):
        (-[WebHistoryItem initWithURL:title:]):
        (-[WebHistoryItem initWithURL:target:parent:title:]):
        (-[WebHistoryItem dealloc]):
        (-[WebHistoryItem iconURL]):
        (-[WebHistoryItem icon]):
        (-[WebHistoryItem setIconURL:]):
        (-[WebHistoryItem dictionaryRepresentation]):
        (-[WebHistoryItem initFromDictionaryRepresentation:]):
        * History.subproj/WebHistoryPrivate.h:
        * History.subproj/WebHistoryPrivate.m:
        (-[WebHistoryPrivate updateURL:title:displayTitle:iconURL:forURL:]):
        * Misc.subproj/WebIconLoader.h:
        * Misc.subproj/WebIconLoader.m:
        (+[WebIconLoader iconLoaderWithURL:]):
        (-[WebIconLoader initWithURL:]):
        (-[WebIconLoader URL]):
        (-[WebIconLoader _icons]):
        (-[WebIconLoader delegate]):
        (-[WebIconLoader iconFromCache]):
        (-[WebIconLoader startLoading]):
        (-[WebIconLoader WebResourceHandleDidFinishLoading:data:]):
        * WebCoreSupport.subproj/WebBridge.m:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _loadIcon]):
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _transitionToCommitted]):
        * WebView.subproj/WebLocationChangeHandler.h:
        * WebView.subproj/WebLocationChangeHandler.m:
        (-[WebLocationChangeHandler receivedPageIcon:fromURL:forDataSource:]):


Support for showing favicons in bookmarks and history.

Renamed "image" to "icon" in all places.

Made history and bookmarks take and save an icon URL

        * BookmarksController.h:
        * BookmarksController.m:
        (-[BookmarksController imageForBookmark:]):
        (-[BookmarksController _newItemWithTitle:iconURL:URLString:type:positionIgnoresSelection:]):
        (-[BookmarksController _newFolder:]):
        (-[BookmarksController _newSeparator:]):
        (-[BookmarksController _newBookmark:]):
        (-[BookmarksController _blessOrCreateFavoritesRoot]):
        (-[BookmarksController _newBookmarkSheetDidEnd:returnCode:contextInfo:]):
        (-[BookmarksController displayNewBookmarksSheetForURLs:titles:iconURLs:inWindow:]):
        * BrowserDocument.h:
        * BrowserDocument.m:
        (-[BrowserDocument dealloc]):
        (-[BrowserDocument addBookmark:]):
        (-[BrowserDocument _setInstantRedirectPending:]):
        (-[BrowserDocument setIcon:]):
        (-[BrowserDocument iconURL]):
        (-[BrowserDocument setIconURL:]):
        * BrowserWindow.h:
        * BrowserWindowController.m:
        (-[BrowserWindowController windowIconURL]):
        (-[BrowserWindowController bookmarkIconURLForLocationField:]):
        * ContextMenuHandler.m:
        (-[ContextMenuHandler addLinkToBookmarks:]):
        * FavoriteButton.m:
        (-[FavoriteButton initWithBookmark:andFrame:]):
        * GlobalHistory.m:
        (-[GlobalHistory outlineView:willDisplayCell:forTableColumn:item:]):
        (-[GlobalHistory _addHistoryEntry:toMenu:]):
        (-[GlobalHistory addSelectedItemsToBookmarks:]):
        * LocationChangeHandler.m:
        (-[LocationChangeHandler receivedPageTitle:forDataSource:]):
        (-[LocationChangeHandler receivedPageIcon:fromURL:forDataSource:]):
        * LocationTextField.h:
        * LocationTextField.m:
        (-[LocationTextField mouseDown:]):
        * NewBookmarksController.h:
        * NewBookmarksController.m:
        (-[NewBookmarksController initWithURLs:titles:iconURLs:]):
        * TitleBarButton.m:
        (-[TitleBarButton startDragIfNecessaryForEvent:URL:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1820 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago ROFL. The KHTML table code had a hardcoded "20" being
hyatt [Wed, 14 Aug 2002 22:30:41 +0000 (22:30 +0000)]
ROFL. The KHTML table code had a hardcoded "20" being
subtracted out of table heights instead of using the
actual margins on the <body> element.  This patch
removes the hardcoded "20" and replaces it with the
actual <body> margins.

        * khtml/rendering/render_table.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1819 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Fix marginwidth and marginheight on the <body> element.
hyatt [Wed, 14 Aug 2002 21:59:51 +0000 (21:59 +0000)]
Fix marginwidth and marginheight on the <body> element.
These attributes were not applying the correct margins,
which would cause many many pages to mis-render!

        * khtml/html/html_baseimpl.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1818 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Ensure that a rendering object gets built for <fieldset>
hyatt [Wed, 14 Aug 2002 21:45:44 +0000 (21:45 +0000)]
Ensure that a rendering object gets built for <fieldset>
elements.  Content inside a <fieldset> was being discarded
and not rendered.

This fixes the top frame on blogger comment posting so that
it shows up properly.

        * khtml/html/html_formimpl.cpp:
        * khtml/html/html_formimpl.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1817 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Remove some unused things. Fix minor problems.
darin [Wed, 14 Aug 2002 15:07:45 +0000 (15:07 +0000)]
Remove some unused things. Fix minor problems.

        * Plugins.subproj/WebPluginNullEventSender.m:
        * Plugins.subproj/WebPluginView.m:
        * WebCoreSupport.subproj/WebTextRenderer.m:
Fixed places that were using the C++ bool instead of
the Objective C BOOL.

        * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _receivedData:]):
Remove old code related to the dummy data source.

        * WebView.subproj/WebFrame.m:
        (-[WebFrame initWithName:webView:provisionalDataSource:controller:]):
Remove _changeBridge, since we don't any more. Hoist the creation of the
bridge up here.
        * WebView.subproj/WebFramePrivate.h: Remove _changeBridge.
        * WebView.subproj/WebFramePrivate.m: Remove _changeBridge.

        * WebView.subproj/WebHTMLRepresentation.h:
        * WebView.subproj/WebHTMLView.h:
        * WebView.subproj/WebImageRepresentation.h:
        * WebView.subproj/WebTextRepresentation.h:
        * WebView.subproj/WebTextView.h:
Don't re-declare methods that are part of protocols we implement.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView initWithFrame:]): Don't add the mouse moved observer until
the view gets put into a window.
        (-[WebHTMLView addMouseMovedObserver]): Added.
        (-[WebHTMLView removeMouseMovedObserver]): Added.
        (-[WebHTMLView viewWillMoveToWindow:]): Remove observer if we were in the
main window.
        (-[WebHTMLView viewDidMoveToWindow]): Add observer if we are now in the main
        * WebView.subproj/WebHTMLViewPrivate.h: Add _frame method. Remove unused
controller and cursor instance variables.
        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLView _frame]): Added.
        (-[WebHTMLView _bridge]): Call _frame.

        * WebView.subproj/WebTextRepresentation.m: Add now-needed import.

        * WebView.subproj/WebHTMLRepresentation.m: Tweak.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1816 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoFix a log entry.
darin [Wed, 14 Aug 2002 14:39:21 +0000 (14:39 +0000)]
Fix a log entry.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1815 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Fix the build.
darin [Wed, 14 Aug 2002 14:19:58 +0000 (14:19 +0000)]
Fix the build.

        * khtml/ecma/kjs_html.cpp: (KJS::HTMLDocument::putValue):
Add braces and fix a syntax error.

        * kwq/mac-encodings.txt: Add comments. Make utf-16 be a synonym for
utf-8 rather than having it actually try to treat things as 16-bit.
We will have to revisit this, but for now it makes zingermans.com work again.

        * kwq/make-charset-table.pl: Allow comments.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1814 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Fixed a JavaScript object leak that was plaguing ign.com and
mjs [Wed, 14 Aug 2002 09:02:33 +0000 (09:02 +0000)]
Fixed a JavaScript object leak that was plaguing ign.com and
livepage.apple.com, among other things.

        * khtml/ecma/kjs_html.cpp:
        (KJS::HTMLDocument::putValue): Create a Value wrapper for a newly allocated
DOMNode object that's not used past this function so it gets GC'd properly.
        (KJS::HTMLElement::putValue): Likewise.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1813 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago * khtml/ecma/kjs_window.cpp: Fix to build clean after
mjs [Wed, 14 Aug 2002 08:23:09 +0000 (08:23 +0000)]
    * khtml/ecma/kjs_window.cpp: Fix to build clean after
JavaScriptCore live class changes (this way of handling it is kind
of a hack, but kjs is unhappy to have Boolean defined so it can't
unconditionally include CoreFoundation.h in collector.h; will fix
better later).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1812 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoJavaScriptCore:
mjs [Wed, 14 Aug 2002 06:38:00 +0000 (06:38 +0000)]

Add the ability to determine the classes of live JavaScript
objects, to help with leak fixing.

        * kjs/collector.h, kjs/collector.cpp:


Add the ability to determine the classes of live JavaScript
objects, to help with leak fixing.

        * kwq/WebCoreJavaScript.h:
        * kwq/WebCoreJavaScript.mm:
        (+[WebCoreJavaScript liveObjectClasses]):


Add the ability to determine the classes of live JavaScript
objects, to help with leak fixing.

        * Misc.subproj/WebCoreStatistics.h:
        * Misc.subproj/WebCoreStatistics.m:
        (+[WebCoreStatistics javaScriptLiveObjectClasses]):


Add display of classes of live JavaScript objects to Caches
window, to help with leak fixing.

        * Debug/CacheController.h:
        * Debug/CacheController.m:
        (-[CacheController refreshJavaScriptStatisticsMatrix]):
        * Debug/CacheController.nib:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1811 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago An initial implementation of percentage height table cells.
hyatt [Wed, 14 Aug 2002 05:01:41 +0000 (05:01 +0000)]
An initial implementation of percentage height table cells.
This implementation will properly distribute space among
rows with percentage table cells, although there could be
issues with percentage height cells that span rows.

I have also fixed replaced elements so that they understand when they
are a percentage height and contained within a percentage height
cell that they can grow.  This fixes the textarea on bloggers'
comment posting page so that it sizes properly.

There are many issues remaining with this implementation;
blocks need to be taught how to flex when they specify a percent
height.  There is also some sort of rounding error with tables
that specify a height of 100% that I haven't yet figured out.
(This error was present before my changes, and it's still present
after my changes.)

Also, percentage height tables seem to "lock" to the largest size
they've ever been and don't properly relayout when they become
smaller.  Again, this bug existed before my changes.

        * khtml/rendering/render_box.cpp:
        * khtml/rendering/render_table.cpp:
        * khtml/rendering/render_table.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1810 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Character set handling improvements. In total, this adds 92 new character encoding
darin [Tue, 13 Aug 2002 23:49:19 +0000 (23:49 +0000)]
Character set handling improvements. In total, this adds 92 new character encoding
names to the list we know how to handle (299, up from 207), so it probably makes
some pages work that didn't work before. It probably also adds character encoding
names that are never used in practice.

        * kwq/character-sets.txt: Took out all but one of our changes. We now handle aliases
that are not in this file by adding them to mac-encodings.txt.
        * kwq/mac-encodings.txt: Added. Lists CFStringEncoding values and IANA names for them.
We keep this file small by using the aliasing in character-sets.txt, and we also continue
to get MIB numbers from character-sets.txt.
        * kwq/make-charset-table.pl: Rewrote to read from new format mac-encodings.txt file, and
check for new kinds of errors.

        * kwq/.cvsignore: Don't ignore the make-mac-encodings files any more, since we
don't compile that any more.
        * kwq/Makefile.am: Remove rules for compiling and running make-mac-encodings.
* kwq/make-mac-encodings.c: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1809 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago - fixed 3023439 -- support for windows-874 charset for thai
darin [Tue, 13 Aug 2002 17:06:55 +0000 (17:06 +0000)]
- fixed 3023439 -- support for windows-874 charset for thai

        * kwq/character-sets.txt: Added cp874 and windows-874.
        * kwq/make-charset-table.pl: Fix bug where it would right out a bad MIB enum for
the many Macintosh character sets without associated MIB numbers.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1808 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Some QRegion fixes inspired by Dave's clipping work.
darin [Tue, 13 Aug 2002 16:45:30 +0000 (16:45 +0000)]
Some QRegion fixes inspired by Dave's clipping work.

        * kwq/qt/qregion.h: Add setClip, remove getNSBezierPath.
        * kwq/KWQRegion.mm:
        (NSMakePoint): Added. Helper function; could go in a header some day.
        (NSMakeRect): Added. Helper function; could go in a header some day.
        (MakeQRect): Added. Helper function; could go in a header some day.
        (QRegion::QRegion): Make a paths array instead of a single path. Also, change things
so we actually copy the paths. The old code might translate a path that was shared
by two QRegion objects.
        (QRegion::intersect): Merge the paths arrays of the two passed-in paths.
        (QRegion::contains): Return true only if all paths in the array contain the point.
        (QRegion::isNull): Return true if any of the paths in the array are empty.
        (QRegion::translate): Translate all the paths in the array.
        (QRegion::boundingRect): Return the intersection of the bounding rects of all the
paths in the array.
        (QRegion::setClip): Call setClip on the first path, and addClip on the others.

        * kwq/KWQPainter.mm: (QPainter::setClipRegion): Use QRegion::setClip().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1807 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Small speed improvement. 3% faster on cvs-js-performance, no
mjs [Tue, 13 Aug 2002 07:39:10 +0000 (07:39 +0000)]
Small speed improvement. 3% faster on cvs-js-performance, no
measurable change on cvs-static-urls.

        * kjs/collector.cpp:
        (Collector::collect): Combine 3 loops over all objects into one,
to reduce flat time and improve locality of reference.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1806 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Reverting a change that I unintentionally checked in last
hyatt [Tue, 13 Aug 2002 06:55:57 +0000 (06:55 +0000)]
Reverting a change that I unintentionally checked in last
week.  I wasn't yet ready to land it.  It may work, but I
want to test it more first.

        * khtml/rendering/render_flow.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1805 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Implement clipping. The one thing that still needs
hyatt [Tue, 13 Aug 2002 00:55:05 +0000 (00:55 +0000)]
Implement clipping.  The one thing that still needs
to be done is that the intersect method in KWQRegion.mm
needs to be implemented.  Even without that, this gets
the ticker on livepage.apple.com clipping properly.

        * kwq/KWQPainter.mm:
        * kwq/qt/qregion.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1804 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Make the news ticker on livepage.apple.com scroll properly.
hyatt [Mon, 12 Aug 2002 23:57:25 +0000 (23:57 +0000)]
Make the news ticker on livepage.apple.com scroll properly.
It still doesn't clip though.  Fixing this involved correctly
dirtying the render tree when dynamic DOM changes occurred
(this was a bug in KHTML's DOM), as well as providing an
implementation of the MSIE offsetWidth extension that took
inlines into account (KHTML's impl was always returning a width
of 0 for inlines).

        * khtml/ecma/kjs_dom.cpp:
        * khtml/rendering/render_flow.cpp:
        * khtml/rendering/render_flow.h:
        * khtml/rendering/render_object.h:
        * khtml/xml/dom_nodeimpl.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1803 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago * khtml/misc/loader.cpp: (Cache::insertInLRUList):
darin [Mon, 12 Aug 2002 22:27:15 +0000 (22:27 +0000)]
    * khtml/misc/loader.cpp: (Cache::insertInLRUList):
Add missing piece of the last check-in.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1802 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoWebCore:
darin [Mon, 12 Aug 2002 22:15:19 +0000 (22:15 +0000)]

At Ken's urging, fixed the loader cache to be more efficient.
Gives 1% on the cvs-base test.

        * force-clean-timestamp: This requires a full rebuild.

        * khtml/misc/loader.h:
        * khtml/misc/loader.cpp:
        (CachedObject::~CachedObject): No longer inline, which is fine since
it was a virtual function anyway. Remove from the LRU list.
        (CachedObject::setRequest): Add to the LRU list if it qualifies now.
        (CachedObject::ref): Remove from the LRU list.
        (CachedObject::deref): Add to the LRU list if it qualifies now.
        (CachedCSSStyleSheet::ref): Call CachedObject::ref.
        (CachedCSSStyleSheet::deref): Call CachedObject::deref.
        (CachedScript::ref): Call CachedObject::ref.
        (CachedScript::deref): Call CachedObject::deref.
        (CachedImage::ref): Call CachedObject::ref.
        (CachedImage::deref): Call CachedObject::deref.
        (Cache::init): No "LRU list" to create.
        (Cache::clear): No "LRU list" to delete.
        (Cache::requestImage): Call moveToHeadOfLRUList.
        (Cache::requestStyleSheet): Call moveToHeadOfLRUList.
        (Cache::requestScript): Call moveToHeadOfLRUList.
        (Cache::flush): New algorithm.
        (Cache::removeCacheEntry): Call removeFromLRUList.
        (Cache::removeFromLRUList): Added.
        (Cache::moveToHeadOfLRUList): Added.
        (Cache::insertInLRUList): Added.

        * kwq/KWQLoaderImpl.mm: (KWQCheckIfReloading):
        * kwq/WebCoreBridge.h:
Change dataSourceIsReloading to isReloading.


        * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge isReloading]):
Change dataSourceIsReloading to isReloading.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1801 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Fix for the crash (assert) at mlb.com (3014322). recalcStyle was
hyatt [Mon, 12 Aug 2002 20:15:35 +0000 (20:15 +0000)]
Fix for the crash (assert) at mlb.com (3014322).  recalcStyle was
re-entrant, causing the render tree to be reconstructed
while in the process of being destroyed.

Also patched object frame to only fire load/unload if
render objects exist (since the plugin cannot load without
the render object initializing it anyway).

        * khtml/html/html_objectimpl.cpp:
        * khtml/xml/dom_docimpl.cpp:
        * khtml/xml/dom_docimpl.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1800 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agotop level:
darin [Mon, 12 Aug 2002 20:14:02 +0000 (20:14 +0000)]
top level:

        * Tests/WebFoundation-Misc/ifnsurlextensions-test.m: (TestURLCommon):
Add tests for the new WebNSURLExtras methods.

        * Tests/libiftest/IFCheckLeaks.c: (IFCheckLeaksAtExit): Remove workaround for
CFPreferences race condition; it's now in WebFoundation.


Speed improvements. 19% faster on cvs-js-performance, 1% on cvs-static-urls.

Use global string objects for length and other common property names rather
than constantly making and destroying them. Use integer versions of get() and
other related calls rather than always making a string.

Also get rid of many unneeded constructors, destructors, copy constructors, and
assignment operators. And make some functions non-virtual.

        * kjs/internal.h:
        * kjs/internal.cpp:
        (NumberImp::toUInt32): Implement.
        (ReferenceImp::ReferenceImp): Special case for numeric property names.
        (ReferenceImp::getPropertyName): Moved guts here from ValueImp. Handle numeric case.
        (ReferenceImp::getValue): Moved guts here from ValueImp. Handle numeric case.
        (ReferenceImp::putValue): Moved guts here from ValueImp. Handle numeric case.
        (ReferenceImp::deleteValue): Added. Handle numeric case.

        * kjs/array_object.h:
        * kjs/array_object.cpp: All-new array implementation that stores the elements
in a C++ array rather than in a property map.
        (ArrayInstanceImp::ArrayInstanceImp): Allocate the C++ array.
        (ArrayInstanceImp::~ArrayInstanceImp): Delete the C++ array.
        (ArrayInstanceImp::get): Implement both the old version and the new overload that
takes an unsigned index for speed.
        (ArrayInstanceImp::put): Implement both the old version and the new overload that
takes an unsigned index for speed.
        (ArrayInstanceImp::hasProperty): Implement both the old version and the new overload that
takes an unsigned index for speed.
        (ArrayInstanceImp::deleteProperty): Implement both the old version and the new overload that
takes an unsigned index for speed.
        (ArrayInstanceImp::setLength): Added. Used by the above to resize the array.
        (ArrayInstanceImp::mark): Mark the elements of the array too.
        (ArrayPrototypeImp::ArrayPrototypeImp): Pass the length to the array instance constructor.

        * kjs/bool_object.cpp:
        * kjs/date_object.cpp:
        * kjs/error_object.cpp:
        * kjs/function.cpp:
        * kjs/function_object.cpp:
        * kjs/math_object.cpp:
        * kjs/nodes.cpp:
        * kjs/nodes.h:
        * kjs/number_object.cpp:
        * kjs/object_object.cpp:
        * kjs/regexp_object.cpp:
        * kjs/string_object.cpp:

        * kjs/nodes2string.cpp: (SourceStream::operator<<): Add a special case for char now that
you can't create a UString from a char implicitly.

        * kjs/object.h:
        * kjs/object.cpp:
        (ObjectImp::get): Call through to the string version if the numeric version is not implemented.
        (ObjectImp::put): Call through to the string version if the numeric version is not implemented.
        (ObjectImp::hasProperty): Call through to the string version if the numeric version is not implemented.
        (ObjectImp::deleteProperty): Call through to the string version if the numeric version is not implemented.

        * kjs/types.h:
        * kjs/types.cpp:
        (Reference::Reference): Added constructors for the numeric property name case.

        * kjs/ustring.h: Made the constructor that turns a character into a string be explicit so we
don't get numbers that turn themselves into strings.
        * kjs/ustring.cpp:
        (UString::UString): Detect the empty string case, and use a shared empty string.
        (UString::find): Add an overload for single character finds.
        (UString::rfind): Add an overload for single character finds.
        (KJS::operator==): Fix bug where it would call strlen(0) if the first string was not null.
Also handle non-ASCII characters consistently with the rest of the code by casting to unsigned char
just in case.

        * kjs/value.h: Make ValueImp and all subclasses non-copyable and non-assignable.
        * kjs/value.cpp:
        (ValueImp::toUInt32): New interface, mainly useful so we can detect array indices and not turn
them into strings and back.
        (ValueImp::toInteger): Use the new toUInt32. Probably can use more improvement.
        (ValueImp::toInt32): Use the new toUInt32. Probably can use more improvement.
        (ValueImp::toUInt16): Use the new toUInt32. Probably can use more improvement.
        (ValueImp::getBase): Remove handling of the Reference case. That's in ReferenceImp now.
        (ValueImp::getPropertyName): Remove handling of the Reference case. That's in ReferenceImp now.
        (ValueImp::getValue): Remove handling of the Reference case. That's in ReferenceImp now.
        (ValueImp::putValue): Remove handling of the Reference case. That's in ReferenceImp now.
        (ValueImp::deleteValue): Added. Used so we can do delete the same way we do put.


        * CacheLoader.subproj/WebHTTPResourceLoader.m:
        (-[WebHTTPProtocolHandler createWFLoadRequest]): Fix handling of paths with queries
and some other subtle path and port number handling issues by using _web_hostWithPort
and _web_pathWithQuery.

        * Misc.subproj/WebNSURLExtras.h:
        * Misc.subproj/WebNSURLExtras.m:
        (-[NSURL _web_hostWithPort]): Added.
        (-[NSURL _web_pathWithQuery]): Added.

        * CacheLoader.subproj/WebResourceLoad.m:
        (initLoader): Get some random preference before creating threads. This makes it impossible
to run into the CFPreferences race condition.


        * force-clean-timestamp: Need a full build because of KJS changes.
        * khtml/ecma/kjs_window.h: Need to store an Object, not an ObjectImp, because there's no way
to copy an ObjectImp. KJS changes caught this mistake.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1799 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago * WebView.subproj/WebDataSourcePrivate.h:
mjs [Mon, 12 Aug 2002 16:12:31 +0000 (16:12 +0000)]
    * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDataSourcePrivate.m: Remove private _flags
and _attributes accessors, now that Ken added public versions.
        * WebView.subproj/WebFrame.m:
        (-[WebFrame reload:]): Remove sole use thereof.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1798 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoWebCore:
darin [Mon, 12 Aug 2002 09:35:16 +0000 (09:35 +0000)]

- re-fixed 2948387 -- stop button flashes to "go" two extra times while loading citibank.com

It turns out Maciej and I rebroke this when we made the "completed" code run.
There was a related APPLE_CHANGES that had to be removed so that we do each redirect only once.
Doing the redirect multiple times sent confusing signals to the web browser.

        * khtml/khtml_part.cpp: (KHTMLPart::scheduleRedirection): Remove APPLE_CHANGES so we don't
try to redirect until the page is complete.


Fixed a small thing related to bug 2948387.

        * BrowserDocument.m: (-[BrowserDocument displayName]): Leave title saying
"Loading" as long as _instantRedirectPending is YES.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1797 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoRolled version number to Alex-17
kocienda [Sun, 11 Aug 2002 00:31:01 +0000 (00:31 +0000)]
Rolled version number to Alex-17

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1795 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Check box in target setting panel to enable prebinding.
kocienda [Sat, 10 Aug 2002 18:28:43 +0000 (18:28 +0000)]
Check box in target setting panel to enable prebinding.

        * WebCore.pbproj/project.pbxproj

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1794 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoWebFoundation:
kocienda [Sat, 10 Aug 2002 18:24:33 +0000 (18:24 +0000)]

Added a new constant WebResourceHandleUseCachedObjectIfPresent.
This constant is used during reload so that a cached object
is returned regardless of its expiration.

        * CacheLoader.subproj/WebCacheLoaderConstants.h: Added constant.
        * CacheLoader.subproj/WebHTTPProtocolHandlerPrivate.m:
        (-[WebHTTPProtocolHandler testAndSetCacheObjectState:]): Added check for new
WebResourceHandleUseCachedObjectIfPresent constant.
        * CacheLoader.subproj/WebResourceLoad.m:

Also added a change to improve the percentage of cache hits:

        (-[WebResourceLoad succeeded]): Use originalURL for caching. This will mean that
the cache is checked for what the user typed in, or has in their bookmarks. This
improves cache hits quite a bit.


Added an extra function which checks with WebKit to see if
the load is a reload. If it is, the WebCore cache is bypassed.

        * khtml/misc/loader.cpp:
        (DocLoader::requestImage): Added acall to new KWQCheckIfReloading function.
        (DocLoader::requestStyleSheet): Ditto.
        (DocLoader::requestScript): Ditto.
        * kwq/KWQLoaderImpl.h:
        * kwq/KWQLoaderImpl.mm:
        (KWQCheckIfReloading): New function which checks with WebKit to see if the load is a reload.
        * kwq/WebCoreBridge.h:


Added support for "stale mode" (loads triggered by use of back/forward), and
added support for reload.

Also added a bridge function so the WebCore cache can tell if a load is a reload.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge dataSourceIsReloading]): New method.
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (+[WebSubresourceClient startLoadingResource:withURL:dataSource:]): Use same flags that were used for main resource load.
        * WebView.subproj/WebDataSource.h:
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource attributes]): New accessor.
        (-[WebDataSource flags]): New accessor.
        * WebView.subproj/WebFrame.m:
        (-[WebFrame reload:]): Reload adds WebResourceHandleFlagLoadFromOrigin flag to load.
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _goToItem:withFrameLoadType:]): Adds flags so that WebFoundation can tell when back/forward
has been used.


Fix for this bug:

Radar 2870727 ("Refresh" in Alexander doesn't bypass cache)

        * BrowserDocument.m:
        (-[BrowserDocument _goToURL:withFrameLoadType:fallbackURLs:]): Removed
code that prevented the call through to reload from being called, now
that I have hooked up the code so that reload is handled properly.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1793 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Some string speedups. Makes sony.com cached 11% faster on Development, but
darin [Sat, 10 Aug 2002 04:32:36 +0000 (04:32 +0000)]
Some string speedups. Makes sony.com cached 11% faster on Development, but
        the improvement for Deployment should be greater.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1792 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoJavaScriptCore:
darin [Sat, 10 Aug 2002 04:31:50 +0000 (04:31 +0000)]

Some string speedups. Makes sony.com cached 11% faster.

        * kjs/ustring.h: Made it possible for UChar objects to be uninitialized, which
gives a speed boost. Inlined CString's +=, UString's destructor, +=, and +.
        * kjs/ustring.cpp:
        (UString::UString): Optimize const char * version, which showed up
heavily in performance analysis. Added new two-UString version, which
makes the + operator fast.
        (UString::ascii): Remove thread safety changes. Change static buffer to remember
its size, and to always be at least 4096 bytes long; that way we never have to
reallocate unless it's for a long string. Also make code to extract the characters
significantly faster by getting rid of two pointer dereferences per character.
        (UString::is8Bit): Avoid one pointer dereference per character.
        (UString::toDouble): Use ascii() instead of cstring() to avoid copying the string.

        * kjs/collector.cpp: Remove unneeded APPLE_CHANGES.
        * kjs/regexp.cpp: Remove ifdefs around some APPLE_CHANGES that we
want to keep, because they just fix warnings.
        * kjs/value.h: Remove obsolete APPLE_CHANGES comment.

        * JavaScriptCore.pbproj/project.pbxproj: Project Builder decided
to move a line around in the file.


        * force-clean-timestamp: JavaScriptCore headers changed that require a full build here.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1791 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Fix my last change to actually call the versions of the lock functions
mjs [Sat, 10 Aug 2002 00:04:39 +0000 (00:04 +0000)]
Fix my last change to actually call the versions of the lock functions
that are recursive and initialize as needed.

        * kjs/internal.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1790 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago - fixed 2948835 - JavaScriptCore locking is too fine grained, makes it too...
mjs [Fri, 9 Aug 2002 23:24:41 +0000 (23:24 +0000)]
    - fixed 2948835 - JavaScriptCore locking is too fine grained, makes it too slow

* kjs/collector.cpp:
        * kjs/collector.h:
        * kjs/internal.cpp:
        * kjs/value.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1789 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago - fixed 3018063 -- frame problems at directory.apple.com
darin [Fri, 9 Aug 2002 23:12:35 +0000 (23:12 +0000)]
- fixed 3018063 -- frame problems at directory.apple.com
        - fixed 3021484 -- Go to "xxxx" mouseover status message should not show ".."

Basically, we had no frame targeting for forms. I made the form code share
the same frame targeting code we use for clicking on URLs.

        * khtml/khtml_part.cpp: (KHTMLPart::openURLInFrame): Don't compile this
function at all any more.

        * kwq/KWQKHTMLPartBrowserExtension.mm:
        (KHTMLPartBrowserExtension::openURLRequest): Call the impl's openURLRequest
instead of calling the part's openURLInFrame. Clearer.

        * kwq/KWQKHTMLPartImpl.h: Remove openURLInFrame, add openURLRequest.
Change urlSelected args parameter to a const reference. Add private
getBridgeForFrameName helper function.
        * kwq/KWQKHTMLPartImpl.mm:
        (KWQKHTMLPartImpl::getBridgeForFrameName): Moved rules for choosing a frame
here from urlSelected so they can be shared.
        (KWQKHTMLPartImpl::openURLRequest): Use getBridgeForFrameName instead of
having our own different code for finding the right frame.
        (KWQKHTMLPartImpl::urlSelected): Move frame choosing code into getBridgeForFrameName.
        (KWQKHTMLPartImpl::submitForm): Use getBridgeForFrameName instead of always
ignoring the target and using our own frame.
(KWQKHTMLPartImpl::overURL): Take base targeting into account when making the
status bar messages, and use the completed URL, not the partial, for the message.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1788 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago - fixed 2945441 -- base target is ignored
darin [Fri, 9 Aug 2002 21:23:15 +0000 (21:23 +0000)]
- fixed 2945441 -- base target is ignored

        * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::urlSelected):
Add code to respect the base target in the document. It would be way better
to use more of the KHTML code instead of copying it a line at a time into
KWQ -- that can come later when the fire drill is over.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1787 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoAlex-16 versioning
sheridan [Fri, 9 Aug 2002 18:01:39 +0000 (18:01 +0000)]
Alex-16 versioning

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1785 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago - fixed 3020594 -- crash in KWQKHTMLPartImpl::end() visiting particular page
darin [Fri, 9 Aug 2002 16:10:25 +0000 (16:10 +0000)]
- fixed 3020594 -- crash in KWQKHTMLPartImpl::end() visiting particular page

        * khtml/khtml_part.cpp: (KHTMLPart::end): Our hacked alternative to a signal
requires a NULL check.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1784 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago%5 gain on cvs-static related to loading page icons:
cblu [Fri, 9 Aug 2002 07:25:52 +0000 (07:25 +0000)]
%5 gain on cvs-static related to loading page icons:


- Cache icon image for HTML files
- resize the icon only in WebIconLoader instead of in multiple places elsewhere

        * Misc.subproj/WebIconLoader.h:
        * Misc.subproj/WebIconLoader.m:
        (+[WebIconLoader _resizeImage:]):
        (+[WebIconLoader defaultIcon]): call _resizeImage
        (+[WebIconLoader iconForFileAtPath:]): added, caches html icon
        (-[WebIconLoader WebResourceHandleDidFinishLoading:data:]): call _resizeImage
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _loadIcon]): call iconForFileAtPath


- resize the page icon in WebIconLoader instead of in multiple places elsewhere
- call resetNoDragRect less often

        * LocationTextField.h:
        * LocationTextField.m:
        (-[LocationTextField _setIcon:save:]): no need to resize
        * TitleBarButton.m:
        (-[TitleBarButton setImage:]): no need to resize
        (-[TitleBarButton resetNoDragRect]): renamed
        (-[TitleBarButton updateFrame]): no need to call resetNoDragRect
        (-[TitleBarButton viewDidEndLiveResize]): added, call resetNoDragRect
        (-[TitleBarButton windowDidEndSheet:]): call resetNoDragRect
        (-[TitleBarButton windowDidDeminiaturize:]): call resetNoDragRect
        (-[TitleBarButton setTitle:]): call resetNoDragRect

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1783 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Fix to get onLoad to fire, so the iBench test works.
mjs [Fri, 9 Aug 2002 05:32:28 +0000 (05:32 +0000)]
Fix to get onLoad to fire, so the iBench test works.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): Return the bridge for the new child frame.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1782 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Fix to get onLoad to fire, so the iBench test works.
mjs [Fri, 9 Aug 2002 05:32:09 +0000 (05:32 +0000)]
Fix to get onLoad to fire, so the iBench test works.

        * khtml/khtml_part.cpp:
        (KHTMLPart::checkCompleted): Put back some needed code that was
ifdef'd out (the part that emits completed()).
        (KHTMLPart::slotChildCompleted): Enabled; ifdef'd out part.
        (KHTMLPart::frame): Enabled.
        * khtml/khtml_part.h:
        * kwq/KWQKHTMLPartImpl.mm:
(KHTMLPart::completed): Hack to get completed signal delivered to
        (KWQKHTMLPartImpl::requestFrame): Initialize m_part
        * kwq/WebCoreBridge.h: createChildFrameNamed method now returns
the bridge for the child frame.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1781 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago * WebKit.pbproj/project.pbxproj: Change the group name back to Debug.
darin [Fri, 9 Aug 2002 04:21:47 +0000 (04:21 +0000)]
    * WebKit.pbproj/project.pbxproj: Change the group name back to Debug.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1780 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Added flag to turn on/off buffered text drawing to help
rjw [Thu, 8 Aug 2002 20:46:00 +0000 (20:46 +0000)]
    Added flag to turn on/off buffered text drawing to help
        determine if we get any speed boost.  Run from console
        with "-BufferTextDrawing YES" to enable buffered text

        Moved buffered text drawing out of web core.

        * WebCoreSupport.subproj/WebTextRenderer.h:
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (+[WebTextRenderer shouldBufferTextDrawing]):
        (+[WebTextRenderer initialize]):
        (-[WebTextRenderer drawGlyphs:numGlyphs:fromGlyphPosition:toGlyphPosition:atPoint:withTextColor:backgroundColor:]):
        * WebCoreSupport.subproj/WebTextRendererFactory.h:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView drawRect:]):

        Move stuff out of core into kit.

        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge drawRect:withPainter:]):
        * kwq/WebCoreTextRendererFactory.h:
        * kwq/WebCoreTextRendererFactory.m:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1779 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agotop level:
darin [Thu, 8 Aug 2002 19:37:43 +0000 (19:37 +0000)]
top level:

        * Tests/WebFoundation-Misc/ifnsurlextensions-test.m: Added code to
check the new URL extras methods against the old original versions,
which are pasted in here for now.
        * Tests/WebFoundation-Misc/ifnsurlextensions-test.chk: Updated result
to match the changes to _web_URLByRemovingLastPathComponent, and to
reflect the new "compare with old original versions" testing.


        * Misc.subproj/WebNSURLExtras.m:
        (-[NSURL _web_URLByRemovingLastPathComponent]): Changed behavior
when the path is "/" to return the same URL with a path of "", to
match the behavior of the old WebNSURLGetParent. I had hoped this would
fix bug 3019790, but it did not.


- fixed 3019353 -- Japanese (Autodetect) encoding not properly supported

        * kwq/make-charset-table.pl: Add a "japanese-autodetect" entry to the table
explicitly, with a hardcoded encoding value. This should be good enough.

        * kwq/KWQKHTMLSettings.mm: (KHTMLSettings::mediumFixedFontSize):
        * kwq/WebCoreEncodings.h:
        * kwq/WebCoreSettings.h:
        * kwq/WebCoreSettings.m:
        Change "fixed font size" to "default fixed font size".

Placeholders for the "drawing observer" method that I'll be using
to implement the "dump page as diffable text" feature.

        * kwq/WebCoreTestController.h: Added.
        * kwq/WebCoreTestController.m: Added.
        * WebCore.exp: Mention new class.
        * WebCore.pbproj/project.pbxproj: Mention new files.


Placeholders for the "drawing observer" method that I'll be using
to implement the "dump page as diffable text" feature.

        * Misc.subproj/WebTestController.h: Added.
        * Misc.subproj/WebTestController.m: Added.
        * WebKit.pbproj/project.pbxproj: Mention new files.
* WebKit.exp: Mention new class.

        * WebView.subproj/WebPreferences.h:
        * WebView.subproj/WebPreferences.m:
        Changed "fixed font size" to "default fixed font size".


Some fixes to the text encoding menus.

        * Preferences.subproj/TextPreferences.m:
        (-[TextPreferences takeDefaultCharacterSetFrom:]): Update the text encoding
menu when the character set is changed, because the section that includes
that character set shows up at the top.
        (-[TextPreferences awakeFromNib]): Pass the TextPreferences object as the target
for the menu items, because it's not going to be in the responder chain.

        * AppController.h: Added updateTextEncodingMenu.
        * AppController.m:
        (-[AppController applicationDidFinishLaunching:]): Call updateTextEncodingMenu.
        (-[AppController updateTextEncodingMenu]): Put the code to set up the text
encoding menu in here, so it can be called when the default encoding changes.

        * TextEncodingMenu.h: Added target and preferred encoding parameters.
        * TextEncodingMenu.m:
        (-[NSMenu addItemToMenuForEncoding:withTarget:action:]): Add target setting.
        (-[NSMenu addStandardTextEncodingMenuItemsWithTarget:action:preferredEncoding:]):
Remove old items before adding new so this can be reused on a menu. Fixed a bug
in the original Mail code that causes an extra separator to be left at the bottom
when the chosen group is the last one in the list.

        * LocationChangeHandler.m: Add an import that is needed now that I removed some
unneeded imports from AppController.h.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1778 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoWebFoundation:
cblu [Thu, 8 Aug 2002 18:51:40 +0000 (18:51 +0000)]

        * Misc.subproj/WebNSFileManagerExtras.h:
        * Misc.subproj/WebNSFileManagerExtras.m:
        (-[NSFileManager _web_carbonPathForPath:]): added
        (-[NSFileManager _web_startupVolumeName]): added
        * WebFoundation.pbproj/project.pbxproj: made WebNSFileManagerExtras.h a private header


        * Plugins.subproj/WebPluginStream.m:
        (-[WebPluginStream finishedLoadingWithData:]): call [NSFileManager _web_carbonPathForPath:]



3015546 - title bar button should be draggable
3015545 - title bar button should have command-click pop-up menu

        * BrowserNSViewExtras.h:
        * BrowserNSViewExtras.m:
        (-[NSView draggingImage]): added, not used yet
        (-[NSView startDragFromEvent:withPasteBoard:andImage:]): dragOffset correction
        * BrowserWindow.h:
        * BrowserWindowController.m:
        (-[BrowserWindowController windowURL]): added, called by TitleBarButton
        (-[BrowserWindowController windowShouldGoToURL:]): added, called by TitleBarButton
        * ListView.h:
        * ListView.m:
        * TitleBarButton.m:
        (-[TitleBarButton initWithFrame:]): add observers
        (-[TitleBarButton dealloc]): remove observers
        (-[TitleBarButton drawRect:]): coord fix
        (-[TitleBarButton userChoseMenuItem:]): added
        (-[TitleBarButton _drawPathRepresentingPopUpMenuForEvent:andURL:]): added
        (-[TitleBarButton _startDragIfNecessaryForEvent:andURL:]): added
        (-[TitleBarButton mouseDown:]): call new methods above
        (-[TitleBarButton _resetWindowButtons:]): added
        (-[TitleBarButton resetFrame]): calls _resetWindowButtons
        (-[TitleBarButton windowDidEndSheet:]): added
        (-[TitleBarButton windowDidDeminiaturize:]): added

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1777 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoWebCore:
mjs [Thu, 8 Aug 2002 10:22:13 +0000 (10:22 +0000)]

Added an SPI that can be used to get at the WebCore
charset-name/encoding table; this is useful for a couple of things
in WebKit.

        * kwq/WebCoreEncodings.h: Added.
        * kwq/WebCoreEncodings.mm: Added.
        (+[WebCoreEncodings charsetNameForEncoding:]):
        (+[WebCoreEncodings encodingForCharsetName:]):
        * WebCore.exp: Export the new class.
        * WebCore.pbproj/project.pbxproj: Add new files.


- fixed 2957197 - Need API for getting/setting default text encoding

        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSourcePrivate init]): Set default encoding if no other is set.
        * WebView.subproj/WebPreferences.h:
        * WebView.subproj/WebPreferences.m:
        (+[WebPreferences load]): Added support for default text encoding pref.
        (-[WebPreferences defaultTextEncoding]): Likewise.
        (-[WebPreferences setDefaultTextEncoding:]): Likewise.


- fixed 2896313 - Default text encoding preference is not yet implemented

        * English.lproj/MainMenu.nib: Added separator after Default item
        * Preferences.subproj/English.lproj/TextPreferences.nib: Made the
pop-up wider so it would fit the widest encoding
        * Preferences.subproj/TextPreferences.h:
        * Preferences.subproj/TextPreferences.m:
        (-[TextPreferences updateDefaultCharacterSetPopup]): Implemented.
        (-[TextPreferences takeDefaultCharacterSetFrom:]): Implemented.
        (-[TextPreferences awakeFromNib]): Add encoding items to pop-up button,
remove empty dummy item.
        (-[TextPreferences initializeFromDefaults]): Initialize pop-up too.
        * TextEncodingMenu.h:
        * TextEncodingMenu.m:
(-[NSMenu addStandardTextEncodingMenuItemsWithAction:]): Add a
selector parameter so we can use a different one for the real menu
and the default pop-up.
        (_addItemToMenuForEncoding): Likewise.
        * AppController.m:
        (-[AppController applicationDidFinishLaunching:]): Pass selector
when adding encoding menu items.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1776 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Changes to coalesce all drawing calls of the same text
rjw [Thu, 8 Aug 2002 08:18:22 +0000 (08:18 +0000)]
    Changes to coalesce all drawing calls of the same text
        style and color into one call to CG.  Significantly
        improves drawing time.  My tests should about 7-8% on
        ALL pages.  Disabled the code for now until I can verify
        on speed improvements on Ken's test rig.

        * WebCoreSupport.subproj/WebGlyphBuffer.h: Added.
        * WebCoreSupport.subproj/WebGlyphBuffer.m: Added.
        (-[WebGlyphBuffer initWithFont:color:]):
        (-[WebGlyphBuffer font]):
        (-[WebGlyphBuffer color]):
        (-[WebGlyphBuffer reset]):
        (-[WebGlyphBuffer dealloc]):
        (-[WebGlyphBuffer drawInView:]):
        (-[WebGlyphBuffer addGlyphs:advances:count:at::]):
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer drawGlyphs:numGlyphs:fromGlyphPosition:toGlyphPosition:atPoint:withTextColor:backgroundColor:]):
        * WebCoreSupport.subproj/WebTextRendererFactory.h:
        * WebCoreSupport.subproj/WebTextRendererFactory.m:
        (-[WebTextRendererFactory coalesceTextDrawing]):
        (-[WebTextRendererFactory startCoalesceTextDrawing]):
        (-[WebTextRendererFactory endCoalesceTextDrawing]):
        (-[WebTextRendererFactory glyphBufferForFont:andColor:]):
        (-[WebTextRendererFactory dealloc]):
        * WebKit.pbproj/project.pbxproj:

        Changes to coalesce all drawing calls of the same text
        style and color into one call to CG.  Significantly
        improves drawing time.  My tests should about 7-8% on
        ALL pages.  Disabled the code for now until I can verify
        on speed improvements on Ken's test rig.

        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge drawRect:withPainter:]):
        * kwq/WebCoreTextRendererFactory.h:
        * kwq/WebCoreTextRendererFactory.m:
        (-[WebCoreTextRendererFactory endCoalesceTextDrawing]):
        (-[WebCoreTextRendererFactory startCoalesceTextDrawing]):

        Made WebQueue a private class.

        * WebFoundation.exp:
        * WebFoundation.pbproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1775 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoWebCore:
mjs [Thu, 8 Aug 2002 06:24:58 +0000 (06:24 +0000)]

WebCore work for:

- fixed 2956008 - Need API for getting/setting text encoding for current page

        * kwq/KWQKHTMLPartImpl.h:
        * kwq/KWQKHTMLPartImpl.mm:
        (KWQKHTMLPartImpl::slotData): Handle the possibility of override encoding -
one that's not just a hint from the server but should override
        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge addData:withEncoding:]): Adjust for slotData interface change.
        (-[WebCoreBridge addData:withOverrideEncoding:]): New method that allows
passing override encoding as a CFStringEncoding.
        (-[WebCoreBridge textEncoding]): Return the current text encoding.


WebKit work for:

- fixed 2956008 - Need API for getting/setting text encoding for current page

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge receivedData:withDataSource:]): Handle override encoding,
if any.
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource initWithURL:attributes:flags:]): Remember the flags and
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSourcePrivate init]): Initialize overrideEncoding
        (-[WebDataSourcePrivate dealloc]): Release attributes
        (-[WebDataSource _setOverrideEncoding:]): Added.
        (-[WebDataSource _overrideEncoding]): Added.
        (-[WebDataSource _flags]): Added.
        (-[WebDataSource _attributes]): Added.
        * WebView.subproj/WebFrame.m:
        (-[WebFrame startLoading]): Pass proper forceRefresh value to data source
based on load type (but the data source will ignore it).
(-[WebFrame reload:]): Made this work a bit better. Now instead of
crashing, it will actually reload, but it won't force a refresh
(and may not handle the back/forward issues properly).
        * WebView.subproj/WebDocument.h: Defined new WebDocumentTextEncoding protocol.
        * WebView.subproj/WebHTMLView.h:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView textEncoding]): Implemented WebDocumentTextEncoding
        (-[WebHTMLView setTextEncoding:]): Implemented WebDocumentTextEncoding
        (-[WebHTMLView setDefaultTextEncoding]): Implemented WebDocumentTextEncoding
        (-[WebHTMLView usingDefaultTextEncoding]): Implemented
WebDocumentTextEncoding protocol.


- fixed 2957200 - Text Encoding submenu is not yet implemented

        * AppController.h:
        * AppController.m:
        (-[AppController applicationDidFinishLaunching:]): Install standard
Text Encoding menu items.
        * BrowserWindowController.h:
        * BrowserWindowController.m:
        (-[BrowserWindowController validateMenuItem:]): Validate the menu items
properly, based on whether the current view can change encodings.
        (-[BrowserWindowController changeTextEncoding:]): Hook up to new WebKit API.
        * English.lproj/MainMenu.nib: Add Default item to encoding menu, hook it up
to AppController.
        * TextEncodingMenu.h: Added. Stolen from Mail.
        * TextEncodingMenu.m: Added. Stolen from Mail.
        * WebBrowser.pbproj/project.pbxproj: Added new files.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1774 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoFix build bustage.
hyatt [Thu, 8 Aug 2002 01:19:15 +0000 (01:19 +0000)]
Fix build bustage.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1773 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Adding support for a separate fixed font size to WebCore.
hyatt [Thu, 8 Aug 2002 01:15:46 +0000 (01:15 +0000)]
Adding support for a separate fixed font size to WebCore.
Your fixed font size pref will now be honored when the
generic monospace family is used.

        * khtml/css/cssstyleselector.cpp:
        * khtml/css/cssstyleselector.h:
        * khtml/rendering/font.h:
        * khtml/rendering/render_flow.cpp:
        * kwq/KWQKHTMLSettings.mm:
        * kwq/WebCoreSettings.h:
        * kwq/WebCoreSettings.m:
        (-[WebCoreSettings setFixedFontSize:]):
        (-[WebCoreSettings fixedFontSize]):
        * kwq/khtml/khtml_settings.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1772 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago - fixed 3017499 -- One-click crasher at hondamotorcycle.com
darin [Wed, 7 Aug 2002 20:30:57 +0000 (20:30 +0000)]
- fixed 3017499 -- One-click crasher at hondamotorcycle.com

        * kwq/KWQKURL.mm: (operator==): Just compare the strings.
Faster and safer.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1771 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago - fixed 3017245 -- Shift-Delete should go forward
sullivan [Wed, 7 Aug 2002 19:33:12 +0000 (19:33 +0000)]
- fixed 3017245 -- Shift-Delete should go forward

        * WebView.subproj/WebView.m:
        (-[WebView keyDown:]): Check for shift-delete.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1770 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Fixed scrollview related drawing turd problems.
rjw [Wed, 7 Aug 2002 19:19:19 +0000 (19:19 +0000)]
    Fixed scrollview related drawing turd problems.
        (3000844 and 2896459).

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView drawRect:]):
        * WebView.subproj/WebView.m:
        (-[WebView setFrame:]):

        Removed debug log.

        * kwq/KWQFrame.mm:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge drawRect:withPainter:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1769 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agotop level:
darin [Wed, 7 Aug 2002 19:03:28 +0000 (19:03 +0000)]
top level:

        * Tests/WebFoundation-Misc/ifnsurlextensions-test.m:
        New test that tests more of the code in WebNSExtras.
        * Tests/WebFoundation-Misc/ifnsurlextensions-test.chk:
New output for new test. Matches the old for canonicalize test cases.


- fixed 3017633 -- IPv6 URL support needed
- fixed 2876174 -- Some URL functions should be moved to IFNSURLExtensions
and have test cases added

        * Misc.subproj/WebNSURLExtras.h: Removed _web_extractHTTPBaseURLString and
renamed _web_URLWithoutFragment to _web_URLByRemovingFragment.
        * Misc.subproj/WebNSURLExtras.m:
        (ReleaseIfNotNULL): Added. Used by the component-related functions.
        (StringByAddingPercentEscapes): Broken out from URLStringByAddingPercentEscapes.
        (URLStringByAddingPercentEscapes): Add code to handle the IPv6 case but make sure
we escape any other bracket characters in the string.
        (+[NSURL _web_URLWithComponents:]): Added.
        (-[NSURL _web_URLComponents]): Added. These use the CFURL functions for breaking URLs
into components, but makes them easier to use from AppKit by using autoreleased NSString
objects and also fixes some anomalies in the CFURL functions.
        (-[NSURL _web_URLByRemovingFragment]): Simpler implementation, new name.
        (-[NSURL _web_URLByRemovingUserAndQueryAndFragment]): Added. Replaces
        (-[NSURL _web_URLByRemovingPasswordAndPath]): Added. Replaces WebNSURLCanonicalRoot.
        (-[NSURL _web_URLByRemovingLastPathComponent]): Added. Replaces WebNSURLGetParent.
        (-[NSURL _web_canonicalize]): Rewrote to use _web_URLComponents.

        * CacheLoader.subproj/WebFileProtocolHandler.m:
        (+[WebFileProtocolHandler canonicalizeURL:]): Rewrite to use _web_URLComponents.
        * CacheLoader.subproj/WebHTTPProtocolHandler.m:
        (+[WebHTTPProtocolHandler canonicalizeURL:]): Rewrite to use _web_URLComponents.

        * AuthenticationManager.subproj/WebAuthenticationManager.m:
Remove WebNSURLRemoveUserAndSubresourceInfo, WebNSURLCanonicalRoot, and
WebNSURLGetParent, and use equivalent functions from WebNSURLExtras.

        * Misc.subproj/WebNSStringExtras.h:
        * Misc.subproj/WebNSStringExtras.m:
        (-[NSString _web_hasCaseInsensitivePrefix:]): Added.


        * kwq/KWQKURL.mm: (KURL::KWQKURLPrivate::decompose): Use CFURLCopyPath
instead calling _NSParseStringToGenericURLComponents.


        * WebView.subproj/WebFrame.m: (-[WebFrame setProvisionalDataSource:]):
        * WebView.subproj/WebFramePrivate.m: (-[WebFrame _goToItem:withFrameLoadType:]):
Call _web_URLWithoutFragment by its new name _web_URLByRemovingFragment.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1768 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Fixed: 3018632 - the show javascript files inline bug
cblu [Wed, 7 Aug 2002 18:03:52 +0000 (18:03 +0000)]
Fixed: 3018632 - the show javascript files inline bug

        * WebView.subproj/WebDataSourcePrivate.m:
        (+[WebDataSource _repTypes]): support application/x-javascript
        * WebView.subproj/WebViewPrivate.m:
        (+[WebView _viewTypes]): support application/x-javascript

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1767 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoWebKit:
sullivan [Wed, 7 Aug 2002 17:43:40 +0000 (17:43 +0000)]

        * Misc.subproj/WebNSViewExtras.h:
        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_superviewOfClass:]): Changed name from
_web_superviewWithName: and made it take a Class object
instead of a string.

        * Plugins.subproj/WebNullPluginView.m:
        (-[WebNullPluginView drawRect:]):
        * Plugins.subproj/WebPluginView.m:
        (-[WebPluginView start]):
        (-[WebPluginView layout]):
Updated callers of _web_superviewWithName:

        * WebKit.pbproj/project.pbxproj: Changed WebNSViewExtras.h from
Public to Private


        * BrowserNSViewExtras.h,
        * BrowserNSViewExtras.m: Remove superviewOfClass now that it's
in WebKit

        * ActivityViewer.m:
        (-[ActivityViewer bestSizeForWindowContent]):
Use _web_superviewOfClass:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1766 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoFixed compile problem.
rjw [Wed, 7 Aug 2002 16:28:52 +0000 (16:28 +0000)]
Fixed compile problem.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1765 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Turned off temporary debugging I accidentally checked in.
rjw [Wed, 7 Aug 2002 16:22:43 +0000 (16:22 +0000)]
    Turned off temporary debugging I accidentally checked in.

        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge drawRect:withPainter:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1764 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Make user stylesheet changes dynamic. Web documents will now
hyatt [Wed, 7 Aug 2002 05:46:55 +0000 (05:46 +0000)]
Make user stylesheet changes dynamic.  Web documents will now
update as the user stylesheet is applied and unapplied.  Altered
how reapplyStyles works a bit.

        * khtml/khtml_part.cpp:
        * khtml/xml/dom_docimpl.cpp:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge reapplyStyles]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1763 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Enable user stylesheet support. It works from a fresh start but
hyatt [Wed, 7 Aug 2002 04:19:08 +0000 (04:19 +0000)]
Enable user stylesheet support.  It works from a fresh start but
is not yet completely dynamic.

        * khtml/khtml_part.cpp:
        * kwq/KWQKHTMLSettings.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1762 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoWebCore:
darin [Wed, 7 Aug 2002 04:12:22 +0000 (04:12 +0000)]

- fixed 2965321 -- Crash on window close in kthml::Loader::cancelRequests from particular page

        * khtml/misc/loader.cpp: (Loader::servePendingRequests):
Look at return value from KWQServeRequest instead of assuming it will always succeed.
        * kwq/KWQLoaderImpl.h: Add return value for KWQServeRequest.
        * kwq/KWQLoaderImpl.mm: (KWQServeRequest): Return false if we fail to make either the NSURL
or the WebResourceHandle. Also make sure that we delete the job if necessary.


Fix assert I saw while fixing bug 2965321.

        * WebView.subproj/WebControllerPrivate.m:
        (-[WebController _receivedError:forResourceHandle:partialProgress:fromDataSource:]):
Create a suitable resource identifier from the failing URL in the WebError for cases
where we fail before we are able to construct a resource handle.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1761 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago * force-clean-timestamp:
sullivan [Wed, 7 Aug 2002 03:58:39 +0000 (03:58 +0000)]
    * force-clean-timestamp:
Edited this file to force a make clean in WebCore after
discovering that it was necessary the hard way. I'm not
sure which earlier checkin made this be required.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1760 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::overURL):
darin [Wed, 7 Aug 2002 03:39:22 +0000 (03:39 +0000)]
    * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::overURL):
Fix crash in overURL, another case just like bug 3006336.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1759 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago - fixed 2970516 -- Activate Events don't appear to be coming in to the
darin [Wed, 7 Aug 2002 03:29:36 +0000 (03:29 +0000)]
- fixed 2970516 -- Activate Events don't appear to be coming in to the
Java Applet.plugin correctly.

        * Plugins.subproj/WebPluginView.m: (-[WebPluginView sendActivateEvent:]):
Use activeFlag to set modifiers, not activMask, which is an event mask.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1758 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Frame resizing related changes. Frames are now resizable
rjw [Wed, 7 Aug 2002 02:05:50 +0000 (02:05 +0000)]
    Frame resizing related changes.  Frames are now resizable
        w/ a resize bar.  Still need to draw frame borders.

        * khtml/rendering/render_frames.cpp:
        * kwq/KWQFrame.mm:
        * kwq/KWQWidget.mm:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge drawRect:withPainter:]):
        * kwq/qt/qframe.h:
        * kwq/qt/qwidget.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1757 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoWebKit:
sullivan [Wed, 7 Aug 2002 00:57:38 +0000 (00:57 +0000)]

Add mechanism to store userStyleSheet preferences in WebKit in
preparation for Dave wiring up the implementation.

        * WebView.subproj/WebPreferences.h:
        * WebView.subproj/WebPreferences.m:
        (-[WebPreferences userStyleSheetEnabled]),
        (-[WebPreferences setUserStyleSheetEnabled:]),
        (-[WebPreferences userStyleSheetLocation]),
        (-[WebPreferences setUserStyleSheetLocation:]):
New methods, read and write UserDefaults values.

        (+[WebPreferences load]): Set initial values for
userStyleSheetEnabled and userStyleSheetLocation


Updated to use userStyleSheet preferences from WebKit.

        * Defaults.plist,
        * PreferenceKeys.h:
Remove preference keys for ApplyStyleSheet since this is in
WebKit now.

        * Preferences.subproj/AppearancePreferences.m:
        (-[AppearancePreferences setStylesheetPathPreference:]),
        (-[AppearancePreferences stylesheetPathPreference]),
        (-[AppearancePreferences updateStylesheetViews]),
        (-[AppearancePreferences toggleApplyStylesheet:]):
Update to use WebKit preferences API; remove local storage.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1756 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoWebCore:
mjs [Tue, 6 Aug 2002 23:28:11 +0000 (23:28 +0000)]

Removed some APPLE_CHANGES no longer needed after the part change.

        * khtml/khtml_part.cpp:
        (KHTMLPart::openedByJS): Don't call impl version.
        (KHTMLPart::setOpenedByJS): Don't call impl version.
        * kwq/KWQKHTMLPartImpl.h:
        * kwq/KWQKHTMLPartImpl.mm: Removed openedByJS and setOpenedByJS.
        * kwq/WebCoreBridge.h: Don't prototype setOpenedByScript: and
openedByScript methods now that they are not needed.


Removed some APPLE_CHANGES no longer needed after the part change.

        * WebCoreSupport.subproj/WebBridge.m: Remove setOpenedByScript: and
openedByScript methods now that they are not needed.
        * WebView.subproj/WebControllerPrivate.h:
        * WebView.subproj/WebControllerPrivate.m: Remove setOpenedByScript: and
openedByScript methods now that they are not needed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1755 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoWebKit:
darin [Tue, 6 Aug 2002 22:37:21 +0000 (22:37 +0000)]

- fixed 3017761 -- dataSource != nil assertion navigating at yahoo.com

        * WebView.subproj/WebLocationChangeHandler.h:
        * WebView.subproj/WebLocationChangeHandler.m:
Change client redirect calls to pass the frame, not the data source.
At the time a client redirect is requested, it's not even clear yet
which data source will be involved. We may want to make some of the
other calls pass frames, also, aside from the "start", "committed", "done",
calls, which must specify the data source.
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge reportClientRedirectTo:delay:fireDate:]): Pass frame, not data source.
        (-[WebBridge reportClientRedirectCancelled]): Pass frame, not data source.


Update for change to client redirect API.

        * LocationChangeHandler.m:
        (-[LocationChangeHandler clientRedirectTo:delay:fireDate:forFrame:]):
        (-[LocationChangeHandler clientRedirectCancelledForFrame:]):
We get the frame now, not the data source.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1754 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Make checkboxes and radio buttons use the small control
hyatt [Tue, 6 Aug 2002 20:16:44 +0000 (20:16 +0000)]
Make checkboxes and radio buttons use the small control
size.  Tweak their baselines to not use font metrics and
to line up properly.  (voodooextreme.com nearly renders
the left column correctly now.)

        * khtml/rendering/render_form.cpp:
        * khtml/rendering/render_form.h:
        * kwq/KWQCheckBox.mm:
        * kwq/KWQRadioButton.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1753 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoWebFoundation:
darin [Tue, 6 Aug 2002 19:54:14 +0000 (19:54 +0000)]

        * lots of files: Changed url to URL in many places and renamed URL-related methods.


        * lots of files: Changed url to URL in many places and renamed URL-related methods.


        * lots of files: Changed url to URL in many places and renamed URL-related methods.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1752 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoWebCore:
sullivan [Tue, 6 Aug 2002 18:09:22 +0000 (18:09 +0000)]

WebCore part of fix for 2915396 -- implement larger/smaller font
or page zoom functionality

        * khtml/khtml_part.cpp:
        (KHTMLPart::setZoomFactor): inside APPLE_CHANGES, remove use of
KHTML limits for zoom factor; this is a client responsibility in
our model.


WebBrowser part of fix for 2915396 -- implement larger/smaller font
or page zoom functionality

        * BrowserDocument.h:
        * BrowserDocument.m:
Define min/max text multiplier values, and ratio
        (-[BrowserDocument canMakeTextLarger]),
        (-[BrowserDocument canMakeTextSmaller]):
New methods, check that there's a page and that the new size
wouldn't be too big/small.

        (-[BrowserDocument makeTextLarger:]),
        (-[BrowserDocument makeTextSmaller:]):
New methods, set web controller's text multiplier.

        (-[BrowserDocument validateUserInterfaceItem:]):
Disable makeTextLarger and makeTextSmaller when appropriate.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1751 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::urlSelected):
darin [Tue, 6 Aug 2002 18:00:41 +0000 (18:00 +0000)]
    * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::urlSelected):
Put in a check for nil that I missed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1750 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoWebCore:
darin [Tue, 6 Aug 2002 17:13:57 +0000 (17:13 +0000)]

- fixed 2948805 -- Need WebKit API for larger/smaller font feature

        * khtml/khtml_part.cpp:
        (KHTMLPart::clear): Head in the direction of using the m_frames and
m_objects arrays, by turning some APPLE_CHANGES code on.
        (KHTMLPart::checkCompleted): More code turned on here.
        (KHTMLPart::checkEmitLoadEvent): And more code turned on here.
        (KHTMLPart::parentPart): Remove APPLE_CHANGES version. We can use the original now.
        (KHTMLPart::setZoomFactor): Remove APPLE_CHANGES. We want this function now.
        * khtml/khtml_part.h: Remove some APPLE_CHANGES to make xmlDocImpl public.
No longer needed.
        * khtml/khtmlpart_p.h: Remove a bunch of APPLE_CHANGES.
        * kwq/KWQKHTMLPartImpl.h: Remove parentPart(), add getDocument() and getRenderer().
        * kwq/KWQKHTMLPartImpl.mm:
        (KWQKHTMLPartImpl::urlSelected): Use parentPart() instead of [bridge parent].
        (KWQKHTMLPartImpl::requestFrame): Set up a ChildFrame in the m_frames array.
        (KWQKHTMLPartImpl::layout): Use getRenderer().
        (KWQKHTMLPartImpl::getDocument): Added.
        (KWQKHTMLPartImpl::getRenderer): Added.
        * kwq/WebCoreBridge.h: Add [setParent:], remove [parent].
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge setParent:]): Added.
        (-[WebCoreBridge reapplyStyles]): Use getDocument().
        (-[WebCoreBridge forceLayout]): Use getRenderer().
        (-[WebCoreBridge drawRect:withPainter:]): Use getRenderer().
        (-[WebCoreBridge copyDOMTree:]): Use getDocument().
        (-[WebCoreBridge copyRenderTree:]): Use getRenderer().
        (-[WebCoreBridge completeURLForDOMString:]): Use getDocument().
        (-[WebCoreBridge elementAtPoint:]): Use getRenderer().
        (-[WebCoreBridge setTextSizeMultiplier:]):
        * kwq/khtml/khtml_ext.h: Add dummy setEnabled function to make khtml_part.cpp compile.
        * kwq/kparts/part.h: Add real parent() and setParent() implementation.


        * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge dataSourceChanged]): Call setParent:.
        * WebView.subproj/WebControllerPrivate.m:
        (-[WebControllerPrivate init]): Initialize the text size multiplier to 1.
        * WebView.subproj/WebDataSource.h: Removed [redirectedURL], deprecated [inputURL], added [URL].
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource URL]): Added. Returns current URL, without requiring separate logic for the
redirected and not-yet-redirected cases.
        * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _loadIcon]): Use [WebDataSource URL].
        * WebView.subproj/WebDefaultContextMenuHandler.m:
        (-[WebDefaultContextMenuHandler openFrameInNewWindow:]): Use [WebDataSource URL].


        * BrowserDocument.m:
        (-[BrowserDocument currentURL]): Use [WebDataSource URL].
        (-[BrowserDocument provisionalURL]): Use [WebDataSource URL].
        * BrowserWebController.m:
        (-[BrowserWebController contentPolicyForMIMEType:dataSource:]): Use [WebDataSource URL].
        * DownloadMonitor.m:
        (-[DownloadMonitor receivedProgress:forResourceHandle:fromDataSource:complete:]): Use [WebDataSource URL].
        * FrameProgressEntry.m: (-[FrameProgressEntry URL]): Use [WebDataSource URL].

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1749 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoWebKit:
sullivan [Tue, 6 Aug 2002 16:21:26 +0000 (16:21 +0000)]

WebKit part of fix for 3017539 -- Replace Serif and Sans-serif
font preferences with Default preference; let fixed width font
size be independent.

        * WebView.subproj/WebPreferences.h:
        * WebView.subproj/WebPreferences.m:
        (+[WebPreferences load]): Add default value for fixed width size
        (-[WebPreferences fixedFontSize]),
        (-[WebPreferences setFixedFontSize:]): New methods.


WebBrowser part of fix for 3017539 -- Replace Serif and Sans-serif
font preferences with Default preference; let fixed width font
size be independent.

        * Preferences.subproj/TextPreferences.h:
        * Preferences.subproj/TextPreferences.m:
        (-[TextPreferences updateFontSampleField:]):
        (-[TextPreferences updateFontSampleFields]):
        (-[TextPreferences chooseFont:]):
        (-[TextPreferences chooseStandardFont:]):
        (-[TextPreferences changeFont:]):
        (-[TextPreferences initializeFromDefaults]):
Removed serif and sans-serif code, replaced with standard font.
Made font sizes independent of each other.

        * Preferences.subproj/English.lproj/TextPreferences.nib:
Futzed with Interface Builder.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1748 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago - fixed 3017536 -- Change default font to Lucida Grande 14 pt.
darin [Tue, 6 Aug 2002 15:36:10 +0000 (15:36 +0000)]
- fixed 3017536 -- Change default font to Lucida Grande 14 pt.

        * WebView.subproj/WebPreferences.m: (+[WebPreferences load]):
Changed default font and sans serif font family names to Lucida Grande.
Changed default font size to 14 point.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1747 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoWebCore:
mjs [Tue, 6 Aug 2002 06:04:05 +0000 (06:04 +0000)]

Fixed crashers and leaks that come up when changing the view
associated with a part.

        * khtml/khtmlview.cpp:
        (KHTMLView::~KHTMLView): Don't zero out the part's view, because
that will mess up setting a new one.

        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge createKHTMLViewWithNSView:width:height:marginWidth:marginHeight:]):
Destroy the old view if we own it.


fixed 2974993 - window.open does not return the right window object
fixed 3017140 - WebKit creates a new KHTMLPart per page; should
reuse it like KHTML does

        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation setDataSource:]): Don't swap the part at
this point. Now it gets reused.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1746 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago * WebKit.pbproj/project.pbxproj: Fix tyops that broke Development
mjs [Tue, 6 Aug 2002 05:23:28 +0000 (05:23 +0000)]
    * WebKit.pbproj/project.pbxproj: Fix tyops that broke Development

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1745 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoWebCore:
darin [Tue, 6 Aug 2002 04:54:37 +0000 (04:54 +0000)]

        * kwq/KWQKHTMLPartImpl.mm:
Add some nil checks before making calls with nil NSURL objects.
But we also have to figure out how to report some kind of error
in these cases, because the current behavior is not so good.


        * .cvsignore: Ignore WebCore-combined.exp.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1744 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoJavaScriptCore:
mjs [Tue, 6 Aug 2002 04:35:02 +0000 (04:35 +0000)]

- fixed 3007072 - need to be able to build fat

        * JavaScriptCore.pbproj/project.pbxproj: Fixed DeploymentFat build.


- fixed 3007072 - need to be able to build fat

        * WebFoundation.pbproj/project.pbxproj: Fixed DeploymentFat build.


- fixed 3007072 - need to be able to build fat

        * WebCore.pbproj/project.pbxproj: Fixed DeploymentFat build.


- fixed 3007072 - need to be able to build fat

        * WebKit.pbproj/project.pbxproj: Fixed DeploymentFat build.
        * Makefile.am: Build WebCore-combined.exp for Development and
Mixed build.
        * WebKit-tests.exp: Added.
        * WebKit.exp: Remove test-only function.


- fixed 3007072 - need to be able to build fat

        * WebBrowser.pbproj/project.pbxproj: Fixed DeploymetFat build.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1743 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoWebCore:
darin [Tue, 6 Aug 2002 04:21:56 +0000 (04:21 +0000)]

- fixed 3016374 -- Change font default from small back to medium

        * khtml/css/cssstyleselector.cpp:
(CSSStyleSelector::computeFontSizes): Change back to basing everything on
mediumFontSize() as opposed to a defaultFontSize that was the same as "small".
(CSSStyleSelector::applyRule): Default is m_fontSizes[3] again.
        * khtml/html/html_inlineimpl.cpp: (HTMLFontElementImpl::parseAttribute):
Shift all the sizes up one, so 3 is now medium. It's important that 3 be the same as the default.
        * khtml/html/html_tableimpl.cpp: (HTMLTableElementImpl::attach): Change the default back to medium.
        * khtml/xml/dom_docimpl.cpp: (DocumentImpl::recalcStyle): Change the default back to [3].
        * kwq/KWQKHTMLSettings.mm: (KHTMLSettings::mediumFontSize): Change name back.
        * kwq/khtml/khtml_settings.h: Change name back to medium.

Do a little bit of wiring for the "text size multiplier" feature.

        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm: (-[WebCoreBridge setTextSizeMultiplier:]): Added.


Do the wiring for the "text size multiplier" feature. The rest of the work will probably be done
at the WebCore level.

        * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge setFrame:]): Set the text size multiplier.
        * WebView.subproj/WebController.h:
        * WebView.subproj/WebController.m:
        (-[WebController setTextSizeMultiplier:]): Added. Calls _textSizeMultiplierChanged on the main frame.
        (-[WebController textSizeMultiplier]): Added.
        * WebView.subproj/WebControllerPrivate.h: Added textSizeMultiplier instance variable.
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _textSizeMultiplierChanged]): Added. Calls setTextSizeMultiplier: on the bridge,
and _textSizeMultiplierChanged on all the child frames.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1742 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoWebKit:
cblu [Tue, 6 Aug 2002 04:15:30 +0000 (04:15 +0000)]

Renamed icon loader delegate method to include the icon loader.

        * Misc.subproj/WebIconLoader.h:
        * Misc.subproj/WebIconLoader.m:
        (-[WebIconLoader WebResourceHandleDidFinishLoading:data:]):
        * WebView.subproj/WebDataSourcePrivate.m:


Rendezvous changes:
Properly get host's IP address.
Load and display host's favicon.

        * English.lproj/Rendezvous.nib:
        * RendezvousController.m:
        (-[RendezvousController windowDidLoad]):
        (-[RendezvousController _attributedStringWithImage:]):
        (-[RendezvousController goToHostDoubleAction:]):
        (-[RendezvousController tableView:objectValueForTableColumn:row:]):
        (-[RendezvousController netServiceBrowser:didFindService:moreComing:]):
        (-[RendezvousController netServiceBrowser:didRemoveService:moreComing:]):
        (+[RendezvousController _URLForNetService:]):
        (-[RendezvousController netServiceDidResolveAddress:]):
        (-[RendezvousController iconLoader:receivedPageIcon:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1741 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoAdded a comment.
rjw [Tue, 6 Aug 2002 02:38:17 +0000 (02:38 +0000)]
Added a comment.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1740 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Added additional check to find appropriate fonts with available
rjw [Tue, 6 Aug 2002 02:35:17 +0000 (02:35 +0000)]
    Added additional check to find appropriate fonts with available
        weight, rather than always using a weight of 5.

        Regarding "kCGErrorFailure : can't find name id 4 for font id 8395" errors:
        CG appears to be lying to us about some fonts, Verdana in particular.
        It claims to have an available Verdana font w/ the correct traits, but spits errors
        when we request that font.  Further, the Font Panel behaves oddly when you request
        Verdana.  The panel displays the font but if you select the font it doesn't
        'stick'.  A mystery.

        * WebCoreSupport.subproj/WebTextRendererFactory.m:
        (-[WebTextRendererFactory fontWithFamily:traits:size:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1739 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agotop level:
darin [Tue, 6 Aug 2002 01:23:36 +0000 (01:23 +0000)]
top level:

        * Tests/WebFoundation-Misc/ifnsstringextensions-test.chk:
        * Tests/WebFoundation-Misc/ifnsstringextensions-test.m: (main):
Added test cases for _web_stringByCollapsingNonPrintingCharacters.


        * Misc.subproj/WebNSStringExtras.h:
        * Misc.subproj/WebNSStringExtras.m:
        (-[NSString _web_stringByCollapsingNonPrintingCharacters]): Added.
Collapses any non-printing characters into single spaces, and trims them from the
ends too.


- fixed 3009321 -- bookmark and history menus show black square for (tm)

        * khtml/html/htmltokenizer.cpp:
        (HTMLTokenizer::parseSpecial): Call fixUpChar.
        (HTMLTokenizer::parseText): Call fixUpChar.
        (HTMLTokenizer::parseTag): Call fixUpChar.


- fixed 2986567 -- suppress return characters from title in title bar, status bar, menu items

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge setTitle:]): Call _web_stringByCollapsingNonPrintingCharacters.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1738 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Added exported symbols file.
rjw [Tue, 6 Aug 2002 00:23:14 +0000 (00:23 +0000)]
    Added exported symbols file.

        * WebKit.exp: Added.
        * WebKit.pbproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1737 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago - fixed 3016795 -- http://www.google.co.il/ fails to decode
darin [Mon, 5 Aug 2002 23:19:16 +0000 (23:19 +0000)]
    - fixed 3016795 -- google.co.il/ fails to decode

        * kwq/make-charset-table.pl: Added a hack that makes us treat for
iso-8859-8-e and iso-8859-8-i the same as iso-8859-8; may not be exactly
right, but it's probably OK modulo the actual bidi support.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1736 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoWebFoundation:
darin [Mon, 5 Aug 2002 22:47:15 +0000 (22:47 +0000)]

- fixed 3015360 -- google.com, click on images link, stop icon spins forever

        * CacheLoader.subproj/WebResourceHandle.m:
        (-[WebResourceHandle contentLengthReceived]): Fixed race condition where sizes of objects
would jump down to 0 by returning the length of resourceData here instead of the mark.
        (-[WebResourceHandle _setLoad:]): Added.
        (-[WebResourceHandle _load]): Added.
        (-[WebResourceHandle _notifyClientsDidCancelLoading]): Do the WebResourceHandleDidBeginLoading
calls outside the lock/unlock also.

        * CacheLoader.subproj/WebResourceHandlePrivate.h: Added _setLoad: and _load.

        * CacheLoader.subproj/WebResourceLoad.m:
        (-[WebResourceLoad handleCount]): Add call to checkForNewHandles.
        (-[WebResourceLoad _submittedAttributes]): Added.
        (-[WebResourceLoad cleanup]): Pass the load to loadDidFinish, rather than passing a handle.

        * CacheLoader.subproj/WebResourceLoadManager.m:
        (-[WebResourceLoadManagerInstanceVariables init]):
        (-[WebResourceLoadManagerInstanceVariables dealloc]):
        (-[WebResourceLoadManager invalidateURL:]):
        (-[WebResourceLoadManager addLoad:forHandle:]):
        (-[WebResourceLoadManager requestWithURLHandle:]):
        (-[WebResourceLoadManager cancelRequestWithURLHandle:]):
        (-[WebResourceLoadManager loadDidFinish:]):

       * CacheLoader.subproj/WebResourceLoadManager.m: Added new WebResourceLoadKey class, rather than
trying to trick handles themselves into acting as keys. This works better for the case where
a single load is shared by two handles. There's no telling which will be cancelled first, so
there's no obvious choice for which to use as the key.
        (-[WebResourceLoadManager requestWithURLHandle:]): Rewrote for new scheme. I think it's a little
less tricky than before, but it's also more terse.
        (-[WebResourceLoadManager cancelRequestWithURLHandle:]): Rewrote this too.
        (-[WebResourceLoadManager loadDidFinish:]): This too.

        * CacheLoader.subproj/WebResourceLoadManagerPrivate.h: Change parameter type of loadDidFinish to
WebResourceLoad. Removed unused cancelAllRequestsWithURL and cancelAllRequestsInGroup.

        * CacheLoader.subproj/WebResourceLoadPrivate.h: Removed unused removeAllHandles,
cancelIfServingOneHandle, and added _submittedAttributes.

        * CacheLoader.subproj/WebResourceLoad.h: Removed canonicalURL.
        * CacheLoader.subproj/WebFileProtocolHandler.m:
        * CacheLoader.subproj/WebHTTPProtocolHandlerPrivate.m:
        * CacheLoader.subproj/WebHTTPResourceLoader.m:
        * CacheLoader.subproj/WebResourceLoadQueue.m:
        [WebResourceLoad url] now always returns a canonical URL. Got rid of
[WebResourceLoad canonicalURL] and updated callers.

        * CacheLoader.subproj/WebResourceLoadManager.h: Tweak.
        * Misc.subproj/WebNSDictionaryExtras.m: Fix definitions to match header.


- fixed 3014122 -- spinner never stops spinning when iframe has URL with bad path

        * WebView.subproj/WebFrame.m:
        (-[WebFrame initWithName:webView:provisionalDataSource:controller:]): Initialize the
state in WebFramePrivate init instead.
        * WebView.subproj/WebFramePrivate.h: Remove WebFrameStateUninitialized.
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFramePrivate init]): Set initial state to WebFrameStateComplete.
        (-[WebFrame _transitionToLayoutAcceptable]): Remove WebFrameStateUninitialized case.
        (-[WebFrame _transitionToCommitted]): Remove WebFrameStateUninitialized case.
        (-[WebFrame _isLoadComplete]): Remove WebFrameStateUninitialized case.

        * WebView.subproj/WebDataSource.h: Tweak.
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource stopLoading]): Move downloadHandler logic from here into _stopLoading.
        (-[WebDataSource isLoading]): Rewrite for simplicity.

        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _stopLoading]): Move downloadHandler logic here from stopLoading.
Also make this work even if handles are removed from the list during the stop process.
        (-[WebDataSource _recursiveStopLoading]): Simplify a lot by using WebFrame's stopLoading.
        (-[WebDataSource _setTitle:]): Use the committed boolean rather than the state to check
if the title change should be sent to the location change handler.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1735 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago * Misc.subproj/WebKitDebug.h: Put WEBKIT_ASSERT_NOT_REACHED()
mjs [Mon, 5 Aug 2002 16:07:41 +0000 (16:07 +0000)]
    * Misc.subproj/WebKitDebug.h: Put WEBKIT_ASSERT_NOT_REACHED()
inside the appropriate #ifdef, and remove the various _log macros,
which are onsolete in WebKit.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1734 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago * kwq/KWQKHTMLPartImpl.mm:
mjs [Mon, 5 Aug 2002 11:30:26 +0000 (11:30 +0000)]
    * kwq/KWQKHTMLPartImpl.mm:
        (KWQKHTMLPartImpl::slotData): Simplified a bit.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1733 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoWebCore:
mjs [Mon, 5 Aug 2002 11:08:52 +0000 (11:08 +0000)]

        Merged KHTMLPart::end method with khtml original.

        * khtml/khtml_part.cpp:
        (KHTMLPart::end): Remove call to impl. Use original version, but
clear KURL cache and call slotFinishedParsing as well.
        * kwq/KWQKHTMLPartImpl.h:
        * kwq/KWQKHTMLPartImpl.mm:
        (KWQKHTMLPartImpl::end): Removed.
(KWQKHTMLPartImpl::gotoBaseAnchor): Removed. No longer needed.
        * kwq/KWQKURL.mm:
        (KURL::encodedHtmlRef): Implemented.
        (KURL::htmlRef): Implemented.
        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
(-[WebCoreBridge scrollToBaseAnchor]): Removed. No longer needed.


        Some changes related to re-merging the KHTMLPart end() method:

* Misc.subproj/WebKitDebug.h: Added WEBKIT_ASSERT_NOT_REACHED().
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _transitionToLayoutAcceptable]): Replace NSException with
ASSERT_NOT_REACHED (this is an internal consistency check, not an
argument check on a public API, so an assert is more appropriate than
an exception).
        (-[WebFrame _transitionToCommitted]): Likewise.
        (-[WebFrame _isLoadComplete]): Likewise; also, remove bridge call
to scrollToBaseAnchor:, since that will now happen automatically
when calling end.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1732 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Merged KHTMLPart::openURL method with khtml original.
mjs [Mon, 5 Aug 2002 09:07:52 +0000 (09:07 +0000)]
    Merged KHTMLPart::openURL method with khtml original.

        * khtml/khtml_part.cpp:
(KHTMLPart::openURL): Don't call the impl version. Leave most of
this #ifdef'd, except the parts that look useful.
        * kwq/KWQKHTMLPartImpl.h:
        * kwq/KWQKHTMLPartImpl.mm:
        (KWQKHTMLPartImpl::openURL): Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1731 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Merged KHTMLPart::begin method with khtml original.
mjs [Mon, 5 Aug 2002 08:13:57 +0000 (08:13 +0000)]
    Merged KHTMLPart::begin method with khtml original.

* khtml/khtml_part.cpp:
(KHTMLPart::begin): Restore this method and don't call the impl
version. ifdef out the parts that don't compile.
        * kwq/KWQKHTMLPartImpl.h:
        * kwq/KWQKHTMLPartImpl.mm:
(KWQKHTMLPartImpl::begin): Removed.
        * kwq/KWQKHTMLSettings.mm:
        (KHTMLSettings::showAnimations): Implemented; always return false.
        (KHTMLSettings::userStyleSheet): Implemented; always return empty
        * kwq/kdecore/kurl.h: Implemented isValid as inline method.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1730 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Fix my bungled CSS for input fields in the user agent style
hyatt [Sun, 4 Aug 2002 23:13:40 +0000 (23:13 +0000)]
Fix my bungled CSS for input fields in the user agent style

        * khtml/css/html4.css:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1729 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago - fixed 2943519 - &#149; is rendered as an asterisk rather than a bullet
darin [Sat, 3 Aug 2002 20:21:15 +0000 (20:21 +0000)]
- fixed 2943519 - &#149; is rendered as an asterisk rather than a bullet

        * khtml/html/htmltokenizer.cpp: (fixUpChar): Replaced the macro of this
name by an inline function that follows the Unicode specification. The
macro was both making Windows Latin 1 extensions character codes
(like 149 for bullet) work, but also mapping to characters that were
suitable for Qt. Since OS X has no problem with the real Unicode values,
we don't need that hack.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1728 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoWebCore:
darin [Sat, 3 Aug 2002 05:53:05 +0000 (05:53 +0000)]

- fixed 3015522 -- crash decoding http://www.haaretz.co.il/

        * khtml/misc/decoder.cpp: (Decoder::setEncoding): Put some hacks for
handling Hebrew text encoding inside ifndef APPLE_CHANGES. It's not clear
that these or the equivalent are needed for WebCore (they are related to
the as-yet unimplemented bidirectional text support) and they were making
us crash.

- fixed 2949235 -- checkboxes in wrong place until you scroll away and back

I fixed this once before, then removed that fix in favor of a simpler one.
But the simpler one didn't work, and I didn't test it properly. Now I have
a fix that works without the drawbacks of the original.

        * khtml/rendering/render_replaced.cpp: (RenderWidget::layout): Remove the
call to move the widget aside. This does no good because it's only called
if the widget is told it needs to layout, which only happens if it's resized.

        * khtml/rendering/render_root.cpp: (RenderRoot::layout): Call a KWQ function
so we can do some work at layout time.

        * kwq/KWQKHTMLPartImpl.mm:
        (moveWidgetsAside): Added. Function used recursively to move all widgets aside.
        (KWQKHTMLPartImpl::layout): Added. Called at layout time; moves all the widgets
aside. They are moved back when print functions are called.

WebCore support for feature where client redirects are treated as if the
page was continuing to load. A big part of this was changing redirection
so that it uses QTimer, allowing us to use more of the original KHTMLPart
code. I added a feature to QTimer that KWQKHTMLPartImpl uses to monitor
what KHTMLPart does with the timer.

        * kwq/qt/qobject.h: Changed "slots" definition so that all slots are public (to help
KWQSlot get at them). Added a prefix for the slot and signal strings, so that we can detect
the case where it's trying to connect a slot to another slot. Implement the convenience
version of connect here in the header. Implement blockSignals. Remove setTarget.
Make target mutable. Add new m_signalListHead and m_signalsBlocked.
        * kwq/KWQObject.mm:
        (QObject::findSignal): Added. Helper function that locates a signal by name.
        (QObject::connect): Connects a signal to a slot using the new KWQSignal and KWQSlot.
        (QObject::disconnect): Disconnects, similar to the above.
        (QObject::QObject): Initialize target, m_signalListHead, and m_signalsBlocked.
        (QObject::~QObject): Assert that m_signalListHead is 0.

        * khtml/khtml_part.cpp:
        (KHTMLPart::init): Move the code that connects the redirection timer out
        (KHTMLPart::~KHTMLPart): Remove the APPLE_CHANGES around the code that
stops the redirection timer.
        (KHTMLPart::restoreURL): Remove the APPLE_CHANGES around the code that
stops the redirection timer.
        (KHTMLPart::openURL): Move the APPLE_CHANGES so the code that stops the
redirection timer will run.
        (KHTMLPart::closeURL): Remove the APPLE_CHANGES around the code that
stops the redirection timer.
        (KHTMLPart::scheduleRedirection): Remove most of this function from the
APPLE_CHANGES. We still probably need to revisit the handling of m_bComplete.

        * kwq/KWQSignal.h: Added.
        * kwq/KWQSignal.mm: Added.
        * kwq/KWQSlot.h: Added.
        * kwq/KWQSlot.mm: Added.
        * WebCore.pbproj/project.pbxproj: Added KWQSignal.h/mm, KWQSlot.h/mm.

        * khtml/misc/loader.h: Simplify APPLE_CHANGES ifdefs since all slots are now public.

       * force-clean-timestamp: Touch this since header files were changed.

        * khtml/ecma/kjs_window.cpp:
        (Window::get): Disable the "name" part of this. We can re-enable it if we
need it, but every QObject had a name because of this one piece of code,
and I don't think it was effectively setting the frame name.
        (Window::put): Disable the "name" part of this for the same reason.
        (History::getValueProperty): Disable the "length" part of this. It was
calling some unimplemented stuff. We can re-enable this and implement
what we need in KWQ then.

        * khtml/rendering/render_form.h: Remove RenderTextArea::performAction, because I
changed this one case to use the new connect machinery. We can convert all the other
form items to use the new machinery, and then eliminate performAction altogether.
        * khtml/rendering/render_form.cpp:
        (RenderSubmitButton::RenderSubmitButton): Remove unneeded setTarget. For the moment,
connect takes care of this, and in the long run we won't need to set the target at all.
        (RenderLineEdit::RenderLineEdit): Ditto.

        * khtml/rendering/render_frames.h:
        * khtml/rendering/render_frames.cpp: Put partLoadingErrorNotify inside ifndef APPLE_CHANGES
because it uses a bunch of Qt stuff that's not used anywhere else, and we never call it.

        * kwq/KWQKHTMLPartImpl.h: Remove scheduleRedirection, timerEvent, and m_redirectionTimer,
add redirectionTimerStartedOrStopped and layout.
        * kwq/KWQKHTMLPartImpl.mm:
        (redirectionTimerMonitor): Added. Small stub that calls redirectionTimerStartedOrStopped.
        (KWQKHTMLPartImpl::KWQKHTMLPartImpl): Set up a monitor on the redirection timer.
        (KWQKHTMLPartImpl::~KWQKHTMLPartImpl): Remove now-unneeded killTimer call.
        (KWQKHTMLPartImpl::jumpToSelection): Simplify by using dynamic_cast instead of render_name().
        (KWQKHTMLPartImpl::redirectionTimerStartedOrStopped): Added. Calls bridge to report client
redirect events whenever the redirection timer is started or stopped.

        * kwq/qt/qtextedit.h: Define a KWQSignal for textChanged, and a function that calls it.
        * kwq/KWQTextEdit.mm: (QTextEdit::QTextEdit): Set up a KWQSignal for textChanged.
        * kwq/KWQTextArea.mm: (-[KWQTextArea textDidEndEditing:]): Instead of calling emitAction,
call textChanged, which will emit the signal using the new signal machinery.

        * kwq/qt/qtimer.h:
        * kwq/KWQTimer.mm:
        (+[KWQTimerTarget targetWithQTimer:]): Added. Used to implement QTimer in terms of NSTimer.
        (-[KWQTimerTarget timerFired:]): Added. Used to implement QTimer in terms of NSTimer.
        (QTimer::QTimer): Added.
        (QTimer::isActive): Implemented.
        (QTimer::start): Implemented.
        (QTimer::stop): Implemented.
        (QTimer::setMonitor): Implemented.
        (QTimer::fire): Implemented.

        * kwq/WebCoreBridge.h: Changed name of gotoAnchor to scrollToAnchor. Added client redirect
        * kwq/WebCoreBridge.mm: (-[WebCoreBridge scrollToAnchor:]): Changed name.


WebKit support for feature where client redirects are treated as if the
page was continuing to load.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge reportClientRedirectTo:delay:fireDate:]): Added. Passes the client
redirect along to the location change handler.
        (-[WebBridge reportClientRedirectCancelled]): Passes client redirect cancel along
to the location change handler.
        (-[WebBridge dataSourceChanged]): Remove hack related to dummy data source.
        (-[WebBridge dataSource]): Remove hack related to dummy data source.

        * WebView.subproj/WebLocationChangeHandler.h: Added client redirect methods.
Added class for base implementation of protocol. Updated stale comment.
        * WebView.subproj/WebLocationChangeHandler.m: Added. Provides base implementation
of the WebLocationChangeHandler protocol so that clients don't need to implement
all the methods if they are only interested in some of them.
        * WebKit.pbproj/project.pbxproj: Added WebLocationChangeHandler.m.

        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _goToItem:withFrameLoadType:]): Call scrollToAnchor under its new name.

        * Misc.subproj/WebIconLoader.h:
        * Misc.subproj/WebIconLoader.m:
        * WebView.subproj/WebControllerPolicyHandler.m:
        * WebView.subproj/WebControllerPolicyHandlerPrivate.h:
Replaced __MyCompanyName__ with the actual name of our company.


- fixed 2948387 -- stop button flashes to "go" twice while loading citibank.com

        * LocationChangeHandler.m:
        (-[LocationChangeHandler locationChangeStartedForDataSource:]): Call
_setInstantRedirectPending:NO when it's a load of the main frame.
        (-[LocationChangeHandler receivedPageTitle:forDataSource:]): Make this call
through to the load monitor even for frames other than the main one.
        (-[LocationChangeHandler serverRedirectTo:forDataSource:]): Make this call
through to the load monitor even for frames other than the main one.
        (-[LocationChangeHandler clientRedirectTo:delay:fireDate:forDataSource:]):
Added. Call _setInstantRedirectPending:YES when it's a no-delay redirect of
the main frame.
        (-[LocationChangeHandler clientRedirectCancelledForDataSource:]): Added.
Call _setInstantRedirectPending:NO when it's the main frame, and also post
a notification.

        * BrowserDocument.h: Added BrowserDocumentClientRedirectCancelledNotification
and _instantRedirectPending instance variable.
        * BrowserDocument.m:
        (-[BrowserDocument isLoading]): Return YES if _instantRedirectPending.
        (-[BrowserDocument _setInstantRedirectPending:]): Set _instantRedirectPending.
        * BrowserDocumentPrivate.h: Declare _setInstantRedirectPending.

        * BrowserWindowController.h: Renamed frameLoadRedirected to mainFrameRedirected.
        * BrowserWindowController.m:
        (-[BrowserWindowController windowDidLoad]): Connect the new
BrowserDocumentClientRedirectCancelledNotification to frameLoadPossiblyFinished.
        (-[BrowserWindowController mainFrameRedirected]): Renamed from frameLoadRedirected
and removed the parameter since it is called only for the main frame.
        (-[BrowserWindowController frameLoadPossiblyFinished:]): Renamed from frameLoadFinished
since a frame load is not necessarily finished when this is called. Also move the work
back in here from respondToFrameLoadFinished to undo my previous attempt at this feature.

        * Test/PageLoadTestRunner.m:
        (-[PageLoadTestRunner init]): Connect the new
BrowserDocumentClientRedirectCancelledNotification to pageLoadPossiblyDone.
        (-[PageLoadTestRunner pageLoadPossiblyDone:]): Renamed from pageLoadDone
since the page load is not necessarily finished when this is called. Also move the work
back in here from respondToPageLoadDone to undo my previous attempt at this feature.

        * BrowserNSControlExtras.h:
        * BrowserNSControlExtras.m:
        * ContextMenuHandler.h:
        * ContextMenuHandler.m:
        * TitleBarButton.h:
        * TitleBarButton.m:
Replaced __MyCompanyName__ with the actual name of our company.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1727 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Lots of form control changes.
hyatt [Sat, 3 Aug 2002 00:45:40 +0000 (00:45 +0000)]
Lots of form control changes.
- Inputs and textareas now respond to setFont and can have their font set by the Web page
explicitly.  These fields emulate the WinIE behavior of defaulting to the UI system font
and only picking up new fonts if they are explicitly specified on the element itself.
- Buttons and selects use the small versions now.
- Stopped trying to align controls along baselines of their interior text.  Konqueror is
the only browser that does this, and it looks bad on many pages.  With this patch controls
align along their bottom borders (which extend slightly below the baseline of surrounding
text).  This matches Gecko, MacIE, and WinIE behavior.
- Stopped using monospace for textareas and inputs.
- Fixed a bug with inputs not calling setScrollable on their cells.

        * khtml/css/html4.css:
        * khtml/rendering/render_form.cpp:
        * khtml/rendering/render_form.h:
        * kwq/KWQButton.mm:
        * kwq/KWQComboBox.mm:
        * kwq/KWQLineEdit.mm:
        * kwq/KWQNSTextField.mm:
        (-[KWQNSTextField initWithFrame:widget:]):
        * kwq/KWQView.mm:
        (-[KWQNSButtonCell cellSizeForBounds:]):
        (+[KWQNSButton initialize]):
        * kwq/WebCoreTextRendererFactory.h:
        * kwq/WebCoreTextRendererFactory.m:
        (-[WebCoreTextRendererFactory fontWithFamily:traits:size:]):
        * kwq/qt/qbutton.h:
        * kwq/qt/qlineedit.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1726 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago - fixed 3015705 -- Command-up-arrow and -down-arrow should go to
sullivan [Fri, 2 Aug 2002 21:44:48 +0000 (21:44 +0000)]
- fixed 3015705 -- Command-up-arrow and -down-arrow should go to
beginning and end of web page

        * WebView.subproj/WebView.m:
        (-[WebView keyDown:]):
Added checks for command key.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1725 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Effort towards 3014555 (going back to frame), but not fixed.
rjw [Fri, 2 Aug 2002 01:51:31 +0000 (01:51 +0000)]
    Effort towards 3014555 (going back to frame), but not fixed.
        Need to think more about appropriate solution and compromises.

        * History.subproj/WebBackForwardList.h:
        * History.subproj/WebBackForwardList.m:
        (-[WebBackForwardList backEntryAtIndex:]):
        * History.subproj/WebHistoryItem.h:
        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem initWithURL:title:]):
        (-[WebHistoryItem initWithURL:title:image:]):
        (-[WebHistoryItem initWithURL:target:parent:title:image:]):
        (-[WebHistoryItem dealloc]):
        (-[WebHistoryItem parent]):
        (-[WebHistoryItem setTitle:]):
        (-[WebHistoryItem setTarget:]):
        (-[WebHistoryItem setParent:]):
        (-[WebHistoryItem setDisplayTitle:]):
        * WebCoreSupport.subproj/WebBridge.m:
        * WebView.subproj/WebController.m:
        (-[WebController _goToItem:withFrameLoadType:]):
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _transitionToCommitted]):
        (-[WebFrame _isLoadComplete]):
        (-[WebFrame _scrollToTop]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1724 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years agoWebKit:
cblu [Thu, 1 Aug 2002 23:44:43 +0000 (23:44 +0000)]

Only send command key events if the plug-in is in the responder chain.

        * Plugins.subproj/WebPluginView.m:
        (-[WebPluginView isInResponderChain]):
        (-[WebPluginView performKeyEquivalent:]):
        (-[WebPluginView setWindow]): added some more logging


Fixed: 2897678 - send urls from LS to new windows

        * AppController.m:
        (-[AppController handleGURLEvent:withReplyEvent:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1723 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago - fixed 2841277 -- support for charset=gb2312
darin [Thu, 1 Aug 2002 22:40:34 +0000 (22:40 +0000)]
    - fixed 2841277 -- support for charset=gb2312

        * kwq/character-sets.txt: Added "euc-cn" to the list of aliases for
"gb2312", since that's the name used by CFStringEncoding for that
character set.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1722 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Remove KWQKHTMLPartImpl's setBaseURL method and m_baseURL field,
mjs [Thu, 1 Aug 2002 21:48:56 +0000 (21:48 +0000)]
Remove KWQKHTMLPartImpl's setBaseURL method and m_baseURL field,
since nothing should really need them any more.

        * kwq/KWQKHTMLPartImpl.h:
        * kwq/KWQKHTMLPartImpl.mm:
        (KWQKHTMLPartImpl::begin): Set base URL on document, if it exists.
        (KWQKHTMLPartImpl::requestFrame): Get base URL from document.
        (KWQKHTMLPartImpl::requestObject): Ditto.
        (KWQKHTMLPartImpl::frames): Ditto.
        (KWQKHTMLPartImpl::setBaseURL): Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1721 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 years ago Only send command keyDown once by ignoring the keyDown that comes after performKeyEq...
cblu [Thu, 1 Aug 2002 21:26:30 +0000 (21:26 +0000)]
Only send command keyDown once by ignoring the keyDown that comes after performKeyEquivalent.

        * Plugins.subproj/WebPluginView.m:
        (-[WebPluginView keyDown:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@1720 268f45cc-cd09-0410-ab3c-d52691b4dbfc