20 years ago Fixed Radar 2928775 - Sherlock crashes sitting in stocks channel
mjs [Wed, 22 May 2002 07:09:04 +0000 (07:09 +0000)]
Fixed Radar 2928775 - Sherlock crashes sitting in stocks channel

* kjs/internal.cpp:
(InterpreterImp::InterpreterImp): Set the interp pointer earlier,
in case garbage collection takes place while creating the global

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

20 years ago Fixed baseline regression. Obvious of sites that have tables w/ backgrounds,
rjw [Wed, 22 May 2002 01:51:55 +0000 (01:51 +0000)]
Fixed baseline regression.  Obvious of sites that have tables w/ backgrounds,
    i.e. www.slashdot.org.

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

20 years ago Lots of changes for DHTML.
rjw [Wed, 22 May 2002 00:36:34 +0000 (00:36 +0000)]
Lots of changes for DHTML.
    Bugs fixes, and fixes to regressions.

    Changes to support additional DHTML events.

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

20 years ago2002-05-21 Kenneth Kocienda <kocienda@apple.com>
kocienda [Tue, 21 May 2002 21:54:09 +0000 (21:54 +0000)]
2002-05-21  Kenneth Kocienda  <kocienda@apple.com>

        Fix for this bug:

        Radar 2924728 (post form fails at pt.apple.com; succeeds at macosx.apple.com)

        Posted forms are now submitted with the IFURLHandleFlagLoadFromOrigin
        load flag set.  This prevents a potential bug which may cause a page
        with a form that uses itself as an action to be returned from the
        cache without submitting.

        * kwq/KWQKHTMLPart.mm:

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

20 years agoWebFoundation:
cblu [Tue, 21 May 2002 20:48:47 +0000 (20:48 +0000)]

        Fix for 2925907 - [IFURLHandle resourceData] returns nil until load is complete

        * CacheLoader.subproj/IFURLHandle.m:
        (-[IFURLHandle resourceData]):


        Content policy can now be sent at a later time to avoid blocking.

        * WebView.subproj/IFMainURLHandleClient.h:
        * WebView.subproj/IFMainURLHandleClient.mm:
        (-[IFMainURLHandleClient initWithDataSource:part:]):
        (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):

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

20 years ago Move the tracking rect after the view has moved.
cblu [Tue, 21 May 2002 17:25:23 +0000 (17:25 +0000)]
    Move the tracking rect after the view has moved.

        * Plugins.subproj/IFPluginView.mm:
        (-[IFPluginView viewHasMoved:]):

        Fixed logging.

        * Plugins.subproj/npapi.m:

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

20 years ago2002-05-21 Kenneth Kocienda <kocienda@apple.com>
kocienda [Tue, 21 May 2002 14:50:11 +0000 (14:50 +0000)]
2002-05-21  Kenneth Kocienda  <kocienda@apple.com>

        Merged these four include files into the precompiled header.
        These are used for the enhanced assertion/debuggin support I
        added yesterday.


        * WebCore/WebCorePrefix.h
        * WebFoundation/WebFoundationPrefix.h
        * WebKit/WebFoundationPrefix.h

        * WebFoundation/WebFoundation.pbproj/project.pbxproj: PB decided that this file
        changed in some cryptic way.

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

20 years ago Added support for plug-ins to send URL requests to certain targets.
cblu [Tue, 21 May 2002 01:19:44 +0000 (01:19 +0000)]
    Added support for plug-ins to send URL requests to certain targets.

        Added frameNamed to IFWebFrame.

        * Plugins.subproj/IFPluginView.mm:
        (-[IFPluginView getURLNotify:target:notifyData:]):
        (-[IFPluginView postURLNotify:target:len:buf:file:notifyData:]):
        * WebView.subproj/IFWebFrame.h:
        * WebView.subproj/IFWebFrame.mm:
        (-[IFWebFrame frameNamed:]):

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

20 years ago Forgot one file.
darin [Tue, 21 May 2002 00:51:19 +0000 (00:51 +0000)]
Forgot one file.

* khtml/khtml_part.moc: Added.

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

20 years ago Use more of the original khtml_part.cpp; a step in the direction of factoring
darin [Tue, 21 May 2002 00:30:41 +0000 (00:30 +0000)]
Use more of the original khtml_part.cpp; a step in the direction of factoring
our code out so more of it can go in WebKit and we don't need external.h.

* khtml/Makefile.am:
* khtml/khtml_part.cpp:
* khtml/khtml_part.h:
* khtml/khtmlpart_p.h:
Start compiling khtml_part.cpp and using khtmlpart_p.h again.

* kwq/KWQKHTMLPart.mm:
Remove code that was identical to khtml_part.cpp. We aren't going to use the
"copy and hack our copy" approach on this class for the long termk, and this
is the first step in cleaning things up.

* khtml/khtml_ext.h: Removed.
* khtml/khtml_factory.h: Removed.

* khtml/misc/loader.h:
* khtml/xml/dom_docimpl.cpp:
Remove some APPLE_CHANGES ifdefs we don't need any more.

* kwq/KWQDateTime.mm:
Simplify things like copy constructors.

* kwq/kdeui/kcursor.h:
* kwq/KWQKCursor.mm:
Add handCursor.

* kwq/KWQKHTMLFactory.mm:
Put in real implementations, not just placeholders.

* kwq/KWQKHTMLPartBrowserExtension.mm:
* kwq/KWQKInstance.mm:
* kwq/KWQPart.mm:
* kwq/KWQbrowserextension.mm:
Empty these files out, nothing in them is needed any more.

* kwq/khtml/khtml_settings.h:
* kwq/KWQKHTMLSettings.mm:
Moved settings here from KWQKHTMLPart.mm

* kwq/kdecore/kurl.h:
* kwq/KWQKURL.mm:
Placeholders for these two, called in KHTMLPart, but maybe not really needed.

* kwq/KWQKloader.mm:
Empty functions for these, called in KHTMLPart but no implementation needed.

* kwq/qt/qtimer.h:
* kwq/KWQTimer.mm:
More timer functions.

* kwq/qt/qscrollview.h: Add one more function.

* kwq/kdecore/kinstance.h: Simplify.
* kwq/kdeui/kaction.h: Simplify.
* kwq/khtml/khtml_factory.h: Simplify.
* kwq/kparts/browserextension.h: Simplify.
* kwq/kparts/part.h: Simplify.
* kwq/qt/qdatetime.h: Simplify.

* kwq/kdecore/klibloader.h: Added.
* kwq/khtml/khtml_ext.h: Added.
* kwq/kparts/partmanager.h: Added.
Nearly-empty files with just simple placeholders so we can compile more.

* kwq/dcop/kdatastream.h: Added.
* kwq/kdecore/kmultipledrag.h: Added.
* kwq/kdecore/ktempfile.h: Added.
* kwq/kdecore/kurldrag.h: Added.
* kwq/kdeui/kstdaction.h: Added.
* kwq/kdeui/kxmlguifactory.h: Added.
* kwq/khtml/khtml_find.h: Added.
* kwq/khtml/khtml_iface.h: Added.
* kwq/khtml/khtml_pagecache.h: Added.
* kwq/khtml/khtml_run.h: Added.
* kwq/kio/kssl/ksslcertchain.h: Added.
* kwq/kio/kssl/ksslinfodlg.h: Added.
* kwq/kio/ktrader.h: Added.
* kwq/qt/private/qucomextra_p.h: Added.
* kwq/qt/qclipboard.h: Added.
* kwq/qt/qmetaobject.h: Added.
Empty files just so includes of these names will compile.

* libwebcoretests.exp: Remove one export that's no longer needed.

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

20 years ago Added support for onChange and window.location, i.e.:
rjw [Mon, 20 May 2002 23:43:02 +0000 (23:43 +0000)]
Added support for onChange and window.location, i.e.:

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

20 years ago2002-05-20 Kenneth Kocienda <kocienda@apple.com>
kocienda [Mon, 20 May 2002 23:27:17 +0000 (23:27 +0000)]
2002-05-20  Kenneth Kocienda  <kocienda@apple.com>

Now includes <sys/time.h> to prevent possible build breakage
in the inclusion of <sys/resource.h>

* WebCore/kwq/kwqdebug.h
* WebKit/Misc.subproj/WebKitDebug.h
* WebFoundation/Misc.subproj/WebFoundationDebug.h

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

20 years ago2002-05-20 Kenneth Kocienda <kocienda@apple.com>
kocienda [Mon, 20 May 2002 22:42:31 +0000 (22:42 +0000)]
2002-05-20  Kenneth Kocienda  <kocienda@apple.com>

        Changed assertion failure code to send a SIGQUIT instead
        of raising an NSException.

        * kwq/kwqdebug.h

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

20 years ago2002-05-20 Kenneth Kocienda <kocienda@apple.com>
kocienda [Mon, 20 May 2002 22:24:31 +0000 (22:24 +0000)]
2002-05-20  Kenneth Kocienda  <kocienda@apple.com>

        Changed assertion failure code to send a SIGQUIT instead
        of raising an NSException.

        * Misc.subproj/WebKitDebug.h

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

20 years ago2002-05-20 Kenneth Kocienda <kocienda@apple.com>
kocienda [Mon, 20 May 2002 21:54:33 +0000 (21:54 +0000)]
2002-05-20  Kenneth Kocienda  <kocienda@apple.com>
        Reviewed by: John Sullivan

        Fix for this bug:

        Radar 2931078 (IFURLFileDatabase initialization is not threadsafe)

        In addition, I have added several assertion checks to the code. Note
        that each of these assertion checks is of the "failure should be impossible"

        * Database.subproj/IFURLFileDatabase.m:
        (-[IFURLFileReader initWithPath:]):
        (-[IFURLFileDatabaseOp initWithCode:key:object:]):
        (-[IFURLFileDatabaseOp perform:]):
        (-[IFURLFileDatabase initWithPath:]):
        (-[IFURLFileDatabase setObject:forKey:]):
        (-[IFURLFileDatabase removeObjectForKey:]):
        (-[IFURLFileDatabase objectForKey:]):
        (-[IFURLFileDatabase performSetObject:forKey:]):
        (-[IFURLFileDatabase performRemoveObjectForKey:]):
        (-[IFURLFileDatabase lazySync:]):

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

20 years agoWebFoundation:
cblu [Mon, 20 May 2002 20:56:24 +0000 (20:56 +0000)]

Added _IF_looksLikeAbsoluteURL.

* Misc.subproj/IFNSStringExtensions.h:
* Misc.subproj/IFNSStringExtensions.m:
(-[NSString _IF_looksLikeAbsoluteURL]):


- Drag & Drop support.
- A whole lot of plug-in clean-up and minor bug fixes.

Moved the following functions from npapi to IFPlugin.

* Plugins.subproj/IFPlugin.m:

Only supply mouse coords when active.

* Plugins.subproj/IFPluginNullEventSender.h:
* Plugins.subproj/IFPluginNullEventSender.m:
(-[IFPluginNullEventSender initializeWithNPP:functionPointer:window:]):
(-[IFPluginNullEventSender dealloc]):
(-[IFPluginNullEventSender sendNullEvents]):

Minor clean-ups

* Plugins.subproj/IFPluginStream.mm:
(-[IFPluginStream dealloc]):
(-[IFPluginStream IFURLHandleResourceDidFinishLoading:data:]):
(-[IFPluginStream IFURLHandleResourceDidCancelLoading:]):
(-[IFPluginStream IFURLHandle:resourceDidFailLoadingWithResult:]):

Removed the isMouseDown flag from the following functions
as it was unnecessary.

Cleaned up logging.

* Plugins.subproj/IFPluginView.mm:
(-[IFPluginView modifiersForEvent:]):
(-[IFPluginView getCarbonEvent:withEvent:]):
(-[IFPluginView sendUpdateEvent]):
(-[IFPluginView becomeFirstResponder]):
(-[IFPluginView resignFirstResponder]):
(-[IFPluginView mouseDown:]):
(-[IFPluginView mouseUp:]):
(-[IFPluginView mouseExited:]):
(-[IFPluginView setWindow]):
(-[IFPluginView start]):
(-[IFPluginView stop]):

URLForString now uses _IF_looksLikeAbsoluteURL.

(-[IFPluginView URLForString:]):

Implemented the following:

(-[IFPluginView invalidateRect:]):
(-[IFPluginView invalidateRegion:]):
(-[IFPluginView forceRedraw]):

Put implementation of GetValue SetValue in npapi.

* Plugins.subproj/npapi.h:
* Plugins.subproj/npapi.m:

Added drag & drop support.

* WebView.subproj/IFWebView.mm:
(-[IFWebView initWithFrame:]):
(-[IFWebView setCanDragFrom:]):
(-[IFWebView canDragFrom]):
(-[IFWebView setCanDragTo:]):
(-[IFWebView canDragTo]):
(-[IFWebView draggingEntered:]):
(-[IFWebView prepareForDragOperation:]):
(-[IFWebView performDragOperation:]):
* WebView.subproj/IFWebViewPrivate.h:
* WebView.subproj/IFWebViewPrivate.mm:
(-[IFWebViewPrivate dealloc]):

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

20 years ago - fixed 2923492 -- No way to put separators in Bookmarks menu
sullivan [Mon, 20 May 2002 19:15:11 +0000 (19:15 +0000)]
- fixed 2923492 -- No way to put separators in Bookmarks menu
- fixed 2927561 -- Added child of bookmarks folder should be first, not last
- fixed 2927575 -- New bookmark should have blank URL
- fixed 2927589 -- "Modify" and "Remove" should be "Edit" and "Delete"
- fixed 2923220 -- Bookmarks window should reopen at launch if it was open at quit
- fixed bug where bookmark window would sometimes start with a horiz scrollbar
- fixed bug where deleting nested bookmark would leave last row selected

* PreferenceKeys.h: define ShowBookmarksPreferenceKey

* AppController.m:
(-[AppController applicationDidFinishLaunching:]):
Open bookmarks window if preference says to.
(-[AppController _insertBookmark:intoMenu:atIndex:]):
Handle separators.

* BookmarksController.m:
(-[BookmarksController windowDidLoad]): Set self as delegate so we will receive
windowWillClose:; setAutoresizesOutlineColumn:NO so column widths won't change
at launch.
(-[BookmarksController removeSelectedBookmarks:]):
Reselect previously selected item if it's still valid
(-[BookmarksController _newItemWithTitle:image:URLString:type:]):
Change isLeaf parameter to bookmark type. Handle separators (don't edit title
of newly-created separator). If expanded folder is selected, make new item first.
(-[BookmarksController _newSeparator:]): Implemented.
(-[BookmarksController outlineView:objectValueForTableColumn:byItem:]):
Return "--" as string to represent separator, for now.
(-[BookmarksController _newFolder:]),
(-[BookmarksController _newBookmark:]):
(-[BookmarksController outlineView:isItemExpandable:]):
(-[BookmarksController outlineView:validateDrop:proposedItem:proposedChildIndex:]):
(-[BookmarksController outlineView:shouldEditTableColumn:item:]):
Replaced uses of isLeaf with bookmarkType.
(-[BookmarksController toolbar:itemForItemIdentifier:willBeInsertedIntoToolbar:]):
Handle separator item.
(-[BookmarksController toolbarAllowedItemIdentifiers:]): Include "New Separator" item.
(-[BookmarksController showWindow:]): Set "bookmarks showing" preference to YES.
(-[BookmarksController windowWillClose:]): Set "bookmarks showing" preference to NO.

* BrowserDocument.m:
(-[BrowserDocument addBookmark:]):
Replaced use of isLeaf with bookmarkType.

* GlobalHistory.m:
(-[GlobalHistory addSelectedItemsToBookmarks:]):
Replaced use of isLeaf with bookmarkType.

* Resources/Images/new_separator.tiff: Added.

* WebBrowser.pbproj/project.pbxproj: Updated for new file.

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

20 years ago * khtml/rendering/render_object.cpp: (RenderObject::drawBorder):
darin [Sun, 19 May 2002 16:02:40 +0000 (16:02 +0000)]
* khtml/rendering/render_object.cpp: (RenderObject::drawBorder):
Add missing break statement so borders don't draw strangely.

* khtml/rendering/render_style.h: Remove unneeded QColor workaround,
now that we handle invalid colors properly.

* kwq/KWQColor.mm:
(createStaticConstructorAutoreleasePool): New solution to the problem
of autorelease at static constructor time.
(getNamedColors): Function that creates this dictionary when needed
rather than creating it inside an init function.
(QColor::QColor): Share code with setRgb, get rid of _initialize.
(hex2int): Return -1 for bad digit rather than 0.
(decodeColorFromHexColorString): Make more robust and simpler.
(QColor::setNamedColor): Set color to invalid rather than black when
the passed in name is empty or unrecognized.
(QColor::red), (QColor::green), (QColor::blue): Round instead of truncating.
(QColor::setRgb): Set color to invalid if r, g, or b is out of range.
(QColor::operator=): Simplify.
(QColor::operator==): Handle invalid colors correctly.
(QColor::getNSColor): Return black of invalid colors.

* kwq/KWQCursor.mm: Simplify cursor globals.

* kwq/KWQPainter.mm:
(QPainter::_setColorFromBrush): Use getNSColor() to handle invalid colors correctly.
(QPainter::_setColorFromPen): Use getNSColor() to handle invalid colors correctly.
(QPainter::drawLine): Add code to respect style and width and handle endpoints in a
way that will make the lines look like Qt users expect.
(QPainter::drawText): Use getNSColor() to handle invalid colors correctly.
(QPainter::drawUnderlineForText): Use getNSColor() to handle invalid colors correctly.
(QPainter::fillRect): Use getNSColor() to handle invalid colors correctly.

* kwq/KWQPen.mm: (QPen::QPen): (QPen::setStyle): Remove use of MPenStyle.

* kwq/KWQPixmap.mm: (QPixmap::QPixmap): Add comments.

* kwq/qt/qcolor.h: Simplify ifdefs, remove cname, _initialize, globals_init, and

* kwq/qt/qnamespace.h: Remove AlignTop, AlignBottom, SingleLine, ExpandTabs, DontPrint,
DashDotLine, DashDotDotLine, MPenStyle, WResizeNoRease, WRepaintNoErase, color0, color1,
darkRed, darkGreen, darkBlue, darkCyan, darkMagenta, darkYellow. Simplify the QColor
and QCursor globals.

* kwq/qt/qpen.h: QPainter is no longer a friend class. Remove linest.

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

20 years ago * khtml/rendering/render_list.cpp: (RenderListItem::setStyle):
darin [Sat, 18 May 2002 01:35:23 +0000 (01:35 +0000)]
* khtml/rendering/render_list.cpp: (RenderListItem::setStyle):
OK. This time it's correct.

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

20 years ago * khtml/rendering/render_list.cpp: (RenderListItem::setStyle):
darin [Sat, 18 May 2002 01:22:54 +0000 (01:22 +0000)]
* khtml/rendering/render_list.cpp: (RenderListItem::setStyle):
Roll the change out while I see why it causes a crash.

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

20 years agoReplacing IFPluginStream.m with IFPluginStream.mm.
cblu [Sat, 18 May 2002 00:59:25 +0000 (00:59 +0000)]
Replacing IFPluginStream.m with IFPluginStream.mm.

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

20 years agoAdding this file.
cblu [Sat, 18 May 2002 00:55:09 +0000 (00:55 +0000)]
Adding this file.

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

20 years agoWebKit:
cblu [Sat, 18 May 2002 00:54:27 +0000 (00:54 +0000)]
  - Made IFPluginStream the URL handle client instead of IFPluginView.
        - Added support for NPP_PostURL and NPP_PostNotify.
        - Possible fix for 2928558.

        * Plugins.subproj/IFPluginStream.h:
        * Plugins.subproj/IFPluginView.h:
        * Plugins.subproj/IFPluginView.mm:
        (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]):NSURL for url
        instead of NSString
        (-[IFPluginView dealloc]):
        (-[IFPluginView setWindow]):
        (-[IFPluginView start]):
        (-[IFPluginView stop]):
        (-[IFPluginView webDataSource]):Accessor for IFPluginStream.
        (-[IFPluginView webController]):Accessor for IFPluginStream.
        (-[IFPluginView URLForString:]):
        (-[IFPluginView getURLNotify:target:notifyData:]):
        (-[IFPluginView postURLNotify:target:len:buf:file:notifyData:]):
        (-[IFPluginView postURL:target:len:buf:file:]):
        (-[IFPluginView destroyStream:reason:]):
        (-[IFPluginView status:]):
        (-[IFPluginView NPP_NewStream]): Accessor for IFPluginStream.
        (-[IFPluginView NPP_WriteReady]):Accessor for IFPluginStream.
        (-[IFPluginView NPP_Write]): Accessor for IFPluginStream.
        (-[IFPluginView NPP_StreamAsFile]): Accessor for IFPluginStream.
        (-[IFPluginView NPP_DestroyStream]): Accessor for IFPluginStream.
        (-[IFPluginView NPP_URLNotify]): Accessor for IFPluginStream.
        * WebCoreSupport.subproj/IFWebCoreViewFactory.m: Use new IFPluginView init method
        (-[IFWebCoreViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]):
        * WebKit.pbproj/project.pbxproj:


        Use rm -rf to remove Labyrinth.

        * Tools/jersey/bin/jersey.pl:
        * Tools/jersey/html/cgi-bin/j.pl:

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

20 years ago * khtml/rendering/render_list.cpp: (RenderListItem::setStyle):
darin [Fri, 17 May 2002 17:57:14 +0000 (17:57 +0000)]
* khtml/rendering/render_list.cpp: (RenderListItem::setStyle):
Remove an old incorrect fix for a style leak in here and put in
a new correct fix.

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

20 years ago Fixed 2896350. Ignore DPI in images and render directly at pixel size.
rjw [Thu, 16 May 2002 22:43:11 +0000 (22:43 +0000)]
Fixed 2896350.  Ignore DPI in images and render directly at pixel size.

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

20 years ago Fixed 2925638. Don't send last progress message from resourceDataDidBecomeAvailable,
rjw [Thu, 16 May 2002 19:47:47 +0000 (19:47 +0000)]
Fixed 2925638.  Don't send last progress message from resourceDataDidBecomeAvailable,
it is sent from IFURLHandleResourceDidFinishLoading, avoiding duplication.

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

20 years ago0. I was being overly aggressive about
rjw [Thu, 16 May 2002 18:10:45 +0000 (18:10 +0000)]
0.  I was being overly aggressive about
finding substitute glyphs.

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

20 years ago * Plugins.subproj/IFPluginView.mm:
darin [Thu, 16 May 2002 17:45:32 +0000 (17:45 +0000)]
* Plugins.subproj/IFPluginView.mm:
(-[IFPluginView IFURLHandleResourceDidFinishLoading:data:]):
Use this new getCarbonPath function rather than hardcoding assumptions
about "/tmp" being ":private:tmp".
(getCarbonPath): New.

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

20 years ago * Plugins.subproj/IFPluginView.mm: (-[IFPluginView mouseUp:]):
darin [Thu, 16 May 2002 16:00:58 +0000 (16:00 +0000)]
* Plugins.subproj/IFPluginView.mm: (-[IFPluginView mouseUp:]):
Fixed log statement so development builds work again.

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

20 years ago * Plugins.subproj/IFPluginView.mm: (-[IFPluginView mouseUp:]):
darin [Thu, 16 May 2002 15:45:22 +0000 (15:45 +0000)]
* Plugins.subproj/IFPluginView.mm: (-[IFPluginView mouseUp:]):
Remove unused variable that breaks optimized builds.

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

20 years ago Another quick events cleanup pass.
darin [Thu, 16 May 2002 06:23:54 +0000 (06:23 +0000)]
Another quick events cleanup pass.

* Plugins.subproj/IFPluginNullEventSender.m:
(-[IFPluginNullEventSender sendNullEvents]): Use [IFPluginView getCarbonEvent:].

