- delete newValue.type_label;
- delete oldValue.type_label;
- if ( _.isEqual( oldValue, newValue ) ) {
+ _newValue = _.clone( newValue );
+ _oldValue = _.clone( oldValue );
+ delete _newValue.type_label;
+ delete _oldValue.type_label;
+
+ // Normalize URL scheme when parent frame is HTTPS to prevent selective refresh upon initial page load.
+ if ( 'https' === api.preview.scheme.get() ) {
+ urlParser = document.createElement( 'a' );
+ urlParser.href = _newValue.url;
+ urlParser.protocol = 'https:';
+ _newValue.url = urlParser.href;
+ urlParser.href = _oldValue.url;
+ urlParser.protocol = 'https:';
+ _oldValue.url = urlParser.href;
+ }
+
+ // Prevent original_title differences from causing refreshes if title is present.
+ if ( newValue.title ) {
+ delete _oldValue.original_title;
+ delete _newValue.original_title;
+ }
+
+ if ( _.isEqual( _oldValue, _newValue ) ) {