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

Side by Side Diff: components/html_viewer/document_resource_waiter.h

Issue 1391963004: Correctly record and pass around navigation start time. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 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 COMPONENTS_HTML_VIEWER_DOCUMENT_RESOURCE_WAITER_H_ 5 #ifndef COMPONENTS_HTML_VIEWER_DOCUMENT_RESOURCE_WAITER_H_
6 #define COMPONENTS_HTML_VIEWER_DOCUMENT_RESOURCE_WAITER_H_ 6 #define COMPONENTS_HTML_VIEWER_DOCUMENT_RESOURCE_WAITER_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/time/time.h"
9 #include "components/html_viewer/html_frame_tree_manager_observer.h" 10 #include "components/html_viewer/html_frame_tree_manager_observer.h"
10 #include "components/mus/public/cpp/view_observer.h" 11 #include "components/mus/public/cpp/view_observer.h"
11 #include "components/web_view/public/interfaces/frame.mojom.h" 12 #include "components/web_view/public/interfaces/frame.mojom.h"
12 #include "mojo/services/network/public/interfaces/url_loader.mojom.h" 13 #include "mojo/services/network/public/interfaces/url_loader.mojom.h"
13 #include "third_party/mojo/src/mojo/public/cpp/bindings/binding.h" 14 #include "third_party/mojo/src/mojo/public/cpp/bindings/binding.h"
14 15
15 namespace mojo { 16 namespace mojo {
16 class View; 17 class View;
17 } 18 }
18 19
(...skipping 25 matching lines...) Expand all
44 web_view::mojom::ViewConnectType* view_connect_type, 45 web_view::mojom::ViewConnectType* view_connect_type,
45 OnConnectCallback* on_connect_callback); 46 OnConnectCallback* on_connect_callback);
46 47
47 uint32_t change_id() const { return change_id_; } 48 uint32_t change_id() const { return change_id_; }
48 49
49 mojo::URLResponsePtr ReleaseURLResponse(); 50 mojo::URLResponsePtr ReleaseURLResponse();
50 51
51 // See class description. 52 // See class description.
52 bool is_ready() const { return is_ready_; } 53 bool is_ready() const { return is_ready_; }
53 54
55 base::TimeTicks navigation_start_time() const {
56 return navigation_start_time_;
57 }
58
54 void SetRoot(mus::View* root); 59 void SetRoot(mus::View* root);
55 mus::View* root() { return root_; } 60 mus::View* root() { return root_; }
56 61
57 void Bind(mojo::InterfaceRequest<web_view::mojom::FrameClient> request); 62 void Bind(mojo::InterfaceRequest<web_view::mojom::FrameClient> request);
58 63
59 private: 64 private:
60 // Updates |is_ready_|, and if ready starts the Load() in the document. 65 // Updates |is_ready_|, and if ready starts the Load() in the document.
61 void UpdateIsReady(); 66 void UpdateIsReady();
62 67
63 // web_view::mojom::FrameClient: 68 // web_view::mojom::FrameClient:
64 void OnConnect(web_view::mojom::FramePtr frame, 69 void OnConnect(web_view::mojom::FramePtr frame,
65 uint32_t change_id, 70 uint32_t change_id,
66 uint32_t view_id, 71 uint32_t view_id,
67 web_view::mojom::ViewConnectType view_connect_type, 72 web_view::mojom::ViewConnectType view_connect_type,
68 mojo::Array<web_view::mojom::FrameDataPtr> frame_data, 73 mojo::Array<web_view::mojom::FrameDataPtr> frame_data,
74 int64_t navigation_start_time_ticks,
69 const OnConnectCallback& callback) override; 75 const OnConnectCallback& callback) override;
70 void OnFrameAdded(uint32_t change_id, 76 void OnFrameAdded(uint32_t change_id,
71 web_view::mojom::FrameDataPtr frame_data) override; 77 web_view::mojom::FrameDataPtr frame_data) override;
72 void OnFrameRemoved(uint32_t change_id, uint32_t frame_id) override; 78 void OnFrameRemoved(uint32_t change_id, uint32_t frame_id) override;
73 void OnFrameClientPropertyChanged(uint32_t frame_id, 79 void OnFrameClientPropertyChanged(uint32_t frame_id,
74 const mojo::String& name, 80 const mojo::String& name,
75 mojo::Array<uint8_t> new_value) override; 81 mojo::Array<uint8_t> new_value) override;
76 void OnPostMessageEvent(uint32_t source_frame_id, 82 void OnPostMessageEvent(uint32_t source_frame_id,
77 uint32_t target_frame_id, 83 uint32_t target_frame_id,
78 web_view::mojom::HTMLMessageEventPtr event) override; 84 web_view::mojom::HTMLMessageEventPtr event) override;
(...skipping 25 matching lines...) Expand all
104 void OnHTMLFrameTreeManagerDestroyed() override; 110 void OnHTMLFrameTreeManagerDestroyed() override;
105 111
106 GlobalState* global_state_; 112 GlobalState* global_state_;
107 HTMLDocument* document_; 113 HTMLDocument* document_;
108 mojo::URLResponsePtr response_; 114 mojo::URLResponsePtr response_;
109 mus::View* root_; 115 mus::View* root_;
110 web_view::mojom::FramePtr frame_; 116 web_view::mojom::FramePtr frame_;
111 mojo::Array<web_view::mojom::FrameDataPtr> frame_data_; 117 mojo::Array<web_view::mojom::FrameDataPtr> frame_data_;
112 uint32_t change_id_; 118 uint32_t change_id_;
113 uint32_t view_id_; 119 uint32_t view_id_;
120 base::TimeTicks navigation_start_time_;
114 web_view::mojom::ViewConnectType view_connect_type_; 121 web_view::mojom::ViewConnectType view_connect_type_;
115 OnConnectCallback on_connect_callback_; 122 OnConnectCallback on_connect_callback_;
116 123
117 // Once we get OnConnect() we unbind |frame_client_binding_| and put it here. 124 // Once we get OnConnect() we unbind |frame_client_binding_| and put it here.
118 mojo::InterfaceRequest<web_view::mojom::FrameClient> frame_client_request_; 125 mojo::InterfaceRequest<web_view::mojom::FrameClient> frame_client_request_;
119 mojo::Binding<web_view::mojom::FrameClient> frame_client_binding_; 126 mojo::Binding<web_view::mojom::FrameClient> frame_client_binding_;
120 127
121 bool is_ready_; 128 bool is_ready_;
122 129
123 // See comments in UpdateIsReady() for details of this. 130 // See comments in UpdateIsReady() for details of this.
124 // 131 //
125 // While |waiting_for_change_id_| is true DocumentResourceWaiter is an 132 // While |waiting_for_change_id_| is true DocumentResourceWaiter is an
126 // HTMLFrameTreeManagerObserver on |target_frame_tree_|. 133 // HTMLFrameTreeManagerObserver on |target_frame_tree_|.
127 bool waiting_for_change_id_; 134 bool waiting_for_change_id_;
128 135
129 HTMLFrameTreeManager* target_frame_tree_; 136 HTMLFrameTreeManager* target_frame_tree_;
130 137
131 DISALLOW_COPY_AND_ASSIGN(DocumentResourceWaiter); 138 DISALLOW_COPY_AND_ASSIGN(DocumentResourceWaiter);
132 }; 139 };
133 140
134 } // namespace html_viewer 141 } // namespace html_viewer
135 142
136 #endif // COMPONENTS_HTML_VIEWER_DOCUMENT_RESOURCE_WAITER_H_ 143 #endif // COMPONENTS_HTML_VIEWER_DOCUMENT_RESOURCE_WAITER_H_
OLDNEW
« no previous file with comments | « components/html_viewer/ax_provider_apptest.cc ('k') | components/html_viewer/document_resource_waiter.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698