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

Timeline



May 13, 2003:

7:06 PM Changeset in webkit [4368] by hyatt
  • 3 edits in trunk/WebCore

Fix for 3222607. divs that specify a fixed width should have
their minwidths increased to that width. This is an issue
on diveintomark's list as well as a blocker for Benoit.

Reviewed by gramps

  • khtml/rendering/render_block.cpp:
6:39 PM Changeset in webkit [4367] by hyatt
  • 18 edits in trunk/WebCore

Fix for 3256376, absolute positioned content that had to be
scrolled into view would not respond to events. This is a
regression caused by fixing the size of the HTML element.

I stopped all of the updating of layer widths/heights in
setLayouted and in setWidth/Height of RenderBox and special-cased
the sizing of the RenderCanvas layer so that it always encloses
all content.

This patch also contains a fix for 3211915, left/top positions
not computed properly when auto or static. The patch adds
staticX/Y member variables to RenderBox that holds the cached
values that can then be used by positioned elements to determine
their correct positions in the flow. RenderStyles also now
remember both the original display of an element as well as
the mutated display (e.g., when an inline becomes a block
because of absolute positioning).

Reviewed by darin (canvas fix) and kocienda (left/top fix)

  • khtml/css/cssstyleselector.cpp:
  • khtml/rendering/bidi.cpp:
  • khtml/rendering/render_block.cpp:
  • khtml/rendering/render_box.cpp: (RenderBox::RenderBox): (RenderBox::position): (RenderBox::setStaticX): (RenderBox::setStaticY): (RenderBox::calcAbsoluteHorizontal): (RenderBox::calcAbsoluteVertical):
  • khtml/rendering/render_box.h:
  • khtml/rendering/render_canvas.cpp:
  • khtml/rendering/render_flow.cpp: (RenderFlow::createInlineBox):
  • khtml/rendering/render_flow.h:
  • khtml/rendering/render_layer.cpp: (RenderLayer::updateLayerPosition):
  • khtml/rendering/render_line.cpp: (InlineFlowBox::placeBoxesHorizontally): (InlineFlowBox::adjustMaxAscentAndDescent): (InlineFlowBox::computeLogicalBoxHeights): (InlineFlowBox::placeBoxesVertically): (InlineFlowBox::shrinkBoxesWithNoTextChildren):
  • khtml/rendering/render_object.cpp: (RenderObject::hasStaticX): (RenderObject::hasStaticY): (RenderObject::setNeedsLayout): (RenderObject::createInlineBox):
  • khtml/rendering/render_object.h:
  • khtml/rendering/render_style.cpp: (RenderStyle::diff):
  • khtml/rendering/render_style.h:
  • khtml/rendering/render_text.cpp: (RenderText::createInlineBox):
  • khtml/rendering/render_text.h:
6:30 PM Changeset in webkit [4366] by rjw
  • 13 edits
    1 add in trunk

WebKit:

Fixed 3014661. We now display (a lame Lemay) image
when an image fails to load. We also display the
alt text if it fits within the image container
above the missing image icon. Alt text is also
now shown if image loading is disabled.

Reviewed by John.

  • Resources/missing_image.tiff: Added.
  • WebCoreSupport.subproj/WebImageRenderer.h:
  • WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer initWithMIMEType:]): (-[WebImageRenderer initWithData:MIMEType:]): (-[WebImageRenderer initWithContentsOfFile:]): (-[WebImageRenderer copyWithZone:]): (-[WebImageRenderer isNull]): (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
  • WebCoreSupport.subproj/WebImageRendererFactory.m: (-[WebImageRendererFactory imageRendererWithName:]):
  • WebKit.pbproj/project.pbxproj:

WebCore:

Fixed 3014661. We now display (a lame Lemay) image
when an image fails to load. We also display the
alt text if it fits within the image container
above the missing image icon. Alt text is also
now shown if image loading is disabled.

Reviewed by John.

  • khtml/misc/loader.cpp: (CachedImage::data): (Cache::init):
  • khtml/rendering/render_image.cpp: (RenderImage::paintObject): (RenderImage::reload):
  • kwq/KWQPixmap.h:
  • kwq/KWQPixmap.mm: (KWQLoadPixmap): (QPixmap::QPixmap): (QPixmap::isNull):
  • kwq/WebCoreImageRenderer.h:
  • kwq/WebCoreImageRendererFactory.h:
3:36 PM Changeset in webkit [4365] by cblu
  • 2 edits in trunk/WebKit

Reviewed by Chris and Richard.

  • fixed 3257296 -- REGRESSION: crash in WebImageRendererFactory (movietickets.com)
  • WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer initWithMIMEType:]): Check for nil. (-[WebImageRenderer initWithData:MIMEType:]): Check for nil, also don't check for GIF signature until after the object is allocated.
2:19 PM Changeset in webkit [4364]
  • 1 copy
    318 deletes in branches/unlabeled-1.6.20

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

2:19 PM Changeset in webkit [4363] by mjs
  • 18 edits in trunk

JavaScriptCore:

Reviewed by Darin.

  • fixed 3254484 - Add a way to print JavaScript exceptions to the console via the debug menu
  • improved JavaScript error message format
  • kjs/error_object.cpp: (ErrorProtoFuncImp::call): Include line number in toString output.
  • kjs/internal.cpp: (Parser::parse): Remove redundant fprintf.
  • kjs/interpreter.cpp: (Interpreter::evaluate): Log if the flag is on. Include filename in log output. (Interpreter::shouldPrintExceptions): Check the global flag. (Interpreter::setShouldPrintExceptions): Set the global flag.
  • kjs/interpreter.h:
  • kjs/nodes.cpp: (Node::throwError): Add variants that include value and expression or label in format. (NewExprNode::evaluate): Improve error message. (FunctionCallNode::evaluate): Improve error message. (RelationalNode::evaluate): Improve error message. (ContinueNode::execute): Improve error message. (BreakNode::execute): Improve error message. (LabelNode::execute): Improve error message.
  • kjs/nodes.h:

