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

Side by Side Diff: ios/web/web_state/ui/crw_web_controller.mm

Issue 2281803002: [ios] Removed deprecated JS execution API. (Closed)
Patch Set: Merged with master Created 4 years, 3 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 unified diff | Download patch
« no previous file with comments | « ios/web/web_state/ui/crw_web_controller.h ('k') | ios/web/web_state/ui/web_view_js_utils.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #import "ios/web/web_state/ui/crw_web_controller.h" 5 #import "ios/web/web_state/ui/crw_web_controller.h"
6 6
7 #import <WebKit/WebKit.h> 7 #import <WebKit/WebKit.h>
8 8
9 #import <objc/runtime.h> 9 #import <objc/runtime.h>
10 #include <stddef.h> 10 #include <stddef.h>
(...skipping 2467 matching lines...) Expand 10 before | Expand all | Expand 10 after
2478 } 2478 }
2479 2479
2480 - (CGFloat)headerHeightForContainerView: 2480 - (CGFloat)headerHeightForContainerView:
2481 (CRWWebControllerContainerView*)containerView { 2481 (CRWWebControllerContainerView*)containerView {
2482 return [self headerHeight]; 2482 return [self headerHeight];
2483 } 2483 }
2484 2484
2485 #pragma mark - 2485 #pragma mark -
2486 #pragma mark CRWJSInjectionEvaluator Methods 2486 #pragma mark CRWJSInjectionEvaluator Methods
2487 2487
2488 - (void)evaluateJavaScript:(NSString*)script
2489 stringResultHandler:(web::JavaScriptCompletion)handler {
2490 NSString* safeScript = [self scriptByAddingWindowIDCheckForScript:script];
2491 web::EvaluateJavaScript(_webView, safeScript, handler);
2492 }
2493
2494 - (void)executeJavaScript:(NSString*)script 2488 - (void)executeJavaScript:(NSString*)script
2495 completionHandler:(web::JavaScriptResultBlock)completionHandler { 2489 completionHandler:(web::JavaScriptResultBlock)completionHandler {
2496 NSString* safeScript = [self scriptByAddingWindowIDCheckForScript:script]; 2490 NSString* safeScript = [self scriptByAddingWindowIDCheckForScript:script];
2497 web::ExecuteJavaScript(_webView, safeScript, completionHandler); 2491 web::ExecuteJavaScript(_webView, safeScript, completionHandler);
2498 } 2492 }
2499 2493
2500 - (BOOL)scriptHasBeenInjectedForClass:(Class)injectionManagerClass { 2494 - (BOOL)scriptHasBeenInjectedForClass:(Class)injectionManagerClass {
2501 return [_injectedScriptManagers containsObject:injectionManagerClass]; 2495 return [_injectedScriptManagers containsObject:injectionManagerClass];
2502 } 2496 }
2503 2497
2504 - (void)injectScript:(NSString*)script forClass:(Class)JSInjectionManagerClass { 2498 - (void)injectScript:(NSString*)script forClass:(Class)JSInjectionManagerClass {
2505 DCHECK(script.length); 2499 DCHECK(script.length);
2506 // Script execution is an asynchronous operation which may pass sensitive 2500 // Script execution is an asynchronous operation which may pass sensitive
2507 // data to the page. executeJavaScript:completionHandler makes sure that 2501 // data to the page. executeJavaScript:completionHandler makes sure that
2508 // receiver page did not change by checking its window id. 2502 // receiver page did not change by checking its window id.
2509 // |[_webView executeJavaScript:completionHandler:]| is not used here because 2503 // |[_webView executeJavaScript:completionHandler:]| is not used here because
2510 // it does not check that page is the same. 2504 // it does not check that page is the same.
2511 [self executeJavaScript:script completionHandler:nil]; 2505 [self executeJavaScript:script completionHandler:nil];
2512 [_injectedScriptManagers addObject:JSInjectionManagerClass]; 2506 [_injectedScriptManagers addObject:JSInjectionManagerClass];
2513 } 2507 }
2514 2508
2515 #pragma mark - 2509 #pragma mark -
2516 2510
2517 - (void)executeUserJavaScript:(NSString*)script 2511 - (void)executeUserJavaScript:(NSString*)script
2518 completionHandler:(web::JavaScriptResultBlock)completion { 2512 completionHandler:(web::JavaScriptResultBlock)completion {
2519 [self setUserInteractionRegistered:YES]; 2513 [self setUserInteractionRegistered:YES];
2520 [self executeJavaScript:script completionHandler:completion]; 2514 [self executeJavaScript:script completionHandler:completion];
2521 } 2515 }
2522 2516
2523 // DEPRECATED. TODO(crbug.com/595761): Remove this API.
2524 - (void)evaluateUserJavaScript:(NSString*)script {
2525 [self executeUserJavaScript:script completionHandler:nil];
2526 }
2527
2528 - (BOOL)respondToMessage:(base::DictionaryValue*)message 2517 - (BOOL)respondToMessage:(base::DictionaryValue*)message
2529 userIsInteracting:(BOOL)userIsInteracting 2518 userIsInteracting:(BOOL)userIsInteracting
2530 originURL:(const GURL&)originURL { 2519 originURL:(const GURL&)originURL {
2531 std::string command; 2520 std::string command;
2532 if (!message->GetString("command", &command)) { 2521 if (!message->GetString("command", &command)) {
2533 DLOG(WARNING) << "JS message parameter not found: command"; 2522 DLOG(WARNING) << "JS message parameter not found: command";
2534 return NO; 2523 return NO;
2535 } 2524 }
2536 2525
2537 SEL handler = [self selectorToHandleJavaScriptCommand:command]; 2526 SEL handler = [self selectorToHandleJavaScriptCommand:command];
(...skipping 3101 matching lines...) Expand 10 before | Expand all | Expand 10 after
5639 } 5628 }
5640 5629
5641 return web::WEB_VIEW_DOCUMENT_TYPE_GENERIC; 5630 return web::WEB_VIEW_DOCUMENT_TYPE_GENERIC;
5642 } 5631 }
5643 5632
5644 - (NSString*)refererFromNavigationAction:(WKNavigationAction*)action { 5633 - (NSString*)refererFromNavigationAction:(WKNavigationAction*)action {
5645 return [action.request valueForHTTPHeaderField:@"Referer"]; 5634 return [action.request valueForHTTPHeaderField:@"Referer"];
5646 } 5635 }
5647 5636
5648 @end 5637 @end
OLDNEW
« no previous file with comments | « ios/web/web_state/ui/crw_web_controller.h ('k') | ios/web/web_state/ui/web_view_js_utils.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698