Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(448)

Side by Side Diff: headless/README.md

Issue 1845473003: headless: Replace is_headless gn setting with an args template (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Better documentation. Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « build/config/ui.gni ('k') | media/media_options.gni » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Headless Chromium 1 # Headless Chromium
2 2
3 Headless Chromium is a library for running Chromium in a headless/server 3 Headless Chromium is a library for running Chromium in a headless/server
4 environment. Expected use cases include loading web pages, extracting metadata 4 environment. Expected use cases include loading web pages, extracting metadata
5 (e.g., the DOM) and generating bitmaps from page contents -- using all the 5 (e.g., the DOM) and generating bitmaps from page contents -- using all the
6 modern web platform features provided by Chromium and Blink. 6 modern web platform features provided by Chromium and Blink.
7 7
8 ## Headless shell 8 ## Headless shell
9 9
10 The headless shell is a sample application which demonstrates the use of the 10 The headless shell is a sample application which demonstrates the use of the
11 headless API. To run it, first open the build configuration editor: 11 headless API. To run it, first initialize a headless build configuration:
12 12
13 ``` 13 ```
14 $ gn args out/Release 14 $ mkdir -p out/Debug
15 $ echo 'import("//build/args/headless.gn")' > out/Debug/args.gn
16 $ gn gen out/Debug
15 ``` 17 ```
16 18
17 and enable headless mode with `is_headless = true`.
18
19 Then build the shell: 19 Then build the shell:
20 20
21 ``` 21 ```
22 $ ninja -C out/Release headless_shell 22 $ ninja -C out/Debug headless_shell
23 ``` 23 ```
24 24
25 After the build completes, the headless shell can be run with the following 25 After the build completes, the headless shell can be run with the following
26 command: 26 command:
27 27
28 ``` 28 ```
29 $ out/Release/headless_shell https://www.google.com 29 $ out/Debug/headless_shell https://www.google.com
30 ``` 30 ```
31 31
32 To attach a [DevTools](https://developer.chrome.com/devtools) debugger to the 32 To attach a [DevTools](https://developer.chrome.com/devtools) debugger to the
33 shell, start it with an argument specifying the debugging port: 33 shell, start it with an argument specifying the debugging port:
34 34
35 ``` 35 ```
36 $ out/Release/headless_shell --remote-debugging-port=9222 https://youtube.com 36 $ out/Debug/headless_shell --remote-debugging-port=9222 https://youtube.com
37 ``` 37 ```
38 38
39 Then navigate to `http://127.0.0.1:9222` with your browser. 39 Then navigate to `http://127.0.0.1:9222` with your browser.
40 40
41 ## Embedder API 41 ## Embedder API
42 42
43 The embedder API allows developers to integrate the headless library into their 43 The embedder API allows developers to integrate the headless library into their
44 application. The API provides default implementations for low level adaptation 44 application. The API provides default implementations for low level adaptation
45 points such as networking and the run loop. 45 points such as networking and the run loop.
46 46
47 The main embedder API classes are: 47 The main embedder API classes are:
48 48
49 - `HeadlessBrowser::Options::Builder` - Defines the embedding options, e.g.: 49 - `HeadlessBrowser::Options::Builder` - Defines the embedding options, e.g.:
50 - `SetMessagePump` - Replaces the default base message pump. See 50 - `SetMessagePump` - Replaces the default base message pump. See
51 `base::MessagePump`. 51 `base::MessagePump`.
52 - `SetProxyServer` - Configures an HTTP/HTTPS proxy server to be used for 52 - `SetProxyServer` - Configures an HTTP/HTTPS proxy server to be used for
53 accessing the network. 53 accessing the network.
54 54
55 ## Client API 55 ## Client API
56 56
57 The headless client API is used to drive the browser and interact with loaded 57 The headless client API is used to drive the browser and interact with loaded
58 web pages. Its main classes are: 58 web pages. Its main classes are:
59 59
60 - `HeadlessBrowser` - Represents the global headless browser instance. 60 - `HeadlessBrowser` - Represents the global headless browser instance.
61 - `HeadlessWebContents` - Represents a single "tab" within the browser. 61 - `HeadlessWebContents` - Represents a single "tab" within the browser.
OLDNEW
« no previous file with comments | « build/config/ui.gni ('k') | media/media_options.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698