WebContents가 생성되고 destory될때라고 짐작해볼수 있겠지만 확답은 할수없다.
최근에 https://codereview.chromium.org/1413923002/ 패치를 구현하면서 알게된 내용을 정리하고자 한다.
https://codereview.chromium.org/1413923002/ 는 chrome.tabs.onUpdate() API에 document.title이 변경될때 호출되도록 하는 패치인데 contents::WebContentsObserver를 사용하도록 리팩토링하였다.
로드의 시작: WebContents::Observer::NavigationEntryCommitted()
로드의 끝: TabStripModelObserver::TabChangedAt()
그리고 web_contents()->IsLoading == false 일때
왜 아래 함수들을 쓰지않았을까?
virtual void DidStartLoading() {} virtual void DidStopLoading() {}
virtual void DidFinishLoad(RenderFrameHost* render_frame_host,
이유는 iframe과 같이 여러 webcontents로 구성된 페이지는 해당 함수가 여러번 호출되기 때문이다. 사용자가 느낄때는 하나의 페이지인데 여러번 호출될 필요는 없지않은가?
No comments:
Post a Comment