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

Commit 7fdab7f9 authored by Android (Google) Code Review's avatar Android (Google) Code Review
Browse files

Merge change 22377 into eclair

* changes:
  The new webkit won't keep RAM cache if http header has "no-store". So remove it from StreamLoader. And fix the code where we only want to cache network  result.
parents 8a2000df c3fa098f
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -105,8 +105,7 @@ class ContentLoader extends StreamLoader {
        if (mContentType != null) {
            headers.setContentType("text/html");
        }
        // override the cache-control header set by StreamLoader as content can
        // change, we don't want WebKit to cache it
        // content can change, we don't want WebKit to cache it
        headers.setCacheControl("no-store, no-cache");
    }

+9 −5
Original line number Diff line number Diff line
@@ -99,6 +99,7 @@ class LoadListener extends Handler implements EventHandler {
    private boolean  mAuthFailed;  // indicates that the prev. auth failed
    private CacheLoader mCacheLoader;
    private CacheManager.CacheResult mCacheResult;
    private boolean  mFromCache = false;
    private HttpAuthHeader mAuthHeader;
    private int      mErrorID = OK;
    private String   mErrorDescription;
@@ -409,11 +410,10 @@ class LoadListener extends Handler implements EventHandler {
                mStatusCode == HTTP_MOVED_PERMANENTLY ||
                mStatusCode == HTTP_TEMPORARY_REDIRECT) && 
                mNativeLoader != 0) {
            // Content arriving from a StreamLoader (eg File, Cache or Data)
            // will not be cached as they have the header:
            // cache-control: no-store
            if (!mFromCache && URLUtil.isNetworkUrl(mUrl)) {
                mCacheResult = CacheManager.createCacheFile(mUrl, mStatusCode,
                        headers, mMimeType, false);
            }
            if (mCacheResult != null) {
                mCacheResult.encoding = mEncoding;
            }
@@ -626,6 +626,7 @@ class LoadListener extends Handler implements EventHandler {
     * serviced by the Cache. */
    /* package */ void setCacheLoader(CacheLoader c) {
        mCacheLoader = c;
        mFromCache = true;
    }

    /**
@@ -642,6 +643,8 @@ class LoadListener extends Handler implements EventHandler {
        // Go ahead and set the cache loader to null in case the result is
        // null.
        mCacheLoader = null;
        // reset the flag
        mFromCache = false;

        if (result != null) {
            // The contents of the cache may need to be revalidated so just
@@ -662,6 +665,7 @@ class LoadListener extends Handler implements EventHandler {
                }
                // Load the cached file
                mCacheLoader.load();
                mFromCache = true;
                return true;
            }
        }
+0 −1
Original line number Diff line number Diff line
@@ -157,7 +157,6 @@ abstract class StreamLoader extends Handler {
        if (mContentLength > 0) {
            headers.setContentLength(mContentLength);
        }
        headers.setCacheControl(NO_STORE);
        buildHeaders(headers);
        mHandler.headers(headers);
    }