Timeline


and

04/26/08:

22:27 Changeset [32603] by mrowe@apple.com

Merge r32530.

22:27 Changeset [32602] by mrowe@apple.com

Merge r32583.

20:10 Changeset [32601] by ddkilzer@apple.com

Removed temp files and added appropriate svn:ignore properties.

Rubber-stamped by Mark Rowe.

  • data: Added svn:ignore property for "versioncache" and "versioncache.*" files.
  • data/template: Added svn:ignore property for "template" subdirectory.
  • data/template/template: Removed precompiled template subdirectory.
  • data/versioncache: Removed.
  • data/versioncache.*: Removed backup versioncache files.
  • data/webdot: Added svn:ignore property for "*.dot" files.
  • data/webdot/*.dot: Removed cached webdot files.
19:29 Changeset [32600] by kevino@webkit.org

Delete the DerivedSources after make clean has been done so that the DerivedSouces don't get re-created. Also, use the proper extension for the Win wxPython extension.

https://bugs.webkit.org/show_bug.cgi?id=18756

19:24 Changeset [32599] by mrowe@apple.com

Versioning.

19:23 Changeset [32598] by mrowe@apple.com

New tag.

18:56 Changeset [32597] by weinig@apple.com

WebCore:

2008-04-26 Adam Barth <hk9565@gmail.com>

Reviewed by Adam Roben and Sam Weinig.

Fixes bug http://bugs.webkit.org/show_bug.cgi?id=17331
Fixes bug http://bugs.webkit.org/show_bug.cgi?id=16848


Updates postMessage implementation to match HTML 5 specification:
1) Adds origin parameter to postMessage.
2) Removes domain and uri attributes of MessageEvent in favor of

origin attribute.

In order to do this correctly, we need to distinguish between hosts and domains
in the SecurityOrigin class. There are now three ways to compare security origins:
1) isSameSchemeHostPort compares scheme, host, and port, and is used for postMessage
2) equal compares all aspects of the security origin, and is used for hash keys
3) canAccess understands the semantics of schemes such as file:// and data:// URLs,

and should be used for scripting access checks.

Changed SecurityOrigin::toString() to generate identifiers that are suitable for
being used as a MessageEvent's origin property. In the future, they could be used
as database string identifiers as well. Re-used KURL parser to parse serialized
SecurityOrigins.

Collin Jackson <collinj-webkit@collinjackson.com> also contributed to this patch.


Tests: http/tests/security/postMessage/invalid-origin-throws-exception.html

http/tests/security/postMessage/javascript-page-still-sends-origin.html
http/tests/security/postMessage/origin-unaffected-by-base-tag.html
http/tests/security/postMessage/origin-unaffected-by-document-domain.html
http/tests/security/postMessage/target-origin.html

  • WebCore.base.exp:
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::postMessage):
  • dom/Document.cpp: (WebCore::Document::domain):
  • dom/MessageEvent.cpp: (WebCore::MessageEvent::MessageEvent): (WebCore::MessageEvent::initMessageEvent):
  • dom/MessageEvent.h: (WebCore::MessageEvent::origin):
  • dom/MessageEvent.idl:
  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::checkOrigin): (WebCore::CanvasRenderingContext2D::createPattern):
  • page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage):
  • page/DOMWindow.h:
  • page/DOMWindow.idl:
  • platform/SecurityOrigin.cpp: (WebCore::SecurityOrigin::SecurityOrigin): (WebCore::SecurityOrigin::create): (WebCore::SecurityOrigin::createForFrame): (WebCore::SecurityOrigin::copy): (WebCore::SecurityOrigin::setDomainFromDOM): (WebCore::SecurityOrigin::canAccess): (WebCore::SecurityOrigin::isSecureTransitionTo): (WebCore::SecurityOrigin::toString): (WebCore::SecurityOrigin::createFromString): (WebCore::SecurityOrigin::createFromDatabaseIdentifier): (WebCore::SecurityOrigin::databaseIdentifier): (WebCore::SecurityOrigin::equal): (WebCore::SecurityOrigin::isSameSchemeHostPort):
  • platform/SecurityOrigin.h: (WebCore::SecurityOrigin::host): (WebCore::SecurityOrigin::domain):
  • platform/SecurityOriginHash.h: (WebCore::SecurityOriginTraits::deletedValue):
  • storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::hasEntryForDatabase): (WebCore::DatabaseTracker::originPath): (WebCore::DatabaseTracker::fullPathForDatabase): (WebCore::DatabaseTracker::populateOrigins): (WebCore::DatabaseTracker::databaseNamesForOrigin): (WebCore::DatabaseTracker::detailsForNameAndOrigin): (WebCore::DatabaseTracker::setDatabaseDetails): (WebCore::DatabaseTracker::setQuota): (WebCore::DatabaseTracker::addDatabase): (WebCore::DatabaseTracker::deleteOrigin): (WebCore::DatabaseTracker::deleteDatabase):

WebKit/mac:

2008-04-20 Adam Barth <hk9565@gmail.com>

Reviewed by Adam Roben and Sam Weinig.

Updated WebSecurityOrigin to match new SecurityOrigin API.

Collin Jackson <collinj-webkit@collinjackson.com> also contributed to this patch.

  • Storage/WebSecurityOrigin.mm: (-[WebSecurityOrigin host]): (-[WebSecurityOrigin domain]):
  • Storage/WebSecurityOriginPrivate.h:

WebKit/win:

2008-04-26 Adam Barth <hk9565@gmail.com>

Reviewed by Adam Roben and Sam Weinig.

Renamed "domain" method to "host" to match SecurityOrigin.

  • Interfaces/IWebSecurityOrigin.idl:
  • WebSecurityOrigin.cpp: (WebSecurityOrigin::host):
  • WebSecurityOrigin.h:

WebKitTools:

2008-04-26 Adam Barth <hk9565@gmail.com>

Reviewed by Adam Roben and Sam Weinig.

Updates LayoutTestController to use host instead of domain.

Collin Jackson <collinj-webkit@collinjackson.com> also contributed to this patch.

  • DumpRenderTree/mac/LayoutTestControllerMac.mm: (LayoutTestController::setDatabaseQuota):
  • DumpRenderTree/mac/UIDelegate.mm: (-[UIDelegate webView:frame:exceededDatabaseQuotaForSecurityOrigin:database:]):

LayoutTests:

2008-04-26 Adam Barth <hk9565@gmail.com>

Reviewed by Adam Roben and Sam Weinig.

Update LayoutTests for new postMessage API.

Collin Jackson <collinj-webkit@collinjackson.com> also contributed to this patch.

  • http/tests/security/postMessage/domain-and-uri-unaffected-by-base-tag-expected.txt: Removed.
  • http/tests/security/postMessage/domain-and-uri-unaffected-by-base-tag.html: Removed.
  • http/tests/security/postMessage/domain-unaffected-by-document-domain-expected.txt: Removed.
  • http/tests/security/postMessage/domain-unaffected-by-document-domain.html: Removed.
  • http/tests/security/postMessage/invalid-origin-throws-exception-expected.txt: Added.
  • http/tests/security/postMessage/invalid-origin-throws-exception.html: Added.
  • http/tests/security/postMessage/javascript-page-still-sends-domain-expected.txt: Removed.
  • http/tests/security/postMessage/javascript-page-still-sends-domain.html: Removed.
  • http/tests/security/postMessage/javascript-page-still-sends-origin-expected.txt: Copied from LayoutTests/http/tests/security/postMessage/javascript-page-still-sends-domain-expected.txt.
  • http/tests/security/postMessage/javascript-page-still-sends-origin.html: Copied from LayoutTests/http/tests/security/postMessage/javascript-page-still-sends-domain.html.
  • http/tests/security/postMessage/origin-unaffected-by-base-tag-expected.txt: Copied from LayoutTests/http/tests/security/postMessage/domain-and-uri-unaffected-by-base-tag-expected.txt.
  • http/tests/security/postMessage/origin-unaffected-by-base-tag.html: Copied from LayoutTests/http/tests/security/postMessage/domain-and-uri-unaffected-by-base-tag.html.
  • http/tests/security/postMessage/origin-unaffected-by-document-domain-expected.txt: Copied from LayoutTests/http/tests/security/postMessage/domain-unaffected-by-document-domain-expected.txt.
  • http/tests/security/postMessage/origin-unaffected-by-document-domain.html: Copied from LayoutTests/http/tests/security/postMessage/domain-unaffected-by-document-domain.html.
  • http/tests/security/postMessage/target-origin-expected.txt: Added.
  • http/tests/security/postMessage/target-origin.html: Added.
18:52 Changeset [32596] by kevino@webkit.org

Another round of build fixes, hopefully the last this time.

17:35 Changeset [32595] by kevino@webkit.org

Reviewed by Kevin Ollivier.

Allow the user to set the path to SWIG using an environment variable.

https://bugs.webkit.org/show_bug.cgi?id=18660

17:28 Changeset [32594] by kevino@webkit.org

wx build fix. Add needed wx includes for compilation.
https://bugs.webkit.org/show_bug.cgi?id=18758

17:21 Changeset [32593] by kevino@webkit.org

wx build fix. Download the latest libpng version for building the dependencies.

13:12 Changeset [32592] by mjs@apple.com

2008-04-26 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • document all property getting, setting and deleting opcodes


(And fix function parameter names to match corresponding opcode parameter names.)

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitResolve): (KJS::CodeGenerator::emitResolveBase): (KJS::CodeGenerator::emitResolveBaseAndProperty): (KJS::CodeGenerator::emitResolveBaseAndFunc): (KJS::CodeGenerator::emitGetPropId): (KJS::CodeGenerator::emitPutPropId): (KJS::CodeGenerator::emitDeletePropId): (KJS::CodeGenerator::emitPutPropVal):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::resolve): (KJS::resolveBase): (KJS::resolveBaseAndProperty): (KJS::resolveBaseAndFunc): (KJS::Machine::privateExecute):
  • kjs/nodes.cpp: (KJS::ResolveNode::emitCode): (KJS::ArrayNode::emitCode): (KJS::PropertyListNode::emitCode): (KJS::BracketAccessorNode::emitCode): (KJS::EvalFunctionCallNode::emitCode): (KJS::FunctionCallResolveNode::emitCode): (KJS::FunctionCallBracketNode::emitCode): (KJS::PostIncResolveNode::emitCode): (KJS::PostDecResolveNode::emitCode): (KJS::PostIncBracketNode::emitCode): (KJS::PostDecBracketNode::emitCode): (KJS::PostIncDotNode::emitCode): (KJS::PostDecDotNode::emitCode): (KJS::DeleteResolveNode::emitCode): (KJS::TypeOfResolveNode::emitCode): (KJS::PreIncResolveNode::emitCode): (KJS::PreDecResolveNode::emitCode): (KJS::PreIncBracketNode::emitCode): (KJS::PreDecBracketNode::emitCode): (KJS::AssignResolveNode::emitCode): (KJS::AssignDotNode::emitCode): (KJS::ReadModifyDotNode::emitCode): (KJS::AssignBracketNode::emitCode): (KJS::ReadModifyBracketNode::emitCode): (KJS::ConstDeclNode::emitCodeSingle):
09:41 Changeset [32591] by mitz@apple.com

WebCore:

2008-04-26 Anatoli Papirovski <apapirovski@mac.com>

Reviewed by Dave Hyatt.

Fix for https://bugs.webkit.org/show_bug.cgi?id=18583
WebKit should ignore declarations with a negative value for
line-height and font-size, including in the shorthand font form.

Tests: fast/css/font-size-negative.html

fast/css/line-height-negative.html

  • css/CSSParser.cpp: (WebCore::CSSParser::parseValue): (WebCore::CSSParser::parseFont):

LayoutTests:

2008-04-26 Anatoli Papirovski <apapirovski@mac.com>

Reviewed by Dave Hyatt.

Test for https://bugs.webkit.org/show_bug.cgi?id=18583
Negative values are invalid for font-size and line-height,
including in the shorthand "font".

  • fast/css/font-size-negative.html: Added.
  • fast/css/line-height-negative.html: Added.
  • platform/mac/css2.1/t100801-c548-ln-ht-02-b-ag-expected.checksum:
  • platform/mac/css2.1/t100801-c548-ln-ht-02-b-ag-expected.png:
  • platform/mac/css2.1/t100801-c548-ln-ht-02-b-ag-expected.txt:
  • platform/mac/fast/css/font-size-negative-expected.checksum: Added.
  • platform/mac/fast/css/font-size-negative-expected.png: Added.
  • platform/mac/fast/css/font-size-negative-expected.txt: Added.
  • platform/mac/fast/css/line-height-negative-expected.checksum: Added.
  • platform/mac/fast/css/line-height-negative-expected.png: Added.
  • platform/mac/fast/css/line-height-negative-expected.txt: Added.
02:07 Changeset [32590] by oliver@apple.com

Bug 18628: SQUIRRELFISH: need to support recursion limit
<https://bugs.webkit.org/show_bug.cgi?id=18628>

Reviewed by Maciej.

Basically completes recursion limiting. There is still some
tuning we may want to do to make things better in the face of
very bad code, but certainly nothing worse than anything already
possible in trunk.

Also fixes a WebKit test by fixing the exception text :D

02:07 Changeset [32589] by oliver@apple.com

Fix the changelog

04/25/08:

20:28 Changeset [32588] by mrowe@apple.com

<rdar://problem/5891264> Don't install the JavaScriptGlue headers

Reviewed by Adele Peterson.

19:02 Changeset [32587] by weinig@apple.com

2008-04-25 Sam Weinig <sam@webkit.org>

Rubber-stamped by Mark Rowe.

Remove SavedBuiltins and SavedProperties classes and the methods used to
save data to them. The CachedPage now stores a the JSGlobalObject in full.

  • JavaScriptCore.exp:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • kjs/JSGlobalObject.cpp:
  • kjs/JSGlobalObject.h:
  • kjs/JSVariableObject.cpp:
  • kjs/JSVariableObject.h: (KJS::JSVariableObject::localStorage):
  • kjs/SavedBuiltins.h: Removed.
  • kjs/object.h:
  • kjs/property_map.cpp:
  • kjs/property_map.h:
17:55 Changeset [32586] by andersca@apple.com

2008-04-25 Anders Carlsson <andersca@apple.com>

Reviewed by Sam.

Add empty ApplicationCacheStorage class.


  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/appcache/ApplicationCacheStorage.cpp: Added. (WebCore::cacheStorage):
  • loader/appcache/ApplicationCacheStorage.h: Added.
17:45 Changeset [32585] by weinig@apple.com

2008-04-24 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Replace the JSDOMWindow with a new one instead of clearing it.

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::clear): Don't reset the window.
  • bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::clear): Replace the current JSDOMWindow stored in the wrapper window with a new one.
  • history/CachedPage.cpp: (WebCore::CachedPage::CachedPage): (WebCore::CachedPage::restore): (WebCore::CachedPage::clear):
  • history/CachedPage.h: Instead of storing the builtins, properties and localstorage in special holding structs, store the entire JSDOMWindow.

For the case of a page that has no JSDOMWindow before it's first
navigation, has one created while it is in the cache and is then
navigated back, create a new JSDOMWindow to keep the assumption
in JSDOMWindowWrapper that it always has the correct window.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::clear): We must clear the DOMWindow first, so that we create a new JSDOMWindow, it gets a new one.
  • page/Frame.cpp: (WebCore::Frame::clearDOMWindow): Null out the domWindow so that on the next access, a new one is created.
17:08 Changeset [32584] by weinig@apple.com

2008-04-25 Sam Weinig <sam@webkit.org>

Reviewed by Mark Rowe.

The EventListeners need to operate and store JSDOMWindows, not JSDOMWrapperWindows.

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::~JSDOMWindowBase): (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
  • bindings/js/JSSVGLazyEventListener.cpp: (WebCore::JSSVGLazyEventListener::JSSVGLazyEventListener):
  • bindings/js/JSSVGLazyEventListener.h:
  • bindings/js/kjs_events.cpp: (WebCore::JSAbstractEventListener::handleEvent): (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener): (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener): (WebCore::JSUnprotectedEventListener::window): (WebCore::JSUnprotectedEventListener::clearWindow): (WebCore::JSEventListener::JSEventListener): (WebCore::JSEventListener::~JSEventListener): (WebCore::JSEventListener::window): (WebCore::JSEventListener::clearWindow): (WebCore::JSLazyEventListener::JSLazyEventListener): (WebCore::JSLazyEventListener::parseCode):
  • bindings/js/kjs_events.h:
  • bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::createHTMLEventHandler): (WebCore::KJSProxy::createSVGEventHandler):
17:03 Changeset [32583] by mrowe@apple.com

Add some content to an empty ICU header file to prevent verification errors.

Rubber-stamped by Sam Weinig.

16:38 Changeset [32582] by andersca@apple.com

2008-04-25 Anders Carlsson <andersca@apple.com>

Fix tyop.


  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
16:36 Changeset [32581] by andersca@apple.com

WebCore:

2008-04-25 Anders Carlsson <andersca@apple.com>

Reviewed by Sam.

Add and honor offlineWebApplicationCacheEnabled setting.


  • WebCore.base.exp:
  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
  • loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::load):
  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache): (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
  • page/Settings.cpp: (WebCore::Settings::Settings): (WebCore::Settings::setOfflineWebApplicationCacheEnabled):
  • page/Settings.h: (WebCore::Settings::offlineWebApplicationCacheEnabled):

WebKit/mac:

2008-04-25 Anders Carlsson <andersca@apple.com>

Reviewed by Sam.

Add offlineWebApplicationCacheEnabled preference.


  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.m: (+[WebPreferences initialize]): (-[WebPreferences offlineWebApplicationCacheEnabled]): (-[WebPreferences setOfflineWebApplicationCacheEnabled:]):
  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm: (-[WebView _updateSettingsFromPreferences:]):
15:44 Changeset [32580] by mrowe@apple.com

2008-04-25 Mark Rowe <mrowe@apple.com>

Upgrade to WordPress 2.5.1. Another day, another security vulnerability in WordPress.

  • blog:
15:41 Changeset [32579] by oliver@apple.com

Bug 18736: SQUIRRELFISH: switch statements with no default have incorrect codegen
<https://bugs.webkit.org/show_bug.cgi?id=18736>

Reviewed by Geoff

Put a limit on the level of reentry recursion. 128 levels of re-entrant recursion
seems reasonable as it is greater than the old eval limit, and a long way short of
the reentry depth needed to overflow the stack.

14:44 Changeset [32578] by ddkilzer@apple.com

<rdar://problem/5819422> REGRESSION: Wrong line number passed to -willLeaveCallFrame

Patch by George Dicker and Michael Kahl. Reviewed by Darin.

When -[NSObject(WebScriptDebugDelegate) webView:willLeaveCallFrame:sourceId:line:forWebFrame:]
is invoked, the first line number of the function is returned instead of the last
line number. This regressed in r28458.

  • kjs/nodes.cpp: (KJS::FunctionBodyNodeWithDebuggerHooks::execute): Pass lastLine() instead of lineNo() when calling Debugger::returnEvent().
14:11 Changeset [32577] by andersca@apple.com

2008-04-25 Anders Carlsson <andersca@apple.com>

Reviewed by Adam.

<rdar://problem/5629139>
PluginInfoStoreWin needs to implement pluginNameForMIMEType().


  • plugins/PluginInfoStore.cpp: (WebCore::PluginInfoStore::pluginNameForMIMEType):
13:09 Changeset [32576] by andersca@apple.com

2008-04-25 Anders Carlsson <andersca@apple.com>

Reviewed by Adam.

Fix internal debug build.


  • WebKit.vcproj/WebKit.vcproj:
11:11 Changeset [32575] by ggaren@apple.com

2008-04-25 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


A tiny bit of cleanup to the regexp code.


Removed some static_cast.


Removed createRegExpImp because it's no longer used.

11:00 SquirrelFish edited by ggaren@apple.com
(diff)
10:02 Changeset [32574] by darin@apple.com

2008-04-25 Darin Adler <darin@apple.com>

Done with Stephanie Lewis.

  • JavaScriptCore.xcodeproj/project.pbxproj: Prepare for compilation with gcc 4.2 by adding -fno-strict-aliasing to CollatorICU.cpp.
07:43 Changeset [32573] by hausmann@webkit.org

Benjamin Meyer <bmeyer@trolltech.com>

Fixed focus handling when a node is focused while the corresponding QWebPage does not have the focus.

  • Correctly de- and reactivate the focused frame in focusOut/focusInEvent without telling the focus controller. We don't want to change the focused frame
    • the controller has to remember it in fact - but instead just deactivate the frame for correct painting as RenderTheme::isFocused() uses the activation state of the frame.
05:37 Changeset [32572] by hausmann@webkit.org

Tor Arne Vestbø <tavestbo@trolltech.com>

Respect antialiasing hint when drawing focus rects.

05:37 Changeset [32571] by hausmann@webkit.org

Kavindra Devi Palaraja <kdpalara@trolltech.com>

completed documentation for the Detailed Description section for QWebView

05:37 Changeset [32570] by hausmann@webkit.org

Denis Dzyubenko <denis.dzyubenko@trolltech.com>

Fixed the way QWebHistory works - when you call back(), forward() or goToItem() functions it changes the current item in history *and* loads the corresponding page.

05:36 Changeset [32569] by hausmann@webkit.org

Tor Arne Vestbø <tavestbo@trolltech.com>

Fix resubmit of HTML forms when initially denied by QWebPage::acceptNavigationRequest().

03:49 Changeset [32568] by hausmann@webkit.org

Simon Hausmann <hausmann@webkit.org>

When pressing backspace in a line edit in a webpage we should not go back to the previous page.

The shortcut for back on Windows is backspace. Implemented shortcut override
handling in QWebView/QWebPage to prevent this.

03:49 Changeset [32567] by hausmann@webkit.org

Ariya Hidayat <ariya.hidayat@trolltech.com>

Fix triple-clicking does not work in a web page

03:49 Changeset [32566] by hausmann@webkit.org

Holger Hans Peter Freyther <zecke@selfish.org>

networking: Use Qt::QueuedConnection in QNetworkReplyHandler

Make sure we leave the networking backend before calling
into WebCore. Otheriwse we might return to the networking
backend when it is already deleted.

03:49 Changeset [32565] by hausmann@webkit.org

Benjamin Meyer <bmeyer@trolltech.com>

When pressing Ctrl-Up the keyboard modifiers could include other modifiers

03:48 Changeset [32564] by hausmann@webkit.org

Tor Arne Vestbø <tavestbo@trolltech.com>

Fix handling of Javascript's confirm() function in QtWebKit.

03:41 Changeset [32563] by hausmann@webkit.org

Kavindra Devi Palaraja <kdpalara@trolltech.com>

Doc - added a screenshot, flowchart, and a snippet to the QWebView documentation to improve clarity

03:32 Changeset [32562] by hausmann@webkit.org

Benjamin Meyer <bmeyer@trolltech.com>

QWebPage: missing signal when window.print() is requested from javascript

03:32 Changeset [32561] by hausmann@webkit.org

Tor Arne Vestbø <tavestbo@trolltech.com>

Fix propagation of mouse double click events.

Treat a mouse double click as a regular mouse press with just a different click count.

03:32 Changeset [32560] by hausmann@webkit.org

Benjamin Meyer <bmeyer@trolltech.com>

Fixes: "Save Image" action wasn't doing anything.

03:31 Changeset [32559] by hausmann@webkit.org

Tor Arne Vestbø <tavestbo@trolltech.com>

Fixes: Fix strange button sizes (push, radio, and check) in QtWebKit.

We now use pixel metrics instead of fixed sizes for the
button margins, or if the style supports layout rects we
use the delta between the content rect and the layout rect.

In adition we compensate for the difference between the size
for content and the actual layout rect (if supported) by
reporting back the layout rect to WebKit for page layout,
and then inflating the rect we actually paint to.

03:31 Changeset [32558] by hausmann@webkit.org

Benjamin Meyer <bmeyer@trolltech.com>

Apply key event changes to the current frame, not the main frame.

Example: hitting space bar should scroll current frame, not the main frame
which doesn't even have a scrollbar.

03:00 Changeset [32557] by hausmann@webkit.org

Benjamin Meyer <bmeyer@trolltech.com>

Fixes: QWebFrame crash when fetching the icon

Just call QWebSettings::iconForUrl to not duplicate code and obey the mutex lock.

02:59 Changeset [32556] by hausmann@webkit.org

Benjamin Meyer <bmeyer@trolltech.com>

Fixes: Valgrind warnings about uninitilized variables used in jumps

02:59 Changeset [32555] by hausmann@webkit.org

Warwick Allison <warwick@trolltech.com>

Fixes: Scrollbars did not report correct maximum.

02:59 Changeset [32554] by hausmann@webkit.org

Benjamin Meyer <bmeyer@trolltech.com>

Implement NoDrop, ZoomIn, and ZoomOut cursors

02:01 Changeset [32553] by hausmann@webkit.org

Holger Hans Peter Freyther <zecke@selfish.org>

Handle the ListboxAppearance as 'TextField' as well. We are mainly interested in the background.

RenderBox will call us to paint the outline/background, it is handled the same as a
TextAreaAppearance in RenderTheme, handle it the same in the RenderThemeQt

02:01 Changeset [32552] by hausmann@webkit.org

Holger Hans Peter Freyther <zecke@selfish.org>

No reason to exit the application when we can not paint something. Replace the Q_ASSERT
with a runtime check. Return true to indicate that we did not handle the painting
of this element.

02:01 Changeset [32551] by hausmann@webkit.org

Holger Hans Peter Freyther <zecke@selfish.org>

Correct the comment. We are in painTextField and don't paint a button.

02:00 Changeset [32550] by hausmann@webkit.org

Holger Hans Peter Freyther <zecke@selfish.org>

Allow ListboxAppearance to take focus as well. Stolen from Tor Arne

02:00 Changeset [32549] by hausmann@webkit.org

Holger Hans Peter Freyther <zecke@selfish.org>

Do not execute most of the http tests as they hang or crash.

02:00 Changeset [32548] by hausmann@webkit.org

Simon Hausmann <hausmann@webkit.org>

Remove debug output.

01:28 Changeset [32547] by oliver@apple.com

Bug 18736: SQUIRRELFISH: switch statements with no default have incorrect codegen
<https://bugs.webkit.org/show_bug.cgi?id=18736>

Reviewed by Maciej

Ensure the "default" target is correct in the absence of an explicit default handler.

01:10 Changeset [32546] by hausmann@webkit.org

David Boddie <dboddie@trolltech.com>

Documentation updates for some of the QWeb classes

01:09 Changeset [32545] by oliver@apple.com

Fixing the ChangeLog

01:08 Changeset [32544] by oliver@apple.com

Bug 18732: SQUIRRELFISH: exceptions thrown by native constructors are ignored
<https://bugs.webkit.org/show_bug.cgi?id=18732>

Reviewed by Maciej

More bounds checking.

00:53 Changeset [32543] by hausmann@webkit.org

Holger Hans Peter Freyther <zecke@selfish.org>

Implement dumping of resource load callbacks to pass http/tests/xmlhttprequest/abort-should-cancel-load.html

Similar to Editing and Frameloading we do the dumping within WebCore

00:52 Changeset [32542] by hausmann@webkit.org

Holger Hans Peter Freyther <zecke@selfish.org>

Change the string to match the mac and pass http/tests/misc/isindex-formdata.html

00:52 Changeset [32541] by hausmann@webkit.org

Simon Hausmann <hausmann@webkit.org>

When we encounter a new/unknown HTTP request type report it back to WebCore as loading error.

00:51 Changeset [32540] by mjs@apple.com

2008-04-25 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • fix signal catching magic


The signal handlers are restored to _exit but are only set when
running under run-javascriptcore-tests. fprintf from a signal
handler is not safe.

  • kjs/testkjs.cpp: (main): (parseArguments):
  • tests/mozilla/jsDriver.pl:
00:44 Changeset [32539] by hausmann@webkit.org

Benjamin Meyer <bmeyer@trolltech.com>

Fix crash in the networking layer.

Set the m_reply to null right after calling deleteLater().

00:27 Changeset [32538] by mjs@apple.com

2008-04-25 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej.

Bug 18732: SQUIRRELFISH: exceptions thrown by native constructors are ignored
<https://bugs.webkit.org/show_bug.cgi?id=18732>

Fixes another regression test.

  • VM/Machine.cpp: (KJS::Machine::privateExecute):
00:24 Changeset [32537] by mjs@apple.com

2008-04-25 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej.

Bug 18728: SQUIRRELFISH: invalid regular expression constants should throw exceptions
<https://bugs.webkit.org/show_bug.cgi?id=18728>

Fixes another regression test.

  • kjs/nodes.cpp: (KJS::RegExpNode::emitCode):

04/24/08:

23:45 Changeset [32536] by ggaren@apple.com

2008-04-24 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Geoffrey Garen.

Bug 18735: SQUIRRELFISH: closures are sometimes given an incorrect 'this' value when called
<https://bugs.webkit.org/show_bug.cgi?id=18735>

The overloaded toThisObject method was not copied over to JSActivation.

Fixes two regression tests.

  • kjs/JSActivation.cpp: (KJS::JSActivation::toThisObject):
  • kjs/JSActivation.h:
23:44 Changeset [32535] by ggaren@apple.com

2008-04-24 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Added support for arguments.callee.

23:42 Changeset [32534] by mrowe@apple.com

2008-04-24 Mark Rowe <mrowe@apple.com>

Rubber-stamped by Oliver Hunt.

  • WebCore.base.exp: Remove two symbols from the export list that don't need to be exported.
22:00 Changeset [32533] by oliver@apple.com

Bug 18628: SQUIRRELFISH: need to support recursion limit
<https://bugs.webkit.org/show_bug.cgi?id=18628>

Reviewed by Maciej

Partial fix -- this gets us some of the required bounds checking, but not
complete coverage. But it does manage to do them without regressing :D

21:04 Changeset [32532] by mitz@apple.com

WebCore:

Reviewed by Dave Hyatt.

Test: fast/dynamic/float-remove-above-line.html

  • rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): Avoid adding floats that do not intrude into the line to its floats vector. When such floats go away, they do not dirty the line (because they do not intersect with it) and having it keep them in its floats vector is what caused the crash.

LayoutTests:

Reviewed by Dave Hyatt.

  • fast/dynamic/float-remove-above-line-expected.txt: Added.
  • fast/dynamic/float-remove-above-line.html: Added.
19:04 Changeset [32531] by justin.garcia@apple.com

2008-04-24 Justin Garcia <justin.garcia@apple.com>

Reviewed by John Sullivan.


It is possible, despite our safeguards, for createMarkup to iterate past the end of the Range
that is passed to it. Added a null check to prevent crashes in this situation (we won't crash but
we will create too much markup), and added an ASSERT to hopefully catch the scenario in a debugger
and help us understand what's going on.

  • editing/markup.cpp: (WebCore::createMarkup):
18:29 Changeset [32530] by mrowe@apple.com

Remove code for calculating the glyph cache size.

Reviewed by Sam Weinig.

WebCore:

  • WebCore.base.exp: Remove unused symbol.
  • platform/graphics/mac/FontCacheMac.mm: Remove code that is unused now that we do not compute the glyph cache size.
  • platform/mac/WebCoreSystemInterface.h: Remove unused symbol.
  • platform/mac/WebCoreSystemInterface.mm: Ditto.

WebKit:

  • WebCoreSupport/WebSystemInterface.m:

(InitWebCoreSystemInterface): Remove unused symbol.

WebKitSystemInterface:

  • WebKitSystemInterface.h: Remove unused symbol.
  • libWebKitSystemInterfaceLeopard.a:
  • libWebKitSystemInterfaceTiger.a:
18:29 Changeset [32529] by mrowe@apple.com

Add a definition of BUILDING_ON_LEOPARD to complement BUILDING_ON_TIGER.

Reviewed by Sam Weinig.

17:58 Changeset [32528] by mrowe@apple.com

2008-04-24 Cameron McCormack <cam@mcc.id.au>

Reviewed by Maciej Stachowiak.

Ensure that changes to rx="" and ry="" attributes on an SVG <rect>
element cause a relayout.

Test: svg/dom/SVGRectElement/rect-modify-rx.svg

  • svg/SVGRectElement.cpp: (WebCore::SVGRectElement::svgAttributeChanged): Call needsLayout() when the attribute is rx or ry. (WebCore::SVGRectElement::hasRelativeValues): Return true when the attribute is rx or ry, since they also can have relative values.

2008-04-24 Cameron McCormack <cam@mcc.id.au>

Reviewed by Maciej Stachowiak.

Test for:
http://bugs.webkit.org/show_bug.cgi?id=18328
Modifying rx="" or ry="" on a <rect> doesn't relayout

  • svg/dom/SVGRectElement: Added.
  • svg/dom/SVGRectElement/rect-modify-rx-expected.txt: Added.
  • svg/dom/SVGRectElement/rect-modify-rx.svg: Added.
17:50 Changeset [32527] by mrowe@apple.com

2008-04-24 Jan Michael Alonzo <jmalonzo@unpluggable.com>

Reviewed by Maciej Stachowiak.

http://bugs.webkit.org/show_bug.cgi?id=18485
Typo and documentation fix for build-webkit

  • Scripts/build-webkit:
17:47 Changeset [32526] by mrowe@apple.com

2008-04-24 Adam Barth <hk9565@gmail.com>

Reviewed by Sam Weinig.

Update the XMLHttpRequest header black list to match the spec.

  • xml/XMLHttpRequest.cpp: (WebCore::isSafeRequestHeader):

2008-04-24 Adam Barth <hk9565@gmail.com>

Reviewed by Sam Weinig.

Test that we block headers beginning with "Sec-" as per spec.

  • http/tests/xmlhttprequest/set-dangerous-headers-expected.txt:
  • http/tests/xmlhttprequest/set-dangerous-headers.html:
17:47 Changeset [32525] by mrowe@apple.com

2008-04-22 Feng Qian <ian.eng.webkit@gmail.com>

Reviewed by Geoff Garen.

Fix https://bugs.webkit.org/show_bug.cgi?id=18677
Bug 18677: Synchronous event dispatch confuses the popup blocker into incorrectly blocking chat popups in gmail.com.

Test: fast/events/nested-window-event.html

  • bindings/js/kjs_events.cpp: (WebCore::JSAbstractEventListener::handleEvent): Save and restore the current event around the event dispatch.

2008-04-22 Feng Qian <ian.eng.webkit@gmail.com>

Reviewed by Geoff Garen.

Test for nested event handlers.

  • fast/events/nested-window-event-expected.txt: Added.
  • fast/events/nested-window-event.html: Added.
17:26 Changeset [32524] by beidson@apple.com

2008-04-24 Brady Eidson <beidson@apple.com>

Reviewed by Teh Mitzpettel

Make it so PageGroups know what their own name is.

  • WebCore.base.exp:
  • page/Page.cpp: (WebCore::Page::setGroupName): (WebCore::Page::groupName):
  • page/Page.h:
  • page/PageGroup.cpp: Move the PageGroupMap into the PageGroup class. (WebCore::PageGroup::PageGroup): Added a c'tor that takes the group name as an argument instead of the initial Page. (WebCore::PageGroup::pageGroup): Handles creating and mapping names to groups
  • page/PageGroup.h: (WebCore::PageGroup::name):
16:20 Changeset [32523] by mitz@apple.com

WebKit/gtk:

  • build fix
  • webkit/webkitwebview.cpp:

WebKit/win:

  • build fix
  • WebView.cpp: (WebView::handleContextMenuEvent):
16:18 Changeset [32522] by ggaren@apple.com

Fixed up ChangeLog

16:18 Changeset [32521] by ggaren@apple.com

2008-04-24 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Oliver.

Bug 18717: SQUIRRELFISH: eval returns the wrong value for a variable declaration statement
<https://bugs.webkit.org/show_bug.cgi?id=18717>

Fixes a regression test, but exposes the failure of another due to the
lack of getters and setters.

  • kjs/nodes.cpp: (KJS::ConstDeclNode::emitCodeSingle): (KJS::ConstDeclNode::emitCode): (KJS::ConstStatementNode::emitCode): (KJS::VarStatementNode::emitCode):
  • kjs/nodes.h:
15:58 Changeset [32520] by oliver@apple.com

Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Oliver.

Bug 18717: SQUIRRELFISH: eval returns the wrong value for a variable declaration statement
<https://bugs.webkit.org/show_bug.cgi?id=18717>

Fixes a regression test, but exposes the failure of another due to the
lack of getters and setters.

15:56 Changeset [32519] by adele@apple.com

2008-04-24 Adele Peterson <adele@apple.com>

Reviewed by Darin.

Consolidate two versions of pathGetFileName.

  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): Call FileSystem.h version of pathGetFileName and removed the static helper function.
  • platform/posix/FileSystemPOSIX.cpp: (WebCore::pathGetFileName): Moved general case from HTMLFormElement version here. If other platforms relied on that default they should implement this function for their platform specific version of FileSystem.cpp
  • platform/win/FileSystemWin.cpp: (WebCore::pathGetFileName): Moved win implementation from HTMLFormElement here.
  • platform/wx/FileSystemWx.cpp: (WebCore::pathGetFileName): Moved wx implementation from HTMLFormElement here.
14:49 Changeset [32518] by beidson@apple.com

2008-04-24 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Fix layout test regressions from my earlier preferences/settings tweak.

  • WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): Even if we're not posting the notification to update the settings, each WebView still needs to register for the notification - restore that behavior.
14:45 Changeset [32517] by andersca@apple.com

2008-04-24 Anders Carlsson <andersca@apple.com>

Windows build fix.


  • html/HTMLFormElement.cpp: (WebCore::pathGetFilename):
12:43 Changeset [32516] by hyatt@apple.com

Add svg mask example.

12:42 Changeset [32515] by hyatt@apple.com

Add svg file of a circle.

12:26 Changeset [32514] by hyatt@apple.com

Add more files.

12:21 Changeset [32513] by hyatt@apple.com

Add kate gradient pic.

12:16 Changeset [32512] by andersca@apple.com

2008-04-24 Anders Carlsson <andersca@apple.com>

Reviewed by Sam.

Don't call fprintf from the signal handler.


  • DumpRenderTree/mac/DumpRenderTree.mm: (crashHandler):
12:16 Changeset [32511] by hyatt@apple.com

Adjust files.

12:15 Changeset [32510] by andersca@apple.com

2008-04-24 Anders Carlsson <andersca@apple.com>

Don't crash when the string is empty.


  • html/HTMLMediaElement.cpp: (WebCore::parseTimeOffset):
12:12 Changeset [32509] by hyatt@apple.com

Add more files.

12:09 Changeset [32508] by mitz@apple.com

WebCore:

Reviewed by Darin Adler.

The three main changes in this patch are:

1) Making all inline boxes know their bidi level, instead of just text

boxes knowing whether their bidi level is odd or even. This is
required for the next change.

2) Replacing RenderObject::inlineBox() with

Position::getInlineBoxAndOffset() in recognition of the fact that the
inline box containing the primary caret for a position in a given
node may belong to a different node's renderer.

3) Changing RenderObject::caretRect() to take an InlineBox parameter,

and changing callers to call VisiblePosition::caretRect(), which
locates the inline box, then calls caretRect() on the renderer for
that box. This, combined with the previous change, ensures that the
primary caret is rendered at the right place for positions that
lie on a directionality boundary.

Test: platform/mac/editing/input/caret-primary-bidi.html

  • WebCore.base.exp: Added the VisiblePosition(Node*, int, EAffinity) constructor and VisiblePosition::caretRect(), and sorted.
  • dom/Position.cpp: (WebCore::nextRenderedEditable): Adjusted for the removal of RenderObject::inlineBox(). (WebCore::previousRenderedEditable): Ditto. (WebCore::Position::rendersInDifferentPosition): Ditto. (WebCore::Position::getInlineBoxAndOffset): Added. Gets the inline box and the offset within that box at which the primary caret for this position should render.
  • dom/Position.h:
  • editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::mergeParagraphs): Changed to call VisiblePosition::caretRect() instead of calling the RenderObject method.
  • editing/SelectionController.cpp: (WebCore::caretY): Ditto. (WebCore::SelectionController::xPosForVerticalArrowNavigation): Ditto. (WebCore::SelectionController::layout): Ditto.
  • editing/VisiblePosition.cpp: (WebCore::VisiblePosition::caretRect): Changed to call getInlineBoxAndOffset() to get the correct inline box and call the renderer for that box.
  • editing/VisiblePosition.h: (WebCore::VisiblePosition::getInlineBoxAndOffset): Added convenience methods for getting the inline box and caret offset for a visible position, accounting for its affinity.
  • editing/visible_units.cpp: (WebCore::rootBoxForLine): Changed to use getInlineBoxAndOffset() instead of RenderObject::inlineBox(). (WebCore::startPositionForLine): (WebCore::endPositionForLine): (WebCore::previousLinePosition): Ditto. (WebCore::nextLinePosition): Ditto.
  • page/AccessibilityObject.cpp: (WebCore::updateAXLineStartForVisiblePosition): Ditto.
  • page/Frame.cpp: (WebCore::Frame::firstRectForRange): Ditto.
  • rendering/InlineBox.cpp: (WebCore::InlineBox::caretMinOffset): Changed to forward to the renderer. (WebCore::InlineBox::caretMaxOffset): Ditto.
  • rendering/InlineBox.h: Replaced the m_reversed bit, intended for use in InlineTextBox only, with six bits of the bidi level of the box, intended for use in all leaf inline boxes. (WebCore::InlineBox::InlineBox): Added missing initializer for m_dirOverride and initialized the bidi level. (WebCore::InlineBox::bidiLevel): Added this accessor. (WebCore::InlineBox::setBidiLevel): Ditto. (WebCore::InlineBox::direction): Ditto. (WebCore::InlineBox::caretLeftmostOffset): Added this convenience method. (WebCore::InlineBox::caretRightmostOffset): Ditto.
  • rendering/InlineTextBox.cpp: Replaced all references to m_reversed with checking of direction(). (WebCore::InlineTextBox::selectionRect): (WebCore::InlineTextBox::placeEllipsisBox): (WebCore::InlineTextBox::paint): (WebCore::InlineTextBox::paintSelection): (WebCore::InlineTextBox::paintCompositionBackground): (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): (WebCore::InlineTextBox::paintTextMatchMarker): (WebCore::InlineTextBox::textPos): (WebCore::InlineTextBox::offsetForPosition): (WebCore::InlineTextBox::positionForOffset):
  • rendering/RenderBR.cpp: Removed inlineBox().
  • rendering/RenderBR.h: Ditto.
  • rendering/RenderBox.cpp: (WebCore::RenderBox::caretRect): Changed to take an inline box and account for the direction of the box (or the renderer) in positioning the caret: in right-to-left boxes, the "before" position is to the right while "after" is to the left.
  • rendering/RenderBox.h:
  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::caretRect): Updated the signature.
  • rendering/RenderFlow.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::caretRect): Updated the signature. (WebCore::RenderObject::caretMaxOffset): Changed to return the child node count (or 1 if there are no children) for replaced elements, such as <select>s.
  • rendering/RenderObject.h:
  • rendering/RenderReplaced.cpp: Removed caretMinOffset() and caretMaxOffset() because the base class implementation does the right thing for replaced objects now.
  • rendering/RenderReplaced.h:
  • rendering/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::caretRect): Updated the signature. (WebCore::RenderSVGInlineText::positionForCoordinates): Updated for the change from m_reversed to direction().
  • rendering/RenderSVGInlineText.h:
  • rendering/RenderText.cpp: (WebCore::RenderText::caretRect): Changed to take an inline box and removed the code that used to find the inline for the given position. Changed use of m_reversed to use direction(). (WebCore::RenderText::position): Changed use of m_reversed to use direction().
  • rendering/RenderText.h:
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::textWithHardLineBreaks): Adjusted for the removal of RenderObject::inlineBox().
  • rendering/RenderTreeAsText.cpp: (WebCore::writeTextRun): Changed to use direction() instead of m_reversed.
  • rendering/SVGInlineTextBox.cpp: Ditto. (WebCore::SVGInlineTextBox::calculateGlyphBoundaries): (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback): (WebCore::SVGInlineTextBox::svgCharacterHitsPosition):
  • rendering/SVGRenderTreeAsText.cpp: Ditto. (WebCore::writeSVGInlineTextBox):
  • rendering/SVGRootInlineBox.cpp: Ditto. (WebCore::svgTextRunForInlineTextBox): (WebCore::cummulatedWidthOrHeightOfTextChunk): (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
  • rendering/bidi.cpp: (WebCore::RenderBlock::constructLine): Made this function set the bidi level on all leaf boxes.
  • svg/SVGTextContentElement.cpp: Changed to use direction() instead of m_reversed. (WebCore::cumulativeCharacterRangeLength): (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):

WebKit/mac:

Reviewed by Darin Adler.

  • WebView/WebFrame.mm: (-[WebFrame _caretRectAtNode:offset:affinity:]): Changed to use VisiblePosition::caretRect() instead of the RenderObject method which was removed.

LayoutTests:

Reviewed by Darin Adler.

  • test the visual position of the primary caret in bidirectional text
  • platform/mac/editing/input/caret-primary-bidi-expected.txt: Added.
  • platform/mac/editing/input/caret-primary-bidi.html: Added.
12:09 Changeset [32507] by hyatt@apple.com

Check in kate image for blog post.

12:00 Changeset [32506] by hyatt@apple.com

Add blog files for mask post.

11:57 Changeset [32505] by beidson@apple.com

../mac:

2008-04-24 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Rework the Settings population again.

  • WebView/WebView.mm: (-[WebView _updateSettingsFromPreferences:]): This method is called both from _preferencesChangedNotification and directly from WebView's common init function. (-[WebView _preferencesChangedNotification:]): (-[WebView _commonInitializationWithFrameName:groupName:]): Call _updateSettingsFromPreferences immediately after creating the new Page

../win:

2008-04-24 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Revert my previous change to WebKit/Win until I can make it act more like the new Mac code

  • WebView.cpp: (WebView::initWithFrame):
11:53 Changeset [32504] by weinig@apple.com

2008-04-24 Sam Weinig <sam@webkit.org>

Fix the world.

  • bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::clear):
11:51 Changeset [32503] by hyatt@apple.com

Add blog images.

11:45 Changeset [32502] by weinig@apple.com

2008-04-24 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Add a #define to easily enable collecting on every allocation to aid
debugging GC bugs.

  • kjs/collector.cpp: (KJS::Collector::heapAllocate):
11:22 Changeset [32501] by ggaren@apple.com

2008-04-24 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Print a CRASH statement when crashing, so test failures are not a
mystery.

  • kjs/testkjs.cpp: (handleCrash): (main):
10:54 Changeset [32500] by darin@apple.com

WebCore:

2008-04-24 Darin Adler <darin@apple.com>

Reviewed by Geoff.

  • fix crash in regression test where we'd ask a frame for a user agent string after the WebView was already closed
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::scheduleHTTPRedirection): Quietly do nothing if this is called on a frame that's already detached from its page. (WebCore::FrameLoader::scheduleLocationChange): Ditto. (WebCore::FrameLoader::scheduleRefresh): Ditto. (WebCore::FrameLoader::scheduleHistoryNavigation): Ditto. (WebCore::FrameLoader::redirectionTimerFired): Assert that this is never called for a frame that's already detached from its page. (WebCore::FrameLoader::scheduleRedirection): Ditto. (WebCore::FrameLoader::startRedirectionTimer): Ditto.

WebKit/mac:

2008-04-24 Darin Adler <darin@apple.com>

Reviewed by Geoff.

  • fix crash in regression test where we'd ask a frame for a user agent string after the WebView was already closed
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::userAgent): Assert that the WebView is not nil. Also added some code to prevent the crash in release builds if this problem happens again.
10:50 Changeset [32499] by timothy@apple.com

Add a new callFunction helper function to remove duplicate code
for calling JavaScript functions with arguments.

Reviewed by Darin Adler.

  • page/InspectorController.cpp:

(WebCore::InspectorController::callSimpleFunction): Call callFunction.
(WebCore::InspectorController::callFunction): Extended version of the original
callSimpleFunction, with script function arguments and an exception argument.
(WebCore::InspectorController::focusNode): Use callFunction.
(WebCore::InspectorController::addScriptResource): Ditto.
(WebCore::InspectorController::removeScriptResource): Ditto.
(WebCore::InspectorController::addDatabaseScriptResource): Ditto.
(WebCore::InspectorController::removeDatabaseScriptResource): Ditto.
(WebCore::InspectorController::addScriptConsoleMessage): Ditto.

  • page/InspectorController.h: Add callFunction.
10:45 Changeset [32498] by andersca@apple.com

WebCore:

2008-04-24 Anders Carlsson <andersca@apple.com>

Reviewed by Sam.

Change some String arguments to be const references instead.


  • css/CSSRule.cpp: (WebCore::CSSRule::setCssText):
  • css/CSSRule.h:
  • html/HTMLFormElement.cpp: (WebCore::pathGetFilename):
  • html/HTMLMediaElement.cpp: (WebCore::parseTimeOffset):
  • page/EditorClient.h:
  • platform/SecurityOrigin.cpp: (WebCore::isDefaultPortForProtocol):
  • platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::load):
  • platform/graphics/MediaPlayer.h:
  • rendering/MediaControlElements.cpp: (WebCore::MediaControlInputElement::MediaControlInputElement):
  • rendering/MediaControlElements.h:
  • svg/animation/SVGSMILElement.cpp: (WebCore::SVGSMILElement::Condition::Condition):
  • svg/animation/SVGSMILElement.h:
  • svg/graphics/SVGImageEmptyClients.h: (WebCore::SVGEmptyEditorClient::shouldInsertText):
  • xml/XSLTProcessor.cpp: (WebCore::createFragmentFromSource):

WebKit/gtk:

2008-04-24 Anders Carlsson <andersca@apple.com>

Reviewed by Sam.

Change some String arguments to be const references instead.

  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::EditorClient::shouldInsertText):
  • WebCoreSupport/EditorClientGtk.h:

WebKit/mac:

2008-04-24 Anders Carlsson <andersca@apple.com>

Reviewed by Sam.

Change some String arguments to be const references instead.

  • WebCoreSupport/WebEditorClient.h:
  • WebCoreSupport/WebEditorClient.mm: (WebEditorClient::shouldInsertText):

WebKit/qt:

2008-04-24 Anders Carlsson <andersca@apple.com>

Reviewed by Sam.

Change some String arguments to be const references instead.

  • WebCoreSupport/EditorClientQt.cpp: (WebCore::EditorClientQt::shouldInsertText):
  • WebCoreSupport/EditorClientQt.h:

WebKit/win:

2008-04-24 Anders Carlsson <andersca@apple.com>

Reviewed by Sam.

Change some String arguments to be const references instead.

  • WebCoreSupport/WebEditorClient.cpp: (WebEditorClient::shouldInsertText):
  • WebCoreSupport/WebEditorClient.h:

WebKit/wx:

2008-04-24 Anders Carlsson <andersca@apple.com>

Reviewed by Sam.

Change some String arguments to be const references instead.

  • WebKitSupport/EditorClientWx.cpp: (WebCore::EditorClientWx::shouldInsertText):
  • WebKitSupport/EditorClientWx.h:
10:41 Changeset [32497] by justin.garcia@apple.com

WebCore:

2008-04-24 Justin Garcia <justin.garcia@apple.com>

Reviewed by Darin Adler.

<rdar://problem/5604313> FormatBlock to apply an h1 also inserts a style span around the first letter (16004)


  • editing/TextIterator.cpp: (WebCore::TextIterator::advance): We emit an extra newline when leaving a block element that has atypical margin/padding. When we emit the extra newline, it needs to be positioned after that block's contents, not after the block. This is how we position the first newline, too, since the range for emitted newlines should start where the line break begins visually.

LayoutTests:

2008-04-24 Justin Garcia <justin.garcia@apple.com>

Reviewed by Darin Adler.

<rdar://problem/5604313> FormatBlock leaves first letter incorrectly styled (16004)

  • editing/execCommand/5604313-expected.txt: Added.
  • editing/execCommand/5604313.html: Added.
10:25 Changeset [32496] by andersca@apple.com

2008-04-24 Anders Carlsson <andersca@apple.com>

Reviewed by Adam.

Only avoid implicit entries when doing the initial caching.


  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::didReceiveResponse): (WebCore::ApplicationCacheGroup::startLoadingEntry):
10:20 Changeset [32495] by kmccullough@apple.com

JavaScriptCore:

2008-04-24 Kevin McCullough <kmccullough@apple.com>

Reviewed by Adam and Sam.

-<rdar://problem/5770054> JavaScript profiler (10928)
-Only profile the page group that starts profiling to avoid profiling
tools that shouldn't be profiled unless explicitly requested to.

  • JavaScriptCore.exp: Export new signature.
  • kjs/JSGlobalObject.cpp: Add unique identifiers to the JSGlobalObject. (KJS::JSGlobalObject::init):
  • kjs/JSGlobalObject.h: Ditto. (KJS::JSGlobalObject::setPageGroupIdentifier): (KJS::JSGlobalObject::pageGroupIdentifier):
  • profiler/Profiler.cpp: Check the identifier of the page group of the lexical global exec state and only profile if it matches the given page group identifier. (KJS::Profiler::startProfiling): (KJS::Profiler::willExecute): (KJS::Profiler::didExecute):
  • profiler/Profiler.h: Ditto. (KJS::Profiler::Profiler):

WebCore:

2008-04-24 Kevin McCullough <kmccullough@apple.com>

Reviewed by Adam and Sam.

-<rdar://problem/5770054> JavaScript profiler (10928)
-Only profile the page group that starts profiling to avoid profiling
tools that shouldn't be profiled unless explicitly requested to.

  • bindings/js/kjs_proxy.cpp: When a new global object is created set its page group identifier. (WebCore::KJSProxy::clear): (WebCore::KJSProxy::initScript):
  • page/Console.cpp: When calling console.profile set the identifier of the page group being profiled. (WebCore::Console::profile):
  • page/PageGroup.cpp: Implement unique identifiers. (WebCore::getUniqueIdentifier): (WebCore::PageGroup::PageGroup):
  • page/PageGroup.h: Ditto. (WebCore::PageGroup::identifier):
10:11 Changeset [32494] by ggaren@apple.com

2008-04-24 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Geoffrey Garen.

Bug 18716: SQUIRRELFISH: typeof should return undefined for an undefined variable reference
<https://bugs.webkit.org/show_bug.cgi?id=18716>

This fixes 2 more regression tests.

  • kjs/nodes.cpp: (KJS::TypeOfResolveNode::emitCode):
10:09 SquirrelFish edited by ggaren@apple.com
(diff)
10:05 Changeset [32493] by ggaren@apple.com

2008-04-24 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Put the callee in the call frame.


Necessary in order to support "arguments" and "arguments.callee".

Also fixes a latent GC bug, where an executing function could be
subject to GC if the register holding it were overwritten. Here's
an example that would have caused problems:


function f()
{

Flood the machine stack to eliminate any old pointers to f.
g.call({});


Overwrite f in the register file.
f = 1;

Force a GC.
for (var i = 0; i < 5000; ++i) {

({});

}


Welcome to crash-ville.

}

function g()
{
}

f();

  • VM/Machine.h: Changed the order of arguments to execute(FunctionBodyNode*...) to match the other execute functions.
  • kjs/function.cpp: Updated to match new argument requirements from execute(FunctionBodyNode*...). Renamed newObj to thisObj to match the rest of JavaScriptCore.

SunSpider reports no change.

09:55 Changeset [32492] by sullivan@apple.com

WebCore:

2008-04-24 John Sullivan <sullivan@apple.com>

Mac buid fix

  • page/mac/WebCoreViewFactory.h: add declarations of six new AX methods that were added to LocalizedStrings.h


  • platform/mac/LocalizedStringsMac.mm: (WebCore::AXButtonActionVerb): implement by calling through to WebCoreViewFactory as we do with the other functions here (WebCore::AXRadioButtonActionVerb): ditto (WebCore::AXTextFieldActionVerb): ditto (WebCore::AXCheckedCheckBoxActionVerb): ditto (WebCore::AXUncheckedCheckBoxActionVerb): ditto (WebCore::AXLinkActionVerb): ditto

WebKit/mac:

2008-04-24 John Sullivan <sullivan@apple.com>

Mac build fix


  • WebCoreSupport/WebViewFactory.mm: (-[WebViewFactory AXButtonActionVerb]): implement this method using the text in WebCoreLocalizedStrings.cpp (-[WebViewFactory AXRadioButtonActionVerb]): ditto (-[WebViewFactory AXTextFieldActionVerb]): ditto (-[WebViewFactory AXCheckedCheckBoxActionVerb]): ditto (-[WebViewFactory AXUncheckedCheckBoxActionVerb]): ditto (-[WebViewFactory AXLinkActionVerb]): ditto
09:33 Changeset [32491] by beidson@apple.com

../mac:

2008-04-23 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

In some current work I noticed that when a new Page is created, it is possible that it requires info from its Settings
object before the Settings object is initialized. It seems quite prudent to post the preferences changed notification,
thereby populating the Settings object, immediately after the Page is created.

  • WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): Post the notification right after the Page is created

../win:

2008-04-23 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

In some current work I noticed that when a new Page is created, it is possible that it requires info from its Settings
object before the Settings object is initialized. It seems quite prudent to post the preferences changed notification,
thereby populating the Settings object, immediately after the Page is created.

  • WebView.cpp: (WebView::initWithFrame): Post the notification right after the Page is created
08:23 Changeset [32490] by sullivan@apple.com

2008-04-24 John Sullivan <sullivan@apple.com>

Reviewed by Jess


  • fixed <rdar://problem/5886655> JavaScript input panel automatic resizing doesn't work right with HiDPI
  • Misc/WebNSControlExtras.m: (-[NSControl sizeToFitAndAdjustWindowHeight]): deploy userSpaceScaleFactor when using view distances on the window
07:07 Changeset [32489] by hausmann@webkit.org

Holger Hans Peter Freyther <zecke@selfish.org>

Cosmetic changes to make the code more readable.

-Early exit if we don't have a webview
-handle the empty tooltip and non-empty tooltip case separately

07:07 Changeset [32488] by hausmann@webkit.org

Fix text rendering in -reverse mode on Qt/Mac.

For Font::width() don't use a plain QFontMetrics object but also the properly
setup QTextLayout that has the RTL/LTR force flags set.

07:06 Changeset [32487] by hausmann@webkit.org

Tor Arne Vestbø <tavestbo@trolltech.com>

Don't do anti-aliasing for arcs, lines and rects, but continue to anti-alias
all drawing primitives in the HTML Canvas element.

This speeds up drawing of dashed outlines significantly.

Also preserve the anti-aliasing renderhint for transparency layers and
get rid of the mostly unused device pointer.

06:45 Changeset [32486] by hausmann@webkit.org

Paul Olav Tvete <paul@trolltech.com>

Fix various compiler warnings related to QString(const char *)
construction by using QLatin1String.

06:44 Changeset [32485] by hausmann@webkit.org

Paul Olav Tvete <paul@trolltech.com>

Automatically wrap tooltip text and hide a shown tooltip when it is empty.

QWidget::setTooltip("") will still show the old tooltip for up to 10 seconds.
Workaround as discussed with Matthias.

06:30 Changeset [32484] by hausmann@webkit.org

Morten Johan Sørvig <msorvig@trolltech.com>

Work around QMacStyle bug in repainting the vertical scrollbar.

We draw the scrollbar using HITheme but somehow the translation and the
clipping we previously set using ClipCGContextToRegion is ignored. Drawing
without the translation fixes the clip.

04:20 Changeset [32483] by hausmann@webkit.org

Holger Hans Peter Freyther <zecke@selfish.org>

Allow to disable caching completeley by calling setObjectCacheCapacities(0, 0, 0)

04:20 Changeset [32482] by hausmann@webkit.org

Holger Hans Peter Freyther <zecke@selfish.org>

  • Set an expiration date for local files as we do not know what will happen to these files (in contrast to a http server with max-age and other headers)
  • Remember the time when we started the job and use that for the expiration date
  • QNetworkManager does not handle expiration at all, we might want to set the expiration for all downloads but this will be a performance nightmare.
04:16 Changeset [32481] by hausmann@webkit.org

Fix the Gtk and Qt builds.

Added missing localization stubs for accessibility.

03:35 Changeset [32480] by hausmann@webkit.org

Benjamin Meyer <bmeyer@trolltech.com>

Improve keyboard scrolling

Match Down/Up keys scroll distance with Safari (i.e. faster) and add Home and End shortcuts to scroll to the top/botom.

03:20 Changeset [32479] by hausmann@webkit.org

Olivier Goffart <ogoffart@trolltech.com>

Fix various compiler warnings in the Qt port.

03:20 Changeset [32478] by hausmann@webkit.org

Andre Poenitz <andre.poenitz@trolltech.com>

Removed spurious QHideEvent forward declaration.

02:01 Changeset [32477] by jchaffraix@webkit.org

2008-04-24 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Simon.

Bug 15940: Implement threading API for Qt
https://bugs.webkit.org/show_bug.cgi?id=15940

Original patch by Justin Haygood, tweaked by me.

  • JavaScriptCore.pri:
  • wtf/ThreadingQt.cpp: Added. (WTF::threadMapMutex): (WTF::threadMap): (WTF::establishIdentifierForThread): (WTF::clearThreadForIdentifier): (WTF::threadForIdentifier): (WTF::initializeThreading): (WTF::ThreadPrivate::getReturnValue): (WTF::ThreadPrivate::ThreadPrivate): (WTF::ThreadPrivate::run): (WTF::createThread): (WTF::waitForThreadCompletion): return !res to return 0 on success (to match the pthreads implementation). (WTF::detachThread): (WTF::identifierByQthreadHandle): (WTF::currentThread): (WTF::Mutex::Mutex): (WTF::Mutex::~Mutex): (WTF::Mutex::lock): (WTF::Mutex::tryLock): (WTF::Mutex::unlock): (WTF::ThreadCondition::ThreadCondition): (WTF::ThreadCondition::~ThreadCondition): (WTF::ThreadCondition::wait): (WTF::ThreadCondition::timedWait): (WTF::ThreadCondition::signal):
01:53 Changeset [32476] by hausmann@webkit.org

Tor Arne Vestbø <tavestbo@trolltech.com>

Render text areas using Qt (ensures proper style).

01:53 Changeset [32475] by hausmann@webkit.org

Tor Arne Vestbø <tavestbo@trolltech.com>

Make mouse wheel events over scrollbars behave the same as in Qt, i.e. both
horizontal and vertical wheel events will scroll the view in the orientation
of the scrollbar underneath the cursor.

01:25 Changeset [32474] by jhoneycutt@apple.com

2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Brady.

Implement accDoDefaultAction().

  • AccessibleBase.cpp: (AccessibleBase::accDoDefaultAction): Call the object's performDefaultAction() method. Return S_FALSE if the call returns false, indicating that the object has no default action associated with it.
01:24 Changeset [32473] by jhoneycutt@apple.com

2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Adam.

Don't allow a hit test to return an AccessibilityObject that should be
ignored.

  • page/AccessibilityObject.cpp: (WebCore::AccessibilityObject::doAccessibilityHitTest): If this result object's accessibility is ignored, return the parent unignored object.
01:24 Changeset [32472] by jhoneycutt@apple.com

2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Adam.

Fix a crash when performing a hit test on an AccessibilityObject with
no layer (e.g., an AccessibilityObject for a RenderText object).

  • page/AccessibilityObject.cpp: (WebCore::AccessibilityObject::doAccessibilityHitTest): Added a null check for layer. Removed a null check for m_renderer, which shouldn't occur.
01:23 Changeset [32471] by jhoneycutt@apple.com

2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Adam.

Implement accHitTest().

  • AccessibleBase.cpp: (AccessibleBase::accHitTest): Perform a hit test for a child object. If none is found, report whether the point was within our own bounding box.
01:23 Changeset [32470] by jhoneycutt@apple.com

2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Adam and Darin.

Implement accNavigate().

  • AccessibleBase.cpp: (AccessibleBase::accNavigate): This method navigates between elements, given a start point and a direction. The directions UP, DOWN, LEFT, RIGHT are not are not implemented, matching Mozilla and IE. The directions FIRSTCHILD and LASTCHILD are only allowed from self. NEXT and PREVIOUS are allowed from self or any of our children.
01:22 Changeset [32469] by jhoneycutt@apple.com

2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Adam.

Implement accLocation().

  • AccessibleBase.cpp: (AccessibleBase::accLocation): Report the screen coordinates for the object's bounding box.
01:21 Changeset [32468] by jhoneycutt@apple.com

2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Adam.

Implement contentsToScreen() and screenToContents() on Windows.

  • platform/ScrollView.h: Make these declarations conditional on HAVE(ACCESSIBILITY) instead of PLATFORM(MAC).
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::contentsToScreen): Translate from coordinates relative to the ScrollView to coordinates relative to the screen. Do this by getting the offset of the ScrollView in screen coordinates and moving the rect by this amount. (WebCore::ScrollView::screenToContents): Translate from coordinates relative to the screen to coordinates relative to the ScrollView.
01:20 Changeset [32467] by jhoneycutt@apple.com

2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Adam, Darin, Oliver.

Implement get_accDefaultAction().

  • AccessibleBase.cpp: (AccessibleBase::get_accDefaultAction): Report the result of calling the object's actionVerb method.
  • English.lproj/Localizable.strings: Updated with new strings.
  • WebCoreLocalizedStrings.cpp: (WebCore::AXButtonActionVerb): Return a localized string representing the object's default action. (WebCore::AXRadioButtonActionVerb): Same. (WebCore::AXTextFieldActionVerb): Same. (WebCore::AXCheckedCheckBoxActionVerb): Same (WebCore::AXUncheckedCheckBoxActionVerb): Same. (WebCore::AXLinkActionVerb): Same.
01:19 Changeset [32466] by jhoneycutt@apple.com

2008-04-22 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Adam.

Implement get_accFocus().

  • AccessibleBase.cpp: (AccessibleBase::get_accRole): Remove redundant initialize; VariantInit does this. (AccessibleBase::get_accState): Same. (AccessibleBase::get_accSelection): Relocated next to accSelect(). (AccessibleBase::get_accFocus): If the focused object is this object or a child of this object, report it. Otherwise, report VT_EMPTY.
01:15 Changeset [32465] by christian@webkit.org

Reviewed by Alp Toker.

Emit a warning about an unknown setting only if it is
not a valid property. Otherwise applications can't
subclass WebKitWebSettings to add new properties.

  • webkit/webkitwebview.cpp:
00:55 Changeset [32464] by hausmann@webkit.org

Tor Arne Vestbø <tavestbo@trolltech.com>

Cleaned up copyright headers in the Qt port (removed misplaced class
descriptions and fixed inconsistent whitespace and indentation).

00:44 Changeset [32463] by hausmann@webkit.org

Tor Arne Vestbø <tavestbo@trolltech.com>

Added basic URL guessing to QtLauncher (same as in the demo browser).

00:44 Changeset [32462] by hausmann@webkit.org

Tor Arne Vestbø <tavestbo@trolltech.com>

Disable vanlilla focus rings since Qt provides this as part of the style.

00:38 Changeset [32461] by hausmann@webkit.org

George Staikos <george@staikos.net>

This optimization in BitmapImage::drawPattern for the identity
transform is bogus and causes incorrect results on sites like youtube.

00:31 Changeset [32460] by hausmann@webkit.org

Benjamin Meyer <bmeyer@trolltech.com>

Prevent double deletions of the default web interface.

04/23/08:

22:27 Changeset [32459] by mjs@apple.com

2008-04-23 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej.

Bug 18707: SQUIRRELFISH: eval always performs toString() on its argument
<https://bugs.webkit.org/show_bug.cgi?id=18707>

This fixes 4 more regression tests.

  • VM/Machine.cpp: (KJS::eval):
22:16 Changeset [32458] by mjs@apple.com

2008-04-23 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • fix logic bug in SegmentedVector::grow which would sometimes fail to resize a segment when needed


Fixes 3 JSC tests.

  • VM/SegmentedVector.h: (KJS::SegmentedVector::grow):
21:39 Changeset [32457] by ggaren@apple.com

2008-04-23 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


Degenerate handling of "arguments" as a property of the activation
object. Currently, we just return a vanilla object.


SunSpider reports no change.

Fixes:

ecma_3/Function/regress-94506.js.


Reveals to have been secretly broken:

ecma_3/Function/15.3.4.3-1.js
ecma_3/Function/15.3.4.4-1.js


These tests were passing incorrectly. testkjs creates a global array
named "arguments" to hold command-line arguments. That array was
tricking these tests into thinking that an arguments object with length
0 had been created. Since our new vanilla object shadows the global
property named arguments, that object no longer fools these tests into
passing.


Net change: +1 failing test.

  • kjs/AllInOneFile.cpp: Had to put JSActivation.cpp into AllInOneFile.cpp to solve a surprising 8.6% regression in bitops-3bit-bits-in-byte.
21:29 Changeset [32456] by mitz@apple.com

Rubber-stamped by Dave Hyatt.

  • update computed style results for border-image and mask-image
  • fast/css/computed-style-expected.txt:
  • fast/css/computed-style-without-renderer-expected.txt:
  • svg/css/getComputedStyle-basic-expected.txt:
20:55 Changeset [32455] by kevino@webkit.org

Reviewed by Alp Toker.

Typo fix to restore text entry.

20:39 Changeset [32454] by beidson@apple.com

2008-04-23 Brady Eidson <beidson@apple.com>

Reviewed by Jon Honeycutt

Preparing for making LocalStorageAreas persistent.

Since LocalStorageAreas will need to do a lot of additional work for each of the basic
operations a Storage object supports, this patch makes the API entry points virtual so
LocalStorageArea can override them. The behavior for both Local and Session StorageAreas
is unchanged with this patch, but LocalStorageArea will override them in the future.

  • storage/StorageArea.cpp: Rename the implementations to internalFoo (WebCore::StorageArea::internalLength): (WebCore::StorageArea::internalKey): (WebCore::StorageArea::internalGetItem): (WebCore::StorageArea::internalSetItem): (WebCore::StorageArea::internalRemoveItem): (WebCore::StorageArea::internalContains):
  • storage/StorageArea.h: Call internalFoo variants (WebCore::StorageArea::length): (WebCore::StorageArea::key): (WebCore::StorageArea::getItem): (WebCore::StorageArea::setItem): (WebCore::StorageArea::removeItem): (WebCore::StorageArea::contains):
20:38 Changeset [32453] by mjs@apple.com

2008-04-23 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • save and restore callFrame
  • VM/Machine.cpp: (KJS::slideRegisterWindowForCall): (KJS::Machine::execute): (KJS::Machine::privateExecute):
  • kjs/testkjs.cpp: (main):
20:12 Changeset [32452] by hyatt@apple.com

WebCore:

2008-04-23 David Hyatt <hyatt@apple.com>

Implement getComputedStyle for border-image.

Reviewed by Dan Bernstein

Added fast/css/getComputedStyle-border-image.html

  • css/CSSComputedStyleDeclaration.cpp: (WebCore::): (WebCore::valueForRepeatRule): (WebCore::valueForNinePieceImage): (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

LayoutTests:

2008-04-23 David Hyatt <hyatt@apple.com>

Implement getComputedStyle for -webkit-border-image.

Reviewed by Dan Bernstein

  • fast/css/getComputedStyle-border-image-expected.txt: Added.
  • fast/css/getComputedStyle-border-image.html: Added.
15:55 Changeset [32451] by ggaren@apple.com

2008-04-23 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


Fixed scopes for named function expressions.


Fixes one regression test.


Two changes here:


(1) The function's name is supposed to have attributes DontDelete,
ReadOnly, regardless of the type of code executing.


(2) Push the name object on the function's scope chain, rather than
the ExecState's scope chain because, well, that's where it belongs.

14:41 Changeset [32450] by darin@apple.com

2008-04-22 Darin Adler <darin@apple.com>

Reviewed by Anders.

  • simplify use of HashTraits to prepare for some upcoming hash table changes
  • page/AXObjectCache.h: Removed uneeded AXIDHashTraits, which are no different from the default hash traits for unsigned.
  • page/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::removeAXID): Remove assertion that's already done by HashTable that the value is not the deleted value.
  • platform/graphics/StringTruncator.cpp: Removed unneeded include.
  • svg/SVGFontFaceElement.cpp: Removed unneeded include.
14:41 Changeset [32449] by darin@apple.com

2008-04-22 Darin Adler <darin@apple.com>

Reviewed by Anders.

  • simplify use of HashTraits to prepare for some upcoming hash table changes
  • kjs/SymbolTable.h: Made SymbolTableIndexHashTraits derive from HashTraits<size_t> and specialize only the empty value.
14:19 Changeset [32448] by kevino@webkit.org

wx build fixes. Changing BackgroundLayer -> FillLayer and adding Frame::disconnectPlatformScriptObjects()

14:00 Changeset [32447] by ggaren@apple.com

2008-04-23 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Inlined JSObject::putDirect, for a .4% SunSpider speedup.


I did this as a first step toward removing nodes.cpp from
AllInOneFile.cpp, but I'm putting that larger project aside for now.

13:31 Changeset [32446] by hyatt@apple.com

WebCore:

2008-04-23 David Hyatt <hyatt@apple.com>

Add support for mask-box-image (similar to border-image). This property enables a single image
to overlay the entire mask area (with nine-piece slicing rules similar to border image).

Reviewed by Dan Bernstein

Added inline-mask-overlay.html, block-mask-overlay.html

  • css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  • css/CSSParser.cpp: (WebCore::CSSParser::parseValue): (WebCore::CSSParser::parseBorderImage):
  • css/CSSPropertyNames.in:
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paintMask):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::paintMask):
  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::paintLines):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::paintNinePieceImage): (WebCore::RenderObject::paintBorder):
  • rendering/RenderObject.h:
  • rendering/RenderStyle.cpp: (WebCore::NinePieceImage::operator==):
  • rendering/RenderStyle.h: (WebCore::): (WebCore::NinePieceImage::m_verticalRule): (WebCore::NinePieceImage::horizontalRule): (WebCore::NinePieceImage::verticalRule): (WebCore::RenderStyle::borderImage): (WebCore::RenderStyle::maskOverlayImage): (WebCore::RenderStyle::hasMask): (WebCore::RenderStyle::resetBorderImage): (WebCore::RenderStyle::setBorderImage): (WebCore::RenderStyle::setMaskOverlayImage): (WebCore::RenderStyle::initialNinePieceImage):
  • rendering/RenderTable.cpp: (WebCore::RenderTable::paintMask):
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::paintMask):

LayoutTests:

2008-04-23 David Hyatt <hyatt@apple.com>

Add support for a new mask-box-image property that is analogous to border-image.

Reviewed by Dan Bernstein

  • fast/borders/block-mask-overlay-image.html: Added.
  • fast/borders/inline-mask-overlay-image.html: Added.
  • fast/borders/resources/mask.png: Added.
  • platform/mac/fast/borders/block-mask-overlay-image-expected.checksum: Added.
  • platform/mac/fast/borders/block-mask-overlay-image-expected.png: Added.
  • platform/mac/fast/borders/block-mask-overlay-image-expected.txt: Added.
  • platform/mac/fast/borders/inline-mask-overlay-image-expected.checksum: Added.
  • platform/mac/fast/borders/inline-mask-overlay-image-expected.png: Added.
  • platform/mac/fast/borders/inline-mask-overlay-image-expected.txt: Added.
12:49 Changeset [32445] by mjs@apple.com

2008-04-23 Maciej Stachowiak <mjs@apple.com>

Rubber stamped by Geoff.


  • add OldInterpreterExecState class and use it in dead code


This will allow removing things from the real ExecState class
without having to figure out how to remove all this code without
getting a perf regression.

  • kjs/nodes.cpp: (KJS::ExpressionNode::evaluateToNumber): (KJS::ExpressionNode::evaluateToBoolean): (KJS::ExpressionNode::evaluateToInt32): (KJS::ExpressionNode::evaluateToUInt32): (KJS::Node::setErrorCompletion): (KJS::Node::throwError): (KJS::Node::throwUndefinedVariableError): (KJS::Node::handleException): (KJS::Node::rethrowException): (KJS::BreakpointCheckStatement::execute): (KJS::BreakpointCheckStatement::optimizeVariableAccess): (KJS::NullNode::evaluate): (KJS::FalseNode::evaluate): (KJS::TrueNode::evaluate): (KJS::NumberNode::evaluate): (KJS::NumberNode::evaluateToNumber): (KJS::NumberNode::evaluateToBoolean): (KJS::NumberNode::evaluateToInt32): (KJS::NumberNode::evaluateToUInt32): (KJS::ImmediateNumberNode::evaluate): (KJS::ImmediateNumberNode::evaluateToInt32): (KJS::ImmediateNumberNode::evaluateToUInt32): (KJS::StringNode::evaluate): (KJS::StringNode::evaluateToNumber): (KJS::StringNode::evaluateToBoolean): (KJS::RegExpNode::evaluate): (KJS::ThisNode::evaluate): (KJS::ResolveNode::inlineEvaluate): (KJS::ResolveNode::evaluate): (KJS::ResolveNode::evaluateToNumber): (KJS::ResolveNode::evaluateToBoolean): (KJS::ResolveNode::evaluateToInt32): (KJS::ResolveNode::evaluateToUInt32): (KJS::getSymbolTableEntry): (KJS::ResolveNode::optimizeVariableAccess): (KJS::LocalVarAccessNode::inlineEvaluate): (KJS::LocalVarAccessNode::evaluate): (KJS::LocalVarAccessNode::evaluateToNumber): (KJS::LocalVarAccessNode::evaluateToBoolean): (KJS::LocalVarAccessNode::evaluateToInt32): (KJS::LocalVarAccessNode::evaluateToUInt32): (KJS::getNonLocalSymbol): (KJS::ScopedVarAccessNode::inlineEvaluate): (KJS::ScopedVarAccessNode::evaluate): (KJS::ScopedVarAccessNode::evaluateToNumber): (KJS::ScopedVarAccessNode::evaluateToBoolean): (KJS::ScopedVarAccessNode::evaluateToInt32): (KJS::ScopedVarAccessNode::evaluateToUInt32): (KJS::NonLocalVarAccessNode::inlineEvaluate): (KJS::NonLocalVarAccessNode::evaluate): (KJS::NonLocalVarAccessNode::evaluateToNumber): (KJS::NonLocalVarAccessNode::evaluateToBoolean): (KJS::NonLocalVarAccessNode::evaluateToInt32): (KJS::NonLocalVarAccessNode::evaluateToUInt32): (KJS::ElementNode::optimizeVariableAccess): (KJS::ElementNode::evaluate): (KJS::ArrayNode::optimizeVariableAccess): (KJS::ArrayNode::evaluate): (KJS::ObjectLiteralNode::optimizeVariableAccess): (KJS::ObjectLiteralNode::evaluate): (KJS::PropertyListNode::optimizeVariableAccess): (KJS::PropertyListNode::evaluate): (KJS::PropertyNode::optimizeVariableAccess): (KJS::PropertyNode::evaluate): (KJS::BracketAccessorNode::optimizeVariableAccess): (KJS::BracketAccessorNode::inlineEvaluate): (KJS::BracketAccessorNode::evaluate): (KJS::BracketAccessorNode::evaluateToNumber): (KJS::BracketAccessorNode::evaluateToBoolean): (KJS::BracketAccessorNode::evaluateToInt32): (KJS::BracketAccessorNode::evaluateToUInt32): (KJS::DotAccessorNode::optimizeVariableAccess): (KJS::DotAccessorNode::inlineEvaluate): (KJS::DotAccessorNode::evaluate): (KJS::DotAccessorNode::evaluateToNumber): (KJS::DotAccessorNode::evaluateToBoolean): (KJS::DotAccessorNode::evaluateToInt32): (KJS::DotAccessorNode::evaluateToUInt32): (KJS::ArgumentListNode::optimizeVariableAccess): (KJS::ArgumentListNode::evaluateList): (KJS::ArgumentsNode::optimizeVariableAccess): (KJS::NewExprNode::optimizeVariableAccess): (KJS::NewExprNode::inlineEvaluate): (KJS::NewExprNode::evaluate): (KJS::NewExprNode::evaluateToNumber): (KJS::NewExprNode::evaluateToBoolean): (KJS::NewExprNode::evaluateToInt32): (KJS::NewExprNode::evaluateToUInt32): (KJS::ExpressionNode::resolveAndCall): (KJS::EvalFunctionCallNode::optimizeVariableAccess): (KJS::EvalFunctionCallNode::evaluate): (KJS::FunctionCallValueNode::optimizeVariableAccess): (KJS::FunctionCallValueNode::evaluate): (KJS::FunctionCallResolveNode::optimizeVariableAccess): (KJS::FunctionCallResolveNode::inlineEvaluate): (KJS::FunctionCallResolveNode::evaluate): (KJS::FunctionCallResolveNode::evaluateToNumber): (KJS::FunctionCallResolveNode::evaluateToBoolean): (KJS::FunctionCallResolveNode::evaluateToInt32): (KJS::FunctionCallResolveNode::evaluateToUInt32): (KJS::LocalVarFunctionCallNode::inlineEvaluate): (KJS::LocalVarFunctionCallNode::evaluate): (KJS::LocalVarFunctionCallNode::evaluateToNumber): (KJS::LocalVarFunctionCallNode::evaluateToBoolean): (KJS::LocalVarFunctionCallNode::evaluateToInt32): (KJS::LocalVarFunctionCallNode::evaluateToUInt32): (KJS::ScopedVarFunctionCallNode::inlineEvaluate): (KJS::ScopedVarFunctionCallNode::evaluate): (KJS::ScopedVarFunctionCallNode::evaluateToNumber): (KJS::ScopedVarFunctionCallNode::evaluateToBoolean): (KJS::ScopedVarFunctionCallNode::evaluateToInt32): (KJS::ScopedVarFunctionCallNode::evaluateToUInt32): (KJS::NonLocalVarFunctionCallNode::inlineEvaluate): (KJS::NonLocalVarFunctionCallNode::evaluate): (KJS::NonLocalVarFunctionCallNode::evaluateToNumber): (KJS::NonLocalVarFunctionCallNode::evaluateToBoolean): (KJS::NonLocalVarFunctionCallNode::evaluateToInt32): (KJS::NonLocalVarFunctionCallNode::evaluateToUInt32): (KJS::FunctionCallBracketNode::optimizeVariableAccess): (KJS::FunctionCallBracketNode::evaluate): (KJS::FunctionCallDotNode::optimizeVariableAccess): (KJS::FunctionCallDotNode::inlineEvaluate): (KJS::FunctionCallDotNode::evaluate): (KJS::FunctionCallDotNode::evaluateToNumber): (KJS::FunctionCallDotNode::evaluateToBoolean): (KJS::FunctionCallDotNode::evaluateToInt32): (KJS::FunctionCallDotNode::evaluateToUInt32): (KJS::PostIncResolveNode::optimizeVariableAccess): (KJS::PostIncResolveNode::evaluate): (KJS::PostIncLocalVarNode::evaluate): (KJS::PostDecResolveNode::optimizeVariableAccess): (KJS::PostDecResolveNode::evaluate): (KJS::PostDecLocalVarNode::evaluate): (KJS::PostDecLocalVarNode::inlineEvaluateToNumber): (KJS::PostDecLocalVarNode::evaluateToNumber): (KJS::PostDecLocalVarNode::evaluateToBoolean): (KJS::PostDecLocalVarNode::evaluateToInt32): (KJS::PostDecLocalVarNode::evaluateToUInt32): (KJS::PostfixBracketNode::optimizeVariableAccess): (KJS::PostIncBracketNode::evaluate): (KJS::PostDecBracketNode::evaluate): (KJS::PostfixDotNode::optimizeVariableAccess): (KJS::PostIncDotNode::evaluate): (KJS::PostDecDotNode::evaluate): (KJS::PostfixErrorNode::evaluate): (KJS::DeleteResolveNode::optimizeVariableAccess): (KJS::DeleteResolveNode::evaluate): (KJS::LocalVarDeleteNode::evaluate): (KJS::DeleteBracketNode::optimizeVariableAccess): (KJS::DeleteBracketNode::evaluate): (KJS::DeleteDotNode::optimizeVariableAccess): (KJS::DeleteDotNode::evaluate): (KJS::DeleteValueNode::optimizeVariableAccess): (KJS::DeleteValueNode::evaluate): (KJS::VoidNode::optimizeVariableAccess): (KJS::VoidNode::evaluate): (KJS::TypeOfValueNode::optimizeVariableAccess): (KJS::TypeOfResolveNode::optimizeVariableAccess): (KJS::LocalVarTypeOfNode::evaluate): (KJS::TypeOfResolveNode::evaluate): (KJS::TypeOfValueNode::evaluate): (KJS::PreIncResolveNode::optimizeVariableAccess): (KJS::PreIncLocalVarNode::evaluate): (KJS::PreIncResolveNode::evaluate): (KJS::PreDecResolveNode::optimizeVariableAccess): (KJS::PreDecLocalVarNode::evaluate): (KJS::PreDecResolveNode::evaluate): (KJS::PreIncConstNode::evaluate): (KJS::PreDecConstNode::evaluate): (KJS::PostIncConstNode::evaluate): (KJS::PostDecConstNode::evaluate): (KJS::PrefixBracketNode::optimizeVariableAccess): (KJS::PreIncBracketNode::evaluate): (KJS::PreDecBracketNode::evaluate): (KJS::PrefixDotNode::optimizeVariableAccess): (KJS::PreIncDotNode::evaluate): (KJS::PreDecDotNode::evaluate): (KJS::PrefixErrorNode::evaluate): (KJS::UnaryPlusNode::optimizeVariableAccess): (KJS::UnaryPlusNode::evaluate): (KJS::UnaryPlusNode::evaluateToBoolean): (KJS::UnaryPlusNode::evaluateToNumber): (KJS::UnaryPlusNode::evaluateToInt32): (KJS::UnaryPlusNode::evaluateToUInt32): (KJS::NegateNode::optimizeVariableAccess): (KJS::NegateNode::evaluate): (KJS::NegateNode::evaluateToNumber): (KJS::BitwiseNotNode::optimizeVariableAccess): (KJS::BitwiseNotNode::inlineEvaluateToInt32): (KJS::BitwiseNotNode::evaluate): (KJS::BitwiseNotNode::evaluateToNumber): (KJS::BitwiseNotNode::evaluateToBoolean): (KJS::BitwiseNotNode::evaluateToInt32): (KJS::BitwiseNotNode::evaluateToUInt32): (KJS::LogicalNotNode::optimizeVariableAccess): (KJS::LogicalNotNode::evaluate): (KJS::LogicalNotNode::evaluateToBoolean): (KJS::MultNode::optimizeVariableAccess): (KJS::MultNode::inlineEvaluateToNumber): (KJS::MultNode::evaluate): (KJS::MultNode::evaluateToNumber): (KJS::MultNode::evaluateToBoolean): (KJS::MultNode::evaluateToInt32): (KJS::MultNode::evaluateToUInt32): (KJS::DivNode::optimizeVariableAccess): (KJS::DivNode::inlineEvaluateToNumber): (KJS::DivNode::evaluate): (KJS::DivNode::evaluateToNumber): (KJS::DivNode::evaluateToInt32): (KJS::DivNode::evaluateToUInt32): (KJS::ModNode::optimizeVariableAccess): (KJS::ModNode::inlineEvaluateToNumber): (KJS::ModNode::evaluate): (KJS::ModNode::evaluateToNumber): (KJS::ModNode::evaluateToBoolean): (KJS::ModNode::evaluateToInt32): (KJS::ModNode::evaluateToUInt32): (KJS::throwOutOfMemoryErrorToNumber): (KJS::addSlowCase): (KJS::addSlowCaseToNumber): (KJS::add): (KJS::addToNumber): (KJS::AddNode::optimizeVariableAccess): (KJS::AddNode::evaluate): (KJS::AddNode::inlineEvaluateToNumber): (KJS::AddNode::evaluateToNumber): (KJS::AddNode::evaluateToInt32): (KJS::AddNode::evaluateToUInt32): (KJS::AddNumbersNode::inlineEvaluateToNumber): (KJS::AddNumbersNode::evaluate): (KJS::AddNumbersNode::evaluateToNumber): (KJS::AddNumbersNode::evaluateToInt32): (KJS::AddNumbersNode::evaluateToUInt32): (KJS::AddStringsNode::evaluate): (KJS::AddStringLeftNode::evaluate): (KJS::AddStringRightNode::evaluate): (KJS::SubNode::optimizeVariableAccess): (KJS::SubNode::inlineEvaluateToNumber): (KJS::SubNode::evaluate): (KJS::SubNode::evaluateToNumber): (KJS::SubNode::evaluateToInt32): (KJS::SubNode::evaluateToUInt32): (KJS::LeftShiftNode::optimizeVariableAccess): (KJS::LeftShiftNode::inlineEvaluateToInt32): (KJS::LeftShiftNode::evaluate): (KJS::LeftShiftNode::evaluateToNumber): (KJS::LeftShiftNode::evaluateToInt32): (KJS::LeftShiftNode::evaluateToUInt32): (KJS::RightShiftNode::optimizeVariableAccess): (KJS::RightShiftNode::inlineEvaluateToInt32): (KJS::RightShiftNode::evaluate): (KJS::RightShiftNode::evaluateToNumber): (KJS::RightShiftNode::evaluateToInt32): (KJS::RightShiftNode::evaluateToUInt32): (KJS::UnsignedRightShiftNode::optimizeVariableAccess): (KJS::UnsignedRightShiftNode::inlineEvaluateToUInt32): (KJS::UnsignedRightShiftNode::evaluate): (KJS::UnsignedRightShiftNode::evaluateToNumber): (KJS::UnsignedRightShiftNode::evaluateToInt32): (KJS::UnsignedRightShiftNode::evaluateToUInt32): (KJS::lessThan): (KJS::lessThanEq): (KJS::LessNode::optimizeVariableAccess): (KJS::LessNode::inlineEvaluateToBoolean): (KJS::LessNode::evaluate): (KJS::LessNode::evaluateToBoolean): (KJS::LessNumbersNode::inlineEvaluateToBoolean): (KJS::LessNumbersNode::evaluate): (KJS::LessNumbersNode::evaluateToBoolean): (KJS::LessStringsNode::inlineEvaluateToBoolean): (KJS::LessStringsNode::evaluate): (KJS::LessStringsNode::evaluateToBoolean): (KJS::GreaterNode::optimizeVariableAccess): (KJS::GreaterNode::inlineEvaluateToBoolean): (KJS::GreaterNode::evaluate): (KJS::GreaterNode::evaluateToBoolean): (KJS::LessEqNode::optimizeVariableAccess): (KJS::LessEqNode::inlineEvaluateToBoolean): (KJS::LessEqNode::evaluate): (KJS::LessEqNode::evaluateToBoolean): (KJS::GreaterEqNode::optimizeVariableAccess): (KJS::GreaterEqNode::inlineEvaluateToBoolean): (KJS::GreaterEqNode::evaluate): (KJS::GreaterEqNode::evaluateToBoolean): (KJS::InstanceOfNode::optimizeVariableAccess): (KJS::InstanceOfNode::evaluate): (KJS::InstanceOfNode::evaluateToBoolean): (KJS::InNode::optimizeVariableAccess): (KJS::InNode::evaluate): (KJS::InNode::evaluateToBoolean): (KJS::EqualNode::optimizeVariableAccess): (KJS::EqualNode::inlineEvaluateToBoolean): (KJS::EqualNode::evaluate): (KJS::EqualNode::evaluateToBoolean): (KJS::NotEqualNode::optimizeVariableAccess): (KJS::NotEqualNode::inlineEvaluateToBoolean): (KJS::NotEqualNode::evaluate): (KJS::NotEqualNode::evaluateToBoolean): (KJS::StrictEqualNode::optimizeVariableAccess): (KJS::StrictEqualNode::inlineEvaluateToBoolean): (KJS::StrictEqualNode::evaluate): (KJS::StrictEqualNode::evaluateToBoolean): (KJS::NotStrictEqualNode::optimizeVariableAccess): (KJS::NotStrictEqualNode::inlineEvaluateToBoolean): (KJS::NotStrictEqualNode::evaluate): (KJS::NotStrictEqualNode::evaluateToBoolean): (KJS::BitAndNode::optimizeVariableAccess): (KJS::BitAndNode::evaluate): (KJS::BitAndNode::inlineEvaluateToInt32): (KJS::BitAndNode::evaluateToNumber): (KJS::BitAndNode::evaluateToBoolean): (KJS::BitAndNode::evaluateToInt32): (KJS::BitAndNode::evaluateToUInt32): (KJS::BitXOrNode::optimizeVariableAccess): (KJS::BitXOrNode::inlineEvaluateToInt32): (KJS::BitXOrNode::evaluate): (KJS::BitXOrNode::evaluateToNumber): (KJS::BitXOrNode::evaluateToBoolean): (KJS::BitXOrNode::evaluateToInt32): (KJS::BitXOrNode::evaluateToUInt32): (KJS::BitOrNode::optimizeVariableAccess): (KJS::BitOrNode::inlineEvaluateToInt32): (KJS::BitOrNode::evaluate): (KJS::BitOrNode::evaluateToNumber): (KJS::BitOrNode::evaluateToBoolean): (KJS::BitOrNode::evaluateToInt32): (KJS::BitOrNode::evaluateToUInt32): (KJS::LogicalAndNode::optimizeVariableAccess): (KJS::LogicalAndNode::evaluate): (KJS::LogicalAndNode::evaluateToBoolean): (KJS::LogicalOrNode::optimizeVariableAccess): (KJS::LogicalOrNode::evaluate): (KJS::LogicalOrNode::evaluateToBoolean): (KJS::ConditionalNode::optimizeVariableAccess): (KJS::ConditionalNode::evaluate): (KJS::ConditionalNode::evaluateToBoolean): (KJS::ConditionalNode::evaluateToNumber): (KJS::ConditionalNode::evaluateToInt32): (KJS::ConditionalNode::evaluateToUInt32): (KJS::valueForReadModifyAssignment): (KJS::ReadModifyResolveNode::optimizeVariableAccess): (KJS::AssignResolveNode::optimizeVariableAccess): (KJS::ReadModifyLocalVarNode::evaluate): (KJS::AssignLocalVarNode::evaluate): (KJS::ReadModifyConstNode::evaluate): (KJS::AssignConstNode::evaluate): (KJS::ReadModifyResolveNode::evaluate): (KJS::AssignResolveNode::evaluate): (KJS::AssignDotNode::optimizeVariableAccess): (KJS::AssignDotNode::evaluate): (KJS::ReadModifyDotNode::optimizeVariableAccess): (KJS::ReadModifyDotNode::evaluate): (KJS::AssignErrorNode::evaluate): (KJS::AssignBracketNode::optimizeVariableAccess): (KJS::AssignBracketNode::evaluate): (KJS::ReadModifyBracketNode::optimizeVariableAccess): (KJS::ReadModifyBracketNode::evaluate): (KJS::CommaNode::optimizeVariableAccess): (KJS::CommaNode::evaluate): (KJS::ConstDeclNode::optimizeVariableAccess): (KJS::ConstDeclNode::handleSlowCase): (KJS::ConstDeclNode::evaluateSingle): (KJS::ConstDeclNode::evaluate): (KJS::ConstStatementNode::optimizeVariableAccess): (KJS::ConstStatementNode::execute): (KJS::statementListExecute): (KJS::BlockNode::optimizeVariableAccess): (KJS::BlockNode::execute): (KJS::EmptyStatementNode::execute): (KJS::ExprStatementNode::optimizeVariableAccess): (KJS::ExprStatementNode::execute): (KJS::VarStatementNode::optimizeVariableAccess): (KJS::VarStatementNode::execute): (KJS::IfNode::optimizeVariableAccess): (KJS::IfNode::execute): (KJS::IfElseNode::optimizeVariableAccess): (KJS::IfElseNode::execute): (KJS::DoWhileNode::optimizeVariableAccess): (KJS::DoWhileNode::execute): (KJS::WhileNode::optimizeVariableAccess): (KJS::WhileNode::execute): (KJS::ForNode::optimizeVariableAccess): (KJS::ForNode::execute): (KJS::ForInNode::optimizeVariableAccess): (KJS::ForInNode::execute): (KJS::ContinueNode::execute): (KJS::BreakNode::execute): (KJS::ReturnNode::optimizeVariableAccess): (KJS::ReturnNode::execute): (KJS::WithNode::optimizeVariableAccess): (KJS::WithNode::execute): (KJS::CaseClauseNode::optimizeVariableAccess): (KJS::CaseClauseNode::evaluate): (KJS::CaseClauseNode::executeStatements): (KJS::ClauseListNode::optimizeVariableAccess): (KJS::CaseBlockNode::optimizeVariableAccess): (KJS::CaseBlockNode::executeBlock): (KJS::SwitchNode::optimizeVariableAccess): (KJS::SwitchNode::execute): (KJS::LabelNode::optimizeVariableAccess): (KJS::LabelNode::execute): (KJS::ThrowNode::optimizeVariableAccess): (KJS::ThrowNode::execute): (KJS::TryNode::optimizeVariableAccess): (KJS::TryNode::execute): (KJS::ProgramNode::initializeSymbolTable): (KJS::ScopeNode::optimizeVariableAccess): (KJS::ProgramNode::processDeclarations): (KJS::EvalNode::processDeclarations): (KJS::ProgramNode::execute): (KJS::EvalNode::execute): (KJS::FunctionBodyNodeWithDebuggerHooks::execute): (KJS::FuncDeclNode::execute): (KJS::FuncExprNode::evaluate):
  • kjs/nodes.h: (KJS::Node::): (KJS::FalseNode::): (KJS::TrueNode::): (KJS::ArgumentsNode::):
12:36 Changeset [32444] by oliver@apple.com

Bug 18672: SQUIRRELFISH: codegen fails with a large number of temporaries
<https://bugs.webkit.org/show_bug.cgi?id=18672>

Reviewed by Geoff

Add a SegmentedVector type, which provides a Vector<T> which maintains
existing memory locations during resize. This allows dynamically sizing
local, temporary and label "vectors" in CodeGenerator.

11:25 Changeset [32443] by justin.garcia@apple.com

WebCore:

2008-04-23 Justin Garcia <justin.garcia@apple.com>

Reviewed by Darin Adler.

<rdar://problem/5825350> OWA: Caret disappears when navigating with arrows keys in contenteditable div

  • editing/htmlediting.cpp: (WebCore::firstEditablePositionAfterPositionInRoot): Return a null VisiblePosition if this function moves out of highestRoot. Re-wrote so as to not duplicate code inside and outside of the while loop. (WebCore::lastEditablePositionBeforePositionInRoot): Ditto.

LayoutTests:

2008-04-23 Justin Garcia <justin.garcia@apple.com>

Reviewed by Darin Adler.

<rdar://problem/5825350> OWA: Caret disappears when navigating with arrows keys in contenteditable div

  • editing/selection/5825350-1-expected.txt: Added.
  • editing/selection/5825350-1.html: Added.
  • editing/selection/5825350-2-expected.txt: Added.
  • editing/selection/5825350-2.html: Added.
10:49 Changeset [32442] by pewtermoose@webkit.org

WebCore:

2008-04-23 Daniel Zucker <zucker@wake3.com>

Reviewed by Adam Roben.

Fix build errors needed to compile Curl in Cairo build. Add stubs for
didReceiveAuthenticationChallenge, receivedCredential,
receivedRequestToContinueWithoutCredential, and receivedCancellation.
<https://bugs.webkit.org/show_bug.cgi?id=18468>

  • platform/network/ResourceHandle.h:
  • platform/network/curl/ResourceHandleCurl.cpp: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): (WebCore::ResourceHandle::receivedCredential): (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential): (WebCore::ResourceHandle::receivedCancellation):

WebKit/win:

2008-04-23 Daniel Zucker <zucker@wake3.com>

Reviewed by Adam Roben.

<https://bugs.webkit.org/show_bug.cgi?id=18468>

  • WebError.h: include RetainPtr.h to fix build errors in Cairo build
10:43 Changeset [32441] by pewtermoose@webkit.org

2008-04-23 Daniel Zucker <zucker@wake3.com>

Reviewed by Adam Roben.

Move the location of #if USE(CFNETWORK) to fix a cairo/curl build error.
<https://bugs.webkit.org/show_bug.cgi?id=18470>

  • WebError.cpp: (WebError::sslPeerCertificate):
10:35 Changeset [32440] by aroben@apple.com

Make crashes be reported as crashes, not hangs

Reviewed by David Kilzer.

  • Scripts/run-webkit-tests: (top level): Use the new status field of the output from readFromDumpToolWithTimer to determine if the test crashed or hung. (sub readFromDumpToolWithTimer):
    • If we fail to read a line and $! is not EAGAIN, then we've crashed and should not try to read any more.
    • Changed the timedout field to a more general status field.
09:08 Changeset [32439] by darin@apple.com

2008-04-23 Darin Adler <darin@apple.com>

  • updated a test affected by the addition of mask-composite
  • svg/css/getComputedStyle-basic-expected.txt: Updated.
07:50 Changeset [32438] by mitz@apple.com

WebCore:

Reviewed by Darin Adler.

  • fix a bug where moving forward in bidirectional text skips over the position after the end of the line

Test: editing/selection/move-past-trailing-space.html

  • dom/Position.cpp: (WebCore::Position::upstream): Changed the logic for identifying when a position is after the last character of a text box of a text node that continues on the next line, to make it work correctly when boxes are not laid out in logical order. (WebCore::Position::downstream): Ditto.

LayoutTests:

Reviewed by Darin Adler.

  • test that moving forward through bidirectional text does not skip the position after the last character on the line
  • editing/selection/move-past-trailing-space.html: Added.
  • platform/mac/editing/selection/move-past-trailing-space-expected.checksum: Added.
  • platform/mac/editing/selection/move-past-trailing-space-expected.png: Added.
  • platform/mac/editing/selection/move-past-trailing-space-expected.txt: Added.
07:45 Changeset [32437] by hausmann@webkit.org

Fix compilation against Qt 4.3

07:44 Changeset [32436] by ggaren@apple.com

2008-04-23 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


A little refactoring in preparation for supporting 'arguments'.


Fixes 2 regression tests.

SunSpider reports no change.

We now check the activation register, instead of the codeBlock, to
determine whether we need to tear off the activation. This is to support
"f.arguments", which will create an activation/arguments pair for f,
even though the needsFullScopeChain flag is false for f's codeBlock.


The test fixes resulted from calling initializeCallFrame for re-entrant
function code, instead of initializing (not enough) parts of the call
frame by hand.

07:36 Changeset [32435] by hausmann@webkit.org

Holger Hans Peter Freyther <zecke@selfish.org>

  • Make sure the "Inspect Element" item gets added to the ContextMenu, a call to ContextMenu::populate() is not adding it, the ContextMenuController does add it after the call to populate(). Do that as well.
07:36 Changeset [32434] by hausmann@webkit.org

Brad Hughes <bhughes@trolltech.com>

Fix release build with the intel compiler

Intel compiler can't compile qtwebkit with -O2 or -O1, so we're left with -O0

07:36 Changeset [32433] by hausmann@webkit.org

Simon Hausmann <hausmann@webkit.org>

Fix crashes on window.close().

We should not delete the QWebPage object in the ChromeClient but leave it up to
the application when and whether to delete a browser window. For this we now
emit the windowCloseRequested() signal.

Done with Tor Arne.

07:21 Changeset [32432] by hausmann@webkit.org

Fix parsing of external scripts/stylesheets when using setHtml(const QString &html).

We used to pass the html string to the frameloader in utf-16, which also meant that the default
encoding of external scripts/stylesheets became utf-16. That doesn't make sense, so assume utf-8
by default. This is now also documented.

06:58 Changeset [32431] by hausmann@webkit.org

Holger Hans Peter Freyther <zecke@selfish.org>

Removed the #define for USE_SYSTEM_MALLOC that we set in WebKit.pri
already.

01:31 Changeset [32430] by hausmann@webkit.org

Benjamin Meyer <bmeyer@trolltech.com>

Fixes background color propagation when using a custom QWebPage

Set the palette in setPage(), not during the creation on-demand.

01:26 Changeset [32429] by hausmann@webkit.org

Benjamin Meyer <bmeyer@trolltech.com>

Fix the user agent on the mac to be BSD4

Put Q_OS_DARWIN before Q_OS_BSD4 sense they are both defined on the mac

01:07 Changeset [32428] by hausmann@webkit.org

Added missing copyright notice.
Small fixes to the documentation.

00:49 Changeset [32427] by hausmann@webkit.org

Zack Rusin <zack@tungstengraphics.com>

Added a contentsSize() property.

04/22/08:

21:22 Changeset [32426] by mitz@apple.com

Reviewed by Anders Carlsson.

  • remove unused calls to Position::upstream()
  • editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::insertNodeAfterPosition): (WebCore::InsertLineBreakCommand::insertNodeBeforePosition):
21:19 Changeset [32425] by jhoneycutt@apple.com

2008-04-22 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Sam.

Implement get_accKeyboardShortcut().

  • AccessibleBase.cpp: (AccessibleBase::get_accKeyboardShortcut): Report the key combination that will perform the object's access key action, represented as a string.
21:18 Changeset [32424] by jhoneycutt@apple.com

2008-04-22 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Sam.

Add a method to query which modifier keys the platform uses for access
key actions.

  • page/EventHandler.cpp: (WebCore::EventHandler::handleAccessKey): Bitwise and the event's modifier keys with the platform's access key modifier mask to determine whether this event can perform an access key action.
  • page/EventHandler.h: Added s_accessKeyModifiers, a platform-defined mask of modifier keys used for access key actions, and a getter.
  • page/mac/EventHandlerMac.mm: Use PlatformKeyboardEvent::CtrlKey for access key actions.
  • page/qt/EventHandlerQt.cpp: Same.
  • page/gtk/EventHandlerGtk.cpp: Use AltKey.
  • page/win/EventHandlerWin.cpp: Same.
  • page/wx/EventHandlerWx.cpp: Same.
  • platform/PlatformKeyboardEvent.h: Added an enum, ModifierKey. (WebCore::PlatformKeyboardEvent::): (WebCore::PlatformKeyboardEvent::modifiers): Return which modifier keys were active, a combination of ModifierKey values.
20:58 Changeset [32423] by mjs@apple.com

2008-04-22 Maciej Stachowiak <mjs@apple.com>

Reviewed by Sam.


  • propagate the "this" value properly to local eval


(fixes a measly one regression test)

  • VM/CodeBlock.h: (KJS::CodeBlock::CodeBlock): (KJS::ProgramCodeBlock::ProgramCodeBlock): (KJS::EvalCodeBlock::EvalCodeBlock):
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
20:52 Changeset [32422] by weinig@apple.com

2008-04-22 Sam Weinig <sam@webkit.org>

Reviewed by Maciej Stachowiak.

Make the KJSProxy and FrameLoader member variables instead of pointers
in FramePrivate in a bid to do a little clean up before the last of the
split window patches. Also, make the KJSProxy not lazily created, as the
real benefit comes from lazily creating the JSDOMWindowWrapper, which we
still do.

  • page/Frame.cpp: (WebCore::Frame::~Frame): (WebCore::Frame::init): (WebCore::Frame::loader): (WebCore::Frame::scriptProxy): (WebCore::Frame::document): (WebCore::Frame::setDocument): (WebCore::Frame::clearScriptProxy): (WebCore::Frame::pageDestroyed): (WebCore::FramePrivate::FramePrivate): (WebCore::FramePrivate::~FramePrivate):
  • page/FramePrivate.h:
20:42 Changeset [32421] by mitz@apple.com

WebCore:

2008-04-22 Anatoli Papirovski <apapirovski@mac.com>

Reviewed by Dan Bernstein.

  • fix https://bugs.webkit.org/show_bug.cgi?id=18584 border-color, outline-color, column-color, -webkit-text-stroke-color, and -webkit-text-fill-color inheritance to correctly use parent's color if the parent's corresponding (border, outline, etc.)-color property wasn't set.

Test: fast/borders/border-color-inherit.html

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty):

LayoutTests:

2008-04-22 Anatoli Papirovski <apapirovski@mac.com>

Reviewed by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=18584
Add a test case for border-color inheritance.

  • fast/borders/border-color-inherit.html: Added.
  • platform/mac/fast/borders/border-color-inherit-expected.checksum: Added.
  • platform/mac/fast/borders/border-color-inherit-expected.png: Added.
  • platform/mac/fast/borders/border-color-inherit-expected.txt: Added.
20:14 Changeset [32420] by alp@webkit.org

2008-04-22 Alp Toker <alp@nuanti.com>

GTK+ debug build fix for changes in r32257.

  • GNUmakefile.am:
20:13 Changeset [32419] by mjs@apple.com

2008-04-22 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej.

Add support for function declarations in eval code.

(this fixes 12 more regression tests)


  • VM/CodeBlock.h:
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::CodeGenerator):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::execute):
  • kjs/nodes.cpp: (KJS::EvalNode::generateCode):
19:15 Changeset [32418] by alp@webkit.org

2008-04-22 Alp Toker <alp@nuanti.com>

Rubber-stamped by Dave Hyatt.

Move GraphicsContext::clipToImageBuffer() notImplemented() stub to
GraphicsContextCairo.

  • platform/graphics/GraphicsContext.cpp:
  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::clipToImageBuffer):
19:13 Changeset [32417] by hyatt@apple.com

WebCore:

2008-04-22 David Hyatt <hyatt@apple.com>

Add support for mask-composite to match background-composite.

Reviewed by Sam Weinig

Added fast/backgrounds/mask-composite.html

  • css/CSSComputedStyleDeclaration.cpp: (WebCore::): (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  • css/CSSParser.cpp: (WebCore::CSSParser::parseValue): (WebCore::CSSParser::parseFillProperty):
  • css/CSSPropertyNames.in:
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paintMask):

LayoutTests:

2008-04-22 David Hyatt <hyatt@apple.com>

Add support for mask-composite.

Reviewed by Sam Weinig

  • fast/backgrounds/mask-composite.html: Added.
  • fast/backgrounds/resources/mask-bottom-left.png: Added.
  • fast/backgrounds/resources/mask-bottom-right.png: Added.
  • fast/backgrounds/resources/mask-bottom.png: Added.
  • fast/backgrounds/resources/mask-center.png: Added.
  • fast/backgrounds/resources/mask-left.png: Added.
  • fast/backgrounds/resources/mask-right.png: Added.
  • fast/backgrounds/resources/mask-top-left.png: Added.
  • fast/backgrounds/resources/mask-top-right.png: Added.
  • fast/backgrounds/resources/mask-top.png: Added.
  • platform/mac/fast/backgrounds/mask-composite-expected.checksum: Added.
  • platform/mac/fast/backgrounds/mask-composite-expected.png: Added.
  • platform/mac/fast/backgrounds/mask-composite-expected.txt: Added.
17:45 Changeset [32416] by hyatt@apple.com

2008-04-22 David Hyatt <hyatt@apple.com>

Fix for bug 18688, background-color stopped painting on inlines. Fix a virtual function
misnaming that led to the derived class not getting called properly.

Reviewed by Mark Rowe

  • ChangeLog:
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paintFillLayer):
  • rendering/RenderObject.h: (WebCore::RenderObject::paintFillLayerExtended):
17:21 Changeset [32415] by mjs@apple.com

2008-04-22 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Oliver.

Implement LabelNode.

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::pushJumpContext): (KJS::CodeGenerator::jumpContextForContinue): (KJS::CodeGenerator::jumpContextForBreak):
  • VM/CodeGenerator.h:
  • kjs/nodes.cpp: (KJS::DoWhileNode::emitCode): (KJS::WhileNode::emitCode): (KJS::ForNode::emitCode): (KJS::ForInNode::emitCode): (KJS::ContinueNode::emitCode): (KJS::BreakNode::emitCode): (KJS::SwitchNode::emitCode): (KJS::LabelNode::emitCode):
17:16 Changeset [32414] by hyatt@apple.com

Add new layout test results.

17:13 Changeset [32413] by beidson@apple.com

2008-04-22 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

<rdar://problem/5733282> and https://bugs.webkit.org/show_bug.cgi?id=18680
Always loads default shortcut icon URL when an external <script> is referenced before the icon URL is set.

  • dom/Document.cpp: (WebCore::Document::implicitClose): Call FrameLoader->startIconLoader() here, when the document is finished parsing.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::endIfNotLoadingMainResource): Don't start the icon load here, when the document is finished parsing. This was often too early, as document parsing may be blocked on an external script and therefore the correct iconURL is not set yet. The isLoadingFromCachedPage() check was when we started the icon load based on *loading* instead parsing, and is now irrelevant.
  • loader/FrameLoader.h: Make startIconLoader() public
16:52 Changeset [32412] by antti@apple.com

2008-04-22 Antti Koivisto <antti@apple.com>

Update SVG animation test results.

  • platform/mac/svg/W3C-SVG-1.1/animate-elem-33-t-expected.txt:
16:51 Changeset [32411] by antti@apple.com

2008-04-22 Antti Koivisto <antti@apple.com>

Reviewed by Oliver.

Support keyPoints attribute of <animateMotion>.


Tested by SVG test suite test
animate-elem-33-t.svg

  • svg/SVGAnimateMotionElement.cpp: (WebCore::SVGAnimateMotionElement::parseMappedAttribute):
  • svg/SVGAnimationElement.cpp: (WebCore::parseKeyTimes): (WebCore::SVGAnimationElement::parseMappedAttribute): (WebCore::SVGAnimationElement::calculatePercentForSpline): (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints): (WebCore::SVGAnimationElement::currentValuesFromKeyPoints): (WebCore::SVGAnimationElement::currentValuesForValuesAnimation): (WebCore::SVGAnimationElement::startedActiveInterval): (WebCore::SVGAnimationElement::updateAnimation):
  • svg/SVGAnimationElement.h:
15:37 Changeset [32410] by ggaren@apple.com

2008-04-22 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Fixed crash when unwinding from exceptions inside eval.

  • VM/Machine.cpp: (KJS::Machine::unwindCallFrame): Don't assume that the top of the current call frame's scope chain is an activation: it can be the global object, instead.
15:34 Changeset [32409] by mjs@apple.com

2008-04-22 Maciej Stachowiak <mjs@apple.com>

Reviewed by Geoff.

  • kjs/testkjs.cpp: (main): Convert signals to exit codes, so that crashing tests are detected as regression test failures.
14:49 Changeset [32408] by zecke@webkit.org

2008-04-22 Holger Hans Peter Freyther <zecke@selfish.org>

Unreviewed build fix.

Update WebKit.qrc to catch up with the addition and removal of images
from page/inspector/Images in recent commits.

  • page/inspector/WebKit.qrc:
14:44 Changeset [32407] by ddkilzer@apple.com

Bug 18683: update-webkit returns 0 even if it fails

<https://bugs.webkit.org/show_bug.cgi?id=18683>

Reviewed by Mitz Pettel.

  • Scripts/update-webkit: (runSvnUpdate): Die if close() fails.
14:40 Changeset [32406] by hyatt@apple.com

WebCore:

2008-04-22 David Hyatt <hyatt@apple.com>

Fix for <rdar://5589634>.

Implement CSS alpha masks. The syntax is very similar to that used for backgrounds. Multiple mask images
can be specified, and each one can be tiled, positioned, etc. The following new properties have been
added (all of which are analogous to their background-* counterparts).

mask, mask-image, mask-clip, mask-origin, mask-repeat, mask-attachment, mask-position

The alpha values in the final composite image are used to determine how the mask applies (alpha of 1 = show,
alpha of 0 = don't show).

SVG images and CSS gradients can also be used as masks.

Reviewed by Dan

Added fast/backgrounds/repeat/mask-negative-offset-repeat.html, fast/backgrounds/svg-as-mask.html

  • css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::getPropertyValue): (WebCore::initShorthandMap):
  • css/CSSParser.cpp: (WebCore::CSSParser::parseFillProperty): (WebCore::CSSParser::parseTransformOrigin):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle): (WebCore::CSSStyleSelector::applyProperty):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paint): (WebCore::InlineFlowBox::paintFillLayers): (WebCore::InlineFlowBox::paintFillLayer): (WebCore::InlineFlowBox::paintBoxDecorations): (WebCore::InlineFlowBox::paintMask):
  • rendering/InlineFlowBox.h:
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::paint): (WebCore::RenderBlock::paintObject):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::paintRootBoxDecorations): (WebCore::RenderBox::paintBoxDecorations): (WebCore::RenderBox::paintMask): (WebCore::RenderBox::paintFillLayers): (WebCore::RenderBox::paintFillLayer): (WebCore::RenderBox::paintFillLayerExtended):
  • rendering/RenderBox.h:
  • rendering/RenderFieldset.cpp: (WebCore::RenderFieldset::paintBoxDecorations): (WebCore::RenderFieldset::paintMask):
  • rendering/RenderFieldset.h:
  • rendering/RenderInline.cpp: (WebCore::RenderInline::requiresLayer):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::isTransparent): (WebCore::RenderLayer::paintLayer):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::requiresLayer): (WebCore::mustRepaintFillLayers): (WebCore::RenderObject::mustRepaintBackgroundOrBorder): (WebCore::RenderObject::setStyle): (WebCore::RenderObject::updateFillImages):
  • rendering/RenderObject.h: (WebCore::): (WebCore::RenderObject::hasMask): (WebCore::RenderObject::paintMask): (WebCore::RenderObject::paintFillExtended):
  • rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::paint):
  • rendering/RenderStyle.cpp: (WebCore::FillLayer::FillLayer): (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
  • rendering/RenderStyle.h: (WebCore::FillLayer::initialFillComposite): (WebCore::FillLayer::initialFillSize): (WebCore::FillLayer::FillLayer): (WebCore::RenderStyle::hasMask):
  • rendering/RenderTable.cpp: (WebCore::RenderTable::paint): (WebCore::RenderTable::paintBoxDecorations): (WebCore::RenderTable::paintMask):
  • rendering/RenderTable.h:
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::requiresLayer): (WebCore::RenderTableCell::paintBackgroundsBehindCell): (WebCore::RenderTableCell::paintMask):
  • rendering/RenderTableCell.h:
  • rendering/RenderWidget.cpp: (WebCore::RenderWidget::paint):
  • svg/graphics/SVGImage.cpp: (WebCore::SVGImage::draw): (WebCore::SVGImage::dataChanged):

LayoutTests:

2008-04-22 David Hyatt <hyatt@apple.com>

Add support for CSS alpha masks. Test cases.

Reviewed by Dan

  • fast/backgrounds/repeat/mask-negative-offset-repeat.html: Added.
  • fast/backgrounds/repeat/resources/white.gif: Added.
  • fast/backgrounds/svg-as-mask.html: Added.
14:38 Changeset [32405] by weinig@apple.com

2008-04-22 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Make DOMAbstractView have a weak reference to the Frame instead of ref'ing
the DOMWindow.

To ensure that the WindowScriptObject (which is a DOMAbstractView) stays valid
after a navigation once the split window is completed, the DOMAbstractView must
wrap the Frame instead of a DOMWindow since the DOMWindow will change.

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/objc/DOMAbstractView.mm: Added. (-[DOMAbstractView dealloc]): (-[DOMAbstractView finalize]): (-[DOMAbstractView document]): (-[DOMAbstractView _disconnectFrame]): (-[DOMAbstractView WebCore::]): (-[DOMAbstractView _initWithFrame:WebCore::]): (+[DOMAbstractView _wrapAbstractView:WebCore::]): Add custom implementation to implement weak reference semantics.
  • bindings/objc/DOMAbstractViewFrame.h: Added. Declare the [DOMAbstractView _disconectFrame] selector.
  • bindings/objc/DOMInternal.h: Remove DOMRGBColor Internal category since it is now generated.
  • bindings/objc/DOMUtility.mm: (KJS::createDOMWrapper): Don't ever create a DOMAbstractView from a JSDOMWindow, only from JSDOMWindowWrapper.
  • bindings/scripts/CodeGeneratorObjC.pm: Generate internal header for IDLs that want custom implementations.
  • css/RGBColor.idl: Make this a PODType as it really is in the implementation.
  • page/AbstractView.idl: This now needs a custom objective-c binding implementation.
  • page/Frame.cpp: (WebCore::Frame::~Frame): disconnect the weak frame reference in the WindowScriptObject.
  • page/Frame.h:
  • page/gtk/FrameGtk.cpp: (WebCore::Frame::disconnectPlatformScriptObjects): Dummy implementation.
  • page/mac/FrameMac.mm: (WebCore::Frame::windowScriptObject): ASSERT that the windowScriptObject is a DOMAbstractView. (WebCore::Frame::disconnectPlatformScriptObjects): Disconnect the frame pointer from the windowScriptObject.
  • page/qt/FrameQt.cpp: (WebCore::Frame::disconnectPlatformScriptObjects): Dummy implementation.
  • page/win/FrameWin.cpp: (WebCore::Frame::disconnectPlatformScriptObjects): Ditto.
14:21 Changeset [32404] by ggaren@apple.com

2008-04-22 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt and Maciej Stachowiak.


Renamed "needsActivation" to "needsFullScopeChain" because lying will
make hair grow on the backs of your hands.

13:45 Changeset [32403] by mitz@apple.com

Fix typo in ChangeLog.

13:42 Changeset [32402] by mitz@apple.com

WebCore:

Reviewed by Sam Weinig.

  • rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): Make sure to give the trailing white space a bidi level consistent with its position.

LayoutTests:

Reviewed by Sam Weinig.

  • updated results with the trailing space having the right directionality
  • platform/mac/fast/text/trailing-white-space-2-expected.txt:
11:52 Changeset [32401] by timothy@apple.com

Remove many unused Web Inspector images.

Rubber-stamped by Adam Roben and Sam Weinig.

  • page/inspector/Images/attachedShadow.png: Removed.
  • page/inspector/Images/backNormal.png: Removed.
  • page/inspector/Images/bottomShadow.png: Removed.
  • page/inspector/Images/breadcrumbBackground.png: Removed.
  • page/inspector/Images/console.png: Removed.
  • page/inspector/Images/databaseBrowserViewNormal.png: Removed.
  • page/inspector/Images/databaseBrowserViewNormalSelected.png: Removed.
  • page/inspector/Images/databaseBrowserViewSmall.png: Removed.
  • page/inspector/Images/databaseBrowserViewSmallSelected.png: Removed.
  • page/inspector/Images/databaseQueryViewNormal.png: Removed.
  • page/inspector/Images/databaseQueryViewNormalSelected.png: Removed.
  • page/inspector/Images/databaseQueryViewSmall.png: Removed.
  • page/inspector/Images/databaseQueryViewSmallSelected.png: Removed.
  • page/inspector/Images/disclosureDownPressed.png: Removed.
  • page/inspector/Images/disclosureRightDown.png: Removed.
  • page/inspector/Images/disclosureRightPressed.png: Removed.
  • page/inspector/Images/document.png: Removed.
  • page/inspector/Images/domViewNormal.png: Removed.
  • page/inspector/Images/domViewNormalSelected.png: Removed.
  • page/inspector/Images/domViewSmall.png: Removed.
  • page/inspector/Images/domViewSmallSelected.png: Removed.
  • page/inspector/Images/downTriangle.png: Removed.
  • page/inspector/Images/folder.png: Removed.
  • page/inspector/Images/forwardNormal.png: Removed.
  • page/inspector/Images/gradient.png: Removed.
  • page/inspector/Images/gradientHighlight.png: Removed.
  • page/inspector/Images/gradientHighlightBottom.png: Removed.
  • page/inspector/Images/hideStatusWidget.png: Removed.
  • page/inspector/Images/hideStatusWidgetPressed.png: Removed.
  • page/inspector/Images/network.png: Removed.
  • page/inspector/Images/plainDocument.png: Removed.
  • page/inspector/Images/popupArrows.png: Removed.
  • page/inspector/Images/popupArrowsBlack.png: Removed.
  • page/inspector/Images/reload.png: Removed.
  • page/inspector/Images/rightTriangle.png: Removed.
  • page/inspector/Images/showStatusWidget.png: Removed.
  • page/inspector/Images/showStatusWidgetPressed.png: Removed.
  • page/inspector/Images/sidbarItemBackground.png: Removed.
  • page/inspector/Images/sidebarActionWidget.png: Removed.
  • page/inspector/Images/sidebarActionWidgetPressed.png: Removed.
  • page/inspector/Images/sidebarAttachWidget.png: Removed.
  • page/inspector/Images/sidebarAttachWidgetPressed.png: Removed.
  • page/inspector/Images/sidebarDetachWidget.png: Removed.
  • page/inspector/Images/sidebarDetachWidgetPressed.png: Removed.
  • page/inspector/Images/sidebarResizeWidget.png: Removed.
  • page/inspector/Images/sidebarStatusAreaBackground.png: Removed.
  • page/inspector/Images/sourceViewNormal.png: Removed.
  • page/inspector/Images/sourceViewNormalSelected.png: Removed.
  • page/inspector/Images/sourceViewSmall.png: Removed.
  • page/inspector/Images/sourceViewSmallSelected.png: Removed.
  • page/inspector/Images/tab.png: Removed.
  • page/inspector/Images/tabSelected.png: Removed.
  • page/inspector/Images/toggleDown.png: Removed.
  • page/inspector/Images/toggleUp.png: Removed.
  • page/inspector/Images/toolbarButtonNormal.png: Removed.
  • page/inspector/Images/toolbarButtonNormalInactive.png: Removed.
  • page/inspector/Images/toolbarButtonNormalPressed.png: Removed.
  • page/inspector/Images/toolbarButtonNormalSelected.png: Removed.
  • page/inspector/Images/toolbarButtonNormalSelectedInactive.png: Removed.
  • page/inspector/Images/toolbarButtonSmall.png: Removed.
  • page/inspector/Images/toolbarButtonSmallInactive.png: Removed.
  • page/inspector/Images/toolbarButtonSmallPressed.png: Removed.
  • page/inspector/Images/toolbarButtonSmallSelected.png: Removed.
  • page/inspector/Images/toolbarButtonSmallSelectedInactive.png: Removed.
  • page/inspector/Images/toolbarPopupButtonNormal.png: Removed.
  • page/inspector/Images/toolbarPopupButtonNormalInactive.png: Removed.
  • page/inspector/Images/toolbarPopupButtonNormalPressed.png: Removed.
  • page/inspector/Images/toolbarPopupButtonSmall.png: Removed.
  • page/inspector/Images/toolbarPopupButtonSmallInactive.png: Removed.
  • page/inspector/Images/toolbarPopupButtonSmallPressed.png: Removed.
  • page/inspector/Images/toolbarSplitButtonDividerNormal.png: Removed.
  • page/inspector/Images/toolbarSplitButtonDividerNormalInactive.png: Removed.
  • page/inspector/Images/toolbarSplitButtonDividerSmall.png: Removed.
  • page/inspector/Images/toolbarSplitButtonDividerSmallInactive.png: Removed.
  • page/inspector/Images/treeLeftTriangleBlack.png: Removed.
11:29 Changeset [32400] by andersca@apple.com

WebCore:

2008-04-22 Anders Carlsson <andersca@apple.com>

Reviewed by Darin.

Add NPN_Construct and NPN_PluginThreadAsyncCall declarations.

  • bridge/npapi.h:
  • bridge/npruntime.h:
  • plugins/npfunctions.h:

WebKit/mac:

2008-04-22 Anders Carlsson <andersca@apple.com>

Reviewed by Darin.

Add NPN_Construct and NPN_PluginThreadAsyncCall declarations.


  • Plugins/npfunctions.h:
11:19 Changeset [32399] by ggaren@apple.com

Fixed ChangeLog

10:55 Changeset [32398] by ggaren@apple.com

2008-04-21 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


Fixed ScopeChainNode lifetime problems:


(1) In "with" and "catch" scopes, we would construct a ScopeChain
object and then jump across its destructor, leaking the ScopeChainNode
we had pushed.

(2) In global and eval scopes, we would fail to initially ref
"scopeChain", causing us to overrelease it later. Now that we ref
"scopeChain" properly, we also need to deref it when the script
terminates.

SunSpider reports no change.

10:55 Changeset [32397] by alice.liu@apple.com

WebCore:

2008-04-22 Alice Liu <alice.liu@apple.com>

Reviewed by John Sullivan and Adam Roben.

Test: fast/events/tabindex-focus-chain.html

  • dom/Document.cpp: (WebCore::Document::nextFocusableNode): (WebCore::Document::previousFocusableNode): If the focused node has been removed from the normal tabbing order, advancing focus from this node should advance to the next focusable node in tree order, and not start over at the beginning of the focus chain.

LayoutTests:

2008-04-22 Alice Liu <alice.liu@apple.com>

Reviewed by John Sullivan and Adam Roben.

Test for new behavior when advancing focus from a focusable-by-script node, which now
matches Firefox 2 and 3

  • fast/events/tabindex-focus-chain-expected.txt: Added.
  • fast/events/tabindex-focus-chain.html: Added.
09:54 Changeset [32396] by timothy@apple.com

Adds a debugger toggle button to the scripts status bar that will start
and stop debugging of the inspected page.

Reviewed by Adam Roben.

  • English.lproj/InspectorLocalizedStrings.js: Adds the two new tooltip strings.
  • page/InspectorController.cpp:

(WebCore::debuggerAttached): Call InspectorController::debuggerAttached.
(WebCore::InspectorController::InspectorController): Initialize
m_debuggerAttached to false.
(WebCore::InspectorController::windowScriptObjectAvailable): Add the debuggerAttached
property to the InspectorController class.
(WebCore::InspectorController::startDebuggingAndReloadInspectedPage):
Set m_debuggerAttached to true.
(WebCore::InspectorController::stopDebugging): Set m_debuggerAttached to false.

  • page/InspectorController.h:
  • page/inspector/Images/debuggingButtons.png: Added.
  • page/inspector/ScriptsPanel.js:

(WebInspector.ScriptsPanel): Disable the pause button. Create the debugging
button and setup the id, className and event listener. Call reset.
(WebInspector.ScriptsPanel.prototype.get statusBarItems): Return an array
(WebInspector.ScriptsPanel.prototype.reset): Call _updateDebuggerButtons.
(WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Adjust the title of
the debugging button to match what will happen when clicked. Change the style class,
and toggle the disabled state of the pause button.
(WebInspector.ScriptsPanel.prototype._toggleDebugging): Start or stop debugging
depending on InspectorController.debuggerAttached().

  • page/inspector/inspector.css: Added style rules for the debugger button.
08:19 Changeset [32395] by aroben@apple.com

Change PlatformWheelEvent to use GET_WHEEL_DELTA_WPARAM

Reviewed by Dan Bernstein.

  • platform/win/WheelEventWin.cpp: (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use GET_WHEEL_DELTA_WPARAM, which is documented way of getting the wheel delta (it is equivalent to what we were previously doing, however).
08:05 Changeset [32394] by hausmann@webkit.org

Qt build fix.

Adjust the Qt resource file to removed image files.

06:56 Changeset [32393] by timothy@apple.com

Use CSS gradients to replace many image files in the Web Inspector.

Rubber-stamped by Adam Roben.

  • page/inspector/Images/alternateTableRows.png: Removed.
  • page/inspector/Images/darkShadow.png: Removed.
  • page/inspector/Images/paneHeader.png: Removed.
  • page/inspector/Images/paneHeaderActive.png: Removed.
  • page/inspector/Images/sidebarSelection.png: Removed.
  • page/inspector/Images/sidebarSelectionBackground.png: Removed.
  • page/inspector/Images/sidebarSelectionBackgroundFocused.png: Removed.
  • page/inspector/Images/sidebarSelectionBackgroundInactive.png: Removed.
  • page/inspector/Images/sidebarSelectionBlurred.png: Removed.
  • page/inspector/Images/sidebarSelectionBlurredTall.png: Removed.
  • page/inspector/Images/sidebarSelectionGray.png: Removed.
  • page/inspector/Images/sidebarSelectionGrayTall.png: Removed.
  • page/inspector/Images/sidebarSelectionTall.png: Removed.
  • page/inspector/Images/sidebarSmallSelectionBackground.png: Removed.
  • page/inspector/Images/sidebarSmallSelectionBackgroundFocused.png: Removed.
  • page/inspector/Images/sidebarSmallSelectionBackgroundInactive.png: Removed.
  • page/inspector/Images/toolbarBackground.png: Removed.
  • page/inspector/Images/toolbarBackgroundInactive.png: Removed.
  • page/inspector/inspector.css:
05:46 Changeset [32392] by hausmann@webkit.org

Andre Poenitz <andre.poenitz@trolltech.com>

Remove compiler warnings on string literals used to construct QStrings
in webkit.

04:33 Changeset [32391] by hausmann@webkit.org

Benjamin Meyer <bmeyer@trolltech.com>

Fixes: QWebPage's QNetworkManager's can be shared among webpages.

Don't force the deletion of the object, but let QObject take care of it.

04:27 Changeset [32390] by hausmann@webkit.org

Documentation for QWebPluginFactory and documentation updates for QWebPage.

04:27 Changeset [32389] by hausmann@webkit.org

Simon Hausmann <hausmann@webkit.org>

Added QWebPage::swallowContextMenuEvent and QWebPage::updatePositionDependentActions.

03:56 Changeset [32388] by hausmann@webkit.org

Added Extension APIs for QWebPage.

03:46 Changeset [32387] by hausmann@webkit.org

Tor Arne Vestbø <tavestbo@trolltech.com>

Emit loadProgress() signal on loadStarted().

03:33 Changeset [32386] by hausmann@webkit.org

Zack Rusin <zack@kde.org>

Fix background propagation from the QWebView's palette.

The background brush of the palette needs to be propagated to the WebCore::FrameView.

03:30 Changeset [32385] by hausmann@webkit.org

Benjamin Meyer <bmeyer@trolltech.com>

Fix maps.google.com

We have to include a version in the Safari tag in the user-agent.

03:30 Changeset [32384] by hausmann@webkit.org

Tor Arne Vestbø <tavestbo@trolltech.com>

Fall back to last path component for suggested filename if the HTTP content disposition is not set.

03:14 Changeset [32383] by mjs@apple.com

2008-04-22 Maciej Stachowiak <mjs@apple.com>

Reviewed by Alexey.


  • use global object instead of null for "this" on unqualified calls


This fixes 10 more JSC test regressions.

  • VM/Machine.cpp: (KJS::Machine::privateExecute):
02:36 Changeset [32382] by hausmann@webkit.org

Tor Arne Vestbø <tavestbo@trolltech.com>

Implemented the generation of the title string for images.

02:31 Changeset [32381] by hausmann@webkit.org

Tor Arne Vestbø <tavestbo@trolltech.com>

Add visual focusing hint for clear button and
Change focus to web page after user enters new URL.

01:31 Changeset [32380] by hausmann@webkit.org

Added QWebFrame::hitTestContent() and QWebHitTestResult.

01:31 Changeset [32379] by hausmann@webkit.org

Simon Hausmann <hausmann@webkit.org>

Don't crash if an input method query is done without a page.

01:30 Changeset [32378] by hausmann@webkit.org

Simon Hausmann <hausmann@webkit.org>

Added re-implementations of QObject::event for future safety.

This makes it easier to fix bugs with the event handling even in patch releases
and is a general style we follow in Qt.

01:19 Changeset [32377] by mjs@apple.com

2008-04-22 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • throw proper exceptions for objects that don't implement call or construct


This fixes 21 more JSC test regressions. It is also seemingly an
0.5% progression.

  • VM/ExceptionHelpers.cpp: (KJS::createNotAnObjectError): (KJS::createNotAConstructorError): (KJS::createNotAFunctionError):
  • VM/ExceptionHelpers.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
00:56 Changeset [32376] by hausmann@webkit.org

Benjamin Meyer <bmeyer@trolltech.com>

Fix construction of the user agent.

The user-agent is now composed of

  • the platform and subplatform
  • the Qt version or application name and version (if set)
  • the locale
  • the SSL settings
00:45 Changeset [32375] by hausmann@webkit.org

Thiago Macieira <tjmaciei@trolltech.com>

Fixes: Pedantic compilation fix

Don't put semi-colons after braces closing namespaces.

00:43 Changeset [32374] by hausmann@webkit.org

Qt build fix.

Note: See TracTimeline for information about the timeline view.