22:43 Changeset [3271]

This commit was manufactured by cvs2svn to create tag

22:43 Changeset [3270]

This commit was manufactured by cvs2svn to create tag

22:43 Changeset [3269] by darin

Merge in the copyright changes.

22:37 Changeset [3268]

This commit was manufactured by cvs2svn to create branch

22:37 Changeset [3267]

This commit was manufactured by cvs2svn to create branch

22:37 Changeset [3266] by mjs


Reviewed by no one cause I'm just changing copyright strings.

  • JavaScriptCore.pbproj/project.pbxproj: Added non-Apple copyrights to copyright strings.
  • English.lproj/InfoPlist.strings: Likewise.


Reviewed by no one cause I'm just changing copyright strings.

  • WebCore.pbproj/project.pbxproj: Added non-Apple copyrights to copyright strings.
  • English.lproj/InfoPlist.strings: Likewise.
21:51 Changeset [3265] by darin

Try, try again.

21:39 Changeset [3264] by darin

Another tweak.

21:29 Changeset [3263] by darin

More build fixes for the tarballs.

21:29 Changeset [3262]

This commit was manufactured by cvs2svn to create branch

21:24 Changeset [3261] by darin

Fix project for tarball use.

21:24 Changeset [3260]

This commit was manufactured by cvs2svn to create branch

21:17 Changeset [3259] by darin

Another revision on the READMEs.

21:13 Changeset [3258] by darin


  • JavaScriptCore.pbproj/project.pbxproj: Fix "Apple Compupter" typo. Remove unneeded CFBundleLongVersionString we don't use anywhere else.


  • WebFoundation.pbproj/project.pbxproj: Fix "Apple Compupter" typo.


  • Resources/Info.plist: Fix "Apple Compupter" typo.
19:57 Changeset [3257] by darin

Rewrap to 72 columns.

17:12 Changeset [3256] by darin

README files for the JavaScriptCore and WebCore tarballs.

15:03 Changeset [3255] by darin

License and change log updates requested by Don.


22:59 Changeset [3254] by trey

3098388 - Pressing the back button goes back two levels at allmusic.com

When processing an assignment to document.location, allow items to be added
to history. This parallels the existing treatment of window.location.href.

Reviewed by Richard, Darin

  • khtml/ecma/kjs_html.cpp: (KJS::HTMLDocument::putValue): Pass false for lockHistory arg of scheduleRedirection()
03:10 Changeset [3253] by rjw

I checked in kjs_window.cpp by accident. The only change
was a logging printf. Back out that change.

Reviewed by me.

  • khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall):


18:53 Changeset [3252] by rjw

Fixed 3139129. Added application/xhtml+xml to list of supported type.

Reviewed by gramps.

  • WebView.subproj/WebDataSourcePrivate.m: (+[WebDataSource _repTypes]):
  • WebView.subproj/WebViewPrivate.m: (+[WebView _viewTypes]):
17:52 Changeset [3251] by rjw

Fix for 3138425. Don't open a new window when document.open() is called
with < 2 parameters.

Reviewed by darin.

  • khtml/ecma/kjs_html.cpp: (KJS::HTMLDocFunction::tryCall):
  • khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall):
16:57 Changeset [3250] by rjw


Fixed 3138743, 3138678, and 3138854. Removed the RenderText
widths cache, replaced it with a much simply monospace character
cache. Should be much faster for covered cases too! Also fixed
buffer overrun problem causing the crash in 3138854.

Reviewed by darin.

  • khtml/rendering/font.cpp: (Font::isFixedPitch):
  • khtml/rendering/font.h:
  • khtml/rendering/render_text.cpp: (TextSlave::checkSelectionPoint): (RenderText::RenderText): (RenderText::setStyle): (RenderText::~RenderText): (RenderText::shouldUseMonospaceCache): (RenderText::cacheWidths): (RenderText::widthFromCache): (RenderText::trimmedMinMaxWidth): (RenderText::calcMinMaxWidth): (RenderText::setText): (RenderText::width):
  • khtml/rendering/render_text.h:
  • kwq/KWQFont.h:
  • kwq/KWQFont.mm: (QFont::isFixedPitch):
  • kwq/WebCoreTextRendererFactory.h:
  • kwq/WebCoreTextRendererFactory.m: (-[WebCoreTextRendererFactory isFontFixedPitch:]):


Support for fixes to 3138743, 3138678. Added
isFontFixedPitch used to determine if font is fixed
pitch. Makes use of appkit private _isFakeFixedPitch
(detects courier and monoca). Updated our fakey test
to use the appkit's version.

