日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Webkit for android

發布時間:2023/12/19 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Webkit for android 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、WebKit簡介

WebKit是一個開源的瀏覽器網頁排版引擎,包含WebCore排版引擎和JSCore引擎。 WebCore和JSCore引擎來自于KDE項目的KHTML和KJS開源項目。Android平臺的Web 引擎框架采用了WebKit項目中的WebCore和JSCore部分,上層由Java語言封裝,并且作 為API提供給Android應用開發者,而底層使用WebKit核心庫(WebCore和JSCore)進行 網頁排版。

二、WebKit目錄結構

?

Android平臺的WebKit模塊分成JavaWebKit庫兩個部分,其目錄結構如下表所示:

WebKit模塊目錄結構

Java

BrowserFrame.java

BrowserFrame對象是對WebCore庫中的Frame對象的Java層封裝,用于創建WebCore中定義的Frame,以及為該Frame對象提供Java層回調方法。

ByteArrayBuilder.java

ByteArrayBuilder輔助對象,用于byte塊鏈表的處理。

CachLoader.java

URL Cache載入器對象,該對象實現StreadLoader抽象基類,用于通過CacheResult對象載入內容數據。

CacheManager.java

Cache管理對象,負責JavaCache對象管理

CacheSyncManager.java

Cache同步管理對象,負責同步RAMFLASH之間的瀏覽器Cache數據。實際的物理數據操作在WebSyncManager對象中完成。

CallbackProxy.java

該對象是用于處理WebCoreUI線程消息的代理類。當有Web事件產生時WebCore線程會調用該回調代理類,代理類會通過消息的方式通知UI線程,并且調用設置的客戶對象的回調函數。

CellList.java

CellList定義圖片集合中的Cell,管理Cell圖片的繪制、狀態改變以及索引。

CookieManager.java

根據RFC2109規范,管理cookies

CookieSyncManager.java

Cookies同步管理對象,該對象負責同步RAMFlash之間的Cookies數據。實際的物理數據操作在基類WebSyncManager中完成。

DataLoader.java

數據載入器對象,用于載入網頁數據。

DateSorter.java

尚未使用

DownloadListener.java

下載偵聽器接口

DownloadManagerCore.java

下載管理器對象,管理下載列表。該對象運行在WebKit的線程中,通過CallbackProxy對象與UI線程交互。

FileLoader.java

文件載入器,將文件數據載入到Frame中。

FrameLoader.java

Frame載入器,用于載入網頁Frame數據

HttpAuthHandler.java

Http認證處理對象,該對象會作為參數傳遞給BrowserCallback.displayHttpAuthDialog方法,與用戶交互。

HttpDataTime.java

該對象是處理HTTP日期的輔助對象。

JsConfirmResult.java

Js確認請求對象

JsPromptResult.java

Js結果提示對象,用于向用戶提示Javascript運行結果。

JsResult.java

Js結果對象,用于用戶交互

JWebCoreJavaBridge.java

JavaWebCore庫中TimerCookies對象交互的橋接代碼。

LoadListener.java

載入器偵聽器,用于處理載入器偵聽消息。

Network.java

該對象封裝網絡連接邏輯,為調用者提供更為高級的網絡連接接口。

PanZoom.java

用于處理圖片縮放、移動等操作

PanZoomCellList.java

用于保存移動、縮放圖片的Cell

PerfChecker.java

用于效率測試的功能對象???

SslErrorHandler.java

用于處理SSL錯誤消息。

StreamLoader.java

StreamLoader抽象類是所有內容載入器對象的基類。該類是通過消息方式控制的狀態機,用于將數據載入到Frame中。

TextDialog.java

用于處理html中文本區域疊加情況,可以使用標準的文本編輯而定義的特殊EditText控件。

URLUtil.java

URL處理功能函數,用于編碼、解碼URL字符串,以及提供附加的URL類型分析功能。

WebBackForwardList.java

該對象包含WebView對象中顯示的歷史數據。

WebBackForwardListClient.java

瀏覽歷史處理的客戶接口類,所有需要接收瀏覽歷史改變的類都需要實現該接口。

WebChromeClient.java

Chrome客戶基類,Chrome客戶對象在瀏覽器文檔標題、進度條、圖標改變時候會得到通知。

WebHistoryItem.java

該對象用于保存一條網頁歷史數據

WebIconDataBase.java

圖表數據庫管理對象,所有的WebView均請求相同的圖標數據庫對象。

WebSettings.java

WebView的管理設置數據,該對象數據是通過JNI接口從底層獲取。

WebSyncManager.java

數據同步對象,用于RAM數據和FLASH數據的同步操作。

WebView.java

Web視圖對象,用于基本的網頁數據載入、顯示等UI操作。

WebViewClient.java

Web視圖客戶對象,在Web視圖中有事件產生時,該對象可以獲得通知。

WebViewCore.java

該對象對WebCore庫進行了封裝,將UI線程中的數據請求發送給WebCore處理,并且通過CallbackProxy的方式,通過消息通知UI線程數據處理的結果。

WebViewDatabase.java

該對象使用SQLiteDatabaseWebCore模塊提供數據存取操作。

?

三、WebKit模塊框架

Android平臺的WebKit模塊由Java層和WebKit庫兩個部分組成,Java層負責與Android應用程序進行通信,而WebKit類庫負責實際的網頁排版處理。Java層和C層庫之間通過JNIBridge相互調用,如下圖所示:

?

?

?

?

?

3.1 Java層框架

3.1.1?主要類關系

WebKit模塊的Java層一共由41個文件組成,其中主要的類關系如下圖所示:

?