WebCore:

Reviewed by Darin.

  • fixed 3254484 - Add a way to print JavaScript exceptions to the console via the debug menu
  • khtml/ecma/kjs_proxy.cpp: (KJSProxyImpl::evaluate): Pass the filename.
  • kwq/WebCoreJavaScript.h:
  • kwq/WebCoreJavaScript.mm: (+[WebCoreJavaScript shouldPrintExceptions]): Call through to JavaScriptCore. (+[WebCoreJavaScript setShouldPrintExceptions:]): Call through to JavaScriptCore.
  • khtml/ecma/kjs_events.cpp: (JSEventListener::handleEvent): Print exception if there is one.
  • khtml/ecma/kjs_window.cpp: (ScheduledAction::execute): Print exception in the function case.

WebKit:

Reviewed by Darin.

  • fixed 3254484 - Add a way to print JavaScript exceptions to the console via the debug menu
  • Misc.subproj/WebCoreStatistics.h:
  • Misc.subproj/WebCoreStatistics.m: (+[WebCoreStatistics shouldPrintExceptions]): Call through to WebCore. (+[WebCoreStatistics setShouldPrintExceptions:]): Call through to WebCore.

WebBrowser:

Reviewed by Darin.

  • fixed 3254484 - Add a way to print JavaScript exceptions to the console via the debug menu
  • Debug/DebugUtilities.m: (-[DebugUtilities createDebugMenu]): Include "Log JavaScript Exceptions" item. (-[BrowserDocument toggleLogJavaScriptExceptions:]): Call WebKit to do the toggle. (-[BrowserDocument validate_toggleLogJavaScriptExceptions:]): Set state properly.
1:40 PM Changeset in webkit [4362] by darin
  • 3 edits in trunk/WebCore

Tests:

Reviewed by Ken.

  • kde/kurl-test.chk: Update test results affected by the query changes.
  • kde/kurl-relative-test.chk: Update test results for recent changes (this test has been off for some time, so some changes were not that recent).
  • test.list: Turned kurl-relative-test back on.

WebCore:

Reviewed by Ken.

  • fixed 3140822 -- relative URLs starting with query strings clobber path as the RFC says, but web says no
  • kwq/KWQKURL.mm: (KURL::KURL): Add a case for queries (as with anchors) to match the behavior of the web (albeit not the RFC).
1:15 PM Changeset in webkit [4361] by darin
  • 7 edits in trunk

WebCore:

Reviewed by Ken.

  • fixed 3120355 -- importing IE favorites garbles non-ASCII characters (esp. bad for non-Roman languages)
  • kwq/WebCoreEncodings.h: Added decodeData:, removed all other (unused) methods.
  • kwq/WebCoreEncodings.mm: (+[WebCoreEncodings decodeData:]): Added. Calls the same decoder used to decode web pages.

WebKit:

Reviewed by Ken.

  • fixed 3120355 -- importing IE favorites garbles non-ASCII characters (esp. bad for non-Roman languages)
  • WebView.subproj/WebViewPrivate.h: Added _decodeData:.
  • WebView.subproj/WebViewPrivate.m: (+[WebView _decodeData:]): Added. Calls through to WebCore.

WebBrowser:

Reviewed by Ken.

  • fixed 3120355 -- importing IE favorites garbles non-ASCII characters (esp. bad for non-Roman languages)
  • WebBookmarkImporter.m: (-[WebBookmarkImporter initWithPath:]): Use new SPI call that decodes taking encoding into account, since the bookmarks file uses the same kinds of encoding techniques as web pages.
1:04 PM Changeset in webkit [4360] by mjs
  • 2 edits in trunk/WebKit

WebFoundation:

API CHANGE

Reviewed by Darin.

  • renamed NSErrorFailingURLKey to NSErrorFailingURLStringKey
  • removed NSURLCFStreamErrorDomain
  • Misc.subproj/NSURLError.h:
  • Misc.subproj/WebNSErrorExtras.m: (-[NSError _web_initWithDomain:code:failingURL:]): (-[NSError _web_failingURL]):
  • WebFoundation-base.exp:

WebKit:

Reviewed by Darin.

  • renamed NSErrorFailingURLKey to NSErrorFailingURLStringKey
  • Misc.subproj/WebKitErrors.m: (-[NSError _initWithPluginErrorCode:contentURLString:pluginPageURLString:pluginName:MIMEType:]):

WebBrowser:

Reviewed by Darin.

  • renamed NSErrorFailingURLKey to NSErrorFailingURLStringKey
  • LoadProgressMonitor.m: (-[LoadProgressMonitor webView:plugInFailedWithError:dataSource:]):
9:42 AM Changeset in webkit [4359] by darin
  • 4 edits in trunk/WebCore

Reviewed by John.

  • fixed 3228186 -- REGRESSION: crash walking parent tree at housingscc.org in DOM::StyleBaseImpl::stylesheet()
  • khtml/xml/dom_elementimpl.cpp: (ElementImpl::~ElementImpl): Unref the stylesheet with the style declaration in it when destroying the element. (ElementImpl::createDecl): Ref the stylesheet with the style declaration in it when making a style element for this. If we don't we could end up with a style declaration without a stylesheet, which can't be manipulated by the CSS parser.
  • khtml/html/html_elementimpl.cpp: (HTMLElementImpl::removeCSSProperty): Since this function has a side effect of changing the stylesheet for the style declaration, ref the new stylesheet and unref the old one.
