Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(297)

Unified Diff: Source/bindings/v8/BlinkInJSTest.js

Issue 345893002: Implement an infrastructure of Blink-in-JS Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/bindings/v8/BlinkInJSTest.js
diff --git a/Source/bindings/v8/BlinkInJSTest.js b/Source/bindings/v8/BlinkInJSTest.js
new file mode 100644
index 0000000000000000000000000000000000000000..79aaee85dc8d779a84a83be07087d6115c19459a
--- /dev/null
+++ b/Source/bindings/v8/BlinkInJSTest.js
@@ -0,0 +1,81 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+"use strict";
+
+installClass("BlinkInJSTest", function() {
+ function doNothing() {
+ }
+ function return123() {
+ return 123;
+ }
+ function echoInteger(value) {
+ return value;
+ }
+ function echoString(value) {
+ return value;
+ }
+ function echoNode(value) {
+ return value;
+ }
+ function addInteger(value1, value2) {
+ return value1 + value2;
+ }
+ function addString(value1, value2) {
+ return value1 + value2;
+ }
+ function setIntegerToDocument(document, value) {
+ document.integer = value;
+ }
+ function getIntegerFromDocument(document) {
+ return document.integer;
+ }
+ function createElement(document) {
+ return document.createElement("div");
+ }
+ function appendChild(node1, node2) {
+ node1.appendChild(node2);
+ }
+ function firstChild(node) {
+ return node.firstChild;
+ }
+ function nextSibling(node) {
+ return node.nextSibling;
+ }
+ function innerHTML(node) {
+ return node.innerHTML;
+ }
+ function setInnerHTML(node, string) {
arv (Not doing code reviews) 2014/06/20 15:06:22 Is there a plan to support getters and setters?
haraken 2014/06/23 01:32:55 Yes, will do that in a follow-up.
+ node.innerHTML = string;
+ }
+ function addClickListener(node) {
+ node.addEventListener("click", function () {
+ node.innerHTML = "clicked";
+ });
+ }
+ function clickNode(document, node) {
+ var event = document.createEvent("MouseEvents");
arv (Not doing code reviews) 2014/06/20 15:06:22 var event = new MouseEvent('click', { bubbles: t
haraken 2014/06/23 01:32:55 Hmm, if I use 'new MouseEvent', it crashes. This l
haraken 2014/06/23 07:15:03 Fixed. The reason of the crash was that I was cach
+ event.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
+ node.dispatchEvent(event);
+ }
+
+ return { doNothing : doNothing,
+ return123 : return123,
+ echoInteger : echoInteger,
+ echoString : echoString,
+ echoNode : echoNode,
+ addInteger : addInteger,
+ addString : addString,
+ setIntegerToDocument : setIntegerToDocument,
+ getIntegerFromDocument : getIntegerFromDocument,
+ createElement : createElement,
+ appendChild : appendChild,
+ firstChild : firstChild,
+ nextSibling : nextSibling,
+ innerHTML : innerHTML,
+ setInnerHTML : setInnerHTML,
+ addClickListener : addClickListener,
+ clickNode : clickNode,
+ };
+});

Powered by Google App Engine
This is Rietveld 408576698