FrameLoadType and WebFrameLoadType are enumerated differently, but there is at least one C-cast between the two types, -[WebFrame _loadType] is implemented as: - (WebFrameLoadType)_loadType { return (WebFrameLoadType)_private->coreFrame->loader()->loadType(); } and the types are: enum FrameLoadType { FrameLoadTypeStandard, FrameLoadTypeBack, FrameLoadTypeForward, FrameLoadTypeIndexedBackForward, // a multi-item hop in the backforward list FrameLoadTypeReload, FrameLoadTypeSame, // user loads same URL again (but not reload button) FrameLoadTypeRedirectWithLockedBackForwardList, // FIXME: Merge "lockBackForwardList", "lockHistory", "quickRedirect" and "clientRedirect" into a single concept of redirect. FrameLoadTypeReplace, FrameLoadTypeReloadFromOrigin }; typedef enum { WebFrameLoadTypeStandard, WebFrameLoadTypeBack, WebFrameLoadTypeForward, WebFrameLoadTypeIndexedBackForward, // a multi-item hop in the backforward list WebFrameLoadTypeReload, WebFrameLoadTypeReloadAllowingStaleData, WebFrameLoadTypeSame, // user loads same URL again (but not reload button) WebFrameLoadTypeInternal, // maps to WebCore::FrameLoadTypeRedirectWithLockedBackForwardList WebFrameLoadTypeReplace, WebFrameLoadTypeReloadFromOrigin, WebFrameLoadTypeBackWMLDeckNotAccessible } WebFrameLoadType;