Timeline
Dec 29, 2002:
- 11:53 PM Changeset in webkit [3209] by
-
- 6 edits in trunk
WebCore:
Reviewed by Don.
- fixed 3103287 -- body of page not rendered (page uses JavaScript trick to be both a frameset and a frame)
Our self-reference protection prevented this page from working.
To fix the bug, I did three things:
1) fixed the hole in the WebCore self-reference protection, so we could remove the WebKit one
(the hole was that it didn't ignore #xxx suffixes)
2) moved the self-reference protection into a single function so it wasn't copied and pasted all over
3) allowed one level of self-reference; still enough to prevent infinite recursion
Then I tested with the site from bug 3103287 and the one from bug 3083732 to make sure that was still OK.
- khtml/html/html_baseimpl.h: Added isURLAllowed().
- khtml/html/html_baseimpl.cpp: (HTMLFrameElementImpl::isURLAllowed): Added. Does the self-reference check and the "local only" check. This logic was repeated in three different places before. Note that since we don't use the "local only" feature, it's not too risky to slightly change how it works. (HTMLFrameElementImpl::updateForNewURL): Use isURLAllowed. (HTMLFrameElementImpl::attach): Ditto. (HTMLIFrameElementImpl::attach): Ditto.
WebKit:
Reviewed by Don.
- fixed 3103287 -- body of page not rendered (page uses JavaScript trick to be both a frameset and a frame)
Our self-reference checks prevented this page from working.
I just removed the WebKit one, since it was really just working around a problem with the WebCore
one that I fixed (didn't ignore #xxx suffixes).
- WebCoreSupport.subproj/WebBridge.m: (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): Remove self-reference check.
- 11:51 PM Changeset in webkit [3208] by
-
- 6 edits in trunk/WebCore
Reviewed by Don.
- fixed 3130566 -- REGRESSION: list item numbers are overlapping the text of the list items
Moved the hack that handles list items that are not in lists out of the parser and into
the DOM and Render tree code itself. This fixes the issue where the parser doesn't know which
will be the parent node of the list item, and other problems with the old hack.
- khtml/html/html_listimpl.cpp: (HTMLLIElementImpl::attach): Find the parent list (OL or UL). If there is no parent list, set a "not in list" flag on the render object so it knows to render "inside" no matter what the style says. Also use this parent and a safer check to make the start attribute work even when there is an intervening DOM element in the hierarchy.
- khtml/html/htmlparser.cpp: (KHTMLParser::getElement): Remove the code that tries to set the style of an LI based on the current node at the time it's parsed, because the current node is now often not the OL or the UL due to our DTD fix to allow other nodes in lists.
- khtml/rendering/render_list.h: Add isInside() to RenderListMarker, setNotInList(), notInList(), and _notInList to RenderListItem.
- khtml/rendering/render_list.cpp: (RenderListItem::RenderListItem): Initialize _notInList to false. (RenderListMarker::paintObject): Use isInside() instead of checking listStylePosition(). (RenderListMarker::calcMinMaxWidth): Ditto. (RenderListMarker::baselinePosition): Ditto. (RenderListMarker::isInside): Return true if we are not in a list, or if "inside" style is requested.
- 10:01 PM Changeset in webkit [3207] by
-
- 3 edits in trunk/WebCore
Reviewed by Don.
- fixed 3134346 -- country menu at www.apple.com does not work when you go back to that page
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::openURLFromPageCache): Add call to checkCompleted().
- 9:12 PM Changeset in webkit [3206] by
-
- 2 edits in trunk/WebKit
Reviewed by Don.
- fixed 3136801 -- scrolling a page that contains a QuickTime movie leaves garbage behind
- Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView tellQuickTimeToChill]): Added. Calls a QuickDraw SPI CallDrawingNotifications to let QuickTime know it should take a nature break. (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): Call tellQuickTimeToChill. (-[WebBaseNetscapePluginView viewHasMoved:]): Call tellQuickTimeToChill.
- 12:15 PM Changeset in webkit [3205] by
-
- 3 edits in trunk/WebCore
Reviewed by Maciej.
- fixed 3136391 -- PianoNanny.com screens turn to garbage when resized
Turns out browsers pass open calls to the window object if they show up at the document
with parameters. We now emulate that too.
- khtml/ecma/kjs_html.cpp: (KJS::HTMLDocFunction::tryCall): If we get an open call with parameters, pass it on to the window.
- 10:20 AM Changeset in webkit [3204] by
-
- 1 edit in trunk/WebKit/ChangeLog
Reviewed by Don.
- follow-on to my fix for 3125877 that fixes a crash I observed when a plug-in fails to NPP_New
I filed bug 3136870 about the fact that we don't do a good job reporting the error.
- Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView sendEvent:]): Return quietly if this is called when the plug-in is not started rather than asserting (and doing bad things on Deployment). (-[WebBaseNetscapePluginView setWindow]): Ditto. (-[WebBaseNetscapePluginView viewHasMoved:]): Just call setWindow since it now checks isStarted.
- 10:13 AM Changeset in webkit [3203] by
-
- 2 edits in trunk/WebKit
Reviewed by Don.
- follow-on to my fix for 3125877 that fixes a crash I observed when a plug-in fails to NPP_New
- Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView sendEvent:]): Return quietly if this is called when the plug-in is not started rather than asserting (and doing bad things on Deployment). (-[WebBaseNetscapePluginView setWindow]): Ditto. (-[WebBaseNetscapePluginView viewHasMoved:]): Just call setWindow since it now checks isStarted.
- 9:58 AM Changeset in webkit [3202] by
-
- 2 edits in trunk/WebKit
Reviewed by Don.
- fixed 3120630 -- spacebar scrolls the page as well as pausing the QuickTime movie
Imitate Mozilla and OmniWeb by not propagating keyboard events after passing them to
plug-ins regardless of what the plug-in returns, rather than imitating MacIE, which
looks at the return value from NPP_HandleEvent.
- Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView keyUp:]): Remove call to super, add comment. (-[WebBaseNetscapePluginView keyDown:]): Ditto.
- 9:30 AM Changeset in webkit [3201] by
-
- 3 edits in trunk/WebKit
Reviewed by Ken and Don.
- fixed 3136120 -- much content missing at www.olympic.org
This site gives modern CSS to "Internet Explorer" or "Netscape 6". Since we are neither of
those, we need to pretend to be one or the other. So we add olympic.org to our MacIE spoofing list.
- WebView.subproj/WebUserAgentSpoofTable.gperf: Add olympic.org to the list of pages that give us better CSS if we claim to be Internet Explorer.
- WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.
- 9:26 AM Changeset in webkit [3200] by
-
- 3 edits in trunk/WebCore
Reviewed by Ken.
- fixed 3134560 -- Lord of the Rings desktops don't load
- khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): Removed the APPLE_CHANGES here. The comment claims that we don't need the code because "JavaScript will do the work below on demand", but that's not true for setting the base URL. Also, the comment claims that this "adds an extra entry to the back/forward list", but testing does not bear that out.
Dec 28, 2002:
- 4:48 PM Changeset in webkit [3199] by
-
- 3 edits in trunk
Setting version to 47u
- 4:44 PM Changeset in webkit [3198]
-
- 3 copies in tags/Alexander-46
This commit was manufactured by cvs2svn to create tag 'Alexander-46'.
- 4:44 PM Changeset in webkit [3197] by
-
- 8 edits in trunk
Safari-46 build
- 3:39 PM Changeset in webkit [3196] by
-
- 1 edit in trunk/WebKit/ChangeLog
Fixed cut-n-paste error I made when checking in Darin's patch for 3125877.
I mistakenly checked in his comment for 3133207. Doh!
- 3:30 PM Changeset in webkit [3195] by
-
- 8 edits in trunk
WebCore:
Reviewed by Gramps and Richard.
Fix for this bug:
Radar 3112233 (400 response when attaching files at mail.yahoo.com)
KHTML multipart form code called into KMimeType class to determine
the mime type for file attachments, however, our implementation of
KMimeType has only stubs which call ERROR.
I added some code into KWQKHTMLPart and WebCoreBridge so that the
code in html_formimpl can call through to the WebFoundation mime
file map we maintain.
- khtml/html/html_formimpl.cpp: (HTMLFormElementImpl::formData)
- kwq/KWQKHTMLPart.h:
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::mimeTypeForFileName)
- kwq/WebCoreBridge.h:
WebKit:
Reviewed by Gramps and Richard
Fix for this bug:
Radar 3112233 (400 response when attaching files at mail.yahoo.com)
I added the MIMETypeForPath method which accesses the WebFoundation mime
file map we maintain. KHTML can now access this map by using the bridge.
- WebCoreSupport.subproj/WebBridge.m: (-[WebBridge MIMETypeForPath:])
- 3:21 PM Changeset in webkit [3194] by
-
- 2 edits in trunk/JavaScriptCore
Corrected checkin date that I cut and pasted incorrectly.
- 3:20 PM Changeset in webkit [3193] by
-
- 5 edits in trunk/WebKit
Reviewed by Gramps and Ken
Checked in by Ken
- fixed 3133207 -- crash in HTMLFrameElementImpl updateForNewURL at home.real.com
My previous attempt to fix this dealt with the case where a RenderFrame object was
not yet created, but not with the case where a RenderFrame object was created without
a corresponding part. Somehow I overlooked this last time when I was doing testing.
Testing this time confirms this takes care of the remaining problem at movies.real.com.
- khtml/html/html_baseimpl.cpp: (HTMLFrameElementImpl::updateForNewURL): Use the same kind of requestFrame call here as in attach when there's a RenderFrame, but no corresponding part. Maybe we can fix this an even more elegant way later.
- 3:07 PM Changeset in webkit [3192] by
-
- 9 edits in trunk/JavaScriptCore
Reviewed by Gramps and Ken.
Checked in by Ken.
- fixed 3134693 -- carsdirect.com crash on used car search, due to large JavaScript array
The parser was using recursion to handle many types of lists.
This meant that we crashed out of stack space when any of the lists were extra big.
I applied the same sort of fix we had already applied a while back for argument lists for
all the other types of lists, including the list of ElementNode that was the reason for
the crash reported here.
- kjs/grammar.y: Removed ElisionNode altogether and just use a count. Use specific node types for PropertyNameAndValueList and PropertyName.
- kjs/grammar.cpp: Regenerated.
- kjs/grammar.cpp.h: Regenerated.
- kjs/grammar.h: Regenerated.
- kjs/nodes.h: Elide "ElisionNode", changing objects to keep elision counts instead. Make the ObjectLiteralNode list field be PropertyValueNode, not just Node. Make PropertyValueNode fields have specific types. Add new reverse list functions, calls to those functions in the constructors, and friend declarations as needed so the class that holds the head of a list can reverse the list during parsing.
- kjs/nodes.cpp: (ElementNode::ref): Use iteration instead of recursion. Also elide "elision". (ElementNode::deref): Ditto. (ElementNode::evaluate): Use iteration instead of recursion, taking advantage of the fact that the linked list is reversed. Also use the elision count rather than an elision list. (ArrayNode::reverseElementList): Reverse the list so we can iterate normally. (ArrayNode::ref): Elide "elision". (ArrayNode::deref): Ditto. (ArrayNode::evaluate): Use elision count instead of elision list. (ObjectLiteralNode::reverseList): Reverse the list so we can iterate normally. (PropertyValueNode::ref): Use iteration instead of recursion. (PropertyValueNode::deref): Use iteration instead of recursion. (PropertyValueNode::evaluate): Use iteration instead of recursion, taking advantage of the fact that the linked list is reversed. (ArgumentListNode::ref): Change code to match the other similar cases we had to revise. (ArgumentListNode::deref): Ditto. (ArgumentListNode::evaluateList): Ditto. (ArgumentsNode::reverseList): Ditto. (VarDeclListNode::ref): Use iteration instead of recursion. (VarDeclListNode::deref): Ditto. (VarDeclListNode::evaluate): Use iteration instead of recursion, taking advantage of the fact that the linked list is reversed. (VarDeclListNode::processVarDecls): Ditto. (VarStatementNode::reverseList): Reverse the list so we can iterate normally. (FunctionBodyNode::FunctionBodyNode): Use BlockNode as the base class, removing most of the FunctionBodyNode class.
- kjs/nodes2string.cpp: (ElementNode::streamTo): Update for using a count for elision, and reverse linking. (ArrayNode::streamTo): Update for using a count for elision. (PropertyValueNode::streamTo): Update for reverse linking. (ArgumentListNode::streamTo): Update for reverse linking. This has been wrong for a while, since we added the reverse a long time ago. (VarDeclListNode::streamTo): Update for reverse linking. (ParameterNode::streamTo): Update for reverse linking.
- 10:33 AM Changeset in webkit [3191] by
-
- 6 edits in trunk/WebKit
Reviewed by Don.
- fixed 3136206 -- Can't display images in Ambrosia Software image viewer
WebKit wasn't creating the frames correctly when they weren't HTML.
- WebView.subproj/WebFramePrivate.m: (-[WebFrame _makeDocumentView]): Added. Calls the WebView to make the document view and then installs the new view, as WebHTMLView used to do. (-[WebFrame _transitionToCommitted:]): Call _makeDocumentView instead of calling WebView directly. These are all the calls to _makeDocumentViewForDataSource:.
- WebView.subproj/WebViewPrivate.h: Add return value to _makeDocumentViewForDataSource:.
- WebView.subproj/WebViewPrivate.m: (-[WebView _makeDocumentViewForDataSource:]): Return the newly-created view.
- WebView.subproj/WebHTMLView.m: (-[WebHTMLView setDataSource:]): Removed the code here since it's done by WebFrame now.
- 10:31 AM Changeset in webkit [3190] by
-
- 3 edits in trunk/WebCore
Reviewed by Don.
- fixed 3136262 -- Shockwave Flash at movies.yahoo.com does not work
- khtml/rendering/render_frames.cpp: (RenderPartObject::updateWidget): Moved the class ID special case MIME types out of the if statement so they can be shared in the case where we have an embed tag but no MIME type.
Dec 26, 2002:
- 10:40 PM Changeset in webkit [3189] by
-
- 3 edits in trunk/WebCore
WebFoundation:
Reviewed by Don.
- Misc.subproj/WebAssertions.h: Fixed CRASH macro to use 0xbbadbeef instead of 0xbadbeef to reduce the chance that the address will be valid once we have allocated a lot of memory.
WebCore:
Reviewed by Don.
- kwq/KWQAssertions.h: Fixed CRASH macro to use 0xbbadbeef instead of 0xbadbeef to reduce the chance that the address will be valid once we have allocated a lot of memory.
- 8:42 AM Changeset in webkit [3188] by
-
- 1 edit in trunk/WebKit/ChangeLog
Reviewed by Don, I mean.
Dec 25, 2002:
- 7:42 PM Changeset in webkit [3187] by
-
- 2 edits in trunk/WebKit
Reviewed by Darin.
- fixed 3133611 -- Java "ticker" applet renders badly when scrolling page
- Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView viewHasMoved:]): Call setWindow so we make a call to the plugin each time it moves, rather than just adjusting the data structure we had passed to it earlier.
- 12:09 PM Changeset in webkit [3186] by
-
- 3 edits in trunk/WebCore
Fix for 3134543 (and widely reported dupes). Don't use render_text
widths cache except for whitespace == PRE. The problem was that additional
spaces in the RenderText's string were being inappropiately measured.
An alternate, more complex and risky, fix would account for the whitespace
properties during scanning of the RenderText width buffer. Considering
the scenario for which this optimization was added (3133261), this
simpler fix is adequate.
Reviewed by Darin and Don.
- khtml/rendering/render_text.cpp: (RenderText::computeWidths):