Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--browser.py14
-rw-r--r--data/media-controls.css32
2 files changed, 46 insertions, 0 deletions
diff --git a/browser.py b/browser.py
index 545bf3b..dd23999 100644
--- a/browser.py
+++ b/browser.py
@@ -567,6 +567,8 @@ class Browser(WebKit.WebView):
self.__mime_type_policy_cb)
self.connect('load-error', self.__load_error_cb)
+ self._inject_media_style = False
+
ContentInvoker(self)
try:
@@ -700,6 +702,9 @@ class Browser(WebKit.WebView):
policy_decision.ignore()
return True
+ elif mimetype == 'audio/x-vorbis+ogg':
+ self._inject_media_style = True
+
elif not self.can_show_mime_type(mimetype):
policy_decision.download()
return True
@@ -720,6 +725,15 @@ class Browser(WebKit.WebView):
if web_error.code in (WebKit.PolicyError.\
FRAME_LOAD_INTERRUPTED_BY_POLICY_CHANGE,
WebKit.PluginError.WILL_HANDLE_LOAD):
+ if self._inject_media_style:
+ css_style_file = open(os.path.join(activity.get_bundle_path(),
+ "data/media-controls.css"))
+ css_style = css_style_file.read().replace('\n', '')
+ inject_style_script = \
+ "var style = document.createElement('style');" \
+ "style.innerHTML = '%s';" \
+ "document.body.appendChild(style);" % css_style
+ web_view.execute_script(inject_style_script)
return True
data = {
diff --git a/data/media-controls.css b/data/media-controls.css
new file mode 100644
index 0000000..9e21f08
--- /dev/null
+++ b/data/media-controls.css
@@ -0,0 +1,32 @@
+body {
+ background-color: #ffffff;
+}
+audio, video {
+ width: 500px;
+ height: 55px;
+ color: #ffffff;
+}
+audio::-webkit-media-controls-enclosure, video::-webkit-media-controls-enclosure {
+ height: 55px;
+}
+audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel {
+ height: 55px;
+ background-color: #282828;
+ border-radius: 25px;
+}
+audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button,
+audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button,
+audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button,
+audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button,
+audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button,
+audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button {
+ width: 55px;
+ height: 55px;
+}
+audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display,
+audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display {
+ height: 55px;
+ line-height: 0px;
+ font-size: 23px;
+ text-align: center;
+}