* Plugins.subproj/IFPluginView.h: Make almost all methods private.
* Plugins.subproj/IFPluginView.mm:
(+[IFPluginView getCarbonEvent:]): New.
(-[IFPluginView getCarbonEvent:]): New, calls class method.
(-[IFPluginView modifiersForEvent:isMouseDown:]): Reversed sense of btnState.
This flag is set if the mouse is up, not if the mouse is down.
(-[IFPluginView getCarbonEvent:withEvent:isMouseDown:]): New.
(-[IFPluginView getCarbonEvent:withEvent:]): New.
(-[IFPluginView sendActivateEvent:]): Now takes parameter for activate vs.
deactivate and uses [getCarbonEvent:].
(-[IFPluginView sendUpdateEvent]): Uses [getCarbonEvent:].
(-[IFPluginView becomeFirstResponder]): Uses [getCarbonEvent:].
(-[IFPluginView resignFirstResponder]): Uses [getCarbonEvent:].
(-[IFPluginView mouseDown:]): Uses [getCarbonEvent:withEvent:isMouseDown:].
(-[IFPluginView mouseUp:]): Uses [getCarbonEvent:withEvent:isMouseDown:].
(-[IFPluginView mouseEntered:]): Uses [getCarbonEvent:withEvent:].
(-[IFPluginView mouseExited:]): Uses [getCarbonEvent:withEvent:].
(-[IFPluginView keyUp:]): Uses [getCarbonEvent:withEvent:].
(-[IFPluginView keyDown:]): Uses [getCarbonEvent:withEvent:].
(-[IFPluginView start]): Call [sendActivateEvent:YES].
(-[IFPluginView windowBecameKey:]): Call [sendActivateEvent:YES].
(-[IFPluginView windowResignedKey:]): Call [sendActivateEvent:NO].

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

20 years ago Fixed problem dealing w/ characters in range 0x7f - 0xa0.
rjw [Thu, 16 May 2002 00:22:30 +0000 (00:22 +0000)]
Fixed problem dealing w/ characters in range 0x7f - 0xa0.

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

20 years ago Fixed Flash mouse-down, mouse-over Flash bug.
cblu [Wed, 15 May 2002 23:58:29 +0000 (23:58 +0000)]
    Fixed Flash mouse-down, mouse-over Flash bug.
        Added support for modifiers (control-click etc) (2884451).
        A lot of events clean-up.

        * Plugins.subproj/IFPluginNullEventSender.m:
        (-[IFPluginNullEventSender sendNullEvents]):
        * Plugins.subproj/IFPluginView.h:
        * Plugins.subproj/IFPluginView.mm:
        (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]):
        (-[IFPluginView start]):
        (-[IFPluginView drawRect:]):
        (-[IFPluginView isFlipped]):
        (-[IFPluginView currentModifiers]):
        (-[IFPluginView modifiersForEvent:isMouseDown:]):
        (-[IFPluginView sendActivateEvent]):
        (-[IFPluginView sendUpdateEvent]):
        (-[IFPluginView becomeFirstResponder]):
        (-[IFPluginView resignFirstResponder]):
        (-[IFPluginView mouseDown:]):
        (-[IFPluginView mouseUp:]):
        (-[IFPluginView mouseEntered:]):
        (-[IFPluginView mouseExited:]):
        (-[IFPluginView keyUp:]):
        (-[IFPluginView keyDown:]):
        (-[IFPluginView windowBecameKey:]):
        (-[IFPluginView windowResignedKey:]):

        Case-sensitivity issue with an include.

        * WebView.subproj/IFWebView.mm:

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

20 years ago Alerts, useful for validating that js handlers work.
rjw [Wed, 15 May 2002 23:21:01 +0000 (23:21 +0000)]
Alerts, useful for validating that js handlers work.
    Validated that onsubmit is working.

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

20 years agoOops.
darin [Wed, 15 May 2002 21:00:12 +0000 (21:00 +0000)]

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

20 years ago * kwq/qt/qguardedptr.h: Fix reversed sense of check in isNull. Fixes
darin [Wed, 15 May 2002 20:59:22 +0000 (20:59 +0000)]
* kwq/qt/qguardedptr.h: Fix reversed sense of check in isNull. Fixes
a bug that was causing a lot of DHTML not to work.

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

20 years ago2002-05-15 Kenneth Kocienda <kocienda@apple.com>
kocienda [Wed, 15 May 2002 19:45:33 +0000 (19:45 +0000)]
2002-05-15  Kenneth Kocienda  <kocienda@apple.com>

        * kwq/KWQInvisibleButton.h: Changed an #include of Cocoa.h to an #import

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

20 years ago * kwq/KWQListImpl.mm:
darin [Wed, 15 May 2002 19:03:10 +0000 (19:03 +0000)]
* kwq/KWQListImpl.mm:
(KWQListImpl::KWQListPrivate::copyList): Take out unnecessary line of code.
(KWQListImpl::KWQListPrivate::~KWQListPrivate): Delete the iterator nodes
also, not just the item nodes. Fixes a storage leak.
Change interface to take a list pointer so we don't rely on the undefined
behavior of &* on a null pointer.
(KWQListImpl::addIterator): Set up the prev pointer of the old head of
the list. This was causing the crash I was debugging.
(KWQListIteratorImpl::operator=): Simpler implementation.

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

20 years ago * Makefile.am:
darin [Wed, 15 May 2002 17:05:18 +0000 (17:05 +0000)]
* Makefile.am:
Use all-am and clean-am instead of all and clean because it's better and
to make "make check" at the top level work right.

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

20 years ago Work to support copying bookmarks, needed for drag & drop
sullivan [Wed, 15 May 2002 03:35:00 +0000 (03:35 +0000)]
Work to support copying bookmarks, needed for drag & drop
in Bookmarks window.

* Bookmarks.subproj/IFBookmark.h: Make IFBookmark conform to NSCopying.

* Bookmarks.subproj/IFBookmark.m:
(-[IFBookmark copyWithZone:]): insist that subclasses implement this.

* Bookmarks.subproj/IFBookmarkGroup.h:
* Bookmarks.subproj/IFBookmarkGroup.m:
(-[IFBookmarkGroup insertBookmark:atIndex:ofBookmark:]):
Removed this unnecessary method.

* Bookmarks.subproj/IFBookmarkLeaf.m:
(-[IFBookmarkLeaf copyWithZone:]): New method.

* Bookmarks.subproj/IFBookmarkList.m:
(-[IFBookmarkList copyWithZone:]): New method.

Fixed 2921730 -- Can't rearrange bookmarks in Bookmarks window

You can now drag and drop willy-nilly in the Bookmarks window to
rearrange items. It's currently using a private pasteboard type,
so you can't drop items from elsewhere or drag the bookmarks out
of the list. I know of one bug (dropping an item inside itself
makes it poof into nothingness) which I'll write up in a moment.

* BookmarksController.m:
(-[BookmarksController windowDidLoad]): register for our dragged type.
(-[BookmarksController _anyAncestorOfRow:inArray:]): New helper method,
used to avoid copying a folder deep and some of its children at the
same time.
(-[BookmarksController outlineView:writeItems:toPasteboard:]):
Write list of rows to pasteboard, after eliminating items whose ancestors are
also in set.
(-[BookmarksController outlineView:validateDrop:proposedItem:proposedChildIndex:]):
Move a drop on a leaf bookmark to be after the leaf bookmark.
(-[BookmarksController outlineView:acceptDrop:item:childIndex:]):
Do the move, by inserting copies of the moved items and then removing
the originals.

* OutlineViewPlus.m:
(-[OutlineViewPlus setAcceptsFirstMouse:]):
(-[OutlineViewPlus acceptsFirstMouse:]):
Removed debugging messages I accidentally left in here.

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

20 years ago Fixed exception in log code.
rjw [Wed, 15 May 2002 02:32:54 +0000 (02:32 +0000)]
Fixed exception in log code.

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

20 years ago Fixed 2926153, not getting correct messages after cancel.
rjw [Wed, 15 May 2002 01:59:33 +0000 (01:59 +0000)]
Fixed 2926153, not getting correct messages after cancel.
    Fixed leak of mouse events (Darin wanted this ASAP).

    Added another symbol for stack based event constructor.
    Change to support onLoad.

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

20 years agoWebCore:
cblu [Wed, 15 May 2002 00:19:12 +0000 (00:19 +0000)]

        Changed slotData to slotData(NSString *encoding, const char *bytes, int length)

        * khtml/khtml_part.h:
        * kwq/KWQKHTMLPart.mm:
        * libwebcore.exp:


        Removed retain of the URL handle. This was causing everything to leak.

        * WebView.subproj/IFMainURLHandleClient.h:
        * WebView.subproj/IFMainURLHandleClient.mm:
        (-[IFMainURLHandleClient initWithDataSource:part:]):
        (-[IFMainURLHandleClient dealloc]):
        (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
        (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]):
        (-[IFMainURLHandleClient processData:isComplete:]):

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

20 years ago * WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]):
darin [Wed, 15 May 2002 00:08:52 +0000 (00:08 +0000)]
* WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]):
Remove code that makes us the first responder. That's up to the higher levels,
not the web view.

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

20 years ago Fixed 2925291 -- CSS2 test page causes infinite recursion, crash
darin [Tue, 14 May 2002 20:53:18 +0000 (20:53 +0000)]
Fixed 2925291 -- CSS2 test page causes infinite recursion, crash

* khtml/rendering/render_container.cpp: (RenderContainer::addChild):
Add code to detect the case of a render object that uses text cell
style but is not itself a text style, and make sure we don't try to
nest such an object inside an infinite number of tables.

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

20 years ago * History.subproj/IFURIEntry.h:
sullivan [Tue, 14 May 2002 19:16:01 +0000 (19:16 +0000)]
* History.subproj/IFURIEntry.h:
Oops, deleted the prototype for setLastVisitedDate
accidentally, which made Jersey sad.

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

20 years ago Fixed 2919027 -- Need to remove unused code in WebKit/History.subproj
sullivan [Tue, 14 May 2002 18:07:23 +0000 (18:07 +0000)]
Fixed 2919027 -- Need to remove unused code in WebKit/History.subproj

* History.subproj/IFAttributedURL.h: Removed.
* History.subproj/IFBackForwardList.h: Removed large #ifdef.
* History.subproj/IFURIEntry.h,
* History.subproj/IFURIEntry.m: Removed all mention of unused
fields comment, creationDate, modificationDate
* WebKit.pbproj/project.pbxproj: Updated for removed file.

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

20 years ago * kwq/KWQListImpl.mm: (KWQListIteratorImpl::KWQListIteratorImpl):
darin [Tue, 14 May 2002 13:52:18 +0000 (13:52 +0000)]
* kwq/KWQListImpl.mm: (KWQListIteratorImpl::KWQListIteratorImpl):
Add a missing check for a null pointer.

* kwq/KWQGuardedPtr.mm: (KWQGuardedPtrBase::KWQGuardedPtrBase):
Remove an unnecessary call to "toFirst", because new iterators
already default to pointing to the first element of the list.

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

20 years ago * kwq/KWQListImpl.mm: (KWQListImpl::~KWQListImpl): Detach all the iterators from
darin [Tue, 14 May 2002 06:16:03 +0000 (06:16 +0000)]
* kwq/KWQListImpl.mm: (KWQListImpl::~KWQListImpl): Detach all the iterators from
the list when the list is destroyed. I thought this was done before, but it seems not.

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

20 years ago Added support for setting the content policy on the location change handler
cblu [Tue, 14 May 2002 05:43:14 +0000 (05:43 +0000)]
    Added support for setting the content policy on the location change handler
        and data source at any time instead of depending on an immediate response.

        * WebView.subproj/IFBaseWebController.mm:
        (-[IFBaseWebController haveContentPolicy:andPath:forLocationChangeHandler:]):
        * WebView.subproj/IFMainURLHandleClient.h:
        * WebView.subproj/IFMainURLHandleClient.mm:
        (-[IFMainURLHandleClient initWithDataSource:part:]):
        (-[IFMainURLHandleClient dealloc]):
        (-[IFMainURLHandleClient setContentPolicy:]):
        (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]):
        (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
        (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]):
        (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]):
        (-[IFMainURLHandleClient processData:isComplete:]):
        * WebView.subproj/IFWebController.h:
        * WebView.subproj/IFWebDataSourcePrivate.mm:
        (-[IFWebDataSource _setContentPolicy:]):
        * WebView.subproj/IFWebFrame.mm:
        (-[IFWebFrame setProvisionalDataSource:]):

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

