diff --git a/LayoutTests/fast/dom/Window/get-set-properties-expected.txt b/LayoutTests/fast/dom/Window/get-set-properties-expected.txt
index a661dc9..e2861de 100644
--- a/LayoutTests/fast/dom/Window/get-set-properties-expected.txt
+++ b/LayoutTests/fast/dom/Window/get-set-properties-expected.txt
@@ -153,8 +153,6 @@
 PASS: canSet('Node') should be 'true' and is.
 PASS: canGet('NodeFilter') should be 'true' and is.
 PASS: canSet('NodeFilter') should be 'true' and is.
-PASS: canGet('Notation') should be 'true' and is.
-PASS: canSet('Notation') should be 'true' and is.
 PASS: canGet('Option') should be 'true' and is.
 PASS: canSet('Option') should be 'true' and is.
 PASS: canGet('ProcessingInstruction') should be 'true' and is.
diff --git a/LayoutTests/fast/dom/Window/get-set-properties.html b/LayoutTests/fast/dom/Window/get-set-properties.html
index 223e11f..e0f4bd3 100644
--- a/LayoutTests/fast/dom/Window/get-set-properties.html
+++ b/LayoutTests/fast/dom/Window/get-set-properties.html
@@ -157,7 +157,6 @@
     "MutationEvent", 
     "Node", 
     "NodeFilter", 
-    "Notation", 
     "Option", 
     "ProcessingInstruction", 
     "Range", 
diff --git a/LayoutTests/fast/dom/Window/resources/window-properties.js b/LayoutTests/fast/dom/Window/resources/window-properties.js
index ddee143..428d353 100644
--- a/LayoutTests/fast/dom/Window/resources/window-properties.js
+++ b/LayoutTests/fast/dom/Window/resources/window-properties.js
@@ -121,7 +121,6 @@
     ["Node", "object"],
     ["NodeFilter", "object"],
     ["NodeList", "object"],
-    ["Notation", "object"],
     ["OverflowEvent", "object"],
     ["ProcessingInstruction", "object"],
     ["ProgressEvent", "object"],
diff --git a/LayoutTests/fast/dom/Window/window-lookup-precedence-expected.txt b/LayoutTests/fast/dom/Window/window-lookup-precedence-expected.txt
index 9e25a41..4f4ebcd 100644
--- a/LayoutTests/fast/dom/Window/window-lookup-precedence-expected.txt
+++ b/LayoutTests/fast/dom/Window/window-lookup-precedence-expected.txt
@@ -244,8 +244,6 @@
 PASS 'function NodeFilter() { [native code] }' is 'function NodeFilter() { [native code] }'
 PASS 'function NodeList() { [native code] }' is 'function NodeList() { [native code] }'
 PASS 'function NodeList() { [native code] }' is 'function NodeList() { [native code] }'
-PASS 'function Notation() { [native code] }' is 'function Notation() { [native code] }'
-PASS 'function Notation() { [native code] }' is 'function Notation() { [native code] }'
 PASS 'function OverflowEvent() { [native code] }' is 'function OverflowEvent() { [native code] }'
 PASS 'function OverflowEvent() { [native code] }' is 'function OverflowEvent() { [native code] }'
 PASS 'function ProcessingInstruction() { [native code] }' is 'function ProcessingInstruction() { [native code] }'
diff --git a/LayoutTests/fast/dom/Window/window-property-shadowing-expected.txt b/LayoutTests/fast/dom/Window/window-property-shadowing-expected.txt
index 11ff69b..cfa468f 100644
--- a/LayoutTests/fast/dom/Window/window-property-shadowing-expected.txt
+++ b/LayoutTests/fast/dom/Window/window-property-shadowing-expected.txt
@@ -92,7 +92,6 @@
 PASS: Comment successfully shadowed
 PASS: CDATASection successfully shadowed
 PASS: DocumentType successfully shadowed
-PASS: Notation successfully shadowed
 PASS: ProcessingInstruction successfully shadowed
 PASS: HTMLDocument successfully shadowed
 PASS: HTMLElement successfully shadowed
