174fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon/*
274fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon * Copyright (C) 2008 The Android Open Source Project
374fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon *
474fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon * Licensed under the Apache License, Version 2.0 (the "License");
574fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon * you may not use this file except in compliance with the License.
674fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon * You may obtain a copy of the License at
774fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon *
874fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon *      http://www.apache.org/licenses/LICENSE-2.0
974fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon *
1074fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon * Unless required by applicable law or agreed to in writing, software
1174fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon * distributed under the License is distributed on an "AS IS" BASIS,
1274fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1374fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon * See the License for the specific language governing permissions and
1474fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon * limitations under the License.
1574fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon */
1674fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon
1774fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixonpackage android.webkit;
1874fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon
193442c74d2ce220a2d104a5717994bbaf09a9f02dNate Fischerimport android.annotation.Nullable;
2074fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixonimport android.webkit.CacheManager.CacheResult;
2174fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixonimport android.webkit.PluginData;
220a6140d2173052b4fa753c9ea61f92814cbced6eNate Fischer
2374fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixonimport java.util.Map;
2474fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon
2574fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon/**
2674fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon * @hide
2774fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon * @deprecated This interface was inteded to be used by Gears. Since Gears was
2874fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon * deprecated, so is this class.
2974fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon */
3074fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon@Deprecated
3174fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixonpublic interface UrlInterceptHandler {
3274fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon
3374fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon    /**
3474fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon     * Given an URL, returns the CacheResult which contains the
350a6140d2173052b4fa753c9ea61f92814cbced6eNate Fischer     * surrogate response for the request, or {@code null} if the handler is
3674fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon     * not interested.
3774fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon     *
3874fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon     * @param url URL string.
393442c74d2ce220a2d104a5717994bbaf09a9f02dNate Fischer     * @param headers The headers associated with the request.
4074fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon     * @return The CacheResult containing the surrogate response.
4174fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon     *
4274fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon     * @hide
4374fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon     * @deprecated Do not use, this interface is deprecated.
4474fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon     */
4574fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon    @Deprecated
463442c74d2ce220a2d104a5717994bbaf09a9f02dNate Fischer    @Nullable
473442c74d2ce220a2d104a5717994bbaf09a9f02dNate Fischer    CacheResult service(String url, @Nullable Map<String, String> headers);
4874fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon
4974fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon    /**
5074fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon     * Given an URL, returns the PluginData which contains the
510a6140d2173052b4fa753c9ea61f92814cbced6eNate Fischer     * surrogate response for the request, or {@code null} if the handler is
5274fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon     * not interested.
5374fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon     *
5474fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon     * @param url URL string.
553442c74d2ce220a2d104a5717994bbaf09a9f02dNate Fischer     * @param headers The headers associated with the request.
5674fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon     * @return The PluginData containing the surrogate response.
5774fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon     *
5874fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon     * @hide
5974fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon     * @deprecated Do not use, this interface is deprecated.
6074fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon     */
6174fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon    @Deprecated
623442c74d2ce220a2d104a5717994bbaf09a9f02dNate Fischer    @Nullable
633442c74d2ce220a2d104a5717994bbaf09a9f02dNate Fischer    PluginData getPluginData(String url, @Nullable Map<String, String> headers);
6474fc73f62bd1ade8e94a6bba34bcd24d54400dd2Jonathan Dixon}
65