20 years agoi Implemented rendering of diacriticals.
rjw [Sat, 2 Nov 2002 01:16:02 +0000 (01:16 +0000)]
i        Implemented rendering of diacriticals.

        * Misc.subproj/WebUnicode.h:
        * Misc.subproj/WebUnicode.m:
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:]):
        (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]):
        (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]):

        Removed old implementation.

        * kwq/KWQChar.mm:

        Renamed JoiningCenter -> JoiningCausing.

        * kwq/WebCoreUnicode.h:

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

20 years agoJavaScriptCore:
darin [Sat, 2 Nov 2002 01:10:35 +0000 (01:10 +0000)]

        * kjs/object.cpp: Make the same change Maciej just did, but to the
other constructor right next to the one he changed.


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


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

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

20 years ago - fixed 3062598 -- meta refresh of 0.1s fails
darin [Sat, 2 Nov 2002 00:28:35 +0000 (00:28 +0000)]
- fixed 3062598 -- meta refresh of 0.1s fails

KHTML was using an integer for the delay.

        * khtml/khtml_part.h: Make scheduleRedirection take a double.
        * khtml/khtmlpart_p.h: Make m_delayRedirect be a double.
        * khtml/khtml_part.cpp:
        (KHTMLPart::slotData): Use a double when parsing meta refresh.
        (KHTMLPart::checkCompleted): Cast to int when passing to timer start.
        (KHTMLPart::scheduleRedirection): Cast to int when passing to timer
start; also check for absurd values and do nothing.
        (KHTMLPart::slotParentCompleted): Cast to int when passing to timer start.

        * khtml/xml/dom_docimpl.cpp: (DocumentImpl::processHttpEquiv):
Use a double when parsing meta refresh.

        * kwq/KWQKDebug.h: Add overloads for unsigned int and double to keep us
compiling now that we use a double in one place.

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

20 years agoWebKit:
cblu [Sat, 2 Nov 2002 00:13:27 +0000 (00:13 +0000)]

Check that the plug-in is loaded before calling it.

        * Plugins.subproj/WebBaseNetscapePluginStream.h:
        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (-[WebBaseNetscapePluginStream dealloc]):
        (-[WebBaseNetscapePluginStream setPluginPointer:]):
        (-[WebBaseNetscapePluginStream setResponse:]):
        (-[WebBaseNetscapePluginStream receivedData:]):
        (-[WebBaseNetscapePluginStream destroyStreamWithReason:]):
        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
        * Plugins.subproj/WebBasePluginPackage.h:
        * Plugins.subproj/WebBasePluginPackage.m:
        (-[WebBasePluginPackage isLoaded]):
        * Plugins.subproj/WebNetscapePluginDocumentView.m:
        (-[WebNetscapePluginDocumentView setDataSource:]):
        * Plugins.subproj/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage isLoaded]):
        * Plugins.subproj/WebNetscapePluginRepresentation.m:
        (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):


Use the display name of the dataSource not the document when reporting plug-in errors.

        * LoadProgressMonitor.m:
        (-[LoadProgressMonitor pluginFailedWithError:dataSource:]):

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

20 years agoWebFoundation:
cblu [Fri, 1 Nov 2002 23:17:50 +0000 (23:17 +0000)]

        * Misc.subproj/WebError.m:


- Moved plug-in error handling to WebResourceLoadDelegate
- Report plug-in load failure, java load failure, and plug-in not found errors.
- Added WebPluginError, subclass of WebError.
- Attempted fix: 3090675 - Standalone WMP (Window Media Player) content crashes Alexander

        * English.lproj/Localizable.strings:
        * Misc.subproj/WebKitErrors.h:
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView sendEvent:]): don't send event to null function
        * Plugins.subproj/WebNetscapePluginDocumentView.m:
        (-[WebNetscapePluginDocumentView setDataSource:]): report plug-in load failure
        * Plugins.subproj/WebNullPluginView.h:
        * Plugins.subproj/WebNullPluginView.m: take a WebPluginError
        (-[WebNullPluginView dealloc]):
        (-[WebNullPluginView viewDidMoveToWindow]):
        * Plugins.subproj/WebPluginError.h: Added.
        * Plugins.subproj/WebPluginError.m: Added.
        (-[WebPluginErrorPrivate dealloc]):
        (-[WebPluginError dealloc]):
        (-[WebPluginError pluginPageURL]):
        (-[WebPluginError pluginName]):
        (-[WebPluginError MIMEType]):
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): report plug-in load failure
        (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]): report plug-in load failure
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebController.m:
        (-[WebResourceLoadDelegate pluginFailedWithError:dataSource:]): added, does nothing
        * WebView.subproj/WebControllerPolicyDelegate.h:
        * WebView.subproj/WebResourceLoadDelegate.h:
        * WebView.subproj/WebView.m:
        (+[WebView initialize]): added new error strings


- Moved plug-in error handling to WebResourceLoadDelegate

        * BrowserWebController.m:
        * English.lproj/Localizable.strings:
        * LoadProgressMonitor.m:
        (-[LoadProgressMonitor pluginNotFoundSheetEnded:returnCode:contextInfo:]):
        (-[LoadProgressMonitor pluginFailedWithError:dataSource:]): display special sheets for new errors.

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

20 years ago - fixed 3090249 -- random crash on page load
darin [Fri, 1 Nov 2002 23:00:39 +0000 (23:00 +0000)]
- fixed 3090249 -- random crash on page load
- fixed 3090286 -- assert _job in KWQResourceLoader cancel

        * kwq/KWQResourceLoader.mm: (-[KWQResourceLoader cancel]):
This function needs to handle the case where the load is already cancelled.
I think this also caused Avie's crash.

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

20 years agoWebKit:
sullivan [Fri, 1 Nov 2002 22:09:42 +0000 (22:09 +0000)]

- some weaning of WebBookmark API from WebBookmarkGroup

        * Bookmarks.subproj/WebBookmark.m:
        (-[WebBookmark dealloc]):
set group to nil instead of asserting that it's non-nil

        * Bookmarks.subproj/WebBookmarkGroup.h:
removed obsolete ivar _bookmarksByID
        * Bookmarks.subproj/WebBookmarkGroup.m:
        (-[WebBookmarkGroup initWithFile:]):
removed obsolete ivar _bookmarksByID
        (-[WebBookmarkGroup dealloc]):
removed obsolete ivar _bookmarksByID
        (-[WebBookmarkGroup removeBookmark:]):
removed this unnecessary method; callers need to use
[[bookmark parent] removeChild:bookmark] instead


- fixed bug Darin found in my recent checkin that caused rearranging
bookmarks in toolbar to fail an assertion in [WebBookmarkGroup removeBookmark:]
- fixed a leak I found in the process (bookmark rearranged in toolbar
would leak)

        * BookmarksController.m:
        (-[BookmarksController updateBookmarkSources]):
use [[bookmark parent] removeChild:bookmark] instead of
now-obsolete [[bookmark group] removeBookmark:bookmark]

        * BookmarksViewController.m:
        (-[BookmarksViewController removeBookmarks:]),
        (-[BookmarksViewController redoRemoveBookmarks:]),
        (-[BookmarksViewController undoNewBookmark:]),
        (-[BookmarksViewController moveBookmarks:toNewFolder:]):
use [[bookmark parent] removeChild:bookmark] instead of
now-obsolete [[bookmark group] removeBookmark:bookmark]

        * BrowserWebBookmarkExtras.m:
        (-[WebBookmark deleteWithUndo]):
use [[bookmark parent] removeChild:bookmark] instead of
now-obsolete [[bookmark group] removeBookmark:bookmark]

        * FavoriteButton.m:
        (-[FavoriteButton draggedImage:endedAt:operation:]):
don't use undoable delete in the drag-to-rearrange case;
added FIXME explaining why

        * FavoritesBar.m:
        (-[FavoritesBar deleteFavoritesWithURLsMatchingBookmarks:]),
        (-[FavoritesBar titleChangeSheetDidEnd:returnCode:contextInfo:]):
use [[bookmark parent] removeChild:bookmark] instead of
now-obsolete [[bookmark group] removeBookmark:bookmark]
        (-[FavoritesBar performDragOperation:]):
autorelease the copy of the bookmark in the dragged FavoriteButton

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

20 years ago Moved involved code for loading URLs from WebBridge up to WebFrame, with a little
trey [Fri, 1 Nov 2002 20:45:33 +0000 (20:45 +0000)]
Moved involved code for loading URLs from WebBridge up to WebFrame, with a little
consolidation along the way.  I need to get all this stuff in one place in prep
for doing back-forward properly with frames.  There should be no change in
functionality as a result of these changes.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge loadURL:reload:]):
        (-[WebBridge postWithURL:data:contentType:]):
        (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
Much of the guts of these is moved to WebFramePrivate.
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _setIsClientRedirect:]):
        (-[WebDataSource _isClientRedirect]):
Keep state of whether we're processing a redirect in DataSource.  I had previously
to do this with a loadType, but that failed because cliRedir is orthogonal.
        * WebView.subproj/WebFramePrivate.h:
WebFrameLoadTypeClientRedirect is gone.
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFramePrivate init]):
Initialize loadType explicitly.
        (-[WebFrame _transitionToCommitted]):
Test [dataSource _isClientRedirect] instead of looking at loadType.
        (-[WebFrame _isLoadComplete]):
Nuke WebFrameLoadTypeClientRedirect
        (-[WebFrame _goToItem:withFrameLoadType:]):
Nuke WebFrameLoadTypeClientRedirect.
        (-[WebFrame _loadRequest:]):
Helper method moved from WebBridge.
        (-[WebFrame _loadURL:loadType:clientRedirect:]):
Core impl moved up from WebBridge.
        (-[WebFrame _postWithURL:data:contentType:]):
Core impl moved up from WebBridge.

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

20 years ago - implemented loop counts
darin [Fri, 1 Nov 2002 19:51:03 +0000 (19:51 +0000)]
- implemented loop counts

        * WebCoreSupport.subproj/WebImageRenderer.h: Added repetitionsComplete field.
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer repetitionCount]): Get NSImageLoopCount.
        (-[WebImageRenderer nextFrame:]): Check repetitionCount and stop once we hit it.

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

20 years ago - fixed huge leak when doing page load test
darin [Fri, 1 Nov 2002 01:15:22 +0000 (01:15 +0000)]
- fixed huge leak when doing page load test

        * khtml/ecma/kjs_binding.h:
        * khtml/ecma/kjs_binding.cpp: Remove ScriptInterpreter::mark().
We don't want to mark the elements of m_domObjects, because we don't want
to keep them around the entire lifetime of the interpreter. This is fine
because we already have forgetDOMObject(), which takes care of when they
are deallocated.

        * khtml/ecma/kjs_dom.cpp:
        * khtml/ecma/kjs_dom.h:
        * khtml/ecma/kjs_html.cpp:
        * khtml/ecma/kjs_html.h:
Changed lots of parameters to pass by const reference for a bit of a code
size and performance gain.

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

20 years ago * WebView.subproj/WebFrame.m: (-[WebFrame setController:]): Add an assert,
darin [Fri, 1 Nov 2002 01:10:51 +0000 (01:10 +0000)]
    * WebView.subproj/WebFrame.m: (-[WebFrame setController:]): Add an assert,
hoping to catch a reported bug earlier or disprove one theory.

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

20 years ago Added API to support 3072505 - SnapBack for user-entered page address
trey [Thu, 31 Oct 2002 22:59:43 +0000 (22:59 +0000)]
Added API to support 3072505 - SnapBack for user-entered page address
Refixed 3041616 - Extra page added in back button history
Previous fix was stepped on by a later checkin.  Re-established that fix, then
went on to make sure we have the final URL and title in the BF item in the
case of a client redirect.  Also handles redirects that happen within frames.
Fixed 3078560 - div added to "back" list

        * History.subproj/WebBackForwardList.h:
        * History.subproj/WebBackForwardList.m:
        (-[WebBackForwardList containsEntry:]):
Added new API for 3072505.
        * WebCoreSupport.subproj/WebBridge.h:
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge reportClientRedirectTo:delay:fireDate:]):
        (-[WebBridge reportClientRedirectCancelled]):
        (-[WebBridge loadURL:reload:]):
Added logging.  Renamed flag.  Establish the right loadtype and set BF items
from the old dataSource onto the new dataSource in the case of a client redirect.
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _setRequest:]):
Add logging.
        (-[WebDataSource _addBackForwardItem:]):
        (-[WebDataSource _addBackForwardItems:]):
        (-[WebDataSource _backForwardItems]):
New setters/getters to support setting up the new dataSource of a client redirect.
        * WebView.subproj/WebFramePrivate.h:
New loadType WebFrameLoadTypeClientRedirect.
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _transitionToCommitted]):
Update the URL in the BF list in the client redirect case.
        (-[WebFrame _isLoadComplete]):
NOP case for WebFrameLoadTypeClientRedirect
        (-[WebFrame _goToItem:withFrameLoadType:]):
ASSERT_NOT_REACHED case for WebFrameLoadTypeClientRedirect

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

