Friday, February 25, 2011

在webview裡用iframe

之前在android上 試著用WebView來load一個我自己的html
而這個html裡面就一個簡單的iframe會去load google.com的page

但發現這個page一直不能被load進iframe
研究了webkit許久後

才發現
http://android.git.kernel.org/?p=platform/external/webkit.git;a=blob;f=WebCore/loader/MainResourceLoader.cpp;h=3e75880483e2a772d05be1a9ab04542c6d53cc34;hb=2943c136f14cf8d0631249dd8764a0b6ab45fb98#l316
是這裡cancel掉

而原因是http-header裡有著
x-frame-options:SAMEORIGIN

而load的page(google.com) 跟原本這個html(我自己的test html)的origin並不一樣(host)
所以造成了iframe裡的google一直load不進來

Thursday, February 17, 2011

Android Webkit enable SVG

想要在android上的webkit enable SVG
看了 http://code.google.com/p/android/issues/detail?id=1376 後

拿裡面這個patch來build
除了要ENABLE_SVG=1 ENABLE_SVG_ANIMATION=1 (也可用在buildspec裡)外
發現一直有compile error,  animateTag undefined之類的

然後把make_names.pl裡面的SVG_FLAGS印出來
發現真的少了ENABLE_SVG_ANIMATION

就在花了很多時間在看是make沒處理好還是perl
怎麼找都找不出問題
最後把他clean後再build一次

就ok了...............................XD

Friday, February 11, 2011

Android webkit裡的GIF Animation

大家一直在吵說android的webkit到底有沒有support animate GIF
有的人說有 有的人說沒有

雖然在config.h 裡  是有define ANDROID_ANIMATED_GIF
但其實關鍵是在ANDROID_LARGE_MEMORY_DEVICE

而這個option只有在比較後面的device 才有enable, 像nexus one
http://android.git.kernel.org/?p=platform/external/webkit.git;a=blob;f=Android.mk;h=21f6cf4e8b7d65479cbeb741f63a17b2d94f8238;hb=HEAD#l242


而android emulator上  並不會enable這個option
參考
http://allstarschh.blogspot.com/2010/11/default-javascript-engine-on-froyo.html

所以就目前Android  2.3上只有在device上才能看到animated GIF emulator上不行

如果一定想要在emulator上跑的話
就要自己enable ANDROID_LARGE_MEMORY_DEVICE 這個option了