// Copyright 2015 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "content/public/browser/navigation_handle.h" #include #include "content/browser/frame_host/navigation_handle_impl.h" #include "content/browser/frame_host/navigator.h" #include "content/browser/frame_host/render_frame_host_impl.h" #include "content/browser/web_contents/web_contents_impl.h" namespace content { WebContents* NavigationHandle::GetWebContents() { // The NavigationHandleImpl cannot access the WebContentsImpl as it would be // a layering violation, hence the cast here. return static_cast( static_cast(this)->GetDelegate()); } // static scoped_ptr NavigationHandle::CreateNavigationHandleForTesting( const GURL& url, RenderFrameHost* render_frame_host) { scoped_ptr handle_impl = NavigationHandleImpl::Create( url, static_cast(render_frame_host)->frame_tree_node(), false, // is_synchronous false, // is_srcdoc base::TimeTicks::Now(), 0); return scoped_ptr(std::move(handle_impl)); } } // namespace content