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
--HG--
extra : rebase_source : d8c49b55c01ca625b7e85c52c4be63175ba98fd0
Use "change" instead of "update" terminology with viewport properties.
Remove redundant "viewport" word from viewport changes.
MozReview-Commit-ID: HSFLiZyTVYy
--HG--
rename : devtools/client/responsive.html/test/unit/test_change_viewport_device.js => devtools/client/responsive.html/test/unit/test_change_device.js
extra : rebase_source : ddf227119edc0e022d586cf46b448e1891d059aa
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