Timeline


and

05/07/08:

23:12 SquirrelFishBlockers edited by ggaren@apple.com
(diff)
23:11 Changeset [32971] by ggaren@apple.com
  • 13 edits
    2 adds in branches/squirrelfish/LayoutTests

o2008-05-07 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

Added this test to demonstrate that, for "f(x)", it is correct to evaluate
"x" even if "f" is not a function, and therefore "f(x)" will throw an exception.

  • fast/js/function-argument-evaluation-before-exception-expected.txt: Added.
  • fast/js/function-argument-evaluation-before-exception.html: Added.


These tests now have an extra "access denied" message in them, because
of the behavior change mentioned above.


I also added try/catch clauses to eliminate the "is not object"
exception messages from the test output.


  • http/tests/security/listener/resources/targetChild-JSTargetNode-onclick-addEventListener.html:
  • http/tests/security/listener/resources/targetChild-JSTargetNode-onclick-shortcut.html:
  • http/tests/security/listener/resources/targetChild-XMLHttpRequest-addEventListener.html:
  • http/tests/security/listener/resources/targetChild-XMLHttpRequest-shortcut.html:
  • http/tests/security/listener/resources/targetChild-window-onclick-addEventListener.html:
  • http/tests/security/listener/resources/targetChild-window-onclick-shortcut.html:
  • http/tests/security/listener/xss-JSTargetNode-onclick-addEventListener-expected.txt:
  • http/tests/security/listener/xss-JSTargetNode-onclick-shortcut-expected.txt:
  • http/tests/security/listener/xss-XMLHttpRequest-addEventListener-expected.txt:
  • http/tests/security/listener/xss-XMLHttpRequest-shortcut-expected.txt:
  • http/tests/security/listener/xss-window-onclick-addEventListener-expected.txt:
  • http/tests/security/listener/xss-window-onclick-shortcut-expected.txt:
22:16 SquirrelFishBlockers edited by ggaren@apple.com
(diff)
21:36 Changeset [32970] by ggaren@apple.com
  • 11 edits in branches/squirrelfish/LayoutTests

2008-05-07 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Fixed up a few more tests that depended on the exact text of exception
messages.


  • In these tests, I fixed a bug in frame.html and iframe.html that caused a function to execute too many times.
  • dom/html/level2/html/HTMLFrameElement09-expected.txt:
  • dom/html/level2/html/HTMLIFrameElement11-expected.txt:
  • dom/html/level2/html/resources/frame.html:
  • dom/html/level2/html/resources/iframe.html:
  • I changed these tests to explicitly report exceptions, so their results don't depend on how the engine constructs messages for implicit exceptions:
  • dom/xhtml/level2/html/HTMLDocument17-expected.txt:
  • dom/xhtml/level2/html/HTMLDocument18-expected.txt:
  • dom/xhtml/level2/html/HTMLDocument19-expected.txt:
  • dom/xhtml/level2/html/HTMLDocument20-expected.txt:
  • dom/xhtml/level2/html/HTMLDocument21-expected.txt:
  • dom/xhtml/level2/html/selfxhtml.js:
20:28 Changeset [32969] by slewis@apple.com
  • 2 edits in trunk/LayoutTests

2008-05-07 Stephanie Lewis <slewis@apple.com>

fix messed up result

  • fast/events/onunload-not-on-body-expected.txt:
19:13 Changeset [32968] by weinig@apple.com
  • 5 edits in trunk/WebCore

2008-05-07 Sam Weinig <sam@webkit.org>

Reviewed by Adele Peterson

Update MessageEvent to match the latest version of the HTML5 spec,
adding the lastEventId attribute.

  • dom/MessageEvent.cpp: (WebCore::MessageEvent::MessageEvent): (WebCore::MessageEvent::initMessageEvent):
  • dom/MessageEvent.h: (WebCore::MessageEvent::lastEventId):
  • dom/MessageEvent.idl:
  • page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage):
18:05 Changeset [32967] by slewis@apple.com
  • 4 edits
    2 adds in trunk

2008-05-07 Stephanie Lewis <slewis@apple.com>

Reviewed by Maciej.

remove non-functioning code. If onunload should be fired from these nodes then
a WindowEventListener needs to be set. However, Firefox and IE also do not
fire onunload events for these cases.

Test: fast/events/onunload-not-on-body.html


  • html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::parseMappedAttribute):
  • html/HTMLObjectElement.cpp (WebCore::HTMLObjectElement::parseMappedAttribute):

Test onunload attr on a frame does not call onunload, but that an onunload attr on the body of
a frame does. Also test that onunloads on object elements are not called.

  • fast/events/onunload-not-on-body-expected.txt: Added.
  • fast/events/onunload-not-on-body.html: Added.
13:44 Changeset [32966] by mitz@apple.com
  • 4 edits
    4 adds in trunk

WebCore:

Reviewed by John Sullivan.

Test: fast/dynamic/positioned-movement-with-positioned-children.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutOnlyPositionedObjects): Cover the case of a positioned object that has only moved and has only positioned children that have changed.
  • rendering/RenderObject.h: (WebCore::RenderObject::needsPositionedMovementLayout): Added this accessor.

LayoutTests:

Reviewed by John Sullivan.

  • fast/dynamic/positioned-movement-with-positioned-children.html: Added.
  • platform/mac/fast/dynamic/positioned-movement-with-positioned-children-expected.checksum: Added.
  • platform/mac/fast/dynamic/positioned-movement-with-positioned-children-expected.png: Added.
  • platform/mac/fast/dynamic/positioned-movement-with-positioned-children-expected.txt: Added.
13:41 Changeset [32965] by andersca@apple.com
  • 4 edits in trunk/WebCore

2008-05-07 Anders Carlsson <andersca@apple.com>

Reviewed by John.

When no document loaders are associated with an application cache group,
release the reference to the newest cache group. This prevents reference cycles.


  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::ApplicationCacheGroup): (WebCore::ApplicationCacheGroup::documentLoaderDestroyed): (WebCore::ApplicationCacheGroup::cacheDestroyed):
  • loader/appcache/ApplicationCacheGroup.h:


  • loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::cacheGroupForURL): Return early if the datbase wasn't open.


(WebCore::ApplicationCacheStorage::loadCache):
Add error.

12:42 Changeset [32964] by andersca@apple.com
  • 2 edits in trunk/WebCore

2008-05-07 Anders Carlsson <andersca@apple.com>

Reviewed by Adam.

Don't put pages with an application cache in the BF cache.


  • loader/FrameLoader.cpp: (WebCore::FrameLoader::canCachePage):
11:59 Changeset [32963] by justin.garcia@apple.com
  • 4 edits
    4 adds in trunk

WebCore:

2008-05-07 Justin Garcia <justin.garcia@apple.com>

Reviewed by John Sullivan.

<rdar://problem/5666354> Crashes in Mail at WebCore::RemoveNodeCommand::doApply


When a single tab or series of tabs was copied, we weren't putting them into a
tab span. On Paste, we would be given a text node with a single tab or series
of tabs in it, and we would crash when inserting it at the start of a block
(where that kind of text becomes completely unrendered).

  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds): Clean up correctly and early return if we removed everything that was inserted.
  • editing/markup.cpp: (WebCore::createMarkup): Include the tab span when the only thing copied was a tab or a series of tabs.

LayoutTests:

2008-05-07 Justin Garcia <justin.garcia@apple.com>

Reviewed by John Sullivan.

<rdar://problem/5666354> Crashes in Mail at WebCore::RemoveNodeCommand::doApply

  • editing/pasteboard/5761530-1-expected.txt: Added.
  • editing/pasteboard/5761530-1.html: Added.
  • editing/pasteboard/5761530-2-expected.txt: Added.
  • editing/pasteboard/5761530-2.html: Added.
11:02 Changeset [32962] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2008-05-07 Anders Carlsson <andersca@apple.com>

Reviewed by Mitz.

REGRESSION (3.1.1-TOT): Arrow keys are sticky in Google Maps street view
https://bugs.webkit.org/show_bug.cgi?id=18880
<rdar://problem/5909513>

Stop suspending key up events before calling handleEvent.


  • Plugins/WebNetscapePluginEventHandlerCarbon.mm: (WebNetscapePluginEventHandlerCarbon::sendEvent):
10:33 Changeset [32961] by ddkilzer@apple.com
  • 2 edits in trunk

Added radar to changelog for r32959.

10:16 Changeset [32960] by jchaffraix@webkit.org
  • 6 edits in trunk

2008-05-07 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Adam Roben.

wx & Gtk build fix.

Add SIZE_MAX definition for the wx port.

  • os-win32/stdint.h:

2008-05-07 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Adam Roben.

wx & Gtk build fix.

  • platform/network/curl/FormDataStreamCurl.cpp: Added stdint.h include. We need to define STDC_LIMIT_MACROS to have SIZE_MAX exported.
  • platform/network/curl/FormDataStreamCurl.h: Removed cstdint include (replaced by stdint.h) as it is not present on the build bots.
  • plugins/gtk/PluginDatabaseGtk.cpp: Added missing #endif.
10:11 Changeset [32959] by ddkilzer@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

Bug 18900: Password field has focus but can't type text (i.rememberthemilk.com)
<https://bugs.webkit.org/show_bug.cgi?id=18900>

Original patch by Aaron Golden and Tim Omernick. Reviewed by Adele.

Test: fast/forms/textfield-to-password-on-focus.html

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setInputType): If the current node has focus, call updateFocusAppearance() to make sure its state is correct after changing its type.

LayoutTests:

Bug 18900: Password field has focus but can't type text (i.rememberthemilk.com)
<https://bugs.webkit.org/show_bug.cgi?id=18900>

Reviewed by Adele.

  • fast/forms/textfield-to-password-on-focus-expected.txt: Added.
  • fast/forms/textfield-to-password-on-focus.html: Added.
09:35 Changeset [32958] by cfleizach@apple.com
  • 6 edits in trunk/WebCore

<rdar://problem/4867889> REGRESSION: "Choose File.." buttons are exposed as AXGroup instead of AXButton

07:21 Changeset [32957] by hausmann@webkit.org
  • 2 edits in trunk/LayoutTests

2008-05-07 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon

Add ~250 tests that fail to the skipped list so we have a sane baseline.

06:05 Changeset [32956] by jchaffraix@webkit.org
  • 5 edits
    2 adds in trunk/WebCore

2008-05-07 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric.

Bug 17971: [Curl] FormData processing should be moved to its own class

Move FormData treatment into FormDataStream. The aim is to have FormDataStream behave like a stream that cURL
could manipulate.

First step into having complete file uploading facility in cURL.

