**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.

* Creates markup for the ID property.
   *
   * @param {string} id Unescaped ID.
   * @return {string} Markup string.
   */
  createMarkupForID: function(id) {
    return DOMProperty.ID_ATTRIBUTE_NAME + '=' +
      quoteAttributeValueForBrowser(id);
  },
  setAttributeForID: function(node, id) {
    node.setAttribute(DOMProperty.ID_ATTRIBUTE_NAME, id);
  },
  createMarkupForRoot: function() {
    return DOMProperty.ROOT_ATTRIBUTE_NAME + '=""';
  },
  setAttributeForRoot: function(node) {
    node.setAttribute(DOMProperty.ROOT_ATTRIBUTE_NAME, '');
  },
  /**
   * Creates markup for a property.
   *
   * @param {string} name
   * @param {*} value
   * @return {?string} Markup string, or null if the property was invalid.
   */
  createMarkupForProperty: function(name, value) {
    var propertyInfo = DOMProperty.properties.hasOwnProperty(name) ?
        DOMProperty.properties[name] : null;
    if (propertyInfo) {
      if (shouldIgnoreValue(propertyInfo, value)) {