v8::Handle<v8::Value> V8Clipboard::typesAccessorGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) { INC_STATS("DOM.Clipboard.types()"); Clipboard* clipboard = V8Clipboard::toNative(info.Holder()); ListHashSet<String> types = clipboard->types(); if (types.isEmpty()) return v8::Null(info.GetIsolate()); v8::Local<v8::Array> result = v8::Array::New(types.size()); ListHashSet<String>::const_iterator end = types.end(); int index = 0; for (ListHashSet<String>::const_iterator it = types.begin(); it != end; ++it, ++index) result->Set(v8Integer(index, info.GetIsolate()), v8String(*it, info.GetIsolate())); return result; }
void V8Clipboard::typesAttrGetterCustom(v8::Local<v8::String> name, const v8::PropertyCallbackInfo<v8::Value>& info) { Clipboard* clipboard = V8Clipboard::toNative(info.Holder()); ListHashSet<String> types = clipboard->types(); if (types.isEmpty()) { v8SetReturnValueNull(info); return; } v8::Local<v8::Array> result = v8::Array::New(types.size()); ListHashSet<String>::const_iterator end = types.end(); int index = 0; for (ListHashSet<String>::const_iterator it = types.begin(); it != end; ++it, ++index) result->Set(v8::Integer::New(index, info.GetIsolate()), v8String(*it, info.GetIsolate())); v8SetReturnValue(info, result); }
bool sslIgnoreHTTPSCertificate(const String& host, const ListHashSet<String>& certificates) { HashMap<String, ListHashSet<String>>::iterator it = allowedHosts.find(host); if (it != allowedHosts.end()) { if ((it->value).isEmpty()) { it->value = certificates; return true; } if (certificates.size() != it->value.size()) return false; ListHashSet<String>::const_iterator certsIter = certificates.begin(); ListHashSet<String>::iterator valueIter = (it->value).begin(); for (; valueIter != (it->value).end(); ++valueIter, ++certsIter) { if (*certsIter != *valueIter) return false; } return true; } return false; }