Timeline



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

Jan 21, 2003:

9:29 PM Changeset in webkit [3395] by trey
  • 4 edits in trunk/WebCore

3032718 - I-beam cursor behavior different between web view and text view

Now that the innerNode is the real text element instead of an enclosing
tag element, it's a piece of cake to test for a text node and set the ibeam cursor.

Reviewed by Chris

  • khtml/khtmlview.cpp: (KHTMLView::viewportMouseMoveEvent): Set iBeam if over text.
  • kwq/KWQKCursor.mm: (KCursor::ibeamCursor): Make this cursor have the Cocoa ibeam instead of arrow.
9:04 PM Changeset in webkit [3394] by hyatt
  • 4 edits in trunk/WebCore

Fix selection so that it will go up to the parent node
if the innerNode is text, preserving the old behavior for
now until we can rewrite selection to not require this.

Reviewed by cblu.

  • khtml/khtml_events.cpp: (khtml::MouseEvent::offset):
  • khtml/khtml_part.cpp: (KHTMLPart::khtmlMousePressEvent): (KHTMLPart::khtmlMouseMoveEvent):
9:02 PM Changeset in webkit [3393] by trey
  • 3 edits in trunk/WebCore

3121681 - "localhost" part of link is lost with relative links

Was broken for abs links with localhost too. Solution is to tighten up the test
for "localhost" removal to only apply to file urls.
canonical result.

Reviewed by Maciej.

  • kwq/KWQKURL.mm: (KURL::parse): Allow the authority processing even for links with localhost. Only cut out the addition of host for locahost file links.
7:06 PM Changeset in webkit [3392] by hyatt
  • 2 edits in trunk/WebCore

Fix nodeAtPoint to return text nodes if the mouse is over them.
Make :active fully hierarchical so that e.g., <a><b>Foo</b></a>
gets an outline when clicked.

Reviewed by trey

  • khtml/rendering/render_object.cpp: (RenderObject::setHoverAndActive):
  • khtml/rendering/render_text.cpp: (RenderText::nodeAtPoint):
6:51 PM Changeset in webkit [3391] by hyatt
  • 4 edits in trunk/WebCore

Fix nodeAtPoint to return text nodes if the mouse is over them.
Make :active fully hierarchical so that e.g., <a><b>Foo</b></a>
gets an outline when clicked.

Reviewed by ???

  • khtml/rendering/render_object.cpp: (RenderObject::setHoverAndActive):
  • khtml/rendering/render_text.cpp: (RenderText::nodeAtPoint):
5:45 PM Changeset in webkit [3390] by hyatt
  • 4 edits in trunk/WebCore

Fix for regressions on layout-tests caused by new table code.
Make sure cell's padding is used and not just the table's cellpadding.

Also make sure cell padding can be changed dynamically.

Reviewed by darin.

  • khtml/rendering/table_layout.cpp: (AutoTableLayout::recalcColumn):
5:33 PM Changeset in webkit [3389] by hyatt
  • 2 edits in trunk/WebCore

Fix for regressions on layout-tests caused by new table code.
Make sure cell's padding is used and not just the table's cellpadding.

Reviewed by darin.

  • khtml/rendering/table_layout.cpp: (AutoTableLayout::recalcColumn):
5:09 PM Changeset in webkit [3388] by darin
  • 5 edits in trunk

Bump versions to 0.8.2/54u. Fix some copyrights to say 2003, not 2001-2003.

4:54 PM Changeset in webkit [3387]
  • 5 copies
    2 deletes in tags/WebCore-53

This commit was manufactured by cvs2svn to create tag 'WebCore-53'.

4:54 PM Changeset in webkit [3386]
  • 3 copies
    2 deletes in tags/JavaScriptCore-53

This commit was manufactured by cvs2svn to create tag
'JavaScriptCore-53'.

4:54 PM Changeset in webkit [3385] by darin
  • 3 edits in branches

More README and project fixes.

4:51 PM Changeset in webkit [3384] by darin
  • 2 edits in branches/JavaScriptCore-53-branch/JavaScriptCore

Updated project and README to prepare for tarballs.

4:49 PM Changeset in webkit [3383] by darin
  • 1 edit in trunk/JavaScriptCore/README

New README for tarballs.