Reviewed by darin.

  • WebCoreSupport.subproj/WebTextRenderer.m:
  • WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory isFontFixedPitch:]):
16:50 Changeset [3249] by darin

Reviewed by Chris.

  • fixed leak of WebIconLoader observed using leaks tool
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): Tell the icon loader to stop loading. Add a FIXME asking why we had to do this to fix the leak. (-[WebDataSource _loadIcon]): Add an assertion.
14:05 Changeset [3248] by sullivan
  • fixed 3138673 -- reproducible crash in JavaScript

Reviewed by Darin, OK'ed by Don.

  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::setTitle): Check for nil view or nil part before dereferencing.
12:05 Changeset [3247] by hyatt

Fix for percentage table heights. A check was missing to
look for a fixed height on the containing block.

Reviewed by darin

  • khtml/rendering/render_table.cpp: (RenderTable::layoutRows):
11:21 Changeset [3246] by rjw

Fix to 3131226. Don't force a layout when the document view is set
on the page's scrollview. A layout would occur indirectly as a result
of reflectScrolledClipView: being called when the document view
was set. The khtmlpart/khtmlview/WebHTMLView would be out of sync
at this point and a layout would have unintended and incorrect
side effects.

Reviewed by Darin (and tested by John).

  • WebView.subproj/WebDynamicScrollBarsView.h:
  • WebView.subproj/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView updateScrollers]):
  • WebView.subproj/WebViewPrivate.m: (-[WebView _setDocumentView:]):
10:28 Changeset [3245] by darin

Reviewed by Maciej.

  • fixed 3138213 -- browser hangs trying to open Apple travel site
  • kjs/date_object.cpp: (timetUsingCF): Check for very-negative year numbers too.


18:19 Changeset [3244] by kocienda

Setting version to 49u

17:23 Changeset [3243]

This commit was manufactured by cvs2svn to create branch

17:23 Changeset [3242]

This commit was manufactured by cvs2svn to create tag 'Alexander-48'.

17:23 Changeset [3241]

This commit was manufactured by cvs2svn to create branch

17:23 Changeset [3240] by kocienda

Building Safari-48

15:34 Changeset [3239] by rjw

Increase the minimum font size to 9pt. This bounds the lower
size of the sizes array used for named sizes. Net effect is
to increase xx-small from 8pt to 9pt. xx-small is used by

Reviewed by hyatt.

  • WebView.subproj/WebPreferences.m: (+[WebPreferences load]):
15:24 Changeset [3238] by hyatt

Fix for 3136473. <object>s with no specified size should be
0x0. They should not be 300x200. Fixes thinker.org.

Reviewed by john and darin.

  • khtml/rendering/render_frames.cpp: (RenderPart::intrinsicWidth): (RenderPart::intrinsicHeight):
15:22 Changeset [3237] by darin

Reviewed by Maciej and Trey.

  • fixed 3138063 -- REGRESSION: JavaScript-submitted form activates input type=image (webmail.mac.com)

JavaScript-submitted forms must not get a submit button activated as return-key-submitted ones do.

  • khtml/html/html_formimpl.h: Add boolean activateSubmitButton parameter to submit.
  • khtml/html/html_formimpl.cpp: (HTMLFormElementImpl::prepareSubmit): Pass true for activateSubmitButton. (HTMLFormElementImpl::submit): Only activate a button if activateSubmitButton is true.
  • khtml/dom/html_form.cpp: (HTMLFormElement::submit): Pass false for activateSubmitButton.
15:05 Changeset [3236] by hyatt

Fix for the 3137790. This patch passes the mouse event x and y as
distinct arguments to constructZTree, so that the damageRect can
really reflect your clip rect.
This allows me to prune out layers that are clipped so
that if x,y aren't inside the clip rect, the layer doesn't get added to
the list.

This patch also makes the "clip" property apply to the element that specifies the clip instead of to the element's kids. This is ambiguous in the spec, but it turns out other browsers do it this way, so there really is an interpretation that must be followed. :)

Reviewed by darin

  • khtml/rendering/render_layer.cpp: (RenderLayer::nodeAtPoint): (RenderLayer::constructZTree):
  • khtml/rendering/render_layer.h:
12:25 Changeset [3235] by hyatt

Fix for bug #3137935. When a float causes a line to get
moved down past the float, the line would incorrectly break
rather than expanding to use the newly-available width.

Reviewed by darin.

  • khtml/rendering/bidi.cpp: (RenderFlow::findNextLineBreak):
11:34 Changeset [3234] by darin

