@@ -81,9 +81,10 @@ class NewContextOptions {
8181 public Boolean bypassCSP ;
8282 /**
8383 * Emulates {@code "prefers-colors-scheme"} media feature, supported values are {@code "light"}, {@code "dark"}, {@code "no-preference"}. See
84- * {@link Page#emulateMedia Page.emulateMedia()} for more details. Defaults to {@code "light"}.
84+ * {@link Page#emulateMedia Page.emulateMedia()} for more details. Passing {@code null} resets emulation to system defaults.
85+ * Defaults to {@code "light"}.
8586 */
86- public ColorScheme colorScheme ;
87+ public Optional < ColorScheme > colorScheme ;
8788 /**
8889 * Specify device scale factor (can be thought of as dpr). Defaults to {@code 1}.
8990 */
@@ -94,9 +95,9 @@ class NewContextOptions {
9495 public Map <String , String > extraHTTPHeaders ;
9596 /**
9697 * Emulates {@code "forced-colors"} media feature, supported values are {@code "active"}, {@code "none"}. See {@link Page#emulateMedia
97- * Page.emulateMedia()} for more details. Defaults to {@code "none"}.
98+ * Page.emulateMedia()} for more details. Passing {@code null} resets emulation to system defaults. Defaults to {@code "none"}.
9899 */
99- public ForcedColors forcedColors ;
100+ public Optional < ForcedColors > forcedColors ;
100101 public Geolocation geolocation ;
101102 /**
102103 * Specifies if viewport supports touch events. Defaults to false.
@@ -176,9 +177,10 @@ class NewContextOptions {
176177 public RecordVideoSize recordVideoSize ;
177178 /**
178179 * Emulates {@code "prefers-reduced-motion"} media feature, supported values are {@code "reduce"}, {@code "no-preference"}. See {@link
179- * Page#emulateMedia Page.emulateMedia()} for more details. Defaults to {@code "no-preference"}.
180+ * Page#emulateMedia Page.emulateMedia()} for more details. Passing {@code null} resets emulation to system defaults. Defaults to
181+ * {@code "no-preference"}.
180182 */
181- public ReducedMotion reducedMotion ;
183+ public Optional < ReducedMotion > reducedMotion ;
182184 /**
183185 * Emulates consistent window screen size available inside web page via {@code window.screen}. Is only used when the {@code viewport}
184186 * is set.
@@ -258,10 +260,11 @@ public NewContextOptions setBypassCSP(boolean bypassCSP) {
258260 }
259261 /**
260262 * Emulates {@code "prefers-colors-scheme"} media feature, supported values are {@code "light"}, {@code "dark"}, {@code "no-preference"}. See
261- * {@link Page#emulateMedia Page.emulateMedia()} for more details. Defaults to {@code "light"}.
263+ * {@link Page#emulateMedia Page.emulateMedia()} for more details. Passing {@code null} resets emulation to system defaults.
264+ * Defaults to {@code "light"}.
262265 */
263266 public NewContextOptions setColorScheme (ColorScheme colorScheme ) {
264- this .colorScheme = colorScheme ;
267+ this .colorScheme = Optional . ofNullable ( colorScheme ) ;
265268 return this ;
266269 }
267270 /**
@@ -280,10 +283,10 @@ public NewContextOptions setExtraHTTPHeaders(Map<String, String> extraHTTPHeader
280283 }
281284 /**
282285 * Emulates {@code "forced-colors"} media feature, supported values are {@code "active"}, {@code "none"}. See {@link Page#emulateMedia
283- * Page.emulateMedia()} for more details. Defaults to {@code "none"}.
286+ * Page.emulateMedia()} for more details. Passing {@code null} resets emulation to system defaults. Defaults to {@code "none"}.
284287 */
285288 public NewContextOptions setForcedColors (ForcedColors forcedColors ) {
286- this .forcedColors = forcedColors ;
289+ this .forcedColors = Optional . ofNullable ( forcedColors ) ;
287290 return this ;
288291 }
289292 public NewContextOptions setGeolocation (double latitude , double longitude ) {
@@ -447,10 +450,11 @@ public NewContextOptions setRecordVideoSize(RecordVideoSize recordVideoSize) {
447450 }
448451 /**
449452 * Emulates {@code "prefers-reduced-motion"} media feature, supported values are {@code "reduce"}, {@code "no-preference"}. See {@link
450- * Page#emulateMedia Page.emulateMedia()} for more details. Defaults to {@code "no-preference"}.
453+ * Page#emulateMedia Page.emulateMedia()} for more details. Passing {@code null} resets emulation to system defaults. Defaults to
454+ * {@code "no-preference"}.
451455 */
452456 public NewContextOptions setReducedMotion (ReducedMotion reducedMotion ) {
453- this .reducedMotion = reducedMotion ;
457+ this .reducedMotion = Optional . ofNullable ( reducedMotion ) ;
454458 return this ;
455459 }
456460 /**
@@ -561,9 +565,10 @@ class NewPageOptions {
561565 public Boolean bypassCSP ;
562566 /**
563567 * Emulates {@code "prefers-colors-scheme"} media feature, supported values are {@code "light"}, {@code "dark"}, {@code "no-preference"}. See
564- * {@link Page#emulateMedia Page.emulateMedia()} for more details. Defaults to {@code "light"}.
568+ * {@link Page#emulateMedia Page.emulateMedia()} for more details. Passing {@code null} resets emulation to system defaults.
569+ * Defaults to {@code "light"}.
565570 */
566- public ColorScheme colorScheme ;
571+ public Optional < ColorScheme > colorScheme ;
567572 /**
568573 * Specify device scale factor (can be thought of as dpr). Defaults to {@code 1}.
569574 */
@@ -574,9 +579,9 @@ class NewPageOptions {
574579 public Map <String , String > extraHTTPHeaders ;
575580 /**
576581 * Emulates {@code "forced-colors"} media feature, supported values are {@code "active"}, {@code "none"}. See {@link Page#emulateMedia
577- * Page.emulateMedia()} for more details. Defaults to {@code "none"}.
582+ * Page.emulateMedia()} for more details. Passing {@code null} resets emulation to system defaults. Defaults to {@code "none"}.
578583 */
579- public ForcedColors forcedColors ;
584+ public Optional < ForcedColors > forcedColors ;
580585 public Geolocation geolocation ;
581586 /**
582587 * Specifies if viewport supports touch events. Defaults to false.
@@ -656,9 +661,10 @@ class NewPageOptions {
656661 public RecordVideoSize recordVideoSize ;
657662 /**
658663 * Emulates {@code "prefers-reduced-motion"} media feature, supported values are {@code "reduce"}, {@code "no-preference"}. See {@link
659- * Page#emulateMedia Page.emulateMedia()} for more details. Defaults to {@code "no-preference"}.
664+ * Page#emulateMedia Page.emulateMedia()} for more details. Passing {@code null} resets emulation to system defaults. Defaults to
665+ * {@code "no-preference"}.
660666 */
661- public ReducedMotion reducedMotion ;
667+ public Optional < ReducedMotion > reducedMotion ;
662668 /**
663669 * Emulates consistent window screen size available inside web page via {@code window.screen}. Is only used when the {@code viewport}
664670 * is set.
@@ -738,10 +744,11 @@ public NewPageOptions setBypassCSP(boolean bypassCSP) {
738744 }
739745 /**
740746 * Emulates {@code "prefers-colors-scheme"} media feature, supported values are {@code "light"}, {@code "dark"}, {@code "no-preference"}. See
741- * {@link Page#emulateMedia Page.emulateMedia()} for more details. Defaults to {@code "light"}.
747+ * {@link Page#emulateMedia Page.emulateMedia()} for more details. Passing {@code null} resets emulation to system defaults.
748+ * Defaults to {@code "light"}.
742749 */
743750 public NewPageOptions setColorScheme (ColorScheme colorScheme ) {
744- this .colorScheme = colorScheme ;
751+ this .colorScheme = Optional . ofNullable ( colorScheme ) ;
745752 return this ;
746753 }
747754 /**
@@ -760,10 +767,10 @@ public NewPageOptions setExtraHTTPHeaders(Map<String, String> extraHTTPHeaders)
760767 }
761768 /**
762769 * Emulates {@code "forced-colors"} media feature, supported values are {@code "active"}, {@code "none"}. See {@link Page#emulateMedia
763- * Page.emulateMedia()} for more details. Defaults to {@code "none"}.
770+ * Page.emulateMedia()} for more details. Passing {@code null} resets emulation to system defaults. Defaults to {@code "none"}.
764771 */
765772 public NewPageOptions setForcedColors (ForcedColors forcedColors ) {
766- this .forcedColors = forcedColors ;
773+ this .forcedColors = Optional . ofNullable ( forcedColors ) ;
767774 return this ;
768775 }
769776 public NewPageOptions setGeolocation (double latitude , double longitude ) {
@@ -927,10 +934,11 @@ public NewPageOptions setRecordVideoSize(RecordVideoSize recordVideoSize) {
927934 }
928935 /**
929936 * Emulates {@code "prefers-reduced-motion"} media feature, supported values are {@code "reduce"}, {@code "no-preference"}. See {@link
930- * Page#emulateMedia Page.emulateMedia()} for more details. Defaults to {@code "no-preference"}.
937+ * Page#emulateMedia Page.emulateMedia()} for more details. Passing {@code null} resets emulation to system defaults. Defaults to
938+ * {@code "no-preference"}.
931939 */
932940 public NewPageOptions setReducedMotion (ReducedMotion reducedMotion ) {
933- this .reducedMotion = reducedMotion ;
941+ this .reducedMotion = Optional . ofNullable ( reducedMotion ) ;
934942 return this ;
935943 }
936944 /**
0 commit comments