20 years ago Fixed bug 2922884 (JavaScript object leak creating Image object from JavaScript).
darin [Tue, 14 May 2002 02:57:28 +0000 (02:57 +0000)]
Fixed bug 2922884 (JavaScript object leak creating Image object from JavaScript).
There was a reference loop created when a document contained a variable that
referenced an image, because images held references to the document; the C++
kind that do not participate in the JavaScript garbage collection.

* khtml/ecma/kjs_html.h: Use a QGuardedPtr to the DocumentImpl instead of using
a Document object.
* khtml/ecma/kjs_html.cpp:
(Image::tryPut): Change because the "doc" pointer is now a pointer to the
DocumentImpl, not the Document. Also check for 0, since it's now a QGuardedPtr
that can become 0.
(Image::Image): Newly out of line. Changed because the "doc" pointer is now a
pointer to the DocumentImpl, not the Document.

Since the solution used QGuardedPtr, I had to implement it.

* kwq/qt/qguardedptr.h: Put the implementation in a new KWQGuardedPtrBase class,
with only the bare minimum in a template. This new implementation uses iterators
on a QPtrList, which means there's not much code needed.
* kwq/KWQGuardedPtr.mm: (KWQGuardedPtrBase::KWQGuardedPtrBase): Rewrite to use
a QPtrListIterator to a dummy list in the QObject. This reuses code nicely, but
a custom-coded solution would be a bit more efficient.

* kwq/qt/qobject.h:
* kwq/KWQObject.mm: (QObject::QObject): Create the one-element list that's used
by the QGuardedPtr instances.

Since the above code needed to copy a QPtrListIterator, I needed to support that.

* kwq/qt/qlist.h: Move the iterator's copy constructor out of the private part,
and implement it. This class was strange in that it has a public assignment
operator, but a private unimplemented copy constructor. Implementing it was trivial,
though, so this was no obstacle.

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

20 years ago * kjs/value.h: Fix comment typos.
darin [Tue, 14 May 2002 02:56:45 +0000 (02:56 +0000)]
* kjs/value.h: Fix comment typos.

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

20 years ago * Makefile.am: Make WebCore precompiled headers depend on config.h
mjs [Tue, 14 May 2002 02:30:55 +0000 (02:30 +0000)]
* Makefile.am: Make WebCore precompiled headers depend on config.h
to fix build breakage from last change.

* WebKitPrefix.h: Gratuitous change to make the prefix file

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

20 years ago Removed libjpeg dependency. Turns out we don't need it.
mjs [Tue, 14 May 2002 00:27:50 +0000 (00:27 +0000)]
Removed libjpeg dependency. Turns out we don't need it.

* configure.in: Don't check for libjpeg.
* Updates/update: Don't bother with the libjpeg update.
* Updates/install-libjpeg.sh: Removed.

Removed libjpeg dependency. Turns out we don't need it.

* Makefile.am: Remove -ljpeg from link line.
* khtml/misc/loader_jpeg.cpp: Removed.
* khtml/misc/loader_jpeg.h: Removed.
* khtml/misc/Makefile.am: Remve loader_jpeg from build.

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

20 years ago * WebView.subproj/IFBaseWebController.mm:
cblu [Mon, 13 May 2002 18:22:00 +0000 (18:22 +0000)]
    * WebView.subproj/IFBaseWebController.mm:
        (-[IFBaseWebController URLPolicyForURL:]):

        Use [IFURLHandle canInitWithURL] instead of hard-coded URL schemes.

        * WebView.subproj/IFBaseWebControllerPrivate.mm:
        (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]):
        * WebView.subproj/IFMainURLHandleClient.mm:
        (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]):
        (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
        * WebView.subproj/IFWebDataSourcePrivate.h:
        * WebView.subproj/IFWebDataSourcePrivate.mm:
        (-[IFWebDataSourcePrivate init]):
        (-[IFWebDataSource _setDownloadPath:]):

        Removed _contentPolicy as contentPolicy is public.

        Initialize contentPolicy in [IFWebDataSourcePrivate init].

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

20 years ago Made log output match webkit logging.
rjw [Fri, 10 May 2002 23:08:23 +0000 (23:08 +0000)]
Made log output match webkit logging.

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

20 years ago Logging changes.
rjw [Fri, 10 May 2002 23:07:55 +0000 (23:07 +0000)]
Logging changes.

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

20 years agoWebKit:
cblu [Fri, 10 May 2002 22:28:21 +0000 (22:28 +0000)]

Added support for non-html non-file URL data sources.
        Added the init methods below. Removed initWithHandle.

        * WebView.subproj/IFWebDataSource.h:
        * WebView.subproj/IFWebDataSource.mm:
        (-[IFWebDataSource initWithURL:]):
        (-[IFWebDataSource initWithURL:attributes:]):
        (-[IFWebDataSource startLoading:]):


        Changed WCIFWebDataSourceMake to wrap around [IFWebDataSource initWithUR
L: attributes: flags:]
        instead of initWithHandle.

        * kwq/KWQKHTMLPart.mm:
        * kwq/WCWebDataSource.h:
        * libwebcore.exp:

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

20 years ago Fixed 2923728 (ellipsizing text method is taking a lot of CPU time) by writing a
darin [Fri, 10 May 2002 22:16:38 +0000 (22:16 +0000)]
Fixed 2923728 (ellipsizing text method is taking a lot of CPU time) by writing a
new string truncator that uses fast text measurement.

* AppController.m: (-[AppController awakeFromNib]): Remove _setUpStringTruncator.

* BrowserDocument.h: Remove _cachedPageName; it was not doing any good.
* BrowserDocument.m:
(-[BrowserDocument dealloc]): No need to release _cachedPageName.
(-[BrowserDocument pageName]): No need to use _cachedPageName.
(-[BrowserDocument _updateWindowTitles]): Name change.

* StringTruncator.h: Rewrite. Only the name is the same.
* StringTruncator.m:
(+[StringTruncator centerTruncateString:length:omitCount:toBuffer:]):
Does the work of removing the middle of a string.
(+[StringTruncator centerTruncateString:toWidth:]): Convenience cover version that
uses the menu font.
(+[StringTruncator centerTruncateString:toWidth:withFont:]): The code to do the

* TextCell.m: (-[TextCell drawInteriorWithFrame:inView:]): Use the new truncator
interface that takes a font, not the old one that took an attributes dictionary.

* WebBrowser.pbproj/project.pbxproj: Some little tweak.

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

20 years ago * WebCoreSupport.subproj/IFTextRenderer.h: Moved most of the
darin [Fri, 10 May 2002 22:11:04 +0000 (22:11 +0000)]
* WebCoreSupport.subproj/IFTextRenderer.h: Moved most of the
stuff from here into the .m file so this header can be included
by clients. Also added floatWidthForCharacters:length:.
* WebCoreSupport.subproj/IFTextRenderer.m:
(freeWidthMap): Check for NULL.
(freeGlyphMap): Check for NULL.
(-[IFTextRenderer slowFloatWidthForCharacters:length:]): Renamed,
and made it return the float.
(-[IFTextRenderer floatWidthForCharacters:length:]): Renamed, and
made it return the float.
(-[IFTextRenderer widthForCharacters:length:]): Do rounding here.

* WebCoreSupport.subproj/IFTextRendererFactory.h:
* WebCoreSupport.subproj/IFTextRendererFactory.m:
Make the interface slightly easier to use by using the specific types.

* WebKit.pbproj/project.pbxproj: Exported the headers.

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

20 years ago2002-05-10 Kenneth Kocienda <kocienda@apple.com>
kocienda [Fri, 10 May 2002 21:51:53 +0000 (21:51 +0000)]
2002-05-10  Kenneth Kocienda  <kocienda@apple.com>

        Fixed build breakage caused by my previous checkin.

        * WebView.subproj/IFMainURLHandleClient.mm:
        (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:])

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

20 years ago Fixed 2922756 (@ image in History window is a little too tall)
sullivan [Fri, 10 May 2002 21:25:22 +0000 (21:25 +0000)]
Fixed 2922756 (@ image in History window is a little too tall)
Fixed 2923790 (bookmark folders need folder icons)

* Resources/bookmark_folder.tiff: New image (small folder, copied from elsewhere)
* Resources/url_icon.tiff: Shrunk this one a little bit.

* Bookmarks.subproj/IFBookmarkList.m:
(-[IFBookmarkList image]): Return the default image if no custom image is set.

* History.subproj/IFURIEntry.m:
(-[IFURIEntry image]): If the default image's file isn't found, don't try
to create an NSImage, because it will come out horribly broken and evil if
you do (I ran into this while adding the bookmark folder image; most of Alexander's
menus did not appear at all because the bookmark folder image was using a bogus

* WebKit.pbproj/project.pbxproj: Updated for new files.

Fixed 2922745 (Bookmark and History window should use same font size)
Fixed 2923792 (All buttons in Bookmarks window look the same)

* Resources/Images/new_bookmark.tiff: Added.
* Resources/Images/new_folder.tiff: Added.
* Resources/Images/pencil.tiff: Added.
New images for buttons in Bookmarks window. new_folder
was stolen from Finder; pencil was stolen from Mail;
new_bookmark is a Sullivan Originalâ„¢.

* AppController.m:
(-[AppController _addBookmarksToMenu]):
(-[AppController _updateBookmarksInMenu]):
Remove count of bookmarks from debug timing message since
it wasn't counting deep.

* BookmarksController.m:
(-[BookmarksController toolbar:itemForItemIdentifier:willBeInsertedIntoToolbar:]):
Use the right images for the right buttons.

* English.lproj/Bookmarks.nib: Change the font size to
match History window.

* WebBrowser.pbproj/project.pbxproj: Updated for new files.

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

20 years ago2002-05-10 Kenneth Kocienda <kocienda@apple.com>
kocienda [Fri, 10 May 2002 21:07:29 +0000 (21:07 +0000)]
2002-05-10  Kenneth Kocienda  <kocienda@apple.com>

        Reviewed by: Maciej Stachowiak


        This set of changes enhances the IFError object with two new pieces of

        1) An error domain, to help separate error codes from different
        sources that may overlap

        2) An indicator of whether the error should be treated as "terminal" by
        code that receives and handles the error.

        I have added a couple of other cleanups in this class, as described by
        the bugs noted below.

        The other code in this set of changes was modified to use the new interface
        and features of IFError.

        Fixes for these four bugs:

        Radar 2923998 (Change IFError private data into a pointer to a private data object)
        Radar 2924002 (IFError should include an error domain)
        Radar 2924013 (IFError initialization is not threadsafe)
        Radar 2924280 (IFError should contain a new field which tells whether the error is terminal)

        * CacheLoader.subproj/IFFileURLProtocolHandler.m:
        (-[IFFileURLProtocolHandler fileLoadThread])
        * CacheLoader.subproj/IFHTTPURLProtocolHandler.m:
        (-[IFHTTPURLProtocolHandler continueBeginLoadInBackgroundAfterCreatingHTTPRequest])
        (-[IFHTTPURLProtocolHandler retryWithRedirectedURL:])
        (-[IFHTTPURLProtocolHandler handleReadStreamEvent:event:])
        (-[IFHTTPURLProtocolHandler performHTTPHeaderRead:])
        (-[IFHTTPURLProtocolHandler determineErrorAndFail])
        * CacheLoader.subproj/IFURLCacheLoaderConstants.:h
        * CacheLoader.subproj/IFURLHandle.m:
        (-[IFURLHandle _backgroundLoadFailedWithResultCode:inDomain:isTerminal:])
        (-[IFURLHandle _setError:])
        (-[IFURLHandle _notifyClientsDidFailLoading])
        * CacheLoader.subproj/IFURLHandleC.h:
        * CacheLoader.subproj/IFURLHandleC.m:
        * CacheLoader.subproj/IFURLHandlePrivate.h:
        * CacheLoader.subproj/IFURLLoad.h:
        * CacheLoader.subproj/IFURLLoad.m:
        (-[IFURLLoad failedWithResultCode:inDomain:isTerminal:])
        (-[IFURLLoad scheduleOriginLoad])
        (-[IFURLLoad beginOriginLoad])
        * Misc.subproj/IFError.h:
        * Misc.subproj/IFError.m:
        (-[IFErrorPrivate dealloc])
        (+[IFError errorWithCode:inDomain:failingURL:isTerminal:])
        (-[IFError initWithErrorCode:inDomain:failingURL:isTerminal:])
        (-[IFError dealloc])
        (-[IFError errorCode])
        (-[IFError errorDomain])
        (-[IFError terminalError])
        (-[IFError errorDescription])
        (-[IFError failingURL])
        (-[IFError description])


        This code was modified to use the new interface and features of IFError.
        These features and changes are described in these four bug reports:

        Radar 2923998 (Change IFError private data into a pointer to a private data object)
        Radar 2924002 (IFError should include an error domain)
        Radar 2924013 (IFError initialization is not threadsafe)
