亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? kjs_binding.cpp

?? It is WEB browser core module with source code. Very good!
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// -*- c-basic-offset: 2 -*-
/*
 *  This file is part of the KDE libraries
 *  Copyright (C) 1999-2001 Harri Porten (porten@kde.org)
 *  Copyright (C) 2004 Apple Computer, Inc.
 *
 *  This library is free software; you can redistribute it and/or
 *  modify it under the terms of the GNU Lesser General Public
 *  License as published by the Free Software Foundation; either
 *  version 2 of the License, or (at your option) any later version.
 *
 *  This library is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *  Lesser General Public License for more details.
 *
 *  You should have received a copy of the GNU Lesser General Public
 *  License along with this library; if not, write to the Free Software
 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

#include "kjs_binding.h"
#include "kjs_dom.h"
#include "kjs_window.h"
#include <kjs/internal.h> // for InterpreterImp

#include "dom/dom_exception.h"
#include "dom/dom2_range.h"
#include "xml/dom2_eventsimpl.h"

#include <kdebug.h>

using DOM::DOMString;

using namespace KJS;

/* TODO:
 * The catch all (...) clauses below shouldn't be necessary.
 * But they helped to view for example www.faz.net in an stable manner.
 * Those unknown exceptions should be treated as severe bugs and be fixed.
 *
 * these may be CSS exceptions - need to check - pmk
 */

Value DOMObject::get(ExecState *exec, const Identifier &p) const
{
  Value result;
#ifdef KHTML_NO_EXCEPTIONS
  DOM::_exceptioncode = 0;
  result = tryGet(exec,p);

  if (DOM::_exceptioncode) {
    if (DOM::_exceptioncode <= DOM::DOMException::_EXCEPTION_MAX) {
      Object err = Error::create(exec, GeneralError, QString("DOM exception %1").arg(DOM::_exceptioncode).local8Bit());
      err.put(exec, "code", Number(DOM::_exceptioncode));
      exec->setException( err );
      result = Undefined();
    } else {
      kdError(6070) << "Unknown exception in DOMObject::get()" << endl;
      result = String("Unknown exception");
    }
  DOM::_exceptioncode = 0;
  }
#else
  try {
    result = tryGet(exec,p);
  }
  catch (DOM::DOMException e) {
    // ### translate code into readable string ?
    // ### oh, and s/QString/i18n or I18N_NOOP (the code in kjs uses I18N_NOOP... but where is it translated ?)
    //     and where does it appear to the user ?
    Object err = Error::create(exec, GeneralError, QString("DOM exception %1").arg(e.code).local8Bit());
    err.put(exec, "code", Number(e.code));
    exec->setException( err );
    result = Undefined();
  }
  catch (...) {
    kdError(6070) << "Unknown exception in DOMObject::get()" << endl;
    result = String("Unknown exception");
  }
#endif
  return result;
}

void DOMObject::put(ExecState *exec, const Identifier &propertyName,
                    const Value &value, int attr)
{
#ifdef KHTML_NO_EXCEPTIONS
  DOM::_exceptioncode = 0;
  tryPut(exec, propertyName, value, attr);

  if (DOM::_exceptioncode) {
    if (DOM::_exceptioncode <= DOM::DOMException::_EXCEPTION_MAX) {
      Object err = Error::create(exec, GeneralError, QString("DOM exception %1").arg(DOM::_exceptioncode).local8Bit());
      err.put(exec, "code", Number(DOM::_exceptioncode));
      exec->setException(err);
    } else {
      kdError(6070) << "Unknown exception in DOMObject::put()" << endl;
    }
    DOM::_exceptioncode = 0;
  }
#else
  try {
    tryPut(exec, propertyName, value, attr);
  }
  catch (DOM::DOMException e) {
    Object err = Error::create(exec, GeneralError, QString("DOM exception %1").arg(e.code).local8Bit());
    err.put(exec, "code", Number(e.code));
    exec->setException(err);
  }
  catch (...) {
    kdError(6070) << "Unknown exception in DOMObject::put()" << endl;
  }
#endif
}

