Clean up redundant header files inclusion in navigatorcontentutils

In previous CLs, redundant header files were included by files of navigator content utils.
This cl removes those files as well as redundant forward declaration. Additionally this cl uses forward declaration for KURL in
NavigatorContentUtilsClientMock.h. Finally this cl adds OwnPtr.h to NavigatorContentUtils.h because blink coding style prefers to include directly when oilpan is disabled.


BUG=none

Review URL: https://codereview.chromium.org/365223002

git-svn-id: svn://svn.chromium.org/blink/trunk@177510 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Implement Blink-in-JS for DOM attributes

* This CL implements the core infrastructure of Blink-in-JS to support DOM attributes.

* Developers can use DOM attributes in Blink-in-JS as follows:

(1) Implement DOM attribute getters/setters in JavaScript.

// Foo.js
installClass("Foo", function(window) {
  var FooPrototype = {};
  FooPrototype.initialize = function() {  // Initialize properties of |this| object.
    this.m_attr = "initial value";
  }
  Object.defineProperty(FooPrototype, "attr", {
    get: function() { return this.m_attr; },  // DOM attribute getter
    set: function(value) { return this.m_attr = attr; }  // DOM attribute setter
  })
  return FooPrototype;
});

(2) Add an [ImplementedInPrivateScript] IDL attribute to Foo.idl.

// Foo.idl
interface Foo {
  [ImplementedInPrivateScript] attribute DOMString attr;
};

* For more details, see changes to Internals.js and Internals.idl.

* bindings/scripts/v8_attributes.py and bindings/templates/attributes.cpp implement the binding layer that connects DOM attributes with private scripts. Only primitive types and DOM wrappers are allowed as types of attribute values used in Blink-in-JS.

BUG=341031
TEST=fast/dom/private_script_unittest.html

Review URL: https://codereview.chromium.org/362993004

git-svn-id: svn://svn.chromium.org/blink/trunk@177511 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Oilpan: fix build after r177509.

TBR=haraken@chromium.org
BUG=383813
NOTRY=true

Review URL: https://codereview.chromium.org/370693002

git-svn-id: svn://svn.chromium.org/blink/trunk@177512 bbb929c8-8fbe-4397-9dbb-9b2b20218538