?

  • WebView

  • WebView類是WebKit模塊Java層的視圖類,所有需要使用Web瀏覽功能的Android應用程序都要創建該視圖對象顯示和處理請求的網絡資源。目前,WebKit模塊支持HTTPHTTPSFTP以及javascript請求。WebView作為應用程序的UI接口,為用戶提供了一系列的網頁瀏覽、用戶交互接口,客戶程序通過這些接口訪問WebKit核心代碼。

    ?

  • WebViewDatabase

  • WebViewDatabaseWebKit模塊中針對SQLiteDatabase對象的封裝,用于存儲和獲取運行時瀏覽器保存的緩沖數據、歷史訪問數據、瀏覽器配置數據等。該對象是一個單實例對象,通過getInstance方法獲取WebViewDatabase的實例。WebViewDatabaseWebKit模塊中的內部對象,僅供WebKit框架內部使用。

    ?

  • WebViewCore

  • WebViewCore類是Java層與CWebKit核心庫的交互類,客戶程序調用WebView的網頁瀏覽相關操作會轉發給BrowserFrame對象。當WebKit核心庫完成實際的數據分析和處理后會回調WebViweCore中定義的一系列JNI接口,這些接口會通過CallbackProxy將相關事件通知相應的UI對象。

    ?

  • CallbackProxy

  • CallbackProxy是一個代理類,用于UI線程和WebCore線程交互。該類定義了一系列與用戶相關的通知方法,當WebCore完成相應的數據處理,則會調用CallbackProxy類中對應的方法,這些方法通過消息方式間接調用相應處理對象的處理方法。詳細的處理流程在下文中會具體分析。

    ?

  • BrowserFrame

  • BrowserFrame類負責URL資源的載入、訪問歷史的維護、數據緩存等操作,該類會通過JNI接口直接與WebKit C層庫交互。

    ?

  • JWebCoreJavaBridge

  • 該類為JavaWebKit代碼提供與CWebKit核心部分的TimerCookies操作相關的方法。

    ?

  • DownloadManagerCore

  • 下載管理核心類,該類負責管理網絡資源下載,所有的Web下載操作均有該類同一管理。該類實例運行在WebKit線程當中,與UI線程的交互是通過調用CallbackProxy對象中相應的方法完成。

    ?

  • WebSettings

  • 該對象描述了WEB瀏覽器訪問相關的用戶配置信息。

    ?

  • DownloadListener

  • 下載偵聽接口,如果客戶代碼實現該接口,則在下載開始、失敗、掛起、完成等情況下,DownloadManagerCore對象會調用客戶代碼中實現的DwonloadListener方法。

    ?

  • WebBackForwardList

  • WebBackForwarList對象維護著用戶訪問歷史記錄,該類為客戶程序提供操作訪問瀏覽器歷史數據的相關方法。

    ?

  • WebViewClient

  • WebViewClient類定義了一系列事件方法,如果Android應用程序設置了WebViewClient派生對象,則在頁面載入、資源載入、頁面訪問錯誤等情況發生時,該派生對象的相應方法會被調用。

    ?

  • WebBackForwardListClient

  • WebBackForwardListClient對象定義了對訪問歷史操作時可能產生的事件接口,當用戶實現了該接口,則在操作訪問歷史時(訪問歷史移除、訪問歷史清空等)用戶會得到通知。

    ?

  • WebChromeClient

  • WebChromeClient類定義了與瀏覽窗口修飾相關的事件。例如接收到Title、接收到Icon、進度變化時,WebChromeClient的相應方法會被調用。

    ?

    ?

    ?

    3.1.2?主要類的設計

    3.1.2.1?數據載入器的設計

    WebKit模塊的Java部分框架中使用數據載入器來加載相應類型的數據,目前有CacheLoaderDataLoader以及FileLoader三類載入器,他們分別用于處理緩存數據、內存據,以及文件數據的載入操作。Java層(WebKit模塊)所有的載入器都從StreamLoader繼承(其父類為Handler),由于StreamLoader類的基類為Handler類,因此在構造載入器時,會開啟一個事件處理線程,該線程負責實際的數據載入操作,而請求線程通過消息的方式驅動數據的載入。下圖是數據載入器相關類的類圖結構:

    StreamLoader類定義了4個不同的消息(MSG_STATUSMSG_HEADERSMSG_DATAMSG_END),分別表示發送狀態消息、發送消息頭消息、發送數據消息以及數據發送完畢消息。該類提供了2個抽象保護方法以及一個共有方法:setupStreamAndSendStatus保護方法主要是用于構造與通信協議相關的數據流,以及向LoadListener發送狀態。buildHeaders方法是向子類提供構造特定協議消息頭功能。所有載入器只有一個共有方法(load),因此當需要載入數據時,調用該方法即可。與數據載入流程相關的類還有LoaderListener以及BrowserFrame,當數據載入事件發生時,?WebKit C庫會更新載入進度,并且會通知BrowserFrameBroserFrame接收到進度條變更事件后會通過CallbackProxy對象,通知View類進度條數據變更。下面以DataLoader類為例子,說明數據載入以及與UI交互過程:

    上圖中綠色部分是BrowserFrame處理進度變更事件時,調用CallbackProxy對象通知視圖變更狀態的操作,在這里省略。途中灰色部分表示C層代碼,而白色部分表示Java層代碼。

    ?

    ?

    3.2 C層框架

    3.2.1 C類與Java類的關系

    1BrowserFrame

    BrowserFrame Java類相對應的C++類為FrameBridge,該類為Dalvik虛擬機回調BrowserFrame類中定義的本地方法進行了封裝。與BrowserFrame中回調函數(Java層)相對應的C層結構定義如下:

    ?

    該結構作為FrameBridgeC層)的一個成員變量(mJavaFrame),在FrameBridge構造函數中,用BrowserFrameJava層)類的回調方法的偏移量初始化JavaBrowserFrame結構的各個域。初始后,當WebCoreC層)在剖析網頁數據時,有Frame相關的資源改變,比如WEB頁面的主題變化,則會通過mJavaFrame結構,調用指定BrowserFrame對象的相應方法,通知Java層處理。

    ?

    2JWebCoreJavaBridge

    與該對象相對應的C層對象為JavaBridgeJavaBridge對象繼承了TimerClientCookieClient類,負責WebCore中的定時器和Cookie管理。與JavaJWebCoreJavaBridge類中方法偏移量相關的是JavaBridege中幾個成員變量,在構造JavaBridge對象時,會初始化這些成員變量,之后有Timer或者Cookies事件產生,WebCore會通過這些ID值,回調對應JWebCoreJavaBridge的相應方法。

    ?

    3LoadListener

    與該對象相關的C層結構是struct resourceloader_t,該結構保存了LoadListener對象IDCancelMethod ID以及DownloadFiledMethod ID值。當有Cancel或者Download事件產生,WebCore會回調LoadListener類中的CancelMethod或者DownloadFileMethod

    ?

    4WebViewCore

    WebViewCore相關的C類是WebCoreViewImplWebViewCoreImpl類有個JavaGlue對象作為成員變量,在構建WebCoreViewImpl對象時,用WebViewCoreJava層)中的方法ID值初始化該成員變量。并且會將構建的WebCoreViewImpl對象指針復制給WebViewCoreJava層)的mNativeClass,這樣將WebViewCoreJava層)和WebViewCoreImpleC層)關聯起來。

    ?

    5WebSettings

    WebSettings相關的C層結構是struct FieldIds,該結構保存了WebSettings類中定義的屬性ID以及方法ID,在WebCore初始化時(WebViewCore的靜態方法中使用System.loadLibrary載入)會設置這些方法和屬性的ID值。

    ?

    6WebView

    WebView相關的C層類是WebViewNative,該類中的mJavaGlue中保存著WebView中定義的屬性和方法ID,在WebViewNative構造方法中初始化,并且將構造的WebViewNative對象的指針,賦值給WebView類的mNativeClass變量,這樣WebViewWebViewNative對象建立了關系。

    ?

    3.2.2?主要類關系

    Java層相關的C層類如下表所示:

    功能描述

    ChromeClientAndroid

    該類主要處理WebCore中與Frame裝飾相關的操作。例如設置狀態欄、滾動條、Javascript腳本提示框等。當瀏覽器中有相關事件產生,ChromeClientAndroid類的相應方法會被調用,該類會將相關的UI事件通過Bridge傳遞給Java層,由Java層負責繪制以及用戶交互方面的處理。

    EditorClientAndroid

    該類負責處理頁面中文本相關的處理,比如文本輸入、取消、輸入法數據處理、文本黏貼、文本編輯等操作。不過目前該類只對按鍵相關的時間進行了處理,其他操作均未支持。

    ContextMenuClient

    該類提供頁面相關的功能菜單,比如圖片拷貝、朗讀、查找等功能。但是,目前項目中未實現具體功能。

    DragClient

    該類定義了與頁面拖拽相關的處理,但是目前該類沒有實現具體功能。

    FrameLoaderClientAndroid

    該類提供與Frame加載相關的操作,當用戶請求加載一個頁面時,WebCore分析完網頁數據后,會通過該類調用Java層的回調方法,通知UI相關的組件處理。

    InspectorClientAndroid

    該類提供與窗口相關的操作,比如窗口顯示、關閉窗口、附加窗口等。不過目前該類的各個方法均為空實現。

    Page

    該類提供與頁面相關的操作,比如網頁頁面的前進、后退等操作。

    FrameAndroid

    該類為Android提供Frame管理。

    FrameBridge

    該類對Frame相關的Java層方法進行了封裝,當有Frame事件產生時,WebCore通過FrameBridge回調Java的回調函數,完成用戶交互過程。

    AssetManager

    該類為瀏覽器提供本地資源訪問功能。

    RenderSkinAndroid

    該類與控件繪制相關,所有的須繪制控件都需要從該類派生,目前WebKit模塊中有ButtonComboRadio三類控件。

    ?

    以上幾個類會在Java層請求創建Web Frame的時候被建立,他們的關系如下圖所示:

    上圖中標注為深綠色的FrameAndroid是瀏覽器Frame,一個BrowserFrame對象對應著一個FrameAndroid對象。而其他8個標注為淡綠色的類,是與該Frame顯示、布局等相關的類。WebKit模塊中所有WebCore核心代碼與用戶交互的操作使用FrameAndroid對象中的Bridge處理(回調相應的Java方法)。

    ?

    ?

    ?

    ?

    四、基本操作分析

    4.1 WebKit模塊初始化

    Android SDK中提供了WebView類,該類為客戶提供客戶化瀏覽顯示的功能,如果客戶需要加入瀏覽器的支持,可將該類的實例或者派生類的實例作為視圖,調用Activity類的setContentView顯示給用戶。當客戶代碼中生成第一次生成WebView對象時,會初始化WebKit庫(包括Java層和C層兩個部分),之后用戶可以操作WebView對象完成網絡或者本地資源的訪問。

    WebView對象的生成主要涉及3個類CallbackProxyWebViewCore以及WebViewDatabase。其中CallbackProxy對象為WebKit模塊中UI線程和WebKit類庫提供交互功能,WebViewCoreWebKit的核心層,負責與C層交互以及WebKit模塊C層類庫初始化,而WebViewDatabaseWebKit模塊運行時緩存、數據存儲提供支持。WebKit模塊初始化流程如下:

    WebView

    +–創建CallbackProxy對象

    +–創建WebViewCore對象

    1–調用System.loadLibrary載入webcore相關類庫(C層)

    2–如果是第一次初始化WebViewCore對象,創建WebCoreTherad線程

    3–創建EventHub對象,處理WebViewCore事件

    4–獲取WebIconDatabase對象實例

    5–WebCoreThread發送初始化消息

    +–獲取WebViewDatabase實例

    如上所敘,第一步調用System.loadLibrary方法載入webcore相關類庫,該過程由Dalvik虛擬機完成,它會從動態鏈接庫目錄中尋找libWebCore.so類庫,載入到內存中,并且調用WebKit初始化模塊的JNI_OnLoad方法。WebKit模塊的JNI_OnLoad方法中完成了如下初始化操作:

    a)?初始化framebridge[register_android_webcore_framebridge]

    初始化gFrameAndroidField靜態變量,以及注冊BrowserFrame類中的本地方法表。

    b)?初始化javabridge[register_android_webcore_javabridge]

    初始化gJavaBridge.mObject對象,以及注冊JWebCoreJavaBridge類中的本地方法

    c)?初始化資源loader[register_android_webcore_resource_loader]

    初始化gResourceLoader靜態變量,以及注冊LoadListener類的本地方法

    d)?初始化webviewcore[register_android_webkit_webviewcore]

    初始化gWebCoreViewImplField靜態變量,以及注冊WebViewCore類的本地方法

    e)?初始化webhistory[register_android_webkit_webhistory]

    初始化gWebHistoryItem結構,以及注冊WebBackForwardListWebHistoryItem類的本地方法

    f)?初始化webicondatabase[register_android_webkit_webicondatabase]

    注冊WebIconDatabase類的本地方法

    g)?初始化websettings[register_android_webkit_websettings]

    初始化gFieldIds靜態變量,以及注冊WebSettings類的本地方法

    h)?初始化webview[register_android_webkit_webview]

    初始化gWebViewNativeField靜態變量,以及注冊WebView類的本地方法

    第二步是WebCoreThread初始化,該初始化只在第一次創建WebViewCore對象時完成,當用戶代碼第一次生成WebView對象,會在初始化WebViewCore類時創建WebCoreThread線程,該線程負責處理WebCore初始化事件。此時WebViewCore構造函數會被阻塞,直到一個WebView初始化請求完畢時,會在WebCoreThread線程中喚醒。

    第三步創建EventStub對象,該對象處理WebView類的事件,當WebCore初始化完成后會向WebView對象發送事件,WebView類的EventStub對象處理該事件,并且完成后續初始化工作。

    第四步獲取WebIconDatabase對象實例。

    第五步向WebViewCore發送INITIALIZE事件,并且將this指針作為消息內容傳遞。WebView類主要負責處理UI相關的事件,而WebViewCore主要負責與WebCore庫交互。在運行時期,UI線程和WebCore數據處理線程是運行在兩個獨立的線程當中。WebCoreThread線程接收到INITIALIZE線程后,會調用消息對象參數的initialize方法,而后喚醒阻塞的WebViewCore Java線程(該線程在WebViewCore的構造函數中被阻塞)。不同的WebView對象實例有不同的WebViewCore對象實例,因此通過消息的方式可以使得UI線程和WebViewCore線程解耦合。WebCoreThread的事件處理函數,處理INITIALIZE消息時,調用的是不同WebViewWebViewCore實例的initialize方法。WebViewCore類中的initialize方法中會創建BrowserFrame對象(該對象管理整個WEB窗體,以frame相關事件),并且向WebView對象發送WEBCORE_INITIALIZED_MSG_ID消息。WebView消息處理函數,會根據消息參數1初始化指定的WebViewCore對象,并且更新WebViewCoreFrame緩沖。

    初始化過程的序列圖如下圖所示:

    初始化完成后Java層和C層類圖關系如下圖所示

    上圖中淡綠色的類表示Java層,而灰色類表示C層。

    ?

    ?

    4.2?數據載入

    4.2.1?載入網絡數據

    客戶代碼中可以使用WebView類的loadUrl方法,請求訪問指定的URL網頁數據。WebView對象中保存著WebViewCore的引用,由于WebView屬于UI線程,而WebViewCore屬于后臺線程,因此WebView對象的loadUrl被調用時,會通過消息的方式將URL信息傳遞給WebViewCore對象,該對象會調用成員變量mBrowserFrameloadUrl方法,進而調用WebKit庫完成數據的載入。其調用函數序列如下所示:

    網絡數據的載入分別由Java層和C層共同完成,Java層完成用戶交互、資源下載等操作,而C層主要完成數據分析(建立DOM樹、分析頁面元素等)操作。由于UI線程和WebCore線程運行在不同的兩個線程中,因此當用戶請求訪問網絡資源時,通過消息的方式向WebViewCore對象發送載入資源請求。在Java層的WebKit模塊中,所有與資源載入相關的操作都是由BrowserFrame類中對應的方法完成,這些方法是本地方法,會直接調用WebCore庫的C層函數完成數據載入請求,以及資源分析等操作。如上圖所示,C層的FrameLoader類是瀏覽框架的資源載入器,該類負責檢查訪問策略以及向Java層發送下載資源請求等功能。在FrameLoader中,當用戶請求網絡資源時,經過一系列的策略檢查后會調用FrameBridgestartLoadingResource方法,該方法會回調BrowserFrameJava)類的startLoadingResource方法,完成網絡數據的下載,而后BrowserFrameJava)類的startLoadingResource方法會返回一個LoadListener的對象,FrameLoader會刪除原有的FrameLoader對象,將LoadListener對象封裝成ResourceLoadHandler對象,并且將其設置為新的FrameLoader。到此完成了一次資源訪問請求,接下來的任務即是WebCore庫會根據資源數據進行分析和構建DOM,以及相關的數據結構。

    ?

    4.2.2?載入本地數據

    本地數據是以data://開頭的URL表示,載入過程和網絡數據一樣,只不過在執行FrameLoader類的executeLoad方法時,會根據URLSCHEME類型區分,調用DataLoaderrequestUrl方法(參看3.1.2.1節對載入器的分析),而不是調用handleHTTPLoad建立實際的網絡通信連接。

    ?

    4.2.3?載入文件數據

    文件數據是以file://開頭的URL,載入的基本流程與網絡數據載入流程基本一致,不同的是在運行FrameLoader類的executeLoad方法時,根據SCHEME類型,調用FileLoaderrequestUrl方法,完成數據加載(參看3.1.2.1節對載入器的分析)。

    ?

    4.3?刷新繪制

    當用戶拖動滾動條、有窗口遮蓋、或者有頁面事件觸發都會向WebViewCoreJava層)對象發送背景重繪消息,該消息會引起網頁數據的繪制操作。WebKit的數據繪制可能出于效率上的考慮,沒有通過Java層,而是直接在C層使用SGL庫完成。與Java層圖形繪制相關的Java對象有如下幾個:

  • Picture

  • 該類對SGL封裝,其中變量mNativePicture實際上是保存著SkPicture對象的指針。WebViewCore中定義了兩個Picture對象,當作雙緩沖處理,在調用webKitDraw方法時,會交換兩個緩沖區,加速刷新速度。

  • WebView

  • 該類接受用戶交互相關的操作,當有滾屏、窗口遮蓋、用戶點擊頁面按鈕等相關操作時,WebView對象會與之相關的WebViewCore對象發送VIEW_SIZE_CHANGED消息。當WebViewCore對象接收到該消息后,將構建時建立的mContentPictureB刷新到屏幕上,然后將mContentPictureA與之交換。

  • WebViewCore

  • 該類封裝了WebKit C層代碼,為視圖類提供對WebKit的操作接口,所有對WebKit庫的用戶請求均由該類處理,并且該類還為視圖類提供了兩個Picture對象,用于圖形數據刷新。

    ?

    下面以Web頁面被鼠標拖拽的情況為例子,分析網頁數據刷新過程。當用戶使用手指點擊觸摸屏,并且移動手指,則會引發touch事件的產生,Android平臺會將touch事件傳遞給最前端的視圖相應(dispatchTouchEvent方法處理)。在WebView類中定義了5touch模式,在手指拖動Web頁面的情況下,會觸發mMotionDragMode,并且會調用View類的scrollBy方法,觸發滾屏事件以及使視圖無效(重繪,會調用ViewonDraw方法)。WebView視圖中的滾屏事件由onScrollChanged方法響應,該方法向WebViewCore對象發送SET_VISIBLE_RECT事件。

    WebViewCore對象接收到SET_VISIBLE_RECT事件后,將消息參數中保存的新視圖的矩形區域大小傳遞給nativeSetVisibleRect方法,通知WebCoreViewImpl對象(C層)視圖矩形變更(WebCoreViewImpl::setVisibleRect方法)。在setVisibleRect方法中,會通過虛擬機調用WebViewCorecontentInvalidate方法,該方法會引發webkitDraw方法的調用(通過WEBKIT_DRAW消息)。在webkitDraw方法里,首先會將mContentPictureB對象傳遞給本地方法nativeDraw繪制,而后將mContentPictureB的內容與mContentPictureA的內容對調。在這里mContentPictureA緩沖區是供給WebViewCoredraw方法使用,如果用戶選擇某個控件,繪制焦點框時候WebViewCore對象的draw方法會調用,繪制的內容保存在mContentPictureA中,之后會通過Canvas對象(Java層)的drawPicture方法將其繪制到屏幕上,而mContentPictureB緩沖區是用于built操作的,nativeDraw方法中首先會將傳遞的mContentPictureB對象數據重置,而后在重新構建的mContentPictureB畫布上,將層上相關的元素繪制到該畫布上。上面提到,之后會將mContentPictureBmContentPictureA的內容對調,這樣一次重繪事件產生時(會調用WebView.onDraw方法)會將mContentPictureA的數據使用Canvas類的drawPicture繪制到屏幕上。當webkitDraw方法將mContentPictureAmContentPictureB指針對調后,會向WebView對象發送NEW_PICTURE_MSG_ID消息,該消息會引發WebViewCoreVIEW_SIZE_CHANGED消息的產生,并且會使當前視圖無效產生重繪事件(invalidate()),引發onDraw方法的調用,完成一次網頁數據的繪制過程。

    轉載于:https://www.cnblogs.com/tingzi/archive/2012/05/14/2499940.html

    總結

    以上是生活随笔為你收集整理的Webkit for android的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    www.夜夜骑.com | 国产成人精品久久二区二区 | 337p欧美 | 最新av观看 | 中文字幕在线视频精品 | 久久精品视频在线看 | 97自拍超碰 | 精品成人在线 | 国产精品久久久久久久久久免费 | 黄色大全免费网站 | av福利在线免费观看 | av免费播放 | 色狠狠综合 | 国产免费久久久久 | 国产二区免费视频 | 久久黄色片 | 亚洲九九九在线观看 | 九九久久电影 | 国内精品久久久久影院男同志 | 国产精品成人一区二区三区吃奶 | 一区久久久 | 欧美日韩1区| 久久精品欧美 | 日韩成人在线一区二区 | 二区在线播放 | 免费视频久久久 | 懂色av一区二区三区蜜臀 | 欧美a级片免费看 | 欧美午夜a| 最近中文字幕视频完整版 | 久久精品免费电影 | 成人免费观看视频大全 | 97av在线视频免费播放 | 伊人影院99 | 精品视频免费观看 | 亚洲视频免费在线观看 | 国内精自线一二区永久 | 国产色视频一区二区三区qq号 | 天天操天天干天天爱 | 青青啪| 久久黄色片 | 亚洲热视频 | 免费一级黄色 | 一区二区高清在线 | 人人舔人人爽 | 免费在线看成人av | 成人在线黄色 | 在线国产中文 | 成人av在线影院 | 成人 亚洲 欧美 | 成年人黄色在线观看 | 日韩在线第一区 | 色偷偷88888欧美精品久久 | 欧美一级专区免费大片 | 香蕉视频在线看 | 日韩一级成人av | 亚洲男男gⅴgay双龙 | 成人av久久 | 久久公开视频 | 欧美极品一区二区三区 | 国产精品一区二区白浆 | 国产aa免费视频 | 久久公开免费视频 | 日韩中文字幕免费视频 | 国产精品美女网站 | 成人视屏免费看 | 国产一级片视频 | 久久女教师 | 亚洲 欧美 国产 va在线影院 | 国产99久| 成人三级网址 | 日韩在线视频一区二区三区 | 96国产精品视频 | 手机成人av | 97超碰人人在线 | 免费能看的av| 亚洲午夜精品一区 | 丰满少妇在线观看资源站 | 国产99久久精品一区二区永久免费 | 欧美在线1| 国产分类视频 | 97人人澡人人添人人爽超碰 | 日韩中文字幕电影 | 五月天,com | 精品国产伦一区二区三区观看说明 | 国产在线无 | 国产精品精品视频 | 国产成人精品电影久久久 | 黄色一级大片在线免费看产 | 丁香导航 | 久久中文字幕视频 | 中文字幕在线观看国产 | 亚洲欧美视频在线观看 | 国内精品久久久久久久久久久久 | www.av免费| 91精品视频在线免费观看 | 久久久久成人免费 | 久久色视频| 欧美日韩三级 | 国产一级视频在线 | 欧美成年性 | 美国av片在线观看 | 国产精品成人品 | 五月激情丁香图片 | 中文字幕一区二区在线观看 | 欧美少妇bbwhd | 色综合天天在线 | 国产免费黄色 | 久久久99精品免费观看app | 精品国产免费久久 | 色香蕉在线视频 | 美女黄频在线观看 | 午夜视频在线观看一区二区三区 | 亚洲精品456在线播放乱码 | 欧美另类美少妇69xxxx | 久久久久亚洲精品中文字幕 | 国产精品视频免费看 | 午夜视频在线观看欧美 | 丝袜美腿一区 | 一区二区不卡在线观看 | 欧美日韩精品影院 | 五月婷婷另类国产 | a级免费观看 | 亚洲特级毛片 | 久久久高清免费视频 | 中文字幕在线资源 | 亚洲三级网站 | 国产亚洲精品久久久网站好莱 | 国产精品久久久久久久7电影 | 久久九九影视网 | 久久国产成人午夜av影院宅 | 高清视频一区二区三区 | www.xxxx欧美 | 日日干天天插 | 亚洲精品乱码久久久久久蜜桃不爽 | 免费视频网 | 人人草网站 | 又黄又刺激又爽的视频 | 精品一区二区综合 | a视频在线播放 | 国产精品地址 | 狠狠干夜夜操天天爽 | 欧美激情在线看 | 日韩91av | 黄色软件在线观看视频 | 亚洲成人av在线电影 | 日韩亚洲在线视频 | 久久婷综合 | 一色屋精品视频在线观看 | 日本精品免费看 | 在线黄色国产 | 久久久久成人精品 | 国产精品免费观看视频 | 伊人亚洲综合网 | 国产伦精品一区二区三区无广告 | 久久国产精品成人免费浪潮 | 99热精品久久 | 在线欧美a| 97免费在线观看视频 | 亚洲97在线 | 久久久久成人精品 | 天天要夜夜操 | 在线观看黄色av | 99久久日韩精品免费热麻豆美女 | 日韩高清无线码2023 | 国产精品日韩欧美一区二区 | 天天综合精品 | 亚洲成a人片77777潘金莲 | 99久久久久久久 | 久草在线久草在线2 | 97国产在线播放 | 亚洲精品网址在线观看 | 国产成人av电影 | 成人av电影免费在线观看 | 99久久精品久久亚洲精品 | 婷婷六月天在线 | a久久久久 | 亚洲精品欧洲精品 | 一区免费视频 | 六月婷色 | 国产精品99久久久久久久久久久久 | 中国精品少妇 | 成人h电影在线观看 | 天天操狠狠操 | 国产精品久久久久影院 | 91中文视频| 天天摸夜夜添 | 欧美色综合天天久久综合精品 | 国产一区二区精品91 | www亚洲一区 | 久久久久亚洲精品成人网小说 | 欧美激情操 | 夜夜躁狠狠燥 | 美女一二三区 | 日本一区二区高清不卡 | 91高清一区| 狠狠网站 | 国产涩图| 日本一区二区免费在线观看 | 国产黄色片一级 | 精品国偷自产国产一区 | 网站你懂的| 亚洲另类视频在线 | 91视频免费看网站 | 超碰99人人 | 99精品视频免费看 | 五月婷婷在线视频观看 | 成 人 黄 色 视频播放1 | 久久午夜国产精品 | 国语对白少妇爽91 | 天天综合精品 | 亚洲中字幕 | 五月婷婷在线观看 | 国产美女主播精品一区二区三区 | 亚洲精品国偷自产在线99热 | 丁香视频免费观看 | 久久久精品国产免费观看一区二区 | 91在线国产观看 | 国产亚洲精品无 | 婷婷久久一区 | 丁香婷婷综合色啪 | 99久久免费看 | 久久夜色精品国产欧美一区麻豆 | 亚洲精品 在线视频 | 欧美一级日韩三级 | 国产群p| 亚洲精品黄网站 | 韩国视频一区二区三区 | 欧美国产大片 | 免费a v观看| 欧美aa在线 | 在线观看亚洲精品视频 | 欧美日本不卡 | 亚洲国产精品成人精品 | 伊人色综合网 | 日本久久久久久久久 | 国产美女黄网站免费 | 狠狠干夜夜操天天爽 | 成人精品一区二区三区电影免费 | 亚洲精欧美一区二区精品 | 欧美日韩性视频在线 | 久久久精品电影 | 久久99视频免费 | 免费网站在线观看成人 | 精品久久影院 | 日夜夜精品视频 | 人人射人人爱 | 国产美女久久久 | av中文字幕第一页 | 黄色毛片观看 | 91精品啪| 日日干天天爽 | 久久99久久久久久 | 免费黄av | 成年人免费在线观看网站 | 99热这里精品 | 九九久久影院 | 人人添人人澡人人澡人人人爽 | 中文字幕 在线 一 二 | 天堂v中文 | 天天操网| 中文字幕第一页av | 天天射天天做 | 99久久精品国 | 97免费在线观看视频 | 91桃色视频 | 久久久国产在线视频 | 欧美 日韩 视频 | 久久深夜福利免费观看 | 国产精品久久久久久久久久久不卡 | 国产伦精品一区二区三区四区视频 | 日韩中文字幕在线看 | 精品视频在线播放 | 亚洲日本三级 | 999精品| 国产精品成人久久久久久久 | 欧美专区日韩专区 | 国产特级毛片aaaaaa | 欧美另类美少妇69xxxx | 国产美腿白丝袜足在线av | 美女黄网久久 | 久久免费视频2 | 91电影福利| 久久手机精品视频 | 久久精品这里都是精品 | 97在线公开视频 | 国产精品18久久久久久首页狼 | 黄色亚洲精品 | 国产1区2区3区在线 亚洲自拍偷拍色图 | 久操综合| 久久久久亚洲精品成人网小说 | 色婷婷色| 亚洲久在线 | 欧美日韩国产亚洲乱码字幕 | 最近免费中文字幕 | 91成人在线视频观看 | 久久免费毛片 | 久久久麻豆精品一区二区 | 亚洲欧美日韩中文在线 | japanesexxxxfreehd乱熟 | 夜夜躁狠狠躁日日躁视频黑人 | 夜夜操综合网 | 韩国av不卡 | 久久黄色精品视频 | 天天天干天天射天天天操 | 国产视频久久久 | 久久国产一区二区三区 | 最近最新mv字幕免费观看 | 国产精品免费在线观看视频 | 国产美女网站视频 | 国产精品美女久久久久久久久 | 麻豆视频免费入口 | 精品国产乱码久久 | 国产成人免费高清 | 在线成人国产 | 国产精品一区二区三区观看 | 日韩美女久久 | 欧美日韩不卡一区 | 中文字幕精品一区二区三区电影 | 99热精品国产一区二区在线观看 | 一级成人在线 | 国产精品久久久久久久久久久久午 | 亚洲婷婷丁香 | 国产精品观看在线亚洲人成网 | 亚洲成人av一区 | 日韩免费视频观看 | 天天草天天色 | 91九色porny蝌蚪主页 | 一级性视频 | 一区二区精品视频 | 男女免费视频观看 | 丰满少妇对白在线偷拍 | 香蕉视频在线视频 | 中文在线免费一区三区 | 国产99久久精品一区二区300 | 91成年人视频 | 五月婷婷在线播放 | 日韩理论电影在线观看 | 国产午夜三级一区二区三 | 欧美亚洲成人xxx | 日韩精品免费 | 国产精品成人免费一区久久羞羞 | 视频二区在线视频 | 少妇性bbb搡bbb爽爽爽欧美 | 免费91麻豆精品国产自产在线观看 | 国产不卡视频在线播放 | 国内精品99| 日韩色一区二区三区 | 欧美色插| 一本大道久久精品懂色aⅴ 五月婷社区 | 中文字幕网站视频在线 | 中文字幕乱码电影 | a在线观看免费视频 | 91在线影院 | 久久久久久久久毛片精品 | 久久成熟 | 在线三级av | 国产视频一二三 | www激情久久 | 99免费| 色婷婷a| 日日夜夜亚洲 | 久草在线视频新 | 日本黄色片一区二区 | 国产精品网站一区二区三区 | 久草在在线视频 | av综合在线观看 | 国产精品1区2区在线观看 | 久久99精品国产99久久 | 在线视频你懂得 | 成人免费视频播放 | 婷婷中文字幕综合 | 国产黄色网 | 国产成人一级电影 | 天天射夜夜爽 | 亚洲伦理一区二区 | 久久免费精品一区二区三区 | 91九色成人 | 成人蜜桃 | 天天躁日日躁狠狠躁 | 国产福利专区 | 国产成人高清av | 日本三级不卡视频 | 国内丰满少妇猛烈精品播放 | 日韩成人精品一区二区三区 | 男女全黄一级一级高潮免费看 | 久久久污| 亚洲成人黄色网址 | 五月天久久婷 | 日本精品久久久久中文字幕5 | 国产精品成久久久久三级 | 国产成人精品av久久 | 美腿丝袜av | 亚洲成色777777在线观看影院 | 一区二区视频在线免费观看 | 日韩精品视频免费在线观看 | 色综合久久综合中文综合网 | 91丨九色丨高潮 | av亚洲产国偷v产偷v自拍小说 | 在线网址你懂得 | 在线黄色国产电影 | 最近高清中文字幕在线国语5 | 伊人天天干| 亚洲免费av在线 | 亚洲精品久久久蜜臀下载官网 | 日韩乱码中文字幕 | 国产一区欧美一区 | 九色91福利 | 亚洲国产美女精品久久久久∴ | 超碰97人人在线 | 欧美日韩中文国产一区发布 | 国产精品久久久久久久久婷婷 | 亚洲精品视频在线观看免费视频 | 国产日韩精品一区二区三区 | 久久96国产精品久久99漫画 | 免费黄色在线播放 | 久黄色 | av电影亚洲 | 色婷丁香| 欧美在线91| 欧美激情视频一二区 | 国产片免费在线观看视频 | 天天操天天谢 | 亚洲永久精品在线 | 三级毛片视频 | 婷婷综合久久 | 中文在线www | 玖玖玖精品 | 国产高清不卡一区二区三区 | 中文字幕免费播放 | 国产又粗又硬又爽视频 | 丁香六月激情婷婷 | 日本少妇高清做爰视频 | 狠狠干天天色 | 免费观看一级特黄欧美大片 | 天天综合成人网 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 久久在线免费 | 国产精品中文字幕在线 | 亚洲国产剧情 | av在线一二三区 | 久草亚洲视频 | 中文字幕一区二区三区在线视频 | 国产精彩视频一区 | 国产精品一区二区三区在线免费观看 | 一区二区视频在线免费观看 | 97品白浆高清久久久久久 | 久久亚洲热 | 国产视频在线免费观看 | 国产精品 美女 | 国产高清在线视频 | 国内精品中文字幕 | 国产一二区视频 | 精品国产不卡 | 久久天堂亚洲 | 中文字幕中文字幕中文字幕 | 日韩免费久久 | 男女拍拍免费视频 | 久久国产精品99精国产 | 国产特级毛片aaaaaa高清 | 九九久久免费视频 | 午夜久久久久久久久久久 | 国产1区2区3区精品美女 | 国内精品美女在线观看 | 96国产在线 | 日韩精品视频在线免费观看 | 97国产大学生情侣酒店的特点 | 在线观看视频中文字幕 | a天堂在线看 | 色婷婷亚洲婷婷 | 欧美午夜a | 婷婷综合伊人 | 免费三级骚 | 五月婷婷黄色网 | 日韩电影黄色 | 色在线视频网 | 91资源在线| 在线观看久草 | 亚洲黄色软件 | 成年人视频在线免费观看 | 久久久免费在线观看 | 免费av成人在线 | 四虎影视精品永久在线观看 | 国语精品久久 | av在线免费不卡 | 日韩欧美高清视频在线观看 | 五月天,com| 美女视频免费精品 | 999久久久免费精品国产 | 久久精品这里都是精品 | 亚洲在线黄色 | 欧美 国产 视频 | 亚洲女同ⅹxx女同tv | 久久久精品影视 | 国产亚洲精品美女久久 | 97精品国产97久久久久久久久久久久 | 91麻豆精品国产91久久久使用方法 | 五月婷婷av在线 | 亚洲成av人片在线观看 | 欧美成年黄网站色视频 | 热久久免费视频精品 | 视频福利在线 | 久久久久久免费毛片精品 | 四虎www.| 手机在线小视频 | 国产精品一区欧美 | 婷婷中文字幕 | 四虎影视成人永久免费观看视频 | 九九精品久久 | 日本中文字幕电影在线免费观看 | 国产色影院| 中文字幕成人一区 | www.福利视频 | 蜜臀av在线一区二区三区 | 一区二区三区视频网站 | 亚洲h在线播放在线观看h | 成人精品99 | 91大神电影 | 国产精品免费不 | 天天干天天干天天干天天干天天干天天干 | 手机成人av | 久草在线看片 | www.日日日.com | 色夜影院 | 91在线观| 五月天激情视频在线观看 | 人人爱夜夜操 | 在线观看免费91 | 99精品国产免费久久 | av在线免费网 | 成人毛片一区 | 四虎影视欧美 | 欧美激情综合五月色丁香小说 | 欧美污网站 | 中文字幕乱在线伦视频中文字幕乱码在线 | 国产三级视频在线 | 97免费在线观看视频 | 午夜影视av | 国产区在线视频 | 99 精品 在线 | 天天色天天爱天天射综合 | 97在线影院| 天天天射 | 久久久久免费精品视频 | 伊人婷婷网 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 欧美国产精品久久久久久免费 | 五月婷婷爱 | 久久久久国产精品www | 人人dvd | 91成人在线观看高潮 | 极品美女被弄高潮视频网站 | 亚洲国产精品传媒在线观看 | 玖玖玖影院 | 日本在线观看中文字幕 | 三级黄在线 | 天天躁天天狠天天透 | 亚洲最大av在线播放 | 一区二区三区在线观看免费 | 亚洲一级理论片 | 久草热久草视频 | 国产中文字幕免费 | 日韩一区二区久久 | 欧美一区二区三区在线视频观看 | 午夜精品导航 | 免费日韩在线 | 97在线精品国自产拍中文 | 欧美一级视频在线观看 | 亚洲小视频在线观看 | 玖操| 青草视频在线播放 | 欧美在线18| 免费看黄的视频 | 蜜臀av网站 | 久久久免费 | 啪啪免费观看网站 | 亚洲精品午夜视频 | 激情婷婷在线 | 久久爱综合 | 日韩高清在线一区二区 | av一区二区三区在线 | 在线视频 精品 | 国产一区二区三区久久久 | 99久久网站 | 免费在线观看国产黄 | 欧美日韩视频在线观看免费 | 日韩视频中文字幕在线观看 | 免费成人看片 | 国产五十路毛片 | 国产区免费| 亚洲国产精品999 | 成人九九视频 | 欧美日韩在线播放一区 | 99精品在线视频播放 | 日韩欧美高清一区二区三区 | 午夜美女福利 | 亚洲91精品在线观看 | 九色自拍视频 | 国产99爱 | 色999五月色 | 欧美日韩精| 在线日韩亚洲 | 日本久久视频 | 人操人| 久久国产精品视频免费看 | 久久艹国产视频 | 国产一区二区三区高清播放 | 国产精品成人国产乱 | 麻豆视频在线观看免费 | 久久视频免费观看 | 日韩中文字幕免费在线观看 | 狠狠插天天干 | 五月婷婷av在线 | 欧美精品在线观看一区 | 国产精品99久久久精品 | 日韩免费三级 | 久久蜜桃av | 九九久久久久久久久激情 | 久久免费黄色大片 | 日韩免费视频在线观看 | 亚洲色图22p | 日韩中文字幕免费视频 | 91精品一区二区三区久久久久久 | 久碰视频在线观看 | 久久精品五月 | 91精选在线观看 | 十八岁免进欧美 | av免费网站在线观看 | 91亚洲精| 免费看色的网站 | 欧美日韩一区二区久久 | 国产字幕在线播放 | 国产精品麻 | 午夜精品视频免费在线观看 | 国内少妇自拍视频一区 | 午夜av日韩 | 欧美日韩国产伦理 | 特级西西444www大胆高清无视频 | 日韩手机视频 | 日韩av资源站| 五月激情久久 | 日韩在线播放av | 日韩精品aaa | 色在线中文字幕 | 麻豆传媒在线免费看 | 狠狠地操 | 成人久久免费 | 国产成人精品综合久久久久99 | 九九久久免费视频 | 天天色成人网 | 国产视频久久久久 | 国内外成人免费在线视频 | 黄色小说在线免费观看 | 成年人黄色大片在线 | 国产一级免费观看视频 | ,久久福利影视 | 一区二区中文字幕在线 | 欧美天天射 | 九九九热 | 天天操天天摸天天干 | 免费看高清毛片 | 亚洲精品美女久久久久网站 | 久久视频免费在线观看 | 99自拍视频在线观看 | 五月婷婷丁香综合 | 噜噜色官网 | 久久久精品福利视频 | 免费高清在线观看电视网站 | 91亚洲精品久久久 | 亚洲精品白浆高清久久久久久 | 色久av | 久久精品视频日本 | 日本黄色免费看 | www.成人久久 | 四虎国产| 一区二区三区在线免费观看 | 久久日韩精品 | 91探花国产综合在线精品 | 久久艹欧美 | 国产一区播放 | 日本精品xxxx | av爱干| 日本高清免费中文字幕 | 91黄色在线观看 | 国产一级视频在线免费观看 | 丁香婷婷在线观看 | 欧美日本不卡 | 亚洲影院一区 | 色av网站 | 国产精品一区二区久久精品爱微奶 | 91丨porny丨九色 | 日本激情视频中文字幕 | 亚洲狠狠婷婷综合久久久 | 国产精品久久久一区二区 | 亚洲黄色免费在线看 | 久久91久久久久麻豆精品 | 国产精品福利无圣光在线一区 | 久久国产精品99久久人人澡 | 日韩精品久久中文字幕 | 久久久男人的天堂 | 日本久久久久久 | av中文资源在线 | 午夜精品久久久久久久99婷婷 | 日韩不卡高清视频 | 97精品伊人 | 久久夜色精品国产欧美乱 | 国产在线v| 黄av免费| 日韩激情在线 | 久久99精品一区二区三区三区 | 国产精品免费看 | 国产黄色精品 | 亚洲精品国精品久久99热 | 中文字幕一区二区三区在线播放 | 韩日电影在线 | 超碰免费公开 | 久久久久久久国产精品视频 | 2024av| 探花视频免费观看高清视频 | 国产精品成人国产乱一区 | 久久ww| 91视频首页| 激情综合色综合久久综合 | 国产精品中文久久久久久久 | 三级黄色理论片 | 久久久av电影 | 91亚洲激情 | 国产香蕉久久 | 日韩性久久 | 日韩中文字幕免费看 | 国产一二三四在线观看视频 | 国产精品一区二区白浆 | 欧洲一区二区在线观看 | 超碰97.com| 久久影院午夜论 | 99热最新 | 91视频午夜| 国模吧一区 | 亚洲综合视频在线观看 | 亚洲人成在线观看 | 欧美特一级片 | 中文字幕一区二区三区在线观看 | 久久超碰免费 | 亚洲精品资源在线 | 国产一级在线 | 日韩网站在线 | 国产一区二区精品久久 | 5月丁香婷婷综合 | 久草综合在线观看 | 97超碰国产精品 | 久久国产二区 | 午夜 在线 | 国产精品免费一区二区三区 | 日韩va亚洲va欧美va久久 | 国产中文字幕视频 | 亚洲色图美腿丝袜 | 国产精品区一区 | 狠狠操综合网 | 四虎国产精品成人免费影视 | 麻豆久久久久 | 99c视频在线| 国产精品video爽爽爽爽 | 亚洲成a人片77777潘金莲 | 81精品国产乱码久久久久久 | 国产精品国产三级国产aⅴ入口 | 人人干人人搞 | 久久综合给合久久狠狠色 | 中文字幕888 | 黄色毛片在线 | 欧美夫妻生活视频 | 久久国产剧场电影 | 国产精品视频久久久 | 久久久久久久久久久久亚洲 | 午夜视频在线网站 | 精品国产欧美一区二区 | 香蕉91视频 | 国产精品国产三级国产 | 一本一本久久a久久精品综合妖精 | 欧美一级片播放 | 欧美一级性生活 | 91亚色视频 | 97超视频免费观看 | 天天操天天舔天天干 | 国产精品欧美一区二区三区不卡 | 一级黄视频 | 在线观看国产 | 久草网在线| 激情电影影院 | 夜夜干夜夜 | 久国产在线播放 | 在线精品亚洲 | 在线看污网站 | 成 人 黄 色 片 在线播放 | 97色涩 | 黄色av免费电影 | 天天天天色综合 | 日韩亚洲在线视频 | 麻豆免费在线视频 | 中日韩欧美精彩视频 | 69av网| 国产不卡毛片 | 亚洲视频网站在线观看 | 婷婷去俺也去六月色 | 香蕉视频国产在线观看 | 九九有精品 | 三级视频国产 | 亚洲影视九九影院在线观看 | 亚洲精选视频在线 | 日韩乱色精品一区二区 | 成人免费共享视频 | 精品国产一二三四区 | 国产精品18久久久久久不卡孕妇 | 99久久99久久免费精品蜜臀 | 综合中文字幕 | 国产精品第一页在线 | 亚州精品一二三区 | 国产精久久久久久妇女av | 国产精品三级视频 | 激情欧美一区二区三区免费看 | 97超碰在线人人 | 日韩中文字幕在线观看 | 亚洲精品电影在线 | 亚洲va韩国va欧美va精四季 | 亚洲综合色网站 | 五月婷婷操 | 天天操天天操天天爽 | 操操操com | 亚洲六月丁香色婷婷综合久久 | 夜夜躁天天躁很躁波 | 中文字幕第 | 午夜视频99 | 欧美精品v国产精品 | 国产无限资源在线观看 | 久久午夜电影 | 四虎成人在线 | 亚洲午夜大片 | a天堂在线看| 久久精品观看 | 久久小视频 | 丁香视频在线观看 | 久久经典视频 | 国产精品第54页 | 女人久久久久 | 国内精品久久久久国产 | 久久福利在线 | 亚洲欧洲一区二区在线观看 | 久久综合欧美 | 国内外成人在线视频 | 色综合久久精品 | av视屏在线播放 | 精品久久久久久久久亚洲 | 91最新在线| 久久久受www免费人成 | 久久精品这里热有精品 | 亚洲一区尤物 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 日韩免费网站 | 国产黄色av影视 | 国产精成人品免费观看 | 欧美a级成人淫片免费看 | 97天天综合网 | 久久久久久久18 | 人人干人人搞 | 粉嫩av一区二区三区四区 | 最新免费av在线 | 中文乱码视频在线观看 | 亚洲国产美女精品久久久久∴ | 中文字幕成人在线观看 | 伊人天堂av | 91亚洲国产成人久久精品网站 | 91禁看片| 天堂在线一区 | 国产无遮挡又黄又爽馒头漫画 | 免费成人结看片 | 国产香蕉视频在线播放 | 中文字幕一区二区三区久久 | 婷婷精品国产欧美精品亚洲人人爽 | 爱干视频 | 日韩三级视频在线观看 | 伊人超碰在线 | 久久有精品 | 久久国产精品免费一区 | 激情婷婷在线观看 | 91九色porny蝌蚪主页 | 在线观看成人av | 国产黄色一级大片 | 久久婷婷丁香 | 亚洲情影院 | 日韩中文字幕免费在线观看 | 久久好看免费视频 | 国产成人一区二区三区久久精品 | 久久久久免费看 | 黄网站色欧美视频 | 麻豆视频网址 | 国产在线精品国自产拍影院 | 精品久久久久久久久久久久久久久久 | 日韩电影久久 | 97色婷婷人人爽人人 | 日本精品久久久久影院 | 欧美日韩高清一区二区 国产亚洲免费看 | 国产99久久久久 | 三级黄色片子 | 五月开心激情网 | 成人黄色小说在线观看 | 一级黄色片在线免费看 | 天天做日日做天天爽视频免费 | 精品高清美女精品国产区 | 在线成人观看 | 九九视频一区 | 久久超碰99| 亚洲麻豆精品 | 91中文字幕在线视频 | 色婷婷视频在线观看 | 日日干天天射 | 欧美精品久久久久久久久久久 | 狠狠的干狠狠的操 | 91一区二区三区在线观看 | av在线电影免费观看 | 久久精品精品 | 天天色草 | 黄色亚洲免费 | 午夜av影院 | 久久99精品国产 | 色婷婷激婷婷情综天天 | 国产一区二区三区在线 | 欧美粗又大 | 久久久久久久久福利 | 久久久五月天 | 久久精品91久久久久久再现 | 亚洲精品色婷婷 | 日韩网站中文字幕 | 天堂av高清 | 91麻豆精品国产自产在线游戏 | 激情五月六月婷婷 | 久久精品亚洲国产 | 欧美日韩不卡一区二区 | 日韩大片免费在线观看 | 在线免费观看麻豆视频 | 国产精品2020 | 98久9在线 | 免费 | 超碰国产在线 | 欧美极品少妇xxxx | 久久成人亚洲欧美电影 | 久久乐九色婷婷综合色狠狠182 | 日本高清免费中文字幕 | 久久无码av一区二区三区电影网 | av日韩精品 | 免费成人在线观看视频 | 91亚洲精品久久久 | 亚洲精品电影在线 | 一级性生活片 | 国产成人免费观看久久久 | 成人在线免费看视频 | 成人国产亚洲 | 亚洲高清视频一区二区三区 | 手机在线看a | 精品亚洲免费 | 91精品国产乱码久久桃 | 免费观看午夜视频 | 91视视频在线直接观看在线看网页在线看 | 亚洲少妇影院 | 日日操网站 | 久久久精品久久 | 久久不卡视频 | 久久伊人国产精品 | 欧美激情操 | 天天综合网天天综合色 | 国产成人久久精品一区二区三区 | 久久爽久久爽久久av东京爽 | 久久女同性恋中文字幕 | 天操夜夜操 | 精品国产乱码一区二区三区在线 | 97国产小视频 | 国产网红在线 | 五月开心网 | 国产91影院| 美女黄频视频大全 | 国产精品美女视频 | 亚洲在线色 | 五月香视频在线观看 | 久久九九影院 | 国产群p视频| 97视频在线免费 | 天堂av在线网 | 97电影网站| 91久久精| 99精品免费观看 | 久久久久久久久久久久久久电影 | 黄色一级片视频 | 亚洲午夜av久久乱码 | 4438全国亚洲精品观看视频 | av网站地址 | 免费亚洲精品 | 精品国产精品一区二区夜夜嗨 | 久香蕉| 国产精品视频大全 | 日本性久久| 99久久精品无免国产免费 |