Commit Graph
274 Commits
Author SHA1 Message Date
Paul O’Shannessy c14b3a1b13 Merge pull request #1520 from syranide/ediblechildren
Warn against contentEditable with children props
2014-09-26 17:54:24 -07:00
Isaac Salier-Hellendag e7299f6039 Prefer window.getSelection for IE
IE9+ supports `window.getSelection()` but `SelectEventPlugin` gives precedence to `document.selection` instead. `document.selection` is still available in later versions of IE, but the modern Selection object is preferable. Swap the two.
2014-09-22 16:56:22 -07:00
Paul O’Shannessy def41dfd8f Move onscroll warning test
This moves it to the appropriate place to accomodate the move of the check.
2014-09-11 15:15:19 -07:00
Andrew Rasmussen 7ae8909504 Move IE8 onscroll check
Rather than checking if document.onscroll exists in EventPluginHub
(which is agnostic of the DOM) do it in ReactDOMComponent
2014-09-10 13:33:23 -07:00
Paul O’Shannessy 99191046f9 Merge pull request #2113 from BinaryMuse/fix_numeric_properties
Fix DOMProperty bitmask checking
2014-09-09 15:26:38 -07:00
Paul O’Shannessy 79ca0c7fd2 Merge pull request #1848 from fgnass/master
add picture element and related attributes
2014-09-08 16:23:39 -07:00
Isaac Salier-Hellendag 8c9a24983e Remove calls to Range.detach
This method is a no-op, as demonstrated by console warnings in Chrome and https://developer.mozilla.org/en-US/docs/Web/API/range.detach.

Remove callsites.

Fixes #2142
2014-09-08 14:30:53 -07:00
Paul O’Shannessy 1854e8a912 Merge pull request #2033 from pekim/master
Add support for <dialog> tag.
2014-09-03 14:47:41 -07:00
Brandon Tilley 0e28f5e6d7 Fix DOMProperty bitmask checking 2014-09-02 06:53:58 -07:00
Mike D Pilsbury ffa0447177 Add support for <dialog> tag's open attribute. 2014-08-31 12:43:32 +01:00
Cheng Lou 74ff6fb6b8 Merge pull request #2039 from crm416/return-false
Deprecate 'return false' in event handlers
2014-08-27 13:33:40 -07:00
Charles Marsh eb36b57079 Use warning module 2014-08-23 09:46:32 +08:00
Charles Marsh 979a93a70a Removed monitorCodeUse call 2014-08-22 13:09:38 +08:00
Felix Gnass 942d358ace use attribute for media, srcSet and sizes 2014-08-22 00:37:32 +02:00
Charles Marsh f01246d6bb Indentation for eventHandlerName 2014-08-21 09:13:35 +08:00
Cheng Lou b8ab95aaa7 Merge pull request #2054 from chenglou/accum
[RFC] Use `accumulateInto` to save even more allocation
2014-08-20 13:36:45 -07:00
Cheng Lou 48e901f8ae [RFC] Use accumulateInto to save even more allocation
Trying to make the event a bit more performant for events.

Feel free to reject this because the API inevitably isn't great. It's good for perf though, and since we're only using `accumulate` in very restrained places, I think we're fine.

`accumulateInto` is `accumulate` that mutates more and allocates less. I kept `accumulate` in case we want that in the future.
2014-08-20 13:10:50 -07:00
Sebastian Markbage aae31ae24c ReactMount calls a legacy factory use createDescriptor instead
This fixes some log spew since this pattern is deprecated. This doesn't use
the validator in the descriptor creation so there's no prop type checks here.
I guess that's fine because we still have the second prop type checks.

We need to use ReactLegacyDescriptor because the constructor here will be a
legacy factory that we need to unwrap.

constructAndRenderComponent should be deprecated.
2014-08-20 00:15:43 -07:00
Sebastian Markbage 989e6b618e Drop usage of plain functions to create descriptors
Replace plain function calls to legacy factories with createFactory or
createElement. For ReactDOMComponents the type should be replaced with
strings.

Because we don't have easy access to ReactLegacyDescriptor from within
React, we need to use the .type property to extract the real class.
This will go away later and is covered by unit tests.
2014-08-20 00:14:59 -07:00
Sebastian Markbage c901b1005e Make createDescriptor return a descriptor for components
This moves all logic around legacy descriptors to ReactLegacyDescriptor. This
is responsible for the layer that knows that createClass exports a legacy
factory. When passed one of these classes, it unwraps it to be a real class.

If it is passed a non legacy factory, it is assumed to be a non-react component
that needs to be invoked as a plain function.

The semantic change is that a descriptor is now always returned if passed a
legacy factory. Even if that factory is a mock. A mock would previously return
undefined.

For mocks, I treat the factory as the authoritative function. I call it to extract
the instance or fill it with an empty component placeholder.

Additionally, I make the classes take props as the first argument to the
constructor. This is what the new class system will do.

We currently need to set up some internals by calling the internal construct
method. Instead of doing that automatically in the constructor, I now move that
to a second pass so that mocks can get the plain props.