20 years ago Corrected extern definitions of lookup tables.
rjw [Thu, 31 Oct 2002 22:15:25 +0000 (22:15 +0000)]
    Corrected extern definitions of lookup tables.

        * Misc.subproj/WebUnicode.h:
        * Misc.subproj/WebUnicode.m:
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (+[WebTextRenderer initialize]):

        Turned on use of lookup tables.

        * kwq/KWQChar.mm:

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

20 years ago - fixed 3082660 - REGRESSION: one ListImp leaks opening/closing nearly empty web...
mjs [Thu, 31 Oct 2002 20:27:13 +0000 (20:27 +0000)]
- fixed 3082660 - REGRESSION: one ListImp leaks opening/closing nearly empty web page

        * kjs/object.cpp: Set gc allowed on freshly created ListImp, since
there is no List wrapper for it.

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

20 years ago * kjs/grammar.y: Fix the APPLE_CHANGES thing here too.
darin [Thu, 31 Oct 2002 19:12:39 +0000 (19:12 +0000)]
    * kjs/grammar.y: Fix the APPLE_CHANGES thing here too.
        * kjs/grammar.cpp: Regenerated this file.

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

20 years ago - fixed 3075803 - yahoo customize layout - delete, ordering of items doesn't work
mjs [Thu, 31 Oct 2002 18:43:03 +0000 (18:43 +0000)]
- fixed 3075803 - yahoo customize layout - delete, ordering of items doesn't work

        * khtml/html/html_formimpl.h:
        * khtml/html/html_formimpl.cpp:
        (HTMLSelectElementImpl::recalcStyle): New method to insure the
select element updates if the contents of the option subelements
are changed.

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

20 years agoAlex-30 version markers
sheridan [Thu, 31 Oct 2002 18:05:48 +0000 (18:05 +0000)]
Alex-30 version markers

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

20 years agoRevert accidentally committed change.
mjs [Thu, 31 Oct 2002 05:26:18 +0000 (05:26 +0000)]
Revert accidentally committed change.

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

20 years ago - fixed 3049853 - Javascript: setInterval incorrectly acts as single shot
mjs [Thu, 31 Oct 2002 05:20:01 +0000 (05:20 +0000)]
- fixed 3049853 - Javascript: setInterval incorrectly acts as single shot

        * kwq/KWQObject.mm:
        (QObject::startTimer): Set a recurring timer instead of
single-shot, to match QObject semantics.

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

20 years agoFixed stupid compile problem.
rjw [Thu, 31 Oct 2002 02:42:37 +0000 (02:42 +0000)]
Fixed stupid compile problem.

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

20 years ago More work on bidi and contextual forms.
rjw [Thu, 31 Oct 2002 02:23:49 +0000 (02:23 +0000)]
    More work on bidi and contextual forms.
        Table lookup code for unicode characters attributes.

        * Misc.subproj/WebUnicode.h: Added.
        * Misc.subproj/WebUnicode.m: Added.
        * Misc.subproj/WebUnicodeTables.m: Added.
        * WebKit.pbproj/project.pbxproj:

        Additional logging parameter.

        * Misc.subproj/WebKitLogging.h:
        * Misc.subproj/WebKitLogging.m:

        More work on bidi and contextual forms.
        Table lookup code is up in WebKit. Function
        pointers are used to isolate WebCore from private
        implementation in WebKit.  Needs to be fast, so
        the usual ObjC abstraction won't work.

        * WebCore.exp:
        * WebCore.pbproj/project.pbxproj:
        * kwq/KWQChar.mm:
        * kwq/KWQString.h:
        * kwq/WebCoreUnicode.cpp: Added.
        * kwq/WebCoreUnicode.h: Added.

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

20 years agoWebKit:
mjs [Thu, 31 Oct 2002 02:15:42 +0000 (02:15 +0000)]

Pass WebResourceRequest rather than just NSURL to URL policy
delegate method.

        * WebView.subproj/WebControllerPolicyDelegate.h:
        * WebView.subproj/WebDefaultPolicyDelegate.h:
        * WebView.subproj/WebDefaultPolicyDelegate.m:
        (+[WebDefaultPolicyDelegate defaultURLPolicyForRequest:]):
        (-[WebDefaultPolicyDelegate URLPolicyForRequest:inFrame:]):
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _shouldShowRequest:]):


Adjust for WebKit API change.

        * BrowserDocument.m:
        (-[BrowserDocument _goToURL:referrer:withFallbackURLs:]):
        * BrowserWebController.m:
        (-[BrowserWebController URLPolicyForRequest:inFrame:]):

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

20 years ago - fixed crash when you open an empty window and just hit tab, tab, tab
darin [Wed, 30 Oct 2002 22:50:32 +0000 (22:50 +0000)]
- fixed crash when you open an empty window and just hit tab, tab, tab

        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::nextKeyViewInFrame): Check for nil.

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

20 years agoWebFoundation:
darin [Wed, 30 Oct 2002 22:19:11 +0000 (22:19 +0000)]

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


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


        * English.lproj/Localizable.strings: Regenerated this file.

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

20 years ago - fixed 3073230 -- Alex is doing file I/O when executing JavaScript by asking for...
darin [Wed, 30 Oct 2002 20:15:02 +0000 (20:15 +0000)]
- fixed 3073230 -- Alex is doing file I/O when executing JavaScript by asking for localtime

I fixed this by using Core Foundation time functions instead.

        * kjs/date_object.cpp:
        (tmUsingCF): Function that uses Core Foundation to get the time and then puts it into
a tm struct.
        (gmtimeUsingCF): Function used instead of gmtime (used a macro to make the substitution).
        (localtimeUsingCF): Function used instead of localtime (used a macro to make the substitution).

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

20 years ago Fixed: 3088122 - Assertion failure/crash closing window with QuickTime streaming in
cblu [Wed, 30 Oct 2002 19:34:05 +0000 (19:34 +0000)]
Fixed: 3088122 - Assertion failure/crash closing window with QuickTime streaming in

        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _setMainDocumentError:]): call receivedError on the representation.

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

20 years ago - fixed memory leaks in plugin package creation code
darin [Wed, 30 Oct 2002 19:17:03 +0000 (19:17 +0000)]
- fixed memory leaks in plugin package creation code

        * Plugins.subproj/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage initWithPath:]): Rearrange this code, and make sure
that it does a [self release] if it's going to return nil instead of self.
        (-[WebNetscapePluginPackage unload]): Set bundle to 0 when we release it.
        (-[WebNetscapePluginPackage dealloc]): Release the bundle if it's not 0.

        * Plugins.subproj/WebPluginPackage.m:
        (-[WebPluginPackage initWithPath:]): Rearrange this code, and make sure
that it does a [self release] if it's going to return nil instead of self.

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

20 years ago - fixed 3083982 -- Logging into AOL gives null view, crash
darin [Wed, 30 Oct 2002 17:51:34 +0000 (17:51 +0000)]
- fixed 3083982 -- Logging into AOL gives null view, crash

I fixed the crash part. Not the "gives null view" part.
The key was to disentangle the references and lifetimes of the transfer job class,
and the resource loader object that KWQ uses to connect it with WebKit.

        * kwq/KWQKJobClasses.h: Change the job to keep a loader reference, not a
handle reference. The job needs to inform the loader when it's being deallocated.
        * kwq/KWQKJobClasses.mm: Use jobWillBeDeallocated instead of cancel when the
job is deallocated.

        * kwq/KWQLoader.mm: (KWQServeRequest): Use KWQResourceLoader, now with a home in
a separate file.

        * kwq/KWQResourceLoader.h: Added.
        * kwq/KWQResourceLoader.mm: Added.
        * WebCore.pbproj/project.pbxproj: Added KWQResourceLoader files.

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

20 years agoWebCore:
darin [Wed, 30 Oct 2002 16:19:10 +0000 (16:19 +0000)]

- fixed 3086564 -- REGRESSION: meta-refresh to the same page doesn't refresh

The key is to get args.reload passed through to the bridge.

        * kwq/WebCoreBridge.h: Add reload parameter to loadURL:.

        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::openURL): Pass NO for reload.
        (KWQKHTMLPart::openURLRequest): Pass args.reload for reload.
        (KWQKHTMLPart::urlSelected): Pass args.reload for reload.
        (KWQKHTMLPart::submitForm): Pass args.reload for reload.

- fixed a memory problem with the use of NSBrowser in KWQListBox
        - fixed 2863040 -- multiple default items in select list not selected

Switched to use NSTableView instead of NSBrowser. This should also create
a measurable speedup due to other changes to this class.

        * kwq/KWQListBox.h: Remove firstItem(), the insertItem() that takes a QListBoxItem
parameter, and deleteItems(). Add _items, _width, and _widthGood. Removed _head.
Removed the QListBoxItem and QListBoxText classes.
        * kwq/KWQListBox.mm:
        (QListBox::QListBox): Create a KWQListBoxScrollView and put an NSTableView
inside it. Also create an NSMutableArray to hold the items.
        (QListBox::~QListBox): Disconnect the table view from the delegate before
releasing it. Also release the items array.
        (QListBox::count): Return the array count.
        (QListBox::clear): Do a reloadData here instead of loadColumnZero.
        (QListBox::setSelectionMode): Update for table view.
        (QListBox::insertItem): Update for table view.
        (QListBox::insertGroupLabel): Just calls insertItem for now.
        (QListBox::endBatchInsert): Update for table view.
        (QListBox::setSelected): Update for table view, including support for multiple
        (QListBox::isSelected): Update for table view.
        (QListBox::sizeForNumberOfLines): Use the table view cell for width, and
cache it so we don't have to measure all the strings over and over again.
        (-[KWQListBoxScrollView setFrameSize:]): Resize the table view column whenever
the entire scroll view is resized.
        (-[KWQListBoxTableViewDelegate initWithListBox:]): Store box pointer and
        pointer to items array.
        (-[KWQListBoxTableViewDelegate numberOfRowsInTableView:]): Return count.
        (-[KWQListBoxTableViewDelegate tableView:objectValueForTableColumn:row:]):
Get the data from the items array.
        (-[KWQListBoxTableViewDelegate tableViewSelectionDidChange:]): Call both the
selection-changed signal and the clicked signal.

        * khtml/rendering/render_form.cpp: (RenderSelect::updateFromElement):
Get rid of the one place here that gets at a list box item by calling a KWQ
function insertGroupLabel instead of making a QListBoxText. Also call
        beginBatchInsert() before clear() for a slight additional speed boost.

- fixed 3067572 -- javascript: URLs typed into page address field or
bookmarks don't work in empty window

We needed a document for DOM, so we make a dummy one. This works for an empty
window, and also for a window with non-HTML content.

        * kwq/KWQKHTMLPart.h: Added createDummyDocument().
        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::createDummyDocument): Create an empty
DOM document if there isn't one already.

        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge stringByEvaluatingJavaScriptFromString:]): Call the new
createDummyDocument() instead of checking and doing nothing if there is no
document present when this is called.

- other stuff

        * kwq/WebCoreBridge.mm: (-[WebCoreBridge DOMDocument]): Removed a stray printf.

        * kwq/KWQTextArea.mm: Tweaked code a little.


- fixed 3086564 -- REGRESSION: meta-refresh to the same page doesn't refresh

The key is to respect the new reload: parameter from the bridge.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge loadURL:reload:]): Don't ever treat a reload as a redirect.
Set the cache policy to WebRequestCachePolicyLoadFromOrigin if it's a reload.

- fixed 3087214 -- REGRESSION: <WebKit/WebKit.h> contains #import of non-existent header

        * Misc.subproj/WebKit.h: Removed import of WebControllerSets.h, which is private.

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

20 years agoWebKit:
mjs [Wed, 30 Oct 2002 09:43:54 +0000 (09:43 +0000)]

Another step towards the policy API change - add request argument
to file URL policy and remove isDirectory argument.

        * WebView.subproj/WebControllerPolicyDelegate.h:
        * WebView.subproj/WebDefaultPolicyDelegate.m:
        (-[WebDefaultPolicyDelegate fileURLPolicyForMIMEType:andRequest:inFrame:]):
        * WebView.subproj/WebFrame.m:
        (-[WebFrame setProvisionalDataSource:]):
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _shouldShowRequest:]):
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient handle:willSendRequest:]):


Adjust for API change.

        * BrowserWebController.m:
        (-[BrowserWebController fileURLPolicyForMIMEType:andRequest:inFrame:]):

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

20 years agoWebKit:
mjs [Wed, 30 Oct 2002 07:58:50 +0000 (07:58 +0000)]

First step towards policy API change. Pass request instead of URL
to content policy delegate method.

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


First step towards policy API change. Pass request instead of URL
to content policy delegate method.

        * BrowserWebController.m:
        (-[BrowserWebController contentPolicyForResponse:andRequest:inFrame:withContentPolicy:]):

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

20 years ago - fixed 3087548 - REGRESSION: two windows open for netflix confirmation
mjs [Wed, 30 Oct 2002 07:55:45 +0000 (07:55 +0000)]
- fixed 3087548 - REGRESSION: two windows open for netflix confirmation

        * WebView.subproj/WebControllerPrivate.h:
        * WebView.subproj/WebControllerPrivate.m:
        (-[WebController _findFrameInThisWindowNamed:]): Added this function back,
