| Index: components/sessions/core/serialized_navigation_entry.cc
|
| diff --git a/components/sessions/core/serialized_navigation_entry.cc b/components/sessions/core/serialized_navigation_entry.cc
|
| index 08685eb36021a03d8ca5a10c96d00e145d5c45fb..79c54cf56280be627ac2b2e5749cdfe61290f0ee 100644
|
| --- a/components/sessions/core/serialized_navigation_entry.cc
|
| +++ b/components/sessions/core/serialized_navigation_entry.cc
|
| @@ -8,10 +8,18 @@
|
|
|
| #include "base/pickle.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| +#include "base/trace_event/estimate_memory_usage.h"
|
| #include "components/sessions/core/serialized_navigation_driver.h"
|
| #include "components/sync/base/time.h"
|
| #include "components/sync/protocol/session_specifics.pb.h"
|
|
|
| +// TODO(dskiba): move somemhere
|
| +size_t EstimateMemoryUsage(const GURL& url) {
|
| + using base::trace_event::EstimateMemoryUsage;
|
| + return EstimateMemoryUsage(url.possibly_invalid_spec()) +
|
| + (url.inner_url() ? EstimateMemoryUsage(*url.inner_url()) : 0);
|
| +}
|
| +
|
| namespace sessions {
|
|
|
| // TODO(treib): Remove, not needed anymore. crbug.com/627747
|
| @@ -500,4 +508,19 @@ sync_pb::TabNavigation SerializedNavigationEntry::ToSyncData() const {
|
| return sync_data;
|
| }
|
|
|
| +size_t SerializedNavigationEntry::EstimateMemoryUsage() const {
|
| + using base::trace_event::EstimateMemoryUsage;
|
| + return
|
| + EstimateMemoryUsage(referrer_url_) +
|
| + EstimateMemoryUsage(virtual_url_) +
|
| + EstimateMemoryUsage(title_) +
|
| + EstimateMemoryUsage(encoded_page_state_) +
|
| + EstimateMemoryUsage(original_request_url_) +
|
| + EstimateMemoryUsage(search_terms_) +
|
| + EstimateMemoryUsage(favicon_url_) +
|
| + EstimateMemoryUsage(redirect_chain_) +
|
| + EstimateMemoryUsage(content_pack_categories_) +
|
| + EstimateMemoryUsage(extended_info_map_);
|
| +}
|
| +
|
| } // namespace sessions
|
|
|