Closed
Bug 920525
Opened 11 years ago
Closed 11 years ago
make inline history more efficient when inserting elements
Categories
(bugzilla.mozilla.org Graveyard :: Extensions: InlineHistory, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: glob, Assigned: glob)
References
Details
from Wladimir Palant, in bug 919836 comment 9:
Now that I've looked into the Bugzilla code (https://bugzilla.mozilla.org/extensions/InlineHistory/web/inline-history.js) my suspicion in comment 8 seems correct:
> var itemHtml = '<div class="ih_history_item ' + containerClass + '" '
> + 'id="h' + i + '">'
> + item[3]
> + '<div class="ih_history_change">' + item[2] + '</div>'
> + '</div>';
>
> if (ih_activity_sort_order == 'oldest_to_newest') {
> currentDiv.innerHTML = currentDiv.innerHTML + itemHtml;
> } else {
> currentDiv.innerHTML = itemHtml + currentDiv.innerHTML;
> }
This is being done for each single history item and in case of bug 705294 currentDiv is always the same element (there is only one comment so all history items are being inserted into the same place). Each time an item is being added the HTML code for the entire block (including all the previously added items) has to be reparsed. The most trivial way to avoid this issue would be replacing the code above by one that doesn't touch already existing elements:
> var item = document.createElement("div");
> item.className = "ih_history_item " + containerClass;
> item.id = "h' + i;
> item.innerHTML = item[3] + '<div class="ih_history_change">' + item[2] + '</div>';
>
> if (ih_activity_sort_order == 'oldest_to_newest') {
> currentDiv.appendChild(item);
> } else {
> currentDiv.insertChild(item, currentDiv.firstChild);
> }
this did indeed make a significant difference when displaying bug 705294, thanks again wladimir :)
Committing to: bzr+ssh://bjones%40mozilla.com@bzr.mozilla.org/bmo/4.2/
modified extensions/InlineHistory/web/inline-history.js
Committed revision 9038.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Comment 2•11 years ago
|
||
Wow, that's fast! (It really annoyed me that debug builds would pop up slow script warnings on relatively small pages such as bug 61491.)
Updated•6 years ago
|
Product: bugzilla.mozilla.org → bugzilla.mozilla.org Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•