Граф коммитов

15010 Коммитов

Автор SHA1 Сообщение Дата
Ronaldo Lima 61346d303a remove createReactClass and TImerMixin from TimerTest.js (#21748)
Summary:
Related to https://github.com/facebook/react-native/issues/21485#issuecomment-428742440
Remove createReactClass and TimerMixin from IntegrationTests/TimersTest.js
Pull Request resolved: https://github.com/facebook/react-native/pull/21748

Reviewed By: TheSavior

Differential Revision: D10366418

Pulled By: RSNara

fbshipit-source-id: f7e9a1b62a17cd23374997f99dbfe239172b614f
2018-10-18 11:45:45 -07:00
Ramanpreet Nara 09d35de50d Fix flow types in file
Summary:
This diff just builds on top of the open source PR:
1. I add a bunch of extra flow typings to the file.
2. I refactor some of the JavaScript code.

Reviewed By: TheSavior

Differential Revision: D10351693

fbshipit-source-id: a6d828518150c11d66a179c5c3fe835cc80a8dfb
2018-10-18 11:45:45 -07:00
Alexey Kozhevnikov d9792b3e59 Exclude cpp equality operators from `extern "C"`
Summary:
`extern "C"` disables name mangling, hence input parameter types does not influence the name. That makes it impossible to have several equality operators with `extern "C"` linkage (for different types).

One such operator is defined in Windows SDK, in `guiddef.h`. It in turn is included in `winnt.h` inside `extern "C" { ... }` block. Trying to compile file which both is dependent both on `winnt.h` and `Yoga.h` results in:
```
Yoga.h(50): error C2733: 'operator ==': second C linkage of overloaded function not allowed
guiddef.h(192): note: see declaration of 'operator =='
```

In general it doesn't make much sense to have cpp specific operator to have `extern "C"` linkage, so the change doesn't introduce any controlling flag (mangling on/off).

Note that it's breaking binary compatibility and yoga library should be rebuilt if those operators are used.

Reviewed By: milend

Differential Revision: D10418395

fbshipit-source-id: 2f1cccff26165e638b9a07eece07d94fccfa5e5a
2018-10-18 08:44:45 -07:00
Marc Horowitz 8427f64e06 Remove unused code using JSC
Reviewed By: fkgozali

Differential Revision: D10441260

fbshipit-source-id: 5a77ec382e28be046824bd598186e6c29a1510f2
2018-10-18 01:06:25 -07:00
Marc Horowitz 3341adac40 Ensure HelloWorld xcodeproj template works
Summary: The only thing extra that we need to do is to include `JavaScriptCore.framework` inside the HelloWorld.xcodeproj file.

Reviewed By: hramos

Differential Revision: D9893035

fbshipit-source-id: 2a29d1fd645eafa2e09109ad14d09f812dfa2601
2018-10-18 01:06:25 -07:00
Marc Horowitz 78fcf7c559 Get RNTester xcodeproj to compile
Summary:
Marc deleted a few files from react-native-github, so I removed them from the RNTester XCode project. I also included the files he created, and created new targets: `jsiexecutor-tvOS`, `jsiexecutor`, `jsi`, `jsi-tvOS`.

**Note:** The tvOS build of RNTester is broken in this diff because of a few `WKWebView` changes I landed earlier. D9844322 includes the fix.

Reviewed By: axe-fb

Differential Revision: D9875409

fbshipit-source-id: 31a9f241a524de91e78dfff0555aec5d1373d789
2018-10-18 01:06:24 -07:00
Marc Horowitz f85692cf8f Get RN Podspec xcodeproject to compile
Summary:
This diff includes a few changes to the `React.podspec` file:
1. Introduce a `jsi` spec for code inside the `ReactCommon/jsi` folder. This depends on the JavaScriptCore framework.
2. Introduce a `jsiexecutor` spec for the code inside the `ReactCommon/jsiexecutor` folder. These files depend on files in `ReactCommon/cxxreact`, `ReactCommon/jsi`, and Folly.
3. Since RCTCxxBridge.mm now depends on `JSIExecutor`, we need to have the `CxxBridge` spec depend on the `jsiexecutor` spec.

Reviewed By: hramos

Differential Revision: D9820323

fbshipit-source-id: 0c96d027eed30ee47b6ee0d2d86cd6b1ad7a5887
2018-10-18 01:06:24 -07:00
Marc Horowitz 6370b86c1f Get RNTester to compile and run
Summary:
This diff includes a few changes:
1. Move the headers inside `jsiexecutor` into `jsiexecutor/jsireact`. As far as I'm aware, the Android ndk build system isn't flexible enough to support header namespaces, so we can't just expose the headers inside the `jsiexecutor` directory under the `jsireact` namespace. Therefore, I moved the headers to `jsiexecutor/jsireact`, and added `jsiexecutor` to the header search path.  This was the easiest way to simulate `jsireact` namespace.
2. Setup the Android.mk files to get RNTester compiling and running.
3. Introduce a `jscexecutor` module to make `JSCExecutor.java` execute without throwing.

**Note:** Moving the header files inside `jsiexecutor` probably breaks the iOS builds and internal builds. I'll fix those in subsequent diffs on this stack.

Reviewed By: shergin

Differential Revision: D9995429

fbshipit-source-id: 418a4ee91f585842c5e317af2f300227a51e9ba8
2018-10-18 01:06:24 -07:00
Marc Horowitz e8cbc4f893 iOS files removed for switch to JSI
Summary:
JSI+JSCRuntime replaces direct use of JSC.  This is like the previous
diff, except for iOS.

Reviewed By: RSNara

Differential Revision: D9369108

fbshipit-source-id: 4ed2c0d660ba2a30edf699d95278c72cabcc9203
2018-10-18 01:06:24 -07:00
Marc Horowitz 7ffb406517 Remove RN files which use JSC
Summary:
JSI+JSCRuntime replaces direct use of JSC
@public

Reviewed By: danzimm

Differential Revision: D9328235

fbshipit-source-id: a4d0cad8250ef2da058ffffbdedbffa19f96bb12
2018-10-18 01:06:24 -07:00
Marc Horowitz 00381920c6 Remove jschelpers and privatedata
Summary: JSI doesn't use any of this.

Reviewed By: RSNara

Differential Revision: D10229167

fbshipit-source-id: 9eaa288a1d62bafb3ff0626f9f8430e699fdad4a
2018-10-18 01:06:24 -07:00
Marc Horowitz c49d3653ef iOS changes to switch to JSI
Summary:
change RCTCxxBridge to use JSIExecutorFactory+JSCRuntime
instead of JSCExecutorFactory.  Also remove JSC usage from RN in other
files.  This allows deleting files, too, which is done further down
the stack.

Reviewed By: RSNara

Differential Revision: D9369111

fbshipit-source-id: 67ef3146e3abe5244b6cf3249a0268598f91b277
2018-10-18 01:06:24 -07:00
Marc Horowitz 6796e62bb3 Remove JSC references
Summary:
Removing entire files will be the next diff
@public

Reviewed By: fkgozali

Differential Revision: D9328239

fbshipit-source-id: 083847d3b841a3c7bfa751a82e8cc16bd112bace
2018-10-18 01:06:24 -07:00
Marc Horowitz 53fa8130f5 Switch RN from JSCJavaScriptExecutorFactory to JSCExecutorFactory
Summary:
This removes the dependency on JSCExecutor.  Everything goes
through JSI now.

Reviewed By: RSNara

Differential Revision: D9328240

fbshipit-source-id: c9c085fec1ebd5d0f4679cd70b89cc263ca33ac4
2018-10-18 01:06:24 -07:00
Marc Horowitz 749b18dbc9 Add JSI-based JSExecutor for the bridge
Summary:
This is similar in function to the old JSCExecutor, but uses the more abstract JSI API to interact with the JSVM.
@public

Reviewed By: axe-fb

Differential Revision: D9328241

fbshipit-source-id: 3212ff4f43d0589a70d7bebc4d463d4433590f1d
2018-10-18 01:06:24 -07:00
Marc Horowitz a23fb1a22c Add JSI implementation for JSC
Summary:
This diff is an implementation of jsi::Runtime which uses JSC as the virtual machine.  All of the JSC-specific details are encapsulated here.
@public

Reviewed By: RSNara

Differential Revision: D9328242

fbshipit-source-id: be3c7bed161916c1cb9a48182600b558f054eadc
2018-10-18 01:06:24 -07:00
Marc Horowitz e337bcafb0 Add JSI API and JSIDynamic glue to OSS React Native
Summary: This will help abstract the JS engine from React Native

Reviewed By: hramos

Differential Revision: D9328237

fbshipit-source-id: 7b34f55f28e43d83ba24d22e83e836c92ca737a9
2018-10-18 01:06:23 -07:00
Eli White c95fdb0505 Don't use local alias in react-native-implementation
Summary: Nuclide's export detection for modules doesn't resolve local aliases. Lets just export the object directly.

Reviewed By: mostafaeweda

Differential Revision: D10443054

fbshipit-source-id: 880aa1eadff554903eb765d7104ecf3c3b72cbce
2018-10-17 22:24:34 -07:00
empyrical d6c8f189e7 Introduce 'setAndForwardRef' helper function (#21823)
Summary:
This PR introduces a new helper function called `setAndForwardRef`. It is intended to help with moving components that depend on `NativeMethodsMixin` off of `createReactClass`.

It allows for classes that depend on having a ref to a native component to be able to also forward the native component ref to user code.

Usage is like this:

```js
class MyView extends React.Component {
  _nativeRef = null;
  _setNativeRef = setAndForwardRef({
    getForwardedRef: () => this.props.forwardedRef,
    setLocalRef: ref => {
      this._nativeRef = ref;
    },
  });
  render() {
    return <View ref={this._setNativeRef} />;
  }
}
const MyViewWithRef = React.forwardRef((props, ref) => (
  <MyView {...props} forwardedRef={ref} />
));
module.exports = MyViewWithRef;
```
Pull Request resolved: https://github.com/facebook/react-native/pull/21823

Differential Revision: D10436673

Pulled By: TheSavior

fbshipit-source-id: 32e167bb3ea3234f08d5715168b0e61e4e035a7c
2018-10-17 22:00:21 -07:00
Ely Alvarado 0fab27cbac Allow specifying iOS version for run-ios with simulator option (#19079)
Summary:
Fixes #19069

The --simulator option for the run-ios command now can take an optional
iOS version between parenthesis to further match the desired simulator.
This is useful if you have installed simulators for different iOS
versions and you want to run the app in an especific one. Example:

react-native run-ios --simulator "iPhone 6s (9.3)"

Thank you for sending the PR! We appreciate you spending the time to work on these changes.
Help us understand your motivation by explaining why you decided to make this change.

Updated tests for the findMatchingSimulator function to include test cases specifying iOS version, and tested on the command line in my app to make sure it has the expected behavior.

[CLI] [ENHANCEMENT] [{/runIOS/findMatchingSimulator.js}] - run-ios command with the --simulator option now allows specifying the iOS version to run an specific simulator if you have multiple versions of the simulator installed. Example: `react-native run-ios --simulator "iPhone 6s (9.3)"`.
Pull Request resolved: https://github.com/facebook/react-native/pull/19079

Differential Revision: D10432487

Pulled By: hramos

fbshipit-source-id: efa50d798b79d83bfe357ee17967a56c7c003bee
2018-10-17 13:25:39 -07:00
Mehdi Mulani 1c240ae898 Fix onTextLayout metrics on Android when using alignText
Summary:
With this, we send the correct x position when using center or right aligned text. In order to accomplish this though, we have to pass the text alignment into the Layout object that we create.

Also update RNTester to allow us to try different alignments.

Reviewed By: sahrens

Differential Revision: D10316494

fbshipit-source-id: 11c7d2a59e636528f12211168acb46f16b54a126
2018-10-17 12:55:10 -07:00
Ratchanan Srirattanamet b9514995a2 Bump xcode@1.0.0 (#21766)
Summary:
(cordova-node-)xcode 1.0.0 includes a fix for #13160 plus a few more
fixes. This should increase robustness in Xcode project handling
overall.

Fixes #13160.

-------------------------

Thank you for sending the PR! We appreciate you spending the time to work on these changes.
Help us understand your motivation by explaining why you decided to make this change.

If this PR fixes an issue, type "Fixes #issueNumber" to automatically close the issue when the PR is merged.

_Pull requests that expand test coverage are more likely to get reviewed. Add a test case whenever possible!_
Pull Request resolved: https://github.com/facebook/react-native/pull/21766

Reviewed By: codytwinton

Differential Revision: D10384245

Pulled By: hramos

fbshipit-source-id: 488156be67cfc2d99ca81d7cb82747bab35984a7
2018-10-17 12:13:32 -07:00
Emily Janzer 36507e4a3c Fix issue when inserting text at 0 when maxLength is set
Summary:
1. The user inserts a character ('0') at index 0. Because the range matches 0, 0, predictedText is set to that character that was inserted.
2. In textInputDidChange, it discovers a mismatch between the rendered text ('1234') and predicted text ('0')
3. This triggers textInputShouldChangeTextInRange to be called again with the 'new' text that it thinks was just added ('1234')
4. It goes to insert this text, but runs into the maxLength limit, so it gets truncated and then inserted.

(I'm not totally sure why only happens if maxLength is set - I need to look into that.)

One fix for this is to just get rid of the range check, but that'll regress #18374. I decided to just check and see if the rendered text is empty instead of checking the range where text could be inserted, since that seems like it should properly handle both cases.

Reviewed By: shergin

Differential Revision: D10392176

fbshipit-source-id: 84fb3b6cac9b0aa25b3c1a127d43f9cdc5a1c6a8
2018-10-16 19:44:28 -07:00
JenLindsay bbfff90ab8 remove createReactClass from ScrollViewTestModule.js (#21627)
Summary:
Related to issue #21581
Removed createReactClass from ReactAndroid/src/androidTest/js/ScrollViewTestModule.js
Pull Request resolved: https://github.com/facebook/react-native/pull/21627

Reviewed By: TheSavior

Differential Revision: D10363828

Pulled By: RSNara

fbshipit-source-id: 08c9776060cfdfde3b69f310bca0353d393b67c4
2018-10-16 16:27:56 -07:00
Ronaldo Lima 998d69d12d from ReactAndroid/src/androidTest/js/UIManagerTestModule.js (#21702)
Summary:
Related to #21581 .
Removed createReactClass from ReactAndroid/src/androidTest/js/UIManagerTestModule.js
Pull Request resolved: https://github.com/facebook/react-native/pull/21702

Reviewed By: TheSavior

Differential Revision: D10345717

Pulled By: RSNara

fbshipit-source-id: 280f499abb2e2aa9f8ea25c3f8faaed8162e67d5
2018-10-16 16:21:25 -07:00
nd-02110114 bb6a69075b remove createrReactClass from SizeFlexibilityUpdateTest (#21715)
Summary:
Related to #21581 .
Removed createReactClass from the IntegrationTests/SizeFlexibilityUpdateTest.js

 - [x] npm run prettier
 - [x] npm run flow-check-ios
 - [x] npm run flow-check-android

[GENERAL] [ENHANCEMENT] [IntegrationTests/SizeFlexibilityUpdateTest.js] - remove createReactClass dependency
Pull Request resolved: https://github.com/facebook/react-native/pull/21715

Reviewed By: TheSavior

Differential Revision: D10341543

Pulled By: RSNara

fbshipit-source-id: 748f9a0176b6cd865d956df774f6dec1ead21562
2018-10-16 16:21:25 -07:00
Ramanpreet Nara 89850583f4 Remove createReactClass from LayoutEventsTest
Summary:
Related to #21581

Remove createReactClass from LayoutEventsTest and refactor a little bit.

Reviewed By: TheSavior

Differential Revision: D10345794

fbshipit-source-id: 40e42f6e9afece5ddf527f91927e75cb1669b696
2018-10-16 16:18:56 -07:00
Jonathan Lee bb407fa1ec Back out "[react-native][PR] Rounded corner rendering fixed on Android N."
Summary:
Original PR: https://github.com/facebook/react-native/pull/21340

The original PR fixed a bug with border radius on Android 7.0, but caused a new bug where no `ReactART` components would render if they were nested within a View with border radius set.

Differential Revision: D10409352

fbshipit-source-id: 0b4e36ae9d4c3bc2f4884a43909f8efdeeb41b74
2018-10-16 14:45:01 -07:00
Valentin Shergin 764dd511d2 Fabric: Making EventEmitter reenableable
Summary:
The first implementation of EventEmitter's enable/disable feature didn't not provide a way to enable an object after it was disabled.
Apparently, we need this functionality due that fact that all nodes of the same family share same event emitter.

Reviewed By: mdvacca

Differential Revision: D10395849

fbshipit-source-id: 0eba54f0bb7ded35d64afb6559e6e27208c2b577
2018-10-16 12:29:33 -07:00
Valentin Shergin f2da2d1963 Fabric: Proxying `LayoutConstraints::direction` down to RootNode's styles
Summary:
Trivial.
We have to proxy layout directions as well as min and max sizes to RootNode's Props to properly communicate the constrains to Yoga.

Reviewed By: sahrens

Differential Revision: D10387798

fbshipit-source-id: a02ec0a20b3ef28f6230738e5b3a4a2b0b8e0961
2018-10-15 23:25:47 -07:00
Valentin Shergin d73254b441 Fabric: Fixed `accessibilityLabel` implementation in RCTParagraphComponentView
Summary: The code fragment `super.accessibilityLabel` always meant "use stored value which came from Props". But after we override the implementation of this getter in the base class, this starts working differently (wrong). This change basically reverts that to original intent.

Reviewed By: sahrens

Differential Revision: D10350597

fbshipit-source-id: 913951eb08c4ede76fc0e9be76b48d86599bcc62
2018-10-15 23:25:47 -07:00
Valentin Shergin 278023470f Fabric: Treating empty accessibilityLabel as nil
Summary: Empty string in AccessibilityProps basically means same as `nil` in iOS Accessibility API.

Reviewed By: sahrens

Differential Revision: D10350596

fbshipit-source-id: fad9cdc914388c72e1b8261b27f14cbfa9a037db
2018-10-15 23:25:47 -07:00
Valentin Shergin 07d8b06d41 Fabric: TextAttributes::defaultTextAttributes()
Summary: An `AttributedString` object generated by a cross-platform layer of React Native must have already resolved text styles to make the actual resulting text identical across platforms. To do so we have to have a unified default.

Reviewed By: sahrens

Differential Revision: D10287725

fbshipit-source-id: e8c62b33496be34146182baccd0009d3624a7fe5
2018-10-15 23:25:47 -07:00
Valentin Shergin 057438a103 Fabric: Defined constants for white, black and clear colors
Summary: This might be useful to specify some default props.

Reviewed By: sahrens

Differential Revision: D10284657

fbshipit-source-id: b6fbdc6bab75697af67bdbb5d06eb3309500ab8c
2018-10-15 23:25:47 -07:00
Valentin Shergin c4c90fdc2e Fabric: Support for a bunch of accessiblity props in View
Summary: We didn't have support for them... and now we have it.

Reviewed By: sahrens

Differential Revision: D10280430

fbshipit-source-id: 7275d4617ed3994366f673a17c24b823293d7092
2018-10-15 23:25:47 -07:00
Thomas BARRAS 70b5eb3aa2 ListView requestAnimationFrame leak (#21802)
Summary:
Related to https://github.com/facebook/react-native/pull/21488
Disclaimer: I made this PR.

I think there's some requestAnimationFrame events that are not cleared on unmount because of bad use of `splice` method.

- All flow tests succeed.
- RNTester: iOS (this change should only affect iOS because calculateChildFrames is iOS only)
Show perf monitor, show ListView* screen, start scrolling. UI frame Rate is used at the beginning. When scrolling there is no drop in FPS rate.
- TODO: I'll write a load test for ListView

[GENERAL] [ENHANCEMENT] [ListView.js] - rm TimerMixin
Pull Request resolved: https://github.com/facebook/react-native/pull/21802

Differential Revision: D10391812

Pulled By: RSNara

fbshipit-source-id: 49f0b0a4641ec29bcb4cc04bd3bafb42b3842b69
2018-10-15 18:09:16 -07:00
Andy Huang 8a3a0ad2d0 Fix pull to refresh refresh component clipping on Android
Summary: Currently the pull to refresh icon on browse feed is super cut off on Android. Expose the progressViewOffset prop from FBPullToRefresh to support offsetting the PTR component to make the component more visible.

Reviewed By: yungsters

Differential Revision: D10274679

fbshipit-source-id: 1735c4d2d98523ccc3d1ec3733465028ae33df7b
2018-10-15 12:41:00 -07:00
Haitao Li b0d68c0bb9 Fix DynamicFromMap object pool synchronization (#17842)
Summary:
DynamicFromMap internally uses SimplePool object to recycle dynamic prop objects. But the pool is not multi-thread safe. Currently the most used dynamic props are size props such as left, paddingVertical, marginTop and so on. These props are only accessed from the layout thread so the pool works fine. If a dynamic prop is needed in UI thread, then the two threads can access the same pool object and cause random errors. This PR make the pool object thread local to avoid synchronization. After this change there are two pool objects created in the process.

Tested in official Airbnb app after updating accessibilityComponentType to be dynamic.

Once this is merged, I'll send another PR to support "disabled" state in `accessibilityComponentType`.

[ANDROID] [BUGFIX] [DynamicFromMap] - Fix a crash caused by dynamic props.
Pull Request resolved: https://github.com/facebook/react-native/pull/17842

Differential Revision: D10374238

Pulled By: hramos

fbshipit-source-id: 7ebf89c5abf06bd5fb43b205348ba4dc7e19517d
2018-10-13 17:42:44 -07:00
Marshall Roch 7b150690b6 @allow-large-files [flow] update to v0.83
Reviewed By: fishythefish

Differential Revision: D10362346

fbshipit-source-id: 0f4cc9977cfaa947e3b23112dd1cf482642e2319
2018-10-13 01:32:48 -07:00
Ram N 5e7c774d64 Initialize the Choreographer in ReactChoreographer lazily
Summary:
Today, ReactInstanceManager calls `ReactChoreographer.initialize()` in its constructor. Since `ReactChoreographer` also needs to run on the UI thread, this forces the entire `ReactInstanceManager` to run on the UI thread.

By moving `ReactChoreographer` to lazily set up its Choreographer, we can make `ReactInstanceManager` run on any thread

Reviewed By: mdvacca

Differential Revision: D10097432

fbshipit-source-id: eb8c80aafcba745ea15c86296d11c487329b1df0
2018-10-12 19:37:42 -07:00
Valentin Shergin c8b6d606a0 Fabric: Custom border rendering on a separate CALayer
Summary:
This diff fixes previously broken custom border rendering.
We need a dedicated CALayer for border bitmap in order to fully support all UIView capabilities in case if some subclass uses that. Otherwise, any call of `drawRect:`  method can override any content which is stored inside `contents` property of CALayer.
Q&A:
How does it work in current RN? - It does not. All `drawRect:` methods in RCTView subclasses are dysfunctional.
How does text view work in current RN? - RCTTextView does not inherit RCTView, so it does not have this problem.
How does text view support custom borders in current RN then? - It does not.

Reviewed By: PeteTheHeat

Differential Revision: D10228805

fbshipit-source-id: 22bc31f41ab1914a97f3a5981cd1b24ebca725cd
2018-10-12 19:17:59 -07:00
David Vacca 082a869dae Cleaning up imports in ViewGroupManager
Summary: Trivial cleanup of imports in ViewGroupManager class

Reviewed By: shergin

Differential Revision: D10343029

fbshipit-source-id: 0b049df545a4101f11dd67809c9a96723e746945
2018-10-12 18:41:51 -07:00
David Vacca ca3a6e8f13 Uninstalling native FabricUIManager when reloading RN screen
Summary: This diff makes sure the native side of the UILayer of RN is deallocated when the a RN screen is reloaded.

Reviewed By: shergin

Differential Revision: D10343030

fbshipit-source-id: 7add841b8875d28fe527f20b96f799733769b11a
2018-10-12 18:41:51 -07:00
David Vacca 9817f85def Avoid cleaning up ReactRootView content when reactContext is destroyed
Summary: This diff avoids deleting all the views of ReactRootView when the ReactContext is destroyed (ONLY FOR FABRIC). In Fabric these views are removed and deleted by the framework when the ReactShadowNode is destroyed.

Reviewed By: shergin

Differential Revision: D10319737

fbshipit-source-id: 2e2d2599006cd8205e0153c18cd75383387ce1df
2018-10-12 18:41:51 -07:00
David Vacca 5d414665ea Fix reload for Image views in Android
Summary: This diff fixes the release of ImageRequest object. The responseFutureSplitter_ can be destroyed by the time ~ImageRequest is executed. See P60163877 for original crash (this crash was reproducible when reloading or closing a Fabric screen that contains several images.

Reviewed By: shergin

Differential Revision: D10282207

fbshipit-source-id: 4f0894959e54f6d15b98e216df102e764866e387
2018-10-12 18:41:51 -07:00
Tim Yung 8325e09e5c React sync for revisions d836010...4773fdf
Summary:
@public
This sync includes the following changes:
- **[4773fdf7c](https://github.com/facebook/react/commit/4773fdf7c)**: Deprecate findDOMNode in StrictMode (#13841) //<Sebastian Markbåge>//
- **[c9be16f5b](https://github.com/facebook/react/commit/c9be16f5b)**: [scheduler] Rename priority levels (#13842) //<Andrew Clark>//
- **[3b7ee2692](https://github.com/facebook/react/commit/3b7ee2692)**: Deprecate context object as a consumer and add a warning message (#13829) //<Dominic Gannaway>//
- **[8ca8a594e](https://github.com/facebook/react/commit/8ca8a594e)**: Error gracefully for unsupported SSR features (#13839) //<Dan Abramov>//
- **[4a635785f](https://github.com/facebook/react/commit/4a635785f)**: Fix User Timing oddities with Suspense, pure, and lazy (#13833) //<Dan Abramov>//
- **[a165cf747](https://github.com/facebook/react/commit/a165cf747)**: Renamed 4 Internal React Modules //<Nadia Osipova>//
- **[a68ca9a5b](https://github.com/facebook/react/commit/a68ca9a5b)**: React.pure automatically forwards ref (#13822) //<Sophie Alpert>//
- **[c73497c3c](https://github.com/facebook/react/commit/c73497c3c)**: Update bundle sizes for 16.6.0-alpha.8af6728 release //<Dan Abramov>//
- **[1a57dc668](https://github.com/facebook/react/commit/1a57dc668)**: Updating dependencies for react-noop-renderer //<Dan Abramov>//
- **[77f8dfd81](https://github.com/facebook/react/commit/77f8dfd81)**: Updating package versions for release 16.6.0-alpha.8af6728 //<Dan Abramov>//
- **[8af6728c6](https://github.com/facebook/react/commit/8af6728c6)**: Enable Suspense + rename Placeholder (#13799) //<Dan Abramov>//
- **[f47a958ea](https://github.com/facebook/react/commit/f47a958ea)**: Don’t add onclick listener to React root (#13778) //<Philipp>//
- **[b2cea9078](https://github.com/facebook/react/commit/b2cea9078)**: [scheduler] Eagerly schedule rAF at beginning of frame (#13785) //<Andrew Clark>//
- **[e2e7cb9f4](https://github.com/facebook/react/commit/e2e7cb9f4)**: [scheduler] add a test documenting current behavior (#13687) //<plievone>//

Release Notes:
[GENERAL] [FEATURE] [React] - React sync for revisions d836010...4773fdf

Reviewed By: acdlite

Differential Revision: D10350869

fbshipit-source-id: ea8ad4b5d914c870be1fc80aa1005b224d37f5e5
2018-10-12 17:44:56 -07:00
Ramanpreet Nara 62e0d508d6 Move createStrictShapeTypeChecker to deprecated
Summary:
Related to #21342

Move createStrictShapeTypeChecker to DeprecatedCreateStrictShapeTypeChecker.

Reviewed By: hramos

Differential Revision: D10341526

fbshipit-source-id: 30e7f22ae574af620ead9c1a0766f00611b282b6
2018-10-12 15:17:02 -07:00
Marshall Roch 870eaa541f fix FlowFixMe and FlowIssue suppression regexes
Summary: was using `[foo|bar]` to match `foo` or `bar` instead of `\\(foo\\|bar\\)` (ocaml/emacs regexes are the worst). this meant that the "site" part of FlowFixMe and FlowIssue suppression comments were basically not working, so a suppression in one site suppressed the other incorrectly.

Reviewed By: jbrown215

Differential Revision: D10365477

fbshipit-source-id: 1188c7378b5e6fd3090b27c1aa54480efdd09250
2018-10-12 15:10:40 -07:00
Adam Comella f90c9b5292 When paddingStart is 0, it should override paddingHorizontal (#816)
Summary:
Fixes #815

Imagine a node with this style: `{ paddingHorizontal: 10, paddingStart: 0 }`.

After running layout on this node, we expect its computed `paddingStart` to be `0`. However, it is actually `10`.

Consider the expression `paddingEdgeStart.getValue() > 0.0f` in [`getLeadingPadding`](328ec7dc4d/yoga/YGNode.cpp (L461)). Why is `0` handled like a negative number rather than a positive number? I suspect this should be `>=` so `0` is handled like the positive numbers (this is how `getTrailingPadding` works).

It looks like 3a82d2b1a8?diff=unified&w=1#diff-07b4949bf42749fde386e769ff08a124 changed the operator from `>=` to `>` in `getLeadingPadding`. I suspect it was a mistake. `getTrailingPadding` still uses `>=`.

I manually verified this using the code in #815 and added some unit tests to catch this bug and other similar issues.

Adam Comella
Microsoft Corp.
Pull Request resolved: https://github.com/facebook/yoga/pull/816

Reviewed By: priteshrnandgaonkar

Differential Revision: D10282617

Pulled By: shergin

fbshipit-source-id: 2ab2874ae39d9454308a020a960ace85573fe777
2018-10-12 15:08:45 -07:00
Dulmandakh 10fc548809 bump okhttp3 to 3.11 (#21626)
Summary:
OkHTTP3 3.11 version includes many bug fixes, and few new features. Also it embed R8/ProGuard rules in the jar, which will help reduce APK size.

Changelog https://github.com/square/okhttp/blob/master/CHANGELOG.md
Pull Request resolved: https://github.com/facebook/react-native/pull/21626

Differential Revision: D10367048

Pulled By: RSNara

fbshipit-source-id: b168138178f96eeefba493002f7b6a2e921a531d
2018-10-12 15:00:17 -07:00