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

* Sets the value for a property on a node.
   *
   * @param {DOMElement} node
   * @param {string} name
   * @param {*} value
   */
  setValueForProperty: function(node, name, value) {
    var propertyInfo = DOMProperty.properties.hasOwnProperty(name) ?
        DOMProperty.properties[name] : null;
    if (propertyInfo) {
      var mutationMethod = propertyInfo.mutationMethod;
      if (mutationMethod) {
        mutationMethod(node, value);
      } else if (shouldIgnoreValue(propertyInfo, value)) {
        this.deleteValueForProperty(node, name);
        return;
      } else if (propertyInfo.mustUseProperty) {
        
        
        node[propertyInfo.propertyName] = value;
      } else {
        var attributeName = propertyInfo.attributeName;
        var namespace = propertyInfo.attributeNamespace;
        
        
        if (namespace) {
          node.setAttributeNS(namespace, attributeName, '' + value);
        } else if (propertyInfo.hasBooleanValue ||
                   (propertyInfo.hasOverloadedBooleanValue && value === true)) {
          node.setAttribute(attributeName, '');