Changeset 190670 in webkit
- Timestamp:
- Oct 7, 2015, 9:39:49 AM (10 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 5 edited
- 2 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r190660 r190670 1 2015-10-06 Anders Carlsson <andersca@apple.com> 2 3 Expose the bundle parameter object on WKBundleRef 4 https://bugs.webkit.org/show_bug.cgi?id=149860 5 6 Reviewed by Tim Horton. 7 8 * WebKit2.xcodeproj/project.pbxproj: 9 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.mm: 10 (-[WKWebProcessBundleParameters description]): 11 Add a description that includes the parameters. 12 13 * WebProcess/InjectedBundle/API/c/mac/WKBundleMac.h: 14 * WebProcess/InjectedBundle/API/c/mac/WKBundleMac.mm: 15 (WKBundleGetParameters): 16 Add getter. 17 18 * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm: 19 (WebKit::InjectedBundle::initialize): 20 Make sure to decode the bundle parameters before calling out to the bundle. 21 1 22 2015-10-06 Michael Catanzaro <mcatanzaro@igalia.com> 2 23 -
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h
r189547 r190670 45 45 - (id)_objectForBundleParameter:(NSString *)parameter; 46 46 - (void)_setObject:(id <NSCopying, NSSecureCoding>)object forBundleParameter:(NSString *)parameter; 47 - (void)_setObjectsForBundleParametersWithDictionary:(NSDictionary *) WK_AVAILABLE( 47 48 48 49 @property (nonatomic, weak, setter=_setDownloadDelegate:) id <_WKDownloadDelegate> _downloadDelegate; -
trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj
r190631 r190670 316 316 1A81B38518BD673A0007FDAC /* _WKVisitedLinkStoreInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A81B38418BD673A0007FDAC /* _WKVisitedLinkStoreInternal.h */; }; 317 317 1A8B66B01BC43C860082DF77 /* PageLoadStateObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A8B66AE1BC43C860082DF77 /* PageLoadStateObserver.h */; settings = {ASSET_TAGS = (); }; }; 318 1A8B66B31BC45B010082DF77 /* WKBundleMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1A8B66B11BC45B010082DF77 /* WKBundleMac.mm */; settings = {ASSET_TAGS = (); }; }; 319 1A8B66B41BC45B010082DF77 /* WKBundleMac.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A8B66B21BC45B010082DF77 /* WKBundleMac.h */; settings = {ATTRIBUTES = (Private, ); }; }; 318 320 1A8C728C1738477C000A6554 /* LocalStorageDatabaseTracker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A8C728A1738477C000A6554 /* LocalStorageDatabaseTracker.cpp */; }; 319 321 1A8C728D1738477C000A6554 /* LocalStorageDatabaseTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A8C728B1738477C000A6554 /* LocalStorageDatabaseTracker.h */; }; … … 2422 2424 1A81B38418BD673A0007FDAC /* _WKVisitedLinkStoreInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _WKVisitedLinkStoreInternal.h; sourceTree = "<group>"; }; 2423 2425 1A8B66AE1BC43C860082DF77 /* PageLoadStateObserver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PageLoadStateObserver.h; sourceTree = "<group>"; }; 2426 1A8B66B11BC45B010082DF77 /* WKBundleMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKBundleMac.mm; sourceTree = "<group>"; }; 2427 1A8B66B21BC45B010082DF77 /* WKBundleMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKBundleMac.h; sourceTree = "<group>"; }; 2424 2428 1A8C728A1738477C000A6554 /* LocalStorageDatabaseTracker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LocalStorageDatabaseTracker.cpp; sourceTree = "<group>"; }; 2425 2429 1A8C728B1738477C000A6554 /* LocalStorageDatabaseTracker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LocalStorageDatabaseTracker.h; sourceTree = "<group>"; }; … … 5871 5875 7CF47FFD17276AE3008ACB91 /* WKBundlePageBannerMac.h */, 5872 5876 7CF47FFC17276AE3008ACB91 /* WKBundlePageBannerMac.mm */, 5877 1A8B66B11BC45B010082DF77 /* WKBundleMac.mm */, 5878 1A8B66B21BC45B010082DF77 /* WKBundleMac.h */, 5873 5879 ); 5874 5880 path = mac; … … 7642 7648 C517388112DF8F4F00EE3F47 /* DragControllerAction.h in Headers */, 7643 7649 BC8452A81162C80900CAB9B5 /* DrawingArea.h in Headers */, 7650 1A8B66B41BC45B010082DF77 /* WKBundleMac.h in Headers */, 7644 7651 0FB659231208B4DB0044816C /* DrawingAreaInfo.h in Headers */, 7645 7652 1A64229A12DD029200CAAE2C /* DrawingAreaMessages.h in Headers */, … … 9736 9743 BCDE059C11CDA8AE00E41AF1 /* WebContextInjectedBundleClient.cpp in Sources */, 9737 9744 51871B5B127CB89D00F76232 /* WebContextMenu.cpp in Sources */, 9745 1A8B66B31BC45B010082DF77 /* WKBundleMac.mm in Sources */, 9738 9746 BC111A5B112F4FBB00337BAB /* WebContextMenuClient.cpp in Sources */, 9739 9747 51021E9C12B16788005C033C /* WebContextMenuClientMac.mm in Sources */, -
trunk/Source/WebKit2/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.mm
r167573 r190670 45 45 } 46 46 47 - (NSString *)description 48 { 49 return [NSString stringWithFormat:@"<%@: %p; parameters = %@>", NSStringFromClass(self.class), self, _parameters.get()]; 50 } 51 47 52 - (NSString *)valueForKey:(NSString *)key 48 53 { -
trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/mac/WKBundleMac.h
r190669 r190670 1 1 /* 2 * Copyright (C) 201 4Apple Inc. All rights reserved.2 * Copyright (C) 2015 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 24 24 */ 25 25 26 #i mport "config.h"27 # import "WKWebProcessBundleParameters.h"26 #ifndef WKBundleMac_h 27 #define WKBundleMac_h 28 28 29 #i f WK_API_ENABLED29 #include <WebKit/WKBase.h> 30 30 31 #import <wtf/RetainPtr.h> 31 #ifdef __cplusplus 32 extern "C" { 33 #endif 32 34 33 @implementation WKWebProcessBundleParameters { 34 RetainPtr<NSMutableDictionary> _parameters; 35 } 35 #ifdef __OBJC__ 36 36 37 - (instancetype)initWithDictionary:(NSDictionary *)dictionary 38 { 39 if (!(self = [super init])) 40 return nil; 41 42 _parameters = adoptNS([[NSMutableDictionary alloc] initWithDictionary:dictionary]); 43 44 return self; 45 } 46 47 - (NSString *)valueForKey:(NSString *)key 48 { 49 return [_parameters valueForKey:key]; 50 } 51 52 - (void)setParameter:(id)parameter forKey:(NSString *)key 53 { 54 [self willChangeValueForKey:key]; 55 if (parameter) 56 [_parameters setValue:parameter forKey:key]; 57 else 58 [_parameters removeObjectForKey:key]; 59 [self didChangeValueForKey:key]; 60 } 61 62 @end 37 WK_EXPORT id WKBundleGetParameters(WKBundleRef bundle); 63 38 64 39 #endif 40 41 #ifdef __cplusplus 42 } 43 #endif 44 45 #endif // WKBundleMac_h -
trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/mac/WKBundleMac.mm
r190669 r190670 1 1 /* 2 * Copyright (C) 201 4Apple Inc. All rights reserved.2 * Copyright (C) 2015 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 25 25 26 26 #import "config.h" 27 #import "WK WebProcessBundleParameters.h"27 #import "WKBundleMac.h" 28 28 29 #import "InjectedBundle.h" 30 #import "WKBundleAPICast.h" 31 32 id WKBundleGetParameters(WKBundleRef bundle) 33 { 29 34 #if WK_API_ENABLED 30 31 #import <wtf/RetainPtr.h> 32 33 @implementation WKWebProcessBundleParameters { 34 RetainPtr<NSMutableDictionary> _parameters; 35 return WebKit::toImpl(bundle)->bundleParameters(); 36 #else 37 return nil; 38 #endif 35 39 } 36 37 - (instancetype)initWithDictionary:(NSDictionary *)dictionary38 {39 if (!(self = [super init]))40 return nil;41 42 _parameters = adoptNS([[NSMutableDictionary alloc] initWithDictionary:dictionary]);43 44 return self;45 }46 47 - (NSString *)valueForKey:(NSString *)key48 {49 return [_parameters valueForKey:key];50 }51 52 - (void)setParameter:(id)parameter forKey:(NSString *)key53 {54 [self willChangeValueForKey:key];55 if (parameter)56 [_parameters setValue:parameter forKey:key];57 else58 [_parameters removeObjectForKey:key];59 [self didChangeValueForKey:key];60 }61 62 @end63 64 #endif -
trunk/Source/WebKit2/WebProcess/InjectedBundle/mac/InjectedBundleMac.mm
r186279 r190670 82 82 } 83 83 84 // First check to see if the bundle has a WKBundleInitialize function.85 WKBundleInitializeFunctionPtr initializeFunction = reinterpret_cast<WKBundleInitializeFunctionPtr>(CFBundleGetFunctionPointerForName([m_platformBundle _cfBundle], CFSTR("WKBundleInitialize")));86 if (initializeFunction) {87 initializeFunction(toAPI(this), toAPI(initializationUserData));88 return true;89 }90 91 84 #if WK_API_ENABLED 92 85 if (parameters.bundleParameterData) { … … 104 97 } 105 98 99 ASSERT(!m_bundleParameters); 106 100 m_bundleParameters = adoptNS([[WKWebProcessBundleParameters alloc] initWithDictionary:dictionary]); 107 101 } 102 #endif 108 103 104 // First check to see if the bundle has a WKBundleInitialize function. 105 WKBundleInitializeFunctionPtr initializeFunction = reinterpret_cast<WKBundleInitializeFunctionPtr>(CFBundleGetFunctionPointerForName([m_platformBundle _cfBundle], CFSTR("WKBundleInitialize"))); 106 if (initializeFunction) { 107 initializeFunction(toAPI(this), toAPI(initializationUserData)); 108 return true; 109 } 110 111 #if WK_API_ENABLED 109 112 // Otherwise, look to see if the bundle has a principal class 110 113 Class principalClass = [m_platformBundle principalClass];
Note:
See TracChangeset
for help on using the changeset viewer.