diff options
Diffstat (limited to 'Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp')
-rw-r--r-- | Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp b/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp index 2e7c83c1b..cd0634906 100644 --- a/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp +++ b/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp @@ -46,6 +46,8 @@ #include "WebProcess.h" #include <JavaScriptCore/APICast.h> #include <JavaScriptCore/JSLock.h> +#include <WebCore/ApplicationCache.h> +#include <WebCore/ApplicationCacheStorage.h> #include <WebCore/Frame.h> #include <WebCore/FrameView.h> #include <WebCore/GCController.h> @@ -292,6 +294,13 @@ void InjectedBundle::setAuthorAndUserStylesEnabled(WebPageGroupProxy* pageGroup, (*iter)->settings()->setAuthorAndUserStylesEnabled(enabled); } +void InjectedBundle::setSpatialNavigationEnabled(WebPageGroupProxy* pageGroup, bool enabled) +{ + const HashSet<Page*>& pages = PageGroup::pageGroup(pageGroup->identifier())->pages(); + for (HashSet<Page*>::iterator iter = pages.begin(); iter != pages.end(); ++iter) + (*iter)->settings()->setSpatialNavigationEnabled(enabled); +} + void InjectedBundle::addOriginAccessWhitelistEntry(const String& sourceOrigin, const String& destinationProtocol, const String& destinationHost, bool allowDestinationSubdomains) { SecurityPolicy::addOriginAccessWhitelistEntry(*SecurityOrigin::createFromString(sourceOrigin), destinationProtocol, destinationHost, allowDestinationSubdomains); @@ -326,11 +335,29 @@ void InjectedBundle::clearApplicationCache() WebApplicationCacheManager::shared().deleteAllEntries(); } +void InjectedBundle::clearApplicationCacheForOrigin(const String& originString) +{ + RefPtr<SecurityOrigin> origin = SecurityOrigin::createFromString(originString); + ApplicationCache::deleteCacheForOrigin(origin.get()); +} + void InjectedBundle::setAppCacheMaximumSize(uint64_t size) { WebApplicationCacheManager::shared().setAppCacheMaximumSize(size); } +uint64_t InjectedBundle::appCacheUsageForOrigin(const String& originString) +{ + RefPtr<SecurityOrigin> origin = SecurityOrigin::createFromString(originString); + return ApplicationCache::diskUsageForOrigin(origin.get()); +} + +void InjectedBundle::setApplicationCacheOriginQuota(const String& originString, uint64_t bytes) +{ + RefPtr<SecurityOrigin> origin = SecurityOrigin::createFromString(originString); + cacheStorage().storeUpdatedQuotaForOrigin(origin.get(), bytes); +} + int InjectedBundle::numberOfPages(WebFrame* frame, double pageWidthInPixels, double pageHeightInPixels) { Frame* coreFrame = frame ? frame->coreFrame() : 0; @@ -550,6 +577,13 @@ void InjectedBundle::setUserStyleSheetLocation(WebPageGroupProxy* pageGroup, con (*iter)->settings()->setUserStyleSheetLocation(KURL(KURL(), location)); } +void InjectedBundle::setMinimumTimerInterval(WebPageGroupProxy* pageGroup, double seconds) +{ + const HashSet<Page*>& pages = PageGroup::pageGroup(pageGroup->identifier())->pages(); + for (HashSet<Page*>::iterator iter = pages.begin(); iter != pages.end(); ++iter) + (*iter)->settings()->setMinDOMTimerInterval(seconds); +} + void InjectedBundle::setWebNotificationPermission(WebPage* page, const String& originString, bool allowed) { #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS) |