third_party/snap-it/popup.js
function updateMinimizedStyleMap(
    doc,
    element,
    originalStyleMap,
    minimizedStyleMap,
    pseudo) {
  var currentComputedStyle = doc.defaultView.getComputedStyle(element, pseudo);
  var foundNewRequiredStyle = false;
  for (var property in originalStyleMap) {
    var originalValue = originalStyleMap[property];
    if (originalValue != currentComputedStyle.getPropertyValue(property)) {
      minimizedStyleMap[property] = originalValue;
      foundNewRequiredStyle = true;
    }
  }
  return foundNewRequiredStyle;
}
function updateMinimizedStyleMap(
    doc,
    element,
    originalStyleMap,
    minimizedStyleMap,
    pseudo) {
  var currentComputedStyle = doc.defaultView.getComputedStyle(element, pseudo);
  var foundNewRequiredStyle = false;
  for (var property in originalStyleMap) {
    var originalValue = originalStyleMap[property];
    if (originalValue != currentComputedStyle.getPropertyValue(property)) {
      minimizedStyleMap[property] = originalValue;
      foundNewRequiredStyle = true;
    }
  }
  return foundNewRequiredStyle;
}
function updateMinimizedStyleMap ( doc , element , originalStyleMap , minimizedStyleMap , pseudo ) { var currentComputedStyle = doc . defaultView . getComputedStyle ( element , pseudo ) ; var foundNewRequiredStyle = false ; for ( var property in originalStyleMap ) { var originalValue = originalStyleMap [ property ] ; if ( originalValue != currentComputedStyle . getPropertyValue ( property ) ) { minimizedStyleMap [ property ] = originalValue ; foundNewRequiredStyle = true ; } } return foundNewRequiredStyle ; }
We compare the original computed style with the minimized computed style
and update |minimizedStyleMap| based on any differences.

@param {Document} doc The Document that contains the rendered HTML.
@param {Element} element The Element whose style attributes should be
minimized.
@param {Object<string, string>} originalStyleMap A map representing the
original computed style values. The keys are style attribute property
names. The values are the corresponding property values.
@param {Object<string, string>} minimizedStyleMap A map representing the
minimized style values. The keys are style attribute property names. The
values are the corresponding property values.
@param {string} pseudo If the style describes an ordinary
Element, then |pseudo| will be set to null.  If the style describes a
pseudo element, then |pseudo| will be the string that represents that
pseudo element.
@return {boolean} Returns true if minimizedStyleMap was changed. Returns false
otherwise.
We compare the original computed style with the minimized computed style and update |minimizedStyleMap| based on any differences .