Reviewed by John.

  • fixed 3131190 -- <textarea wrap="hard"> eats text on blur
  • kwq/KWQTextArea.mm: (-[KWQTextArea paragraphs]): Add missing parentheses so we don't always return 0 or 1 for the number of paragraphs.
11:17 Changeset [3233] by darin

Reviewed by Don.

  • at Scott and Don's request, roll out small text anti-aliasing cutoff

Turns out this makes small text look worse, not better. We're not going to respect
this setting, and in Panther AppKit will almost certainly be changed not to either.

  • WebCoreSupport.subproj/WebTextRenderer.m: Rolled out yesterday's change using CVS.
10:58 Changeset [3232] by darin

Reviewed by John and Don.

  • fixed 3137661 -- REGRESSION: autoscroll selection is broken

The new logic in WebCore is slightly pickier, and can't abide a mouse-moved event
coming in during a drag. Unfortunately, we were sending a fake mouse-moved event
during a drag, so lets not do that.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView mouseDown:]): Cancel any scheduled fake mouse-moved event. (-[WebHTMLView mouseUp:]): Send a fake mouse-moved event because we didn't update during the drag.
  • WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _frameOrBoundsChanged]): Don't schedule a fake mouse-moved event if the mouse is down, because that means we are in the middle of a drag.
10:24 Changeset [3231] by darin

Reviewed by John and Ken.

  • fixed 3135548 -- exception in Internet Explorer bookmark import code at first startup
  • Bookmarks.subproj/WebBookmarkImporter.m: (_breakStringIntoLines): Break lines before a <DT> or </DL>. (_HREFTextFromSpec): Rewrite to simplify, search in a case-insensitive manner. (-[WebBookmarkImporter initWithPath:]): Change prefix checks to be case-insensitive. Don't discard folders altogether if the name can't be parsed as that would mess up nesting w.r.t the next </DL>. Make the </DL> handling robust so we misparse, but don't crash the whole application by raising an exception.
  • English.lproj/StringsNotToBeLocalized.txt: Updated for this change and recent changes.


22:03 Changeset [3230] by rjw

Obey the font smoothing size preference (3137618).

Reviewed by Don and Darin.

  • WebCoreSupport.subproj/WebTextRenderer.m:
21:37 Changeset [3229] by mjs


Reviewed by Darin.

  • fixed 3130831 - HOMEPAGE: JavaScript that tries to intercept onmousedown fails, image gets dragged instead
  • fixed 3125554 - while dragging to select text in a nested frame, you can start dragging a link or image
  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::KWQKHTMLPart): Initialize new mouseDownMayStartDrag and mouseDownMayStartSelect methods. (KWQKHTMLPart::khtmlMousePressEvent): Make sure a mouse down won't be used to start a drag or selection if the default action is prevented on the mouse down event. (KWQKHTMLPart::mouseDown): Since the default action wasn't prevented, decide if this might be the start of a drag or selection. (KWQKHTMLPart::khtmlMouseMoveEvent): On a drag or selection, call back to the bridge to handle selection or autoscrolling appropriately.
  • kwq/WebCoreBridge.h: Prototype new methods.


Reviewed by Darin.

  • fixed 3130831 - HOMEPAGE: JavaScript that tries to intercept onmousedown fails, image gets dragged instead
  • fixed 3125554 - while dragging to select text in a nested frame, you can start dragging a link or image
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge handleMouseDragged:]): New method; call through the WebHTMLView. (-[WebBridge mayStartDragWithMouseDown:]): Likewise. (-[WebBridge handleAutoscrollForMouseDragged:]): Likewise.
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView mouseDragged:]): Instead of doing drag handling here, just pass the event to WebCore. (-[WebHTMLView draggedImage:endedAt:operation:]): Send a fake mousemove event instead of sending the current event (likely a mouse up as if it were a mouse move).
  • WebView.subproj/WebHTMLViewPrivate.h:
  • WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLViewPrivate dealloc]): Release drag element if any. (-[WebHTMLView _dragImageForElement:]): New method. Split out the code to make the special drag image for links. (-[WebHTMLView _handleMouseDragged:]): Move all the drag handling here. This method will get called only if WebCore hasn't blocked default drag handling. (-[WebHTMLView _handleAutoscrollForMouseDragged:]): Do autoscroll. Autoscroll is still lame, we need a timer. (-[WebHTMLView _mayStartDragWithMouseDown:]): Determine if the element is a link or image and so may be dragged; remember the drag element.
20:26 Changeset [3228] by darin

