Confirmed users
699
edits
| Line 174: | Line 174: | ||
== Recording modifications made to layer trees during transactions == | == Recording modifications made to layer trees during transactions == | ||
It's not clear yet what's the best way to implement this. One approach would be to add an optional <code>TransactionObserver</code> member to <code>LayerManager</code>s. The observer could be notified on each layer tree operation. For remoting layers, we would add a <code>TransactionObserver</code> implementation that bundled up modifications into an <code>nsTArray<Edit></code> per above. A second approach would be for <code>LayerManager</code>s internally, optionally to record all tree modifications, then invoke an optional callback on transaction.End(). For remoting, this callback would transform the manager's internal changeset format into <code>nsTArray<Edit></code>. | |||
== Strawman complete example == | == Strawman complete example == | ||
'''TODO''': assume processes have been launched per diagram above. Walk through layer tree creation and Publish()ing. Walk through transaction and Update() propagation. | '''TODO''': assume processes have been launched per diagram above. Walk through layer tree creation and Publish()ing. Walk through transaction and Update() propagation. | ||