diff options
author | Steve Block <steveblock@google.com> | 2010-02-15 12:23:52 +0000 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2010-02-16 11:48:32 +0000 |
commit | 8a0914b749bbe7da7768e07a7db5c6d4bb09472b (patch) | |
tree | 73f9065f370435d6fde32ae129d458a8c77c8dff /WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp | |
parent | bf14be70295513b8076f3fa47a268a7e42b2c478 (diff) | |
download | external_webkit-8a0914b749bbe7da7768e07a7db5c6d4bb09472b.zip external_webkit-8a0914b749bbe7da7768e07a7db5c6d4bb09472b.tar.gz external_webkit-8a0914b749bbe7da7768e07a7db5c6d4bb09472b.tar.bz2 |
Merge webkit.org at r54731 : Initial merge by git
Change-Id: Ia79977b6cf3b0b00c06ef39419989b28e57e4f4a
Diffstat (limited to 'WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp')
-rw-r--r-- | WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp | 113 |
1 files changed, 16 insertions, 97 deletions
diff --git a/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp b/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp index ba6c738..9719837 100644 --- a/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp +++ b/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp @@ -1,10 +1,10 @@ /* * Copyright (C) 2009 Google Inc. All rights reserved. - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are * met: - * + * * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above @@ -14,7 +14,7 @@ * * Neither the name of Google Inc. nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR @@ -45,7 +45,6 @@ #include "MediaPlayer.h" #include "Page.h" #include "PlatformScreen.h" -#include "RuntimeEnabledFeatures.h" #include "ScheduledAction.h" #include "ScriptSourceCode.h" #include "SerializedScriptValue.h" @@ -55,7 +54,6 @@ #include "V8Binding.h" #include "V8BindingDOMWindow.h" #include "V8BindingState.h" -#include "V8CustomBinding.h" #include "V8CustomEventListener.h" #include "V8HTMLCollection.h" #include "V8MessagePortCustom.h" @@ -96,9 +94,9 @@ v8::Handle<v8::Value> WindowSetTimeoutImpl(const v8::Arguments& args, bool singl else { v8::Handle<v8::Value> v8String = function->ToString(); - // Bail out if string conversion failed. - if (v8String.IsEmpty()) - return v8::Undefined(); + // Bail out if string conversion failed. + if (v8String.IsEmpty()) + return v8::Undefined(); functionString = toWebCoreString(v8String); } @@ -173,7 +171,7 @@ static v8::Handle<v8::Value> convertBase64(const String& str, bool encode) v8::Handle<v8::Value> V8DOMWindow::eventAccessorGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) { - v8::Handle<v8::Object> holder = V8DOMWrapper::lookupDOMWrapper(V8ClassIndex::DOMWINDOW, info.This()); + v8::Handle<v8::Object> holder = V8DOMWrapper::lookupDOMWrapper(V8DOMWindow::GetTemplate(), info.This()); if (holder.IsEmpty()) return v8::Undefined(); @@ -194,7 +192,7 @@ v8::Handle<v8::Value> V8DOMWindow::eventAccessorGetter(v8::Local<v8::String> nam void V8DOMWindow::eventAccessorSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) { - v8::Handle<v8::Object> holder = V8DOMWrapper::lookupDOMWrapper(V8ClassIndex::DOMWINDOW, info.This()); + v8::Handle<v8::Object> holder = V8DOMWrapper::lookupDOMWrapper(V8DOMWindow::GetTemplate(), info.This()); if (holder.IsEmpty()) return; @@ -229,7 +227,7 @@ void V8DOMWindow::openerAccessorSetter(v8::Local<v8::String> name, v8::Local<v8: if (!V8BindingSecurity::canAccessFrame(V8BindingState::Only(), imp->frame(), true)) return; - + // Opener can be shadowed if it is in the same domain. // Have a special handling of null value to behave // like Firefox. See bug http://b/1224887 & http://b/791706. @@ -255,85 +253,6 @@ v8::Handle<v8::Value> V8DOMWindow::AudioAccessorGetter(v8::Local<v8::String> nam return V8DOMWrapper::getConstructor(V8ClassIndex::AUDIO, window); } -bool V8DOMWindow::AudioEnabled() -{ - return MediaPlayer::isAvailable(); -} - -bool V8DOMWindow::HTMLMediaElementEnabled() -{ - return MediaPlayer::isAvailable(); -} - -bool V8DOMWindow::HTMLAudioElementEnabled() -{ - return MediaPlayer::isAvailable(); -} - -bool V8DOMWindow::HTMLVideoElementEnabled() -{ - return MediaPlayer::isAvailable(); -} - -bool V8DOMWindow::MediaErrorEnabled() -{ - return MediaPlayer::isAvailable(); -} - -#endif - -#if ENABLE(SHARED_WORKERS) -bool V8DOMWindow::SharedWorkerEnabled() -{ - return SharedWorkerRepository::isAvailable(); -} -#endif - -#if ENABLE(WEB_SOCKETS) -bool V8DOMWindow::WebSocketEnabled() -{ - return WebSocket::isAvailable(); -} -#endif - -#if ENABLE(DATABASE) -bool V8DOMWindow::OpenDatabaseEnabled() -{ - return Database::isAvailable(); -} -#endif - -#if ENABLE(INDEXED_DATABASE) -bool V8DOMWindow::IndexedDBEnabled() -{ - return RuntimeEnabledFeatures::indexedDatabaseEnabled(); -} -#endif - -#if ENABLE(DOM_STORAGE) -bool V8DOMWindow::LocalStorageEnabled() -{ - return RuntimeEnabledFeatures::localStorageEnabled(); -} - -bool V8DOMWindow::SessionStorageEnabled() -{ - return RuntimeEnabledFeatures::sessionStorageEnabled(); -} -#endif - -#if ENABLE(NOTIFICATIONS) -bool V8DOMWindow::WebkitNotificationsEnabled() -{ - return RuntimeEnabledFeatures::notificationsEnabled(); -} -#endif - -#if ENABLE(OFFLINE_WEB_APPLICATIONS) -bool V8DOMWindow::ApplicationCacheEnabled() -{ - return RuntimeEnabledFeatures::applicationCacheEnabled(); -} #endif v8::Handle<v8::Value> V8DOMWindow::ImageAccessorGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) @@ -490,7 +409,7 @@ v8::Handle<v8::Value> V8DOMWindow::btoaCallback(const v8::Arguments& args) v8::Handle<v8::Value> V8DOMWindow::toStringCallback(const v8::Arguments& args) { INC_STATS("DOM.DOMWindow.toString()"); - v8::Handle<v8::Object> domWrapper = V8DOMWrapper::lookupDOMWrapper(V8ClassIndex::DOMWINDOW, args.This()); + v8::Handle<v8::Object> domWrapper = V8DOMWrapper::lookupDOMWrapper(V8DOMWindow::GetTemplate(), args.This()); if (domWrapper.IsEmpty()) return args.This()->ObjectProtoToString(); return domWrapper->ObjectProtoToString(); @@ -596,7 +515,7 @@ v8::Handle<v8::Value> V8DOMWindow::showModalDialogCallback(const v8::Arguments& // default here came from frame size of dialog in MacIE. windowFeatures.height = WindowFeatures::floatFeature(features, "dialogheight", 100, screenRect.height(), 450); windowFeatures.heightSet = true; - + windowFeatures.x = WindowFeatures::floatFeature(features, "dialogleft", screenRect.x(), screenRect.right() - windowFeatures.width, -1); windowFeatures.xSet = windowFeatures.x > 0; windowFeatures.y = WindowFeatures::floatFeature(features, "dialogtop", screenRect.y(), screenRect.bottom() - windowFeatures.height, -1); @@ -695,11 +614,11 @@ v8::Handle<v8::Value> V8DOMWindow::openCallback(const v8::Arguments& args) if (topOrParent) { if (!shouldAllowNavigation(frame)) return v8::Undefined(); - + String completedUrl; if (!urlString.isEmpty()) completedUrl = completeURL(urlString); - + if (!completedUrl.isEmpty() && (!protocolIsJavaScript(completedUrl) || ScriptController::isSafeScript(frame))) { bool userGesture = processingUserGesture(); @@ -882,7 +801,7 @@ v8::Handle<v8::Value> V8DOMWindow::clearIntervalCallback(const v8::Arguments& ar bool V8DOMWindow::namedSecurityCheck(v8::Local<v8::Object> host, v8::Local<v8::Value> key, v8::AccessType type, v8::Local<v8::Value> data) { ASSERT(V8ClassIndex::FromInt(data->Int32Value()) == V8ClassIndex::DOMWINDOW); - v8::Handle<v8::Object> window = V8DOMWrapper::lookupDOMWrapper(V8ClassIndex::DOMWINDOW, host); + v8::Handle<v8::Object> window = V8DOMWrapper::lookupDOMWrapper(V8DOMWindow::GetTemplate(), host); if (window.IsEmpty()) return false; // the frame is gone. @@ -908,7 +827,7 @@ bool V8DOMWindow::namedSecurityCheck(v8::Local<v8::Object> host, v8::Local<v8::V bool V8DOMWindow::indexedSecurityCheck(v8::Local<v8::Object> host, uint32_t index, v8::AccessType type, v8::Local<v8::Value> data) { ASSERT(V8ClassIndex::FromInt(data->Int32Value()) == V8ClassIndex::DOMWINDOW); - v8::Handle<v8::Object> window = V8DOMWrapper::lookupDOMWrapper(V8ClassIndex::DOMWINDOW, host); + v8::Handle<v8::Object> window = V8DOMWrapper::lookupDOMWrapper(V8DOMWindow::GetTemplate(), host); if (window.IsEmpty()) return false; @@ -944,7 +863,7 @@ v8::Handle<v8::Value> toV8(DOMWindow* window) // necessarily the first global object associated with that DOMWindow. v8::Handle<v8::Context> currentContext = v8::Context::GetCurrent(); v8::Handle<v8::Object> currentGlobal = currentContext->Global(); - v8::Handle<v8::Object> windowWrapper = V8DOMWrapper::lookupDOMWrapper(V8ClassIndex::DOMWINDOW, currentGlobal); + v8::Handle<v8::Object> windowWrapper = V8DOMWrapper::lookupDOMWrapper(V8DOMWindow::GetTemplate(), currentGlobal); if (!windowWrapper.IsEmpty()) { if (V8DOMWindow::toNative(windowWrapper) == window) return currentGlobal; |