Reviewed by Don.

  • fixed 3137566 -- non-reproducible nil-dereference in KHTMLView::clearPart deallocating KWQPageState
  • kwq/KWQPageState.mm: (-[KWQPageState dealloc]): Add nil check.
17:14 Changeset [3227] by rjw

Correct fix for 3137430 that doesn't always effectively disable
the cache.

Reviewed by kocienda.

  • History.subproj/WebHistoryItem.m:
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):
14:59 Changeset [3226] by hyatt

Fix tables so that malformations inside them are properly pulled
out of the table without being flattened.

Fixes 3131480.

Reviewed by gramps

  • khtml/html/dtd.cpp: (DOM::checkChild):
  • khtml/html/htmlparser.cpp: (KHTMLParser::insertNode):
14:35 Changeset [3225] by rjw

Don't reset the cookie policy URL if it has already been set. Fixes to 3109590.

Reviewed by Maciej.

12:45 Changeset [3224] by rjw

Don't attempt to restore page from page cache if the cache
doesn't contain valid page state. This may happen after a
redirect. Fixes 3137430.

Reviewed by kocienda.

  • History.subproj/WebHistoryItem.m:
11:31 Changeset [3223] by darin


Reviewed by Trey.

  • fixed 3137287 -- REGRESSION: Java applets don't work when you go back to them (Java 1.4.1 plug-in)

By attaching the plug-in controller to the frame, we run into trouble.
It really needs to be attached to the data source, which has the right lifetime
and is kept around in the page cache.

  • Plugins.subproj/WebPluginController.h: Keep a reference to a data source, not a frame. Add a new _started variable. Rename addPluginView: to addPlugin:, get rid of didAddPluginView:, replace destroyAllPlugins with dataSourceWillBeDeallocated, add startAllPlugins and stopAllPlugins.
  • Plugins.subproj/WebPluginController.m: (-[WebPluginController initWithDataSource:]): Store a data source reference, not a frame reference. Don't bother registering for the window will close notification, WebHTMLView handles that fine. (-[WebPluginController startAllPlugins]): Do nothing if they are already started, call pluginStart on each otherwise. (-[WebPluginController stopAllPlugins]): Do nothing if they are not started, call pluginStop on each otherwise. (-[WebPluginController addPlugin:]): Initialize the plugin if it's not already in our list. Also start it if we are in "started" mode. (-[WebPluginController dataSourceWillBeDeallocated]): Stop all the plugins, then destroy them. Also nil out the fields of the object. This is always called before the controller is released so we don't need to override dealloc. (-[WebPluginController showURL:inFrame:]): Added error checking and changed now that we start with a data source. (-[WebPluginController showStatus:]): Ditto.
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): Use the data source, not the view. Don't add the plugin here, wait until we are ready to start.
  • WebView.subproj/WebDataSourcePrivate.h: Store a pointer to the plug-in controller here.
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): Tell the plug-in controller to go away. (-[WebDataSource _makeHandleDelegates:deferCallbacks:]): Remove unused empty method. (-[WebDataSource _pluginController]): Create a plug-in controller if needed.
  • WebView.subproj/WebFramePrivate.h: Remove plug-in controller code.
  • WebView.subproj/WebFramePrivate.m: (-[WebFramePrivate dealloc]): Remove plug-in controller code. (-[WebFrame _detachFromParent]): Remove plug-in controller code. (-[WebFrame _transitionToCommitted:]): Remove plug-in controller code.
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView viewWillMoveToWindow:]): Stop plug-ins when view moves out of a window. This includes the case when the window is being destroyed. (-[WebHTMLView viewDidMoveToWindow]): Start plug-ins when view moves into a window. (-[WebHTMLView addSubview:]): Add plug-ins to the controller as they are added to us.
  • WebView.subproj/WebController.m: Added now-needed include due to header change.
  • WebView.subproj/WebDefaultContextMenuDelegate.m: Ditto.


Reviewed by Don and Ken.

  • worked around 3137387 -- Using Java 1.4.1 plug-in causes world leak (NSDocument close never called)
  • BrowserWindow.m: (-[BrowserWindow setDelegate:]): If someone tries to set the delegate to something other than the BrowserWindowController, don't let them. (-[BrowserWindow setWindowController:]): Same thing for the controller.
  • fixed 3137494 -- loading bad URL with PLT window in "world leak check mode" indicates leak, prevents quit

Filed bug 3137567 about the AppKit part of this.

  • Test/PageLoadTestRunner.m: (-[NSWindow closeIfBrowserWindow]): Close the sheet, if any, before closing the window.
Note: See TracTimeline for information about the timeline view.