WebKitNotification::WebKitNotification(const String& title, const String& body, const String& iconUrl, ExecutionContext* context, ExceptionState& es, PassRefPtr<NotificationCenter> provider) : NotificationBase(title, context, provider->client()) { ScriptWrappable::init(this); if (provider->checkPermission() != NotificationClient::PermissionAllowed) { es.throwSecurityError("Notification permission has not been granted."); return; } KURL icon = iconUrl.isEmpty() ? KURL() : executionContext()->completeURL(iconUrl); if (!icon.isEmpty() && !icon.isValid()) { es.throwDOMException(SyntaxError, "'" + iconUrl + "' is not a valid icon URL."); return; } setBody(body); setIconUrl(icon); }
Notification::Notification(const String& title, const String& body, const String& iconURI, ScriptExecutionContext* context, ExceptionState& es, PassRefPtr<NotificationCenter> provider) : ActiveDOMObject(context) , m_title(title) , m_body(body) , m_state(Idle) , m_notificationClient(provider->client()) { ASSERT(m_notificationClient); ScriptWrappable::init(this); if (provider->checkPermission() != NotificationClient::PermissionAllowed) { es.throwSecurityError(ExceptionMessages::failedToExecute("createNotification", "NotificationCenter", "Notification permission has not been granted.")); return; } m_icon = iconURI.isEmpty() ? KURL() : scriptExecutionContext()->completeURL(iconURI); if (!m_icon.isEmpty() && !m_icon.isValid()) { es.throwDOMException(SyntaxError, ExceptionMessages::failedToExecute("createNotification", "NotificationCenter", "'" + iconURI + "' is not a valid icon URL.")); return; } }