Description# Won't go into the nearest release.
add showing of NotificationWindow for notifications without url.
Installer:
- install NotificationWindow.html into html/templates
Engine:
- use Microsoft.Windows.Common-Controls of version 6.0.0.0. Otherwise there are some artefacts with drawing.
- add global `_AtlModule`, it's used by ATL window classes.
- add message loop in the main thread and move communication stuff into separate thread.
- add timer which waits 3 sec and checks whether there is some notification. It looks as bad-logic, but it is how it should be done now. There are plans to change it, see #2420.
- add NotificationWindow class and some helper classes and functions.
Client (BHO) and shared:
- start engine with Medium integrity level, because under Low integrity level we cannot open a link. Anyway we will need engine running under Medium integrity level if we want to inject something into IE frame (host of tabs). The question about raising the privileges is suppressed by registry key (see bho_registry_value.wxi).
- move `GetHtmlElementAttribute` from 'src/plugin/PluginFilter.cpp' into shared because now it's also used by engine.
- add `GetExeDir` which returns the directory of the current executable (similar to `GetDllDir`).
# for testing one can use the following prefs.json (It does not work after updating of adblockplus submodule)
# {"currentVersion":"1.4","notificationdata":{"lastCheck":1435237921229,"softExpiration":1435317952049,"hardExpiration":1435406930323,"data":{"notifications":[{"id":"myId","title":"myTitle","message":"myMessage <a>www</a> <a>abp</a>","links":["http://www.com","https://adblockplus.org"]}],"version":"201502031430"},"lastError":0,"downloadStatus":"synchronize_ok","shown":[]}}
# Use Fiddler, add into OnBeforeResponse handler
# if (oSession.uriContains("notification.json")) {
# var respBody = '{"notifications": [{"id": "myId", "title": "Update Adblock Plus", "message": "A new version of Adblock Plus is ready to be installed. Do you want to install it now?", "links": []}],"version": "201502031430" }';
# oSession.utilSetResponseBody(respBody);
# }
Patch Set 1 #
Total comments: 9
Patch Set 2 : rebase, fix nullptrs, use COM InternetExplorer and close NotificationWindow when link is clicked #
Total comments: 11
Patch Set 3 : improve ReplaceMulti and change loading of html template #Patch Set 4 : remove non-used method #Patch Set 5 : add border and shadow and remove title background #
Total comments: 7
Patch Set 6 : rebase and address comments #
Total comments: 3
Patch Set 7 : fix naming #
Total comments: 6
Patch Set 8 : address comments and a couple of additional fixes #Patch Set 9 : fix obtaining of DPI value of content (NotificationWindow) of NotificationBorderWindow #
Total comments: 12
MessagesTotal messages: 26
|