diff options
| author | Steve Block <steveblock@google.com> | 2010-08-04 11:41:34 +0100 |
|---|---|---|
| committer | Steve Block <steveblock@google.com> | 2010-08-09 12:04:44 +0100 |
| commit | db14019a23d96bc8a444b6576a5da8bd1cfbc8b0 (patch) | |
| tree | 9f793c5b0f5e1f2aca8247158920e2c4bf962bbf /WebKit/mac/Storage | |
| parent | bf916837aa84f1e4b00e6ed6268516c2acd27545 (diff) | |
| download | external_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.h | 29 | ||||
| -rw-r--r-- | WebKit/mac/Storage/WebDatabaseSecurityOrigin.mm | 37 | ||||
| -rw-r--r-- | WebKit/mac/Storage/WebSecurityOrigin.mm | 145 | ||||
| -rw-r--r-- | WebKit/mac/Storage/WebSecurityOriginInternal.h | 42 | ||||
| -rw-r--r-- | WebKit/mac/Storage/WebSecurityOriginPrivate.h | 53 |
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 |