and added check for top-level frame name.
        (-[WebController _findFrameNamed:]): Use
_findFrameInThisWindowNamed: to make sure top-level frame names
get checked.

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

20 years ago Created Downloads.subproj to hold the to-be-implemented download decoders.
cblu [Wed, 30 Oct 2002 04:50:42 +0000 (04:50 +0000)]
Created Downloads.subproj to hold the to-be-implemented download decoders.

        * Downloads.subproj/WebDownloadDecoder.h: Added.
        * Downloads.subproj/WebDownloadHandler.h: Added.
        * Downloads.subproj/WebDownloadHandler.m: Added.
        (-[WebDownloadHandler initWithDataSource:]):
        (-[WebDownloadHandler dealloc]):
        (-[WebDownloadHandler errorWithCode:]):
        (-[WebDownloadHandler receivedResponse:]):
        (-[WebDownloadHandler receivedData:]):
        (-[WebDownloadHandler finishedLoading]):
        (-[WebDownloadHandler cancel]):
        * Misc.subproj/WebDownloadHandler.h: Removed.
        * Misc.subproj/WebDownloadHandler.m: Removed.
        * WebKit.pbproj/project.pbxproj:

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

20 years ago * khtml/khtml_part.cpp: (KHTMLPart::checkCompleted):
darin [Tue, 29 Oct 2002 07:05:47 +0000 (07:05 +0000)]
    * khtml/khtml_part.cpp: (KHTMLPart::checkCompleted):
Update so it handles nil for the view.

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

20 years ago - fixed 3070484 -- icon rollovers are very slow on Mac OS X website
darin [Tue, 29 Oct 2002 06:51:33 +0000 (06:51 +0000)]
- fixed 3070484 -- icon rollovers are very slow on Mac OS X website

The problem was simply that the part didn't know it was complete.
To let it know, I hooked up some loader signals, and now it works.

        * khtml/khtml_part.cpp:
        (KHTMLPart::init): Create the KWQKHTMLPart a little earlier so we have
a chance to initialize the cache before it's used.
        (KHTMLPart::slotLoaderRequestStarted): Take this out of ifdefs.
        (KHTMLPart::slotLoaderRequestDone): Ditto.

        * khtml/misc/loader.h: Add a KWQLoader pointer to the loader.
        * khtml/misc/loader.cpp:
        (Loader::Loader): Create a KWQLoader;
        (Loader::~Loader): Destroy the KWQLoader.
        (Loader::load): Take out ifdefs around code that emits requestStarted.

        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::KWQKHTMLPart): Call Cache::init().

        * kwq/KWQLoader.h: Add a class KWQLoader, with three signals in it.
        * kwq/KWQLoader.mm: (KWQLoader::KWQLoader): Initialize the three signals.

        * kwq/KWQSignalStubs.mm:
        (Loader::requestDone): Emit the signal using KWQLoader.
        (Loader::requestFailed): Ditto.
        (Loader::requestStarted): Ditto.

        * kwq/KWQSlot.h: Add an overload for slots with loader and cached object
parameters so we can handle the new slots.
        * kwq/KWQSlot.mm:
        (KWQSlot::KWQSlot): Added slotLoaderRequestDone and slotLoaderRequestStarted.
        (KWQSlot::call): Added the new overload to handle those two signals.

        * kwq/KWQSignal.h: Add an overload for signals with loader and cached object
parameters so we can handle the new signals.
        * kwq/KWQSignal.mm: (KWQSignal::call): Ditto.

        * kwq/KWQObject.mm: (QObject::connect): Remove the special casing that
prevents complaints about slotLoaderRequestDone and slotLoaderRequestStarted,
since we support those now.

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

20 years ago - fixed crash I just introduced
darin [Tue, 29 Oct 2002 05:29:05 +0000 (05:29 +0000)]
- fixed crash I just introduced

        * Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase init]):
Remove the release call here. When I added the autorelease, I didn't realize that
the caller was doing a release.

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

20 years ago Fixed 3041616 - Extra page added in back button history
trey [Tue, 29 Oct 2002 01:49:29 +0000 (01:49 +0000)]
Fixed 3041616 - Extra page added in back button history

Client-side redirects would always put an extra item in the backforward list.
According to Darin this is a regression all the way back from functionality moving
from WebBrowser to WebKit.

        * WebCoreSupport.subproj/WebBridge.h:
Added state to know if we're doing an "internal" type of load
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge reportClientRedirectTo:delay:fireDate:]):
Set internalLoad bit if delay==0
        (-[WebBridge reportClientRedirectCancelled]):
Clear internalLoad
        (-[WebBridge loadURL:]):
Set frame's loadType if doing an internal load (similar to what we do when loading
child frames)

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

20 years agoWebFoundation:
darin [Tue, 29 Oct 2002 01:18:17 +0000 (01:18 +0000)]

- fixed storage leak of WebFileDatabaseOp objects

        * Database.subproj/WebFileDatabase.m:
        (-[WebFileDatabase setObject:forKey:]): Release op so it doesn't leak.
        (-[WebFileDatabase removeObjectForKey:]): Release op so it doesn't leak.
        (-[WebFileDatabase lazySync:]): Retain op before removing it from the list,
since we want to work with it a bit before releasing it.


- fixed storage leak of items in QListBox

        * kwq/KWQListBox.h: Added private deleteItems method.
        * kwq/KWQListBox.mm:
        (QListBox::~QListBox): Call deleteItems().
        (QListBox::deleteItems): Move the code to delete all the items
here from clear(), since clear() is not called on destruction.
        (QListBox::clear): Call deleteItems().


- fixed storage leak of WebNetscapePluginPackage objects

        * Plugins.subproj/WebBasePluginPackage.m:
        (+[WebBasePluginPackage pluginWithPath:]): Add missing autorelease.

        * Plugins.subproj/WebBasePluginPackage.h:
        * Plugins.subproj/WebPluginController.h:
        * Plugins.subproj/WebPluginController.m:
        * Plugins.subproj/WebPluginPackage.h:
        * Plugins.subproj/WebPluginPackage.m:
Not __MyCompanyName__, but rather Apple Computer.

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

20 years ago Lowercase the text encoding name.
cblu [Tue, 29 Oct 2002 00:48:58 +0000 (00:48 +0000)]
Lowercase the text encoding name.

        * kwq/KWQCharsets.mm:

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

20 years agoWebFoundation:
darin [Mon, 28 Oct 2002 23:16:36 +0000 (23:16 +0000)]

- fixed bug that caused us to leak one block sometimes when we called WebCallFromCFRunLoop

        * Misc.subproj/WebCFRunLoopExtras.m: (WebCallFromCFRunLoop):
Initialize refCount to 0.


- fixed bug that caused us to leak all WebResourceHandles used for subresources

        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (-[WebSubresourceClient dealloc]): Remove bogus "currentURL == nil" assert.
        (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
Use the new loadWithRequest: call instead of making handle and doing loadWithDelegate:.
This is where the leak was, because no one ever released the handle, but releasing it
right away would be too soon.

        * WebView.subproj/WebBaseResourceHandleDelegate.h: Added defersCallbacks field,
loadWithRequest: method, and setDefersCallbacks: method. Removed handle method.
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate loadWithRequest:]): New method. Sets up the handle,
set the defersCallbacks state on it, and calls loadWithDelegate:.
        (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): Stores defersCallbacks state,
and also sets it on the handle, if any.
        (-[WebBaseResourceHandleDelegate handle:willSendRequest:]): Remove code to set up
the handle, since we now do that at loadWithRequest: time.

        * WebView.subproj/WebDataSourcePrivate.h: Remove mainHandle field.
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSourcePrivate dealloc]): Don't release mainHandle.
        (-[WebDataSource _setPrimaryLoadComplete:]): Ditto.
        (-[WebDataSource _startLoading]): Use loadWithRequest: on the client, no need to deal
with the handle directly at all.
        (-[WebDataSource _addSubresourceClient:]): Call setDefersCallbacks: on the client.
        (-[WebDataSource _defersCallbacksChanged]): Ditto.

        * WebView.subproj/WebControllerPrivate.m: Remove unneeded include.
        * WebView.subproj/WebMainResourceClient.m: Ditto.

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

20 years ago Fixed 3086188 - REGRESSION: Justified text is broken
rjw [Mon, 28 Oct 2002 22:22:18 +0000 (22:22 +0000)]
    Fixed 3086188 - REGRESSION: Justified text is broken

        Bogus special case for DirW(hite)S(pace).  This
        should be correctly detected by CF, but is not.
        Revert to explicit checking for ' ' character.  This'll
        work most of the time.  All the more reason to do
        our own unicode attribute database.

        * kwq/KWQChar.mm:

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

20 years agoWebCore:
cblu [Mon, 28 Oct 2002 21:59:40 +0000 (21:59 +0000)]

Fixed: 3056726 - View Source window always displays the source in current system encoding
Fixed: 3019352 - Text encoding is not handled when viewing plain text

        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
        (+[WebCoreBridge stringWithData:textEncoding:]): added, creates a string with data using the WebCore's decoding logic.
        (+[WebCoreBridge stringWithData:textEncodingName:]): added, calls stringWithData:textEncoding: after getting the encoding for a text encoding name


Fixed: 3056726 - View Source window always displays the source in current system encoding
Fixed: 3019352 - Text encoding is not handled when viewing plain text

        * WebView.subproj/WebDataSource.h:
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource stringWithData:]): added, creates a string using the specified encoding.
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation documentSource]): uses the bridge specified encoding when creating the string
        * WebView.subproj/WebTextView.h:
        * WebView.subproj/WebTextView.m:
        (-[WebTextView dataSourceUpdated:]): use stringWithData:
        (-[WebTextView supportsTextEncoding]): Yup

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

20 years ago* khtml/html/htmlparser.cpp:
gramps [Mon, 28 Oct 2002 21:28:30 +0000 (21:28 +0000)]
* khtml/html/htmlparser.cpp:
* khtml/html/htmltokenizer.cpp:

Backed our Dave's whitespace hack because it was adding newlines, i.e.
vertical margins, to web pages all over.

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

20 years ago Fixed crasher.
rjw [Mon, 28 Oct 2002 20:51:08 +0000 (20:51 +0000)]
    Fixed crasher.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]):

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

20 years agoWebKit:
sullivan [Mon, 28 Oct 2002 20:40:31 +0000 (20:40 +0000)]

        * Bookmarks.subproj/WebBookmark.h:
        * Bookmarks.subproj/WebBookmark.m:
        (-[WebBookmark contentMatches:]): new method, returns YES if
two bookmarks are the same, ignoring group and parent.


- fixed 3083274 -- Add preference for separating/consolidating
contents of Bookmarks Toolbar and Menu
- fixed 3083277 -- Add preferences for showing Address Book and
Rendezvous items in Bookmarks menu

Also made Bookmarks menu update only when it is about to be pulled
down (like History menu), rather than every time bookmarks change.

        * Defaults.plist,
        * PreferenceKeys.h:
Add new preference keys with default values:
BookmarksMenuAndToolbarAreSame, BookmarksMenuIncludesAddressBook, and
BookmarksMenuIncludesRendezvous. Also #defined BrowserPreferenceValueChangedNotification,
which is sent when certain preference values change.

        * Preferences.subproj/GeneralPreferences.h:
        * Preferences.subproj/GeneralPreferences.m:
        (-[GeneralPreferences sendChangeNotificationForPreferenceKey:]):
new method, sends BrowserPreferenceValueChangedNotification with a particular
preference key's name in the userInfo
        (-[GeneralPreferences toggleBookmarksMenuAndToolbarAreSame:]),
        (-[GeneralPreferences toggleBookmarksMenuIncludesRendezvous:]),
        (-[GeneralPreferences toggleBookmarksMenuIncludesAddressBook:]):
Set the appropriate preference, and call sendChangeNotificationForPreferenceKey
        (-[GeneralPreferences initializeFromDefaults]):
Set the initial state for the new checkboxes.

        * Preferences.subproj/English.lproj/GeneralPreferences.nib:
Added checkboxes for the three new preferences. With Ron Brannan's help, the
text is decent, but the General Preferences panel is now much taller than
the others; we'll probably need a reorganization soon.

        * BookmarkSource.h:
added bookmarkSourceImage, setBookmarkSourceMenu:, and bookmarkSourceMenuTitle
to the BookmarkSource protocol.

        * GlobalHistory.h: removed setHistoryMenu: and historyMenu
        * GlobalHistory.m:
        (-[GlobalHistory dealloc]): change setHistoryMenu to setBookmarkSourceMenu
        (-[GlobalHistory bookmarkSourceImage]): new method, returns little clock image
        (-[GlobalHistory setBookmarkSourceMenu:]): new name for setHistoryMenu
        (-[GlobalHistory bookmarkSourceMenuTitle]):
new method, returns nil here since history uses an existing top-level menu

        * AppController.m:
        (-[AppController applicationDidFinishLaunching:]):