4:48 PM Changeset in webkit [3382] by darin
  • 1 edit in trunk/WebCore/README

New README.

4:12 PM Changeset in webkit [3381]
  • 1 copy
    317 deletes in branches/unlabeled-1.3.50

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

4:12 PM Changeset in webkit [3380]
  • 1 copy
    317 deletes in branches/unlabeled-1.2.50

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

4:12 PM Changeset in webkit [3379]
  • 1 copy
    317 deletes in branches/unlabeled-1.16.50

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

4:12 PM Changeset in webkit [3378]
  • 3 copies
    2 deletes in branches/WebCore-53-branch

This commit was manufactured by cvs2svn to create branch
'WebCore-53-branch'.

4:12 PM Changeset in webkit [3377]
  • 3 copies
    2 deletes in tags/WEBCORE_53_BRANCH_ANCHOR

This commit was manufactured by cvs2svn to create tag
'WEBCORE_53_BRANCH_ANCHOR'.

4:12 PM Changeset in webkit [3376] by darin
  • 390 edits in trunk/WebCore
  • correct our copyrights to 2003; copyright is based on year of publication, not year worked on
4:11 PM Changeset in webkit [3375]
  • 1 copy
    2 deletes in branches/JavaScriptCore-53-branch

This commit was manufactured by cvs2svn to create branch
'JavaScriptCore-53-branch'.

4:11 PM Changeset in webkit [3374]
  • 1 copy
    2 deletes in tags/JAVASCRIPTCORE_53_BRANCH_ANCHOR

This commit was manufactured by cvs2svn to create tag
'JAVASCRIPTCORE_53_BRANCH_ANCHOR'.

4:11 PM Changeset in webkit [3373] by darin
  • 44 edits in trunk/JavaScriptCore

More copyright fixes.

3:54 PM Changeset in webkit [3372] by hyatt
  • 6 edits in trunk/WebCore

Fix for the 2.5% perf regression from the descendant rules
changes. This patch does 3 things:
(1) Fix the descendant rule check in the CSS parser. It
was incorrect.
(2) Fix DOM insertion/removal from setting the parent as needing
a style re-resolve.
(3) Fix whitespace inside <html> so that it doesn't make a premature
<body>.

Reviewed by mjs

  • khtml/css/cssparser.cpp: (StyleBaseImpl::parseSelector):
  • khtml/html/htmlparser.cpp: (KHTMLParser::insertNode):
  • khtml/xml/dom_elementimpl.cpp: (ElementImpl::recalcStyle):
  • khtml/xml/dom_nodeimpl.cpp: (NodeBaseImpl::insertBefore): (NodeBaseImpl::replaceChild): (NodeBaseImpl::removeChild): (NodeBaseImpl::appendChild):
3:46 PM Changeset in webkit [3371] by darin
  • 3 edits in trunk/WebCore

Reviewed by Richard.

  • clean room rewrite of QCString
  • kwq/KWQCString.mm: Replaced functions that needed rewrite.
2:35 PM Changeset in webkit [3370] by rjw
  • 11 edits in trunk/WebCore

Added support to pause and resume javascript timers. This allows pages
that have javascript timers to be added to the page cache.

Fixes 3126138.

Reviewed by trey and maciej.

  • khtml/ecma/kjs_window.cpp: (Window::pauseTimeouts): (Window::resumeTimeouts): (WindowQObject::pauseTimeouts): (WindowQObject::resumeTimeouts): (WindowQObject::timerEvent):
  • khtml/ecma/kjs_window.h:
  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::pauseActions): (KWQKHTMLPart::resumeActions): (KWQKHTMLPart::canCachePage): (KWQKHTMLPart::openURLFromPageCache):
  • kwq/KWQObject.h:
  • kwq/KWQObject.mm: (QObject::pauseTimer): (QObject::_addTimer): (QObject::clearPausedTimers): (QObject::resumeTimers): (QObject::startTimer):
  • kwq/KWQPageState.h:
  • kwq/KWQPageState.mm: (-[KWQPageState initWithDocument:URL:windowProperties:locationProperties:]): (-[KWQPageState setPausedActions:int::]): (-[KWQPageState int::]): (-[KWQPageState _cleanupPausedActions]): (-[KWQPageState invalidate]): (-[KWQPageState dealloc]):
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge openURL:reload:contentType:refresh:lastModified:pageCache:]): (-[WebCoreBridge saveDocumentToPageCache]):
12:32 PM Changeset in webkit [3369] by darin
  • 3 edits in trunk/WebCore
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::createRenderer): Add return statements to fix compile on deployment build.
12:19 PM Changeset in webkit [3368] by darin
  • 3 edits in trunk/WebCore
  • khtml/html/html_formimpl.cpp: (HTMLInputElementImpl::rendererIsNeeded): (HTMLInputElementImpl::attach): Add return statements to fix compile on deployment build.
