1/* 2 * Copyright (C) 2014 Apple Inc. All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 1. Redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer. 9 * 2. Redistributions in binary form must reproduce the above copyright 10 * notice, this list of conditions and the following disclaimer in the 11 * documentation and/or other materials provided with the distribution. 12 * 13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' 14 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 15 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS 17 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 18 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 19 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 20 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 21 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 22 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 23 * THE POSSIBILITY OF SUCH DAMAGE. 24 */ 25 26#import "config.h" 27#import "_WKProcessPoolConfiguration.h" 28 29#if WK_API_ENABLED 30 31#import <wtf/RetainPtr.h> 32 33@implementation _WKProcessPoolConfiguration { 34 RetainPtr<NSURL> _injectedBundleURL; 35 RetainPtr<NSArray> _cachePartitionedURLSchemes; 36} 37 38- (NSURL *)injectedBundleURL 39{ 40 return _injectedBundleURL.get(); 41} 42 43- (void)setInjectedBundleURL:(NSURL *)injectedBundleURL 44{ 45 _injectedBundleURL = adoptNS([injectedBundleURL copy]); 46} 47 48- (NSArray *)cachePartitionedURLSchemes 49{ 50 return _cachePartitionedURLSchemes.get(); 51} 52 53- (void)setCachePartitionedURLSchemes:(NSArray *)cachePartitionedURLSchemes 54{ 55 _cachePartitionedURLSchemes = adoptNS([[NSArray alloc] initWithArray:cachePartitionedURLSchemes copyItems:YES]); 56} 57 58- (NSString *)description 59{ 60 NSString *description = [NSString stringWithFormat:@"<%@: %p; maximumProcessCount = %lu", NSStringFromClass(self.class), self, static_cast<unsigned long>(_maximumProcessCount)]; 61 if (_injectedBundleURL) 62 return [description stringByAppendingFormat:@"; injectedBundleURL: \"%@\">", _injectedBundleURL.get()]; 63 64 return [description stringByAppendingString:@">"]; 65} 66 67- (id)copyWithZone:(NSZone *)zone 68{ 69 _WKProcessPoolConfiguration *configuration = [[[self class] allocWithZone:zone] init]; 70 71 configuration.maximumProcessCount = self.maximumProcessCount; 72 configuration.injectedBundleURL = self.injectedBundleURL; 73 configuration.cachePartitionedURLSchemes = self.cachePartitionedURLSchemes; 74 75 return configuration; 76} 77 78@end 79 80#endif 81