No test case as it is only code refactoring.

  • GNUmakefile.am: Add FormDataStreamCurl.cpp
  • platform/network/ResourceHandleInternal.h: Move code to FormStreamDataCurl.h (WebCore::ResourceHandleInternal::ResourceHandleInternal):
  • platform/network/curl/FormDataStreamCurl.cpp: Added. (WebCore::FormDataStream::~FormDataStream): (WebCore::FormDataStream::read):
  • platform/network/curl/FormDataStreamCurl.h: Added. (WebCore::FormDataStream::FormDataStream):
  • platform/network/curl/ResourceHandleCurl.cpp: (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
  • platform/network/curl/ResourceHandleManager.cpp: (WebCore::readCallback): Move code to FormDataStreamCurl.cpp
05:28 Changeset [32955] by hausmann@webkit.org
  • 2 edits in trunk/WebCore

2008-05-07 Adam Treat <treat@kde.org>

Reviewed by Simon.

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

Fixed wrong transform being used for creating the pixmap for a new
transparency layer. This fixes the popup menus on dell.com.

05:10 Changeset [32954] by hausmann@webkit.org
  • 5 edits in trunk/WebCore

2008-05-07 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Simon.

Share the plug-in directories between Gtk and Qt/X11 port.

  • platform/qt/FileSystemQt.cpp: (WebCore::homeDirectoryPath): Implement it for Qt.
  • plugins/PluginDatabase.cpp: (WebCore::addMozillaPluginDirectories): Shared code. (WebCore::PluginDatabase::defaultPluginDirectories): (WebCore::PluginDatabase::isPreferredPluginDirectory): Shared code.
  • plugins/gtk/PluginDatabaseGtk.cpp: (WebCore::PluginDatabase::isPreferredPluginDirectory): Refactored.
  • plugins/qt/PluginDatabaseQt.cpp: Refactored.
04:46 Changeset [32953] by hausmann@webkit.org
  • 3 edits in trunk/WebCore

2008-05-07 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon

Fix build issues on Mac and refeactor the .pro file a bit.

04:45 Changeset [32952] by hausmann@webkit.org
  • 2 edits in trunk/WebCore

2008-05-07 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon

Draw scrollview corners (between scrollbars) using the Qt style.

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

02:50 Changeset [32951] by ddkilzer@apple.com
  • 2 edits in trunk/WebKitTools

Use File::Find and Getopt::Long in make-js-test-wrappers

Reviewed by Darin.

  • Scripts/make-js-test-wrappers:
  • Updated Apple copyright statement.
Added command-line switch parsing and -hhelp switch.
  • Allowed user to pass list of files/directories on which to do a restricted search for TEMPLATE.html files. The default behavior is still to search the entire LayoutTests directory.
  • Removed duplicate 'use strict' statement.
  • Replaced use of find statements with File::Find::find().
  • Remove unneeded chomp() calls now that we use File::Find. (directoryFilter): Added. Filters .svn directories when used with File::Find::find(). (findTemplateFiles): Added. Returns a list of TEMPLATE.html files found.
02:37 Changeset [32950] by hausmann@webkit.org
  • 2 edits in trunk/WebCore

2008-05-07 Simon Hausmann <hausmann@webkit.org>

Fix the Qt build, added AccessibilityListBox and ListBoxOption.cpp to
the build.

02:37 Changeset [32949] by hausmann@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-05-07 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Simon.

Support for isMainThread in the Qt port.

  • wtf/ThreadingQt.cpp: (WTF::initializeThreading): Adjusted. (WTF::isMainThread): Added.
02:36 Changeset [32948] by hausmann@webkit.org
  • 2 edits in trunk/WebCore

2008-05-07 Ariya Hidayat <ariya.hidayat@trolltech.com>

Rubber-stamped by Holger.

Fix building without storage support.

  • page/PageGroup.cpp: (WebCore::PageGroup::closeLocalStorage): proper #if
02:36 Changeset [32947] by hausmann@webkit.org
  • 2 edits in trunk/WebCore

2008-05-07 Ariya Hidayat <ariya.hidayat@trolltech.com>

Rubber-stamped by Oliver Hunt.

Fix building without accessibility.

  • page/AXObjectCache.cpp: (WebCore::AXObjectCache::selectedChildrenChanged): proper #if
02:02 Changeset [32946] by oliver@apple.com
  • 10 edits in branches/squirrelfish/JavaScriptCore

Partial fix for current performance regressions.

Patch from Cameron Zwarich
Reviewed by Oliver

Fix a performance regression caused by the introduction of property
attributes to SymbolTable in r32859 by encoding the attributes and the
register index into a single field of SymbolTableEntry.

This leaves Node::optimizeVariableAccess() definitely broken, although
it was probably not entirely correct in SquirrelFish before this change.

05/06/08:

23:33 Changeset [32945] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Darin Adler.

  • fix <rdar://problem/5914544> Crash in layoutInlineChildren()

Test: fast/block/float/float-on-zero-height-line.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::markLinesDirtyInVerticalRange):

LayoutTests:

Reviewed by Darin Adler.

  • test for <rdar://problem/5914544> Crash in layoutInlineChildren()
  • fast/block/float/float-on-zero-height-line.html: Added.
  • platform/mac/fast/block/float/float-on-zero-height-line-expected.checksum: Added.
  • platform/mac/fast/block/float/float-on-zero-height-line-expected.png: Added.
  • platform/mac/fast/block/float/float-on-zero-height-line-expected.txt: Added.
23:16 Changeset [32944] by slewis@apple.com
  • 3 edits
    2 moves in trunk/WebKit

2008-05-06 Stephanie Lewis <slewis@apple.com>

Reviewed by Andersca.

prepare for plugin fast teardown work - make WebPluginDatabase a objective C++ file.

  • Plugins/WebPluginDatabase.m: Removed.
  • Plugins/WebPluginDatabase.mm: Copied from WebKit/mac/Plugins/WebPluginDatabase.m.
  • Plugins/npapi.m: Removed.
  • Plugins/npapi.mm: Copied from WebKit/mac/Plugins/npapi.m.

prepare for plugin fast teardown work - make WebPluginDatabase a objective C++ file.

  • WebKit.xcodeproj/project.pbxproj:
22:35 Changeset [32943] by alice.liu@apple.com
  • 11 edits in trunk

WebCore:

2008-05-06 Alice Liu <alice.liu@apple.com>

Reviewed by Adele Peterson and John Sullivan.

changes needed to build on Windows after r32911 and r32927

  • WebCore.vcproj/WebCore.vcproj:
  • page/AXObjectCache.cpp: (WebCore::AXObjectCache::selectedChildrenChanged):
  • page/AccessibilityObject.h: (WebCore::AccessibilityObject::document): (WebCore::AccessibilityObject::topDocumentFrameView): (WebCore::AccessibilityObject::documentFrameView):
  • page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::document): (WebCore::AccessibilityRenderObject::topDocumentFrameView): (WebCore::AccessibilityRenderObject::documentFrameView):
  • page/AccessibilityRenderObject.h:
  • page/mac/AXObjectCacheMac.mm:
  • page/mac/AccessibilityObjectWrapper.mm: (-[AccessibilityObjectWrapper position]): (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):

WebKit/win:

2008-05-06 Alice Liu <alice.liu@apple.com>

Reviewed by Adele Peterson and John Sullivan.

changes needed to build on Windows after r32911 and r32927

  • AccessibleBase.cpp: (AccessibleBase::get_accParent):
  • AccessibleDocument.cpp: (AccessibleDocument::document):
22:31 Changeset [32942] by beidson@apple.com
  • 5 edits in trunk/WebCore

2008-05-06 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

Fix a few bugs with the final sync'ing of LocalStorageAreas when the thread is shut down.
1 - A sync task actually needs to be scheduled for each LocalStorageArea when the shut down occurs.
2 - Pending sync timers all need to be cancelled.

  • storage/LocalStorage.cpp: (WebCore::LocalStorage::storageArea): (WebCore::LocalStorage::close): Tell each LocalStorageArea to schedule it's final sync before scheduling thread termination.
  • storage/LocalStorage.h: Change the map to be of LocalStorageAreas instead of StorageAreas
  • storage/LocalStorageArea.cpp: (WebCore::LocalStorageArea::LocalStorageArea): (WebCore::LocalStorageArea::~LocalStorageArea): ASSERT the timer has been cancelled, but make SURE it is in release builds. (WebCore::LocalStorageArea::scheduleFinalSync): Cancel the sync timer, schedule the final sync, and set the "final sync scheduled" flag (WebCore::LocalStorageArea::scheduleItemForSync): ASSERT that the final sync hasn't already been scheduled (WebCore::LocalStorageArea::scheduleClear): Ditto
  • storage/LocalStorageArea.h:
21:42 Changeset [32941] by kevino@webkit.org
  • 2 edits in trunk/WebCore

wx build fix. Adding files added in r32925 to the bakefiles.

21:10 Changeset [32940] by mjs@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-05-06 Maciej Stachowiak <mjs@apple.com>

Rubber stamped by Oliver.


  • add missing ! in an assert that I failed to reverse
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::CodeGenerator):
21:01 Changeset [32939] by ggaren@apple.com
  • 282 edits in branches/squirrelfish/LayoutTests

2008-05-06 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

To facilitate merging between the squirrelfish branch and trunk, I
edited a bunch of layout tests to make sure their results don't depend
on the exact text of an exception message generated by the JavaScript engine.