12:18 PM Changeset in webkit [3367] by darin
  • 45 edits in trunk/JavaScriptCore
  • correct our copyrights to 2003; copyright is based on year of publication, not year worked on
11:54 AM Changeset in webkit [3366] by mjs
  • 5 edits in trunk/WebCore

Reviewed by Nobody, fixing an accidental commit.

  • khtml/khtml_part.cpp:
  • khtml/html/html_documentimpl.cpp:
  • khtml/xml/dom_docimpl.h:
11:43 AM Changeset in webkit [3365] by darin
  • 31 edits in trunk/WebCore

Everything else reviewed by Maciej, dtd.cpp and htmlparser.cpp changes reviewed by Dave.

  • fixed 3151098 -- REGRESSION: Frequent assert about renderer in DOM code
  • khtml/html/dtd.cpp: (DOM::checkChild): Disallow text inside colgroup so it can be handled as a special case inside the parser.
  • khtml/html/htmlparser.cpp: (KHTMLParser::insertNode): Discard text inside colgroup and don't pop the colgroup.
  • fixed 3149792 -- memory trasher at robinlionheart.com
  • fixed 3150664 -- failed assertion in HTMLFrameSetElementImpl::attach on page with frameset inside frameset

The key to fixing the 3149792 memory trasher was to avoid constructing trees where there
is a render object nested inside an object that is not a suitable container. In particular,
the code assumed that RenderFlow objects would only be inside other RenderFlow objects, and
this does not happen if you have an <object> that is an image, with objects inside it that
are intended to be used if the image fails to load.

