@@ -280,7 +280,10 @@ enum CompositeTarget {
280280 WindowAndPng ,
281281
282282 /// Compose to a PNG, write it to disk, and then exit the browser (used for reftests)
283- PngFile
283+ PngFile ,
284+
285+ /// Nothing (used for script tests)
286+ None ,
284287}
285288
286289fn initialize_png ( width : usize , height : usize ) -> ( Vec < gl:: GLuint > , Vec < gl:: GLuint > ) {
@@ -326,7 +329,8 @@ impl<Window: WindowMethods> IOCompositor<Window> {
326329 let hidpi_factor = window. hidpi_factor ( ) ;
327330 let composite_target = match opts:: get ( ) . output_file {
328331 Some ( _) => CompositeTarget :: PngFile ,
329- None => CompositeTarget :: Window
332+ None if opts:: get ( ) . headless => CompositeTarget :: None ,
333+ None => CompositeTarget :: Window ,
330334 } ;
331335 let native_display = window. native_display ( ) ;
332336 IOCompositor {
@@ -1464,10 +1468,10 @@ impl<Window: WindowMethods> IOCompositor<Window> {
14641468 fn device_pixels_per_screen_px ( & self ) -> ScaleFactor < ScreenPx , DevicePixel , f32 > {
14651469 match opts:: get ( ) . device_pixels_per_px {
14661470 Some ( device_pixels_per_px) => ScaleFactor :: new ( device_pixels_per_px) ,
1467- None => match opts:: get ( ) . output_file {
1468- Some ( _ ) => ScaleFactor :: new ( 1.0 ) ,
1469- None => self . hidpi_factor
1470- }
1471+ None if opts:: get ( ) . output_file . is_some ( ) || opts :: get ( ) . headless => {
1472+ ScaleFactor :: new ( 1.0 )
1473+ } ,
1474+ None => self . hidpi_factor ,
14711475 }
14721476 }
14731477
@@ -1802,11 +1806,14 @@ impl<Window: WindowMethods> IOCompositor<Window> {
18021806 }
18031807 }
18041808 }
1809+ CompositeTarget :: None => ( ) ,
18051810 }
18061811
18071812 let ( framebuffer_ids, texture_ids) = match target {
1808- CompositeTarget :: Window => ( vec ! ( ) , vec ! ( ) ) ,
1809- _ => initialize_png ( width, height)
1813+ CompositeTarget :: Window | CompositeTarget :: None => ( vec ! ( ) , vec ! ( ) ) ,
1814+ CompositeTarget :: WindowAndPng | CompositeTarget :: PngFile => {
1815+ initialize_png ( width, height)
1816+ }
18101817 } ;
18111818
18121819 profile ( ProfilerCategory :: Compositing , None , self . time_profiler_chan . clone ( ) , || {
@@ -1854,7 +1861,7 @@ impl<Window: WindowMethods> IOCompositor<Window> {
18541861 } ) ;
18551862
18561863 let rv = match target {
1857- CompositeTarget :: Window => None ,
1864+ CompositeTarget :: Window | CompositeTarget :: None => None ,
18581865 CompositeTarget :: WindowAndPng => {
18591866 let img = self . draw_img ( framebuffer_ids, texture_ids, width, height) ;
18601867 Some ( Image {
0 commit comments