18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*
20bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * Copyright (C) 2006, 2007, 2009 Apple Inc. All rights reserved.
38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Redistribution and use in source and binary forms, with or without
58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * modification, are permitted provided that the following conditions
68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * are met:
78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 1. Redistributions of source code must retain the above copyright
88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *    notice, this list of conditions and the following disclaimer.
98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 2. Redistributions in binary form must reproduce the above copyright
108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *    notice, this list of conditions and the following disclaimer in the
118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *    documentation and/or other materials provided with the distribution.
128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */
258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "config.h"
278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "WebKitDLL.h"
288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "DOMHTMLClasses.h"
29dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#include "WebFrame.h"
308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <WebCore/BString.h>
322daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#include <WebCore/COMPtr.h>
338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <WebCore/Document.h>
348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <WebCore/Element.h>
358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <WebCore/FrameView.h>
360bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include <WebCore/HTMLCollection.h>
378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <WebCore/HTMLDocument.h>
388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <WebCore/HTMLFormElement.h>
39dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#include <WebCore/HTMLIFrameElement.h>
408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <WebCore/HTMLInputElement.h>
418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <WebCore/HTMLNames.h>
428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <WebCore/HTMLOptionElement.h>
43643ca7872b450ea4efacab6188849e5aac2ba161Steve Block#include <WebCore/HTMLOptionsCollection.h>
448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <WebCore/HTMLSelectElement.h>
458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <WebCore/HTMLTextAreaElement.h>
468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <WebCore/IntRect.h>
478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <WebCore/RenderObject.h>
488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <WebCore/RenderTextControl.h>
498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectusing namespace WebCore;
518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectusing namespace HTMLNames;
528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// DOMHTMLCollection
548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectDOMHTMLCollection::DOMHTMLCollection(WebCore::HTMLCollection* c)
568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project: m_collection(c)
578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectIDOMHTMLCollection* DOMHTMLCollection::createInstance(WebCore::HTMLCollection* c)
618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (!c)
638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return 0;
648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    IDOMHTMLCollection* htmlCollection = 0;
668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    DOMHTMLCollection* newCollection = new DOMHTMLCollection(c);
678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (FAILED(newCollection->QueryInterface(IID_IDOMHTMLCollection, (void**)&htmlCollection))) {
688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        delete newCollection;
698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return 0;
708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    }
718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return htmlCollection;
738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// DOMHTMLCollection - IUnknown -----------------------------------------------
768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLCollection::QueryInterface(REFIID riid, void** ppvObject)
788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *ppvObject = 0;
808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (IsEqualGUID(riid, IID_IDOMHTMLCollection))
818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        *ppvObject = static_cast<IDOMHTMLCollection*>(this);
828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    else
838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return DOMObject::QueryInterface(riid, ppvObject);
848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    AddRef();
868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// DOMHTMLCollection ----------------------------------------------------------
908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLCollection::length(
928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    /* [retval][out] */ UINT* result)
938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *result = 0;
958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (!m_collection)
968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return E_POINTER;
978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *result = m_collection->length();
998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
1008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLCollection::item(
1038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    /* [in] */ UINT index,
1048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    /* [retval][out] */ IDOMNode** node)
1058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *node = 0;
1078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (!m_collection)
1088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return E_POINTER;
1098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *node = DOMNode::createInstance(m_collection->item(index));
1118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return *node ? S_OK : E_FAIL;
1128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLCollection::namedItem(
1158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    /* [in] */ BSTR /*name*/,
1168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    /* [retval][out] */ IDOMNode** /*node*/)
1178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
1198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
1208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// DOMHTMLOptionsCollection - IUnknown ----------------------------------------
1238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLOptionsCollection::QueryInterface(REFIID riid, void** ppvObject)
1258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *ppvObject = 0;
1278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (IsEqualGUID(riid, IID_IDOMHTMLOptionsCollection))
1288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        *ppvObject = static_cast<IDOMHTMLOptionsCollection*>(this);
1298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    else
1308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return DOMObject::QueryInterface(riid, ppvObject);
1318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    AddRef();
1338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
1348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// DOMHTMLOptionsCollection ---------------------------------------------------
1378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
138643ca7872b450ea4efacab6188849e5aac2ba161Steve BlockDOMHTMLOptionsCollection::DOMHTMLOptionsCollection(WebCore::HTMLOptionsCollection* collection)
139643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    : m_collection(collection)
140643ca7872b450ea4efacab6188849e5aac2ba161Steve Block{
141643ca7872b450ea4efacab6188849e5aac2ba161Steve Block}
142643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
143643ca7872b450ea4efacab6188849e5aac2ba161Steve BlockIDOMHTMLOptionsCollection* DOMHTMLOptionsCollection::createInstance(WebCore::HTMLOptionsCollection* collection)
144643ca7872b450ea4efacab6188849e5aac2ba161Steve Block{
145643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    if (!collection)
146643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        return 0;
147643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
148643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    IDOMHTMLOptionsCollection* optionsCollection = 0;
149643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    DOMHTMLOptionsCollection* newCollection = new DOMHTMLOptionsCollection(collection);
150643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    if (FAILED(newCollection->QueryInterface(IID_IDOMHTMLOptionsCollection, (void**)&optionsCollection))) {
151643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        delete newCollection;
152643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        return 0;
153643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    }
154643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
155643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    return optionsCollection;
156643ca7872b450ea4efacab6188849e5aac2ba161Steve Block}
157643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
1588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLOptionsCollection::length(
159643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    /* [retval][out] */ unsigned int* result)
1608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
161643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    if (!result)
162643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        return E_POINTER;
163643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
164643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    *result = m_collection->length();
165643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    return S_OK;
1668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLOptionsCollection::setLength(
1698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    /* [in] */ unsigned int /*length*/)
1708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
1728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
1738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLOptionsCollection::item(
176643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    /* [in] */ unsigned int index,
177643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    /* [retval][out] */ IDOMNode** result)
1788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
179643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    if (!result)
180643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        return E_POINTER;
181643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
182643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    *result = DOMNode::createInstance(m_collection->item(index));
183643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
184643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    return *result ? S_OK : E_FAIL;
1858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLOptionsCollection::namedItem(
1888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    /* [in] */ BSTR /*name*/,
189643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    /* [retval][out] */ IDOMNode** /*result*/)
1908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
1928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
1938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// DOMHTMLDocument - IUnknown -------------------------------------------------
1968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLDocument::QueryInterface(REFIID riid, void** ppvObject)
1988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *ppvObject = 0;
2008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (IsEqualGUID(riid, IID_IDOMHTMLDocument))
2018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        *ppvObject = static_cast<IDOMHTMLDocument*>(this);
2028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    else
2038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return DOMDocument::QueryInterface(riid, ppvObject);
2048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    AddRef();
2068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
2078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// DOMHTMLDocument ------------------------------------------------------------
2108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLDocument::title(
212563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [retval][out] */ BSTR* result)
2138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
214563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    if (!result)
215563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        return E_POINTER;
216563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
217563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    *result = 0;
218563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
219563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    if (!m_document || !m_document->isHTMLDocument())
220563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        return E_FAIL;
221563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
222563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    *result = BString(m_document->title()).release();
223563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    return S_OK;
2248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLDocument::setTitle(
2278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*title*/)
2288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
2308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
2318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLDocument::referrer(
2348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* /*result*/)
2358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
2378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
2388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLDocument::domain(
2418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* /*result*/)
2428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
2448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
2458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLDocument::URL(
2488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* result)
2498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (!result)
2518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return E_POINTER;
2528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *result = BString(static_cast<HTMLDocument*>(m_document)->url()).release();
2548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
2558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLDocument::body(
2588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ IDOMHTMLElement** bodyElement)
2598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *bodyElement = 0;
2618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (!m_document || !m_document->isHTMLDocument())
2628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return E_FAIL;
2638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    HTMLDocument* htmlDoc = static_cast<HTMLDocument*>(m_document);
2658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    COMPtr<IDOMElement> domElement;
2668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    domElement.adoptRef(DOMHTMLElement::createInstance(htmlDoc->body()));
2678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (domElement)
2688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return domElement->QueryInterface(IID_IDOMHTMLElement, (void**) bodyElement);
2698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_FAIL;
2708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLDocument::setBody(
2738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ IDOMHTMLElement* /*body*/)
2748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
2768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
2778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLDocument::images(
2808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ IDOMHTMLCollection** /*collection*/)
2818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
2838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
2848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLDocument::applets(
2878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ IDOMHTMLCollection** /*collection*/)
2888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
2908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
2918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLDocument::links(
2948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ IDOMHTMLCollection** /*collection*/)
2958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
2978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
2988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLDocument::forms(
3018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ IDOMHTMLCollection** collection)
3028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *collection = 0;
3048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (!m_document || !m_document->isHTMLDocument())
3058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return E_FAIL;
3068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    HTMLDocument* htmlDoc = static_cast<HTMLDocument*>(m_document);
3088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *collection = DOMHTMLCollection::createInstance(htmlDoc->forms().get());
3098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
3108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLDocument::anchors(
3138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ IDOMHTMLCollection** /*collection*/)
3148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
3168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
3178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLDocument::cookie(
3208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* /*result*/)
3218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
3238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
3248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLDocument::setCookie(
3278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*cookie*/)
3288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
3308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
3318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLDocument::open( void)
3348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
3368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
3378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLDocument::close( void)
3408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
3428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
3438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLDocument::write(
3468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*text*/)
3478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
3498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
3508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLDocument::writeln(
3538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*text*/)
3548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
3568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
3578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLDocument::getElementById_(
3608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*elementId*/,
3618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ IDOMElement** /*element*/)
3628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
3648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
3658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLDocument::getElementsByName(
3688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*elementName*/,
3698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ IDOMNodeList** /*nodeList*/)
3708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
3728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
3738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// DOMHTMLElement - IUnknown --------------------------------------------------
3768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLElement::QueryInterface(REFIID riid, void** ppvObject)
3788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *ppvObject = 0;
3808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (IsEqualGUID(riid, IID_IDOMHTMLElement))
3818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        *ppvObject = static_cast<IDOMHTMLElement*>(this);
3828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    else
3838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return DOMElement::QueryInterface(riid, ppvObject);
3848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    AddRef();
3868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
3878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// DOMHTMLElement -------------------------------------------------------------
3908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLElement::idName(
3928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* result)
3938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (!result)
3958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return E_POINTER;
3968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT(m_element && m_element->isHTMLElement());
398231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    String idString = static_cast<HTMLElement*>(m_element)->getAttribute(idAttr);
3998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *result = BString(idString).release();
4008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
4018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLElement::setIdName(
4048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*idName*/)
4058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
4078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
4088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLElement::title(
4118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* /*result*/)
4128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
4148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
4158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLElement::setTitle(
4188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*title*/)
4198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
4218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
4228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLElement::lang(
4258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* /*result*/)
4268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
4288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
4298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLElement::setLang(
4328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*lang*/)
4338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
4358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
4368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLElement::dir(
4398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* /*result*/)
4408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
4428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
4438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLElement::setDir(
4468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*dir*/)
4478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
4498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
4508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLElement::className(
4538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* /*result*/)
4548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
4568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
4578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLElement::setClassName(
4608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*className*/)
4618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
4638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
4648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLElement::innerHTML(
4678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* /*result*/)
4688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
4708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
4718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLElement::setInnerHTML(
4748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*html*/)
4758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
4778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
4788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLElement::innerText(
4818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* result)
4828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT(m_element && m_element->isHTMLElement());
484dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch    WTF::String innerTextString = static_cast<HTMLElement*>(m_element)->innerText();
4858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *result = BString(innerTextString.characters(), innerTextString.length()).release();
4868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
4878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLElement::setInnerText(
4908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR text)
4918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT(m_element && m_element->isHTMLElement());
4938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    HTMLElement* htmlEle = static_cast<HTMLElement*>(m_element);
494dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch    WTF::String textString(text, SysStringLen(text));
4958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebCore::ExceptionCode ec = 0;
4968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    htmlEle->setInnerText(textString, ec);
4978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
4988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// DOMHTMLFormElement - IUnknown ----------------------------------------------
5018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLFormElement::QueryInterface(REFIID riid, void** ppvObject)
5038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
5048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *ppvObject = 0;
5058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (IsEqualGUID(riid, IID_IDOMHTMLFormElement))
5068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        *ppvObject = static_cast<IDOMHTMLFormElement*>(this);
5078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    else
5088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return DOMHTMLElement::QueryInterface(riid, ppvObject);
5098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    AddRef();
5118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
5128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
5138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// DOMHTMLFormElement ---------------------------------------------------------
5158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLFormElement::elements(
5178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ IDOMHTMLCollection** /*result*/)
5188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
5198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
5208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
5218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
5228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLFormElement::length(
5248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ int* /*result*/)
5258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
5268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
5278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
5288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
5298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLFormElement::name(
5318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* /*result*/)
5328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
5338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
5348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
5358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
5368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLFormElement::setName(
5388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*name*/)
5398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
5408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
5418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
5428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
5438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLFormElement::acceptCharset(
5458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* /*result*/)
5468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
5478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
5488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
5498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
5508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLFormElement::setAcceptCharset(
5528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*acceptCharset*/)
5538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
5548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
5558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
5568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
5578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLFormElement::action(
5598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* result)
5608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
5618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT(m_element && m_element->hasTagName(formTag));
562dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch    WTF::String actionString = static_cast<HTMLFormElement*>(m_element)->action();
5638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *result = BString(actionString.characters(), actionString.length()).release();
5648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
5658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
5668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLFormElement::setAction(
5688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*action*/)
5698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
5708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
5718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
5728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
5738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLFormElement::encType(
5758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* /*result*/)
5768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
5778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
5788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
5798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
5808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLFormElement::setEnctype(
5828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* /*encType*/)
5838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
5848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
5858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
5868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
5878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLFormElement::method(
5898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* result)
5908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
5918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT(m_element && m_element->hasTagName(formTag));
592dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch    WTF::String methodString = static_cast<HTMLFormElement*>(m_element)->method();
5938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *result = BString(methodString.characters(), methodString.length()).release();
5948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
5958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
5968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLFormElement::setMethod(
5988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*method*/)
5998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
6008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
6018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
6028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
6038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLFormElement::target(
6058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* /*result*/)
6068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
6078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
6088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
6098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
6108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLFormElement::setTarget(
6128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*target*/)
6138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
6148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
6158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
6168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
6178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLFormElement::submit( void)
6198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
6208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
6218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
6228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
6238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLFormElement::reset( void)
6258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
6268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
6278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
6288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
6298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// DOMHTMLSelectElement - IUnknown ----------------------------------------------
6318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::QueryInterface(REFIID riid, void** ppvObject)
6338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
6348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *ppvObject = 0;
6358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (IsEqualGUID(riid, IID_IDOMHTMLSelectElement))
6368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        *ppvObject = static_cast<IDOMHTMLSelectElement*>(this);
6378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    else if (IsEqualGUID(riid, IID_IFormsAutoFillTransitionSelect))
6388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        *ppvObject = static_cast<IFormsAutoFillTransitionSelect*>(this);
6398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    else
6408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return DOMHTMLElement::QueryInterface(riid, ppvObject);
6418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    AddRef();
6438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
6448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
6458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// DOMHTMLSelectElement -------------------------------------------------------
6478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::type(
6498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* /*result*/)
6508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
6518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
6528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
6538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
6548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::selectedIndex(
6568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ int* /*result*/)
6578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
6588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
6598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
6608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
6618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::setSelectedIndx(
6638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ int /*selectedIndex*/)
6648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
6658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
6668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
6678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
6688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::value(
6708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* /*result*/)
6718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
6728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
6738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
6748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
6758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::setValue(
6778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*value*/)
6788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
6798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
6808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
6818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
6828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::length(
6848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ int* /*result*/)
6858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
6868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
6878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
6888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
6898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::form(
6918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ IDOMHTMLFormElement** /*result*/)
6928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
6938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
6948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
6958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
6968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::options(
698643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        /* [retval][out] */ IDOMHTMLOptionsCollection** result)
6998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
700643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    if (!result)
701643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        return E_POINTER;
702643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
703643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    *result = 0;
704643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
705643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    ASSERT(m_element);
706643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    ASSERT(m_element->hasTagName(selectTag));
707643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    HTMLSelectElement* selectElement = static_cast<HTMLSelectElement*>(m_element);
708643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
709643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    if (!selectElement->options())
710643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        return E_FAIL;
711643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
712643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    *result = DOMHTMLOptionsCollection::createInstance(selectElement->options().get());
713643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    return S_OK;
7148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
7158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::disabled(
7178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BOOL* /*result*/)
7188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
7198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
7208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
7218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
7228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::setDisabled(
7248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BOOL /*disabled*/)
7258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
7268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
7278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
7288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
7298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::multiple(
7318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BOOL* /*result*/)
7328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
7338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
7348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
7358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
7368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::setMultiple(
7388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BOOL /*multiple*/)
7398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
7408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
7418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
7428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
7438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::name(
7458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* /*result*/)
7468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
7478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
7488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
7498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
7508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::setName(
7528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*name*/)
7538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
7548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
7558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
7568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
7578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::size(
7598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ int* /*size*/)
7608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
7618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
7628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
7638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
7648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::setSize(
7668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ int /*size*/)
7678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
7688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
7698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
7708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
7718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::tabIndex(
7738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ int* /*result*/)
7748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
7758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
7768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
7778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
7788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::setTabIndex(
7808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ int /*tabIndex*/)
7818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
7828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
7838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
7848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
7858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::add(
7878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ IDOMHTMLElement* /*element*/,
7888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ IDOMHTMLElement* /*before*/)
7898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
7908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
7918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
7928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
7938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::remove(
7958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ int /*index*/)
7968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
7978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
7988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
7998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
8008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// DOMHTMLSelectElement - IFormsAutoFillTransitionSelect ----------------------
8028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::activateItemAtIndex(
804643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    /* [in] */ int index)
8058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
806643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    ASSERT(m_element);
807643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    ASSERT(m_element->hasTagName(selectTag));
808643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    HTMLSelectElement* selectElement = static_cast<HTMLSelectElement*>(m_element);
809643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
810643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    if (index >= selectElement->length())
811643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        return E_FAIL;
812643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
813643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    selectElement->setSelectedIndex(index);
814643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    return S_OK;
8158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
8168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// DOMHTMLOptionElement - IUnknown --------------------------------------------
8188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::QueryInterface(REFIID riid, void** ppvObject)
8208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
8218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *ppvObject = 0;
8228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (IsEqualGUID(riid, IID_IDOMHTMLOptionElement))
8238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        *ppvObject = static_cast<IDOMHTMLOptionElement*>(this);
8248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    else
8258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return DOMHTMLElement::QueryInterface(riid, ppvObject);
8268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    AddRef();
8288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
8298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
8308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// DOMHTMLOptionElement -------------------------------------------------------
8328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::form(
8348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ IDOMHTMLFormElement** /*result*/)
8358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
8368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
8378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
8388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
8398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::defaultSelected(
8418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BOOL* /*result*/)
8428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
8438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
8448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
8458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
8468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::setDefaultSelected(
8488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BOOL /*defaultSelected*/)
8498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
8508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
8518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
8528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
8538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::text(
855643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        /* [retval][out] */ BSTR* result)
8568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
857643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    if (!result)
858643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        return E_POINTER;
859643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
860643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    *result = 0;
861643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
862643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    ASSERT(m_element);
863643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    ASSERT(m_element->hasTagName(optionTag));
864643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    HTMLOptionElement* optionElement = static_cast<HTMLOptionElement*>(m_element);
865643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
866643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    *result = BString(optionElement->text()).release();
867643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    return S_OK;
8688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
8698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::index(
8718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ int* /*result*/)
8728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
8738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
8748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
8758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
8768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::disabled(
8788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BOOL* /*result*/)
8798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
8808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
8818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
8828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
8838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::setDisabled(
8858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BOOL /*disabled*/)
8868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
8878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
8888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
8898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
8908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::label(
892643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        /* [retval][out] */ BSTR* result)
8938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
894643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    if (!result)
895643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        return E_POINTER;
896643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
897643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    *result = 0;
898643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
899643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    ASSERT(m_element);
900643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    ASSERT(m_element->hasTagName(optionTag));
901643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    HTMLOptionElement* optionElement = static_cast<HTMLOptionElement*>(m_element);
902643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
903643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    *result = BString(optionElement->label()).release();
904643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    return S_OK;
9058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
9068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
9078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::setLabel(
9088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*label*/)
9098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
9108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
9118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
9128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
9138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
9148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::selected(
9158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BOOL* /*result*/)
9168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
9178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
9188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
9198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
9208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
9218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::setSelected(
9228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BOOL /*selected*/)
9238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
9248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
9258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
9268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
9278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
9288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::value(
9298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* /*result*/)
9308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
9318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
9328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
9338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
9348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
9358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::setValue(
9368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*value*/)
9378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
9388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
9398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
9408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
9418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
9428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// DOMHTMLInputElement - IUnknown ----------------------------------------------
9438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
9448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::QueryInterface(REFIID riid, void** ppvObject)
9458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
9468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *ppvObject = 0;
9478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (IsEqualGUID(riid, IID_IDOMHTMLInputElement))
9488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        *ppvObject = static_cast<IDOMHTMLInputElement*>(this);
9498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    else if (IsEqualGUID(riid, IID_IFormsAutoFillTransition))
9508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        *ppvObject = static_cast<IFormsAutoFillTransition*>(this);
9518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    else if (IsEqualGUID(riid, IID_IFormPromptAdditions))
9528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        *ppvObject = static_cast<IFormPromptAdditions*>(this);
9538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    else
9548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return DOMHTMLElement::QueryInterface(riid, ppvObject);
9558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
9568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    AddRef();
9578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
9588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
9598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
9608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// DOMHTMLInputElement --------------------------------------------------------
9618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
9628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::defaultValue(
9638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* /*result*/)
9648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
9658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
9668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
9678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
9688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
9698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setDefaultValue(
9708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*val*/)
9718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
9728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
9738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
9748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
9758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
9768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::defaultChecked(
9778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BOOL* /*result*/)
9788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
9798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
9808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
9818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
9828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
9838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setDefaultChecked(
9848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*checked*/)
9858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
9868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
9878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
9888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
9898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
9908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::form(
9918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ IDOMHTMLElement** result)
9928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
9938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (!result)
9948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return E_POINTER;
9958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *result = 0;
9968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT(m_element && m_element->hasTagName(inputTag));
9978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    HTMLInputElement* inputElement = static_cast<HTMLInputElement*>(m_element);
9988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    COMPtr<IDOMElement> domElement;
9998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    domElement.adoptRef(DOMHTMLElement::createInstance(inputElement->form()));
10008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (domElement)
10018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return domElement->QueryInterface(IID_IDOMHTMLElement, (void**) result);
10028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_FAIL;
10038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
10048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
10058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::accept(
10068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* /*result*/)
10078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
10088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
10098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
10108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
10118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
10128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setAccept(
10138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*accept*/)
10148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
10158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
10168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
10178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
10188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
10198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::accessKey(
10208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* /*result*/)
10218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
10228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
10238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
10248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
10258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
10268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setAccessKey(
10278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*key*/)
10288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
10298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
10308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
10318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
10328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
10338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::align(
10348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* /*result*/)
10358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
10368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
10378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
10388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
10398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
10408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setAlign(
10418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*align*/)
10428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
10438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
10448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
10458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
10468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
10478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::alt(
10488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* /*result*/)
10498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
10508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
10518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
10528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
10538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
10548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setAlt(
10558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*alt*/)
10568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
10578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
10588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
10598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
10608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
10618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::checked(
10628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BOOL* /*result*/)
10638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
10648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
10658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
10668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
10678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
10688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setChecked(
10698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BOOL /*checked*/)
10708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
10718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
10728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
10738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
10748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
10758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::disabled(
10768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BOOL* result)
10778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
10788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT(m_element && m_element->hasTagName(inputTag));
10798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    HTMLInputElement* inputElement = static_cast<HTMLInputElement*>(m_element);
10808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *result = inputElement->disabled() ? TRUE : FALSE;
10818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
10828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
10838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
10848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setDisabled(
10858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BOOL /*disabled*/)
10868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
10878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
10888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
10898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
10908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
10918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::maxLength(
10928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ int* /*result*/)
10938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
10948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
10958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
10968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
10978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
10988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setMaxLength(
10998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ int /*maxLength*/)
11008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
11018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
11028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
11038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
11048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
11058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::name(
11068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* /*name*/)
11078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
11088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
11098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
11108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
11118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
11128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setName(
11138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*name*/)
11148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
11158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
11168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
11178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
11188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
11198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::readOnly(
11208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BOOL* result)
11218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
11228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT(m_element && m_element->hasTagName(inputTag));
11238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    HTMLInputElement* inputElement = static_cast<HTMLInputElement*>(m_element);
11248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *result = inputElement->readOnly() ? TRUE : FALSE;
11258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
11268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
11278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
11288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setReadOnly(
11298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BOOL /*readOnly*/)
11308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
11318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
11328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
11338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
11348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
11358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::size(
11368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ unsigned int* /*result*/)
11378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
11388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
11398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
11408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
11418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
11428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setSize(
11438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ unsigned int /*size*/)
11448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
11458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
11468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
11478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
11488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
11498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::src(
11508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* /*result*/)
11518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
11528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
11538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
11548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
11558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
11568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setSrc(
11578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*src*/)
11588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
11598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
11608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
11618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
11628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
11638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::tabIndex(
11648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ int* /*result*/)
11658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
11668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
11678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
11688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
11698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
11708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setTabIndex(
11718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ int /*tabIndex*/)
11728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
11738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
11748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
11758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
11768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
11778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::type(
11788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* /*result*/)
11798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
11808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
11818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
11828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
11838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
11848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setType(
11858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR type)
11868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
11878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT(m_element && m_element->hasTagName(inputTag));
11888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    HTMLInputElement* inputElement = static_cast<HTMLInputElement*>(m_element);
1189dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch    WTF::String typeString(type, SysStringLen(type));
11908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    inputElement->setType(typeString);
11918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
11928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
11938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
11948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::useMap(
11958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* /*result*/)
11968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
11978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
11988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
11998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
12008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
12018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setUseMap(
12028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*useMap*/)
12038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
12048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
12058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
12068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
12078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
12088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::value(
12098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* result)
12108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
12118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT(m_element && m_element->hasTagName(inputTag));
12128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    HTMLInputElement* inputElement = static_cast<HTMLInputElement*>(m_element);
1213dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch    WTF::String valueString = inputElement->value();
12148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *result = BString(valueString.characters(), valueString.length()).release();
12158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (valueString.length() && !*result)
12168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return E_OUTOFMEMORY;
12178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
12188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
12198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
12208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setValue(
12218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR value)
12228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
12238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT(m_element && m_element->hasTagName(inputTag));
12248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    HTMLInputElement* inputElement = static_cast<HTMLInputElement*>(m_element);
12258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    inputElement->setValue(String((UChar*) value, SysStringLen(value)));
12268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
12278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1228643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
1229643ca7872b450ea4efacab6188849e5aac2ba161Steve BlockHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setValueForUser(
1230643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        /* [in] */ BSTR value)
1231643ca7872b450ea4efacab6188849e5aac2ba161Steve Block{
1232643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    ASSERT(m_element);
1233643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    ASSERT(m_element->hasTagName(inputTag));
1234643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    HTMLInputElement* inputElement = static_cast<HTMLInputElement*>(m_element);
1235643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    inputElement->setValueForUser(String(static_cast<UChar*>(value), SysStringLen(value)));
1236643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    return S_OK;
1237643ca7872b450ea4efacab6188849e5aac2ba161Steve Block}
1238643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
12398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::select( void)
12408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
12418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT(m_element && m_element->hasTagName(inputTag));
12428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    HTMLInputElement* inputElement = static_cast<HTMLInputElement*>(m_element);
12438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    inputElement->select();
12448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
12458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
12468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
12478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::click( void)
12488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
12498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
12508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
12518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
12528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
12538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setSelectionStart(
12548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    /* [in] */ long start)
12558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
12568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT(m_element && m_element->hasTagName(inputTag));
12578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    HTMLInputElement* inputElement = static_cast<HTMLInputElement*>(m_element);
12588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    inputElement->setSelectionStart(start);
12598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
12608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
12618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
12628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::selectionStart(
12638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    /* [retval][out] */ long *start)
12648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
12658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT(m_element && m_element->hasTagName(inputTag));
12668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    HTMLInputElement* inputElement = static_cast<HTMLInputElement*>(m_element);
12678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *start = inputElement->selectionStart();
12688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
12698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
12708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
12718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setSelectionEnd(
12728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    /* [in] */ long end)
12738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
12748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT(m_element && m_element->hasTagName(inputTag));
12758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    HTMLInputElement* inputElement = static_cast<HTMLInputElement*>(m_element);
12768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    inputElement->setSelectionEnd(end);
12778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
12788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
12798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
12808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::selectionEnd(
12818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    /* [retval][out] */ long *end)
12828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
12838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT(m_element && m_element->hasTagName(inputTag));
12848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    HTMLInputElement* inputElement = static_cast<HTMLInputElement*>(m_element);
12858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *end = inputElement->selectionEnd();
12868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
12878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
12888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
12898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// DOMHTMLInputElement -- IFormsAutoFillTransition ----------------------------
12908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
12918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::isTextField(
12928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    /* [retval][out] */ BOOL* result)
12938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1294643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    ASSERT(m_element);
1295643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    ASSERT(m_element->hasTagName(inputTag));
12968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    HTMLInputElement* inputElement = static_cast<HTMLInputElement*>(m_element);
12978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *result = inputElement->isTextField() ? TRUE : FALSE;
12988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
12998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
13008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
13018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::rectOnScreen(
13028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    /* [retval][out] */ LPRECT rect)
13038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1304643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    ASSERT(m_element);
1305643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    ASSERT(m_element->hasTagName(inputTag));
13068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    rect->left = rect->top = rect->right = rect->bottom = 0;
13078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    RenderObject* renderer = m_element->renderer();
13088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    FrameView* view = m_element->document()->view();
13098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (!renderer || !view)
13108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return E_FAIL;
13118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1312643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    IntRect coreRect = view->contentsToScreen(renderer->absoluteBoundingBoxRect());
13138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    rect->left = coreRect.x();
13148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    rect->top = coreRect.y();
13152fc2651226baac27029e38c9d6ef883fa32084dbSteve Block    rect->right = coreRect.maxX();
13162fc2651226baac27029e38c9d6ef883fa32084dbSteve Block    rect->bottom = coreRect.maxY();
1317643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
13188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
13198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
13208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
13218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::replaceCharactersInRange(
1322643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    /* [in] */ int startTarget,
1323643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    /* [in] */ int endTarget,
1324643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    /* [in] */ BSTR replacementString,
1325643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    /* [in] */ int index)
13268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1327643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    if (!replacementString)
1328643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        return E_POINTER;
1329643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
1330643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    ASSERT(m_element);
1331643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    ASSERT(m_element->hasTagName(inputTag));
1332643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    HTMLInputElement* inputElement = static_cast<HTMLInputElement*>(m_element);
1333643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
1334643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    String newValue = inputElement->value();
1335643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    String webCoreReplacementString(static_cast<UChar*>(replacementString), SysStringLen(replacementString));
1336643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    newValue.replace(startTarget, endTarget - startTarget, webCoreReplacementString);
1337643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    inputElement->setValue(newValue);
1338643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    inputElement->setSelectionRange(index, newValue.length());
1339643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
1340643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    return S_OK;
13418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
13428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
13438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::selectedRange(
13448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    /* [out] */ int* start,
13458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    /* [out] */ int* end)
13468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1347643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    ASSERT(m_element);
1348643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    ASSERT(m_element->hasTagName(inputTag));
13498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    HTMLInputElement* inputElement = static_cast<HTMLInputElement*>(m_element);
13508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *start = inputElement->selectionStart();
13518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *end = inputElement->selectionEnd();
13528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
13538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
13548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
13558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setAutofilled(
13568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    /* [in] */ BOOL filled)
13578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1358643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    ASSERT(m_element);
1359643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    ASSERT(m_element->hasTagName(inputTag));
13608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    HTMLInputElement* inputElement = static_cast<HTMLInputElement*>(m_element);
13618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    inputElement->setAutofilled(!!filled);
13628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
13638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
13648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1365643ca7872b450ea4efacab6188849e5aac2ba161Steve BlockHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::isAutofilled(
1366643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    /* [retval][out] */ BOOL* result)
1367643ca7872b450ea4efacab6188849e5aac2ba161Steve Block{
1368643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    ASSERT(m_element);
1369643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    ASSERT(m_element->hasTagName(inputTag));
1370643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    HTMLInputElement* inputElement = static_cast<HTMLInputElement*>(m_element);
1371643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    *result = inputElement->isAutofilled() ? TRUE : FALSE;
1372643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    return S_OK;
1373643ca7872b450ea4efacab6188849e5aac2ba161Steve Block}
1374643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
13758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// DOMHTMLInputElement -- IFormPromptAdditions ------------------------------------
13768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
13778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLInputElement::isUserEdited(
13788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    /* [retval][out] */ BOOL *result)
13798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
13808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (!result)
13818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return E_POINTER;
13828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
13838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *result = FALSE;
13848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT(m_element);
13858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    BOOL textField = FALSE;
13868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (FAILED(isTextField(&textField)) || !textField)
13878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return S_OK;
13888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    RenderObject* renderer = m_element->renderer();
1389643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    if (renderer && toRenderTextControl(renderer)->lastChangeWasUserEdit())
13908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        *result = TRUE;
13918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
13928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
13938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
13948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// DOMHTMLTextAreaElement - IUnknown ----------------------------------------------
13958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
13968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::QueryInterface(REFIID riid, void** ppvObject)
13978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
13988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *ppvObject = 0;
13998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (IsEqualGUID(riid, IID_IDOMHTMLTextAreaElement))
14008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        *ppvObject = static_cast<IDOMHTMLTextAreaElement*>(this);
14018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    else if (IsEqualGUID(riid, IID_IFormPromptAdditions))
14028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        *ppvObject = static_cast<IFormPromptAdditions*>(this);
14038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    else
14048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return DOMHTMLElement::QueryInterface(riid, ppvObject);
14058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
14068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    AddRef();
14078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
14088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
14098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
14108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// DOMHTMLTextAreaElement -----------------------------------------------------
14118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
14128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::defaultValue(
14138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* /*result*/)
14148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
14158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
14168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
14178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
14188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
14198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::setDefaultValue(
14208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*val*/)
14218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
14228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
14238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
14248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
14258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
14268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::form(
14278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ IDOMHTMLElement** result)
14288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
14298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (!result)
14308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return E_POINTER;
14318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *result = 0;
14328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT(m_element && m_element->hasTagName(textareaTag));
14338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    HTMLTextAreaElement* textareaElement = static_cast<HTMLTextAreaElement*>(m_element);
14348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    COMPtr<IDOMElement> domElement;
14358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    domElement.adoptRef(DOMHTMLElement::createInstance(textareaElement->form()));
14368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (domElement)
14378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return domElement->QueryInterface(IID_IDOMHTMLElement, (void**) result);
14388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_FAIL;
14398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
14408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
14418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::accessKey(
14428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* /*result*/)
14438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
14448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
14458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
14468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
14478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
14488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::setAccessKey(
14498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*key*/)
14508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
14518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
14528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
14538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
14548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
14558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::cols(
14568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ int* /*result*/)
14578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
14588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
14598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
14608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
14618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
14628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::setCols(
14638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ int /*cols*/)
14648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
14658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
14668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
14678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
14688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
14698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::disabled(
14708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BOOL* /*result*/)
14718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
14728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
14738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
14748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
14758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
14768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::setDisabled(
14778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BOOL /*disabled*/)
14788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
14798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
14808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
14818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
14828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
14838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::name(
14848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* /*name*/)
14858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
14868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
14878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
14888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
14898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
14908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::setName(
14918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR /*name*/)
14928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
14938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
14948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
14958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
14968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
14978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::readOnly(
14988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BOOL* /*result*/)
14998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
15008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
15018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
15028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
15038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
15048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::setReadOnly(
15058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BOOL /*readOnly*/)
15068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
15078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
15088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
15098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
15108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
15118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::rows(
15128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ int* /*result*/)
15138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
15148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
15158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
15168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
15178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
15188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::setRows(
15198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ int /*rows*/)
15208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
15218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
15228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
15238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
15248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
15258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::tabIndex(
15268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ int* /*result*/)
15278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
15288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
15298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
15308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
15318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
15328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::setTabIndex(
15338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ int /*tabIndex*/)
15348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
15358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
15368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
15378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
15388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
15398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::type(
15408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* /*result*/)
15418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
15428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT_NOT_REACHED();
15438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return E_NOTIMPL;
15448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
15458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
15468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::value(
15478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [retval][out] */ BSTR* result)
15488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
15498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT(m_element && m_element->hasTagName(textareaTag));
15508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    HTMLTextAreaElement* textareaElement = static_cast<HTMLTextAreaElement*>(m_element);
1551dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch    WTF::String valueString = textareaElement->value();
15528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *result = BString(valueString.characters(), valueString.length()).release();
15538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (valueString.length() && !*result)
15548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return E_OUTOFMEMORY;
15558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
15568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
15578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
15588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::setValue(
15598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        /* [in] */ BSTR value)
15608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
15618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT(m_element && m_element->hasTagName(textareaTag));
15628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    HTMLTextAreaElement* textareaElement = static_cast<HTMLTextAreaElement*>(m_element);
15638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    textareaElement->setValue(String((UChar*) value, SysStringLen(value)));
15648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
15658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
15668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
15678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::select( void)
15688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
15698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT(m_element && m_element->hasTagName(textareaTag));
15708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    HTMLTextAreaElement* textareaElement = static_cast<HTMLTextAreaElement*>(m_element);
15718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    textareaElement->select();
15728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
15738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
15748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
15758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// DOMHTMLTextAreaElement -- IFormPromptAdditions ------------------------------------
15768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
15778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectHRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::isUserEdited(
15788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    /* [retval][out] */ BOOL *result)
15798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
15808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (!result)
15818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return E_POINTER;
15828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
15838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    *result = FALSE;
15848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT(m_element);
15858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    RenderObject* renderer = m_element->renderer();
1586643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    if (renderer && toRenderTextControl(renderer)->lastChangeWasUserEdit())
15878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        *result = TRUE;
15888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return S_OK;
15898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1590dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block
1591dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block// DOMHTMLIFrameElement - IUnknown --------------------------------------------------
1592dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block
1593dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockHRESULT STDMETHODCALLTYPE DOMHTMLIFrameElement::QueryInterface(REFIID riid, void** ppvObject)
1594dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block{
1595dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block    *ppvObject = 0;
1596dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block    if (IsEqualGUID(riid, IID_IDOMHTMLIFrameElement))
1597dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        *ppvObject = static_cast<IDOMHTMLIFrameElement*>(this);
1598dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block    else
1599dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        return DOMHTMLElement::QueryInterface(riid, ppvObject);
1600dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block
1601dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block    AddRef();
1602dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block    return S_OK;
1603dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block}
1604dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block
1605dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block// DOMHTMLIFrameElement -------------------------------------------------------------
1606dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block
1607dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockHRESULT STDMETHODCALLTYPE DOMHTMLIFrameElement::contentFrame(
1608dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block    /* [retval][out] */ IWebFrame **result)
1609dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block{
1610dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block    if (!result)
1611dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        return E_POINTER;
1612dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block    *result = 0;
1613dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block    ASSERT(m_element && m_element->hasTagName(iframeTag));
1614dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block    HTMLIFrameElement* iFrameElement = static_cast<HTMLIFrameElement*>(m_element);
1615dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block    COMPtr<IWebFrame> webFrame = kit(iFrameElement->contentFrame());
1616dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block    if (!webFrame)
1617dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        return E_FAIL;
1618dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block    return webFrame.copyRefTo(result);
1619dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block}
1620