Radar 2924280 (IFError should contain a new field which tells whether the error is terminal)

        * Plugins.subproj/IFPluginView.mm:
        (-[IFPluginView IFURLHandle:resourceDidFailLoadingWithResult:])
        * WebView.subproj/IFBaseWebControllerPrivate.mm:
        (-[IFBaseWebController _receivedProgress:forResource:fromDataSource:])
        (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:])
        * WebView.subproj/IFMainURLHandleClient.mm:
        (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:])

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

20 years ago=== JavaScriptCore-4 ===
mjs [Fri, 10 May 2002 20:52:08 +0000 (20:52 +0000)]
=== JavaScriptCore-4 ===

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

20 years ago Reviewed by: Ken Kocienda and Darin Adler
mjs [Fri, 10 May 2002 16:41:01 +0000 (16:41 +0000)]
Reviewed by: Ken Kocienda and Darin Adler

Fixed the following bug:

Radar 2890573 - JavaScriptCore needs to be thread-safe

Actually this is only a weak form of thread-safety - you can safely
use different interpreters from different threads at the same
time. If you try to use a single interpreter object from multiple
threads, you need to provide your own locking.

* kjs/collector.h, kjs/collector.cpp:
(Collector::lock, Collector::unlock): Trivial implementation of a
recursive mutex.
(Collector::allocate): Lock around the body of this function.
(Collector::collect): Likewise.
(Collector::finalCheck): Likewise.
(Collector::numInterpreters): Likewise.
(Collector::numGCNotAllowedObjects): Likewise.
(Collector::numReferencedObjects): Likewise.
* kjs/internal.cpp:
(Parser::parse): use a mutex to lock around the whole parse, since
it uses a bunch of global state.
(InterpreterImp::InterpreterImp): Grab the Collector lock here,
both the mutually exclude calls to the body of this function, and
to protect the s_hook static member which the collector pokes at.
(InterpreterImp::clear): Likewise.
* kjs/ustring.cpp:
(statBufferKeyCleanup, statBufferKeyInit, UString::ascii): Convert
use of static variable
* kjs/value.cpp:
(ValueImp::ValueImp, ValueImp::mark, ValueImp::marked,
ValueImp::setGcAllowed): Grab the GC lock around any flag changes.

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

20 years agoi Added new method to avoid creation of NSString.
rjw [Fri, 10 May 2002 03:18:48 +0000 (03:18 +0000)]
i    Added new method to avoid creation of NSString.

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

20 years ago Tuned implementation more. Cleaned up and factored code.
rjw [Fri, 10 May 2002 03:18:34 +0000 (03:18 +0000)]
Tuned implementation more.  Cleaned up and factored code.

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

20 years ago * Bookmarks.subproj/IFBookmarkGroup.h:
sullivan [Fri, 10 May 2002 01:35:00 +0000 (01:35 +0000)]
* Bookmarks.subproj/IFBookmarkGroup.h:
* Bookmarks.subproj/IFBookmarkGroup.m:
(-[IFBookmarkGroup addNewBookmarkToBookmark:withTitle:image:URLString:isLeaf:]):
(-[IFBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:image:URLString:isLeaf:]):
Gave these two methods return values of the new bookmark created, to make callers'
lives easier.

More work on bookmarks; you can now create new ones and new folders
from the Bookmarks window. You still can't reorder them by dragging.
There are many details wrong still, including some obvious ones.

Fixed these radar bugs along the way:
2921389 -- No way to create a folder in Bookmarks window
2923495 -- Shouldn't be able to create bookmarks with no title and/or URL string

Also improved what Activity Viewer shows for errors that had no description
(was "(null)", now is "error").

* AppController.m:
(-[AppController _insertBookmark:intoMenu:atIndex:]):
Made this method handle non-leaf bookmarks (i.e., folders)

* BookmarksController.m:
(-[BookmarksController _collapseSelectionToSingleRow]):
New helper routine that always ends up with a single row
selected (unless outline view is empty).

(-[BookmarksController _removeSelectedBookmarks:]):
Call _collapseSelectionToSingleRow after removing selected items.

(-[BookmarksController _toggleEdit:]):
New method, turns edit mode on or off for the selected item.

(-[BookmarksController _findParentRowOfRow:]):
New helper routine for finding the row index that's the parent of
a given row.

(-[BookmarksController _newItemWithTitle:image:URLString:isLeaf:]):
Bottleneck for new-item-creating methods, finds appropriate place to
insert new item based on current selection, inserts it, selects it,
and puts its name into edit mode.

(-[BookmarksController _newSeparator:]):
New method, placeholder for now.

(-[BookmarksController _newFolder:]):
(-[BookmarksController _newBookmark:]):
Implement by calling _newItemWithTitle:

(-[BookmarksController outlineView:setObjectValue:forTableColumn:byItem:]):
If new value after trimming whitespace is empty, ignore it.

(-[BookmarksController outlineView:shouldEditTableColumn:item:]):
Don't allow address cell of folder rows to be edited.

(-[BookmarksController toolbarAllowedItemIdentifiers:]):
New set of buttons is: New Bookmark, New Folder, Modify, Remove

(-[BookmarksController validateUserInterfaceItem:]):
Disable Modify when nothing is selected.

* English.lproj/Bookmarks.nib:
I don't remember what I changed here, possibly nothing real.

* IFErrorAdditions.h: Added.
* IFErrorAdditions.m: Added.
(-[IFError errorSummary]): New category on IFError, implements just this
one method, which returns a string of the form "<error description> (<error code>)"
and handles the case where there's no description.

* FrameProgressEntry.m:
(-[FrameProgressEntry statusString]): use errorSummary.
* ResourceProgressEntry.m:
(-[ResourceProgressEntry statusString]): use errorSummary.

* GlobalHistory.m:
(-[GlobalHistory showWindow:]): Changed an NSLog to a WEBKITDEBUG

* WebBrowser.pbproj/project.pbxproj: Updated for new files.

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

20 years ago2002-05-09 Kenneth Kocienda <kocienda@apple.com>
kocienda [Thu, 9 May 2002 19:42:45 +0000 (19:42 +0000)]
2002-05-09  Kenneth Kocienda  <kocienda@apple.com>

        Reviewed by: Chris Blumenberg

        Fix for this bug:

        Radar 2922673 (Remove use of private NSData interface in IFURLFileDatabase.m)

        * Database.subproj/IFURLFileDatabase.m:
        (-[IFURLFileReader initWithPath:]): Code now uses new Jaguar public API

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

20 years ago2002-05-09 Kenneth Kocienda <kocienda@apple.com>
kocienda [Thu, 9 May 2002 19:25:01 +0000 (19:25 +0000)]
2002-05-09  Kenneth Kocienda  <kocienda@apple.com>

        Fix for this bug:

        Radar 2890624 (need to remove workaround for double free of image data from QPixmap)

        The appropriate, bug-free AppKit code is now available to us on Jaguar.
        Rolling out the workaround.

        * kwq/KWQPixmap.mm:

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

20 years ago2002-05-09 Kenneth Kocienda <kocienda@apple.com>
kocienda [Thu, 9 May 2002 16:43:22 +0000 (16:43 +0000)]
2002-05-09  Kenneth Kocienda  <kocienda@apple.com>

        Tiny little string copying cleanup suggested by Darin.

        * Database.subproj/IFURLFileDatabase.m:
        (-[IFURLFileDatabase open]): small string copying cleanup.

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

20 years ago2002-05-09 Kenneth Kocienda <kocienda@apple.com>
kocienda [Thu, 9 May 2002 16:35:30 +0000 (16:35 +0000)]
2002-05-09  Kenneth Kocienda  <kocienda@apple.com>

        Reviewed by: Darin Adler

        Fixes for these two bugs:

        Radar 2859001 (Maintain usage calculation for on-disk cache)
        Radar 2859009 (On-disk cache must be able to be truncated to a specific size)

        Now, the on-disk database keeps track of the amount of data it stores and can enforce
        a usage quota. This new system should work quite well as long as there is a one-to-one
        mapping between processes and on-disk cache paths.

        Further guarantees for synchronous access to a cache from multiple processes will be
        offered if (when) we switch over to using the sleepycat Berkeley DB for the disk cache

        * CacheLoader.subproj/IFURLDiskCache.m:
        (-[IFURLDiskCache initWithSizeLimit:path:]): Added code that calls into new database methods
        (-[IFURLDiskCache dealloc]): Added missing call to [super dealloc]
        (-[IFURLDiskCache setSizeLimit:]): New
        (-[IFURLDiskCache usage]): New
        * Database.subproj/IFDatabase.h:
        * Database.subproj/IFDatabase.m:
        (-[IFDatabase initWithPath:]): Added code to track size limit and usage
        (-[IFDatabase isOpen]): Added code to track size limit and usage
        (-[IFDatabase count]): New
        (-[IFDatabase sizeLimit]): New
        (-[IFDatabase setSizeLimit:]): New
        (-[IFDatabase usage]): New
        * Database.subproj/IFNDBMDatabase.h: Removed.
        * Database.subproj/IFNDBMDatabase.m: Removed.
        * Database.subproj/IFURLFileDatabase.h:
        * Database.subproj/IFURLFileDatabase.m:
        (+[IFURLFileDatabase uniqueFilePathForKey:]): Moved to private category
        (-[IFURLFileDatabase writeSizeFile:]): New
        (-[IFURLFileDatabase readSizeFile]): New
        (-[IFURLFileDatabase truncateToSizeLimit:]): New
        (-[IFURLFileDatabase initWithPath:]): Added code to deal with size reckoning
        (-[IFURLFileDatabase removeAllObjects]): Added code to deal with size reckoning
        (-[IFURLFileDatabase performSetObject:forKey:]): Added code to deal with size reckoning
        (-[IFURLFileDatabase performRemoveObjectForKey:]): Added code to deal with size reckoning
        (-[IFURLFileDatabase open]): Added code to deal with size reckoning
        (-[IFURLFileDatabase close]): Added code to deal with size reckoning
        (-[IFURLFileDatabase sync]): Added code to deal with size reckoning
        (-[IFURLFileDatabase count]): New
        (-[IFURLFileDatabase setSizeLimit:]): New
        * WebFoundation.pbproj/project.pbxproj: PB has its way again.

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

20 years agoAlexander-3 versioning
sheridan [Thu, 9 May 2002 16:19:20 +0000 (16:19 +0000)]
Alexander-3 versioning

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

20 years ago Added optimizations for text rendering.
rjw [Thu, 9 May 2002 03:05:18 +0000 (03:05 +0000)]
Added optimizations for text rendering.

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

20 years ago * Misc.subproj/IFCache.h: Add more JavaScript object statistics.
darin [Thu, 9 May 2002 00:11:33 +0000 (00:11 +0000)]
* Misc.subproj/IFCache.h: Add more JavaScript object statistics.
* Misc.subproj/IFCache.mm:
(+[IFCache javaScriptInterpretersCount]): New.
(+[IFCache javaScriptNoGCAllowedObjectsCount]): New.
(+[IFCache javaScriptReferencedObjectsCount]): New.

* WebKit.pbproj/project.pbxproj: Rearranged two files, dunno why.

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

20 years ago * kjs/collector.h:
darin [Thu, 9 May 2002 00:11:06 +0000 (00:11 +0000)]
* kjs/collector.h:
* kjs/collector.cpp:
Add three new functions so we can see a bit more about leaking JavaScriptCore.

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

20 years ago Cleaned up mach-o plug-in support.
cblu [Wed, 8 May 2002 20:22:59 +0000 (20:22 +0000)]
    Cleaned up mach-o plug-in support.

        Changed the init method in IFPlugin to initWithPath.

        * Plugins.subproj/IFPlugin.h:
        * Plugins.subproj/IFPlugin.m:
        (-[IFPlugin initWithPath:]):
        (-[IFPlugin load]):
        * Plugins.subproj/IFPluginDatabase.m:

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