The key to fixing the 3150664 assertion was to handle the case where a frame set's parent
didn't have a renderer, rather than just asserting about it.

  • khtml/rendering/render_flow.cpp: (RenderFlow::layout): Added an assertion and a FIXME from Dave's and my review of this code. (RenderFlow::splitInlines): Add assertions that we have actual RenderFlow objects. Casting non-RenderFlow objects was the cause of the memory trashing. The other parts of this change assure we never hit these assertions by not creating any render objects for DOM objects that are inside non-RenderFlow. (RenderFlow::addChildWithContinuation): Add a similar assertion here.
  • khtml/rendering/render_object.h: Declare new member function.
  • khtml/rendering/render_object.cpp: (RenderObject::canHaveChildren): Return false.
  • khtml/rendering/render_container.h: Declare new member function.
  • khtml/rendering/render_container.cpp: (RenderContainer::canHaveChildren): Return true.
  • khtml/rendering/render_replaced.h: Declare new member function.
  • khtml/rendering/render_replaced.cpp: (RenderReplaced::canHaveChildren): Return false.
  • khtml/xml/dom_nodeimpl.h: Declare new member functions.
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::createRendererIfNeeded): Added. Checks to see if a renderer should be created, and creates it if so. The bug fix is checking canHaveChildren() here. This also reduces the amount of repeated code in various attach() methods. (NodeImpl::styleForRenderer): Added. Default is parent style. (NodeImpl::rendererIsNeeded): Added. Default is to create only if display is not none. (NodeImpl::createRenderer): Added. Must never reach this function, but I didn't make it a pure virtual because of subclasses like AttrImpl that don't ever call createRendererIfNeeded. Could rethink this and improve it even more.
  • khtml/xml/dom_elementimpl.h: Declare new member functions.
  • khtml/xml/dom_elementimpl.cpp: (ElementImpl::styleForRenderer): Override to get the style from the style selector rather than from the parent renderer. (ElementImpl::createRenderer): Call RenderObject::createObject to create the right type of renderer. (ElementImpl::attach): Call createRendererIfNeeded to do most of the work.
  • khtml/html/html_baseimpl.h: Declare new member functions.
  • khtml/html/html_baseimpl.cpp: (HTMLBodyElementImpl::createRenderer): Create a RenderBody. (HTMLBodyElementImpl::attach): Call createRendererIfNeeded to do most of the work. (HTMLFrameElementImpl::rendererIsNeeded): Override to implement the different policy this element uses to decide whether to make a renderer (same as old code). (HTMLFrameElementImpl::createRenderer): Create a RenderFrame. (HTMLFrameElementImpl::attach): Call createRendererIfNeeded to do most of the work. (HTMLFrameSetElementImpl::rendererIsNeeded): Override to implement the different policy this element uses to decide whether to make a renderer (same as old code). (HTMLFrameSetElementImpl::createRenderer): Create a RenderFrameSet. (HTMLFrameSetElementImpl::attach): Call createRendererIfNeeded to do most of the work. This fixes a bug where the parent doesn't have a renderer; we were asserting in that case rather than just not creating a renderer ourselves, which was wrong. (HTMLHtmlElementImpl::rendererIsNeeded): Override to implement the different policy this element uses to decide whether to make a renderer (same as old code). (HTMLHtmlElementImpl::createRenderer): Create a RenderHtml. (HTMLHtmlElementImpl::attach): Call createRendererIfNeeded to do most of the work. (HTMLIFrameElementImpl::createRenderer): Create a RenderPartObject. (HTMLIFrameElementImpl::attach): Call createRendererIfNeeded to do most of the work.
  • khtml/html/html_formimpl.h: Declare new member functions.
  • khtml/html/html_formimpl.cpp: (HTMLGenericFormElementImpl::attach): Remove now-unneeded code that is handled by createRendererIfNeeded now. (HTMLInputElementImpl::rendererIsNeeded): Return false for HIDDEN, otherwise call base. (HTMLInputElementImpl::createRenderer): Create the appropriate type of RenderObject. (HTMLInputElementImpl::attach): Call createRendererIfNeeded to do most of the work. Determined that we don't need the special case for image buttons any more. (HTMLSelectElementImpl::createRenderer): Create a RenderSelect. (HTMLSelectElementImpl::attach): Call createRendererIfNeeded to do most of the work. (HTMLTextAreaElementImpl::createRenderer): Create a RenderTextArea. (HTMLTextAreaElementImpl::attach): Call createRendererIfNeeded to do most of the work.
  • khtml/html/html_imageimpl.h: Declare new member function.
  • khtml/html/html_imageimpl.cpp: (HTMLImageElementImpl::createRenderer): Create a RenderImage. (HTMLImageElementImpl::attach): Call createRendererIfNeeded to do most of the work.
  • khtml/html/html_inlineimpl.h: Declare new member function.
  • khtml/html/html_inlineimpl.cpp: (HTMLBRElementImpl::createRenderer): Create a RenderBR. (HTMLBRElementImpl::attach): Call createRendererIfNeeded to do most of the work.
  • khtml/html/html_objectimpl.h: Declare new member functions.
  • khtml/html/html_objectimpl.cpp: (HTMLAppletElementImpl::rendererIsNeeded): Override to implement the different policy this element uses to decide whether to make a renderer (same as old code). (HTMLAppletElementImpl::createRenderer): Create either a RenderApplet or RenderEmptyApplet. (HTMLAppletElementImpl::attach): Call createRendererIfNeeded to do most of the work. (HTMLEmbedElementImpl::rendererIsNeeded): Override to implement the different policy this element uses to decide whether to make a renderer (same as old code). (HTMLEmbedElementImpl::createRenderer): Create a RenderPartObject. (HTMLEmbedElementImpl::attach): Call createRendererIfNeeded to do most of the work. (HTMLObjectElementImpl::rendererIsNeeded): Override to implement the different policy this element uses to decide whether to make a renderer (same as old code). (HTMLObjectElementImpl::createRenderer): Create either a RenderImage or a RenderPartObject. (HTMLObjectElementImpl::attach): Call createRendererIfNeeded to do most of the work.
  • khtml/xml/dom_textimpl.h: Declare new member functions.
  • khtml/xml/dom_textimpl.cpp: (TextImpl::rendererIsNeeded): Moved logic about not making renderers for only-whitespace elements here. Left out the special case for textarea, since the fact that RenderReplaced returns false from the canHaveChildren function now takes care of that of that case. (TextImpl::createRenderer): Create a RenderText. (TextImpl::attach): Call createRendererIfNeeded to do most of the work.
  • fixed a buffer overrun that libgmalloc detected
  • khtml/misc/decoder.cpp: (KanjiCode::judge): Pass in a size parameter instead of using strlen. (Decoder::decode): Pass in a size parameter.
  • a little housekeeping
  • WebCore.pbproj/project.pbxproj: Remove a bunch of the .moc files from the project. I'm not sure why I put them in originally, but they do no good in there.
  • khtml/khtmlview.moc: Empty out this file.
