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