Timeline



Jul 10, 2002:

11:48 PM Changeset in webkit [1535] by darin
  • 4 edits in trunk/WebKit
  • fixed 2973738 -- box characters

To be consistent with other browsers, we need to draw nothing for 0000-001F.
We were drawing boxes.

  • WebCoreSupport.subproj/IFTextRenderer.m: (-[IFTextRenderer convertCharacters:length:toGlyphs:skipControlCharacters:]): Add the skipControlCharacters parameter. If YES, don't include glyphs for characters in the 0000-001F range. (-[IFTextRenderer slowPackGlyphsForCharacters:numCharacters:glyphBuffer:numGlyphs:]): Pass skipControlCharacters:YES. (-[IFTextRenderer _drawCharacters:length:fromCharacterPosition:toCharacterPosition:atPoint:withTextColor:backgroundColor:]): Skip control characters when creating the glyph array. (-[IFTextRenderer slowFloatWidthForCharacters:stringLength:fromCharacterPostion:numberOfCharacters:applyRounding:]): Pass skipControlCharacters:YES. (-[IFTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:applyRounding:attemptFontSubstitution:]): Skip control characters when computing the width. (-[IFTextRenderer extendCharacterToGlyphMapToInclude:]): Pass skipControlCharacters:NO.
11:23 PM Changeset in webkit [1534] by darin
  • 7 edits in trunk/WebCore
  • fixed 2978796 -- Client-side image map not working
  • kwq/KWQRegion.mm: (QRegion::QRegion): Implement constructor that takes a QPointArray.
  • kwq/qt/qarray.h: Fix some const loopholes.
  • kwq/KWQCString.mm: (QCString::find): Use const char * instead of char *. (QCString::contains): Use const char * instead of char *. (QCString::right): Use const char * instead of char *. (QCString::mid): Use const char * instead of char *.
10:49 PM Changeset in webkit [1533] by darin
  • 11 edits in trunk/WebKit
  • fixed 2986273 -- assert currentURL isEqual:[handle redirectedURL] ? [handle redirectedURL] : [handle url]

Since cancel prevents further notification from getting through, currentURL can get
out of sync before cancelling, so we can't assert in the cancel function.

  • WebCoreSupport.subproj/IFResourceURLHandleClient.m: (-[IFResourceURLHandleClient IFURLHandleResourceDidCancelLoading:]): Remove assert.
  • WebView.subproj/IFMainURLHandleClient.h: Remove unnecessary includes. Change type of dataSource to IFWebDataSource from id. Change url to currentURL to match IFResourceURLHandleClient.
  • WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient initWithDataSource:]): Simplify. (-[IFMainURLHandleClient didStartLoadingWithURL:]): Copied here from IFResourceURLHandleClient as a first step toward using a common superclass some day. (-[IFMainURLHandleClient didStopLoading]): Copied here from IFResourceURLHandleClient as a first step toward using a common superclass some day. (-[IFMainURLHandleClient dealloc]): Add an assert. (-[IFMainURLHandleClient receivedProgressWithHandle:complete:]): Removed most of the parameters to make this match the one in IFResourceURLHandleClient. (-[IFMainURLHandleClient IFURLHandleResourceDidBeginLoading:]): Use didStartLoadingWithURL. (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]): Use receivedProgressWithHandle and didStopLoading. (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]): Use receivedProgressWithHandle and didStopLoading. (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): Use receivedProgressWithHandle. (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]): Use receivedProgressWithHandle and didStopLoading. (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]): Use didStopLoading and didStartLoadingWithURL.
10:32 PM Changeset in webkit [1532] by mjs
  • 14 edits in trunk

WebCore:

WebCore part of fix for:

Radar 2953250 - JavaScript window.focus() and window.blur()
methods don't work

  • khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): Call the appropriate things on focus and blur.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPartImpl::unfocusWindow): Implemented by calling bridge.
  • kwq/KWQKHTMLPartImpl.h, kwq/KWQWidget.mm: (QWidget::setActiveWindow): Implemented by ordering the window front and making it key.
  • kwq/WebCoreBridge.h: Prototype new bridge method.

WebKit:

WebKit part of fix for:

Radar 2953250 - JavaScript window.focus() and window.blur()
methods don't work

  • WebCoreSupport.subproj/IFWebCoreBridge.mm: (-[IFWebCoreBridge unfocusWindow]): Use private AppKit interface to cycle windows if the window is the key window.
10:07 PM Changeset in webkit [1531] by darin
  • 4 edits in trunk/WebCore
  • fixed 2979153 -- charset sjis page is gibberish
  • kwq/character-sets.txt: Add x-sjis as an alias for Shift JIS.
9:59 PM Changeset in webkit [1530] by darin
  • 4 edits in trunk/WebKit
  • fixed 2983025 -- crash in sendEvent on pages with flash playing
  • Plugins.subproj/IFPluginView.mm: (-[IFPluginView removeTrackingRect]): New, removes tracking rect and releases window. (-[IFPluginView resetTrackingRect]): New, adds tracking rect and retains window. (-[IFPluginView start]): Use resetTrackingRect. (-[IFPluginView stop]): Use removeTrackingRect. (-[IFPluginView viewWillMoveToWindow:]): Call removeTrackingRect because the window will change by the time we get to viewDidMoveToWindow. (-[IFPluginView viewDidMoveToWindow]): Call resetTrackingRect. (-[IFPluginView viewHasMoved:]): Call resetTrackingRect.
9:12 PM Changeset in webkit [1529] by darin
  • 4 edits in trunk/WebKit
  • WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView _scrollToBottomLeft]): Fix this to use the document view to define what the bottom left is, not the content view (which is often much smaller than the document).
6:44 PM Changeset in webkit [1528] by cblu
  • 5 edits in trunk/WebKit

WebKit:

Fixes for:
2981866 - Download doesn't appear in Downloads window if link was command-clicked
2965312 - Download progress not shown when clicking on download link with Alex not running

  • WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): retain the downloadProgressHandler before calling requestContentPolicy as the web controller may be released in requestContentPolicy

WebBrowser:

Fixes for:
2981866 - Download doesn't appear in Downloads window if link was command-clicked
2965312 - Download progress not shown when clicking on download link with Alex not running

  • BrowserDocument.m: (-[BrowserDocument _stopNonDownloadingDataSource:]): added (-[BrowserDocument close]): calls above
  • WebController.m: (-[BrowserWebController haveContentPolicy:andPath:forDataSource:]): moved super call to first line
5:38 PM Changeset in webkit [1527] by darin
  • 6 edits in trunk/WebCore
  • kwq/KWQPixmap.mm: (QPixmap::QPixmap): Restore the imageRenderer == nil case to fix a regression related to resized images. Otherwise, isNull was returning true for all images. In copy constructor, set needCopyOnWrite on both the source and destination; setting it on the destination was not enough. (QPixmap::receivedData): Create the imageRenderer if it's nil. (QPixmap::operator=): Set needCopyOnWrite on both the source and destination.
  • kwq/qt/qpixmap.h: Make needCopyOnWrite mutable so we can set it on the source when copying or assigning.
3:08 PM Changeset in webkit [1526] by cblu
  • 20 edits in trunk/WebKit

WebKit:

Fix for:
2976311 - Download fails if you close the window that started the download
2976308 - Can't navigate in window while download started in that window is in progress

  • WebView.subproj/IFMainURLHandleClient.h:
  • WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient dealloc]): (-[IFMainURLHandleClient _receivedProgress:forResourceHandle:fromDataSource:complete:]): added, sends progress to correct handler (-[IFMainURLHandleClient _receivedError:forResourceHandle:partialProgress:fromDataSource:]): added, sends progress to correct handler (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]): calls _receivedProgress (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]): calls _receivedProgress (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): calls _receivedProgress (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]): calls _receivedError
  • WebView.subproj/IFWebController.h:
  • WebView.subproj/IFWebController.mm: (-[IFWebController setDownloadProgressHandler:]): added (-[IFWebController downloadProgressHandler]): added
  • WebView.subproj/IFWebControllerPrivate.h:
  • WebView.subproj/IFWebControllerPrivate.mm: (-[IFWebController _mainReceivedProgress:forResourceHandle:fromDataSource:complete:]): removed download special-casing

WebBrowser:

Fix for:
2976311 - Download fails if you close the window that started the download
2976308 - Can't navigate in window while download started in that window is in progress

  • BrowserDocument.m: (-[BrowserDocument init]): set the downloadProgressHandler to the download monitor (-[BrowserDocument close]): set the downloadProgressHandler to nil
  • DownloadMonitor.h:
  • DownloadMonitor.m: (-[DownloadMonitor _monitorDownload:withProgress:error:dataSource:complete:]): renamed, made private (-[DownloadMonitor receivedProgress:forResourceHandle:fromDataSource:complete:]): added, calls _monitorDownload (-[DownloadMonitor receivedError:forResourceHandle:partialProgress:fromDataSource:]): added, calls _monitorDownload
  • WebController.m: (-[BrowserWebController receivedProgress:forResourceHandle:fromDataSource:complete:]): removed download special-casing (-[BrowserWebController receivedError:forResourceHandle:partialProgress:fromDataSource:]): removed download special-casing
1:50 PM Changeset in webkit [1525] by darin
  • 1 edit in trunk/WebKit/Misc.subproj/WebFileDatabase.m

Fix the underlying cause of a deadlock problem that I saw. It's important that IFURLHandle
drops its references to the handle clients on the thread that it's using for client notification
rather than the thread it happens to be deallocated on.

Also fix things so that the notifications can be sent without holding the lock the whole time,
by making a copy of the client array and any parameters, and fix one small problem related to this.

Use makeObjectsPerformSelector in a lot more places, and do a few other cleanups.

  • CacheLoader.subproj/IFURLHandle.m: (-[IFURLHandleSynchronousClient initWithHandle:monitor:]): Remove unneeded [self release] in the case where self is nil. (-[IFURLHandle _didRedirectToURL:]): Lock around changes to the redirectedURL so we don't access the object from the callback thread when it's invalid. (-[IFURLHandle _notifyClientsDidBeginLoading]): Do notifications outside the lock. (-[IFURLHandle _notifyClientsDidCancelLoading]): Do notifications outside the lock. Also empty out the clients array because we are at an end state. It's important to empty it out here from the thread we are calling back on rather than from dealloc on whatever thread that is called on. (-[IFURLHandle _notifyClientsDataDidBecomeAvailable]): Do notifications outside the lock. (-[IFURLHandle _notifyClientsDidFinishLoading]): Do notifications outside the lock. Also empty out the clients array because we are at an end state. It's important to empty it out here from the thread we are calling back on rather than from dealloc on whatever thread that is called on. (-[IFURLHandle _notifyClientsDidFailLoading]): Do notifications outside the lock. Also empty out the clients array because we are at an end state. It's important to empty it out here from the thread we are calling back on rather than from dealloc on whatever thread that is called on. (-[IFURLHandle _notifyClientsDidRedirectToURL]): Do notifications outside the lock.
  • AuthenticationManager.subproj/IFAuthenticationManager.m: (-[IFAuthenticationManager _retryWaitingRequests]): Remove unnecessary copy/autorelease since we are the sole owner of the waitingRequests array.
  • CacheLoader.subproj/IFHTTPURLProtocolHandler.m: (-[IFHTTPURLProtocolHandler setRedirectedURL:]): Use makeObjectsPerformSelector for simplicity. Also remove the exception handler since the handles accessor now does a copy/autorelease. (-[IFHTTPURLProtocolHandler setResponseHeaders:]): Use makeObjectsPerformSelector for simplicity. Also remove the exception handler since the handles accessor now does a copy/autorelease.
  • CacheLoader.subproj/IFURLLoad.m: (-[IFURLLoad handles]): Return a copied auto-released version. (-[IFURLLoad updateHandles]): Use makeObjectsPerformSelector for simplicity.
  • Database.subproj/IFURLFileDatabase.m: (-[IFURLFileDatabase sync]): Remove unnecessary checks for nil and empty array in cases that the nil behavior of Objective C already takes care of. Use makeObjectsPerformSelector for simplicity.
  • Misc.subproj/IFFileTypeMappings.m: (-[IFFileTypeMappingsPrivate init]): Create a reverse mapping dictionary too, so we can map in both directions quickly. Also fix a storage leak in the failure case. (-[IFFileTypeMappings _init]): Fix a storage leak in the failure case. (-[IFFileTypeMappings MIMETypeForExtension:]): Use the new reverse dictionary.
  • Misc.subproj/IFNSArrayExtensions.h: Add _IF_makeObjectsPerformSelector:withObject:withObject:.
  • Misc.subproj/IFNSArrayExtensions.m: Fix name in comment for the benefit of the renamings script. (-[NSArray _IF_makeObjectsPerformSelector:withObject:withObject:]): Added. Stole the algorithm from NSArray.m.
  • Misc.subproj/IFNSObjectExtensions.m: Fix name in comment for the benefit of the renamings script.