use -[GlobalHistory setBookmarkSourceMenu:] instead of obsolete
-[GlobalHistory setHistoryMenu:]

        * ABHomePagesController.h:
        * ABHomePagesController.m:
        (-[ABHomePagesController dealloc]): call setBookmarkSourceMenu:nil
        (-[ABHomePagesController refreshContents]): set _menuGood to NO
        (-[ABHomePagesController updateMenu]):
new method, make menu contents match address book contents (if !_menuGood)
        (-[ABHomePagesController setBookmarkSourceMenu:]): new method, set up menuUpdater
        (-[ABHomePagesController bookmarkSourceMenuTitle]): new method, return "Address Book"
        (-[ABHomePagesController bookmarkSourceImage]):
new method, return little address book image

        * RendezvousController.h:
        * RendezvousController.m:
        (-[RendezvousController dealloc]): call setBookmarkSourceMenu:nil
        (-[RendezvousController sendContentsChangedNotification]): set _menuGood to NO
        (-[RendezvousController updateMenu]):
new method, make menu contents match Rendezvous list (if !_menuGood)
        (-[RendezvousController setBookmarkSourceMenu:]): new method, set up menuUpdater
        (-[RendezvousController bookmarkSourceMenuTitle]): new method, return "Rendezvous"
        (-[RendezvousController bookmarkSourceImage]):
new method, return little Rendezvous logo image

        * BookmarksController.h:
now implements MenuUpdaterDelegate protocol and updates the Bookmarks menu only
when it's about to be shown rather than when any bookmarks change.
        * BookmarksController.m:
        (-[BookmarksController imageForBookmark:]):
get bookmark source images using BookmarkSource protocol rather than hardwiring here
        (-[BookmarksController _removeAllBookmarksFromMenu]):
renamed from _removeBookmarksFromMenu for some nitpicky reason
        (-[BookmarksController bookmarkSource:setShouldIncludeSubmenu:]):
new method, creates submenu for bookmark source if appropriate
        (-[BookmarksController addSpecialBookmarkSourcesToMenu]):
new method, checks preferences and calls bookmarkSource:setShouldIncludeSubmenu:
for Rendezvous and AddressBook
        (-[BookmarksController updateMenu]):
renamed from _updateBookmarksInMenu (now it's the MenuUpdaterDelegate method);
do nothing if _menuGood, otherwise remove all bookmarks, then add them back in.
        (-[BookmarksController _receivedBookmarksChangedNotification:]):
set _menuGood to NO rather than updating bookmarks immediately
        (-[BookmarksController receivedBrowserPreferenceValueChangedNotification:]):
new method, do the appropriate updating based on which preference changed
        (-[BookmarksController addBookmarksMenuUpdater]):
new method, broken out only so it could be called after a delay, since
awakeFromNib is slightly too early
        (-[BookmarksController awakeFromNib]):
set up menu updater (after delay); observe BrowserPreferenceValueChangedNotification
        (-[BookmarksController dealloc]): remove menu updater
        (-[BookmarksController bookmarkSourceForProxyIdentifier:]):
new method, moved here from BookmarksViewController; converts a string
identifier into an object implementing <BookmarkSource>
        (-[BookmarksController addUniqueBookmarksFrom:to:]):
new method, used to consolidate toolbar and menu contents when the pref is
set that way.
        (-[BookmarksController updateBookmarkSources]):
renamed from _blessOrCreateSpecialFolders, now it is also called in response
to a change to BookmarksMenuAndToolbarAreSamePreferenceKey; handle making menu
initially be a copy of toolbar, or consolidating the two, depending on pref value.

        * BookmarksViewController.m:
        (-[BookmarksViewController bookmarkSourceContentsChanged:]),
        (-[BookmarksViewController refreshContents]),
        (-[BookmarksViewController bookmarksFromContentItems:]),
        (-[BookmarksViewController bookmarkFromContentItem:]),
        (-[BookmarksViewController canDeleteFromSelectedBookmarkSource]),
        (-[BookmarksViewController child:ofContentItem:]),
        (-[BookmarksViewController isContentItemExpandable:]),
        (-[BookmarksViewController numberOfChildrenOfContentItem:]),
        (-[BookmarksViewController titleStringForContentItem:]),
        (-[BookmarksViewController addressStringForContentItem:]),
        (-[BookmarksViewController imageForContentItem:]),
        (-[BookmarksViewController deleteContentItems:]):
Updated to call bookmarkSourceForProxyIdentifier on
[BookmarksController sharedController] rather than self.

        * FavoriteButton.m:
        (-[FavoriteButton determineDragOperation:]):
use -[WebBookmark contentMatches:] instead of (deleted) [FavoriteButton bookmarkMatches:]

        * English.lproj/Localizable.strings,
        * English.lproj/StringsNotToBeLocalized.txt: kept localizations up to date

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

20 years agoWebKit:
trey [Mon, 28 Oct 2002 18:49:39 +0000 (18:49 +0000)]

Finished 2998200 - access to most-recent in submenu of back & forward buttons

        * WebView.subproj/WebDataSourcePrivate.h:
The BF items we are going to and from were moved here from
WebFrame because of timing problems among multiple data sources
when using the BF buttons during a load.
In addition, the datasource has a list of relevant BF items for
which it keeps their titles up to date.
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSourcePrivate dealloc]):
Free new state.
        (-[WebDataSource _setTitle:]):
Update titles of BF items.
        (-[WebDataSource _provisionalBackForwardItem]):
        (-[WebDataSource _setProvisionalBackForwardItem:]):
        (-[WebDataSource _previousBackForwardItem]):
        (-[WebDataSource _setPreviousBackForwardItem:]):
        (-[WebDataSource _addBackForwardItem:]):
Maintain new state.
        (-[WebDataSource _commitIfReady]):
Free up previous and provisional BF items after commit.
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge loadURL:]):
Add the new BF item to the datasource.
        (-[WebBridge saveDocumentState:]):
Use the right BF item to save the doc state.
        * WebView.subproj/WebFramePrivate.h:
Previous and provisional BF are moved to datasource.
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _transitionToCommitted]):
Use provisional BF from datasource to set position in BF list.
Add new BF item to datasource.
        (-[WebFrame _isLoadComplete]):
        (-[WebFrame _checkLoadComplete]):
Comments, whitespace.
        (-[WebFrame _goToItem:withFrameLoadType:]):
Set item we will use to saveDocState at commit time.


Finished 2998200 - access to most-recent in submenu of back & forward buttons

        * BrowserDocument.m:
        (-[BrowserDocument _addItem:toMenu:]):
Center-truncate menu items to reasonable width
        * Defaults.plist:
Set Back-forward max size to 200.

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

20 years agoTests:
darin [Mon, 28 Oct 2002 18:48:18 +0000 (18:48 +0000)]

        * WebFoundation-Misc/ifnsurlextensions-test.chk:
Update WebNSURLExtras tests for recently-implemented ftp URL


- fixed 3015800 -- bad URL error - unescaped # in URL

Actually this has to be fixed both here and in KURL.

        * Misc.subproj/WebNSURLExtras.m:
        (StringByAddingPercentEscapes): Escape "#" characters too.
        (URLStringByAddingPercentEscapes): Change the code so that it specifically
makes an exception for the first "#" character in the string. I guess that
it should really be the first "#" in the path, but that would be a lot harder.
        (+[NSURL _web_URLWithString:relativeToURL:]): Cite the new CFURL bug I filed.


- fixed 3015800 -- bad URL error - unescaped # in URL

Actually this has to be fixed both here and in NSURLExtras.

        * kwq/KWQKURL.mm: Set the "BadChar" flag for "#" so we escape any
"#" characters we see after the first one.

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

20 years agoWebCore:
darin [Mon, 28 Oct 2002 07:54:16 +0000 (07:54 +0000)]

- fixed 3058845 -- <input type=file> uses hard-coded width of 200
pixels for filename

        * khtml/rendering/render_form.cpp:
        (RenderLineEdit::calcMinMaxWidth): Use a default of 20 "x-widths" wide, to
match Mozilla, rather than the 17 that is in KHTML by default.
        (RenderFileButton::calcMinMaxWidth): Pass in a character width here, using
the same 20-character rule as above.
        * kwq/KWQFileButton.h: Replace sizeHint() with sizeForCharacterWidth(int).
        * kwq/KWQFileButton.mm:
        (KWQFileButton::sizeForCharacterWidth): Pass character count to the WebCoreFileButton.
        (KWQFileButton::baselinePosition): Fix baseline computation. It was computing some huge
negative number before and was obviously broken.
        * kwq/KWQLineEdit.mm: (QLineEdit::sizeForCharacterWidth): Add an assertion.
        * kwq/WebCoreViewFactory.h: Replace bestVisualFrameSize with


- WebKit part of filename width fix

        * WebCoreSupport.subproj/WebFileButton.m:
        (-[WebFileButton drawRect:]): Compute left position by starting at
the right side of the button frame rather than by starting at the right
side of the overall bounds. Removes dependency on fixed-width filename area.
        (-[WebFileButton updateLabel]): Added. Computes ellipsized filename.
        (-[WebFileButton setFilename:]): Use updateLabel instead of code in line here.
        (-[WebFileButton setFrameSize:]): Call updateLabel.
        (-[WebFileButton bestVisualFrameSizeForCharacterCount:]): Compute a width based
on the count passed in rather than a hardcoded 200-pixel constant.

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

20 years ago - fixed 3037369 -- Status text not cleared after start of drag from page
darin [Mon, 28 Oct 2002 06:52:11 +0000 (06:52 +0000)]
- fixed 3037369 -- Status text not cleared after start of drag from page

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
Find the highest-level enclosing WebHTMLView, and call _updateMouseoverWithEvent:
with the mouseUp event after the drag is done.
        (-[WebHTMLView mouseMovedNotification:]): Just call _updateMouseoverWithEvent:,
the code from here was moved into there.

        * WebView.subproj/WebHTMLViewPrivate.h: Declare _updateMouseoverWithEvent.
        * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _updateMouseoverWithEvent:]):
Moved all the code from mouseMovedNotification: in here so it could be used twice.

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

20 years agoWebCore:
gramps [Mon, 28 Oct 2002 02:27:49 +0000 (02:27 +0000)]

* khtml/ecma/kjs_navigator.cpp:

Tweaked AppName, Product, and Vendor logic.


* WebView.subproj/WebController.m:
(-[WebController userAgentForURL:]):

Changed default user agent to Mozilla 1.1.


* Debug/DebugUtilities.m:
(-[DebugUtilities userAgentSubmenuItem]):

Updated all user agents and added new experimental items.

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

20 years agoWebCore:
darin [Sun, 27 Oct 2002 17:08:08 +0000 (17:08 +0000)]

        * kwq/KWQLoader.mm: (KWQServeRequest): Add a missing "delete job" for one
particular failure case.


        * Bookmarks.subproj/WebBookmarkProxy.m: (-[WebBookmarkProxy dealloc]):
Added, so we don't leak the title.

        * Bookmarks.subproj/WebBookmarkGroup.m: (-[WebBookmarkGroup removeBookmark:]):
        * Bookmarks.subproj/WebBookmarkList.m: (-[WebBookmarkList removeChild:]):
Added retain/release pairs so we don't use an object after it's deallocated.
In practice this doesn't happen the way these are used by Alex since they are
in an array, but they have windows of vulnerability depending on exactly how
they are used.


        * BookmarksController.m:
        (-[BookmarksController _blessOrCreateSpecialFolders]):
Fix indenting.

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

20 years ago - fixed a bug in the WebCore cache that caused it to not cache very much after
darin [Sun, 27 Oct 2002 06:45:23 +0000 (06:45 +0000)]
- fixed a bug in the WebCore cache that caused it to not cache very much after
        a while, and also caused a crash I saw twice on my machine

Adjust total size of items in the LRU list, when the size of one of the
items that's in the list is changed.

        * khtml/misc/loader.h: Added a size parameter (default 0) to the CachedObject
constructor. Added a protected CachedObject::setSize() and made m_size private.
Added Cache::adjustSize() and Cache::checkLRUAndUncacheableListIntegrity().
        * khtml/misc/loader.cpp:
        (CachedObject::setSize): Added. This is now the only legal way to change
the size of a cached object, and it calls Cache::adjustSize.
        (CachedCSSStyleSheet::CachedCSSStyleSheet): Pass the length into the base
class's constructor instead of setting m_size.
        (CachedCSSStyleSheet::data): Call setSize() instead of setting m_size.
Also get the size back with size() rather than m_size.
        (CachedScript::CachedScript): Pass the length into the base class's
constructor instead of setting m_size.
        (CachedScript::data): Call setSize() instead of setting m_size. Also get
the size back with size() rather than m_size.
        (CachedImage::CachedImage): Don't set m_size to 0, since the base class's
constructor does that already.
        (CachedImage::clear): Use setSize() to set the size to 0 instead of setting
m_size directly.
        (CachedImage::data): Use setSize() instead of setting m_size directly.
        (Cache::checkLRUAndUncacheableListIntegrity): Useful debugging function.
Left in but ifdef'd out.
        (Cache::adjustSize): Added. Changes the "total LRU list size" by the
passed-in delta, but only if the passed-in object is in the LRU list.

        * kwq/KWQLineEdit.mm:
        * kwq/KWQTextField.h:
        * kwq/KWQTextField.mm:
Renamed the Objective C class KWQNSTextField to KWQTextField.

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

20 years ago - changed to use #if APPLE_CHANGES and #if !APPLE_CHANGES consistently
darin [Sat, 26 Oct 2002 23:55:44 +0000 (23:55 +0000)]
- changed to use #if APPLE_CHANGES and #if !APPLE_CHANGES consistently

We no longer do #ifdef APPLE_CHANGES or #ifndef APPLE_CHANGES.

        * kjs/collector.cpp:
        * kjs/collector.h:
        * kjs/grammar.cpp:
        * kjs/internal.cpp:
        * kjs/ustring.h:

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

20 years agoTools:
darin [Sat, 26 Oct 2002 23:49:13 +0000 (23:49 +0000)]

        * Scripts/check-forwarding-headers: Added. Finds unused forwarding headers in WebCore.


- removed forwarding headers that are not actually needed

        * ForwardingHeaders/kcmdlineargs.h: Removed.
        * ForwardingHeaders/kinstance.h: Removed.
        * ForwardingHeaders/kio/kprinter.h: Removed.
        * ForwardingHeaders/kio/ktrader.h: Removed.
        * ForwardingHeaders/kio/scheduler.h: Removed.
        * ForwardingHeaders/kparts/factory.h: Removed.
        * ForwardingHeaders/kparts/historyprovider.h: Removed.
        * ForwardingHeaders/kstddirs.h: Removed.
        * ForwardingHeaders/qarray.h: Removed.
        * ForwardingHeaders/qbrush.h: Removed.
        * ForwardingHeaders/qbutton.h: Removed.
        * ForwardingHeaders/qcollection.h: Removed.
        * ForwardingHeaders/qcombobox.h: Removed.
        * ForwardingHeaders/qframe.h: Removed.
        * ForwardingHeaders/qglobal.h: Removed.
        * ForwardingHeaders/qiodevice.h: Removed.
        * ForwardingHeaders/qlineedit.h: Removed.
        * ForwardingHeaders/qnamespace.h: Removed.
        * ForwardingHeaders/qpen.h: Removed.
        * ForwardingHeaders/qprinter.h: Removed.
        * ForwardingHeaders/qsize.h: Removed.
        * ForwardingHeaders/qstack.h: Removed.

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

20 years ago - fixed a couple of files accidentally checked in with KWQQ names
darin [Sat, 26 Oct 2002 23:41:57 +0000 (23:41 +0000)]
- fixed a couple of files accidentally checked in with KWQQ names

        * ForwardingHeaders/qasyncio.h: Change names.
        * ForwardingHeaders/qstylesheet.h: Ditto.
        * WebCore.pbproj/project.pbxproj: Ditto.
        * kwq/KWQMovie.h: Ditto.

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

20 years ago - changed to use #if APPLE_CHANGES and #if !APPLE_CHANGES consistently
darin [Sat, 26 Oct 2002 23:21:43 +0000 (23:21 +0000)]
- changed to use #if APPLE_CHANGES and #if !APPLE_CHANGES consistently

We no longer do #ifdef APPLE_CHANGES or #ifndef APPLE_CHANGES.

        * lots of files

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

20 years ago - changed naming scheme in KWQ for files like qstring.h
darin [Sat, 26 Oct 2002 23:08:48 +0000 (23:08 +0000)]
    - changed naming scheme in KWQ for files like qstring.h
        Now use names like KWQString.h and make a forwarding header called qstring.h.

        * tons of files

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

20 years agoWebCore:
darin [Sat, 26 Oct 2002 07:27:53 +0000 (07:27 +0000)]

- fixed 3068404 -- eliminate all user-visible messages from WebCore

        * khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): Use runJavaScriptPrompt
function instead of the more generic QInputDialog.

        * khtml/html/html_formimpl.cpp: (HTMLInputElementImpl::altText): Get
submit alt text for input element from the view factory, rather than using
i18n, since we don't support that.
        * khtml/html/htmlparser.cpp: (KHTMLParser::handleIsindex): Ditto, for the
intro that says "This is a searchable index".
        * khtml/rendering/render_form.cpp:
        (RenderSubmitButton::defaultLabel): Ditto, for "Submit".
        (RenderResetButton::defaultLabel): Ditto, for "Reset".
        (RenderFileButton::slotClicked): Ifdef'd out this unused code that had i18n text in it.

        * khtml/xml/xml_tokenizer.cpp:
        (XMLHandler::errorString): Put in an ifdef and a FIXME to avoid i18n.
        (XMLHandler::fatalError): Ditto.
        (XMLTokenizer::finish): Ditto.

        * khtml/misc/decoder.cpp: (Decoder::decode): Ifdef'd the check for the first
language being "ja", since that's not how we're going to trigger Japanese

        * khtml/rendering/render_applet.cpp: (RenderEmptyApplet::RenderEmptyApplet):
Turned off the code that does the empty applet label. I don't think it worked,
and it used i18n. We'll have to tackle this eventually.

        * kwq/KWQKHTMLPartImpl.h: Added runJavaScriptPrompt.
        * kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::runJavaScriptPrompt): Moved the code
here that used to be in KWQInputDialog.

        * kwq/kdecore/klocale.h: Remove i18n() and KLocale::languageList(), added the functions
that are listed below.
        * kwq/KWQKLocale.mm:
        (inputElementAltText): Added specific function for getting one of the very few
translated strings that we need in WebCore.
        (resetButtonDefaultLabel): Ditto.
        (searchableIndexIntroduction): Ditto.
        (submitButtonDefaultLabel): Ditto.
        (KLocale::language): Use the view factory to ask for the language code, since there's no
public API to get it that WebCore can use.

        * kwq/WebCoreViewFactory.h: Add new API for above.

        * ForwardingHeaders/qinputdialog.h: Added empty file.

        * kwq/qt/qinputdialog.h: Removed.
        * kwq/KWQInputDialog.mm: Removed.
        * WebCore.pbproj/project.pbxproj: Removed QInputDialog files.


        * WebCoreSupport.subproj/WebViewFactory.m:
        (-[WebViewFactory inputElementAltText]): Added.
        (-[WebViewFactory resetButtonDefaultLabel]): Added.
        (-[WebViewFactory searchableIndexIntroduction]): Added.
        (-[WebViewFactory submitButtonDefaultLabel]): Added.
        (-[WebViewFactory defaultLanguageCode]): Added.

        * English.lproj/Localizable.strings: Update.
        * English.lproj/StringsNotToBeLocalized.txt: Update.

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

20 years agoWebCore:
darin [Sat, 26 Oct 2002 06:43:54 +0000 (06:43 +0000)]

Remove some user-visible strings. We can't have any strings that need
localization in WebCore, given our translation strategy.

        * khtml/html/html_formimpl.cpp: (HTMLInputElementImpl::encoding):
Put APPLE_CHANGES around some i18n dialog code.
        * khtml/khtml_part.cpp: (KHTMLPart::submitForm): Ditto.
        * khtml/rendering/render_frames.cpp:
        (RenderPartObject::slotPartLoadingErrorNotify): Ditto.
        * khtml/ecma/kjs_window.cpp:
        (Window::get): Ditto.
        (Window::scheduleClose): Ditto.
        (WindowFunc::tryCall): Put APPLE_CHANGES in to use JavaScript-specific methods
        in the part of calling the generic ones from KMessageBox.

        * ForwardingHeaders/kmessagebox.h: Added (empty file).

        * kwq/KWQKHTMLPartImpl.h: Added new runJavaScript functions.
        * kwq/KWQKHTMLPartImpl.mm:
        (KWQKHTMLPartImpl::runJavaScriptAlert): Added.
        (KWQKHTMLPartImpl::runJavaScriptConfirm): Added.

        * kwq/WebCoreViewFactory.h: Added runJavaScriptAlertPanelWithMessage and

        * kwq/kdeui/kmessagebox.h: Removed.
        * kwq/KWQKMessageBox.mm: Removed.
        * WebCore.pbproj/project.pbxproj: Removed the KMessageBox files.


        * WebCoreSupport.subproj/WebViewFactory.m:
        (-[WebViewFactory runJavaScriptAlertPanelWithMessage:]): Added.
        (-[WebViewFactory runJavaScriptConfirmPanelWithMessage:]): Added.

        * English.lproj/Localizable.strings: Update.
        * English.lproj/StringsNotToBeLocalized.txt: Update.

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

20 years ago - fixed 3038011 -- drop-down menu hierarchy broken at yahoo new acct page
darin [Sat, 26 Oct 2002 05:49:57 +0000 (05:49 +0000)]
- fixed 3038011 -- drop-down menu hierarchy broken at yahoo new acct page

        * kjs/array_object.cpp: (ArrayProtoFuncImp::call):
Fix bug calling concat on an empty array. The old code tried to
optimize in a way that would prevent appending any arrays until
at least one element was in the destination array. So if you were
concatenating a non-empty array into an empty array, you got an empty array.

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

20 years ago Removed debug logging.
rjw [Sat, 26 Oct 2002 02:14:36 +0000 (02:14 +0000)]
    Removed debug logging.

        * khtml/rendering/font.cpp:

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

20 years ago Implemented support for bidi text layout.
rjw [Sat, 26 Oct 2002 02:11:27 +0000 (02:11 +0000)]
    Implemented support for bidi text layout.

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:]):

        Implemented support for bidi text layout.  WebCore
        temporarily depends on SPI to get unicode character
        attribute from CF.  This will change shortly.

        * khtml/rendering/font.cpp:
        * kwq/KWQChar.mm:
        * kwq/KWQPainter.mm:
        * kwq/WebCoreTextRenderer.h:
        * kwq/qt/qpainter.h:

        Updated to reflect change in WebKit SPI.

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

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

20 years ago Made frameNamed private in WebController and renamed it to _findFrameNamed. Got...
cblu [Sat, 26 Oct 2002 00:55:06 +0000 (00:55 +0000)]
Made frameNamed private in WebController and renamed it to _findFrameNamed. Got rid of _frameInThisWindowNamed in WebController because it isn't needed anymore.

        * WebView.subproj/WebController.h:
        * WebView.subproj/WebController.m:
        (-[WebController _goToItem:withFrameLoadType:]): call _findFrameNamed
        * WebView.subproj/WebControllerPrivate.h:
        * WebView.subproj/WebControllerPrivate.m:
        (-[WebController _findFrameNamed:]): renamed, made private, got rid of call to _frameInThisWindowNamed as it is not needed
        * WebView.subproj/WebFrame.m:
        (-[WebFrame findFrameNamed:]): call [WebController _findFrameNamed:]

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

20 years ago - Fix case where we would name a new window _blank
cblu [Sat, 26 Oct 2002 00:27:02 +0000 (00:27 +0000)]
- Fix case where we would name a new window _blank
- If a data source can't be created for a plug-in request, don't create the frame or open a window.
- cleaned up plug-in stream notifications

        * Plugins.subproj/WebBaseNetscapePluginView.h:
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView initWithFrame:]): create streamNotifications dict
        (-[WebBaseNetscapePluginView dealloc]): release streamNotifications dict
        (-[WebBaseNetscapePluginView frameStateChanged:]): cleaned up
        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): create data source before frame
        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController showURL:inFrame:]): create data source before frame
        * WebView.subproj/WebControllerPrivate.m:
        (-[WebController _setTopLevelFrameName:]): don't allow _blank frames
        * WebView.subproj/WebFrame.m:
        (-[WebFrame findOrCreateFramedNamed:]): no need to check for _blank

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

20 years agoWebKit:
darin [Sat, 26 Oct 2002 00:06:31 +0000 (00:06 +0000)]

        Tighten up the code that observes mouse moved events.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView initWithFrame:]): Don't set up observers here.
        (-[WebHTMLView addMouseMovedObserver]): Added some assertions.
        (-[WebHTMLView viewWillMoveToWindow:]): Stop observing the "become main" and "resign main"
notifications here.
        (-[WebHTMLView viewDidMoveToWindow]): Start observing them here.
        (-[WebHTMLView windowDidBecomeMain:]): Assert that the notification is for this window,
instead of checking with if.
        (-[WebHTMLView windowDidResignMain:]): Assert that the notification is for this window.


- fixed 3078924 -- Rollovers fail on wired.com after selecting a menu

        * BrowserApplication.m: (-[BrowserApplication sendEvent:]):
Put in a workaround that sets the mouse focus to the key window.

        * BrowserWindowController.m:
        (-[BrowserWindowController windowDidLoad]): Remove unneeded pageTitleChanged.
        (-[BrowserWindowController frameLoadWithinPage:]): Call updateBackAndForwardButtons
instead of doing the "two calls to setActivity:" dance.

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

20 years agoWebCore:
cblu [Fri, 25 Oct 2002 23:41:51 +0000 (23:41 +0000)]

Cleaned up the frame searching shenanigans. Things are much cleaner and clearer now.

        * kwq/KWQKHTMLPartBrowserExtension.mm:
        (KHTMLPartBrowserExtension::createNewWindow): call findFrameNamed
        * kwq/KWQKHTMLPartImpl.mm:
        (KWQKHTMLPartImpl::bridgeForFrameName): call findOrCreateFramedNamed
        * kwq/WebCoreBridge.h:


Cleaned up the frame searching shenanigans. Things are much cleaner and clearer now.

        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): call findOrCreateFramedNamed
        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController showURL:inFrame:]): call findOrCreateFramedNamed
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge childFrames]): moved
        (-[WebBridge mainFrame]): moved
        (-[WebBridge findOrCreateFramedNamed:]): call findOrCreateFramedNamed on the frame
        (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): call _pluginController
        * WebView.subproj/WebControllerPrivate.m:
        (-[WebController _frameInThisWindowNamed:]): call _descendantFrameNamed
        * WebView.subproj/WebFrame.h:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame findFrameNamed:]): was frameNamed. First checks special-case frame names, descendant frames, then the whole controller, then other controllers.
        (-[WebFrame findOrCreateFramedNamed:]): calls findFrameNamed, opens new window if necessary
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _descendantFrameNamed:]): searches children, children's children etc.
        (-[WebFrame _pluginController]): this method needed an "_"
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView addSubview:]): call _pluginController
        * WebView.subproj/WebHTMLViewPrivate.m:
        (-[WebHTMLView _elementAtPoint:]): no need to special case for "_blank" since findFrameNamed will return nil for that name

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

20 years agoWebKit:
trey [Fri, 25 Oct 2002 22:51:57 +0000 (22:51 +0000)]

2919039 - Implement limit on back/forward history list
2998200 - access to most-recent in submenu of back & forward buttons
3022566 - need WebKit API for accessing and visiting back/forward list items
3084051 - forward button incorrectly enabled after going forward all the way

Remaining issues at this point are getting the title of the pages
into the menu items (instead of the URL), and saving document
state properly when you jump around in the list.  Solutions are
known and coming soon.

        * History.subproj/WebBackForwardList.h:
Added doc comments to API.  Made ivars private.  Replaced index-
based API with item-based API.  Added a sizelimit to the overall
list.  Tweaked API to get back and forward lists.
        * History.subproj/WebBackForwardList.m:
Straightforward impl of the above, with the note that I dumped
WebHistoryList from the API and impl in favor of an NSArray,
which is efficient for this sort of use (queue, stack).
        (-[WebBackForwardList init]):
        (-[WebBackForwardList dealloc]):
        (-[WebBackForwardList goBack]):
        (-[WebBackForwardList goForward]):
        (-[WebBackForwardList goToEntry:]):
        (-[WebBackForwardList backEntry]):
        (-[WebBackForwardList forwardEntry]):
        (-[WebBackForwardList maximumSize]):
        (-[WebBackForwardList setMaximumSize:]):
        (-[WebBackForwardList description]):
        * History.subproj/WebHistoryList.h: Removed.
Nuked from API, per above.
        * History.subproj/WebHistoryList.m: Removed.
        * Misc.subproj/WebKit.h:
WebHistoryList gone from API.
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge loadURL:]):
Use if/else instead of buried "return;", so next person doesn;t
make the same mis-read I did.
        (-[WebBridge saveDocumentState:]):
Site of future work.
        * WebKit.pbproj/project.pbxproj:
Nuked WebHistoryList.
        * WebView.subproj/WebController.h:
        * WebView.subproj/WebController.m:
        (-[WebController goBackOrForwardToItem:]):
New method to support random access nav in backforward list.
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _setTitle:]):
Site of future work (fixing title in items)
        * WebView.subproj/WebFramePrivate.h:
WebFrameLoadTypeIndexedBack/WebFrameLoadTypeIndexedForward are
collapsed into WebFrameLoadTypeIndexedBackForward.  Vestigial
WebFrameLoadTypeIntermediateBack is nuked.
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFramePrivate setBackForwardItem:]):
        (-[WebFrame _setBackForwardItem:]):
        (-[WebFrame _backForwardItem]):
Must remember the BF item we're going to so we can update the
BF list on commit.
        (-[WebFrame _transitionToCommitted]):
Update the BF list on commit.
        (-[WebFrame _isLoadComplete]):
        (-[WebFrame _goToItem:withFrameLoadType:]):
Update BF list on within-page nav.
Remember BF item we are going to for later update on commit.


2919039 - Implement limit on back/forward history list
2998200 - access to most-recent in submenu of back & forward buttons
3084051 - forward button incorrectly enabled after going forward all the way

Remaining issues at this point are getting the title of the pages
into the menu items (instead of the URL), and saving document
state properly when you jump around in the list.  Solutions are
known and coming soon.

        * BrowserDocument.h:
Add BrowserDocumentClientNavigatedWithinPageNotification.
        * BrowserDocument.m:
        (-[BrowserDocument init]):
Set up BackForwardListSizeLimit preference.
        (-[BrowserDocument canGoBack]):
        (-[BrowserDocument canGoForward]):
        (-[BrowserDocument goBack:]):
        (-[BrowserDocument goForward:]):
Nits adopting new API.
        (-[BrowserDocument goToItem:]):
        (-[BrowserDocument _addItem:toMenu:]):
        (-[BrowserDocument backListMenuForButton:]):
        (-[BrowserDocument forwardListMenuForButton:]):
Code to build BF menus, and respond to clicks.
        * BrowserWindowController.m:
        (-[BrowserWindowController windowDidLoad]):
        (-[BrowserWindowController frameLoadWithinPage:]):
Register for and handle BrowserDocumentClientNavigatedWithinPageNotification.
Must update title bar widgets at this point.
        * Defaults.plist:
New defaults: BackForwardListSizeLimit, BackForwardMenuSizeLimit
        * LocationChangeHandler.m:
        (-[LocationChangeHandler locationChangedWithinPageForDataSource:]):
Post BrowserDocumentClientNavigatedWithinPageNotification.
        * PreferenceKeys.h:
New default keys.

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

20 years ago Minor non-mentionable clean-up.
cblu [Fri, 25 Oct 2002 19:51:48 +0000 (19:51 +0000)]
Minor non-mentionable clean-up.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]):

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

20 years ago Cleaned up the plug-in API headers so they can be sent to other groups.
cblu [Fri, 25 Oct 2002 17:11:40 +0000 (17:11 +0000)]
Cleaned up the plug-in API headers so they can be sent to other groups.

        * Plugins.subproj/WebPlugin.h:
        * Plugins.subproj/WebPluginContainer.h:
        * Plugins.subproj/WebPluginViewFactory.h:

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

20 years ago - fixed 3065638 - "undefined" output to screen on empty document.write()
mjs [Fri, 25 Oct 2002 10:09:20 +0000 (10:09 +0000)]
- fixed 3065638 - "undefined" output to screen on empty document.write()

        * khtml/ecma/kjs_html.cpp:
        (KJS::HTMLDocFunction::tryCall): Don;t assume there is at least
one argument.

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

20 years ago*** empty log message ***
rjw [Fri, 25 Oct 2002 09:31:34 +0000 (09:31 +0000)]
*** empty log message ***

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

20 years ago - fixed 3048031 - innerHTML is incorrectly null
mjs [Fri, 25 Oct 2002 09:15:45 +0000 (09:15 +0000)]
- fixed 3048031 - innerHTML is incorrectly null

        * kwq/KWQString.mm:
        (QString::isNull): Check for NULL by comparing to
shared_null_handle instead of checking for 0 length, so
garden-variety empty strings don't show as NULL.
        (QString::QString): Make sure that string created with a NULL char
* uses the shared null handle, so it's properly NULL.

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

20 years ago Fixed many font substitution related bugs, at least including:
rjw [Fri, 25 Oct 2002 04:54:49 +0000 (04:54 +0000)]
    Fixed many font substitution related bugs, at least including:
        300696630266753071106, and more... (each of these bugs
        has a list of related bugs).

        Needs little more cleanup to correctly deal with non base characters.

        * WebCoreSupport.subproj/WebTextRenderer.h:
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:]):
        (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:]):
        (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]):

        Against Darin's better judgement prevent extra layout when not in live resize.  If
        this introduces any regressions I owe darin a good bottle of wine.

        * WebView.subproj/WebDynamicScrollBarsView.m:
        (-[WebDynamicScrollBarsView updateScrollers]):

        Updated to reflect new calling parameter semantic of floatCharacterWidths(),
        which now returns the entire array of widths up the last character requested.

        * khtml/rendering/render_text.cpp:

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

20 years ago New Java plug-in works! Much faster to load and no spinny cursor! Unfortunately...
cblu [Thu, 24 Oct 2002 23:35:51 +0000 (23:35 +0000)]
New Java plug-in works! Much faster to load and no spinny cursor! Unfortunately, it very unstable.

        * Plugins.subproj/WebPluginController.m: cleaned-up the logging messages.
        (-[WebPluginController addPluginView:]):
        (-[WebPluginController didAddPluginView:]):
        (-[WebPluginController startAllPlugins]):
        (-[WebPluginController stopAllPlugins]):
        (-[WebPluginController destroyAllPlugins]):
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]): make height and width an attribute.

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

20 years ago <pre>, <xmp> and <plaintext> should all have a top margin of 1em.
hyatt [Thu, 24 Oct 2002 23:12:50 +0000 (23:12 +0000)]
<pre>, <xmp> and <plaintext> should all have a top margin of 1em.
Fixes a bunch of sites that use <pre>.

        * khtml/css/html4.css:

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

20 years agoWebCore:
cblu [Thu, 24 Oct 2002 22:34:58 +0000 (22:34 +0000)]

Removed didAddSubview calls because that can easily be done in WebKit. Duh!

        * khtml/rendering/render_frames.cpp:
        * kwq/KWQKHTMLPartImpl.h:
        * kwq/KWQKHTMLPartImpl.mm:
        * kwq/KWQKJavaAppletWidget.mm:
        * kwq/WebCoreBridge.h:


Some clean-up and bug fixes for new plug-in support.

        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController initWithWebFrame:]): need a colon after windowWillClose
        (-[WebPluginController addPluginView:]): added logging
        (-[WebPluginController didAddPluginView:]): added logging
        (-[WebPluginController startAllPlugins]): added logging
        (-[WebPluginController stopAllPlugins]): added logging
        (-[WebPluginController destroyAllPlugins]): added logging
        * Plugins.subproj/WebPluginPackage.m:
        (-[WebPluginPackage getMIMEInformation]): use correct dict key for getting MIME descriptions
        * WebCoreSupport.subproj/WebBridge.m: no more didAddSubview
        * WebView.subproj/WebFramePrivate.h: no more didAddSubview
        * WebView.subproj/WebFramePrivate.m: no more didAddSubview
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView addSubview:]): call didAddPluginView on WebPluginController

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

20 years agoWebKit:
sullivan [Thu, 24 Oct 2002 22:08:53 +0000 (22:08 +0000)]

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge objectLoadedFromCache:response:size:]):
added ASSERT(response != nil), leftover from debugging
session on Tuesday, seems worth leaving in.


- fixed 3083271 -- Change Show/Hide menu items in View menu to use check marks

        * English.lproj/MainMenu.nib: changed menu items to not include "Show" or "Hide"
and to be indented by two spaces so they look like they belong to the dimmed
"Show" item at the top of the menu. This is a yucky UI hack but is (A) probably
better than the old huge list of items starting with "Show" or "Hide", and (B)
what SJ wants.

        * BrowserWindowController.m:
        (-[BrowserWindowController validateMenuItem:]):
validate by updating check mark rather than changing title

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

