chromium 保存網(wǎng)頁密碼的代碼分析

chromium 原生實現(xiàn)

3個關(guān)鍵類

SavePasswordsPreferences extends Fragment //password 界面
//負(fù)責(zé)和native層進(jìn)行交互
public final class PasswordUIView {
    //內(nèi)部類, 代表一項password item
    public static final class SavedPasswordEntry {
        private final String mUrl;
        private final String mName;
    }

    public interface PasswordListObserver {
        /**
         * Called when passwords list is updated.
         * @param count Number of entries in the password list.
         */
        void passwordListAvailable(int count);

        /**
         * Called when password exceptions list is updated.
         * @param count Number of entries in the password exception list.
         */
        void passwordExceptionListAvailable(int count);
    }

    private ObserverList<PasswordListObserver> mObservers =
            new ObserverList<PasswordListObserver>();

//底層保存密碼完后, jni調(diào)用java層的passwordListAvailable(), 進(jìn)而通知所有的observer.
    @CalledByNative
    private void passwordListAvailable(int count) {
        JLog.i(count);
        for (PasswordListObserver observer : mObservers) {
            observer.passwordListAvailable(count);
        }
    }
}
PasswordEntryEditor.java  //Password entry editor that allows to view and delete passwords stored in Chrome.
項目自定義的實現(xiàn)

2個關(guān)鍵類

PasswordSettingActivity //保存密碼的界面
PasswordAdapter //密碼列表使用的adapter
保存密碼的文件
chrome保存的位置:
/data/data/com.android.chrome/app_chrome/Default/Login Data  
自己瀏覽器保存的位置:
/data/data/com.qihoo.browser/app_chrome/Default/Login Data

注意一點: 明文保存, 有一定的安全隱患.

-----DONE.-----

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容