OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2010 Apple Inc. All rights reserved. | 2 * Copyright (C) 2010 Apple Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 ("Blink.Gesture.Merged", GestureMergeStateEnd)); | 107 ("Blink.Gesture.Merged", GestureMergeStateEnd)); |
108 int sample = 0; | 108 int sample = 0; |
109 if (oldToken.hasGestures()) | 109 if (oldToken.hasGestures()) |
110 sample |= OldTokenHasGesture; | 110 sample |= OldTokenHasGesture; |
111 if (newToken.hasGestures()) | 111 if (newToken.hasGestures()) |
112 sample |= NewTokenHasGesture; | 112 sample |= NewTokenHasGesture; |
113 gestureMergeHistogram.count(sample); | 113 gestureMergeHistogram.count(sample); |
114 } | 114 } |
115 | 115 |
116 UserGestureToken* UserGestureIndicator::s_rootToken = nullptr; | 116 UserGestureToken* UserGestureIndicator::s_rootToken = nullptr; |
117 bool UserGestureIndicator::s_processedUserGestureSinceLoad = false; | |
118 | 117 |
119 UserGestureIndicator::UserGestureIndicator(PassRefPtr<UserGestureToken> token) | 118 UserGestureIndicator::UserGestureIndicator(PassRefPtr<UserGestureToken> token) |
120 : m_token(token) { | 119 : m_token(token) { |
121 // Silently ignore UserGestureIndicators on non-main threads. | 120 // Silently ignore UserGestureIndicators on non-main threads. |
122 if (!isMainThread() || !m_token) | 121 if (!isMainThread() || !m_token) |
123 return; | 122 return; |
124 | 123 |
125 if (!s_rootToken) { | 124 if (!s_rootToken) { |
126 s_rootToken = m_token.get(); | 125 s_rootToken = m_token.get(); |
127 } else { | 126 } else { |
128 RecordUserGestureMerge(*s_rootToken, *m_token); | 127 RecordUserGestureMerge(*s_rootToken, *m_token); |
129 m_token->transferGestureTo(s_rootToken); | 128 m_token->transferGestureTo(s_rootToken); |
130 } | 129 } |
131 s_processedUserGestureSinceLoad = true; | |
132 } | 130 } |
133 | 131 |
134 UserGestureIndicator::~UserGestureIndicator() { | 132 UserGestureIndicator::~UserGestureIndicator() { |
135 if (isMainThread() && m_token && m_token == s_rootToken) { | 133 if (isMainThread() && m_token && m_token == s_rootToken) { |
136 s_rootToken->setUserGestureUtilizedCallback(nullptr); | 134 s_rootToken->setUserGestureUtilizedCallback(nullptr); |
137 s_rootToken = nullptr; | 135 s_rootToken = nullptr; |
138 } | 136 } |
139 } | 137 } |
140 | 138 |
141 // static | 139 // static |
(...skipping 26 matching lines...) Expand all Loading... |
168 return false; | 166 return false; |
169 } | 167 } |
170 | 168 |
171 // static | 169 // static |
172 UserGestureToken* UserGestureIndicator::currentToken() { | 170 UserGestureToken* UserGestureIndicator::currentToken() { |
173 if (!isMainThread() || !s_rootToken) | 171 if (!isMainThread() || !s_rootToken) |
174 return nullptr; | 172 return nullptr; |
175 return s_rootToken; | 173 return s_rootToken; |
176 } | 174 } |
177 | 175 |
178 // static | |
179 void UserGestureIndicator::clearProcessedUserGestureSinceLoad() { | |
180 if (isMainThread()) | |
181 s_processedUserGestureSinceLoad = false; | |
182 } | |
183 | |
184 // static | |
185 bool UserGestureIndicator::processedUserGestureSinceLoad() { | |
186 if (!isMainThread()) | |
187 return false; | |
188 return s_processedUserGestureSinceLoad; | |
189 } | |
190 | |
191 } // namespace blink | 176 } // namespace blink |
OLD | NEW |