- 28 Mar, 2008 1 commit
-
-
ap@webkit.org authored
Fix a dtoa thread safety issue. WebCore can call kjs_strtod without holding JS lock, but we didn't have thread safety compiled in for dtoa. This is a 0.5% regression on SunSpider, which Sam Weinig has volunteered to cover with his recent improvement. * kjs/dtoa.cpp: (Bigint::Balloc): (Bigint::Bfree): Changed to use fastMalloc/fastDelete - they are much faster than the dtoa custom version was in the presence of locking (but somewhat slower in single-threaded case). (Bigint::pow5mult): Got rid of the dreaded double-checked locking anti-pattern (had to restructure the code to avoid significant performance implications). (Bigint::lshift): Rewrote to avoid an allocation, if possible. (Bigint::rv_alloc): (Bigint::kjs_freedtoa): (Bigint::kjs_dtoa): Check for USE(MULTIPLE_THREADS), not dtoa legacy MULTIPLE_THREADS. * kjs/InitializeThreading.cpp: Added. (KJS::initializeThreading): * kjs/InitializeThreading.h: Added. Initialize threading at KJS level, if enabled. * kjs/dtoa.h: Expose dtoa mutex for KJS::initializeThreading. * kjs/testkjs.cpp: (kjsmain): Call initializeThreading. * JavaScriptCore.exp: Export KJS::initializeThreading. * GNUmakefile.am: * JavaScriptCore.exp: * JavaScriptCore.pri: * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: * JavaScriptCoreSources.bkl: * JavaScriptCore.xcodeproj/project.pbxproj: Added InitializeThreading.{h,cpp}. * wtf/Threading.h: Removed a using directive for WTF::initializeThreading - it is only to be called from KJS::initializeThreading, and having it in the global namespace is useless. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31404 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 06 Mar, 2008 1 commit
-
-
darin@apple.com authored
Reviewed by Mitz. - fix http://bugs.webkit.org/show_bug.cgi?id=17526 REGRESSION: iframes are added to Safari's History menu by separating the visited link machinery from global history This should also make page loading faster due to more efficient visited link coloring. * WebCore.base.exp: Updated. * WebCore.vcproj/WebCore.vcproj: Added PageGroup.h/cpp, removed GlobalHistory.h/cpp. * WebCore.xcodeproj/project.pbxproj: Ditto. Also removed WebCoreHistory.h/m. * css/CSSStyleSelector.cpp: Updated includes. (WebCore::CSSStyleSelector::initElementAndPseudoState): Eliminated code to set currentEncodedURL. (WebCore::checkPseudoState): Moved most of the code inside a new PageGroup::isLinkVisited function. (WebCore::CSSStyleSelector::canShareStyleWithElement): Tightened code a bit by using references and only getting colors when needed. (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Ditto. * css/CSSStyleSelector.h: Removed EncodedURL, m_encodedURL, and setEncodedURL. * dom/Document.cpp: (WebCore::Document::attach): Removed call to setEncodedURL. (WebCore::Document::setURL): Ditto. (WebCore::Document::recalcStyleSelector): Ditto. * loader/FrameLoader.cpp: (WebCore::FrameLoader::addBackForwardItemClippedAtTarget): Changed code to use early exit idiom to be a little more readable. (WebCore::FrameLoader::urlsMatchItem): Change to use a reference for slightly better efficiency. (WebCore::FrameLoader::goToItem): Use early exit idiom to be a little more readable. (WebCore::FrameLoader::updateHistoryForStandardLoad): Moved history code back in here and got rid of the helper function updateGlobalHistory, restoring the logic before r30549. Also added a call to the new addVisitedLink function. (WebCore::FrameLoader::updateHistoryForClientRedirect): Added code to call addVisitedLink here. (WebCore::FrameLoader::updateHistoryForBackForwardNavigation): Removed comment. (WebCore::FrameLoader::updateHistoryForReload): Removed call to updateGlobalHistory; we can just go without updating global history or visited links here, at least for now, since it's not clear that a reload is a "history event". (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Moved history code back where it was, and added the call to addVisitedLink, just as in updateHistoryForStandardLoad above. * loader/FrameLoader.h: Removed updateGlobalHistory function. * page/Chrome.cpp: (WebCore::ChromeClient::populateVisitedLinks): Added. Empty placeholder so we don't have to implement this for every port all at once. (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Changed to use the new PageGroup class. * page/ChromeClient.h: Added populateVisitedLinks function, used to fill the visited links set from the global history at application startup time. * page/FrameTree.cpp: (WebCore::FrameTree::find): Updated to use the new PageGroup class. * page/GlobalHistory.h: Removed. * page/win/GlobalHistoryWin.cpp: Removed. * page/mac/GlobalHistoryMac.mm: Removed. * platform/mac/WebCoreHistory.h: Removed. * platform/mac/WebCoreHistory.m: Removed. * platform/win/WebCoreHistory.cpp: Removed. * platform/win/WebCoreHistory.h: Removed. * page/Page.cpp: (WebCore::Page::Page): Set m_group to 0. (WebCore::Page::setGroupName): Set up m_group. If the page is not in any group, set it to 0 for now to postpone the cost of creating a group. (WebCore::Page::initGroup): Added. Sets m_group to point to a single-page group; used when getting a group. (WebCore::Page::removeAllVisitedLinks): Added. Calls removeVisitedLinks on all page groups. * page/Page.h: Moved enums inside the WebCore namespace. Removed the frameNamespace function and instead added the group and groupPtr functions. * page/PageGroup.cpp: Added. Contains all the visited code from the CSSStyleSelector in the isVisitedLink function, but more efficient because we don't allocate memory for the buffer. * page/PageGroup.h: Added. * platform/gtk/TemporaryLinkStubs.cpp: Removed historyContains. * platform/qt/TemporaryLinkStubs.cpp: Removed unneeded include. * platform/wx/TemporaryLinkStubs.cpp: Removed historyContains. WebKit: * WebKit.xcodeproj/project.pbxproj: Added WebHistoryInternal.h. WebKit/mac: Reviewed by Mitz. - fix http://bugs.webkit.org/show_bug.cgi?id=17526 REGRESSION: iframes are added to Safari's History menu by separating the visited link machinery from global history * History/WebHistory.mm: Moved WebHistoryPrivate inside this file. (-[WebHistoryPrivate removeItemFromDateCaches:]): Removed the underscore from this method name, since it's on a private object. (-[WebHistoryPrivate removeItemForURLString:]): Added a call to the PageGroup::removeAllVisitedLinks function if the last URL was removed. (-[WebHistoryPrivate addItemToDateCaches:]): Removed the underscore from this method name, since it's on a private object. (-[WebHistoryPrivate removeAllItems]): Call PageGroup::removeAllVisitedLinks. (-[WebHistoryPrivate ageLimitDate]): Removed the underscore from this method name, since it's on a private object. (-[WebHistoryPrivate loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]): Ditto. (-[WebHistoryPrivate saveHistoryGuts:URL:error:]): Ditto. Also changed this to correctly return the error by using the newer version of writeToURL: and removed the FIXME about that. (-[WebHistoryPrivate addVisitedLinksToPageGroup:]): Added. Calls addVisitedLink for every link in the history. (-[WebHistory saveToURL:error:]): Removed the FIXME, since we do get the error now. (-[WebHistory addItem:]): Moved into the WebPrivate category. (-[WebHistory addItemForURL:]): Ditto. (-[WebHistory _addItemForURL:title:]): Added. Used for the normal case where we create an item and already know its title. (-[WebHistory ageLimitDate]): Moved into the WebPrivate category. (-[WebHistory containsItemForURLString:]): Ditto. (-[WebHistory removeItem:]): Ditto. (-[WebHistory setLastVisitedTimeInterval:forItem:]): Ditto. (-[WebHistory _itemForURLString:]): Ditto. (-[WebHistory _addVisitedLinksToPageGroup:]): Added. For use only inside WebKit. * History/WebHistoryInternal.h: Added. * History/WebHistoryItemInternal.h: Tweaked formatting and includes. * History/WebHistoryPrivate.h: Moved the WebHistoryPrivate class out of this header. Also reorganized what was left behind. * WebCoreSupport/WebChromeClient.h: Added populateVisitedLinks. * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::populateVisitedLinks): Added a call to the new -[WebHistory _addVisitedLinksToPageGroup:] method. * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::updateGlobalHistory): Changed code to use the new -[WebHistory _addItemForURL:title:] method. WebKit/win: Reviewed by Mitz. - fix http://bugs.webkit.org/show_bug.cgi?id=17526 REGRESSION: iframes are added to Safari's History menu by separating the visited link machinery from global history * WebCoreSupport/WebChromeClient.cpp: (WebChromeClient::populateVisitedLinks): Added a call to the new WebHistory::addVisitedLinksToPageGroup function. * WebCoreSupport/WebChromeClient.h: Added populateVisitedLinks. Also fixed the webView function to be non-virtual. * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::updateGlobalHistory): Changed to use the new WebHistory::addItem function. (WebFrameLoaderClient::webHistory): Changed to return a WebHistory*, there's no reason to AddRef the result from this function. * WebCoreSupport/WebFrameLoaderClient.h: Ditto. * WebHistory.cpp: Removed IWebHistoryPrivate and _WebCoreHistoryProvider. (WebHistory::QueryInterface): Removed IWebHistoryPrivate. (sharedHistoryStorage): Added. (WebHistory::sharedHistory): Added. (WebHistory::optionalSharedHistory): Changed to use sharedHistory(). (WebHistory::setOptionalSharedHistory): Changed to require a WebHistory object, not just an IWebHistory. (WebHistory::removeAllItems): Call PageGroup::removeAllVisitedLinks. (WebHistory::addItem): Changed parameter types since this is called with arguments from WebCore -- at some point this could allow better efficiency. (WebHistory::removeItemForURLString): Call PageGroup::removeAllVisitedLinks if the last URL is being removed. (addVisitedLinkToPageGroup): Added. Helper. Adds a single link to a group's visited link set. (WebHistory::addVisitedLinksToPageGroup): Added. Adds all links to a group's visited link. * WebHistory.h: Removed IWebHistoryPrivate. Removed optionalSharedHistoryInternal and added sharedHistory. Replaced addItemForURL and containsItemForURLString with non-virtual addItem and addVisitedLinksToPageGroup functions. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30840 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 15 Feb, 2008 1 commit
-
-
mitz@apple.com authored
Reviewed by Alexey Proskuryakov. - WebCore part of fixing http://bugs.webkit.org/show_bug.cgi?id=17360 <rdar://problem/5743131> REGRESSION: mp4 file downloaded from server is downloaded as html Test: http/tests/loading/text-content-type-with-binary-extension.html Refined the workaround for <rdar://problem/5321972> to exclude files with extensions that are known to be associated with binary MIME types. * WebCore.xcodeproj/project.pbxproj: Added WebCoreURLResponse.{h,mm}. * platform/network/mac/ResourceResponseMac.mm: (WebCore::ResourceResponse::doUpdateResourceResponse): Moved the workaround logic into WebCoreURLResponse. * platform/network/mac/WebCoreURLResponse.h: Added. * platform/network/mac/WebCoreURLResponse.mm: Added. (createBinaryExtensionsSet): Returns a set of extensions known to belong to MIME types of binary data. (-[NSURLResponse _webcore_MIMEType]): (-[NSHTTPURLResponse _webcore_MIMEType]): Forces the MIME type from application/octet-stream to text/plain if that is the specified Content-Type, unless the extension is in the binary extensions set. WebKit/mac: Reviewed by Alexey Proskuryakov. - WebKit part of fixing http://bugs.webkit.org/show_bug.cgi?id=17360 <rdar://problem/5743131> REGRESSION: mp4 file downloaded from server is downloaded as html * WebView/WebDataSource.mm: (+[WebDataSource _representationClassForMIMEType:]): (-[WebDataSource _responseMIMEType]): (-[WebDataSource subresources]): (-[WebDataSource subresourceForURL:]): * WebView/WebResource.mm: (-[WebResource _initWithData:URL:response:]): * WebView/WebResourcePrivate.h: LayoutTests: Reviewed by Alexey Proskuryakov. - test for http://bugs.webkit.org/show_bug.cgi?id=17360 <rdar://problem/5743131> REGRESSION: mp4 file downloaded from server is downloaded as html * http/tests/loading/resources/.htaccess: Added. * http/tests/loading/resources/binaryData.m4a: Added. * http/tests/loading/text-content-type-with-binary-extension-expected.txt: Added. * http/tests/loading/text-content-type-with-binary-extension.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30323 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 12 Feb, 2008 1 commit
-
-
sfalken@apple.com authored
Reviewed by Adam. * WebKit.vcproj/WebKit.vcproj: * WebKitPrefix.cpp: Added. * WebKitPrefix.h: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30186 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 15 Nov, 2007 1 commit
-
-
beidson@apple.com authored
Reviewed by John and Sam Stubbing out everything required for a WebKit API for databases Biggest change in WebCore is that we passed around SecurityOriginData as the representation of a SecurityOrigin, instead of a String or a SecurityOrigin itself (which is an opaque object that has a different purpose besides just hanging on to the data) * WebCore.base.exp: * WebCore.xcodeproj/project.pbxproj: * platform/SecurityOrigin.cpp: * platform/SecurityOrigin.h: * platform/SecurityOriginData.h: Added. Simple object to encapsulate the 3 pieces of data in the SecurityOrigin tuple (WebCore::SecurityOriginData::SecurityOriginData): (WebCore::SecurityOriginData::protocol): (WebCore::SecurityOriginData::host): (WebCore::SecurityOriginData::port): (WebCore::SecurityOriginData::toString): Simple concatenation of the 3 components, colon separated * storage/Database.cpp: (WebCore::Database::Database): Use SecurityOriginData instead * storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::fullPathForDatabase): (WebCore::DatabaseTracker::databaseNamesForOrigin): (WebCore::DatabaseTracker::deleteDatabasesWithOrigin): (WebCore::DatabaseTracker::deleteDatabase): * storage/DatabaseTracker.h: * storage/DatabaseTrackerClient.h: Added. For dispatching notifications up to WebKit (WebCore::DatabaseTrackerClient::~DatabaseTrackerClient): WebKit: Reviewed by John Stubbing out everything required for a WebKit API for databases * WebKit.xcodeproj/project.pbxproj: WebKit/mac: Reviewed by John Stubbing out everything required for a WebKit API for databases These interfaces seem to provide everything we need for UI and management at the browser level * Misc/WebDatabaseManager.h: Removed. * Misc/WebDatabaseManager.mm: Removed. * Misc/WebDatabaseManagerPrivate.h: Removed. * Misc/WebSecurityOrigin.mm: Added. Object that acts as a container for the "SecurityOrigin tuple" (protocol, domain, and port) (-[WebSecurityOriginPrivate initWithProtocol:domain:port:]): (-[WebSecurityOriginPrivate dealloc]): (-[WebSecurityOrigin initWithProtocol:domain:]): (-[WebSecurityOrigin initWithProtocol:domain:port:]): (-[WebSecurityOrigin protocol]): (-[WebSecurityOrigin domain]): (-[WebSecurityOrigin port]): (-[WebSecurityOrigin dealloc]): (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:WebCore::]): * Misc/WebSecurityOriginInternal.h: Added. * Misc/WebSecurityOriginPrivate.h: Added. * Storage/WebDatabaseManager.mm: Added. (+[WebDatabaseManager sharedWebDatabaseManager]): (-[WebDatabaseManager origins]): Get a list of all origins currently tracked (-[WebDatabaseManager detailsForOrigin:]): Get the current usage and current quota for the given origin (-[WebDatabaseManager databasesWithOrigin:]): Get all databases for a certain origin (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Get all details about a specific database (-[WebDatabaseManager setQuota:forOrigin:]): Change origin-wide quota (-[WebDatabaseManager deleteAllDatabases]): (-[WebDatabaseManager deleteAllDatabasesWithOrigin:]): (-[WebDatabaseManager deleteDatabase:withOrigin:]): * Storage/WebDatabaseManagerPrivate.h: Added. * Storage/WebDatabaseManagerInternal.h: Added. (WebKitInitializeDatabasesIfNecessary): One-time initialization of database-related things * Storage/WebDatabaseTrackerClient.h: Added. Stubbed out client for notifications * Storage/WebDatabaseTrackerClient.mm: Added. (WebDatabaseTrackerClient::sharedWebDatabaseTrackerClient): (WebDatabaseTrackerClient::WebDatabaseTrackerClient): (WebDatabaseTrackerClient::~WebDatabaseTrackerClient): (WebDatabaseTrackerClient::dispatchDidModifyOrigin): (WebDatabaseTrackerClient::dispatchDidModifyDatabase): * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): Do one-time initialization of Database-related things here git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27821 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 06 Nov, 2007 1 commit
-
-
mrowe@apple.com authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27496 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 19 Oct, 2007 1 commit
-
-
beidson authored
2007-10-19 Brady Eidson <beidson@apple.com> Reviewed by Sam Queue -> Deque! and small style tweaks * JavaScriptCore.vcproj/WTF/WTF.vcproj: * JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj * wtf/Deque.h: Added. (WTF::DequeNode::DequeNode): (WTF::Deque::Deque): (WTF::Deque::~Deque): (WTF::Deque::size): (WTF::Deque::isEmpty): (WTF::Deque::append): (WTF::Deque::prepend): (WTF::Deque::first): (WTF::Deque::last): (WTF::Deque::removeFirst): (WTF::Deque::clear): * wtf/Queue.h: Removed. 2007-10-19 Brady Eidson <beidson@apple.com> Reviewed by Oliver Added a simple LinkedList based Queue to wtf We can make a better, more sophisticated an efficient one later, but have needed one for some time, now! * JavaScriptCore.xcodeproj/project.pbxproj: * wtf/Queue.h: Added. (WTF::QueueNode::QueueNode): (WTF::Queue::Queue): (WTF::Queue::~Queue): (WTF::Queue::size): (WTF::Queue::isEmpty): (WTF::Queue::append): (WTF::Queue::prepend): (WTF::Queue::first): (WTF::Queue::last): (WTF::Queue::removeFirst): (WTF::Queue::clear): WebCore: 2007-10-19 Brady Eidson <beidson@apple.com> Reviewed by Anders Windows specific changes, as well as renaming Queue -> Deque * ForwardingHeaders/wtf/Deque.h: Added. * ForwardingHeaders/wtf/Queue.h: Removed. * platform/win/FileSystemWin.cpp: (WebCore::fileSize): (WebCore::fileExists): (WebCore::deleteFile): (WebCore::pathByAppendingComponent): (WebCore::fileSystemRepresentation): (WebCore::makeAllDirectories): (WebCore::homeDirectoryPath): * storage/Database.h: * storage/DatabaseThread.cpp: (WebCore::DatabaseThread::documentGoingAway): (WebCore::DatabaseThread::databaseGoingAway): (WebCore::DatabaseThread::dispatchNextTaskIdentifier): (WebCore::DatabaseThread::scheduleTask): (WebCore::DatabaseThread::scheduleImmediateTask): * storage/DatabaseThread.h: 2007-10-19 Brady Eidson <beidson@apple.com> Reviewed by Tim and Anders Preliminary support for HTML5 local database storage (http://www.whatwg.org/specs/web-apps/current-work/) The specification is still in flux but the fundamentals are pretty solid and we can start using and testing this implementation even while filing bugs to track changes in the spec as it becomes more final There are some implementation details in this patch that seem unused or useless, but they remain in place while the spec is in flux and might go one way or another. * platform/Logging.cpp: Add StorageAPI logging channel * platform/Logging.h: * storage/Database.cpp: Added. (WebCore::Database::databaseInfoTableName): (WebCore::databaseVersionKey): (WebCore::Database::openDatabase): C++ version of the window.openDatabase() javascript API (WebCore::Database::Database): (WebCore::Database::~Database): (WebCore::Database::openAndVerifyVersion): (WebCore::retrieveTextResultFromDatabase): (WebCore::Database::getVersionFromDatabase): (WebCore::setTextValueInDatabase): (WebCore::Database::setVersionInDatabase): (WebCore::Database::databaseThreadGoingAway): May be removed in the future (WebCore::Database::disableAuthorizer): For internal (WebInspector) use to get around the authorizer's restrictions (WebCore::Database::enableAuthorizer): (WebCore::Database::guidForOriginAndName): Candidate for refactoring and/or moving to the database tracker. The GUID for each database identifier is currently for tracking the database version, but might be rescoped in the future (WebCore::Database::resetAuthorizer): (WebCore::Database::performPolicyChecks): Currently, the only post-executeSql policy check planned is the origin size usage (WebCore::Database::scheduleDatabaseCallback): (WebCore::Database::performOpenAndVerify): (WebCore::Database::performChangeVersion): (WebCore::Database::performExecuteSql): (WebCore::Database::performCloseTransaction): (WebCore::Database::performGetTableNames): (WebCore::Database::version): C++ version of the javascript API (WebCore::Database::changeVersion): Ditto (WebCore::Database::executeSql): Ditto (WebCore::Database::closeTransaction): Ditto (WebCore::Database::tableNames): For internal (WebInspector) use (WebCore::Database::deliverAllPendingCallbacks): (WebCore::Database::deliverPendingCallbacks): * storage/Database.h: Added. (WebCore::Database::databaseDebugName): For debug logging purposes * storage/Database.idl: Added. * storage/DatabaseAuthorizer.cpp: Added. The DatabaseAuthorizer is used to both prevent the script from doing "illegal" things in sql as well as tracking when effects certain sql statements might have (such as increasing the size of the database) (WebCore::DatabaseAuthorizer::DatabaseAuthorizer): (WebCore::DatabaseAuthorizer::reset): (WebCore::DatabaseAuthorizer::createTable): (WebCore::DatabaseAuthorizer::createTempTable): (WebCore::DatabaseAuthorizer::dropTable): (WebCore::DatabaseAuthorizer::dropTempTable): (WebCore::DatabaseAuthorizer::allowAlterTable): (WebCore::DatabaseAuthorizer::createIndex): (WebCore::DatabaseAuthorizer::createTempIndex): (WebCore::DatabaseAuthorizer::dropIndex): (WebCore::DatabaseAuthorizer::dropTempIndex): (WebCore::DatabaseAuthorizer::createTrigger): (WebCore::DatabaseAuthorizer::createTempTrigger): (WebCore::DatabaseAuthorizer::dropTrigger): (WebCore::DatabaseAuthorizer::dropTempTrigger): (WebCore::DatabaseAuthorizer::createVTable): (WebCore::DatabaseAuthorizer::dropVTable): (WebCore::DatabaseAuthorizer::allowDelete): (WebCore::DatabaseAuthorizer::allowInsert): (WebCore::DatabaseAuthorizer::allowUpdate): (WebCore::DatabaseAuthorizer::allowRead): (WebCore::DatabaseAuthorizer::allowAnalyze): (WebCore::DatabaseAuthorizer::allowPragma): (WebCore::DatabaseAuthorizer::allowAttach): (WebCore::DatabaseAuthorizer::allowDetach): (WebCore::DatabaseAuthorizer::allowFunction): (WebCore::DatabaseAuthorizer::disable): (WebCore::DatabaseAuthorizer::enable): (WebCore::DatabaseAuthorizer::denyBasedOnTableName): Don't allow access to the __WebKit meta info table as it should be invisible to scripts * storage/DatabaseAuthorizer.h: Added. (WebCore::DatabaseAuthorizer::lastActionWasInsert): (WebCore::DatabaseAuthorizer::lastActionIncreasedSize): * storage/DatabaseCallback.cpp: Added. Generic item to queue up for callbacks on the main thread for database activities that take place on a secondary thread (WebCore::DatabaseChangeVersionCallback::DatabaseChangeVersionCallback): (WebCore::DatabaseChangeVersionCallback::performCallback): (WebCore::DatabaseExecuteSqlCallback::DatabaseExecuteSqlCallback): (WebCore::DatabaseExecuteSqlCallback::performCallback): * storage/DatabaseCallback.h: Added. (WebCore::DatabaseCallback::~DatabaseCallback): (WebCore::DatabaseChangeVersionCallback::~DatabaseChangeVersionCallback): (WebCore::DatabaseExecuteSqlCallback::~DatabaseExecuteSqlCallback): * storage/DatabaseTask.h: Added. Generic work-item to be queued up on the background database thread (WebCore::DatabaseTask::isComplete): (WebCore::DatabaseOpenTask::exceptionCode): (WebCore::DatabaseOpenTask::openSuccessful): (WebCore::DatabaseTableNamesTask::tableNames): * storage/DatabaseTask.cpp: Added. (WebCore::DatabaseTask::DatabaseTask): (WebCore::DatabaseTask::~DatabaseTask): (WebCore::DatabaseTask::performTask): (WebCore::DatabaseTask::lockForSynchronousScheduling): Used when the main thread needs this task accomplished synchronously (WebCore::DatabaseTask::waitForSynchronousCompletion): (WebCore::DatabaseOpenTask::DatabaseOpenTask): (WebCore::DatabaseOpenTask::doPerformTask): (WebCore::DatabaseExecuteSqlTask::DatabaseExecuteSqlTask): (WebCore::DatabaseExecuteSqlTask::doPerformTask): (WebCore::DatabaseChangeVersionTask::DatabaseChangeVersionTask): (WebCore::DatabaseChangeVersionTask::doPerformTask): (WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask): (WebCore::DatabaseTableNamesTask::doPerformTask): * storage/DatabaseThread.cpp: Added. The current design is that each Document will have its own DatabaseThread. This makes scripts on each individual document more response at the cost of adding more threads and potentially creating concurrency issues when the same database is open twice from two different documents (WebCore::DatabaseThread::DatabaseThread): (WebCore::DatabaseThread::~DatabaseThread): (WebCore::DatabaseThread::start): (WebCore::DatabaseThread::documentGoingAway): Called to shut the thread down when the document is destroyed (WebCore::DatabaseThread::databaseGoingAway): Remove all pending tasks for this database (WebCore::DatabaseThread::databaseThreadStart): (WebCore::DatabaseThread::databaseThread): (WebCore::DatabaseThread::dispatchNextTaskIdentifier): (WebCore::DatabaseThread::scheduleTask): (WebCore::DatabaseThread::scheduleImmediateTask): Schedule a task that gets to "cut to the front of the line" when the main thread requires a task be performed synchronously (WebCore::DatabaseThread::wakeWorkThread): * storage/DatabaseThread.h: Added. * storage/DatabaseTracker.cpp: Added. The DatabaseTracker is the master management of all databases. It will keep track of the filename for a given unique database, keep track of the total disk usage per-origin, and policys per database/origin (WebCore::DatabaseTracker::setDatabasePath): (WebCore::DatabaseTracker::databasePath): (WebCore::DatabaseTracker::tracker): (WebCore::DatabaseTracker::DatabaseTracker): (WebCore::DatabaseTracker::fullPathForDatabase): (WebCore::DatabaseTracker::populateOrigins): (WebCore::DatabaseTracker::origins): (WebCore::DatabaseTracker::databaseNamesForOrigin): (WebCore::DatabaseTracker::addDatabase): (WebCore::DatabaseTracker::deleteAllDatabases): (WebCore::DatabaseTracker::deleteAllDatabasesForOrigin): * storage/DatabaseTracker.h: Added. * storage/SQLCallback.h: Added. C++ version of the javascript executeSql() callback (WebCore::SQLCallback::~SQLCallback): * storage/SQLCallback.idl: Added. * storage/SQLResultSet.cpp: Added. C++ version of the javascript SQLResultSet object (WebCore::SQLResultSet::SQLResultSet): (WebCore::SQLResultSet::insertId): (WebCore::SQLResultSet::rowsAffected): (WebCore::SQLResultSet::errorCode): (WebCore::SQLResultSet::error): (WebCore::SQLResultSet::rows): (WebCore::SQLResultSet::setInsertId): (WebCore::SQLResultSet::setRowsAffected): (WebCore::SQLResultSet::setErrorCode): (WebCore::SQLResultSet::setErrorMessage): * storage/SQLResultSet.h: Added. * storage/SQLResultSet.idl: Added. * storage/SQLResultSetRowList.cpp: Added. C++ version of the javascript SQLResultSetRowList object (WebCore::SQLResultSetRowList::length): * storage/SQLResultSetRowList.h: Added. (WebCore::SQLResultSetRowList::columnNames): (WebCore::SQLResultSetRowList::values): (WebCore::SQLResultSetRowList::addColumn): (WebCore::SQLResultSetRowList::addResult): * storage/SQLResultSetRowList.idl: Added. * storage/VersionChangeCallback.h: Added. C++ version of the javascript changeVersion() callback (WebCore::VersionChangeCallback::~VersionChangeCallback): * storage/VersionChangeCallback.idl: Added. 2007-10-19 Brady Eidson <beidson@apple.com> Reviewed by Oliver + Same Forwarding header for the new wtf/Queue.h * ForwardingHeaders/wtf/Queue.h: Added. 2007-10-19 Anders Carlsson <beidson@apple.com> Reviewed by Sam Weinig Most of the Javascript binding support for the Storage API * bindings/js/JSCustomSQLCallback.cpp: Added. (WebCore::JSCustomSQLCallback::JSCustomSQLCallback): (WebCore::JSCustomSQLCallback::handleEvent): * bindings/js/JSCustomSQLCallback.h: Added. Add JSCustomSQLCallback which is an SQLCallback implementation that dispatches handleEvent to a JS function or a JS object with a handleEvent function. * bindings/js/JSCustomVersionChangeCallback.cpp: Added. (WebCore::JSCustomVersionChangeCallback::JSCustomVersionChangeCallback): (WebCore::JSCustomVersionChangeCallback::handleEvent): * bindings/js/JSCustomVersionChangeCallback.h: Added. Add JSCustomSQLCallback which is an SQLCallback implementation that dispatches handleEvent to a JS function or a JS object with a handleEvent function. * bindings/js/JSDatabaseCustom.cpp: Added. (WebCore::JSDatabase::executeSql): Custom implementation of executeSql that takes an array of parameters. (WebCore::JSDatabase::changeVersion): Custom implementation of changeVersion. * bindings/js/JSSQLResultSetRowListCustom.cpp: Added. (WebCore::JSSQLResultSetRowList::item): Custom method that returns a JS object that corresponds to a given row in the database. * bindings/scripts/CodeGeneratorJS.pm: * page/DOMWindow.cpp: (WebCore::DOMWindow::openDatabase): * page/DOMWindow.h: * page/DOMWindow.idl: Add openDatabase implementation. 2007-10-19 Brady Eidson <beidson@apple.com> Reviewed by Oliver Added tons of utility to the FileSystem abstractions, including moving some stuff over from IconDatabase * platform/FileSystem.h: * platform/cf/FileSystemCF.cpp: Added. (WebCore::fileSystemRepresentation): * platform/mac/FileSystemMac.mm: * platform/posix/FileSystemPOSIX.cpp: Added. (WebCore::fileExists): (WebCore::deleteFile): (WebCore::fileSize): (WebCore::pathByAppendingComponent): (WebCore::makeAllDirectories): 2007-10-19 Timothy Hatcher <timothy@apple.com> Reviewed by Adam Roben Preliminary Web Inspector support for the Storage API (This patch does not include the support artwork) * page/InspectorController.cpp: (WebCore::InspectorDatabaseResource::InspectorDatabaseResource): (WebCore::InspectorDatabaseResource::setScriptObject): (WebCore::databaseTableNames): Return the table names for a Database object. (WebCore::InspectorController::setWindowVisible): (WebCore::InspectorController::windowScriptObjectAvailable): (WebCore::InspectorController::populateScriptResources): (WebCore::InspectorController::addDatabaseScriptResource): Add the script object for the database. (WebCore::InspectorController::removeDatabaseScriptResource): Remove the script object for the database. (WebCore::InspectorController::clearDatabaseScriptResources): Remove all the database resources. (WebCore::InspectorController::didCommitLoad): Call clearDatabaseScriptResources(). (WebCore::InspectorController::didOpenDatabase): Make a new InspectorDatabaseResource and add it to m_databaseResources. * page/InspectorController.h: * page/inspector/Database.js: Added. * page/inspector/DatabasePanel.js: Added. * page/inspector/ResourceCategory.js: Make resource categories assume less about the resource. * page/inspector/inspector.css: Add styles for the database panel. * page/inspector/inspector.html: Include DatabasePanel.js * page/inspector/inspector.js: Support for adding and removing Database resources. 2007-10-19 Brady Eidson <beidson@apple.com> Reviewed by Tim Hatcher Added support for Chrome prompts required by the Storage API * page/Chrome.cpp: (WebCore::Chrome::runDatabaseSizeLimitPrompt): * page/Chrome.h: * page/ChromeClient.h: * platform/graphics/svg/SVGImageEmptyClients.h: 2007-10-19 Brady Eidson <beidson@apple.com> Contributions and Review by Anders Various SQLite tweaks in preparation for the storage API * loader/icon/SQLDatabase.cpp: (WebCore::SQLDatabase::~SQLDatabase): (WebCore::SQLDatabase::authorizerFunction): Static callback from sqlite for authorizer functions (WebCore::SQLDatabase::setAuthorizer): (WebCore::SQLDatabase::lock): (WebCore::SQLDatabase::unlock): * loader/icon/SQLDatabase.h: * loader/icon/SQLStatement.cpp: (WebCore::SQLStatement::prepare): Switch to prepare16_v2 (WebCore::SQLStatement::bindDouble): Added (WebCore::SQLStatement::bindValue): Bind a wrapped SQLValue object (described later) (WebCore::SQLStatement::bindParameterCount): Accessor to the sqlite3 API for validating statements * loader/icon/SQLStatement.h: (WebCore::SQLStatement::isPrepared): * platform/sql/SQLAuthorizer.cpp: Added. Fully virtual interface to implement your own SQLite authorizer * platform/sql/SQLAuthorizer.h: Added. (WebCore::SQLAuthorizer::~SQLAuthorizer): (WebCore::SQLAuthorizer::createTable): (WebCore::SQLAuthorizer::createTempTable): (WebCore::SQLAuthorizer::dropTable): (WebCore::SQLAuthorizer::dropTempTable): (WebCore::SQLAuthorizer::allowAlterTable): (WebCore::SQLAuthorizer::createIndex): (WebCore::SQLAuthorizer::createTempIndex): (WebCore::SQLAuthorizer::dropIndex): (WebCore::SQLAuthorizer::dropTempIndex): (WebCore::SQLAuthorizer::createTrigger): (WebCore::SQLAuthorizer::createTempTrigger): (WebCore::SQLAuthorizer::dropTrigger): (WebCore::SQLAuthorizer::dropTempTrigger): (WebCore::SQLAuthorizer::createView): (WebCore::SQLAuthorizer::createTempView): (WebCore::SQLAuthorizer::dropView): (WebCore::SQLAuthorizer::dropTempView): (WebCore::SQLAuthorizer::createVTable): (WebCore::SQLAuthorizer::dropVTable): (WebCore::SQLAuthorizer::allowDelete): (WebCore::SQLAuthorizer::allowInsert): (WebCore::SQLAuthorizer::allowUpdate): (WebCore::SQLAuthorizer::allowTransaction): (WebCore::SQLAuthorizer::allowSelect): (WebCore::SQLAuthorizer::allowRead): (WebCore::SQLAuthorizer::allowAttach): (WebCore::SQLAuthorizer::allowDetach): (WebCore::SQLAuthorizer::allowReindex): (WebCore::SQLAuthorizer::allowAnalyze): (WebCore::SQLAuthorizer::allowFunction): * platform/sql/SQLValue.cpp: Added. Contains a value for a SQLite database that can be one of a few types. For now, just a String or a double (WebCore::SQLValue::SQLValue): (WebCore::SQLValue::string): (WebCore::SQLValue::number): * platform/sql/SQLValue.h: Added. (WebCore::SQLValue::): (WebCore::SQLValue::SQLValue): (WebCore::SQLValue::type): 2007-10-19 Brady Eidson <beidson@apple.com> Reviewed by Maciej Changed IconDatabase over to use new FileSystem apis * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::open): WebKit: Reviewed by Tim Hatcher Added support for Chrome prompts required by the Storage API Added support API for future managing of databases from the WebKit client Added preference and initialization for the databases path * Misc/WebDatabaseManager.h: Added. WebDatabaseManager is how a WebKit application can list and remove the current available databases * Misc/WebDatabaseManager.mm: Added. (+[WebDatabaseManager origins]): (+[WebDatabaseManager databasesWithOrigin:]): (+[WebDatabaseManager deleteAllDatabases]): (+[WebDatabaseManager deleteAllDatabasesWithOrigin:]): (+[WebDatabaseManager deleteDatabaseWithOrigin:named:]): (WebKitSetWebDatabasesPathIfNecessary): Setup the database path * Misc/WebDatabaseManagerPrivate.h: Added. * WebCoreSupport/WebChromeClient.h: Support for calling the delegate to run the prompt for an origin exceeding its size limit * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::runDatabaseSizeLimitPrompt): * WebKit.xcodeproj/project.pbxproj: * WebView/WebUIDelegate.h: * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): Setup the database path * WebView/WebViewInternal.h: WebKitSite: Reviewed by Tim Hatcher Sample database API usage * misc/DatabaseExample.html: Added. WebKit/win: Reviewed by Anders Keep windows building with new Chrome additions * WebChromeClient.cpp: * WebChromeClient.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@26787 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 16 Jul, 2007 1 commit
-
-
kmccullo authored
- Modified files to use cross-platform code. * Drosera/DebuggerDocument.cpp: Added. (DebuggerDocument::breakpointEditorHTML): (DebuggerDocument::isPaused): (DebuggerDocument::pause): (DebuggerDocument::resume): (DebuggerDocument::stepInto): (DebuggerDocument::evaluateScript): (DebuggerDocument::currentFunctionStack): (DebuggerDocument::localScopeVariableNamesForCallFrame): (DebuggerDocument::valueForScopeVariableNamed): * Drosera/DebuggerDocument.h: Added. (DebuggerDocument::DebuggerDocument): * Drosera/config.h: Added. * Drosera/mac/DebuggerApplication.mm: (-[DebuggerApplication attach:]): * Drosera/mac/DebuggerDocument.h: Removed. * Drosera/mac/DebuggerDocument.mm: Removed. * Drosera/mac/DebuggerDocumentMac.h: Copied from Drosera/mac/DebuggerDocument.h. * Drosera/mac/DebuggerDocumentMac.mm: Copied from Drosera/mac/DebuggerDocument.mm. (-[DebuggerDocumentMac initWithServerName:]): (-[DebuggerDocumentMac dealloc]): (-[DebuggerDocumentMac breakpointEditorHTML]): (-[DebuggerDocumentMac isPaused]): (-[DebuggerDocumentMac pause]): (-[DebuggerDocumentMac resume]): * Drosera/mac/Drosera.xcodeproj/project.pbxproj: * Drosera/win/DebuggerApplication.cpp: * Drosera/win/DebuggerObjectCallbacks.cpp: (breakpointEditorHTMLCallback): (currentFunctionStackCallback): (evaluateScript_inCallFrame_Callback): (isPausedCallback): (localScopeVariableNamesForCallFrame_Callback): (pauseCallback): (resumeCallback): (stepIntoCallback): (valueForScopeVariableNamed_inCallFrame_Callback): (staticFunctions): * Drosera/win/Drosera.cpp: * Drosera/win/DroseraPrefix.cpp: Added. * Drosera/win/DroseraPrefix.h: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@24329 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 18 Jun, 2007 2 commits
-
-
weinig authored
Reviewed by Beth. Fix build and update licenses. * WebCore.xcodeproj/project.pbxproj: * page/BarInfo.cpp: * page/BarInfo.h: * page/BarInfo.idl: * page/Screen.cpp: (WebCore::Screen::height): (WebCore::Screen::width): (WebCore::Screen::colorDepth): (WebCore::Screen::pixelDepth): (WebCore::Screen::availLeft): (WebCore::Screen::availTop): (WebCore::Screen::availHeight): (WebCore::Screen::availWidth): * page/Screen.h: * page/Screen.idl: WebKit: Reviewed by Beth. Build fix. * WebCoreSupport/WebChromeClient.mm: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@23579 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
weinig authored
Patch for http://bugs.webkit.org/show_bug.cgi?id=14211 Move the BarInfo object out of the JS bindings * DerivedSources.make: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * bindings/js/kjs_window.cpp: (KJS::WindowPrivate::WindowPrivate): (KJS::Window::mark): (KJS::Window::getValueProperty): (KJS::Window::clearHelperObjectProperties): (KJS::Window::disconnectFrame): * bindings/js/kjs_window.h: (KJS::Window::): * page/BarInfo.cpp: Added. (WebCore::BarInfo::BarInfo): (WebCore::BarInfo::disconnectFrame): (WebCore::BarInfo::visible): * page/BarInfo.h: Added. (WebCore::BarInfo::): * page/BarInfo.idl: Added. * page/DOMWindow.cpp: (WebCore::DOMWindow::~DOMWindow): (WebCore::DOMWindow::disconnectFrame): (WebCore::DOMWindow::locationbar): (WebCore::DOMWindow::menubar): (WebCore::DOMWindow::personalbar): (WebCore::DOMWindow::scrollbars): (WebCore::DOMWindow::statusbar): (WebCore::DOMWindow::toolbar): * page/DOMWindow.h: * page/DOMWindow.idl: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@23573 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 12 Jun, 2007 1 commit
-
-
aroben authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@23462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 07 Jul, 2006 1 commit
-
-
darin authored
- fix some license mistakes * LICENSE-APPLE: Added more years of publication to the copyright here. * html/CanvasGradient.idl: Corrected license on this file. It had the wrong one. * html/CanvasPattern.idl: Ditto. * html/CanvasRenderingContext2D.idl: Ditto. * html/HTMLCanvasElement.idl: Ditto. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15215 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 20 Mar, 2006 2 commits
-
-
darin authored
- http://bugzilla.opendarwin.org/show_bug.cgi?id=7867 get rid of macro hacks for DOM, KDOM, KSVG, khtml, DOMString, QString * config.h: Remove the defines for DOM, KDOM, KSVG, khtml, DOMString, QString, and qstring(). * WebCore.xcodeproj/project.pbxproj: Pass in WebCore instead of KSVG as the namespace for SVG names. * ksvg2/scripts/make_names.pl: Made a couple changes to trick the SVG names into recompiling, since they are in a different namespace now. * ForwardingHeaders/kjs/identifier.h: Added. * dom/PlatformWheelEvent.idl: Removed. * dom/WheelEvent.idl: Added. This file was renamed by accident. * bindings/js/JSDOMCore.cpp: * bindings/js/JSDOMEvents.cpp: * bindings/js/JSDOMHTML.cpp: * dom/Attr.idl: * dom/CharacterData.idl: * dom/DOMImplementation.idl: * dom/DocumentType.idl: * dom/Element.idl: * dom/Entity.idl: * dom/MutationEvent.idl: * dom/Notation.idl: * dom/ProcessingInstruction.idl: * dom/Text.idl: * html/CanvasGradient.idl: * html/CanvasPattern.idl: * html/CanvasRenderingContext2D.idl: Touched, to get CodeGeneratorJS.pm changes to take effect. * css/CSSGrammar.y: * css/css_valueimpl.cpp: (WebCore::propertyID): Changed calls to get CSS property values to use an explicit SVG:: namespace, to match what the script writes out. * khtml/ecma/kjs_binding.h: Added forward declaration of WebCore::String. * ksvg2/scripts/cssmakeget rid of macro hacks for DOM, KDOM, KSVG, khtml, DOMString, QString props: Made this compile with warnings and strict turned on. Really just a trick to get properties to recompile, which turned out to be unneeded. * ksvg2/scripts/cssmakevalues: Ditto. * ksvg2/svg/SVGAElement.cpp: (SVGAElement::parseMappedAttribute): (SVGAElement::defaultEventHandler): * ksvg2/svg/SVGAnimateTransformElement.cpp: (SVGAnimateTransformElement::parseMappedAttribute): * ksvg2/svg/SVGAnimationElement.cpp: (SVGAnimationElement::parseMappedAttribute): * ksvg2/svg/SVGClipPathElement.cpp: (SVGClipPathElement::parseMappedAttribute): * ksvg2/svg/SVGComponentTransferFunctionElement.cpp: (SVGComponentTransferFunctionElement::parseMappedAttribute): * ksvg2/svg/SVGExternalResourcesRequired.cpp: (SVGExternalResourcesRequired::parseMappedAttribute): * ksvg2/svg/SVGFEBlendElement.cpp: (SVGFEBlendElement::parseMappedAttribute): * ksvg2/svg/SVGFEColorMatrixElement.cpp: (SVGFEColorMatrixElement::parseMappedAttribute): * ksvg2/svg/SVGFEComponentTransferElement.cpp: (SVGFEComponentTransferElement::parseMappedAttribute): * ksvg2/svg/SVGFECompositeElement.cpp: (SVGFECompositeElement::parseMappedAttribute): * ksvg2/svg/SVGFEDiffuseLightingElement.cpp: (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute): * ksvg2/svg/SVGFEDisplacementMapElement.cpp: (SVGFEDisplacementMapElement::SVGFEDisplacementMapElement): (SVGFEDisplacementMapElement::stringToChannel): (SVGFEDisplacementMapElement::parseMappedAttribute): (SVGFEDisplacementMapElement::filterEffect): * ksvg2/svg/SVGFEDisplacementMapElement.h: * ksvg2/svg/SVGFEFloodElement.cpp: (SVGFEFloodElement::parseMappedAttribute): * ksvg2/svg/SVGFEGaussianBlurElement.cpp: (SVGFEGaussianBlurElement::parseMappedAttribute): * ksvg2/svg/SVGFEImageElement.cpp: (SVGFEImageElement::parseMappedAttribute): * ksvg2/svg/SVGFELightElement.cpp: (SVGFELightElement::parseMappedAttribute): * ksvg2/svg/SVGFEMergeNodeElement.cpp: (SVGFEMergeNodeElement::parseMappedAttribute): * ksvg2/svg/SVGFEOffsetElement.cpp: (SVGFEOffsetElement::parseMappedAttribute): * ksvg2/svg/SVGFESpecularLightingElement.cpp: (SVGFESpecularLightingElement::parseMappedAttribute): * ksvg2/svg/SVGFETileElement.cpp: (SVGFETileElement::parseMappedAttribute): * ksvg2/svg/SVGFETurbulenceElement.cpp: (SVGFETurbulenceElement::parseMappedAttribute): * ksvg2/svg/SVGFilterElement.cpp: (SVGFilterElement::parseMappedAttribute): * ksvg2/svg/SVGGradientElement.cpp: (SVGGradientElement::parseMappedAttribute): * ksvg2/svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::parseMappedAttribute): * ksvg2/svg/SVGPolyElement.cpp: (SVGPolyElement::parseMappedAttribute): * ksvg2/svg/SVGStopElement.cpp: (SVGStopElement::parseMappedAttribute): * ksvg2/svg/SVGStyledElement.cpp: (WebCore::SVGStyledElement::parseMappedAttribute): * ksvg2/svg/SVGTests.cpp: (WebCore::SVGTests::parseMappedAttribute): * ksvg2/svg/SVGTextContentElement.cpp: (SVGTextContentElement::parseMappedAttribute): * ksvg2/svg/SVGTextPositioningElement.cpp: (SVGTextPositioningElement::parseMappedAttribute): * ksvg2/svg/SVGViewElement.cpp: (SVGViewElement::parseMappedAttribute): * ksvg2/svg/SVGZoomAndPan.cpp: (SVGZoomAndPan::parseMappedAttribute): Changed code that converts an AtomicString to a String to do it in a more-efficient fashion that works even with all the new conversions. * page/Frame.cpp: (WebCore::getString): Removed unneeded .deprecatedString(). (WebCore::Frame::begin): Removed the only use of QSTRING_NULL. * platform/AtomicString.h: Added conversion to and from KJS::Identifier and KJS::UString. * platform/AtomicString.cpp: (WebCore::AtomicString::add): Added overloads for Identifier and UString. (WebCore::AtomicString::operator Identifier): Added. (WebCore::AtomicString::operator UString): Added. * platform/DeprecatedString.h: Added conversion to and from KJS::Identifier and KJS::UString. * platform/DeprecatedString.cpp: (DeprecatedString::DeprecatedString): Added overloads for Identifier and UString. (DeprecatedString::operator Identifier): Added. (DeprecatedString::operator UString): Added. * platform/PlatformString.h: Added conversion to and from KJS::Identifier and KJS::UString. * platform/String.cpp: (WebCore::String::String): Added overloads for Identifier and UString. (WebCore::String::operator Identifier): Added. (WebCore::String::operator UString): Added. * platform/StringImpl.h: Added constructors that take KJS::Identifier and KJS::UString * platform/StringImpl.cpp: (WebCore::getWordBreakIterator): Changed a use of UChar to say ::UChar instead because of ambiguity with KJS::UChar. (WebCore::StringImpl::StringImpl): Added overloads for Identifier and String. * bindings/js/JSCanvasRenderingContext2DBase.cpp: (WebCore::JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction): (WebCore::toHTMLCanvasStyle): * bindings/scripts/CodeGeneratorJS.pm: * bridge/mac/WebCoreFrameBridge.mm: (aeDescFromJSValue): (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]): * dom/QualifiedName.cpp: (WebCore::QualifiedName::toString): * khtml/ecma/JSDOMParser.cpp: (KJS::DOMParserProtoFunc::callAsFunction): * khtml/ecma/JSXMLHttpRequest.cpp: (KJS::JSXMLHttpRequestProtoFunc::callAsFunction): * khtml/ecma/JSXSLTProcessor.cpp: (KJS::XSLTProcessorProtoFunc::callAsFunction): * khtml/ecma/kjs_binding.cpp: (KJS::valueToStringWithNullCheck): * khtml/ecma/kjs_css.cpp: (KJS::cssPropertyName): (KJS::DOMCSSStyleDeclaration::put): (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction): (KJS::DOMStyleSheetList::nameGetter): (KJS::DOMStyleSheetList::getOwnPropertySlot): (KJS::DOMMediaList::put): (KJS::KJS::DOMMediaListProtoFunc::callAsFunction): (KJS::DOMCSSStyleSheetProtoFunc::callAsFunction): (KJS::DOMCSSRule::putValueProperty): (KJS::DOMCSSRuleFunc::callAsFunction): (KJS::DOMCSSValue::put): (KJS::DOMCSSPrimitiveValueProtoFunc::callAsFunction): * khtml/ecma/kjs_dom.cpp: (KJS::DOMNode::putValueProperty): (KJS::DOMNode::toString): (KJS::DOMNodeProtoFunc::callAsFunction): (KJS::DOMEventTargetNodeProtoFunc::callAsFunction): (KJS::DOMNodeList::nameGetter): (KJS::DOMNodeList::getOwnPropertySlot): (KJS::DOMDocument::putValueProperty): (KJS::DOMDocumentProtoFunc::callAsFunction): (KJS::DOMElement::attributeGetter): (KJS::DOMElement::getOwnPropertySlot): (KJS::DOMNamedNodeMap::nameGetter): (KJS::DOMNamedNodeMap::getOwnPropertySlot): (KJS::DOMNamedNodeMapProtoFunc::callAsFunction): (KJS::DOMNamedNodesCollection::getOwnPropertySlot): * khtml/ecma/kjs_events.cpp: (KJS::JSAbstractEventListener::handleEvent): (KJS::DOMEvent::getValueProperty): (KJS::DOMEventProtoFunc::callAsFunction): (KJS::DOMUIEventProtoFunc::callAsFunction): (KJS::DOMMouseEventProtoFunc::callAsFunction): (KJS::DOMKeyboardEventProtoFunc::callAsFunction): (KJS::Clipboard::putValueProperty): (KJS::ClipboardProtoFunc::callAsFunction): * khtml/ecma/kjs_html.cpp: (KJS::HTMLDocFunction::callAsFunction): (KJS::JSHTMLDocument::namedItemGetter): (KJS::JSHTMLDocument::getOwnPropertySlot): (KJS::JSHTMLDocument::putValueProperty): (KJS::JSHTMLElement::framesetNameGetter): (KJS::JSHTMLElement::getOwnPropertySlot): (KJS::HTMLElementFunction::callAsFunction): (KJS::JSHTMLElement::putValueProperty): (KJS::JSHTMLCollection::callAsFunction): (KJS::JSHTMLCollection::getNamedItems): (KJS::HTMLCollectionProtoFunc::callAsFunction): (KJS::OptionConstructorImp::construct): * khtml/ecma/kjs_navigator.cpp: (KJS::Plugins::nameGetter): (KJS::Plugins::getOwnPropertySlot): (KJS::MimeTypes::nameGetter): (KJS::MimeTypes::getOwnPropertySlot): (KJS::Plugin::nameGetter): (KJS::Plugin::getOwnPropertySlot): * khtml/ecma/kjs_proxy.cpp: (WebCore::KJSProxy::evaluate): * khtml/ecma/kjs_range.cpp: (KJS::DOMRangeProtoFunc::callAsFunction): * khtml/ecma/kjs_views.cpp: (KJS::DOMAbstractViewProtoFunc::callAsFunction): * khtml/ecma/kjs_window.cpp: (KJS::parseModalDialogFeatures): (KJS::showModalDialog): (KJS::Window::childFrameGetter): (KJS::Window::namedFrameGetter): (KJS::Window::namedItemGetter): (KJS::Window::getOwnPropertySlot): (KJS::Window::put): (KJS::WindowFunc::callAsFunction): (KJS::ScheduledAction::execute): (KJS::Window::installTimeout): (KJS::FrameArray::nameGetter): (KJS::FrameArray::getOwnPropertySlot): (KJS::Location::put): (KJS::LocationFunc::callAsFunction): (KJS::SelectionFunc::callAsFunction): Removed explicit calls to domString(), sometimes replacing with explicit calls to the String() constructor. Other similar changes for AtomicString and DeprecatedString use. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@13405 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
darin authored
- http://bugzilla.opendarwin.org/show_bug.cgi?id=7875 autogenerate bindings for Range * dom/Range.idl: Added. * khtml/ecma/kjs_range.cpp: Removed. * khtml/ecma/kjs_range.h: Removed. * WebCore.vcproj/WebCore/build-generated-files.sh: Removed code to generate kjs_range.lut.h. * WebCore.xcodeproj/project.pbxproj: Added Range.idl source file. Removed kjs_range.h and kjs_range.cpp source files. Sorted the "dom" group. Removed rule to generate kjs_range.lut.h. * bindings/js/JSDOMCore.cpp: Added include of JSRange.cpp. * bindings/scripts/CodeGeneratorJS.pm: Added DocumentFragment, Range, CompareHow, and short to the types this script can handle. Added code to generate toRange functions and the like. Added separate code to handle exceptions for getters vs. setters for attributes. Changed return values for the "bad ID" case to 0 -- there's no need to generate the extra code to return jsUndefined() in such cases, which should be unreachable. Changed exception handling to use setDOMException directly instead of DOMExceptionTranslator; DOMExceptionTranslator was a trick to make it easier to convert existing bindings and shouldn't be used going forward. Fixed names of constructors to use the JavaScript class name (the interface name), not the name of the C++ implementation class. Fixed generation of code for functions that have no parameters but do raise exceptions. * bindings/scripts/IDLParser.pm: Added parsing for separate getter and setter exceptions in attributes. The syntax is not real IDL, but real IDL doesn't support declaring exceptions on attributes at all. We'll probably want to revisit our syntax for this some day. * bindings/scripts/IDLStructure.pm: Removed unused exceptionName field from domAttribute, and replaced raisesExceptions field with getterExceptions and setterExceptions. Added regular expressions for parsing getter/setter syntax. We'll probably have to redo this whole thing parse in a better way at some point -- the regular expressions allow any invalid syntax in between them. * dom/Attr.idl: Change exception declaration for setting the value attribute to use setter-specific exception syntax. * dom/CharacterData.idl: Change exception declaration for setting the data attribute to use setter-specific exception syntax. * dom/ProcessingInstruction.idl: Change exception declaration for setting the data attribute to use setter-specific exception syntax. * khtml/ecma/kjs_dom.cpp: Include JSRange.h instead of kjs_range.h. * khtml/ecma/kjs_window.cpp: Include JSRange.h instead of kjs_range.h. (KJS::Window::getValueProperty): Use JSRange::getConstructor instead of getRangeConstructor. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@13400 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 19 Mar, 2006 1 commit
-
-
darin authored
* <lots of files>: Renamed XXXImpl to XXX, and a number of other renames. See WebKitTools/Scripts/do-webcore-rename version 13392 for details. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@13393 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 16 Mar, 2006 2 commits
-
-
darin authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@13330 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
darin authored
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7749 canvas should be in DOM, not implemented in the JS bindings * WebCore.xcodeproj/project.pbxproj: Added new files. Changed bindings-generation code to work on the new html directory as well as the dom one. * bindings/js/JSCanvasRenderingContext2DBase.cpp: Added. * bindings/js/JSCanvasRenderingContext2DBase.h: Added. * bindings/js/JSDOMHTML.cpp: Added. * html: Added. * html/CanvasGradient.cpp: Added. * html/CanvasGradient.h: Added. * html/CanvasGradient.idl: Added. * html/CanvasPattern.cpp: Added. * html/CanvasPattern.h: Added. * html/CanvasPattern.idl: Added. * html/CanvasRenderingContext2D.cpp: Added. * html/CanvasRenderingContext2D.h: Added. * html/CanvasRenderingContext2D.idl: Added. * html/CanvasStyle.cpp: Added. * html/CanvasStyle.h: Added. * bindings/js/JSDOMCore.cpp: Touched so that it will recompile. * bindings/js/JSDOMEvents.cpp: Ditto. * dom/Attr.idl: Ditto. * dom/DOMImplementation.idl: Ditto. * dom/DocumentType.idl: Ditto. * dom/MutationEvent.idl: Ditto. * dom/ProcessingInstruction.idl: Ditto. * dom/Text.idl: Ditto. * khtml/ecma/kjs_binding.h: (KJS::toJS): Added. Template so that you can call toJS on a PassRefPtr as well as on a raw pointer. * bindings/scripts/CodeGeneratorJS.pm: Fixed handling of a class that has only a legacy parent, no conventional parents. Added JSCanvasRenderingContext2DBase as a legacy parent, and html as a legacy module. Added CanvasRenderingContext2D, CanvasGradient, and CanvasPattern to the "waht to include". Added a special case for strings beginning with Canvas to not add an "Impl" suffix. Made the generated impl() function be a const member function. Made m_mimpl be private instead of protected. Generate a toJS function for each class. Added flaot as a type. Generate String, not DOMString. Made the HashTable const. * bindings/scripts/IDLParser.pm: Fix a couple small things. I had started to try to make a missing semicolon trigger an error, but ended up giving up on that for now. * khtml/html/html_canvasimpl.h: * khtml/html/html_canvasimpl.cpp: (WebCore::HTMLCanvasElementImpl::HTMLCanvasElementImpl): Set m_2DContext to 0. (WebCore::HTMLCanvasElementImpl::~HTMLCanvasElementImpl): Call detachCanvas on m_2DContext, if any. (WebCore::HTMLCanvasElementImpl::detach): Call reset on m_2DContext, if any. (WebCore::HTMLCanvasElementImpl::getContext): Added. (WebCore::HTMLCanvasElementImpl::size): Added. (WebCore::HTMLCanvasElementImpl::createPlatformImage): Added. * platform/Image.h: * platform/Image.cpp: (WebCore::Image::compositeOperatorFromString): Changed to take a String instead of a const char*. * khtml/html/html_imageimpl.h: * khtml/html/html_imageimpl.cpp: (WebCore::HTMLMapElementImpl::areas): Tweaked formatting. Changed to use PassRefPtr. * bindings/objc/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]): * khtml/ecma/JSXMLHttpRequest.cpp: (KJS::JSXMLHttpRequest::getValueProperty): * khtml/ecma/XSLTProcessor.cpp: (KJS::XSLTProcessorProtoFunc::callAsFunction): * khtml/ecma/domparser.cpp: (KJS::DOMParserProtoFunc::callAsFunction): * khtml/ecma/kjs_css.cpp: (KJS::DOMCSSStyleDeclaration::getValueProperty): (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction): (KJS::toJS): (KJS::DOMStyleSheet::getValueProperty): (KJS::DOMStyleSheetList::indexGetter): (KJS::DOMStyleSheetList::nameGetter): (KJS::DOMStyleSheetListFunc::callAsFunction): (KJS::DOMCSSStyleSheet::getValueProperty): (KJS::DOMCSSRuleList::indexGetter): (KJS::DOMCSSRuleListFunc::callAsFunction): (KJS::DOMCSSRule::getValueProperty): (KJS::DOMCSSPrimitiveValueProtoFunc::callAsFunction): (KJS::DOMCSSValueList::indexGetter): (KJS::DOMCSSValueListFunc::callAsFunction): (KJS::DOMRect::getValueProperty): * khtml/ecma/kjs_css.h: * khtml/ecma/kjs_dom.cpp: (KJS::DOMNode::getValueProperty): (KJS::DOMNodeProtoFunc::callAsFunction): (KJS::DOMNodeList::indexGetter): (KJS::DOMNodeList::nameGetter): (KJS::DOMNodeList::callAsFunction): (KJS::DOMNodeListFunc::callAsFunction): (KJS::DOMDocument::getValueProperty): (KJS::DOMDocumentProtoFunc::callAsFunction): (KJS::DOMNamedNodeMap::indexGetter): (KJS::DOMNamedNodeMap::nameGetter): (KJS::DOMNamedNodeMapProtoFunc::callAsFunction): (KJS::toJS): (KJS::DOMNamedNodesCollection::indexGetter): * khtml/ecma/kjs_dom.h: * khtml/ecma/kjs_events.cpp: (KJS::JSAbstractEventListener::handleEvent): (KJS::JSLazyEventListener::parseCode): (KJS::DOMEvent::getValueProperty): (KJS::toJS): (KJS::DOMUIEvent::getValueProperty): (KJS::DOMMouseEvent::getValueProperty): * khtml/ecma/kjs_events.h: * khtml/ecma/kjs_html.cpp: (KJS::HTMLDocFunction::callAsFunction): (KJS::HTMLDocument::namedItemGetter): (KJS::HTMLDocument::getValueProperty): (KJS::HTMLDocument::put): (KJS::HTMLDocument::putValueProperty): (KJS::HTMLElement::classInfo): (KJS::HTMLElement::formIndexGetter): (KJS::HTMLElement::selectIndexGetter): (KJS::HTMLElement::implementsCall): (KJS::HTMLElement::callAsFunction): (KJS::HTMLElement::linkGetter): (KJS::HTMLElement::isIndexGetter): (KJS::HTMLElement::styleGetter): (KJS::HTMLElement::selectGetter): (KJS::HTMLElement::optionGetter): (KJS::HTMLElement::inputGetter): (KJS::HTMLElement::textAreaGetter): (KJS::HTMLElement::buttonGetter): (KJS::HTMLElement::labelGetter): (KJS::HTMLElement::fieldSetGetter): (KJS::HTMLElement::legendGetter): (KJS::HTMLElement::objectGetter): (KJS::HTMLElement::tableGetter): (KJS::HTMLElement::frameGetter): (KJS::HTMLElement::iFrameGetter): (KJS::HTMLElement::getValueProperty): (KJS::HTMLElement::toString): (KJS::HTMLElement::pushEventHandlerScope): (KJS::toJS): (KJS::HTMLElementFunction::callAsFunction): (KJS::HTMLElement::put): (KJS::HTMLCollection::indexGetter): (KJS::HTMLCollection::callAsFunction): (KJS::HTMLCollection::getNamedItems): (KJS::HTMLCollectionProtoFunc::callAsFunction): (KJS::HTMLSelectCollection::put): (KJS::OptionConstructorImp::construct): (KJS::ImageConstructorImp::construct): * khtml/ecma/kjs_html.h: * khtml/ecma/kjs_proxy.cpp: (WebCore::KJSProxyImpl::evaluate): * khtml/ecma/kjs_range.cpp: (KJS::DOMRange::getValueProperty): (KJS::DOMRangeProtoFunc::callAsFunction): (KJS::toJS): * khtml/ecma/kjs_range.h: * khtml/ecma/kjs_traversal.cpp: (KJS::DOMNodeIterator::getValueProperty): (KJS::DOMNodeIteratorProtoFunc::callAsFunction): (KJS::toJS): (KJS::DOMTreeWalker::getValueProperty): (KJS::DOMTreeWalkerProtoFunc::callAsFunction): (KJS::JSNodeFilterCondition::acceptNode): * khtml/ecma/kjs_traversal.h: * khtml/ecma/kjs_views.cpp: (KJS::DOMAbstractView::getValueProperty): (KJS::DOMAbstractViewProtoFunc::callAsFunction): (KJS::toJS): * khtml/ecma/kjs_views.h: * khtml/ecma/kjs_window.cpp: (KJS::Window::getValueProperty): (KJS::Window::namedItemGetter): (KJS::Selection::getValueProperty): (KJS::SelectionFunc::callAsFunction): Rename uses and definitions of all the various converstions to JavaScript wrappers to the new common overloaded name: "toJS". git-svn-id: http://svn.webkit.org/repository/webkit/trunk@13329 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 06 Mar, 2006 1 commit
-
-
darin authored
- moved all the remnants of the public C++ DOM API out of khtml/dom - changed from "int" to "ExceptionCode" for DOM exceptions - removed unused CSS_HTML_RELATIVE - changed offsetInCharacters to be a member function of NodeImpl - changed DOM functions that take a NodeType to use NodeType instead of unsigned short for clarity (will still be unsigned short in bindings) - changed exception constants so they can be used directly in the implementation code (added in the offsets for different types of exceptions) - replaced the eventListenerType function with an isHTMLEventListener function - got rid of EventListenerEvent, which is a synonym for EventImpl* - eliminated handleEventImpl, whish is now the same as handleEvent - did other preparation for the "remove Impl suffix" renaming (tested by using a script that does the renaming) * khtml/dom/css_rule.h: Removed. * khtml/dom/css_stylesheet.h: Removed. * khtml/dom/css_value.h: Removed. * khtml/dom/dom2_events.cpp: Removed. * khtml/dom/dom2_events.h: Removed. * khtml/dom/dom2_range.h: Removed. * khtml/dom/dom2_traversal.cpp: Removed. * khtml/dom/dom2_traversal.h: Removed. * khtml/dom/dom_exception.h: Removed. * khtml/dom/dom_node.h: Removed. * dom/EventListener.h: Added. * dom/ExceptionCode.h: Added. * WebCore+SVG/kdom.h: Removed NodeType and ExceptionCodes * WebCore+SVG/kdomevents.h: Removed. * WebCore.xcodeproj/project.pbxproj: Updated for file changes. * WebCore.xcodeproj/project.pbxproj: Updated for file changes. * bindings/scripts/CodeGeneratorJS.pm: Removed unneeded DOM:: prefix. Updated file names and exception prefix for changes in DOM exceptions. * bindings/js/JSDOMCore.cpp: Touched to cause auto-generated code to be recompiled. We need to get this fixed! * bindings/js/JSDOMEvents.cpp: Ditto. * dom/Attr.idl: * dom/CharacterData.idl: * dom/DOMImplementation.idl: * dom/DocumentType.idl: * dom/Element.idl: * dom/Entity.idl: * dom/MutationEvent.idl: * dom/Notation.idl: * dom/ProcessingInstruction.idl: * dom/Text.idl: * dom/WheelEvent.idl: Touched all IDL files so that changes in CodeGeneratorJS.pm would take effect. Added license headers. * bindings/objc/DOM.mm: Fixed garbled license agreement. Updated includes. Changed from a single "using namespace WebCore" to individual using statements because of the imminent conflict between DOMImplementation in Objective C and WebCore::DOMImplementation (currently has an Impl suffix). Added a typedef for WebCore::DOMImplementationImpl. Changed to use ExceptionCode instead of int. * bindings/objc/DOMCSS.h: Removed DOMCSSException and the special CSS exception codes. This is a feature of DOM Level 1 only. In DOM Level 2 these were eliminated and use basic DOM exception codes instead. We might have to do something for binary compatibility eventually, but perhaps not. * bindings/objc/DOMCSS.mm: * bindings/objc/DOMEvents.mm: * bindings/objc/DOMEventsInternal.h: * bindings/objc/DOMHTML.mm: * bindings/objc/DOMHTMLInternal.h: * bindings/objc/DOMViews.mm: * bindings/objc/DOMViewsInternal.h: Fixed garbled license agreements. Changed to use ExceptionCode instead of int and name the variable "ec". * bindings/objc/DOMInternal.h: Changed addDOMWrapperImpl to take NSObject* instead of id. This helps with overload resolution when addDOMWrapperImpl is renamed to be addDOMWrapper. Changed ALLOW_DOM_CAST to always use "class" in from of the type name of the WebCore class. This helps work around what seems like a bug in namespace support in Objective-C mode, although the bug only happens after the "remove Impl" renaming. * bindings/objc/DOMInternal.mm: (getDOMWrapperImpl): Changed to use HashMap. (addDOMWrapperImpl): Ditto. (removeDOMWrapper): Ditto. (raiseDOMException): Update to use new names for exception number ranges. * bridge/mac/WebCoreFrameBridge.mm: * khtml/ecma/xmlserializer.cpp: * kwq/KWQAccObject.mm: Removed unneeded includes. * css/css_ruleimpl.h: Moved "rule type" into this header. * dom/CommentImpl.h: * dom/CommentImpl.cpp: (WebCore::CommentImpl::offsetInCharacters): Added. Returns true. * khtml/ecma/XSLTProcessor.cpp: (KJS::XSLTProcessorProtoFunc::callAsFunction): Changed this around so we don't have a local variable named docImpl. * khtml/ecma/kjs_binding.cpp: (KJS::setDOMException): Updated for new form of exception constants. * khtml/ecma/kjs_events.h: * khtml/ecma/kjs_events.cpp: (KJS::JSAbstractEventListener::handleEvent): Changed to no longer use EventListenerEvent. (KJS::JSAbstractEventListener::isHTMLEventListener): Added. * rendering/RenderTextField.h: Updated includes. Tweaked the code formatting of InputMutationListener. (Might be unnecessary since this class might be deleted soon.) * bridge/mac/MacFrame.mm: * css/css_computedstyle.cpp: * css/css_computedstyle.h: * css/css_ruleimpl.cpp: * css/css_stylesheetimpl.cpp: * css/css_stylesheetimpl.h: * css/css_valueimpl.cpp: * css/css_valueimpl.cpp: * css/css_valueimpl.h: * css/css_valueimpl.h: * css/cssparser.cpp: * css/cssstyleselector.cpp: * dom/CDATASectionImpl.cpp: * dom/CDATASectionImpl.h: * dom/CharacterDataImpl.cpp: * dom/CharacterDataImpl.h: * dom/ContainerNodeImpl.cpp: * dom/DOMImplementationImpl.cpp: * dom/DocumentFragmentImpl.cpp: * dom/DocumentFragmentImpl.h: * dom/DocumentImpl.cpp: * dom/DocumentImpl.h: * dom/DocumentTypeImpl.cpp: * dom/DocumentTypeImpl.h: * dom/NamedNodeMapImpl.h: * dom/NodeImpl.cpp: * dom/NodeImpl.h: * dom/NodeListImpl.cpp: * dom/TextImpl.cpp: * dom/TextImpl.h: * dom/dom2_eventsimpl.cpp: * dom/dom2_eventsimpl.h: * dom/dom2_rangeimpl.cpp: * dom/dom2_rangeimpl.h: * dom/dom2_traversalimpl.cpp: * dom/dom2_traversalimpl.h: * dom/dom_elementimpl.cpp: * dom/dom_elementimpl.h: * dom/dom_position.cpp: * dom/dom_xmlimpl.cpp: * dom/dom_xmlimpl.h: * dom/xml_tokenizer.cpp: * editing/AppendNodeCommand.cpp: * editing/ApplyStyleCommand.cpp: * editing/CompositeEditCommand.cpp: * editing/DeleteFromTextNodeCommand.cpp: * editing/InsertIntoTextNodeCommand.cpp: * editing/InsertLineBreakCommand.cpp: * editing/InsertNodeBeforeCommand.cpp: * editing/InsertParagraphSeparatorCommand.cpp: * editing/JoinTextNodesCommand.cpp: * editing/MergeIdenticalElementsCommand.cpp: * editing/RemoveNodeAttributeCommand.cpp: * editing/RemoveNodeCommand.cpp: * editing/ReplaceSelectionCommand.cpp: * editing/Selection.cpp: * editing/SelectionController.cpp: * editing/SelectionController.h: * editing/SetNodeAttributeCommand.cpp: * editing/SplitElementCommand.cpp: * editing/SplitTextNodeCommand.cpp: * editing/VisiblePosition.cpp: * editing/WrapContentsInDummySpanCommand.cpp: * editing/htmlediting.cpp: * editing/markup.cpp: * editing/visible_text.cpp: * khtml/ecma/kjs_binding.h: * khtml/ecma/kjs_css.cpp: * khtml/ecma/kjs_dom.cpp: * khtml/ecma/kjs_html.cpp: * khtml/ecma/kjs_range.cpp: * khtml/ecma/kjs_traversal.cpp: * khtml/ecma/kjs_traversal.h: * khtml/ecma/kjs_window.cpp: * khtml/html/HTMLElementImpl.cpp: * khtml/html/HTMLOptionElementImpl.cpp: * khtml/html/HTMLOptionElementImpl.h: * khtml/html/HTMLOptionsCollectionImpl.cpp: * khtml/html/HTMLSelectElementImpl.cpp: * khtml/html/HTMLTextAreaElementImpl.cpp: * khtml/html/html_documentimpl.cpp: * khtml/html/html_documentimpl.h: * khtml/html/html_headimpl.cpp: * khtml/html/html_tableimpl.cpp: * khtml/html/html_tableimpl.h: * khtml/html/htmlparser.cpp: * khtml/xbl/xbl_tokenizer.cpp: * khtml/xsl/xsl_stylesheetimpl.cpp: * ksvg2/misc/SVGDocumentExtensions.cpp: * ksvg2/svg/SVGAnimationElementImpl.cpp: * ksvg2/svg/SVGDOMImplementationImpl.cpp: * ksvg2/svg/SVGDOMImplementationImpl.h: * ksvg2/svg/SVGDocumentImpl.cpp: * ksvg2/svg/SVGDocumentImpl.h: * ksvg2/svg/SVGElementImpl.cpp: * ksvg2/svg/SVGLengthImpl.cpp: * ksvg2/svg/SVGLocatableImpl.cpp: * ksvg2/svg/SVGPolyElementImpl.cpp: * ksvg2/svg/SVGSVGElementImpl.cpp: * ksvg2/svg/SVGStyleElementImpl.cpp: * ksvg2/svg/SVGStyleElementImpl.h: * ksvg2/svg/SVGUseElementImpl.cpp: * page/Frame.cpp: * page/FrameView.cpp: * rendering/render_object.cpp: * xml/xmlhttprequest.cpp: Changed to use ExceptionCode instead of int and name the variable "ec". Also updated use of exception codes and other constants to get them from their new locations. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@13167 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 05 Mar, 2006 1 commit
-
-
ggaren authored
Reviewed by Maciej. - JSC support for the fix for <rdar://problem/4467143> JavaScript enumeration of HTML element properties skips DOM node properties * kjs/lookup.h: (1) Added the KJS_DEFINE_PROTOTYPE_WITH_PROTOTYPE macro. The class definiton macro needs to know about the prototype's prototype so that the class constructor properly sets it. (2) Removed the KJS_IMPLEMENT_PROTOTYPE_WITH_PARENT macro. The class implementation macro does not need to know about the prototype's prototype, since getOwnPropertySlot should only look in the current object's property map, and not its prototype's. LayoutTests: Reviewed by Maciej. - Layout test for <rdar://problem/4467143> JavaScript enumeration of HTML element properties skips DOM node properties * fast/dom/prototype-chain-expected.txt: Added. * fast/dom/prototype-chain.html: Added. WebCore: Reviewed by Maciej. - Second cut at fixing <rdar://problem/4467143> JavaScript enumeration of HTML element properties skips DOM node properties The approach here is for prototypes, in their constructor methods, to set their own prototypes, preserving the prototype chain in cases of multiple levels of inheritance. (Previously, our code assumed that a prototype never had a prototype of its own, and always used an empty object as a prototype's prototype). * bindings/scripts/CodeGeneratorJS.pm: Use the new DEFINE_PROTOTYPE_WITH_PROTOTYPE macro in place of the KJS_IMPLEMENT_PROTOTYPE_WITH_PARENT macro. * khtml/ecma/kjs_dom.cpp: Ditto. * khtml/ecma/kjs_dom.h: Ditto. * khtml/ecma/kjs_events.cpp: Ditto. Touched these files to force a rebuild: * bindings/js/JSDOMCore.cpp: * bindings/js/JSDOMEvents.cpp: * dom/Attr.idl: * dom/CharacterData.idl: * dom/DOMImplementation.idl: * dom/DocumentType.idl: * dom/Element.idl: * dom/Entity.idl: * dom/MutationEvent.idl: * dom/Notation.idl: * dom/ProcessingInstruction.idl: * dom/Text.idl: * dom/WheelEvent.idl: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@13150 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 09 Feb, 2006 1 commit
-
-
mjs authored
- moved khtml/xml to dom * dom: moved from khtml/xml * WebCore.xcodeproj/project.pbxproj: Updated for new file locations. * WebCore+SVG/KDOMHeaders.h: Updated for new header locations. * dom/dom2_rangeimpl.cpp: ditto * dom/dom2_traversalimpl.cpp: ditto * dom/dom_textimpl.cpp: ditto * dom/dom_xmlimpl.cpp: ditto * khtml/dom/dom2_events.cpp: ditto * khtml/ecma/kjs_binding.cpp: ditto * khtml/ecma/kjs_dom.cpp: ditto * khtml/ecma/kjs_events.cpp: ditto * khtml/ecma/kjs_html.cpp: ditto * khtml/ecma/kjs_range.cpp: ditto * khtml/ecma/kjs_views.cpp: ditto * khtml/editing/Selection.cpp: ditto * khtml/editing/SelectionController.cpp: ditto * khtml/editing/delete_from_text_node_command.cpp: ditto * khtml/editing/edit_command.cpp: ditto * khtml/editing/insert_into_text_node_command.cpp: ditto * khtml/editing/insert_line_break_command.cpp: ditto * khtml/editing/insert_paragraph_separator_command.cpp: ditto * khtml/editing/insert_text_command.cpp: ditto * khtml/editing/join_text_nodes_command.cpp: ditto * khtml/editing/markup.cpp: ditto * khtml/editing/merge_identical_elements_command.cpp: ditto * khtml/editing/rebalance_whitespace_command.cpp: ditto * khtml/editing/remove_node_attribute_command.cpp: ditto * khtml/editing/set_node_attribute_command.cpp: ditto * khtml/editing/split_element_command.cpp: ditto * khtml/editing/split_text_node_command.cpp: ditto * khtml/editing/split_text_node_containing_element.cpp: ditto * khtml/editing/visible_position.cpp: ditto * khtml/editing/visible_position.h: ditto * khtml/editing/visible_text.cpp: ditto * khtml/editing/visible_text.h: ditto * khtml/editing/visible_units.cpp: ditto * khtml/editing/wrap_contents_in_dummy_span_command.cpp: ditto * khtml/html/HTMLElementImpl.h: ditto * khtml/html/html_documentimpl.cpp: ditto * khtml/html/html_headimpl.cpp: ditto * khtml/xbl/xbl_binding_manager.cpp: ditto * khtml/xbl/xbl_tokenizer.cpp: ditto * khtml/xbl/xbl_tokenizer.h: ditto * ksvg2/svg/SVGAElementImpl.cpp: ditto * rendering/InlineTextBox.cpp: ditto * rendering/RenderContainer.cpp: ditto * rendering/RenderText.h: ditto * rendering/RenderTextField.cpp: ditto * rendering/render_frames.cpp: ditto * rendering/render_layer.cpp: ditto git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12715 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 06 Feb, 2006 1 commit
-
-
andersca authored
Reviewed by Maciej. - http://bugzilla.opendarwin.org/show_bug.cgi?id=7091 Autogenerate even more. * JSCore.cpp: Add new generated files. * bindings/scripts/CodeGeneratorJS.pm: Add "IsIndex" extended attribute for parameters. Any parameter that is "unsigned long" and has this attribute will be checked to make sure that it's not < 0. If it is, an index size error exception will be thrown. * khtml/ecma/kjs_dom.cpp: (KJS::toAttr): Use JSAttr::info. (KJS::getDOMNode): Use new constructors. * khtml/ecma/kjs_dom.h: Remove classes that are generated now. * khtml/xml/Attr.idl: Added. * khtml/xml/CharacterData.idl: Added. * khtml/xml/Entity.idl: Added. * khtml/xml/Notation.idl: Added. * khtml/xml/ProcessingInstruction.idl: Added. * khtml/xml/Text.idl: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12591 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-