This means that we can assert that a mock has been called once it's mounted
with it's final props. Instead of the descriptor factory being called.
2014-08-20 00:14:32 -07:00
Charles Marsh 0ecc7e5a7f Look on __reactBoundContext for displayName 2014-08-20 08:44:33 +08:00
Charles Marsh cf45a40bb8 More info in monitorCodeUse call 2014-08-18 22:57:02 -04:00
Josh Duck 5b4e2be867 Iterate over expectedFeatures correctly
This fails if Array.prototype is extended.
2014-08-18 18:18:05 -07:00
Charles Marsh 429650a750 Test for both true and false 2014-08-15 19:47:36 -04:00
Charles Marsh c5be746fda Fixed style and comment nits 2014-08-15 11:52:22 -04:00
Charles Marsh a195d3ea1f Re-add with warning and monitorCodeUse 2014-08-14 10:43:00 -04:00
Charles Marsh 45f8b52135 Deprecate 'return false' in event handlers 2014-08-13 22:37:41 -04:00
Paul O’Shannessy eb3ea3f2df Move batchedUpdated to React.addons
This is a followup to #1060, where I did not read closely enough before
merging.
2014-08-13 15:40:40 -07:00
Paul O’Shannessy 938bcbecd5 Merge pull request #1060 from spicyj/gh-906
Add React.batchedUpdates to public API
2014-08-13 15:37:43 -07:00
Karpich Dmitry a185f09943 Add classid property for <object/> tag
This properties needed to work with ActiveX objects in IE, created by
<object/> tag.

Closes #1526
2014-08-13 13:28:19 -07:00
Mike D Pilsbury f035949e73 Add support for <dialog> tag.
fixes #2017
2014-08-12 19:58:10 +01:00
Ben Alpert e2ac2f326c Improve Danger error message to not blame React 2014-08-11 15:18:07 -07:00
Paul O’Shannessy 986f5a1a07 Merge pull request #1662 from gaearon/warn-when-using-hyphenated-style-names
Warn when using hyphenated style property names

Closes #1662

Conflicts:
	src/browser/ui/dom/CSSPropertyOperations.js
2014-08-11 10:18:08 -07:00
Josh Duck f71455fb31 Fire onBeforeUpdate for space on Android
We deliberately skip the event, but Android Chrome
doesn't fire the keypress, so this is wrong.
2014-08-06 16:41:56 -07:00
Sebastian Markbage 036d751397 Add createElement alias for createDescriptor 2014-08-06 16:41:47 -07:00
Ben Alpert 3045291417 Slightly more considerate devtools warning
See #953.
2014-08-04 11:16:51 -07:00
Paul O’Shannessy 5d288deba5 Merge pull request #1956 from syranide/ffenter
Improve normalization of charCode, fix FF not reporting Enter
2014-07-31 15:11:09 -07:00
Andreas Svensson b83076468d Improve normalization of charCode, fix FF not reporting Enter 2014-07-31 22:00:23 +02:00
Paul O’Shannessy ab2406ffec Merge pull request #1885 from syranide/testinnerhtml
Use faster cached regexps for tests in setInnerHTML
2014-07-31 11:44:21 -07:00
Paul O’Shannessy 590e5057bc Merge pull request #1759 from spicyj/gh-1698
Use setImmediate to defer value restoration
2014-07-29 20:15:59 -07:00
Paul O’Shannessy 45c719942e Merge pull request #1854 from syranide/floatfix
cssFloat is only accessible as styleFloat on IE8
2014-07-29 13:00:20 -07:00
Andreas Svensson ffafae5cfe cssFloat is only accessible as styleFloat on IE8 2014-07-29 10:15:01 +02:00
Sebastian Markbage c6b2687bbd Partially revert React.createDescriptor
We still have some issues to work out when the type argument is a mock.
2014-07-25 16:48:10 -07:00
Cheng Lou 7f584f3a49 Merge pull request #1511 from syranide/strsidefx
HAS_SIDE_EFFECTS should compare by type-casting
2014-07-24 13:38:01 -07:00
Paul O’Shannessy f76d4dd48f Merge pull request #1770 from eins78/master
Also list <form> in error message as possible culprit
2014-07-24 12:53:19 -07:00
Andreas Svensson 3b94abcb3b HAS_SIDE_EFFECTS properties must compare as property type 2014-07-24 11:53:02 +02:00
Paul O’Shannessy efdc5da097 Merge pull request #1903 from syranide/ie8nmlb
Remove empty TextNode left behind by IE8 setInnerHTML workaround
2014-07-23 18:40:35 -07:00
Andreas Svensson 8a135c0e75 Remove empty TextNode left behind by IE8 setInnerHTML workaround 2014-07-23 21:52:56 +02:00
Paul O’Shannessy 13e2c38a01 Merge pull request #1865 from syranide/modistatefalse
getModifierState should always return a boolean
2014-07-23 10:12:49 -07:00
Andreas Svensson 030071dd8b getModifierState should always return a boolean 2014-07-23 10:01:22 -07:00