20 years ago A step in the direction of making KWQ headers much nicer.
darin [Thu, 24 Oct 2002 20:28:12 +0000 (20:28 +0000)]
A step in the direction of making KWQ headers much nicer.
Move all empty headers out of kwq, and into ForwardingHeaders.

        * ForwardingHeaders/kcmdlineargs.h: Added.
        * ForwardingHeaders/kdatastream.h: Added.
        * ForwardingHeaders/khtml_iface.h: Added.
        * ForwardingHeaders/khtml_printsettings.h: Added.
        * ForwardingHeaders/khtml_run.h: Added.
        * ForwardingHeaders/kio/kprinter.h: Added.
        * ForwardingHeaders/kio/kprotocolmanager.h:
        * ForwardingHeaders/kio/ktrader.h: Added.
        * ForwardingHeaders/kio/scheduler.h: Added.
        * ForwardingHeaders/kmultipledrag.h: Added.
        * ForwardingHeaders/kprinter.h: Added.
        * ForwardingHeaders/kprotocolmanager.h: Added.
        * ForwardingHeaders/ksslcertchain.h: Added.
        * ForwardingHeaders/ksslinfodlg.h: Added.
        * ForwardingHeaders/kstdaction.h: Added.
        * ForwardingHeaders/ktempfile.h: Added.
        * ForwardingHeaders/ktrader.h: Added.
        * ForwardingHeaders/kurldrag.h: Added.
        * ForwardingHeaders/kxmlguifactory.h: Added.
        * ForwardingHeaders/qasyncimageio.h: Added.
        * ForwardingHeaders/qbitmap.h: Added.
        * ForwardingHeaders/qclipboard.h: Added.
        * ForwardingHeaders/qfontdatabase.h: Added.
        * ForwardingHeaders/qglobal.h: Added.
        * ForwardingHeaders/qhbox.h: Added.
        * ForwardingHeaders/qintcache.h: Added.
        * ForwardingHeaders/qintdict.h: Added.
        * ForwardingHeaders/qmetaobject.h: Added.
        * ForwardingHeaders/qobjectlist.h: Added.
        * ForwardingHeaders/scheduler.h: Added.

        * kwq/dcop/kdatastream.h: Removed.
        * kwq/kdecore/kcmdlineargs.h: Removed.
        * kwq/kdecore/kmultipledrag.h: Removed.
        * kwq/kdecore/ktempfile.h: Removed.
        * kwq/kdecore/kurldrag.h: Removed.
        * kwq/kdeui/kstdaction.h: Removed.
        * kwq/kdeui/kxmlguifactory.h: Removed.
        * kwq/khtml/khtml_iface.h: Removed.
        * kwq/khtml/khtml_printsettings.h: Removed.
        * kwq/khtml/khtml_run.h: Removed.
        * kwq/kio/kprinter.h: Removed.
        * kwq/kio/kprotocolmanager.h: Removed.
        * kwq/kio/kssl/ksslcertchain.h: Removed.
        * kwq/kio/kssl/ksslinfodlg.h: Removed.
        * kwq/kio/ktrader.h: Removed.
        * kwq/kio/scheduler.h: Removed.
        * kwq/qt/qasyncimageio.h: Removed.
        * kwq/qt/qbitmap.h: Removed.
        * kwq/qt/qclipboard.h: Removed.
        * kwq/qt/qfontdatabase.h: Removed.
        * kwq/qt/qglobal.h: Removed.
        * kwq/qt/qhbox.h: Removed.
        * kwq/qt/qintcache.h: Removed.
        * kwq/qt/qintdict.h: Removed.
        * kwq/qt/qmetaobject.h: Removed.
        * kwq/qt/qobjectlist.h: Removed.

        * WebCore.pbproj/project.pbxproj: Removed all the above headers from
the project.

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

20 years agoWebFoundation:
darin [Thu, 24 Oct 2002 19:47:16 +0000 (19:47 +0000)]

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


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


        * WebBrowser.pbproj/project.pbxproj: Move the new pltsuite
into the Test group.

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

20 years ago * ForwardingHeaders/private/qucomextra_p.h: Emptied this out.
darin [Thu, 24 Oct 2002 19:23:23 +0000 (19:23 +0000)]
    * ForwardingHeaders/private/qucomextra_p.h: Emptied this out.
        * kwq/qt/private/qucomextra_p.h: Removed.

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

20 years ago Make sure that KHTML's initial layout happens after KHTML
hyatt [Thu, 24 Oct 2002 19:15:29 +0000 (19:15 +0000)]
Make sure that KHTML's initial layout happens after KHTML
fires the onload.  This means that in the case where we
beat the timer, we will now fire the onload before both
the initial layout and the initial paint.

        * khtml/html/html_documentimpl.cpp:

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

20 years agoWebKit:
cblu [Thu, 24 Oct 2002 18:35:14 +0000 (18:35 +0000)]

Changed some method names in WebPluginController.

        * Plugins.subproj/WebPluginController.h:
        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController didAddPluginView:]):
        (-[WebPluginController startAllPlugins]):
        (-[WebPluginController stopAllPlugins]):
        (-[WebPluginController destroyAllPlugins]):
        (-[WebPluginController windowWillClose:]):
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _transitionToCommitted]):
        (-[WebFrame _didAddSubview:]):


Fixed: 2961256 - vend an open URL service

        * AppController.m:
        (-[AppController applicationDidFinishLaunching:]): register the services
        * ServicesProvider.h: Added.
        * ServicesProvider.m: Added.
        (-[ServicesProvider openURL:userData:error:]): the service
        * WebBrowser.pbproj/project.pbxproj:

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

20 years agoAlex-29 version stamp
sheridan [Thu, 24 Oct 2002 17:04:17 +0000 (17:04 +0000)]
Alex-29 version stamp

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

20 years ago Don't leak request.
rjw [Thu, 24 Oct 2002 16:28:30 +0000 (16:28 +0000)]
    Don't leak request.

        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate handle:willSendRequest:]):

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

20 years ago Always copy request, we can't count on it being immutable.
rjw [Thu, 24 Oct 2002 16:18:18 +0000 (16:18 +0000)]
    Always copy request, we can't count on it being immutable.
        This was the cause of the ASSERT from last night's checkin.

        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate handle:willSendRequest:]):

        Only send serverRedirectedForDataSource: if URL changed.

        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _setRequest:]):

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

20 years agoWebCore:
cblu [Thu, 24 Oct 2002 15:38:22 +0000 (15:38 +0000)]

Use "MIMEType" instead of "serviceType".

        * kwq/KWQKHTMLPartImpl.mm:
        * kwq/WebCoreBridge.h:


- Use "MIMEType" instead of "serviceType".

        * Plugins.subproj/WebBasePluginPackage.h:
        * Plugins.subproj/WebBasePluginPackage.m:
        (-[WebBasePluginPackage load]):
        (-[WebBasePluginPackage dealloc]):
        (-[WebBasePluginPackage filename]):
        (-[WebBasePluginPackage setPath:]):
        * Plugins.subproj/WebNetscapePluginEmbeddedView.h:
        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
        (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributes:]):
        * Plugins.subproj/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage getMIMEInformation]): changed name.
        (-[WebNetscapePluginPackage initWithPath:]):
        * Plugins.subproj/WebNullPluginView.h:
        * Plugins.subproj/WebNullPluginView.m:
        (-[WebNullPluginView initWithFrame:MIMEType:attributes:]):
        (-[WebNullPluginView dealloc]):
        (-[WebNullPluginView viewDidMoveToWindow]): send missing plug-ins notification here
        * Plugins.subproj/WebPluginPackage.m:
        (-[WebPluginPackage getMIMEInformation]): new, gets MIME info from plist
        (-[WebPluginPackage initWithPath:]):
        (-[WebPluginPackage dealloc]):
        (-[WebPluginPackage viewFactory]):
        (-[WebPluginPackage load]):
        (-[WebPluginPackage unload]):
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]):
        (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]):

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

20 years ago Flag error instead of ASSERTing as a result of fix to 3083013.
rjw [Thu, 24 Oct 2002 09:02:27 +0000 (09:02 +0000)]
    Flag error instead of ASSERTing as a result of fix to 3083013.
        Not clear why this condition occurs, but better than ASSERTing
        for Alex 29.

        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSource _setRequest:]):

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

20 years ago * kwq/KWQKLocale.mm: (i18n): Make it obvious when non-localized
darin [Thu, 24 Oct 2002 07:35:53 +0000 (07:35 +0000)]
    * kwq/KWQKLocale.mm: (i18n): Make it obvious when non-localized
strings from WebCore show up in the UI, but putting the string
"not localized: " in front.

        * kwq/KWQKMessageBox.mm:
        (KMessageBox::error): Fix use of NSRunAlertPanel so that we won't
accidentally try to interpret % sequences in the messages we are displaying.
        (KMessageBox::warningYesNo): Ditto.
        (KMessageBox::questionYesNo): Ditto.
        (KMessageBox::sorry): Ditto.
        (KMessageBox::information): Ditto.

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

20 years ago - fixed a crash I ran into in the new delegate code
darin [Thu, 24 Oct 2002 07:20:39 +0000 (07:20 +0000)]
- fixed a crash I ran into in the new delegate code

        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate _releaseResources]): Retain self across this
deallocation to avoid reentering and being deallocated midstream. This happens
because the handle holds the only reference to us, and we may be releasing the
last reference to it.
        (-[WebBaseResourceHandleDelegate dealloc]): Add call to [super dealloc].

        * Plugins.subproj/WebBasePluginPackage.m: (-[WebBasePluginPackage dealloc]):
Add call to [super dealloc].

        * WebView.subproj/WebMainResourceClient.m: Tweak.

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

20 years ago - fixed 3083013 -- REGRESSION: Cookie refused at http://directory/ even on reload
darin [Thu, 24 Oct 2002 06:50:38 +0000 (06:50 +0000)]
- fixed 3083013 -- REGRESSION: Cookie refused at directory/ even on reload

Restore a bit of the cruft.

        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient handle:willSendRequest:]):
We need to change the request on the data source when a redirect happens,
because the data source goes on to ultimately communicate this to WebCore.
Restored the code that did that, with some changes to fit into the new regime.

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

20 years ago Cleaned up months of accumulated cruft.
rjw [Thu, 24 Oct 2002 05:16:33 +0000 (05:16 +0000)]
    Cleaned up months of accumulated cruft.
        Added base class to the three WebResourceHandleDelegate implementors.
        Removed superfluous handle references to controller callbacks.
        More can still be done.
        All in the name of fixing 3076050.

        * Misc.subproj/WebKitErrors.h:
        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (-[WebBaseNetscapePluginStream setResponse:]):
        * Plugins.subproj/WebNetscapePluginRepresentation.m:
        (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
        (-[WebNetscapePluginRepresentation receivedError:withDataSource:]):
        (-[WebNetscapePluginRepresentation finishedLoadingWithDataSource:]):
        * Plugins.subproj/WebNetscapePluginStream.h:
        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
        (-[WebNetscapePluginStream dealloc]):
        (-[WebNetscapePluginStream start]):
        (-[WebNetscapePluginStream stop]):
        (-[WebNetscapePluginStream handle:willSendRequest:]):
        (-[WebNetscapePluginStream handle:didReceiveResponse:]):
        (-[WebNetscapePluginStream handle:didReceiveData:]):
        (-[WebNetscapePluginStream handleDidFinishLoading:]):
        (-[WebNetscapePluginStream handle:didFailLoadingWithError:]):
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge reportBadURL:]):
        * WebCoreSupport.subproj/WebSubresourceClient.h:
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (-[WebSubresourceClient initWithLoader:dataSource:]):
        (-[WebSubresourceClient dealloc]):
        (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
        (-[WebSubresourceClient receivedError:]):
        (-[WebSubresourceClient handle:willSendRequest:]):
        (-[WebSubresourceClient handle:didReceiveResponse:]):
        (-[WebSubresourceClient handle:didReceiveData:]):
        (-[WebSubresourceClient handleDidFinishLoading:]):
        (-[WebSubresourceClient handle:didFailLoadingWithError:]):
        (-[WebSubresourceClient cancel]):
        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate init]):
        (-[WebBaseResourceHandleDelegate _releaseResources]):
        (-[WebBaseResourceHandleDelegate dealloc]):
        (-[WebBaseResourceHandleDelegate setDataSource:]):
        (-[WebBaseResourceHandleDelegate dataSource]):
        (-[WebBaseResourceHandleDelegate resourceLoadDelegate]):
        (-[WebBaseResourceHandleDelegate downloadDelegate]):
        (-[WebBaseResourceHandleDelegate setIsDownload:]):
        (-[WebBaseResourceHandleDelegate isDownload]):
        (-[WebBaseResourceHandleDelegate handle:willSendRequest:]):
        (-[WebBaseResourceHandleDelegate handle:didReceiveResponse:]):
        (-[WebBaseResourceHandleDelegate handle:didReceiveData:]):
        (-[WebBaseResourceHandleDelegate handleDidFinishLoading:]):
        (-[WebBaseResourceHandleDelegate handle:didFailLoadingWithError:]):
        (-[WebBaseResourceHandleDelegate cancel]):
        (-[WebBaseResourceHandleDelegate handle]):
        * WebView.subproj/WebControllerPrivate.h:
        * WebView.subproj/WebControllerPrivate.m:
        (-[WebController _mainReceivedBytesSoFar:fromDataSource:complete:]):
        (-[WebController _receivedError:fromDataSource:]):
        (-[WebController _mainReceivedError:fromDataSource:]):
        * WebView.subproj/WebDataSource.h:
        * WebView.subproj/WebDataSource.m:
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDataSourcePrivate.m:
        (-[WebDataSourcePrivate dealloc]):
        (-[WebDataSource _startLoading]):
        (-[WebDataSource _stopLoading]):
        (-[WebDataSource _clearErrors]):
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _isLoadComplete]):
        * WebView.subproj/WebMainResourceClient.h:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient initWithDataSource:]):
        (-[WebMainResourceClient dealloc]):
        (-[WebMainResourceClient receivedError:]):
        (-[WebMainResourceClient cancel]):
        (-[WebMainResourceClient handle:willSendRequest:]):
        (-[WebMainResourceClient _notifyDelegatesOfInterruptionByPolicyChange]):
        (-[WebMainResourceClient handle:didReceiveResponse:]):
        (-[WebMainResourceClient handle:didReceiveData:]):
        (-[WebMainResourceClient handleDidFinishLoading:]):
        (-[WebMainResourceClient handle:didFailLoadingWithError:]):
        * WebView.subproj/WebResourceLoadDelegate.h:

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

20 years agoWebCore:
cblu [Thu, 24 Oct 2002 01:30:06 +0000 (01:30 +0000)]

