summaryrefslogtreecommitdiffstats
path: root/WebCore/bindings/js/ScriptControllerMac.mm
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/bindings/js/ScriptControllerMac.mm')
-rw-r--r--WebCore/bindings/js/ScriptControllerMac.mm171
1 files changed, 0 insertions, 171 deletions
diff --git a/WebCore/bindings/js/ScriptControllerMac.mm b/WebCore/bindings/js/ScriptControllerMac.mm
deleted file mode 100644
index 7c29bfc..0000000
--- a/WebCore/bindings/js/ScriptControllerMac.mm
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
- * Copyright (C) 2006 Alexey Proskuryakov (ap@nypop.com)
- * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
- * Copyright (C) 2008 Eric Seidel <eric@webkit.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "config.h"
-#import "ScriptController.h"
-
-#import "Bridge.h"
-#import "DOMAbstractViewFrame.h"
-#import "DOMWindow.h"
-#import "Frame.h"
-#import "FrameLoader.h"
-#import "FrameLoaderClient.h"
-#import "JSDOMWindow.h"
-#import "WebScriptObjectPrivate.h"
-#import "Widget.h"
-#import "objc_instance.h"
-#import "runtime_root.h"
-#import <JavaScriptCore/APICast.h>
-#import <runtime/JSLock.h>
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-#import "c_instance.h"
-#import "NP_jsobject.h"
-#import "npruntime_impl.h"
-#endif
-
-#if ENABLE(JAVA_BRIDGE)
-#import "JavaInstanceJSC.h"
-#endif
-
-@interface NSObject (WebPlugin)
-- (id)objectForWebScript;
-- (NPObject *)createPluginScriptableObject;
-- (PassRefPtr<JSC::Bindings::Instance>)createPluginBindingsInstance:(PassRefPtr<JSC::Bindings::RootObject>)rootObject;
-@end
-
-using namespace JSC::Bindings;
-
-namespace WebCore {
-
-PassScriptInstance ScriptController::createScriptInstanceForWidget(Widget* widget)
-{
- NSView* widgetView = widget->platformWidget();
- if (!widgetView)
- return 0;
-
- RefPtr<RootObject> rootObject = createRootObject(widgetView);
-
- if ([widgetView respondsToSelector:@selector(createPluginBindingsInstance:)])
- return [widgetView createPluginBindingsInstance:rootObject.release()];
-
- if ([widgetView respondsToSelector:@selector(objectForWebScript)]) {
- id objectForWebScript = [widgetView objectForWebScript];
- if (!objectForWebScript)
- return 0;
- return JSC::Bindings::ObjcInstance::create(objectForWebScript, rootObject.release());
- }
-
- if ([widgetView respondsToSelector:@selector(createPluginScriptableObject)]) {
-#if !ENABLE(NETSCAPE_PLUGIN_API)
- return 0;
-#else
- NPObject* npObject = [widgetView createPluginScriptableObject];
- if (!npObject)
- return 0;
- RefPtr<Instance> instance = JSC::Bindings::CInstance::create(npObject, rootObject.release());
- // -createPluginScriptableObject returns a retained NPObject. The caller is expected to release it.
- _NPN_ReleaseObject(npObject);
- return instance.release();
-#endif
- }
-
-#if ENABLE(JAVA_BRIDGE)
- jobject applet = m_frame->loader()->client()->javaApplet(widgetView);
- if (!applet)
- return 0;
- return JSC::Bindings::JavaInstance::create(applet, rootObject.release());
-#else
- return 0;
-#endif
-}
-
-WebScriptObject* ScriptController::windowScriptObject()
-{
- if (!canExecuteScripts(NotAboutToExecuteScript))
- return 0;
-
- if (!m_windowScriptObject) {
- JSC::JSLock lock(JSC::SilenceAssertionsOnly);
- JSC::Bindings::RootObject* root = bindingRootObject();
- m_windowScriptObject = [WebScriptObject scriptObjectForJSObject:toRef(windowShell(pluginWorld())) originRootObject:root rootObject:root];
- }
-
- ASSERT([m_windowScriptObject.get() isKindOfClass:[DOMAbstractView class]]);
- return m_windowScriptObject.get();
-}
-
-void ScriptController::updatePlatformScriptObjects()
-{
- if (m_windowScriptObject) {
- JSC::Bindings::RootObject* root = bindingRootObject();
- [m_windowScriptObject.get() _setOriginRootObject:root andRootObject:root];
- }
-}
-
-void ScriptController::disconnectPlatformScriptObjects()
-{
- if (m_windowScriptObject) {
- ASSERT([m_windowScriptObject.get() isKindOfClass:[DOMAbstractView class]]);
- [(DOMAbstractView *)m_windowScriptObject.get() _disconnectFrame];
- }
-}
-
-#if ENABLE(JAVA_BRIDGE)
-
-static pthread_t mainThread;
-
-static void updateStyleIfNeededForBindings(JSC::ExecState*, JSC::JSObject* rootObject)
-{
- if (pthread_self() != mainThread)
- return;
-
- if (!rootObject)
- return;
-
- JSDOMWindow* window = static_cast<JSDOMWindow*>(rootObject);
- if (!window)
- return;
-
- Frame* frame = window->impl()->frame();
- if (!frame)
- return;
-
- frame->document()->updateStyleIfNeeded();
-}
-
-void ScriptController::initJavaJSBindings()
-{
- mainThread = pthread_self();
- JSC::Bindings::JavaJSObject::initializeJNIThreading();
- JSC::Bindings::Instance::setDidExecuteFunction(updateStyleIfNeededForBindings);
-}
-
-#endif
-
-}