20 years agoForgot include.
darin [Wed, 8 May 2002 18:37:00 +0000 (18:37 +0000)]
Forgot include.

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

20 years ago * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _setTitle:]):
darin [Wed, 8 May 2002 18:29:59 +0000 (18:29 +0000)]
* WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _setTitle:]):
Use _IF_stringByTrimmingWhitespace.

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

20 years ago First pass at font substitution. Find a substitute font to
rjw [Tue, 7 May 2002 23:51:24 +0000 (23:51 +0000)]
    First pass at font substitution.  Find a substitute font to
        use when the specified font doesn't have glyphs for the characters that
        need to be drawn.

        Works correctly but hasn't been optimized yet, VERY slow.
        Will optimize this evening and tomorrow.  Try www.yahoo.co.jp,
        it will take a long time to render be eventually will draw correctly.

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

20 years ago * kwq/KWQFontMetrics.mm: Fixed storage leak by initializing refCount.
darin [Tue, 7 May 2002 23:36:19 +0000 (23:36 +0000)]
* kwq/KWQFontMetrics.mm: Fixed storage leak by initializing refCount.

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

20 years ago Oops. These files don't belong at the top level.
darin [Tue, 7 May 2002 21:41:33 +0000 (21:41 +0000)]
Oops. These files don't belong at the top level.

* IFWebCoreViewFactory.h: Removed.
* IFWebCoreViewFactory.m: Removed.
* WebCoreSupport.subproj/IFWebCoreViewFactory.h: Added.
* WebCoreSupport.subproj/IFWebCoreViewFactory.m: Added.
* WebKit.pbproj/project.pbxproj:

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

20 years agoWebCore:
darin [Tue, 7 May 2002 21:10:38 +0000 (21:10 +0000)]

Move more plugin code into WebKit.

Stop using IF for anything in WebCore to help make it clear what's part of
the BSD licensed stuff and what's part of our proprietary stuff.

* libwebcore.exp: Names of what exported changed.
* kwq/Makefile.am: Source file names changed.

* kwq/IFTextRenderer.h: Renamed to WebCoreTextRenderer.
* kwq/IFTextRendererFactory.h: Renamed to WebCoreTextRendererFactory.
* kwq/IFTextRendererFactory.m: Renamed to WebCoreTextRendererFactory.
* kwq/WebCoreTextRenderer.h: Renamed from IFTextRenderer.
* kwq/WebCoreTextRendererFactory.h: Renamed from IFTextRendererFactory.
* kwq/WebCoreTextRendererFactory.m: Renamed from IFTextRendererFactory.

* kwq/KWQFontMetrics.mm:
* kwq/KWQPainter.mm:
Updated for IF -> WebCore name change.

* kwq/WebCoreViewFactory.h: Added.
* kwq/WebCoreViewFactory.m: Added.

* kwq/KWQKConfigBase.mm: (KConfig::readEntry): (KConfig::readNumEntry):
Use the new [WebCoreViewFactory pluginsInfo] so we don't have to have
the plugin database in WebCore any more.

* kwq/WCJavaAppletWidget.h:
* kwq/WCJavaAppletWidget.mm: (IFJavaAppletWidgetCreate):
* kwq/WCPluginWidget.h:
* kwq/WCPluginWidget.mm: (IFPluginWidgetCreate):
Remove creation function machinery, and use the WebCoreViewFactory instead.

* kwq/WCPlugin.h: Moved to WebKit.
* kwq/WCPlugin.mm: Moved to WebKit.
* kwq/WCPluginDatabase.h: Moved to WebKit.
* kwq/WCPluginDatabase.mm: Moved to WebKit.
* kwq/npapi.h: Moved to WebKit.
* kwq/npapi.mm: Moved to WebKit.


Move more plugin code here from WebCore.

* IFWebCoreViewFactory.h: Added.
* IFWebCoreViewFactory.m: Added.

* Plugins.subproj/IFPlugin.h: Moved from WebCore.
* Plugins.subproj/IFPlugin.m: Moved from WebCore.
* Plugins.subproj/IFPluginDatabase.h: Moved from WebCore.
* Plugins.subproj/IFPluginDatabase.m: Moved from WebCore.
* Plugins.subproj/npapi.h: Moved from WebCore.
* Plugins.subproj/npapi.m: Moved from WebCore.

* WebKit.pbproj/project.pbxproj: Source file names changed

* MIME.subproj/IFMIMEDatabase.m:
* MIME.subproj/IFMIMEHandler.m:
* Plugins.subproj/IFPluginView.h:
* Plugins.subproj/IFPluginView.mm:
Updated for WC -> IF name change.

* WebCoreSupport.subproj/IFCachedTextRenderer.h: Renamed to IFTextRenderer.
* WebCoreSupport.subproj/IFCachedTextRenderer.m: Renamed to IFTextRenderer.
* WebCoreSupport.subproj/IFCachedTextRendererFactory.h: Renamed to IFTextRendererFactory.
* WebCoreSupport.subproj/IFCachedTextRendererFactory.m: Renamed to IFTextRendererFactory.
* WebCoreSupport.subproj/IFTextRenderer.h: Renamed from IFCachedTextRenderer.
* WebCoreSupport.subproj/IFTextRenderer.m: Renamed from IFCachedTextRenderer.
* WebCoreSupport.subproj/IFTextRendererFactory.h: Renamed from IFCachedTextRendererFactory.
* WebCoreSupport.subproj/IFTextRendererFactory.m: Renamed from IFCachedTextRendererFactory.
Renamed to take "Cached" out of the name now that the simpler name is

* WebView.subproj/IFWebView.mm:
(-[IFWebView initWithFrame:]): Create shared IFWebCoreViewFactory.
(-[IFWebView delayLayout:]): Use WEBKITDEBUG, not KWQDEBUG.
(-[IFWebView notificationReceived:]): Use WEBKITDEBUG, not KWQDEBUG.

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

20 years ago * Tools/Scripts/cvs-fix-patch: Tweak error handling a tiny bit,
darin [Tue, 7 May 2002 15:56:45 +0000 (15:56 +0000)]
* Tools/Scripts/cvs-fix-patch: Tweak error handling a tiny bit,
make usage error go to stderr, and make it not touch the file if
dift -f doesn't end up fixing anything.

* Tools/Scripts/mv-if-different: Added. Useful to overwrite a file
with a new version without touching the mod date if they are equal.

* Tools/Scripts/set-alex-version: Use mv-if-different so we don't
touch files if we aren't changing anything.


Use isEqualToString: instead of isEqual: more consistently. But only for strings.

* CacheLoader.subproj/IFHTTPURLProtocolHandler.m:
(+[IFHTTPURLProtocolHandler canonicalizeURL:]):


Use isEqualToString: instead of isEqual: more consistently. But only for strings.

* WebCoreSupport.subproj/IFCachedTextRendererFactory.m:
(-[IFFontCacheKey isEqual:]):
* WebView.subproj/IFBaseWebController.mm:
(-[IFBaseWebController _frameNamed:fromFrame:]):


Use isEqualToString: instead of isEqual: more consistently. But only for strings.

* AppController.m:
(-[AppController handleGURLEvent:withReplyEvent:]):
* BookmarksController.m:
(-[BookmarksController outlineView:objectValueForTableColumn:byItem:]):
(-[BookmarksController outlineView:setObjectValue:forTableColumn:byItem:]):
* BrowserWindow.m:
(-[BrowserWindow setLocationFieldText:]):
(-[BrowserWindow toolbar:itemForItemIdentifier:willBeInsertedIntoToolbar:]):
(-[BrowserWindow toolbarWillAddItem:]):
* Debug/DOMTree.mm:
(-[DOMTreeDataSource outlineView:objectValueForTableColumn:byItem:]):
* Debug/RenderTree.mm:
(-[RenderTreeDataSource outlineView:objectValueForTableColumn:byItem:]):
* LocationChangeHandler.m:
(-[LocationChangeHandler _saveScrollPosition]):
(-[LocationChangeHandler _restoreScrollPosition]):
* StopAndGoButton.m:
(-[StopAndGoButton setActiveImageSet:]):
* Test/PageLoadTestController.m:
(-[PageLoadTestController tableView:objectValueForTableColumn:row:]):

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

20 years ago Some improvements to the bookmark changed notifications.
sullivan [Tue, 7 May 2002 01:27:20 +0000 (01:27 +0000)]
Some improvements to the bookmark changed notifications.

* Bookmarks.subproj/IFBookmarkGroup.h:
* Bookmarks.subproj/IFBookmarkGroup.m:
(-[IFBookmarkGroup _sendChangeNotificationForBookmark:childrenChanged:]):
(-[IFBookmarkGroup _setTopBookmark:]):
(-[IFBookmarkGroup _bookmarkDidChange:]):
(-[IFBookmarkGroup _bookmarkChildrenDidChange:]):
Send bookmark that changed and whether its children changed as part of
change notifications, so clients can choose to do less unnecessary work.

* Bookmarks.subproj/IFBookmarkLeaf.m:
(-[IFBookmarkLeaf setTitle:]): Check for the no-change case
and bail out without sending notification when you find it.