11:57 AM Changeset in webkit [1524] by mjs
  • 5 edits
    1 delete in trunk/WebKit
  • WebView.subproj/IFGrabBag.h: Removed.
  • WebView.subproj/IFWebController.h: Move IFContextMenuHandler here.
11:05 AM Changeset in webkit [1523] by darin
  • 8 edits in trunk/WebKit

Did some tweaks that weren't really necessary. But at least one is a significant
improvement so I decided to commit rather then just discarding the changes.

  • Bookmarks.subproj/IFBookmark.m: (-[IFBookmark title]): Take out special case for separator. (-[IFBookmark setTitle:]): Take out special case for separator. (-[IFBookmark image]): Take out special case for separator. (-[IFBookmark setImage:]): Take out special case for separator. (-[IFBookmark setURLString:]): Take out special case for non-leaf. (-[IFBookmark children]): Take out request for concrete implementation; this is not useful since it's specific to one subclass. (-[IFBookmark numberOfChildren]): Take out request for concrete implementation; this is not useful since it's specific to one subclass. (-[IFBookmark _numberOfDescendants]): Take out request for concrete implementation; this is not useful since it's specific to one subclass. (-[IFBookmark insertChild:atIndex:]): Take out special case for non-list. (-[IFBookmark removeChild:]): Take out special case for non-list. (+[IFBookmark bookmarkFromDictionaryRepresentation:withGroup:]): Refactored to eliminate repeated code.
  • Bookmarks.subproj/IFBookmarkLeaf.m: (-[IFBookmarkLeaf copyWithZone:]): Use allocWithZone to be more pedantically correct.
  • Bookmarks.subproj/IFBookmarkSeparator.m: (-[IFBookmarkSeparator title]): Override to return nil. (-[IFBookmarkSeparator image]): Override to return nil.
10:58 AM Changeset in webkit [1522] by darin
  • 5 edits in trunk/WebCore
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPartImpl::setBaseURL): Call setBaseURL on the underlying document all the time, not just when we add a missing "/" character.
10:31 AM Changeset in webkit [1521] by darin
  • 7 edits in trunk/WebKit
  • Misc.subproj/WebKitDebug.m: Remove workaround for long-ago fixed C compiler bug.
  • Plugins.subproj/IFPluginView.mm: (-[IFPluginView keyUp:]), (-[IFPluginView keyDown:]): Simplify keyboard scrolling code by passing along all events that the plug-in doesn't handle rather than special-casing certain events. Also use super rather than nextResponder to pass along the scroll events (super will do nextResponder).
  • WebView.subproj/IFHTMLView.mm: (-[IFHTMLView keyDown:]), (-[IFHTMLView keyUp:]): Use super rather than nextResponder to pass along scroll events (super will do nextResponder).

Jul 8, 2002:

5:09 PM Changeset in webkit [1520] by cblu
  • 14 edits
    2 adds in trunk/WebKit

WebKit:

Fixes for:
2955757 - Keyboard scrolling code needs to move to WebKit
2937231 - Left and right arrows should scroll the content area

  • Misc.subproj/IFNSEventExtras.h: Added.
  • Misc.subproj/IFNSEventExtras.m: Added. (-[NSEvent _IF_isScrollEvent]): new
  • Plugins.subproj/IFPluginView.mm: (-[IFPluginView keyUp:]): if plug-in doesn't accept it, send to nextResponder (-[IFPluginView keyDown:]): if plug-in doesn't accept it, send to nextResponder
  • WebKit.pbproj/project.pbxproj:
  • WebView.subproj/IFHTMLView.mm: (-[IFHTMLView keyDown:]): calls _IF_isScrollEvent, if so send to nextResponder (-[IFHTMLView keyUp:]): calls _IF_isScrollEvent, if so send to nextResponder
  • WebView.subproj/IFWebView.mm: (-[IFWebView acceptsFirstResponder]): added (-[IFWebView window]): no changes (-[IFWebView keyDown:]): added, does the scroll
  • WebView.subproj/IFWebViewPrivate.h:
  • WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView _contentView]): added (-[IFWebView _scrollVerticallyBy:]): added, moved from BrowserWindow.m (-[IFWebView _scrollHorizontallyBy:]): added, moved from BrowserWindow.m (-[IFWebView _pageVertically:]): added, moved from BrowserWindow.m (-[IFWebView _scrollLineVertically:]): added, moved from BrowserWindow.m (-[IFWebView _scrollLineHorizontally:]): added, moved from BrowserWindow.m (-[IFWebView _pageDown]): added, moved from BrowserWindow.m (-[IFWebView _pageUp]): added, moved from BrowserWindow.m (-[IFWebView _scrollToTopLeft]): added, moved from BrowserWindow.m (-[IFWebView _scrollToBottomLeft]): added, moved from BrowserWindow.m (-[IFWebView _lineDown]): added, moved from BrowserWindow.m (-[IFWebView _lineUp]): added, moved from BrowserWindow.m (-[IFWebView _lineLeft]): added, moved from BrowserWindow.m (-[IFWebView _lineRight]): added, moved from BrowserWindow.m

WebBrowser:

Fixes for:
2955757 - Keyboard scrolling code needs to move to WebKit
2937231 - Left and right arrows should scroll the content area

  • BrowserWindow.m: (-[BrowserWindow windowDidLoad]): no changes (-[BrowserWindow windowWillHandleKeyEvent:]): causes scroll in _largestNonFramesetWebView (-[BrowserWindow mouseDownInRightSearchButton:]): no changes (-[IFWebView _area]): added (-[IFWebView _largestNonFramesetWebView]): added
11:18 AM Changeset in webkit [1519] by darin
  • 4 edits in trunk/WebKit
  • WebCoreSupport.subproj/IFWebCoreBridge.mm: Fix compiles under newer compiler (Jaguar 6C89 and newer) by adding missing include.

Jul 7, 2002:

2:57 AM Changeset in webkit [1518] by mjs
  • 20 edits in trunk

WebCore:

WebCore part of fix for Radar 2953431 - JavaScript window.close()
method is not working

  • khtml/ecma/kjs_window.cpp: (Window::scheduleClose): In AppleChanges
  • khtml/khtml_part.cpp: (KHTMLPart::openedByJS): Call kwq implementations, because we need to remember the openedByJS state across location changes, which in our case means replacing the part. (KHTMLPart::setOpenedByJS): Likewise.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPartImpl::openedByJS): Implement by calling bridge. (KWQKHTMLPartImpl::setOpenedByJS): Likewise. (KWQKHTMLPartImpl::close): Likewise.
  • kwq/KWQKHTMLPartImpl.h: Prototype new PartImpl methods.
  • kwq/WebCoreBridge.h: Prototype new bridge methods.

WebKit:

WebCore part of fix for Radar 2953431 - JavaScript window.close()
method is not working

  • WebCoreSupport.subproj/IFWebCoreBridge.mm: (-[IFWebCoreBridge openedByScript]): Implement by calling controller. (-[IFWebCoreBridge setOpenedByScript:]): Likewise.
  • WebView.subproj/IFWebControllerPrivate.h:
  • WebView.subproj/IFWebControllerPrivate.mm: (-[IFWebController _openedByScript]): Implement. (-[IFWebController _setOpenedByScript:]): Implement.

Jul 6, 2002:

12:41 AM Changeset in webkit [1517] by darin
  • 7 edits in trunk/WebCore
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPartImpl::write): Remove reference to nonexistent class in a comment.
  • kwq/KWQKHTMLPartImpl.h: Remove unused and unimplemented getDataSource().
Note: See TracTimeline for information about the timeline view.