Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d497d876 authored by Ben Murdoch's avatar Ben Murdoch
Browse files

Pass the estimated size of new HTML 5 databases to the ChromeClient so it can...

Pass the estimated size of new HTML 5 databases to the ChromeClient so it can use that amount to figure an initial default quota.

Change-Id:Ic9372b0c86472b42ba5d0b964aaff1e2bbfe3efa
parent 97f87095
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -162447,6 +162447,8 @@
</parameter>
<parameter name="currentQuota" type="long">
</parameter>
<parameter name="estimatedSize" type="long">
</parameter>
<parameter name="totalUsedQuota" type="long">
</parameter>
<parameter name="quotaUpdater" type="android.webkit.WebStorage.QuotaUpdater">
@@ -164109,6 +164111,8 @@
</parameter>
<parameter name="currentQuota" type="long">
</parameter>
<parameter name="estimatedSize" type="long">
</parameter>
<parameter name="totalUsedQuota" type="long">
</parameter>
<parameter name="quotaUpdater" type="android.webkit.WebStorage.QuotaUpdater">
+8 −3
Original line number Diff line number Diff line
@@ -434,12 +434,14 @@ class CallbackProxy extends Handler {
                            ((Long) map.get("currentQuota")).longValue();
                    long totalUsedQuota =
                            ((Long) map.get("totalUsedQuota")).longValue();
                    long estimatedSize =
                            ((Long) map.get("estimatedSize")).longValue();
                    WebStorage.QuotaUpdater quotaUpdater =
                        (WebStorage.QuotaUpdater) map.get("quotaUpdater");

                    mWebChromeClient.onExceededDatabaseQuota(url,
                            databaseIdentifier, currentQuota, totalUsedQuota,
                            quotaUpdater);
                            databaseIdentifier, currentQuota, estimatedSize,
                            totalUsedQuota, quotaUpdater);
                }
                break;

@@ -1195,6 +1197,7 @@ class CallbackProxy extends Handler {
     * @param databaseIdentifier The identifier of the database that the
     *     transaction that caused the overflow was running on.
     * @param currentQuota The current quota the origin is allowed.
     * @param estimatedSize The estimated size of the database.
     * @param totalUsedQuota is the sum of all origins' quota.
     * @param quotaUpdater An instance of a class encapsulating a callback
     *     to WebViewCore to run when the decision to allow or deny more
@@ -1202,7 +1205,8 @@ class CallbackProxy extends Handler {
     */
    public void onExceededDatabaseQuota(
            String url, String databaseIdentifier, long currentQuota,
            long totalUsedQuota, WebStorage.QuotaUpdater quotaUpdater) {
            long estimatedSize, long totalUsedQuota,
            WebStorage.QuotaUpdater quotaUpdater) {
        if (mWebChromeClient == null) {
            quotaUpdater.updateQuota(currentQuota);
            return;
@@ -1213,6 +1217,7 @@ class CallbackProxy extends Handler {
        map.put("databaseIdentifier", databaseIdentifier);
        map.put("url", url);
        map.put("currentQuota", currentQuota);
        map.put("estimatedSize", estimatedSize);
        map.put("totalUsedQuota", totalUsedQuota);
        map.put("quotaUpdater", quotaUpdater);
        exceededQuota.obj = map;
+2 −1
Original line number Diff line number Diff line
@@ -215,13 +215,14 @@ public class WebChromeClient {
    * @param databaseIdentifier The identifier of the database that caused the
    *     quota overflow.
    * @param currentQuota The current quota for the origin.
    * @param estimatedSize The estimated size of the database.
    * @param totalUsedQuota is the sum of all origins' quota.
    * @param quotaUpdater A callback to inform the WebCore thread that a new
    *     quota is available. This callback must always be executed at some
    *     point to ensure that the sleeping WebCore thread is woken up.
    */
    public void onExceededDatabaseQuota(String url, String databaseIdentifier,
        long currentQuota, long totalUsedQuota,
        long currentQuota, long estimatedSize, long totalUsedQuota,
        WebStorage.QuotaUpdater quotaUpdater) {
        // This default implementation passes the current quota back to WebCore.
        // WebCore will interpret this that new quota was declined.
+9 −6
Original line number Diff line number Diff line
@@ -258,16 +258,19 @@ final class WebViewCore {
     * @param url The URL that caused the overflow.
     * @param databaseIdentifier The identifier of the database.
     * @param currentQuota The current quota for the origin.
     * @param estimatedSize The estimated size of the database.
     */
    protected void exceededDatabaseQuota(String url,
                                         String databaseIdentifier,
                                         long currentQuota) {
                                         long currentQuota,
                                         long estimatedSize) {
        // Inform the callback proxy of the quota overflow. Send an object
        // that encapsulates a call to the nativeSetDatabaseQuota method to
        // awaken the sleeping webcore thread when a decision from the
        // client to allow or deny quota is available.
        mCallbackProxy.onExceededDatabaseQuota(url, databaseIdentifier,
                currentQuota, getUsedQuota(), new WebStorage.QuotaUpdater() {
                currentQuota, estimatedSize, getUsedQuota(),
                new WebStorage.QuotaUpdater() {
                        public void updateQuota(long quota) {
                            nativeSetNewStorageLimit(quota);
                        }
+2 −1
Original line number Diff line number Diff line
@@ -552,7 +552,8 @@ public class TestShellActivity extends Activity implements LayoutTestController

        @Override
        public void onExceededDatabaseQuota(String url_str,
                String databaseIdentifier, long currentQuota, long totalUsedQuota,
                String databaseIdentifier, long currentQuota,
                long estimatedSize, long totalUsedQuota,
                WebStorage.QuotaUpdater callback) {
            if (mDumpDatabaseCallbacks) {
                if (mDatabaseCallbackStrings == null) {