| <!DOCTYPE html> | 
 | <title>NoModificationAllowedError when mutating read only properties</title> | 
 | <link rel="help" href="https://www.w3.org/TR/cssom-1/#dom-cssstyledeclaration-setpropertyvalue"> | 
 | <meta name="assert" content="This test verifies that NoModificationAllowedError is thrown when mutating read only properties" /> | 
 | <script src="/resources/testharness.js"></script> | 
 | <script src="/resources/testharnessreport.js"></script> | 
 | <body></body> | 
 | <script> | 
 | test(function(t) { | 
 |     assert_equals(document.defaultView.getComputedStyle(document.body, null).parentRule, null); | 
 | }, "Computed style parent (should be null)"); | 
 |  | 
 | test(function(t) { | 
 |     assert_throws_dom("NoModificationAllowedError", function() { | 
 |         document.defaultView.getComputedStyle(document.body, null).color = "blue"; | 
 |     }); | 
 | }, "Exception thrown when trying to change a computed style declaration via property"); | 
 |  | 
 | test(function(t) { | 
 |     assert_throws_dom("NoModificationAllowedError", function() { | 
 |         document.defaultView.getComputedStyle(document.body, null).setProperty("color", "blue"); | 
 |     }); | 
 | }, "Exception thrown when trying to change a computed style declaration via setProperty"); | 
 |  | 
 | test(function(t) { | 
 |     assert_throws_dom("NoModificationAllowedError", function() { | 
 |         document.defaultView.getComputedStyle(document.body, null).webkitTransition = ""; | 
 |     }); | 
 | }, "Exception thrown when trying to change a computed style alias via property"); | 
 |  | 
 | test(function(t) { | 
 |     assert_throws_dom("NoModificationAllowedError", function() { | 
 |         document.defaultView.getComputedStyle(document.body, null).setProperty("webkitTransition", ""); | 
 |     }); | 
 | }, "Exception thrown when trying to change a computed style alias via setProperty"); | 
 | </script> |