11:18 AM Changeset in webkit [3364] by mjs
  • 3 edits in trunk/WebCore

Reviewed by Trey.

  • fixed 3145317 - Unable to add or remove menu items on Site Menu page using Safari Beta

This turned out to be a problem with event.layerX / event.layerY.

  • khtml/xml/dom2_eventsimpl.cpp: (MouseEventImpl::computeLayerPos): Since layer position is relative to parent layer, go up the layer tree adjusting for layer offset to compute true layer position.
10:28 AM Changeset in webkit [3363] by mjs
  • 6 edits in trunk/WebCore

Reviewed by Ken.

  • fixed 3151982 - missing content at debka.com after iframe is written using document.write
  • fixed 3000234 - javascript problem writing iframe at cycleworld.com
  • khtml/html/htmltokenizer.cpp: (HTMLTokenizer::scriptHandler): If we come out of the script with the parser in skip mode, don't throw away the whole rest of the document - instead, parse it as usual. The parser's skip mode will take care of skipping stuff as needed and will detect close tags for special tags like <iframe>.

Jan 20, 2003:

6:35 PM Changeset in webkit [3362] by hyatt
  • 4 edits in trunk/WebCore

Fix :hover performance regression on wsj.com. Moving my
<a name="foo"> quirk down into the :hover rule matching code,
so that we'll know never to apply :hover to anchorless <a>s.

Reviewed by gramps

  • khtml/css/cssstyleselector.cpp:
  • khtml/rendering/render_object.cpp: (RenderObject::setHoverAndActive):
6:33 PM Changeset in webkit [3361] by mjs
  • 13 edits
    1 add in trunk

WebCore:

Reviewed by Trey.

  • fixed 3132120 - onchange handler not firing on mac.com webmail
  • khtml/rendering/render_form.h:
  • khtml/rendering/render_replaced.cpp: (RenderWidget::handleFocusOut): Moved empty virtual method here from render_form. (RenderWidget::eventFilter): Uncomment call to handleFocusOut - we need it to send onChange properly.
  • khtml/rendering/render_replaced.h:
  • kwq/KWQObject.h: Add empty eventFilter virtual method.
  • kwq/KWQComboBox.h: Remove no longer needed empty eventFilter.
  • kwq/KWQEvent.h: Implement a bit more of QFocusEvent.
  • kwq/KWQTextArea.mm: (-[KWQTextArea _createTextView]): Tell the text view its widget. (-[KWQTextAreaTextView setWidget:]): New method to set widget. (-[KWQTextAreaTextView becomeFirstResponder]): In addition to the usual stuff, call the widget's event filter with a focus in event. (-[KWQTextAreaTextView resignFirstResponder]): In addition to the usual stuff, call the widget's event filter with a focus out event.
  • kwq/KWQTextField.mm: (-[KWQTextField becomeFirstResponder]): Cleaned up a bit. (-[KWQTextField fieldWillBecomeFirstResponder]): Call the widget's event filter with a focus in event. (-[KWQTextField fieldWillResignFirstResponder]): Call the widget's event filter with a focus out event.
  • kwq/KWQView.mm:

WebKit:

Reviewed by Trey.

  • fixed 3132120 - onchange handler not firing on mac.com webmail
  • WebView.subproj/WebHTMLViewPrivate.m: (-[WebNSTextView resignFirstResponder]): If we really resign first responder, and our delegate responds to filedWillBecomeFirstResponder, then call that method. (-[WebNSTextView becomeFirstResponder]): If we really become first responder, and our delegate responds to filedWillBecomeFirstResponder, then call that method.
