Timeline


and

05/06/08:

23:33 Changeset [32945] by mitz@apple.com

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

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

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

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

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

21:10 Changeset [32940] by mjs@apple.com

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

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

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

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

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

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

Fix tyop

18:27 Changeset [32933] by andersca@apple.com

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

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

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

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

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

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

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

15:44 Changeset [32926] by cfleizach@apple.com

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

Now it does

15:17 Changeset [32925] by alice.liu@apple.com

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

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

15:15 Changeset [32923] by andersca@apple.com

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

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

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

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

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

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

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

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

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

Rubber stamped by Alp.

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

13:17 Changeset [32913] by alp@webkit.org

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

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

<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

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

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

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

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

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

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

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

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

06:12 Changeset [32902] by hausmann@webkit.org

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

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

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

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

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

Review by Geoff

20:14 Changeset [32897] by beidson@apple.com

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

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

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

Merged r32711.

17:21 Changeset [32893] by sfalken@apple.com

Merged r32699, 32701, 32702, 32704.

17:15 Changeset [32892] by sfalken@apple.com

Merged r32698.

17:08 Changeset [32891] by sfalken@apple.com

Merged r32659.

17:01 Changeset [32890] by kmccullough@apple.com

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

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

Merged r32656, r32657.

16:31 Changeset [32887] by antti@apple.com

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

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

New tag.

15:57 Changeset [32884] by beidson@apple.com

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Reviewed by Geoff

19:14 Changeset [32859] by oliver@apple.com

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

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

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

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

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

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

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

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

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

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

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

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

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

Real build fix.

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

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

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

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

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

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

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

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

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

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

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.

05/02/08:

23:44 Changeset [32836] by rwlbuis@webkit.org

Reviewed by Eric.

https://bugs.webkit.org/show_bug.cgi?id=18568
background: currentColor fails

Implement currentColor from CSS3 color module.

Tests: fast/css/background-currentcolor.html

23:43 Changeset [32835] by mrowe@apple.com

Versioning.

23:40 Changeset [32834] by mrowe@apple.com

Merge r32649.

23:30 Changeset [32833] by mrowe@apple.com

New tag.

22:40 Changeset [32832] by mjs@apple.com

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

Reviewed by Oliver.


  • properly copy globals into and out of implicit call register files, otherwise they will fail at global lookup

Fixes fast/js/array-tostring-and-join.html layout test.


  • VM/RegisterFileStack.cpp: (KJS::RegisterFileStack::pushGlobalRegisterFile): (KJS::RegisterFileStack::popGlobalRegisterFile): (KJS::RegisterFileStack::pushFunctionRegisterFile): (KJS::RegisterFileStack::popFunctionRegisterFile):
19:25 Changeset [32831] by ggaren@apple.com

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

Reviewed by Oliver Hunt.


Fixed https://bugs.webkit.org/show_bug.cgi?id=18822
SQUIRRELFISH: incorrect eval used in some cases


Changed all code inside the machine to fetch the lexical global object
directly from the scope chain, instead of from the ExecState.


Clients who fetch the lexical global object through the ExecState
still don't work.


SunSpider reports no change.

  • VM/Machine.cpp: (KJS::Machine::privateExecute): Fetch the lexical global object from the scope chain.


  • kjs/ExecState.h: (KJS::ExecState::ExecState::lexicalGlobalObject): Moved the logic for this function into ScopeChainNode, but kept this function around to support existing clients.
17:44 Changeset [32830] by andersca@apple.com

WebCore:

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

Reviewed by Mark.

Turns out calling locationInWindow on keyboard events will not throw an exception,
but the point returned is completely bogus, so remove coordinates from the keyboard event struct.


  • bridge/npapi.h: (_NPCocoaEvent::):

WebKit/mac:

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

Reviewed by Mark.

Various Cocoa event model and 64-bit plug-in fixes.


  • Plugins/WebNetscapePluginEventHandlerCocoa.mm: (WebNetscapePluginEventHandlerCocoa::sendMouseEvent): Set click count.


