#[repr(C)]pub struct WebFrame { /* private fields */ }
WebFrame
only.Expand description
Every web page is represented by at least one WebFrame. A WebFrame has a WebFrameView and a WebDataSource.
See also Apple’s documentation
Implementations§
Source§impl WebFrame
impl WebFrame
Sourcepub unsafe fn initWithName_webFrameView_webView(
this: Allocated<Self>,
name: Option<&NSString>,
view: Option<&WebFrameView>,
web_view: Option<&WebView>,
) -> Option<Retained<Self>>
👎DeprecatedAvailable on crate feature WebFrameView
and crate feature WebView
and crate feature objc2-app-kit
and macOS only.
pub unsafe fn initWithName_webFrameView_webView( this: Allocated<Self>, name: Option<&NSString>, view: Option<&WebFrameView>, web_view: Option<&WebView>, ) -> Option<Retained<Self>>
WebFrameView
and crate feature WebView
and crate feature objc2-app-kit
and macOS only.The designated initializer of WebFrame.
WebFrames are normally created for you by the WebView. You should not need to invoke this method directly.
Parameter name
: The name of the frame.
Parameter view
: The WebFrameView for the frame.
Parameter webView
: The WebView that manages the frame.
Returns: Returns an initialized WebFrame.
Sourcepub unsafe fn webView(&self, mtm: MainThreadMarker) -> Option<Retained<WebView>>
👎DeprecatedAvailable on crate feature WebView
and crate feature objc2-app-kit
and macOS only.
pub unsafe fn webView(&self, mtm: MainThreadMarker) -> Option<Retained<WebView>>
WebView
and crate feature objc2-app-kit
and macOS only.The WebView for the document that includes this frame.
Sourcepub unsafe fn frameView(
&self,
mtm: MainThreadMarker,
) -> Option<Retained<WebFrameView>>
👎DeprecatedAvailable on crate feature WebFrameView
and crate feature objc2-app-kit
and macOS only.
pub unsafe fn frameView( &self, mtm: MainThreadMarker, ) -> Option<Retained<WebFrameView>>
WebFrameView
and crate feature objc2-app-kit
and macOS only.The WebFrameView for this frame.
Sourcepub unsafe fn DOMDocument(&self) -> Option<Retained<DOMDocument>>
👎DeprecatedAvailable on crate features DOMDocument
and DOMNode
and DOMObject
and WebScriptObject
only.
pub unsafe fn DOMDocument(&self) -> Option<Retained<DOMDocument>>
DOMDocument
and DOMNode
and DOMObject
and WebScriptObject
only.The DOM document of the frame. Returns nil if the frame does not contain a DOM document such as a standalone image.
Sourcepub unsafe fn frameElement(&self) -> Option<Retained<DOMHTMLElement>>
👎DeprecatedAvailable on crate features DOMElement
and DOMHTMLElement
and DOMNode
and DOMObject
and WebScriptObject
only.
pub unsafe fn frameElement(&self) -> Option<Retained<DOMHTMLElement>>
DOMElement
and DOMHTMLElement
and DOMNode
and DOMObject
and WebScriptObject
only.The frame element of the frame. The class of the result is either DOMHTMLFrameElement, DOMHTMLIFrameElement or DOMHTMLObjectElement. Returns nil if the frame is the main frame since there is no frame element for the frame in this case.
Sourcepub unsafe fn loadRequest(&self, request: Option<&NSURLRequest>)
👎Deprecated
pub unsafe fn loadRequest(&self, request: Option<&NSURLRequest>)
Parameter request
: The web request to load.
Sourcepub unsafe fn loadData_MIMEType_textEncodingName_baseURL(
&self,
data: Option<&NSData>,
mime_type: Option<&NSString>,
encoding_name: Option<&NSString>,
url: Option<&NSURL>,
)
👎Deprecated
pub unsafe fn loadData_MIMEType_textEncodingName_baseURL( &self, data: Option<&NSData>, mime_type: Option<&NSString>, encoding_name: Option<&NSString>, url: Option<&NSURL>, )
Parameter data
: The data to use for the main page of the document.
Parameter MIMEType
: The MIME type of the data.
Parameter encodingName
: The encoding of the data.
Parameter URL
: The base URL to apply to relative URLs within the document.
Sourcepub unsafe fn loadHTMLString_baseURL(
&self,
string: Option<&NSString>,
url: Option<&NSURL>,
)
👎Deprecated
pub unsafe fn loadHTMLString_baseURL( &self, string: Option<&NSString>, url: Option<&NSURL>, )
Parameter string
: The string to use for the main page of the document.
Parameter URL
: The base URL to apply to relative URLs within the document.
Sourcepub unsafe fn loadAlternateHTMLString_baseURL_forUnreachableURL(
&self,
string: Option<&NSString>,
base_url: Option<&NSURL>,
unreachable_url: Option<&NSURL>,
)
👎Deprecated
pub unsafe fn loadAlternateHTMLString_baseURL_forUnreachableURL( &self, string: Option<&NSString>, base_url: Option<&NSURL>, unreachable_url: Option<&NSURL>, )
Loads a page to display as a substitute for a URL that could not be reached.
This allows clients to display page-loading errors in the webview itself. This is typically called while processing the WebFrameLoadDelegate method -webView:didFailProvisionalLoadWithError:forFrame: or one of the WebPolicyDelegate methods -webView:decidePolicyForMIMEType:request:frame:decisionListener: or -webView:unableToImplementPolicyWithError:frame:. If it is called from within one of those three delegate methods then the back/forward list will be maintained appropriately.
Parameter string
: The string to use for the main page of the document.
Parameter baseURL
: The baseURL to apply to relative URLs within the document.
Parameter unreachableURL
: The URL for which this page will serve as alternate content.
Sourcepub unsafe fn loadArchive(&self, archive: Option<&WebArchive>)
👎DeprecatedAvailable on crate feature WebArchive
only.
pub unsafe fn loadArchive(&self, archive: Option<&WebArchive>)
WebArchive
only.Causes WebFrame to load a WebArchive.
Parameter archive
: The archive to be loaded.
Sourcepub unsafe fn dataSource(&self) -> Option<Retained<WebDataSource>>
👎DeprecatedAvailable on crate feature WebDataSource
only.
pub unsafe fn dataSource(&self) -> Option<Retained<WebDataSource>>
WebDataSource
only.The datasource for this frame.
Returns the committed data source. Will return nil if the provisional data source hasn’t yet been loaded.
Sourcepub unsafe fn provisionalDataSource(&self) -> Option<Retained<WebDataSource>>
👎DeprecatedAvailable on crate feature WebDataSource
only.
pub unsafe fn provisionalDataSource(&self) -> Option<Retained<WebDataSource>>
WebDataSource
only.The provisional datasource of this frame.
Will return the provisional data source. The provisional data source will be nil if no data source has been set on the frame, or the data source has successfully transitioned to the committed data source.
Sourcepub unsafe fn stopLoading(&self)
👎Deprecated
pub unsafe fn stopLoading(&self)
Stop any pending loads on the frame’s data source, and its children.
Sourcepub unsafe fn reload(&self)
👎Deprecated
pub unsafe fn reload(&self)
Performs HTTP/1.1 end-to-end revalidation using cache-validating conditionals if possible.
Sourcepub unsafe fn reloadFromOrigin(&self)
👎Deprecated
pub unsafe fn reloadFromOrigin(&self)
Performs HTTP/1.1 end-to-end reload.
Sourcepub unsafe fn findFrameNamed(
&self,
name: Option<&NSString>,
) -> Option<Retained<WebFrame>>
👎Deprecated
pub unsafe fn findFrameNamed( &self, name: Option<&NSString>, ) -> Option<Retained<WebFrame>>
This method returns a frame with the given name. findFrameNamed returns self for _self and _current, the parent frame for _parent and the main frame for _top. findFrameNamed returns self for _parent and _top if the receiver is the mainFrame. findFrameNamed first searches from the current frame to all descending frames then the rest of the frames in the WebView. If still not found, findFrameNamed searches the frames of the other WebViews.
Parameter name
: The name of the frame to find.
Returns: The frame matching the provided name. nil if the frame is not found.
Sourcepub unsafe fn parentFrame(&self) -> Option<Retained<WebFrame>>
👎Deprecated
pub unsafe fn parentFrame(&self) -> Option<Retained<WebFrame>>
The frame containing this frame, or nil if this is a top level frame.
Sourcepub unsafe fn childFrames(&self) -> Retained<NSArray>
👎Deprecated
pub unsafe fn childFrames(&self) -> Retained<NSArray>
An array of WebFrame.
The frames in the array are associated with a frame set or iframe.
Sourcepub unsafe fn windowObject(&self) -> Option<Retained<WebScriptObject>>
👎DeprecatedAvailable on crate feature WebScriptObject
only.
pub unsafe fn windowObject(&self) -> Option<Retained<WebScriptObject>>
WebScriptObject
only.The WebScriptObject representing the frame’s JavaScript window object.
Sourcepub unsafe fn globalContext(&self) -> JSGlobalContextRef
👎DeprecatedAvailable on crate feature objc2-javascript-core
only.
pub unsafe fn globalContext(&self) -> JSGlobalContextRef
objc2-javascript-core
only.The frame’s global JavaScript execution context.
Use this method to bridge between the WebKit and JavaScriptCore APIs.
Sourcepub unsafe fn javaScriptContext(&self) -> Option<Retained<JSContext>>
👎DeprecatedAvailable on crate feature objc2-javascript-core
only.
pub unsafe fn javaScriptContext(&self) -> Option<Retained<JSContext>>
objc2-javascript-core
only.The frame’s global JavaScript execution context.
Use this method to bridge between the WebKit and Objective-C JavaScriptCore API.
Methods from Deref<Target = NSObject>§
Sourcepub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
pub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
Handle messages the object doesn’t recognize.
See Apple’s documentation for details.
Methods from Deref<Target = AnyObject>§
Sourcepub fn class(&self) -> &'static AnyClass
pub fn class(&self) -> &'static AnyClass
Dynamically find the class of this object.
§Panics
May panic if the object is invalid (which may be the case for objects
returned from unavailable init
/new
methods).
§Example
Check that an instance of NSObject
has the precise class NSObject
.
use objc2::ClassType;
use objc2::runtime::NSObject;
let obj = NSObject::new();
assert_eq!(obj.class(), NSObject::class());
Sourcepub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
👎Deprecated: this is difficult to use correctly, use Ivar::load
instead.
pub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
Ivar::load
instead.Use Ivar::load
instead.
§Safety
The object must have an instance variable with the given name, and it
must be of type T
.
See Ivar::load_ptr
for details surrounding this.
Sourcepub fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastTarget,
pub fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastTarget,
Attempt to downcast the object to a class of type T
.
This is the reference-variant. Use Retained::downcast
if you want
to convert a retained object to another type.
§Mutable classes
Some classes have immutable and mutable variants, such as NSString
and NSMutableString
.
When some Objective-C API signature says it gives you an immutable class, it generally expects you to not mutate that, even though it may technically be mutable “under the hood”.
So using this method to convert a NSString
to a NSMutableString
,
while not unsound, is generally frowned upon unless you created the
string yourself, or the API explicitly documents the string to be
mutable.
See Apple’s documentation on mutability and on
isKindOfClass:
for more details.
§Generic classes
Objective-C generics are called “lightweight generics”, and that’s because they aren’t exposed in the runtime. This makes it impossible to safely downcast to generic collections, so this is disallowed by this method.
You can, however, safely downcast to generic collections where all the
type-parameters are AnyObject
.
§Panics
This works internally by calling isKindOfClass:
. That means that the
object must have the instance method of that name, and an exception
will be thrown (if CoreFoundation is linked) or the process will abort
if that is not the case. In the vast majority of cases, you don’t need
to worry about this, since both root objects NSObject
and
NSProxy
implement this method.
§Examples
Cast an NSString
back and forth from NSObject
.
use objc2::rc::Retained;
use objc2_foundation::{NSObject, NSString};
let obj: Retained<NSObject> = NSString::new().into_super();
let string = obj.downcast_ref::<NSString>().unwrap();
// Or with `downcast`, if we do not need the object afterwards
let string = obj.downcast::<NSString>().unwrap();
Try (and fail) to cast an NSObject
to an NSString
.
use objc2_foundation::{NSObject, NSString};
let obj = NSObject::new();
assert!(obj.downcast_ref::<NSString>().is_none());
Try to cast to an array of strings.
use objc2_foundation::{NSArray, NSObject, NSString};
let arr = NSArray::from_retained_slice(&[NSObject::new()]);
// This is invalid and doesn't type check.
let arr = arr.downcast_ref::<NSArray<NSString>>();
This fails to compile, since it would require enumerating over the array to ensure that each element is of the desired type, which is a performance pitfall.
Downcast when processing each element instead.
use objc2_foundation::{NSArray, NSObject, NSString};
let arr = NSArray::from_retained_slice(&[NSObject::new()]);
for elem in arr {
if let Some(data) = elem.downcast_ref::<NSString>() {
// handle `data`
}
}
Trait Implementations§
Source§impl ClassType for WebFrame
impl ClassType for WebFrame
Source§const NAME: &'static str = "WebFrame"
const NAME: &'static str = "WebFrame"
Source§type ThreadKind = <<WebFrame as ClassType>::Super as ClassType>::ThreadKind
type ThreadKind = <<WebFrame as ClassType>::Super as ClassType>::ThreadKind
Source§impl NSObjectProtocol for WebFrame
impl NSObjectProtocol for WebFrame
Source§fn isEqual(&self, other: Option<&AnyObject>) -> bool
fn isEqual(&self, other: Option<&AnyObject>) -> bool
Source§fn hash(&self) -> usize
fn hash(&self) -> usize
Source§fn isKindOfClass(&self, cls: &AnyClass) -> bool
fn isKindOfClass(&self, cls: &AnyClass) -> bool
Source§fn is_kind_of<T>(&self) -> bool
fn is_kind_of<T>(&self) -> bool
isKindOfClass
directly, or cast your objects with AnyObject::downcast_ref