headers: forward declare SkDOM, and include SkClipOp

Change-Id: I38041cd2c71a89604f35832415287e2356592efd
Reviewed-on: https://skia-review.googlesource.com/8925
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
diff --git a/include/views/SkEvent.h b/include/views/SkEvent.h
index 6495530..b78fd6f 100644
--- a/include/views/SkEvent.h
+++ b/include/views/SkEvent.h
@@ -8,10 +8,12 @@
 #ifndef SkEvent_DEFINED
 #define SkEvent_DEFINED
 
-#include "SkDOM.h"
 #include "SkMetaData.h"
 #include "SkString.h"
 
+class SkDOM;
+struct SkDOMNode;
+
 #include "../private/SkLeanWindows.h"
 
 /** Unique 32bit id used to identify an instance of SkEventSink. When events are
@@ -180,7 +182,7 @@
     const SkMetaData& getMetaData() const { return fMeta; }
 
     /** Call this to initialize the event from the specified XML node */
-    void inflate(const SkDOM&, const SkDOM::Node*);
+    void inflate(const SkDOM&, const SkDOMNode*);
 
     SkDEBUGCODE(void dump(const char title[] = NULL);)
 
diff --git a/include/views/SkView.h b/include/views/SkView.h
index 091eba3..43f86f5 100644
--- a/include/views/SkView.h
+++ b/include/views/SkView.h
@@ -12,12 +12,13 @@
 
 #include "SkEventSink.h"
 #include "SkRect.h"
-#include "SkDOM.h"
 #include "SkMatrix.h"
 #include "SkMetaData.h"
 
 class SkCanvas;
 class SkLayerView;
+class SkDOM;
+struct SkDOMNode;
 
 /** \class SkView
 
@@ -260,10 +261,10 @@
 
 
         void draw(SkView*, SkCanvas*);
-        void inflate(const SkDOM&, const SkDOM::Node*);
+        void inflate(const SkDOM&, const SkDOMNode*);
     protected:
         virtual void onDraw(SkView*, SkCanvas*) = 0;
-        virtual void onInflate(const SkDOM&, const SkDOM::Node*);
+        virtual void onInflate(const SkDOM&, const SkDOMNode*);
     private:
         typedef SkRefCnt INHERITED;
     };
@@ -288,10 +289,10 @@
 
 
         void layoutChildren(SkView* parent);
-        void inflate(const SkDOM&, const SkDOM::Node*);
+        void inflate(const SkDOM&, const SkDOMNode*);
     protected:
         virtual void onLayoutChildren(SkView* parent) = 0;
-        virtual void onInflate(const SkDOM&, const SkDOM::Node*);
+        virtual void onInflate(const SkDOM&, const SkDOMNode*);
     private:
         typedef SkRefCnt INHERITED;
     };
@@ -311,7 +312,7 @@
 
     /** Call this to initialize this view based on the specified XML node
     */
-    void    inflate(const SkDOM& dom, const SkDOM::Node* node);
+    void    inflate(const SkDOM& dom, const SkDOMNode* node);
 
     SkDEBUGCODE(void dump(bool recurse) const;)
 
@@ -349,7 +350,7 @@
     */
     virtual bool    onClick(Click*);
     /** Override this to initialize your subclass from the XML node. Be sure to call the inherited version too */
-    virtual void    onInflate(const SkDOM& dom, const SkDOM::Node* node);
+    virtual void    onInflate(const SkDOM& dom, const SkDOMNode* node);
     /** Override this if you want to perform post initialization work based on the ID dictionary built
         during XML parsing. Be sure to call the inherited version too.
     */
diff --git a/src/core/SkRasterClipStack.h b/src/core/SkRasterClipStack.h
index 6de73d4..d553f24 100644
--- a/src/core/SkRasterClipStack.h
+++ b/src/core/SkRasterClipStack.h
@@ -8,6 +8,7 @@
 #ifndef SkRasterClipStack_DEFINED
 #define SkRasterClipStack_DEFINED
 
+#include "SkClipOp.h"
 #include "SkDeque.h"
 #include "SkRasterClip.h"
 
diff --git a/src/views/SkEvent.cpp b/src/views/SkEvent.cpp
index 57e165f..c218ee4 100644
--- a/src/views/SkEvent.cpp
+++ b/src/views/SkEvent.cpp
@@ -6,6 +6,7 @@
  */
 
 
+#include "SkDOM.h"
 #include "SkEvent.h"
 
 void SkEvent::initialize(const char* type, size_t typeLen,
diff --git a/src/views/SkView.cpp b/src/views/SkView.cpp
index 9404fad..9c148df 100644
--- a/src/views/SkView.cpp
+++ b/src/views/SkView.cpp
@@ -7,6 +7,7 @@
 
 #include "SkView.h"
 #include "SkCanvas.h"
+#include "SkDOM.h"
 
 static inline uint32_t SkSetClearShift(uint32_t bits, bool cond, unsigned shift) {
     SkASSERT((int)cond == 0 || (int)cond == 1);
diff --git a/src/views/SkViewPriv.cpp b/src/views/SkViewPriv.cpp
index 7dbe5f1..b426ade 100644
--- a/src/views/SkViewPriv.cpp
+++ b/src/views/SkViewPriv.cpp
@@ -4,6 +4,8 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
+
+#include "SkDOM.h"
 #include "SkViewPriv.h"
 
 //////////////////////////////////////////////////////////////////////