diff options
author | dllud <dllud@riseup.net> | 2019-12-18 05:22:10 +0000 |
---|---|---|
committer | dllud <dllud@riseup.net> | 2019-12-18 05:22:10 +0000 |
commit | 42e944d63231e89d9c2c370e0c16c45cfe13f863 (patch) | |
tree | 93520f7902dcd2e553a3c3a1afd25455441c960d | |
parent | 00490859e22f75cf1cc2f0d2f31659d84c41b5b5 (diff) | |
download | webview-presentation-42e944d63231e89d9c2c370e0c16c45cfe13f863.tar.gz webview-presentation-42e944d63231e89d9c2c370e0c16c45cfe13f863.tar.bz2 webview-presentation-42e944d63231e89d9c2c370e0c16c45cfe13f863.zip |
Several new slides.
- What's the matter with Chromium
- WebView and Replicant
- Desktop Chromium forks
- Dirty Android builds
-rw-r--r-- | full-description.md | 2 | ||||
-rw-r--r-- | img/guix.png | bin | 0 -> 18533 bytes | |||
-rw-r--r-- | img/replicant.png | bin | 0 -> 36607 bytes | |||
-rw-r--r-- | slides.tex | 103 | ||||
-rw-r--r-- | txt/bromite78-webview-google-strings | 124 | ||||
-rw-r--r-- | txt/chromium78-webview-google-strings | 227 | ||||
-rw-r--r-- | txt/replicant6-webview-google-strings | 7 | ||||
-rw-r--r-- | txt/ungoogled77-webview-google-strings | 10 |
8 files changed, 472 insertions, 1 deletions
diff --git a/full-description.md b/full-description.md index ea00f03..76ce747 100644 --- a/full-description.md +++ b/full-description.md @@ -18,7 +18,7 @@ Chromium has proved to be a minefield of privacy[4] and freedom issues[5][6] and thus unfit for inclusion[7] in distributions that abide by the Free System Distribution Guidelines (FSDG)[8]. -## Webview and Replicant +## WebView and Replicant Replicant[9], a fully free-software Android distribution that follows the FSDG, has been using an outdated build of WebView, based on Chromium 43, back from when the Chromium Android build did not depend on proprietary libraries. This diff --git a/img/guix.png b/img/guix.png Binary files differnew file mode 100644 index 0000000..6e8bd5a --- /dev/null +++ b/img/guix.png diff --git a/img/replicant.png b/img/replicant.png Binary files differnew file mode 100644 index 0000000..0c33880 --- /dev/null +++ b/img/replicant.png @@ -13,6 +13,7 @@ \usepackage{graphicx} \usepackage[font=tiny,skip=0pt]{caption} \usepackage{array} +\usepackage{verbatim} \graphicspath{{img/}} @@ -137,7 +138,107 @@ public class MainActivity extends Activity { \section{What's the matter with Chromium?} \begin{frame} \frametitle{What's the matter with Chromium?} + Privacy issues: + \begin{itemize} + \item Background requests to Google during build and run. + \item Depends on Google services for several features (e.g. Safe Browsing). + \item Limited privacy controls. + \end{itemize} + \bigskip + Freedom issues: + \begin{itemize} + \item Pre-built binaries throughout the code base. + \item Missing license in some source files. + \end{itemize} + \bigskip + Verdict: unfit for fully free-software distributions. +\end{frame} + +\section{WebView and Replicant} +\begin{frame} + \frametitle{WebView and Replicant} + \begin{columns} + \begin{column}{0.1\textwidth} + \includegraphics[width=\textwidth]{replicant} + \end{column} + \begin{column}{0.9\textwidth} + Replicant: + \begin{itemize} + \item Android distribution + \item compliant with GNU Free System Distribution Guidelines (FSDG) + \end{itemize} + \end{column} + \end{columns} + \vspace{2\baselineskip} + Using outdated WebView based on Chromium 43: lots of security concerns.\\ + \vspace{2\baselineskip} + How to create a WebView build that respects user's privacy and freedom? +\end{frame} + +\section{Chromium forks} + +\subsection{Desktop Chromium} +\begin{frame} + \frametitle{Desktop Chromium forks} + \begin{itemize} + \item ungoogled-chromium: aligned with privacy and freedom + \item Bromite: can build WebView; only focused on privacy and ad blocking + \item Debian: replaces pre-builts with system libs; Google services not removed + \item Iridium: one step on every direction; not as thorough as others + \end{itemize} + \vspace{2\baselineskip} + \begin{columns} + \begin{column}{0.1\textwidth} + \includegraphics[width=\textwidth]{guix} + \end{column} + \begin{column}{0.9\textwidth} + Guix, a FSDG compliant distro, uses:\\ + ungoogled-chromium + build recipe that removes some files. + \end{column} + \end{columns} +\end{frame} + +\lstset{ + basicstyle=\fontsize{5}{5}\ttfamily, + keywordstyle=\color{brown}\bfseries\underbar, + otherkeywords={google,Google} +} + +\subsection{Dirty Android builds} +\begin{frame}[fragile] + \frametitle{Dirty Android builds} + Android builds require many more pre-builts and proprietary dependencies.\\ + E.g.: Google Mobile Services (GMS)\\\bigskip + \verb;strings classes.dex | grep google; + \begin{block}{Chromium 78 WebView - 227 lines} + \lstinputlisting{txt/chromium78-webview-google-strings} + \end{block} \end{frame} +\begin{frame}[fragile] + \frametitle{Dirty Android builds} + \verb;strings classes.dex | grep google; + \begin{block}{Bromite 78 WebView - 124 lines} + \lstinputlisting{txt/bromite78-webview-google-strings} + \end{block} +\end{frame} +\begin{frame}[fragile] + \frametitle{Dirty Android builds} + \verb;strings classes.dex | grep google;\\\bigskip + \begin{block}{ungoogled-chromium-android 77 WebView - 10 lines} + \lstinputlisting{txt/ungoogled77-webview-google-strings} + \end{block} + \begin{block}{Replicant 6 WebView - 7 lines} + \lstinputlisting{txt/replicant6-webview-google-strings} + \end{block} +\end{frame} + +\subsection{Android Chromium} + +\subsection{Stepwise cleansing} + +\section{GeckoView shim} + +\section{GeckoView on apps} \section{Feedback?} \begin{frame} @@ -203,6 +304,8 @@ public class MainActivity extends Activity { Thorium logo & \url{https://github.com/sschueller/peertube-android} & AGPLv3 \\ WebKit logo & \url{https://en.wikipedia.org/wiki/File:WebKit_logo_(2015).svg} & non-free (fair use) \\ Chromium logo & \url{https://commons.wikimedia.org/wiki/File:Chromium_11_Logo.svg} & CC-BY 2.5 \\ + Replicant logo & \url{https://ftp.osuosl.org/pub/replicant/artwork/replicant_artwork.tar.gz} & CC-BY-SA 3.0 \\ + Guix logo & \url{https://git.savannah.gnu.org/cgit/guix/guix-artwork.git/} & CC-BY-SA 4.0 \\ everything else & this slideshow & CC BY-SA 4.0 \end{tabular} \end{frame} diff --git a/txt/bromite78-webview-google-strings b/txt/bromite78-webview-google-strings new file mode 100644 index 0000000..3c11aa9 --- /dev/null +++ b/txt/bromite78-webview-google-strings @@ -0,0 +1,124 @@ +. You must have the following declaration within the <application> element: <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> +Google Inc.1 +Google Inc.1 +Google Inc.1 +A required meta-data tag in your app's AndroidManifest.xml does not exist. You must have the following declaration within the <application> element: <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> +OConnection timed out while waiting for Google Play services update to complete. +-Failed to get Google certificates from remote +Google Play Store is missing. +$Google Play Store signature invalid. +0Google Play services is invalid. Cannot recover. + Google Play services is missing. +;Google Play services missing when getting application info. +,Google Play services out of date. Requires +'Google Play services signature invalid. +GoogleApiActivity +GoogleApiAvailability +GoogleApiHandler +GoogleApiManager +GoogleCertificates +/GoogleCertificates has been initialized already +GooglePlayServicesErrorDialog +GooglePlayServicesUtil +GoogleSignatureVerifier +<Lcom/google/android/gms/auth/api/signin/GoogleSignInAccount; +0Lcom/google/android/gms/common/ConnectionResult; +'Lcom/google/android/gms/common/Feature; +3Lcom/google/android/gms/common/annotation/KeepName; +5Lcom/google/android/gms/common/api/GoogleApiActivity; +)Lcom/google/android/gms/common/api/Scope; +*Lcom/google/android/gms/common/api/Status; +>Lcom/google/android/gms/common/api/internal/BasePendingResult; +>Lcom/google/android/gms/common/api/internal/LifecycleCallback; +6Lcom/google/android/gms/common/internal/BaseGmsClient; +7Lcom/google/android/gms/common/internal/ConnectionInfo; +:Lcom/google/android/gms/common/internal/GetServiceRequest; +<Lcom/google/android/gms/common/internal/ReflectedParcelable; +>Lcom/google/android/gms/common/internal/ResolveAccountRequest; +?Lcom/google/android/gms/common/internal/ResolveAccountResponse; +JLcom/google/android/gms/common/internal/safeparcel/AbstractSafeParcelable; +BLcom/google/android/gms/common/internal/safeparcel/SafeParcelable; +0Lcom/google/android/gms/common/util/DynamiteApi; +JLcom/google/android/gms/dynamite/DynamiteModule$DynamiteLoaderClassLoader; +[Lcom/google/android/gms/dynamite/descriptors/com/google/android/gms/flags/ModuleDescriptor; +4Lcom/google/android/gms/flags/impl/FlagProviderImpl; +:Lcom/google/android/gms/signin/internal/AuthAccountResult; +6Lcom/google/android/gms/signin/internal/SignInRequest; +7Lcom/google/android/gms/signin/internal/SignInResponse; +Missing resolution for ConnectionResult.RESOLUTION_REQUIRED. Call GoogleApiAvailability#showErrorNotification(Context, ConnectionResult) instead. +OMX.google. +OMX.google.raw.decoder +~The Google Play services resources were not found. Check your project configuration to ensure that the resources are included. +/The connection to Google Play services was lost +=[Lcom/google/android/gms/auth/api/signin/GoogleSignInAccount; +1[Lcom/google/android/gms/common/ConnectionResult; +([Lcom/google/android/gms/common/Feature; +*[Lcom/google/android/gms/common/api/Scope; ++[Lcom/google/android/gms/common/api/Status; +8[Lcom/google/android/gms/common/internal/ConnectionInfo; +;[Lcom/google/android/gms/common/internal/GetServiceRequest; +?[Lcom/google/android/gms/common/internal/ResolveAccountRequest; +@[Lcom/google/android/gms/common/internal/ResolveAccountResponse; +;[Lcom/google/android/gms/signin/internal/AuthAccountResult; +7[Lcom/google/android/gms/signin/internal/SignInRequest; +8[Lcom/google/android/gms/signin/internal/SignInResponse; + cn.google +com.google +com.google. +.com.google.android.apps.chrome.extra.cpu_count +1com.google.android.apps.chrome.extra.cpu_features +<com.google.android.clockwork.home.UPDATE_ANDROID_WEAR_ACTION +com.google.android.gms +7com.google.android.gms.auth.api.phone.EXTRA_SMS_MESSAGE +2com.google.android.gms.auth.api.phone.EXTRA_STATUS +3com.google.android.gms.auth.api.phone.SMS_RETRIEVED +Fcom.google.android.gms.auth.api.phone.internal.ISmsRetrieverApiService +Jcom.google.android.gms.auth.api.phone.internal.ISmsRetrieverResultCallback +Jcom.google.android.gms.auth.api.phone.service.SmsRetrieverApiService.START +#com.google.android.gms.availability +?com.google.android.gms.common.internal.ClientSettings.sessionId +7com.google.android.gms.common.internal.IAccountAccessor +0com.google.android.gms.common.internal.ICertData +4com.google.android.gms.common.internal.IGmsCallbacks +8com.google.android.gms.common.internal.IGmsServiceBroker +-com.google.android.gms.dynamic.IObjectWrapper +com.google.android.gms.flags +*com.google.android.gms.flags.IFlagProvider +com.google.android.gms.signin +7com.google.android.gms.signin.internal.ISignInCallbacks +5com.google.android.gms.signin.internal.ISignInService +Acom.google.android.gms.signin.internal.authApiSignInModuleVersion +=com.google.android.gms.signin.internal.clientRequestedAccount +?com.google.android.gms.signin.internal.forceCodeForRefreshToken +3com.google.android.gms.signin.internal.hostedDomain +7com.google.android.gms.signin.internal.idTokenRequested +=com.google.android.gms.signin.internal.offlineAccessRequested +?com.google.android.gms.signin.internal.realClientLibraryVersion +<com.google.android.gms.signin.internal.realClientPackageName +5com.google.android.gms.signin.internal.serverClientId +?com.google.android.gms.signin.internal.usePromptModeForAuthCode +@com.google.android.gms.signin.internal.waitForAccessTokenRefresh ++com.google.android.gms.signin.service.START +com.google.android.gms.version +com.google.android.wearable.app +com.google.app.id +Ccom.google.devtools.build.android.desugar.runtime.twr_disable_mimic +com.google.protobuf.Extension +%com.google.protobuf.ExtensionRegistry +0common_google_play_services_api_unavailable_text +0common_google_play_services_invalid_account_text +1common_google_play_services_invalid_account_title +.common_google_play_services_network_error_text +/common_google_play_services_network_error_title +4common_google_play_services_resolution_required_text +5common_google_play_services_resolution_required_title +3common_google_play_services_restricted_profile_text +4common_google_play_services_restricted_profile_title +/common_google_play_services_sign_in_failed_text +0common_google_play_services_sign_in_failed_title +defaultGoogleSignInAccount +googleSignInAccount +google_sdk_flags +%https://clients2.google.com/cr/report +Dhttps://clientservices.googleapis.com/chrome-variations/seed?osname= +https://plus.google.com/ diff --git a/txt/chromium78-webview-google-strings b/txt/chromium78-webview-google-strings new file mode 100644 index 0000000..c701b83 --- /dev/null +++ b/txt/chromium78-webview-google-strings @@ -0,0 +1,227 @@ +. You must have the following declaration within the <application> element: <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> +Google Inc.1 +Google Inc.1 +Google Inc.1 +A required meta-data tag in your app's AndroidManifest.xml does not exist. You must have the following declaration within the <application> element: <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> +RCompositeGoogleApiClient should not be used without any APIs that require sign-in. +OConnection timed out while waiting for Google Play services update to complete. ++Failed to connect to Google Play Services: +-Failed to get Google certificates from remote +Google Play Services +"Google Play Services not available +Google Play Store is missing. +$Google Play Store signature invalid. +0Google Play services is invalid. Cannot recover. + Google Play services is missing. +;Google Play services missing when getting application info. +,Google Play services out of date. Requires +'Google Play services signature invalid. +GoogleApiActivity +GoogleApiAvailability +&GoogleApiClient connecting is in step +)GoogleApiClient is not configured to use +HGoogleApiClient is not configured to use the API required for this call. +GoogleApiClient is not configured to use the LocationServices.API Api. Pass thisinto GoogleApiClient.Builder#addApi() to use this feature. +%GoogleApiClient is not connected yet. + GoogleApiClient must not be null +&GoogleApiClient parameter is required. +GoogleApiClient received too many callbacks for the given step. Clients may be in an unexpected state; GoogleApiClient will now disconnect. +GoogleApiClientConnecting +GoogleApiClientImpl +GoogleApiHandler +GoogleApiManager +GoogleCertificates +/GoogleCertificates has been initialized already +GooglePlayServicesErrorDialog +GooglePlayServicesUtil +GoogleSignatureVerifier +<Lcom/google/android/gms/auth/api/signin/GoogleSignInAccount; +0Lcom/google/android/gms/common/ConnectionResult; +'Lcom/google/android/gms/common/Feature; +3Lcom/google/android/gms/common/annotation/KeepName; +5Lcom/google/android/gms/common/api/GoogleApiActivity; +)Lcom/google/android/gms/common/api/Scope; +*Lcom/google/android/gms/common/api/Status; +>Lcom/google/android/gms/common/api/internal/BasePendingResult; +>Lcom/google/android/gms/common/api/internal/LifecycleCallback; +6Lcom/google/android/gms/common/internal/BaseGmsClient; +7Lcom/google/android/gms/common/internal/ClientIdentity; +7Lcom/google/android/gms/common/internal/ConnectionInfo; +:Lcom/google/android/gms/common/internal/GetServiceRequest; +<Lcom/google/android/gms/common/internal/ReflectedParcelable; +>Lcom/google/android/gms/common/internal/ResolveAccountRequest; +?Lcom/google/android/gms/common/internal/ResolveAccountResponse; +JLcom/google/android/gms/common/internal/safeparcel/AbstractSafeParcelable; +BLcom/google/android/gms/common/internal/safeparcel/SafeParcelable; +0Lcom/google/android/gms/common/util/DynamiteApi; +JLcom/google/android/gms/dynamite/DynamiteModule$DynamiteLoaderClassLoader; +[Lcom/google/android/gms/dynamite/descriptors/com/google/android/gms/flags/ModuleDescriptor; +4Lcom/google/android/gms/flags/impl/FlagProviderImpl; +/Lcom/google/android/gms/internal/location/zzad; +/Lcom/google/android/gms/internal/location/zzbd; +/Lcom/google/android/gms/internal/location/zzbf; +.Lcom/google/android/gms/internal/location/zzm; +.Lcom/google/android/gms/internal/location/zzo; +-Lcom/google/android/gms/internal/vision/zzaa; +-Lcom/google/android/gms/internal/vision/zzac; +,Lcom/google/android/gms/internal/vision/zzc; +,Lcom/google/android/gms/internal/vision/zzk; +,Lcom/google/android/gms/internal/vision/zzn; +,Lcom/google/android/gms/internal/vision/zzt; +,Lcom/google/android/gms/internal/vision/zzv; +,Lcom/google/android/gms/internal/vision/zzx; +1Lcom/google/android/gms/location/LocationRequest; +%Lcom/google/android/gms/location/zzj; +:Lcom/google/android/gms/signin/internal/AuthAccountResult; +6Lcom/google/android/gms/signin/internal/SignInRequest; +7Lcom/google/android/gms/signin/internal/SignInResponse; +7Lcom/google/android/gms/vision/barcode/Barcode$Address; +@Lcom/google/android/gms/vision/barcode/Barcode$CalendarDateTime; +=Lcom/google/android/gms/vision/barcode/Barcode$CalendarEvent; +;Lcom/google/android/gms/vision/barcode/Barcode$ContactInfo; +=Lcom/google/android/gms/vision/barcode/Barcode$DriverLicense; +5Lcom/google/android/gms/vision/barcode/Barcode$Email; +8Lcom/google/android/gms/vision/barcode/Barcode$GeoPoint; +:Lcom/google/android/gms/vision/barcode/Barcode$PersonName; +5Lcom/google/android/gms/vision/barcode/Barcode$Phone; +3Lcom/google/android/gms/vision/barcode/Barcode$Sms; +;Lcom/google/android/gms/vision/barcode/Barcode$UrlBookmark; +4Lcom/google/android/gms/vision/barcode/Barcode$WiFi; +/Lcom/google/android/gms/vision/barcode/Barcode; +?Lcom/google/android/gms/vision/face/internal/client/FaceParcel; +CLcom/google/android/gms/vision/face/internal/client/LandmarkParcel; +8Lcom/google/android/gms/vision/face/internal/client/zzc; +Missing resolution for ConnectionResult.RESOLUTION_REQUIRED. Call GoogleApiAvailability#showErrorNotification(Context, ConnectionResult) instead. +OMX.google. +OMX.google.raw.decoder +~SIGN_IN_MODE_REQUIRED cannot be used on a GoogleApiClient that does not contain any authenticated APIs. Use connect() instead. +~The Google Play services resources were not found. Check your project configuration to ensure that the resources are included. +/The connection to Google Play services was lost +=[Lcom/google/android/gms/auth/api/signin/GoogleSignInAccount; +1[Lcom/google/android/gms/common/ConnectionResult; +([Lcom/google/android/gms/common/Feature; +*[Lcom/google/android/gms/common/api/Scope; ++[Lcom/google/android/gms/common/api/Status; +?[Lcom/google/android/gms/common/api/internal/BasePendingResult; +8[Lcom/google/android/gms/common/internal/ClientIdentity; +8[Lcom/google/android/gms/common/internal/ConnectionInfo; +;[Lcom/google/android/gms/common/internal/GetServiceRequest; +?[Lcom/google/android/gms/common/internal/ResolveAccountRequest; +@[Lcom/google/android/gms/common/internal/ResolveAccountResponse; +0[Lcom/google/android/gms/internal/location/zzad; +0[Lcom/google/android/gms/internal/location/zzbd; +0[Lcom/google/android/gms/internal/location/zzbf; +/[Lcom/google/android/gms/internal/location/zzm; +/[Lcom/google/android/gms/internal/location/zzo; +.[Lcom/google/android/gms/internal/vision/zzaa; +.[Lcom/google/android/gms/internal/vision/zzac; +-[Lcom/google/android/gms/internal/vision/zzc; +-[Lcom/google/android/gms/internal/vision/zzk; +-[Lcom/google/android/gms/internal/vision/zzn; +-[Lcom/google/android/gms/internal/vision/zzt; +-[Lcom/google/android/gms/internal/vision/zzv; +-[Lcom/google/android/gms/internal/vision/zzx; +2[Lcom/google/android/gms/location/LocationRequest; +&[Lcom/google/android/gms/location/zzj; +;[Lcom/google/android/gms/signin/internal/AuthAccountResult; +7[Lcom/google/android/gms/signin/internal/SignInRequest; +8[Lcom/google/android/gms/signin/internal/SignInResponse; +8[Lcom/google/android/gms/vision/barcode/Barcode$Address; +A[Lcom/google/android/gms/vision/barcode/Barcode$CalendarDateTime; +>[Lcom/google/android/gms/vision/barcode/Barcode$CalendarEvent; +<[Lcom/google/android/gms/vision/barcode/Barcode$ContactInfo; +>[Lcom/google/android/gms/vision/barcode/Barcode$DriverLicense; +6[Lcom/google/android/gms/vision/barcode/Barcode$Email; +9[Lcom/google/android/gms/vision/barcode/Barcode$GeoPoint; +;[Lcom/google/android/gms/vision/barcode/Barcode$PersonName; +6[Lcom/google/android/gms/vision/barcode/Barcode$Phone; +4[Lcom/google/android/gms/vision/barcode/Barcode$Sms; +<[Lcom/google/android/gms/vision/barcode/Barcode$UrlBookmark; +5[Lcom/google/android/gms/vision/barcode/Barcode$WiFi; +0[Lcom/google/android/gms/vision/barcode/Barcode; +@[Lcom/google/android/gms/vision/face/internal/client/FaceParcel; +D[Lcom/google/android/gms/vision/face/internal/client/LandmarkParcel; +9[Lcom/google/android/gms/vision/face/internal/client/zzc; + cn.google +com.google +com.google. +.com.google.android.apps.chrome.extra.cpu_count +1com.google.android.apps.chrome.extra.cpu_features +<com.google.android.clockwork.home.UPDATE_ANDROID_WEAR_ACTION +com.google.android.gms +7com.google.android.gms.auth.api.phone.EXTRA_SMS_MESSAGE +2com.google.android.gms.auth.api.phone.EXTRA_STATUS +3com.google.android.gms.auth.api.phone.SMS_RETRIEVED +Fcom.google.android.gms.auth.api.phone.internal.ISmsRetrieverApiService +Jcom.google.android.gms.auth.api.phone.internal.ISmsRetrieverResultCallback +Jcom.google.android.gms.auth.api.phone.service.SmsRetrieverApiService.START +#com.google.android.gms.availability +;com.google.android.gms.chimera.container.DynamiteLoaderImpl +?com.google.android.gms.common.internal.ClientSettings.sessionId +7com.google.android.gms.common.internal.IAccountAccessor +0com.google.android.gms.common.internal.ICertData +4com.google.android.gms.common.internal.IGmsCallbacks +8com.google.android.gms.common.internal.IGmsServiceBroker +-com.google.android.gms.dynamic.IObjectWrapper +/com.google.android.gms.dynamite.IDynamiteLoader +1com.google.android.gms.dynamite.IDynamiteLoaderV2 +,com.google.android.gms.dynamite.descriptors. +6com.google.android.gms.dynamiteloader.DynamiteLoaderV2 +com.google.android.gms.flags +*com.google.android.gms.flags.IFlagProvider +:com.google.android.gms.location.IDeviceOrientationListener +1com.google.android.gms.location.ILocationCallback +1com.google.android.gms.location.ILocationListener +Gcom.google.android.gms.location.internal.IFusedLocationProviderCallback +Fcom.google.android.gms.location.internal.IGoogleLocationManagerService +com.google.android.gms.signin +7com.google.android.gms.signin.internal.ISignInCallbacks +5com.google.android.gms.signin.internal.ISignInService +Acom.google.android.gms.signin.internal.authApiSignInModuleVersion +=com.google.android.gms.signin.internal.clientRequestedAccount +?com.google.android.gms.signin.internal.forceCodeForRefreshToken +3com.google.android.gms.signin.internal.hostedDomain +7com.google.android.gms.signin.internal.idTokenRequested +=com.google.android.gms.signin.internal.offlineAccessRequested +?com.google.android.gms.signin.internal.realClientLibraryVersion +<com.google.android.gms.signin.internal.realClientPackageName +5com.google.android.gms.signin.internal.serverClientId +?com.google.android.gms.signin.internal.usePromptModeForAuthCode +@com.google.android.gms.signin.internal.waitForAccessTokenRefresh ++com.google.android.gms.signin.service.START +com.google.android.gms.version +Icom.google.android.gms.vision.barcode.ChimeraNativeBarcodeDetectorCreator +Lcom.google.android.gms.vision.barcode.internal.client.INativeBarcodeDetector +Scom.google.android.gms.vision.barcode.internal.client.INativeBarcodeDetectorCreator +&com.google.android.gms.vision.dynamite +Ccom.google.android.gms.vision.face.ChimeraNativeFaceDetectorCreator +Fcom.google.android.gms.vision.face.internal.client.INativeFaceDetector +Mcom.google.android.gms.vision.face.internal.client.INativeFaceDetectorCreator +Ecom.google.android.gms.vision.text.ChimeraNativeTextRecognizerCreator +Hcom.google.android.gms.vision.text.internal.client.INativeTextRecognizer +Ocom.google.android.gms.vision.text.internal.client.INativeTextRecognizerCreator +Gcom.google.android.location.internal.GoogleLocationManagerService.START +com.google.android.wearable.app +com.google.app.id +Ccom.google.devtools.build.android.desugar.runtime.twr_disable_mimic +com.google.protobuf.Extension +%com.google.protobuf.ExtensionRegistry +0common_google_play_services_api_unavailable_text +0common_google_play_services_invalid_account_text +1common_google_play_services_invalid_account_title +.common_google_play_services_network_error_text +/common_google_play_services_network_error_title +4common_google_play_services_resolution_required_text +5common_google_play_services_resolution_required_title +3common_google_play_services_restricted_profile_text +4common_google_play_services_restricted_profile_title +/common_google_play_services_sign_in_failed_text +0common_google_play_services_sign_in_failed_title +)content://com.google.android.gms.chimera/ +defaultGoogleSignInAccount +googleSignInAccount +google_sdk_flags +%https://clients2.google.com/cr/report +Dhttps://clientservices.googleapis.com/chrome-variations/seed?osname= +https://plus.google.com/ +KonReportServiceBinding must be called on the GoogleApiClient handler thread diff --git a/txt/replicant6-webview-google-strings b/txt/replicant6-webview-google-strings new file mode 100644 index 0000000..894a3c2 --- /dev/null +++ b/txt/replicant6-webview-google-strings @@ -0,0 +1,7 @@ +1com.google.android.apps.chrome.extra.command_line +.com.google.android.apps.chrome.extra.cpu_count +1com.google.android.apps.chrome.extra.cpu_features +/com.google.android.apps.chrome.extra.extraFile_ +'com.google.android.googlequicksearchbox +com.google.android.webview +%content://com.google.settings/partner diff --git a/txt/ungoogled77-webview-google-strings b/txt/ungoogled77-webview-google-strings new file mode 100644 index 0000000..4a463ae --- /dev/null +++ b/txt/ungoogled77-webview-google-strings @@ -0,0 +1,10 @@ +OMX.google. +OMX.google.raw.decoder +com.google. +.com.google.android.apps.chrome.extra.cpu_count +1com.google.android.apps.chrome.extra.cpu_features +com.google.android.gms +Ccom.google.devtools.build.android.desugar.runtime.twr_disable_mimic +com.google.protobuf.Extension +%com.google.protobuf.ExtensionRegistry +dns.google |