According to https://google.github.io/styleguide/objcguide.xml#_import_and__include, objective C header must be imported, C++ included. Clean current code and add a PRESUBMIT.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5e148fb50902743d8b41a5b29a7b639e5d2042df commit 5e148fb50902743d8b41a5b29a7b639e5d2042df Author: olivierrobin <olivierrobin@chromium.org> Date: Tue Jan 03 17:04:54 2017 Import Objective C Frameworks in ui/ The Objective-C frameworks must be imported and not included. List of Objective-C Frameworks that have been checked: AVFoundation AVKit Accounts AdSupport AddressBookUI AssetsLibrary CallKit CloudKit Contacts ContactsUI CoreAudioKit CoreBluetooth CoreData CoreImage CoreLocation CoreMIDI CoreMotion CoreSpotlight EventKit EventKitUI ExternalAccessory Foundation GLKit GameController GameKit GameplayKit HealthKit HealthKitUI HomeKit Intents IntentsUI JavaScriptCore LocalAuthentication MapKit MediaPlayer MessageUI Messages Metal MetalKit MetalPerformanceShaders ModelIO MultipeerConnectivity NetworkExtension NewsstandKit NotificationCenter PassKit Photos PhotosUI PushKit QuickLook ReplayKit SafariServices SceneKit Social Speech SpriteKit StoreKit Twitter UIKit UserNotifications UserNotificationsUI VideoSubscriberAccount WatchConnectivity WatchKit WebKit iAd BUG=677965 Review-Url: https://codereview.chromium.org/2606903002 Cr-Commit-Position: refs/heads/master@{#441138} [modify] https://crrev.com/5e148fb50902743d8b41a5b29a7b639e5d2042df/ui/accelerated_widget_mac/ca_layer_tree_coordinator.mm [modify] https://crrev.com/5e148fb50902743d8b41a5b29a7b639e5d2042df/ui/accelerated_widget_mac/ca_layer_tree_unittest_mac.mm [modify] https://crrev.com/5e148fb50902743d8b41a5b29a7b639e5d2042df/ui/accelerated_widget_mac/ca_renderer_layer_tree.mm [modify] https://crrev.com/5e148fb50902743d8b41a5b29a7b639e5d2042df/ui/base/accelerators/platform_accelerator_cocoa.h [modify] https://crrev.com/5e148fb50902743d8b41a5b29a7b639e5d2042df/ui/gfx/image/image_skia_util_ios.mm [modify] https://crrev.com/5e148fb50902743d8b41a5b29a7b639e5d2042df/ui/gfx/image/image_util_ios.mm
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/69709ac69519ed94ff22744fec5d7d76a7b0d67a commit 69709ac69519ed94ff22744fec5d7d76a7b0d67a Author: olivierrobin <olivierrobin@chromium.org> Date: Fri Jan 06 10:11:56 2017 Import Objective C Frameworks in components The Objective-C frameworks must be imported and not included. Command to find Objective-C frameworks dir="`xcode-select -p`/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks"; for f in `ls $dir`; do name=${f%%.framework}; grep "^\s*#import " $dir/$f/Headers/$name.h > /dev/null 2>/dev/null; if [ "$?" = "0" ]; then echo $name; fi; done BUG=677965 Review-Url: https://codereview.chromium.org/2606753004 Cr-Commit-Position: refs/heads/master@{#441912} [modify] https://crrev.com/69709ac69519ed94ff22744fec5d7d76a7b0d67a/components/handoff/handoff_manager.h [modify] https://crrev.com/69709ac69519ed94ff22744fec5d7d76a7b0d67a/components/metrics/drive_metrics_provider_mac.mm [modify] https://crrev.com/69709ac69519ed94ff22744fec5d7d76a7b0d67a/components/policy/core/common/policy_loader_ios_unittest.mm [modify] https://crrev.com/69709ac69519ed94ff22744fec5d7d76a7b0d67a/components/signin/ios/browser/account_consistency_service.mm [modify] https://crrev.com/69709ac69519ed94ff22744fec5d7d76a7b0d67a/components/signin/ios/browser/fake_profile_oauth2_token_service_ios_provider.mm [modify] https://crrev.com/69709ac69519ed94ff22744fec5d7d76a7b0d67a/components/signin/ios/browser/profile_oauth2_token_service_ios_delegate.mm
Comment 1 by bugdroid1@chromium.org
, Jan 3 2017