Fixed 2919147 (Organize Bookmarks menu item doesn't do anything).

First check-in of Bookmarks window. You can remove one or more bookmarks,
and you can edit the title & address of existing bookmarks, but that's all
so far. Removed the Erase All Bookmarks item from the Debug menu since you
can do it easily from the Bookmarks window now. Added keyboard equivalents
for the Bookmarks, History, and Activity Viewer windows in the style of
Mail. Also miscellaneous cleanups.

* BookmarksController.h: Added.
* BookmarksController.m: Added.
(-[BookmarksController shouldCascadeWindows]):
(-[BookmarksController _receivedBookmarksChangedNotification:]):
(-[BookmarksController _setUpToolbar]):
(-[BookmarksController windowDidLoad]):
(-[BookmarksController dealloc]):
(-[BookmarksController _removeAllBookmarks]):
(-[BookmarksController _removeSelectedBookmarks:]):
(-[BookmarksController outlineView:child:ofItem:]):
(-[BookmarksController outlineView:isItemExpandable:]):
(-[BookmarksController outlineView:numberOfChildrenOfItem:]):
(-[BookmarksController outlineView:objectValueForTableColumn:byItem:]):
(-[BookmarksController outlineView:setObjectValue:forTableColumn:byItem:]):
(-[BookmarksController outlineView:willDisplayCell:forTableColumn:item:]):
(-[BookmarksController toolbar:itemForItemIdentifier:willBeInsertedIntoToolbar:]):
(-[BookmarksController toolbarAllowedItemIdentifiers:]):
(-[BookmarksController toolbarDefaultItemIdentifiers:]):
(-[BookmarksController toolbarDidRemoveItem:]):
(-[BookmarksController toolbarWillAddItem:]):
(-[BookmarksController validateUserInterfaceItem:]):
New class that manages the Bookmarks window.

* AppController.h:
* AppController.m:
(-[AppController dealloc]): release bookmarks controller.
(-[AppController showBookmarks:]): create bookmarks controller if necessary,
and tell it to show its window.

* BrowserWindow.m:
Changed static strings to #defines.
(-[BrowserWindow setUpToolbar]): Remove call that explicitly sets toolbar
display mode; we've no reason to override the default.

* Debug/DebugUtilities.m:
(-[DebugUtilities createDebugMenu]):
Remove Erase All Bookmarks.

* English.lproj/Bookmarks.nib: New nib file for Bookmarks window.

* English.lproj/MainMenu.nib: Wired up "Organize Bookmarks..." and
"Bookmarks" menu items; added keyboard shortcuts for Window menu items.

* GlobalHistory.m:
(-[GlobalHistory outlineView:objectValueForTableColumn:byItem:]):
Changed two isEquals to isEqualToStrings.
(-[GlobalHistory _anyURLsSelected]): Replaced anyDatesSelected with this.
(-[GlobalHistory updateButtons]): Allow Add to Bookmarks to be enabled even if
some dates are selected; just ignore them (at least one non-date has to be selected).
(-[GlobalHistory addSelectedItemsToBookmarks:]): Removed obsolete comment.

* Resources/Images/delete.tiff: New image, stolen for mail, used in Bookmarks window.

* WebBrowser.pbproj/project.pbxproj: Updated for new files.

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

20 years agoi * Makefile.am: Generate the PFE precompiled headers to be used
darin [Mon, 6 May 2002 23:40:45 +0000 (23:40 +0000)]
i * Makefile.am: Generate the PFE precompiled headers to be used
by automake compiles. Currently these don't have any dependency
tracking, but I'm sure Maciej can fix that if he wants to.

* configure.in: Go from "xNDEBUG" to "NDEBUG" now that precompiled
headers aren't in the way. Pass in the --load-pch option to all the
various compiles so they get the precompiled headers.

* Tests/libiftest/Makefile.am: Generate a top_srcdir.h file rather
than passing it in on the command line. This works around a PFE bug
with -D, Radar 2921026.
* Tests/libiftest/IFTestDirectory.c: Use top_srcdir.h.
* Tests/libiftest/.cvsignore: Ignore top_srcdir.h.

* Tests/qt/qpoint-test.cpp: (main): Take out an unused variable and

* Tools/Makefile.am: Don't built the HotSpots directory for now, since
it runs into a PFE bug and we usually use the application version now.

* Tools/Scripts/check-non-ASCII: Skip preprocessor directives.
* Tools/Scripts/cvs-abandon: Tweak.


* JavaScriptCorePrefix.h: Added.
* JavaScriptCore.pbproj/project.pbxproj: Use PFE precompiling.
Also switch from xNDEBUG to NDEBUG.


Reviewed by Ken Kocienda:

* WebFoundationPrefix.h: Added.
* WebFoundation.pbproj/project.pbxproj: Use PFE precompiling.
Also switch from xNDEBUG to NDEBUG.

* AuthenticationManager.subproj/IFAuthenticationManager.m:
* CookieManager.subproj/IFCookie.m:
* Misc.subproj/IFNSStringExtensions.m:
* Misc.subproj/WebFoundationDebug.m:
Add undefs to work around PFE problem with inline functions, Radar 2920554.

* CacheLoader.subproj/IFHTTPURLProtocolHandler.m:
Fix include to work with normal Project Builder way of dealing with frameworks.
Switch from xNDEBUG to NDEBUG.

* CacheLoader.subproj/IFURLLoad.m:
* CookieManager.subproj/IFCookie.m:
* Database.subproj/IFURLFileDatabase.m:
* Misc.subproj/IFError.m:
* Misc.subproj/IFMonitor.h:
* Misc.subproj/IFMonitor.m:
* Misc.subproj/IFRecursiveReadWriteLock.h:
Use import instead of include.

* Misc.subproj/IFCFNetworkExtensions.m: Added.
* Misc.subproj/IFCFRunLoopExtensions.m: Added.
* Misc.subproj/IFCFNetworkExtensions.c: Removed.
* Misc.subproj/IFCFRunLoopExtensions.c: Removed.
Renamed so we could share the Objective-C precompile. No need to compile this code
as plain C, even though it doesn't use any Objective-C features.

* Misc.subproj/WebFoundationDebug.h: Get rid of format attribute because of bug
2920557. Switch from xNDEBUG to NDEBUG.


* WebCorePrefix.h: Added.

* .cvsignore: Ignore the .pfe files in this directory.

* khtml/dom/dom_doc.cpp:
* khtml/dom/dom_text.cpp:
Added namespace directives as a clean workaround for a conflict
with the struct named Comment in <Carbon/AIFF.h>

* kwq/KWQFont.mm:
* kwq/KWQFontMetrics.mm:
* kwq/KWQKGlobal.mm:
* kwq/KWQListImpl.mm:
* kwq/KWQPtrDictImpl.h:
* kwq/KWQVectorImpl.mm:
* kwq/kwqdebug.h:
* kwq/qt/qcolor.h:
* kwq/qt/qcombobox.h:
* kwq/qt/qregion.h:
* kwq/qt/qstring.h:
* kwq/qt/qwidget.h:
Remove old workaround for conflicts with Fixed, Rect, and Boolean.
It does not good with a precompiled header anyway, and there is a
more elegant small fix in the KDE code itself.

* kwq/qt/qpoint.h:
* kwq/KWQPointArray.mm: (QPointArray::setPoints):
Work around bug with va_arg and PFE by not using varargs here.

* kwq/KWQRect.mm: (QRect::unite): (QRect::operator&):
Use std::min and std::max instead of defining our own MIN and MAX, which
conflict with something in one of the headers we are precompiling (error
message did not make it clear which).

* kwq/KWQView.mm: (-[KWQHTMLView layout]), (-[KWQHTMLView drawRect:]):
Switch from xNDEBUG to NDEBUG.

* kwq/Makefile.am: Remove stuff for getting at the header inside the
ApplicationServices and QD frameworks, since that code is now in WebKit.

* kwq/kwqdebug.h: Get rid of format attribute because of bug 2920557.
Switch from xNDEBUG to NDEBUG.

* kwq/kwqdebug.mm: Switch from xNDEBUG to NDEBUG.

* kwq/qt/qstring.h: Define QT_VERSION in here instead of on the command
line to work around a PFE bug with -D, Radar 2921026.


* WebKitPrefix.h: Added.
* WebKit.pbproj/project.pbxproj: Use PFE precompiling.
Also switch from xNDEBUG to NDEBUG.

* Misc.subproj/WebKitDebug.h: Get rid of format attribute because of bug
2920557. Switch from xNDEBUG to NDEBUG.

* Misc.subproj/WebKitDebug.m:
Add undef to work around PFE problem with inline functions, Radar 2920554.

* Plugins.subproj/IFPluginView.mm: Changed how we work around the bug in
the CGS defines.

* WebCoreSupport.subproj/IFCachedTextRenderer.h: Change include of the
private QD header to use the form that works with more-normal way of
getting at the private bits of frameworks.

* WebCoreSupport.subproj/IFCachedTextRenderer.m: Use the header
<CoreGraphics/CoreGraphicsPrivate.h> instead of <CoreGraphics/CGFontPrivate.h>.

* Misc.subproj/IFCache.mm:
* WebView.subproj/IFLoadProgress.mm:
* WebView.subproj/IFWebFrame.mm:
* WebView.subproj/IFWebFramePrivate.mm:
* WebView.subproj/IFWebView.mm:
Changed includes to imports.


* WebBrowserPrefix.h: Added.
* WebBrowser.pbproj/project.pbxproj: Use PFE precompiling.
Also switch from xNDEBUG to NDEBUG.

* Debug/CacheController.m: Renamed to make it Objective C rather
than Objective C++.
* Debug/CacheController.mm: Removed.

* main.m: Use the real __CFA2UC. Use import instead of include.
* ___CFA2UC.c: Remove our copy.

* Debug/DOMTree.mm:
* Debug/RenderTree.mm:
* Preferences.subproj/ActiveContentPreferences.h:
* Preferences.subproj/AppearancePreferences.h:
* Preferences.subproj/GeneralPreferences.h:
* Preferences.subproj/SecurityPreferences.h:
* Preferences.subproj/TextPreferences.h:
* Preferences.subproj/WBPreferences.h:
* Test/PageLoadTestLogger.m:
Use import instead of include.

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

20 years ago Made start and stop work cleaner.
cblu [Mon, 6 May 2002 23:14:12 +0000 (23:14 +0000)]
    Made start and stop work cleaner.

        Now observe defaults changes so that plug-ins
        are disabled or enabled immediately (2871725).

        * Plugins.subproj/IFPluginNullEventSender.m:
        (-[IFPluginNullEventSender sendNullEvents]):
        * Plugins.subproj/IFPluginView.h:
        * Plugins.subproj/IFPluginView.mm:
        (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]):
        (-[IFPluginView start]):
        (-[IFPluginView stop]):
        (-[IFPluginView drawRect:]):
        (-[IFPluginView windowWillClose:]):
        (-[IFPluginView defaultsHaveChanged:]):

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

20 years ago Fixed width measurement regression. We lost the final ROUND_TO_INT
rjw [Mon, 6 May 2002 22:56:55 +0000 (22:56 +0000)]
    Fixed width measurement regression.  We lost the final ROUND_TO_INT
        in the width measurement funtion after the move from WebCore.

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

20 years ago Changes to support dhmtl.
rjw [Mon, 6 May 2002 20:49:09 +0000 (20:49 +0000)]
    Changes to support dhmtl.
        Changes to support targeting (regression after 3.0 merge).

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

20 years ago * Resources/url_icon.tiff: New bookmarks/history icon, looks
sullivan [Mon, 6 May 2002 16:31:08 +0000 (16:31 +0000)]
* Resources/url_icon.tiff: New bookmarks/history icon, looks
more like the springy @ sign as seen from above, less like text.

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

20 years ago * khtml/css/cssstyleselector.cpp:
darin [Sat, 4 May 2002 00:27:22 +0000 (00:27 +0000)]
* khtml/css/cssstyleselector.cpp:
* khtml/dom/css_value.cpp:
* khtml/xml/dom_stringimpl.cpp:
Put in some namespace-related statements to more-elegantly work around the
conflicts between Macintosh and khtml identifiers.

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

