/* * Copyright (C) 2004-2016 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #import "DOMHTMLObjectElement.h" #import "DOMDocumentInternal.h" #import "DOMHTMLFormElementInternal.h" #import "DOMNodeInternal.h" #import "DOMPrivate.h" #import #import "ExceptionHandlers.h" #import #import #import #import #import #import #import #import #import #define IMPL static_cast(reinterpret_cast(_internal)) @implementation DOMHTMLObjectElement - (DOMHTMLFormElement *)form { WebCore::JSMainThreadNullState state; return kit(WTF::getPtr(IMPL->form())); } - (NSString *)code { WebCore::JSMainThreadNullState state; return IMPL->getAttribute(WebCore::HTMLNames::codeAttr); } - (void)setCode:(NSString *)newCode { WebCore::JSMainThreadNullState state; IMPL->setAttributeWithoutSynchronization(WebCore::HTMLNames::codeAttr, newCode); } - (NSString *)align { WebCore::JSMainThreadNullState state; return IMPL->getAttribute(WebCore::HTMLNames::alignAttr); } - (void)setAlign:(NSString *)newAlign { WebCore::JSMainThreadNullState state; IMPL->setAttributeWithoutSynchronization(WebCore::HTMLNames::alignAttr, newAlign); } - (NSString *)archive { WebCore::JSMainThreadNullState state; return IMPL->getAttribute(WebCore::HTMLNames::archiveAttr); } - (void)setArchive:(NSString *)newArchive { WebCore::JSMainThreadNullState state; IMPL->setAttributeWithoutSynchronization(WebCore::HTMLNames::archiveAttr, newArchive); } - (NSString *)border { WebCore::JSMainThreadNullState state; return IMPL->getAttribute(WebCore::HTMLNames::borderAttr); } - (void)setBorder:(NSString *)newBorder { WebCore::JSMainThreadNullState state; IMPL->setAttributeWithoutSynchronization(WebCore::HTMLNames::borderAttr, newBorder); } - (NSString *)codeBase { WebCore::JSMainThreadNullState state; return IMPL->getAttribute(WebCore::HTMLNames::codebaseAttr); } - (void)setCodeBase:(NSString *)newCodeBase { WebCore::JSMainThreadNullState state; IMPL->setAttributeWithoutSynchronization(WebCore::HTMLNames::codebaseAttr, newCodeBase); } - (NSString *)codeType { WebCore::JSMainThreadNullState state; return IMPL->getAttribute(WebCore::HTMLNames::codetypeAttr); } - (void)setCodeType:(NSString *)newCodeType { WebCore::JSMainThreadNullState state; IMPL->setAttributeWithoutSynchronization(WebCore::HTMLNames::codetypeAttr, newCodeType); } - (NSString *)data { WebCore::JSMainThreadNullState state; return IMPL->getURLAttribute(WebCore::HTMLNames::dataAttr).string(); } - (void)setData:(NSString *)newData { WebCore::JSMainThreadNullState state; IMPL->setAttributeWithoutSynchronization(WebCore::HTMLNames::dataAttr, newData); } - (BOOL)declare { WebCore::JSMainThreadNullState state; return IMPL->hasAttributeWithoutSynchronization(WebCore::HTMLNames::declareAttr); } - (void)setDeclare:(BOOL)newDeclare { WebCore::JSMainThreadNullState state; IMPL->setBooleanAttribute(WebCore::HTMLNames::declareAttr, newDeclare); } - (NSString *)height { WebCore::JSMainThreadNullState state; return IMPL->getAttribute(WebCore::HTMLNames::heightAttr); } - (void)setHeight:(NSString *)newHeight { WebCore::JSMainThreadNullState state; IMPL->setAttributeWithoutSynchronization(WebCore::HTMLNames::heightAttr, newHeight); } - (int)hspace { WebCore::JSMainThreadNullState state; return IMPL->getIntegralAttribute(WebCore::HTMLNames::hspaceAttr); } - (void)setHspace:(int)newHspace { WebCore::JSMainThreadNullState state; IMPL->setIntegralAttribute(WebCore::HTMLNames::hspaceAttr, newHspace); } - (NSString *)name { WebCore::JSMainThreadNullState state; return IMPL->getNameAttribute(); } - (void)setName:(NSString *)newName { WebCore::JSMainThreadNullState state; IMPL->setAttributeWithoutSynchronization(WebCore::HTMLNames::nameAttr, newName); } - (NSString *)standby { WebCore::JSMainThreadNullState state; return IMPL->getAttribute(WebCore::HTMLNames::standbyAttr); } - (void)setStandby:(NSString *)newStandby { WebCore::JSMainThreadNullState state; IMPL->setAttributeWithoutSynchronization(WebCore::HTMLNames::standbyAttr, newStandby); } - (NSString *)type { WebCore::JSMainThreadNullState state; return IMPL->getAttribute(WebCore::HTMLNames::typeAttr); } - (void)setType:(NSString *)newType { WebCore::JSMainThreadNullState state; IMPL->setAttributeWithoutSynchronization(WebCore::HTMLNames::typeAttr, newType); } - (NSString *)useMap { WebCore::JSMainThreadNullState state; return IMPL->getAttribute(WebCore::HTMLNames::usemapAttr); } - (void)setUseMap:(NSString *)newUseMap { WebCore::JSMainThreadNullState state; IMPL->setAttributeWithoutSynchronization(WebCore::HTMLNames::usemapAttr, newUseMap); } - (int)vspace { WebCore::JSMainThreadNullState state; return IMPL->getIntegralAttribute(WebCore::HTMLNames::vspaceAttr); } - (void)setVspace:(int)newVspace { WebCore::JSMainThreadNullState state; IMPL->setIntegralAttribute(WebCore::HTMLNames::vspaceAttr, newVspace); } - (NSString *)width { WebCore::JSMainThreadNullState state; return IMPL->getAttribute(WebCore::HTMLNames::widthAttr); } - (void)setWidth:(NSString *)newWidth { WebCore::JSMainThreadNullState state; IMPL->setAttributeWithoutSynchronization(WebCore::HTMLNames::widthAttr, newWidth); } - (DOMDocument *)contentDocument { WebCore::JSMainThreadNullState state; return kit(WTF::getPtr(IMPL->contentDocument())); } - (NSURL *)absoluteImageURL { WebCore::JSMainThreadNullState state; if (!IMPL->renderer() || !IMPL->renderer()->isImage()) return nil; return [self _getURLAttribute:@"data"]; } @end #undef IMPL