~ubuntu-branches/ubuntu/saucy/webapps-applications/saucy

« back to all changes in this revision

Viewing changes to src/GooglePlus/GooglePlus.user.js

  • Committer: Ken VanDine
  • Date: 2012-10-17 13:33:55 UTC
  • mfrom: (80.1.255)
  • Revision ID: ken.vandine@canonical.com-20121017133355-32ho8p412g6tyxxm
* New upstream release.
  - Fixed: Language detection code will not work for all 
    languages (LP: #1065422)
  - new translations
* -debian/patches/lp_1064260.patch, upstream
* -debian/patches/bzr_extract_strings.patch, upstream
* -debian/patches/dont-add-launchers-on-edubuntu, upstream

Show diffs side-by-side

added added

removed removed

Lines of Context:
109
109
    selfTest();
110
110
}
111
111
 
112
 
if (isCorrectPage()) {
 
112
function getAppNameNode() {
 
113
    return document.evaluate('//div[@id="contentPane"]/div/div/div/div/div[3]',
 
114
                             document, null, XPathResult.ANY_UNORDERED_NODE_TYPE, null).singleNodeValue;
 
115
}
 
116
 
 
117
function getImg(appName) {
 
118
    var params = "numNotificationsToFetch=20&sp=%5B9%2C2%2Cnull%2Cnull%2Cnull%2C20%2Cnull%2Cnull%2C%5B%5D%2Cnull%2Cnull%2Cnull%2Cnull%2Cnull%2Cnull%2C%5B%5D%5D&at=AObGSAhjSyZGNGIsEddNiQgGm1C9qNxXuQ%3A1350006133009&";
 
119
    var request = new XMLHttpRequest();
 
120
 
 
121
    request.onreadystatechange = wrapCallback(function () {
 
122
        if (request.readyState === 4) {
 
123
            var text = request.responseText;
 
124
            var pos = text.indexOf(appName);
 
125
            while (text[pos] !== '[' && pos > 0) {
 
126
                pos--;
 
127
            }
 
128
            var startPos = pos;
 
129
            pos++;
 
130
            var depth;
 
131
            for (depth = 1; depth && pos < text.length; pos++) {
 
132
                if (text[pos] === '[') {
 
133
                    depth++;
 
134
                }
 
135
                if (text[pos] === ']') {
 
136
                    depth--;
 
137
                }
 
138
            }
 
139
            var desc = text.substr(startPos, pos - startPos);
 
140
 
 
141
            pos = desc.indexOf(',');
 
142
            while (desc.indexOf(',', pos + 1) !== -1) {
 
143
                pos = desc.indexOf(',', pos + 1);
 
144
            }
 
145
 
 
146
            var img = desc.substr(pos + 2);
 
147
            img = img.substr(0, img.length - 2);
 
148
            if (img.indexOf('https://') !== -1) {
 
149
                img = 'http://' + img.substr('https://'.length);
 
150
            }
 
151
            Unity.toDataURL(img, wrapCallback(function (aResult, uri) {
 
152
                Unity.init({ name: appName,
 
153
                             iconUrl:img,
 
154
                             domain: 'plus.google.com',
 
155
                             force: true,
 
156
                             homepage: String(window.location),
 
157
                             onInit: function(){} });
 
158
            }));
 
159
        }
 
160
    });
 
161
    request.open("POST", "https://plus.google.com/u/0/_/games/getGamesModel?hl=en&ozv=es_oz_20121009.17_p3&avw=ggs%3A2&_reqid=820537&rt=j", true);
 
162
 
 
163
    request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
 
164
    request.setRequestHeader("Content-length", params.length);
 
165
    request.setRequestHeader("Connection", "close");
 
166
 
 
167
    request.send(params);
 
168
}
 
169
 
 
170
if (isCorrectPage() && !unsafeWindow._alreadyOnPage) {
 
171
    previous = '';
 
172
    unsafeWindow._alreadyOnPage = true;
 
173
    /* TODO: uncomment after lp:~zaspire/unity-firefox-extension/context-reinitialization merged
 
174
    setInterval(wrapCallback(function wait() {
 
175
        // It's change location without reloading page
 
176
        if (!getAppNameNode() || !getAppNameNode().textContent.length) {
 
177
            return;
 
178
        }
 
179
        var appName = getAppNameNode().textContent;
 
180
        if (previous == appName)
 
181
            return;
 
182
        previous = appName;
 
183
        getImg(appName);
 
184
        localStorage.setItem(appName, true);
 
185
    }), 2000);*/
113
186
    Unity.init({ name: "Google+",
114
187
                 domain: 'plus.google.com',
115
188
                 homepage: 'https://plus.google.com/',