diff options
author | torne <torne@chromium.org> | 2015-12-14 03:52:14 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-12-14 11:53:19 +0000 |
commit | 57e0d78549bf760b4d586f8b4f8ecbe04b8c969a (patch) | |
tree | 932107e35d0784acb632e4e9e38ba7f363537296 | |
parent | e31bc047f078171d9b142b0c969910b993f3e52a (diff) | |
download | chromium_src-57e0d78549bf760b4d586f8b4f8ecbe04b8c969a.zip chromium_src-57e0d78549bf760b4d586f8b4f8ecbe04b8c969a.tar.gz chromium_src-57e0d78549bf760b4d586f8b4f8ecbe04b8c969a.tar.bz2 |
Pass method parameters as JavaParamRef in chrome/browser (part 1).
Pass all object parameters to JNI methods in JavaParamRef<> wrappers.
This matches previous changes made to do this for JNI non-method
functions.
BUG=506850
TBR=sdefresne@chromium.org
Review URL: https://codereview.chromium.org/1510303002
Cr-Commit-Position: refs/heads/master@{#365004}
24 files changed, 449 insertions, 253 deletions
diff --git a/chrome/browser/history/android/sqlite_cursor.cc b/chrome/browser/history/android/sqlite_cursor.cc index 7b3fa9b..e60bebb 100644 --- a/chrome/browser/history/android/sqlite_cursor.cc +++ b/chrome/browser/history/android/sqlite_cursor.cc @@ -60,7 +60,7 @@ bool SQLiteCursor::RegisterSqliteCursor(JNIEnv* env) { return RegisterNativesImpl(env); } -jint SQLiteCursor::GetCount(JNIEnv* env, jobject obj) { +jint SQLiteCursor::GetCount(JNIEnv* env, const JavaParamRef<jobject>& obj) { // Moves to maxium possible position so we will reach the last row, then finds // out the total number of rows. int current_position = position_; @@ -70,34 +70,43 @@ jint SQLiteCursor::GetCount(JNIEnv* env, jobject obj) { return count; } -ScopedJavaLocalRef<jobjectArray> SQLiteCursor::GetColumnNames(JNIEnv* env, - jobject obj) { +ScopedJavaLocalRef<jobjectArray> SQLiteCursor::GetColumnNames( + JNIEnv* env, + const JavaParamRef<jobject>& obj) { return base::android::ToJavaArrayOfStrings(env, column_names_); } -ScopedJavaLocalRef<jstring> SQLiteCursor::GetString(JNIEnv* env, - jobject obj, - jint column) { +ScopedJavaLocalRef<jstring> SQLiteCursor::GetString( + JNIEnv* env, + const JavaParamRef<jobject>& obj, + jint column) { base::string16 value = statement_->statement()->ColumnString16(column); return ScopedJavaLocalRef<jstring>(env, env->NewString(value.data(), value.size())); } -jlong SQLiteCursor::GetLong(JNIEnv* env, jobject obj, jint column) { +jlong SQLiteCursor::GetLong(JNIEnv* env, + const JavaParamRef<jobject>& obj, + jint column) { return statement_->statement()->ColumnInt64(column); } -jint SQLiteCursor::GetInt(JNIEnv* env, jobject obj, jint column) { +jint SQLiteCursor::GetInt(JNIEnv* env, + const JavaParamRef<jobject>& obj, + jint column) { return statement_->statement()->ColumnInt(column); } -jdouble SQLiteCursor::GetDouble(JNIEnv* env, jobject obj, jint column) { +jdouble SQLiteCursor::GetDouble(JNIEnv* env, + const JavaParamRef<jobject>& obj, + jint column) { return statement_->statement()->ColumnDouble(column); } -ScopedJavaLocalRef<jbyteArray> SQLiteCursor::GetBlob(JNIEnv* env, - jobject obj, - jint column) { +ScopedJavaLocalRef<jbyteArray> SQLiteCursor::GetBlob( + JNIEnv* env, + const JavaParamRef<jobject>& obj, + jint column) { std::vector<unsigned char> blob; // Assume the client will only get favicon using GetBlob. @@ -110,11 +119,15 @@ ScopedJavaLocalRef<jbyteArray> SQLiteCursor::GetBlob(JNIEnv* env, return base::android::ToJavaByteArray(env, &blob[0], blob.size()); } -jboolean SQLiteCursor::IsNull(JNIEnv* env, jobject obj, jint column) { +jboolean SQLiteCursor::IsNull(JNIEnv* env, + const JavaParamRef<jobject>& obj, + jint column) { return NULL_TYPE == GetColumnTypeInternal(column) ? JNI_TRUE : JNI_FALSE; } -jint SQLiteCursor::MoveTo(JNIEnv* env, jobject obj, jint pos) { +jint SQLiteCursor::MoveTo(JNIEnv* env, + const JavaParamRef<jobject>& obj, + jint pos) { BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, base::Bind(&SQLiteCursor::RunMoveStatementOnUIThread, base::Unretained(this), pos)); @@ -125,11 +138,13 @@ jint SQLiteCursor::MoveTo(JNIEnv* env, jobject obj, jint pos) { return position_; } -jint SQLiteCursor::GetColumnType(JNIEnv* env, jobject obj, jint column) { +jint SQLiteCursor::GetColumnType(JNIEnv* env, + const JavaParamRef<jobject>& obj, + jint column) { return GetColumnTypeInternal(column); } -void SQLiteCursor::Destroy(JNIEnv* env, jobject obj) { +void SQLiteCursor::Destroy(JNIEnv* env, const JavaParamRef<jobject>& obj) { // We do our best to cleanup when Destroy() is called from Java's finalize() // where the UI message loop might stop running or in the process of shutting // down, as the whole process will be destroyed soon, it's fine to leave some diff --git a/chrome/browser/history/android/sqlite_cursor.h b/chrome/browser/history/android/sqlite_cursor.h index c828ad2..f93514a 100644 --- a/chrome/browser/history/android/sqlite_cursor.h +++ b/chrome/browser/history/android/sqlite_cursor.h @@ -80,45 +80,59 @@ class SQLiteCursor { // JNI methods ----------------------------------------------------------- // Returns the result row count. - jint GetCount(JNIEnv* env, jobject obj); + jint GetCount(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj); // Returns the result's columns' name. base::android::ScopedJavaLocalRef<jobjectArray> GetColumnNames( JNIEnv* env, - jobject obj); + const base::android::JavaParamRef<jobject>& obj); // Returns the given column value as jstring. - base::android::ScopedJavaLocalRef<jstring> GetString(JNIEnv* env, - jobject obj, - jint column); + base::android::ScopedJavaLocalRef<jstring> GetString( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj, + jint column); // Returns the given column value as jlong. - jlong GetLong(JNIEnv* env, jobject obj, jint column); + jlong GetLong(JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj, + jint column); // Returns the given column value as int. - jint GetInt(JNIEnv* env, jobject obj, jint column); + jint GetInt(JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj, + jint column); // Returns the given column value as double. - jdouble GetDouble(JNIEnv* env, jobject obj, jint column); + jdouble GetDouble(JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj, + jint column); // Returns the given column value as jbyteArray. - base::android::ScopedJavaLocalRef<jbyteArray> GetBlob(JNIEnv* env, - jobject obj, - jint column); + base::android::ScopedJavaLocalRef<jbyteArray> GetBlob( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj, + jint column); // Return JNI_TRUE if the give column value is NULL, JNI_FALSE otherwise. - jboolean IsNull(JNIEnv* env, jobject obj, jint column); + jboolean IsNull(JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj, + jint column); // Moves the cursor to |pos|, returns new position. // If the returned position is not equal to |pos|, then the cursor points to // the last row. - jint MoveTo(JNIEnv* env, jobject obj, jint pos); + jint MoveTo(JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj, + jint pos); // Returns the type of column. - jint GetColumnType(JNIEnv* env, jobject obj, jint column); + jint GetColumnType(JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj, + jint column); // Called from Java to relase this object. - void Destroy(JNIEnv* env, jobject obj); + void Destroy(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj); private: FRIEND_TEST_ALL_PREFIXES(SQLiteCursorTest, Run); diff --git a/chrome/browser/media/android/remote/remote_media_player_bridge.cc b/chrome/browser/media/android/remote/remote_media_player_bridge.cc index 4efd11b..5d3d788 100644 --- a/chrome/browser/media/android/remote/remote_media_player_bridge.cc +++ b/chrome/browser/media/android/remote/remote_media_player_bridge.cc @@ -120,19 +120,23 @@ void RemoteMediaPlayerBridge::OnTimeUpdateTimerFired() { player_id(), GetCurrentTime(), base::TimeTicks::Now()); } -void RemoteMediaPlayerBridge::PauseLocal(JNIEnv* env, jobject obj) { +void RemoteMediaPlayerBridge::PauseLocal(JNIEnv* env, + const JavaParamRef<jobject>& obj) { local_player_->Pause(true); static_cast<RemoteMediaPlayerManager*>(manager())->OnPaused(player_id()); } -jint RemoteMediaPlayerBridge::GetLocalPosition(JNIEnv* env, jobject obj) { +jint RemoteMediaPlayerBridge::GetLocalPosition( + JNIEnv* env, + const JavaParamRef<jobject>& obj) { base::TimeDelta time = local_player_->GetCurrentTime(); return static_cast<jint>(time.InMilliseconds()); } -void RemoteMediaPlayerBridge::OnCastStarting(JNIEnv* env, - jobject obj, - jstring casting_message) { +void RemoteMediaPlayerBridge::OnCastStarting( + JNIEnv* env, + const JavaParamRef<jobject>& obj, + const JavaParamRef<jstring>& casting_message) { static_cast<RemoteMediaPlayerManager*>(manager())->SwitchToRemotePlayer( player_id(), ConvertJavaStringToUTF8(env, casting_message)); if (!time_update_timer_.IsRunning()) { @@ -143,7 +147,8 @@ void RemoteMediaPlayerBridge::OnCastStarting(JNIEnv* env, } } -void RemoteMediaPlayerBridge::OnCastStopping(JNIEnv* env, jobject obj) { +void RemoteMediaPlayerBridge::OnCastStopping(JNIEnv* env, + const JavaParamRef<jobject>& obj) { static_cast<RemoteMediaPlayerManager*>(manager()) ->SwitchToLocalPlayer(player_id()); } @@ -169,32 +174,40 @@ void RemoteMediaPlayerBridge::SetVideoSurface(gfx::ScopedJavaSurface surface) { } base::android::ScopedJavaLocalRef<jstring> RemoteMediaPlayerBridge::GetFrameUrl( - JNIEnv* env, jobject obj) { + JNIEnv* env, + const JavaParamRef<jobject>& obj) { return ConvertUTF8ToJavaString(env, frame_url().spec()); } -void RemoteMediaPlayerBridge::OnPlaying(JNIEnv* env, jobject obj) { +void RemoteMediaPlayerBridge::OnPlaying(JNIEnv* env, + const JavaParamRef<jobject>& obj) { static_cast<RemoteMediaPlayerManager *>(manager())->OnPlaying(player_id()); } -void RemoteMediaPlayerBridge::OnPaused(JNIEnv* env, jobject obj) { +void RemoteMediaPlayerBridge::OnPaused(JNIEnv* env, + const JavaParamRef<jobject>& obj) { static_cast<RemoteMediaPlayerManager *>(manager())->OnPaused(player_id()); } -void RemoteMediaPlayerBridge::OnRouteUnselected(JNIEnv* env, jobject obj) { +void RemoteMediaPlayerBridge::OnRouteUnselected( + JNIEnv* env, + const JavaParamRef<jobject>& obj) { casting_message_.reset(); static_cast<RemoteMediaPlayerManager *>(manager())->OnRemoteDeviceUnselected( player_id()); } -void RemoteMediaPlayerBridge::OnPlaybackFinished(JNIEnv* env, jobject obj) { +void RemoteMediaPlayerBridge::OnPlaybackFinished( + JNIEnv* env, + const JavaParamRef<jobject>& obj) { static_cast<RemoteMediaPlayerManager *>(manager())->OnRemotePlaybackFinished( player_id()); } -void RemoteMediaPlayerBridge::OnRouteAvailabilityChanged(JNIEnv* env, - jobject obj, - jboolean available) { +void RemoteMediaPlayerBridge::OnRouteAvailabilityChanged( + JNIEnv* env, + const JavaParamRef<jobject>& obj, + jboolean available) { static_cast<RemoteMediaPlayerManager *>(manager())-> OnRouteAvailabilityChanged(player_id(), available); } @@ -370,7 +383,8 @@ void RemoteMediaPlayerBridge::Initialize() { } base::android::ScopedJavaLocalRef<jstring> RemoteMediaPlayerBridge::GetTitle( - JNIEnv* env, jobject obj) { + JNIEnv* env, + const JavaParamRef<jobject>& obj) { base::string16 title; content::ContentViewCore* core = static_cast<RemoteMediaPlayerManager*>(manager())->GetContentViewCore(); diff --git a/chrome/browser/media/android/remote/remote_media_player_bridge.h b/chrome/browser/media/android/remote/remote_media_player_bridge.h index ea21de7..893d0ff 100644 --- a/chrome/browser/media/android/remote/remote_media_player_bridge.h +++ b/chrome/browser/media/android/remote/remote_media_player_bridge.h @@ -56,17 +56,30 @@ class RemoteMediaPlayerBridge : public media::MediaPlayerAndroid { // JNI functions base::android::ScopedJavaLocalRef<jstring> GetFrameUrl( - JNIEnv* env, jobject obj); - void OnPlaying(JNIEnv* env, jobject obj); - void OnPaused(JNIEnv* env, jobject obj); - void OnRouteUnselected(JNIEnv* env, jobject obj); - void OnPlaybackFinished(JNIEnv* env, jobject obj); - void OnRouteAvailabilityChanged(JNIEnv* env, jobject obj, jboolean available); - base::android::ScopedJavaLocalRef<jstring> GetTitle(JNIEnv* env, jobject obj); - void PauseLocal(JNIEnv* env, jobject obj); - jint GetLocalPosition(JNIEnv* env, jobject obj); - void OnCastStarting(JNIEnv* env, jobject obj, jstring casting_message); - void OnCastStopping(JNIEnv* env, jobject obj); + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); + void OnPlaying(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj); + void OnPaused(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj); + void OnRouteUnselected(JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); + void OnPlaybackFinished(JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); + void OnRouteAvailabilityChanged( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj, + jboolean available); + base::android::ScopedJavaLocalRef<jstring> GetTitle( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); + void PauseLocal(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj); + jint GetLocalPosition(JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); + void OnCastStarting( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj, + const base::android::JavaParamRef<jstring>& casting_message); + void OnCastStopping(JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); // Wrappers for calls to Java used by the remote media player manager void RequestRemotePlayback(); diff --git a/chrome/browser/media/android/router/media_router_android.cc b/chrome/browser/media/android/router/media_router_android.cc index a3e6e8a..ea91893 100644 --- a/chrome/browser/media/android/router/media_router_android.cc +++ b/chrome/browser/media/android/router/media_router_android.cc @@ -314,8 +314,8 @@ void MediaRouterAndroid::UnregisterLocalMediaRoutesObserver( void MediaRouterAndroid::OnSinksReceived( JNIEnv* env, - jobject obj, - jstring jsource_urn, + const JavaParamRef<jobject>& obj, + const JavaParamRef<jstring>& jsource_urn, jint jcount) { std::vector<MediaSink> sinks_converted; sinks_converted.reserve(jcount); @@ -342,9 +342,9 @@ void MediaRouterAndroid::OnSinksReceived( void MediaRouterAndroid::OnRouteCreated( JNIEnv* env, - jobject obj, - jstring jmedia_route_id, - jstring jsink_id, + const JavaParamRef<jobject>& obj, + const JavaParamRef<jstring>& jmedia_route_id, + const JavaParamRef<jstring>& jsink_id, jint jroute_request_id, jboolean jis_local) { MediaRouteRequest* request = route_requests_.Lookup(jroute_request_id); @@ -369,8 +369,8 @@ void MediaRouterAndroid::OnRouteCreated( void MediaRouterAndroid::OnRouteRequestError( JNIEnv* env, - jobject obj, - jstring jerror_text, + const JavaParamRef<jobject>& obj, + const JavaParamRef<jstring>& jerror_text, jint jroute_request_id) { MediaRouteRequest* request = route_requests_.Lookup(jroute_request_id); if (!request) @@ -384,9 +384,10 @@ void MediaRouterAndroid::OnRouteRequestError( route_requests_.Remove(jroute_request_id); } -void MediaRouterAndroid::OnRouteClosed(JNIEnv* env, - jobject obj, - jstring jmedia_route_id) { +void MediaRouterAndroid::OnRouteClosed( + JNIEnv* env, + const JavaParamRef<jobject>& obj, + const JavaParamRef<jstring>& jmedia_route_id) { MediaRoute::Id route_id = ConvertJavaStringToUTF8(env, jmedia_route_id); for (auto it = active_routes_.begin(); it != active_routes_.end(); ++it) if (it->media_route_id() == route_id) { @@ -398,16 +399,20 @@ void MediaRouterAndroid::OnRouteClosed(JNIEnv* env, OnRoutesUpdated(active_routes_)); } -void MediaRouterAndroid::OnMessageSentResult( - JNIEnv* env, jobject obj, jboolean jsuccess, jint jcallback_id) { +void MediaRouterAndroid::OnMessageSentResult(JNIEnv* env, + const JavaParamRef<jobject>& obj, + jboolean jsuccess, + jint jcallback_id) { SendRouteMessageCallback* callback = message_callbacks_.Lookup(jcallback_id); callback->Run(jsuccess); message_callbacks_.Remove(jcallback_id); } // Notifies the media router about a message received from the media route. -void MediaRouterAndroid::OnMessage( - JNIEnv* env, jobject obj, jstring jmedia_route_id, jstring jmessage) { +void MediaRouterAndroid::OnMessage(JNIEnv* env, + const JavaParamRef<jobject>& obj, + const JavaParamRef<jstring>& jmedia_route_id, + const JavaParamRef<jstring>& jmessage) { MediaRoute::Id route_id = ConvertJavaStringToUTF8(env, jmedia_route_id); auto* observer_list = messages_observers_.get(route_id); if (!observer_list) diff --git a/chrome/browser/media/android/router/media_router_android.h b/chrome/browser/media/android/router/media_router_android.h index a2d9b52..25a325a 100644 --- a/chrome/browser/media/android/router/media_router_android.h +++ b/chrome/browser/media/android/router/media_router_android.h @@ -57,35 +57,44 @@ class MediaRouterAndroid : public MediaRouterBase { // Notifies the media router that information about sinks is received for // a specific source URN. - void OnSinksReceived( - JNIEnv* env, jobject obj, jstring jsource_urn, jint jcount); + void OnSinksReceived(JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj, + const base::android::JavaParamRef<jstring>& jsource_urn, + jint jcount); // Notifies the media router about a successful route creation. void OnRouteCreated( JNIEnv* env, - jobject obj, - jstring jmedia_route_id, - jstring jmedia_sink_id, + const base::android::JavaParamRef<jobject>& obj, + const base::android::JavaParamRef<jstring>& jmedia_route_id, + const base::android::JavaParamRef<jstring>& jmedia_sink_id, jint jroute_request_id, jboolean jis_local); // Notifies the media router that route creation or joining failed. void OnRouteRequestError( JNIEnv* env, - jobject obj, - jstring jerror_text, + const base::android::JavaParamRef<jobject>& obj, + const base::android::JavaParamRef<jstring>& jerror_text, jint jroute_request_id); // Notifies the media router when the route was closed. - void OnRouteClosed(JNIEnv* env, jobject obj, jstring jmedia_route_id); + void OnRouteClosed( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj, + const base::android::JavaParamRef<jstring>& jmedia_route_id); // Notifies the media router about the result of sending a message. - void OnMessageSentResult( - JNIEnv* env, jobject obj, jboolean jsuccess, jint jcallback_id); + void OnMessageSentResult(JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj, + jboolean jsuccess, + jint jcallback_id); // Notifies the media router about a message received from the media route. - void OnMessage( - JNIEnv* env, jobject obj, jstring jmedia_route_id, jstring jmessage); + void OnMessage(JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj, + const base::android::JavaParamRef<jstring>& jmedia_route_id, + const base::android::JavaParamRef<jstring>& jmessage); private: friend class MediaRouterFactory; diff --git a/chrome/browser/media/android/router/media_router_dialog_controller_android.cc b/chrome/browser/media/android/router/media_router_dialog_controller_android.cc index cbff49e..86ab932 100644 --- a/chrome/browser/media/android/router/media_router_dialog_controller_android.cc +++ b/chrome/browser/media/android/router/media_router_dialog_controller_android.cc @@ -36,7 +36,9 @@ MediaRouterDialogControllerAndroid::GetOrCreateForWebContents( } void MediaRouterDialogControllerAndroid::OnSinkSelected( - JNIEnv* env, jobject obj, jstring jsink_id) { + JNIEnv* env, + const JavaParamRef<jobject>& obj, + const JavaParamRef<jstring>& jsink_id) { scoped_ptr<CreatePresentationConnectionRequest> create_connection_request = TakeCreateConnectionRequest(); const PresentationRequest& presentation_request = @@ -61,8 +63,8 @@ void MediaRouterDialogControllerAndroid::OnSinkSelected( void MediaRouterDialogControllerAndroid::OnRouteClosed( JNIEnv* env, - jobject obj, - jstring jmedia_route_id) { + const JavaParamRef<jobject>& obj, + const JavaParamRef<jstring>& jmedia_route_id) { std::string media_route_id = ConvertJavaStringToUTF8(env, jmedia_route_id); MediaRouter* router = MediaRouterFactory::GetApiForBrowserContext( @@ -74,7 +76,8 @@ void MediaRouterDialogControllerAndroid::OnRouteClosed( } void MediaRouterDialogControllerAndroid::OnDialogCancelled( - JNIEnv* env, jobject obj) { + JNIEnv* env, + const JavaParamRef<jobject>& obj) { CancelPresentationRequest(); } diff --git a/chrome/browser/media/android/router/media_router_dialog_controller_android.h b/chrome/browser/media/android/router/media_router_dialog_controller_android.h index cbd5928..40c8c02 100644 --- a/chrome/browser/media/android/router/media_router_dialog_controller_android.h +++ b/chrome/browser/media/android/router/media_router_dialog_controller_android.h @@ -32,12 +32,18 @@ class MediaRouterDialogControllerAndroid // The methods called by the Java counterpart. // Notifies the controller that user has selected a sink with |jsink_id|. - void OnSinkSelected(JNIEnv* env, jobject obj, jstring jsink_id); + void OnSinkSelected(JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj, + const base::android::JavaParamRef<jstring>& jsink_id); // Notifies the controller that user chose to close the route. - void OnRouteClosed(JNIEnv* env, jobject obj, jstring jmedia_route_id); + void OnRouteClosed( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj, + const base::android::JavaParamRef<jstring>& jmedia_route_id); // Notifies the controller that the dialog has been closed without the user // taking any action (e.g. closing the route or selecting a sink). - void OnDialogCancelled(JNIEnv* env, jobject obj); + void OnDialogCancelled(JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); private: friend class content::WebContentsUserData<MediaRouterDialogControllerAndroid>; diff --git a/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.cc b/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.cc index cbd5130..6090293 100644 --- a/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.cc +++ b/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.cc @@ -32,76 +32,90 @@ DataReductionProxySettingsAndroid::~DataReductionProxySettingsAndroid() { } jboolean DataReductionProxySettingsAndroid::IsDataReductionProxyAllowed( - JNIEnv* env, jobject obj) { + JNIEnv* env, + const JavaParamRef<jobject>& obj) { return Settings()->Allowed(); } jboolean DataReductionProxySettingsAndroid::IsDataReductionProxyPromoAllowed( - JNIEnv* env, jobject obj) { + JNIEnv* env, + const JavaParamRef<jobject>& obj) { return Settings()->PromoAllowed(); } jboolean DataReductionProxySettingsAndroid::IsIncludedInAltFieldTrial( - JNIEnv* env, jobject obj) { + JNIEnv* env, + const JavaParamRef<jobject>& obj) { return false; } jboolean DataReductionProxySettingsAndroid::IsDataReductionProxyEnabled( - JNIEnv* env, jobject obj) { + JNIEnv* env, + const JavaParamRef<jobject>& obj) { return Settings()->IsDataReductionProxyEnabled(); } jboolean DataReductionProxySettingsAndroid::CanUseDataReductionProxy( - JNIEnv* env, jobject obj, jstring url) { + JNIEnv* env, + const JavaParamRef<jobject>& obj, + const JavaParamRef<jstring>& url) { return Settings()->CanUseDataReductionProxy( GURL(base::android::ConvertJavaStringToUTF16(env, url))); } jboolean DataReductionProxySettingsAndroid::WasLoFiModeActiveOnMainFrame( - JNIEnv* env, jobject obj) { + JNIEnv* env, + const JavaParamRef<jobject>& obj) { return Settings()->WasLoFiModeActiveOnMainFrame(); } jboolean DataReductionProxySettingsAndroid::WasLoFiLoadImageRequestedBefore( - JNIEnv* env, jobject obj) { + JNIEnv* env, + const JavaParamRef<jobject>& obj) { return Settings()->WasLoFiLoadImageRequestedBefore(); } void DataReductionProxySettingsAndroid::SetLoFiLoadImageRequested( - JNIEnv* env, jobject obj) { + JNIEnv* env, + const JavaParamRef<jobject>& obj) { Settings()->SetLoFiLoadImageRequested(); } jboolean DataReductionProxySettingsAndroid::IsDataReductionProxyManaged( - JNIEnv* env, jobject obj) { + JNIEnv* env, + const JavaParamRef<jobject>& obj) { return Settings()->IsDataReductionProxyManaged(); } void DataReductionProxySettingsAndroid::IncrementLoFiSnackbarShown( - JNIEnv* env, jobject obj) { + JNIEnv* env, + const JavaParamRef<jobject>& obj) { Settings()->IncrementLoFiSnackbarShown(); } void DataReductionProxySettingsAndroid::IncrementLoFiUserRequestsForImages( - JNIEnv* env, jobject obj) { + JNIEnv* env, + const JavaParamRef<jobject>& obj) { Settings()->IncrementLoFiUserRequestsForImages(); } void DataReductionProxySettingsAndroid::SetDataReductionProxyEnabled( JNIEnv* env, - jobject obj, + const JavaParamRef<jobject>& obj, jboolean enabled) { Settings()->SetDataReductionProxyEnabled(enabled); } jlong DataReductionProxySettingsAndroid::GetDataReductionLastUpdateTime( - JNIEnv* env, jobject obj) { + JNIEnv* env, + const JavaParamRef<jobject>& obj) { return Settings()->GetDataReductionLastUpdateTime(); } base::android::ScopedJavaLocalRef<jobject> -DataReductionProxySettingsAndroid::GetContentLengths(JNIEnv* env, - jobject obj) { +DataReductionProxySettingsAndroid::GetContentLengths( + JNIEnv* env, + const JavaParamRef<jobject>& obj) { int64 original_content_length; int64 received_content_length; int64 last_update_internal; @@ -118,20 +132,23 @@ DataReductionProxySettingsAndroid::GetContentLengths(JNIEnv* env, ScopedJavaLocalRef<jlongArray> DataReductionProxySettingsAndroid::GetDailyOriginalContentLengths( - JNIEnv* env, jobject obj) { + JNIEnv* env, + const JavaParamRef<jobject>& obj) { return GetDailyContentLengths( env, data_reduction_proxy::prefs::kDailyHttpOriginalContentLength); } ScopedJavaLocalRef<jlongArray> DataReductionProxySettingsAndroid::GetDailyReceivedContentLengths( - JNIEnv* env, jobject obj) { + JNIEnv* env, + const JavaParamRef<jobject>& obj) { return GetDailyContentLengths( env, data_reduction_proxy::prefs::kDailyHttpReceivedContentLength); } jboolean DataReductionProxySettingsAndroid::IsDataReductionProxyUnreachable( - JNIEnv* env, jobject obj) { + JNIEnv* env, + const JavaParamRef<jobject>& obj) { return Settings()->IsDataReductionProxyUnreachable(); } @@ -160,7 +177,7 @@ DataReductionProxySettingsAndroid::GetDailyContentLengths( ScopedJavaLocalRef<jstring> DataReductionProxySettingsAndroid::GetHttpProxyList( JNIEnv* env, - jobject obj) { + const JavaParamRef<jobject>& obj) { data_reduction_proxy::DataReductionProxyEventStore* event_store = Settings()->GetEventStore(); if (!event_store) @@ -170,7 +187,9 @@ ScopedJavaLocalRef<jstring> DataReductionProxySettingsAndroid::GetHttpProxyList( } ScopedJavaLocalRef<jstring> -DataReductionProxySettingsAndroid::GetHttpsProxyList(JNIEnv* env, jobject obj) { +DataReductionProxySettingsAndroid::GetHttpsProxyList( + JNIEnv* env, + const JavaParamRef<jobject>& obj) { data_reduction_proxy::DataReductionProxyEventStore* event_store = Settings()->GetEventStore(); if (!event_store) @@ -188,8 +207,9 @@ DataReductionProxySettings* DataReductionProxySettingsAndroid::Settings() { } ScopedJavaLocalRef<jstring> -DataReductionProxySettingsAndroid::GetLastBypassEvent(JNIEnv* env, - jobject obj) { +DataReductionProxySettingsAndroid::GetLastBypassEvent( + JNIEnv* env, + const JavaParamRef<jobject>& obj) { data_reduction_proxy::DataReductionProxyEventStore* event_store = Settings()->GetEventStore(); if (!event_store) diff --git a/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.h b/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.h index e79be28..2512284 100644 --- a/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.h +++ b/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.h @@ -34,34 +34,67 @@ class DataReductionProxySettingsAndroid { void InitDataReductionProxySettings(Profile* profile); // JNI wrapper interfaces to the indentically-named superclass methods. - jboolean IsDataReductionProxyAllowed(JNIEnv* env, jobject obj); - jboolean IsDataReductionProxyPromoAllowed(JNIEnv* env, jobject obj); - jboolean IsIncludedInAltFieldTrial(JNIEnv* env, jobject obj); - jboolean IsDataReductionProxyEnabled(JNIEnv* env, jobject obj); - jboolean CanUseDataReductionProxy(JNIEnv* env, jobject obj, jstring url); - jboolean WasLoFiModeActiveOnMainFrame(JNIEnv* env, jobject obj); - jboolean WasLoFiLoadImageRequestedBefore(JNIEnv* env, jobject obj); - void SetLoFiLoadImageRequested(JNIEnv* env, jobject obj); - jboolean IsDataReductionProxyManaged(JNIEnv* env, jobject obj); - void IncrementLoFiSnackbarShown(JNIEnv* env, jobject obj); - void IncrementLoFiUserRequestsForImages(JNIEnv* env, jobject obj); - void SetDataReductionProxyEnabled(JNIEnv* env, jobject obj, jboolean enabled); - - jlong GetDataReductionLastUpdateTime(JNIEnv* env, jobject obj); - ScopedJavaLocalRef<jlongArray> GetDailyOriginalContentLengths(JNIEnv* env, - jobject obj); - ScopedJavaLocalRef<jlongArray> GetDailyReceivedContentLengths(JNIEnv* env, - jobject obj); + jboolean IsDataReductionProxyAllowed( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); + jboolean IsDataReductionProxyPromoAllowed( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); + jboolean IsIncludedInAltFieldTrial( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); + jboolean IsDataReductionProxyEnabled( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); + jboolean CanUseDataReductionProxy( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj, + const base::android::JavaParamRef<jstring>& url); + jboolean WasLoFiModeActiveOnMainFrame( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); + jboolean WasLoFiLoadImageRequestedBefore( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); + void SetLoFiLoadImageRequested( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); + jboolean IsDataReductionProxyManaged( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); + void IncrementLoFiSnackbarShown( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); + void IncrementLoFiUserRequestsForImages( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); + void SetDataReductionProxyEnabled( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj, + jboolean enabled); + + jlong GetDataReductionLastUpdateTime( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); + ScopedJavaLocalRef<jlongArray> GetDailyOriginalContentLengths( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); + ScopedJavaLocalRef<jlongArray> GetDailyReceivedContentLengths( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); // Return a Java |ContentLengths| object wrapping the results of a call to // DataReductionProxySettings::GetContentLengths. - base::android::ScopedJavaLocalRef<jobject> GetContentLengths(JNIEnv* env, - jobject obj); + base::android::ScopedJavaLocalRef<jobject> GetContentLengths( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); // Determines whether the data reduction proxy is unreachable. This is // done by keeping a count of requests which go through proxy vs those // which should have gone through the proxy based on the config. - jboolean IsDataReductionProxyUnreachable(JNIEnv* env, jobject obj); + jboolean IsDataReductionProxyUnreachable( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); ScopedJavaLocalRef<jstring> GetTokenForAuthChallenge(JNIEnv* env, jobject obj, @@ -70,15 +103,21 @@ class DataReductionProxySettingsAndroid { // Returns a Java string of the Data Reduction Proxy proxy list for HTTP // origins as a semi-colon delimited list. - ScopedJavaLocalRef<jstring> GetHttpProxyList(JNIEnv* env, jobject obj); + ScopedJavaLocalRef<jstring> GetHttpProxyList( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); // Returns a Java string of the Data Reduction Proxy proxy list for HTTPS // origins as a semi-colon delimited list. - ScopedJavaLocalRef<jstring> GetHttpsProxyList(JNIEnv* env, jobject obj); + ScopedJavaLocalRef<jstring> GetHttpsProxyList( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); // Returns a Java string of the last Data Reduction Proxy bypass event as // a JSON object. - ScopedJavaLocalRef<jstring> GetLastBypassEvent(JNIEnv* env, jobject obj); + ScopedJavaLocalRef<jstring> GetLastBypassEvent( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); // Registers the native methods to be call from Java. static bool Register(JNIEnv* env); diff --git a/chrome/browser/notifications/notification_ui_manager_android.cc b/chrome/browser/notifications/notification_ui_manager_android.cc index 9943969..cf2b78a 100644 --- a/chrome/browser/notifications/notification_ui_manager_android.cc +++ b/chrome/browser/notifications/notification_ui_manager_android.cc @@ -55,10 +55,10 @@ NotificationUIManagerAndroid::~NotificationUIManagerAndroid() { bool NotificationUIManagerAndroid::OnNotificationClicked( JNIEnv* env, - jobject java_object, + const JavaParamRef<jobject>& java_object, jlong persistent_notification_id, - jstring java_origin, - jstring java_tag, + const JavaParamRef<jstring>& java_origin, + const JavaParamRef<jstring>& java_tag, jint action_index) { GURL origin(ConvertJavaStringToUTF8(env, java_origin)); std::string tag = ConvertJavaStringToUTF8(env, java_tag); @@ -80,10 +80,10 @@ bool NotificationUIManagerAndroid::OnNotificationClicked( bool NotificationUIManagerAndroid::OnNotificationClosed( JNIEnv* env, - jobject java_object, + const JavaParamRef<jobject>& java_object, jlong persistent_notification_id, - jstring java_origin, - jstring java_tag, + const JavaParamRef<jstring>& java_origin, + const JavaParamRef<jstring>& java_tag, jboolean by_user) { GURL origin(ConvertJavaStringToUTF8(env, java_origin)); std::string tag = ConvertJavaStringToUTF8(env, java_tag); diff --git a/chrome/browser/notifications/notification_ui_manager_android.h b/chrome/browser/notifications/notification_ui_manager_android.h index 41a0af3..33f37f3 100644 --- a/chrome/browser/notifications/notification_ui_manager_android.h +++ b/chrome/browser/notifications/notification_ui_manager_android.h @@ -30,20 +30,22 @@ class NotificationUIManagerAndroid : public NotificationUIManager { ~NotificationUIManagerAndroid() override; // Called by the Java implementation when the notification has been clicked. - bool OnNotificationClicked(JNIEnv* env, - jobject java_object, - jlong persistent_notification_id, - jstring java_origin, - jstring java_tag, - jint action_index); + bool OnNotificationClicked( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& java_object, + jlong persistent_notification_id, + const base::android::JavaParamRef<jstring>& java_origin, + const base::android::JavaParamRef<jstring>& java_tag, + jint action_index); // Called by the Java implementation when the notification has been closed. - bool OnNotificationClosed(JNIEnv* env, - jobject java_object, - jlong persistent_notification_id, - jstring java_origin, - jstring java_tag, - jboolean by_user); + bool OnNotificationClosed( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& java_object, + jlong persistent_notification_id, + const base::android::JavaParamRef<jstring>& java_origin, + const base::android::JavaParamRef<jstring>& java_tag, + jboolean by_user); // NotificationUIManager implementation. void Add(const Notification& notification, Profile* profile) override; diff --git a/chrome/browser/permissions/permission_update_infobar_delegate_android.cc b/chrome/browser/permissions/permission_update_infobar_delegate_android.cc index 4a876d1..1999ae0 100644 --- a/chrome/browser/permissions/permission_update_infobar_delegate_android.cc +++ b/chrome/browser/permissions/permission_update_infobar_delegate_android.cc @@ -119,7 +119,9 @@ bool PermissionUpdateInfoBarDelegate::RegisterPermissionUpdateInfoBarDelegate( } void PermissionUpdateInfoBarDelegate::OnPermissionResult( - JNIEnv* env, jobject obj, jboolean all_permissions_granted) { + JNIEnv* env, + const JavaParamRef<jobject>& obj, + jboolean all_permissions_granted) { base::ResetAndReturn(&callback_).Run(all_permissions_granted); infobar()->RemoveSelf(); } diff --git a/chrome/browser/permissions/permission_update_infobar_delegate_android.h b/chrome/browser/permissions/permission_update_infobar_delegate_android.h index dc3b1cb..34db3c7 100644 --- a/chrome/browser/permissions/permission_update_infobar_delegate_android.h +++ b/chrome/browser/permissions/permission_update_infobar_delegate_android.h @@ -55,8 +55,9 @@ class PermissionUpdateInfoBarDelegate : public ConfirmInfoBarDelegate { static bool RegisterPermissionUpdateInfoBarDelegate(JNIEnv* env); - void OnPermissionResult( - JNIEnv* env, jobject obj, jboolean all_permissions_granted); + void OnPermissionResult(JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj, + jboolean all_permissions_granted); private: PermissionUpdateInfoBarDelegate( diff --git a/chrome/browser/prerender/external_prerender_handler_android.cc b/chrome/browser/prerender/external_prerender_handler_android.cc index e02dfee..8714710 100644 --- a/chrome/browser/prerender/external_prerender_handler_android.cc +++ b/chrome/browser/prerender/external_prerender_handler_android.cc @@ -22,14 +22,15 @@ using base::android::ConvertJavaStringToUTF16; namespace prerender { -bool ExternalPrerenderHandlerAndroid::AddPrerender(JNIEnv* env, - jobject obj, - jobject jprofile, - jobject jweb_contents, - jstring jurl, - jstring jreferrer, - jint width, - jint height) { +bool ExternalPrerenderHandlerAndroid::AddPrerender( + JNIEnv* env, + const JavaParamRef<jobject>& obj, + const JavaParamRef<jobject>& jprofile, + const JavaParamRef<jobject>& jweb_contents, + const JavaParamRef<jstring>& jurl, + const JavaParamRef<jstring>& jreferrer, + jint width, + jint height) { Profile* profile = ProfileAndroid::FromProfileAndroid(jprofile); GURL url = GURL(ConvertJavaStringToUTF16(env, jurl)); @@ -60,8 +61,9 @@ bool ExternalPrerenderHandlerAndroid::AddPrerender(JNIEnv* env, return true; } -void ExternalPrerenderHandlerAndroid::CancelCurrentPrerender(JNIEnv* env, - jobject object) { +void ExternalPrerenderHandlerAndroid::CancelCurrentPrerender( + JNIEnv* env, + const JavaParamRef<jobject>& object) { if (!prerender_handle_) return; prerender_handle_->OnCancel(); diff --git a/chrome/browser/prerender/external_prerender_handler_android.h b/chrome/browser/prerender/external_prerender_handler_android.h index 329dac4..4430cbc 100644 --- a/chrome/browser/prerender/external_prerender_handler_android.h +++ b/chrome/browser/prerender/external_prerender_handler_android.h @@ -28,16 +28,18 @@ class ExternalPrerenderHandlerAndroid { // Add a prerender with the given url and referrer on the PrerenderManager of // the given profile. This is restricted to a single prerender at a time. bool AddPrerender(JNIEnv* env, - jobject obj, - jobject profile, - jobject jweb_contents, - jstring url, - jstring referrer, + const base::android::JavaParamRef<jobject>& obj, + const base::android::JavaParamRef<jobject>& profile, + const base::android::JavaParamRef<jobject>& jweb_contents, + const base::android::JavaParamRef<jstring>& url, + const base::android::JavaParamRef<jstring>& referrer, jint width, jint height); // Cancel the prerender associated with the prerender_handle_ - void CancelCurrentPrerender(JNIEnv* env, jobject object); + void CancelCurrentPrerender( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& object); // Whether the PrerenderManager associated with the given profile has any // prerenders for the url. diff --git a/chrome/browser/profiles/profile_android.cc b/chrome/browser/profiles/profile_android.cc index 9c92901..2ec4bbb 100644 --- a/chrome/browser/profiles/profile_android.cc +++ b/chrome/browser/profiles/profile_android.cc @@ -65,14 +65,16 @@ ScopedJavaLocalRef<jobject> ProfileAndroid::GetLastUsedProfile(JNIEnv* env, return ScopedJavaLocalRef<jobject>(profile_android->obj_); } -void ProfileAndroid::DestroyWhenAppropriate(JNIEnv* env, jobject obj) { +void ProfileAndroid::DestroyWhenAppropriate(JNIEnv* env, + const JavaParamRef<jobject>& obj) { // Don't delete the Profile directly because the corresponding // RenderViewHost might not be deleted yet. ProfileDestroyer::DestroyProfileWhenAppropriate(profile_); } base::android::ScopedJavaLocalRef<jobject> ProfileAndroid::GetOriginalProfile( - JNIEnv* env, jobject obj) { + JNIEnv* env, + const JavaParamRef<jobject>& obj) { ProfileAndroid* original_profile = ProfileAndroid::FromProfile( profile_->GetOriginalProfile()); DCHECK(original_profile); @@ -80,18 +82,22 @@ base::android::ScopedJavaLocalRef<jobject> ProfileAndroid::GetOriginalProfile( } base::android::ScopedJavaLocalRef<jobject> -ProfileAndroid::GetOffTheRecordProfile(JNIEnv* env, jobject obj) { +ProfileAndroid::GetOffTheRecordProfile(JNIEnv* env, + const JavaParamRef<jobject>& obj) { ProfileAndroid* otr_profile = ProfileAndroid::FromProfile( profile_->GetOffTheRecordProfile()); DCHECK(otr_profile); return otr_profile->GetJavaObject(); } -jboolean ProfileAndroid::HasOffTheRecordProfile(JNIEnv* env, jobject obj) { +jboolean ProfileAndroid::HasOffTheRecordProfile( + JNIEnv* env, + const JavaParamRef<jobject>& obj) { return profile_->HasOffTheRecordProfile(); } -jboolean ProfileAndroid::IsOffTheRecord(JNIEnv* env, jobject obj) { +jboolean ProfileAndroid::IsOffTheRecord(JNIEnv* env, + const JavaParamRef<jobject>& obj) { return profile_->IsOffTheRecord(); } diff --git a/chrome/browser/profiles/profile_android.h b/chrome/browser/profiles/profile_android.h index e6ed2c8..b7a55d3 100644 --- a/chrome/browser/profiles/profile_android.h +++ b/chrome/browser/profiles/profile_android.h @@ -26,11 +26,13 @@ class ProfileAndroid : public base::SupportsUserData::Data { jclass clazz); // Destroys this Profile when possible. - void DestroyWhenAppropriate(JNIEnv* env, jobject obj); + void DestroyWhenAppropriate(JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); // Return the original profile. base::android::ScopedJavaLocalRef<jobject> GetOriginalProfile( - JNIEnv* env, jobject obj); + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); // Return the incognito profile. // @@ -38,13 +40,17 @@ class ProfileAndroid : public base::SupportsUserData::Data { // exist. If this isn't what you want, you need to check // HasOffTheRecordProfile() first. base::android::ScopedJavaLocalRef<jobject> GetOffTheRecordProfile( - JNIEnv* env, jobject obj); + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); // Return whether an off the record profile exists. - jboolean HasOffTheRecordProfile(JNIEnv* env, jobject obj); + jboolean HasOffTheRecordProfile( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); // Whether this profile is off the record. - jboolean IsOffTheRecord(JNIEnv* env, jobject obj); + jboolean IsOffTheRecord(JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); explicit ProfileAndroid(Profile* profile); ~ProfileAndroid() override; diff --git a/chrome/browser/search_engines/template_url_service_android.cc b/chrome/browser/search_engines/template_url_service_android.cc index 8ab11e0..8e88588 100644 --- a/chrome/browser/search_engines/template_url_service_android.cc +++ b/chrome/browser/search_engines/template_url_service_android.cc @@ -44,13 +44,14 @@ TemplateUrlServiceAndroid::~TemplateUrlServiceAndroid() { template_url_service_->RemoveObserver(this); } -void TemplateUrlServiceAndroid::Load(JNIEnv* env, jobject obj) { +void TemplateUrlServiceAndroid::Load(JNIEnv* env, + const JavaParamRef<jobject>& obj) { template_url_service_->Load(); } void TemplateUrlServiceAndroid::SetUserSelectedDefaultSearchProvider( JNIEnv* env, - jobject obj, + const JavaParamRef<jobject>& obj, jint selected_index) { std::vector<TemplateURL*> template_urls = template_url_service_->GetTemplateURLs(); @@ -64,8 +65,9 @@ void TemplateUrlServiceAndroid::SetUserSelectedDefaultSearchProvider( template_url_service_->SetUserSelectedDefaultSearchProvider(template_url); } -jint TemplateUrlServiceAndroid::GetDefaultSearchProvider(JNIEnv* env, - jobject obj) { +jint TemplateUrlServiceAndroid::GetDefaultSearchProvider( + JNIEnv* env, + const JavaParamRef<jobject>& obj) { std::vector<TemplateURL*> template_urls = template_url_service_->GetTemplateURLs(); TemplateURL* default_search_provider = @@ -77,21 +79,26 @@ jint TemplateUrlServiceAndroid::GetDefaultSearchProvider(JNIEnv* env, return -1; } -jboolean TemplateUrlServiceAndroid::IsLoaded(JNIEnv* env, jobject obj) { +jboolean TemplateUrlServiceAndroid::IsLoaded(JNIEnv* env, + const JavaParamRef<jobject>& obj) { return template_url_service_->loaded(); } -jint TemplateUrlServiceAndroid::GetTemplateUrlCount(JNIEnv* env, jobject obj) { +jint TemplateUrlServiceAndroid::GetTemplateUrlCount( + JNIEnv* env, + const JavaParamRef<jobject>& obj) { return template_url_service_->GetTemplateURLs().size(); } -jboolean TemplateUrlServiceAndroid::IsSearchProviderManaged(JNIEnv* env, - jobject obj) { +jboolean TemplateUrlServiceAndroid::IsSearchProviderManaged( + JNIEnv* env, + const JavaParamRef<jobject>& obj) { return template_url_service_->is_default_search_managed(); } -jboolean TemplateUrlServiceAndroid::IsSearchByImageAvailable(JNIEnv* env, - jobject obj) { +jboolean TemplateUrlServiceAndroid::IsSearchByImageAvailable( + JNIEnv* env, + const JavaParamRef<jobject>& obj) { const TemplateURL* default_search_provider = template_url_service_->GetDefaultSearchProvider(); return default_search_provider && @@ -100,8 +107,9 @@ jboolean TemplateUrlServiceAndroid::IsSearchByImageAvailable(JNIEnv* env, template_url_service_->search_terms_data()); } -jboolean TemplateUrlServiceAndroid::IsDefaultSearchEngineGoogle(JNIEnv* env, - jobject obj) { +jboolean TemplateUrlServiceAndroid::IsDefaultSearchEngineGoogle( + JNIEnv* env, + const JavaParamRef<jobject>& obj) { TemplateURL* default_search_provider = template_url_service_->GetDefaultSearchProvider(); return default_search_provider && @@ -110,9 +118,10 @@ jboolean TemplateUrlServiceAndroid::IsDefaultSearchEngineGoogle(JNIEnv* env, } base::android::ScopedJavaLocalRef<jobject> -TemplateUrlServiceAndroid::GetPrepopulatedTemplateUrlAt(JNIEnv* env, - jobject obj, - jint index) { +TemplateUrlServiceAndroid::GetPrepopulatedTemplateUrlAt( + JNIEnv* env, + const JavaParamRef<jobject>& obj, + jint index) { TemplateURL* template_url = template_url_service_->GetTemplateURLs()[index]; if (!IsPrepopulatedTemplate(template_url) && !template_url->created_by_policy()) @@ -149,9 +158,10 @@ void TemplateUrlServiceAndroid::OnTemplateURLServiceChanged() { } base::android::ScopedJavaLocalRef<jstring> -TemplateUrlServiceAndroid::GetUrlForSearchQuery(JNIEnv* env, - jobject obj, - jstring jquery) { +TemplateUrlServiceAndroid::GetUrlForSearchQuery( + JNIEnv* env, + const JavaParamRef<jobject>& obj, + const JavaParamRef<jstring>& jquery) { const TemplateURL* default_provider = template_url_service_->GetDefaultSearchProvider(); @@ -171,9 +181,10 @@ TemplateUrlServiceAndroid::GetUrlForSearchQuery(JNIEnv* env, } base::android::ScopedJavaLocalRef<jstring> -TemplateUrlServiceAndroid::GetUrlForVoiceSearchQuery(JNIEnv* env, - jobject obj, - jstring jquery) { +TemplateUrlServiceAndroid::GetUrlForVoiceSearchQuery( + JNIEnv* env, + const JavaParamRef<jobject>& obj, + const JavaParamRef<jstring>& jquery) { base::string16 query(base::android::ConvertJavaStringToUTF16(env, jquery)); std::string url; @@ -188,10 +199,11 @@ TemplateUrlServiceAndroid::GetUrlForVoiceSearchQuery(JNIEnv* env, } base::android::ScopedJavaLocalRef<jstring> -TemplateUrlServiceAndroid::ReplaceSearchTermsInUrl(JNIEnv* env, - jobject obj, - jstring jquery, - jstring jcurrent_url) { +TemplateUrlServiceAndroid::ReplaceSearchTermsInUrl( + JNIEnv* env, + const JavaParamRef<jobject>& obj, + const JavaParamRef<jstring>& jquery, + const JavaParamRef<jstring>& jcurrent_url) { TemplateURL* default_provider = template_url_service_->GetDefaultSearchProvider(); @@ -212,9 +224,9 @@ TemplateUrlServiceAndroid::ReplaceSearchTermsInUrl(JNIEnv* env, base::android::ScopedJavaLocalRef<jstring> TemplateUrlServiceAndroid::GetUrlForContextualSearchQuery( JNIEnv* env, - jobject obj, - jstring jquery, - jstring jalternate_term, + const JavaParamRef<jobject>& obj, + const JavaParamRef<jstring>& jquery, + const JavaParamRef<jstring>& jalternate_term, jboolean jshould_prefetch) { base::string16 query(base::android::ConvertJavaStringToUTF16(env, jquery)); std::string url; @@ -246,7 +258,7 @@ TemplateUrlServiceAndroid::GetUrlForContextualSearchQuery( base::android::ScopedJavaLocalRef<jstring> TemplateUrlServiceAndroid::GetSearchEngineUrlFromTemplateUrl( JNIEnv* env, - jobject obj, + const JavaParamRef<jobject>& obj, jint index) { TemplateURL* template_url = template_url_service_->GetTemplateURLs()[index]; std::string url(template_url->url_ref().ReplaceSearchTerms( diff --git a/chrome/browser/search_engines/template_url_service_android.h b/chrome/browser/search_engines/template_url_service_android.h index 091ccd9..0ba635f 100644 --- a/chrome/browser/search_engines/template_url_service_android.h +++ b/chrome/browser/search_engines/template_url_service_android.h @@ -21,40 +21,53 @@ class TemplateUrlServiceAndroid : public TemplateURLServiceObserver { public: TemplateUrlServiceAndroid(JNIEnv* env, jobject obj); - void Load(JNIEnv* env, jobject obj); - void SetUserSelectedDefaultSearchProvider(JNIEnv* env, - jobject obj, - jint selected_index); - jint GetDefaultSearchProvider(JNIEnv* env, jobject obj); - jint GetTemplateUrlCount(JNIEnv* env, jobject obj); - jboolean IsLoaded(JNIEnv* env, jobject obj); - base::android::ScopedJavaLocalRef<jobject> - GetPrepopulatedTemplateUrlAt(JNIEnv* env, jobject obj, jint index); - jboolean IsSearchProviderManaged(JNIEnv* env, jobject obj); - jboolean IsSearchByImageAvailable(JNIEnv* env, jobject obj); - jboolean IsDefaultSearchEngineGoogle(JNIEnv* env, jobject obj); + void Load(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj); + void SetUserSelectedDefaultSearchProvider( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj, + jint selected_index); + jint GetDefaultSearchProvider( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); + jint GetTemplateUrlCount(JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); + jboolean IsLoaded(JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); + base::android::ScopedJavaLocalRef<jobject> GetPrepopulatedTemplateUrlAt( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj, + jint index); + jboolean IsSearchProviderManaged( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); + jboolean IsSearchByImageAvailable( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); + jboolean IsDefaultSearchEngineGoogle( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); base::android::ScopedJavaLocalRef<jstring> GetUrlForSearchQuery( JNIEnv* env, - jobject obj, - jstring jquery); + const base::android::JavaParamRef<jobject>& obj, + const base::android::JavaParamRef<jstring>& jquery); base::android::ScopedJavaLocalRef<jstring> GetUrlForVoiceSearchQuery( JNIEnv* env, - jobject obj, - jstring jquery); + const base::android::JavaParamRef<jobject>& obj, + const base::android::JavaParamRef<jstring>& jquery); base::android::ScopedJavaLocalRef<jstring> ReplaceSearchTermsInUrl( JNIEnv* env, - jobject obj, - jstring jquery, - jstring jcurrent_url); + const base::android::JavaParamRef<jobject>& obj, + const base::android::JavaParamRef<jstring>& jquery, + const base::android::JavaParamRef<jstring>& jcurrent_url); base::android::ScopedJavaLocalRef<jstring> GetUrlForContextualSearchQuery( JNIEnv* env, - jobject obj, - jstring jquery, - jstring jalternate_term, + const base::android::JavaParamRef<jobject>& obj, + const base::android::JavaParamRef<jstring>& jquery, + const base::android::JavaParamRef<jstring>& jalternate_term, jboolean jshould_prefetch); base::android::ScopedJavaLocalRef<jstring> GetSearchEngineUrlFromTemplateUrl( JNIEnv* env, - jobject obj, + const base::android::JavaParamRef<jobject>& obj, jint index); static bool Register(JNIEnv* env); diff --git a/chrome/browser/speech/tts_android.cc b/chrome/browser/speech/tts_android.cc index e8ec307..3d22831 100644 --- a/chrome/browser/speech/tts_android.cc +++ b/chrome/browser/speech/tts_android.cc @@ -100,23 +100,27 @@ void TtsPlatformImplAndroid::GetVoices( } } -void TtsPlatformImplAndroid::VoicesChanged(JNIEnv* env, jobject obj) { +void TtsPlatformImplAndroid::VoicesChanged(JNIEnv* env, + const JavaParamRef<jobject>& obj) { TtsController::GetInstance()->VoicesChanged(); } -void TtsPlatformImplAndroid::OnEndEvent( - JNIEnv* env, jobject obj, jint utterance_id) { +void TtsPlatformImplAndroid::OnEndEvent(JNIEnv* env, + const JavaParamRef<jobject>& obj, + jint utterance_id) { SendFinalTtsEvent(utterance_id, TTS_EVENT_END, static_cast<int>(utterance_.size())); } -void TtsPlatformImplAndroid::OnErrorEvent( - JNIEnv* env, jobject obj, jint utterance_id) { +void TtsPlatformImplAndroid::OnErrorEvent(JNIEnv* env, + const JavaParamRef<jobject>& obj, + jint utterance_id) { SendFinalTtsEvent(utterance_id, TTS_EVENT_ERROR, 0); } -void TtsPlatformImplAndroid::OnStartEvent( - JNIEnv* env, jobject obj, jint utterance_id) { +void TtsPlatformImplAndroid::OnStartEvent(JNIEnv* env, + const JavaParamRef<jobject>& obj, + jint utterance_id) { if (utterance_id != utterance_id_) return; diff --git a/chrome/browser/speech/tts_android.h b/chrome/browser/speech/tts_android.h index f38d674..19ef66d 100644 --- a/chrome/browser/speech/tts_android.h +++ b/chrome/browser/speech/tts_android.h @@ -26,10 +26,17 @@ class TtsPlatformImplAndroid : public TtsPlatformImpl { void GetVoices(std::vector<VoiceData>* out_voices) override; // Methods called from Java via JNI. - void VoicesChanged(JNIEnv* env, jobject obj); - void OnEndEvent(JNIEnv* env, jobject obj, jint utterance_id); - void OnErrorEvent(JNIEnv* env, jobject obj, jint utterance_id); - void OnStartEvent(JNIEnv* env, jobject obj, jint utterance_id); + void VoicesChanged(JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj); + void OnEndEvent(JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj, + jint utterance_id); + void OnErrorEvent(JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj, + jint utterance_id); + void OnStartEvent(JNIEnv* env, + const base::android::JavaParamRef<jobject>& obj, + jint utterance_id); // Static functions. static TtsPlatformImplAndroid* GetInstance(); diff --git a/chrome/browser/spellchecker/spellchecker_session_bridge_android.cc b/chrome/browser/spellchecker/spellchecker_session_bridge_android.cc index cf02f8c..c10fedf 100644 --- a/chrome/browser/spellchecker/spellchecker_session_bridge_android.cc +++ b/chrome/browser/spellchecker/spellchecker_session_bridge_android.cc @@ -62,9 +62,9 @@ void SpellCheckerSessionBridge::RequestTextCheck(int route_id, void SpellCheckerSessionBridge::ProcessSpellCheckResults( JNIEnv* env, - jobject jobj, - jintArray offset_array, - jintArray length_array) { + const JavaParamRef<jobject>& jobj, + const JavaParamRef<jintArray>& offset_array, + const JavaParamRef<jintArray>& length_array) { std::vector<int> offsets; std::vector<int> lengths; diff --git a/chrome/browser/spellchecker/spellchecker_session_bridge_android.h b/chrome/browser/spellchecker/spellchecker_session_bridge_android.h index 23353bb..6c56fae 100644 --- a/chrome/browser/spellchecker/spellchecker_session_bridge_android.h +++ b/chrome/browser/spellchecker/spellchecker_session_bridge_android.h @@ -29,10 +29,11 @@ class SpellCheckerSessionBridge { // Receives information from Java side about the typos in a given string // of text, processes these and sends them to the renderer. - void ProcessSpellCheckResults(JNIEnv* env, - jobject jobj, - jintArray offset_array, - jintArray length_array); + void ProcessSpellCheckResults( + JNIEnv* env, + const base::android::JavaParamRef<jobject>& jobj, + const base::android::JavaParamRef<jintArray>& offset_array, + const base::android::JavaParamRef<jintArray>& length_array); // Sets the handle to the Java SpellCheckerSessionBridge object to null, // marking the Java object for garbage collection. |