diff --git a/LayoutTests/fast/dom/Window/window-property-shadowing.html b/LayoutTests/fast/dom/Window/window-property-shadowing.html
index c4773b9..c2a772d 100644
--- a/LayoutTests/fast/dom/Window/window-property-shadowing.html
+++ b/LayoutTests/fast/dom/Window/window-property-shadowing.html
@@ -207,8 +207,6 @@
         log(CDATASection == 1 ? "PASS: CDATASection successfully shadowed" : "FAIL: CDATASection was not shadowed");
         var DocumentType = 1;
         log(DocumentType == 1 ? "PASS: DocumentType successfully shadowed" : "FAIL: DocumentType was not shadowed");
-        var Notation = 1;
-        log(Notation == 1 ? "PASS: Notation successfully shadowed" : "FAIL: Notation was not shadowed");
         var ProcessingInstruction = 1;
         log(ProcessingInstruction == 1 ? "PASS: ProcessingInstruction successfully shadowed" : "FAIL: ProcessingInstruction was not shadowed");
         var HTMLDocument = 1;
diff --git a/LayoutTests/fast/dom/dom-constructors-expected.txt b/LayoutTests/fast/dom/dom-constructors-expected.txt
index 84b70ac..be132b8 100644
--- a/LayoutTests/fast/dom/dom-constructors-expected.txt
+++ b/LayoutTests/fast/dom/dom-constructors-expected.txt
@@ -12,7 +12,6 @@
 PASS TryAllocate('EventTarget') is 'exception'
 PASS TryAllocate('HTMLDocument') is 'exception'
 PASS TryAllocate('Node') is 'exception'
-PASS TryAllocate('Notation') is 'exception'
 PASS TryAllocate('ProcessingInstruction') is 'exception'
 PASS TryAllocate('HTMLAllCollection') is 'exception'
 PASS TryAllocate('HTMLAnchorElement') is 'exception'
diff --git a/LayoutTests/fast/dom/dom-constructors.html b/LayoutTests/fast/dom/dom-constructors.html
index ef215c6..86c1106 100644
--- a/LayoutTests/fast/dom/dom-constructors.html
+++ b/LayoutTests/fast/dom/dom-constructors.html
@@ -22,7 +22,6 @@
     'EventTarget',
     'HTMLDocument',
     'Node',
-    'Notation',
     'ProcessingInstruction',
     'HTMLAllCollection',
     'HTMLAnchorElement',
diff --git a/LayoutTests/http/tests/security/cross-frame-access-get-expected.txt b/LayoutTests/http/tests/security/cross-frame-access-get-expected.txt
index c0fbd4d..af84deb 100644
--- a/LayoutTests/http/tests/security/cross-frame-access-get-expected.txt
+++ b/LayoutTests/http/tests/security/cross-frame-access-get-expected.txt
@@ -108,7 +108,6 @@
 PASS: canGet('targetWindow.MutationEvent') should be 'false' and is.
 PASS: canGet('targetWindow.Node') should be 'false' and is.
 PASS: canGet('targetWindow.NodeFilter') should be 'false' and is.
-PASS: canGet('targetWindow.Notation') should be 'false' and is.
 PASS: canGet('targetWindow.Option') should be 'false' and is.
 PASS: canGet('targetWindow.ProcessingInstruction') should be 'false' and is.
 PASS: canGet('targetWindow.Range') should be 'false' and is.
diff --git a/LayoutTests/http/tests/security/cross-frame-access-get.html b/LayoutTests/http/tests/security/cross-frame-access-get.html
index 8df12ed..930b6a0 100644
--- a/LayoutTests/http/tests/security/cross-frame-access-get.html
+++ b/LayoutTests/http/tests/security/cross-frame-access-get.html
@@ -84,7 +84,6 @@
             "MutationEvent", 
             "Node", 
             "NodeFilter", 
-            "Notation", 
             "Option", 
             "ProcessingInstruction", 
             "Range", 
diff --git a/LayoutTests/http/tests/security/cross-frame-access-getOwnPropertyDescriptor-expected.txt b/LayoutTests/http/tests/security/cross-frame-access-getOwnPropertyDescriptor-expected.txt
index c396394..cf909f6 100644
--- a/LayoutTests/http/tests/security/cross-frame-access-getOwnPropertyDescriptor-expected.txt
+++ b/LayoutTests/http/tests/security/cross-frame-access-getOwnPropertyDescriptor-expected.txt
@@ -88,7 +88,6 @@
 PASS: canGetDescriptor(targetWindow, 'MutationEvent') should be 'false' and is.
 PASS: canGetDescriptor(targetWindow, 'Node') should be 'false' and is.
 PASS: canGetDescriptor(targetWindow, 'NodeFilter') should be 'false' and is.