(WebNetscapePluginEventHandlerCocoa::flagsChanged):
(WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
Don't try to get the mouse location for keyboard events.


  • Plugins/WebPluginPackage.m: (-[WebPluginPackage initWithPath:]): Preflight the bundle so we won't show 32-bit WebKit plug-ins when running as 64-bit.
17:21 Changeset [32829] by andersca@apple.com

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

Reviewed by Mark.

Add an "x86_64" make rule.


  • Makefile.shared:
16:10 Changeset [32828] by alp@webkit.org

2008-05-02 Benjamin Otte <otte@gnome.org>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=18856
[GTK] variable initialization missing

Not initializing the m_needsXEmbed variable could have very funny
results. Most often those results would be crashes.

  • plugins/PluginView.cpp: (WebCore::PluginView::PluginView):
15:21 Changeset [32827] by alp@webkit.org

2008-05-02 Jan Michael Alonzo <jmalonzo@unpluggable.com>

Reviewed by Eric.

https://bugs.webkit.org/show_bug.cgi?id=18811
Enable dashboard and offline web apps in autotools

14:07 Changeset [32826] by mrowe@apple.com

Merge r32654.

14:04 Changeset [32825] by mrowe@apple.com

Versioning.

14:02 Changeset [32824] by mrowe@apple.com

New tag.

13:21 Changeset [32823] by mrowe@apple.com

Merge r32706.

13:05 Changeset [32822] by ap@webkit.org

Reviewed by Geoffrey Garen.

Get rid of static data in nodes.cpp (well, at least of non-debug one).

No measurable change on SunSpider.

  • kjs/InitializeThreading.cpp: (KJS::initializeThreadingOnce):
  • kjs/nodes.cpp: (KJS::newTrackedObjects): (KJS::trackedObjectExtraRefCounts): (KJS::initializeNodesThreading): (KJS::ParserRefCounted::ParserRefCounted): (KJS::ParserRefCounted::ref): (KJS::ParserRefCounted::deref): (KJS::ParserRefCounted::refcount): (KJS::ParserRefCounted::deleteNewObjects):
  • kjs/nodes.h: Made newTrackedObjects and trackedObjectExtraRefCounts per-thread.
12:23 Changeset [32821] by andersca@apple.com

WebCore:

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

Reviewed by Sam.

Name the event union so it will work in plain C.

  • bridge/npapi.h: (_NPCocoaEvent::):

WebKit/mac:

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

Reviewed by Sam.

The event union is now named.


  • Plugins/WebNetscapePluginEventHandlerCocoa.mm: (WebNetscapePluginEventHandlerCocoa::drawRect): (WebNetscapePluginEventHandlerCocoa::sendMouseEvent): (WebNetscapePluginEventHandlerCocoa::flagsChanged): (WebNetscapePluginEventHandlerCocoa::sendKeyEvent): (WebNetscapePluginEventHandlerCocoa::windowFocusChanged): (WebNetscapePluginEventHandlerCocoa::focusChanged):
11:15 Changeset [32820] by andersca@apple.com

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

Reviewed by Mark.

Make sure that 32-bit only plug-ins aren't shown when running as 64-bit.


Call preflightAndReturnError on the bundle, which will check if any of the architectures
in the bundle match the current architecture.


  • Plugins/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage _initWithPath:]):
11:10 Changeset [32819] by ap@webkit.org

Reviewed by Darin.

Move call stack depth counter to global object.

  • kjs/ExecState.h: (KJS::ExecState::functionCallDepth): Added a recursion depth counter to per-thread data.
  • kjs/JSGlobalObject.cpp: (KJS::JSGlobalObject::init): Initialize PerThreadData.functionCallDepth.
  • kjs/JSGlobalObject.h: (KJS::JSGlobalObject::perThreadData): Made the result non-const.
  • kjs/object.cpp: (KJS::throwStackSizeExceededError): Moved throwError to a separate function, since it is now the only thing in JSObject::call that needs a PIC branch. (KJS::JSObject::call): Use a per-thread variable instead of local static for recursion depth tracking.
10:53 Changeset [32818] by mitz@apple.com

Reviewed by Adam Roben.

  • add an option to svn-apply to set the reviewer name in change logs
Scripts/svn-apply: Added a [-rreviewer name] option.
09:15 Changeset [32817] by mitz@apple.com

WebCore:

Reviewed by John Sullivan.

  • render text shadows with zero offset, as the shadow can be seen behind the text if the text is translucent

