native/browser_process_handler.cpp [66:85]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CefRefPtr<CefListValue> BrowserProcessHandler::GetMessageRouterConfigs() {
  int idx = 0;
  static std::set<CefMessageRouterConfig, cmpCfg>::iterator iter;

  base::AutoLock lock_scope(router_cfg_lock_);
  if (router_cfg_.empty())
    return nullptr;

  // Configuration pased to CefHelperApp::OnBrowserCreated.
  auto router_configs = CefListValue::Create();
  for (iter = router_cfg_.begin(); iter != router_cfg_.end(); ++iter) {
    CefRefPtr<CefDictionaryValue> dict = CefDictionaryValue::Create();
    dict->SetString("js_query_function", iter->js_query_function);
    dict->SetString("js_cancel_function", iter->js_cancel_function);
    router_configs->SetDictionary(idx, dict);
    idx++;
  }

  return router_configs;
}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



remote/browser/RemoteBrowser.cpp [224:243]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    CefRefPtr<CefListValue> GetAllMessageRouterConfigs() {
        int idx = 0;
        static std::set<CefMessageRouterConfig, cmpCfg>::iterator iter;

        base::AutoLock lock_scope(router_cfg_lock_);
        if (router_cfg_.empty())
            return nullptr;

        // Configuration pased to CefHelperApp::OnBrowserCreated.
        auto router_configs = CefListValue::Create();
        for (iter = router_cfg_.begin(); iter != router_cfg_.end(); ++iter) {
            CefRefPtr<CefDictionaryValue> dict = CefDictionaryValue::Create();
            dict->SetString("js_query_function", iter->js_query_function);
            dict->SetString("js_cancel_function", iter->js_cancel_function);
            router_configs->SetDictionary(idx, dict);
            idx++;
        }

        return router_configs;
    }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