WebKit now gets called when render_frame subviews are added.

        * khtml/rendering/render_frames.cpp:
        (RenderPart::setWidget): call didAddWidget on the part
        * kwq/KWQKHTMLPartImpl.h:
        * kwq/KWQKHTMLPartImpl.mm:
        (KWQKHTMLPartImpl::didAddWidget): added, calls didAddSubview on the bridge


Support for new plug-in API. This is about as much as I can do without the new java plug-in and java root.

        * Plugins.subproj/WebPluginController.h:
        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController initWithWebFrame:]): observe window close changes
        (-[WebPluginController dealloc]): remove observer, assert if we're still tracking plug-ins
        (-[WebPluginController didAddSubview:]): start the plug-in
        (-[WebPluginController stopAllPlugins]): stop and destroy all plug-ins.
        (-[WebPluginController windowWillClose:]): call stopAllPlugins if the window in question is closing
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _transitionToCommitted]): call stopAllPlugins on WebPluginController

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

20 years agoWebCore:
cblu [Thu, 24 Oct 2002 00:44:53 +0000 (00:44 +0000)]

Change for plug-in package API changes.

        * kwq/KWQKConfigBase.mm:
        * kwq/WebCoreBridge.h: added didAddSubview, called when a render_frame's view is added as a subview of the main view.
        * kwq/WebCoreViewFactory.h: added didAddSubview


Changed the plug-in package API to return key enumerators instead dictionaries.

        * Plugins.subproj/WebBasePluginPackage.h:
        * Plugins.subproj/WebBasePluginPackage.m:
        (-[WebBasePluginPackage initWithPath:]):
        (-[WebBasePluginPackage load]):
        (-[WebBasePluginPackage unload]):
        (-[WebBasePluginPackage dealloc]):
        (-[WebBasePluginPackage extensionEnumerator]):
        (-[WebBasePluginPackage MIMETypeEnumerator]):
        (-[WebBasePluginPackage descriptionForMIMEType:]):
        (-[WebBasePluginPackage MIMETypeForExtension:]):
        (-[WebBasePluginPackage extensionsForMIMEType:]):
        (-[WebBasePluginPackage setName:]):
        (-[WebBasePluginPackage setPath:]):
        (-[WebBasePluginPackage setFilename:]):
        (-[WebBasePluginPackage setPluginDescription:]):
        (-[WebBasePluginPackage setMIMEToDescriptionDictionary:]):
        (-[WebBasePluginPackage setMIMEToExtensionsDictionary:]):
        * Plugins.subproj/WebNetscapePluginPackage.h:
        * Plugins.subproj/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage getPluginInfo]):
        (-[WebNetscapePluginPackage pathByResolvingSymlinksAndAliasesInPath:]):
        (-[WebNetscapePluginPackage initWithPath:]):
        (-[WebNetscapePluginPackage executableType]):
        * Plugins.subproj/WebPluginController.h:
        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController didAddSubview:]):
        * Plugins.subproj/WebPluginDatabase.h:
        * Plugins.subproj/WebPluginDatabase.m:
        (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
        (-[WebPluginDatabase pluginForMIMEType:]):
        (-[WebPluginDatabase pluginForExtension:]):
        (-[WebPluginDatabase MIMETypes]):
        (-[WebPluginDatabase init]):
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge viewForPluginWithURL:attributes:baseURL:serviceType:]):
        (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]):
        (-[WebBridge didAddSubview:]): new
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFrame _didAddSubview:]): new

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

20 years agoWebFoundation:
darin [Wed, 23 Oct 2002 23:17:33 +0000 (23:17 +0000)]

        * English.lproj/StringsNotToBeLocalized.txt:


- finished up the job of moving the file button to WebKit

I did this mainly for localization reasons.

        * kwq/KWQFileButton.h: Remove filename(), add filenameChanged(),
make KWQFileButton be a QWidget subclass, not a QPushButton one.
Remove clicked() and paint() virtual functions, _filename, _icon,
and _label data members.
        * kwq/KWQFileButton.mm:
        (KWQFileButton::KWQFileButton): Just make a WebCoreFileButton.
        (KWQFileButton::~KWQFileButton): Less to do here now.
        (KWQFileButton::setFilename): Call the button to do the work.
        (KWQFileButton::sizeHint): Ditto.
        (KWQFileButton::frameGeometry): Ditto.
        (KWQFileButton::setFrameGeometry): Ditto.
        (KWQFileButton::baselinePosition): Ditto.
        (KWQFileButton::filenameChanged): Added. Sends message.
        (-[KWQFileButtonAdapter initWithKWQFileButton:]): Observe the "filename
changed notification".
        (-[KWQFileButtonAdapter dealloc]): Stop observing.
        (-[KWQFileButtonAdapter filenameChanged:]): Send a signal when the notification
comes in, so KHTML finds out.

        * kwq/KWQSlot.mm:
        (KWQSlot::KWQSlot): Remove handling for RenderFileButton slotReturnPressed.
        (KWQSlot::call): Ditto.

        * kwq/WebCoreViewFactory.h: Remove bestSize. Add setVisualFrame, visualFrame, and

        * kwq/KWQInputDialog.mm: Tweaked includes. Long-term we want to use "", not <>.
        * kwq/KWQKConfigBase.mm: Ditto.
        * kwq/KWQKHTMLPartImpl.mm: Ditto.


- finished up the job of moving the file button here from WebCore.

I did this mainly for localization reasons.

        * WebCoreSupport.subproj/WebFileButton.m:
        (-[WebFileButton initWithFrame:]): Set up button control size, font, bezel style,
target, and action. Also add it as a subview.
        (-[WebFileButton drawRect:]): Center icon in the "visual frame" part of the view,
not the entire bounds.
        (-[WebFileButton setFilename:]): Don't show any icon when the filename is empty.
        (-[WebFileButton bestVisualFrameSize]): Implemented this.
        (-[WebFileButton visualFrame]): Ditto.
        (-[WebFileButton setVisualFrame:]): Ditto.
        (-[WebFileButton baseline]): Ditto.
        (-[WebFileButton beginSheet]): Added. Shared between button presses and other clicks.
        (-[WebFileButton chooseButtonPressed:]): Call beginSheet.
        (-[WebFileButton mouseDown:]): Ditto.
        (-[WebFileButton openPanelDidEnd:returnCode:contextInfo:]): Send the notification,
WebCoreFileButtonFilenameChanged, when the filename is changed.

        * WebView.subproj/WebController.m: (-[WebController policyDelegate]):
Add a FIXME about the leak I found here.

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

20 years agoWebCore:
cblu [Wed, 23 Oct 2002 20:49:30 +0000 (20:49 +0000)]

Call the arguments for plug-ins "attributes" everywhere.

        * kwq/KWQKHTMLPartImpl.mm:
        * kwq/KWQKJavaAppletWidget.mm:
        * kwq/WebCoreBridge.h:


Call the arguments for plug-ins "attributes" everywhere.

        * Plugins.subproj/WebBaseNetscapePluginView.h:
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView setAttributes:]):
        * Plugins.subproj/WebNetscapePluginEmbeddedView.h:
        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
        (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:mime:attributes:]):
        * Plugins.subproj/WebNullPluginView.h:
        * Plugins.subproj/WebNullPluginView.m:
        (-[WebNullPluginView initWithFrame:mimeType:attributes:]):
        (-[WebNullPluginView drawRect:]):
        * Plugins.subproj/WebPluginController.h:
        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController initWithWebFrame:]):
        (-[WebPluginController dealloc]):
        (-[WebPluginController addPluginView:]):
        * Plugins.subproj/WebPluginPackage.h:
        * Plugins.subproj/WebPluginPackage.m:
        (-[WebPluginPackage viewFactory]):
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge pluginViewWithPackage:attributes:baseURL:]):
        (-[WebBridge viewForPluginWithURL:attributes:baseURL:serviceType:]):
        (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]):

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

20 years agoWebCore:
cblu [Wed, 23 Oct 2002 18:52:33 +0000 (18:52 +0000)]

For the new plug-in API, we need to pass a WebPluginContainer to the plug-in view upon creation. The is owned by the WebFrame. To make this all work, I had to move the WebCore plug-in and java view constructors to WebBridge from WebViewFactory since WebBridge has the frame.

        * khtml/khtml_part.cpp:
        (KHTMLPart::createJavaContext): New APPLE_CHANGES around the java context constructor so we pass the part.
        * kwq/KWQKHTMLPartImpl.mm:
        (KWQKHTMLPartImpl::createPart): call the bridge to create the view
        * kwq/KWQKJavaAppletWidget.mm:
        (KJavaAppletWidget::KJavaAppletWidget): save the context
        (KJavaAppletWidget::showApplet): call the bridge to create the view
        * kwq/WebCoreBridge.h:
        * kwq/WebCoreViewFactory.h:
        * kwq/khtml/java/kjavaappletcontext.h: made constructor take the part
        * kwq/khtml/java/kjavaappletwidget.h: ivar for the context


        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge requestedURL]):
        (-[WebBridge viewForPluginWithURL:serviceType:arguments:baseURL:]):
        (-[WebBridge viewForJavaAppletWithFrame:baseURL:parameters:]):
        * WebCoreSupport.subproj/WebViewFactory.m:
        (-[WebViewFactory fileButton]):
        (-[WebViewFactory pluginsInfo]):

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

20 years ago - fix bug where plugins crashed closing a stream that was never opened
darin [Wed, 23 Oct 2002 17:49:10 +0000 (17:49 +0000)]
- fix bug where plugins crashed closing a stream that was never opened

        * Plugins.subproj/WebBaseNetscapePluginStream.h: Change type for parameter of
receivedError: to NPReason. It's not NPError.
        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (-[WebBaseNetscapePluginStream dealloc]): Assert that stream is destroyed by
checking stream.ndata.
        (-[WebBaseNetscapePluginStream setResponse:]): Set stream.ndata to nil if the
stream is not successfully created by NPP_NewStream.
        (-[WebBaseNetscapePluginStream destroyStreamWithReason:]): Added. Destroys the
stream, but only if it's present. Also set stream.ndata to nil. This was the bug fix.
        (-[WebBaseNetscapePluginStream receivedError:]): Call destroyStreamWithReason:.
        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Call destroyStreamWithReason:.

        * English.lproj/Localizable.strings: Update.
        * English.lproj/StringsNotToBeLocalized.txt: Update.

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

20 years ago Forgot to add WebPluginController back to the project after I had a project conflict.
cblu [Wed, 23 Oct 2002 17:38:23 +0000 (17:38 +0000)]
Forgot to add WebPluginController back to the project after I had a project conflict.

        * WebKit.pbproj/project.pbxproj:

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

20 years ago Added WebPluginController which controls and reacts to plug-in requests. Its owned...
cblu [Wed, 23 Oct 2002 17:27:04 +0000 (17:27 +0000)]
Added WebPluginController which controls and reacts to plug-in requests. Its owned by the WebFrame.

        * Plugins.subproj/WebPluginController.h: Added.
        * Plugins.subproj/WebPluginController.m: Added.
        (-[WebPluginController initWithWebFrame:]):
        (-[WebPluginController showURL:inFrame:]):
        (-[WebPluginController showStatus:]):
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFramePrivate.m:
        (-[WebFramePrivate dealloc]):
        (-[WebFrame pluginController]):

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

20 years agoWebCore:
darin [Wed, 23 Oct 2002 16:57:39 +0000 (16:57 +0000)]

- fixed 3080478 -- reproducible incomplete load on apple.com

        * kwq/KWQLoaderImpl.mm:
        (-[WebCoreResourceLoader receivedResponse:]): Add an assert.
        (-[WebCoreResourceLoader cancel]): Don't finish here, just disconnect the handle
from the job, and disconnect the job from the WebCoreResourceLoader, and let the
KHTML code finish the cleanup later. This is the bug fix.
        (KWQCheckCacheObjectStatus): Add an assertion.

        * kwq/KWQKjobclasses.mm:
(TransferJob::~TransferJob): Don't call kill(); do the work here instead.
(TransferJob::kill): Self-destruct. Need this to avoid a storage leak.

        * khtml/misc/loader.cpp:
        (CachedObject::~CachedObject): Put some Apple-specific code inside APPLE_CHANGES.
        (CachedObject::setResponse): Streamlined this function.
        (Loader::receivedResponse): Added assertions.

        * kwq/qt/qxml.h: Add more stubs.
        * kwq/KWQxml.mm: Ditto.

        * kwq/WebCoreViewFactory.h: Add [WebCoreViewFactory fileButton], the
WebCoreFileButton protocol, and WebCoreFileButtonFilenameChanged.
        * kwq/WebCoreViewFactory.m: Add WebCoreFileButtonFilenameChanged.
        * WebCore.exp: Export _WebCoreFileButtonFilenameChanged.


Add WebFileButton, to be used by WebCore soon. It's about 1/2
done right now. Compiles but not used yet.

        * WebCoreSupport.subproj/WebViewFactory.m: (-[WebViewFactory fileButton]): Added.

        * WebCoreSupport.subproj/WebFileButton.h: Added.
        * WebCoreSupport.subproj/WebFileButton.m: Added.
        * WebKit.pbproj/project.pbxproj: Added WebFileButton files.

        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (-[WebSubresourceClient handle:didReceiveResponse:]): Add an assertion.

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