| Index: libadblockplus-android/assets/inject.js | 
| diff --git a/libadblockplus-android/assets/inject.js b/libadblockplus-android/assets/inject.js | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..0ba180b3e8406c92705cb44d75e6c28c792caeb3 | 
| --- /dev/null | 
| +++ b/libadblockplus-android/assets/inject.js | 
| @@ -0,0 +1,45 @@ | 
| +var hideElements = function() | 
| +{ | 
| + | 
| +  // no need to invoke if already invoked on another event | 
| +  if (jsBridge.isElementsHidden()) | 
| +  { | 
| +    {{DEBUG}} console.log('already hidden, exiting'); | 
| +    return; | 
| +  } | 
| + | 
| +  // hide using element visibility (to be replaced with script body) | 
| +  {{HIDE}} | 
| + | 
| +  {{BRIDGE}}.setElementsHidden(true); // set flag not to do it again | 
| +}; | 
| + | 
| +if ({{BRIDGE}}.getAddDomListener() && document.readyState != 'complete') | 
| +{ | 
| +  {{BRIDGE}}.setAddDomListener(false); | 
| + | 
| +  // onreadystatechange event | 
| +  document.onreadystatechange = function() | 
| +  { | 
| +    {{DEBUG}} console.log('onreadystatechange() event fired (' + document.readyState + ')') | 
| +    if (document.readyState == 'interactive') | 
| +    { | 
| +      hideElements(); | 
| +    } | 
| +  } | 
| + | 
| +   // load event | 
| +  window.addEventListener('load', function(event) | 
| +  { | 
| +    {{DEBUG}} console.log('load() event fired'); | 
| +    hideElements(); | 
| +  }); | 
| + | 
| +  // DOMContentLoaded event | 
| +  document.addEventListener('DOMContentLoaded', function() | 
| +  { | 
| +    {{DEBUG}} console.log('DOMContentLoaded() event fired'); | 
| +    hideElements(); | 
| +  }, false); | 
| + | 
| +}; | 
|  |