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

Side by Side Diff: ios/web/web_state/web_state_impl.h

Issue 2755823002: Moved |openedByDOM| to WebState's CreateParams and public interface. (Closed)
Patch Set: . Created 3 years, 9 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 | « ios/web/web_state/web_state.mm ('k') | ios/web/web_state/web_state_impl.mm » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 IOS_WEB_WEB_STATE_WEB_STATE_IMPL_H_ 5 #ifndef IOS_WEB_WEB_STATE_WEB_STATE_IMPL_H_
6 #define IOS_WEB_WEB_STATE_WEB_STATE_IMPL_H_ 6 #define IOS_WEB_WEB_STATE_WEB_STATE_IMPL_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 // (b) By @SessionWindow, when decoding a saved session. 56 // (b) By @SessionWindow, when decoding a saved session.
57 // (c) By the Copy() method, below, used when marshalling a session 57 // (c) By the Copy() method, below, used when marshalling a session
58 // in preparation for saving. 58 // in preparation for saving.
59 // - WebControllers are the eventual long-term owners of WebStateImpls. 59 // - WebControllers are the eventual long-term owners of WebStateImpls.
60 // - SessionWindows are transient owners, passing ownership into WebControllers 60 // - SessionWindows are transient owners, passing ownership into WebControllers
61 // during session restore, and discarding owned copies of WebStateImpls after 61 // during session restore, and discarding owned copies of WebStateImpls after
62 // writing them out for session saves. 62 // writing them out for session saves.
63 class WebStateImpl : public WebState, public NavigationManagerDelegate { 63 class WebStateImpl : public WebState, public NavigationManagerDelegate {
64 public: 64 public:
65 // Constructor for WebStateImpls created for new sessions. 65 // Constructor for WebStateImpls created for new sessions.
66 WebStateImpl(BrowserState* browser_state); 66 WebStateImpl(const CreateParams& params);
67 // Constructor for WebStatesImpls created for deserialized sessions 67 // Constructor for WebStatesImpls created for deserialized sessions
68 WebStateImpl(BrowserState* browser_state, CRWSessionStorage* session_storage); 68 WebStateImpl(const CreateParams& params, CRWSessionStorage* session_storage);
69 ~WebStateImpl() override; 69 ~WebStateImpl() override;
70 70
71 // Gets/Sets the CRWWebController that backs this object. 71 // Gets/Sets the CRWWebController that backs this object.
72 CRWWebController* GetWebController(); 72 CRWWebController* GetWebController();
73 void SetWebController(CRWWebController* web_controller); 73 void SetWebController(CRWWebController* web_controller);
74 74
75 // Gets or sets the delegate used to communicate with the web contents facade. 75 // Gets or sets the delegate used to communicate with the web contents facade.
76 WebStateFacadeDelegate* GetFacadeDelegate() const; 76 WebStateFacadeDelegate* GetFacadeDelegate() const;
77 void SetFacadeDelegate(WebStateFacadeDelegate* facade_delegate); 77 void SetFacadeDelegate(WebStateFacadeDelegate* facade_delegate);
78 78
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 void ShowTransientContentView(CRWContentView* content_view) override; 229 void ShowTransientContentView(CRWContentView* content_view) override;
230 bool IsShowingWebInterstitial() const override; 230 bool IsShowingWebInterstitial() const override;
231 WebInterstitial* GetWebInterstitial() const override; 231 WebInterstitial* GetWebInterstitial() const override;
232 void OnPasswordInputShownOnHttp() override; 232 void OnPasswordInputShownOnHttp() override;
233 void OnCreditCardInputShownOnHttp() override; 233 void OnCreditCardInputShownOnHttp() override;
234 void AddScriptCommandCallback(const ScriptCommandCallback& callback, 234 void AddScriptCommandCallback(const ScriptCommandCallback& callback,
235 const std::string& command_prefix) override; 235 const std::string& command_prefix) override;
236 void RemoveScriptCommandCallback(const std::string& command_prefix) override; 236 void RemoveScriptCommandCallback(const std::string& command_prefix) override;
237 id<CRWWebViewProxy> GetWebViewProxy() const override; 237 id<CRWWebViewProxy> GetWebViewProxy() const override;
238 service_manager::InterfaceRegistry* GetMojoInterfaceRegistry() override; 238 service_manager::InterfaceRegistry* GetMojoInterfaceRegistry() override;
239 bool HasOpener() const override;
239 base::WeakPtr<WebState> AsWeakPtr() override; 240 base::WeakPtr<WebState> AsWeakPtr() override;
240 241
241 // Adds |interstitial|'s view to the web controller's content view. 242 // Adds |interstitial|'s view to the web controller's content view.
242 void ShowWebInterstitial(WebInterstitialImpl* interstitial); 243 void ShowWebInterstitial(WebInterstitialImpl* interstitial);
243 244
244 // Called to dismiss the currently-displayed transient content view. 245 // Called to dismiss the currently-displayed transient content view.
245 void ClearTransientContentView(); 246 void ClearTransientContentView();
246 247
247 // Notifies the delegate that the load progress was updated. 248 // Notifies the delegate that the load progress was updated.
248 void SendChangeLoadProgress(double progress); 249 void SendChangeLoadProgress(double progress);
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
357 358
358 // Weak pointer to the interstitial page being displayed, if any. 359 // Weak pointer to the interstitial page being displayed, if any.
359 WebInterstitialImpl* interstitial_; 360 WebInterstitialImpl* interstitial_;
360 361
361 // Returned by reference. 362 // Returned by reference.
362 base::string16 empty_string16_; 363 base::string16 empty_string16_;
363 364
364 // Callbacks associated to command prefixes. 365 // Callbacks associated to command prefixes.
365 std::map<std::string, ScriptCommandCallback> script_command_callbacks_; 366 std::map<std::string, ScriptCommandCallback> script_command_callbacks_;
366 367
368 // Whether this WebState has an opener. See
369 // WebState::CreateParams::created_with_opener_ for more details.
370 bool created_with_opener_;
371
367 // Member variables should appear before the WeakPtrFactory<> to ensure that 372 // Member variables should appear before the WeakPtrFactory<> to ensure that
368 // any WeakPtrs to WebStateImpl are invalidated before its member variable's 373 // any WeakPtrs to WebStateImpl are invalidated before its member variable's
369 // destructors are executed, rendering them invalid. 374 // destructors are executed, rendering them invalid.
370 base::WeakPtrFactory<WebState> weak_factory_; 375 base::WeakPtrFactory<WebState> weak_factory_;
371 376
372 // Mojo interface registry for this WebState. 377 // Mojo interface registry for this WebState.
373 std::unique_ptr<service_manager::InterfaceRegistry> mojo_interface_registry_; 378 std::unique_ptr<service_manager::InterfaceRegistry> mojo_interface_registry_;
374 379
375 DISALLOW_COPY_AND_ASSIGN(WebStateImpl); 380 DISALLOW_COPY_AND_ASSIGN(WebStateImpl);
376 }; 381 };
377 382
378 } // namespace web 383 } // namespace web
379 384
380 #endif // IOS_WEB_WEB_STATE_WEB_STATE_IMPL_H_ 385 #endif // IOS_WEB_WEB_STATE_WEB_STATE_IMPL_H_
OLDNEW
« no previous file with comments | « ios/web/web_state/web_state.mm ('k') | ios/web/web_state/web_state_impl.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698