Browse Source

LibWeb/HTML: Allow throwing SecurityError for push/replaceState() abuse

Corresponds to https://github.com/whatwg/html/commit/73e51b414b4e3e284086067fa147996aa89c6dc8
Sam Atkins 1 week ago
parent
commit
02e8c0e1d1
1 changed files with 3 additions and 2 deletions
  1. 3 2
      Libraries/LibWeb/HTML/History.cpp

+ 3 - 2
Libraries/LibWeb/HTML/History.cpp

@@ -180,8 +180,9 @@ WebIDL::ExceptionOr<void> History::shared_history_push_replace_state(JS::Value d
     if (!document->is_fully_active())
         return WebIDL::SecurityError::create(realm(), "Cannot perform pushState or replaceState on a document that isn't fully active."_string);
 
-    // 3. Optionally, return. (For example, the user agent might disallow calls to these methods that are invoked on a timer,
-    //    or from event listeners that are not triggered in response to a clear user action, or that are invoked in rapid succession.)
+    // 3. Optionally, throw a "SecurityError" DOMException. (For example, the user agent might disallow calls to these
+    //    methods that are invoked on a timer, or from event listeners that are not triggered in response to a clear
+    //    user action, or that are invoked in rapid succession.)
 
     // 4. Let serializedData be StructuredSerializeForStorage(data). Rethrow any exceptions.
     //    FIXME: Actually rethrow exceptions here once we start using the serialized data.