summaryrefslogtreecommitdiffstats
path: root/webkit/api
diff options
context:
space:
mode:
authortkent@chromium.org <tkent@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-09 05:10:22 +0000
committertkent@chromium.org <tkent@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-09 05:10:22 +0000
commit65b95cd72cea12a94439e8ef3cab0a0962e4aa3c (patch)
tree6da1730476a51c9346bb89fd3d8599c511056c6b /webkit/api
parentaef03130359ef824153b4ed088622460bbccdb0f (diff)
downloadchromium_src-65b95cd72cea12a94439e8ef3cab0a0962e4aa3c.zip
chromium_src-65b95cd72cea12a94439e8ef3cab0a0962e4aa3c.tar.gz
chromium_src-65b95cd72cea12a94439e8ef3cab0a0962e4aa3c.tar.bz2
Print the element path in TestWebViewDelegate::decidePolicyForNavigation()
to follow WebKit r42740. - Add a WebNode parameter to WebViewDelegate::decidePolicyForNavigation() TestWebViewDelegate prints the path of the node. RenderView ignores this parameter. - Fix a bug of WebNode assignment. BUG=11000 TEST=This change enables 3 layout tests. Review URL: http://codereview.chromium.org/267003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28527 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/api')
-rw-r--r--webkit/api/public/WebFrameClient.h2
-rw-r--r--webkit/api/src/WebNode.cpp181
2 files changed, 93 insertions, 90 deletions
diff --git a/webkit/api/public/WebFrameClient.h b/webkit/api/public/WebFrameClient.h
index 24701e5..82f9eed 100644
--- a/webkit/api/public/WebFrameClient.h
+++ b/webkit/api/public/WebFrameClient.h
@@ -41,6 +41,7 @@ namespace WebKit {
class WebFrame;
class WebMediaPlayer;
class WebMediaPlayerClient;
+ class WebNode;
class WebPlugin;
class WebSecurityOrigin;
class WebString;
@@ -87,6 +88,7 @@ namespace WebKit {
// defaultPolicy should just be returned.
virtual WebNavigationPolicy decidePolicyForNavigation(
WebFrame*, const WebURLRequest&, WebNavigationType,
+ const WebNode& originatingNode,
WebNavigationPolicy defaultPolicy, bool isRedirect) = 0;
diff --git a/webkit/api/src/WebNode.cpp b/webkit/api/src/WebNode.cpp
index af187b6..44a930d 100644
--- a/webkit/api/src/WebNode.cpp
+++ b/webkit/api/src/WebNode.cpp
@@ -1,90 +1,91 @@
-/*
- * 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
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * 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
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER 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.
- */
-
-#include "config.h"
-#include "WebNode.h"
-
-#include "Node.h"
-#include <wtf/PassRefPtr.h>
-
-using namespace WebCore;
-
-namespace WebKit {
-
-class WebNodePrivate : public Node {
-};
-
-void WebNode::reset()
-{
- assign(0);
-}
-
-void WebNode::assign(const WebNode& other)
-{
- WebNodePrivate* p = const_cast<WebNodePrivate*>(other.m_private);
- p->ref();
- assign(p);
-}
-
-WebNode WebNode::parentNode() const
-{
- return PassRefPtr<Node>(const_cast<Node*>(m_private->parentNode()));
-}
-
-WebString WebNode::nodeName() const
-{
- return m_private->nodeName();
-}
-
-WebNode::WebNode(const WTF::PassRefPtr<WebCore::Node>& node)
- : m_private(static_cast<WebNodePrivate*>(node.releaseRef()))
-{
-}
-
-WebNode& WebNode::operator=(const WTF::PassRefPtr<WebCore::Node>& node)
-{
- assign(static_cast<WebNodePrivate*>(node.releaseRef()));
- return *this;
-}
-
-WebNode::operator WTF::PassRefPtr<WebCore::Node>() const
-{
- return PassRefPtr<Node>(const_cast<WebNodePrivate*>(m_private));
-}
-
-void WebNode::assign(WebNodePrivate* p)
-{
- // p is already ref'd for us by the caller
- if (m_private)
- m_private->deref();
- m_private = p;
-}
-
-} // namespace WebKit
+/*
+ * 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
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * 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
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER 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.
+ */
+
+#include "config.h"
+#include "WebNode.h"
+
+#include "Node.h"
+#include <wtf/PassRefPtr.h>
+
+using namespace WebCore;
+
+namespace WebKit {
+
+class WebNodePrivate : public Node {
+};
+
+void WebNode::reset()
+{
+ assign(0);
+}
+
+void WebNode::assign(const WebNode& other)
+{
+ WebNodePrivate* p = const_cast<WebNodePrivate*>(other.m_private);
+ if (p)
+ p->ref();
+ assign(p);
+}
+
+WebNode WebNode::parentNode() const
+{
+ return PassRefPtr<Node>(const_cast<Node*>(m_private->parentNode()));
+}
+
+WebString WebNode::nodeName() const
+{
+ return m_private->nodeName();
+}
+
+WebNode::WebNode(const WTF::PassRefPtr<WebCore::Node>& node)
+ : m_private(static_cast<WebNodePrivate*>(node.releaseRef()))
+{
+}
+
+WebNode& WebNode::operator=(const WTF::PassRefPtr<WebCore::Node>& node)
+{
+ assign(static_cast<WebNodePrivate*>(node.releaseRef()));
+ return *this;
+}
+
+WebNode::operator WTF::PassRefPtr<WebCore::Node>() const
+{
+ return PassRefPtr<Node>(const_cast<WebNodePrivate*>(m_private));
+}
+
+void WebNode::assign(WebNodePrivate* p)
+{
+ // p is already ref'd for us by the caller
+ if (m_private)
+ m_private->deref();
+ m_private = p;
+}
+
+} // namespace WebKit