페이지

2011년 6월 5일 일요일

WebKit의 웹표준 구현 현황


지난 달에 제 6차  W3C  HTML5 KIG Meeting에 처음으로 참석하게 되었다.  이 모임은 국내HTML5 표준화에 관심을 갖는 분들이 모여 HTML5 표준화 현황을 나누고 논의하는 자리이다.  이번 모임에서는 HTML5 Web App, Device API, Navigation Timing Spec에 대한 소개가 진행되었는데실제 WebKit에서 어떻게 지원되고 있는지  간단하게 정리해보았다.


Custom scheme and content handlers

브라우저에서 사용하는 Protocol이나 mimetype을 임의로 등록하여 특정 URL에서 처리하도록 하는 기능이다, http://, ftp://와 같은 Protocol을 브라우저에 임의로 등록할  수고 있고이를Protocol로 요청이 들어오면 특정 URL이 처리할 수 있도록 한다아래와 같은 인터페이스를 지원하고 있고, 실제 Spec은 여기서 확인할 수 있다.
window.navigator.registerProtocalHandler(scheme, url, title)
window.navigator.registerContentHandler(mineType, url, title)
) navigator.registerContentHandler('application/x-soup', 'soup?url=%s', 'SoupWeb'')

위 Feature는 WebKit에 구현되어 있지만아래와 같이  Build할 때, enable해야 사용할 수 있다하지만아직은 Chromium에서만 지원하는 듯 보인다.
WebKit/Tools/Scripts/build-webkit --register-protocol-handler
실제 구현은 된 초기patch는 여기서 확인 가능하다. 최근이미 사용 중인 protocol에 blacklist 를 각 브라우저 개발 업체로 부터 수집하였고이에 대한 처리가 WebKit에 반영되었다.

AddSearchProvider

Search Box에 검색 엔진을 등록하는 기능인데이 역할을 UI에서 할지 Engine에서 해야할지 아직 논란이 있다이미 IE와 Firefox에서 지원하고 있지만, WebKit Community내에서는 합의가 필요한 상태다.
지원하는 interface 는 다음과 같다
window.external.AddSearchProvider()window.external.IsSearchProviderInstalled()
whatwg에 다음과 같이 제안이 이루어졌고,
WebKit에도 오래전에 버그로 등록은 되어 있지만현재로서는 구현 계획이 없다.
그러면, 브라우저에서는 어떻게 사용하는지 살펴보자.
Google에서 WebKit에 반영하도록 노력한다고 하니진행 과정을 지켜봐야겠다.
 

HTML Media Capture

Device API Spec은 특히 Mobile분야에서 관심이 많은데, Web App과 Native App간의 경계를 허무는 작업이라고도 할 수 있다그 중에서 HTML Media Capture Spec은 User Agent에서 devicemicrophone과 camera에 접근하도록 한다현재 WebKit에는 버그만 등록된 상태이다.


Navigation Timing

지금까지 웹 성능을 측정하는 일은 브라우저 개발자만이 가능한 일이였다. 브라우저 개발자도 HTTP 모듈까지 소스코드로 접근해야만 어느 정도 측정이 가능했었는데, 이를 웹 개발자도 가능하도록 Navigation Timing이라는 Spec이 표준화 중에 있으며, 이미 Chromium은 지원하고 있고, 데모 페이지에서 테스트할 수 있다. 이를 통해 Page를 요청하여 로딩하는 전 과정에서 얼마나 시간이 걸리는지 단계별로 Profiling 할 수 있게 된다. 현재, GTK+ portQT port에서 이를 구현하고 있다.

앞으로 매달 열리는 HTML5 KIG Meeting에서 논의된 웹표준 내용을 가운데, WebKit에서 얼마만큼 구현하고 있는 소개할 예정이다.


참고

댓글 없음:

댓글 쓰기