20 years ago Along with small corresponding WebBrowser change,
sullivan [Fri, 3 May 2002 23:05:33 +0000 (23:05 +0000)]
Along with small corresponding WebBrowser change,
fixed 2919172 (Bookmarks aren't saved between sessions).

* Bookmarks.subproj/IFBookmark_Private.h: Declarations for new private methods.
* Bookmarks.subproj/IFBookmark.m:
(-[IFBookmark _numberOfDescendants]): New private method, counts deep; used
only for debugging messages at this time.
(-[IFBookmark _initFromDictionaryRepresentation:withGroup:]):
(-[IFBookmark _dictionaryRepresentation]): New private methods used to save/load
bookmarks. Stub implementations; subclasses must implement.

* Bookmarks.subproj/IFBookmarkLeaf.m:
(-[IFBookmarkLeaf _initFromDictionaryRepresentation:withGroup:]):
(-[IFBookmarkLeaf _dictionaryRepresentation]): New methods.

* Bookmarks.subproj/IFBookmarkList.m:
(-[IFBookmarkList _initFromDictionaryRepresentation:withGroup:]):
(-[IFBookmarkList _dictionaryRepresentation]):
(-[IFBookmarkList _numberOfDescendants]):
New methods.
(-[IFBookmarkList _setGroup:]): Recurse on children.

* Bookmarks.subproj/IFBookmarkGroup.h: New _loading instance variable.

* Bookmarks.subproj/IFBookmarkGroup.m:
(-[IFBookmarkGroup _setTopBookmark:]): Renamed from _resetTopBookmark,
now has potentially non-nil argument.
(-[IFBookmarkGroup initWithFile:]),
(-[IFBookmarkGroup removeBookmark:]): Updated for name change.
(-[IFBookmarkGroup _sendBookmarkGroupChangedNotification]):
Don't send notifications while loading bookmarks from disk.
(-[IFBookmarkGroup _loadBookmarkGroupGuts]),
(-[IFBookmarkGroup loadBookmarkGroup]),
(-[IFBookmarkGroup _saveBookmarkGroupGuts]),
(-[IFBookmarkGroup saveBookmarkGroup]): New methods, load/save bookmarks
and report timings.

* History.subproj/IFURIEntry.m:
(-[IFURIEntry dictionaryRepresentation]),
(-[IFURIEntry initFromDictionaryRepresentation:]): Handle nil URL
case, which bookmarks run into.

* WebKit.pbproj/project.pbxproj: version wars

* AppController.m:
(-[AppController applicationWillTerminate:]):
Save bookmarks at quit time.

* WebBrowser.pbproj/project.pbxproj: version wars

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

20 years ago * WebCoreSupport.subproj/IFCachedTextRenderer.m: Remove some of the unused code.
darin [Fri, 3 May 2002 21:52:47 +0000 (21:52 +0000)]
* WebCoreSupport.subproj/IFCachedTextRenderer.m: Remove some of the unused code.
I was going to wait and let Richard do it next week, but I was unable to control
my urge to hack on it.

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

20 years ago * Resources/url_icon.tiff: Improved icon. Could be better.
darin [Fri, 3 May 2002 19:03:32 +0000 (19:03 +0000)]
* Resources/url_icon.tiff: Improved icon. Could be better.

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

20 years agoRevert icon, oops.
darin [Fri, 3 May 2002 18:42:27 +0000 (18:42 +0000)]
Revert icon, oops.

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

20 years agoWebCore:
darin [Fri, 3 May 2002 18:36:23 +0000 (18:36 +0000)]

* kwq/IFTextRenderer.h: Added.
* kwq/IFTextRendererFactory.h: Added.
* kwq/IFTextRendererFactory.m: Added.
These three are the new API for supplying text rendering machinery for WebCore.
The implementation is in WebKit. Later we might want to flesh out the default
implementation in WebCore so that it works OK by itself.

* khtml/rendering/font.cpp: (Font::width): Function is now "width" without
an underscore. We don't really need to hide the overload we added in this

* kwq/qt/qfont.h: Simplify a lot. Doesn't hold an NSFont any more.
* kwq/KWQFont.mm:
(QFont::QFont): Eliminated the concept of "default font". Also, a QFont no
longer holds an NSFont object. That's handled inside IFTextRenderer machinery.
(QFont::~QFont): Simplify since we don't have an NSFont.
(QFont::setFamily): Simplify since we don't have an NSFont.
(QFont::setPixelSize): Simplify since we don't have an NSFont.
(QFont::setPixelSizeFloat): Simplify since we don't have an NSFont.
(QFont::setWeight): Simplify since we don't have an NSFont.
(QFont::weight): Fix a bug where it would return Normal for a QFont that was
both bold and italic.
(QFont::setItalic): Simplify since we don't have an NSFont.
(QFont::italic): Simplify since we have real "bool".
(QFont::bold): Simplify since we have real "bool".
(QFont::operator=): Simplify since we don't have an NSFont.
(QFont::operator==): Rewrite since we don't have an NSFont.

* kwq/qt/qfontmetrics.h: Simplify a little. The _width() method is now just an
overload of the width() method. The main change was removing the include of Cocoa.h.
* kwq/KWQFontMetrics.mm:
Move most of the code out of here into WebKit.
(QFontMetrics::ascent): Get it from the renderer.
(QFontMetrics::descent): Get it from the renderer.
(QFontMetrics::lineSpacing): Get it from the renderer.
(QFontMetrics::width): Get it from the renderer.
(QFontMetrics::boundingRect): Combine width and height that came from the renderer.
(QFontMetrics::size): Combine width and height that came from the renderer.

* kwq/Makefile.am: Add IFTextRendererFactory.m, remove KWQTextStorage.mm and KWQTextContainer.mm.
* kwq/KWQMetrics.h: Removed.
* kwq/KWQTextContainer.h: Removed.
* kwq/KWQTextContainer.mm: Removed.
* kwq/KWQTextStorage.h: Removed.
* kwq/KWQTextStorage.mm: Removed.

* kwq/KWQPainter.mm:
Move most of the code out of here into WebKit.
(QPainter::drawText): Call the renderer to do it.
(QPainter::drawUnderlineForText): Call the renderer to do it.

* libwebcore.exp: Export the IFTextRendererFactory class.


* Misc.subproj/WebKitDebug.h: Add WEBKIT_LOG_MEMUSAGE, WEBKIT_LOG_FONTCACHE, and
WEBKIT_LOG_FONTCACHECHARMISS for font code moved here from WebCore.

* Resources/url_icon.tiff: New URL icon?

* WebCoreSupport.subproj/IFCachedTextRenderer.h: Added.
* WebCoreSupport.subproj/IFCachedTextRenderer.m: Added.
* WebCoreSupport.subproj/IFCachedTextRendererFactory.h: Added.
* WebCoreSupport.subproj/IFCachedTextRendererFactory.m: Added.
This has code moved here from WebCore.

* WebKit.pbproj/project.pbxproj: Add the new source files.

* Bookmarks.subproj/IFBookmarkLeaf.m:
(-[IFBookmarkLeaf setURLString:]): Use copy instead of initWithString.
* Bookmarks.subproj/IFBookmarkList.m:
(-[IFBookmarkList initWithTitle:image:group:]): Use copy instead of stringWithString.
(-[IFBookmarkList setTitle:]): Use copy instead of stringWithString.
* WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _setTitle:]):
Use mutableCopy instead of stringWithString.
* WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]): Use copy instead
of stringWithString.

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

20 years ago * AuthenticationManager.subproj/IFAuthenticationRequest.m:
darin [Fri, 3 May 2002 18:07:05 +0000 (18:07 +0000)]
* AuthenticationManager.subproj/IFAuthenticationRequest.m:
(-[IFAuthenticationRequest initWithURL:realm:username:passwordSentInClear:previousFailures:callback:]):
* AuthenticationManager.subproj/IFAuthenticationResult.m:
(-[IFAuthenticationResult initWithUsername:password:]):
* Database.subproj/IFDatabase.m:
(-[IFDatabase initWithPath:]):
Simplify code by using [copy] instead of [NSString initWithString:].

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

20 years ago * Bookmarks.subproj/IFBookmark.h:
sullivan [Thu, 2 May 2002 23:57:40 +0000 (23:57 +0000)]
* Bookmarks.subproj/IFBookmark.h:
* Bookmarks.subproj/IFBookmark.m:
(-[IFBookmark setTitle:]):
(-[IFBookmark setImage:]):
(-[IFBookmark setURLString:]):
(-[IFBookmark insertChild:atIndex:]):
(-[IFBookmark removeChild:]):
(-[IFBookmark _parent]):
(-[IFBookmark _group]):
* Bookmarks.subproj/IFBookmarkGroup.h:
* Bookmarks.subproj/IFBookmarkGroup.m:
(-[IFBookmarkGroup _resetTopBookmark]):
(-[IFBookmarkGroup _bookmarkDidChange:]):
(-[IFBookmarkGroup _bookmarkChildrenDidChange:]):
(-[IFBookmarkGroup removeBookmark:]):
(-[IFBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:image:URLString:isLeaf:]):
* Bookmarks.subproj/IFBookmarkLeaf.m:
(-[IFBookmarkLeaf setTitle:]):
(-[IFBookmarkLeaf setImage:]):
(-[IFBookmarkLeaf setURLString:]):
* Bookmarks.subproj/IFBookmarkList.m:
(-[IFBookmarkList setTitle:]):
(-[IFBookmarkList setImage:]):
(-[IFBookmarkList removeChild:]):
(-[IFBookmarkList insertChild:atIndex:]):
* Bookmarks.subproj/IFBookmark_Private.h:
Made _parent and _group private; made setTitle, setImage, setURLString,
insertChild:atIndex:, and removeChild: public.

* Bookmarks.subproj/IFBookmarkGroup_Private.h: Added.
* WebKit.pbproj/project.pbxproj: Changed for new file.

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

20 years ago Implemented removing the root node bookmark (i.e.,
sullivan [Thu, 2 May 2002 22:31:10 +0000 (22:31 +0000)]
Implemented removing the root node bookmark (i.e.,
removing all bookmarks with one call).

* Bookmarks.subproj/IFBookmarkGroup.m:
(-[IFBookmarkGroup _resetTopBookmark]): New method, releases
old topBookmark and creates new one.
(-[IFBookmarkGroup initWithFile:]): Call _resetTopBookmark.
(-[IFBookmarkGroup removeBookmark:]): If the bookmark being
removed is the top one, call _resetTopBookmark.

Added "Erase All Bookmarks" menu item to Debug menu, which will be
handy in the interim between making bookmarks persistent and making
them organizable (they are neither yet).

Along the way, made DebugUtilities be a shared instance instead of
a collection of class methods, to make some innards easier to

* Debug/DebugUtilities.h: new class method sharedDebugUtilities;
changed other class methods to instance methods; made _debugMenu
an instance variable.

* Debug/DebugUtilities.m:
(-[DebugUtilities dealloc]): release _debugMenu.
(+[DebugUtilities sharedDebugUtilities]): New method.
(-[DebugUtilities addDebugBookmarkToMenu:forURL:keyEquivalent:]):
(-[DebugUtilities pathForDebugBookmarks]):
(-[DebugUtilities loadDebugBookmarks]):
(-[DebugUtilities conditionallyDisplayPageLoadTestWindow]):
Changed class methods to instance methods. Also updated private
AppController method name that had changed, causing the debug
bookmarks to become disabled with my last checkin.
(-[DebugUtilities eraseAllBookmarks:]): New method.
(-[DebugUtilities createDebugMenu]): Add "Erase All Bookmarks"
menu item, with -eraseAllBookmarks as callback.

* AppController.m:
(-[AppController awakeFromNib]): use sharedDebugUtilities where a
class method used to work.

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

20 years ago Some more implementation of bookmarks code, enough to support
sullivan [Thu, 2 May 2002 19:53:22 +0000 (19:53 +0000)]
Some more implementation of bookmarks code, enough to support
adding bookmarks to the Bookmarks menu (but not yet enough to
support persistent bookmarks).

* Bookmarks.subproj/IFBookmark_Private.h:
* Bookmarks.subproj/IFBookmark.h:
* Bookmarks.subproj/IFBookmark.m:
(-[IFBookmark numberOfChildren]): New public method, stub implementation.
(-[IFBookmark _removeChild:]): New private method, stub implementation.

* Bookmarks.subproj/IFBookmarkGroup.h:
* Bookmarks.subproj/IFBookmarkGroup.m:
(-[IFBookmarkGroup _sendBookmarkGroupChangedNotification]):
(-[IFBookmarkGroup removeBookmark:]):
(-[IFBookmarkGroup addNewBookmarkToBookmark:withTitle:image:URLString:isLeaf:]):
(-[IFBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:image:URLString:isLeaf:]):
(-[IFBookmarkGroup updateBookmark:title:image:URLString:]):
Changed "URL" to "URLString" in several places, added a "with"
to some parameter names; added addNewBookmarkToBookmark public
method; added notification that's sent when bookmarks are added or removed.

* Bookmarks.subproj/IFBookmarkLeaf.h:
* Bookmarks.subproj/IFBookmarkLeaf.m:
(-[IFBookmarkLeaf initWithURLString:title:image:group:]):
Added image parameter.

* Bookmarks.subproj/IFBookmarkList.m:
(-[IFBookmarkList numberOfChildren]): New method.
(-[IFBookmarkList _removeChild:]): Implemented.

Fixed 2917086 (Add Bookmark is not yet implemented). You
can now add bookmarks to the Bookmarks menu, and they work.
However, they aren't yet persistent, and there's only a flat
list that you can't yet reorder.

* AppController.h: Added instance variables for bookmarks stuff;
added +standardBookmarks method.

* AppController.m:
(-[AppController awakeFromNib]): Move history notification setup from
here to -webHistory; added call to _updateBookmarksInMenu, and FIXME
about doing this lazily eventually.
(-[AppController dealloc]): release bookmarks.
(-[AppController webHistory]): Moved history notification setup to here.
(-[AppController menuTitleForURL:withTitle:]): Improved assert.

(-[AppController _setUpStringTruncator]):
(-[AppController _historyFilePath]):
(-[AppController _receivedHistoryChangedNotification:]):
(-[AppController _insertHistoryEntry:intoMenu:atIndex:]):
(-[AppController _insertItemsForDate:intoMenu:atIndex:withRunningTotal:limit:]):
(-[AppController _insertSubmenu:forDate:atIndex:]):
(-[AppController _takeLocationFromHistoryEntry:]):
(-[AppController _addHistoryToMenu]):
(-[AppController _updateHistoryInMenu]):
Added leading underscores to private methods, updated callers.

(-[AppController _standardBookmarksFilePath]):
(-[AppController _removeBookmarksFromMenu]):
(-[AppController _takeLocationFromBookmark:]):
(-[AppController _insertBookmark:intoMenu:atIndex:]):
(-[AppController _addBookmarksToMenu]):
(-[AppController _updateBookmarksInMenu]):
(-[AppController _receivedBookmarksChangedNotification:]):
(-[AppController standardBookmarks]): New methods.

* BrowserDocument.h:
* BrowserDocument.m:
(-[BrowserDocument addBookmark:]): New method; accessed from menu item.
(-[BrowserDocument validateUserInterfaceItem:]): Enable Add Bookmark
menu item only when there's a currentURL.

* English.lproj/MainMenu.nib: Wire up some bookmark-related stuff.

* WebBrowser.pbproj/project.pbxproj: Version wars?

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