mirror of
https://bitbucket.org/smil3y/kdelibs.git
synced 2025-02-23 18:32:49 +00:00
generic: make KJS KHTML exclusive
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
e8c09de3c1
commit
bb26b6abd8
9 changed files with 88 additions and 92 deletions
|
@ -99,7 +99,7 @@ set_package_properties(OpenSSL PROPERTIES
|
||||||
DESCRIPTION "Support for secure network communications (SSL and TLS)"
|
DESCRIPTION "Support for secure network communications (SSL and TLS)"
|
||||||
URL "http://openssl.org"
|
URL "http://openssl.org"
|
||||||
TYPE RECOMMENDED
|
TYPE RECOMMENDED
|
||||||
PURPOSE "KDE uses OpenSSL for the bulk of secure communications, including secure web browsing via HTTPS"
|
PURPOSE "For the bulk of secure communications, including secure web browsing via HTTPS"
|
||||||
)
|
)
|
||||||
|
|
||||||
macro_optional_find_package(Libintl)
|
macro_optional_find_package(Libintl)
|
||||||
|
@ -117,6 +117,14 @@ set_package_properties(DBusMenuQt PROPERTIES
|
||||||
TYPE RECOMMENDED
|
TYPE RECOMMENDED
|
||||||
)
|
)
|
||||||
|
|
||||||
|
macro_optional_find_package(PCRE)
|
||||||
|
set_package_properties(PCRE PROPERTIES
|
||||||
|
DESCRIPTION "Perl-compatible regular expressions in KJS"
|
||||||
|
URL "http://www.pcre.org"
|
||||||
|
TYPE RECOMMENDED
|
||||||
|
PURPOSE "Faster regular expression in KJS, increases web pages compatibility"
|
||||||
|
)
|
||||||
|
|
||||||
################# Disallow in-source build #################
|
################# Disallow in-source build #################
|
||||||
|
|
||||||
if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
|
if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
|
||||||
|
|
|
@ -452,8 +452,6 @@ set(_kde_libraries
|
||||||
khtml
|
khtml
|
||||||
kidletime
|
kidletime
|
||||||
kio
|
kio
|
||||||
kjs
|
|
||||||
kjsapi
|
|
||||||
knotifyconfig
|
knotifyconfig
|
||||||
kparts
|
kparts
|
||||||
kprintutils
|
kprintutils
|
||||||
|
|
|
@ -494,22 +494,32 @@ qt4_add_dbus_interface(khtml_LIB_SRCS
|
||||||
kcookiejar_interface
|
kcookiejar_interface
|
||||||
)
|
)
|
||||||
|
|
||||||
add_library(khtml ${LIBRARY_TYPE} ${khtml_LIB_SRCS})
|
# going trough the extra trouble to not use shared KJS library for performance reasons
|
||||||
|
add_library(khtml ${LIBRARY_TYPE} ${khtml_LIB_SRCS} $<TARGET_OBJECTS:kjs>)
|
||||||
|
|
||||||
target_link_libraries(khtml
|
target_link_libraries(khtml
|
||||||
${KDE4_PHONON_LIBRARY}
|
${KDE4_PHONON_LIBRARY}
|
||||||
${KDE4_KPARTS_LIBS}
|
${KDE4_KPARTS_LIBS}
|
||||||
ktexteditor
|
ktexteditor
|
||||||
kjs
|
|
||||||
${X11_LIBRARIES}
|
|
||||||
kparts
|
kparts
|
||||||
kio
|
kio
|
||||||
kdeui
|
kdeui
|
||||||
kdecore
|
kdecore
|
||||||
|
${X11_LIBRARIES}
|
||||||
${QT_QTCORE_LIBRARY}
|
${QT_QTCORE_LIBRARY}
|
||||||
${QT_QTGUI_LIBRARY}
|
${QT_QTGUI_LIBRARY}
|
||||||
|
# for KJS
|
||||||
|
m
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# for KJS
|
||||||
|
if(CMAKE_THREAD_LIBS_INIT)
|
||||||
|
target_link_libraries(khtml ${CMAKE_THREAD_LIBS_INIT})
|
||||||
|
endif()
|
||||||
|
if(PCRE_FOUND)
|
||||||
|
target_link_libraries(khtml ${PCRE_LIBRARIES})
|
||||||
|
endif()
|
||||||
|
|
||||||
set_target_properties(khtml PROPERTIES
|
set_target_properties(khtml PROPERTIES
|
||||||
VERSION ${KDE_NON_GENERIC_LIB_VERSION}
|
VERSION ${KDE_NON_GENERIC_LIB_VERSION}
|
||||||
SOVERSION ${KDE_NON_GENERIC_LIB_SOVERSION}
|
SOVERSION ${KDE_NON_GENERIC_LIB_SOVERSION}
|
||||||
|
@ -640,7 +650,7 @@ install(
|
||||||
|
|
||||||
kde4_add_plugin(khtmladaptorpart khtmladaptorpart.cpp)
|
kde4_add_plugin(khtmladaptorpart khtmladaptorpart.cpp)
|
||||||
|
|
||||||
target_link_libraries(khtmladaptorpart ${KDE4_KPARTS_LIBS} kjs)
|
target_link_libraries(khtmladaptorpart ${KDE4_KPARTS_LIBS} khtml)
|
||||||
|
|
||||||
install(
|
install(
|
||||||
TARGETS khtmladaptorpart
|
TARGETS khtmladaptorpart
|
||||||
|
|
|
@ -234,11 +234,11 @@ ProcessingInstruction &ProcessingInstruction::operator = (const Node &other)
|
||||||
NodeImpl* ohandle = other.handle();
|
NodeImpl* ohandle = other.handle();
|
||||||
if ( impl != ohandle ) {
|
if ( impl != ohandle ) {
|
||||||
if (!ohandle || ohandle->nodeType() != PROCESSING_INSTRUCTION_NODE) {
|
if (!ohandle || ohandle->nodeType() != PROCESSING_INSTRUCTION_NODE) {
|
||||||
if ( impl ) impl->deref();
|
if ( impl ) impl->deref();
|
||||||
impl = 0;
|
impl = 0;
|
||||||
} else {
|
} else {
|
||||||
Node::operator =(other);
|
Node::operator =(other);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
@ -256,7 +256,7 @@ ProcessingInstruction::~ProcessingInstruction()
|
||||||
DOMString ProcessingInstruction::target() const
|
DOMString ProcessingInstruction::target() const
|
||||||
{
|
{
|
||||||
if (!impl)
|
if (!impl)
|
||||||
return DOMString(); // ### enable throw DOMException(DOMException::NOT_FOUND_ERR);
|
return DOMString(); // ### enable throw DOMException(DOMException::NOT_FOUND_ERR);
|
||||||
|
|
||||||
return ((ProcessingInstructionImpl*)impl)->target();
|
return ((ProcessingInstructionImpl*)impl)->target();
|
||||||
}
|
}
|
||||||
|
@ -264,7 +264,7 @@ DOMString ProcessingInstruction::target() const
|
||||||
DOMString ProcessingInstruction::data() const
|
DOMString ProcessingInstruction::data() const
|
||||||
{
|
{
|
||||||
if (!impl)
|
if (!impl)
|
||||||
return DOMString(); // ### enable throw DOMException(DOMException::NOT_FOUND_ERR);
|
return DOMString(); // ### enable throw DOMException(DOMException::NOT_FOUND_ERR);
|
||||||
|
|
||||||
return ((ProcessingInstructionImpl*)impl)->data();
|
return ((ProcessingInstructionImpl*)impl)->data();
|
||||||
}
|
}
|
||||||
|
@ -272,12 +272,12 @@ DOMString ProcessingInstruction::data() const
|
||||||
void ProcessingInstruction::setData( const DOMString &_data )
|
void ProcessingInstruction::setData( const DOMString &_data )
|
||||||
{
|
{
|
||||||
if (!impl)
|
if (!impl)
|
||||||
return; // ### enable throw DOMException(DOMException::NOT_FOUND_ERR);
|
return; // ### enable throw DOMException(DOMException::NOT_FOUND_ERR);
|
||||||
|
|
||||||
int exceptioncode = 0;
|
int exceptioncode = 0;
|
||||||
((ProcessingInstructionImpl*)impl)->setData(_data, exceptioncode);
|
((ProcessingInstructionImpl*)impl)->setData(_data, exceptioncode);
|
||||||
if (exceptioncode)
|
if (exceptioncode)
|
||||||
throw DOMException(exceptioncode);
|
throw DOMException(exceptioncode);
|
||||||
}
|
}
|
||||||
|
|
||||||
ProcessingInstruction::ProcessingInstruction(ProcessingInstructionImpl *i) : Node(i)
|
ProcessingInstruction::ProcessingInstruction(ProcessingInstructionImpl *i) : Node(i)
|
||||||
|
|
|
@ -216,7 +216,7 @@ DOM::DOMString UString::domString() const
|
||||||
|
|
||||||
QString UString::qstring() const
|
QString UString::qstring() const
|
||||||
{
|
{
|
||||||
return QString((QChar*) data(), size());
|
return QString::fromRawData((QChar*) data(), size());
|
||||||
}
|
}
|
||||||
|
|
||||||
DOM::DOMString Identifier::domString() const
|
DOM::DOMString Identifier::domString() const
|
||||||
|
@ -226,7 +226,7 @@ DOM::DOMString Identifier::domString() const
|
||||||
|
|
||||||
QString Identifier::qstring() const
|
QString Identifier::qstring() const
|
||||||
{
|
{
|
||||||
return QString((QChar*) data(), size());
|
return QString::fromRawData((QChar*) data(), size());
|
||||||
}
|
}
|
||||||
|
|
||||||
JSValue* valueGetterAdapter(ExecState* exec, JSObject*, const Identifier& , const PropertySlot& slot)
|
JSValue* valueGetterAdapter(ExecState* exec, JSObject*, const Identifier& , const PropertySlot& slot)
|
||||||
|
@ -270,7 +270,7 @@ QVariant ValueToVariant(ExecState* exec, JSValue *val) {
|
||||||
res = QVariant(val->toNumber(exec));
|
res = QVariant(val->toNumber(exec));
|
||||||
break;
|
break;
|
||||||
case StringType:
|
case StringType:
|
||||||
res = QVariant(val->toString(exec).qstring());
|
res = QVariant(val->toString(exec).ascii());
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
// everything else will be 'invalid'
|
// everything else will be 'invalid'
|
||||||
|
|
|
@ -128,7 +128,7 @@ JSValue* KJS::HTMLDocFunction::callAsFunction(ExecState *exec, JSObject *thisObj
|
||||||
if (id == HTMLDocument::WriteLn)
|
if (id == HTMLDocument::WriteLn)
|
||||||
str += "\n";
|
str += "\n";
|
||||||
#ifdef KJS_VERBOSE
|
#ifdef KJS_VERBOSE
|
||||||
kDebug(6070) << "document.write: " << str.qstring();
|
kDebug(6070) << "document.write: " << str.ascii();
|
||||||
#endif
|
#endif
|
||||||
doc.write(str.qstring());
|
doc.write(str.qstring());
|
||||||
return jsUndefined();
|
return jsUndefined();
|
||||||
|
@ -222,7 +222,7 @@ static bool isLateProperty(unsigned token)
|
||||||
bool KJS::HTMLDocument::getOwnPropertySlot(ExecState *exec, const Identifier &propertyName, PropertySlot& slot)
|
bool KJS::HTMLDocument::getOwnPropertySlot(ExecState *exec, const Identifier &propertyName, PropertySlot& slot)
|
||||||
{
|
{
|
||||||
#ifdef KJS_VERBOSE
|
#ifdef KJS_VERBOSE
|
||||||
kDebug(6070) << "KJS::HTMLDocument::getOwnPropertySlot " << propertyName.qstring();
|
kDebug(6070) << "KJS::HTMLDocument::getOwnPropertySlot " << propertyName.ascii();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
DOM::DocumentImpl* docImpl = impl();
|
DOM::DocumentImpl* docImpl = impl();
|
||||||
|
@ -261,7 +261,7 @@ bool KJS::HTMLDocument::getOwnPropertySlot(ExecState *exec, const Identifier &pr
|
||||||
|
|
||||||
// Check for frames/iframes with name==propertyName
|
// Check for frames/iframes with name==propertyName
|
||||||
if ( part ) {
|
if ( part ) {
|
||||||
if (part->findFrame( propertyName.qstring() )) {
|
if (part->findFrame( propertyName.ascii() )) {
|
||||||
slot.setCustom(this, frameNameGetter);
|
slot.setCustom(this, frameNameGetter);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -322,7 +322,7 @@ JSValue *HTMLDocument::frameNameGetter(ExecState*, JSObject*, const Identifier&
|
||||||
{
|
{
|
||||||
HTMLDocument *thisObj = static_cast<HTMLDocument*>(slot.slotBase());
|
HTMLDocument *thisObj = static_cast<HTMLDocument*>(slot.slotBase());
|
||||||
// Check for frames/iframes with name==propertyName
|
// Check for frames/iframes with name==propertyName
|
||||||
return Window::retrieve(thisObj->impl()->part()->findFrame( name.qstring() ));
|
return Window::retrieve(thisObj->impl()->part()->findFrame( name.ascii() ));
|
||||||
}
|
}
|
||||||
|
|
||||||
JSValue *HTMLDocument::objectNameGetter(ExecState *exec, JSObject*, const Identifier& name, const PropertySlot& slot)
|
JSValue *HTMLDocument::objectNameGetter(ExecState *exec, JSObject*, const Identifier& name, const PropertySlot& slot)
|
||||||
|
|
|
@ -83,7 +83,7 @@ bool pluginRootGet(ExecState* exec, ScriptableExtension* ext, const KJS::Identif
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
QVariant v = rootObj.owner->get(0 /* ### we don't expect leaves to check credentials*/,
|
QVariant v = rootObj.owner->get(0 /* ### we don't expect leaves to check credentials*/,
|
||||||
rootObj.objId, i.qstring());
|
rootObj.objId, i.ascii());
|
||||||
|
|
||||||
bool ok = false;
|
bool ok = false;
|
||||||
if (!isException(v)) {
|
if (!isException(v)) {
|
||||||
|
@ -102,7 +102,7 @@ bool pluginRootPut(ExecState* /*exec*/, ScriptableExtension* ext, const KJS::Ide
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
QVariant qv = ScriptableOperations::exportValue(v, true);
|
QVariant qv = ScriptableOperations::exportValue(v, true);
|
||||||
bool ok = rootObj.owner->put(0, rootObj.objId, i.qstring(), qv);
|
bool ok = rootObj.owner->put(0, rootObj.objId, i.ascii(), qv);
|
||||||
ScriptableExtension::releaseValue(qv);
|
ScriptableExtension::releaseValue(qv);
|
||||||
|
|
||||||
rootObj.owner->release(rootObj.objId);
|
rootObj.owner->release(rootObj.objId);
|
||||||
|
@ -199,7 +199,7 @@ bool WrapScriptableObject::getOwnPropertySlot(ExecState* exec, const Identifier&
|
||||||
if (!ok)
|
if (!ok)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
QVariant v = doGet(exec, actualObj, i.qstring(), &ok);
|
QVariant v = doGet(exec, actualObj, i.ascii(), &ok);
|
||||||
|
|
||||||
if (!ok)
|
if (!ok)
|
||||||
return false;
|
return false;
|
||||||
|
@ -217,7 +217,7 @@ void WrapScriptableObject::put(ExecState* exec, const Identifier& i, JSValue* va
|
||||||
return;
|
return;
|
||||||
|
|
||||||
QVariant sv = ScriptableOperations::exportValue(value, true);
|
QVariant sv = ScriptableOperations::exportValue(value, true);
|
||||||
actualObj.owner->put(principal(exec), actualObj.objId, i.qstring(), sv);
|
actualObj.owner->put(principal(exec), actualObj.objId, i.ascii(), sv);
|
||||||
ScriptableExtension::releaseValue(sv);
|
ScriptableExtension::releaseValue(sv);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -230,7 +230,7 @@ bool WrapScriptableObject::deleteProperty(ExecState* exec, const Identifier& i)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
return actualObj.owner->removeProperty(principal(exec),
|
return actualObj.owner->removeProperty(principal(exec),
|
||||||
actualObj.objId, i.qstring());
|
actualObj.objId, i.ascii());
|
||||||
}
|
}
|
||||||
|
|
||||||
ScriptableExtension::ArgList WrapScriptableObject::exportArgs(const List& l)
|
ScriptableExtension::ArgList WrapScriptableObject::exportArgs(const List& l)
|
||||||
|
@ -550,7 +550,7 @@ QVariant ScriptableOperations::handleReturn(ExecState* exec, JSValue* v)
|
||||||
if (JSObject* eo = e->getObject()) {
|
if (JSObject* eo = e->getObject()) {
|
||||||
JSValue* msgVal = eo->get(exec, exec->propertyNames().message);
|
JSValue* msgVal = eo->get(exec, exec->propertyNames().message);
|
||||||
if (!msgVal->isUndefined())
|
if (!msgVal->isUndefined())
|
||||||
msg = msgVal->toString(exec).qstring();
|
msg = msgVal->toString(exec).ascii();
|
||||||
|
|
||||||
// in case the get failed too.
|
// in case the get failed too.
|
||||||
exec->clearException();
|
exec->clearException();
|
||||||
|
@ -706,7 +706,7 @@ bool ScriptableOperations::enumerateProperties(ScriptableExtension* caller,
|
||||||
o->getPropertyNames(exec, pa);
|
o->getPropertyNames(exec, pa);
|
||||||
|
|
||||||
for (int i = 0; i < pa.size(); ++i)
|
for (int i = 0; i < pa.size(); ++i)
|
||||||
result->append(pa[i].qstring());
|
result->append(pa[i].ascii());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -822,7 +822,7 @@ bool Window::getOwnPropertySlot(ExecState *exec, const Identifier& propertyName,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Now do frame indexing.
|
// Now do frame indexing.
|
||||||
KParts::ReadOnlyPart *rop = part->findFramePart( propertyName.qstring() );
|
KParts::ReadOnlyPart *rop = part->findFramePart( propertyName.ascii() );
|
||||||
if (rop) {
|
if (rop) {
|
||||||
slot.setCustom(this, framePartGetter);
|
slot.setCustom(this, framePartGetter);
|
||||||
return true;
|
return true;
|
||||||
|
@ -849,7 +849,7 @@ bool Window::getOwnPropertySlot(ExecState *exec, const Identifier& propertyName,
|
||||||
// This isn't necessarily a bug. Some code uses if(!window.blah) window.blah=1
|
// This isn't necessarily a bug. Some code uses if(!window.blah) window.blah=1
|
||||||
// But it can also mean something isn't loaded or implemented, hence the WARNING to help grepping.
|
// But it can also mean something isn't loaded or implemented, hence the WARNING to help grepping.
|
||||||
#ifdef KJS_VERBOSE
|
#ifdef KJS_VERBOSE
|
||||||
kDebug(6070) << "WARNING: Window::get property not found: " << propertyName.qstring();
|
kDebug(6070) << "WARNING: Window::get property not found: " << propertyName.ascii();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return JSObject::getOwnPropertySlot(exec, propertyName, slot);
|
return JSObject::getOwnPropertySlot(exec, propertyName, slot);
|
||||||
|
@ -881,7 +881,7 @@ JSValue *Window::framePartGetter(ExecState *exec, JSObject*, const Identifier& p
|
||||||
Q_UNUSED(exec);
|
Q_UNUSED(exec);
|
||||||
Window* thisObj = static_cast<Window*>(slot.slotBase());
|
Window* thisObj = static_cast<Window*>(slot.slotBase());
|
||||||
KHTMLPart *part = qobject_cast<KHTMLPart*>(thisObj->m_frame->m_part);
|
KHTMLPart *part = qobject_cast<KHTMLPart*>(thisObj->m_frame->m_part);
|
||||||
KParts::ReadOnlyPart *rop = part->findFramePart( propertyName.qstring() );
|
KParts::ReadOnlyPart *rop = part->findFramePart( propertyName.ascii() );
|
||||||
return thisObj->retrieve(rop);
|
return thisObj->retrieve(rop);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1352,10 +1352,10 @@ void Window::put(ExecState* exec, const Identifier &propertyName, JSValue *value
|
||||||
if (entry)
|
if (entry)
|
||||||
{
|
{
|
||||||
#ifdef KJS_VERBOSE
|
#ifdef KJS_VERBOSE
|
||||||
kDebug(6070) << "Window("<<this<<")::put " << propertyName.qstring();
|
kDebug(6070) << "Window("<<this<<")::put " << propertyName.ascii();
|
||||||
#endif
|
#endif
|
||||||
if (entry->value == _Location) {
|
if (entry->value == _Location) {
|
||||||
goURL(exec, value->toString(exec).qstring());
|
goURL(exec, value->toString(exec).ascii());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1366,7 +1366,7 @@ void Window::put(ExecState* exec, const Identifier &propertyName, JSValue *value
|
||||||
if (isSafeScript(exec) && part->settings()->windowStatusPolicy(part->url().host())
|
if (isSafeScript(exec) && part->settings()->windowStatusPolicy(part->url().host())
|
||||||
== KHTMLSettings::KJSWindowStatusAllow) {
|
== KHTMLSettings::KJSWindowStatusAllow) {
|
||||||
UString s = value->toString(exec);
|
UString s = value->toString(exec);
|
||||||
part->setJSStatusBarText(s.qstring());
|
part->setJSStatusBarText(s.ascii());
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1374,7 +1374,7 @@ void Window::put(ExecState* exec, const Identifier &propertyName, JSValue *value
|
||||||
if (isSafeScript(exec) && part->settings()->windowStatusPolicy(part->url().host())
|
if (isSafeScript(exec) && part->settings()->windowStatusPolicy(part->url().host())
|
||||||
== KHTMLSettings::KJSWindowStatusAllow) {
|
== KHTMLSettings::KJSWindowStatusAllow) {
|
||||||
UString s = value->toString(exec);
|
UString s = value->toString(exec);
|
||||||
part->setJSDefaultStatusBarText(s.qstring());
|
part->setJSDefaultStatusBarText(s.ascii());
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1495,7 +1495,7 @@ void Window::put(ExecState* exec, const Identifier &propertyName, JSValue *value
|
||||||
pluginRootPut(exec, m_frame->m_scriptable.data(), propertyName, value))
|
pluginRootPut(exec, m_frame->m_scriptable.data(), propertyName, value))
|
||||||
return;
|
return;
|
||||||
if (safe) {
|
if (safe) {
|
||||||
//kDebug(6070) << "Window("<<this<<")::put storing " << propertyName.qstring();
|
//kDebug(6070) << "Window("<<this<<")::put storing " << propertyName.ascii();
|
||||||
JSObject::put(exec, propertyName, value, attr);
|
JSObject::put(exec, propertyName, value, attr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1853,9 +1853,14 @@ JSValue *Window::openWindow(ExecState *exec, const List& args)
|
||||||
}
|
}
|
||||||
|
|
||||||
KHTMLSettings::KJSWindowOpenPolicy policy =
|
KHTMLSettings::KJSWindowOpenPolicy policy =
|
||||||
part->settings()->windowOpenPolicy(part->url().host());
|
part->settings()->windowOpenPolicy(part->url().host());
|
||||||
|
|
||||||
QString frameName = args.size() > 1 ? args[1]->toString(exec).qstring() : QString("_blank");
|
char *frameName;
|
||||||
|
if(args.size() > 1) {
|
||||||
|
frameName = args[1]->toString(exec).ascii();
|
||||||
|
} else {
|
||||||
|
frameName = "_blank";
|
||||||
|
}
|
||||||
|
|
||||||
// Always permit opening in an exist frame (including _self, etc.)
|
// Always permit opening in an exist frame (including _self, etc.)
|
||||||
if ( targetIsExistingWindow( part, frameName ) )
|
if ( targetIsExistingWindow( part, frameName ) )
|
||||||
|
@ -2220,7 +2225,7 @@ JSValue *WindowFunc::callAsFunction(ExecState *exec, JSObject *thisObj, const Li
|
||||||
return new KJS::DOMSelection(exec, part->xmlDocImpl());
|
return new KJS::DOMSelection(exec, part->xmlDocImpl());
|
||||||
|
|
||||||
case Window::Navigate:
|
case Window::Navigate:
|
||||||
window->goURL(exec, args[0]->toString(exec).qstring());
|
window->goURL(exec, args[0]->toString(exec).ascii());
|
||||||
return jsUndefined();
|
return jsUndefined();
|
||||||
case Window::Focus: {
|
case Window::Focus: {
|
||||||
KHTMLSettings::KJSWindowFocusPolicy policy =
|
KHTMLSettings::KJSWindowFocusPolicy policy =
|
||||||
|
@ -2265,7 +2270,7 @@ JSValue *WindowFunc::callAsFunction(ExecState *exec, JSObject *thisObj, const Li
|
||||||
}
|
}
|
||||||
|
|
||||||
QString sourceOrigin = part->xmlDocImpl()->origin()->toString();
|
QString sourceOrigin = part->xmlDocImpl()->origin()->toString();
|
||||||
QString targetOrigin = args[1]->toString(exec).qstring();
|
QString targetOrigin = args[1]->toString(exec).ascii();
|
||||||
KUrl targetURL(targetOrigin);
|
KUrl targetURL(targetOrigin);
|
||||||
kDebug(6070) << "postMessage targetting:" << targetOrigin;
|
kDebug(6070) << "postMessage targetting:" << targetOrigin;
|
||||||
|
|
||||||
|
@ -2832,7 +2837,7 @@ KParts::ReadOnlyPart *Location::part() const {
|
||||||
bool Location::getOwnPropertySlot(ExecState *exec, const Identifier &p, PropertySlot& slot)
|
bool Location::getOwnPropertySlot(ExecState *exec, const Identifier &p, PropertySlot& slot)
|
||||||
{
|
{
|
||||||
#ifdef KJS_VERBOSE
|
#ifdef KJS_VERBOSE
|
||||||
kDebug(6070) << "Location::getOwnPropertySlot " << p.qstring() << " m_part=" << (void*)m_frame->m_part;
|
kDebug(6070) << "Location::getOwnPropertySlot " << p.ascii() << " m_part=" << (void*)m_frame->m_part;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (m_frame.isNull() || m_frame->m_part.isNull())
|
if (m_frame.isNull() || m_frame->m_part.isNull())
|
||||||
|
@ -2910,7 +2915,7 @@ JSValue* Location::getValueProperty(ExecState *exec, int token) const
|
||||||
void Location::put(ExecState *exec, const Identifier &p, JSValue *v, int attr)
|
void Location::put(ExecState *exec, const Identifier &p, JSValue *v, int attr)
|
||||||
{
|
{
|
||||||
#ifdef KJS_VERBOSE
|
#ifdef KJS_VERBOSE
|
||||||
kDebug(6070) << "Location::put " << p.qstring() << " m_part=" << (void*)m_frame->m_part;
|
kDebug(6070) << "Location::put " << p.ascii() << " m_part=" << (void*)m_frame->m_part;
|
||||||
#endif
|
#endif
|
||||||
if (m_frame.isNull() || m_frame->m_part.isNull())
|
if (m_frame.isNull() || m_frame->m_part.isNull())
|
||||||
return;
|
return;
|
||||||
|
@ -3029,10 +3034,10 @@ JSValue *LocationFunc::callAsFunction(ExecState *exec, JSObject *thisObj, const
|
||||||
|
|
||||||
switch (id) {
|
switch (id) {
|
||||||
case Location::Assign:
|
case Location::Assign:
|
||||||
window->goURL(exec, args[0]->toString(exec).qstring());
|
window->goURL(exec, args[0]->toString(exec).ascii());
|
||||||
break;
|
break;
|
||||||
case Location::Replace:
|
case Location::Replace:
|
||||||
window->goURL(exec, args[0]->toString(exec).qstring(), true/*lock history*/);
|
window->goURL(exec, args[0]->toString(exec).ascii(), true/*lock history*/);
|
||||||
break;
|
break;
|
||||||
case Location::Reload: {
|
case Location::Reload: {
|
||||||
KHTMLPart *khtmlpart = qobject_cast<KHTMLPart*>(part);
|
KHTMLPart *khtmlpart = qobject_cast<KHTMLPart*>(part);
|
||||||
|
|
|
@ -1,9 +1,5 @@
|
||||||
project(kjs)
|
project(kjs)
|
||||||
|
|
||||||
if(ENABLE_TESTING)
|
|
||||||
add_subdirectory(tests)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Configuration checks
|
# Configuration checks
|
||||||
include(FindThreads)
|
include(FindThreads)
|
||||||
check_library_exists(pthread pthread_attr_get_np "" HAVE_PTHREAD_ATTR_GET_NP)
|
check_library_exists(pthread pthread_attr_get_np "" HAVE_PTHREAD_ATTR_GET_NP)
|
||||||
|
@ -24,16 +20,6 @@ check_symbol_exists(isnan "math.h" HAVE_FUNC_ISNAN)
|
||||||
check_symbol_exists(isinf "math.h" HAVE_FUNC_ISINF)
|
check_symbol_exists(isinf "math.h" HAVE_FUNC_ISINF)
|
||||||
macro_pop_required_vars()
|
macro_pop_required_vars()
|
||||||
|
|
||||||
#Do not make PCRE optional here. PCRE is a hard requirement for modern systems
|
|
||||||
#but we give old systems some slack... that's why we don't specify "REQUIRED".
|
|
||||||
find_package(PCRE)
|
|
||||||
set_package_properties(PCRE PROPERTIES
|
|
||||||
DESCRIPTION "Perl-compatible regular expressions in KJS"
|
|
||||||
URL "http://www.pcre.org"
|
|
||||||
PURPOSE "Without PCRE, KJS will have extremely poor regular expression support, breaking many webpages."
|
|
||||||
TYPE OPTIONAL
|
|
||||||
)
|
|
||||||
|
|
||||||
macro_bool_to_01(PCRE_FOUND HAVE_PCREPOSIX)
|
macro_bool_to_01(PCRE_FOUND HAVE_PCREPOSIX)
|
||||||
|
|
||||||
# Generate global.h
|
# Generate global.h
|
||||||
|
@ -180,43 +166,32 @@ set(kjs_LIB_SRCS
|
||||||
propertydescriptor.cpp
|
propertydescriptor.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
add_library(kjs ${LIBRARY_TYPE} ${kjs_LIB_SRCS})
|
add_library(kjs OBJECT ${kjs_LIB_SRCS})
|
||||||
|
|
||||||
if(CMAKE_THREAD_LIBS_INIT)
|
if(ENABLE_TESTING)
|
||||||
target_link_libraries(kjs ${CMAKE_THREAD_LIBS_INIT})
|
add_library(kjs ${LIBRARY_TYPE} ${kjs_LIB_SRCS})
|
||||||
|
|
||||||
|
if(CMAKE_THREAD_LIBS_INIT)
|
||||||
|
target_link_libraries(kjs ${CMAKE_THREAD_LIBS_INIT})
|
||||||
|
endif()
|
||||||
|
if(PCRE_FOUND)
|
||||||
|
target_link_libraries(kjs ${PCRE_LIBRARIES})
|
||||||
|
endif()
|
||||||
|
target_link_libraries(kjs m)
|
||||||
|
|
||||||
|
add_subdirectory(tests)
|
||||||
|
|
||||||
|
# 'kjs_bin' because cmake doesn't like having a lib and app with the same name
|
||||||
|
add_executable(kjs_bin kjs.cpp)
|
||||||
|
|
||||||
|
set_target_properties(kjs_bin PROPERTIES RUNTIME_OUTPUT_NAME kjs)
|
||||||
|
|
||||||
|
target_link_libraries(kjs_bin kjs)
|
||||||
|
|
||||||
|
# it is only for testing purposes, if you use it you abuse it
|
||||||
|
# install(TARGETS kjs_bin ${INSTALL_TARGETS_DEFAULT_ARGS})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(PCRE_FOUND)
|
|
||||||
target_link_libraries(kjs ${PCRE_LIBRARIES})
|
|
||||||
endif(PCRE_FOUND)
|
|
||||||
|
|
||||||
target_link_libraries(kjs m)
|
|
||||||
|
|
||||||
set_target_properties(kjs PROPERTIES
|
|
||||||
VERSION ${GENERIC_LIB_VERSION}
|
|
||||||
SOVERSION ${GENERIC_LIB_SOVERSION}
|
|
||||||
)
|
|
||||||
install(
|
|
||||||
TARGETS kjs
|
|
||||||
EXPORT kdelibsLibraryTargets
|
|
||||||
${INSTALL_TARGETS_DEFAULT_ARGS}
|
|
||||||
)
|
|
||||||
|
|
||||||
########### kjs - basic shell ###############
|
|
||||||
|
|
||||||
# 'kjs_bin' because cmake doesn't like having a lib and app with the same name
|
|
||||||
add_executable(kjs_bin kjs.cpp)
|
|
||||||
|
|
||||||
set_target_properties(kjs_bin PROPERTIES RUNTIME_OUTPUT_NAME kjs)
|
|
||||||
|
|
||||||
target_link_libraries(kjs_bin kjs)
|
|
||||||
|
|
||||||
install(TARGETS kjs_bin ${INSTALL_TARGETS_DEFAULT_ARGS})
|
|
||||||
|
|
||||||
########### KDE-specific API ##############
|
|
||||||
|
|
||||||
add_subdirectory(api)
|
|
||||||
|
|
||||||
########### install files ###############
|
########### install files ###############
|
||||||
# install( FILES
|
# install( FILES
|
||||||
# ExecState.h
|
# ExecState.h
|
||||||
|
|
Loading…
Add table
Reference in a new issue