9:40 AM Changeset in webkit [4358] by sullivan
  • 2 edits in trunk/WebKit

fixed build break

Reviewed by Darin

  • WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer initWithData:MIMEType:]): move #ifdefs; two required methods were being #ifdeffed out on Panther

May 12, 2003:

6:19 PM Changeset in webkit [4357] by rjw
  • 3 edits in trunk/WebKit

Fixed 3251316. * Public API Change *

Added -(void)setGroupName:(NSString *) and -(NSString *)groupName;

Reviewed by mjs.

  • WebView.subproj/WebView.h:
  • WebView.subproj/WebView.m:
5:07 PM Changeset in webkit [4356] by rjw
  • 21 edits in trunk

WebCore:

Fixed 3194614 and 3194751. We avoid creating and render objects
and loading any images if the document is in 'renderless' mode.

Also, we now unique instances of the ObjC DOM wrappers.

Reviewed by hyatt/darin.

  • khtml/misc/loader.cpp:
  • khtml/xml/dom_docimpl.cpp:
  • khtml/xml/dom_docimpl.h:
  • khtml/xml/dom_nodeimpl.cpp:
  • kwq/KWQLoader.h:
  • kwq/KWQLoader.mm:
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm:
  • kwq/WebCoreDOMNode.mm:
  • kwq/WebDOMNode.h:

Pass the reported MIME type of an image up to WebKit when
creating an WebImageRenderer. This is useful to help speed up
the selection of an appropriate decoder.

Reviewed by darin.

  • kwq/WebCoreImageRendererFactory.h:
  • kwq/KWQPixmap.h:
  • kwq/KWQPixmap.mm:

WebKit:

Fixed 3194614 and 3194751. Add SPI to set 'renderless' mode
for a frame.

Reviewed by darin.

  • WebView.subproj/WebFramePrivate.h:
  • WebView.subproj/WebFramePrivate.m:

WebImageRenderers now get a MIME type that can be used to faciliate
selection of an appropriate decoder.

Reviewed by darin.

  • WebCoreSupport.subproj/WebImageRenderer.h:
  • WebCoreSupport.subproj/WebImageRenderer.m:
  • WebCoreSupport.subproj/WebImageRendererFactory.m:
  • WebKit.pbproj/project.pbxproj:
4:32 PM Changeset in webkit [4355] by sullivan
  • 7 edits in trunk/WebKit

WebKit:

  • addition to Darin's previous patch; when checking whether a request can be handled, take into account the schemes that were registered without an NSURLProtocol getting involved.

Reviewed by Darin

  • WebView.subproj/WebViewPrivate.h:
  • WebView.subproj/WebViewPrivate.m: (+[WebView _canHandleRequest:]): like NSURLConnection canHandleRequest, but also takes into account the schemes that were registered without an NSURLProtocol
  • Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]): use +[WebView _canHandleRequest] instead of +[NSURLConnection canHandleRequest]
  • WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): ditto
  • WebView.subproj/WebDefaultPolicyDelegate.m: (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): ditto
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _continueAfterNavigationPolicy:]): ditto

WebBrowser:

  • more code cleanup from bookmarks view change; eliminated BookmarksProtocol entirely.

Reviewed by Darin

  • BookmarksProtocol.h: Removed. Two #defines were moved to BookmarksView.h
  • BookmarksProtocol.m: Removed.
  • BookmarksView.h: Moved to #defines here from BookmarksProtocol.h
  • AppController.m: #import BookmarksView.h instead of BookmarksProtocol.h (+[AppController initialize]): remove call that registered BookmarkProtocol with NSURLProtocol
  • BrowserWebController.m: #import BookmarksView.h instead of BookmarksProtocol.h (-[BrowserWebView decidePolicyForAction:request:frame:newFrameName:decisionListener:]): use +[WebView _canHandleRequest] instead of +[NSURLConnection canHandleRequest] so it works for bookmarks (and any future registered schemes)
  • BrowserWindowController.m: #import BookmarksView.h instead of BookmarksProtocol.h
  • ContextMenuHandler.m: (-[BrowserWebView webView:contextMenuItemsForElement:defaultMenuItems:]): use +[WebView _canHandleRequest] instead of +[NSURLConnection canHandleRequest] so it works for bookmarks (and any future registered schemes)
  • English.lproj/StringsNotToBeLocalized.txt: updated for moving the two #defines
  • WebBrowser.pbproj/project.pbxproj: updated for removed files
4:19 PM Changeset in webkit [4354] by darin
  • 4 edits in trunk/WebCore

Reviewed by Richard.

  • fixed 3240925 -- can't select or copy text from readonly INPUT elements

An AppKit peculiarity. Calling setEditable:NO will have a side effect of
doing setSelectable:NO unless you explicitly did setSelectable:YES.

  • kwq/KWQLineEdit.mm: (QLineEdit::QLineEdit): Call setSelectable:YES.
  • kwq/KWQTextField.mm: (-[KWQTextField setPasswordMode:]): When creating the password field, keep the setSelectable state synchronized. (-[KWQTextField setSelectable:]): If we already have a password field, be sure to keep its selectable state the same as the main field.
1:29 PM Changeset in webkit [4353] by darin
  • 6 edits in trunk/WebKit

WebKit:

Reviewed by John.

  • fixed 3254576 -- REGRESSION: visiting bookmarks view sometimes waits for other tabs to load first
  • WebView.subproj/WebViewPrivate.h: Added new SPI for registering view and represenation classes by scheme rather than MIME type.
  • WebView.subproj/WebViewPrivate.m: (+[WebView _registerViewClass:representationClass:forURLScheme:]]): Added. (+[WebView _generatedMIMETypeForURLScheme:]): Added. Makes a special MIME type for us only by the special "register scheme" mechanism. (+[WebView _representationExistsForURLScheme:]): Added.
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterContentPolicy:response:]): Check for schemes that have their own representation, and handle them just like empty documents, loading no data, and doing it synchronously. (-[WebMainResourceClient loadWithRequest:]): Same thing here, only also arrange to get the appropriate MIME type. (-[WebMainResourceClient setDefersCallbacks:]): Same check here.
  • English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.

WebBrowser:

Reviewed by John.

  • fixed 3254576 -- REGRESSION: visiting bookmarks view sometimes waits for other tabs to load first
  • AppController.m: (+[AppController initialize]): Register the bookmarks view and representation class using the scheme, not the MIME type.
  • BrowserNSStringExtras.m: (-[NSString possibleURLsForUserTypedString]): Fix off by one error that would cause an NSException when you typed bookmarks:. Also fix so that bookmarks: is not treated as a host name.
9:11 AM Changeset in webkit [4352] by darin
  • 3 edits in trunk/WebCore

Reviewed by John.

  • fixed 3255281 -- REGRESSION: objc_error in key loop code, closing tab containing aintitcool.com page
  • kwq/KWQTextField.mm: (-[KWQSecureTextField nextKeyView]): Change back to using our own nextKeyView implementation. By returning the nextKeyView from KWQTextField, we ended up making AppKit very upset about the key view loop. This undoes a change I made last Thursday, so the regression is very new and was never in a release. (-[KWQSecureTextField previousKeyView]): More of the same. (-[KWQSecureTextField nextValidKeyView]): Ditto. (-[KWQSecureTextField previousValidKeyView]): Ditto.

May 11, 2003:

12:15 PM Changeset in webkit [4351] by hyatt
  • 2 edits in trunk/WebCore

The root element (HTML) tries to set itself to the lowest position
of the canvas, before the canvas has necessarily even determined
the correct lowest position. This creates a timing problem.

This code is legacy code anyyway, left over from before KHTML
understood about overflow. The HTML should not be resizing itself
to enclose positioned content or floats. They should just spill
out of the HTML object, so the fix is easy: kill the legacy code.

There's a second fix required as well, which is to make the canvas
avoid scanning its positioned objects list when computing its
lowest and rightmost position. Fixed positioned objects can't
be scrolled, so it's incorrect to show scrollbars because of
fixed positioned objects (since they are locked to the viewport).

Reviewed by darin/gramps

  • khtml/rendering/render_block.cpp:
12:15 PM Changeset in webkit [4350] by hyatt
  • 3 edits in trunk/WebCore

The root element (HTML) tries to set itself to the lowest position
of the canvas, before the canvas has necessarily even determined
the correct lowest position. This creates a timing problem.

This code is legacy code anyyway, left over from before KHTML
understood about overflow. The HTML should not be resizing itself
to enclose positioned content or floats. They should just spill
out of the HTML object, so the fix is easy: kill the legacy code.

There's a second fix required as well, which is to make the canvas
avoid scanning its positioned objects list when computing its
lowest and rightmost position. Fixed positioned objects can't
be scrolled, so it's incorrect to show scrollbars because of
fixed positioned objects (since they are locked to the viewport).

Reviewed by darin/gramps

  • khtml/rendering/render_block.cpp:
11:53 AM Changeset in webkit [4349] by darin
  • 3 edits in trunk/WebCore

Reviewed by Dave.

  • fixed 3242493 -- loop in khtml::RenderLayer::RenderZTreeNode at google cached copy of epower2go.biz page
  • khtml/rendering/render_layer.cpp: (RenderLayer::RenderZTreeNode::detach): Use an iterative algorithm rather than a recursive one to destroy the child nodes at each level of the tree, so our recursion is O(depth of tree) rather than O(size of tree).
8:27 AM Changeset in webkit [4348] by darin
  • 2 edits in trunk/WebKit
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView layoutToPageWidth:]): Added a check for nil that I forgot.
8:04 AM Changeset in webkit [4347] by darin
  • 3 edits in trunk/WebKit

Reviewed by John.

  • fixed 3254473 - REGRESSION: reload loop due to onresize handler (fortune.com, flipdog.com, stanford.edu)
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView layoutToPageWidth:]): Don't send out a resize event any time during the first event that results in a layout. The old check was merely for the first layout, but we need to ignore any number of layouts that are all part of handling a first event. Some day we may need to refine this rule even further, but this fixes the present bug.
  • WebView.subproj/WebHTMLViewPrivate.h: Goodbye laidOutAtLeastOnce, hello firstLayoutEventTime.

May 10, 2003:

11:20 PM Changeset in webkit [4346] by hyatt
  • 3 edits in trunk/WebCore

Fix the misrendering at the top of cnn.com (the extra tearing
by the Google logo on the front page of cnn).

I am reducing the intrinsic margins of text fields down to 2px
to match buttons and selects.

This is easily sufficient distance to avoid focus ring overlap and
still looks nice, e.g., on www.google.com and amazon.com.

Reviewed by mjs

  • khtml/rendering/render_form.h:
6:05 PM Changeset in webkit [4345] by hyatt
  • 6 edits in trunk/WebCore

A refinement of our intrinsic margin rules for form controls.
Rather than always applying the intrinsic margin to form controls,
this patch makes the application conditional.

If the Web page explicitly specifies a width on a form control,
the form control will honor that precise pixel-width and will not
apply left/right intrinsic margins. If a Web page specifies margins
that the control should use, then the control will honor those
margins. The same rules apply for height and top/bottom margins.