(We do want to test JavaScript exception messages -- we just don't want
to test them 300 times over, in tests that aren't supposed to be about
JavaScript at all.)

  • I fixed bugs that were causing these tests to throw exceptions by accident, and updated results to reflect correct behavior:


  • editing/selection/contenteditable-click-inside.html:
  • platform/mac/editing/selection/contenteditable-click-inside-expected.checksum:
  • platform/mac/editing/selection/contenteditable-click-inside-expected.png:
  • platform/mac/editing/selection/contenteditable-click-inside-expected.txt:
  • editing/selection/contenteditable-click-outside.html:
  • platform/mac/editing/selection/contenteditable-click-outside-expected.checksum:
  • platform/mac/editing/selection/contenteditable-click-outside-expected.png:
  • platform/mac/editing/selection/contenteditable-click-outside-expected.txt:
  • fast/forms/selected-index-assert.html:
  • fast/forms/selected-index-assert-expected.txt:
  • tables/mozilla_expected_failures/core/captions1.html:
  • platform/mac/tables/mozilla_expected_failures/core/captions1-expected.txt:
  • I changed these tests to explicitly throw/report exceptions, so their results don't depend on how the engine constructs messages for implicit exceptions:
  • fast/xpath/nsresolver-exception.xhtml:
  • fast/xpath/nsresolver-exception-expected.txt:
  • platform/mac/fast/AppleScript/001.html:
  • platform/mac/fast/AppleScript/001-expected.txt:


  • dom/xhtml/level3/core/selfxhtml.js
  • dom/xhtml/level3/core/*expected.txt (about 280 of these changed)
20:52 Changeset [32938] by mjs@apple.com
  • 4 edits in branches/squirrelfish/JavaScriptCore

2008-05-06 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.



The basic approach is to have "this" only be present in the symbol
table at compile time, not runtime.

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::~CodeGenerator): Remove "this" from symbol table. (KJS::CodeGenerator::CodeGenerator): Add "this" back when re-using a symbol table.
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::execute): Don't assert that "this" is in the symbol table.
20:36 Changeset [32937] by oliver@apple.com
  • 12 edits in branches/squirrelfish/WebCore

Bug 18866: SQUIRRELFISH: JS/ObjC bridge is broken <https://bugs.webkit.org/show_bug.cgi?id=18866>
Bug 18867: SQUIRRELFISH: JS/NPRuntime bridge is broken <https://bugs.webkit.org/show_bug.cgi?id=18867>

Reviewed by Maciej

This fixes function binding logic for the ObjC and NPRuntime by
replacing incorrect implementations of implementsCall (which is
no longer virtual) with implementations of getCallData.

19:10 Changeset [32936] by alp@webkit.org
  • 2 edits in trunk/WebCore

2008-05-06 Alp Toker <alp@nuanti.com>

GTK+ build fix. Add empty stub to keep non-accessible ports building.

  • page/AXObjectCache.h: (WebCore::AXObjectCache::selectedChildrenChanged):
18:47 Changeset [32935] by bdakin@apple.com
  • 6 edits in trunk/WebCore

2008-05-06 Beth Dakin <bdakin@apple.com>

Reviewed by Darin.

Fix for <rdar://problem/5907916> Implement 'aria-labeledby' and
'aria-describedby' attributes.

  • html/HTMLAttributeNames.in: Added new attributes. Added both the British spelling (since that is what is specified in the spec), and the American spelling (since the bug filer and I are two Americans who keep spelling it the American way by accident).
  • page/AccessibilityObject.cpp: Added empty wrappers. These functions can't do anything meaningful without a renderer. (WebCore::AccessibilityObject::ariaAccessiblityName): (WebCore::AccessibilityObject::ariaLabeledByAttribute): (WebCore::AccessibilityObject::ariaDescribedByAttribute):
  • page/AccessibilityObject.h:

Here is where the real work is done.

  • page/AccessibilityRenderObject.h:
  • page/AccessibilityRenderObject.cpp: (WebCore::accessibleNameForNode): Takes a node and finds its contribution to the accessible name, as defined by the Mozilla ARIA Implementer's Guide. (WebCore::AccessibilityRenderObject::ariaAccessiblityName): Takes a string of space-separated IDs, fetches the corresponding element for each ID, and concatenates an accessible name based on the elements. (WebCore::AccessibilityRenderObject::ariaLabeledByAttribute): Retrieve the labeledby attribute and send its contents to ariaAccessibilityName(). (WebCore::AccessibilityRenderObject::title): Return the ARIA labeledby value if one exists. (WebCore::AccessibilityRenderObject::ariaDescribedByAttribute): Retrieve the describedby attribute and send its contents to ariaAccessibilityName(). (WebCore::AccessibilityRenderObject::accessibilityDescription): Return the ARIA describedby attribute if one exists.

These are two bugs I spotted.
(WebCore::AccessibilityRenderObject::accessibilityIsIgnored): Don't
ignore anything with an ARIA role.
(WebCore::AccessibilityRenderObject::roleValue): Button tags maps
to ButtonRole.

18:28 Changeset [32934] by andersca@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

Fix tyop

18:27 Changeset [32933] by andersca@apple.com
  • 5 edits in trunk/WebCore

2008-05-06 Anders Carlsson <andersca@apple.com>

Reviewed by Brady.

Support reading back app caches from the datbase.


  • loader/appcache/ApplicationCache.cpp: (WebCore::ApplicationCache::ApplicationCache): Initialize m_storageID to 0.


  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::cacheDestroyed): If the cache being destroyed is not the newest cache, it should no longer be stored in the database. Remove it.


(WebCore::ApplicationCacheGroup::setNewestCache):
Don't store the cache here.


(WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
Store it here instead.


  • loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::loadCacheGroup): New method that loads a cache group with a given manifest URL (or returns 0 if the load fails).


(WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
Search for the group in the database.


(WebCore::ApplicationCacheStorage::loadManifestHostHashes):
New method that loads the host hashes from the database.


(WebCore::ApplicationCacheStorage::cacheGroupForURL):
Search in the database for a cache that contains the resource.


(WebCore::ApplicationCacheStorage::loadCache):
New method that loads a cache with a given ID.


(WebCore::ApplicationCacheStorage::remove):
New method that removes a cache.


  • loader/appcache/ApplicationCacheStorage.h: Add definitions.
18:21 Changeset [32932] by alp@webkit.org
  • 3 edits in trunk/WebCore

2008-05-06 Alp Toker <alp@nuanti.com>

Partial GTK+ build fix. Add files from r32925 to the build and replace
'nil' return with 0.

  • GNUmakefile.am:
  • page/AccessibilityListBoxOption.cpp: (WebCore::AccessibilityListBoxOption::parentObject):
17:52 Changeset [32931] by andersca@apple.com
  • 3 edits
    2 adds in trunk/WebKitExamplePlugins

2008-05-06 Anders Carlsson <andersca@apple.com>

Reviewed by Mitz.

Add NPN_PopUpContextMenu example.


  • NetscapeCocoaPlugin/MenuHandler.h: Added.
  • NetscapeCocoaPlugin/MenuHandler.m: Added. (-[MenuHandler _openURL:]): (-[MenuHandler _disabledItem:]): (-[MenuHandler validateUserInterfaceItem:]): (-[MenuHandler initWithBrowserFuncs:instance:]): (-[MenuHandler dealloc]): (-[MenuHandler menu]):
  • NetscapeCocoaPlugin/NetscapeCocoaPlugin.xcodeproj/project.pbxproj:
  • NetscapeCocoaPlugin/main.m: (NPP_Destroy): (handleMouseEvent):
17:32 Changeset [32930] by beidson@apple.com
  • 3 edits in trunk/WebCore

2008-05-06 Brady Eidson <beidson@apple.com>

Reviewed by Anders

Make LocalStorage persistent using a SQLite database.

There's a few things going on here. Whenever an item is changed, we add it to a set of
"items to be sync'ed." Instead of immediately scheduling the sync'ing on the background
thread, we set a "sync timer" instead. This is to shield against a series of rapid changes
to avoid thread churn.

When the sync timer fires, we move the "items to be sync'ed" set to a background thread set
and schedule the sync task which is where the items are actually committed to disk.

Current design for reading items back in from disk is to be as aggressive as possible.
When a page first accesses it's LocalStorage area, we begin to import all items in from disk so
they are immediately available. A future enhancement will be to being this pre-fetching the
moment we start loading a page when we know that page has LocalStorage.

  • storage/LocalStorageArea.cpp: (WebCore::LocalStorageArea::LocalStorageArea): (WebCore::LocalStorageArea::length): Return the length, or wait for the import to complete then return it. (WebCore::LocalStorageArea::key): Return the key, or wait for the import to complete then return it. (WebCore::LocalStorageArea::getItem): Return the item, or wait for the import to complete then return it. (WebCore::LocalStorageArea::setItem): Set the item, or hold the import lock and set it. The second case is because if the item is set while the import is still in progress, the new value should override whatever the imported value is. (WebCore::LocalStorageArea::removeItem): Remove the item, or hold the import lock and remove it. See the explanation for setItem() (WebCore::LocalStorageArea::contains): Return whether or not the item is contained. Do the same dance with the import flag, import lock, and import condition that the above methods do.

(WebCore::LocalStorageArea::itemChanged): Schedule the item for sync'ing
(WebCore::LocalStorageArea::itemRemoved): Schedule the removal of the item for sync'ing
(WebCore::LocalStorageArea::areaCleared): Schedule the clear for sync'ing, and clear all previously

scheduled items.

(WebCore::LocalStorageArea::scheduleItemForSync): Add an item to the sync set.
(WebCore::LocalStorageArea::scheduleClear): Set a bool flag denoting "All items removed." If any

items are later set before the actual removal takes place, they will be written *after* the removal.

(WebCore::LocalStorageArea::syncTimerFired): Move the current sync-set to the background thread sync set, then

schedule a sync task. Also transfer the "items cleared" flag to the "background thread items cleared" flag

(WebCore::LocalStorageArea::performImport): Import all items from disk, then signal the import complete.
(WebCore::LocalStorageArea::markImported): Set the imported flag and signal the import complete
(WebCore::LocalStorageArea::performSync): If the clear flag is set then drop all items. Then update or delete

each item waiting to be sync'ed

  • storage/LocalStorageArea.h:
16:42 Changeset [32929] by beidson@apple.com
  • 2 edits in trunk/WebCore

2008-05-06 Brady Eidson <beidson@apple.com>

Rubberstamped by Mitz Pettel RTL

  • storage/LocalStorage.cpp: (WebCore::LocalStorage::fullDatabaseFilename): Filename extensions for localstorage = all lowercase
16:32 Changeset [32928] by beidson@apple.com
  • 3 edits in trunk/WebCore

2008-05-06 Brady Eidson <beidson@apple.com>

Reviewed by Darin, Sam Weinig, and Anders

Preparation for upcoming work making LocalStorage persistent.

The final step before code that actually does storage and retrieval of LocalStorage items.

The LocalStorage set is responsible for controlling the path and filenames that individual
LocalStorageAreas will use for their persistent store. This adds the ability to return that
filename.

Also, add the scheduling methods that LocalStorageArea will use for importing and syncing
it's persistent items.

  • storage/LocalStorage.cpp: (WebCore::LocalStorage::storageArea): Add some comments re: the future direction of this method once we actually do quota tracking. (WebCore::LocalStorage::fullDatabaseFilename): (WebCore::LocalStorage::scheduleImport): (WebCore::LocalStorage::scheduleSync):
  • storage/LocalStorage.h:
16:27 Changeset [32927] by cfleizach@apple.com
  • 14 edits
    4 adds in trunk/WebCore

rdar://problem/5408464> REGRESSION: Unable to use Voiceover on combo boxes (disneyjobs.com)

15:44 Changeset [32926] by cfleizach@apple.com
  • 3 edits in trunk/WebCore

<rdar://problem/5455287> AXWebArea should include AXURL

Now it does

15:17 Changeset [32925] by alice.liu@apple.com
  • 5 edits in trunk/WebCore

2008-05-06 Alice Liu <alice.liu@apple.com>

Rubber-stamped by Beth


stab-in-the-dark attempt at fixing non-mac builds.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCoreSources.bkl:
15:16 Changeset [32924] by andersca@apple.com
  • 4 edits in trunk/WebCore/loader/appcache

Whoops, I did not intend to commit this right now.

15:15 Changeset [32923] by andersca@apple.com
  • 6 edits in trunk/WebCore

2008-05-06 Anders Carlsson <andersca@apple.com>

Reviewed by Adam.

Only use the toplevel application cache when loading subframes.

  • loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::load):
15:00 Changeset [32922] by weinig@apple.com
  • 27 edits
    3 adds in trunk

WebCore:

2008-05-06 Adam Barth <abarth-webkit@adambarth.com>

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=18725
Implement asynchronous postMessage.
MessageEvent no longer bubbles as per r1237 in the HTML 5 working draft.

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

Test: http/tests/security/postMessage/delivery-order.html

  • dom/MessageEvent.cpp: (WebCore::MessageEvent::MessageEvent):
  • page/DOMWindow.cpp: (WebCore::PostMessageTimer::PostMessageTimer): (WebCore::PostMessageTimer::event): (WebCore::PostMessageTimer::targetOrigin): (WebCore::PostMessageTimer::fired): (WebCore::DOMWindow::postMessage): (WebCore::DOMWindow::postMessageTimerFired):
  • page/DOMWindow.h:
  • page/DOMWindow.idl:

LayoutTests:

2008-05-06 Adam Barth <abarth-webkit@adambarth.com>

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=18725
Update tests for asynchronous postMessage.

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

  • http/tests/messaging/cross-domain-message-send.html:
  • http/tests/messaging/resources/cross-domain-message-receive.html:
  • http/tests/security/cross-frame-access-delete.html:
  • http/tests/security/cross-frame-access-history-put.html:
  • http/tests/security/cross-frame-access-location-put.html:
  • http/tests/security/postMessage/delivery-order-expected.txt: Added.
  • http/tests/security/postMessage/delivery-order.html: Added.
  • http/tests/security/postMessage/invalid-origin-throws-exception-expected.txt:
  • http/tests/security/postMessage/invalid-origin-throws-exception.html:
  • http/tests/security/postMessage/origin-unaffected-by-base-tag-expected.txt:
  • http/tests/security/postMessage/origin-unaffected-by-base-tag.html:
  • http/tests/security/postMessage/origin-unaffected-by-document-domain-expected.txt:
  • http/tests/security/postMessage/origin-unaffected-by-document-domain.html:
  • http/tests/security/postMessage/resources/javascript-post-message-sender.html:
  • http/tests/security/postMessage/resources/post-message-listener.html:
  • http/tests/security/postMessage/resources/recv.js: Added.
  • http/tests/security/postMessage/target-origin-expected.txt:
  • http/tests/security/postMessage/target-origin.html:
  • http/tests/security/resources/cross-frame-iframe-for-delete-test.html:
  • http/tests/security/resources/cross-frame-iframe-for-history-put-test.html:
  • http/tests/security/resources/cross-frame-iframe-for-location-put-test.html:
  • http/tests/security/resources/xss-eval3.html:
  • http/tests/security/xss-eval.html:
14:31 Changeset [32921] by ggaren@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

2008-05-06 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Trivial support for function.arguments: Currently, we only support
function.arguments from within the scope of function.


This fixes the remaining Mozilla JS test failures.


SunSpider reports no change.

  • VM/Machine.cpp: (KJS::Machine::privateExecute): Separated scope chain deref from activation register copying: since it is now possible for client code to create an activation on behalf of a function that otherwise wouldn't need one, having an activation no longer necessarily means that you need to deref the scope chain.


(KJS::Machine::getCallFrame): For now, this function only examines the
current scope. Walking parent scopes requires some refactoring in the
way we track execution stacks.

  • kjs/ExecState.cpp: (KJS::ExecState::ExecState): We use a negative call frame offset to indicate that a given scope is not a function call scope.
14:01 Changeset [32920] by andersca@apple.com
  • 10 edits in trunk/WebCore

2008-05-06 Anders Carlsson <andersca@apple.com>

Reviewed by Brady.

Store cache to the database.

  • loader/appcache/ApplicationCache.cpp: (WebCore::ApplicationCache::addResource): If the cache has been saved to disk, save the resource as well.


  • loader/appcache/ApplicationCache.h: (WebCore::ApplicationCache::onlineWhitelist): New method which returns the online whitelist.

(WebCore::ApplicationCache::setStorageId):
(WebCore::ApplicationCache::storageId):
Setter/getter for the application cache storage ID.

  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): Save the cache/group to disk.


  • loader/appcache/ApplicationCacheGroup.h: (WebCore::ApplicationCacheGroup::setStorageID): (WebCore::ApplicationCacheGroup::storageID): Setter/getter for the application cache group storage ID.


  • loader/appcache/ApplicationCacheResource.cpp: (WebCore::ApplicationCacheResource::addType): We can't add a new type if the resource has been saved to disk.


  • loader/appcache/ApplicationCacheResource.h: (WebCore::ApplicationCacheResource::setStorageID): (WebCore::ApplicationCacheResource::storageID): Setter/getter for the application cache resource storage ID.
  • loader/appcache/ApplicationCacheStorage.cpp:
  • loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::executeSQLCommand): New method for executing SQL and logging any errors.


(WebCore::ApplicationCacheStorage::openDatabase):
Create new tables.


(WebCore::ApplicationCacheStorage::executeStatement):
New method for executing an SQL statement and logging any errors.


(WebCore::ApplicationCacheStorage::store):
New methods for storing a cache group, cache and cache resource to the store.

(WebCore::ApplicationCacheStorage::storeNewestCache):
New method which stores the newest cache and updates the newest cache field in the cache group.


  • loader/appcache/ApplicationCacheStorage.h: Add new methods.


  • platform/sql/SQLiteStatement.h: (WebCore::SQLiteStatement::query): Getter for the SQL query.
13:47 Changeset [32919] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2008-05-06 Anders Carlsson <andersca@apple.com>

Reviewed by Darin.

Initialize numArchs to 0.


  • Plugins/WebBasePluginPackage.m: (-[WebBasePluginPackage isNativeLibraryData:]):
13:46 Changeset [32918] by beidson@apple.com
  • 10 edits
    4 adds in trunk/WebCore

2008-05-06 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler

Preparation for upcoming work making LocalStorage persistent.

Writing persistent values for LocalStorage will take place on a background thread.
Here is that background thread, as well as most of the hooks that will be utilized to
make the whole song and dance work.

The thread itself is very simple and MessageQueue based. LocalStorageTasks are what
mark the work that needs to be done and come in 5 flavors: Import and Sync a LocalStorage set,
Import and Sync a LocalStorageArea, and terminate the thread.

This patch accomplished 2 things:


1 - Each PageGroup has its own LocalStorage set. Upon its creation its LocalStorageThread is

created and started.

2 - At application shutdown, each thread is synchronously terminated.

What happens between steps 1 and 2 will come later.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • storage/LocalStorage.cpp: Add some threading ASSERTs to make it clear which thread each method is meant to be called from. (WebCore::LocalStorage::LocalStorage): (WebCore::LocalStorage::storageArea): (WebCore::LocalStorage::performImport): Placeholder for importing known origins and quotas (WebCore::LocalStorage::performSync): Placeholder for writing out updated origins and quotas (WebCore::LocalStorage::close): Synchronously terminate the thread.
  • storage/LocalStorage.h:
  • storage/LocalStorageArea.cpp: Add some threading ASSERTs to make it clear which thread each method is meant to be called from. (WebCore::LocalStorageArea::itemChanged): (WebCore::LocalStorageArea::itemRemoved): (WebCore::LocalStorageArea::areaCleared): (WebCore::LocalStorageArea::dispatchStorageEvent): (WebCore::LocalStorageArea::performImport): Placeholder for importing all items for this LocalStorageArea to prime the page before the items are needed (WebCore::LocalStorageArea::performSync): Placeholder for writing out dirty items to disk
  • storage/LocalStorageArea.h:
  • storage/LocalStorageTask.cpp: Added. (WebCore::LocalStorageTask::LocalStorageTask): (WebCore::LocalStorageTask::performTask):
  • storage/LocalStorageTask.h: Added. (WebCore::LocalStorageTask::): (WebCore::LocalStorageTask::createImport): (WebCore::LocalStorageTask::createSync): (WebCore::LocalStorageTask::createTerminate):
  • storage/LocalStorageThread.cpp: Added. (WebCore::LocalStorageThread::create): (WebCore::LocalStorageThread::LocalStorageThread): (WebCore::LocalStorageThread::start): (WebCore::LocalStorageThread::localStorageThreadStart): (WebCore::LocalStorageThread::localStorageThread): (WebCore::LocalStorageThread::scheduleImport): (WebCore::LocalStorageThread::scheduleSync): (WebCore::LocalStorageThread::terminate): (WebCore::LocalStorageThread::performTerminate):
  • storage/LocalStorageThread.h: Added.
13:40 Changeset [32917] by andersca@apple.com
  • 5 edits in trunk/WebKit/mac

2008-05-06 Anders Carlsson <andersca@apple.com>

Reviewed by Darin.

Add implementation of NPN_PopUpContextMenu.


  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView popUpContextMenu:]):
  • Plugins/WebBaseNetscapePluginViewPrivate.h:
  • Plugins/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage load]):
  • Plugins/npapi.m: (NPN_PopUpContextMenu):
13:40 Changeset [32916] by andersca@apple.com
  • 3 edits in trunk/WebCore

2008-05-06 Anders Carlsson <andersca@apple.com>

Reviewed by Darin.

Add NPN_PopUpContextMenu.


  • bridge/npapi.h:
  • plugins/npfunctions.h:
13:35 Changeset [32915] by alp@webkit.org
  • 1 edit in trunk/WebCore/ChangeLog

2008-05-06 Alp Toker <alp@nuanti.com>

GTK+ build fix. Add file from r32911 to the build.

  • GNUmakefile.am:
13:21 Changeset [32914] by christian@webkit.org
  • 4 edits in trunk/WebKit/gtk

Rubber stamped by Alp.

Back out 17626. It wasn't ready for commit.

13:17 Changeset [32913] by alp@webkit.org
  • 2 edits in trunk/WebCore

2008-05-06 Gwenole Beauchesne <gbeauchesne@splitted-desktop.org>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=18906
[GTK] Fix varargs terminator in g_build_filename()

  • plugins/gtk/PluginDatabaseGtk.cpp: (WebCore::PluginDatabase::isPreferredPluginDirectory): Fix varargs terminator.
11:44 Changeset [32912] by kmccullough@apple.com
  • 2 edits in trunk/WebCore

2008-05-06 Kevin McCullough <kmccullough@apple.com>

  • Forgot to update localized Strings from previous checkin.
  • English.lproj/localizedStrings.js:
11:39 Changeset [32911] by cfleizach@apple.com
  • 8 edits
    2 adds in trunk/WebCore

<rdar://problem/5408464> REGRESSION: Unable to use Voiceover on combo boxes (disneyjobs.com)
<rdar://problem/5895634> AX: AccessibilityObjectWrapper is being leaked all over the place
<rdar://problem/5893907> CrashTracer: [REGRESSION] 44 crashes in Safari at com.apple.WebCore: WebCore::AccessibilityObject::clearChildren + 9

Initial prep work to support accessibility objects that do not have renderers.

11:16 Changeset [32910] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2008-05-06 Anders Carlsson <andersca@apple.com>

Fix typo (don't read random memory).


  • Plugins/WebBasePluginPackage.m: (-[WebBasePluginPackage isNativeLibraryData:]):
10:55 Changeset [32909] by andersca@apple.com
  • 3 edits in trunk/WebKit

2008-05-05 Anders Carlsson <andersca@apple.com>

Reviewed by Darin.

Change the isNativeLibraryData: method to handle universal binaries.


  • Plugins/WebBasePluginPackage.m: (swapIntsInHeader): (-[WebBasePluginPackage isNativeLibraryData:]):
10:54 Changeset [32908] by andersca@apple.com
  • 10 adds in trunk/WebKitExamplePlugins

Reviewed by Jon, Tim and Mark.

Add a sample NPAPI plugin that uses the Cocoa event model.

  • .: Added.
  • ChangeLog: Added.
  • NetscapeCocoaPlugin: Added.
  • NetscapeCocoaPlugin/English.lproj: Added.
  • NetscapeCocoaPlugin/English.lproj/InfoPlist.strings: Added.
  • NetscapeCocoaPlugin/Info.plist: Added.
  • NetscapeCocoaPlugin/NetscapeCocoaPlugin.xcodeproj: Added.
  • NetscapeCocoaPlugin/NetscapeCocoaPlugin.xcodeproj/project.pbxproj: Added.
  • NetscapeCocoaPlugin/main.m: Added. (NP_Initialize): (NP_GetEntryPoints): (NP_Shutdown): (NPP_New): (NPP_Destroy): (NPP_SetWindow): (NPP_NewStream): (NPP_DestroyStream): (NPP_WriteReady): (NPP_Write): (NPP_StreamAsFile): (NPP_Print): (handleDraw): (eventType): (invalidatePlugin): (handleMouseEvent): (handleKeyboardEvent): (NPP_HandleEvent): (NPP_URLNotify): (NPP_GetValue): (NPP_SetValue):
  • NetscapeCocoaPlugin/test.html: Added.
10:32 Changeset [32907] by rwlbuis@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Rob Buis.

https://bugs.webkit.org/show_bug.cgi?id=18859\
Prevented SVGRootInlineBox from static_casting a
node to a class it doesn't inherit

10:28 Changeset [32906] by beidson@apple.com
  • 10 edits in trunk

WebCore:

2008-05-06 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler

Preparation for upcoming work making LocalStorage persistent.

When the application terminates, all pending local storage writes need to be
sync'ed out to disk.
This works n combination with platform specific code in WebKit that calls it.

  • WebCore.base.exp:
  • page/PageGroup.cpp: (WebCore::PageGroup::closeLocalStorage): Close all open LocalStorage objects
  • page/PageGroup.h:
  • storage/LocalStorage.cpp: (WebCore::LocalStorage::close): Placeholder for what will sync and terminate the local storage thread in the future.
  • storage/LocalStorage.h:

WebKit/mac:

2008-05-06 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler

Preparation for upcoming work making LocalStorage persistent.

When the application terminates, all LocalStorage areas must be sync'ed out to disk first.

  • WebView/WebView.mm: (+[WebView _applicationWillTerminate]): Close all LocalStorage areas before quitting.

WebKit/win:

2008-05-06 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler

Preparation for upcoming work making LocalStorage persistent.

When the application terminates, all LocalStorage areas must be sync'ed out to disk first.

  • WebKitDLL.cpp: (shutDownWebKit): Close all LocalStorage areas before quitting.
10:24 Changeset [32905] by beidson@apple.com
  • 2 edits in trunk/WebCore

2008-05-06 Brady Eidson <beidson@apple.com>

Rubberstamped by David Kilzer

  • WebCore.base.exp: Sort this mess!
10:07 Changeset [32904] by andersca@apple.com
  • 6 edits in trunk/WebKit/win

2008-05-05 Anders Carlsson <andersca@apple.com>

Reviewed by John.

Add preference for enabling the offline web application cache.


  • Interfaces/IWebPreferencesPrivate.idl:
  • WebPreferenceKeysPrivate.h:
  • WebPreferences.cpp: (WebPreferences::initializeDefaultSettings): (WebPreferences::setOfflineWebApplicationCacheEnabled): (WebPreferences::offlineWebApplicationCacheEnabled):
  • WebPreferences.h:
  • WebView.cpp: (WebView::notifyPreferencesChanged):
09:46 SquirrelFish edited by ggaren@apple.com
(diff)
09:43 SquirrelFish edited by ggaren@apple.com
(diff)
07:21 Changeset [32903] by ap@webkit.org
  • 1 edit in trunk/LayoutTests/editing/inserting/edited-whitespace-1.html

Landing an updated test that was supposed to be part of r32879.

06:12 Changeset [32902] by hausmann@webkit.org
  • 2 edits in trunk/WebKit/qt

2008-05-06 Simon Hausmann <hausmann@webkit.org>

Reviewed by Holger.

Fix logic error in QWebHitTestResult::isNull().

05/05/08:

23:29 SquirrelFish edited by ggaren@apple.com
(diff)
22:01 Changeset [32901] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Fix 60 crashes seen on the buildbots that were misreported as hangs.

Reviewed by Dan Bernstein.

  • dom/Document.cpp:

(WebCore::Document::detachNodeIterator): Null-check page() before dereferencing it.
(WebCore::Document::nodeWillBeRemoved): Ditto.
(WebCore::Document::textInserted): Ditto.
(WebCore::Document::textNodesMerged): Ditto.
(WebCore::Document::textRemoved): Ditto.

21:09 Changeset [32900] by beidson@apple.com
  • 3 edits in trunk/WebCore

2008-05-05 Brady Eidson <beidson@apple.com>

Reviewed by Mitz Pettel RTL

Preparation for upcoming work making LocalStorage persistent.

The other half of the StorageMap::importItem() addition.

  • storage/StorageArea.cpp: (WebCore::StorageArea::importItem):
  • storage/StorageArea.h:
21:03 Changeset [32899] by beidson@apple.com
  • 5 edits in trunk/WebCore

2008-05-05 Brady Eidson <beidson@apple.com>

Reviewed by Mitz Pettel RTL

Preparation for upcoming work making LocalStorage persistent.

  • Create the LocalStorage object for a PageGroup the moment the first Page is added to it The Settings of the first Page define what persistent path the LocalStorage will use
  • Add a Frame argument for the LocalStorageArea request - this will allow a client object to be queried before the LocalStorageArea is established
  • page/DOMWindow.cpp: (WebCore::DOMWindow::localStorage):
  • page/PageGroup.cpp: (WebCore::PageGroup::addPage): (WebCore::PageGroup::localStorage):
  • storage/LocalStorage.cpp: (WebCore::LocalStorage::LocalStorage): Take the path as a constructor argument. Deep copy the path as it will be used from another thread. (WebCore::LocalStorage::storageArea):
  • storage/LocalStorage.h: (WebCore::LocalStorage::create):
20:16 Changeset [32898] by oliver@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

Fix call frame set up for native -> JS function calls.

Review by Geoff

20:14 Changeset [32897] by beidson@apple.com
  • 3 edits in trunk/WebCore

2008-05-05 Brady Eidson <beidson@apple.com>

Reviewed by Mitz Pettel RTL

Preparation for upcoming work making LocalStorage persistent.

StorageMaps normally have copy-on-write semantics to help support SessionStorage.
For LocalStorage, we never want this behavior. When we forcefully import items into
a StorageMap from the LocalStorage background thread, this new import method will be used.

  • storage/StorageMap.cpp: (WebCore::StorageMap::importItem): Add a deep-copy of the item to the map without worrying about copy-on-write.
  • storage/StorageMap.h:
19:24 Changeset [32896] by ggaren@apple.com
  • 8 edits
    2 adds in branches/squirrelfish

JavaScriptCore:

2008-05-05 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


Fixed ecma_3/Object/8.6.2.6-001.js, and similar bugs.


SunSpider reports a .4% speedup. Not sure what that's about.

  • VM/Machine.cpp: (KJS::Machine::privateExecute): Check for exception return from equal, since toPrimitive can throw.
  • kjs/operations.cpp: (KJS::strictEqual): In response to an error I made in an earlier version of this patch, I changed strictEqual to make clear the fact that it performs no conversions and can't throw, making it slightly more efficient in the process.

LayoutTests:

2008-05-05 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


Layout test for exceptions thrown from equality comparisons.

  • fast/js/exception-thrown-from-equal-expected.txt: Added.
  • fast/js/exception-thrown-from-equal.html: Added.
17:45 Changeset [32895] by sfalken@apple.com
  • 3 edits in trunk/WebKitTools

Copy dependencies of ImageDiff, DumpRenderTree in post-build step.

  • DumpRenderTree/win/DumpRenderTree.vcproj:
  • DumpRenderTree/win/ImageDiff.vcproj:
17:23 Changeset [32894] by sfalken@apple.com
  • 2 edits in tags/Safari-6526.3.4/WebCore

Merged r32711.

17:21 Changeset [32893] by sfalken@apple.com
  • 5 edits in tags/Safari-6526.3.4

Merged r32699, 32701, 32702, 32704.

17:15 Changeset [32892] by sfalken@apple.com
  • 2 edits in tags/Safari-6526.3.4/WebKit/win

Merged r32698.

17:08 Changeset [32891] by sfalken@apple.com
  • 2 edits in tags/Safari-6526.3.4/WebCore

Merged r32659.

17:01 Changeset [32890] by kmccullough@apple.com
  • 4 edits
    6 adds in trunk/WebCore

2008-05-05 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim.

-<rdar://problem/5770054> JavaScript profiler (10928)
-Begininings of a UI for the Profiler in the WebInspector.

  • English.lproj/InspectorLocalizedStrings.js: Add new strings to be localized.
  • page/inspector/DatabasesPanel.js: Changed the name of the Databae's results table to be more generic as it is now also used by the profiler.
  • page/inspector/Images/glossySelected.png: Added.
  • page/inspector/Images/profilesIcon.png: Added.
  • page/inspector/Images/treeUpTriangleBlack.png: Added.
  • page/inspector/Images/treeUpTriangleWhite.png: Added.
  • page/inspector/ProfileView.js: Added. Sets up the header of the table.
  • page/inspector/ProfilesPanel.js: Added.
  • page/inspector/ProfilesPanel.js: Added. Sets up the containers of the profiler's content.
  • page/inspector/inspector.css: Change database-result-table to be more generic as well as add the styles needed by the profiler.
  • page/inspector/inspector.html: Add profiler support.
16:42 Changeset [32889] by beidson@apple.com
  • 2 edits in trunk/WebCore

2008-05-05 Brady Eidson <beidson@apple.com>

Change by Darin, reviewed by Brady

Small efficiency improvement Darin just spotted

  • storage/StorageMap.cpp: (WebCore::StorageMap::setItem):
16:41 Changeset [32888] by sfalken@apple.com
  • 3 edits in tags/Safari-6526.3.4/WebCore

Merged r32656, r32657.

16:31 Changeset [32887] by antti@apple.com
  • 2 edits in trunk/WebCore

2008-05-05 Antti Koivisto <antti@apple.com>

Reviewed by Anders.

Fix https://bugs.webkit.org/show_bug.cgi?id=18899
Bug 18899: REGRESSION (r32871): Non-Safari crash in WTF::HashTable on startup

  • loader/loader.cpp: (WebCore::Loader::Loader):
16:04 Changeset [32886] by weinig@apple.com
  • 2 edits in trunk/WebKit/mac

2008-05-05 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Fix for <rdar://problem/5884383>
Escape look-a-like characters from the the entire url.

  • Misc/WebNSURLExtras.mm: (escapeUnsafeCharacters): (-[NSURL _web_userVisibleString]):
16:00 Changeset [32885] by sfalken@apple.com
  • 1 copy in tags/Safari-6526.3.4

New tag.

15:57 Changeset [32884] by beidson@apple.com
  • 2 edits in trunk/WebCore

2008-05-05 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

Fix a bug in StorageMap iterator tracking where the iterator was not successfully
invalidated at an appropriate time.

  • storage/StorageMap.cpp: (WebCore::StorageMap::setItem): ALWAYS invalidate it here
15:50 Changeset [32883] by justin.garcia@apple.com
  • 7 edits in trunk

WebCore:

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

Reviewed by Darin.

<rdar://problem/5865171> REGRESSION: Creating a new quote places caret at beginning of quote instead of the end


Disable Range mutation on document modifications in Tiger and Leopard Mail,
since they do their own mutation which interferes with ours.

  • WebCore.base.exp:
  • dom/Document.cpp: (WebCore::Document::nodeChildrenChanged): (WebCore::Document::nodeWillBeRemoved): (WebCore::Document::textInserted): (WebCore::Document::textRemoved): (WebCore::Document::textNodesMerged): (WebCore::Document::textNodeSplit):
  • page/Settings.cpp: (WebCore::Settings::Settings): (WebCore::Settings::disableRangeMutationForOldAppleMail):
  • page/Settings.h: (WebCore::Settings::rangeMutationDisabledForOldAppleMail):

WebKit/mac:

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

Reviewed by Darin.


<rdar://problem/5865171> REGRESSION: Creating a new quote places caret at beginning of quote instead of the end

  • WebView/WebView.mm: (-[WebView _updateSettingsFromPreferences:]): Disable Range mutation on changes to the document for Tiger and Leopard Mail. There is code in Mail that does it, and the two interfere.
15:47 Changeset [32882] by weinig@apple.com
  • 8 edits
    1 add
    1 delete in trunk

WebCore:

2008-05-05 Sam Weinig <sam@webkit.org>

Reviewed by Tim Hatcher.

Make the Inspector's localizable strings file match the format used by Dashboard widgets.

  • English.lproj/InspectorLocalizedStrings.js: Removed.
  • English.lproj/localizedStrings.js: Added.
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • page/inspector/inspector.js:

WebKit/mac:

2008-05-05 Sam Weinig <sam@webkit.org>

Reviewed by Tim Hatcher.

Make the Inspector's localizable strings file match the format used by Dashboard widgets.

  • WebCoreSupport/WebInspectorClient.mm: (WebInspectorClient::localizedStringsURL):

WebKit/win:

2008-05-05 Sam Weinig <sam@webkit.org>

Reviewed by Tim Hatcher.

Make the Inspector's localizable strings file match the format used by Dashboard widgets.

  • WebCoreSupport/WebInspectorClient.cpp: (WebInspectorClient::localizedStringsURL):
13:51 Changeset [32881] by sfalken@apple.com
  • 18 edits in trunk

2008-05-05 Steve Falkenburg <sfalken@apple.com>

Add WebPreference for application chrome mode.


Reviewed by Dave Hyatt.

  • Interfaces/IWebPreferencesPrivate.idl:
  • WebPreferenceKeysPrivate.h:
  • WebPreferences.cpp: (WebPreferences::initializeDefaultSettings): (WebPreferences::inApplicationChromeMode): (WebPreferences::setApplicationChromeMode):
  • WebPreferences.h:
  • WebView.cpp: (WebView::notifyPreferencesChanged):

2008-05-05 Steve Falkenburg <sfalken@apple.com>

Add support for default button appearance.
Add WebCore setting for app chrome mode.


Reviewed by Dave Hyatt.

  • css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
  • css/CSSValueKeywords.in: Added default-button value keyword.
  • page/Settings.cpp: (WebCore::Settings::Settings): (WebCore::Settings::setApplicationChromeMode):
  • page/Settings.h: (WebCore::Settings::inApplicationChromeMode):
  • rendering/RenderButton.cpp: (WebCore::RenderButton::RenderButton): (WebCore::RenderButton::setStyle): (WebCore::RenderButton::timerFired):
  • rendering/RenderButton.h:
  • rendering/RenderStyle.h: (WebCore::):
  • rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustStyle): (WebCore::RenderTheme::paint): (WebCore::RenderTheme::paintBorderOnly): (WebCore::RenderTheme::paintDecorations): (WebCore::RenderTheme::isControlStyled): (WebCore::RenderTheme::isDefault):
  • rendering/RenderTheme.h: (WebCore::):
  • rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::determineState): (WebCore::RenderThemeSafari::adjustRepaintRect): (WebCore::RenderThemeSafari::adjustButtonStyle):
  • rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::supportsFocus):
13:35 Changeset [32880] by adele@apple.com
  • 2 edits in trunk/WebKitTools

2008-05-05 Adele Peterson <adele@apple.com>

Reviewed by Adam.

Look for the right ImageDiff executable for debug builds.

  • Scripts/run-webkit-tests:
11:29 Changeset [32879] by ap@webkit.org
  • 3 edits
    4 adds in trunk

Reviewed by Darin.

https://bugs.webkit.org/show_bug.cgi?id=11947
nbsps should be converted to entities in innerHTML

https://bugs.webkit.org/show_bug.cgi?id=18769
replacing &nbsp; with spaces using regexp creates inconsistent result

Tests: fast/dom/innerHTML-nbsp.html

fast/dom/innerHTML-escaping-attribute.html

  • editing/markup.cpp: (WebCore::appendAttributeValue): (WebCore::escapeContentText): (WebCore::appendEscapedContent): Added U+00a0/nbsp to the list of characters to escape.
11:26 Changeset [32878] by hyatt@apple.com
  • 3 edits
    3 adds in trunk

WebCore:

2008-05-05 David Hyatt <hyatt@apple.com>

Fix for https://bugs.webkit.org/show_bug.cgi?id=18821. Fix some bugs in both get/PutImageData of <canvas>.

Reviewed by Eric

New tests added in fast/canvas/

  • platform/graphics/cg/ImageBufferCG.cpp: (WebCore::ImageBuffer::getImageData): (WebCore::ImageBuffer::putImageData):

LayoutTests:

2008-05-05 David Hyatt <hyatt@apple.com>

Fix for https://bugs.webkit.org/show_bug.cgi?id=18821, putImageData incorrect when data has alpha.

Reviewed by Eric

  • fast/canvas/canvas-alphaImageData-behavior-expected.txt: Added.
  • fast/canvas/canvas-alphaImageData-behavior.html: Added.
  • fast/canvas/canvas-alphaImageData-behavior.js: Added.
09:59 Changeset [32877] by darin@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-05-05 Darin Adler <darin@apple.com>

Reviewed by John Sullivan.

  • fix debug-only leak seen on buildbot
  • wtf/HashTable.h: (WTF::HashTable::checkKey): After writing an empty value in, but before constructing a deleted value on top of it, call the destructor so the empty value doesn't leak.
09:47 Changeset [32876] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

2008-05-05 Anders Carlsson <andersca@apple.com>

Reviewed by Jess.

Apparently preflighting can cause hangs for some reason. Revert this for now.


  • Plugins/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage _initWithPath:]):
  • Plugins/WebPluginPackage.m: (-[WebPluginPackage initWithPath:]):
09:44 Changeset [32875] by darin@apple.com
  • 2 edits in trunk/WebKitTools

2008-05-05 Darin Adler <darin@apple.com>

  • Scripts/run-webkit-tests: Ignore a Java leak showing up in the WebKit leak tests.
09:34 Changeset [32874] by darin@apple.com
  • 2 edits in trunk/WebKit/mac

2008-05-05 Darin Adler <darin@apple.com>

Reviewed by Mitz.

  • WebView/WebView.mm: (-[WebView viewWillMoveToWindow:]): Fix bug where we would stop observing the NSWindowWillCloseNotification if the view was moved out of the window but still had that window set as the host window. Also make sure this function doesn't do anything if the WebView is already closed. (-[WebView setHostWindow:]): Ditto.
09:31 Changeset [32873] by mitz@apple.com
  • 1 edit
    1 copy in trunk/LayoutTests

Rubber-stamped by Adam Roben.

  • fix test failure due to Windows' preference for Mac results over generic results
  • platform/win/editing/selection/move-left-right-expected.txt: Copied from LayoutTests/editing/selection/move-left-right-expected.txt.
09:27 Changeset [32872] by mitz@apple.com
  • 9 edits
    4 adds in trunk

WebCore:

Reviewed by Dave Hyatt.

Test: fast/block/basic/adding-near-anonymous-block.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::addChildToFlow): When adding a floating or positioned object, if it follows an anonymous block, put it inside the anonymous block. When adding an inline, check if it comes after an anonymous block and put it in the anonymous block.

LayoutTests:

Reviewed by Dave Hyatt.

  • fast/block/basic/adding-near-anonymous-block.html: Added.
  • media/video-controls-rendering.html: Changed to work around https://bugs.webkit.org/show_bug.cgi?id=18857 which now affects this test in its original form.
  • platform/mac/css1/box_properties/clear-expected.txt:
  • platform/mac/fast/block/basic/adding-near-anonymous-block-expected.checksum: Added.
  • platform/mac/fast/block/basic/adding-near-anonymous-block-expected.png: Added.
  • platform/mac/fast/block/basic/adding-near-anonymous-block-expected.txt: Added.
  • platform/mac/fast/forms/input-align-image-expected.txt:
  • platform/mac/media/audio-controls-rendering-expected.txt:
  • platform/mac/media/video-controls-rendering-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug51140-expected.txt:
09:09 Changeset [32871] by antti@apple.com
  • 3 edits in trunk/WebCore

2008-05-05 Antti Koivisto <antti@apple.com>

Reviewed by Darin.

Speculative fix for <rdar://problem/5906790>
Crash in Loader::servePendingRequests() due to hash table being modified during iteration


I don't know how to reproduce this. It would require the load to fail (or succeed)
synchronously, something that should not usually happen.

  • loader/loader.cpp: (WebCore::Loader::Loader): (WebCore::Loader::load): (WebCore::Loader::servePendingRequests): (WebCore::Loader::cancelRequests): (WebCore::Loader::Host::Host):
  • loader/loader.h: (WebCore::Loader::Host::name):
06:43 UsingGitWithWebKit edited by dan+macosforge@danwalters.net
fix repository url (diff)
03:43 Changeset [32870] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-05-05 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • fix some dumb mistakes in my last patch
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitPushScope): (KJS::CodeGenerator::emitGetPropertyNames):
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
03:26 Changeset [32869] by hausmann@webkit.org
  • 2 edits in trunk/WebKitTools

Ariya Hidayat <ariya.hidayat@trolltech.com>

In the Qt's DumpRenderTree, adjust the web view properly (because W3C SVG
tests expect to be 480x360)

02:59 Changeset [32868] by hausmann@webkit.org
  • 2 edits in trunk/WebCore

Ariya Hidayat <ariya.hidayat@trolltech.com>

Disable SVG As Image support in the Qt port again, as it
requires more work. Right now the chrome client is
assumed to be a ChromeClientQt, which the SVG Image support
changes.

02:34 Changeset [32867] by mjs@apple.com
  • 5 edits in branches/squirrelfish/JavaScriptCore

2008-05-05 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • document opcodes relating to jumps, scopes, and property name iteration


Documented jmp, jtrue, false, push_scope, pop_scope, get_pnames,
next_pname and jmp_scopes.

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitJump): (KJS::CodeGenerator::emitJumpIfTrue): (KJS::CodeGenerator::emitJumpIfFalse): (KJS::CodeGenerator::emitPushScope): (KJS::CodeGenerator::emitNextPropertyName): (KJS::CodeGenerator::emitGetPropertyNames):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • kjs/nodes.cpp: (KJS::LogicalAndNode::emitCode): (KJS::LogicalOrNode::emitCode): (KJS::ConditionalNode::emitCode): (KJS::IfNode::emitCode): (KJS::IfElseNode::emitCode): (KJS::DoWhileNode::emitCode): (KJS::WhileNode::emitCode): (KJS::ForNode::emitCode): (KJS::ForInNode::emitCode): (KJS::WithNode::emitCode):
01:01 Changeset [32866] by oliver@apple.com
  • 4 edits in branches/squirrelfish/JavaScriptCore

Bug 18749: SQUIRRELFISH: const support is broken
<https://bugs.webkit.org/show_bug.cgi?id=18749>

Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Oliver.

Adds support for const during code generation.

Fixes 2 layout tests.

05/04/08:

23:48 Changeset [32865] by mjs@apple.com
  • 5 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Geoff.


  • document some more opcodes (and fix argument names)


Added docs for eq, neq, stricteq, nstriceq, less and lesseq.

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitEqual): (KJS::CodeGenerator::emitNotEqual): (KJS::CodeGenerator::emitStrictEqual): (KJS::CodeGenerator::emitNotStrictEqual): (KJS::CodeGenerator::emitLess): (KJS::CodeGenerator::emitLessEq):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • kjs/nodes.cpp: (KJS::LessNode::emitCode): (KJS::GreaterNode::emitCode): (KJS::LessEqNode::emitCode): (KJS::GreaterEqNode::emitCode): (KJS::EqualNode::emitCode): (KJS::NotEqualNode::emitCode): (KJS::StrictEqualNode::emitCode): (KJS::NotStrictEqualNode::emitCode): (KJS::CaseBlockNode::emitCodeForBlock):
23:46 Changeset [32864] by ggaren@apple.com
  • 10 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Maciej Stachowiak.

More scaffolding for f.arguments.


Track the offset of the last call frame in the ExecState, so we can
produce a backtrace at any time.


Also, record numLocals, the sum of numVars + numParameters, in each code
block, to make updates to the ExecState a little cheaper than they
would be otherwise.


We now use numLocals in a bunch of places where we used to calculate
numVars + numParameters or -numVars - numParameters.


Reports are mixed, but all in all, this seems to be a wash on SunSpider.

22:30 Changeset [32863] by kevino@webkit.org
  • 5 edits in trunk/WebKit/wx

Reviewed by Kevin Ollivier.

Allow events to specify the ID of the particular wxWebView they are to be sent to.

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

21:46 Changeset [32862] by antti@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

2008-05-02 Antti Koivisto <antti@apple.com>

Reviewed by Mitz.


Test for <rdar://problem/5840475>
CrashTracer: [USER] 2 crashes in Safari at com.apple.WebCore: WebCore::RenderBlock::insertPositionedObject

  • fast/transforms/container-transform-crash-expected.txt: Added.
  • fast/transforms/container-transform-crash.html: Added.
21:44 Changeset [32861] by antti@apple.com
  • 2 edits in trunk/WebCore

2008-05-02 Antti Koivisto <antti@apple.com>

Reviewed by Mitz.

Fix <rdar://problem/5840475>
CrashTracer: [USER] 2 crashes in Safari at com.apple.WebCore: WebCore::RenderBlock::insertPositionedObject


Non-block objects can have transforms so containingBlock() could end up returning null.
RenderObject::container() needs to match.

Test: fast/transforms/container-transform-crash.html

  • rendering/RenderObject.cpp: (WebCore::RenderObject::containingBlock): (WebCore::RenderObject::container):
21:42 Changeset [32860] by oliver@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

Whoops, correctly handle properties that don't exist in the
symbol table.

Reviewed by Geoff

19:14 Changeset [32859] by oliver@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

Add attribute information to SymbolTable as ground work for
various DontEnum and ReadOnly issues.

Reviewed by Geoff

19:05 Changeset [32858] by ggaren@apple.com
  • 6 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Oliver Hunt.


More scaffolding for f.arguments.


Store the register file associated with an ExecState in the ExecState.


SunSpider reports no change.

  • kjs/JSGlobalObject.h: (KJS::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData): Moved registerFileStack above globalExec, so it gets initialized first. Removed remnants of old activation scheme.
18:48 Changeset [32857] by weinig@apple.com
  • 2 edits in trunk/WebCore

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

Roll out r32851. It broke tiger builds.

  • bindings/objc/DOMUtility.mm: (KJS::createDOMWrapper): (WebCore::createDOMWrapper):
18:11 Changeset [32856] by mjs@apple.com
  • 7 edits in branches/squirrelfish/JavaScriptCore

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

Rubber stamped by Oliver.


  • renamed a few opcodes and fixed assembly formatting to accomodate the longest opcode


equal --> eq
nequal --> neq
resolve_base_and_property --> resolve_with_base
resolve_base_and_func --> resolve_func
get_prop_id --> get_by_id
put_prop_id --> put_by_id
delete_prop_id --> del_by_id
get_prop_val --> get_by_val
put_prop_val --> put_by_val
delete_prop_val --> del_by_val
put_prop_index --> put_by_index


  • VM/CodeBlock.cpp: (KJS::printUnaryOp): (KJS::printBinaryOp): (KJS::printConditionalJump): (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitEqual): (KJS::CodeGenerator::emitNotEqual): (KJS::CodeGenerator::emitResolveWithBase): (KJS::CodeGenerator::emitResolveFunction): (KJS::CodeGenerator::emitGetById): (KJS::CodeGenerator::emitPutById): (KJS::CodeGenerator::emitDeleteById): (KJS::CodeGenerator::emitGetByVal): (KJS::CodeGenerator::emitPutByVal): (KJS::CodeGenerator::emitDeleteByVal): (KJS::CodeGenerator::emitPutByIndex):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::ArrayNode::emitCode): (KJS::PropertyListNode::emitCode): (KJS::BracketAccessorNode::emitCode): (KJS::DotAccessorNode::emitCode): (KJS::EvalFunctionCallNode::emitCode): (KJS::FunctionCallResolveNode::emitCode): (KJS::FunctionCallBracketNode::emitCode): (KJS::FunctionCallDotNode::emitCode): (KJS::PostIncResolveNode::emitCode): (KJS::PostDecResolveNode::emitCode): (KJS::PostIncBracketNode::emitCode): (KJS::PostDecBracketNode::emitCode): (KJS::PostIncDotNode::emitCode): (KJS::PostDecDotNode::emitCode): (KJS::DeleteResolveNode::emitCode): (KJS::DeleteBracketNode::emitCode): (KJS::DeleteDotNode::emitCode): (KJS::TypeOfResolveNode::emitCode): (KJS::PreIncResolveNode::emitCode): (KJS::PreDecResolveNode::emitCode): (KJS::PreIncBracketNode::emitCode): (KJS::PreDecBracketNode::emitCode): (KJS::PreIncDotNode::emitCode): (KJS::PreDecDotNode::emitCode): (KJS::ReadModifyResolveNode::emitCode): (KJS::AssignResolveNode::emitCode): (KJS::AssignDotNode::emitCode): (KJS::ReadModifyDotNode::emitCode): (KJS::AssignBracketNode::emitCode): (KJS::ReadModifyBracketNode::emitCode): (KJS::ConstDeclNode::emitCodeSingle): (KJS::ForInNode::emitCode): (KJS::TryNode::emitCode):
16:29 Changeset [32855] by oliver@apple.com
  • 3 edits
    3 adds in branches/squirrelfish

Fix assertion when accessing arguments object with too many arguments provided

Reviewed by Maciej

The arguments constructor was assuming that the register offset given for argv
was an absolute offset into the registerfile, rather than the offset from the
frame. This patches corrects that issue.

15:03 Changeset [32854] by mitz@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Sam Weinig.

Test: fast/gradients/crash-on-remove.html

  • css/CSSImageGeneratorValue.cpp: (WebCore::CSSImageGeneratorValue::CSSImageGeneratorValue): (WebCore::CSSImageGeneratorValue::addClient): Added a call to ref() the value. (WebCore::CSSImageGeneratorValue::removeClient): Added code to deref() the value.

LayoutTests:

Reviewed by Sam Weinig.

  • fast/gradients/crash-on-remove-expected.txt: Added.
  • fast/gradients/crash-on-remove.html: Added.
14:52 Changeset [32853] by weinig@apple.com
  • 5 edits in trunk/LayoutTests

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

Reviewed by Maciej Stachowiak.

Don't print out the full url.

  • fast/dom/Window/dom-access-from-closure-iframe-expected.txt:
  • fast/dom/Window/dom-access-from-closure-window-expected.txt:
  • fast/dom/Window/resources/dom-access-from-closure-iframe-child.html:
  • fast/dom/Window/resources/dom-access-from-closure-window-child.html:
14:52 Changeset [32852] by ddkilzer@apple.com
  • 2 edits in trunk/WebKit/mac

Make parameters match for WebChromeClient::addMessageToConsole()

Reviewed by John.

  • WebCoreSupport/WebChromeClient.h: (WebChromeClient::addMessageToConsole): Renamed sourceID parameter to sourceURL to match implementation in WebChromeClient.mm.
14:29 Changeset [32851] by weinig@apple.com
  • 2 edits in trunk/WebCore

2008-05-03 Sam Weinig <sam@webkit.org>

Reviewed by Mark Rowe.

Move createDOMWrapper(JSObject* object) out of the KJS namespace and into
the WebCore namespace now that the required compilers don't freak out about
this anymore.

  • bindings/objc/DOMUtility.mm: (WebCore::createDOMWrapper):
11:27 Changeset [32850] by ggaren@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

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

Rubber stamped by Sam Weinig.


Cleaned up Machine.cpp according to our style guidelines: moved static
data to the top of the file; moved stand-alone functions below that;
moved the Machine constructor above other Machine member functions.

05/03/08:

23:36 Changeset [32849] by rwlbuis@webkit.org
  • 5 edits in trunk

Reviewed by Sam.

https://bugs.webkit.org/show_bug.cgi?id=18652
onchange events don't seem to fire for input[type=range] controls.

Fire changeEvent when clicking the slider outside the current
thumb position.

18:04 Changeset [32848] by weinig@apple.com
  • 2 edits in trunk/WebCore

2008-05-03 Sam Weinig <sam@webkit.org>

Reviewed by Mark Rowe.

Remove unused enums from JSDOMWindowBase.

  • bindings/js/JSDOMWindowBase.h: (WebCore::JSDOMWindowBase::):
17:59 Changeset [32847] by weinig@apple.com
  • 2 edits in trunk/WebCore

2008-05-03 Sam Weinig <sam@webkit.org>

Real build fix.

  • WebCore.xcodeproj/project.pbxproj:
17:48 Changeset [32846] by weinig@apple.com
  • 2 edits in trunk/WebCore

2008-05-03 Sam Weinig <sam@webkit.org>

Build fix.

  • bindings/js/kjs_events.cpp: (WebCore::JSAbstractEventListener::handleEvent):
17:36 Changeset [32845] by weinig@apple.com
  • 1 edit
    16 adds in trunk/LayoutTests

2008-05-03 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Add tests that show our behavior when using closures from a global object
whose frame has been navigated.

Related to https://bugs.webkit.org/show_bug.cgi?id=17249.

  • fast/dom/Window/closure-access-after-navigation-iframe-expected.txt: Added.
  • fast/dom/Window/closure-access-after-navigation-iframe.html: Added.
  • fast/dom/Window/closure-access-after-navigation-window-expected.txt: Added.
  • fast/dom/Window/closure-access-after-navigation-window.html: Added.
  • fast/dom/Window/dom-access-from-closure-iframe-expected.txt: Added.
  • fast/dom/Window/dom-access-from-closure-iframe.html: Added.
  • fast/dom/Window/dom-access-from-closure-window-expected.txt: Added.
  • fast/dom/Window/dom-access-from-closure-window.html: Added.
  • fast/dom/Window/resources/closure-access-after-navigation-iframe-child-1.html: Added.
  • fast/dom/Window/resources/closure-access-after-navigation-iframe-child-2.html: Added.
  • fast/dom/Window/resources/closure-access-after-navigation-window-child-1.html: Added.
  • fast/dom/Window/resources/closure-access-after-navigation-window-child-2.html: Added.
  • fast/dom/Window/resources/dom-access-from-closure-iframe-child.html: Added.
  • fast/dom/Window/resources/dom-access-from-closure-window-child.html: Added.
  • fast/dom/Window/resources/notify-opener-done.html: Added.
  • fast/dom/Window/resources/notify-parent-done.html: Added.
17:02 Changeset [32844] by weinig@apple.com
  • 23 edits
    2 moves in trunk/WebCore

2008-05-03 Sam Weinig <sam@webkit.org>

Rubber-stamped by Geoffrey Garen.

Rename JSDOMWindowWrapper to JSDOMWindowShell.

14:40 Changeset [32843] by mjs@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-05-03 Maciej Stachowiak <mjs@apple.com>

Reviewed by Sam.


  • fix accidental breakage from last patch
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
14:08 Changeset [32842] by mjs@apple.com
  • 7 edits in branches/squirrelfish/JavaScriptCore

2008-05-03 Maciej Stachowiak <mjs@apple.com>

Reviewed by Geoff.


  • a bunch more opcode documentation and corresponding parameter name fixes

I renamed a few opcodes:


type_of --> typeof (that's what the JS operator is named)
instance_of --> instanceof (ditto)
create_error --> new_error (for consistency with other new_* opcodes)


I documented the following opcodes:


  • load
  • new_object
  • new_array
  • new_regexp
  • mov
  • pre_inc
  • pre_dec
  • post_inc
  • post_dec
  • to_jsnumber
  • negate
  • bitnot
  • not
  • instanceof
  • typeof
  • in
  • new_func
  • new_funcexp
  • new_error

I also fixed formatting on some existing opcode docs.


  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitMove): (KJS::CodeGenerator::emitNot): (KJS::CodeGenerator::emitPreInc): (KJS::CodeGenerator::emitPreDec): (KJS::CodeGenerator::emitPostInc): (KJS::CodeGenerator::emitPostDec): (KJS::CodeGenerator::emitToJSNumber): (KJS::CodeGenerator::emitNegate): (KJS::CodeGenerator::emitBitNot): (KJS::CodeGenerator::emitInstanceOf): (KJS::CodeGenerator::emitTypeOf): (KJS::CodeGenerator::emitIn): (KJS::CodeGenerator::emitLoad): (KJS::CodeGenerator::emitNewObject): (KJS::CodeGenerator::emitNewArray): (KJS::CodeGenerator::emitNewRegExp): (KJS::CodeGenerator::emitNewError):
  • VM/CodeGenerator.h: (KJS::CodeGenerator::scopeDepth): (KJS::CodeGenerator::addVar):
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::Node::emitThrowError): (KJS::RegExpNode::emitCode): (KJS::TypeOfValueNode::emitCode): (KJS::UnaryPlusNode::emitCode): (KJS::NegateNode::emitCode): (KJS::BitwiseNotNode::emitCode): (KJS::LogicalNotNode::emitCode): (KJS::InstanceOfNode::emitCode): (KJS::InNode::emitCode):
13:53 Changeset [32841] by mjs@apple.com
  • 2 edits
    2 adds in branches/squirrelfish/JavaScriptCore

2008-05-03 Maciej Stachowiak <mjs@apple.com>

Reviewed by Geoff and Sam.


  • generate HTML bytecode docs at build time
  • DerivedSources.make:
  • docs: Added.
  • docs/make-bytecode-docs.pl: Added.
13:35 Changeset [32840] by ggaren@apple.com
  • 7 edits in branches/squirrelfish/JavaScriptCore

2008-05-03 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Update ExecState::m_scopeChain when switching scope chains inside the
machine.


This fixes uses of lexicalGlobalObject, such as, in a subframe

alert(top.makeArray() instanceof Array ? "FAIL" : "PASS");


and a bunch of the security failures listed in
https://bugs.webkit.org/show_bug.cgi?id=18870. (Those tests still fail,
seemingly because of regressions in exception messages).


SunSpider reports no change.

  • VM/Machine.cpp: Factored out scope chain updating into a common function that takes care to update ExecState::m_scopeChain, too.
  • kjs/ExecState.h: I made Machine a friend of ExecState so that Machine could update ExecState::m_scopeChain, even though that value is read-only for everyone else.
  • kjs/JSGlobalObject.h: (KJS::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData): Changed this client to be a little friendlier to ExecState's internal storage type for scope chain data.
12:36 Changeset [32839] by ggaren@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-05-03 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Fixed https://bugs.webkit.org/show_bug.cgi?id=18876
Squirrelfish: ScopeChainNode leak in op_jmp_scopes.


SunSpider reports no change.

  • VM/Machine.cpp: (KJS::Machine::privateExecute): Don't construct a ScopeChain object, since the direct threaded interpreter will goto across its destructor.
02:14 Changeset [32838] by ggaren@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

2008-05-03 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


A bit more efficient fix than r32832: Don't copy globals into function
register files; instead, have the RegisterFileStack track only the base
of the last *global* register file, so the global object's register
references stay good.


SunSpider reports a .3% speedup. Not sure what that's about.

00:20 Changeset [32837] by oliver@apple.com
  • 6 edits in branches/squirrelfish/JavaScriptCore

Bug 18864: SquirrelFish: Support getter and setter definition in object literals
<https://bugs.webkit.org/show_bug.cgi?id=18864>

Reviewed by Maciej

Add new opcodes to allow us to add getters and setters to an object. These are
only used by the codegen for object literals.

Note: See TracTimeline for information about the timeline view.