18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 206ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen * Copyright (C) Research In Motion Limited 2010. All rights reserved. 38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This library is free software; you can redistribute it and/or 58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * modify it under the terms of the GNU Library General Public 68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * License as published by the Free Software Foundation; either 78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * version 2 of the License, or (at your option) any later version. 88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This library is distributed in the hope that it will be useful, 108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * but WITHOUT ANY WARRANTY; without even the implied warranty of 118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Library General Public License for more details. 138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * You should have received a copy of the GNU Library General Public License 158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * along with this library; see the file COPYING.LIB. If not, write to 168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Boston, MA 02110-1301, USA. 188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 20dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#include "config.h" 2106ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen#include "WebDOMHTMLOptionsCollection.h" 228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2306ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen#include "HTMLOptionsCollection.h" 2406ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen#include "WebExceptionHandler.h" 258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2606ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsenunsigned WebDOMHTMLOptionsCollection::length() const 27dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block{ 2806ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen if (!impl()) 2906ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen return 0; 3006ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen 3106ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen return impl()->length(); 32dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block} 338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 3406ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsenvoid WebDOMHTMLOptionsCollection::setLength(unsigned length) 35dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block{ 3606ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen if (!impl()) 3706ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen return; 388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 3906ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen WebCore::ExceptionCode ec = 0; 4006ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen impl()->setLength(length, ec); 4106ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen webDOMRaiseError(static_cast<WebDOMExceptionCode>(ec)); 428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 43