There is a bug in the logic for determining if `props` is a plain object. This bug results in a false positive, flooding the console with hundreds of instances of this warning: "Expected props argument to be a plain object. Properties defined in its prototype chain will be ignored.".

The code that's failing is in [ReactElement.js, Line 210 in the v15.3.1 branch](https://github.com/facebook/react/blob/v15.3.1/src/isomorphic/classic/element/ReactElement.js#L210) (line number is probably different in master)

> config.**proto** == null || config.**proto** === Object.prototype,

This fails when the props object is created in one iframe, but uses an instance of React from another frame. Each browser window/tab/frame has it's own instance of the Object constructor. For instance, `document.querySelector('iframe').contentWindow.Object === Object` always results in `false`.

Check out this [demo](https://jsfiddle.net/05ugxo5f/4/), which shows the false-positive warning message.

expect(React.isValidElement({})).toEqual(false);
    expect(React.isValidElement('string')).toEqual(false);
    expect(React.isValidElement(React.DOM.div)).toEqual(false);
    expect(React.isValidElement(Component)).toEqual(false);
    expect(React.isValidElement({ type: 'div', props: {} })).toEqual(false);
    var jsonElement = JSON.stringify(React.createElement('div'));
    expect(React.isValidElement(JSON.parse(jsonElement))).toBe(false);
  });
});
describe('comparing jsx vs .createFactory() vs .createElement()', () => {
  var Child;
  beforeEach(() => {
    jest.resetModuleRegistry();
    React = require('React');
    ReactDOM = require('ReactDOM');
    ReactTestUtils = require('ReactTestUtils');
    Child = jest.genMockFromModule('ReactElementTestChild');
  });
  describe('when using jsx only', () => {
    var Parent, instance;
    beforeEach(() => {
      Parent = React.createClass({
        render: function() {
          return (
            <div>
              <Child ref="child" foo="foo value">children value</Child>
            </div>
          );
        },
      });