Test: fast/text/shadow-no-blur.html

  • platform/graphics/mac/FontMac.mm: (WebCore::Font::drawComplexText): Removed the isEmpty() condition on the shadow offset. Since isEmpty() is also true for sizes that have one or more non-positive components, this also ensures that subpixel antialiasing of the text is maintained with shadows in all directions. (WebCore::Font::drawGlyphs): Ditto.
  • platform/graphics/win/FontCGWin.cpp: (WebCore::Font::drawGlyphs): Ditto.

LayoutTests:

Reviewed by John Sullivan.

  • add pixel test for text shadows with zero blur and various offsets, including zero offset
  • fast/text/shadow-no-blur.html: Added.
  • platform/mac/fast/text/shadow-no-blur-expected.checksum: Added.
  • platform/mac/fast/text/shadow-no-blur-expected.png: Added.
  • platform/mac/fast/text/shadow-no-blur-expected.txt: Added.
07:48 Changeset [32816] by hausmann@webkit.org

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

Updated Qt layout-tests to match changes in font metrics.

07:09 Changeset [32815] by hausmann@webkit.org

Ariya Hidayat <ariya.hidayat@trolltech.com>

Build the Qt port with SVG Use and As Image support.

06:40 Changeset [32814] by hausmann@webkit.org

Ariya Hidayat <ariya.hidayat@trolltech.com>

Fixed potential crash on SVG animation (added more checks to the assert).

06:21 Changeset [32813] by hausmann@webkit.org

Benjamin Meyer <bmeyer@trolltech.com>

Doc: Mention that you have to enable plugins in QWebSettings for them to work.

06:07 Changeset [32812] by ap@webkit.org

Rubber-stamped by John Sullivan.

Fix a debug-only crash in layout tests.

  • loader/CachedResource.cpp: (WebCore::CachedResource::~CachedResource): Don't call resourceForURL() for null URLs.
05:07 Changeset [32811] by hausmann@webkit.org

Fix the Qt build on Windows when Phonon is enabled for Audio/Video support

04:04 Changeset [32810] by hausmann@webkit.org

Fix the Qt build, add ExecState where required.

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

Fix the Qt/Win build.

03:29 Changeset [32808] by ap@webkit.org

Reviewed by Darin.

Make JavaScriptGlue and JavaScriptCore API functions implicitly call initializeThreading
for the sake of non-WebKit clients.

JavaScriptCore:

  • API/JSBase.cpp: (JSGarbageCollect):
  • API/JSContextRef.cpp: (JSGlobalContextCreate): These are the JavaScriptCore API bottlenecks. There are a few other JSStringRef and JSClassRef functions that can be called earlier, but they do not do anything that requires initializeThreading.
  • kjs/InitializeThreading.cpp: (KJS::doInitializeThreading): (KJS::initializeThreading): On Darwin, make the initialization happen under pthread_once, since there is no guarantee that non-WebKit clients won't try to call this function re-entrantly.
  • kjs/InitializeThreading.h:
  • wtf/Threading.h: Spell out initializeThreading contract.
  • wtf/ThreadingPthreads.cpp: (WTF::isMainThread): Make sure that results are correct on Darwin, even if threading was initialized from a secondary thread.

JavaScriptGlue:

  • JavaScriptGlue.cpp: (JSRunCreate): (JSCollect): (JSCreateJSArrayFromCFArray): (JSLockInterpreter): These are all possible JavaScriptGlue entry points.
03:07 Changeset [32807] by ap@webkit.org

Reviewed by Geoffrey Garen.

https://bugs.webkit.org/show_bug.cgi?id=18826
Make JavaScript heap per-thread

02:55 Changeset [32806] by hausmann@webkit.org

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

Reviewed by Simon.

Build the Qt port with SVG Animation support.

00:55 Changeset [32805] by mitz@apple.com

Reviewed by Maciej Stachowiak.

  • Mac build fix
  • wtf/StrHash.h: Added header guards and removed #include "config.h".
00:39 Changeset [32804] by hausmann@webkit.org

Build fix for Qt/Gtk. Don't declare NP_InitializeFuncPtr twice
with different signatures.

00:27 Changeset [32803] by ggaren@apple.com

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

Rubber stamped by Oliver Hunt.


Removed ExecState.cpp from AllInOneFile.cpp, for a .2% speedup.

Note: See TracTimeline for information about the timeline view.