summaryrefslogtreecommitdiffstats
path: root/WebCore/bindings/js/JSDocumentCustom.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/bindings/js/JSDocumentCustom.cpp')
-rw-r--r--WebCore/bindings/js/JSDocumentCustom.cpp127
1 files changed, 0 insertions, 127 deletions
diff --git a/WebCore/bindings/js/JSDocumentCustom.cpp b/WebCore/bindings/js/JSDocumentCustom.cpp
deleted file mode 100644
index 5f61e2a..0000000
--- a/WebCore/bindings/js/JSDocumentCustom.cpp
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright (C) 2007, 2008, 2009 Apple Inc. All rights reserved.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include "config.h"
-#include "JSDocument.h"
-
-#include "ExceptionCode.h"
-#include "Frame.h"
-#include "FrameLoader.h"
-#include "HTMLDocument.h"
-#include "JSCanvasRenderingContext2D.h"
-#if ENABLE(3D_CANVAS)
-#include "JSWebGLRenderingContext.h"
-#endif
-#include "JSDOMWindowCustom.h"
-#include "JSHTMLDocument.h"
-#include "JSLocation.h"
-#include "Location.h"
-#include "ScriptController.h"
-
-#if ENABLE(SVG)
-#include "JSSVGDocument.h"
-#include "SVGDocument.h"
-#endif
-
-#include <wtf/GetPtr.h>
-
-using namespace JSC;
-
-namespace WebCore {
-
-void JSDocument::markChildren(MarkStack& markStack)
-{
- JSNode::markChildren(markStack);
-
- Document* document = impl();
- JSGlobalData& globalData = *Heap::heap(this)->globalData();
-
- markDOMNodesForDocument(markStack, document);
- markActiveObjectsForContext(markStack, globalData, document);
- markDOMObjectWrapper(markStack, globalData, document->implementation());
- markDOMObjectWrapper(markStack, globalData, document->styleSheets());
- document->markCachedNodeLists(markStack, globalData);
-}
-
-JSValue JSDocument::location(ExecState* exec) const
-{
- Frame* frame = static_cast<Document*>(impl())->frame();
- if (!frame)
- return jsNull();
-
- Location* location = frame->domWindow()->location();
- if (DOMObject* wrapper = getCachedDOMObjectWrapper(exec, location))
- return wrapper;
-
- JSLocation* jsLocation = new (exec) JSLocation(getDOMStructure<JSLocation>(exec, globalObject()), globalObject(), location);
- cacheDOMObjectWrapper(exec, location, jsLocation);
- return jsLocation;
-}
-
-void JSDocument::setLocation(ExecState* exec, JSValue value)
-{
- Frame* frame = static_cast<Document*>(impl())->frame();
- if (!frame)
- return;
-
- String str = ustringToString(value.toString(exec));
-
- Frame* lexicalFrame = asJSDOMWindow(exec->lexicalGlobalObject())->impl()->frame();
-
- // IE and Mozilla both resolve the URL relative to the source frame,
- // not the target frame.
- Frame* activeFrame = asJSDOMWindow(exec->dynamicGlobalObject())->impl()->frame();
- str = activeFrame->document()->completeURL(str).string();
-
- frame->navigationScheduler()->scheduleLocationChange(lexicalFrame->document()->securityOrigin(),
- str, activeFrame->loader()->outgoingReferrer(), !activeFrame->script()->anyPageIsProcessingUserGesture(), false);
-}
-
-JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, Document* document)
-{
- if (!document)
- return jsNull();
-
- DOMObject* wrapper = getCachedDOMNodeWrapper(exec, document, document);
- if (wrapper)
- return wrapper;
-
- if (document->isHTMLDocument())
- wrapper = CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLDocument, document);
-#if ENABLE(SVG)
- else if (document->isSVGDocument())
- wrapper = CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGDocument, document);
-#endif
- else
- wrapper = CREATE_DOM_NODE_WRAPPER(exec, globalObject, Document, document);
-
- // Make sure the document is kept around by the window object, and works right with the
- // back/forward cache.
- if (!document->frame()) {
- size_t nodeCount = 0;
- for (Node* n = document; n; n = n->traverseNextNode())
- nodeCount++;
-
- exec->heap()->reportExtraMemoryCost(nodeCount * sizeof(Node));
- }
-
- return wrapper;
-}
-
-} // namespace WebCore