summaryrefslogtreecommitdiffstats
path: root/WebKit/mac/Storage
diff options
context:
space:
mode:
authorSteve Block <steveblock@google.com>2010-08-04 11:41:34 +0100
committerSteve Block <steveblock@google.com>2010-08-09 12:04:44 +0100
commitdb14019a23d96bc8a444b6576a5da8bd1cfbc8b0 (patch)
tree9f793c5b0f5e1f2aca8247158920e2c4bf962bbf /WebKit/mac/Storage
parentbf916837aa84f1e4b00e6ed6268516c2acd27545 (diff)
downloadexternal_webkit-db14019a23d96bc8a444b6576a5da8bd1cfbc8b0.zip
external_webkit-db14019a23d96bc8a444b6576a5da8bd1cfbc8b0.tar.gz
external_webkit-db14019a23d96bc8a444b6576a5da8bd1cfbc8b0.tar.bz2
Merge WebKit at r64523 : Initial merge by git.
Change-Id: Ibb796c6802e757b1d9b40f58205cfbe4da95fcd4
Diffstat (limited to 'WebKit/mac/Storage')
-rw-r--r--WebKit/mac/Storage/WebDatabaseSecurityOrigin.h29
-rw-r--r--WebKit/mac/Storage/WebDatabaseSecurityOrigin.mm37
-rw-r--r--WebKit/mac/Storage/WebSecurityOrigin.mm145
-rw-r--r--WebKit/mac/Storage/WebSecurityOriginInternal.h42
-rw-r--r--WebKit/mac/Storage/WebSecurityOriginPrivate.h53
5 files changed, 66 insertions, 240 deletions
diff --git a/WebKit/mac/Storage/WebDatabaseSecurityOrigin.h b/WebKit/mac/Storage/WebDatabaseSecurityOrigin.h
new file mode 100644
index 0000000..a06ca3d
--- /dev/null
+++ b/WebKit/mac/Storage/WebDatabaseSecurityOrigin.h
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "WebSecurityOriginInternal.h"
+
+@interface WebDatabaseSecurityOrigin : WebSecurityOrigin
+@end
diff --git a/WebKit/mac/Storage/WebDatabaseSecurityOrigin.mm b/WebKit/mac/Storage/WebDatabaseSecurityOrigin.mm
new file mode 100644
index 0000000..a0c3529
--- /dev/null
+++ b/WebKit/mac/Storage/WebDatabaseSecurityOrigin.mm
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2007, 2010 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "WebDatabaseSecurityOrigin.h"
+#import <WebCore/SecurityOrigin.h>
+
+using namespace WebCore;
+
+@implementation WebDatabaseSecurityOrigin
+
+// FIXME: https://bugs.webkit.org/show_bug.cgi?id=40627
+// Proper steps should be taken to have subclass implementations of SecurityOrigin's
+// origin, quota, and setQuota methods.
+
+@end
diff --git a/WebKit/mac/Storage/WebSecurityOrigin.mm b/WebKit/mac/Storage/WebSecurityOrigin.mm
deleted file mode 100644
index 56a21f5..0000000
--- a/WebKit/mac/Storage/WebSecurityOrigin.mm
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (C) 2007 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "WebSecurityOriginInternal.h"
-
-#import <WebCore/DatabaseTracker.h>
-#import <WebCore/KURL.h>
-#import <WebCore/SecurityOrigin.h>
-
-using namespace WebCore;
-
-@implementation WebSecurityOrigin
-- (id)initWithURL:(NSURL *)url
-{
- self = [super init];
- if (!self)
- return nil;
-
- RefPtr<SecurityOrigin> origin = SecurityOrigin::create(KURL([url absoluteURL]));
- origin->ref();
- _private = reinterpret_cast<WebSecurityOriginPrivate*>(origin.get());
-
- return self;
-}
-
-- (NSString*)protocol
-{
- return reinterpret_cast<SecurityOrigin*>(_private)->protocol();
-}
-
-- (NSString*)host
-{
- return reinterpret_cast<SecurityOrigin*>(_private)->host();
-}
-
-// Deprecated. Use host instead. This needs to stay here until we ship a new Safari.
-- (NSString*)domain
-{
- return [self host];
-}
-
-- (unsigned short)port
-{
- return reinterpret_cast<SecurityOrigin*>(_private)->port();
-}
-
-- (unsigned long long)usage
-{
-#if ENABLE(DATABASE)
- return DatabaseTracker::tracker().usageForOrigin(reinterpret_cast<SecurityOrigin*>(_private));
-#else
- return 0;
-#endif
-}
-
-- (unsigned long long)quota
-{
-#if ENABLE(DATABASE)
- return DatabaseTracker::tracker().quotaForOrigin(reinterpret_cast<SecurityOrigin*>(_private));
-#else
- return 0;
-#endif
-}
-
-// Sets the storage quota (in bytes)
-// If the quota is set to a value lower than the current usage, that quota will "stick" but no data will be purged to meet the new quota.
-// This will simply prevent new data from being added to databases in that origin
-- (void)setQuota:(unsigned long long)quota
-{
-#if ENABLE(DATABASE)
- DatabaseTracker::tracker().setQuota(reinterpret_cast<SecurityOrigin*>(_private), quota);
-#endif
-}
-
-- (BOOL)isEqual:(id)anObject
-{
- if (![anObject isMemberOfClass:[WebSecurityOrigin class]]) {
- return NO;
- }
-
- return [self _core]->equal([anObject _core]);
-}
-
-- (void)dealloc
-{
- if (_private)
- reinterpret_cast<SecurityOrigin*>(_private)->deref();
- [super dealloc];
-}
-
-- (void)finalize
-{
- if (_private)
- reinterpret_cast<SecurityOrigin*>(_private)->deref();
- [super finalize];
-}
-
-@end
-
-@implementation WebSecurityOrigin (WebInternal)
-
-- (id)_initWithWebCoreSecurityOrigin:(SecurityOrigin*)origin
-{
- ASSERT(origin);
- self = [super init];
- if (!self)
- return nil;
-
- origin->ref();
- _private = reinterpret_cast<WebSecurityOriginPrivate*>(origin);
-
- return self;
-}
-
-- (SecurityOrigin *)_core
-{
- return reinterpret_cast<SecurityOrigin*>(_private);
-}
-
-@end
diff --git a/WebKit/mac/Storage/WebSecurityOriginInternal.h b/WebKit/mac/Storage/WebSecurityOriginInternal.h
deleted file mode 100644
index 7bd6817..0000000
--- a/WebKit/mac/Storage/WebSecurityOriginInternal.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (C) 2007 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "WebSecurityOriginPrivate.h"
-
-namespace WebCore {
- class SecurityOrigin;
-}
-
-typedef WebCore::SecurityOrigin WebCoreSecurityOrigin;
-
-@interface WebSecurityOrigin (WebInternal)
-
-- (id)_initWithWebCoreSecurityOrigin:(WebCoreSecurityOrigin *)origin;
-- (WebCoreSecurityOrigin *)_core;
-
-@end
diff --git a/WebKit/mac/Storage/WebSecurityOriginPrivate.h b/WebKit/mac/Storage/WebSecurityOriginPrivate.h
deleted file mode 100644
index c7836f8..0000000
--- a/WebKit/mac/Storage/WebSecurityOriginPrivate.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (C) 2007 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-@class WebSecurityOriginPrivate;
-
-@interface WebSecurityOrigin : NSObject {
- WebSecurityOriginPrivate *_private;
-}
-
-- (id)initWithURL:(NSURL *)url;
-
-- (NSString*)protocol;
-- (NSString*)host;
-
-// Returns zero if the port is the default port for the protocol, non-zero otherwise
-- (unsigned short)port;
-
-// Returns the current total usage of all databases in this security origin in bytes
-- (unsigned long long)usage;
-
-- (unsigned long long)quota;
-// Sets the storage quota (in bytes)
-// If the quota is set to a value lower than the current usage, that quota will "stick" but no data will be purged to meet the new quota.
-// This will simply prevent new data from being added to databases in that origin
-- (void)setQuota:(unsigned long long)quota;
-
-
-@end