update web view from UI thread