If a device is active, remove it on resize. If not, leave device properties
alone, so that things like touch simulation stay enabled when resizing without
a device.
MozReview-Commit-ID: Hvo6AdTJRBJ
Use "change" instead of "update" terminology with viewport properties.
Remove redundant "viewport" word from viewport changes.
MozReview-Commit-ID: HSFLiZyTVYy
This change brings the following improvements to RDM:
* Page state is preserved when toggling in and out of RDM
* Session history is no longer manipulated, so the tool UI won't end up in the
tab's back-forward page list.
Known issues to be fixed later:
* The browser UI is not hooked up to the viewport browser
* Restarting the browser with the tool open shows a confused, empty RDM
MozReview-Commit-ID: Fb6QRv6LYow
There are few easy wins that greatly improve our perf with React:
* Add the PureRenderMixin to pure components that always render the same thing
given the same props and state. This implements React's shouldComponentUpdate
as a shallow equality check of the props and state, so render() will be
skipped if they match the previous values.
* Change action dispatch functions so they are only created once instead of on
each render(). If an outer component creates new functions for each render()
call, then the PureRenderMixin equality check fails for only the new function
instances, even though no data has changed.
MozReview-Commit-ID: D96X048nEF4