blob: 7bfe126284e6c5f5116d83cce16adf2f4027a26c [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#import "ios/chrome/browser/ui/util/top_view_controller.h"
#if !defined(__has_feature) || !__has_feature(objc_arc)
#error "This file requires ARC support."
#endif
namespace top_view_controller {
UIViewController* TopPresentedViewController() {
return TopPresentedViewControllerFrom(
[[UIApplication sharedApplication] keyWindow].rootViewController);
}
UIViewController* TopPresentedViewControllerFrom(
UIViewController* base_view_controller) {
UIViewController* topController = base_view_controller;
for (UIViewController* controller = [topController presentedViewController];
controller && ![controller isBeingDismissed];
controller = [controller presentedViewController]) {
topController = controller;
}
return topController;
}
} // namespace top_view_controller