3131from  playwright ._impl ._helper  import  (
3232 ColorScheme ,
3333 ReducedMotion ,
34+  async_readfile ,
3435 is_safe_close_error ,
3536 locals_to_params ,
3637)
@@ -106,7 +107,7 @@ async def new_context(
106107 storageState : Union [StorageState , str , Path ] =  None ,
107108 ) ->  BrowserContext :
108109 params  =  locals_to_params (locals ())
109-  normalize_context_params (self ._connection ._is_sync , params )
110+  await   normalize_context_params (self ._connection ._is_sync , params )
110111
111112 channel  =  await  self ._channel .send ("newContext" , params )
112113 context  =  from_channel (channel )
@@ -190,7 +191,7 @@ async def stop_tracing(self) -> bytes:
190191 return  base64 .b64decode (encoded_binary )
191192
192193
193- def  normalize_context_params (is_sync : bool , params : Dict ) ->  None :
194+ async   def  normalize_context_params (is_sync : bool , params : Dict ) ->  None :
194195 params ["sdkLanguage" ] =  "python"  if  is_sync  else  "python-async" 
195196 if  params .get ("noViewport" ):
196197 del  params ["noViewport" ]
@@ -214,5 +215,6 @@ def normalize_context_params(is_sync: bool, params: Dict) -> None:
214215 if  "storageState"  in  params :
215216 storageState  =  params ["storageState" ]
216217 if  not  isinstance (storageState , dict ):
217-  with  open (storageState , "r" ) as  f :
218-  params ["storageState" ] =  json .load (f )
218+  params ["storageState" ] =  json .loads (
219+  (await  async_readfile (storageState )).decode ()
220+  )
0 commit comments