Changeset 46518 in webkit
- Timestamp:
- Jul 28, 2009, 9:53:53 PM (16 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r46517 r46518 1 2009-07-28 Joseph Pecoraro <joepeck02@gmail.com> 2 3 Inspector: Automatically Refresh DOM Storage Grids on "storage" event 4 5 https://bugs.webkit.org/show_bug.cgi?id=27400 6 7 Reviewed by Timothy Hatcher. 8 9 * inspector/front-end/DatabasesPanel.js: 10 (WebInspector.DatabasesPanel.prototype.show): trigger adding the listener 11 (WebInspector.DatabasesPanel.prototype.reset): trigger removing the listener 12 (WebInspector.DatabasesPanel.prototype._registerStorageEventListener): register the listener on the inspected window 13 (WebInspector.DatabasesPanel.prototype._unregisterStorageEventListener): unregister the listener on the inspected window 14 (WebInspector.DatabasesPanel.prototype._storageEvent): handle the storage event 15 1 16 2009-07-28 Keishi Hattori <casey.hattori@gmail.com> 2 17 -
trunk/WebCore/inspector/front-end/DatabasesPanel.js
r46517 r46518 1 1 /* 2 2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. 3 * Copyright (C) 2009 Joseph Pecoraro 3 4 * 4 5 * Redistribution and use in source and binary forms, with or without … … 86 87 WebInspector.Panel.prototype.show.call(this); 87 88 this._updateSidebarWidth(); 89 this._registerStorageEventListener(); 88 90 }, 89 91 … … 101 103 102 104 this._databases = []; 105 106 this._unregisterStorageEventListener(); 103 107 104 108 if (this._domStorage) { … … 397 401 }, 398 402 403 _registerStorageEventListener: function() 404 { 405 var inspectedWindow = InspectorController.inspectedWindow(); 406 if (!inspectedWindow || !inspectedWindow.document) 407 return; 408 409 this._storageEventListener = InspectorController.wrapCallback(this._storageEvent.bind(this)); 410 inspectedWindow.addEventListener("storage", this._storageEventListener, true); 411 }, 412 413 _unregisterStorageEventListener: function() 414 { 415 var inspectedWindow = InspectorController.inspectedWindow(); 416 if (!inspectedWindow || !inspectedWindow.document) 417 return; 418 419 inspectedWindow.removeEventListener("storage", this._storageEventListener, true); 420 delete this._storageEventListener; 421 }, 422 423 _storageEvent: function(event) 424 { 425 if (!this._domStorage) 426 return; 427 428 var isLocalStorage = (event.storageArea === InspectorController.inspectedWindow().localStorage); 429 var domStorageLength = this._domStorage.length; 430 for (var i = 0; i < domStorageLength; ++i) { 431 var domStorage = this._domStorage[i]; 432 if (isLocalStorage === domStorage.isLocalStorage) { 433 var view = domStorage._domStorageView; 434 if (this.visibleView && view === this.visibleView) 435 domStorage._domStorageView.update(); 436 } 437 } 438 }, 439 399 440 _startSidebarDragging: function(event) 400 441 {
Note:
See TracChangeset
for help on using the changeset viewer.