5:35 PM Changeset in webkit [3360] by hyatt
  • 3 edits in trunk/WebCore

Fix for 3147213. <nobr> is treated like other inlines now,
so it can contain blocks. <wbr> is also fixed. This fixes
tvguide.com.

Reviewed by john

  • khtml/html/dtd.cpp: (DOM::checkChild):
4:29 PM Changeset in webkit [3359] by kocienda
  • 1 edit in trunk/WebKit/Misc.subproj/WebFileDatabase.m

Reviewed by Hyatt

Moved up to HTTP/1.1 in the simple loader, including chunked transer encoding and
persistent connections. While I was in the neighborhood, I cleaned up a lot of
code and improved some names.

  • Database.subproj/WebFileDatabase.m: Changed sync idle timeout from 3 seconds to 10 seconds. In the "real world" I think that this is a better choice since with even DSL speeds, pages often take longer than 3 seconds to load.
  • Misc.subproj/WebNSStringExtras.h:
  • Misc.subproj/WebNSStringExtras.m: (-[NSString _web_timeoutFromKeepAliveHeader]): Added this helper.
  • ProtocolHandlers.subproj/WebHTTPProtocolHandler.h: Added WebHTTPTransferEncoding enum and transferEncodingFlags ivar to the class.
  • ProtocolHandlers.subproj/WebHTTPProtocolHandler.m: (-[WebHTTPProtocolHandler populateResponseWithProtocolMetadata:]): Do a "sanity" check on the value of transferEncodingFlags. If the encoding is not "identity" discard content length header value. (-[WebHTTPProtocolHandler determineTransferEncoding]): Added.
  • ProtocolHandlers.subproj/WebSimpleHTTPProtocolHandler.h: Quite a bit of rearranging and additions in order to handle new functionality. Moved the whole method interface into the .m file. None of that was public in any way.
  • ProtocolHandlers.subproj/WebSimpleHTTPProtocolHandler.m: (-[WebHTTPPersistentConnection initWithFD:expiry:]): Added. (-[WebHTTPPersistentConnection isExpired]): Added. (WebSimpleHTTPProtocolHandlerInit): Some name changes and additions in order to handle new functionality. (_persistentConnectionSweeper): Added. (_signalledHandlersCallback): Name change. (_socketWriteCallback): Name change. (_socketReadCallback): Name change. (-[WebSimpleHTTPProtocolHandler initWithResourceLoad:]): Create the HTTP request string here. (-[WebSimpleHTTPProtocolHandler beginLoadInBackgroundWithConditions:]): Now checks to see if a persistent connection is available for the destination host/port. (-[WebSimpleHTTPProtocolHandler endLoad]): Name change to call _finishedWithFileDescriptor. (-[WebSimpleHTTPProtocolHandler cleanUpForRetry]): Rearranged in order to be more legible. Some additions to handle new functionality. (-[WebSimpleHTTPProtocolHandler dealloc]): Adjusted for name changes. (-[WebSimpleHTTPProtocolHandler _createHTTPRequest]): Now uses HTTP/1.1 and Connection: keep-alive. This is what the change is all about. :-) (-[WebSimpleHTTPProtocolHandler _extractResponseStatusLineFromBytes:length:]): (-[WebSimpleHTTPProtocolHandler _processHTTPResultCode]): Name change. (-[WebSimpleHTTPProtocolHandler _performSocketRead]): Name change. (-[WebSimpleHTTPProtocolHandler _finishedWithFileDescriptor]): Name change. Now handles keeping connections alive if they are eligible. (isToken): Added to deal with chunked transfer encoding. (skipLWS): Ditto. (skipToken): Ditto. (skipQuotedString): Ditto. (parseChunkedHeader): Ditto. (-[WebSimpleHTTPProtocolHandler _processResponseData]): Now handles chunked transfer encoding. (-[WebSimpleHTTPProtocolHandler _handleLoadCallback]): Now does more checks to see if a load has finished. Additional logic needed here since we do not get a "hard close" when a load is done since we are trying to keep the socket open.
4:09 PM Changeset in webkit [3358] by trey
  • 3 edits in trunk/WebKit

Nit fix to remove a dead "cursor" ivar found while grepping.

