auto& preferences = appdata->widget_info()->preferences();
for (const auto& pref : preferences) {
+ if (pref->Name().empty())
+ continue;
+ if (db->HasKey(kDBPublicSection, pref->Name()))
+ continue;
+
db->Set(kDBPublicSection,
pref->Name(),
pref->Value());
std::string* scheme,
std::string* domain,
std::string* port) {
+ if (url.empty())
+ return;
+
size_t end_of_scheme = url.find_first_of(':');
if (end_of_scheme == std::string::npos) {
end_of_scheme = -1;
*scheme = url.substr(0, end_of_scheme);
}
+ if (end_of_scheme+1 == url.length())
+ return;
+
size_t start_of_domain = url.find_first_not_of('/', end_of_scheme+1);
size_t end_of_domain = url.find_first_of('/', start_of_domain);
*domain = url.substr(start_of_domain,
for (auto& allow : warp->access_map()) {
if (allow.first == "*") {
return true;
+ } else if (allow.first.empty()) {
+ continue;
}
std::string a_scheme, a_domain, a_port;
GetURLInfo(allow.first, &a_scheme, &a_domain, &a_port);
var dispatchStorageEvent = function(key, oldValue, newValue) {
- var evt = new CustomEvent("Storage");
+ var evt = document.createEvent("CustomEvent");
+ evt.initCustomEvent("storage", true, true);
evt.key = key;
evt.oldValue = oldValue;
evt.newValue = newValue;
});
};
+Widget.prototype.toString = function() {
+ return "[object Widget]";
+};
+
window.widget = new Widget();
exports = Widget;