**Do you want to request a *feature* or report a *bug*?**
Report a bug

**What is the current behavior?**
Referring to object's method from a another method within same object, `this.deleteValueForProperty(node, name);`, [here](https://github.com/facebook/react/blob/c78464f8ea9a5b00ec80252d20a71a1482210e57/src/renderers/dom/shared/DOMPropertyOperations.js#L141), breaks React build in Closure Compiler under advanced optimizations.

**If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via https://jsfiddle.net or similar (template: https://jsfiddle.net/reactjs/69z2wepo/).**
Build a React app using Closure Compiler in advanced mode. (Unfortunately I can not provide a source of the app where I got this bug.)

**What is the expected behavior?**
An app built with Closure Compiler in advanced mode should not throw `this.deleteValueForProperty is not a function` exception

**Which versions of React, and which browser / OS are affected by this issue? Did this work in previous versions of React?**
React v15.4.2

Changing `this.deleteValueForProperty` to `DOMPropertyOperations.deleteValueForProperty` solves this issue. There are other methods of `DOMPropertyOperations` object which are using `deleteValueForProperty` properly via `DOMPropertyOperations.deleteValueForProperty` call.

If this makes sense, I'll prepare a PR.

return '';
      }
      var attributeName = propertyInfo.attributeName;
      if (propertyInfo.hasBooleanValue ||
          (propertyInfo.hasOverloadedBooleanValue && value === true)) {
        return attributeName + '=""';
      }
      return attributeName + '=' + quoteAttributeValueForBrowser(value);
    } else if (DOMProperty.isCustomAttribute(name)) {
      if (value == null) {
        return '';
      }
      return name + '=' + quoteAttributeValueForBrowser(value);
    }
    return null;
  },
  /**
   * Creates markup for a custom property.
   *
   * @param {string} name
   * @param {*} value
   * @return {string} Markup string, or empty string if the property was invalid.
   */
  createMarkupForCustomAttribute: function(name, value) {
    if (!isAttributeNameSafe(name) || value == null) {
      return '';
    }
    return name + '=' + quoteAttributeValueForBrowser(value);
  },
  /**