Changes between Version 1 and Version 3 of Ticket #5063


Ignore:
Timestamp:
04/15/2017 02:50:16 PM (3 years ago)
Author:
trev
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #5063

    • Property Blocking changed from 4122 to 4122, 5144
    • Property Summary changed from Make FilterNotifier calls more efficient to [emscripten] Make FilterNotifier calls more efficient
  • Ticket #5063 – Description

    v1 v3  
    22We currently call the JS class `FilterNotifier` whenever a filter or subscription property changes. However, we unnecessarily bloat the code size by creating a new `EM_ASM` block for each property. Also, we have the topic names in Emscripten even though these are constants - this wastes memory and requires a string conversion to be performed for each call. Finally, we currently have wrong topic names, e.g. `filter.mDisabled` rather than `filter.disabled`. 
    33 
     4In addition, property change notifications transmit both the old and the new property value. This functionality is as good as unused - only FilterListener using the new value as far as I can see, and here it isn't really necessary. 
     5 
    46=== What to change === 
    5 Create a `FilterNotifier` C++ namespace providing the functionality to notify JavaScript code about changes - use the same `EM_ASM` block for all notifications. Define the topics as an enum and map the numerical topics to strings in JavaScript via custom bindings generator (#5062). 
     7Create a `FilterNotifier` C++ namespace providing the functionality to notify JavaScript code about changes - use the same `EM_ASM` block for all notifications. Define the topics as an enum and map the numerical topics to strings in JavaScript via custom bindings generator (#5062). Remove `newValue` and `oldValue` parameters.