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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/ui/Popover.js

Issue 2779853002: [DevTools] Allow hide timeout in popover be longer than show timeout (Closed)
Patch Set: Created 3 years, 8 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 | « third_party/WebKit/Source/devtools/front_end/perf_ui/TimelineOverviewPane.js ('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 /* 1 /*
2 * Copyright (C) 2009 Google Inc. All rights reserved. 2 * Copyright (C) 2009 Google 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 are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 */ 104 */
105 _mouseMove(event) { 105 _mouseMove(event) {
106 // Pretend that nothing has happened. 106 // Pretend that nothing has happened.
107 if (this._eventInScheduledContent(event)) 107 if (this._eventInScheduledContent(event))
108 return; 108 return;
109 109
110 this._startHidePopoverTimer(this._hideTimeout); 110 this._startHidePopoverTimer(this._hideTimeout);
111 this._stopShowPopoverTimer(); 111 this._stopShowPopoverTimer();
112 if (event.which && this._disableOnClick) 112 if (event.which && this._disableOnClick)
113 return; 113 return;
114 this._startShowPopoverTimer( 114 this._startShowPopoverTimer(event, this.isPopoverVisible() ? this._timeout * 0.6 : this._timeout);
115 event, this.isPopoverVisible() ? Math.max(this._timeout * 0.6, this._hid eTimeout) : this._timeout);
116 } 115 }
117 116
118 /** 117 /**
119 * @param {!Event} event 118 * @param {!Event} event
120 */ 119 */
121 _popoverMouseMove(event) { 120 _popoverMouseMove(event) {
122 this._stopHidePopoverTimer(); 121 this._stopHidePopoverTimer();
123 } 122 }
124 123
125 /** 124 /**
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 * @param {!Event} event 160 * @param {!Event} event
162 * @param {number} timeout 161 * @param {number} timeout
163 */ 162 */
164 _startShowPopoverTimer(event, timeout) { 163 _startShowPopoverTimer(event, timeout) {
165 this._scheduledRequest = this._getRequest.call(null, event); 164 this._scheduledRequest = this._getRequest.call(null, event);
166 if (!this._scheduledRequest) 165 if (!this._scheduledRequest)
167 return; 166 return;
168 167
169 this._showPopoverTimer = setTimeout(() => { 168 this._showPopoverTimer = setTimeout(() => {
170 delete this._showPopoverTimer; 169 delete this._showPopoverTimer;
170 this._stopHidePopoverTimer();
171 this._hidePopover();
171 this._showPopover(event.target.ownerDocument); 172 this._showPopover(event.target.ownerDocument);
172 }, timeout); 173 }, timeout);
173 } 174 }
174 175
175 _stopShowPopoverTimer() { 176 _stopShowPopoverTimer() {
176 if (!this._showPopoverTimer) 177 if (!this._showPopoverTimer)
177 return; 178 return;
178 clearTimeout(this._showPopoverTimer); 179 clearTimeout(this._showPopoverTimer);
179 delete this._showPopoverTimer; 180 delete this._showPopoverTimer;
180 } 181 }
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
247 delete this._hidePopoverTimer; 248 delete this._hidePopoverTimer;
248 249
249 // We know that we reached the popup, but we might have moved over other ele ments. 250 // We know that we reached the popup, but we might have moved over other ele ments.
250 // Discard pending command. 251 // Discard pending command.
251 this._stopShowPopoverTimer(); 252 this._stopShowPopoverTimer();
252 } 253 }
253 }; 254 };
254 255
255 /** @typedef {{box: !AnchorBox, show:(function(!UI.GlassPane):!Promise<boolean>) , hide:(function()|undefined)}} */ 256 /** @typedef {{box: !AnchorBox, show:(function(!UI.GlassPane):!Promise<boolean>) , hide:(function()|undefined)}} */
256 UI.PopoverRequest; 257 UI.PopoverRequest;
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/devtools/front_end/perf_ui/TimelineOverviewPane.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698