Changeset 218499 in webkit


Ignore:
Timestamp:
Jun 19, 2017 11:21:58 AM (7 years ago)
Author:
Chris Dumez
Message:

[WK2] Add WKProcessPool SPI to efficiently reset all plugin load client policies
https://bugs.webkit.org/show_bug.cgi?id=173472
<rdar://problem/28858817>

Reviewed by Antti Koivisto.

Follow-up to r218419 to avoid copying the HashMap unnecessarily.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::resetPluginLoadClientPolicies):

  • UIProcess/WebProcessPool.h:
Location:
trunk/Source/WebKit2
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r218497 r218499  
     12017-06-19  Chris Dumez  <cdumez@apple.com>
     2
     3        [WK2] Add WKProcessPool SPI to efficiently reset all plugin load client policies
     4        https://bugs.webkit.org/show_bug.cgi?id=173472
     5        <rdar://problem/28858817>
     6
     7        Reviewed by Antti Koivisto.
     8
     9        Follow-up to r218419 to avoid copying the HashMap unnecessarily.
     10
     11        * UIProcess/WebProcessPool.cpp:
     12        (WebKit::WebProcessPool::resetPluginLoadClientPolicies):
     13        * UIProcess/WebProcessPool.h:
     14
    1152017-06-19  Youenn Fablet  <youenn@apple.com>
    216
  • trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp

    r218419 r218499  
    15961596}
    15971597
    1598 void WebProcessPool::resetPluginLoadClientPolicies(const HashMap<String, HashMap<String, HashMap<String, uint8_t>>>& pluginLoadClientPolicies)
    1599 {
    1600     m_pluginLoadClientPolicies.clear();
    1601 
    1602     for (auto& hostPair : pluginLoadClientPolicies) {
    1603         auto& policiesForHost = m_pluginLoadClientPolicies.ensure(hostPair.key, [] { return HashMap<String, HashMap<String, uint8_t>>(); }).iterator->value;
    1604         for (auto& bundleIdentifierPair : hostPair.value) {
    1605             auto& versionsToPolicies = policiesForHost.ensure(bundleIdentifierPair.key, [] { return HashMap<String, uint8_t>(); }).iterator->value;
    1606             for (auto& versionPair : bundleIdentifierPair.value)
    1607                 versionsToPolicies.set(versionPair.key, versionPair.value);
    1608         }
    1609     }
     1598void WebProcessPool::resetPluginLoadClientPolicies(HashMap<String, HashMap<String, HashMap<String, uint8_t>>>&& pluginLoadClientPolicies)
     1599{
     1600    m_pluginLoadClientPolicies = WTFMove(pluginLoadClientPolicies);
    16101601    sendToAllProcesses(Messages::WebProcess::ResetPluginLoadClientPolicies(m_pluginLoadClientPolicies));
    16111602}
  • trunk/Source/WebKit2/UIProcess/WebProcessPool.h

    r218419 r218499  
    198198
    199199    void setPluginLoadClientPolicy(WebCore::PluginLoadClientPolicy, const String& host, const String& bundleIdentifier, const String& versionString);
    200     void resetPluginLoadClientPolicies(const HashMap<String, HashMap<String, HashMap<String, uint8_t>>>&);
     200    void resetPluginLoadClientPolicies(HashMap<String, HashMap<String, HashMap<String, uint8_t>>>&&);
    201201    void clearPluginClientPolicies();
    202202    const HashMap<String, HashMap<String, HashMap<String, uint8_t>>>& pluginLoadClientPolicies() const { return m_pluginLoadClientPolicies; }
Note: See TracChangeset for help on using the changeset viewer.