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

Side by Side Diff: chrome/test/data/extensions/platform_apps/ad_view/ad_network_loaded/displayad.js

Issue 12463015: Enable <adview> tag for packaged apps. (Closed) Base URL: https://git.chromium.org/chromium/src.git@master
Patch Set: Merge fix. Created 7 years, 9 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 (function() {
5 "use strict";
6
7 var document = window.document;
8
9 // Arbitrary data.
10 var publisherData = {
11 id: "rpaquayAds",
12 extras: {
13 colorText: "Red",
14 colorBg: "Default"
15 },
16 };
17
18 /**
19 * Displays message |statusText|, clearing it after 15 seconds.
20 */
21 var timeoutSequenceId = 0;
22 function displayStatus(statusText) {
23 timeoutSequenceId++;
24
25 var div = document.getElementById("my-status");
26 div.textContent = statusText;
27
28 var sequenceId = timeoutSequenceId;
29 setTimeout(function() {
30 if (sequenceId === timeoutSequenceId) {
31 div.textContent = "";
32 }
33 }, 15000);
34 }
35
36 /**
37 * Displays size of ads when an ad has just been displayed.
38 */
39 function adDisplayed(source, appMessage) {
40 var adview = document.getElementById("my-adview");
41 adview.style.height = appMessage.data.adSize.height;
42
43 displayStatus("Ad displayed( " + appMessage.sequenceNumber + "): " +
44 "height=" + appMessage.data.adSize.height);
45 }
46
47 /**
48 * Displays publisher data information when an ad has just been clicked.
49 */
50 function adClicked(source, appMessage) {
51 displayStatus("Ad clicked(" + appMmessage.sequenceNumber + "): " +
52 "publisher id=" + appMessage.publisherData.id);
53 }
54
55 /**
56 * Dispatches |appMessage| according to message value.
57 */
58 function processAppMessage(source, appMessage) {
59 if (appMessage.message == "ad-displayed") {
60 adDisplayed(source, appMessage);
61 }
62 else if (appMessage.message == "ad-clicked") {
63 adClicked(source, appMessage);
64 }
65 }
66
67 /**
68 * Handles "message" event.
69 */
70 function onPostMessage(event) {
71 processAppMessage(event.source, event.data);
72 }
73
74 /**
75 * Handles "DOMContentLoaded" event.
76 */
77 function onDocumentReady() {
78 var button = document.getElementById('display-ad');
79 var adview = document.getElementById("my-adview");
80
81 // Enable "Display Ad" button when the adview content is loaded
82 adview.addEventListener('loadcommit', function() {
83 button.disabled = false;
84 button.value = "Display Ad";
85 button.addEventListener('click', function () {
86 adview.contentWindow.postMessage({
87 message: "display-ad",
88 publisherData: publisherData
89 }, "*");
90 }, false);
91 });
92 }
93
94 //
95 // Register global event listeners.
96 //
97 window.addEventListener("message", onPostMessage, false);
98 document.addEventListener('DOMContentLoaded', onDocumentReady, false);
99
100 })();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698