Skip to content

ShadowNodes need to participate in UnimplementedProperty #4746

@asklar

Description

@asklar

In #4575 I refactored our ViewManagers to report when a property wasn't handled by them.
Some properties can be handled by ShadowNodes, either exclusively or in addition to ViewManagers. For example, the height property has special treatment in the Icon shadow node, but then it also needs to be handled by the FrameworkElement ViewManager.
All this means that we also need to keep track of whether a shadow node has looked at a property before it passed it onto the view manager.

  1. Move updateProperties up to the base class only
  2. Change subclasses' implementations of updateProperties to do updateProperty (and return bool, and have each class delegate to Super::updateProperty).
  3. When ShadowNode base finishes asking updateProperty, and it goes to ask the viewmanager, it has to pass whether updateProperty was handled or not (as a new parameter to ViewManagerBase::UpdateProperties).
    In reality there probably may not be a reason for ViewManagerBase::UpdateProperties to do anything anymore and we may be able to live with only VMB::UpdateProperty (and do the multi-item part in ShadowNodeBase).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions