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

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

Issue 2170993002: Revert of DevTools: keep widgets in widget hierarchy upon hide, split attach/detach cycle from show/hide. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 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 * 1. Redistributions of source code must retain the above copyright 8 * 1. 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 * 10 *
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 this._innerSetSidebarSizeDIP(this._preferredSidebarSizeDIP(), !!animate) ; 145 this._innerSetSidebarSizeDIP(this._preferredSidebarSizeDIP(), !!animate) ;
146 }, 146 },
147 147
148 /** 148 /**
149 * @param {!WebInspector.Widget} widget 149 * @param {!WebInspector.Widget} widget
150 */ 150 */
151 setMainWidget: function(widget) 151 setMainWidget: function(widget)
152 { 152 {
153 if (this._mainWidget === widget) 153 if (this._mainWidget === widget)
154 return; 154 return;
155 this.suspendInvalidations();
156 if (this._mainWidget) 155 if (this._mainWidget)
157 this._mainWidget.detach(); 156 this._mainWidget.detach();
158 this._mainWidget = widget; 157 this._mainWidget = widget;
159 if (widget) { 158 if (widget) {
160 widget.element.classList.add("insertion-point-main"); 159 widget.element.classList.add("insertion-point-main");
161 widget.element.classList.remove("insertion-point-sidebar"); 160 widget.element.classList.remove("insertion-point-sidebar");
162 widget.attach(this.element, this._sidebarWidget ? this._sidebarWidge t.element : null);
163 if (this._showMode === WebInspector.SplitWidget.ShowMode.OnlyMain || this._showMode === WebInspector.SplitWidget.ShowMode.Both) 161 if (this._showMode === WebInspector.SplitWidget.ShowMode.OnlyMain || this._showMode === WebInspector.SplitWidget.ShowMode.Both)
164 widget.showWidget(); 162 widget.show(this.element);
165 } 163 }
166 this.resumeInvalidations();
167 }, 164 },
168 165
169 /** 166 /**
170 * @param {!WebInspector.Widget} widget 167 * @param {!WebInspector.Widget} widget
171 */ 168 */
172 setSidebarWidget: function(widget) 169 setSidebarWidget: function(widget)
173 { 170 {
174 if (this._sidebarWidget === widget) 171 if (this._sidebarWidget === widget)
175 return; 172 return;
176 this.suspendInvalidations();
177 if (this._sidebarWidget) 173 if (this._sidebarWidget)
178 this._sidebarWidget.detach(); 174 this._sidebarWidget.detach();
179 this._sidebarWidget = widget; 175 this._sidebarWidget = widget;
180 if (widget) { 176 if (widget) {
181 widget.element.classList.add("insertion-point-sidebar"); 177 widget.element.classList.add("insertion-point-sidebar");
182 widget.element.classList.remove("insertion-point-main"); 178 widget.element.classList.remove("insertion-point-main");
183 widget.attach(this.element);
184 if (this._showMode === WebInspector.SplitWidget.ShowMode.OnlySidebar || this._showMode === WebInspector.SplitWidget.ShowMode.Both) 179 if (this._showMode === WebInspector.SplitWidget.ShowMode.OnlySidebar || this._showMode === WebInspector.SplitWidget.ShowMode.Both)
185 widget.showWidget(); 180 widget.show(this.element);
186 } 181 }
187 this.resumeInvalidations();
188 }, 182 },
189 183
190 /** 184 /**
191 * @return {?WebInspector.Widget} 185 * @return {?WebInspector.Widget}
192 */ 186 */
193 mainWidget: function() 187 mainWidget: function()
194 { 188 {
195 return this._mainWidget; 189 return this._mainWidget;
196 }, 190 },
197 191
198 /** 192 /**
199 * @return {?WebInspector.Widget} 193 * @return {?WebInspector.Widget}
200 */ 194 */
201 sidebarWidget: function() 195 sidebarWidget: function()
202 { 196 {
203 return this._sidebarWidget; 197 return this._sidebarWidget;
204 }, 198 },
205 199
206 /** 200 /**
207 * @override 201 * @override
208 * @param {!WebInspector.Widget} widget 202 * @param {!WebInspector.Widget} widget
209 */ 203 */
210 childWasDetached: function(widget) 204 childWasDetached: function(widget)
211 { 205 {
206 if (this._detaching)
207 return;
212 if (this._mainWidget === widget) 208 if (this._mainWidget === widget)
213 delete this._mainWidget; 209 delete this._mainWidget;
214 if (this._sidebarWidget === widget) 210 if (this._sidebarWidget === widget)
215 delete this._sidebarWidget; 211 delete this._sidebarWidget;
216 }, 212 },
217 213
218 /** 214 /**
219 * @return {boolean} 215 * @return {boolean}
220 */ 216 */
221 isSidebarSecond: function() 217 isSidebarSecond: function()
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 this._cancelAnimation(); 309 this._cancelAnimation();
314 310
315 /** 311 /**
316 * @this {WebInspector.SplitWidget} 312 * @this {WebInspector.SplitWidget}
317 */ 313 */
318 function callback() 314 function callback()
319 { 315 {
320 if (sideToShow) { 316 if (sideToShow) {
321 // Make sure main is first in the children list. 317 // Make sure main is first in the children list.
322 if (sideToShow === this._mainWidget) 318 if (sideToShow === this._mainWidget)
323 this._mainWidget.showWidget(); 319 this._mainWidget.show(this.element, this._sidebarWidget ? th is._sidebarWidget.element : null);
324 else 320 else
325 this._sidebarWidget.showWidget(); 321 this._sidebarWidget.show(this.element);
326 } 322 }
327 if (sideToHide) 323 if (sideToHide) {
328 sideToHide.hideWidget(); 324 this._detaching = true;
325 sideToHide.detach();
326 delete this._detaching;
327 }
329 328
330 this._resizerElement.classList.add("hidden"); 329 this._resizerElement.classList.add("hidden");
331 shadowToShow.classList.remove("hidden"); 330 shadowToShow.classList.remove("hidden");
332 shadowToShow.classList.add("maximized"); 331 shadowToShow.classList.add("maximized");
333 shadowToHide.classList.add("hidden"); 332 shadowToHide.classList.add("hidden");
334 shadowToHide.classList.remove("maximized"); 333 shadowToHide.classList.remove("maximized");
335 this._removeAllLayoutProperties(); 334 this._removeAllLayoutProperties();
336 this.doResize(); 335 this.doResize();
337 } 336 }
338 337
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
373 if (this._showMode === WebInspector.SplitWidget.ShowMode.Both) 372 if (this._showMode === WebInspector.SplitWidget.ShowMode.Both)
374 animate = false; 373 animate = false;
375 374
376 this._cancelAnimation(); 375 this._cancelAnimation();
377 this._mainElement.classList.remove("maximized", "hidden"); 376 this._mainElement.classList.remove("maximized", "hidden");
378 this._sidebarElement.classList.remove("maximized", "hidden"); 377 this._sidebarElement.classList.remove("maximized", "hidden");
379 this._resizerElement.classList.remove("hidden"); 378 this._resizerElement.classList.remove("hidden");
380 this.setResizable(true); 379 this.setResizable(true);
381 380
382 // Make sure main is the first in the children list. 381 // Make sure main is the first in the children list.
383 this.suspendInvalidations();
384 if (this._sidebarWidget) 382 if (this._sidebarWidget)
385 this._sidebarWidget.showWidget(); 383 this._sidebarWidget.show(this.element);
386 if (this._mainWidget) 384 if (this._mainWidget)
387 this._mainWidget.showWidget(); 385 this._mainWidget.show(this.element, this._sidebarWidget ? this._side barWidget.element : null);
388 this.resumeInvalidations();
389 // Order widgets in DOM properly. 386 // Order widgets in DOM properly.
390 this.setSecondIsSidebar(this._secondIsSidebar); 387 this.setSecondIsSidebar(this._secondIsSidebar);
391 388
392 this._sidebarSizeDIP = -1; 389 this._sidebarSizeDIP = -1;
393 this._updateShowMode(WebInspector.SplitWidget.ShowMode.Both); 390 this._updateShowMode(WebInspector.SplitWidget.ShowMode.Both);
394 this._updateLayout(animate); 391 this._updateLayout(animate);
395 }, 392 },
396 393
397 /** 394 /**
398 * @param {boolean} resizable 395 * @param {boolean} resizable
(...skipping 517 matching lines...) Expand 10 before | Expand all | Expand 10 after
916 this._showHideSidebarButton.classList.toggle("toggled-hide", !sidebarHid den); 913 this._showHideSidebarButton.classList.toggle("toggled-hide", !sidebarHid den);
917 this._showHideSidebarButton.classList.toggle("top-sidebar-show-hide-butt on", !this.isVertical() && !this.isSidebarSecond()); 914 this._showHideSidebarButton.classList.toggle("top-sidebar-show-hide-butt on", !this.isVertical() && !this.isSidebarSecond());
918 this._showHideSidebarButton.classList.toggle("right-sidebar-show-hide-bu tton", this.isVertical() && this.isSidebarSecond()); 915 this._showHideSidebarButton.classList.toggle("right-sidebar-show-hide-bu tton", this.isVertical() && this.isSidebarSecond());
919 this._showHideSidebarButton.classList.toggle("bottom-sidebar-show-hide-b utton", !this.isVertical() && this.isSidebarSecond()); 916 this._showHideSidebarButton.classList.toggle("bottom-sidebar-show-hide-b utton", !this.isVertical() && this.isSidebarSecond());
920 this._showHideSidebarButton.classList.toggle("left-sidebar-show-hide-but ton", this.isVertical() && !this.isSidebarSecond()); 917 this._showHideSidebarButton.classList.toggle("left-sidebar-show-hide-but ton", this.isVertical() && !this.isSidebarSecond());
921 this._showHideSidebarButton.title = sidebarHidden ? WebInspector.UIStrin g("Show %s", this._showHideSidebarButtonTitle) : WebInspector.UIString("Hide %s" , this._showHideSidebarButtonTitle); 918 this._showHideSidebarButton.title = sidebarHidden ? WebInspector.UIStrin g("Show %s", this._showHideSidebarButtonTitle) : WebInspector.UIString("Hide %s" , this._showHideSidebarButtonTitle);
922 }, 919 },
923 920
924 __proto__: WebInspector.Widget.prototype 921 __proto__: WebInspector.Widget.prototype
925 } 922 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698