Timeline
Oct 7, 2004:
- 4:27 PM Changeset in webkit [7788] by
-
- 12 edits in branches/Safari-1-2-branch
WebCore:
Reviewed by Darin.
Some of this was rolled from HEAD, and some is a new bug fix that we'll do on TOT separately.
- fixed <rdar://problem/3827035> REGRESSION (Navy): Safari no longer works with Wachovia online banking after logging in
- fixed <rdar://problem/3830201> REGRESSION (Navy): onload handler doesn't run on page with meta refresh (0 duration) (clone for SUPanNavy)
The fix for <rdar://problem/3773150> made it so we stopped tokenizing once an immediate redirect was pending.
For the Wachovia bug, there was a failing history.go call in the <head>; even though it did not cause any
navigation, it prevented the rest of the page from being loaded. Now we check to see if the requested history
navigation is possible, and if it's not then we continue processing the rest of the page as normal.
Another problem caused by the same fix is that <meta> redirects were preventing tokenizing in the same way.
This is incorrect; the reason the JavaScript-triggered loads prevent tokenizing is that they take place
"right away" in other browsers, but that is not true of <meta> redirect. We fixed this by using a separate
call for <meta> redirect and not preventing tokenizing when that's in effect.
- khtml/khtml_part.h: Removed userGesture parameter from scheduleRedirection. Renamed isImmediateRedirectPending to isScheduledLocationChangePending. Added scheduleLocationChange.
- khtml/khtml_part.cpp: (KHTMLPart::openURL): Updated for new constant name. (KHTMLPart::scheduleRedirection): Removed now-unneeded userGesture parameter, and removed code that does the special case for redirection during load; a <meta> refresh can never be one of those special redirects during a load because it redirects the frame itself, not another frame. Also tightened up the logic by always stopping the redirect timer even if we aren't restarting it. (KHTMLPart::scheduleLocationChange): Added. Like scheduleRedirection, but with a different constant so we can tell it apart and always a delay of 0. The "redirection during load" case was moved in here and renamed to locationChangeScheduledDuringLoad. (KHTMLPart::isScheduledLocationChangePending): Renamed from isImmediateRedirectPending. This now returns true only for location changes and history navigation, not <meta> redirects. (KHTMLPart::scheduleHistoryNavigation): Added a check of canGoBackOrForward across bridge so we don't set up a history navigation that will just fail later. This fixes the Wachovia bug. Also tightened up logic to do the stop() outside the if as above, and got rid of a silly timer delay computation that always resulted in 0.
- khtml/khtmlpart_p.h: Added a new value to the RedirectionScheduled enum for scheduleLocationChange and also renamed one of the existing values.
- khtml/html/htmltokenizer.cpp: (HTMLTokenizer::write): Changed to use isScheduledLocationChangePending instead of isImmediateRedirectPending, because we do want to continue tokenizing if it's actually a redirect.
- khtml/ecma/kjs_html.cpp: (KJS::HTMLDocument::putValue): Changed to call the new scheduleLocationChange instead of calling scheduleRedirection with delay of 0.
- khtml/ecma/kjs_window.cpp: (Window::put): Ditto. (WindowFunc::tryCall): Ditto. (Location::put): Ditto. (LocationFunc::tryCall): Ditto.
- kwq/KWQKHTMLPart.h: Added canGoBackOrForward.
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::canGoBackOrForward): Added. Calls across bridge to do the real work.
- kwq/WebCoreBridge.h: Added canGoBackOrForward.
WebKit:
Reviewed by Darin.
- roll in canGoBackOrForward method from HEAD; needed for WebCore bug fix
- WebCoreSupport.subproj/WebBridge.m: (-[WebBridge canGoBackOrForward:]): Added.
- 3:05 PM Changeset in webkit [7787] by
-
- 1 edit in trunk/JavaScriptCore/kjs/object.cpp
Fixed build error.
- 2:30 PM Changeset in webkit [7786] by
-
- 3 edits in trunk/JavaScriptCore
Added simple JavaScript call tracing. Very useful for
debugging complex pages.
Tracing is only available in development builds and is
enabled by:
(gdb) set traceJavaScript = 1
or programatically
setTraceJavaScript(true)
Function, args, and return values are printed to console. Very
verbose.
Reviewed by Ken.
- kjs/function_object.cpp: (FunctionProtoFuncImp::call):
- kjs/object.cpp: (KJS::Object::call):
Oct 6, 2004:
- 7:03 PM Changeset in webkit [7785] by
-
- 6 edits in trunk/WebCore
Back out style sharing perf fix.
- khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::locateCousinList): (khtml::CSSStyleSelector::canShareStyleWithElement): (khtml::CSSStyleSelector::locateSharedStyle):
- khtml/css/cssstyleselector.h:
- khtml/html/html_elementimpl.h: (DOM::HTMLElementImpl::inlineStyleDecl):
- khtml/xml/dom_elementimpl.cpp: (ElementImpl::recalcStyle):
- khtml/xml/dom_elementimpl.h:
- 4:27 PM Changeset in webkit [7784] by
-
- 1 edit in trunk/WebCore/khtml/css/cssstyleselector.cpp
Really bring the new code in line with the old style sharing code.
- 9:50 AM Changeset in webkit [7783]
-
- 3 copies in tags/Safari-166
This commit was manufactured by cvs2svn to create tag 'Safari-166'.
- 9:50 AM Changeset in webkit [7782] by
-
- 1 edit in trunk/JavaScriptCore/JavaScriptCore.pbproj/project.pbxproj
reversion JSC, for the -Wno-long-double changes
- 9:39 AM Changeset in webkit [7781] by
-
- 1 edit in trunk/JavaScriptCore/JavaScriptCore.pbproj/project.pbxproj
Add -Wno-long-double back to our warning flags. Without it, the x86 build fails.