diff options
-rw-r--r-- | content/renderer/render_frame_impl.cc | 2 | ||||
-rw-r--r-- | content/renderer/render_view_impl.cc | 10 | ||||
-rw-r--r-- | content/renderer/render_view_impl.h | 2 |
3 files changed, 10 insertions, 4 deletions
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc index 5412929..3a30087 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc @@ -592,7 +592,7 @@ void RenderFrameImpl::OnNavigate(const FrameMsg_Navigate_Params& params) { // We refresh timezone when a view is swapped in since timezone // can get out of sync when the system timezone is updated while // the view is swapped out. - RenderViewImpl::NotifyTimezoneChange(); + RenderViewImpl::NotifyTimezoneChange(render_view_->webview()->mainFrame()); render_view_->SetSwappedOut(false); is_swapped_out_ = false; diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc index d12b0ee..296fce9 100644 --- a/content/renderer/render_view_impl.cc +++ b/content/renderer/render_view_impl.cc @@ -379,8 +379,13 @@ Referrer RenderViewImpl::GetReferrerFromRequest( } // static -void RenderViewImpl::NotifyTimezoneChange() { +void RenderViewImpl::NotifyTimezoneChange(blink::WebFrame* frame) { + v8::HandleScope handle_scope(v8::Isolate::GetCurrent()); + v8::Context::Scope context_scope(frame->mainWorldScriptContext()); v8::Date::DateTimeConfigurationChangeNotification(v8::Isolate::GetCurrent()); + blink::WebFrame* child = frame->firstChild(); + for (; child; child = child->nextSibling()) + NotifyTimezoneChange(child); } // static @@ -3773,7 +3778,8 @@ void RenderViewImpl::OnUpdateWebPreferences(const WebPreferences& prefs) { } void RenderViewImpl::OnUpdateTimezone() { - NotifyTimezoneChange(); + if (webview()) + NotifyTimezoneChange(webview()->mainFrame()); } void RenderViewImpl::OnEnumerateDirectoryResponse( diff --git a/content/renderer/render_view_impl.h b/content/renderer/render_view_impl.h index 540c91f..edae802 100644 --- a/content/renderer/render_view_impl.h +++ b/content/renderer/render_view_impl.h @@ -798,7 +798,7 @@ class CONTENT_EXPORT RenderViewImpl blink::WebFrame* frame, const blink::WebURLRequest& request); - static void NotifyTimezoneChange(); + static void NotifyTimezoneChange(blink::WebFrame* frame); static WindowOpenDisposition NavigationPolicyToDisposition( blink::WebNavigationPolicy policy); |