UString DOMObject::toString(ExecState *) const
{
  return "[object " + className() + "]";
}

Value DOMFunction::get(ExecState *exec, const Identifier &propertyName) const
{
  Value result;
#ifdef KHTML_NO_EXCEPTIONS
  DOM::_exceptioncode = 0;

  result = tryGet(exec, propertyName);

  if (DOM::_exceptioncode)
    {
    if (DOM::_exceptioncode <= DOM::DOMException::_EXCEPTION_MAX) {
      result = Undefined();
      Object err = Error::create(exec, GeneralError, QString("DOM exception %1").arg(DOM::_exceptioncode).local8Bit());
      exec->setException(err);
    } else {
      kdError(6070) << "Unknown exception in DOMFunction::get()" << endl;
      result = String("Unknown exception");
    }
    DOM::_exceptioncode = 0;
  }
#else
  try {
    result = tryGet(exec, propertyName);
  }
  catch (DOM::DOMException e) {
    result = Undefined();
    Object err = Error::create(exec, GeneralError, QString("DOM exception %1").arg(e.code).local8Bit());
    err.put(exec, "code", Number(e.code));
    exec->setException(err);
  }
  catch (...) {
    kdError(6070) << "Unknown exception in DOMFunction::get()" << endl;
    result = String("Unknown exception");
  }
#endif
  return result;
}

Value DOMFunction::call(ExecState *exec, Object &thisObj, const List &args)
{
  Value val;
#ifdef KHTML_NO_EXCEPTIONS
  DOM::_exceptioncode = 0;
  val = tryCall(exec, thisObj, args);

  if (DOM::_exceptioncode)
  {
    Object err;
    int code = 0;
    // exceptioncodes are 0<dom<css<range
    // event exceptions are not actually ever raised, no need to catch
    if (DOM::_exceptioncode <= DOM::DOMException::_EXCEPTION_MAX) {
      code = DOM::_exceptioncode;
      err = Error::create(exec, GeneralError, QString("DOM Exception %1").arg(code).local8Bit());
    } else if (DOM::_exceptioncode <= DOM::CSSException::_EXCEPTION_MAX) {
      code = DOM::_exceptioncode - DOM::CSSException::_EXCEPTION_OFFSET;
      err = Error::create(exec, GeneralError, QString("CSS Exception %1").arg(code).local8Bit());
    } else if (DOM::_exceptioncode <= DOM::RangeException::_EXCEPTION_MAX) {
      code = DOM::_exceptioncode - DOM::RangeException::_EXCEPTION_OFFSET;
      err = Error::create(exec, GeneralError, QString("DOM Range Exception %1").arg(code).local8Bit());
    } else {
      kdError(6070) << "Unknown exception in DOMFunction::call()" << endl;
      err = Error::create(exec, GeneralError, "Unknown exception");
    }
    err.put(exec, "code", Number(code));
    exec->setException(err);
    DOM::_exceptioncode = 0;
  }
#else
  try {
    val = tryCall(exec, thisObj, args);
  }
  // pity there's no way to distinguish between these in JS code
  catch (DOM::DOMException e) {
    Object err = Error::create(exec, GeneralError, QString("DOM Exception %1").arg(e.code).local8Bit());
    err.put(exec, "code", Number(e.code));
    exec->setException(err);
  }
  catch (DOM::RangeException e) {
    Object err = Error::create(exec, GeneralError, QString("DOM Range Exception %1").arg(e.code).local8Bit());
    err.put(exec, "code", Number(e.code));
    exec->setException(err);
  }
  catch (DOM::CSSException e) {
    Object err = Error::create(exec, GeneralError, QString("CSS Exception %1").arg(e.code).local8Bit());
    err.put(exec, "code", Number(e.code));
    exec->setException(err);
  }
  catch (DOM::EventException e) {
    Object err = Error::create(exec, GeneralError, QString("DOM Event Exception %1").arg(e.code).local8Bit());
    err.put(exec, "code", Number(e.code));
    exec->setException(err);
  }
  catch (...) {
    kdError(6070) << "Unknown exception in DOMFunction::call()" << endl;
    Object err = Error::create(exec, GeneralError, "Unknown exception");
    exec->setException(err);
  }
#endif
  return val;
}

