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

Side by Side Diff: ios/web/net/request_tracker_impl.h

Issue 2617243002: Remove ScopedVector from ios/. (Closed)
Patch Set: rebase Created 3 years, 11 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/chrome/browser/ui/webui/version_ui.mm ('k') | ios/web/net/request_tracker_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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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_NET_REQUEST_TRACKER_IMPL_H_ 5 #ifndef IOS_WEB_NET_REQUEST_TRACKER_IMPL_H_
6 #define IOS_WEB_NET_REQUEST_TRACKER_IMPL_H_ 6 #define IOS_WEB_NET_REQUEST_TRACKER_IMPL_H_
7 7
8 #import <Foundation/Foundation.h> 8 #import <Foundation/Foundation.h>
9 #include <stdint.h> 9 #include <stdint.h>
10
10 #include <map> 11 #include <map>
12 #include <memory>
11 #include <set> 13 #include <set>
14 #include <vector>
12 15
13 #include "base/callback_forward.h" 16 #include "base/callback_forward.h"
14 #import "base/mac/scoped_nsobject.h" 17 #import "base/mac/scoped_nsobject.h"
15 #include "base/memory/ref_counted.h" 18 #include "base/memory/ref_counted.h"
16 #include "base/memory/scoped_vector.h"
17 #include "base/memory/weak_ptr.h" 19 #include "base/memory/weak_ptr.h"
18 #import "ios/net/request_tracker.h" 20 #import "ios/net/request_tracker.h"
19 #import "ios/web/net/crw_request_tracker_delegate.h" 21 #import "ios/web/net/crw_request_tracker_delegate.h"
20 #include "ios/web/public/web_thread.h" 22 #include "ios/web/public/web_thread.h"
21 #include "net/url_request/url_request_context_getter.h" 23 #include "net/url_request/url_request_context_getter.h"
22 #include "url/gurl.h" 24 #include "url/gurl.h"
23 25
24 @class SSLCarrier; 26 @class SSLCarrier;
25 @class CRWSSLCarrier; 27 @class CRWSSLCarrier;
26 struct TrackerCounts; 28 struct TrackerCounts;
(...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after
337 #pragma mark Non thread-safe fields, only accessed from the IO thread. 339 #pragma mark Non thread-safe fields, only accessed from the IO thread.
338 // All the tracked requests for the page, indexed by net::URLRequest (Cast as 340 // All the tracked requests for the page, indexed by net::URLRequest (Cast as
339 // a void* to avoid the temptation of accessing it from the wrong thread). 341 // a void* to avoid the temptation of accessing it from the wrong thread).
340 // This map is not exhaustive: it is only meant to estimate the loading 342 // This map is not exhaustive: it is only meant to estimate the loading
341 // progress, and thus requests corresponding to old navigation events are not 343 // progress, and thus requests corresponding to old navigation events are not
342 // in it. 344 // in it.
343 std::map<const void*, TrackerCounts*> counts_by_request_; 345 std::map<const void*, TrackerCounts*> counts_by_request_;
344 // All the live requests associated with the tracker. 346 // All the live requests associated with the tracker.
345 std::set<net::URLRequest*> live_requests_; 347 std::set<net::URLRequest*> live_requests_;
346 // A list of all the TrackerCounts, including the finished ones. 348 // A list of all the TrackerCounts, including the finished ones.
347 ScopedVector<TrackerCounts> counts_; 349 std::vector<std::unique_ptr<TrackerCounts>> counts_;
348 // The system shall never allow the page load estimate to go back. 350 // The system shall never allow the page load estimate to go back.
349 float previous_estimate_; 351 float previous_estimate_;
350 // Index of the first request to consider for building the estimation. 352 // Index of the first request to consider for building the estimation.
351 unsigned int estimate_start_index_; 353 unsigned int estimate_start_index_;
352 // How many notifications are currently queued, to avoid notifying too often. 354 // How many notifications are currently queued, to avoid notifying too often.
353 int notification_depth_; 355 int notification_depth_;
354 // The tracker containing the error currently presented to the user. 356 // The tracker containing the error currently presented to the user.
355 TrackerCounts* current_ssl_error_; 357 TrackerCounts* current_ssl_error_;
356 // Set to |YES| if the page has mixed content 358 // Set to |YES| if the page has mixed content
357 bool has_mixed_content_; 359 bool has_mixed_content_;
(...skipping 24 matching lines...) Expand all
382 // Flag to synchronize deletion and callback creation. Lives on the IO thread. 384 // Flag to synchronize deletion and callback creation. Lives on the IO thread.
383 // True when this tracker has beed Close()d. If this is the case, no further 385 // True when this tracker has beed Close()d. If this is the case, no further
384 // references to it should be generated (for example by binding it into a 386 // references to it should be generated (for example by binding it into a
385 // callback), and the expectation is that it will soon be deleted. 387 // callback), and the expectation is that it will soon be deleted.
386 bool is_closing_; 388 bool is_closing_;
387 }; 389 };
388 390
389 } // namespace web 391 } // namespace web
390 392
391 #endif // IOS_WEB_NET_REQUEST_TRACKER_IMPL_H_ 393 #endif // IOS_WEB_NET_REQUEST_TRACKER_IMPL_H_
OLDNEW
« no previous file with comments | « ios/chrome/browser/ui/webui/version_ui.mm ('k') | ios/web/net/request_tracker_impl.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698