WebView にあった各種 delegate は Cocoa の流儀で実装されていたのでやりやすかったのだけど WKView ではそれがなくなってしまい、泣いてました。これができるかどうかが SafariStand にとって死活問題。 WebKit2 では delegate ではなく WKPageXxxClient という呼び方になっている。Objective-C クラスではなく関数をまとめた構造体。setter はあるが getter がないため元の値を取っておくのが難しい。WebKit2 側の保存場所をつきとめるか、Safari 側の呼び出しを捉えるか。で、前者が見つかったので対応してみる。 WKView → WKViewData → webPageProxy と辿ると、Client の構造体を捕まえられる。この関数ポインタを自前のものと置き換えればOKのようだった。Objectiv
![d.hetima](https://cdn-ak-scissors.b.st-hatena.com/image/square/5be3cb46fadfbfb1196715f1a26c70571828d86e/height=288;version=1;width=512/http%3A%2F%2Fwww.st-hatena.com%2Fusers%2Fhe%2Fhetima%2Fuser_p.gif%3F)