------- Inspected URL: https://www.apple.com/ipad-pro/ Loading completed: true Frontend User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13) AppleWebKit/605.1.1+ (KHTML, like Gecko) Dispatch Source: Protocol Event Protocol Event: {"method":"Canvas.canvasMemoryChanged","params":{"canvasId":"canvas:0.6","memoryCost":182400}} Uncaught Exceptions: - undefined is not an object (evaluating 'this._memoryRow.value = Number.bytesToString(this._canvas.memoryCost)') (at CanvasDetailsSidebarPanel.js:287:24) _formatMemoryRow @ CanvasDetailsSidebarPanel.js:287:24 _canvasMemoryChanged @ CanvasDetailsSidebarPanel.js:292:30 dispatch @ Object.js:170:30 dispatchEventToListeners @ Object.js:177:17 memoryCost @ Canvas.js:119:38 canvasMemoryChanged @ CanvasManager.js:84:15 canvasMemoryChanged @ CanvasObserver.js:42:55 dispatchEvent @ InspectorBackend.js:293:42 _dispatchEvent @ Connection.js:193:32 dispatch @ Connection.js:71:32 dispatch @ InspectorBackend.js:152:49 dispatchNextQueuedMessageFromBackend @ MessageDispatcher.js:42:34 Additional Details: cause --> An uncaught exception was thrown while handling event: Canvas.canvasMemoryChanged ------- * STEPS TO REPRODUCE 1. Turn on canvas feature 2. Go to mentioned website and click around until a canvas shows up
Do you have any other steps to reproduce this? I tried what you said and haven't been able to cause the error.
I think it is possible that this code has been reached before `initialLayout` has created `this._memoryRow`. So we should probably just bail if !this._memoryRow, or expose View's `didInitialLayout` and check that?
Created attachment 316489 [details] Patch
Comment on attachment 316489 [details] Patch r=me Can you also remove the early return in _refreshIdentitySection? It seems unnecessary given its only called in one place after the canvas was already verified.
Created attachment 316497 [details] Patch
Comment on attachment 316497 [details] Patch Clearing flags on attachment: 316497 Committed r219972: <http://trac.webkit.org/changeset/219972>
All reviewed patches have been landed. Closing bug.