1. 11 Mar, 2011 1 commit
    • beidson@apple.com's avatar
      Reviewed and landed by Brady Eidson. · c763e4c4
      beidson@apple.com authored
      Source/WebCore: 
      
      Patch by Anton D'Auria <adauria@apple.com> on 2011-03-11
      Add WebKit1 API to view and delete local storage
      https://bugs.webkit.org/show_bug.cgi?id=51878
      
      Created StorageTracker as a central point for tracking and deleting LocalStorage per origin.
      StorageTracker maintains its own database of origin identifiers and backing db paths,
      and this allows it to contain more relational data in the future, like variable quotas per origin.
      
      On initialization, StorageTracker syncs its database with LocalStorage files on disk. It adds
      an origin entry when StorageAreaSync performs a first sync for an origin.
      
      All StorageTracker file operations are performed on one background thread with a task queue.
      
      Tests: storage/domstorage/localstorage/storagetracker/storage-tracker-1-prepare.html
             storage/domstorage/localstorage/storagetracker/storage-tracker-2-create.html
             storage/domstorage/localstorage/storagetracker/storage-tracker-3-delete-all.html
             storage/domstorage/localstorage/storagetracker/storage-tracker-4-create.html
             storage/domstorage/localstorage/storagetracker/storage-tracker-5-delete-one.html
      
      * GNUmakefile.am:
      * WebCore.exp.in:
      * WebCore.gypi:
      * WebCore.pro:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      * page/PageGroup.cpp:
      (WebCore::PageGroup::clearLocalStorageForAllOrigins):
      (WebCore::PageGroup::clearLocalStorageForOrigin):
      (WebCore::PageGroup::syncLocalStorage):
      (WebCore::PageGroup::numberOfPageGroups):
      * page/PageGroup.h:
      * platform/chromium/FileSystemChromium.cpp:
      (WebCore::listDirectory):
      * platform/posix/FileSystemPOSIX.cpp:
      (WebCore::listDirectory):
      * storage/LocalStorageTask.cpp:
      (WebCore::LocalStorageTask::LocalStorageTask):
      (WebCore::LocalStorageTask::performTask):
      * storage/LocalStorageTask.h:
      (WebCore::LocalStorageTask::createOriginIdentifiersImport):
      (WebCore::LocalStorageTask::createSetOriginDetails):
      (WebCore::LocalStorageTask::createDeleteOrigin):
      (WebCore::LocalStorageTask::createDeleteAllOrigins):
      * storage/StorageAreaImpl.cpp:
      (WebCore::StorageAreaImpl::clearForOriginDeletion):
      (WebCore::StorageAreaImpl::sync):
      * storage/StorageAreaImpl.h:
      * storage/StorageAreaSync.cpp:
      (WebCore::StorageAreaSync::scheduleCloseDatabase):
      (WebCore::StorageAreaSync::openDatabase):
      (WebCore::StorageAreaSync::sync):
      (WebCore::StorageAreaSync::deleteEmptyDatabase):
      (WebCore::StorageAreaSync::scheduleSync):
      * storage/StorageAreaSync.h:
      * storage/StorageNamespace.h:
      * storage/StorageNamespaceImpl.cpp:
      (WebCore::StorageNamespaceImpl::clearOriginForDeletion):
      (WebCore::StorageNamespaceImpl::clearAllOriginsForDeletion):
      (WebCore::StorageNamespaceImpl::sync):
      * storage/StorageNamespaceImpl.h:
      * storage/StorageTracker.cpp: Added.
      (WebCore::StorageTracker::initializeTracker):
      (WebCore::StorageTracker::tracker):
      (WebCore::StorageTracker::StorageTracker):
      (WebCore::StorageTracker::setStorageDirectoryPath):
      (WebCore::StorageTracker::trackerDatabasePath):
      (WebCore::StorageTracker::openTrackerDatabase):
      (WebCore::StorageTracker::importOriginIdentifiers):
      (WebCore::StorageTracker::syncImportOriginIdentifiers):
      (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
      (WebCore::StorageTracker::setOriginDetails):
      (WebCore::StorageTracker::scheduleTask):
      (WebCore::StorageTracker::syncSetOriginDetails):
      (WebCore::StorageTracker::origins):
      (WebCore::StorageTracker::deleteAllOrigins):
      (WebCore::StorageTracker::syncDeleteAllOrigins):
      (WebCore::StorageTracker::deleteOrigin):
      (WebCore::StorageTracker::syncDeleteOrigin):
      (WebCore::StorageTracker::willDeleteAllOrigins):
      (WebCore::StorageTracker::willDeleteOrigin):
      (WebCore::StorageTracker::canDeleteOrigin):
      (WebCore::StorageTracker::cancelDeletingOrigin):
      (WebCore::StorageTracker::setClient):
      (WebCore::StorageTracker::syncLocalStorage):
      * storage/StorageTracker.h: Added.
      * storage/StorageTrackerClient.h: Added.
      (WebCore::StorageTrackerClient::~StorageTrackerClient):
      
      Source/WebKit: 
      
      Patch by Anton D'Auria <adauria@apple.com> on 2011-03-11
      Add WebKit1 API to view and delete local storage
      https://bugs.webkit.org/show_bug.cgi?id=51878
      
      * WebKit.xcodeproj/project.pbxproj:
      
      Source/WebKit/chromium: 
      
      Patch by Anton D'Auria <adauria@apple.com> on 2011-03-11
      Add WebKit1 API to view and delete local storage
      https://bugs.webkit.org/show_bug.cgi?id=51878
      
      * src/StorageNamespaceProxy.cpp:
      (WebCore::StorageNamespaceProxy::clearOriginForDeletion):
      (WebCore::StorageNamespaceProxy::clearAllOriginsForDeletion):
      (WebCore::StorageNamespaceProxy::sync):
      * src/StorageNamespaceProxy.h:
      
      Source/WebKit/mac: 
      
      Patch by Anton D'Auria <adauria@apple.com> on 2011-03-11
      https://bugs.webkit.org/show_bug.cgi?id=51878
      Add WebKit1 API to view and delete local storage
      
      * Storage/WebStorageManager.mm: Added.
      (+[WebStorageManager sharedWebStorageManager]):
      (-[WebStorageManager origins]):
      (-[WebStorageManager deleteAllOrigins]):
      (-[WebStorageManager deleteOrigin:]):
      (-[WebStorageManager syncLocalStorage]):
      (-[WebStorageManager syncFileSystemAndTrackerDatabase]):
      (storageDirectoryPath):
      (WebKitInitializeStorageIfNecessary):
      * Storage/WebStorageManagerInternal.h: Added.
      * Storage/WebStorageManagerPrivate.h: Added.
      * Storage/WebStorageTrackerClient.h: Added.
      * Storage/WebStorageTrackerClient.mm: Added.
      (WebStorageTrackerClient::sharedWebStorageTrackerClient):
      (WebStorageTrackerClient::WebStorageTrackerClient):
      (WebStorageTrackerClient::~WebStorageTrackerClient):
      (WebStorageTrackerClient::dispatchDidModifyOriginOnMainThread):
      (WebStorageTrackerClient::dispatchDidModifyOrigin):
      * WebCoreSupport/WebSecurityOrigin.mm:
      (-[WebSecurityOrigin protocol]):
      (-[WebSecurityOrigin host]):
      (-[WebSecurityOrigin databaseIdentifier]):
      (-[WebSecurityOrigin domain]):
      (-[WebSecurityOrigin _initWithWebCoreSecurityOrigin:]):
      * WebCoreSupport/WebSecurityOriginPrivate.h:
      * WebKit.exp:
      * WebView/WebView.mm:
      (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
      
      Tools: 
      
      Patch by Anton D'Auria <adauria@apple.com> on 2011-03-11
      https://bugs.webkit.org/show_bug.cgi?id=51878
      Add WebKit1 API to view and delete local storage
      
      Added tests that write to LocalStorage, delete one origin, get list of origins with local storage, delete all origins.
      
      * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
      * DumpRenderTree/LayoutTestController.cpp:
      (syncLocalStorageCallback):
      (observeStorageTrackerNotificationsCallback):
      (deleteAllLocalStorageCallback):
      (deleteLocalStorageForOriginCallback):
      (originsWithLocalStorageCallback):
      (LayoutTestController::staticFunctions):
      * DumpRenderTree/LayoutTestController.h:
      * DumpRenderTree/StorageTrackerDelegate.h: Added.
      * DumpRenderTree/StorageTrackerDelegate.mm: Added.
      (-[StorageTrackerDelegate init]):
      (-[StorageTrackerDelegate logNotifications:controller:]):
      (-[StorageTrackerDelegate originModified:]):
      (-[StorageTrackerDelegate dealloc]):
      (-[StorageTrackerDelegate setControllerToNotifyDone:]):
      * DumpRenderTree/chromium/LayoutTestController.cpp:
      (LayoutTestController::LayoutTestController):
      (LayoutTestController::deleteAllLocalStorage):
      (LayoutTestController::originsWithLocalStorage):
      (LayoutTestController::deleteLocalStorageForOrigin):
      (observeStorageTrackerNotifications):
      (syncLocalStorage):
      * DumpRenderTree/chromium/LayoutTestController.h:
      * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
      (LayoutTestController::originsWithLocalStorage):
      (LayoutTestController::deleteAllLocalStorage):
      (LayoutTestController::deleteLocalStorageForOrigin):
      (LayoutTestController::observeStorageTrackerNotifications):
      (LayoutTestController::syncLocalStorage):
      * DumpRenderTree/mac/DumpRenderTree.mm:
      (resetDefaultsToConsistentValues):
      (allocateGlobalControllers):
      (releaseGlobalControllers):
      * DumpRenderTree/mac/DumpRenderTreeMac.h:
      * DumpRenderTree/mac/LayoutTestControllerMac.mm:
      (LayoutTestController::syncLocalStorage):
      (LayoutTestController::observeStorageTrackerNotifications):
      (LayoutTestController::deleteAllLocalStorage):
      (LayoutTestController::originsWithLocalStorage):
      (LayoutTestController::deleteLocalStorageForOrigin):
      * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
      (LayoutTestController::originsWithLocalStorage):
      (LayoutTestController::deleteAllLocalStorage):
      (LayoutTestController::deleteLocalStorageForOrigin):
      (LayoutTestController::observeStorageTrackerNotifications):
      (LayoutTestController::syncLocalStorage):
      * DumpRenderTree/qt/LayoutTestControllerQt.h:
      * DumpRenderTree/win/LayoutTestControllerWin.cpp:
      (LayoutTestController::clearAllApplicationCaches):
      (LayoutTestController::syncLocalStorage):
      (LayoutTestController::observeStorageTrackerNotifications):
      (LayoutTestController::clearAllDatabases):
      (LayoutTestController::deleteAllLocalStorage):
      (LayoutTestController::originsWithLocalStorage):
      (LayoutTestController::deleteLocalStorageForOrigin):
      * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
      (LayoutTestController::syncLocalStorage):
      (LayoutTestController::observeStorageTrackerNotifications):
      (LayoutTestController::clearAllDatabases):
      (LayoutTestController::deleteAllLocalStorage):
      (LayoutTestController::originsWithLocalStorage):
      (LayoutTestController::deleteLocalStorageForOrigin):
      
      LayoutTests: 
      
      Patch by Anton D'Auria <adauria@apple.com> on 2011-03-11
      Add WebKit1 API to view and delete local storage
      https://bugs.webkit.org/show_bug.cgi?id=51878
      
      * platform/chromium/test_expectations.txt:
      * storage/domstorage/localstorage/storagetracker: Added.
      * storage/domstorage/localstorage/storagetracker/storage-tracker-1-prepare-expected.txt: Added.
      * storage/domstorage/localstorage/storagetracker/storage-tracker-1-prepare.html: Added.
      * storage/domstorage/localstorage/storagetracker/storage-tracker-2-create-expected.txt: Added.
      * storage/domstorage/localstorage/storagetracker/storage-tracker-2-create.html: Added.
      * storage/domstorage/localstorage/storagetracker/storage-tracker-3-delete-all-expected.txt: Added.
      * storage/domstorage/localstorage/storagetracker/storage-tracker-3-delete-all.html: Added.
      * storage/domstorage/localstorage/storagetracker/storage-tracker-4-create-expected.txt: Added.
      * storage/domstorage/localstorage/storagetracker/storage-tracker-4-create.html: Added.
      * storage/domstorage/localstorage/storagetracker/storage-tracker-5-delete-one-expected.txt: Added.
      * storage/domstorage/localstorage/storagetracker/storage-tracker-5-delete-one.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@80892 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c763e4c4
  2. 21 Jan, 2011 1 commit
    • commit-queue@webkit.org's avatar
      2011-01-21 Adam Klein <adamk@chromium.org> · 4ceaac17
      commit-queue@webkit.org authored
              Reviewed by Eric Seidel.
      
              [chromium] Rename ChromiumBridge to PlatformBridge
              https://bugs.webkit.org/show_bug.cgi?id=52471
      
              No tests added as this is a rename; no change in behavior.
      
              * WebCore.gypi:
              * bindings/v8/V8DOMWindowShell.cpp:
              (WebCore::reportFatalErrorInV8):
              * page/PageGroup.cpp:
              (WebCore::PageGroup::isLinkVisited):
              * platform/android/PlatformBridge.h:
              * platform/audio/chromium/AudioBusChromium.cpp:
              (WebCore::createBusFromInMemoryAudioFile):
              * platform/chromium/ChromiumBridge.h: Removed.
              * platform/chromium/ChromiumDataObjectLegacy.cpp:
              (WebCore::ChromiumDataObjectLegacy::getData):
              * platform/chromium/DragDataChromium.cpp:
              (WebCore::DragData::asURL):
              * platform/chromium/FileSystemChromium.cpp:
              (WebCore::deleteFile):
              (WebCore::deleteEmptyDirectory):
              (WebCore::getFileSize):
              (WebCore::getFileModificationTime):
              (WebCore::revealFolderInOS):
              (WebCore::directoryName):
              (WebCore::pathByAppendingComponent):
              (WebCore::makeAllDirectories):
              (WebCore::fileExists):
              (WebCore::openFile):
              (WebCore::closeFile):
              (WebCore::seekFile):
              (WebCore::truncateFile):
              (WebCore::readFromFile):
              (WebCore::writeToFile):
              * platform/chromium/LanguageChromium.cpp:
              (WebCore::platformDefaultLanguage):
              * platform/chromium/LinkHashChromium.cpp:
              (WebCore::visitedLinkHash):
              * platform/chromium/MIMETypeRegistryChromium.cpp:
              (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
              (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
              (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
              (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
              (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
              * platform/chromium/PasteboardChromium.cpp:
              (WebCore::Pasteboard::writeSelection):
              (WebCore::Pasteboard::writePlainText):
              (WebCore::Pasteboard::writeURL):
              (WebCore::Pasteboard::writeImage):
              (WebCore::Pasteboard::canSmartReplace):
              (WebCore::Pasteboard::plainText):
              (WebCore::Pasteboard::documentFragment):
              * platform/chromium/PlatformBridge.h:
              * platform/chromium/PlatformScreenChromium.cpp:
              (WebCore::screenDepth):
              (WebCore::screenDepthPerComponent):
              (WebCore::screenIsMonochrome):
              (WebCore::screenRect):
              (WebCore::screenAvailableRect):
              * platform/chromium/ReadableDataObject.cpp:
              (WebCore::ReadableDataObject::getData):
              (WebCore::ReadableDataObject::urlTitle):
              (WebCore::ReadableDataObject::htmlBaseUrl):
              (WebCore::ReadableDataObject::filenames):
              (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
              * platform/chromium/SSLKeyGeneratorChromium.cpp:
              (WebCore::signedPublicKeyAndChallengeString):
              * platform/chromium/ScrollbarThemeChromium.cpp:
              * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
              (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
              (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
              (WebCore::ScrollbarThemeChromiumLinux::paintButton):
              (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
              (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
              (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
              * platform/chromium/ScrollbarThemeChromiumMac.mm:
              (WebCore::scrollbarStateToThemeState):
              (WebCore::ScrollbarThemeChromiumMac::paint):
              * platform/chromium/ScrollbarThemeChromiumWin.cpp:
              (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
              (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
              (WebCore::ScrollbarThemeChromiumWin::paintButton):
              (WebCore::ScrollbarThemeChromiumWin::paintThumb):
              (WebCore::ScrollbarThemeChromiumWin::buttonSize):
              * platform/chromium/SharedTimerChromium.cpp:
              (WebCore::setSharedTimerFiredFunction):
              (WebCore::setSharedTimerFireTime):
              (WebCore::stopSharedTimer):
              * platform/chromium/SuddenTerminationChromium.cpp:
              (WebCore::disableSuddenTermination):
              (WebCore::enableSuddenTermination):
              * platform/chromium/SystemTimeChromium.cpp:
              (WebCore::currentTime):
              * platform/chromium/WritableDataObject.cpp:
              (WebCore::WritableDataObject::setData):
              * platform/graphics/chromium/CrossProcessFontLoading.mm:
              * platform/graphics/chromium/FontCacheChromiumWin.cpp:
              (WebCore::fontContainsCharacter):
              (WebCore::FillLogFont):
              * platform/graphics/chromium/FontCacheLinux.cpp:
              (WebCore::FontCache::getFontDataForCharacters):
              * platform/graphics/chromium/FontChromiumWin.cpp:
              (WebCore::Font::drawGlyphs):
              * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
              (WebCore::FontPlatformData::scriptFontProperties):
              * platform/graphics/chromium/FontPlatformDataLinux.cpp:
              (WebCore::FontPlatformData::querySystemForRenderStyle):
              * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
              (WebCore::fillBMPGlyphs):
              * platform/graphics/chromium/ImageChromium.cpp:
              (WebCore::Image::loadPlatformResource):
              * platform/graphics/chromium/ImageChromiumMac.mm:
              (WebCore::Image::loadPlatformResource):
              * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
              (WebCore::SimpleFontData::platformInit):
              (WebCore::SimpleFontData::determinePitch):
              (WebCore::SimpleFontData::platformWidthForGlyph):
              * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
              (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
              * platform/graphics/skia/FontCustomPlatformData.cpp:
              (WebCore::FontCustomPlatformData::fontPlatformData):
              * platform/network/chromium/CookieJarChromium.cpp:
              (WebCore::setCookies):
              (WebCore::cookies):
              (WebCore::cookieRequestHeaderFieldValue):
              (WebCore::cookiesEnabled):
              (WebCore::getRawCookies):
              (WebCore::deleteCookie):
              * platform/network/chromium/DNSChromium.cpp:
              (WebCore::prefetchDNS):
              * platform/qt/PlatformBridge.h:
              * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
              (WebCore::SQLiteFileSystem::deleteDatabaseFile):
              (WebCore::SQLiteFileSystem::getDatabaseFileSize):
              * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
              (chromiumOpen):
              (chromiumDelete):
              (chromiumAccess):
              * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
              * plugins/chromium/PluginDataChromium.cpp:
              (WebCore::PluginCache::plugins):
              * rendering/RenderThemeChromiumMac.mm:
              (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
              * rendering/RenderThemeChromiumSkia.cpp:
              (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
              * rendering/RenderThemeChromiumWin.cpp:
              (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
              (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
              (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
              (WebCore::RenderThemeChromiumWin::systemColor):
              (WebCore::RenderThemeChromiumWin::paintButton):
              (WebCore::RenderThemeChromiumWin::paintSliderTrack):
              (WebCore::menuListButtonWidth):
              (WebCore::RenderThemeChromiumWin::paintMenuList):
              (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
              (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
              (WebCore::RenderThemeChromiumWin::paintProgressBar):
              * storage/chromium/IDBFactoryBackendInterface.cpp:
              (WebCore::IDBFactoryBackendInterface::create):
              (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
              * storage/chromium/IDBKeyPathBackendImpl.cpp:
              (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
      2011-01-21  Adam Klein  <adamk@chromium.org>
      
              Reviewed by Eric Seidel.
      
              [chromium] Rename ChromiumBridge to PlatformBridge
              https://bugs.webkit.org/show_bug.cgi?id=52471
      
              * WebKit.gyp:
              * src/AssertMatchingEnums.cpp:
              * src/PlatformBridge.cpp:
              (WebCore::toChromeClientImpl):
              (WebCore::toWebWidgetClient):
              (WebCore::getCookieJar):
              (WebCore::PlatformBridge::cacheMetadata):
              (WebCore::PlatformBridge::clipboardIsFormatAvailable):
              (WebCore::PlatformBridge::clipboardReadPlainText):
              (WebCore::PlatformBridge::clipboardReadHTML):
              (WebCore::PlatformBridge::clipboardWriteSelection):
              (WebCore::PlatformBridge::clipboardWritePlainText):
              (WebCore::PlatformBridge::clipboardWriteURL):
              (WebCore::PlatformBridge::clipboardWriteImage):
              (WebCore::PlatformBridge::clipboardWriteData):
              (WebCore::PlatformBridge::clipboardReadAvailableTypes):
              (WebCore::PlatformBridge::clipboardReadData):
              (WebCore::PlatformBridge::clipboardReadFilenames):
              (WebCore::PlatformBridge::setCookies):
              (WebCore::PlatformBridge::cookies):
              (WebCore::PlatformBridge::cookieRequestHeaderFieldValue):
              (WebCore::PlatformBridge::rawCookies):
              (WebCore::PlatformBridge::deleteCookie):
              (WebCore::PlatformBridge::cookiesEnabled):
              (WebCore::PlatformBridge::prefetchDNS):
              (WebCore::PlatformBridge::fileExists):
              (WebCore::PlatformBridge::deleteFile):
              (WebCore::PlatformBridge::deleteEmptyDirectory):
              (WebCore::PlatformBridge::getFileSize):
              (WebCore::PlatformBridge::revealFolderInOS):
              (WebCore::PlatformBridge::getFileModificationTime):
              (WebCore::PlatformBridge::directoryName):
              (WebCore::PlatformBridge::pathByAppendingComponent):
              (WebCore::PlatformBridge::makeAllDirectories):
              (WebCore::PlatformBridge::getAbsolutePath):
              (WebCore::PlatformBridge::isDirectory):
              (WebCore::PlatformBridge::filePathToURL):
              (WebCore::PlatformBridge::openFile):
              (WebCore::PlatformBridge::closeFile):
              (WebCore::PlatformBridge::seekFile):
              (WebCore::PlatformBridge::truncateFile):
              (WebCore::PlatformBridge::readFromFile):
              (WebCore::PlatformBridge::writeToFile):
              (WebCore::PlatformBridge::ensureFontLoaded):
              (WebCore::PlatformBridge::getFontFamilyForCharacters):
              (WebCore::PlatformBridge::getRenderStyleForStrike):
              (WebCore::PlatformBridge::loadFont):
              (WebCore::PlatformBridge::databaseOpenFile):
              (WebCore::PlatformBridge::databaseDeleteFile):
              (WebCore::PlatformBridge::databaseGetFileAttributes):
              (WebCore::PlatformBridge::databaseGetFileSize):
              (WebCore::PlatformBridge::idbFactory):
              (WebCore::PlatformBridge::idbShutdown):
              (WebCore::PlatformBridge::createIDBKeysFromSerializedValuesAndKeyPath):
              (WebCore::PlatformBridge::signedPublicKeyAndChallengeString):
              (WebCore::PlatformBridge::computedDefaultLanguage):
              (WebCore::PlatformBridge::layoutTestMode):
              (WebCore::PlatformBridge::isSupportedImageMIMEType):
              (WebCore::PlatformBridge::isSupportedJavaScriptMIMEType):
              (WebCore::PlatformBridge::isSupportedNonImageMIMEType):
              (WebCore::PlatformBridge::mimeTypeForExtension):
              (WebCore::PlatformBridge::mimeTypeFromFile):
              (WebCore::PlatformBridge::preferredExtensionForMIMEType):
              (WebCore::PlatformBridge::plugins):
              (WebCore::PlatformBridge::pluginScriptableObject):
              (WebCore::PlatformBridge::loadPlatformImageResource):
              (WebCore::PlatformBridge::loadPlatformAudioResource):
              (WebCore::PlatformBridge::decodeAudioFileData):
              (WebCore::PlatformBridge::sandboxEnabled):
              (WebCore::PlatformBridge::setSharedTimerFiredFunction):
              (WebCore::PlatformBridge::setSharedTimerFireTime):
              (WebCore::PlatformBridge::stopSharedTimer):
              (WebCore::PlatformBridge::decrementStatsCounter):
              (WebCore::PlatformBridge::incrementStatsCounter):
              (WebCore::PlatformBridge::histogramCustomCounts):
              (WebCore::PlatformBridge::histogramEnumeration):
              (WebCore::PlatformBridge::suddenTerminationChanged):
              (WebCore::PlatformBridge::currentTime):
              (WebCore::PlatformBridge::paintButton):
              (WebCore::PlatformBridge::paintMenuList):
              (WebCore::PlatformBridge::paintScrollbarArrow):
              (WebCore::PlatformBridge::paintScrollbarThumb):
              (WebCore::PlatformBridge::paintScrollbarTrack):
              (WebCore::PlatformBridge::paintSpinButton):
              (WebCore::PlatformBridge::paintTextField):
              (WebCore::PlatformBridge::paintTrackbar):
              (WebCore::PlatformBridge::paintProgressBar):
              (WebCore::WebThemePart):
              (WebCore::WebThemeState):
              (WebCore::GetWebThemeExtraParams):
              (WebCore::PlatformBridge::getThemePartSize):
              (WebCore::PlatformBridge::paintThemePart):
              (WebCore::PlatformBridge::traceEventBegin):
              (WebCore::PlatformBridge::traceEventEnd):
              (WebCore::PlatformBridge::visitedLinkHash):
              (WebCore::PlatformBridge::isLinkVisited):
              (WebCore::PlatformBridge::notifyJSOutOfMemory):
              (WebCore::PlatformBridge::memoryUsageMB):
              (WebCore::PlatformBridge::actualMemoryUsageMB):
              (WebCore::PlatformBridge::screenDepth):
              (WebCore::PlatformBridge::screenDepthPerComponent):
              (WebCore::PlatformBridge::screenIsMonochrome):
              (WebCore::PlatformBridge::screenRect):
              (WebCore::PlatformBridge::screenAvailableRect):
              (WebCore::PlatformBridge::popupsAllowed):
              (WebCore::WorkerContextProxy::create):
              * src/ResourceHandle.cpp:
              (WebCore::ResourceHandle::cacheMetadata):
              * src/WebFrameImpl.cpp:
              (WebKit::WebFrameImpl::WebFrameImpl):
              (WebKit::WebFrameImpl::~WebFrameImpl):
              * src/WebViewImpl.cpp:
              (WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76340 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4ceaac17
  3. 20 Jan, 2011 2 commits
    • dimich@chromium.org's avatar
      2011-01-19 Sheriff Bot <webkit.review.bot@gmail.com> · d95c3038
      dimich@chromium.org authored
              Unreviewed, rolling out r76203.
              http://trac.webkit.org/changeset/76203
              https://bugs.webkit.org/show_bug.cgi?id=52784
      
              Broke Win compile on Chromium bots (Requested by dimich on
              #webkit).
      
              * WebCore.gypi:
              * bindings/v8/V8DOMWindowShell.cpp:
              (WebCore::reportFatalErrorInV8):
              * page/PageGroup.cpp:
              (WebCore::PageGroup::isLinkVisited):
              * platform/android/PlatformBridge.h:
              * platform/audio/chromium/AudioBusChromium.cpp:
              (WebCore::createBusFromInMemoryAudioFile):
              * platform/chromium/ChromiumBridge.h: Added.
              * platform/chromium/ChromiumDataObjectLegacy.cpp:
              (WebCore::ChromiumDataObjectLegacy::getData):
              * platform/chromium/DragDataChromium.cpp:
              (WebCore::DragData::asURL):
              * platform/chromium/FileSystemChromium.cpp:
              (WebCore::deleteFile):
              (WebCore::deleteEmptyDirectory):
              (WebCore::getFileSize):
              (WebCore::getFileModificationTime):
              (WebCore::revealFolderInOS):
              (WebCore::directoryName):
              (WebCore::pathByAppendingComponent):
              (WebCore::makeAllDirectories):
              (WebCore::fileExists):
              (WebCore::openFile):
              (WebCore::closeFile):
              (WebCore::seekFile):
              (WebCore::truncateFile):
              (WebCore::readFromFile):
              (WebCore::writeToFile):
              * platform/chromium/LanguageChromium.cpp:
              (WebCore::platformDefaultLanguage):
              * platform/chromium/LinkHashChromium.cpp:
              (WebCore::visitedLinkHash):
              * platform/chromium/MIMETypeRegistryChromium.cpp:
              (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
              (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
              (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
              (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
              (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
              * platform/chromium/PasteboardChromium.cpp:
              (WebCore::Pasteboard::writeSelection):
              (WebCore::Pasteboard::writePlainText):
              (WebCore::Pasteboard::writeURL):
              (WebCore::Pasteboard::writeImage):
              (WebCore::Pasteboard::canSmartReplace):
              (WebCore::Pasteboard::plainText):
              (WebCore::Pasteboard::documentFragment):
              * platform/chromium/PlatformBridge.h:
              * platform/chromium/PlatformScreenChromium.cpp:
              (WebCore::screenDepth):
              (WebCore::screenDepthPerComponent):
              (WebCore::screenIsMonochrome):
              (WebCore::screenRect):
              (WebCore::screenAvailableRect):
              * platform/chromium/ReadableDataObject.cpp:
              (WebCore::ReadableDataObject::getData):
              (WebCore::ReadableDataObject::urlTitle):
              (WebCore::ReadableDataObject::htmlBaseUrl):
              (WebCore::ReadableDataObject::filenames):
              (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
              * platform/chromium/SSLKeyGeneratorChromium.cpp:
              (WebCore::signedPublicKeyAndChallengeString):
              * platform/chromium/ScrollbarThemeChromium.cpp:
              * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
              (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
              (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
              (WebCore::ScrollbarThemeChromiumLinux::paintButton):
              (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
              (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
              (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
              * platform/chromium/ScrollbarThemeChromiumMac.mm:
              (WebCore::scrollbarStateToThemeState):
              (WebCore::ScrollbarThemeChromiumMac::paint):
              * platform/chromium/ScrollbarThemeChromiumWin.cpp:
              (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
              (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
              (WebCore::ScrollbarThemeChromiumWin::paintButton):
              (WebCore::ScrollbarThemeChromiumWin::paintThumb):
              (WebCore::ScrollbarThemeChromiumWin::buttonSize):
              * platform/chromium/SharedTimerChromium.cpp:
              (WebCore::setSharedTimerFiredFunction):
              (WebCore::setSharedTimerFireTime):
              (WebCore::stopSharedTimer):
              * platform/chromium/SuddenTerminationChromium.cpp:
              (WebCore::disableSuddenTermination):
              (WebCore::enableSuddenTermination):
              * platform/chromium/SystemTimeChromium.cpp:
              (WebCore::currentTime):
              * platform/chromium/WritableDataObject.cpp:
              (WebCore::WritableDataObject::setData):
              * platform/graphics/chromium/CrossProcessFontLoading.mm:
              * platform/graphics/chromium/FontCacheChromiumWin.cpp:
              (WebCore::fontContainsCharacter):
              (WebCore::FillLogFont):
              * platform/graphics/chromium/FontCacheLinux.cpp:
              (WebCore::FontCache::getFontDataForCharacters):
              * platform/graphics/chromium/FontChromiumWin.cpp:
              (WebCore::Font::drawGlyphs):
              * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
              (WebCore::FontPlatformData::scriptFontProperties):
              * platform/graphics/chromium/FontPlatformDataLinux.cpp:
              (WebCore::FontPlatformData::querySystemForRenderStyle):
              * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
              (WebCore::fillBMPGlyphs):
              * platform/graphics/chromium/ImageChromium.cpp:
              (WebCore::Image::loadPlatformResource):
              * platform/graphics/chromium/ImageChromiumMac.mm:
              (WebCore::Image::loadPlatformResource):
              * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
              (WebCore::SimpleFontData::platformInit):
              (WebCore::SimpleFontData::determinePitch):
              (WebCore::SimpleFontData::platformWidthForGlyph):
              * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
              (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
              * platform/graphics/skia/FontCustomPlatformData.cpp:
              (WebCore::FontCustomPlatformData::fontPlatformData):
              * platform/network/chromium/CookieJarChromium.cpp:
              (WebCore::setCookies):
              (WebCore::cookies):
              (WebCore::cookieRequestHeaderFieldValue):
              (WebCore::cookiesEnabled):
              (WebCore::getRawCookies):
              (WebCore::deleteCookie):
              * platform/network/chromium/DNSChromium.cpp:
              (WebCore::prefetchDNS):
              * platform/qt/PlatformBridge.h:
              * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
              (WebCore::SQLiteFileSystem::deleteDatabaseFile):
              (WebCore::SQLiteFileSystem::getDatabaseFileSize):
              * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
              (chromiumOpen):
              (chromiumDelete):
              (chromiumAccess):
              * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
              * plugins/chromium/PluginDataChromium.cpp:
              (WebCore::PluginCache::plugins):
              * rendering/RenderThemeChromiumMac.mm:
              (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
              * rendering/RenderThemeChromiumSkia.cpp:
              (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
              * rendering/RenderThemeChromiumWin.cpp:
              (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
              (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
              (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
              (WebCore::RenderThemeChromiumWin::systemColor):
              (WebCore::RenderThemeChromiumWin::paintButton):
              (WebCore::RenderThemeChromiumWin::paintSliderTrack):
              (WebCore::menuListButtonWidth):
              (WebCore::RenderThemeChromiumWin::paintMenuList):
              (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
              (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
              (WebCore::RenderThemeChromiumWin::paintProgressBar):
              * storage/chromium/IDBFactoryBackendInterface.cpp:
              (WebCore::IDBFactoryBackendInterface::create):
              (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
              * storage/chromium/IDBKeyPathBackendImpl.cpp:
              (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
      2011-01-19  Sheriff Bot  <webkit.review.bot@gmail.com>
      
              Unreviewed, rolling out r76203.
              http://trac.webkit.org/changeset/76203
              https://bugs.webkit.org/show_bug.cgi?id=52784
      
              Broke Win compile on Chromium bots (Requested by dimich on
              #webkit).
      
              * WebKit.gyp:
              * src/AssertMatchingEnums.cpp:
              * src/ChromiumBridge.cpp: Renamed from Source/WebKit/chromium/src/PlatformBridge.cpp.
              (WebCore::toChromeClientImpl):
              (WebCore::toWebWidgetClient):
              (WebCore::getCookieJar):
              (WebCore::ChromiumBridge::cacheMetadata):
              (WebCore::ChromiumBridge::clipboardIsFormatAvailable):
              (WebCore::ChromiumBridge::clipboardReadPlainText):
              (WebCore::ChromiumBridge::clipboardReadHTML):
              (WebCore::ChromiumBridge::clipboardWriteSelection):
              (WebCore::ChromiumBridge::clipboardWritePlainText):
              (WebCore::ChromiumBridge::clipboardWriteURL):
              (WebCore::ChromiumBridge::clipboardWriteImage):
              (WebCore::ChromiumBridge::clipboardWriteData):
              (WebCore::ChromiumBridge::clipboardReadAvailableTypes):
              (WebCore::ChromiumBridge::clipboardReadData):
              (WebCore::ChromiumBridge::clipboardReadFilenames):
              (WebCore::ChromiumBridge::setCookies):
              (WebCore::ChromiumBridge::cookies):
              (WebCore::ChromiumBridge::cookieRequestHeaderFieldValue):
              (WebCore::ChromiumBridge::rawCookies):
              (WebCore::ChromiumBridge::deleteCookie):
              (WebCore::ChromiumBridge::cookiesEnabled):
              (WebCore::ChromiumBridge::prefetchDNS):
              (WebCore::ChromiumBridge::fileExists):
              (WebCore::ChromiumBridge::deleteFile):
              (WebCore::ChromiumBridge::deleteEmptyDirectory):
              (WebCore::ChromiumBridge::getFileSize):
              (WebCore::ChromiumBridge::revealFolderInOS):
              (WebCore::ChromiumBridge::getFileModificationTime):
              (WebCore::ChromiumBridge::directoryName):
              (WebCore::ChromiumBridge::pathByAppendingComponent):
              (WebCore::ChromiumBridge::makeAllDirectories):
              (WebCore::ChromiumBridge::getAbsolutePath):
              (WebCore::ChromiumBridge::isDirectory):
              (WebCore::ChromiumBridge::filePathToURL):
              (WebCore::ChromiumBridge::openFile):
              (WebCore::ChromiumBridge::closeFile):
              (WebCore::ChromiumBridge::seekFile):
              (WebCore::ChromiumBridge::truncateFile):
              (WebCore::ChromiumBridge::readFromFile):
              (WebCore::ChromiumBridge::writeToFile):
              (WebCore::ChromiumBridge::ensureFontLoaded):
              (WebCore::ChromiumBridge::getFontFamilyForCharacters):
              (WebCore::ChromiumBridge::getRenderStyleForStrike):
              (WebCore::ChromiumBridge::loadFont):
              (WebCore::ChromiumBridge::databaseOpenFile):
              (WebCore::ChromiumBridge::databaseDeleteFile):
              (WebCore::ChromiumBridge::databaseGetFileAttributes):
              (WebCore::ChromiumBridge::databaseGetFileSize):
              (WebCore::ChromiumBridge::idbFactory):
              (WebCore::ChromiumBridge::idbShutdown):
              (WebCore::ChromiumBridge::createIDBKeysFromSerializedValuesAndKeyPath):
              (WebCore::ChromiumBridge::signedPublicKeyAndChallengeString):
              (WebCore::ChromiumBridge::computedDefaultLanguage):
              (WebCore::ChromiumBridge::layoutTestMode):
              (WebCore::ChromiumBridge::isSupportedImageMIMEType):
              (WebCore::ChromiumBridge::isSupportedJavaScriptMIMEType):
              (WebCore::ChromiumBridge::isSupportedNonImageMIMEType):
              (WebCore::ChromiumBridge::mimeTypeForExtension):
              (WebCore::ChromiumBridge::mimeTypeFromFile):
              (WebCore::ChromiumBridge::preferredExtensionForMIMEType):
              (WebCore::ChromiumBridge::plugins):
              (WebCore::ChromiumBridge::pluginScriptableObject):
              (WebCore::ChromiumBridge::loadPlatformImageResource):
              (WebCore::ChromiumBridge::loadPlatformAudioResource):
              (WebCore::ChromiumBridge::decodeAudioFileData):
              (WebCore::ChromiumBridge::sandboxEnabled):
              (WebCore::ChromiumBridge::setSharedTimerFiredFunction):
              (WebCore::ChromiumBridge::setSharedTimerFireTime):
              (WebCore::ChromiumBridge::stopSharedTimer):
              (WebCore::ChromiumBridge::decrementStatsCounter):
              (WebCore::ChromiumBridge::incrementStatsCounter):
              (WebCore::ChromiumBridge::histogramCustomCounts):
              (WebCore::ChromiumBridge::histogramEnumeration):
              (WebCore::ChromiumBridge::suddenTerminationChanged):
              (WebCore::ChromiumBridge::currentTime):
              (WebCore::ChromiumBridge::paintButton):
              (WebCore::ChromiumBridge::paintMenuList):
              (WebCore::ChromiumBridge::paintScrollbarArrow):
              (WebCore::ChromiumBridge::paintScrollbarThumb):
              (WebCore::ChromiumBridge::paintScrollbarTrack):
              (WebCore::ChromiumBridge::paintSpinButton):
              (WebCore::ChromiumBridge::paintTextField):
              (WebCore::ChromiumBridge::paintTrackbar):
              (WebCore::ChromiumBridge::paintProgressBar):
              (WebCore::WebThemePart):
              (WebCore::WebThemeState):
              (WebCore::GetWebThemeExtraParams):
              (WebCore::ChromiumBridge::getThemePartSize):
              (WebCore::ChromiumBridge::paintThemePart):
              (WebCore::ChromiumBridge::traceEventBegin):
              (WebCore::ChromiumBridge::traceEventEnd):
              (WebCore::ChromiumBridge::visitedLinkHash):
              (WebCore::ChromiumBridge::isLinkVisited):
              (WebCore::ChromiumBridge::notifyJSOutOfMemory):
              (WebCore::ChromiumBridge::memoryUsageMB):
              (WebCore::ChromiumBridge::actualMemoryUsageMB):
              (WebCore::ChromiumBridge::screenDepth):
              (WebCore::ChromiumBridge::screenDepthPerComponent):
              (WebCore::ChromiumBridge::screenIsMonochrome):
              (WebCore::ChromiumBridge::screenRect):
              (WebCore::ChromiumBridge::screenAvailableRect):
              (WebCore::ChromiumBridge::popupsAllowed):
              (WebCore::WorkerContextProxy::create):
              * src/ResourceHandle.cpp:
              (WebCore::ResourceHandle::cacheMetadata):
              * src/WebFrameImpl.cpp:
              (WebKit::WebFrameImpl::WebFrameImpl):
              (WebKit::WebFrameImpl::~WebFrameImpl):
              * src/WebViewImpl.cpp:
              (WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76207 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d95c3038
    • commit-queue@webkit.org's avatar
      2011-01-19 Adam Klein <adamk@chromium.org> · bd7bcda0
      commit-queue@webkit.org authored
              Reviewed by Darin Fisher.
      
              [chromium] Rename ChromiumBridge to PlatformBridge
              https://bugs.webkit.org/show_bug.cgi?id=52471
      
              No tests added as this is a rename; no change in behavior.
      
              * WebCore.gypi:
              * bindings/v8/V8DOMWindowShell.cpp:
              (WebCore::reportFatalErrorInV8):
              * page/PageGroup.cpp:
              (WebCore::PageGroup::isLinkVisited):
              * platform/android/PlatformBridge.h:
              * platform/audio/chromium/AudioBusChromium.cpp:
              (WebCore::createBusFromInMemoryAudioFile):
              * platform/chromium/ChromiumBridge.h: Removed.
              * platform/chromium/ChromiumDataObjectLegacy.cpp:
              (WebCore::ChromiumDataObjectLegacy::getData):
              * platform/chromium/DragDataChromium.cpp:
              (WebCore::DragData::asURL):
              * platform/chromium/FileSystemChromium.cpp:
              (WebCore::deleteFile):
              (WebCore::deleteEmptyDirectory):
              (WebCore::getFileSize):
              (WebCore::getFileModificationTime):
              (WebCore::revealFolderInOS):
              (WebCore::directoryName):
              (WebCore::pathByAppendingComponent):
              (WebCore::makeAllDirectories):
              (WebCore::fileExists):
              (WebCore::openFile):
              (WebCore::closeFile):
              (WebCore::seekFile):
              (WebCore::truncateFile):
              (WebCore::readFromFile):
              (WebCore::writeToFile):
              * platform/chromium/LanguageChromium.cpp:
              (WebCore::platformDefaultLanguage):
              * platform/chromium/LinkHashChromium.cpp:
              (WebCore::visitedLinkHash):
              * platform/chromium/MIMETypeRegistryChromium.cpp:
              (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
              (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
              (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
              (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
              (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
              * platform/chromium/PasteboardChromium.cpp:
              (WebCore::Pasteboard::writeSelection):
              (WebCore::Pasteboard::writePlainText):
              (WebCore::Pasteboard::writeURL):
              (WebCore::Pasteboard::writeImage):
              (WebCore::Pasteboard::canSmartReplace):
              (WebCore::Pasteboard::plainText):
              (WebCore::Pasteboard::documentFragment):
              * platform/chromium/PlatformBridge.h:
              * platform/chromium/PlatformScreenChromium.cpp:
              (WebCore::screenDepth):
              (WebCore::screenDepthPerComponent):
              (WebCore::screenIsMonochrome):
              (WebCore::screenRect):
              (WebCore::screenAvailableRect):
              * platform/chromium/ReadableDataObject.cpp:
              (WebCore::ReadableDataObject::getData):
              (WebCore::ReadableDataObject::urlTitle):
              (WebCore::ReadableDataObject::htmlBaseUrl):
              (WebCore::ReadableDataObject::filenames):
              (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
              * platform/chromium/SSLKeyGeneratorChromium.cpp:
              (WebCore::signedPublicKeyAndChallengeString):
              * platform/chromium/ScrollbarThemeChromium.cpp:
              * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
              (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
              (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
              (WebCore::ScrollbarThemeChromiumLinux::paintButton):
              (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
              (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
              (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
              * platform/chromium/ScrollbarThemeChromiumMac.mm:
              (WebCore::scrollbarStateToThemeState):
              (WebCore::ScrollbarThemeChromiumMac::paint):
              * platform/chromium/ScrollbarThemeChromiumWin.cpp:
              (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
              (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
              (WebCore::ScrollbarThemeChromiumWin::paintButton):
              (WebCore::ScrollbarThemeChromiumWin::paintThumb):
              (WebCore::ScrollbarThemeChromiumWin::buttonSize):
              * platform/chromium/SharedTimerChromium.cpp:
              (WebCore::setSharedTimerFiredFunction):
              (WebCore::setSharedTimerFireTime):
              (WebCore::stopSharedTimer):
              * platform/chromium/SuddenTerminationChromium.cpp:
              (WebCore::disableSuddenTermination):
              (WebCore::enableSuddenTermination):
              * platform/chromium/SystemTimeChromium.cpp:
              (WebCore::currentTime):
              * platform/chromium/WritableDataObject.cpp:
              (WebCore::WritableDataObject::setData):
              * platform/graphics/chromium/CrossProcessFontLoading.mm:
              * platform/graphics/chromium/FontCacheChromiumWin.cpp:
              (WebCore::fontContainsCharacter):
              (WebCore::FillLogFont):
              * platform/graphics/chromium/FontCacheLinux.cpp:
              (WebCore::FontCache::getFontDataForCharacters):
              * platform/graphics/chromium/FontChromiumWin.cpp:
              (WebCore::Font::drawGlyphs):
              * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
              (WebCore::FontPlatformData::scriptFontProperties):
              * platform/graphics/chromium/FontPlatformDataLinux.cpp:
              (WebCore::FontPlatformData::querySystemForRenderStyle):
              * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
              (WebCore::fillBMPGlyphs):
              * platform/graphics/chromium/ImageChromium.cpp:
              (WebCore::Image::loadPlatformResource):
              * platform/graphics/chromium/ImageChromiumMac.mm:
              (WebCore::Image::loadPlatformResource):
              * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
              (WebCore::SimpleFontData::platformInit):
              (WebCore::SimpleFontData::determinePitch):
              (WebCore::SimpleFontData::platformWidthForGlyph):
              * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
              (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
              * platform/graphics/skia/FontCustomPlatformData.cpp:
              (WebCore::FontCustomPlatformData::fontPlatformData):
              * platform/network/chromium/CookieJarChromium.cpp:
              (WebCore::setCookies):
              (WebCore::cookies):
              (WebCore::cookieRequestHeaderFieldValue):
              (WebCore::cookiesEnabled):
              (WebCore::getRawCookies):
              (WebCore::deleteCookie):
              * platform/network/chromium/DNSChromium.cpp:
              (WebCore::prefetchDNS):
              * platform/qt/PlatformBridge.h:
              * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
              (WebCore::SQLiteFileSystem::deleteDatabaseFile):
              (WebCore::SQLiteFileSystem::getDatabaseFileSize):
              * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
              (chromiumOpen):
              (chromiumDelete):
              (chromiumAccess):
              * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
              * plugins/chromium/PluginDataChromium.cpp:
              (WebCore::PluginCache::plugins):
              * rendering/RenderThemeChromiumMac.mm:
              (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
              * rendering/RenderThemeChromiumSkia.cpp:
              (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
              * rendering/RenderThemeChromiumWin.cpp:
              (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
              (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
              (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
              (WebCore::RenderThemeChromiumWin::systemColor):
              (WebCore::RenderThemeChromiumWin::paintButton):
              (WebCore::RenderThemeChromiumWin::paintSliderTrack):
              (WebCore::menuListButtonWidth):
              (WebCore::RenderThemeChromiumWin::paintMenuList):
              (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
              (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
              (WebCore::RenderThemeChromiumWin::paintProgressBar):
              * storage/chromium/IDBFactoryBackendInterface.cpp:
              (WebCore::IDBFactoryBackendInterface::create):
              (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
              * storage/chromium/IDBKeyPathBackendImpl.cpp:
              (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
      2011-01-19  Adam Klein  <adamk@chromium.org>
      
              Reviewed by Darin Fisher.
      
              [chromium] Rename ChromiumBridge to PlatformBridge
              https://bugs.webkit.org/show_bug.cgi?id=52471
      
              * WebKit.gyp:
              * src/AssertMatchingEnums.cpp:
              * src/PlatformBridge.cpp:
              (WebCore::toChromeClientImpl):
              (WebCore::toWebWidgetClient):
              (WebCore::getCookieJar):
              (WebCore::PlatformBridge::cacheMetadata):
              (WebCore::PlatformBridge::clipboardIsFormatAvailable):
              (WebCore::PlatformBridge::clipboardReadPlainText):
              (WebCore::PlatformBridge::clipboardReadHTML):
              (WebCore::PlatformBridge::clipboardWriteSelection):
              (WebCore::PlatformBridge::clipboardWritePlainText):
              (WebCore::PlatformBridge::clipboardWriteURL):
              (WebCore::PlatformBridge::clipboardWriteImage):
              (WebCore::PlatformBridge::clipboardWriteData):
              (WebCore::PlatformBridge::clipboardReadAvailableTypes):
              (WebCore::PlatformBridge::clipboardReadData):
              (WebCore::PlatformBridge::clipboardReadFilenames):
              (WebCore::PlatformBridge::setCookies):
              (WebCore::PlatformBridge::cookies):
              (WebCore::PlatformBridge::cookieRequestHeaderFieldValue):
              (WebCore::PlatformBridge::rawCookies):
              (WebCore::PlatformBridge::deleteCookie):
              (WebCore::PlatformBridge::cookiesEnabled):
              (WebCore::PlatformBridge::prefetchDNS):
              (WebCore::PlatformBridge::fileExists):
              (WebCore::PlatformBridge::deleteFile):
              (WebCore::PlatformBridge::deleteEmptyDirectory):
              (WebCore::PlatformBridge::getFileSize):
              (WebCore::PlatformBridge::revealFolderInOS):
              (WebCore::PlatformBridge::getFileModificationTime):
              (WebCore::PlatformBridge::directoryName):
              (WebCore::PlatformBridge::pathByAppendingComponent):
              (WebCore::PlatformBridge::makeAllDirectories):
              (WebCore::PlatformBridge::getAbsolutePath):
              (WebCore::PlatformBridge::isDirectory):
              (WebCore::PlatformBridge::filePathToURL):
              (WebCore::PlatformBridge::openFile):
              (WebCore::PlatformBridge::closeFile):
              (WebCore::PlatformBridge::seekFile):
              (WebCore::PlatformBridge::truncateFile):
              (WebCore::PlatformBridge::readFromFile):
              (WebCore::PlatformBridge::writeToFile):
              (WebCore::PlatformBridge::ensureFontLoaded):
              (WebCore::PlatformBridge::getFontFamilyForCharacters):
              (WebCore::PlatformBridge::getRenderStyleForStrike):
              (WebCore::PlatformBridge::loadFont):
              (WebCore::PlatformBridge::databaseOpenFile):
              (WebCore::PlatformBridge::databaseDeleteFile):
              (WebCore::PlatformBridge::databaseGetFileAttributes):
              (WebCore::PlatformBridge::databaseGetFileSize):
              (WebCore::PlatformBridge::idbFactory):
              (WebCore::PlatformBridge::idbShutdown):
              (WebCore::PlatformBridge::createIDBKeysFromSerializedValuesAndKeyPath):
              (WebCore::PlatformBridge::signedPublicKeyAndChallengeString):
              (WebCore::PlatformBridge::computedDefaultLanguage):
              (WebCore::PlatformBridge::layoutTestMode):
              (WebCore::PlatformBridge::isSupportedImageMIMEType):
              (WebCore::PlatformBridge::isSupportedJavaScriptMIMEType):
              (WebCore::PlatformBridge::isSupportedNonImageMIMEType):
              (WebCore::PlatformBridge::mimeTypeForExtension):
              (WebCore::PlatformBridge::mimeTypeFromFile):
              (WebCore::PlatformBridge::preferredExtensionForMIMEType):
              (WebCore::PlatformBridge::plugins):
              (WebCore::PlatformBridge::pluginScriptableObject):
              (WebCore::PlatformBridge::loadPlatformImageResource):
              (WebCore::PlatformBridge::loadPlatformAudioResource):
              (WebCore::PlatformBridge::decodeAudioFileData):
              (WebCore::PlatformBridge::sandboxEnabled):
              (WebCore::PlatformBridge::setSharedTimerFiredFunction):
              (WebCore::PlatformBridge::setSharedTimerFireTime):
              (WebCore::PlatformBridge::stopSharedTimer):
              (WebCore::PlatformBridge::decrementStatsCounter):
              (WebCore::PlatformBridge::incrementStatsCounter):
              (WebCore::PlatformBridge::histogramCustomCounts):
              (WebCore::PlatformBridge::histogramEnumeration):
              (WebCore::PlatformBridge::suddenTerminationChanged):
              (WebCore::PlatformBridge::currentTime):
              (WebCore::PlatformBridge::paintButton):
              (WebCore::PlatformBridge::paintMenuList):
              (WebCore::PlatformBridge::paintScrollbarArrow):
              (WebCore::PlatformBridge::paintScrollbarThumb):
              (WebCore::PlatformBridge::paintScrollbarTrack):
              (WebCore::PlatformBridge::paintSpinButton):
              (WebCore::PlatformBridge::paintTextField):
              (WebCore::PlatformBridge::paintTrackbar):
              (WebCore::PlatformBridge::paintProgressBar):
              (WebCore::WebThemePart):
              (WebCore::WebThemeState):
              (WebCore::GetWebThemeExtraParams):
              (WebCore::PlatformBridge::getThemePartSize):
              (WebCore::PlatformBridge::paintThemePart):
              (WebCore::PlatformBridge::traceEventBegin):
              (WebCore::PlatformBridge::traceEventEnd):
              (WebCore::PlatformBridge::visitedLinkHash):
              (WebCore::PlatformBridge::isLinkVisited):
              (WebCore::PlatformBridge::notifyJSOutOfMemory):
              (WebCore::PlatformBridge::memoryUsageMB):
              (WebCore::PlatformBridge::actualMemoryUsageMB):
              (WebCore::PlatformBridge::screenDepth):
              (WebCore::PlatformBridge::screenDepthPerComponent):
              (WebCore::PlatformBridge::screenIsMonochrome):
              (WebCore::PlatformBridge::screenRect):
              (WebCore::PlatformBridge::screenAvailableRect):
              (WebCore::PlatformBridge::popupsAllowed):
              (WebCore::WorkerContextProxy::create):
              * src/ResourceHandle.cpp:
              (WebCore::ResourceHandle::cacheMetadata):
              * src/WebFrameImpl.cpp:
              (WebKit::WebFrameImpl::WebFrameImpl):
              (WebKit::WebFrameImpl::~WebFrameImpl):
              * src/WebViewImpl.cpp:
              (WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76203 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bd7bcda0
  4. 08 Jan, 2011 1 commit
  5. 23 Sep, 2010 1 commit
    • mihaip@chromium.org's avatar
      2010-09-22 Mihai Parparita <mihaip@chromium.org> · c419780b
      mihaip@chromium.org authored
              Reviewed by Darin Fisher.
      
              [Chromium] User style layout tests don't pass on Chromium
              https://bugs.webkit.org/show_bug.cgi?id=46069
      
              User style tests should now pass with the Chromium DRT since we now
              apply the styles immediately, just like the other ports (once we also
              remove some bad baselines for user-style-top-frame-only added by
              r62958).
      
              Tests still don't pass with test_shell until it starts to use
              InjectInExistingDocuments too.
      
              * platform/chromium-mac/userscripts/user-style-top-frame-only-expected.txt: Removed.
              * platform/chromium-win/userscripts/user-style-top-frame-only-expected.txt: Removed.
              * platform/chromium/drt_expectations.txt:
      2010-09-22  Mihai Parparita  <mihaip@chromium.org>
      
              Reviewed by Darin Fisher.
      
              [Chromium] User style layout tests don't pass on Chromium
              https://bugs.webkit.org/show_bug.cgi?id=46069
      
              Instead of making resetUserStyleCacheInAllFrames be a no-op for
              Chromium, have it be controlled by a UserStyleInjectionTime enum.
      
              Also move the UserStyleSheet::Level enum to be inside
              UserStyleSheetTypes for consistency.
      
              * WebCore.exp.in:
              * dom/Document.cpp:
              (WebCore::Document::pageGroupUserSheets):
              * page/PageGroup.cpp:
              (WebCore::PageGroup::addUserStyleSheetToWorld):
              * page/PageGroup.h:
              * page/UserStyleSheet.h:
              (WebCore::UserStyleSheet::UserStyleSheet):
              (WebCore::UserStyleSheet::level):
              * page/UserStyleSheetTypes.h:
      2010-09-22  Mihai Parparita  <mihaip@chromium.org>
      
              Reviewed by Darin Fisher.
      
              [Chromium] User style layout tests don't pass on Chromium
              https://bugs.webkit.org/show_bug.cgi?id=46069
      
              Expose UserStyleInjectionTime in WebView.
      
              * public/WebView.h:
              * src/WebViewImpl.cpp:
              (WebKit::WebView::addUserStyleSheet):
      2010-09-22  Mihai Parparita  <mihaip@chromium.org>
      
              Reviewed by Darin Fisher.
      
              [Chromium] User style layout tests don't pass on Chromium
              https://bugs.webkit.org/show_bug.cgi?id=46069
      
              Fix a typo in LayoutTestController::addUserStyleSheet that was causing a
              crash the Chromium DRT. Pass InjectInExistingDocuments to mimic DRT
              behavior from other ports.
      
              * DumpRenderTree/chromium/LayoutTestController.cpp:
              (LayoutTestController::addUserStyleSheet):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@68114 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c419780b
  6. 27 Aug, 2010 1 commit
    • hyatt@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=44788, implement HTML5-compliant doctype switching. · ce8ee2a4
      hyatt@apple.com authored
      Reviewed by Simon Fraser.
      
      WebCore: 
      
      Rename the various modes to match the HTML5 specification:
          ParseMode -> CompatibilityMode
          CompatMode -> QuirksMode
          AlmostStrictMode -> LimitedQuirksMode
          StrictMode -> NoQuirksMode
                  
      Remove the htmlHacks() accessor from RenderStyle and make rendering code just go to the document
      instead.  This makes switching modes avoid forcing all RenderStyles to detect as changed.
              
      Clean up user stylesheets to minimize style recalculation when the mode is switched.
              
      Fix bugs with the propagation of correct modes in the HTML5 parser.  Make sure the
      dummy document created for fragment parsing properly inherits the real document's CompatibilityMode.
      Make sure the tree builder properly changes the insertion mode to "BeforeHTML" after handling
      a doctype token.
              
      determineParseMode -> setCompatibilityModeFromDoctype, and it now implements the HTML5 algorithm
      precisely.
              
      * WebCore.exp.in:
      * css/CSSStyleSelector.cpp:
      (WebCore::CSSStyleSelector::styleForDocument):
      (WebCore::CSSStyleSelector::applyProperty):
      (WebCore::CSSStyleSelector::fontSizeForKeyword):
      * dom/ClassNodeList.cpp:
      (WebCore::ClassNodeList::ClassNodeList):
      * dom/DecodedDataDocumentParser.cpp:
      (WebCore::DecodedDataDocumentParser::appendBytes):
      * dom/Document.cpp:
      (WebCore::Document::Document):
      (WebCore::Document::setCompatibilityMode):
      (WebCore::Document::setDocType):
      (WebCore::Document::unscheduleStyleRecalc):
      (WebCore::Document::recalcStyle):
      (WebCore::Document::updateStyleIfNeeded):
      (WebCore::Document::createStyleSelector):
      (WebCore::Document::implicitOpen):
      (WebCore::Document::pageUserSheet):
      (WebCore::Document::clearPageUserSheet):
      (WebCore::Document::updatePageUserSheet):
      (WebCore::Document::pageGroupUserSheets):
      (WebCore::Document::clearPageGroupUserSheets):
      (WebCore::Document::updatePageGroupUserSheets):
      (WebCore::Document::findAnchor):
      * dom/Document.h:
      (WebCore::Document::):
      (WebCore::Document::setCompatibilityModeFromDoctype):
      (WebCore::Document::lockCompatibilityMode):
      (WebCore::Document::compatibilityMode):
      (WebCore::Document::inQuirksMode):
      (WebCore::Document::inLimitedQuirksMode):
      (WebCore::Document::inNoQuirksMode):
      * dom/Element.cpp:
      (WebCore::Element::clientWidth):
      (WebCore::Element::clientHeight):
      (WebCore::Element::webkitMatchesSelector):
      * dom/NamedNodeMap.cpp:
      (WebCore::NamedNodeMap::setClass):
      * dom/Node.cpp:
      (WebCore::Node::querySelector):
      (WebCore::Node::querySelectorAll):
      * dom/OptionElement.cpp:
      (WebCore::OptionElement::collectOptionLabelOrText):
      * dom/SelectorNodeList.cpp:
      (WebCore::createSelectorNodeList):
      * dom/StyleElement.cpp:
      (WebCore::StyleElement::createSheet):
      * dom/StyledElement.cpp:
      (WebCore::StyledElement::createInlineStyleDecl):
      (WebCore::StyledElement::parseMappedAttribute):
      * editing/ReplaceSelectionCommand.cpp:
      (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR):
      * html/HTMLBodyElement.cpp:
      (WebCore::HTMLBodyElement::createLinkDecl):
      * html/HTMLCanvasElement.cpp:
      (WebCore::HTMLCanvasElement::getContext):
      * html/HTMLConstructionSite.cpp:
      (WebCore::HTMLConstructionSite::insertDoctype):
      * html/HTMLDocument.cpp:
      (WebCore::HTMLDocument::HTMLDocument):
      (WebCore::HTMLDocument::compatMode):
      (WebCore::HTMLDocument::setCompatibilityModeFromDoctype):
      * html/HTMLDocument.h:
      * html/HTMLLinkElement.cpp:
      (WebCore::HTMLLinkElement::setCSSStyleSheet):
      * html/HTMLTreeBuilder.cpp:
      (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
      (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
      (WebCore::HTMLTreeBuilder::processDoctypeToken):
      (WebCore::HTMLTreeBuilder::processStartTagForInBody):
      (WebCore::HTMLTreeBuilder::defaultForInitial):
      * html/HTMLViewSourceDocument.cpp:
      (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
      * loader/DocumentWriter.cpp:
      (WebCore::DocumentWriter::replaceDocument):
      (WebCore::DocumentWriter::reportDataReceived):
      * loader/DocumentWriter.h:
      * loader/ImageDocument.cpp:
      (WebCore::ImageDocument::ImageDocument):
      * loader/MediaDocument.cpp:
      (WebCore::MediaDocument::MediaDocument):
      * loader/PluginDocument.cpp:
      (WebCore::PluginDocument::PluginDocument):
      * loader/SinkDocument.cpp:
      (WebCore::SinkDocument::SinkDocument):
      * loader/TextDocument.cpp:
      (WebCore::TextDocument::TextDocument):
      * page/Page.cpp:
      (WebCore::Page::userStyleSheetLocationChanged):
      * page/PageGroup.cpp:
      (WebCore::PageGroup::resetUserStyleCacheInAllFrames):
      * page/Settings.cpp:
      (WebCore::Settings::Settings):
      (WebCore::Settings::setEnforceCSSMIMETypeInNoQuirksMode):
      * page/Settings.h:
      (WebCore::Settings::enforceCSSMIMETypeInNoQuirksMode):
      * rendering/AutoTableLayout.cpp:
      (WebCore::AutoTableLayout::recalcColumn):
      * rendering/FixedTableLayout.cpp:
      (WebCore::FixedTableLayout::calcPrefWidths):
      * rendering/InlineFlowBox.cpp:
      (WebCore::InlineFlowBox::paintBoxDecorations):
      (WebCore::InlineFlowBox::paintMask):
      (WebCore::InlineFlowBox::paintTextDecorations):
      * rendering/InlineTextBox.cpp:
      (WebCore::InlineTextBox::paint):
      * rendering/RenderBlock.cpp:
      (WebCore::RenderBlock::isSelfCollapsingBlock):
      (WebCore::RenderBlock::collapseMargins):
      (WebCore::RenderBlock::handleBottomOfBlock):
      (WebCore::RenderBlock::calcInlinePrefWidths):
      (WebCore::RenderBlock::calcBlockPrefWidths):
      * rendering/RenderBlockLineLayout.cpp:
      (WebCore::createInlineBoxForRenderer):
      (WebCore::RenderBlock::findNextLineBreak):
      * rendering/RenderBox.cpp:
      (WebCore::RenderBox::calcPercentageHeight):
      (WebCore::RenderBox::calcAbsoluteHorizontal):
      (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
      * rendering/RenderBox.h:
      (WebCore::RenderBox::stretchesToViewHeight):
      * rendering/RenderListItem.cpp:
      (WebCore::getParentOfFirstLineBox):
      * rendering/RenderTable.cpp:
      (WebCore::RenderTable::layout):
      * rendering/RenderTableSection.cpp:
      (WebCore::RenderTableSection::calcRowHeight):
      * rendering/RootInlineBox.cpp:
      (WebCore::RootInlineBox::verticallyAlignBoxes):
      * rendering/style/RenderStyle.cpp:
      (WebCore::RenderStyle::diff):
      * rendering/style/RenderStyle.h:
      (WebCore::):
      (WebCore::InheritedFlags::setBitDefaults):
      
      WebKit/mac: 
      
      Rename the various modes to match the HTML5 specification:
          ParseMode -> CompatibilityMode
          CompatMode -> QuirksMode
          AlmostStrictMode -> LimitedQuirksMode
          StrictMode -> NoQuirksMode
                  
      Remove the htmlHacks() accessor from RenderStyle and make rendering code just go to the document
      instead.  This makes switching modes avoid forcing all RenderStyles to detect as changed.
              
      Clean up user stylesheets to minimize style recalculation when the mode is switched.
              
      Fix bugs with the propagation of correct modes in the HTML5 parser.  Make sure the
      dummy document created for fragment parsing properly inherits the real document's CompatibilityMode.
      Make sure the tree builder properly changes the insertion mode to "BeforeHTML" after handling
      a doctype token.
              
      determineParseMode -> setCompatibilityModeFromDoctype, and it now implements the HTML5 algorithm
      precisely.
      
      * WebView/WebView.mm:
      (-[WebView _preferencesChangedNotification:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@66247 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ce8ee2a4
  7. 16 Aug, 2010 3 commits
    • jorlow@chromium.org's avatar
      2010-08-16 Jeremy Orlow <jorlow@chromium.org> · fd9e4ddf
      jorlow@chromium.org authored
              Last build fix?
      
              * page/PageGroup.cpp:
              (WebCore::PageGroup::PageGroup):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@65409 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fd9e4ddf
    • jorlow@chromium.org's avatar
      2010-08-16 Jeremy Orlow <jorlow@chromium.org> · 21ea8167
      jorlow@chromium.org authored
              Build fix.
      
              * page/PageGroup.cpp:
              (WebCore::PageGroup::localStorage):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@65406 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      21ea8167
    • jorlow@chromium.org's avatar
      2010-08-13 Jeremy Orlow <jorlow@chromium.org> · fb151e40
      jorlow@chromium.org authored
              Some settings are linked to the PageGroup not the Page.  Create a new class for those.
              https://bugs.webkit.org/show_bug.cgi?id=43794
      
              Since persistient storage is shared between pages, there's no way to modify
              some settings related to it on a per page basis.  As such, it's not technically
              correct for these settings to be on the Page's settings.  Create a new class
              called GroupSettings, move  group-wide local storage setting there (the other we
              can't), and add a new setting for IndexedDB's path (which is prompting this change).
      
              No behavior has changed, so no tests.
      
              * Android.mk:
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * page/GroupSettings.cpp: Added.
              (WebCore::GroupSettings::GroupSettings):
              (WebCore::GroupSettings::setLocalStorageQuotaBytes):
              (WebCore::GroupSettings::setLocalStorageDatabasePath):
              (WebCore::GroupSettings::setIndexedDBDatabasePath):
              * page/GroupSettings.h: Added.
              (WebCore::GroupSettings::create):
              (WebCore::GroupSettings::localStorageQuotaBytes):
              (WebCore::GroupSettings::localStorageDatabasePath):
              (WebCore::GroupSettings::indexedDBDatabasePath):
              * page/PageGroup.cpp:
              (WebCore::PageGroup::PageGroup):
              (WebCore::PageGroup::localStorage):
              * page/PageGroup.h:
              (WebCore::PageGroup::groupSettings):
              * page/Settings.cpp:
              (WebCore::Settings::Settings):
              (WebCore::Settings::setSessionStorageQuota):
              * page/Settings.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@65405 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fb151e40
  8. 12 Aug, 2010 3 commits
    • aa@chromium.org's avatar
      2010-08-12 Aaron Boodman <aa@chromium.org> · c150aba7
      aa@chromium.org authored
              Reviewed by David Hyatt.
      
              Make the cascade level of "user" styles configurable
              https://bugs.webkit.org/show_bug.cgi?id=43457
      
              * WebCore.exp.in:
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::CSSStyleSelector):
              * dom/Document.cpp:
              (WebCore::Document::pageGroupUserSheets):
              * page/PageGroup.cpp:
              (WebCore::PageGroup::addUserStyleSheetToWorld):
              * page/PageGroup.h:
              * page/UserStyleSheet.h:
              (WebCore::UserStyleSheet::):
              (WebCore::UserStyleSheet::UserStyleSheet):
              (WebCore::UserStyleSheet::level):
      2010-08-12  Aaron Boodman  <aa@chromium.org>
      
              Reviewed by David Hyatt.
      
              Make the cascade level of "user" styles configurable
              https://bugs.webkit.org/show_bug.cgi?id=43457
      
              * src/WebViewImpl.cpp:
              (WebKit::WebView::addUserStyleSheet):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@65273 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c150aba7
    • jorlow@chromium.org's avatar
      2010-08-12 Jeremy Orlow <jorlow@chromium.org> · 4b65837e
      jorlow@chromium.org authored
              Revert for now
              https://bugs.webkit.org/show_bug.cgi?id=43794
      
              * Android.mk:
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.exp.in:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * page/GroupSettings.cpp: Removed.
              * page/GroupSettings.h: Removed.
              * page/PageGroup.cpp:
              (WebCore::PageGroup::PageGroup):
              (WebCore::PageGroup::localStorage):
              * page/PageGroup.h:
              * page/Settings.cpp:
              (WebCore::Settings::Settings):
              (WebCore::Settings::setLocalStorageQuota):
              (WebCore::Settings::setLocalStorageDatabasePath):
              * page/Settings.h:
              (WebCore::Settings::localStorageQuota):
              (WebCore::Settings::localStorageDatabasePath):
      2010-08-12  Jeremy Orlow  <jorlow@chromium.org>
      
              Revert for now
              https://bugs.webkit.org/show_bug.cgi?id=43794
      
              * WebView/WebView.mm:
              (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
              (-[WebView _preferencesChangedNotification:]):
      2010-08-12  Jeremy Orlow  <jorlow@chromium.org>
      
              Revert for now
              https://bugs.webkit.org/show_bug.cgi?id=43794
      
              * Api/qwebsettings.cpp:
              (QWebSettingsPrivate::apply):
      2010-08-12  Jeremy Orlow  <jorlow@chromium.org>
      
              Revert for now
              https://bugs.webkit.org/show_bug.cgi?id=43794
      
              * WebView.cpp:
              (WebView::initWithFrame):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@65234 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4b65837e
    • jorlow@chromium.org's avatar
      2010-08-10 Jeremy Orlow <jorlow@chromium.org> · 09d1bc4d
      jorlow@chromium.org authored
              Reviewed by Adam Barth.
      
              Some settings are linked to the PageGroup not the Page.  Create a new class for those.
              https://bugs.webkit.org/show_bug.cgi?id=43794
      
              Since persistient storage is shared between pages, there's no way to modify
              some settings related to it on a per page basis.  As such, it's not technically
              correct for these settings to be on the Page's settings.  Create a new class
              called GroupSettings, move the 2 group-wide local storage settings there, and
              add a new setting for IndexedDB's path (which is prompting this change).
      
              No behavior has changed, so no tests.
      
              * Android.mk:
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.exp.in:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * page/PageGroup.cpp:
              (WebCore::PageGroup::PageGroup):
              (WebCore::PageGroup::localStorage):
              * page/PageGroup.h:
              (WebCore::PageGroup::groupSettings):
              * page/Settings.cpp:
              (WebCore::Settings::Settings):
              (WebCore::Settings::setSessionStorageQuota):
              * page/Settings.h:
      2010-08-10  Jeremy Orlow  <jorlow@chromium.org>
      
              Reviewed by Adam Barth.
      
              Some settings are linked to the PageGroup not the Page.  Create a new class for those.
              https://bugs.webkit.org/show_bug.cgi?id=43794
      
              Change WebView to use the new GroupSettings class rather than Settings for the
              settings that moved.  This is sub-optimal since the settings aren't really
              per-view, but we can't really change the API at this point.
      
              * WebView/WebView.mm:
              (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
              (-[WebView _preferencesChangedNotification:]):
      2010-08-11  Jeremy Orlow  <jorlow@chromium.org>
      
              Reviewed by Adam Barth.
      
              Some settings are linked to the PageGroup not the Page.  Create a new class for those.
              https://bugs.webkit.org/show_bug.cgi?id=43794
      
              Change WebSettings to use the new GroupSettings class rather than Settings for the
              settings that moved.  This is sub-optimal since the settings aren't really
              per-view, but I don't see how we can change the API at this point.
      
              * Api/qwebsettings.cpp:
              (QWebSettingsPrivate::apply):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@65228 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      09d1bc4d
  9. 11 Aug, 2010 2 commits
    • aa@chromium.org's avatar
      2010-08-11 Kenneth Russell <kbr@google.com> · 815a156a
      aa@chromium.org authored
              Reviewed by Dimitri Glazkov.
      
              Remove obsolete texImage2D and texSubImage2D entry points
              https://bugs.webkit.org/show_bug.cgi?id=40320
      
              No new tests; covered by existing WebGL tests.
      
              * html/canvas/WebGLRenderingContext.cpp:
              * html/canvas/WebGLRenderingContext.h:
              * html/canvas/WebGLRenderingContext.idl:
      2010-08-11  James Hawkins  <jhawkins@chromium.org>
      
              Reviewed by Dmitry Titov.
      
              [Chromium] Notify the WebFrameClient when the frame is detached from
              the view. This is used to clear the cached frame in the FormManager.
              Eventually this will be removed once handling forms is moved into
              WebCore.
              https://bugs.webkit.org/show_bug.cgi?id=43648
      
              * public/WebFrameClient.h:
              (WebKit::WebFrameClient::frameDetached):
              * src/FrameLoaderClientImpl.cpp:
              (WebKit::FrameLoaderClientImpl::detachedFromParent3):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@65193 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      815a156a
    • aa@chromium.org's avatar
      2010-08-10 Aaron Boodman <aa@chromium.org> · 482b9633
      aa@chromium.org authored
              Reviewed by David Hyatt.
      
              Make the cascade level of "user" styles configurable
              https://bugs.webkit.org/show_bug.cgi?id=43457
      
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::CSSStyleSelector): Handle the case where user styles might have author level. Minor refactor.
              * dom/Document.cpp:
              (WebCore::Document::pageGroupUserSheets): Set isUserStyle on created stylesheet objects appropriately.
              * page/PageGroup.cpp:
              (WebCore::PageGroup::addUserStyleSheetToWorld): Add new optional "level" argument.
              * page/PageGroup.h: Ditto.
              * page/UserStyleSheet.h: Add level property.
              (WebCore::UserStyleSheet::):
              (WebCore::UserStyleSheet::UserStyleSheet):
              (WebCore::UserStyleSheet::setLevel):
              (WebCore::UserStyleSheet::level):
      2010-08-10  Aaron Boodman  <aa@chromium.org>
      
              Reviewed by David Hyatt.
      
              Make the cascade level of "user" styles configurable
              https://bugs.webkit.org/show_bug.cgi?id=43457
      
              * src/WebViewImpl.cpp:
              (WebKit::WebView::addUserStyleSheet): Send "author" for the css level of user styles.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@65183 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      482b9633
  10. 03 Aug, 2010 1 commit
    • ap@apple.com's avatar
      Unreviewed (emergency test fix). · 85bfa4b2
      ap@apple.com authored
              REGRESSION (r64518): Most regression tests fail on ASSERT(shouldTrackVisitedLinks)
              on Snow Leopard.
      
              Platforms that use strategies now use a different code path than others, and that code path
              lacks necessary checks. We don't have a Snow Leopard debug buildbot.
      
              * page/PageGroup.cpp: (WebCore::PageGroup::addVisitedLinkHash): The private version of
              addVisitedLink() must not be called when we're not tracking visited links.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64535 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      85bfa4b2
  11. 02 Aug, 2010 1 commit
    • beidson@apple.com's avatar
      2010-08-02 Brady Eidson <beidson@apple.com> · 4a633ad7
      beidson@apple.com authored
              Reviewed by Anders Carlsson.
      
              Basic WK2 visited link coloring
              https://bugs.webkit.org/show_bug.cgi?id=43377
      
              No new tests. (No change in behavior)
      
              * WebCore.exp.in:
              
              * page/PageGroup.cpp:
              (WebCore::PageGroup::addVisitedLinkHash):
              * page/PageGroup.h:
      2010-08-02  Brady Eidson  <beidson@apple.com>
      
              Reviewed by Anders Carlsson.
      
              Basic WK2 visited link coloring
              https://bugs.webkit.org/show_bug.cgi?id=43377
      
              Add simple API that allows the WK2 app to add 1 visited link at a time.
              For now, this just pipes each individual LinkHash down to WebCore.
              
              * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
              (WebProcessMessage::):
      
              * UIProcess/API/C/WKContext.cpp:
              (WKContextAddVisitedLink):
              * UIProcess/API/C/WKContext.h:
      
              * UIProcess/WebContext.cpp:
              (WebKit::WebContext::addVisitedLink):
              * UIProcess/WebContext.h:
      
              * WebProcess/WebProcess.cpp:
              (WebKit::WebProcess::addVisitedLinkHash):
              (WebKit::WebProcess::didReceiveMessage):
              * WebProcess/WebProcess.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64492 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4a633ad7
  12. 30 Jul, 2010 1 commit
    • andreip@google.com's avatar
      2010-07-26 Andrei Popescu <andreip@google.com> · f9fe235a
      andreip@google.com authored
              Reviewed by Jeremy Orlow.
      
              [IndexedDB] IndexedDatabase should be called IDBFactory.
              https://bugs.webkit.org/show_bug.cgi?id=42967
      
              Rename IndexedDatabase to IDBFactory to match the specification.
      
              Also implement the following new naming convention:
              IDBFoo IDL interfaces are implemented using IDBFoo C++ classes.
              IDBFoo objects have pointers to IDBFooBackendInterface objects.
              IDBFooBackendInterface is implemented by IDBFooBackendImpl and
              IDBFooBackendProxy (for Chromium).
      
              No new tests needed, just renaming.
      
              * Android.derived.jscbindings.mk:
              * Android.derived.v8bindings.mk:
              * Android.mk:
              * CMakeLists.txt:
              * DerivedSources.cpp:
              * DerivedSources.make:
              * GNUmakefile.am:
              * WebCore.gyp/WebCore.gyp:
              * WebCore.gypi:
              * WebCore.pri:
              * WebCore.pro:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSIDBAnyCustom.cpp:
              (WebCore::toJS):
              * bindings/v8/custom/V8IDBAnyCustom.cpp:
              (WebCore::toV8):
              * page/DOMWindow.cpp:
              (WebCore::DOMWindow::clear):
              (WebCore::DOMWindow::indexedDB):
              * page/DOMWindow.h:
              * page/DOMWindow.idl:
              * page/PageGroup.cpp:
              (WebCore::PageGroup::idbFactory):
              * page/PageGroup.h:
              * platform/chromium/ChromiumBridge.h:
              * storage/IDBAny.cpp:
              (WebCore::IDBAny::idbFactory):
              (WebCore::IDBAny::set):
              * storage/IDBAny.h:
              (WebCore::IDBAny::):
              * storage/IDBDatabaseRequest.cpp:
              * storage/IDBFactory.cpp: Added.
              (WebCore::IDBFactory::IDBFactory):
              (WebCore::IDBFactory::~IDBFactory):
              (WebCore::IDBFactory::open):
              * storage/IDBFactory.h: Added.
              (WebCore::IDBFactory::create):
              * storage/IDBFactory.idl: Added.
              * storage/IDBFactoryBackendInterface.cpp: Added.
              (WebCore::IDBFactoryBackendInterface::create):
              * storage/IDBFactoryBackendInterface.h: Added.
              (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
              * storage/IDBFactoryBackendImpl.cpp: Added.
              (WebCore::IDBFactoryBackendImpl::create):
              (WebCore::IDBFactoryBackendImpl::IDBFactoryBackendImpl):
              (WebCore::IDBFactoryBackendImpl::~IDBFactoryBackendImpl):
              (WebCore::IDBFactoryBackendImpl::open):
              * storage/IDBFactoryBackendImpl.h: Added.
              * storage/IDBKeyRange.cpp:
              (WebCore::IDBKeyRange::only):
              (WebCore::IDBKeyRange::leftBound):
              (WebCore::IDBKeyRange::rightBound):
              (WebCore::IDBKeyRange::bound):
              * storage/IDBKeyRange.h:
              * storage/IDBKeyRange.idl:
              * storage/IndexedDatabase.cpp: Removed.
              * storage/IndexedDatabase.h: Removed.
              * storage/IndexedDatabaseImpl.cpp: Removed.
              * storage/IndexedDatabaseImpl.h: Removed.
              * storage/IndexedDatabaseRequest.cpp: Removed.
              * storage/IndexedDatabaseRequest.h: Removed.
              * storage/IndexedDatabaseRequest.idl: Removed.
              * storage/chromium/IDBFactoryBackendInterface.cpp: Added.
              (WebCore::IDBFactoryBackendInterface::create):
              * storage/chromium/IndexedDatabase.cpp: Removed.
      2010-07-26  Andrei Popescu  <andreip@google.com>
      
              Reviewed by Jeremy Orlow.
      
              [IndexedDB] IndexedDatabase should be called IDBFactory.
              https://bugs.webkit.org/show_bug.cgi?id=42967
      
              * WebKit.gyp:
              * public/WebIDBFactory.h: Added.
              (WebKit::WebIDBFactory::~WebIDBFactory):
              (WebKit::WebIDBFactory::databases):
              (WebKit::WebIDBFactory::open):
              * public/WebIndexedDatabase.h: Removed.
              * public/WebKitClient.h:
              (WebKit::WebKitClient::idbFactory):
              * src/ChromiumBridge.cpp:
              (WebCore::ChromiumBridge::idbFactory):
              * src/IDBFactoryBackendProxy.cpp: Added.
              (WebCore::IDBFactoryBackendProxy::create):
              (WebCore::IDBFactoryBackendProxy::IDBFactoryBackendProxy):
              (WebCore::IDBFactoryBackendProxy::~IDBFactoryBackendProxy):
              (WebCore::IDBFactoryBackendProxy::open):
              * src/IDBFactoryBackendProxy.h: Added.
              * src/IndexedDatabaseProxy.cpp: Removed.
              * src/IndexedDatabaseProxy.h: Removed.
              * src/WebIDBFactoryImpl.cpp: Added.
              (WebKit::WebIDBFactory::create):
              (WebKit::WebIDBFactoryImpl::WebIDBFactoryImpl):
              (WebKit::WebIDBFactoryImpl::~WebIDBFactoryImpl):
              (WebKit::WebIDBFactoryImpl::open):
              * src/WebIDBFactoryImpl.h: Added.
              * src/WebIndexedDatabaseImpl.cpp: Removed.
              * src/WebIndexedDatabaseImpl.h: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64344 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f9fe235a
  13. 13 Jul, 2010 1 commit
  14. 09 Jul, 2010 1 commit
    • aa@chromium.org's avatar
      2010-07-08 Aaron Boodman <aa@chromium.org> · 509c1c3d
      aa@chromium.org authored
              Reviewed by Timothy Hatcher.
      
              Add the ability for user scripts and user styles to affect just the top frame.
      
              https://bugs.webkit.org/show_bug.cgi?id=41529
      
              * platform/win/Skipped: Skipped test because WebKit API needs updating.
              * userscripts/mixed-case-stylesheet.html: Added new allFrames param.
              * userscripts/resources/frame1.html: Added.
              * userscripts/resources/frame2.html: Added.
              * userscripts/script-not-run-for-fragments.html: Added new allFrames param.
              * userscripts/script-run-at-end.html: Ditto.
              * userscripts/script-run-at-start.html: Ditto.
              * userscripts/simple-stylesheet.html: Ditto.
              * userscripts/user-script-all-frames-expected.txt: Added.
              * userscripts/user-script-all-frames.html: Added.
              * userscripts/user-script-top-frame-only-expected.txt: Added.
              * userscripts/user-script-top-frame-only.html: Added.
              * userscripts/user-style-all-frames-expected.txt: Added.
              * userscripts/user-style-all-frames.html: Added.
              * userscripts/user-style-top-frame-only-expected.txt: Added.
              * userscripts/user-style-top-frame-only.html: Added.
      2010-07-08  Aaron Boodman  <aa@chromium.org>
      
              Reviewed by Timothy Hatcher.
      
              Add the ability for user scripts and user styles to affect just the top frame.
      
              https://bugs.webkit.org/show_bug.cgi?id=41529
      
              Tests: userscripts/user-script-all-frames.html
                     userscripts/user-script-top-frame-only.html
                     userscripts/user-style-all-frames.html
                     userscripts/user-style-top-frame-only.html
      
              * WebCore.base.exp: Update PageGroup method signatures.
              * dom/Document.cpp:
              (WebCore::Document::pageGroupUserSheets): Check allFrames before injecting.
              * page/Frame.cpp:
              (WebCore::Frame::injectUserScriptsForWorld): Ditto.
              * page/PageGroup.cpp:
              (WebCore::PageGroup::addUserScriptToWorld):
              (WebCore::PageGroup::addUserStyleSheetToWorld):
              * page/PageGroup.h:
              * page/UserScript.h:
              (WebCore::UserScript::UserScript):
              (WebCore::UserScript::injectedFrames):
              * page/UserScriptTypes.h:
              (WebCore::):
              * page/UserStyleSheet.h:
              (WebCore::UserStyleSheet::UserStyleSheet):
              (WebCore::UserStyleSheet::injectedFrames):
      2010-07-08  Aaron Boodman  <aa@chromium.org>
      
              Reviewed by Timothy Hatcher.
      
              Add the ability for user scripts and user styles to affect just the top frame.
      
              https://bugs.webkit.org/show_bug.cgi?id=41529
      
              * public/WebView.h:
              (WebKit::WebView::):
              (WebKit::WebView::addUserScript):
              (WebKit::WebView::addUserStyleSheet):
              * src/AssertMatchingEnums.cpp:
              * src/WebViewImpl.cpp:
              (WebKit::WebView::addUserScript):
              (WebKit::WebView::addUserStyleSheet):
      2010-07-08  Aaron Boodman  <aa@chromium.org>
      
              Reviewed by Timothy Hatcher.
      
              Add the ability for user scripts and user styles to affect just the top frame.
      
              https://bugs.webkit.org/show_bug.cgi?id=41529
      
              * WebView/WebView.mm:
              (+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:]):
              (+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:injectedFrames:]):
              (+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:]):
              (+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:injectedFrames:]):
              * WebView/WebViewPrivate.h:
      2010-07-08  Aaron Boodman  <aa@chromium.org>
      
              Reviewed by Timothy Hatcher.
      
              Add the ability for user scripts and user styles to affect just the top frame.
      
              https://bugs.webkit.org/show_bug.cgi?id=41529
      
              * WebView.cpp:
              (WebView::addUserScriptToGroup):
              (WebView::addUserStyleSheetToGroup):
      2010-07-08  Aaron Boodman  <aa@chromium.org>
      
              Reviewed by Timothy Hatcher.
      
              Add the ability for user scripts and user styles to affect just the top frame.
      
              https://bugs.webkit.org/show_bug.cgi?id=41529
      
              * DumpRenderTree/LayoutTestController.h: Added new allFrames param.
              * DumpRenderTree/LayoutTestController.cpp: Ditto.
              (addUserScriptCallback):
              (addUserStyleSheetCallback):
              * DumpRenderTree/chromium/LayoutTestController.cpp: Ditto.
              (LayoutTestController::addUserScript):
              (LayoutTestController::addUserStyleSheet):
              * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: Ditto.
              (LayoutTestController::addUserScript):
              (LayoutTestController::addUserStyleSheet):
              * DumpRenderTree/mac/LayoutTestControllerMac.mm: Ditto.
              (LayoutTestController::addUserScript):
              (LayoutTestController::addUserStyleSheet):
              * DumpRenderTree/win/LayoutTestControllerWin.cpp: Ditto.
              (LayoutTestController::addUserScript):
              (LayoutTestController::addUserStyleSheet):
              * DumpRenderTree/wx/LayoutTestControllerWx.cpp: Ditto.
              (LayoutTestController::addUserScript):
              (LayoutTestController::addUserStyleSheet):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@62876 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      509c1c3d
  15. 30 Mar, 2010 1 commit
    • jorlow@chromium.org's avatar
      2010-03-29 Jeremy Orlow <jorlow@chromium.org> · 2087744b
      jorlow@chromium.org authored
              Reviewed by Darin Fisher.
      
              More IndexedDB work
              https://bugs.webkit.org/show_bug.cgi?id=36770
      
              Add the "singleton" IndexedDatabase object to PageGroup
              IndexedDatabase now has a create() method since PageGroup can own the instance (at least for now)
              Rip out the IDBRequest stuff (now obsolete).
              DOMWindow now can instantiate indexedDatabase objects on demand.
      
              New layout tests starting with the next patch (which should make indexedDB.open() "work").
      
              * WebCore.gypi:
              * bindings/v8/custom/V8IDBRequestCustom.cpp: Removed.
              * page/DOMWindow.cpp:
              (WebCore::DOMWindow::indexedDB):
              * page/DOMWindow.h:
              * page/PageGroup.cpp:
              (WebCore::PageGroup::indexedDatabase):
              * page/PageGroup.h:
              * storage/IDBDatabase.cpp:
              * storage/IDBDatabaseRequest.h:
              (WebCore::IDBDatabaseRequest::createObjectStore):
              * storage/IDBDatabaseRequest.idl:
              * storage/IDBRequest.cpp: Removed.
              * storage/IDBRequest.h: Removed.
              * storage/IDBRequest.idl: Removed.
              * storage/IndexedDatabase.cpp:
              (WebCore::IndexedDatabase::create):
              * storage/IndexedDatabase.h:
              * storage/IndexedDatabaseImpl.cpp:
              (WebCore::IndexedDatabaseImpl::create):
              (WebCore::IndexedDatabaseImpl::IndexedDatabaseImpl):
              (WebCore::IndexedDatabaseImpl::~IndexedDatabaseImpl):
              * storage/IndexedDatabaseImpl.h:
              * storage/IndexedDatabaseRequest.cpp:
              (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
              * storage/IndexedDatabaseRequest.h:
              (WebCore::IndexedDatabaseRequest::create):
              * storage/IndexedDatabaseRequest.idl:
              * storage/chromium/IndexedDatabase.cpp:
              (WebCore::IndexedDatabase::create):
      2010-03-29  Jeremy Orlow  <jorlow@chromium.org>
      
              Reviewed by Darin Fisher.
      
              More IndexedDB work
              https://bugs.webkit.org/show_bug.cgi?id=36770
      
              Start the implementation of WebIndexedDatabase (for entrance back into WebKit).
      
              * WebKit.gyp:
              * public/WebIndexedDatabase.h:
              * src/WebIndexedDatabaseImpl.cpp: Added.
              (WebKit::WebIndexedDatabase::create):
              (WebKit::WebIndexedDatabaseImpl::~WebIndexedDatabaseImpl):
              (WebKit::WebIndexedDatabaseImpl::open):
              * src/WebIndexedDatabaseImpl.h: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56777 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2087744b
  16. 04 Feb, 2010 2 commits
  17. 18 Dec, 2009 1 commit
    • aroben@apple.com's avatar
      Reduce #includes in a few high-use headers · a7c639a8
      aroben@apple.com authored
      Removed unnecessary #includes in these headers:
        - Frame.h
        - FrameWin.h
        - Node.h
        - Page.h
        - StringImpl.h
      
      The rest of the patch is all adding #includes to source files that now
      require them.
      
      Fixes <http://webkit.org/b/32718>.
      
      Rubber-stamped by Anders Carlsson.
      
      WebCore:
      
      * dom/Node.h:
      * page/Frame.h:
      * page/Page.h:
      * page/win/FrameWin.h:
      * platform/text/StringImpl.h:
      Removed unnecessary #includes.
      
      * accessibility/win/AXObjectCacheWin.cpp:
      * bindings/js/JSDOMWindowBase.cpp:
      * bindings/js/JSDOMWindowCustom.cpp:
      * dom/Document.cpp:
      * dom/InputElement.cpp:
      * dom/Node.cpp:
      * dom/SelectElement.cpp:
      * editing/EditorCommand.cpp:
      * html/HTMLFormControlElement.cpp:
      * html/HTMLFormElement.cpp:
      * html/HTMLMediaElement.cpp:
      * html/HTMLParser.cpp:
      * html/HTMLTextAreaElement.cpp:
      * html/HTMLVideoElement.cpp:
      * inspector/InspectorController.cpp:
      * loader/FrameLoader.cpp:
      * loader/HistoryController.cpp:
      * loader/appcache/ApplicationCacheGroup.cpp:
      * page/Console.cpp:
      * page/EventHandler.cpp:
      * page/Frame.cpp:
      * page/FrameView.cpp:
      * page/Navigator.cpp:
      * page/PageGroup.cpp:
      * page/Settings.cpp:
      * page/mac/EventHandlerMac.mm:
      * platform/KURL.h:
      * platform/ScrollbarThemeComposite.cpp:
      * platform/cf/BinaryPropertyList.cpp:
      * platform/graphics/mac/GraphicsLayerCA.h:
      * platform/graphics/win/WKCACFLayerRenderer.cpp:
      * platform/mac/PopupMenuMac.mm:
      * platform/mac/WidgetMac.mm:
      * platform/network/cf/DNSCFNet.cpp:
      * platform/text/StringImpl.cpp:
      * platform/win/FileSystemWin.cpp:
      * platform/win/PlatformScreenWin.cpp:
      * platform/win/PopupMenuWin.cpp:
      * platform/win/WidgetWin.cpp:
      * plugins/PluginView.cpp:
      * plugins/win/PluginViewWin.cpp:
      * rendering/InlineTextBox.cpp:
      * rendering/RenderBox.cpp:
      * rendering/RenderFileUploadControl.cpp:
      * rendering/RenderInline.cpp:
      * rendering/RenderLayerCompositor.cpp:
      * rendering/RenderObject.cpp:
      * rendering/RootInlineBox.cpp:
      * storage/DatabaseTracker.cpp:
      * storage/DatabaseTracker.h:
      * storage/SQLTransactionClient.cpp:
      * svg/graphics/SVGImage.cpp:
      Added now-needed #includes.
      
      WebKit/mac:
      
      Add #includes needed after WebCore clean-up
      
      * WebView/WebFrame.mm:
      * WebView/WebFrameView.mm:
      * WebView/WebView.mm:
      
      WebKit/win:
      
      Add #includes needed after WebCore clean-up
      
      * WebCoreSupport/WebContextMenuClient.cpp:
      * WebDataSource.cpp:
      * WebHTMLRepresentation.cpp:
      * WebView.cpp:
      * WebView.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52314 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a7c639a8
  18. 12 Nov, 2009 1 commit
    • aroben@apple.com's avatar
      Replace worldIDs with world objects · f6cbb76a
      aroben@apple.com authored
      Part of <http://webkit.org/b/31414> Implement new SPI for dealing with
      user scripts/stylesheets and isolated worlds
      
      Reviewed by Sam Weinig.
      
      WebCore:
      
      Covered by existing tests.
      
      * WebCore.base.exp: Update exported symbols to match what now exists
      and is needed by WebKit.
      
      * bindings/js/ScheduledAction.cpp:
      (WebCore::ScheduledAction::execute): Updated for function rename.
      
      * bindings/js/ScriptController.cpp: Removed code that dealt with
      worldIDs.
      (WebCore::ScriptController::createWorld): Added. Returns a new world
      suitable for use on the main thread.
      (WebCore::ScriptController::executeScriptInWorld): Renamed from
      executeScriptInIsolatedWorld, since this works just fine with a
      "normal" world.
      
      * bindings/js/ScriptController.h: Added createWorld, removed functions
      that took worldIDs, renamed executeScriptInIsolatedWorld to
      executeScriptInWorld.
      
      * page/Frame.cpp:
      (WebCore::Frame::injectUserScripts):
      (WebCore::Frame::injectUserScriptsForWorld):
      Updated for changes to UserScriptMap and ScriptController.
      
      * page/Frame.h: Changed injectUserScriptsForWorld to take a
      DOMWrapperWorld* instead of a worldID.
      
      * page/PageGroup.cpp:
      (WebCore::PageGroup::addUserScriptToWorld):
      (WebCore::PageGroup::addUserStyleSheetToWorld):
      (WebCore::PageGroup::removeUserScriptFromWorld):
      (WebCore::PageGroup::removeUserStyleSheetFromWorld):
      (WebCore::PageGroup::removeUserScriptsFromWorld):
      (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
      * page/PageGroup.h:
      Changed these functions to take a DOMWrapperWorld* instead of a
      worldID. Also updated for changes to UserScript and UserStyleSheet.
      
      * page/UserScript.h:
      * page/UserStyleSheet.h: Changed not to hold a worldID, since it was
      never used.
      
      * page/UserScriptTypes.h:
      * page/UserStyleSheetTypes.h: Changed UserScriptMap and
      UserStyleSheetMap to use a RefPtr<DOMWrapperWorld> instead of a
      worldID as their key type.
      
      WebKit:
      
      * WebKit.xcodeproj/project.pbxproj: Added WebScriptWorld to the project.
      
      WebKit/mac:
      
      WebScriptWorld is the new object that represents a world.  The only
      place worldID is still used is in -[WebFrame
      _stringByEvaluatingJavaScriptInIsolatedWorld:WithGlobalObject:FromString:],
      but that will change soon.
      
      * WebKit.exp: Export WebScriptWorld.
      
      * WebView/WebFrame.mm:
      (-[WebFrame _stringByEvaluatingJavaScriptInIsolatedWorld:WithGlobalObject:FromString:]):
      Moved the bizarre world caching/creation logic that DRT depends on
      here from the findWorld function in ScriptController.cpp. Updated to
      use ScriptController::executeScriptInWorld instead of
      ScriptController::executeScriptInIsolatedWorld.
      (-[WebFrame _contextForWorld:]): Renamed from contextForWorldID:. Now
      takes a WebScriptWorld.
      
      * WebView/WebFramePrivate.h: Replaced contextForWorldID: with
      _contextForWorld:.
      
      * WebView/WebScriptWorld.h: Added.
      * WebView/WebScriptWorld.mm: Added.
      (-[WebScriptWorld initWithWorld:]): Store the passed-in world in our
      _private member.
      (-[WebScriptWorld init]): Create a new DOMWrapperWorld and pass it to
      -initWithWorld:.
      (-[WebScriptWorld dealloc]): Release _private.
      (+[WebScriptWorld standardWorld]): Returns a shared instance that
      represents WebCore's mainThreadNormalWorld().
      (+[WebScriptWorld world]): Returns a new instance.
      (core): Returns the DOMWrapperWorld for this WebScriptWorld.
      
      * WebView/WebScriptWorldInternal.h: Added.
      
      * WebView/WebView.mm:
      (+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:]):
      (+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:]):
      (+[WebView _removeUserScriptFromGroup:world:url:]):
      (+[WebView _removeUserStyleSheetFromGroup:world:url:]):
      (+[WebView _removeUserScriptsFromGroup:world:]):
      (+[WebView _removeUserStyleSheetsFromGroup:world:]):
      * WebView/WebViewPrivate.h:
      Changed these functions to take a WebScriptWorld instead of a worldID.
      
      WebKit/win:
      
      WebScriptWorld is the new object that represents a world.  The only
      place worldID is still used is in
      IWebFramePrivate::stringByEvaluatingJavaScriptInIsolatedWorld, but
      that will change soon.
      
      * ForEachCoClass.h: Added WebScriptWorld.
      
      * Interfaces/IWebFramePrivate.idl: Replaced contextForWorldID with
      contextForWorld.
      
      * Interfaces/IWebScriptWorld.idl: Added.
      
      * Interfaces/IWebViewPrivate.idl: Changed the user script/stylesheet
      functions to take an IWebScriptWorld instead of a worldID.
      
      * Interfaces/WebKit.idl: Added WebScriptWorld.
      
      * WebFrame.cpp:
      (WebFrame::contextForWorld): Renamed from contextForWorldID. Now takes
      an IWebScriptWorld.
      (WebFrame::stringByEvaluatingJavaScriptInIsolatedWorld): Moved the
      bizarre world caching/creation logic that DRT depends on here from the
      findWorld function in ScriptController.cpp. Updated to use
      ScriptController::executeScriptInWorld instead of
      ScriptController::executeScriptInIsolatedWorld.
      
      * WebFrame.h: Replaced contextForWorldID with contextForWorld.
      
      * WebScriptWorld.cpp: Added.
      (WebScriptWorld::WebScriptWorld):
      (WebScriptWorld::~WebScriptWorld):
      (WebScriptWorld::createInstance):
      (WebScriptWorld::AddRef):
      (WebScriptWorld::Release):
      (WebScriptWorld::QueryInterface):
      Standard COM class implementations.
      
      (WebScriptWorld::standardWorld): Returns a shared instance that represents
      WebCore's mainThreadNormalWorld().
      
      * WebScriptWorld.h: Added.
      (WebScriptWorld::world): Simple getter.
      
      * WebKit.vcproj/Interfaces.vcproj: Added IWebScriptWorld.idl.
      
      * WebKit.vcproj/WebKit.vcproj: Added WebScriptWorld.
      
      * WebKitClassFactory.cpp: Added WebScriptWorld.
      
      * WebView.cpp:
      (WebView::addUserScriptToGroup):
      (WebView::addUserStyleSheetToGroup):
      (WebView::removeUserScriptFromGroup):
      (WebView::removeUserStyleSheetFromGroup):
      (WebView::removeUserScriptsFromGroup):
      (WebView::removeUserStyleSheetsFromGroup):
      * WebView.h:
      Changed these functions to take an IWebScriptWorld instead of a worldID.
      
      WebKitTools:
      
      * DumpRenderTree/mac/LayoutTestControllerMac.mm:
      (LayoutTestController::addUserScript):
      (LayoutTestController::addUserStyleSheet):
      * DumpRenderTree/win/LayoutTestControllerWin.cpp:
      (LayoutTestController::addUserScript):
      (LayoutTestController::addUserStyleSheet):
      Changed these functions to create a new WebJSWorld each time they're
      called and to pass that world to WebKit.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50907 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f6cbb76a
  19. 14 Oct, 2009 1 commit
    • hyatt@apple.com's avatar
      WebCore: Change the order of arguments on some of the user stylesheet/script... · 844f6fef
      hyatt@apple.com authored
      WebCore: Change the order of arguments on some of the user stylesheet/script functions.  Split the removal functions
      out into separate ones for scripts and stylesheets.
      
      Reviewed by Adam Roben.
      
      * WebCore.base.exp:
      * page/PageGroup.cpp:
      (WebCore::PageGroup::addUserScriptToWorld):
      (WebCore::PageGroup::addUserStyleSheetToWorld):
      (WebCore::PageGroup::removeUserScriptFromWorld):
      (WebCore::PageGroup::removeUserStyleSheetFromWorld):
      (WebCore::PageGroup::removeUserScriptsFromWorld):
      (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
      * page/PageGroup.h:
      (WebCore::PageGroup::userScripts):
      (WebCore::PageGroup::userStyleSheets):
      
      WebKit/mac: Change the order of arguments on some methods.  Split removal for user stylesheets and script into
      separate functions based off the type of object being removed.
      
      Reviewed by Adam Roben.
      
      * WebView/WebView.mm:
      (+[WebView _addUserScriptToGroup:worldID:source:url:whitelist:blacklist:injectionTime:]):
      (+[WebView _addUserStyleSheetToGroup:worldID:source:url:whitelist:blacklist:]):
      (+[WebView _removeUserScriptFromGroup:worldID:url:]):
      (+[WebView _removeUserStyleSheetFromGroup:worldID:url:]):
      (+[WebView _removeUserScriptsFromGroup:worldID:]):
      (+[WebView _removeUserStyleSheetsFromGroup:worldID:]):
      * WebView/WebViewPrivate.h:
      
      WebKit/win: Split removal functions for user scripts and stylehseets based on type.
      
      Reviewed by Adam Roben..
      
      * Interfaces/IWebViewPrivate.idl:
      * WebView.cpp:
      (WebView::removeUserScriptFromGroup):
      (WebView::removeUserStyleSheetFromGroup):
      * WebView.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49541 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      844f6fef
  20. 02 Oct, 2009 2 commits
    • jorlow@chromium.org's avatar
      2009-10-02 Jeremy Orlow <jorlow@chromium.org> · f9c57a32
      jorlow@chromium.org authored
              Reviewed by Dimitri Glazkov.
      
              Implement per-storage-area quotas for LocalStorage
              https://bugs.webkit.org/show_bug.cgi?id=29991
      
              I put 90% of the code in StorageMap since the decision to allow an update is
              closely tied to quota tracking.  The quota is set via a page's Settings class.
              Like with the local storage path and whether it's enabled, it's assumed that
              all pages in the same group will have the same settings.  The setting defaults
              to 5mb which is what the spec suggests, but it can easily be changed to
              anything else--including StorageMap::noQuota.  Any values in LocalStorage are
              grandfathered in regarudless of quota, so importItem only tracks (and will
              never block) imports.
      
              I believe this change is a good transition to more complex quota management.
              For example, if we wanted to track quotas in the SQLite DB, then we'd just add
              a function to the StorageMap that sets the quota.  This would be fine since all
              use of LocalStorage is blocked on the import completing, so you'd never hit a
              quota error in the mean time.  Also, if embedders wanted to ask the user
              whether to expand the quota whenever it's hit (before deciding whether or not
              to raise an exception), a callback via the chrome client should be fairly easy.
              That said, I think it's best to add these features in steps rather than one
              huge patch.  (Both of these are on my TODO list, btw.)
      
              Included is a layout test that verifies the behavior.  It assumes the default
              quota is 5mb (since that's what Settings defaults to).
      
              Test: storage/domstorage/localstorage/quota.html
      
              * page/PageGroup.cpp:
              (WebCore::PageGroup::localStorage):
              * page/Settings.cpp:
              (WebCore::Settings::Settings):
              (WebCore::Settings::setLocalStorageQuota):
              * page/Settings.h:
              (WebCore::Settings::localStorageQuota):
              * storage/StorageAreaImpl.cpp:
              (WebCore::StorageAreaImpl::create):
              (WebCore::StorageAreaImpl::StorageAreaImpl):
              (WebCore::StorageAreaImpl::setItem):
              (WebCore::StorageAreaImpl::clear):
              * storage/StorageAreaImpl.h:
              * storage/StorageMap.cpp:
              (WebCore::StorageMap::create):
              (WebCore::StorageMap::StorageMap):
              (WebCore::StorageMap::copy):
              (WebCore::StorageMap::setItem):
              (WebCore::StorageMap::removeItem):
              (WebCore::StorageMap::importItem):
              * storage/StorageMap.h:
              (WebCore::StorageMap::quota):
              * storage/StorageNamespace.cpp:
              (WebCore::StorageNamespace::localStorageNamespace):
              * storage/StorageNamespace.h:
              * storage/StorageNamespaceImpl.cpp:
              (WebCore::StorageNamespaceImpl::localStorageNamespace):
              (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
              (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
              (WebCore::StorageNamespaceImpl::copy):
              (WebCore::StorageNamespaceImpl::storageArea):
              * storage/StorageNamespaceImpl.h:
      2009-10-02  Jeremy Orlow  <jorlow@chromium.org>
      
              Reviewed by Dimitri Glazkov.
      
              Implement per-storage-area quotas for LocalStorage
              https://bugs.webkit.org/show_bug.cgi?id=29991
      
              I put 90% of the code in StorageMap since the decision to allow an update is
              closely tied to quota tracking.  The quota is set via a page's Settings class. 
              Like with the local storage path and whether it's enabled, it's assumed that
              all pages in the same group will have the same settings.  The setting defaults
              to 5mb which is what the spec suggests, but it can easily be changed to
              anything else--including StorageMap::noQuota.  Any values in LocalStorage are
              grandfathered in regarudless of quota, so importItem only tracks (and will
              never block) imports.
      
              I believe this change is a good transition to more complex quota management. 
              For example, if we wanted to track quotas in the SQLite DB, then we'd just add
              a function to the StorageMap that sets the quota.  This would be fine since all
              use of LocalStorage is blocked on the import completing, so you'd never hit a
              quota error in the mean time.  Also, if embedders wanted to ask the user
              whether to expand the quota whenever it's hit (before deciding whether or not
              to raise an exception), a callback via the chrome client should be fairly easy.
              That said, I think it's best to add these features in steps rather than one
              huge patch.  (Both of these are on my TODO list, btw.)
      
              Included is a layout test that verifies the behavior.  It assumes the default
              quota is 5mb (since that's what Settings defaults to).
      
              * storage/domstorage/localstorage/quota-expected.txt: Added.
              * storage/domstorage/localstorage/quota.html: Added.
              * storage/domstorage/script-tests/quota.js: Added.
              (runTest):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49040 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f9c57a32
    • hyatt@apple.com's avatar
      Add support for blacklist patterns to user stylesheets and scripts in addition... · 19fd5912
      hyatt@apple.com authored
      Add support for blacklist patterns to user stylesheets and scripts in addition to whitelist patterns.
      
      Reviewed by Adam Roben.
      
      WebCore: 
      
      * WebCore.base.exp:
      * dom/Document.cpp:
      (WebCore::Document::pageGroupUserSheets):
      * page/Frame.cpp:
      (WebCore::Frame::injectUserScriptsForWorld):
      * page/PageGroup.cpp:
      (WebCore::PageGroup::addUserScript):
      (WebCore::PageGroup::addUserStyleSheet):
      (WebCore::PageGroup::removeUserContentWithURLForWorld):
      (WebCore::PageGroup::removeUserContentForWorld):
      * page/PageGroup.h:
      * page/UserContentURLPattern.cpp:
      (WebCore::UserContentURLPattern::matchesPatterns):
      * page/UserContentURLPattern.h:
      * page/UserScript.h:
      (WebCore::UserScript::UserScript):
      (WebCore::UserScript::whitelist):
      (WebCore::UserScript::blacklist):
      * page/UserStyleSheet.h:
      (WebCore::UserStyleSheet::UserStyleSheet):
      (WebCore::UserStyleSheet::whitelist):
      (WebCore::UserStyleSheet::blacklist):
      
      WebKit/mac: 
      
      * WebView/WebView.mm:
      (toStringVector):
      (+[WebView _addUserScriptToGroup:source:url:worldID:whitelist:blacklist:injectionTime:]):
      (+[WebView _addUserStyleSheetToGroup:source:url:worldID:whitelist:blacklist:]):
      * WebView/WebViewPrivate.h:
      
      WebKit/win: 
      
      * Interfaces/IWebViewPrivate.idl:
      * WebView.cpp:
      (toStringVector):
      (WebView::addUserScriptToGroup):
      (WebView::addUserStyleSheetToGroup):
      * WebView.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      19fd5912
  21. 01 Oct, 2009 1 commit
  22. 30 Sep, 2009 1 commit
  23. 09 Sep, 2009 1 commit
    • hyatt@apple.com's avatar
      WebCore: https://bugs.webkit.org/show_bug.cgi?id=29102, add support for user... · 63e0ac2f
      hyatt@apple.com authored
      WebCore: https://bugs.webkit.org/show_bug.cgi?id=29102, add support for user stylesheet injection.  This is similar
      to user script injection but allows for user stylesheets to be added.  The stylesheets are applied immediately
      to all Frames in the PageGroup.
      
      Reviewed by Adam Roben.
      
      Added userscripts/simple-stylesheet.html test case.
      
      * WebCore.base.exp:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      * css/CSSStyleSelector.cpp:
      (WebCore::CSSStyleSelector::CSSStyleSelector):
      * css/CSSStyleSelector.h:
      * dom/Document.cpp:
      (WebCore::Document::Document):
      (WebCore::Document::attach):
      (WebCore::Document::pageGroupUserSheets):
      (WebCore::Document::clearPageGroupUserSheets):
      (WebCore::Document::recalcStyleSelector):
      * dom/Document.h:
      * loader/PlaceholderDocument.cpp:
      (WebCore::PlaceholderDocument::attach):
      * page/PageGroup.cpp:
      (WebCore::PageGroup::addUserStyleSheet):
      (WebCore::PageGroup::removeUserContentForWorld):
      (WebCore::PageGroup::removeAllUserContent):
      * page/PageGroup.h:
      (WebCore::PageGroup::userStyleSheets):
      * page/UserStyleSheet.h: Added.
      (WebCore::UserStyleSheet::UserStyleSheet):
      (WebCore::UserStyleSheet::source):
      (WebCore::UserStyleSheet::url):
      (WebCore::UserStyleSheet::patterns):
      (WebCore::UserStyleSheet::worldID):
      * page/UserStyleSheetTypes.h: Added.
      
      WebKit/mac: https://bugs.webkit.org/show_bug.cgi?id=29102, add support for user stylesheet injection.  This is similar
      to user script injection but allows for user stylesheets to be added.  The stylesheets are applied immediately
      to all Frames in the PageGroup.
      
      Reviewed by Adam Roben.
      
      Added userscripts/simple-stylesheet.html test case.
      
      * WebView/WebView.mm:
      (+[WebView _addUserStyleSheetToGroup:source:url:worldID:patterns:]):
      * WebView/WebViewPrivate.h:
      
      LayoutTests: https://bugs.webkit.org/show_bug.cgi?id=29102, add support for user stylesheet injection.  This is similar
      to user script injection but allows for user stylesheets to be added.  The stylesheets are applied immediately
      to all Frames in the PageGroup.
      
      Reviewed by Adam Roben.
      
      Added userscripts/simple-stylesheet.html test case.
      
      * platform/mac/userscripts/simple-stylesheet-expected.checksum: Added.
      * platform/mac/userscripts/simple-stylesheet-expected.png: Added.
      * platform/mac/userscripts/simple-stylesheet-expected.txt: Added.
      * userscripts/simple-stylesheet.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48222 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      63e0ac2f
  24. 04 Sep, 2009 1 commit
    • hyatt@apple.com's avatar
      WebCore: https://bugs.webkit.org/show_bug.cgi?id=28890, make simple user script injection work. · 71960d78
      hyatt@apple.com authored
              
      Reviewed by Adam Roben.
      
      This patch adds new API for adding and removing user scripts from page groups.  User scripts
      are bundled together in isolated worlds (you can have multiple scripts together in the same
      world).
      
      Added userscripts/ directory for holding new tests (along with a simple test of script injection).
      
      * WebCore.base.exp:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/ScriptController.cpp:
      (WebCore::ScriptController::evaluateInIsolatedWorld):
      * bindings/js/ScriptController.h:
      * bindings/v8/ScriptController.cpp:
      (WebCore::ScriptController::evaluateInIsolatedWorld):
      * bindings/v8/ScriptController.h:
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::finishedParsing):
      (WebCore::FrameLoader::dispatchDocumentElementAvailable):
      * page/Frame.cpp:
      (WebCore::Frame::injectUserScripts):
      (WebCore::Frame::injectUserScriptsForWorld):
      * page/Frame.h:
      * page/PageGroup.cpp:
      (WebCore::PageGroup::~PageGroup):
      (WebCore::PageGroup::addUserScript):
      (WebCore::PageGroup::removeUserContentForWorld):
      (WebCore::PageGroup::removeAllUserContent):
      * page/PageGroup.h:
      (WebCore::PageGroup::userScripts):
      * page/UserScript.h: Added.
      (WebCore::UserScript::UserScript):
      (WebCore::UserScript::source):
      (WebCore::UserScript::url):
      (WebCore::UserScript::patterns):
      (WebCore::UserScript::worldID):
      (WebCore::UserScript::injectionTime):
      * page/UserScriptTypes.h: Added.
      (WebCore::):
      
      WebKit/mac: https://bugs.webkit.org/show_bug.cgi?id=28890, make simple user script injection work.
              
      Reviewed by Adam Roben.
      
      This patch adds new API for adding and removing user scripts from page groups.  User scripts
      are bundled together in isolated worlds (you can have multiple scripts together in the same
      world).
      
      Added userscripts/ directory for holding new tests (along with a simple test of script injection).
      
      * WebView/WebView.mm:
      (+[WebView _addUserScriptToGroup:source:url:worldID:patterns:injectionTime:]):
      (+[WebView _removeUserContentFromGroup:worldID:]):
      (+[WebView _removeAllUserContentFromGroup:]):
      * WebView/WebViewPrivate.h:
      
      LayoutTests: https://bugs.webkit.org/show_bug.cgi?id=28890, make simple user script injection work.
              
      Reviewed by Adam Roben.
      
      This patch adds new API for adding and removing user scripts from page groups.  User scripts
      are bundled together in isolated worlds (you can have multiple scripts together in the same
      world).
      
      Added userscripts/ directory for holding new tests (along with a simple test of script injection).
      
      * platform/mac/userscripts: Added.
      * platform/mac/userscripts/script-run-at-end-expected.txt: Added.
      * userscripts: Added.
      * userscripts/script-run-at-end.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48057 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      71960d78
  25. 26 Jun, 2009 1 commit
    • dglazkov@chromium.org's avatar
      2009-06-26 Jeremy Orlow <jorlow@chromium.org> · 5626dd64
      dglazkov@chromium.org authored
              Reviewed by Darin Fisher.
      
              https://bugs.webkit.org/show_bug.cgi?id=26732
      
              For the final step of https://bugs.webkit.org/show_bug.cgi?id=25376,
              combine LocalStorage and SessionStorage into StorageNamespace. The
              synching code (for LocalStorage) has already been removed, so these
              classes are now very similar.  All they do is essentially contain a
              logical grouping of origins that are attached to specific contexts
              (be it PageGroups for LocalStorage and Page for SessionStorage).
      
              * GNUmakefile.am:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * WebCoreSources.bkl:
              * page/Chrome.cpp:
              (WebCore::Chrome::createWindow):
              * page/DOMWindow.cpp:
              (WebCore::DOMWindow::localStorage):
              * page/DOMWindow.h:
              * page/Page.cpp:
              (WebCore::Page::sessionStorage):
              (WebCore::Page::setSessionStorage):
              * page/Page.h:
              * page/PageGroup.cpp:
              (WebCore::PageGroup::localStorage):
              * page/PageGroup.h:
              * storage/LocalStorage.cpp: Removed.
              * storage/LocalStorage.h: Removed.
              * storage/LocalStorageTask.cpp:
              * storage/LocalStorageThread.cpp:
              * storage/SessionStorage.cpp: Removed.
              * storage/SessionStorage.h: Removed.
              * storage/StorageArea.cpp:
              (WebCore::StorageArea::create):
              (WebCore::StorageArea::StorageArea):
              (WebCore::StorageArea::copy):
              (WebCore::StorageArea::length):
              (WebCore::StorageArea::key):
              (WebCore::StorageArea::getItem):
              (WebCore::StorageArea::setItem):
              (WebCore::StorageArea::removeItem):
              (WebCore::StorageArea::clear):
              (WebCore::StorageArea::contains):
              (WebCore::StorageArea::importItem):
              (WebCore::StorageArea::close):
              (WebCore::StorageArea::dispatchStorageEvent):
              * storage/StorageArea.h:
              (WebCore::):
              * storage/StorageAreaSync.cpp:
              (WebCore::StorageAreaSync::scheduleFinalSync):
              * storage/StorageNamespace.cpp: Copied from WebCore/storage/LocalStorage.cpp.
              (WebCore::localStorageNamespaceMap):
              (WebCore::StorageNamespace::localStorageNamespace):
              (WebCore::StorageNamespace::sessionStorageNamespace):
              (WebCore::StorageNamespace::StorageNamespace):
              (WebCore::StorageNamespace::~StorageNamespace):
              (WebCore::StorageNamespace::copy):
              (WebCore::StorageNamespace::storageArea):
              (WebCore::StorageNamespace::close):
              * storage/StorageNamespace.h: Copied from WebCore/storage/LocalStorage.h.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@45290 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5626dd64
  26. 14 Jun, 2009 1 commit
    • abarth@webkit.org's avatar
      2009-06-13 Ben Murdoch <benm@google.com> · ea665a21
      abarth@webkit.org authored
              Reviewed by David Kilzer.  Landed by Adam Barth.
      
              https://bugs.webkit.org/show_bug.cgi?id=26189
      
              This patch changes the way PageGroups create their localStorage
              objects. Rather than creating a local storage object for the page group
              when a page is added to the group, the local storage object is now
              created lazily when the local storage object is requested by the
              DOMWindow.
      
              * page/PageGroup.cpp:
              (WebCore::PageGroup::closeLocalStorage): Before attempting to close a local storage object for a page group, ensure one has been created.
              (WebCore::PageGroup::addPage): Do not automatically try to create a local storage object when a page is added to the group.
              (WebCore::PageGroup::localStorage): Create a local storage object if one does not exist and return it.
              * page/PageGroup.h: Add private hasLocalStorage method to PageGroup.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@44663 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ea665a21
  27. 06 Dec, 2008 1 commit
    • brettw@chromium.org's avatar
      Reviewed by Darin Adler. · 6af05ad4
      brettw@chromium.org authored
      Make the page group use the proper link hashing functions rather than
      calling the string hash functions directly. Add Chromium-specfic ifdefs
      in the visited link computation functions to allow integration.
      
      * page/PageGroup.cpp:
      (WebCore::PageGroup::isLinkVisited):
      (WebCore::PageGroup::addVisitedLink):
      * platform/LinkHash.cpp:
      (WebCore::visitedLinkHash):
      * platform/LinkHash.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39060 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6af05ad4
  28. 21 Nov, 2008 1 commit
  29. 06 Aug, 2008 1 commit
    • beidson@apple.com's avatar
      2008-08-06 Brady Eidson <beidson@apple.com> · df1fd513
      beidson@apple.com authored
              Reviewed by MitzPettel
      
              <rdar://problem/6078543> - Many LocalStorageThreads may be started
      
              The original decision to key LocalStorage sets to PageGroups was a poor one.
      
              It seems a much better solution is to key them to the actual path of on-disk storage,
              which also solves all of the avenues that could lead to a boundless number of threads.
      
              In this patch, I am not attempting to completely sever the attachment of LocalStorage
              to PageGroups as that would require a more substantial re-working of the lifetime
              between pages, groups, and local storage threads.
      
              * page/PageGroup.cpp:
              (WebCore::PageGroup::addPage):
      
              * storage/LocalStorage.cpp:
              (WebCore::localStorageMap):  Map paths to LocalStorage objects here.
              (WebCore::LocalStorage::localStorage): Return the shared LocalStorage object for this path,
                or create a new one if it doesn't yet exist.
              (WebCore::LocalStorage::LocalStorage):
              (WebCore::LocalStorage::~LocalStorage):  Add to remove the path->LocalStorage mapping
              * storage/LocalStorage.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35614 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      df1fd513
  30. 10 May, 2008 1 commit
  31. 07 May, 2008 1 commit
  32. 06 May, 2008 1 commit
    • beidson@apple.com's avatar
      WebCore: · 18ed1cdf
      beidson@apple.com authored
      2008-05-06  Brady Eidson  <beidson@apple.com>
      
              Reviewed by Darin Adler
      
              Preparation for upcoming work making LocalStorage persistent.
      
              When the application terminates, all pending local storage writes need to be
              sync'ed out to disk.
              This works n combination with platform specific code in WebKit that calls it.
      
              * WebCore.base.exp:
      
              * page/PageGroup.cpp:
              (WebCore::PageGroup::closeLocalStorage): Close all open LocalStorage objects
              * page/PageGroup.h:
      
              * storage/LocalStorage.cpp:
              (WebCore::LocalStorage::close): Placeholder for what will sync and terminate the
                local storage thread in the future.
              * storage/LocalStorage.h:
      
      WebKit/mac:
      
      2008-05-06  Brady Eidson  <beidson@apple.com>
      
              Reviewed by Darin Adler
      
              Preparation for upcoming work making LocalStorage persistent.
      
              When the application terminates, all LocalStorage areas must be sync'ed out to disk first.
      
              * WebView/WebView.mm:
              (+[WebView _applicationWillTerminate]):  Close all LocalStorage areas before quitting.
      
      WebKit/win:
      
      2008-05-06  Brady Eidson  <beidson@apple.com>
      
              Reviewed by Darin Adler
      
              Preparation for upcoming work making LocalStorage persistent.
      
              When the application terminates, all LocalStorage areas must be sync'ed out to disk first.
      
              * WebKitDLL.cpp:
              (shutDownWebKit): Close all LocalStorage areas before quitting.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32906 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      18ed1cdf