summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
authorlevin@chromium.org <levin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-06 16:00:14 +0000
committerlevin@chromium.org <levin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-06 16:00:14 +0000
commit91c1719fd596d7381e359d294314b24abd02597c (patch)
treecf0f81dbe4ed8eddf65c749fce63297343fd76cb /webkit
parent114ed79bd30bcab7916d68ddcf3e585a3810d3ed (diff)
downloadchromium_src-91c1719fd596d7381e359d294314b24abd02597c.zip
chromium_src-91c1719fd596d7381e359d294314b24abd02597c.tar.gz
chromium_src-91c1719fd596d7381e359d294314b24abd02597c.tar.bz2
Changes for upstreaming V8DocumentLocationCustom.cpp.
BUG=http://bugs.chromium.org/11467 TEST=Verify that Document.location works from javascript. Review URL: http://codereview.chromium.org/108024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15411 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r--webkit/build/V8Bindings/V8Bindings.vcproj4
-rw-r--r--webkit/port/bindings/v8/V8DocumentLocationCustom.cpp56
-rw-r--r--webkit/port/bindings/v8/v8_custom.cpp25
-rw-r--r--webkit/webkit.gyp1
4 files changed, 63 insertions, 23 deletions
diff --git a/webkit/build/V8Bindings/V8Bindings.vcproj b/webkit/build/V8Bindings/V8Bindings.vcproj
index f6b87d7..bd00359 100644
--- a/webkit/build/V8Bindings/V8Bindings.vcproj
+++ b/webkit/build/V8Bindings/V8Bindings.vcproj
@@ -3053,6 +3053,10 @@
>
</File>
<File
+ RelativePath="..\..\port\bindings\v8\V8DocumentLocationCustom.cpp"
+ >
+ </File>
+ <File
RelativePath="..\..\..\third_party\WebKit\WebCore\bindings\v8\V8DOMMap.cpp"
>
</File>
diff --git a/webkit/port/bindings/v8/V8DocumentLocationCustom.cpp b/webkit/port/bindings/v8/V8DocumentLocationCustom.cpp
new file mode 100644
index 0000000..dfcacef
--- /dev/null
+++ b/webkit/port/bindings/v8/V8DocumentLocationCustom.cpp
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2000 Harri Porten (porten@kde.org)
+ * Copyright (C) 2001 Peter Kelly (pmk@post.com)
+ * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc.
+ * Copyright (C) 2006 James G. Speth (speth@end.com)
+ * Copyright (C) 2006 Samuel Weinig (sam@webkit.org)
+ * Copyright (C) 2007, 2008, 2009 Google Inc. All Rights Reserved.
+ *
+ * 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 "config.h"
+#include "V8CustomBinding.h"
+
+#include "DOMWindow.h"
+#include "Frame.h"
+#include "V8Binding.h"
+#include "V8Document.h"
+#include "V8Proxy.h"
+
+namespace WebCore {
+
+ACCESSOR_GETTER(DocumentLocation)
+{
+ Document* document = V8Proxy::DOMWrapperToNative<Document>(info.Holder());
+ if (!document->frame())
+ return v8::Null();
+
+ DOMWindow* window = document->frame()->domWindow();
+ return V8Proxy::ToV8Object(V8ClassIndex::LOCATION, window->location());
+}
+
+ACCESSOR_SETTER(DocumentLocation)
+{
+ Document* document = V8Proxy::DOMWrapperToNative<Document>(info.Holder());
+ if (!document->frame())
+ return;
+
+ DOMWindow* window = document->frame()->domWindow();
+ // WindowSetLocation does security checks. // XXXMB- verify!
+ WindowSetLocation(window, toWebCoreString(value));
+}
+
+} // namespace WebCore
diff --git a/webkit/port/bindings/v8/v8_custom.cpp b/webkit/port/bindings/v8/v8_custom.cpp
index b930d47..f3a1c4a 100644
--- a/webkit/port/bindings/v8/v8_custom.cpp
+++ b/webkit/port/bindings/v8/v8_custom.cpp
@@ -1,10 +1,10 @@
/*
* Copyright (C) 2000 Harri Porten (porten@kde.org)
* Copyright (C) 2001 Peter Kelly (pmk@post.com)
- * Copyright (C) 2004-2006 Apple Computer, Inc.
+ * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc.
* Copyright (C) 2006 James G. Speth (speth@end.com)
* Copyright (C) 2006 Samuel Weinig (sam@webkit.org)
- * Copyright 2007, 2008 Google Inc. All Rights Reserved.
+ * Copyright (C) 2007, 2008 Google Inc. All Rights Reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -157,27 +157,6 @@ ACCESSOR_GETTER(DocumentImplementation) {
}
-ACCESSOR_GETTER(DocumentLocation) {
- Document* imp = V8Proxy::DOMWrapperToNative<Document>(info.Holder());
- if (!imp->frame())
- return v8::Null();
-
- DOMWindow* window = imp->frame()->domWindow();
- return V8Proxy::ToV8Object(V8ClassIndex::LOCATION, window->location());
-}
-
-
-ACCESSOR_SETTER(DocumentLocation) {
- Document* imp = V8Proxy::DOMWrapperToNative<Document>(info.Holder());
- if (!imp->frame())
- return;
-
- DOMWindow* window = imp->frame()->domWindow();
- // WindowSetLocation does security checks. // XXXMB- verify!
- WindowSetLocation(window, ToWebCoreString(value));
-}
-
-
INDEXED_PROPERTY_GETTER(HTMLFormElement) {
INC_STATS("DOM.HTMLFormElement.IndexedPropertyGetter");
HTMLFormElement* form =
diff --git a/webkit/webkit.gyp b/webkit/webkit.gyp
index 026f6b8..a093e86 100644
--- a/webkit/webkit.gyp
+++ b/webkit/webkit.gyp
@@ -1115,6 +1115,7 @@
'port/bindings/v8/ScriptController.cpp',
'port/bindings/v8/ScriptController.h',
'port/bindings/v8/V8CanvasPixelArrayCustom.cpp',
+ 'port/bindings/v8/V8DocumentLocationCustom.cpp',
'port/bindings/v8/V8MessagePortCustom.cpp',
'port/bindings/v8/V8SVGPODTypeWrapper.h',
'port/bindings/v8/dom_wrapper_map.h',