From 3467cc6876ca266b99edc00b3ea71ba07f786e88 Mon Sep 17 00:00:00 2001 From: Gunther Brunner Date: Wed, 21 May 2014 17:57:37 +0900 Subject: [PATCH] Limit max number of DOM entries to 3000. --- .../stf/logcat-table/logcat-table-directive.js | 14 ++++++++++++-- res/app/components/stf/logcat/logcat-service.js | 1 - 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/res/app/components/stf/logcat-table/logcat-table-directive.js b/res/app/components/stf/logcat-table/logcat-table-directive.js index a3eb2102..21cfa80d 100644 --- a/res/app/components/stf/logcat-table/logcat-table-directive.js +++ b/res/app/components/stf/logcat-table/logcat-table-directive.js @@ -12,8 +12,18 @@ module.exports = function logcatTableDirective($rootScope, $timeout, LogcatServi var scrollHeight = 0 var parent = element[0] var body = element.find('tbody')[0] + const maxEntriesBuffer = 3000 + var numberOfEntries = 0 + + function incrementNumberEntry() { + numberOfEntries++ + if (numberOfEntries > maxEntriesBuffer) { + scope.clearTable() + } + } LogcatService.addEntryListener = function (entry) { + incrementNumberEntry() addRow(body, entry) } @@ -22,6 +32,7 @@ module.exports = function logcatTableDirective($rootScope, $timeout, LogcatServi //var fragment = document.createDocumentFragment() _.each(entries, function (entry) { // TODO: This is not adding all the entries after first scope creation + incrementNumberEntry() addRow(body, entry, true) }) } @@ -78,8 +89,6 @@ module.exports = function logcatTableDirective($rootScope, $timeout, LogcatServi if (autoScroll && shouldAutoScroll() && !batchRequest) { _.throttle(scrollToBottom, 30)() } - - console.log(data.message) } function clearTable() { @@ -91,6 +100,7 @@ module.exports = function logcatTableDirective($rootScope, $timeout, LogcatServi scope.clearTable = function () { LogcatService.clear() + numberOfEntries = 0 clearTable() } diff --git a/res/app/components/stf/logcat/logcat-service.js b/res/app/components/stf/logcat/logcat-service.js index 540a075f..daf97536 100644 --- a/res/app/components/stf/logcat/logcat-service.js +++ b/res/app/components/stf/logcat/logcat-service.js @@ -4,7 +4,6 @@ var _s = require('underscore.string') module.exports = function LogcatServiceFactory(socket, DeviceService, FilterStringService) { var service = {} service.started = false - service.maxEntriesBuffer = 5000 service.numberOfEntries = 0 service.serverFilters = [