Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(124)

Side by Side Diff: chrome/common/extensions/docs/examples/api/contentSettings/popup.html

Issue 7229012: Use extension match pattern syntax in content settings extension API (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: initialize port Created 9 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html> 2 <html>
3 <head> 3 <head>
4 <script> 4 <script>
5 var settings = {
6 "cookies": ["allow", "session_only", "block"],
7 "images": ["allow", "block"],
8 "javascript": ["allow", "block"],
9 "plugins": ["allow", "block"],
10 "popups": ["allow", "block"],
11 // "location": ["allow", "ask", "block"],
12 "notifications": ["allow", "ask", "block"],
13 };
14
15 var incognito; 5 var incognito;
16 var url; 6 var url;
17 7
18 function init() { 8 function init() {
19 chrome.tabs.getSelected(undefined, function(tab) { 9 chrome.tabs.getSelected(undefined, function(tab) {
20 incognito = tab.incognito; 10 incognito = tab.incognito;
21 url = tab.url; 11 url = tab.url;
22 var types = ["cookies", "images", "javascript", "plugins", "popups", 12 var types = ["cookies", "images", "javascript", "plugins", "popups",
23 "notifications"]; 13 "notifications"];
24 types.forEach(function(type) { 14 types.forEach(function(type) {
25 chrome.experimental.contentSettings[type].get({ 15 chrome.experimental.contentSettings[type].get({
26 'topLevelUrl': url, 16 'topLevelUrl': url,
27 'embeddedUrl': url, 17 'embeddedUrl': url,
28 'incognito': incognito 18 'incognito': incognito
29 }, 19 },
30 function(details) { 20 function(details) {
31 document.getElementById(type).value = details.setting; 21 document.getElementById(type).value = details.setting;
32 }); 22 });
33 }); 23 });
34 }); 24 });
35 } 25 }
36 26
37 function settingChanged(element) { 27 function settingChanged(element) {
38 var type = element.id; 28 var type = element.id;
39 var setting = element.value; 29 var setting = element.value;
40 var pattern = { 30 var pattern = /^file:/.test(url) ? url : url.replace(/\/[^\/]*?$/, '/*');
41 'pattern': url
42 };
43 console.log(type+" setting for "+pattern+": "+setting); 31 console.log(type+" setting for "+pattern+": "+setting);
44 chrome.experimental.contentSettings[type].set({ 32 chrome.experimental.contentSettings[type].set({
45 'topLevelPattern': pattern, 33 'topLevelPattern': pattern,
46 'embeddedPattern': pattern, 34 'embeddedPattern': pattern,
47 'setting': setting, 35 'setting': setting,
48 'scope': (incognito ? 'incognito_session_only' : 'regular') 36 'scope': (incognito ? 'incognito_session_only' : 'regular')
49 }); 37 });
50 } 38 }
51 </script> 39 </script>
52 </head> 40 </head>
(...skipping 13 matching lines...) Expand all
66 <option value="block">Block</option> 54 <option value="block">Block</option>
67 </select> 55 </select>
68 <dt><label for="javascript">Javascript: </label></dt> 56 <dt><label for="javascript">Javascript: </label></dt>
69 <dd><select id="javascript" onchange="settingChanged(this);"> 57 <dd><select id="javascript" onchange="settingChanged(this);">
70 <option value="allow">Allow</option> 58 <option value="allow">Allow</option>
71 <option value="block">Block</option> 59 <option value="block">Block</option>
72 </select></dd> 60 </select></dd>
73 <dt><label for="plugins">Plug-ins: </label></dt> 61 <dt><label for="plugins">Plug-ins: </label></dt>
74 <dd><select id="plugins" onchange="settingChanged(this);"> 62 <dd><select id="plugins" onchange="settingChanged(this);">
75 <option value="allow">Allow</option> 63 <option value="allow">Allow</option>
76 <option value="ask">Click-to-play</option>
77 <option value="block">Block</option> 64 <option value="block">Block</option>
78 </select></dd> 65 </select></dd>
79 <dt><label for="popups">Pop-ups: </label></dt> 66 <dt><label for="popups">Pop-ups: </label></dt>
80 <dd><select id="popups" onchange="settingChanged(this);"> 67 <dd><select id="popups" onchange="settingChanged(this);">
81 <option value="allow">Allow</option> 68 <option value="allow">Allow</option>
82 <option value="block">Block</option> 69 <option value="block">Block</option>
83 </select></dd> 70 </select></dd>
84 <dt><label for="location">Location: </label></dt> 71 <dt><label for="location">Location: </label></dt>
85 <dd><select id="location" onchange="settingChanged(this);" disabled> 72 <dd><select id="location" onchange="settingChanged(this);" disabled>
86 <option value="allow">Allow</option> 73 <option value="allow">Allow</option>
87 <option value="ask">Ask</option> 74 <option value="ask">Ask</option>
88 <option value="block">Block</option> 75 <option value="block">Block</option>
89 </select></dd> 76 </select></dd>
90 <dt><label for="notifications">Notifications: </label></dt> 77 <dt><label for="notifications">Notifications: </label></dt>
91 <dd><select id="notifications" onchange="settingChanged(this);"> 78 <dd><select id="notifications" onchange="settingChanged(this);">
92 <option value="allow">Allow</option> 79 <option value="allow">Allow</option>
93 <option value="ask">Ask</option> 80 <option value="ask">Ask</option>
94 <option value="block">Block</option> 81 <option value="block">Block</option>
95 </select></dd> 82 </select></dd>
96 </dl> 83 </dl>
97 </fieldset> 84 </fieldset>
98 85
99 86
100 </body> 87 </body>
101 </html> 88 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698