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

Side by Side Diff: headless/public/headless_web_contents.h

Issue 2863953003: Headless: Remove obsolete Mojo code and some other obsolete APIs (Closed)
Patch Set: Rebased Created 3 years, 7 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef HEADLESS_PUBLIC_HEADLESS_WEB_CONTENTS_H_ 5 #ifndef HEADLESS_PUBLIC_HEADLESS_WEB_CONTENTS_H_
6 #define HEADLESS_PUBLIC_HEADLESS_WEB_CONTENTS_H_ 6 #define HEADLESS_PUBLIC_HEADLESS_WEB_CONTENTS_H_
7 7
8 #include <list> 8 #include <list>
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 // won't return a valid value until Observer::DevToolsTargetReady has been 76 // won't return a valid value until Observer::DevToolsTargetReady has been
77 // signaled. 77 // signaled.
78 virtual HeadlessDevToolsTarget* GetDevToolsTarget() = 0; 78 virtual HeadlessDevToolsTarget* GetDevToolsTarget() = 0;
79 79
80 // Close this page. |HeadlessWebContents| object will be destroyed. 80 // Close this page. |HeadlessWebContents| object will be destroyed.
81 virtual void Close() = 0; 81 virtual void Close() = 0;
82 82
83 // Returns the headless tab socket for JS -> C++ if one was created. 83 // Returns the headless tab socket for JS -> C++ if one was created.
84 virtual HeadlessTabSocket* GetHeadlessTabSocket() const = 0; 84 virtual HeadlessTabSocket* GetHeadlessTabSocket() const = 0;
85 85
86 // Returns the FrameTreeNode Id associated with the |devtools_agent_host_id|
87 // if any.
88 // TODO(alexclarke): Remove this, it doesn't work as expected.
89 virtual bool GetFrameTreeNodeIdForDevToolsAgentHostId(
90 const std::string& devtools_agent_host_id,
91 int* frame_tree_node_id) const = 0;
92
93 // Returns the devtools frame id corresponding to the |frame_tree_node_id|, if 86 // Returns the devtools frame id corresponding to the |frame_tree_node_id|, if
94 // any. Note this relies on an IPC sent from blink during navigation. 87 // any. Note this relies on an IPC sent from blink during navigation.
95 virtual std::string GetUntrustedDevToolsFrameIdForFrameTreeNodeId( 88 virtual std::string GetUntrustedDevToolsFrameIdForFrameTreeNodeId(
96 int process_id, 89 int process_id,
97 int frame_tree_node_id) const = 0; 90 int frame_tree_node_id) const = 0;
98 91
99 virtual int GetMainFrameRenderProcessId() const = 0; 92 virtual int GetMainFrameRenderProcessId() const = 0;
100 93
101 private: 94 private:
102 friend class HeadlessWebContentsImpl; 95 friend class HeadlessWebContentsImpl;
103 HeadlessWebContents() {} 96 HeadlessWebContents() {}
104 97
105 DISALLOW_COPY_AND_ASSIGN(HeadlessWebContents); 98 DISALLOW_COPY_AND_ASSIGN(HeadlessWebContents);
106 }; 99 };
107 100
108 class HEADLESS_EXPORT HeadlessWebContents::Builder { 101 class HEADLESS_EXPORT HeadlessWebContents::Builder {
109 public: 102 public:
110 ~Builder(); 103 ~Builder();
111 Builder(Builder&&); 104 Builder(Builder&&);
112 105
113 // Set an initial URL to ensure that the renderer gets initialized and 106 // Set an initial URL to ensure that the renderer gets initialized and
114 // eventually becomes ready to be inspected. See 107 // eventually becomes ready to be inspected. See
115 // HeadlessWebContents::Observer::DevToolsTargetReady. The default URL is 108 // HeadlessWebContents::Observer::DevToolsTargetReady. The default URL is
116 // about:blank. 109 // about:blank.
117 Builder& SetInitialURL(const GURL& initial_url); 110 Builder& SetInitialURL(const GURL& initial_url);
118 111
119 // Specify the initial window size (default is configured in browser options). 112 // Specify the initial window size (default is configured in browser options).
120 Builder& SetWindowSize(const gfx::Size& size); 113 Builder& SetWindowSize(const gfx::Size& size);
121 114
122 // DEPRECATED. Specify an embedder provided Mojo service to be installed. The
123 // |service_factory| callback is called on demand by Mojo to instantiate the
124 // service if a client asks for it.
125 // TODO(alexclarke): Remove AddMojoService.
126 template <typename Interface>
127 Builder& AddMojoService(
128 const base::Callback<void(mojo::InterfaceRequest<Interface>)>&
129 service_factory) {
130 return AddMojoService(
131 Interface::Name_,
132 base::Bind(&Builder::ForwardToServiceFactory<Interface>,
133 service_factory));
134 }
135 Builder& AddMojoService(const std::string& service_name,
136 const base::Callback<void(
137 mojo::ScopedMessagePipeHandle)>& service_factory);
138
139 // Whether or not a headless tab socket should be created, to allow JS -> C++ 115 // Whether or not a headless tab socket should be created, to allow JS -> C++
140 // embedder communications. 116 // embedder communications.
141 Builder& CreateTabSocket(bool create_tab_socket); 117 Builder& CreateTabSocket(bool create_tab_socket);
142 118
143 // The returned object is owned by HeadlessBrowser. Call 119 // The returned object is owned by HeadlessBrowser. Call
144 // HeadlessWebContents::Close() to dispose it. 120 // HeadlessWebContents::Close() to dispose it.
145 HeadlessWebContents* Build(); 121 HeadlessWebContents* Build();
146 122
147 private: 123 private:
148 friend class HeadlessBrowserImpl; 124 friend class HeadlessBrowserImpl;
(...skipping 30 matching lines...) Expand all
179 gfx::Size window_size_; 155 gfx::Size window_size_;
180 std::list<MojoService> mojo_services_; 156 std::list<MojoService> mojo_services_;
181 bool create_tab_socket_ = false; 157 bool create_tab_socket_ = false;
182 158
183 DISALLOW_COPY_AND_ASSIGN(Builder); 159 DISALLOW_COPY_AND_ASSIGN(Builder);
184 }; 160 };
185 161
186 } // namespace headless 162 } // namespace headless
187 163
188 #endif // HEADLESS_PUBLIC_HEADLESS_WEB_CONTENTS_H_ 164 #endif // HEADLESS_PUBLIC_HEADLESS_WEB_CONTENTS_H_
OLDNEW
« no previous file with comments | « headless/public/headless_browser_context.h ('k') | headless/public/util/deterministic_http_protocol_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698