[Pkg-mozext-commits] [adblock-plus] 429/464: Issue 143 - Use chrome.runtime.reload() to reload Adblock Plus in Chrome development environment
David Prévot
taffit at moszumanska.debian.org
Tue Jul 22 20:44:41 UTC 2014
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch master
in repository adblock-plus.
commit 6fd7ff98d6cbc7d31b1d50fba2c05532428e6538
Author: Wladimir Palant <trev at adblockplus.org>
Date: Wed Apr 16 12:03:04 2014 +0200
Issue 143 - Use chrome.runtime.reload() to reload Adblock Plus in Chrome development environment
--HG--
rename : chromeDevenvPoller__.js.tmpl => chromeDevenvPoller__.js
extra : rebase_source : da3517cd899bfa03fb16080fa8984bd66d3cac14
---
...venvPoller__.js.tmpl => chromeDevenvPoller__.js | 22 ++++++-------
packagerChrome.py | 37 ++++------------------
2 files changed, 15 insertions(+), 44 deletions(-)
diff --git a/chromeDevenvPoller__.js.tmpl b/chromeDevenvPoller__.js
similarity index 68%
rename from chromeDevenvPoller__.js.tmpl
rename to chromeDevenvPoller__.js
index 11c2c71..2c50487 100644
--- a/chromeDevenvPoller__.js.tmpl
+++ b/chromeDevenvPoller__.js
@@ -17,28 +17,24 @@
(function()
{
- var basename = {{metadata.get("general", "basename")|json}};
-
+ var version = null;
function doPoll()
{
var request = new XMLHttpRequest();
- request.open("GET", "http://localhost:43816/");
+ request.open("GET", chrome.extension.getURL("devenvVersion__"));
request.addEventListener("load", function()
{
- if (request.responseText != basename)
- return;
+ if (version == null)
+ version = request.responseText;
- var views = chrome.extension.getViews();
- for (var i = 0; i < views.length; i++)
- if (views[i] != window)
- views[i].close();
- window.location.reload();
+ if (request.responseText != version)
+ chrome.runtime.reload();
+ else
+ window.setTimeout(doPoll, 5000);
}, false);
request.send(null);
-
- window.setTimeout(doPoll, 5000);
}
// Delay first poll to prevent reloading again immediately after a reload
- window.setTimeout(doPoll, 10000);
+ doPoll();
})();
diff --git a/packagerChrome.py b/packagerChrome.py
index 923a8ec..5dba1a7 100644
--- a/packagerChrome.py
+++ b/packagerChrome.py
@@ -128,10 +128,6 @@ def createManifest(params, files):
return manifest.encode('utf-8')
-def createPoller(params):
- template = getTemplate('chromeDevenvPoller__.js.tmpl')
- return template.render(params).encode('utf-8');
-
def createInfoModule(params):
template = getTemplate('chromeInfo.js.tmpl')
return template.render(params).encode('utf-8');
@@ -349,7 +345,7 @@ def createBuild(baseDir, type='chrome', outFile=None, buildNum=None, releaseBuil
files = Files(getPackageFiles(params), getIgnoredFiles(params),
process=lambda path, data: processFile(path, data, params))
-
+
if metadata.has_section('mapping'):
files.readMappedFiles(metadata.items('mapping'))
files.read(baseDir)
@@ -369,12 +365,15 @@ def createBuild(baseDir, type='chrome', outFile=None, buildNum=None, releaseBuil
if metadata.has_section('import_locales'):
importGeckoLocales(params, files)
-
+
files['manifest.json'] = createManifest(params, files)
fixMissingTranslations(files)
if devenv:
- files['devenvPoller__.js'] = createPoller(params)
+ import buildtools
+ import random
+ files.read(os.path.join(buildtools.__path__[0], 'chromeDevenvPoller__.js'), relpath='devenvPoller__.js')
+ files['devenvVersion__'] = str(random.random())
if (metadata.has_option('general', 'backgroundScripts') and
'lib/info.js' in re.split(r'\s+', metadata.get('general', 'backgroundScripts')) and
@@ -397,27 +396,3 @@ def createDevEnv(baseDir, type):
zip = ZipFile(StringIO(fileBuffer.getvalue()), 'r')
zip.extractall(os.path.join(baseDir, 'devenv'))
zip.close()
-
- print 'Development environment created, waiting for connections from active extensions...'
- metadata = readMetadata(baseDir, type)
- connections = [0]
-
- import SocketServer, time, thread
-
- class ConnectionHandler(SocketServer.BaseRequestHandler):
- def handle(self):
- connections[0] += 1
- self.request.sendall('HTTP/1.0 OK\nConnection: close\n\n%s' % metadata.get('general', 'basename'))
-
- server = SocketServer.TCPServer(('localhost', 43816), ConnectionHandler)
-
- def shutdown_server(server):
- time.sleep(10)
- server.shutdown()
- thread.start_new_thread(shutdown_server, (server,))
- server.serve_forever()
-
- if connections[0] == 0:
- print 'Warning: No incoming connections, extension probably not active in the browser yet'
- else:
- print 'Handled %i connection(s)' % connections[0]
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/adblock-plus.git
More information about the Pkg-mozext-commits
mailing list