-PASS: canGetDescriptor(targetWindow, 'Notation') should be 'false' and is.
 PASS: canGetDescriptor(targetWindow, 'Option') should be 'false' and is.
 PASS: canGetDescriptor(targetWindow, 'ProcessingInstruction') should be 'false' and is.
 PASS: canGetDescriptor(targetWindow, 'Range') should be 'false' and is.
diff --git a/LayoutTests/http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html b/LayoutTests/http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html
index 2daab8c..e3bebc8 100644
--- a/LayoutTests/http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html
+++ b/LayoutTests/http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html
@@ -84,7 +84,6 @@
             "MutationEvent", 
             "Node", 
             "NodeFilter", 
-            "Notation", 
             "Option", 
             "ProcessingInstruction", 
             "Range", 
diff --git a/LayoutTests/http/tests/security/cross-frame-access-put-expected.txt b/LayoutTests/http/tests/security/cross-frame-access-put-expected.txt
index 434c5e8..a099848 100644
--- a/LayoutTests/http/tests/security/cross-frame-access-put-expected.txt
+++ b/LayoutTests/http/tests/security/cross-frame-access-put-expected.txt
@@ -74,7 +74,6 @@
 ALERT: PASS: window.MutationEvent should be 'function MutationEvent() { [native code] }' and is.
 ALERT: PASS: window.Node should be 'function Node() { [native code] }' and is.
 ALERT: PASS: window.NodeFilter should be 'function NodeFilter() { [native code] }' and is.
-ALERT: PASS: window.Notation should be 'function Notation() { [native code] }' and is.
 ALERT: PASS: window.ProcessingInstruction should be 'function ProcessingInstruction() { [native code] }' and is.
 ALERT: PASS: window.Range should be 'function Range() { [native code] }' and is.
 ALERT: PASS: window.RangeError should be 'function RangeError() { [native code] }' and is.
@@ -264,7 +263,6 @@
 PASS: Unable to set property MutationEvent: SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.
 PASS: Unable to set property Node: SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.
 PASS: Unable to set property NodeFilter: SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.
-PASS: Unable to set property Notation: SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.
 PASS: Unable to set property ProcessingInstruction: SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.
 PASS: Unable to set property Range: SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.
 PASS: Unable to set property RangeError: SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.
diff --git a/LayoutTests/http/tests/security/cross-frame-access-put.html b/LayoutTests/http/tests/security/cross-frame-access-put.html
index e340118..176068e 100644
--- a/LayoutTests/http/tests/security/cross-frame-access-put.html
+++ b/LayoutTests/http/tests/security/cross-frame-access-put.html
@@ -101,7 +101,6 @@
     setForbiddenProperty(targetWindow, "MutationEvent");
     setForbiddenProperty(targetWindow, "Node");
     setForbiddenProperty(targetWindow, "NodeFilter");
-    setForbiddenProperty(targetWindow, "Notation");
     setForbiddenProperty(targetWindow, "ProcessingInstruction");
     setForbiddenProperty(targetWindow, "Range");
     setForbiddenProperty(targetWindow, "RangeError");
diff --git a/LayoutTests/http/tests/security/resources/cross-frame-iframe-for-put-test.html b/LayoutTests/http/tests/security/resources/cross-frame-iframe-for-put-test.html
index f021179..2bb502f 100644
--- a/LayoutTests/http/tests/security/resources/cross-frame-iframe-for-put-test.html
+++ b/LayoutTests/http/tests/security/resources/cross-frame-iframe-for-put-test.html
@@ -135,7 +135,6 @@
         var MutationEventOld = window.MutationEvent;
         var NodeFilterOld = window.NodeFilter;
         var NodeOld = window.Node;
-        var NotationOld = window.Notation;
         var ProcessingInstructionOld = window.ProcessingInstruction;
         var RangeErrorOld = window.RangeError;
         var RangeOld = window.Range;
