The linked page has a lot of nodes. When you open the inspector, it freezes while trying to render the DOM tree in the Elements panel. Obviously it shouldn't. We should at least be able to use the other panels.
This works fine in Safari 4, so it might be related to the DOM agent changes.
It is still slow in Safari 4 when expanding the SVG <a xlink=""> element. But TOT really does hang for a long time.
The inspector is now reactive when opening. But it is still hanging on expanding <a xlink>. Reflecting that in the title.
(In reply to comment #3) > The inspector is now reactive when opening. > > But it is still hanging on expanding <a xlink>. Reflecting that in the title. We should make dom agent return limited number of children (500?) and the total number of those. That way we would be able to render the 'Load 457 more nodes' link. It is not trivial though due to the node event listeners. Will need additional checks in the agent.
https://bugs.webkit.org/show_bug.cgi?id=34421 is the first stab at the issue. We can elaborate further if that solution is not sufficient.
Created attachment 50311 [details] [PATCH] Optimize Position::isCandidate() and PositionIterator::isCandidate()
Attachment 50311 [details] did not pass style-queue: Failed to run "WebKitTools/Scripts/check-webkit-style" exit_code: 1 WebCore/editing/htmlediting.cpp:76: Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side. [whitespace/operators] [4] WebCore/dom/Position.cpp:740: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] WebCore/dom/Position.cpp:897: Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side. [whitespace/operators] [4] WebCore/dom/Position.cpp:902: Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side. [whitespace/operators] [4] Total errors found: 4 in 5 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 50311 [details] [PATCH] Optimize Position::isCandidate() and PositionIterator::isCandidate() > + bool isParentUserSelect = !nodeIsUserSelectNone(node()->parent()); > if (renderer->isBR()) > - return m_offset == 0 && !nodeIsUserSelectNone(node()->parent()); > + return m_offset == 0 && isParentUserSelect; I think you are regressing the general case here without any wins. Same below.
Created attachment 50314 [details] [PATCH] Style + nits fixed
Attachment 50314 [details] did not pass style-queue: Failed to run "WebKitTools/Scripts/check-webkit-style" exit_code: 1 WebCore/dom/Position.cpp:896: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] WebCore/dom/Position.cpp:901: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] Total errors found: 2 in 5 files If any of these errors are false positives, please file a bug against check-webkit-style.
This issue was fixed in 34421, so closing this bug as duplicate and filing another one to upstream http://code.google.com/p/chromium/issues/detail?id=31832 *** This bug has been marked as a duplicate of bug 34421 ***