Skip to content

Commit

Permalink
Convert JavaScriptResultCallback to a OnceCallback
Browse files Browse the repository at this point in the history
As the callback will only be invoked once, convert it from a
base::Callback to a base::OnceCallback.

Bug: none
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: I956e33b9877b0971ebbe92bbf1dbdf001145056b
Reviewed-on: https://chromium-review.googlesource.com/1020520
Reviewed-by: Eugene But <eugenebut@chromium.org>
Commit-Queue: Sylvain Defresne <sdefresne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#552247}
  • Loading branch information
sdefresne authored and Commit Bot committed Apr 20, 2018
1 parent 283e9fa commit 7e64805
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 9 deletions.
2 changes: 1 addition & 1 deletion ios/web/public/test/fakes/test_web_state.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ class TestWebState : public WebState {
CRWJSInjectionReceiver* GetJSInjectionReceiver() const override;
void ExecuteJavaScript(const base::string16& javascript) override;
void ExecuteJavaScript(const base::string16& javascript,
const JavaScriptResultCallback& callback) override;
JavaScriptResultCallback callback) override;
void ExecuteUserJavaScript(NSString* javaScript) override;
const std::string& GetContentsMimeType() const override;
bool ContentIsHTML() const override;
Expand Down
4 changes: 2 additions & 2 deletions ios/web/public/test/fakes/test_web_state.mm
Original file line number Diff line number Diff line change
Expand Up @@ -143,8 +143,8 @@
void TestWebState::ExecuteJavaScript(const base::string16& javascript) {}

void TestWebState::ExecuteJavaScript(const base::string16& javascript,
const JavaScriptResultCallback& callback) {
callback.Run(nullptr);
JavaScriptResultCallback callback) {
std::move(callback).Run(nullptr);
}

void TestWebState::ExecuteUserJavaScript(NSString* javaScript) {}
Expand Down
4 changes: 2 additions & 2 deletions ios/web/public/web_state/web_state.h
Original file line number Diff line number Diff line change
Expand Up @@ -162,10 +162,10 @@ class WebState : public base::SupportsUserData {
// execution has failed due to an error.
// NOTE: Integer values will be returned as Type::DOUBLE because of underlying
// library limitation.
typedef base::Callback<void(const base::Value*)> JavaScriptResultCallback;
typedef base::OnceCallback<void(const base::Value*)> JavaScriptResultCallback;
virtual void ExecuteJavaScript(const base::string16& javascript) = 0;
virtual void ExecuteJavaScript(const base::string16& javascript,
const JavaScriptResultCallback& callback) = 0;
JavaScriptResultCallback callback) = 0;

// Asynchronously executes |javaScript| in the main frame's context,
// registering user interaction.
Expand Down
2 changes: 1 addition & 1 deletion ios/web/web_state/web_state_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ class WebStateImpl : public WebState, public NavigationManagerDelegate {
CRWJSInjectionReceiver* GetJSInjectionReceiver() const override;
void ExecuteJavaScript(const base::string16& javascript) override;
void ExecuteJavaScript(const base::string16& javascript,
const JavaScriptResultCallback& callback) override;
JavaScriptResultCallback callback) override;
void ExecuteUserJavaScript(NSString* javaScript) override;
const std::string& GetContentsMimeType() const override;
bool ContentIsHTML() const override;
Expand Down
7 changes: 4 additions & 3 deletions ios/web/web_state/web_state_impl.mm
Original file line number Diff line number Diff line change
Expand Up @@ -656,8 +656,8 @@
}

void WebStateImpl::ExecuteJavaScript(const base::string16& javascript,
const JavaScriptResultCallback& callback) {
JavaScriptResultCallback stackCallback = callback;
JavaScriptResultCallback callback) {
__block JavaScriptResultCallback stack_callback = std::move(callback);
[web_controller_ executeJavaScript:base::SysUTF16ToNSString(javascript)
completionHandler:^(id value, NSError* error) {
if (error) {
Expand All @@ -666,7 +666,8 @@
<< base::SysNSStringToUTF16(
error.userInfo[NSLocalizedDescriptionKey]);
}
stackCallback.Run(ValueResultFromWKResult(value).get());
std::move(stack_callback)
.Run(ValueResultFromWKResult(value).get());
}];
}

Expand Down

0 comments on commit 7e64805

Please sign in to comment.