2 # Copyright 2015 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file.
6 # The script follows mojo/services/html_viewer/view_url.py and modified it for
7 # test the mojo media renderer. The page will be rendered in a headless mode.
9 # TODO(xhwang): Explore the possibility of running this with the Kiosk window
10 # manager. See http://crbug.com/467176
17 root_path
= os
.path
.realpath(
20 os
.path
.realpath(__file__
)),
25 def _BuildShellCommand(args
):
26 sdk_version
= subprocess
.check_output(["cat",
27 "third_party/mojo/src/mojo/public/VERSION"], cwd
=root_path
)
28 build_dir
= os
.path
.join(root_path
, args
.build_dir
)
30 shell_command
= [os
.path
.join(build_dir
, "mojo_shell")]
35 "--origin=https://storage.googleapis.com/mojo/services/linux-x64/%s" %
37 options
.append("--url-mappings=mojo:html_viewer=file://%s/html_viewer.mojo,"
38 "mojo:media=file://%s/media.mojo" % (build_dir
, build_dir
))
40 args_for_html_viewer
= "--enable-mojo-media-renderer --is-headless "
42 args_for_html_viewer
+= \
43 "--vmodule=pipeline*=3,*renderer_impl*=3,*mojo_demuxer*=3"
44 options
.append("--args-for=mojo:html_viewer %s" % args_for_html_viewer
)
47 args_for_media
= "--vmodule=mojo*service=3"
48 options
.append("--args-for=mojo:media %s" % args_for_media
)
50 full_command
= shell_command
+ options
+ [args
.url
]
58 parser
= argparse
.ArgumentParser(
59 description
="View a URL with HTMLViewer with mojo media renderer. "
60 "You must have built //mojo/services/html_viewer, "
61 "//mojo/services/network and //media/mojo/services first. "
62 " Note that this will currently often fail spectacularly due "
63 " to lack of binary stability in Mojo.")
66 help="Path to the dir containing the linux-x64 binaries relative to the "
67 "repo root (default: %(default)s)",
68 default
="out/Release")
69 parser
.add_argument("--verbose", help="Increase output verbosity.",
71 parser
.add_argument("url",
72 help="The URL to be viewed")
74 args
= parser
.parse_args()
75 return subprocess
.call(_BuildShellCommand(args
))
77 if __name__
== '__main__':