diff --git a/src/browser/ui/ReactDefaultInjection.js b/src/browser/ui/ReactDefaultInjection.js index 9d2b34f667..0775f72b40 100644 --- a/src/browser/ui/ReactDefaultInjection.js +++ b/src/browser/ui/ReactDefaultInjection.js @@ -29,6 +29,7 @@ var ReactDOMButton = require('ReactDOMButton'); var ReactDOMForm = require('ReactDOMForm'); var ReactDOMImg = require('ReactDOMImg'); var ReactDOMIDOperations = require('ReactDOMIDOperations'); +var ReactDOMIframe = require('ReactDOMIframe'); var ReactDOMInput = require('ReactDOMInput'); var ReactDOMOption = require('ReactDOMOption'); var ReactDOMSelect = require('ReactDOMSelect'); @@ -107,6 +108,7 @@ function inject() { ReactInjection.NativeComponent.injectComponentClasses({ 'button': ReactDOMButton, 'form': ReactDOMForm, + 'iframe': ReactDOMIframe, 'img': ReactDOMImg, 'input': ReactDOMInput, 'option': ReactDOMOption, diff --git a/src/browser/ui/dom/components/ReactDOMIframe.js b/src/browser/ui/dom/components/ReactDOMIframe.js new file mode 100644 index 0000000000..706a48f1a6 --- /dev/null +++ b/src/browser/ui/dom/components/ReactDOMIframe.js @@ -0,0 +1,43 @@ +/** + * Copyright 2013-2014, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactDOMIframe + */ + +'use strict'; + +var EventConstants = require('EventConstants'); +var LocalEventTrapMixin = require('LocalEventTrapMixin'); +var ReactBrowserComponentMixin = require('ReactBrowserComponentMixin'); +var ReactClass = require('ReactClass'); +var ReactElement = require('ReactElement'); + +var iframe = ReactElement.createFactory('iframe'); + +/** + * Since onLoad doesn't bubble OR capture on the top level in IE8, we need to + * capture it on the