Timeline



Jan 26, 2003:

11:41 PM Changeset in webkit [3460] by cblu
  • 7 edits in trunk

WebCore:

Fixed: 3156725 - Partially selected links show extra underlining when dragged
Fixed: 3156962 - Text drag image sometimes doesn't include last selected text node

Reviewed by darin.

  • khtml/rendering/render_root.cpp: (RenderRoot::selectionRect): include all nodes that are selected
  • khtml/rendering/render_text.cpp: (TextSlave::paintDecoration): removed stray ";" (RenderText::paintObject): call paintDecoration with default parameters for "from" and "to" when not painting the selection only
  • khtml/rendering/render_text.h:

WebKit:

Fixed: 3156725 - Partially selected links show extra underlining when dragged

Reviewed by darin.

  • WebCoreSupport.subproj/WebTextRenderer.m: (drawLineForCharacters...): don't ignore "from" "to" parameters
11:33 PM Changeset in webkit [3459] by darin
  • 8 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed 3126431 -- failed assertion `!attached()' at silkair.net
  • khtml/rendering/render_image.h: Fix isImage which for some strange reason was returning false. Not important because no one calls it. Added dispatchLoadEvent and detach member functions.
  • khtml/rendering/render_image.cpp: (RenderImage::notifyFinished): Instead of dispatching the load or error event immediately, call dispatchImageLoadEventSoon on the document. (RenderImage::dispatchLoadEvent): Added. Moved the code to do the actual event dispatch in here. (RenderImage::detach): Remove the image from the document in case it has a pending event that was not delivered yet before calling the base class detach.
  • khtml/xml/dom_docimpl.h: Add dispatchImageLoadEventSoon, dispatchImageLoadEventsNow, removeImage, and an override of timerEvent. Moved APPLE_CHANGES code to a better place.
  • khtml/xml/dom_docimpl.cpp: Moved APPLE_CHANGES code to a better place and made these changes: (DocumentImpl::DocumentImpl): Initialize m_imageLoadEventTimer to 0. (DocumentImpl::detach): Redo the APPLE_CHANGES to make them easier to read. Empty out the m_imageLoadEventDispatchSoonList and the m_imageLoadEventDispatchingList to avoid an O(n2) operation as we detach each image and remove it from the list. (DocumentImpl::dispatchImageLoadEventSoon): Added. Adds image to list and sets up timer. (DocumentImpl::removeImage): Added. Removes image from lists, and cancels timer if needed. (DocumentImpl::dispatchImageLoadEventsNow): Added. Copies list, and call images to dispatch load events. (DocumentImpl::timerEvent): Added. Calls dispatchImageLoadEventsNow.
  • khtml/html/html_documentimpl.cpp: (HTMLDocumentImpl::close): Dispatch all pending image load events before dispatching the document load.
  • force-clean-timestamp: Force rebuild because Project Builder doesn't do header dependencies well enough to deal with changes to the document class.
3:53 PM Changeset in webkit [3458] by hyatt
  • 3 edits in trunk/WebCore

Fix :active to behave just like :hover. It was being
restricted and only allowed to match <a> tags, when :active
should be applicable to any element (e.g., like images).

Fixes the :active feedback on numerous blog sites (e.g.,
the photo image buttons on joehewitt.com).

Reviewed by gramps

  • khtml/css/cssstyleselector.cpp:

Jan 25, 2003:

9:04 PM Changeset in webkit [3457] by darin
  • 15 edits in trunk

WebCore:

Reviewed by Maciej.

  • fixed 3126211 -- "go back" buttons that use "history.go(-1)" doesn't work (verizonwireless.com is an example)
  • fixed 2950618 -- JavaScript window.history object name prints blank
  • khtml/ecma/kjs_window.cpp: (FrameArray::toString): Added. Returns "[object FrameArray]". (History::getValueProperty): Removed #if APPLE_CHANGES to turn more code on. (History::toString): Added. Returns "[object History]".
  • kwq/KWQKPartsBrowserExtension.h: Make browserInterface a pure virtual function instead of always returning 0.
  • kwq/KWQKHTMLPartBrowserExtension.h: Added browserInterface() function. Also replaced m_part with a _part that is a KWQKHTMLPart to simplify code.
  • kwq/KWQKHTMLPartBrowserExtension.mm: (KHTMLPartBrowserExtension::KHTMLPartBrowserExtension): Create the browser interface object when the browser extension object is created. (KHTMLPartBrowserExtension::openURLRequest): Use _part instead of KWQ(m_part). (KHTMLPartBrowserExtension::createNewWindow): Use _part instead of KWQ(m_part). (KHTMLPartBrowserExtension::setIconURL): Use _part instead of KWQ(m_part). (KHTMLPartBrowserExtension::setTypedIconURL): Use _part instead of KWQ(m_part).
  • kwq/KWQKPartsBrowserInterface.h: Add a constructor, property() function, and _part data member.
  • kwq/KWQKPartsBrowserInterface.mm: (BrowserInterface::property): Added. Handles historyLength property by calling the historyLength method on the bridge. (BrowserInterface::callMethod): Handles goHistory(int) by calling the goBackOrForward: method on the bridge.
  • kwq/WebCoreBridge.h: Added historyLength and goBackOrForward: methods.
  • kwq/KWQVariant.h: Added Int to the variant enum, added int and uint contructors, and added toInt() member function.
  • kwq/KWQVariant.mm: (QVariant::QVariant): Implemented int and uint constructors. (QVariant::toBool): Added Int case, sorted alphabetically. (QVariant::toInt): Added. (QVariant::toUInt): Added Int case, sorted alphabetically. (QVariant::asString): Added Int case, sorted alphabetically.

WebKit:

Reviewed by Maciej.

  • fixed 3126211 -- "go back" buttons that use "history.go(-1)" doesn't work (verizonwireless.com is an example)

Implemented new bridge functions for use by the history object.

  • History.subproj/WebBackForwardList.h: Added backListCount and entryAtIndex:.
  • History.subproj/WebBackForwardList.m: (-[WebBackForwardList backListCount]): Added. (-[WebBackForwardList entryAtIndex:]): Added.
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge historyLength]): Added. Calls backListCount. (-[WebBridge goBackOrForward:]): Added. Calls entryAtIndex: and then goBackOrForwardToItem:.
8:38 PM Changeset in webkit [3456] by darin
  • 3 edits in trunk/JavaScriptCore

Reviewed by Maciej.

  • kjs/Makefile.am: Add dependencies so the .lut.h files get rebuilt if the script changes.
2:37 PM Changeset in webkit [3455] by cblu
  • 23 edits
    1 delete in trunk

WebCore:

Fixed: 3153605 - Drag image when dragging text should be the actual text

Reviewed by darin.

  • khtml/rendering/font.cpp: (Font::drawLineForText): take a "from" and "to" so only selected portions of text draw lines
  • khtml/rendering/font.h:
  • khtml/rendering/render_layer.cpp: (RenderLayer::paint): handle the selection-only case
  • khtml/rendering/render_layer.h:
  • khtml/rendering/render_root.cpp: (RenderRoot::selectionRect): new, computes bounding box of the selection
  • khtml/rendering/render_root.h:
  • khtml/rendering/render_text.cpp: (TextSlave::paintDecoration): take a "from" and "to" so only selected portions of text draw lines (RenderText::paintObject): when only drawing the selection, only draw selected text and no selection background (RenderText::paint): handle the selection-only case
  • khtml/rendering/render_text.h:
  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::paint): handle the selection-only case (KWQKHTMLPart::selectionRect): new, returns the bounding box of the selection
  • kwq/KWQPainter.h:
  • kwq/KWQPainter.mm: (QPainter::drawLineForText): take a "from" and "to" so only selected portions of text draw lines
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge drawRect:withPainter:]): handle the selection-only case (-[WebCoreBridge selectionRect]): new, returns the bounding box of the selection clipped to visible (-[WebCoreBridge selectionImage]): new, returns the image of the selection

WebKit:

Fixed: 3153605 - Drag image when dragging text should be the actual text

Reviewed by darin.

  • Misc.subproj/WebNSImageExtras.m: (-[NSImage _web_dissolveToFraction:]): handle non-flipped images
  • Misc.subproj/WebNSViewExtras.h: moved some constants around
  • Misc.subproj/WebNSViewExtras.m:
  • Resources/text_clipping.tiff: Removed.
  • WebKit.pbproj/project.pbxproj:
  • WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _handleMouseDragged:]): cleaned-up, get text drag image from WebCore
1:57 PM Changeset in webkit [3454] by darin
  • 2 edits in trunk/WebKit
  • Plugins.subproj/WebBaseNetscapePluginView.m: Replace some tabs with spaces.

Jan 24, 2003:

3:46 PM Changeset in webkit [3453] by rjw
  • 2 edits in trunk/WebKit

Cleaned up some stray comments.

Reviewed by kocienda.

  • Misc.subproj/WebUnicode.m: (getShape): (nextChar): (glyphVariantLogical): (shapedString):
3:36 PM Changeset in webkit [3452] by hyatt
  • 3 edits in trunk/WebCore

Fix for 3153260, tables used as height spacers don't get the
specified height.

Reviewed by rjw

  • khtml/rendering/render_table.cpp: (RenderTableSection::layoutRows):
3:20 PM Changeset in webkit [3451] by trey
  • 9 edits in trunk

WebCore:

Chris pointed out a FIXME that led to a more contained way to make sure the cursor
is correct during and after image/text/URL dragging.

Reviewed by Chris.

  • kwq/KWQKHTMLPart.h: Back out just-added resetCursor method.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::khtmlMouseMoveEvent): Reset cursor to arrow when image drag starts.
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: Back out just-added resetCursor method, which is no longer needed by WebKit.

WebKit:

Chris pointed out a FIXME that led to a more contained way to make sure the cursor
is correct during and after image/text/URL dragging.

Reviewed by Chris.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView draggedImage:endedAt:operation:]): No need to reset the cursor at the end of dragging. WC deals with it.
  • WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _handleMouseDragged:]): No need to set the cursor to arrow, WC deals with it.
2:23 PM Changeset in webkit [3450] by darin
  • 3 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed 3058229 -- two failures in DOM test page for HTMLSelectElement
  • fixed 3138938 -- choose another member name on .Mac signup not working as expected
  • fixed 3155763 -- Safari autoselects first item in a WOBrowser/<select>
  • khtml/html/html_formimpl.cpp: (HTMLSelectElementImpl::value): Return "" rather than null when nothing is selected. (HTMLSelectElementImpl::recalcListItems): Don't automatically select a first item in the single selection case.
12:48 PM Changeset in webkit [3449] by hyatt
  • 2 edits in trunk/WebCore

Fix for 3146066, messed up lists on dictionary.com. Make
sure that a marker in an anonymous box with no other line box
parent available just stays where it is, rather than removing
itself from the anonymous box (causing that box to be deleted
and recreated ad infinitum).

Reviewed by darin

  • khtml/rendering/render_list.cpp: (RenderListItem::updateMarkerLocation):
12:45 PM Changeset in webkit [3448] by hyatt
  • 3 edits in trunk/WebCore

Fix for 3146066, messed up lists on dictionary.com. Make
sure that a marker in an anonymous box with no other line box
parent available just stays where it is, rather than removing
itself from the anonymous box (causing that box to be deleted
and recreated ad infinitum).

Reviewed by darin

  • khtml/rendering/render_list.cpp: (RenderListItem::updateMarkerLocation):
12:36 PM Changeset in webkit [3447] by darin
  • 8 edits in trunk

WebCore:

Reviewed by Dave.

  • fixed 3142852 -- frame content repeatedly requested

The bug was that JavaScript document.referrer was totally wrong.

  • khtml/html/html_documentimpl.cpp: (HTMLDocumentImpl::referrer): Use the new incomingReferrer() rather than referrer(), because referrer() is the referrer to use for new loads in the part, not the one that was used to load the document.
  • kwq/KWQKHTMLPart.h: Added incomingReferrer(). Also removed referrer() which has been totally redundant since we made KWQKHTMLPart a subclass of KHTMLPart.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::incomingReferrer): Added. Uses the bridge.
  • kwq/WebCoreBridge.h: Added incomingReferrer.

WebKit:

Reviewed by Dave.

  • fixed 3142852 -- frame content repeatedly requested
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge incomingReferrer]): Added a way to get the referrer across the bridge, needed for bug fix.
11:55 AM Changeset in webkit [3446] by voas
  • 2 edits in trunk/WebKit

Netscape plugins were being improperly positioned. I noticed this when I
put the web view into a window with borders around it (Carbon metal window,
but I would imagine Cocoa metal would do it too).

  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
11:14 AM Changeset in webkit [3445] by trey
  • 8 edits in trunk

WebCore:

3155162 - cursor changes to I-beam after dragging image
3154468 - no mouseup event comes through after text snippet drag

Export a means to reset the cursor to WebKit, which is used to fix these bugs.

Reviewed by Darin.

  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::resetCursor): New method that just calls through to khtmlview's private resetCursor method.
  • kwq/WebCoreBridge.h: Add new method.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge resetCursor]): Call view's reset cursor.

WebKit:

3155162 - cursor changes to I-beam after dragging image
3154468 - no mouseup event comes through after text snippet drag

During AK dragging the system takes over the event stream and we never get any mouse
move or up events. It also changes the cursor behind out back. When done
cached state that thinks it knows the current cursor is wrong.

The fix is that after the drag we reset the cursor and synthesize a mouseup event,
which then sets the cursor based on what we're really over.

Reviewed by Darin.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView draggedImage:endedAt:operation:]): After the drag, reset the cursor, fake up a mouseup event.
10:40 AM Changeset in webkit [3444] by trey
  • 3 edits in trunk/WebCore

I ran our KURL tests and found that my previous fix for "localhost" urls, fixed too much.
This now passes all the tests.

Reviewed by Darin.

  • kwq/KWQKURL.mm: (KURL::parse): Use different logic for deciding to add authority to the URL and stripping localhost off of file URLs.
10:38 AM Changeset in webkit [3443] by sullivan
  • 2 edits in trunk/WebKit

Reviewed by Trey

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView takeFindStringFromSelection:]): Now uses new _web_setFindPasteboardString:withOwner: to share code.
9:53 AM Changeset in webkit [3442] by sullivan
  • 4 edits in trunk

WebKit:

Reviewed by Trey

  • Misc.subproj/WebNSPasteboardExtras.h:
  • Misc.subproj/WebNSPasteboardExtras.m: (+[NSPasteboard _web_setFindPasteboardString:withOwner:]): New method to put text on the Find pasteboard.

WebBrowser:

  • fixed 3147083 -- Text in the "Google" field should be placed in the find pasteboard
  • fixed 3148130 -- Safari's Find submenu should use ellipses instead of three dots
  • fixed 3149466 -- There's no tooltip for the Home icon
  • fixed 3153618 -- Text drags appears to be accepted by the bookmarks bar

Reviewed by Trey

  • BrowserWindowController.m: (-[BrowserWindowController performQuickSearch:]): Use _web_setFindPasteboardString:withOwner: to put search string on find pasteboard
  • English.lproj/Browser.nib: added tooltip "Go to the home page."
  • English.lproj/MainMenu.nib: replaced all dot dot dots with ellipses
  • FavoritesBar.m: (-[FavoritesBar updateDropTarget:]): Bail out right away if there are no bookmarks on the pasteboard. This was being checked only at drop time.
  • FindPanelController.m: (-[FindPanelController controlTextDidEndEditing:]): Now uses _web_setFindPasteboardString:withOwner: (which was extracted from the code here).
9:46 AM Changeset in webkit [3441] by darin
  • 3 edits in trunk/WebCore

Reviewed by John.

  • fixed null view and hang part of 3153612 -- REGRESSION: null view and hang loading cycleworld.com
  • khtml/xml/xml_tokenizer.cpp: (XMLHandler::XMLHandler): Initialize the line number to 0 so we can detect the case where we didn't get a fatal error callback. (XMLTokenizer::finish): Construct an error page without an XML excerpt if the line number if 0.
9:23 AM Changeset in webkit [3440] by darin
  • 4 edits in trunk/WebCore

Reviewed by John.

  • fixed 3140945 -- crash viewing www.nextthing.org
  • khtml/rendering/render_container.cpp: (RenderContainer::removeLeftoverAnonymousBoxes): Change this function so it will never remove a table cell. Although a table cell that is created automatically is anonymous, it is not an anonymous box in the sense that this function is trying to deal with. Maybe there will be a better way to fix this some day, but this is the best Dave and I could come up with.
  • fixed 3155700 -- nil-dereference in khtml::RenderTableRow::detach shortly after visiting www.alltheweb.com
  • khtml/rendering/render_table.cpp: (RenderTableRow::detach): Check for nil before calling setNeedCellRecalc in case we are being detached after our parent is already nil.

Jan 23, 2003:

8:04 PM Changeset in webkit [3439] by rjw
  • 3 edits in trunk/WebCore

Fix for 3152494. Set the default iframe width to 300 and
height to 150. This copies the behavior of mozilla and IE.

Reviewed by hyatt.

  • khtml/css/html4.css:
7:46 PM Changeset in webkit [3438] by rjw
  • 5 edits in trunk/WebCore

WebCore:

Fixed whitespace exclusion code. Fixes many sites
that have problems that were exposed after
fixing 3119777.

Reviewed by hyatt.

  • khtml/rendering/bidi.cpp: (RenderFlow::bidiReorderLine): (RenderFlow::findNextLineBreak):
  • khtml/rendering/break_lines.cpp:
  • khtml/rendering/render_text.cpp: (RenderText::calcMinMaxWidth):

Test:

Tests for the fix above.

7:18 PM Changeset in webkit [3437] by hyatt
  • 4 edits in trunk/WebCore

Dump textslaves in the regression tests.

Reviewed by rjw.

  • kwq/KWQRenderTreeDebug.cpp: (operator<<): (write):
7:05 PM Changeset in webkit [3436] by mjs
  • 3 edits in trunk/WebKit

Reviewed by Trey.

  • WebView.subproj/WebController.h: Remove unneeded declaration in sample code.
4:52 PM Changeset in webkit [3435] by cblu
  • 7 edits in trunk/WebKit

WebKit:

Made WebTextView use the same format for context menus as the rest of WebKit.
Implemented "Copy" context menu.

Reviewed by john.

  • English.lproj/Localizable.strings:
  • WebView.subproj/WebControllerPrivate.m: (-[WebController _menuForElement:]): tweak.
  • WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultContextMenuDelegate contextMenuItemsForElement:defaultMenuItems:]): added "Copy" context menu.
  • WebView.subproj/WebImageView.m: (-[WebImageView menuForEvent:]): added asserts
  • WebView.subproj/WebTextView.m: (-[WebTextView menuForEvent:]): implemented

WebBrowser:

Implemented context menus "Copy", "Google Search" and "Go To Address" context menus for selected text.

Reviewed by john.

  • BrowserWindowController.h:
  • BrowserWindowController.m: (-[BrowserWindowController searchForString:]): new, does what chooseSearchString but takes a string (-[BrowserWindowController chooseSearchString:]): call searchForString
  • ContextMenuHandler.m: (-[ContextMenuHandler contextMenuItemsForElement:defaultMenuItems:]): added "Copy", "Google Search" and "Go To Address" (-[ContextMenuHandler search:]): calls searchForString (-[ContextMenuHandler goToAddress:]): does what it says
  • English.lproj/Localizable.strings:
3:33 PM Changeset in webkit [3434] by hyatt
  • 5 edits in trunk/WebCore

Fix for 3144763, inlines clear too many floats, and jump all the
way to the end of the lowest float instead of only moving as far
down as they have to in order to fit.

Reviewed by darin

  • khtml/rendering/bidi.cpp: (RenderFlow::findNextLineBreak):
  • khtml/rendering/render_flow.cpp: (RenderFlow::nearestFloatBottom):
  • khtml/rendering/render_flow.h:
2:51 PM Changeset in webkit [3433] by darin
  • 3 edits in trunk/WebCore

Reviewed by John.

  • fixed 3144560 -- non-reproducible nil-dereference in HTMLFrameElementImpl::updateForNewURL at macfixit
  • khtml/html/html_baseimpl.cpp: (HTMLFrameElementImpl::updateForNewURL): Add check for nil view.
2:38 PM Changeset in webkit [3432] by darin
  • 3 edits in trunk/WebCore

Reviewed by John.

  • fixed 3154647 -- Triple clicked on a line of text (to select entire line), crashola
  • khtml/khtml_part.cpp: (firstSlaveAt): Loop instead of using recursion for siblings. (lastSlaveAt): Ditto, only backwards.
1:54 PM Changeset in webkit [3431] by hyatt
  • 2 edits in trunk/WebCore

Fix for 3142124.

When pseudo-elements have display:none, they should not generate
rendering objects.

Reviewed by rjw, kocienda.

  • khtml/rendering/render_container.cpp: (RenderContainer::insertPseudoChild):
1:54 PM Changeset in webkit [3430] by mjs
  • 3 edits in trunk/WebKit

Reviewed by Darin.

  • WebView.subproj/WebController.m: Add missing static.
1:52 PM Changeset in webkit [3429] by hyatt
  • 3 edits in trunk/WebCore

Fix for 3142124.

When pseudo-elements have display:none, they should not generate
rendering objects.

Reviewed by darin.

  • khtml/rendering/render_container.cpp: (RenderContainer::insertPseudoChild):
1:29 PM Changeset in webkit [3428] by darin
  • 9 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed 3129556 -- can't search on japanese string at yahoo.co.jp

The key to fixing this was to look up character sets in a way that does not
pay attention to punctuation. Only alphanumeric characters count. Also did
a little belt tightening and speeding up while I was at it.

  • kwq/KWQCharsets.h: Use const char * instead of CFStringRef.
  • kwq/KWQCharsets.mm: (buildDictionaries): Store const char * in the dictionaries instead of CFStringRef, and use the key compare and hash functions that obey only alphanumeric characters. (KWQCFStringEncodingFromIANACharsetName): Use const char * directly. (KWQCFStringEncodingFromMIB): Tweak code a bit. (KWQCFStringEncodingToIANACharsetName): Use const char * directly. (KWQCFStringEncodingToMIB): Tweak code a bit. (encodingNamesEqual): Added. Compares two names, ignoring non-alphanumeric characters. (encodingNameHash): Added.
  • kwq/KWQKCharsets.h: Take a const char * instead of a QString. Also overload for QCString. This fixes conversion back and forth from QString that was happening before.
  • kwq/KWQKCharsets.mm: (KCharsets::codecForName): Update for above parameter change.
  • kwq/KWQTextCodec.mm: (codecForCFStringEncoding): Add check for kCFStringEncodingInvalidId. (QTextCodec::codecForMib): Simplify because of above check. (QTextCodec::codecForName): Simplify because we don't need to make a CFStringRef, and because of above check. (QTextCodec::name): No need to convert the CFStringRef back to a const char * now.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge textEncoding]): Convert character set name to a const char * to pass in. (+[WebCoreBridge stringWithData:textEncodingName:]): Ditto.
  • kwq/WebCoreEncodings.mm: (+[WebCoreEncodings charsetNameForEncoding:]): Convert character set name to an NSString to use as a return value. (+[WebCoreEncodings encodingForCharsetName:]): Convert character set name to a const char * to pass in.
1:25 PM Changeset in webkit [3427] by cblu
  • 3 edits in trunk/WebCore

Fixed a divide by zero problem.

Reviewed by darin.

  • WebCore.pbproj/project.pbxproj:
  • khtml/rendering/render_image.cpp: (RenderImage::calcReplacedWidth): (RenderImage::calcReplacedHeight):
1:20 PM Changeset in webkit [3426] by mjs
  • 3 edits in trunk/WebCore

Reviewed by Darin.

  • fixed last minute screwup in my last patch fixing onchange
  • kwq/KWQTextField.mm: (-[KWQTextField fieldEditorWillBecomeFirstResponder]): Renamed from fieldWillBecomeFirstResponder. (-[KWQTextField fieldEditorWillResignFirstResponder]): Renamed from fieldWillResignFirstResponder.
1:13 PM Changeset in webkit [3425] by mjs
  • 3 edits in trunk/WebCore

Reviewed by Trey.

  • fixed 3151442 - mac.com homepage editing - selection and clicking with mouse don't work
  • khtml/ecma/kjs_events.cpp: (JSEventListener::handleEvent): Only allow a false return value to prevent default if this is an html event handler, rather than one set with addEventListener or the like.
12:23 PM Changeset in webkit [3424] by cblu
  • 23 edits in trunk/WebCore

Replaced the paint phase constants with the PaintAction enum. Added PaintActionSelection as a paint action. This will eventually allow us to only paint selected objects. This is needed for the text dragging image.

Reviewed by dave.

  • khtml/rendering/render_box.cpp: (RenderBox::paint):
  • khtml/rendering/render_box.h:
  • khtml/rendering/render_flow.cpp: (RenderFlow::paint): (RenderFlow::paintObject): (RenderFlow::paintFloats):
  • khtml/rendering/render_flow.h:
  • khtml/rendering/render_html.cpp: (RenderHtml::paint):
  • khtml/rendering/render_html.h:
  • khtml/rendering/render_image.cpp: (RenderImage::paintObject):
  • khtml/rendering/render_image.h:
  • khtml/rendering/render_layer.cpp: (RenderLayer::paint):
  • khtml/rendering/render_list.cpp: (RenderListItem::paint): (RenderListItem::paintObject): (RenderListMarker::paint): (RenderListMarker::paintObject):
  • khtml/rendering/render_list.h:
  • khtml/rendering/render_object.cpp: (RenderObject::paint):
  • khtml/rendering/render_object.h:
  • khtml/rendering/render_replaced.cpp: (RenderReplaced::paint): (RenderWidget::paintObject):
  • khtml/rendering/render_replaced.h:
  • khtml/rendering/render_root.cpp: (RenderRoot::paint): (RenderRoot::paintObject):
  • khtml/rendering/render_root.h:
  • khtml/rendering/render_table.cpp: (RenderTable::paint): (RenderTableSection::paint): (RenderTableCell::paint):
  • khtml/rendering/render_table.h:
  • khtml/rendering/render_text.cpp: (RenderText::paintObject): (RenderText::paint):
  • khtml/rendering/render_text.h:
12:03 PM Changeset in webkit [3423] by darin
  • 9 edits in trunk/WebKit

WebFoundation:

Reviewed by John.

  • Misc.subproj/WebNSFileManagerExtras.h: Change the too broad "FinderInfo" to the accurate "FinderFlags". The property does not contain all the FinderInfo, rather just the flags.
  • Misc.subproj/WebNSFileManagerExtras.m: (-[NSFileManager _web_createFileAtPath:contents:attributes:]): Update for the FinderFlags name change. (-[NSFileManager _web_carbonPathForPath:]): Use fileSystemRepresentation instead of fileSystemRepresentationWithPath: because it's simpler and there's no good reason to use the other one.
  • English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.

WebKit:

Reviewed by John.

  • Downloads.subproj/WebBinHexDecoder.m: (-[WebBinHexDecoder fileAttributes]):
  • Downloads.subproj/WebMacBinaryDecoder.m: (-[WebMacBinaryDecoder fileAttributes]): Use "FinderFlags" instead of "FinderInfo" as appropriate, since these are just the Finder flags, not all the Finder info.
  • Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler createFileIfNecessary]):
  • Misc.subproj/WebNSWorkspaceExtras.m: (-[NSWorkspace _web_noteFileChangedAtPath:]):
  • Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage openResourceFile]): (-[WebNetscapePluginPackage pathByResolvingSymlinksAndAliasesInPath:]): (-[WebNetscapePluginPackage load]): Use fileSystemRepresentation instead of fileSystemRepresentationWithPath: because it's simpler and there's no good reason to use the other one.
  • WebView.subproj/WebUserAgentSpoofTable.gperf: Improved one of the motivating comments.
  • English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.

WebBrowser:

Reviewed by John.

  • BrowserNSWorkspaceExtras.m: (-[NSWorkspace launchApplicationAtPath:processSerialNumber:makeFrontmost:event:]): Use fileSystemRepresentation instead of fileSystemRepresentationWithPath: because it's simpler and there's no good reason to use the other one.
11:54 AM Changeset in webkit [3422] by hyatt
  • 4 edits in trunk/WebCore

Fix for 3147995, empty <li> tags don't render bullets.

Reviewed by john.

  • khtml/rendering/render_list.cpp: (RenderListItem::layout):
  • khtml/rendering/render_list.h:
11:42 AM Changeset in webkit [3421] by hyatt
  • 4 edits in trunk/WebCore

Fix for 3134613, bullets overlapping text on weather.com. Make
sure min/max widths get updated when the marker moves around.

Reviewed by john

  • khtml/rendering/render_list.cpp: (RenderListItem::updateMarkerLocation): (RenderListItem::calcMinMaxWidth): (RenderListItem::layout):
  • khtml/rendering/render_list.h:
11:38 AM Changeset in webkit [3420] by sheridan
  • 3 edits in trunk

55u versions

11:25 AM Changeset in webkit [3419]
  • 3 copies in tags/Safari-54

This commit was manufactured by cvs2svn to create tag 'Safari-54'.

11:25 AM Changeset in webkit [3418] by sheridan
  • 8 edits in trunk

Safari-54 stamp

9:33 AM Changeset in webkit [3417] by darin
  • 5 edits in trunk/WebCore

Reviewed by Dave.

  • fixed 3154575 -- REGRESSION: Right sidebar on Yahoo! page in base PLT renders incorrectly
  • khtml/rendering/break_lines.cpp: (isBreakable): Pass kUCTextBreakLineMask to the UC calls, which looks for places where line breaks are allowed, instead of kUCTextBreakWordMask, which finds all word breaks instead. We still pass all the layout tests, so I think this means Japanese word breaking is still OK.
  • fixed 3154416 -- images that specify width but not height should keep aspect ratio (example at thegods.org.uk)
  • khtml/rendering/render_image.h: Declared new member functions.
  • khtml/rendering/render_image.cpp: (RenderImage::widthSpecified): Added helper function. (RenderImage::heightSpecified): Added helper function. (RenderImage::calcReplacedWidth): Added. Derives width from height keeping aspect ratio if we have a specified height and no width. (RenderImage::calcReplacedHeight): Added. Same thing in the opposite direction.
1:03 AM Changeset in webkit [3416] by trey
  • 3 edits in trunk/WebCore

3153313 cursor changes during text selection when we cross links

Reviewed by Dave.

  • khtml/khtmlview.cpp: (KHTMLView::viewportMousePressEvent): Remember mouse is down. (KHTMLView::viewportMouseMoveEvent): Use ibeam while mouse down. (KHTMLView::viewportMouseReleaseEvent): Remember that it's up.

Jan 22, 2003:

10:55 PM Changeset in webkit [3415] by cblu
  • 9 edits in trunk/WebKit

Fixed problem where we weren't stopping the Java plug-in. This problem was introduced on Jan. 1 when the ownership of the WebPluginController was moved from WebFrame to WebDataSource. This change moves the WebPluginController to the WebHTMLView. Why this change?

  • The state of the plug-ins (currently only the Java plug-in) completely relies on the state of the WebHTMLView, not on the state of the WebDataSource.
  • WebHTMLView and WebDataSource are usually coupled via WebView and WebFrame, but not always. In a transitional state, the WebHTMLView may not be up to date with the WebDataSource.
  • WebPluginController controls an array of views. It makes more sense for this object to be owned by a view (WebHTMLView) not a model.

Reviewed by darin.

  • Plugins.subproj/WebPluginController.h:
  • Plugins.subproj/WebPluginController.m: (-[WebPluginController initWithHTMLView:]): renamed, take the HTML view (-[WebPluginController addPlugin:]): use the HTML view (-[WebPluginController HTMLViewWillBeDeallocated]): renamed (-[WebPluginController showURL:inFrame:]): use the HTML view (-[WebPluginController showStatus:]): use the HTML view
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): get the plug-in controller from the HTML view
  • WebView.subproj/WebDataSourcePrivate.h:
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): removed calls to plug-in controller
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView initWithFrame:]): create plug-in controller (-[WebHTMLView viewWillMoveToWindow:]): get plug-in controller from self, data source won't be accessible here since we don't have a superview (-[WebHTMLView viewDidMoveToWindow]): get plug-in controller from self (-[WebHTMLView addSubview:]): get plug-in controller from self
  • WebView.subproj/WebHTMLViewPrivate.h:
  • WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLViewPrivate dealloc]): release plug-in controller (-[WebHTMLView _pluginController]): added
7:16 PM Changeset in webkit [3414] by sullivan
  • 10 edits in trunk/WebKit
  • fixed 3152427 -- Need unique IDs for bookmarks, for synching's sake

Bookmarks now have a UUID string so that each can maintain its identity
even in the face of multi-machine synching. One known loose end is written
up in 3153832 (unique IDs in bookmarks aren't preserved correctly after copy/paste).
This should be good enough now for the iSynch folks to start implementing
the bookmarks-synching conduit.

I also did some cleanup in this area to share more code and handle
init methods more cleanly, inspired by earlier feedback from Trey and Darin.

Reviewed by Trey and Darin

  • Bookmarks.subproj/WebBookmark.h: new _UUID ivar, UUID declaration
  • Bookmarks.subproj/WebBookmarkPrivate.h: new _setUUID and _hasUUID declarations
  • Bookmarks.subproj/WebBookmark.m: (-[WebBookmark dealloc]): assert that group is nil here; release _UUID (-[WebBookmark copyWithZone:]): implement the code shared by each subclass; formerly had no implementation. (-[WebBookmark _setUUID:]): private method to set the UUID (-[WebBookmark UUID]): public method to get the UUID; this lazily creates the UUID. (-[WebBookmark _hasUUID]): private method to check whether there's a UUID without creating one by side effect (as calling -[WebBookmark UUID] would) (-[WebBookmark initFromDictionaryRepresentation:withGroup:]): implement the code shared by each subclass; formerly had no implementation. (-[WebBookmark dictionaryRepresentation]): implement the code shared by each subclass; formerly had no implementation.
  • Bookmarks.subproj/WebBookmarkGroup.h: new _bookmarksByUUID ivar
  • Bookmarks.subproj/WebBookmarkGroupPrivate.h: declarations for new methods _addBookmark: and _removeBookmark:
  • Bookmarks.subproj/WebBookmarkGroup.m: (-[WebBookmarkGroup init]): new method, just complains that you should have called initWithFile: instead. (-[WebBookmarkGroup initWithFile:]): create _bookmarksByUUID (-[WebBookmarkGroup dealloc]): release _bookmarksByUUID (-[WebBookmarkGroup _addBookmark:]): new method, if bookmark has UUID, adds it to table, and recursively processes children the same way (-[WebBookmarkGroup _removeBookmark:]): new method, if bookmark has UUID, removes it from table, and recursively processes children the same way (-[WebBookmarkGroup _setTopBookmark:]): replace [bookmark setGroup:group] with [group _addBookmark:bookmark] so it runs through the UUID code (-[WebBookmarkGroup _bookmarkChildren:wereRemovedFromParent:]): retitled this from "wereRemovedToParent"
  • Bookmarks.subproj/WebBookmarkLeaf.m: (-[WebBookmarkLeaf init]): now calls initWithURLString:title:group with nil parameters so that there's a designated initializer (-[WebBookmarkLeaf initFromDictionaryRepresentation:withGroup:]): rewritten to do only the subclasses' part now (-[WebBookmarkLeaf dictionaryRepresentation]): rewritten to do only the subclasses' part now (-[WebBookmarkLeaf copyWithZone:]): rewritten to do only the subclasses' part now
  • Bookmarks.subproj/WebBookmarkList.m: (-[WebBookmarkList init]): now calls initWithTitle:group with nil parameters so that there's a designated initializer (-[WebBookmarkList initWithTitle:group:]): replace [bookmark setGroup:group] with [group _addBookmark:bookmark] so it runs through the UUID code (-[WebBookmarkList initFromDictionaryRepresentation:withGroup:]): rewritten to do only the subclasses' part now (-[WebBookmarkList dictionaryRepresentation]): rewritten to do only the subclasses' part now (-[WebBookmarkList copyWithZone:]): rewritten to do only the subclasses' part now (-[WebBookmarkList _setGroup:]): removed this override, which used to do the recursion to set the group of children; this recursion is now done by -[WebBookmarkGroup _addBookmark:] and _removeBookmark: (-[WebBookmarkList removeChild:]): wereRemovedToParent -> wereRemovedFromParent (-[WebBookmarkList insertChild:atIndex:]): replace [bookmark setGroup:group] with [group _addBookmark:bookmark] so it runs through the UUID code
  • Bookmarks.subproj/WebBookmarkProxy.m: (-[WebBookmarkProxy init]): now calls initWithTitle:group with nil parameters so that there's a designated initializer (-[WebBookmarkProxy initWithTitle:group:]): replace [bookmark setGroup:group] with [group _addBookmark:bookmark] so it runs through the UUID code (-[WebBookmarkProxy initFromDictionaryRepresentation:withGroup:]): rewritten to do only the subclasses' part now (-[WebBookmarkProxy dictionaryRepresentation]): rewritten to do only the subclasses' part now (-[WebBookmarkProxy copyWithZone:]): rewritten to do only the subclasses' part now
7:00 PM Changeset in webkit [3413] by hyatt
  • 3 edits in trunk/WebCore

Fix first-line regression caused by my removal of a local variable.

Reviewed by mjs

  • khtml/css/cssstyleselector.cpp:
6:08 PM Changeset in webkit [3412] by rjw
  • 3 edits in trunk/WebCore

Fix the fix to 3119777 to scan for break over entire string
instead of trying to optimize.

Reviewed by hyatt.

  • khtml/rendering/break_lines.cpp: Pass offset into entire string, rather than try to optimize by passing a shorter string.
5:46 PM Changeset in webkit [3411] by hyatt
  • 3 edits in trunk/WebCore

Fix the CSS parser so that it disallows class names beginning
with a digit even in quirks mode.

Reviewed by rjw

  • khtml/css/cssparser.cpp: (StyleBaseImpl::parseSelector2):
5:28 PM Changeset in webkit [3410] by rjw
  • 4 edits in trunk

WebCore

Fix 3119777 (and a host of other international bugs). Word break
was broken. Use unicode services to detect work breaks
for non basic latin1. We may want to go further and
always use unicode services so we get correct hyphenation
breaking.

Reviewed by hyatt.

  • khtml/rendering/break_lines.cpp:

WebFoundation

Fix crash in logging code.

Reviewed by hyatt.

  • Database.subproj/WebFileDatabase.m: (-[WebFileDatabase lazySync:]):
5:15 PM Changeset in webkit [3409] by hyatt
  • 5 edits in trunk/WebCore

Fix word-spacing bugs in text measurement calculations. This
fixes our issues on the CSS1 test suite. Regression tests have
been added for both positive and negative word-spacing.

Reviewed by rjw

  • khtml/rendering/bidi.cpp: (RenderFlow::findNextLineBreak):
  • khtml/rendering/render_text.cpp: (RenderText::calcMinMaxWidth): (RenderText::containsOnlyWhitespace):
  • khtml/rendering/render_text.h:
4:25 PM Changeset in webkit [3408] by cblu
  • 4 edits in trunk/WebCore

Fixed: 3153969 - Should not be able drag text while double or triple-click selecting it
Fixed: 3154153 - Can drag an empty selection

Reviewed by rjw.

  • khtml/khtml_part.cpp: (KHTMLPart::isPointInsideSelection): consider an empty selection like no selection
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::khtmlMouseMoveEvent): don't allow dragging after selection has started using double or triple click
2:34 PM Changeset in webkit [3407] by hyatt
  • 3 edits in trunk/WebCore

Fix absolute positioning problem for bottom-positioned elements.
This is a fix from the KHTML trunk.

Reviewed by john

  • khtml/rendering/render_box.cpp: (RenderBox::calcAbsoluteVertical):
1:56 PM Changeset in webkit [3406] by darin
  • 3 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed 3141566 -- non-reproducible nil-dereference in HTMLGenericFormElementImpl at firstdirect.com
  • khtml/html/html_formimpl.cpp: (HTMLGenericFormElementImpl::defaultEventHandler): Check for the case where the view is 0.
1:51 PM Changeset in webkit [3405] by darin
  • 3 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed two-day-old regression where we get nil-dereferences with text areas
  • kwq/KWQTextArea.mm: (-[KWQTextArea _createTextView]): Don't do the setWidget: here because widget is always nil at this point. (-[KWQTextArea initWithQTextEdit:]): Do it here instead.
1:50 PM Changeset in webkit [3404] by darin
  • 3 edits in trunk/WebKit

Reviewed by Maciej.

  • WebView.subproj/WebUserAgentSpoofTable.gperf: Add the two new entries. Also reorganize existing entries a bit.
1:28 PM Changeset in webkit [3403] by darin
  • 3 edits in trunk/JavaScriptCore

Reviewed by Maciej.

  • fixed 3137084 -- Many non-reproducible crashers in ContextImp::mark / ScopeChain::mark
  • kjs/scope_chain.cpp: (ScopeChain::push): Add assertion. (ScopeChain::release): Fix while loop so that it decrements refCount of the first node in the chain too.
12:46 PM Changeset in webkit [3402] by hyatt
  • 5 edits in trunk/WebCore

Fix for 3126927, don't let absolute positioned blocks grow
to accommodate content. They overflow instead.

Reviewed by mjs

  • khtml/rendering/render_box.cpp: (RenderBox::calcAbsoluteVertical):
  • khtml/rendering/render_flow.h:
  • khtml/rendering/render_object.h:
11:57 AM Changeset in webkit [3401] by cblu
  • 2 edits in trunk/WebKit

Removed comment that I added by mistake.

Reviewed by me.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView draggingSourceOperationMaskForLocal:]):
11:57 AM Changeset in webkit [3400] by cblu
  • 2 edits in trunk/WebKit

Fixed: 3153651 - text dragging does not work to Terminal

Reviewed by trey.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView draggingSourceOperationMaskForLocal:]): Terminal only accepts the drag if one of the operations is generic. Made the operation both generic and copy.
11:23 AM Changeset in webkit [3399] by hyatt
  • 3 edits in trunk/WebCore

Fix for 3153316, selection busted on google.com. For now keep
mouse events grabbing the absolutePosition of elements, and don't
ever let them grab the absolutePosition of text nodes.

Reviewed by john.

  • khtml/khtml_events.cpp: (khtml::MouseEvent::MouseEvent):
10:53 AM Changeset in webkit [3398] by cblu
  • 5 edits in trunk/WebCore

Renamed isPointSelected to isPointInsideSelection because it's a better name.

Reviewed by darin.

  • khtml/khtml_part.cpp: (KHTMLPart::isPointInsideSelection): (KHTMLPart::khtmlMousePressEvent):
  • khtml/khtml_part.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]):
10:36 AM Changeset in webkit [3397] by cblu
  • 1 edit in trunk/WebKit/English.lproj/StringsNotToBeLocalized.txt

* empty log message *

10:25 AM Changeset in webkit [3396] by cblu
  • 23 edits
    1 add in trunk

WebCore:

Added support for text dragging.

Reviewed by dave.

  • khtml/khtml_events.cpp: (khtml::MouseEvent::offset): made checkSelectionPoint take x,y coords, passing the whole event is unnecessary
  • khtml/khtml_part.cpp: (KHTMLPart::isPointSelected): new (KHTMLPart::khtmlMousePressEvent): don't restart the selection when click was on the selection (KHTMLPart::khtmlMouseMoveEvent): restart the selection since we may not do it in khtmlMousePressEvent (KHTMLPart::khtmlMouseReleaseEvent): clear the selection if no selection took place
  • khtml/khtml_part.h:
  • khtml/khtmlpart_p.h:
  • khtml/rendering/render_object.cpp: (RenderObject::checkSelectionPoint): made checkSelectionPoint take x,y coords, passing the whole event is unnecessary
  • khtml/rendering/render_object.h:
  • khtml/rendering/render_text.cpp: (RenderText::checkSelectionPoint): made checkSelectionPoint take x,y coords, passing the whole event is unnecessary
  • khtml/rendering/render_text.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::khtmlMousePressEvent): set booleans indicating that it is OK to drag or select (KWQKHTMLPart::khtmlMouseMoveEvent): ask WebKit if we can drag. Make this decision here instead of in khtmlMousePressEvent because WebKit needs the drag hysteresis to make the decision.
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]): set the selection bit

WebKit:

Added support for text dragging.

Reviewed by dave.

  • Resources/text_clipping.tiff: Added. Temp drag image until we can create an image of the selected text.
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge mayStartDragWithMouseDraggedEvent:]): renamed, we now ask if OK to drag during the drag
  • WebKit.exp: renamed element key for selected text
  • WebKit.pbproj/project.pbxproj:
  • WebView.subproj/WebController.h: renamed element key for selected text
  • WebView.subproj/WebController.m: renamed element key for selected text
  • WebView.subproj/WebHTMLViewPrivate.h:
  • WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _handleMouseDragged:]): added support for text dragging (-[WebHTMLView _mayStartDragWithMouseDragged:]): renamed, we now ask if OK to drag during the drag
Note: See TracTimeline for information about the timeline view.