1a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)// Copyright 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)package org.chromium.chrome.browser;
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)import android.graphics.Rect;
82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)import android.graphics.RectF;
92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import org.chromium.base.CalledByNative;
112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)import org.chromium.components.web_contents_delegate_android.WebContentsDelegateAndroid;
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Chromium Android specific WebContentsDelegate.
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This file is the Java version of the native class of the same name.
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * It should contain empty WebContentsDelegate methods to be implemented by the embedder.
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * These methods belong to the Chromium Android port but not to WebView.
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)public class ChromeWebContentsDelegateAndroid extends WebContentsDelegateAndroid {
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    @CalledByNative
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    public void onFindResultAvailable(FindNotificationDetails result) {
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    }
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    @CalledByNative
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    public void onFindMatchRectsAvailable(FindMatchRectsDetails result) {
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    }
282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
29424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)    @CalledByNative
30f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)    public boolean addNewContents(long nativeSourceWebContents, long nativeWebContents,
31424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)            int disposition, Rect initialPosition, boolean userGesture) {
32424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)        return false;
33424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)    }
34424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)
352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    // Helper functions used to create types that are part of the public interface
362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    @CalledByNative
372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    private static Rect createRect(int x, int y, int right, int bottom) {
382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        return new Rect(x, y, right, bottom);
392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    }
402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    @CalledByNative
422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    private static RectF createRectF(float x, float y, float right, float bottom) {
432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        return new RectF(x, y, right, bottom);
442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    }
452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    @CalledByNative
472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    private static FindNotificationDetails createFindNotificationDetails(
482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            int numberOfMatches, Rect rendererSelectionRect,
492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            int activeMatchOrdinal, boolean finalUpdate) {
502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        return new FindNotificationDetails(numberOfMatches, rendererSelectionRect,
512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                activeMatchOrdinal, finalUpdate);
522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    }
532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    @CalledByNative
552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    private static FindMatchRectsDetails createFindMatchRectsDetails(
562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            int version, int numRects, RectF activeRect) {
572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        return new FindMatchRectsDetails(version, new RectF[numRects], activeRect);
582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    }
592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    @CalledByNative
612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    private static void setMatchRectByIndex(
622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            FindMatchRectsDetails findMatchRectsDetails, int index, RectF rect) {
632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        findMatchRectsDetails.rects[index] = rect;
642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    }
655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
66