antti [Mon, 10 Sep 2007 14:55:11 +0000 (14:55 +0000)]
WebCore:
Reviewed by Kevin.
Fix <rdar://problem/
5444866>
REGRESSION: missing text in Acrobat "Getting Started" screen due to change in load ordering of large resources
Make external scripts loaded using file: wait until all style sheet loads have completed before executing.
Fixes a class of problems where there is a dependency between script and stylesheet and results would effectively
get randomized based on which order the resources arrived. In Tiger file loads were effectively serialized by
lower level components, which is why this regressed.
Test: http/tests/local/stylesheet-and-script-load-order.html
* dom/Document.cpp:
(WebCore::Document::removePendingSheet):
* dom/Tokenizer.h:
(WebCore::Tokenizer::executeScriptsWaitingForStylesheets):
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::HTMLTokenizer):
(WebCore::HTMLTokenizer::begin):
(WebCore::HTMLTokenizer::executeScriptsWaitingForStylesheets):
(WebCore::HTMLTokenizer::notifyFinished):
* html/HTMLTokenizer.h:
LayoutTests:
Reviewed by Kevin.
Test for <rdar://problem/
5444866>
REGRESSION: missing text in Acrobat "Getting Started" screen due to change in load ordering of large resources
* http/tests/local/stylesheet-and-script-load-order-expected.txt: Added.
* http/tests/local/stylesheet-and-script-load-order.html: Added.
* http/tests/local/stylesheet-dependent.js: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25466
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Mon, 10 Sep 2007 04:56:37 +0000 (04:56 +0000)]
Disable more occasionally failing tests.
* http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe.html: Removed.
* http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe.html-disabled: Copied from http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe.html.
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-window-open.html: Removed.
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-window-open.html-disabled: Copied from http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-window-open.html.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25465
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dsmith [Mon, 10 Sep 2007 03:32:23 +0000 (03:32 +0000)]
Reviewed by Maciej Stachowiak.
http://bugs.webkit.org/show_bug.cgi?id=15148
Bug 15148: Poor performance on crazy DOM raytracer
Switch data structures to avoid quadratic behavior.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutPositionedObjects): Update for ListHashSet
(WebCore::RenderBlock::markPositionedObjectsForLayout): Update for ListHashSet
(WebCore::RenderBlock::insertPositionedObject): Use ListHashSet to avoid expensive uniqueing
(WebCore::RenderBlock::removePositionedObject): Update for ListHashSet
(WebCore::RenderBlock::removePositionedObjects): Update for ListHashSet
(WebCore::RenderBlock::lowestPosition): Update for ListHashSet
(WebCore::RenderBlock::rightmostPosition): Update for ListHashSet
(WebCore::RenderBlock::leftmostPosition): Update for ListHashSet
(WebCore::RenderBlock::rightBottom): Update for ListHashSet
* rendering/RenderBlock.h: Change m_positionedObjects from DeprecatedPtrList to ListHashSet
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25464
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson [Mon, 10 Sep 2007 02:08:21 +0000 (02:08 +0000)]
Rubberstamped by Darin
pthread_main_np() is a Darwin thing, not a Mac thing
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::IconDatabase):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25463
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Mon, 10 Sep 2007 00:05:08 +0000 (00:05 +0000)]
WebKitTools:
Reviewed by Mark Rowe.
Remove 'objC' prefix from methods now in the ObjCController.
* DumpRenderTree/ObjCController.m:
(+[ObjCController isSelectorExcludedFromWebScript:]):
(+[ObjCController webScriptNameForSelector:]):
(-[ObjCController classNameOf:]):
(-[ObjCController objectOfClass:]):
(-[ObjCController identityIsEqual::]):
(-[ObjCController longLongRoundTrip:]):
(-[ObjCController unsignedLongLongRoundTrip:]):
LayoutTests:
Reviewed by Mark Rowe.
Update tests now that the 'objC' prefix is no longer used for methods of the ObjCController.
* fast/dom/wrapper-classes.html:
* platform/mac/fast/objc/longlongTest.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25462
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Sun, 9 Sep 2007 23:41:07 +0000 (23:41 +0000)]
WebKitTools:
Reviewed by Oliver.
Initial refactor of DumpRenderTree in preparation of making it more platform independent.
- Move LayoutTestController into its own file.
- Move Objective-C only functions on LayoutTestController into a new controller called the
ObjCController.
* DumpRenderTree/DumpRenderTree.h:
* DumpRenderTree/DumpRenderTree.m:
(displayWebView):
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/FrameLoadDelegate.m:
(-[FrameLoadDelegate webView:didClearWindowObject:forFrame:]):
* DumpRenderTree/LayoutTestController.h: Added.
* DumpRenderTree/LayoutTestController.m: Added.
(+[LayoutTestController isSelectorExcludedFromWebScript:]):
(+[LayoutTestController webScriptNameForSelector:]):
(-[LayoutTestController clearBackForwardList]):
(-[LayoutTestController setUseDashboardCompatibilityMode:]):
(-[LayoutTestController setCloseRemainingWindowsWhenComplete:]):
(-[LayoutTestController setCustomPolicyDelegate:]):
(-[LayoutTestController keepWebHistory]):
(-[LayoutTestController setCallCloseOnWebViews:]):
(-[LayoutTestController setCanOpenWindows]):
(-[LayoutTestController waitUntilDone]):
(-[LayoutTestController waitUntilDoneWatchdogFired]):
(-[LayoutTestController notifyDone]):
(-[LayoutTestController dumpAsText]):
(-[LayoutTestController addFileToPasteboardOnDrag]):
(-[LayoutTestController addDisallowedURL:]):
(-[LayoutTestController setUserStyleSheetLocation:]):
(-[LayoutTestController setUserStyleSheetEnabled:]):
(-[LayoutTestController dumpDOMAsWebArchive]):
(-[LayoutTestController dumpSourceAsWebArchive]):
(-[LayoutTestController dumpSelectionRect]):
(-[LayoutTestController dumpTitleChanges]):
(-[LayoutTestController dumpBackForwardList]):
(-[LayoutTestController windowCount]):
(-[LayoutTestController dumpChildFrameScrollPositions]):
(-[LayoutTestController dumpChildFramesAsText]):
(-[LayoutTestController dumpEditingCallbacks]):
(-[LayoutTestController dumpResourceLoadCallbacks]):
(-[LayoutTestController dumpFrameLoadCallbacks]):
(-[LayoutTestController setWindowIsKey:]):
(-[LayoutTestController setMainFrameIsFirstResponder:]):
(-[LayoutTestController display]):
(-[LayoutTestController testRepaint]):
(-[LayoutTestController repaintSweepHorizontally]):
(-[LayoutTestController invokeUndefinedMethodFromWebScript:withArguments:]):
(-[LayoutTestController _addWorkForTarget:selector:arg1:arg2:]):
(-[LayoutTestController _doLoad:target:]):
(-[LayoutTestController _doBackOrForwardNavigation:]):
(-[LayoutTestController queueBackNavigation:]):
(-[LayoutTestController queueForwardNavigation:]):
(-[LayoutTestController queueReload]):
(-[LayoutTestController queueScript:]):
(-[LayoutTestController queueLoad:target:]):
(-[LayoutTestController setAcceptsEditing:]):
(-[LayoutTestController setTabKeyCyclesThroughElements:]):
(-[LayoutTestController storeWebScriptObject:]):
(-[LayoutTestController accessStoredWebScriptObject]):
(-[LayoutTestController dealloc]):
(-[LayoutTestController decodeHostName:]):
(-[LayoutTestController encodeHostName:]):
* DumpRenderTree/ObjCController.h: Added.
* DumpRenderTree/ObjCController.m: Added.
(+[ObjCController isSelectorExcludedFromWebScript:]):
(+[ObjCController webScriptNameForSelector:]):
(-[ObjCController objCClassNameOf:]):
(-[ObjCController objCObjectOfClass:]):
(-[ObjCController objCIdentityIsEqual::]):
(-[ObjCController objCLongLongRoundTrip:]):
(-[ObjCController objCUnsignedLongLongRoundTrip:]):
(-[ObjCController testWrapperRoundTripping:]):
LayoutTests:
Reviewed by Oliver.
Change objective-c tests to use the new ObjCController.
* fast/dom/Window/window-properties.html:
* fast/dom/wrapper-classes.html:
* platform/mac/fast/dom/wrapper-round-tripping.html:
* platform/mac/fast/objc/longlongTest.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25461
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zecke [Sun, 9 Sep 2007 13:23:22 +0000 (13:23 +0000)]
2007-09-09 Holger Hans Peter Freyther <zecke@selfish.org>
Build fix for Gtk+ by adding WebCore::callOnMainThread to the TemporaryLinkStubs.
* platform/gdk/TemporaryLinkStubs.cpp:
(WebCore::callOnMainThread):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25459
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Sun, 9 Sep 2007 07:11:23 +0000 (07:11 +0000)]
Rubber-stamped by Oliver.
Disable occasionally failing tests until the reason for their failure can be determined.
* http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-window-open.html: Removed.
* http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-window-open.html-disabled: Copied from http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-window-open.html.
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-location-change.html: Removed.
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-location-change.html-disabled: Copied from http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-location-change.html.
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe.html: Removed.
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe.html-disabled: Copied from http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe.html.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25458
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
staikos [Sun, 9 Sep 2007 05:31:43 +0000 (05:31 +0000)]
missed file in previous checkin
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25457
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
staikos [Sun, 9 Sep 2007 05:14:55 +0000 (05:14 +0000)]
implement a couple of FileSystem functions and stub out the new thread function
for future implementation
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25456
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Sun, 9 Sep 2007 03:13:46 +0000 (03:13 +0000)]
2007-09-08 Mark Rowe <mrowe@apple.com>
Build fix for when ENABLE(ICONDATABASE) is not set.
* loader/icon/IconDatabaseNone.cpp:
(WebCore::IconDatabase::~IconDatabase):
2007-09-08 Mark Rowe <mrowe@apple.com>
Qt build fix. Move stub method implementations to the right class.
* WebCoreSupport/FrameLoaderClientQt.cpp:
(WebCore::FrameLoaderClientQt::didPerformFirstNavigation):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25455
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Sun, 9 Sep 2007 02:50:16 +0000 (02:50 +0000)]
2007-09-08 Mark Rowe <mrowe@apple.com>
More fixes for the Qt and Gtk builds.
* WebCore.pro: Update for file changes.
* loader/icon/IconDatabase.cpp: Include errno.h for EDEADLK.
* loader/icon/PageURLRecord.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25454
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Sun, 9 Sep 2007 00:22:32 +0000 (00:22 +0000)]
WebCore:
Backing my change back in without the changes to VisiblePosition::next
and previous that weren't necessary to fix the bug and were causing some
layout test failures. Most of the failures appeared to be fixes but I
want more time to investigate and have to move to on to another task.
* editing/Selection.cpp:
(WebCore::Selection::validate):
* editing/visible_units.cpp:
(WebCore::endOfWord):
LayoutTests:
Re-enabling these tests.
* editing/selection/
5057506-2.html: Added.
* editing/selection/
5057506-2.html-disabled: Removed.
* editing/selection/
5057506.html: Added.
* editing/selection/
5057506.html-disabled: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25453
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson [Sat, 8 Sep 2007 23:15:40 +0000 (23:15 +0000)]
Reviewed by Mark Rowe
Fix the _NSAutoreleaseNoPool() errors on launch - We were using NSFileManager on the secondary
thread with no NSAutoreleasePool in place
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::iconDatabaseSyncThread):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25452
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Sat, 8 Sep 2007 22:45:55 +0000 (22:45 +0000)]
Add fix to the correct file.
* loader/icon/SQLDatabase.h:
* loader/icon/SQLStatement.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25451
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Sat, 8 Sep 2007 22:25:21 +0000 (22:25 +0000)]
Fix Windows build.
* loader/icon/SQLStatement.h: Disable boolean conversion warning.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25450
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson [Sat, 8 Sep 2007 21:44:17 +0000 (21:44 +0000)]
YABF (Yet Another Build Fix)
* Api/qwebsettings.cpp:
(QWebSettings::iconDatabaseEnabled):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25448
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson [Sat, 8 Sep 2007 21:35:30 +0000 (21:35 +0000)]
Better build fix
* WebCoreSupport/FrameLoaderClientGtk.cpp:
(WebKit::FrameLoaderClient::registerForIconNotification):
* WebCoreSupport/FrameLoaderClientGtk.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25447
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson [Sat, 8 Sep 2007 21:30:05 +0000 (21:30 +0000)]
Better build fix
* WebCoreSupport/FrameLoaderClientQt.cpp:
(WebCore::FrameLoaderClient::registerForIconNotification):
* WebCoreSupport/FrameLoaderClientQt.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25446
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson [Sat, 8 Sep 2007 21:24:21 +0000 (21:24 +0000)]
Build fix
* WebCoreSupport/FrameLoaderClientGtk.cpp:
(WebKit::FrameLoaderClient::registerForIconNotification):
* WebCoreSupport/FrameLoaderClientGtk.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25445
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson [Sat, 8 Sep 2007 21:19:04 +0000 (21:19 +0000)]
Build fix
* WebCoreSupport/FrameLoaderClientQt.cpp:
(WebCore::FrameLoaderClient::registerForIconNotification):
* WebCoreSupport/FrameLoaderClientQt.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25444
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson [Sat, 8 Sep 2007 21:09:22 +0000 (21:09 +0000)]
Build fix for non-Mac platforms that use Icon Database
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::IconDatabase): Apparently only Mac has the beauty that is pthread_main_np()
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25443
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Sat, 8 Sep 2007 20:58:03 +0000 (20:58 +0000)]
Versioning.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25442
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Sat, 8 Sep 2007 20:48:15 +0000 (20:48 +0000)]
2007-09-08 Mark Rowe <mrowe@apple.com>
Build fix.
* WebCore.xcodeproj/project.pbxproj: Headers used up in WebKit need to be be "private" rather than "project".
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25440
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson [Sat, 8 Sep 2007 20:33:08 +0000 (20:33 +0000)]
WebCore:
Reviewed by Darin
<rdar://problem/
5434431> - Asynchronous Icon Database
The IconDatabase API was originally designed to be fully asynchronous - if an icon wasn't read in from disk
when you asked for it, you would be notified when it was.
Safari 2 did writes on a background thread, but reads blocked the main thread.
The current WebCore implementation using SQLite attempted to get rid of the background thread by defering expensive
writes via timers, but falls short in moderate to extreme usage cases
Time to make the IconDatabase live up to it's fully asynchronous destiny.
This should -
- Make the browser instantly usable while converting Safari 2 icons in the background occurs
- Remedy any UI slowness/blocking when on slow network home directories
- Remedy random UI slowness, pauses, and stutters do to random I/O occurring at the exact wrong time or under heavy
disk usage from swapping or other apps on the system
- Allow certain long-running procedures to be interruptible (Safari 2 import, reading icons in from disk when trying to quit, etc)
This will have a noticeable effect on current Safari 2 and Safari 3 beta browsers, including icons not appearing in bookmarks, history,
or the location field the first time they're asked for, as current released Safari's don't properly listen for these async notifations.
The second time such a menu or view is brought up, the icon should be there.
Additionally this includes a SQLite schema change which will be a lot more efficient but will result in the loss of current SQLite icons.
Converting from Safari 2 style icons will still work.
WebCore, welcome to multi-threadedness
* WebCore.exp:
* WebCore.xcodeproj/project.pbxproj:
* WebCore.vcproj/WebCore.vcproj:
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::iconLoadDecisionAvailable): Called when an Icon becomes available that was requested by this
DocumentLoader (to support the webView:didReceiveIcon: delegate call in WebKit)
* loader/DocumentLoader.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::iconLoadDecisionAvailable): Called from the DocumentLoaders who get notified - if the FrameLoader
ends up not caring because the WebView has transitioned to a new page, nothing occurs. Otherwise, the FrameLoader possibly
starts it Icon Loader and possibly sends the webView:didReceiveIcon: delegate call
(WebCore::FrameLoader::startIconLoader): Instead of "Yes, load the icon now" or "No, don't load it" there is a third possibility -
"You might be asked to load your icon later." Add supporting logic for receiving this state, and being called a second time
when the load decision is finally available.
* loader/FrameLoader.h:
* loader/FrameLoaderClient.h: Added "registerForIconNotification" which is a way to tell WebViews "The icon you are interested in might
become available via the generic WebIconDatabaseDidAddIconNotification instead of a targeted delegate call"
A WebView can then receive the generic notification and pass on it's own targeted delegate call.
* loader/icon/IconDataCache.cpp: Removed.
* loader/icon/IconDataCache.h: Removed.
* loader/icon/IconDatabase.cpp:
(WebCore::urlForLogging): Cut a URL down in length for sane logging and debugging
(WebCore::defaultClient): Return the default, empty IconDatabaseClient incase the API doesn't set one.
Following block of methods are for the Main thread's usage -
(WebCore::IconDatabase::setClient):
(WebCore::makeAllDirectories): Small optimization that checks to see if the entire path exists already, and doesn't try to loop
through each patch component if the full path is already present
(WebCore::IconDatabase::open): Makes all directories to the target path and kicks off the background thread - nothing more.
(WebCore::IconDatabase::close): Signals the thread to quit and waits for it to do so
(WebCore::IconDatabase::removeAllIcons): Purge the icon database
(WebCore::IconDatabase::iconForPageURL):
(WebCore::IconDatabase::readIconForPageURLFromDisk):
(WebCore::IconDatabase::iconURLForPageURL):
(WebCore::IconDatabase::defaultIcon):
(WebCore::IconDatabase::retainIconForPageURL):
(WebCore::IconDatabase::releaseIconForPageURL):
(WebCore::IconDatabase::setIconDataForIconURL):
(WebCore::IconDatabase::setIconURLForPageURL):
(WebCore::IconDatabase::loadDecisionForIconURL): Determine if an icon loader should load now. If the decision is "maybe later", then
mark the DocumentLoader to be notified later when the final decision is available.
(WebCore::IconDatabase::iconDataKnownForIconURL): Determine if the actual image data has been read from disk (or set from the loader) for
icon URL in question
(WebCore::IconDatabase::setEnabled):
(WebCore::IconDatabase::isEnabled):
(WebCore::IconDatabase::setPrivateBrowsingEnabled):
(WebCore::IconDatabase::isPrivateBrowsingEnabled):
(WebCore::IconDatabase::delayDatabaseCleanup): Restore this method from a year ago, as asynchronous pruning of icons can now occur on a
background thread.
(WebCore::IconDatabase::allowDatabaseCleanup):
(WebCore::IconDatabase::checkIntegrityBeforeOpening):
(WebCore::IconDatabase::pageURLMappingCount):
(WebCore::IconDatabase::retainedPageURLCount):
(WebCore::IconDatabase::iconRecordCount):
(WebCore::IconDatabase::iconRecordCountWithData):
(WebCore::IconDatabase::IconDatabase):
(WebCore::IconDatabase::~IconDatabase):
(WebCore::IconDatabase::notifyPendingLoadDecisions): Tell all the registered DocumentLoaders "Hey, we've read in all URL mappings from disk,
so check to see if you are interested in any of them"
(WebCore::IconDatabase::notifyPendingLoadDecisionsInternal):
(WebCore::IconDatabase::wakeSyncThread): Wake the sync thread, if it is idle
(WebCore::IconDatabase::scheduleOrDeferSyncTimer): Even though we're on a background thread, we still defer writing out to disk during
periods of high activity
(WebCore::IconDatabase::syncTimerFired): Call wakeSyncThread()
Following block of methods may be used by either thread -
(WebCore::IconDatabase::isOpen):
(WebCore::IconDatabase::databasePath):
(WebCore::IconDatabase::defaultDatabaseFilename):
(WebCore::IconDatabase::getOrCreateIconRecord):
(WebCore::IconDatabase::getOrCreatePageURLRecord):
Following block of methods are used by the secondary thread only -
(WebCore::IconDatabase::importIconURLForPageURL): For the Safari 2 import procedure - write a URL mapping directly out to disk
(WebCore::IconDatabase::importIconDataForIconURL): For the Safari 2 import procedure - write an Icon directly out to disk
(WebCore::IconDatabase::shouldStopThreadActivity): To check and see if the thread should stop what it is doing now to do something
more important (such as quit, or delete all icons)
(WebCore::IconDatabase::iconDatabaseSyncThreadStart):
(WebCore::IconDatabase::iconDatabaseSyncThread): Entry point for the background thread
(WebCore::databaseVersionNumber):
(WebCore::isValidDatabase):
(WebCore::createDatabaseTables):
(WebCore::IconDatabase::performOpenInitialization): Open and validate the SQLite database, making sure it's schema jives with what
is expected
(WebCore::IconDatabase::checkIntegrity):
(WebCore::IconDatabase::performURLImport): Import all the Page URL -> Icon URL mappings from the database. Done "1st thing" on startup,
this is necessary to be able to give the loader decisions about whether or not it should load icons from the network
(WebCore::IconDatabase::syncThreadMainLoop): Main loop - sleeps until woken up, then does a read cycle and a write cycle until both cycles
do no work - then it goes back to sleep.
(WebCore::IconDatabase::readFromDatabase): Reads icons from the database that clients are waiting on
(WebCore::IconDatabase::writeToDatabase): Writes any changes page -> icon url mappings to disk, as well as any new image data that has
been received from the loader
(WebCore::IconDatabase::pruneUnretainedIcons): Done only once, and only after the first write to the database, this procedure removes all
icons and page URLs from disk that haven't been retained by any client. Note that the prune can be delayed by utilizing delayDatabaseCleanup()
(WebCore::IconDatabase::checkForDanglingPageURLs): Usually part of the prune procedure, prunes any pages who point to icons that no longer exist
in the database
(WebCore::IconDatabase::removeAllIconsOnThread): Completely purge both the on-disk and in memory records of all icons
(WebCore::IconDatabase::deleteAllPreparedStatements): Part of removeAllIcons and the thread cleanup procedure
(WebCore::IconDatabase::cleanupSyncThread): Write out any last remaining writes to disk, close the database, and then end the thread
(WebCore::IconDatabase::imported): Checks the DB to see if the Safari 2 import has occured
(WebCore::IconDatabase::setImported): Sets the "Safari 2 imported" flag
(WebCore::readySQLStatement):
(WebCore::IconDatabase::setIconURLForPageURLInSQLDatabase): This and the following "SQLDatabase" suffixed methods are pretty self explanatory
(WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase):
(WebCore::IconDatabase::removePageURLFromSQLDatabase):
(WebCore::IconDatabase::getIconIDForIconURLFromSQLDatabase):
(WebCore::IconDatabase::addIconURLToSQLDatabase):
(WebCore::IconDatabase::getImageDataForIconURLFromSQLDatabase):
(WebCore::IconDatabase::removeIconFromSQLDatabase):
(WebCore::IconDatabase::writeIconSnapshotToSQLDatabase):
* loader/icon/IconDatabase.h:
* loader/icon/IconDatabaseClient.h: Added.
(WebCore::IconDatabaseClient::~IconDatabaseClient):
(WebCore::IconDatabaseClient::performImport): Perform the Safari 2 import, implemented by WebKit
(WebCore::IconDatabaseClient::dispatchDidRemoveAllIcons): Send the API notification
(WebCore::IconDatabaseClient::dispatchDidAddIconForPageURL): Ditto
* loader/icon/IconDatabaseNone.cpp: Best attempt to keep non icon-DB platforms building
(WebCore::IconDatabase::defaultDatabaseFilename):
(WebCore::IconDatabase::readIconForPageURLFromDisk):
(WebCore::IconDatabase::loadDecisionForIconURL):
(WebCore::IconDatabase::iconDataKnownForIconURL):
(WebCore::IconDatabase::setIconURLForPageURL):
(WebCore::IconDatabase::isEnabled):
(WebCore::IconDatabase::delayDatabaseCleanup):
(WebCore::IconDatabase::allowDatabaseCleanup):
(WebCore::IconDatabase::setClient):
* loader/icon/IconRecord.cpp: Added.
(WebCore::IconRecord::IconRecord): IconRecord used to be "IconDataCache" - it is merely a container for the url, timestamp, and image for a site icon.
It is Shared, and therefore ref counted - PageURLRecords are the owning containers. This is a tricky way to track how many page urls are retaining
an IconRecord and therefore tracking when we should try to get rid of one.
(WebCore::IconRecord::~IconRecord):
(WebCore::IconRecord::image):
(WebCore::IconRecord::setImageData):
(WebCore::IconRecord::loadImageFromResource):
(WebCore::IconRecord::imageDataStatus): Return whether the image data hasn't been read yet, exists in memory, or is absent (site with no icon)
(WebCore::IconRecord::snapshot): Returns a snapshot of the icon's data - url, timestamp, and image data - to be written to disk
* loader/icon/IconRecord.h: Added.
(WebCore::IconSnapshot::IconSnapshot):
(WebCore::IconRecord::getTimestamp):
(WebCore::IconRecord::setTimestamp):
(WebCore::IconRecord::iconURL):
(WebCore::IconRecord::retainingPageURLs):
* loader/icon/PageURLRecord.cpp: Added.
(WebCore::PageURLRecord::PageURLRecord): PageURLRecord is fundamentally a pairing of a Page URL to an Icon. It has manual ref counting for the sake
of "retainIconForPageURL" and "releaseIconForPageURL", and can provide a quick snapshot of it's Page URL -> Icon URL mapping for writing to
the database
(WebCore::PageURLRecord::setIconRecord):
(WebCore::PageURLRecord::snapshot):
* loader/icon/PageURLRecord.h: Added.
(WebCore::PageURLSnapshot::PageURLSnapshot):
(WebCore::PageURLRecord::url):
(WebCore::PageURLRecord::PageURLRecord::iconRecord):
(WebCore::PageURLRecord::retain):
(WebCore::PageURLRecord::release):
(WebCore::PageURLRecord::retainCount):
* platform/SharedBuffer.cpp:
(WebCore::SharedBuffer::copy): Added a deep copy method for the purposes of handing icon data across the thread boundary into the icon database
* platform/SharedBuffer.h:
* platform/graphics/svg/SVGImageEmptyClients.h:
(WebCore::SVGEmptyFrameLoaderClient::registerForIconNotification):
* platform/win/TemporaryLinkStubs.cpp:
(WebCore::callOnMainThread): Only other IconDatabase utilizing platform - keep their build going
WebKit:
Reviewed by Darin
<rdar://problem/
5434431> - Asynchronous Icon Database
WebKit side of things
Mainly, there are Notifications WebKit has to listen for now that tell it when to either call back into WebCore
for some purpose or to send the webView:didReceiveIcon: delegate call
Many smaller tweaks as well.
* Misc/WebIconDatabase.h:
* Misc/WebIconDatabase.mm:
(defaultClient):
(-[WebIconDatabase init]):
(+[WebIconDatabase delayDatabaseCleanup]): Accessor so clients can prevent the thread from cleaning up the database
before they've done all their necessary retaining of icons.
(+[WebIconDatabase allowDatabaseCleanup]):
(-[WebIconDatabase removeAllIcons]):
(-[WebIconDatabase _isEnabled]):
(-[WebIconDatabase _sendNotificationForURL:]):
(-[WebIconDatabase _sendDidRemoveAllIconsNotification]):
(-[WebIconDatabase _databaseDirectory]):
(-[ThreadEnabler threadEnablingSelector:]): Quick and dirty class to enabled Cocoa multithreading
(+[ThreadEnabler enableThreading]):
(importToWebCoreFormat):
* Misc/WebIconDatabaseInternal.h: Expose the internal methods of WebIconDatabase that are required by WebIconDatabaseClient
* Misc/WebNSNotificationCenterExtras.h: Added. - Great utility class whose design was borrowed from Colloquy
that allows the posting of a Cocoa notification on the main thread from *any* thread
* Misc/WebNSNotificationCenterExtras.m: Added.
(-[NSNotificationCenter postNotificationOnMainThreadWithName:object:]):
(-[NSNotificationCenter postNotificationOnMainThreadWithName:object:userInfo:]):
(-[NSNotificationCenter postNotificationOnMainThreadWithName:object:userInfo:waitUntilDone:]):
(+[NSNotificationCenter _postNotificationName:]):
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidReceiveIcon): Send the webView:didReceiveIcon: delegate call
(WebFrameLoaderClient::registerForIconNotification):
* WebCoreSupport/WebIconDatabaseClient.h: Added.
* WebCoreSupport/WebIconDatabaseClient.mm: Added.
(WebIconDatabaseClient::performImport): Perform the Safari 2 icon import
(WebIconDatabaseClient::dispatchDidRemoveAllIcons): Send the NSNotification
(WebIconDatabaseClient::dispatchDidAddIconForPageURL): Ditto
* WebView/WebView.mm:
(-[WebView _receivedIconChangedNotification:]): Check and see if this notification is for this WebView's current URL by
calling back into the IconDatabase
(-[WebView _registerForIconNotification:]): Support for WebIconDatabaseClient
(-[WebView _dispatchDidReceiveIconFromWebFrame:]): Dispatch this delegate call as well as unregister for the notification
* WebView/WebViewInternal.h:
* WebKit.xcodeproj/project.pbxproj:
win:
<rdar://problem/
5434431> - Asynchronous Icon Database
* WebFrame.cpp:
(WebFrame::didPerformFirstNavigation): Empty impl for now
(WebFrame::registerForIconNotification): Ditto
* WebFrame.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25439
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver [Sat, 8 Sep 2007 04:00:54 +0000 (04:00 +0000)]
Spell Sams name correctly.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25438
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver [Sat, 8 Sep 2007 03:59:37 +0000 (03:59 +0000)]
RS=Same
r25382 moved a number of tests from platform/mac back to the cross-platform
directories, but did not commit the platform/mac changes themselves.
This patch actually does.
* platform/mac/editing/execCommand/nsresponder-outdent-expected.txt: Removed.
* platform/mac/editing/execCommand/nsresponder-indent-expected.checksum: Removed.
* platform/mac/editing/execCommand/nsresponder-outdent-expected.checksum: Removed.
* platform/mac/editing/execCommand/nsresponder-indent-expected.png: Removed.
* platform/mac/editing/execCommand/nsresponder-outdent-expected.png: Removed.
* platform/mac/editing/execCommand/nsresponder-indent.html: Removed.
* platform/mac/editing/execCommand/nsresponder-outdent.html: Removed.
* platform/mac/editing/execCommand/nsresponder-indent-expected.txt: Removed.
* platform/mac/editing/selection/
5195166-1-expected.png: Removed.
* platform/mac/editing/selection/
5195166-2-expected.png: Removed.
* platform/mac/editing/selection/select-line-expected.txt: Removed.
* platform/mac/editing/selection/selection-actions-expected.checksum: Removed.
* platform/mac/editing/selection/selection-actions.html: Removed.
* platform/mac/editing/selection/
4947387-expected.txt: Removed.
* platform/mac/editing/selection/
4947387-expected.png: Removed.
* platform/mac/editing/selection/
5195166-1-expected.checksum: Removed.
* platform/mac/editing/selection/
5195166-2-expected.checksum: Removed.
* platform/mac/editing/selection/selection-actions-expected.txt: Removed.
* platform/mac/editing/selection/
5195166-1.html: Removed.
* platform/mac/editing/selection/
5195166-2.html: Removed.
* platform/mac/editing/selection/selection-actions-expected.png: Removed.
* platform/mac/editing/selection/select-line.html: Removed.
* platform/mac/editing/selection/
4947387-expected.checksum: Removed.
* platform/mac/editing/selection/
5195166-1-expected.txt: Removed.
* platform/mac/editing/selection/
4947387.html: Removed.
* platform/mac/editing/selection/
5195166-2-expected.txt: Removed.
* platform/mac/editing/deleting/smart-delete-003-expected.checksum: Removed.
* platform/mac/editing/deleting/smart-delete-004-expected.checksum: Removed.
* platform/mac/editing/deleting/smart-delete-003.html: Removed.
* platform/mac/editing/deleting/smart-delete-004.html: Removed.
* platform/mac/editing/deleting/
5300379-expected.checksum: Removed.
* platform/mac/editing/deleting/delete-to-end-of-paragraph-expected.checksum: Removed.
* platform/mac/editing/deleting/
5300379.html: Removed.
* platform/mac/editing/deleting/delete-to-end-of-paragraph.html: Removed.
* platform/mac/editing/deleting/smart-delete-003-expected.txt: Removed.
* platform/mac/editing/deleting/smart-delete-004-expected.txt: Removed.
* platform/mac/editing/deleting/
5300379-expected.txt: Removed.
* platform/mac/editing/deleting/smart-delete-003-expected.png: Removed.
* platform/mac/editing/deleting/delete-to-end-of-paragraph-expected.txt: Removed.
* platform/mac/editing/deleting/smart-delete-004-expected.png: Removed.
* platform/mac/editing/deleting/
5300379-expected.png: Removed.
* platform/mac/editing/deleting/delete-to-end-of-paragraph-expected.png: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25437
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver [Sat, 8 Sep 2007 03:24:31 +0000 (03:24 +0000)]
Reviewed by Sam.
Re-adding a few mac specific directories that accidentally got clobbered
during my recent layout test rearranging
* platform/mac/editing/input: Added.
* platform/mac/editing/input/hangul-enter-confirms-and-sends-keypress-expected.txt: Added.
* platform/mac/editing/input/hangul-enter-confirms-and-sends-keypress.html: Added.
* platform/mac/editing/input/hangul.js: Added.
* platform/mac/editing/input/kotoeri-enter-to-confirm-and-newline-expected.txt: Added.
* platform/mac/editing/input/kotoeri-enter-to-confirm-and-newline.html: Added.
* platform/mac/editing/input/kotoeri.js: Added.
* platform/mac/editing/input/logger.js: Added.
* platform/mac/fast/AppleScript: Added.
* platform/mac/fast/AppleScript/001-expected.txt: Added.
* platform/mac/fast/AppleScript/001.html: Added.
* platform/mac/fast/AppleScript/array-expected.txt: Added.
* platform/mac/fast/AppleScript/array.html: Added.
* platform/mac/fast/AppleScript/date-expected.txt: Added.
* platform/mac/fast/AppleScript/date.html: Added.
* platform/mac/fast/objc: Added.
* platform/mac/fast/objc/longlongTest-expected.txt: Added.
* platform/mac/fast/objc/longlongTest.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25436
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer [Sat, 8 Sep 2007 03:10:42 +0000 (03:10 +0000)]
WebCore:
Reviewed by Timothy Hatcher.
Housekeeping. No test required.
* bindings/objc/WebScriptObjectInternal.h: Removed unused file.
* bindings/objc/WebScriptObjectPrivate.h: Updated copyright statement.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25435
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Sat, 8 Sep 2007 02:31:18 +0000 (02:31 +0000)]
WebCore:
Rolling out my changes from r25421 while I investigate the layout test failures
they caused.
* editing/Selection.cpp:
(WebCore::Selection::validate):
* editing/VisiblePosition.cpp:
(WebCore::VisiblePosition::next):
(WebCore::VisiblePosition::previous):
(WebCore::VisiblePosition::lastEditablePositionAtOrBefore):
(WebCore::VisiblePosition::firstEditablePositionAtOrAfter):
* editing/VisiblePosition.h:
* editing/visible_units.cpp:
(WebCore::endOfWord):
(WebCore::previousWordPosition):
(WebCore::nextWordPosition):
(WebCore::startOfLine):
(WebCore::endOfLine):
(WebCore::previousSentencePosition):
(WebCore::nextSentencePosition):
LayoutTests:
Disabling the layout tests checked in with r25421 while I investigate
some layout test failures that that change caused.
* editing/selection/
5057506-2.html: Removed.
* editing/selection/
5057506-2.html-disabled: Added.
* editing/selection/
5057506.html: Removed.
* editing/selection/
5057506.html-disabled: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25434
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Sat, 8 Sep 2007 02:23:32 +0000 (02:23 +0000)]
* platform/win/Skipped: Remove a duplicate test.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25433
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Sat, 8 Sep 2007 01:40:27 +0000 (01:40 +0000)]
Suggested by Maciej Stachowiak.
Added wKiosk Browser to the browser list. Pretty sweet app.
* WebView/WebPreferences.m:
(cacheModelForMainBundle):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25432
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Sat, 8 Sep 2007 01:17:10 +0000 (01:17 +0000)]
Build fix.
* WebView/WebView.mm:
(+[WebView _setCacheModel:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25431
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Sat, 8 Sep 2007 00:40:53 +0000 (00:40 +0000)]
gtk:
Reviewed by Darin Adler, Maciej Stachowiak, Mark Rowe, Tim Hatcher.
Fixed <rdar://problem/
5326009> Make non-browser WebKit clients have no
memory cache, or a very tiny one
Keep the GTK build working with an empty stub.
* WebCoreSupport/FrameLoaderClientGtk.cpp:
(WebKit::FrameLoaderClient::didPerformFirstNavigation):
* WebCoreSupport/FrameLoaderClientGtk.h:
WebCore:
Reviewed by Darin Adler, Maciej Stachowiak, Mark Rowe, Tim Hatcher.
Fixed <rdar://problem/
5326009> Make non-browser WebKit clients have no
memory cache, or a very tiny one
Added a client callback to notify WebKit when the first navigation has
taken place. "Navigation" here means a transition from one page to
another that ends up in the back/forward list.
WebKit Mac uses this notification to grow its cache model under certain
circumstances.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::addBackForwardItemClippedAtTarget):
* loader/FrameLoaderClient.h:
* platform/graphics/svg/SVGImageEmptyClients.h:
(WebCore::SVGEmptyFrameLoaderClient::didPerformFirstNavigation): Ah,
SVGEmptyFrameLoaderClient, my old friend.
WebKit:
Reviewed by Darin Adler, Maciej Stachowiak, Mark Rowe, Tim Hatcher.
Fixed <rdar://problem/
5326009> Make non-browser WebKit clients have no
memory cache, or a very tiny one
High level explanation:
- Added SPI for specifying a cache model on a per-WebView basis.
(Hopefully, this will become API soon.) We balance competing
cache models simply by using the largest one that pertains at a
given time.
- Added heuristic for guessing a default cache model in WebViews
that don't specify one:
1) Default to DocumentViewer for apps linked on or after this
WebKit. Default to DocumentBrowser otherwise.
2) Assign specific defaults to well-known clients based on
bundle ID.
3) Grow the default to DocumentBrowser if a navigation takes
place.
- As a part of the DocumentBrowser & PrimaryWebBrowser settings:
1) Make the Foundation disk cache much much bigger than the
default 20MB, if space allows. (This is a hedge against a small
WebCore cache in DocumentBrowser mode, but also an all-around
win for page load speed.)
2) Scaled the Foundation memory cache's capacity with physical
RAM, just like we do with other caches. This is a small win on
low memory systems.
* Misc/WebKitSystemBits.h:
* Misc/WebKitSystemBits.m:
(WebMemorySize): Renamed from "WebSystemMainMemory."
(WebHomeDirectoryFreeSize): Added function to measure the free space
on the user's home directory. We use this as a factor in determining
the disk cache's cacpacity.
* Misc/WebKitVersionChecks.h: Support for linked on or after check.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::didPerformFirstNavigation): Implementation of
heuristic rule #3.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.m:
(cacheModelForMainBundle): Implementation of heuristic rule #2.
(-[NSMutableDictionary _web_checkLastReferenceForIdentifier:]): Added
notification for when a WebPreferences instance becomes inert. We use
this to shrink the cache model back down if possible. Moved this code
into a WebPreferences method, since it's not really a feature of
NSDictionary.
* WebView/WebPreferencesPrivate.h: SPI declarations.
* WebView/WebView.mm: Replaced manual notification posts with calls to
the _postPreferencesChangesNotification convenience method.
(-[WebView _preferencesChangedNotification:]): Merged dispersed code
for updating preferences-related settings into this one function. This
was needed for an earlier version of the patch, even though the
current version could probably do without it.
(+[WebView _preferencesChangedNotification:]): Added a class-level
listener for WebPreferences changes. This listener takes care of
modifying the class-level global cache model setting if necessary.
(+[WebPreferences standardPreferences]): Removed call to
_postPreferencesChangesNotification because the notification already
posts when you create the WebPreferences object. (I noticed this
inefficiency because my new _preferencesChangedNotification: method was
called excessively at startup.)
Also Added explicit tracking of WebPreferences clients, so we know when
a WebPreferences instance becomes inert:
(-[WebPreferences didRemoveFromWebView]):
(-[WebPreferences willAddToWebView]):
(+[WebView _setCacheModel:]): Translates a cache model into actual
settings in various APIs. Caches that have unbounded value grow
linearly relative to available space. Caches that have bounded value
grow inverse-squaredly relative to available space.
WebKitQt:
Reviewed by Darin Adler, Maciej Stachowiak, Mark Rowe, Tim Hatcher.
Fixed <rdar://problem/
5326009> Make non-browser WebKit clients have no
memory cache, or a very tiny one
Keep the Qt build working with an empty stub.
* WebCoreSupport/FrameLoaderClientQt.cpp:
(WebCore::FrameLoaderClient::didPerformFirstNavigation):
* WebCoreSupport/FrameLoaderClientQt.h:
win:
Reviewed by Darin Adler, Maciej Stachowiak, Mark Rowe, Tim Hatcher.
Fixed <rdar://problem/
5326009> Make non-browser WebKit clients have no
memory cache, or a very tiny one
Keep the Windows build working with an empty stub.
* WebFrame.cpp:
(FrameLoaderClient::didPerformFirstNavigation):
* WebFrame.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25430
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele [Fri, 7 Sep 2007 23:53:52 +0000 (23:53 +0000)]
WebCore:
Reviewed by Dave Harrison.
Fix for <rdar://problem/
5428427> Wrong characters are re-converted after doing reconversion with Kotoeri
Revert change for<rdar://problem/
5279521> and add nil checks for the result of TextIterator::rangeFromLocationAndLength
TextIterator::exitNode shouldn't require the m_lastTextNode to be true, but we can't change that without making the logic in _web_attributedStringFromRange match.
We'll get that for free when we switch to use TextIterator in _web_attributedStringFromRange.
* editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyBlockStyle): Added nil checks.
* editing/IndentOutdentCommand.cpp: (WebCore::IndentOutdentCommand::indentRegion): ditto.
* editing/TextIterator.cpp: (WebCore::TextIterator::exitNode): Re-added check for m_lastTextNode before emitting newline.
LayoutTests:
Reviewed by Dave Harrison.
Tests for <rdar://problem/
5428427> Wrong characters are re-converted after doing reconversion with Kotoeri
* platform/mac/fast/text/attributed-substring-from-range-002-expected.txt: Added.
* platform/mac/fast/text/attributed-substring-from-range-002.html: Added.
* fast/forms/textarea-type-spaces-expected.txt: Revert back to old result.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25429
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adachan [Fri, 7 Sep 2007 23:45:17 +0000 (23:45 +0000)]
Need to let the OS handle Alt+F4.
Reviewed by Hyatt.
* WebView.cpp:
(WebView::keyUp):
(WebView::keyDown):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25428
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Fri, 7 Sep 2007 22:46:19 +0000 (22:46 +0000)]
Reviewed by Oliver.
<rdar://problem/
5461487>
Seed: Embedded media content (Flash Player 9) inside RSS reported as unknown MIME type.
Don't return ObjectContentNone if the URL's extension can't be mapped to a MIME type. If the MIME type is empty,
we will try to display the content in a subframe instead, just like Mac WebKit.
* WebFrame.cpp:
(WebFrame::objectContentType):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25427
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adachan [Fri, 7 Sep 2007 22:39:56 +0000 (22:39 +0000)]
<rdar://problem/
5395928> Need to be able to handle context menu item selection by index
Reviewed by Beth.
WebCore:
* platform/ContextMenu.h: Added method to retrieve context menu item by index
* platform/win/ContextMenuWin.cpp:
(WebCore::ContextMenu::ContextMenu): call setPlatformDescription() since that will handle
adding the MNS_NOTIFYBYPOS style to the context menu.
(WebCore::contextMenuItemByIdOrPosition): helper method so we don't have to duplicate code
between itemWithAction() and itemAtIndex().
(WebCore::ContextMenu::itemWithAction):
(WebCore::ContextMenu::itemAtIndex):
(WebCore::ContextMenu::setPlatformDescription): add MNS_NOTIFYBYPOS style to the context menu
so we will get notified by menu position through WM_MENUCOMMAND when the item is selected.
WebKit/win:
* WebView.cpp:
(WebView::performContextMenuAction): performContextMenuAction() can now handle context menu
item selection via WM_MENUCOMMAND (by specifying byPosition to be true). In that case, we
get the ContextMenuItem by position rather than by action id.
(WebViewWndProc): handle WM_MENUCOMMAND
* WebView.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25426
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Fri, 7 Sep 2007 22:01:10 +0000 (22:01 +0000)]
WebKitTools:
Reviewed by Alice.
Strip trailing and leading space/newline characters from skiplist file names.
* Scripts/run-webkit-tests:
LayoutTests:
* platform/win/Skipped: fix typo
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25425
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aliceli1 [Fri, 7 Sep 2007 21:39:20 +0000 (21:39 +0000)]
* platform/win/Skipped:
removing a duplicated test
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25424
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aliceli1 [Fri, 7 Sep 2007 21:34:04 +0000 (21:34 +0000)]
* platform/win/Skipped:
moved a bunch of editing tests that actually succeed in both Debug and Release into a
section at the end of the skip list. The reason I'm not just removing these tests from
the skip list right now is because the windows bots are not stable and green yet, and I
was asked to do this removal at a later time when regressions are easier to spot.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25423
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 7 Sep 2007 19:42:47 +0000 (19:42 +0000)]
Reviewed by Steve Falkenburg.
- fix crash seen on Windows release builds
* wtf/FastMalloc.cpp: Change pthread_getspecific optimization to be done only
on the DARWIN platform. Also correct a couple reinterpret_cast that should be
static_cast instead.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25422
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Fri, 7 Sep 2007 19:18:01 +0000 (19:18 +0000)]
WebCore:
Reviewed by Darin.
<rdar://problem/
5057506> Double-clicking after ToDo content doesn't select the paragraph break
* editing/Selection.cpp:
(WebCore::Selection::validate):
Moved the code that moves across a paragraph boundary
when expanding selections by word granularity from
endOfWord to here.
In the word and paragraph granularity cases, if the
end of the selection is at the end of the last paragraph
in the last cell of a block table, expand it so that
it ends at the start of the paragraph after the table,
instead of just after the table, so that ToDo content
gets the same double/tripled click behavior that normal
paragraphs get (added two testcases).
When expanding the selection to include paragraph
breaks, pass VisiblePosition::next true so that it
doesn't change editability.
* editing/VisiblePosition.cpp:
(WebCore::VisiblePosition::next): Renamed the bool because it's now also
used to keep non-editable positions non-editable.
(WebCore::VisiblePosition::previous): Ditto.
(WebCore::VisiblePosition::lastPositionWithSameEditabilityAtOrBefore):
Renamed this function and made it also work with non-editable positions.
(WebCore::VisiblePosition::firstPositionWithSameEditabilityAtOrAfter):
Ditto.
* editing/VisiblePosition.h:
* editing/visible_units.cpp:
(WebCore::endOfWord): Called the renamed function.
(WebCore::previousWordPosition): Ditto.
(WebCore::nextWordPosition): Ditto.
(WebCore::startOfLine): Ditto.
(WebCore::endOfLine): Ditto.
(WebCore::previousSentencePosition): Ditto.
(WebCore::nextSentencePosition): Ditto.
LayoutTests:
Reviewed by Darin.
<rdar://problem/
5333725> -webkit-user-select: none makes selection difficult
* editing/selection/
5057506-2.html: Added.
* editing/selection/
5057506.html: Added.
* platform/mac/editing/selection/
5057506-2-expected.checksum: Added.
* platform/mac/editing/selection/
5057506-2-expected.png: Added.
* platform/mac/editing/selection/
5057506-2-expected.txt: Added.
* platform/mac/editing/selection/
5057506-expected.checksum: Added.
* platform/mac/editing/selection/
5057506-expected.png: Added.
* platform/mac/editing/selection/
5057506-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25421
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Fri, 7 Sep 2007 19:07:48 +0000 (19:07 +0000)]
Attempt to fix the PPC build.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25420
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson [Fri, 7 Sep 2007 19:04:40 +0000 (19:04 +0000)]
Reviewed by Sam
<rdar://problem/
5089241> - ASSERT and other funky effects in IconLoader with large 404 pages
There were two problems:
1 - I originally didn't expect SubresourceLoader to keep pulling in data after it received a 404 response,
but if the server sends back a complex 404 page, the loader did just that. That could result in the
IconLoader "finishing" twice
2 - In this case, the long messy 404 page would be committed to the database as image data. This would
result in wasted space on disk, wasted space in RAM, and wasting processor time trying to parse 50k+
of HTML as image data
Fix is two parts - 1, monitor the "m_loadIsInProgress" flag and 2, make ::finishLoading() take an actual
SharedBuffer argument that is what should be committed to the database so the ResourceHandle is unnecessary
* loader/icon/IconLoader.cpp:
(WebCore::IconLoader::didReceiveResponse): If the response is not valid, commit null data
(WebCore::IconLoader::didFail): If we've already finished loading once (the 404 response), don't
finish again!
(WebCore::IconLoader::didFinishLoading): Ditto
(WebCore::IconLoader::finishLoading): Take a SharedBuffer argumnt as the actual data to commit
* loader/icon/IconLoader.h: Add a SharedBuffer arg to ::finishLoading()
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25419
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson [Fri, 7 Sep 2007 17:59:13 +0000 (17:59 +0000)]
Build fix (sigh)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25418
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson [Fri, 7 Sep 2007 17:49:40 +0000 (17:49 +0000)]
Reviewed by Darin
Inline the in-header definitions for non-Mac platforms
* platform/AutodrainedPool.h:
(WebCore::AutodrainedPool::AutodrainedPool):
(WebCore::AutodrainedPool::~AutodrainedPool):
(WebCore::AutodrainedPool::cycle):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25417
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson [Fri, 7 Sep 2007 17:39:24 +0000 (17:39 +0000)]
Reviewed by Darin
Add some AutoreleasePool and Threading utilities in preparation for the multi-threaded
fix for <rdar://problem/
5434431>
AutodrainedPool wraps an NSAutoreleasePool and tracks a "cycle" count. This allows clients
in WebCore to simply call ::cycle() and after a preset number of iterations the pool will drain
and recreate the underlying NSAutoreleasePool
Threading utilities include C++ wrappers for pthread mutexes and conditions, as well as a generic
"callOnMainThread()" function for any non-main thread to use.
* platform/AutodrainedPool.h: Added.
(WebCore::AutodrainedPool::AutodrainedPool): Empty implementations for all non-mac platforms
(WebCore::AutodrainedPool::~AutodrainedPool): ditto
(WebCore::AutodrainedPool::cycle): ditto
* platform/mac/AutodrainedPool.mm: Added.
(WebCore::AutodrainedPool::AutodrainedPool):
(WebCore::AutodrainedPool::~AutodrainedPool):
(WebCore::AutodrainedPool::cycle): Keep track of number of cycles, and drain/recreate the pool if the
cycle limit is hit
* platform/Threading.h: Added.
(WebCore::Mutex::Mutex): C++ wrapper for pthread_mutex
(WebCore::Mutex::~Mutex):
(WebCore::Mutex::lock):
(WebCore::Mutex::tryLock):
(WebCore::Mutex::unlock):
(WebCore::MutexLocker::MutexLocker): Handles automatically locking/unlocking a Mutex (for early returns
from a function, for example)
(WebCore::MutexLocker::~MutexLocker):
(WebCore::ThreadCondition::ThreadCondition): C++ wrapper for pthread_condition
(WebCore::ThreadCondition::~ThreadCondition):
(WebCore::ThreadCondition::wait):
(WebCore::ThreadCondition::signal):
(WebCore::ThreadCondition::broadcast):
* platform/mac/Threading.mm: Added.
(-[WebCoreFunctionWrapper initWithFunction:]): Obj-C implementation of "callOnMainThread"
(-[WebCoreFunctionWrapper _call]):
(WebCore::callOnMainThread):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25416
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adachan [Fri, 7 Sep 2007 17:27:23 +0000 (17:27 +0000)]
<rdar://problem/
5453494> Better lifetime management of WebDataSource and WebDocumentLoader
The problem was that WebDataSource does not hold a strong reference to the WebDocumentLoader. If
a WebDataSource is still around after the loader has been destroyed, it'll just point to
a stale WebDocumentLoader.
To fix this without a circular reference, WebDataSource now holds a strong reference to the
WebDocumentLoader. The WebDocumentLoader holds a strong reference to the WebDataSource
until it's detached from the WebFrame. When the WebDataSource is destroyed, it'll notify
its WebDocumentLoader so the loader will clear any references to it.
Reviewed by Darin.
* WebDataSource.cpp:
(WebDataSource::~WebDataSource): call WebDocumentLoader::detachDataSource() so the loader
will clear any references to this data source
(WebDataSource::documentLoader): m_loader is now a RefPtr so we need to call get().
* WebDataSource.h:
* WebDocumentLoader.cpp:
(WebDocumentLoader::WebDocumentLoader): initialize m_dataSource since it's no longer a COMPtr.
(WebDocumentLoader::~WebDocumentLoader): release m_dataSource if necessary
(WebDocumentLoader::setDataSource): add a reference to m_dataSource
(WebDocumentLoader::dataSource):
(WebDocumentLoader::detachDataSource): clear m_detachedDataSource.
(WebDocumentLoader::attachToFrame): call setDataSource() so it'll add the reference to the data source if necessary.
(WebDocumentLoader::detachFromFrame): release the reference to the data source
* WebDocumentLoader.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25415
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Fri, 7 Sep 2007 17:21:07 +0000 (17:21 +0000)]
Reviewed by Kevin McCullough.
Fix embarassing spelling mistakes.
* http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe-expected.txt: Copied from http/tests/security/dataURL/xss-DENIED-from-data-url-in-foriegn-domain-subframe-expected.txt.
* http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe.html: Copied from http/tests/security/dataURL/xss-DENIED-from-data-url-in-foriegn-domain-subframe.html.
* http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-window-open-expected.txt: Copied from http/tests/security/dataURL/xss-DENIED-from-data-url-in-foriegn-domain-window-open-expected.txt.
* http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-window-open.html: Copied from http/tests/security/dataURL/xss-DENIED-from-data-url-in-foriegn-domain-window-open.html.
* http/tests/security/dataURL/xss-DENIED-from-data-url-in-foriegn-domain-subframe-expected.txt: Removed.
* http/tests/security/dataURL/xss-DENIED-from-data-url-in-foriegn-domain-subframe.html: Removed.
* http/tests/security/dataURL/xss-DENIED-from-data-url-in-foriegn-domain-window-open-expected.txt: Removed.
* http/tests/security/dataURL/xss-DENIED-from-data-url-in-foriegn-domain-window-open.html: Removed.
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-expected.txt: Copied from http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-subframe-expected.txt.
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-location-change-expected.txt: Copied from http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-subframe-location-change-expected.txt.
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-location-change.html: Copied from http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-subframe-location-change.html.
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe.html: Copied from http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-subframe.html.
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-window-open-expected.txt: Copied from http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-window-open-expected.txt.
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-window-open.html: Copied from http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-window-open.html.
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-subframe-expected.txt: Removed.
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-subframe-location-change-expected.txt: Removed.
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-subframe-location-change.html: Removed.
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-subframe.html: Removed.
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-window-open-expected.txt: Removed.
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-window-open.html: Removed.
* http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-subframe-expected.txt: Copied from http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foriegn-domain-subframe-expected.txt.
* http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-subframe.html: Copied from http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foriegn-domain-subframe.html.
* http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-window-open-expected.txt: Copied from http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foriegn-domain-window-open-expected.txt.
* http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-window-open.html: Copied from http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foriegn-domain-window-open.html.
* http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foriegn-domain-subframe-expected.txt: Removed.
* http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foriegn-domain-subframe.html: Removed.
* http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foriegn-domain-window-open-expected.txt: Removed.
* http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foriegn-domain-window-open.html: Removed.
* http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-subframe-expected.txt: Copied from http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foriegn-domain-subframe-expected.txt.
* http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-subframe.html: Copied from http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foriegn-domain-subframe.html.
* http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-window-open-expected.txt: Copied from http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foriegn-domain-window-open-expected.txt.
* http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-window-open.html: Copied from http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foriegn-domain-window-open.html.
* http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foriegn-domain-subframe-expected.txt: Removed.
* http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foriegn-domain-subframe.html: Removed.
* http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foriegn-domain-window-open-expected.txt: Removed.
* http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foriegn-domain-window-open.html: Removed.
* platform/win/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25414
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kmccullo [Fri, 7 Sep 2007 16:52:45 +0000 (16:52 +0000)]
JavaScriptCore:
Reviewed by Maciej.
- Moved JSRetainPtr to the API.
* API/JSRetainPtr.h: Copied from kjs/JSRetainPtr.h.
(JSRetain):
(JSRelease):
(JSRetainPtr::JSRetainPtr):
(JSRetainPtr::~JSRetainPtr):
(JSRetainPtr::get):
(JSRetainPtr::releaseRef):
(JSRetainPtr::operator->):
(JSRetainPtr::operator!):
(JSRetainPtr::operator UnspecifiedBoolType):
(::operator):
(::adopt):
(::swap):
(swap):
(operator==):
(operator!=):
* JavaScriptCore.xcodeproj/project.pbxproj:
* kjs/JSRetainPtr.h: Removed.
WebKitTools:
Reviewed by Maciej.
- Changed Drosera to take advantage of the JSRetainPtr changes.
* Drosera/DebuggerDocument.cpp:
(DebuggerDocument::breakpointEditorHTML):
(DebuggerDocument::evaluateScript):
(DebuggerDocument::valueForScopeVariableNamed):
(DebuggerDocument::log):
(DebuggerDocument::windowScriptObjectAvailable):
(DebuggerDocument::toJSArray):
(DebuggerDocument::callFunctionOnObject):
(DebuggerDocument::logException):
* Drosera/mac/DebuggerDocumentMac.mm:
(-[DebuggerClientMac webView:didLoadMainResourceForDataSource:]):
(-[DebuggerClientMac webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
(DebuggerDocument::platformEvaluateScript):
(DebuggerDocument::getPlatformCurrentFunctionStack):
(DebuggerDocument::getPlatformLocalScopeVariableNamesForCallFrame):
(DebuggerDocument::platformValueForScopeVariableNamed):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25413
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
staikos [Fri, 7 Sep 2007 16:29:49 +0000 (16:29 +0000)]
Fix typo in previous commit
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25412
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
staikos [Fri, 7 Sep 2007 14:49:02 +0000 (14:49 +0000)]
Patch from Qing Zhao to export more of the progress details and expose it from
QWebPage
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25411
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tristan [Fri, 7 Sep 2007 03:48:39 +0000 (03:48 +0000)]
WebCore:
Reviewed by Maciej Stachowiak.
<rdar://problem/
5333496> Back button stopped working on sfgate.com (14957)
This fix is specifically targted to address sfgate.com and reuters.com with minimal
impact to other areas of the frameloader. It does not cause any regression tests to fail.
I've added two layout tests: One to detect this particular bug, and one to address
a secondary issue: if an iframe navigation occurs during onload by a timeout an
additional history item is added, similarly to firefox. We tried to match firefox
more than IE with this fix but did gain a little bit of IE compatability.
Tests: http/tests/navigation/onload-navigation-iframe-timeout.html
http/tests/navigation/onload-navigation-iframe.html
* dom/Document.h:
(WebCore::Document::processingLoadEvent):
Return the m_processingLoadEvent boolean so FrameLoader knows
that the document is in the middle of calling <body onload>
* html/HTMLFrameOwnerElement.cpp:
(WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
* html/HTMLFrameOwnerElement.h:
(WebCore::HTMLFrameOwnerElement::createdByParser):
(WebCore::HTMLFrameOwnerElement::setCreatedByParser):
Added support for a new member variable of frame elements: m_createdByParser.
This lets us specifically target the fix to only iframes created via JS
and not in-document.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::FrameLoader):
Initialize m_navigationDuringLoad to false
(WebCore::FrameLoader::provisionalLoadStarted):
Determine if the load we're about to start is occuring during
an onload.
(WebCore::FrameLoader::updateHistoryForStandardLoad):
If the current frameloader is for a child frame, and the navigation is occuring
during an onload update the current history item rather than adding a new one.
* loader/FrameLoader.h:
Added a new member variable, m_navigationDuringLoad to track
the navigation status during the on load, rather than trying to determine
the status after (which is nearly impossible due to a new runloop spin).
LayoutTests:
Reviewed by Maciej Stachowiak.
* http/tests/navigation/onload-navigation-iframe-expected.txt: Added.
* http/tests/navigation/onload-navigation-iframe-timeout-expected.txt: Added.
* http/tests/navigation/onload-navigation-iframe-timeout.html: Added.
* http/tests/navigation/onload-navigation-iframe.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25410
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Fri, 7 Sep 2007 02:53:23 +0000 (02:53 +0000)]
Reviewed by Darin.
- Remove single-threaded optimization for FastMalloc.
It does not appear to help anywhere but Mac OS X on PPC, due to
pthread_getspecific being slow there. On Intel, removing the
optimization results in a ~1.5% PLT speedup, a ~1-5% JS iBench
speedup, and a ~1.5% HTML iBench speedup. On PPC this change is a
speedup on some benchmarks, a slight hit on others.
* JavaScriptCore.xcodeproj/project.pbxproj:
* kjs/collector.cpp:
(KJS::Collector::registerThread):
* wtf/FastMalloc.cpp:
(WTF::TCMalloc_ThreadCache::GetCache):
(WTF::TCMalloc_ThreadCache::GetCacheIfPresent):
(WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
(WTF::do_malloc):
* wtf/FastMallocInternal.h: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25409
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Fri, 7 Sep 2007 02:02:21 +0000 (02:02 +0000)]
Reviewed by Kevin McCullough.
Update the Windows skiplist with the current failing tests.
* platform/win/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25408
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken [Fri, 7 Sep 2007 00:14:14 +0000 (00:14 +0000)]
Bump version for submit
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25406
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer [Thu, 6 Sep 2007 22:38:34 +0000 (22:38 +0000)]
WebCore:
Reviewed by Darin.
The implementation of BackForwardList::clearPageCache() was removed in r21793.
It's now safe to remove it from the header.
* history/BackForwardList.h: Removed clearPageCache().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25405
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Thu, 6 Sep 2007 22:34:10 +0000 (22:34 +0000)]
Even better build fix.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25404
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Thu, 6 Sep 2007 22:17:59 +0000 (22:17 +0000)]
Better build fix.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25403
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Thu, 6 Sep 2007 22:15:30 +0000 (22:15 +0000)]
Build fix.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25402
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Thu, 6 Sep 2007 21:28:05 +0000 (21:28 +0000)]
Reviewed by Ada.
<rdar://problem/
5457844>
Crash when using mouse wheel with plug-ins disabled.
Null check the widget.
* page/EventHandler.cpp:
(WebCore::EventHandler::handleWheelEvent):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25401
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Thu, 6 Sep 2007 21:15:32 +0000 (21:15 +0000)]
Reviewed by Mitz.
Small tweak.
* plugins/win/PluginStreamWin.cpp:
(WebCore::PluginStreamWin::startStream):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25400
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Thu, 6 Sep 2007 21:12:06 +0000 (21:12 +0000)]
Reviewed by Mitz.
Re-enable and the npapi-response-headers.html test so it no longer
relies on the ordering of the requests being made.
* http/tests/plugins/npapi-response-headers-expected.txt:
* http/tests/plugins/npapi-response-headers.html: Copied from http/tests/plugins/npapi-response-headers.html.disabled.
* http/tests/plugins/npapi-response-headers.html.disabled: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25399
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Thu, 6 Sep 2007 21:04:15 +0000 (21:04 +0000)]
Reviewed by Adam and Steve.
<rdar://problem/
5459321>
ADOBE: Safari 3 on Windows is passing bogus values in stream->headers in NPP_NewStream, causing Flash Player to crash.
Serialize the headers into a stream and pass it to NPP_NewStream in stream->headers.
* plugins/win/PluginStreamWin.cpp:
(WebCore::PluginStreamWin::startStream):
* plugins/win/PluginStreamWin.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25398
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Thu, 6 Sep 2007 20:57:57 +0000 (20:57 +0000)]
Reviewed by Hyatt.
- fix http://bugs.webkit.org/show_bug.cgi?id=15153
REGRESSION: Assertion failure in FrameView::scheduleRelayout() (m_frame->view() == this)
Back out the willRemove() part of the previous patch.
It was incorrect and not needed to fix the bug anyway.
* dom/Document.cpp: (WebCore::Document::detach): Remove willRemove().
* loader/FrameLoader.cpp: (WebCore::FrameLoader::clear): Put the willRemove() call
back here where it was originally before the previous fix.
* history/CachedPage.cpp: (WebCore::CachedPage::clear):
* page/Frame.cpp:
(WebCore::Frame::setView):
(WebCore::Frame::setDocument):
Added FIXMEs about the fact that we call detach() on the document but not willRemove().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25397
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Thu, 6 Sep 2007 20:43:50 +0000 (20:43 +0000)]
WebCore:
Reviewed by Darin.
Changed the blocked exception log message to match AppKit's blocked exception message.
* platform/mac/BlockExceptions.mm:
(ReportBlockedObjCException):
WebKit:
Reviewed by Darin.
<rdar://problem/
5443883> Uncaught Objective-C exceptions in WebKit clients lead to hard-to-diagnose crashes
Changed all the direct delegate calls to use helper functions that have direct access to
WebView's delegate objects. These helper methods will catch any ObjC exceptions and call
ReportDiscardedDelegateException to log the discarded exception. WebView's that have
catchesDelegateExceptions set to NO will not pay the cost of a @try/@catch. The delegate
forwarders also have the same behavior.
* Misc/WebKitLogging.h:
* Misc/WebKitLogging.m:
(ReportDiscardedDelegateException):
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView loadPluginRequest:]):
* Plugins/WebNullPluginView.mm:
(-[WebNullPluginView viewDidMoveToWindow]):
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::createWindow):
(WebChromeClient::createModalDialog):
(WebChromeClient::runModal):
(WebChromeClient::toolbarsVisible):
(WebChromeClient::statusbarVisible):
(WebChromeClient::addMessageToConsole):
(WebChromeClient::canRunBeforeUnloadConfirmPanel):
(WebChromeClient::runBeforeUnloadConfirmPanel):
(WebChromeClient::runJavaScriptAlert):
(WebChromeClient::runJavaScriptConfirm):
(WebChromeClient::runJavaScriptPrompt):
(WebChromeClient::shouldInterruptJavaScript):
(WebChromeClient::setStatusbarText):
(WebChromeClient::print):
* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::getCustomMenuFromDefaultItems):
(WebContextMenuClient::contextMenuItemSelected):
* WebCoreSupport/WebDragClient.mm:
(WebDragClient::startDrag):
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::textFieldDidBeginEditing):
(WebEditorClient::textFieldDidEndEditing):
(WebEditorClient::textDidChangeInTextField):
(WebEditorClient::doTextFieldCommandFromEvent):
(WebEditorClient::textWillBeDeletedInTextField):
(WebEditorClient::textDidChangeInTextArea):
* WebCoreSupport/WebFrameBridge.mm:
(-[WebFrameBridge viewForPluginWithFrame:URL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
(WebFrameLoaderClient::assignIdentifierToInitialRequest):
(WebFrameLoaderClient::dispatchWillSendRequest):
(WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
(WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
(WebFrameLoaderClient::dispatchDidReceiveResponse):
(WebFrameLoaderClient::willCacheResponse):
(WebFrameLoaderClient::dispatchDidReceiveContentLength):
(WebFrameLoaderClient::dispatchDidFinishLoading):
(WebFrameLoaderClient::dispatchDidFailLoading):
(WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
(WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
(WebFrameLoaderClient::dispatchDidCancelClientRedirect):
(WebFrameLoaderClient::dispatchWillPerformClientRedirect):
(WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
(WebFrameLoaderClient::dispatchWillClose):
(WebFrameLoaderClient::dispatchDidReceiveIcon):
(WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
(WebFrameLoaderClient::dispatchDidReceiveTitle):
(WebFrameLoaderClient::dispatchDidCommitLoad):
(WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
(WebFrameLoaderClient::dispatchDidFailLoad):
(WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
(WebFrameLoaderClient::dispatchDidFinishLoad):
(WebFrameLoaderClient::dispatchDidFirstLayout):
(WebFrameLoaderClient::dispatchCreatePage):
(WebFrameLoaderClient::dispatchUnableToImplementPolicy):
(WebFrameLoaderClient::dispatchWillSubmitForm):
(WebFrameLoaderClient::dispatchDidLoadMainResource):
* WebView/WebHTMLView.mm:
(-[WebHTMLView callDelegateDoCommandBySelectorIfNeeded:]):
(-[WebHTMLView validateUserInterfaceItem:]):
* WebView/WebPDFView.mm:
(-[WebPDFView validateUserInterfaceItem:]):
(-[WebPDFView PDFViewSavePDFToDownloadFolder:]):
* WebView/WebView.mm:
(-[WebView _openNewWindowWithRequest:]):
(-[WebView _menuForElement:defaultItems:]):
(-[WebView _mouseDidMoveOverElement:modifierFlags:]):
(-[WebView _cacheResourceLoadDelegateImplementations]):
(-[WebView _cacheFrameLoadDelegateImplementations]):
(-[WebView _policyDelegateForwarder]):
(-[WebView _UIDelegateForwarder]):
(-[WebView _editingDelegateForwarder]):
(-[WebView _scriptDebugDelegateForwarder]):
(-[WebView _setCatchesDelegateExceptions:]):
(-[WebView _catchesDelegateExceptions]):
(-[_WebSafeForwarder initWithTarget:defaultTarget:]):
(-[_WebSafeForwarder forwardInvocation:]):
(-[_WebSafeForwarder methodSignatureForSelector:]):
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView validateUserInterfaceItem:]):
(-[WebView _headerHeight]):
(-[WebView _footerHeight]):
(-[WebView _drawHeaderInRect:]):
(-[WebView _drawFooterInRect:]):
(-[WebView _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
(CallDelegate):
(CallDelegateReturningFloat):
(CallDelegateReturningBoolean):
(CallUIDelegate):
(CallUIDelegateReturningFloat):
(CallUIDelegateReturningBoolean):
(CallFrameLoadDelegate):
(CallResourceLoadDelegate):
(CallFormDelegate):
(CallFormDelegateReturningBoolean):
* WebView/WebViewInternal.h:
* WebView/WebViewPrivate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25396
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Thu, 6 Sep 2007 19:39:32 +0000 (19:39 +0000)]
Reviewed by Hyatt.
- <rdar://problem/
5457865> REGRESSION (9A527): Safari crashes when opening a page
that immediately redirects to a PDF
I don't know how to make an automated test that trips over this.
The immediate cause of this regression was making a back/forward list entry in
this case. Earlier, the quick redirect would not results in a separate entry.
That's possibly a bug too, but it's better to fix the crash first.
The page cache was putting the document into a strange state: Still attached but
with the renderer set to 0. There was no good reason to do this, so got rid of it.
Moved the responsibility to the caller of not calling detach() when moving into
the page cache. This is more of a frame loader thing than a document thing.
* dom/Document.cpp: (WebCore::Document::detach): Added assertions that this is
only called on a document that's attached and not in the page cache. Also moved
the call to willRemove in here, so that callers can't make the mistake of not
calling that function. Removed the incorrectly-positioned code that made this
function do less if it was called on a document in the page cache.
* history/CachedPage.cpp: (WebCore::CachedPage::clear): Removed the code to handle
a document with a renderer of 0. There was no need to put the document into this
state. Any document in the page cache will always be "attached".
* loader/FrameLoader.cpp: (WebCore::FrameLoader::clear): Added a check to prevent
from calling an unnecessary cancelParsing() on a document that's in the page cache
and guard the call to detach() with a check of attached(), like all other calls to
detach() on DOM objects.
* page/Frame.cpp:
(WebCore::Frame::setView): Added a missing check of attached(), like all other
calls to detach() on DOM objects. Also added code to not call detach() on the
document when it's in the page cache.
(WebCore::Frame::setDocument): This call site already had the attached() check,
but was missing the page cache check.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25395
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kmccullo [Thu, 6 Sep 2007 18:48:40 +0000 (18:48 +0000)]
JavaScriptCore:
Reviewed by Adam, Sam, Darin.
- Created a JSRetainPtr specifically for JSStringRefs so they can be automatically refed and derefed.
* JavaScriptCore.xcodeproj/project.pbxproj:
* kjs/JSRetainPtr.h: Copied from wtf/RetainPtr.h.
(KJS::JSRetain):
(KJS::JSRelease):
(KJS::):
(KJS::JSRetainPtr::JSRetainPtr):
(KJS::JSRetainPtr::~JSRetainPtr):
(KJS::JSRetainPtr::get):
(KJS::JSRetainPtr::releaseRef):
(KJS::JSRetainPtr::operator->):
(KJS::JSRetainPtr::operator UnspecifiedBoolType):
(KJS::::operator):
(KJS::::adopt):
(KJS::::swap):
(KJS::swap):
(KJS::operator==):
(KJS::operator!=):
WebKitTools:
Reviewed by Adam, Sam, Darin.
- Separated what is platform dependant from what is not. Creating the structure needed for Drosera for Win.
* Drosera/Debugger.h: Added.
* Drosera/DebuggerDocument.cpp:
(DebuggerDocument::breakpointEditorHTMLCallback):
(DebuggerDocument::isPausedCallback):
(DebuggerDocument::pauseCallback):
(DebuggerDocument::resumeCallback):
(DebuggerDocument::stepIntoCallback):
(DebuggerDocument::evaluateScriptCallback):
(DebuggerDocument::currentFunctionStackCallback):
(DebuggerDocument::localScopeVariableNamesForCallFrameCallback):
(DebuggerDocument::valueForScopeVariableNamedCallback):
(DebuggerDocument::logCallback):
(DebuggerDocument::breakpointEditorHTML):
(DebuggerDocument::isPaused):
(DebuggerDocument::pause):
(DebuggerDocument::resume):
(DebuggerDocument::stepInto):
(DebuggerDocument::evaluateScript):
(DebuggerDocument::currentFunctionStack):
(DebuggerDocument::localScopeVariableNamesForCallFrame):
(DebuggerDocument::valueForScopeVariableNamed):
(DebuggerDocument::log):
(DebuggerDocument::toolbarPause):
(DebuggerDocument::toolbarResume):
(DebuggerDocument::toolbarStepInto):
(DebuggerDocument::toolbarStepOver):
(DebuggerDocument::toolbarStepOut):
(DebuggerDocument::toolbarShowConsole):
(DebuggerDocument::toolbarCloseCurrentFile):
(DebuggerDocument::updateFileSource):
(DebuggerDocument::didParseScript):
(DebuggerDocument::willExecuteStatement):
(DebuggerDocument::didEnterCallFrame):
(DebuggerDocument::willLeaveCallFrame):
(DebuggerDocument::exceptionWasRaised):
(DebuggerDocument::windowScriptObjectAvailable):
(DebuggerDocument::toJSArray):
(DebuggerDocument::callGlobalFunction):
(DebuggerDocument::callFunctionOnObject):
(DebuggerDocument::getDroseraJSClass):
(DebuggerDocument::staticFunctions):
(DebuggerDocument::logException):
* Drosera/DebuggerDocument.h:
(DebuggerDocument::DebuggerDocument):
* Drosera/ForwardingHeaders: Added.
* Drosera/ForwardingHeaders/wtf: Added.
* Drosera/ForwardingHeaders/wtf/Platform.h: Added.
* Drosera/config.h:
* Drosera/console.html:
* Drosera/console.js:
* Drosera/debugger.js:
* Drosera/mac/DebuggerApplication.mm:
(-[DebuggerApplication attach:]):
* Drosera/mac/DebuggerDocumentMac.h:
* Drosera/mac/DebuggerDocumentMac.mm:
(+[NSString stringOrNilFromWebScriptResult:]):
(+[DebuggerClientMac log:]):
(-[DebuggerClientMac initWithServerName:]):
(-[DebuggerClientMac dealloc]):
(-[DebuggerClientMac pause]):
(-[DebuggerClientMac resume]):
(-[DebuggerClientMac pause:]):
(-[DebuggerClientMac resume:]):
(-[DebuggerClientMac stepInto:]):
(-[DebuggerClientMac stepOver:]):
(-[DebuggerClientMac stepOut:]):
(-[DebuggerClientMac showConsole:]):
(-[DebuggerClientMac closeCurrentFile:]):
(-[DebuggerClientMac validateUserInterfaceItem:]):
(-[DebuggerClientMac webView:windowScriptObjectAvailable:]):
(-[DebuggerClientMac webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
(-[DebuggerClientMac webView:willExecuteStatement:sourceId:line:forWebFrame:]):
(-[DebuggerClientMac webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
(-[DebuggerClientMac webView:exceptionWasRaised:sourceId:line:forWebFrame:]):
(DebuggerDocument::platformPause):
(DebuggerDocument::platformResume):
(DebuggerDocument::platformStepInto):
(DebuggerDocument::platformEvaluateScript):
(DebuggerDocument::platformCurrentFunctionStack):
(DebuggerDocument::platformLocalScopeVariableNamesForCallFrame):
(DebuggerDocument::platformValueForScopeVariableNamed):
(DebuggerDocument::platformLog):
* Drosera/mac/Drosera.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25394
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver [Thu, 6 Sep 2007 18:42:54 +0000 (18:42 +0000)]
Appease Sam[e]
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25393
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver [Thu, 6 Sep 2007 18:42:01 +0000 (18:42 +0000)]
Reviewed by Same and Darin
Split the wrapper test into seperate Obj-C and JS tests so the we can use the JS tests on other platforms.
* fast/dom/resources/wrapper-identity-base.js: Added -- This provides the basic utility functions and
variables needed for the wrapper tests
* fast/dom/wrapper-identity-expected.txt: Added.
* fast/dom/wrapper-identity.html: Added.
* platform/mac/fast/dom/objc-wrapper-identity-expected.txt: Copied from platform/mac/fast/dom/wrapper-identity-expected.txt.
* platform/mac/fast/dom/objc-wrapper-identity.html: Copied from platform/mac/fast/dom/wrapper-identity.html.
* platform/mac/fast/dom/wrapper-identity-expected.txt: Removed.
* platform/mac/fast/dom/wrapper-identity.html: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25392
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Thu, 6 Sep 2007 18:11:53 +0000 (18:11 +0000)]
Reviewed by Adam Roben.
Add fast/frames/onload-remove-iframe-crash.html to the windows skiplist becuase it currently crashes.
* platform/win/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25391
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Thu, 6 Sep 2007 18:07:54 +0000 (18:07 +0000)]
Reviewed by Adam Roben.
Register the WebKit DLL on initialization of the DumpRenderTree.
* DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.cpp:
(initialize):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25390
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
staikos [Thu, 6 Sep 2007 17:05:21 +0000 (17:05 +0000)]
Make popup windows work again
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25389
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Thu, 6 Sep 2007 16:56:57 +0000 (16:56 +0000)]
Check in source change now that I committed the changelog!
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25388
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Thu, 6 Sep 2007 16:55:23 +0000 (16:55 +0000)]
Reviewed by Darin.
Follow up on my fix for <rdar://problem/
5306171>.
My first patch (r25373) broke svg/custom/stroke-width-click.svg.
* editing/TextIterator.cpp:
(WebCore::TextIterator::shouldRepresentNodeOffsetZero):
Add currPos.isNotNull() check because positions in non-html content (like svg)
do not have visible positions, and we don't want to emit for them either.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25387
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Thu, 6 Sep 2007 12:20:24 +0000 (12:20 +0000)]
2007-09-06 Mitz Pettel <mitz@webkit.org>
Reviewed by Adam Roben.
- fix http://bugs.webkit.org/show_bug.cgi?id=14685
<rdar://problem/
5349755> text-align affects <select> button but not its drop-down menu
* platform/PlatformString.h:
(WebCore::String::defaultWritingDirection):
* platform/StringImpl.cpp:
(WebCore::StringImpl::defaultWritingDirection): Moved textDirectionForParagraph()
from RenderMenuList.cpp here.
* platform/StringImpl.h:
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenu::itemWritingDirectionIsNatural): Changed to return 'true'.
(WebCore::PopupMenu::paint): Changed to use natural directionality for menu
items.
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::adjustInnerStyle): Use defaultWritingDirection.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25386
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Thu, 6 Sep 2007 10:31:56 +0000 (10:31 +0000)]
Forgot the JS file.
* misc/WebKitDetect.js: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25385
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Thu, 6 Sep 2007 10:09:13 +0000 (10:09 +0000)]
Not reviewed - copy of WebKitDetect script from wiki
* misc/WebKitDetect.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25384
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Thu, 6 Sep 2007 09:25:06 +0000 (09:25 +0000)]
Reviewed by Oliver Hunt.
- fixed <rdar://problem/
5455457> REGRESSION (9A527-9A535): Colloquy crash on launch in WebCoreScriptDebugger initWithDelegate (with announce.js plug-in installed)
* page/mac/FrameMac.mm:
(WebCore::Frame::windowScriptObject): Ensure that -[WebView
windowScriptObject] and -[WebFrame windowObject] return null until
the windowScriptObjectAvailable: delegate method is sent.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25383
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver [Thu, 6 Sep 2007 04:34:16 +0000 (04:34 +0000)]
Reviewed by Stephanie.
Moved a number of tests from platform/mac that are not currently cross-platform,
but should eventually be updated to work across all platforms.
* editing/deleting/
5300379-expected.checksum: Copied from platform/mac/editing/deleting/
5300379-expected.checksum.
* editing/deleting/
5300379-expected.png: Copied from platform/mac/editing/deleting/
5300379-expected.png.
* editing/deleting/
5300379-expected.txt: Copied from platform/mac/editing/deleting/
5300379-expected.txt.
* editing/deleting/
5300379.html: Copied from platform/mac/editing/deleting/
5300379.html.
* editing/deleting/delete-to-end-of-paragraph-expected.checksum: Copied from platform/mac/editing/deleting/delete-to-end-of-paragraph-expected.checksum.
* editing/deleting/delete-to-end-of-paragraph-expected.png: Copied from platform/mac/editing/deleting/delete-to-end-of-paragraph-expected.png.
* editing/deleting/delete-to-end-of-paragraph-expected.txt: Copied from platform/mac/editing/deleting/delete-to-end-of-paragraph-expected.txt.
* editing/deleting/delete-to-end-of-paragraph.html: Copied from platform/mac/editing/deleting/delete-to-end-of-paragraph.html.
* editing/deleting/smart-delete-003-expected.checksum: Copied from platform/mac/editing/deleting/smart-delete-003-expected.checksum.
* editing/deleting/smart-delete-003-expected.png: Copied from platform/mac/editing/deleting/smart-delete-003-expected.png.
* editing/deleting/smart-delete-003-expected.txt: Copied from platform/mac/editing/deleting/smart-delete-003-expected.txt.
* editing/deleting/smart-delete-003.html: Copied from platform/mac/editing/deleting/smart-delete-003.html.
* editing/deleting/smart-delete-004-expected.checksum: Copied from platform/mac/editing/deleting/smart-delete-004-expected.checksum.
* editing/deleting/smart-delete-004-expected.png: Copied from platform/mac/editing/deleting/smart-delete-004-expected.png.
* editing/deleting/smart-delete-004-expected.txt: Copied from platform/mac/editing/deleting/smart-delete-004-expected.txt.
* editing/deleting/smart-delete-004.html: Copied from platform/mac/editing/deleting/smart-delete-004.html.
* editing/execCommand/nsresponder-indent-expected.checksum: Copied from platform/mac/editing/execCommand/nsresponder-indent-expected.checksum.
* editing/execCommand/nsresponder-indent-expected.png: Copied from platform/mac/editing/execCommand/nsresponder-indent-expected.png.
* editing/execCommand/nsresponder-indent-expected.txt: Copied from platform/mac/editing/execCommand/nsresponder-indent-expected.txt.
* editing/execCommand/nsresponder-indent.html: Copied from platform/mac/editing/execCommand/nsresponder-indent.html.
* editing/execCommand/nsresponder-outdent-expected.checksum: Copied from platform/mac/editing/execCommand/nsresponder-outdent-expected.checksum.
* editing/execCommand/nsresponder-outdent-expected.png: Copied from platform/mac/editing/execCommand/nsresponder-outdent-expected.png.
* editing/execCommand/nsresponder-outdent-expected.txt: Copied from platform/mac/editing/execCommand/nsresponder-outdent-expected.txt.
* editing/execCommand/nsresponder-outdent.html: Copied from platform/mac/editing/execCommand/nsresponder-outdent.html.
* editing/selection/
4947387-expected.checksum: Copied from platform/mac/editing/selection/
4947387-expected.checksum.
* editing/selection/
4947387-expected.png: Copied from platform/mac/editing/selection/
4947387-expected.png.
* editing/selection/
4947387-expected.txt: Copied from platform/mac/editing/selection/
4947387-expected.txt.
* editing/selection/
4947387.html: Copied from platform/mac/editing/selection/
4947387.html.
* editing/selection/
5195166-1-expected.checksum: Copied from platform/mac/editing/selection/
5195166-1-expected.checksum.
* editing/selection/
5195166-1-expected.png: Copied from platform/mac/editing/selection/
5195166-1-expected.png.
* editing/selection/
5195166-1-expected.txt: Copied from platform/mac/editing/selection/
5195166-1-expected.txt.
* editing/selection/
5195166-1.html: Copied from platform/mac/editing/selection/
5195166-1.html.
* editing/selection/
5195166-2-expected.checksum: Copied from platform/mac/editing/selection/
5195166-2-expected.checksum.
* editing/selection/
5195166-2-expected.png: Copied from platform/mac/editing/selection/
5195166-2-expected.png.
* editing/selection/
5195166-2-expected.txt: Copied from platform/mac/editing/selection/
5195166-2-expected.txt.
* editing/selection/
5195166-2.html: Copied from platform/mac/editing/selection/
5195166-2.html.
* editing/selection/select-line-expected.txt: Copied from platform/mac/editing/selection/select-line-expected.txt.
* editing/selection/select-line.html: Copied from platform/mac/editing/selection/select-line.html.
* editing/selection/selection-actions-expected.checksum: Copied from platform/mac/editing/selection/selection-actions-expected.checksum.
* editing/selection/selection-actions-expected.png: Copied from platform/mac/editing/selection/selection-actions-expected.png.
* editing/selection/selection-actions-expected.txt: Copied from platform/mac/editing/selection/selection-actions-expected.txt.
* editing/selection/selection-actions.html: Copied from platform/mac/editing/selection/selection-actions.html.
* platform/win/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25382
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Thu, 6 Sep 2007 01:47:30 +0000 (01:47 +0000)]
Updated results for:
<rdar://problem/
5306171> Mail: The first return after an attachment in multipart/mixed message is lost
* http/tests/security/dataURL/xss-DENIED-from-data-url-to-data-url-expected.txt:
* http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame-2-level-expected.txt:
* http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-to-javscript-url-expected.txt:
* http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-2-level-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25381
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Thu, 6 Sep 2007 00:32:36 +0000 (00:32 +0000)]
Reviewed by Kevin McCullough.
Use correct part of the test for cross-platform testing.
* plugins/bindings-test-expected.txt:
* plugins/bindings-test.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25380
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Wed, 5 Sep 2007 23:57:03 +0000 (23:57 +0000)]
Reviewed by Geoff Garen.
Split out mac specific tests from plugins/bindings-test.html into its own test.
* platform/mac/plugins/bindings-test-objc-expected.txt: Added.
* platform/mac/plugins/bindings-test-objc.html: Copied from plugins/bindings-test.html.
* platform/win/Skipped:
* plugins/bindings-test-expected.txt:
* plugins/bindings-test.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25379
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver [Wed, 5 Sep 2007 23:39:55 +0000 (23:39 +0000)]
Reviewed by Adam and Niko.
Force run-webkit-tests to not run the tests in platform/mac
* platform/win/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25378
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Wed, 5 Sep 2007 23:02:38 +0000 (23:02 +0000)]
Fix ALT+key combos so that they go into the DOM.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25377
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Wed, 5 Sep 2007 22:39:32 +0000 (22:39 +0000)]
Reviewed by Geoff Garen.
Don't log DumpRenderTree injected properties in fast/dom/Window/window-properties.html. This change makes
it pass on Windows so it can be removed from the Skipped list.
* fast/dom/Window/window-properties-expected.txt:
* fast/dom/Window/window-properties.html:
* platform/win/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25376
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Wed, 5 Sep 2007 20:58:28 +0000 (20:58 +0000)]
Reviewed by Oliver.
Fix many layout test failures caused by r25364.
Set text size to standand size at the begining of each test matching the mac.
* DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.cpp:
(runTest):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25374
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Wed, 5 Sep 2007 20:46:41 +0000 (20:46 +0000)]
WebCore:
Reviewed by Kevin Decker.
<rdar://problem/
5306171> Mail: The first return after an attachment in multipart/mixed message is lost
Test added: editing/selection/toString-1.html
Source changes:
* editing/TextIterator.cpp:
(WebCore::TextIterator::shouldRepresentNodeOffsetZero):
- Remove outdated and erroneous check for m_lastTextNode.
- Fix VisiblePosition check to look for line diff. Simple position diff gives the
wrong answer when the start is table/0 and the current is the first position
inside the content of the table.
LayoutTests:
Reviewed by Kevin Decker.
Testcase for:
<rdar://problem/
5306171> Mail: The first return after an attachment in multipart/mixed message is lost
* editing/selection/toString-1-expected.txt: Added.
* editing/selection/toString-1.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25373
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Wed, 5 Sep 2007 14:24:37 +0000 (14:24 +0000)]
2007-09-05 Mark Rowe <mrowe@apple.com>
Unreviewed Qt build fix.
* wtf/unicode/qt4/UnicodeQt4.h: Fix the constness of the src argument to toUpper to prevent build failures.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25369
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Wed, 5 Sep 2007 06:10:54 +0000 (06:10 +0000)]
2007-09-04 Marvin Decker <marv.decker@gmail.com>
Reviewed by Maciej Stachowiak.
http://bugs.webkit.org/show_bug.cgi?id=15072
Bug 15072: Fix ImageDecoder.cpp to not copy incoming data
Change ImageDecoder::setData to take a SharedBuffer*.
* platform/graphics/cairo/ImageSourceCairo.cpp:
(WebCore::ImageSource::setData):
* platform/image-decoders/ImageDecoder.h:
(WebCore::RGBA32Buffer::bytes):
(WebCore::RGBA32Buffer::height):
(WebCore::ImageDecoder::setData):
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::setData):
(WebCore::GIFImageDecoder::frameCount):
(WebCore::GIFImageDecoder::decode):
(WebCore::GIFImageDecoder::decodingHalted):
(WebCore::GIFImageDecoder::initFrameBuffer):
* platform/image-decoders/gif/GIFImageDecoder.h:
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageDecoder::setData):
(WebCore::JPEGImageDecoder::decode):
* platform/image-decoders/jpeg/JPEGImageDecoder.h:
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::setData):
(WebCore::PNGImageDecoder::decode):
(WebCore::PNGImageDecoder::headerAvailable):
(WebCore::PNGImageDecoder::rowAvailable):
* platform/image-decoders/png/PNGImageDecoder.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25368
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver [Wed, 5 Sep 2007 05:16:53 +0000 (05:16 +0000)]
RS=Adam
Moving a number of mac specific tests into LayoutTests/platform/mac so that they
don't need to be in the windows Skiplist.
This includes most of the tests that used textInputController as it is a test
of the mac-specific NSTextInput API.
* editing/deleting/
5300379-expected.checksum: Removed.
* editing/deleting/
5300379-expected.png: Removed.
* editing/deleting/
5300379-expected.txt: Removed.
* editing/deleting/
5300379.html: Removed.
* editing/deleting/delete-to-end-of-paragraph-expected.checksum: Removed.
* editing/deleting/delete-to-end-of-paragraph-expected.png: Removed.
* editing/deleting/delete-to-end-of-paragraph-expected.txt: Removed.
* editing/deleting/delete-to-end-of-paragraph.html: Removed.
* editing/deleting/smart-delete-003-expected.checksum: Removed.
* editing/deleting/smart-delete-003-expected.png: Removed.
* editing/deleting/smart-delete-003-expected.txt: Removed.
* editing/deleting/smart-delete-003.html: Removed.
* editing/deleting/smart-delete-004-expected.checksum: Removed.
* editing/deleting/smart-delete-004-expected.png: Removed.
* editing/deleting/smart-delete-004-expected.txt: Removed.
* editing/deleting/smart-delete-004.html: Removed.
* editing/execCommand/nsresponder-indent-expected.checksum: Removed.
* editing/execCommand/nsresponder-indent-expected.png: Removed.
* editing/execCommand/nsresponder-indent-expected.txt: Removed.
* editing/execCommand/nsresponder-indent.html: Removed.
* editing/execCommand/nsresponder-outdent-expected.checksum: Removed.
* editing/execCommand/nsresponder-outdent-expected.png: Removed.
* editing/execCommand/nsresponder-outdent-expected.txt: Removed.
* editing/execCommand/nsresponder-outdent.html: Removed.
* editing/input/firstrectforcharacterrange-plain-expected.txt: Removed.
* editing/input/firstrectforcharacterrange-plain.html: Removed.
* editing/input/firstrectforcharacterrange-styled-expected.txt: Removed.
* editing/input/firstrectforcharacterrange-styled.html: Removed.
* editing/input/mac: Removed.
* editing/input/mac/hangul-enter-confirms-and-sends-keypress-expected.txt: Removed.
* editing/input/mac/hangul-enter-confirms-and-sends-keypress.html: Removed.
* editing/input/mac/hangul.js: Removed.
* editing/input/mac/kotoeri-enter-to-confirm-and-newline-expected.txt: Removed.
* editing/input/mac/kotoeri-enter-to-confirm-and-newline.html: Removed.
* editing/input/mac/kotoeri.js: Removed.
* editing/input/mac/logger.js: Removed.
* editing/input/range-for-empty-document-expected.txt: Removed.
* editing/input/range-for-empty-document.html: Removed.
* editing/input/replace-invalid-range-expected.txt: Removed.
* editing/input/replace-invalid-range.html: Removed.
* editing/input/text-input-controller-expected.txt: Removed.
* editing/input/text-input-controller.html: Removed.
* editing/input/wrapped-line-char-rect-expected.txt: Removed.
* editing/input/wrapped-line-char-rect.html: Removed.
* editing/selection/
4947387-expected.checksum: Removed.
* editing/selection/
4947387-expected.png: Removed.
* editing/selection/
4947387-expected.txt: Removed.
* editing/selection/
4947387.html: Removed.
* editing/selection/
5195166-1-expected.checksum: Removed.
* editing/selection/
5195166-1-expected.png: Removed.
* editing/selection/
5195166-1-expected.txt: Removed.
* editing/selection/
5195166-1.html: Removed.
* editing/selection/
5195166-2-expected.checksum: Removed.
* editing/selection/
5195166-2-expected.png: Removed.
* editing/selection/
5195166-2-expected.txt: Removed.
* editing/selection/
5195166-2.html: Removed.
* editing/selection/select-line-expected.txt: Removed.
* editing/selection/select-line.html: Removed.
* editing/selection/selection-actions-expected.checksum: Removed.
* editing/selection/selection-actions-expected.png: Removed.
* editing/selection/selection-actions-expected.txt: Removed.
* editing/selection/selection-actions.html: Removed.
* fast/AppleScript: Removed.
* fast/AppleScript/001-expected.txt: Removed.
* fast/AppleScript/001.html: Removed.
* fast/AppleScript/array-expected.txt: Removed.
* fast/AppleScript/array.html: Removed.
* fast/AppleScript/date-expected.txt: Removed.
* fast/AppleScript/date.html: Removed.
* fast/dom/character-index-for-point-expected.txt: Removed.
* fast/dom/character-index-for-point.html: Removed.
* fast/dom/wrapper-identity-expected.txt: Removed.
* fast/dom/wrapper-identity.html: Removed.
* fast/dom/wrapper-round-tripping-expected.txt: Removed.
* fast/dom/wrapper-round-tripping.html: Removed.
* fast/encoding/char-decoding-mac-expected.txt: Removed.
* fast/encoding/char-decoding-mac.html: Removed.
* fast/forms/attributed-strings-expected.txt: Removed.
* fast/forms/attributed-strings.html: Removed.
* fast/objc: Removed.
* fast/objc/longlongTest-expected.txt: Removed.
* fast/objc/longlongTest.html: Removed.
* fast/text/attributed-substring-from-range-001-expected.txt: Removed.
* fast/text/attributed-substring-from-range-001.html: Removed.
* fast/text/attributed-substring-from-range-expected.txt: Removed.
* fast/text/attributed-substring-from-range-in-textfield-expected.txt: Removed.
* fast/text/attributed-substring-from-range-in-textfield.html: Removed.
* fast/text/attributed-substring-from-range.html: Removed.
* fast/text/justified-text-rect-expected.checksum: Removed.
* fast/text/justified-text-rect-expected.png: Removed.
* fast/text/justified-text-rect-expected.txt: Removed.
* fast/text/justified-text-rect.html: Removed.
* platform/mac/editing/deleting/
5300379-expected.checksum: Copied from editing/deleting/
5300379-expected.checksum.
* platform/mac/editing/deleting/
5300379-expected.png: Copied from editing/deleting/
5300379-expected.png.
* platform/mac/editing/deleting/
5300379-expected.txt: Copied from editing/deleting/
5300379-expected.txt.
* platform/mac/editing/deleting/
5300379.html: Copied from editing/deleting/
5300379.html.
* platform/mac/editing/deleting/delete-to-end-of-paragraph-expected.checksum: Copied from editing/deleting/delete-to-end-of-paragraph-expected.checksum.
* platform/mac/editing/deleting/delete-to-end-of-paragraph-expected.png: Copied from editing/deleting/delete-to-end-of-paragraph-expected.png.
* platform/mac/editing/deleting/delete-to-end-of-paragraph-expected.txt: Copied from editing/deleting/delete-to-end-of-paragraph-expected.txt.
* platform/mac/editing/deleting/delete-to-end-of-paragraph.html: Copied from editing/deleting/delete-to-end-of-paragraph.html.
* platform/mac/editing/deleting/smart-delete-003-expected.checksum: Copied from editing/deleting/smart-delete-003-expected.checksum.
* platform/mac/editing/deleting/smart-delete-003-expected.png: Copied from editing/deleting/smart-delete-003-expected.png.
* platform/mac/editing/deleting/smart-delete-003-expected.txt: Copied from editing/deleting/smart-delete-003-expected.txt.
* platform/mac/editing/deleting/smart-delete-003.html: Copied from editing/deleting/smart-delete-003.html.
* platform/mac/editing/deleting/smart-delete-004-expected.checksum: Copied from editing/deleting/smart-delete-004-expected.checksum.
* platform/mac/editing/deleting/smart-delete-004-expected.png: Copied from editing/deleting/smart-delete-004-expected.png.
* platform/mac/editing/deleting/smart-delete-004-expected.txt: Copied from editing/deleting/smart-delete-004-expected.txt.
* platform/mac/editing/deleting/smart-delete-004.html: Copied from editing/deleting/smart-delete-004.html.
* platform/mac/editing/execCommand/nsresponder-indent-expected.checksum: Copied from editing/execCommand/nsresponder-indent-expected.checksum.
* platform/mac/editing/execCommand/nsresponder-indent-expected.png: Copied from editing/execCommand/nsresponder-indent-expected.png.
* platform/mac/editing/execCommand/nsresponder-indent-expected.txt: Copied from editing/execCommand/nsresponder-indent-expected.txt.
* platform/mac/editing/execCommand/nsresponder-indent.html: Copied from editing/execCommand/nsresponder-indent.html.
* platform/mac/editing/execCommand/nsresponder-outdent-expected.checksum: Copied from editing/execCommand/nsresponder-outdent-expected.checksum.
* platform/mac/editing/execCommand/nsresponder-outdent-expected.png: Copied from editing/execCommand/nsresponder-outdent-expected.png.
* platform/mac/editing/execCommand/nsresponder-outdent-expected.txt: Copied from editing/execCommand/nsresponder-outdent-expected.txt.
* platform/mac/editing/execCommand/nsresponder-outdent.html: Copied from editing/execCommand/nsresponder-outdent.html.
* platform/mac/editing/input: Copied from editing/input/mac.
* platform/mac/editing/input/firstrectforcharacterrange-plain-expected.txt: Copied from editing/input/firstrectforcharacterrange-plain-expected.txt.
* platform/mac/editing/input/firstrectforcharacterrange-plain.html: Copied from editing/input/firstrectforcharacterrange-plain.html.
* platform/mac/editing/input/firstrectforcharacterrange-styled-expected.txt: Copied from editing/input/firstrectforcharacterrange-styled-expected.txt.
* platform/mac/editing/input/firstrectforcharacterrange-styled.html: Copied from editing/input/firstrectforcharacterrange-styled.html.
* platform/mac/editing/input/range-for-empty-document-expected.txt: Copied from editing/input/range-for-empty-document-expected.txt.
* platform/mac/editing/input/range-for-empty-document.html: Copied from editing/input/range-for-empty-document.html.
* platform/mac/editing/input/replace-invalid-range-expected.txt: Copied from editing/input/replace-invalid-range-expected.txt.
* platform/mac/editing/input/replace-invalid-range.html: Copied from editing/input/replace-invalid-range.html.
* platform/mac/editing/input/text-input-controller-expected.txt: Copied from editing/input/text-input-controller-expected.txt.
* platform/mac/editing/input/text-input-controller.html: Copied from editing/input/text-input-controller.html.
* platform/mac/editing/input/wrapped-line-char-rect-expected.txt: Copied from editing/input/wrapped-line-char-rect-expected.txt.
* platform/mac/editing/input/wrapped-line-char-rect.html: Copied from editing/input/wrapped-line-char-rect.html.
* platform/mac/editing/selection/
4947387-expected.checksum: Copied from editing/selection/
4947387-expected.checksum.
* platform/mac/editing/selection/
4947387-expected.png: Copied from editing/selection/
4947387-expected.png.
* platform/mac/editing/selection/
4947387-expected.txt: Copied from editing/selection/
4947387-expected.txt.
* platform/mac/editing/selection/
4947387.html: Copied from editing/selection/
4947387.html.
* platform/mac/editing/selection/
5195166-1-expected.checksum: Copied from editing/selection/
5195166-1-expected.checksum.
* platform/mac/editing/selection/
5195166-1-expected.png: Copied from editing/selection/
5195166-1-expected.png.
* platform/mac/editing/selection/
5195166-1-expected.txt: Copied from editing/selection/
5195166-1-expected.txt.
* platform/mac/editing/selection/
5195166-1.html: Copied from editing/selection/
5195166-1.html.
* platform/mac/editing/selection/
5195166-2-expected.checksum: Copied from editing/selection/
5195166-2-expected.checksum.
* platform/mac/editing/selection/
5195166-2-expected.png: Copied from editing/selection/
5195166-2-expected.png.
* platform/mac/editing/selection/
5195166-2-expected.txt: Copied from editing/selection/
5195166-2-expected.txt.
* platform/mac/editing/selection/
5195166-2.html: Copied from editing/selection/
5195166-2.html.
* platform/mac/editing/selection/select-line-expected.txt: Copied from editing/selection/select-line-expected.txt.
* platform/mac/editing/selection/select-line.html: Copied from editing/selection/select-line.html.
* platform/mac/editing/selection/selection-actions-expected.checksum: Copied from editing/selection/selection-actions-expected.checksum.
* platform/mac/editing/selection/selection-actions-expected.png: Copied from editing/selection/selection-actions-expected.png.
* platform/mac/editing/selection/selection-actions-expected.txt: Copied from editing/selection/selection-actions-expected.txt.
* platform/mac/editing/selection/selection-actions.html: Copied from editing/selection/selection-actions.html.
* platform/mac/fast/AppleScript: Copied from fast/AppleScript.
* platform/mac/fast/dom: Added.
* platform/mac/fast/dom/character-index-for-point-expected.txt: Copied from fast/dom/character-index-for-point-expected.txt.
* platform/mac/fast/dom/character-index-for-point.html: Copied from fast/dom/character-index-for-point.html.
* platform/mac/fast/dom/wrapper-identity-expected.txt: Copied from fast/dom/wrapper-identity-expected.txt.
* platform/mac/fast/dom/wrapper-identity.html: Copied from fast/dom/wrapper-identity.html.
* platform/mac/fast/dom/wrapper-round-tripping-expected.txt: Copied from fast/dom/wrapper-round-tripping-expected.txt.
* platform/mac/fast/dom/wrapper-round-tripping.html: Copied from fast/dom/wrapper-round-tripping.html.
* platform/mac/fast/encoding: Added.
* platform/mac/fast/encoding/char-decoding-mac-expected.txt: Copied from fast/encoding/char-decoding-mac-expected.txt.
* platform/mac/fast/encoding/char-decoding-mac.html: Copied from fast/encoding/char-decoding-mac.html.
* platform/mac/fast/forms: Added.
* platform/mac/fast/forms/attributed-strings-expected.txt: Copied from fast/forms/attributed-strings-expected.txt.
* platform/mac/fast/forms/attributed-strings.html: Copied from fast/forms/attributed-strings.html.
* platform/mac/fast/objc: Copied from fast/objc.
* platform/mac/fast/text: Added.
* platform/mac/fast/text/attributed-substring-from-range-001-expected.txt: Copied from fast/text/attributed-substring-from-range-001-expected.txt.
* platform/mac/fast/text/attributed-substring-from-range-001.html: Copied from fast/text/attributed-substring-from-range-001.html.
* platform/mac/fast/text/attributed-substring-from-range-expected.txt: Copied from fast/text/attributed-substring-from-range-expected.txt.
* platform/mac/fast/text/attributed-substring-from-range-in-textfield-expected.txt: Copied from fast/text/attributed-substring-from-range-in-textfield-expected.txt.
* platform/mac/fast/text/attributed-substring-from-range-in-textfield.html: Copied from fast/text/attributed-substring-from-range-in-textfield.html.
* platform/mac/fast/text/attributed-substring-from-range.html: Copied from fast/text/attributed-substring-from-range.html.
* platform/mac/fast/text/justified-text-rect-expected.checksum: Copied from fast/text/justified-text-rect-expected.checksum.
* platform/mac/fast/text/justified-text-rect-expected.png: Copied from fast/text/justified-text-rect-expected.png.
* platform/mac/fast/text/justified-text-rect-expected.txt: Copied from fast/text/justified-text-rect-expected.txt.
* platform/mac/fast/text/justified-text-rect.html: Copied from fast/text/justified-text-rect.html.
* platform/mac/plugins: Added.
* platform/mac/plugins/pluginDocumentView-deallocated-dataSource-expected.txt: Copied from plugins/pluginDocumentView-deallocated-dataSource-expected.txt.
* platform/mac/plugins/pluginDocumentView-deallocated-dataSource.html: Copied from plugins/pluginDocumentView-deallocated-dataSource.html.
* platform/win/Skipped:
* plugins/pluginDocumentView-deallocated-dataSource-expected.txt: Removed.
* plugins/pluginDocumentView-deallocated-dataSource.html: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25367
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Wed, 5 Sep 2007 05:15:06 +0000 (05:15 +0000)]
Back out accidentally committed change.
* JavaScriptCore.xcodeproj/project.pbxproj:
* kjs/collector.cpp:
(KJS::Collector::registerThread):
* wtf/FastMalloc.cpp:
(WTF::fastMallocSetIsMultiThreaded):
(WTF::TCMalloc_ThreadCache::GetCache):
(WTF::TCMalloc_ThreadCache::GetCacheIfPresent):
(WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
(WTF::do_malloc):
* wtf/FastMallocInternal.h: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25366
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Wed, 5 Sep 2007 05:01:03 +0000 (05:01 +0000)]
Reviewed by Darin.
- Added Vector::appendRange(), which appends to a vector based on a given start and end iterator
- Added keys() and values() functions to HashMap iterators, which give keys-only and values-only iterators
Together, these allow easy copying of a set, or the keys or values of a map, into a Vector. Examples:
HashMap<int, int> map;
HashSet<int> set;
Vector<int> vec;
// ...
vec.appendRange(set.begin(), set.end());
vec.appendRange(map.begin().keys(), map.end().keys());
vec.appendRange(map.begin().values(), map.end().values());
This also allows for a slightly nicer syntax when iterating a map. Instead of saying
(*it)->first, you can say *it.values(). Similarly for keys. Example:
HashMap<int, int>::const_iterator end = map.end();
for (HashMap<int, int>::const_iterator it = map.begin(); it != end; ++it)
printf(" [%d => %d]", *it.keys(), *it.values());
* JavaScriptCore.xcodeproj/project.pbxproj:
* wtf/HashIterators.h: Added.
(WTF::):
(WTF::HashTableConstKeysIterator::HashTableConstKeysIterator):
(WTF::HashTableConstKeysIterator::get):
(WTF::HashTableConstKeysIterator::operator*):
(WTF::HashTableConstKeysIterator::operator->):
(WTF::HashTableConstKeysIterator::operator++):
(WTF::HashTableConstValuesIterator::HashTableConstValuesIterator):
(WTF::HashTableConstValuesIterator::get):
(WTF::HashTableConstValuesIterator::operator*):
(WTF::HashTableConstValuesIterator::operator->):
(WTF::HashTableConstValuesIterator::operator++):
(WTF::HashTableKeysIterator::HashTableKeysIterator):
(WTF::HashTableKeysIterator::get):
(WTF::HashTableKeysIterator::operator*):
(WTF::HashTableKeysIterator::operator->):
(WTF::HashTableKeysIterator::operator++):
(WTF::HashTableKeysIterator::operator HashTableConstKeysIterator<HashTableType, KeyType, MappedType>):
(WTF::HashTableValuesIterator::HashTableValuesIterator):
(WTF::HashTableValuesIterator::get):
(WTF::HashTableValuesIterator::operator*):
(WTF::HashTableValuesIterator::operator->):
(WTF::HashTableValuesIterator::operator++):
(WTF::HashTableValuesIterator::operator HashTableConstValuesIterator<HashTableType, KeyType, MappedType>):
(WTF::operator==):
(WTF::operator!=):
* wtf/HashTable.h:
* wtf/Vector.h:
(WTF::::appendRange):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25365
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Wed, 5 Sep 2007 03:58:16 +0000 (03:58 +0000)]
WebKitTools:
Reviewed by Adam.
Fix for <rdar://problem/
5382277>
Implement eventSender.textZoomIn and eventSender.textZoomOut for windows DRT.
* DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/EventSender.cpp:
(textZoomInCallback):
(textZoomOutCallback):
LayoutTests:
Reviewed by Adam.
Fix for <rdar://problem/
5382277>
Remove fast/css/ignore-text-zoom.html from skip list now that
eventSender.textZoomIn is supported.
* platform/win/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25364
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Wed, 5 Sep 2007 00:25:31 +0000 (00:25 +0000)]
Reviewed by Darin.
<rdar://problem/
5452908> NIBs saved in the Pre-10.2 format while Safari 3 installed do not work without Safari 3
This happened because we encoded a new field that the old WebKit does not know how to read.
And NSCoder throws an exception if initWithCoder finishes while there is still unread data in the archive.
The WebViewVersion is now 4 to distinguish that we do not encode/decode allowsUndo.
* WebView/WebView.mm:
(-[WebView initWithCoder:]): Only try to read allowsUndo if the version is 3.
(-[WebView encodeWithCoder:]): No longer encode allowsUndo.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25363
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Wed, 5 Sep 2007 00:16:38 +0000 (00:16 +0000)]
Build fix.
* WebKit.vcproj/WebKit.vcproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25362
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 4 Sep 2007 23:23:36 +0000 (23:23 +0000)]
Fix build bustage.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25361
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 4 Sep 2007 22:58:27 +0000 (22:58 +0000)]
WebCore:
Fix for <rdar://problem/
5271213>, resizing iChat window is slower than in
Tiger. This patch implements a fast scaling mode that can be used by
WebViews, e.g., during window resizing.
Reviewed by John Sullivan
* WebCore.exp:
* WebCore.xcodeproj/project.pbxproj:
* page/Frame.cpp:
(WebCore::FramePrivate::FramePrivate):
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::inLowQualityImageInterpolationMode):
(WebCore::Page::setInLowQualityImageInterpolationMode):
* page/Page.h:
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawImage):
* platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContext::setUseLowQualityImageInterpolation):
(WebCore::GraphicsContext::useLowQualityImageInterpolation):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::setUseLowQualityImageInterpolation):
(WebCore::GraphicsContext::useLowQualityImageInterpolation):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paint):
WebKit:
Fix for <rdar://problem/
5271213>, resizing iChat window is slower than in
Tiger. This patch implements a fast scaling mode that can be used by
WebViews, e.g., during window resizing.
Reviewed by John Sullivan
* WebView/WebView.mm:
(-[WebView _setUseFastImageScalingMode:]):
(-[WebView _inFastImageScalingMode]):
* WebView/WebViewPrivate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25360
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 4 Sep 2007 22:47:51 +0000 (22:47 +0000)]
Reviewed by Hyatt.
* WebView/WebView.mm:
(-[WebView _loadBackForwardListFromOtherView:]): Added missing null check.
(-[WebView _setInitiatedDrag:]): Ditto.
(-[WebView _clearUndoRedoOperations]): Ditto.
(-[WebView encodeWithCoder:]): Ditto.
(-[WebView backForwardList]): Ditto.
(-[WebView setMaintainsBackForwardList:]): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25359
268f45cc-cd09-0410-ab3c-
d52691b4dbfc