Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(103)

Unified Diff: ios/chrome/browser/ui/static_content/static_html_view_controller.mm

Issue 2627093003: Reuse context menu in StaticHTMLViewController (Closed)
Patch Set: fix DEPS Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ios/chrome/browser/ui/static_content/static_html_view_controller.mm
diff --git a/ios/chrome/browser/ui/static_content/static_html_view_controller.mm b/ios/chrome/browser/ui/static_content/static_html_view_controller.mm
index cd2e6331a2038863d3fd100e8e5f02b682194249..d5948eac23546b3a854abce0d5d3807ff4fa4444 100644
--- a/ios/chrome/browser/ui/static_content/static_html_view_controller.mm
+++ b/ios/chrome/browser/ui/static_content/static_html_view_controller.mm
@@ -15,6 +15,7 @@
#include "ios/web/public/referrer.h"
#import "ios/web/public/web_state/ui/crw_native_content.h"
#import "ios/web/public/web_view_creation_util.h"
+#import "ios/web/public/web_state/ui/crw_context_menu_controller.h"
#import "net/base/mac/url_conversions.h"
#include "ui/base/page_transition_types.h"
#include "ui/base/resource/resource_bundle.h"
@@ -43,7 +44,9 @@
}
@end
-@interface StaticHtmlViewController ()<WKNavigationDelegate> {
+@interface StaticHtmlViewController ()<CRWContextMenuControllerWebView,
+ WKNavigationDelegate,
+ UIGestureRecognizerDelegate> {
jif 2017/01/12 17:13:12 remove UIGestureRecognizerDelegate?
Olivier 2017/01/13 10:20:25 Done.
@private
// The referrer that will be passed when navigating from this page.
web::Referrer referrer_;
@@ -76,6 +79,10 @@
// The delegate of the native content.
id<CRWNativeContentDelegate> delegate_; // weak
+ // The controller that will recognize the long press and trigger the context
+ // menu.
+ base::scoped_nsobject<CRWContextMenuController> contextMenuController_;
+
// The loader to navigate from the page.
id<UrlLoader> loader_; // weak
}
@@ -116,7 +123,9 @@
- (instancetype)initWithFileURL:(const GURL&)URL
allowingReadAccessToURL:(const GURL&)resourcesRoot
- browserState:(web::BrowserState*)browserState {
+ browserState:(web::BrowserState*)browserState
+ contextMenuDelegate:
+ (id<CRWContextMenuControllerDelegate>)contextMenuDelegate {
DCHECK(URL.is_valid());
DCHECK(URL.SchemeIsFile());
DCHECK(browserState);
@@ -124,6 +133,11 @@
resourceUrl_.reset([net::NSURLWithGURL(URL) retain]);
resourcesRootDirectory_.reset([net::NSURLWithGURL(resourcesRoot) retain]);
browserState_ = browserState;
+ if (contextMenuDelegate) {
+ contextMenuController_.reset([[CRWContextMenuController alloc]
+ initWithWebView:self
+ delegate:contextMenuDelegate]);
+ }
}
return self;
}
@@ -210,6 +224,12 @@
}
#pragma mark -
+#pragma mark CRWWKContextMenuWebView implementation
+- (UIView*)webScrollView {
+ return self.scrollView;
+}
+
+#pragma mark -
#pragma mark KVO callback
- (void)observeValueForKeyPath:(NSString*)keyPath

Powered by Google App Engine
This is Rietveld 408576698