Changeset 159123 in webkit
- Timestamp:
- Nov 12, 2013 10:32:53 AM (10 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r159118 r159123 1 2013-11-12 Anders Carlsson <andersca@apple.com> 2 3 Add ImmutableArray::createStringArray 4 https://bugs.webkit.org/show_bug.cgi?id=124210 5 6 Reviewed by Andreas Kling. 7 8 Creating an ImmutableArray of WebStrings is a common operation, so add a 9 helper function to ImmutableArray that does this from a Vector of Strings. 10 11 * Shared/ImmutableArray.cpp: 12 (WebKit::ImmutableArray::createStringArray): 13 * Shared/ImmutableArray.h: 14 * Shared/ImmutableDictionary.cpp: 15 (WebKit::ImmutableDictionary::keys): 16 * Shared/WebOpenPanelParameters.cpp: 17 (WebKit::WebOpenPanelParameters::acceptMIMETypes): 18 (WebKit::WebOpenPanelParameters::selectedFileNames): 19 * UIProcess/Plugins/WebPluginSiteDataManager.cpp: 20 (WebKit::WebPluginSiteDataManager::didGetSitesWithData): 21 * UIProcess/WebCookieManagerProxy.cpp: 22 (WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies): 23 * UIProcess/WebMediaCacheManagerProxy.cpp: 24 (WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache): 25 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 26 (WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage): 27 1 28 2013-11-12 Csaba Osztrogonác <ossy@webkit.org> 2 29 -
trunk/Source/WebKit2/Shared/ImmutableArray.cpp
r149848 r159123 27 27 #include "ImmutableArray.h" 28 28 29 #include "WebString.h" 30 29 31 namespace WebKit { 32 33 PassRefPtr<ImmutableArray> ImmutableArray::createStringArray(const Vector<String>& strings) 34 { 35 Vector<RefPtr<APIObject>> elements; 36 elements.reserveInitialCapacity(strings.size()); 37 38 for (const auto& string : strings) 39 elements.uncheckedAppend(WebString::create(string)); 40 41 return adopt(elements); 42 } 30 43 31 44 ImmutableArray::ImmutableArray() -
trunk/Source/WebKit2/Shared/ImmutableArray.h
r158805 r159123 28 28 29 29 #include "APIObject.h" 30 #include <wtf/Forward.h> 30 31 #include <wtf/PassRefPtr.h> 31 32 #include <wtf/Vector.h> … … 55 56 return adoptRef(new ImmutableArray(entries)); 56 57 } 58 59 static PassRefPtr<ImmutableArray> createStringArray(const Vector<String>&); 57 60 58 61 virtual ~ImmutableArray(); -
trunk/Source/WebKit2/Shared/ImmutableDictionary.cpp
r149848 r159123 50 50 return ImmutableArray::create(); 51 51 52 Vector<RefPtr<APIObject>> vector;53 vector.reserveInitialCapacity(m_map.size());52 Vector<RefPtr<APIObject>> keys; 53 keys.reserveInitialCapacity(m_map.size()); 54 54 55 MapType::const_iterator::Keys it = m_map.begin().keys(); 56 MapType::const_iterator::Keys end = m_map.end().keys(); 57 for (; it != end; ++it) 58 vector.uncheckedAppend(WebString::create(*it)); 55 for (const auto& key : m_map.keys()) 56 keys.uncheckedAppend(WebString::create(key)); 59 57 60 return ImmutableArray::adopt( vector);58 return ImmutableArray::adopt(keys); 61 59 } 62 60 -
trunk/Source/WebKit2/Shared/WebOpenPanelParameters.cpp
r159117 r159123 52 52 PassRefPtr<ImmutableArray> WebOpenPanelParameters::acceptMIMETypes() const 53 53 { 54 Vector<RefPtr<APIObject>> vector; 55 vector.reserveInitialCapacity(m_settings.acceptMIMETypes.size()); 56 57 for (const auto& mimeType : m_settings.acceptMIMETypes) 58 vector.uncheckedAppend(WebString::create(mimeType)); 59 60 return ImmutableArray::adopt(vector); 54 return ImmutableArray::createStringArray(m_settings.acceptMIMETypes); 61 55 } 62 56 … … 69 63 70 64 PassRefPtr<ImmutableArray> WebOpenPanelParameters::selectedFileNames() const 71 { 72 Vector<RefPtr<APIObject>> vector; 73 vector.reserveInitialCapacity(m_settings.selectedFiles.size()); 74 75 for (const auto& selectedFile : m_settings.selectedFiles) 76 vector.uncheckedAppend(WebString::create(selectedFile)); 77 78 return ImmutableArray::adopt(vector); 65 { 66 return ImmutableArray::createStringArray(m_settings.selectedFiles); 79 67 } 80 68 -
trunk/Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.cpp
r159117 r159123 166 166 } 167 167 168 Vector<RefPtr<APIObject>> sitesArray; 169 sitesArray.reserveInitialCapacity(sites.size()); 170 171 for (const auto& site : sites) 172 sitesArray.uncheckedAppend(WebString::create(site)); 173 174 callback->performCallbackWithReturnValue(ImmutableArray::adopt(sitesArray).get()); 168 callback->performCallbackWithReturnValue(ImmutableArray::createStringArray(sites).get()); 175 169 } 176 170 -
trunk/Source/WebKit2/UIProcess/WebCookieManagerProxy.cpp
r159117 r159123 116 116 } 117 117 118 Vector<RefPtr<APIObject>> hostnameStrings; 119 hostnameStrings.reserveInitialCapacity(hostnames.size()); 120 121 for (const auto& hostname : hostnames) 122 hostnameStrings.uncheckedAppend(WebString::create(hostname)); 123 124 callback->performCallbackWithReturnValue(ImmutableArray::adopt(hostnameStrings).get()); 118 callback->performCallbackWithReturnValue(ImmutableArray::createStringArray(hostnames).get()); 125 119 } 126 120 -
trunk/Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.cpp
r159117 r159123 99 99 } 100 100 101 Vector<RefPtr<APIObject>> hostnamesArray; 102 hostnamesArray.reserveInitialCapacity(hostnames.size()); 103 104 for (const auto& hostname : hostnames) 105 hostnamesArray.uncheckedAppend(WebString::create(hostname)); 106 107 callback->performCallbackWithReturnValue(ImmutableArray::adopt(hostnamesArray).get()); 101 callback->performCallbackWithReturnValue(ImmutableArray::createStringArray(hostnames).get()); 108 102 } 109 103 -
trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp
r159117 r159123 342 342 return; 343 343 344 Vector<RefPtr<APIObject>> featureStrings; 345 featureStrings.reserveInitialCapacity(features.size()); 346 347 for (const auto& feature : features) 348 featureStrings.uncheckedAppend(WebString::create(feature)); 349 350 return m_client.featuresUsedInPage(toAPI(page), toAPI(ImmutableArray::adopt(featureStrings).get()), m_client.clientInfo); 344 return m_client.featuresUsedInPage(toAPI(page), toAPI(ImmutableArray::createStringArray(features).get()), m_client.clientInfo); 351 345 } 352 346
Note: See TracChangeset
for help on using the changeset viewer.