Reviewed by Richard.

  • WebView.subproj/WebDynamicScrollBarsView.h:
  • WebView.subproj/WebDynamicScrollBarsView.m:
4:00 PM Changeset in webkit [3357] by hyatt
  • 4 edits in trunk/WebCore

Gah. Fix positioned objects and floating objects so that they
don't append themselves to the list of runs in normal flow.
An astoundingly basic bug. :(

Reviewed by john

  • khtml/rendering/bidi.cpp: (appendRunsForObject):
  • khtml/rendering/render_flow.cpp: (RenderFlow::addChildToFlow):
1:59 PM Changeset in webkit [3356] by hyatt
  • 23 edits in trunk/WebCore

Fixes for 3150561 (blog articles vanish on stylesheet switch) and
and 3150560 (crash changing fixed positioned element to normal
positioning dynamically).

This change makes layers able to deal with dynamic changes in
position that cause you to have to either remove a layer from
the hierarchy while preserving the children or to insert a
layer into the hierarchy in between a parent and its descendants.

This patch also rewrites :hover/:active so that they can actually
be used in selectors other than the rightmost selector (e.g., so you
can write a rule like "li:hover > a").

Also, layers will now properly clear out their hover/active state
when the mouse is no longer inside them.

With these fixes, Eric Meyer's "Pure CSS Menus" work (perfectly)
and the repainting problems on sites like brainjar.com and
diveintomark.org and wired.com are fixed.

Reviewed by mjs and john.

  • khtml/css/css_stylesheetimpl.h:
  • khtml/css/cssparser.cpp: (StyleBaseImpl::parseSelector):
  • khtml/css/cssparser.h:
  • khtml/css/cssstyleselector.cpp:
  • khtml/css/cssstyleselector.h:
  • khtml/dom/html_head.cpp: (HTMLLinkElement::setDisabled):
  • khtml/rendering/render_box.cpp: (RenderBox::setStyle):
  • khtml/rendering/render_box.h:
  • khtml/rendering/render_container.cpp: (RenderContainer::appendChildNode): (RenderContainer::insertChildNode):
  • khtml/rendering/render_flow.cpp: (RenderFlow::setStyle):
  • khtml/rendering/render_flow.h:
  • khtml/rendering/render_layer.cpp: (RenderLayer::addChild): (RenderLayer::removeOnlyThisLayer): (RenderLayer::insertOnlyThisLayer): (RenderLayer::clearOtherLayersHoverActiveState): (RenderLayer::clearHoverAndActiveState): (RenderLayer::nodeAtPoint): (RenderLayer::constructZTree):
  • khtml/rendering/render_layer.h:
  • khtml/rendering/render_object.cpp: (RenderObject::addLayers): (RenderObject::moveLayers): (RenderObject::findNextLayer): (RenderObject::setStyle): (RenderObject::setHoverAndActive):
  • khtml/rendering/render_object.h:
  • khtml/rendering/render_style.cpp: (RenderStyle::diff):
  • khtml/rendering/render_style.h:
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::DocumentImpl):
  • khtml/xml/dom_docimpl.h:
  • khtml/xml/dom_elementimpl.cpp: (ElementImpl::recalcStyle):
  • khtml/xml/dom_nodeimpl.cpp: (NodeBaseImpl::setActive):

Jan 18, 2003:

7:08 PM Changeset in webkit [3355] by mjs
  • 3 edits in trunk/WebCore

Reviewed by John.

  • fixed 3149511 - Blogger.com window closes after update is posted
  • khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): For now, don't allow closing the window at all if it wasn't opened by JavaScript, since we don't support the history object and so can't tell if the window has only one history item.
3:11 PM Changeset in webkit [3354] by mjs
  • 3 edits in trunk/WebKit

Reviewed by John.

  • fixed 3123041 - VIP: Spewage at bottom of oregonlive.com and other similar pages
  • WebView.subproj/WebUserAgentSpoofTable.gperf: Added nj.com to spoof list below oregonlive.com (which was already in there). Added comment explaining the need to spoof a bit more.
  • WebView.subproj/WebUserAgentSpoofTable.c: (hash): (_web_findSpoofTableEntry): Regenerated.
Note: See TracTimeline for information about the timeline view.