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

Side by Side Diff: content/child/web_database_observer_impl.cc

Issue 666333002: Remove isSyncDatabase in WebDatabaseObserver [2/3] (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 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
« no previous file with comments | « content/child/web_database_observer_impl.h ('k') | no next file » | 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 #include "content/child/web_database_observer_impl.h" 5 #include "content/child/web_database_observer_impl.h"
6 6
7 #include "base/metrics/histogram.h" 7 #include "base/metrics/histogram.h"
8 #include "base/strings/string16.h" 8 #include "base/strings/string16.h"
9 #include "content/common/database_messages.h" 9 #include "content/common/database_messages.h"
10 #include "third_party/WebKit/public/platform/WebCString.h" 10 #include "third_party/WebKit/public/platform/WebCString.h"
(...skipping 20 matching lines...) Expand all
31 if (websql_error == -1) 31 if (websql_error == -1)
32 return 0; // no error 32 return 0; // no error
33 33
34 // SQLExceptionCode starts at 1000 34 // SQLExceptionCode starts at 1000
35 if (websql_error >= 1000) 35 if (websql_error >= 1000)
36 websql_error -= 1000; 36 websql_error -= 1000;
37 37
38 return std::min(websql_error + 30, kResultHistogramSize - 1); 38 return std::min(websql_error + 30, kResultHistogramSize - 1);
39 } 39 }
40 40
41 #define UMA_HISTOGRAM_WEBSQL_RESULT(name, is_sync_database, \ 41 #define UMA_HISTOGRAM_WEBSQL_RESULT(name, callsite, websql_error, sqlite_error) \
42 callsite, websql_error, sqlite_error) \
43 do { \ 42 do { \
44 DCHECK(callsite < kCallsiteHistogramSize); \ 43 DCHECK(callsite < kCallsiteHistogramSize); \
45 int result = DetermineHistogramResult(websql_error, sqlite_error); \ 44 int result = DetermineHistogramResult(websql_error, sqlite_error); \
46 if (is_sync_database) { \ 45 UMA_HISTOGRAM_ENUMERATION("websql.Async." name, \
47 UMA_HISTOGRAM_ENUMERATION("websql.Sync." name, \ 46 result, kResultHistogramSize); \
48 result, kResultHistogramSize); \ 47 if (result) { \
49 if (result) { \ 48 UMA_HISTOGRAM_ENUMERATION("websql.Async." name ".ErrorSite", \
50 UMA_HISTOGRAM_ENUMERATION("websql.Sync." name ".ErrorSite", \ 49 callsite, kCallsiteHistogramSize); \
51 callsite, kCallsiteHistogramSize); \
52 } \
53 } else { \
54 UMA_HISTOGRAM_ENUMERATION("websql.Async." name, \
55 result, kResultHistogramSize); \
56 if (result) { \
57 UMA_HISTOGRAM_ENUMERATION("websql.Async." name ".ErrorSite", \
58 callsite, kCallsiteHistogramSize); \
59 } \
60 } \ 50 } \
61 } while (0) 51 } while (0)
62
63 } // namespace 52 } // namespace
64 53
65 WebDatabaseObserverImpl::WebDatabaseObserverImpl(IPC::SyncMessageFilter* sender) 54 WebDatabaseObserverImpl::WebDatabaseObserverImpl(IPC::SyncMessageFilter* sender)
66 : sender_(sender), 55 : sender_(sender),
67 open_connections_(new storage::DatabaseConnectionsWrapper) { 56 open_connections_(new storage::DatabaseConnectionsWrapper) {
68 DCHECK(sender); 57 DCHECK(sender);
69 } 58 }
70 59
71 WebDatabaseObserverImpl::~WebDatabaseObserverImpl() { 60 WebDatabaseObserverImpl::~WebDatabaseObserverImpl() {
72 } 61 }
(...skipping 22 matching lines...) Expand all
95 const WebString& database_name) { 84 const WebString& database_name) {
96 sender_->Send(new DatabaseHostMsg_Closed( 85 sender_->Send(new DatabaseHostMsg_Closed(
97 origin_identifier.utf8(), database_name)); 86 origin_identifier.utf8(), database_name));
98 open_connections_->RemoveOpenConnection(origin_identifier.utf8(), 87 open_connections_->RemoveOpenConnection(origin_identifier.utf8(),
99 database_name); 88 database_name);
100 } 89 }
101 90
102 void WebDatabaseObserverImpl::reportOpenDatabaseResult( 91 void WebDatabaseObserverImpl::reportOpenDatabaseResult(
103 const WebString& origin_identifier, 92 const WebString& origin_identifier,
104 const WebString& database_name, 93 const WebString& database_name,
105 bool is_sync_database,
106 int callsite, int websql_error, int sqlite_error) { 94 int callsite, int websql_error, int sqlite_error) {
107 UMA_HISTOGRAM_WEBSQL_RESULT("OpenResult", is_sync_database, callsite, 95 UMA_HISTOGRAM_WEBSQL_RESULT("OpenResult", callsite,
108 websql_error, sqlite_error); 96 websql_error, sqlite_error);
109 HandleSqliteError(origin_identifier, database_name, sqlite_error); 97 HandleSqliteError(origin_identifier, database_name, sqlite_error);
110 } 98 }
111 99
112 void WebDatabaseObserverImpl::reportChangeVersionResult( 100 void WebDatabaseObserverImpl::reportChangeVersionResult(
113 const WebString& origin_identifier, 101 const WebString& origin_identifier,
114 const WebString& database_name, 102 const WebString& database_name,
115 bool is_sync_database,
116 int callsite, int websql_error, int sqlite_error) { 103 int callsite, int websql_error, int sqlite_error) {
117 UMA_HISTOGRAM_WEBSQL_RESULT("ChangeVersionResult", is_sync_database, callsite, 104 UMA_HISTOGRAM_WEBSQL_RESULT("ChangeVersionResult", callsite,
118 websql_error, sqlite_error); 105 websql_error, sqlite_error);
119 HandleSqliteError(origin_identifier, database_name, sqlite_error); 106 HandleSqliteError(origin_identifier, database_name, sqlite_error);
120 } 107 }
121 108
122 void WebDatabaseObserverImpl::reportStartTransactionResult( 109 void WebDatabaseObserverImpl::reportStartTransactionResult(
123 const WebString& origin_identifier, 110 const WebString& origin_identifier,
124 const WebString& database_name, 111 const WebString& database_name,
125 bool is_sync_database,
126 int callsite, int websql_error, int sqlite_error) { 112 int callsite, int websql_error, int sqlite_error) {
127 UMA_HISTOGRAM_WEBSQL_RESULT("BeginResult", is_sync_database, callsite, 113 UMA_HISTOGRAM_WEBSQL_RESULT("BeginResult", callsite,
128 websql_error, sqlite_error); 114 websql_error, sqlite_error);
129 HandleSqliteError(origin_identifier, database_name, sqlite_error); 115 HandleSqliteError(origin_identifier, database_name, sqlite_error);
130 } 116 }
131 117
132 void WebDatabaseObserverImpl::reportCommitTransactionResult( 118 void WebDatabaseObserverImpl::reportCommitTransactionResult(
133 const WebString& origin_identifier, 119 const WebString& origin_identifier,
134 const WebString& database_name, 120 const WebString& database_name,
135 bool is_sync_database,
136 int callsite, int websql_error, int sqlite_error) { 121 int callsite, int websql_error, int sqlite_error) {
137 UMA_HISTOGRAM_WEBSQL_RESULT("CommitResult", is_sync_database, callsite, 122 UMA_HISTOGRAM_WEBSQL_RESULT("CommitResult", callsite,
138 websql_error, sqlite_error); 123 websql_error, sqlite_error);
139 HandleSqliteError(origin_identifier, database_name, sqlite_error); 124 HandleSqliteError(origin_identifier, database_name, sqlite_error);
140 } 125 }
141 126
142 void WebDatabaseObserverImpl::reportExecuteStatementResult( 127 void WebDatabaseObserverImpl::reportExecuteStatementResult(
143 const WebString& origin_identifier, 128 const WebString& origin_identifier,
144 const WebString& database_name, 129 const WebString& database_name,
145 bool is_sync_database,
146 int callsite, int websql_error, int sqlite_error) { 130 int callsite, int websql_error, int sqlite_error) {
147 UMA_HISTOGRAM_WEBSQL_RESULT("StatementResult", is_sync_database, callsite, 131 UMA_HISTOGRAM_WEBSQL_RESULT("StatementResult", callsite,
148 websql_error, sqlite_error); 132 websql_error, sqlite_error);
149 HandleSqliteError(origin_identifier, database_name, sqlite_error); 133 HandleSqliteError(origin_identifier, database_name, sqlite_error);
150 } 134 }
151 135
152 void WebDatabaseObserverImpl::reportVacuumDatabaseResult( 136 void WebDatabaseObserverImpl::reportVacuumDatabaseResult(
153 const WebString& origin_identifier, 137 const WebString& origin_identifier,
154 const WebString& database_name, 138 const WebString& database_name,
155 bool is_sync_database,
156 int sqlite_error) { 139 int sqlite_error) {
157 int result = DetermineHistogramResult(-1, sqlite_error); 140 int result = DetermineHistogramResult(-1, sqlite_error);
158 if (is_sync_database) { 141 UMA_HISTOGRAM_ENUMERATION("websql.Async.VacuumResult",
159 UMA_HISTOGRAM_ENUMERATION("websql.Sync.VacuumResult",
160 result, kResultHistogramSize); 142 result, kResultHistogramSize);
161 } else { 143
162 UMA_HISTOGRAM_ENUMERATION("websql.Async.VacuumResult",
163 result, kResultHistogramSize);
164 }
165 HandleSqliteError(origin_identifier, database_name, sqlite_error); 144 HandleSqliteError(origin_identifier, database_name, sqlite_error);
166 } 145 }
167 146
168 void WebDatabaseObserverImpl::WaitForAllDatabasesToClose() { 147 void WebDatabaseObserverImpl::WaitForAllDatabasesToClose() {
169 open_connections_->WaitForAllDatabasesToClose(); 148 open_connections_->WaitForAllDatabasesToClose();
170 } 149 }
171 150
172 void WebDatabaseObserverImpl::HandleSqliteError( 151 void WebDatabaseObserverImpl::HandleSqliteError(
173 const WebString& origin_identifier, 152 const WebString& origin_identifier,
174 const WebString& database_name, 153 const WebString& database_name,
175 int error) { 154 int error) {
176 // We filter out errors which the backend doesn't act on to avoid 155 // We filter out errors which the backend doesn't act on to avoid
177 // a unnecessary ipc traffic, this method can get called at a fairly 156 // a unnecessary ipc traffic, this method can get called at a fairly
178 // high frequency (per-sqlstatement). 157 // high frequency (per-sqlstatement).
179 if (error == SQLITE_CORRUPT || error == SQLITE_NOTADB) { 158 if (error == SQLITE_CORRUPT || error == SQLITE_NOTADB) {
180 sender_->Send(new DatabaseHostMsg_HandleSqliteError( 159 sender_->Send(new DatabaseHostMsg_HandleSqliteError(
181 origin_identifier.utf8(), 160 origin_identifier.utf8(),
182 database_name, 161 database_name,
183 error)); 162 error));
184 } 163 }
185 } 164 }
186 165
187 } // namespace content 166 } // namespace content
OLDNEW
« no previous file with comments | « content/child/web_database_observer_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698