2013-01-04 4 views
1

WebKit 소스 코드 및 문서에서는 프런트 엔드 디스플레이에 사용되는 특정 클래스를 설명하기 위해 종종 "Chrome 클라이언트"라는 용어를 사용합니다. Google 크롬 포트와 관련이없는 것처럼 'Chrome'이라는 용어가 혼란스러워합니다. "크롬"과 "클라이언트"라는 검색어가 필연적으로 Google 크롬 브라우저와 관련된 results을 불러 오거나 WebKit 소스 코드에 대한 링크를 제공하기 때문에 웹상의 어떤 정보도 검색하기가 어렵습니다.WebKit과 관련하여 "Chrome 클라이언트"란 무엇입니까?

누구나 Chrome 클라이언트가 무엇이며이 상황에서 "Chrome"이 무엇을 의미하는지 설명 할 수 있습니까?

+2

"Chrome"은 사용자가 방문하는 페이지에서 파생되지 않은 사용자 인터페이스 요소를 설명하는 데 자주 사용됩니다 (브라우저 프로그램 자체에서 제공됨). 더 구체적인 설명을 위해 어쩌면 당신이 사용한 용어를 본 장소 중 하나에 대한 링크를 제공 할 수 있습니까? – SingleNegationElimination

답변

5

ChromeClient은 WebCore가 WebCore 위에 구축 된 여러 WebKit API 레이어와 상호 작용할 때 사용하는 추상 인터페이스입니다. 이 기능은 특정 웹 코어 Page이 포함 된보기의 사용자 인터페이스 (일명 "크롬") 측면을 중심으로합니다. 이러한 추상화는 WebCore 위에 여러 개의 별도 API 레이어가 구축되어 있으며 동일한 OS에서 실행되는 API 레이어간에 각 API 레이어가 사용자 인터페이스를 처리하는 방식이 서로 다르기 때문에 중요합니다 (예 : WebKit 및 WebKit2는 매우 다른 요구 사항을 가지고 있습니다).

예를 들어, 은 JavaScript alert 함수에 의해 호출됩니다. runJavaScriptAlert for the Cocoa WebView class의 구현은 예상대로 적절하게 WebUIDelegate 메소드를 호출합니다. 툴팁 표시와 같은 다른 경우는 WebView의 대리자를 직접 사용하지 않고 직접 ChromeClient 콘크리트로 처리됩니다.

-1

웹킷은 사파리와 크롬에서 사용되는 렌더링 엔진을 렌더링하는 웹 브라우저입니다 (다른 것들 중에서도 이것은 인기있는 것들입니다).

CSS 셀렉터의 -webkit 접두사는이 엔진 만 처리하려고하는 속성으로, -moz 속성과 매우 유사합니다. 우리 중 많은 사람들은 이것이 사라지기를 바라고 있습니다. 예를 들어 -webkit-border-radius는 표준 border-radius로 대체 될 것이고 여러 브라우저에서 동일한 규칙에 대해 여러 규칙을 적용하지 않아도됩니다. 이것은 실제로 올 때 표준 버전을 방해하지 않으려는 "사전 지정"기능의 결과입니다.

업데이트 : ... 아니, IE와 관련이 없습니다. 적어도 IE 9는 다른 렌더링 엔진 인 Trident를 사용합니다.

1

ChomeClient는 경고, 팝업 창, 프롬프트, 창 (window.open)과 같은 GUI 요소를 WebKit 포트에 표시하는 것을 위임하는 인터페이스입니다.

는 기본적으로 우리는

각 웹킷 포트는 ChromeClient의 interaface를 재정 의하여 자신의 구현을 제공하는 등 .. 윈도우의 일부를 무효화를 통해 다시 칠 요청, 스크롤과 같은 창 관련 작업을 말할 수있다. 예를 들어 Qt에 ChromeClientQt.h이있을 수 있습니다. & ChromeClientQt.cpp & GTK에 ChromeClientGTk.h & ChromeClientGTk.cpp가있을 수 있습니다.

+0

왜 -1인지 알 수 있습니까? 그것은 완전히 부적절한가요? 이전 저자의 의견보다 더 관련이 없습니까? –

관련 문제