#[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.
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.
ยง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