Reviewed by mjs

  • khtml/css/html4.css:
  • khtml/rendering/render_box.cpp: (RenderBox::calcReplacedWidth): (RenderBox::calcReplacedHeight):
  • khtml/rendering/render_form.cpp: (RenderFormElement::addIntrinsicMarginsIfNeeded): (RenderFormElement::setStyle):
  • khtml/rendering/render_form.h:
5:32 PM Changeset in webkit [4344] by darin
  • 6 edits in trunk/WebCore

Tests:

Reviewed by Maciej.

  • update tests for removal of prettyURL parameter, added a new test for mailto URLs with subjects
  • TestURLs.h: Added "mailto:mduerst@ifi.unizh.ch?Subject=nothing".
  • kde/kurl-test.chk: Removed prettyURL(1) and prettyURL(-1) tests. Added test results for new URL.
  • kde/kurl-test.cpp: (testURL): Removed prettyURL(1) and prettyURL(-1) tests.
  • test.list: Removed ifnsthreadextensions-test.

WebCore:

Reviewed by Maciej.

  • fixed 3206695 -- Safari puts all of the mailto form content in email subject line, should put content in body

The bug was caused by our KURL class not parsing the query out of the mailto URL properly.

  • kwq/KWQKURL.h: Removed parameter from prettyURL, unused in KHTML.
  • kwq/KWQKURL.mm: (KURL::prettyURL): Removed parameter, unused in KHTML. (KURL::parse): Parse queries even from non-hierarchical URLs. This fixes the bug.
  • WebCore-tests.exp: Updated for parameter removed from prettyURL.
  • WebCore-combined.exp: Regenerated.
12:59 AM Changeset in webkit [4343] by darin
  • 6 edits in trunk/WebKit

WebKit:

Reviewed by Maciej.

  • fixed 3250119 -- REGRESSION: WebFrame leaked after showing pop-up menu

The leak was caused by various code storing the "element" dictionary that describes where
a click took place.

  • WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): Don't store the element in a retained global. Instead attach it as the represented object to each menu item. (-[WebDefaultUIDelegate openNewWindowWithURL:element:]): Pass in an element. (-[WebDefaultUIDelegate downloadURL:element:]): Ditto. (-[WebDefaultUIDelegate openLinkInNewWindow:]): Get element from represented object. (-[WebDefaultUIDelegate downloadLinkToDisk:]): Ditto. (-[WebDefaultUIDelegate copyLinkToClipboard:]): Ditto. (-[WebDefaultUIDelegate openImageInNewWindow:]): Ditto. (-[WebDefaultUIDelegate downloadImageToDisk:]): Ditto. (-[WebDefaultUIDelegate copyImageToClipboard:]): Ditto. (-[WebDefaultUIDelegate openFrameInNewWindow:]): Ditto.
  • WebView.subproj/WebDefaultUIDelegate.h: Remove element field.
  • WebView.subproj/WebDefaultUIDelegate.m: (-[WebDefaultUIDelegate dealloc]): No need to release element any more.
  • WebView.subproj/WebHTMLViewPrivate.h: Remove dragElement instance variable.
  • WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLViewPrivate dealloc]): No need to release dragElement any more. (-[WebHTMLView _handleMouseDragged:]): Get element again here. The old code used to get it from an instance variable, but that is unnecessary. (-[WebHTMLView _mayStartDragWithMouseDragged:]): Don't store the element.

WebBrowser:

Reviewed by Maciej.

  • fixed 3250119 -- REGRESSION: WebFrame leaked after showing pop-up menu

The leak was caused by various code storing the "element" dictionary that describes where
a click took place.

  • BrowserWebController.h: Added windowController and browserWindow methods for convenience. Removed element instance variable. Keeping this dictionary around caused a leak of a WebFrame.
  • BrowserWebController.m: (-[BrowserWebView browserWindow]): Added. (-[BrowserWebView initWithDocument:request:frameName:]): Use browserWindow. (-[BrowserWebView dealloc]): Don't release element. (-[BrowserWebView webViewIsResizable:]): Use browserWindow. (-[BrowserWebView webViewFrame:]): Use browserWindow. (-[BrowserWebView webViewContentRect:]): Use browserWindow. (-[BrowserWebView webView:unableToImplementPolicyWithError:frame:]): Use browserWindow. (-[BrowserWebView openFileExternallyWithRequest:inFrame:]): Use browserWindow. (-[BrowserWebView revealInFinderWithRequest:inFrame:]): Use browserWindow. (-[BrowserWebView decidePolicyForAction:request:frame:newFrameName:decisionListener:]): Use browserWindow. (-[BrowserWebView setShouldStartEmpty]): Use browserWindow.
  • ContextMenuHandler.m: (-[NSMutableArray addMenuItemWithTag:fromArray:]): Moved method from BrowserWebView to NSMutableArray to simplify parameters. (-[NSMutableArray addMenuItemWithTitle:action:]): Ditto. Don't set target any more since we do that in a postprocessing pass. (-[BrowserWebView webView:contextMenuItemsForElement:defaultMenuItems:]): Don't store the element in a retained global. Instead attach it as the represented object to each menu item. Update for changed interface for adding menu items. Set targets and represented objects on all the menu items at the end. (-[BrowserWebView addLinkToBookmarks:]): Get element from represented object. Get window from browserWindow method instead of going the long way through the element. (-[BrowserWebView viewFrameSource:]): Get element from represented object. (-[BrowserWebView savePageAs:]): Get element from represented object. Use the _document instance variable instead of going the long way through the element. (-[BrowserWebView openWithITunes:]): Get element from represented object. (-[BrowserWebView openWithQuickTime:]): Get element from represented object. (-[BrowserWebView googleSearch:]): Get element from represented object. Get the window controller from the windowController method instead of going the long way through the element. (-[BrowserWebView goToAddress:]): Get element from represented object. Do the goToURL: on ourselves rather than going through the document (which will just forward the call to us anyway). (-[BrowserWebView openInNewTab:]): Get element from represented object.
12:56 AM Changeset in webkit [4342] by mjs
  • 6 edits in trunk/WebKit

Tests:

Reviewed by Darin.

Updated for API changes.

  • PictureBrowser/PictureBrowserProtocol.m: (-[PictureBrowserProtocol startLoading]):

WebFoundation:

API CHANGE

Reviewed by Darin.

  • removed secred NSURLResponse mutators from NSURLProtocol.
  • added four-argument init method for NSURLResponse.
  • added NSURLResponseUnknownLength constant.
  • fixed a tiny bug in the HTTP protocol where unknown content length would sometimes get reported as 0.
  • CacheLoader.subproj/NSURLConnection.m: (-[NSURLConnection _didFailWithError:]):
  • CacheLoader.subproj/NSURLProtocol.h:
  • CacheLoader.subproj/NSURLProtocol.m:
  • CacheLoader.subproj/NSURLResponse.h:
  • CacheLoader.subproj/NSURLResponse.m: (-[NSURLResponseInternal initWithURL:MIMEType:expectedContentLength:textEncodingName:]): (-[NSURLResponse initWithURL:MIMEType:expectedContentLength:textEncodingName:]): (-[NSURLResponse init]): (-[NSURLResponse initWithCoder:]): (-[NSURLResponse _setExpectedContentLength:]): (-[NSURLResponse _setMIMEType:]):
  • CacheLoader.subproj/NSURLResponsePrivate.h:
  • ChangeLog:
  • ProtocolHandlers.subproj/NSAboutURLProtocol.m: (-[NSAboutURLProtocol startLoading]):
  • ProtocolHandlers.subproj/NSFTPURLProtocol.m: (-[NSFTPURLProtocol sendResponseAvailableCallback]):
  • ProtocolHandlers.subproj/NSFileURLProtocol.m: (-[NSFileURLProtocol didLoadData:]):
  • ProtocolHandlers.subproj/NSHTTPURLProtocol.m: (-[NSHTTPURLProtocol HTTPResponse]):

WebKit:

Reviewed by Darin.

Updated for NSURLResponse API changes.

  • WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
  • WebView.subproj/WebDataProtocol.m: (-[WebDataProtocol startLoading]):
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient loadWithRequest:]):

WebBrowser:

Reviewed by Darin.

Updated for NSURLResponse API changes.

  • BookmarksProtocol.m: (-[BookmarksProtocol startLoading]):

May 9, 2003:

11:25 PM Changeset in webkit [4341] by mjs
  • 12 edits
    3 deletes in trunk/WebKit

WebFoundation:

Reviewed by Darin.

  • removed subclasses of NSURLAuthenticationChallenge, and added a `sender' field to allow challenged to be handled generically.
  • AuthenticationManager.subproj/NSHTTPAuthenticator.h:
  • AuthenticationManager.subproj/NSHTTPAuthenticator.m: (-[NSHTTPAuthenticator _tryChallenge:]): (-[NSHTTPAuthenticator _askDelegateWithURL:realm:forRequest:failureCount:failureResponse:protocol:withCallback:context:]): (-[NSHTTPAuthenticator _askDelegateWithURL:proxy:forRequest:failureCount:failureResponse:protocol:withCallback:context:]): (-[NSHTTPAuthenticator useCredential:forAuthenticationChallenge:]): (-[NSHTTPAuthenticator continueWithoutCredentialForAuthenticationChallenge:]):
  • AuthenticationManager.subproj/NSURLAuthenticationChallenge.h:
  • AuthenticationManager.subproj/NSURLAuthenticationChallenge.m: (-[NSURLAuthenticationChallengeInternal initWithProtectionSpace:proposedCredential:previousFailureCount:failureResponse:error:sender:]): (-[NSURLAuthenticationChallenge initWithProtectionSpace:proposedCredential:previousFailureCount:failureResponse:error:sender:]): (-[NSURLAuthenticationChallenge initWithAuthenticationChallenge:sender:]): (-[NSURLAuthenticationChallenge failureResponse]): (-[NSURLAuthenticationChallenge sender]):
  • AuthenticationManager.subproj/NSURLConnectionAuthenticationChallenge.h: Removed.
  • AuthenticationManager.subproj/NSURLConnectionAuthenticationChallenge.m: Removed.
  • AuthenticationManager.subproj/NSURLConnectionAuthenticationChallengeInternal.h: Removed.
  • AuthenticationManager.subproj/NSURLDownloadAuthenticationChallenge.h: Removed.
  • AuthenticationManager.subproj/NSURLDownloadAuthenticationChallenge.m: Removed.
  • AuthenticationManager.subproj/NSURLDownloadAuthenticationChallengeInternal.h: Removed.
  • AuthenticationManager.subproj/NSURLProtocolAuthenticationChallenge.h: Removed.
  • AuthenticationManager.subproj/NSURLProtocolAuthenticationChallenge.m: Removed.
  • CacheLoader.subproj/NSURLConnection.h:
  • CacheLoader.subproj/NSURLConnection.m: (-[NSURLConnection useCredential:forAuthenticationChallenge:]): (-[NSURLConnection continueWithoutCredentialForAuthenticationChallenge:]): (-[NSURLConnection cancelAuthenticationChallenge:]): (-[NSURLConnection _sendDidReceiveAuthenticationCallback]): (-[NSURLConnection _sendDidCancelAuthenticationCallback]): (-[NSURLConnection _performUseCredential]): (-[NSURLConnection _performContinueWithoutCredential]): (-[NSURLConnection _didReceiveAuthenticationChallenge:]): (-[NSURLConnection _didCancelAuthenticationChallenge:]): (-[NSURLConnectionInternal URLProtocol:didReceiveAuthenticationChallenge:]): (-[NSURLConnectionInternal URLProtocol:didCancelAuthenticationChallenge:]):
  • CacheLoader.subproj/NSURLProtocol.h:
  • FileTransfer.subproj/NSURLDownload.h:
  • FileTransfer.subproj/NSURLDownload.m: (-[NSURLDownload useCredential:forAuthenticationChallenge:]): (-[NSURLDownload continueWithoutCredentialForAuthenticationChallenge:]): (-[NSURLDownload cancelAuthenticationChallenge:]): (-[NSURLDownload connection:didReceiveAuthenticationChallenge:]): (-[NSURLDownload connection:didCancelAuthenticationChallenge:]): (-[NSURLDownload connection:didReceiveResponse:]): (-[NSURLConnectionDelegateProxy connection:didReceiveAuthenticationChallenge:]): (-[NSURLConnectionDelegateProxy connection:didCancelAuthenticationChallenge:]):
  • FileTransfer.subproj/NSURLUpload.h:
  • Misc.subproj/WebFoundation.h:
  • ProtocolHandlers.subproj/NSCFNetworkHTTPURLProtocol.h:
  • ProtocolHandlers.subproj/NSCFNetworkHTTPURLProtocol.m: (-[NSCFNetworkHTTPURLProtocol useCredential:forAuthenticationChallenge:]): (-[NSCFNetworkHTTPURLProtocol continueWithoutCredentialForAuthenticationChallenge:]): (-[NSCFNetworkHTTPURLProtocol cancelAuthenticationChallenge:]):
  • WebFoundation.pbproj/project.pbxproj:

WebKit:

Reviewed by Darin.

  • removed WebAuthenticationChallenge
  • adjusted everything for removal of NSURLAuthenticationChallenge subclasses.
  • Misc.subproj/WebDownload.m: (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]): (-[WebDownloadInternal download:didCancelAuthenticationChallenge:]):
  • Panels.subproj/WebPanelAuthenticationHandler.m: (-[WebPanelAuthenticationHandler startAuthentication:window:]): (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]):
  • WebView.subproj/WebAuthenticationChallenge.h: Removed.
  • WebView.subproj/WebAuthenticationChallenge.m: Removed.
  • WebView.subproj/WebAuthenticationChallengeInternal.h: Removed.
  • WebView.subproj/WebBaseResourceHandleDelegate.h:
  • WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate useCredential:forAuthenticationChallenge:]): (-[WebBaseResourceHandleDelegate continueWithoutCredentialForAuthenticationChallenge:]): (-[WebBaseResourceHandleDelegate cancelAuthenticationChallenge:]): (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]): (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]): (-[WebBaseResourceHandleDelegate setIdentifier:]):
  • WebView.subproj/WebDefaultResourceLoadDelegate.m: (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveAuthenticationChallenge:fromDataSource:]): (-[WebDefaultResourceLoadDelegate webView:resource:didCancelAuthenticationChallenge:fromDataSource:]):
  • WebView.subproj/WebResourceLoadDelegate.h:
  • Misc.subproj/WebKit.h: Remove headers that are gone.
  • WebKit.exp: Remove classes that are gone.
  • WebKit.pbproj/project.pbxproj: Remove files that are gone.
10:46 PM Changeset in webkit [4340] by darin
  • 7 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed 3131026 -- half-width yen character (x5C) shows up as a backslash

To fix this, I had to reverse our previous decoding approach for the characters
that are different in Shift-JIS and ASCII. Before, we would decode them as
ASCII, and so they would be wrong in web pages, but right in URLs. Now, I decode
them as Shift-JIS, so they are right for web pages. This does not break URLs,
though, because back in February we added code to re-encode characters for URLs
to fix bug 3124596. But there is a TEC bug we have to work around to make this
work right for the tilde character.

  • kwq/KWQTextCodec.mm: (QTextCodec::fromUnicode): Work around the TEC bug that prevents the tilde character from surviving the round trip through the decoding process by explicitly changing decoded tildes back to ASCII tildes. (KWQTextDecoder::convertUsingTEC): Do not set kUnicodeForceASCIIRangeMask.
  • kwq/KWQCString.h: Added replace call for use by new code. Some other small improvements.
  • kwq/KWQCString.mm: (QCString::contains): Make this faster by not doing the case-insensitive and case-sensitive cases both in the same loop. (QCString::append): Changed the += calls to this name, and made the += operator override call these. (QCString::replace): Added.
  • WebCore-tests.exp: Changed to export append calls.
  • WebCore-combined.exp: Regenerated.
9:45 PM Changeset in webkit [4339] by hyatt
  • 3 edits in trunk/WebCore

Finally get tables cutting the right properties off and letting
the right ones through in quirks mode. Font-family *is* inherited
through into tables in all other browsers. We have been doing this
wrong the whole time. Also ensure that font-style and font-variant
are reset.

Reviewed by darin

  • khtml/css/quirks.css:
5:14 PM Changeset in webkit [4338] by hyatt
  • 3 edits in trunk/WebCore

Always allow KONQ_TEXT as a valid value, and don't restrict its
use to lax CSS parsing. (We want our UA sheets to be parsed
strictly.)

Fixes bug 3224791, color inheritance not being properly cut off
in tables in quirks mode.

Reviewed by mjs and darin

  • khtml/css/cssparser.cpp: (CSSParser::parseValue):
5:13 PM Changeset in webkit [4337] by hyatt
  • 2 edits in trunk/WebKit

Change the minfontsize to 1, i.e., to have no minimum. This
matches other browsers while still retaining the pref control
in WebKit.

Fixes www.gamespot.com. The bug is 3254489.

Reviewed by darin

  • WebView.subproj/WebPreferences.m: (+[WebPreferences initialize]):
4:04 PM Changeset in webkit [4336]
  • 11 copies in tags/Safari-74~1

This commit was manufactured by cvs2svn to create tag 'Safari-74~1'.

4:04 PM Changeset in webkit [4335] by darin
  • 8 edits in branches/Safari-74-branch

JavaScriptCore:

WebFoundation:

  • WebFoundation.pbproj/project.pbxproj: Bumped version to 74.

WebCore:

  • WebCore.pbproj/project.pbxproj: Bumped version to 74.

WebKit:

  • WebKit.pbproj/project.pbxproj: Bumped version to 74.

WebBrowser:

  • WebBrowser.pbproj/project.pbxproj: Bumped version to 74.
3:14 PM Changeset in webkit [4334] by mjs
  • 9 edits in trunk/WebKit

WebFoundation:

Reviewed by John.

Rename connection:didFailLoadingWithError: to
connection:didFailWithError: to match NSURLDownload and
NSURLProtocol.

  • CacheLoader.subproj/NSSynchronousURLConnectionDelegate.m:
  • CacheLoader.subproj/NSURLConnection.h:
  • CacheLoader.subproj/NSURLConnection.m: (-[NSURLConnection _sendCallbacks]): (-[NSURLConnection _postDidFailCallback]): (-[NSURLConnection _sendDidFailCallback]): (-[NSURLConnection _wasRedirectedToRequest:redirectResponse:]): (-[NSURLConnection _didFailWithError:]): (-[NSURLConnectionInternal prepareCallbacks]):
  • FileTransfer.subproj/NSURLDownload.m: (-[NSURLDownload connection:didFailWithError:]): (-[NSURLConnectionDelegateProxy connection:didFailWithError:]):

WebKit:

Reviewed by John.

Rename connection:didFailLoadingWithError: to
connection:didFailWithError: to match NSURLDownload and
NSURLProtocol.

  • Misc.subproj/WebIconLoader.m: (-[WebIconLoader connection:didFailWithError:]):
  • Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream connection:didFailWithError:]):
  • WebCoreSupport.subproj/WebSubresourceClient.m: (-[WebSubresourceClient connection:didFailWithError:]):
  • WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate connection:didFailWithError:]):
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient receivedError:]): (-[WebMainResourceClient connection:didFailWithError:]):
1:56 PM Changeset in webkit [4333] by rjw
  • 2 edits in trunk/WebKit

Apply the same check used to by-pass fast rendering
in the fix to 3146161 to measurement.

Reviewed by Ken.

  • Misc.subproj/WebKitNSStringExtras.m:
1:44 PM Changeset in webkit [4332] by hyatt
  • 3 edits in trunk/WebCore

Fix for 3253695, XML pages with <style>@import...</style> don't
render. The XML tokenizer is getting text in small chunks, and
so it tries to load the sheet multiple times. This fix patches
the stylesheet code to properly decrement the loading sheet
count when you abort a still-loading @import.

Reviewed by darin

  • khtml/html/html_headimpl.cpp: (HTMLStyleElementImpl::childrenChanged):
10:17 AM Changeset in webkit [4331] by darin
  • 4 edits in trunk/WebCore

Reviewed by John.

  • fixed 3191943 -- XML parsing error occurs when loading shift-JIS Japanese XML file
  • khtml/misc/decoder.h: Add a new type of encoding, EncodingFromXMLHeader.
  • khtml/misc/decoder.cpp: (findXMLEncoding): Added. (Decoder::decode): Call findXMLEncoding to extract the encoding from the XML header.
10:03 AM Changeset in webkit [4330] by kocienda
  • 2 edits in trunk/WebKit

Reviewed by John

Removed unneeded import of WebFoundation/WebQueue.h.

  • WebCoreSupport.subproj/WebTextRendererFactory.h
8:46 AM Changeset in webkit [4329] by darin
  • 5 edits in trunk/WebCore

Reviewed by John and Ken.

  • fixed 3253461 -- stylesheet-reading code does not support BOM
  • fixed 3253359 -- XML parser does not allow UTF-8 BOM
  • kwq/KWQTextCodec.mm: (KWQTextDecoder::KWQTextDecoder): Initialize the new _littleEndian, _atStart, and _numBufferedBytes fields, not the old _flags, _state, and _haveBufferedByte fields. (KWQTextDecoder::convertUTF16): Moved the BOM-based endianness detection out of here; now done in toUnicode. Switched to use the new multibyte buffer, even though we only need one byte of it. Remove any BOM characters encountered within the text. (KWQTextDecoder::convertUsingTEC): Remove any BOM characters encountered within the text. (KWQTextDecoder::toUnicode): Do all the BOM detection at this level, including the UTF-8 BOM as well as the UTF-16 BOM.
  • khtml/misc/decoder.cpp: (Decoder::decode): Don't bother stripping the UTF-8 BOM. The QTextCodec object handles that now.
  • kwq/KWQXmlSimpleReader.mm: (QXmlSimpleReader::parse): Pass in the data in 16-bit character form, and specify the encoding when creating the parser. Both expat and KHTML want to do the decoding, so this is really just a way to get expat to back off.
Note: See TracTimeline for information about the timeline view.