@@ -337,7 +336,6 @@
             shouldBe("window.MutationEvent", "MutationEventOld");
             shouldBe("window.Node", "NodeOld");
             shouldBe("window.NodeFilter", "NodeFilterOld");
-            shouldBe("window.Notation", "NotationOld");
             shouldBe("window.ProcessingInstruction", "ProcessingInstructionOld");
             shouldBe("window.Range", "RangeOld");
             shouldBe("window.RangeError", "RangeErrorOld");
diff --git a/LayoutTests/virtual/stable/webexposed/global-constructors-listing-expected.txt b/LayoutTests/virtual/stable/webexposed/global-constructors-listing-expected.txt
index f20a0ae..369eab1 100644
--- a/LayoutTests/virtual/stable/webexposed/global-constructors-listing-expected.txt
+++ b/LayoutTests/virtual/stable/webexposed/global-constructors-listing-expected.txt
@@ -230,7 +230,6 @@
 NodeFilter
 NodeIterator
 NodeList
-Notation
 Notification
 Number
 Object
diff --git a/LayoutTests/webexposed/global-constructors-listing-expected.txt b/LayoutTests/webexposed/global-constructors-listing-expected.txt
index 9bcfb98..49b6816 100644
--- a/LayoutTests/webexposed/global-constructors-listing-expected.txt
+++ b/LayoutTests/webexposed/global-constructors-listing-expected.txt
@@ -258,7 +258,6 @@
 NodeFilter
 NodeIterator
 NodeList
-Notation
 Notification
 Number
 Object
diff --git a/Source/bindings/core/v8/custom/V8NodeCustom.cpp b/Source/bindings/core/v8/custom/V8NodeCustom.cpp
index ede18bd..f6fe2c0 100644
--- a/Source/bindings/core/v8/custom/V8NodeCustom.cpp
+++ b/Source/bindings/core/v8/custom/V8NodeCustom.cpp
@@ -43,7 +43,6 @@
 #include "bindings/core/v8/V8Element.h"
 #include "bindings/core/v8/V8EventListener.h"
 #include "bindings/core/v8/V8HTMLElement.h"
-#include "bindings/core/v8/V8Notation.h"
 #include "bindings/core/v8/V8ProcessingInstruction.h"
 #include "bindings/core/v8/V8SVGElement.h"
 #include "bindings/core/v8/V8ShadowRoot.h"
diff --git a/Source/core/core.gypi b/Source/core/core.gypi
index 6b436c7..68c039a 100644
--- a/Source/core/core.gypi
+++ b/Source/core/core.gypi
@@ -81,7 +81,6 @@
             'dom/NodeFilter.idl',
             'dom/NodeIterator.idl',
             'dom/NodeList.idl',
-            'dom/Notation.idl',
             'dom/ProcessingInstruction.idl',
             'dom/Range.idl',
             'dom/RequestAnimationFrameCallback.idl',
@@ -2084,7 +2083,6 @@
             'dom/NodeTraversal.cpp',
             'dom/NodeTraversal.h',
             'dom/NodeWithIndex.h',
-            'dom/Notation.h',
             'dom/ParentNode.h',
             'dom/PendingScript.cpp',
             'dom/Position.cpp',
diff --git a/Source/core/dom/Notation.h b/Source/core/dom/Notation.h
deleted file mode 100644
index 5ce2ec4..0000000
--- a/Source/core/dom/Notation.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2000 Peter Kelly (pmk@post.com)
- * Copyright (C) 2006, 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.
- *
- */
-
-#ifndef Notation_h
-#define Notation_h
-
-#include "core/dom/ContainerNode.h"
-
-namespace blink {
-
-class Notation : public ContainerNode {
-private:
-    Notation(); // Left unimplemented on purpose.
-};
-
-} // namespace blink
-
-#endif
diff --git a/Source/core/dom/Notation.idl b/Source/core/dom/Notation.idl
deleted file mode 100644
index 5ad13ec..0000000
--- a/Source/core/dom/Notation.idl
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright (C) 2006 Apple Computer, Inc.
- *
- * 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.
- */
-
-// FIXME: Remove Notation interface. We never create Notation objects. We have
-// this interface to provide window.Notation.
-interface Notation : Node {
-    // We don't need to provide any attributes.
-};
-