static QPtrDict<DOMObject> * staticDomObjects = 0;
QPtrDict< QPtrDict<DOMObject> > * staticDomObjectsPerDocument = 0;

QPtrDict<DOMObject> & ScriptInterpreter::domObjects()
{
  if (!staticDomObjects) {
    staticDomObjects = new QPtrDict<DOMObject>(1021);
  }
  return *staticDomObjects;
}

QPtrDict< QPtrDict<DOMObject> > & ScriptInterpreter::domObjectsPerDocument()
{
  if (!staticDomObjectsPerDocument) {
    staticDomObjectsPerDocument = new QPtrDict<QPtrDict<DOMObject> >();
    staticDomObjectsPerDocument->setAutoDelete(true);
  }
  return *staticDomObjectsPerDocument;
}


ScriptInterpreter::ScriptInterpreter( const Object &global, KHTMLPart* part )
  : Interpreter( global ), m_part( part ),
    m_evt( 0L ), m_inlineCode(false), m_timerCallback(false)
{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产色综合久久不卡电影| 91毛片在线观看| 亚洲精品一二三区| 国产精品卡一卡二| 国产精品久久久久久久久快鸭| 久久精品综合网| 国产亚洲精品7777| 国产精品丝袜一区| 亚洲裸体在线观看| 亚州成人在线电影| 麻豆91免费看| 国产不卡视频一区二区三区| 9久草视频在线视频精品| 色综合天天天天做夜夜夜夜做| 91在线云播放| 欧美日韩dvd在线观看| 欧美一区国产二区| 欧美精品一区二区三区在线| 欧美极品另类videosde| 一区二区三区丝袜| 精品无人码麻豆乱码1区2区 | 欧美午夜精品一区二区蜜桃| 欧美在线免费播放| 欧美电影免费提供在线观看| 日本一区二区免费在线| 亚洲一区二区影院| 精品制服美女丁香| 日本韩国欧美三级| 日韩欧美电影一区| 亚洲欧美在线高清| 亚洲高清在线视频| 激情综合色综合久久| 色婷婷综合久久久久中文一区二区| 精品视频资源站| 国产日韩欧美一区二区三区综合| 国产精品精品国产色婷婷| 日韩精品国产欧美| 成人av网站在线| 欧美岛国在线观看| 一区二区三区美女| 国产成人自拍网| 欧美一区午夜精品| 一级做a爱片久久| 国产成a人亚洲精| 欧美日韩中文精品| 国产精品久久久久aaaa樱花| 久久国产精品无码网站| 在线免费观看日韩欧美| 久久精品人人做人人爽97| 日韩经典中文字幕一区| av网站免费线看精品| 精品国产青草久久久久福利| 亚洲成人动漫一区| 日本电影欧美片| 国产精品人人做人人爽人人添| 免费观看成人av| 欧美美女视频在线观看| 一区二区中文字幕在线| 国产在线观看一区二区| 欧美电影免费观看高清完整版在线| 亚洲在线观看免费视频| 不卡的看片网站| 亚洲精品在线免费播放| 看片的网站亚洲| 日韩一区二区精品在线观看| 午夜精品久久久久| 欧美亚洲高清一区| 亚洲资源在线观看| 在线观看日产精品| 亚洲va欧美va国产va天堂影院| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 亚洲大尺度视频在线观看| 91蜜桃网址入口| 亚洲欧美日韩久久精品| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 99久久国产免费看| 综合av第一页| 91蜜桃在线免费视频| 亚洲欧美日本在线| 欧美日韩一区二区三区高清| 亚洲一卡二卡三卡四卡五卡| 91久久精品一区二区三| 亚洲与欧洲av电影| 欧美一区二区在线免费观看| 喷白浆一区二区| 精品国产露脸精彩对白| 懂色av噜噜一区二区三区av| 最新成人av在线| 欧美在线看片a免费观看| 午夜精品在线看| 欧美电影免费观看高清完整版在线观看| 免费成人在线网站| 国产视频一区二区三区在线观看| 成人一区在线看| 亚洲高清免费在线| 欧美一级午夜免费电影| 国产精品18久久久久久久网站| 国产欧美日韩精品在线| 在线一区二区三区| 看国产成人h片视频| 中文字幕一区日韩精品欧美| 欧美猛男gaygay网站| 国产一区二区在线观看免费| 亚洲欧美国产三级| 欧美xxxxx牲另类人与| 成人av在线资源网站| 日韩一区精品视频| 国产精品亲子伦对白| 欧美日韩一区二区三区四区 | 精品国产乱码久久久久久免费| 成人深夜在线观看| 偷拍亚洲欧洲综合| 国产欧美日韩三级| 欧美日韩国产系列| 成人午夜精品一区二区三区| 午夜亚洲国产au精品一区二区| 久久婷婷国产综合国色天香| 在线一区二区视频| 国产福利精品导航| 免费观看久久久4p| 亚洲一区在线观看免费观看电影高清 | 欧美日韩国产精品自在自线| 国产一区二区三区免费播放| 亚洲成人av一区二区| 国产精品久久久久久久久晋中| 欧美一区二区三区影视| 91蝌蚪porny| 国产成人丝袜美腿| 激情偷乱视频一区二区三区| 日韩va亚洲va欧美va久久| 成人免费一区二区三区视频 | 久久99国内精品| 香蕉成人啪国产精品视频综合网| 最新欧美精品一区二区三区| 久久九九99视频| 亚洲精品一区二区在线观看| 制服丝袜亚洲网站| 91福利视频网站| 日本韩国欧美一区| 色综合天天综合狠狠| 97se亚洲国产综合自在线 | 一区二区激情视频| 日韩一区在线免费观看| 欧美国产禁国产网站cc| 久久免费电影网| 久久亚洲春色中文字幕久久久| 日韩一卡二卡三卡| 欧美一区二区三区色| 欧美日韩mp4| 91超碰这里只有精品国产| 欧美日本在线观看| 欧美人xxxx| 日韩丝袜美女视频| 欧美电影免费观看高清完整版在线观看 | 国产午夜精品理论片a级大结局| 日韩精品一区二区三区视频| 欧美成人精品1314www| 久久综合九色综合97_久久久| 久久无码av三级| 国产精品久久久久久久第一福利| 亚洲图片欧美激情| 亚洲午夜精品久久久久久久久| 午夜亚洲福利老司机| 免费三级欧美电影| 国产剧情一区二区三区| youjizz久久| 欧美午夜电影网| 日韩欧美一级二级三级久久久| 26uuu色噜噜精品一区二区| 久久精品一二三| 一区二区三区中文字幕电影| 午夜久久久久久| 国产精品小仙女| 91成人国产精品| 欧美xxxxx裸体时装秀| 国产精品素人视频| 午夜成人免费视频| 国产精品888| 欧美午夜不卡在线观看免费| 日韩欧美一区在线| 中文字幕一区二区三区色视频| 亚洲综合色婷婷| 国产乱子伦一区二区三区国色天香| 成人高清免费在线播放| 色婷婷精品久久二区二区蜜臀av| 欧美一卡二卡三卡四卡| 亚洲国产精品二十页| 亚洲第一久久影院| 国产91综合网| 欧美日韩国产精选| 自拍偷自拍亚洲精品播放| 日韩精品免费专区| 色综合久久久久综合| 精品理论电影在线| 亚洲小说欧美激情另类| 国产精品一二三区在线| 67194成人在线观看| 亚洲欧美一区二区三区久本道91| 精品影视av免费| 在线播放国产精品二区一二区四区|