summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorbauerb@chromium.org <bauerb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-10 16:23:01 +0000
committerbauerb@chromium.org <bauerb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-10 16:23:01 +0000
commit404063d01c7a780fa0d35cda505ad4a5e561c1d0 (patch)
treea5413090ddf1141d7286413995c71976e9a19d69 /chrome
parent2704d1e17acc1c0451adbd78657aa9b3537f08c0 (diff)
downloadchromium_src-404063d01c7a780fa0d35cda505ad4a5e561c1d0.zip
chromium_src-404063d01c7a780fa0d35cda505ad4a5e561c1d0.tar.gz
chromium_src-404063d01c7a780fa0d35cda505ad4a5e561c1d0.tar.bz2
Add content settings page action for Pepper broker authorization.
BUG=159199 Review URL: https://chromiumcodereview.appspot.com/11488009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@181651 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/app/nibs/ContentBlockedJavaScript.xib1136
-rw-r--r--chrome/app/nibs/ContentBlockedSimple.xib (renamed from chrome/app/nibs/ContentBlockedImages.xib)31
-rw-r--r--chrome/app/nibs/PRESUBMIT.py3
-rw-r--r--chrome/app/theme/theme_resources.grd1
-rw-r--r--chrome/browser/content_settings/tab_specific_content_settings.cc17
-rw-r--r--chrome/browser/content_settings/tab_specific_content_settings.h7
-rw-r--r--chrome/browser/pepper_broker_infobar_delegate.cc10
-rw-r--r--chrome/browser/pepper_broker_infobar_delegate.h3
-rw-r--r--chrome/browser/ui/cocoa/content_settings/content_setting_bubble_cocoa.mm16
-rw-r--r--chrome/browser/ui/content_settings/content_setting_bubble_model.cc77
-rw-r--r--chrome/browser/ui/content_settings/content_setting_bubble_model_unittest.cc41
-rw-r--r--chrome/browser/ui/content_settings/content_setting_image_model.cc16
-rw-r--r--chrome/chrome_nibs.gypi4
13 files changed, 176 insertions, 1186 deletions
diff --git a/chrome/app/nibs/ContentBlockedJavaScript.xib b/chrome/app/nibs/ContentBlockedJavaScript.xib
deleted file mode 100644
index ece71ee..0000000
--- a/chrome/app/nibs/ContentBlockedJavaScript.xib
+++ /dev/null
@@ -1,1136 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
- <data>
- <int key="IBDocument.SystemTarget">1050</int>
- <string key="IBDocument.SystemVersion">12B19</string>
- <string key="IBDocument.InterfaceBuilderVersion">2549</string>
- <string key="IBDocument.AppKitVersion">1187</string>
- <string key="IBDocument.HIToolboxVersion">624.00</string>
- <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
- <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="NS.object.0">2549</string>
- </object>
- <object class="NSArray" key="IBDocument.IntegratedClassDependencies">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>NSBox</string>
- <string>NSButton</string>
- <string>NSButtonCell</string>
- <string>NSCustomObject</string>
- <string>NSCustomView</string>
- <string>NSMatrix</string>
- <string>NSTextField</string>
- <string>NSTextFieldCell</string>
- <string>NSView</string>
- <string>NSWindowTemplate</string>
- </object>
- <object class="NSArray" key="IBDocument.PluginDependencies">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- </object>
- <object class="NSMutableDictionary" key="IBDocument.Metadata">
- <string key="NS.key.0">PluginDependencyRecalculationVersion</string>
- <integer value="1" key="NS.object.0"/>
- </object>
- <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSCustomObject" id="1001">
- <string key="NSClassName">ContentSettingBubbleController</string>
- </object>
- <object class="NSCustomObject" id="1003">
- <string key="NSClassName">FirstResponder</string>
- </object>
- <object class="NSCustomObject" id="1004">
- <string key="NSClassName">NSApplication</string>
- </object>
- <object class="NSWindowTemplate" id="1005">
- <int key="NSWindowStyleMask">15</int>
- <int key="NSWindowBacking">2</int>
- <string key="NSWindowRect">{{196, 376}, {316, 134}}</string>
- <int key="NSWTFlags">536873984</int>
- <string key="NSWindowTitle">Window</string>
- <string key="NSWindowClass">InfoBubbleWindow</string>
- <nil key="NSViewClass"/>
- <nil key="NSUserInterfaceItemIdentifier"/>
- <object class="NSView" key="NSWindowView" id="1006">
- <reference key="NSNextResponder"/>
- <int key="NSvFlags">256</int>
- <object class="NSMutableArray" key="NSSubviews">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSCustomView" id="301729179">
- <reference key="NSNextResponder" ref="1006"/>
- <int key="NSvFlags">274</int>
- <object class="NSMutableArray" key="NSSubviews">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSTextField" id="266815090">
- <reference key="NSNextResponder" ref="301729179"/>
- <int key="NSvFlags">266</int>
- <string key="NSFrame">{{17, 100}, {282, 14}}</string>
- <reference key="NSSuperview" ref="301729179"/>
- <reference key="NSWindow"/>
- <bool key="NSEnabled">YES</bool>
- <object class="NSTextFieldCell" key="NSCell" id="157361777">
- <int key="NSCellFlags">67108864</int>
- <int key="NSCellFlags2">272760832</int>
- <string key="NSContents">^IDS_BLOCKED_JAVASCRIPT_TITLE</string>
- <object class="NSFont" key="NSSupport" id="26">
- <string key="NSName">LucidaGrande</string>
- <double key="NSSize">11</double>
- <int key="NSfFlags">3100</int>
- </object>
- <reference key="NSControlView" ref="266815090"/>
- <object class="NSColor" key="NSBackgroundColor" id="657398381">
- <int key="NSColorSpace">6</int>
- <string key="NSCatalogName">System</string>
- <string key="NSColorName">controlColor</string>
- <object class="NSColor" key="NSColor">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
- </object>
- </object>
- <object class="NSColor" key="NSTextColor">
- <int key="NSColorSpace">6</int>
- <string key="NSCatalogName">System</string>
- <string key="NSColorName">controlTextColor</string>
- <object class="NSColor" key="NSColor">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MAA</bytes>
- </object>
- </object>
- </object>
- <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
- </object>
- <object class="NSMatrix" id="126329017">
- <reference key="NSNextResponder" ref="301729179"/>
- <int key="NSvFlags">290</int>
- <string key="NSFrame">{{20, 54}, {276, 38}}</string>
- <reference key="NSSuperview" ref="301729179"/>
- <reference key="NSWindow"/>
- <bool key="NSEnabled">YES</bool>
- <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
- <int key="NSNumRows">2</int>
- <int key="NSNumCols">1</int>
- <object class="NSMutableArray" key="NSCells">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSButtonCell" id="193088222">
- <int key="NSCellFlags">67108864</int>
- <int key="NSCellFlags2">131072</int>
- <string key="NSContents">^IDS_BLOCKED_JAVASCRIPT_UNBLOCK</string>
- <reference key="NSSupport" ref="26"/>
- <reference key="NSControlView" ref="126329017"/>
- <int key="NSTag">1</int>
- <int key="NSButtonFlags">1211912448</int>
- <int key="NSButtonFlags2">0</int>
- <object class="NSButtonImageSource" key="NSAlternateImage" id="564397696">
- <string key="NSImageName">NSRadioButton</string>
- </object>
- <string key="NSAlternateContents"/>
- <string key="NSKeyEquivalent"/>
- <int key="NSPeriodicDelay">200</int>
- <int key="NSPeriodicInterval">25</int>
- </object>
- <object class="NSButtonCell" id="619648789">
- <int key="NSCellFlags">-2080374784</int>
- <int key="NSCellFlags2">131072</int>
- <string key="NSContents">^IDS_BLOCKED_JAVASCRIPT_NO_ACTION</string>
- <reference key="NSSupport" ref="26"/>
- <reference key="NSControlView" ref="126329017"/>
- <int key="NSTag">2</int>
- <int key="NSButtonFlags">1211912448</int>
- <int key="NSButtonFlags2">0</int>
- <object class="NSImage" key="NSNormalImage">
- <int key="NSImageFlags">549453824</int>
- <string key="NSSize">{18, 18}</string>
- <object class="NSMutableArray" key="NSReps">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <integer value="0"/>
- <object class="NSBitmapImageRep">
- <object class="NSData" key="NSTIFFRepresentation">
- <bytes key="NS.bytes">TU0AKgAABRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAADwRERGLJycnySsrK/A1NTXw
-IyMjyRwcHIsJCQk8AAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFRUVdVBQUOCoqKj/
-29vb//n5+f/6+vr/2tra/6qqqv9UVFTgHx8fdQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUZGRl5
-dXV198PDw//8/Pz////////////////////////////U1NT/fHx89yUlJXkAAAAFAAAAAAAAAAAAAAAA
-AAAAAxEREUZqamrmtbW1/+3t7f/+/v7//v7+//7+/v/9/f3//f39//39/f/39/f/xMTE/3d3d+YZGRlG
-AAAAAwAAAAAAAAAAAAAACkJCQqGtra3/xsbG/+vr6//y8vL/9fX1//X19f/z8/P/9fX1//Ly8v/u7u7/
-0tLS/6+vr/9KSkqhAAAACgAAAAAAAAAAAAAAF3h4eN2/v7//z8/P/93d3f/q6ur/7+/v/+/v7//w8PD/
-7e3t/+3t7f/i4uL/zs7O/8XFxf98fHzdAAAAFwAAAAAAAAADAAAAJKSkpPjOzs7/2dnZ/+Dg4P/i4uL/
-5eXl/+bm5v/n5+f/5eXl/+Li4v/e3t7/2tra/9DQ0P+srKz4AAAAJAAAAAMAAAADAAAALrCwsPrW1tb/
-3t7e/+Tk5P/p6en/6+vr/+zs7P/p6en/6+vr/+fn5//k5OT/4ODg/9nZ2f+zs7P6AAAALgAAAAMAAAAD
-AAAALp2dnezg4OD/5eXl/+rq6v/u7u7/8PDw//Dw8P/x8fH/8PDw/+7u7v/q6ur/5ubm/+Hh4f+ZmZns
-AAAALgAAAAMAAAADAAAAJG5ubs/l5eX/6enp/+/v7//y8vL/9vb2//r6+v/5+fn/9/f3//b29v/x8fH/
-6+vr/+Tk5P9ra2vPAAAAJAAAAAMAAAAAAAAAFy4uLpPCwsL67Ozs//Pz8//5+fn//v7+//7+/v/+/v7/
-/v7+//v7+//19fX/8PDw/8LCwvosLCyTAAAAFwAAAAAAAAAAAAAACgAAAENfX1/S5OTk/vn5+f/+/v7/
-///////////////////////////8/Pz/5ubm/l9fX9IAAABDAAAACgAAAAAAAAAAAAAAAwAAABcAAABl
-YmJi3NLS0v3////////////////////////////////V1dX9ZGRk3AAAAGUAAAAXAAAAAwAAAAAAAAAA
-AAAAAAAAAAUAAAAfAAAAZTMzM8KAgIDwv7+//O3t7f/t7e3/v7+//ICAgPAzMzPCAAAAZQAAAB8AAAAF
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAFwAAAEMAAAB3AAAAnwAAALMAAACzAAAAnwAAAHcAAABD
-AAAAFwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAoAAAAXAAAAJAAAAC4AAAAu
-AAAAJAAAABcAAAAKAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgEAAAMAAAABABIAAAEB
-AAMAAAABABIAAAECAAMAAAAEAAAFxgEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAERAAQAAAABAAAACAES
-AAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABABIAAAEXAAQAAAABAAAFEAEcAAMAAAABAAEAAAFS
-AAMAAAABAAEAAAFTAAMAAAAEAAAFzodzAAcAAAwYAAAF1gAAAAAACAAIAAgACAABAAEAAQABAAAMGGFw
-cGwCAAAAbW50clJHQiBYWVogB9YABAADABMALAASYWNzcEFQUEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAPbWAAEAAAAA0y1hcHBsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAOclhZWgAAASwAAAAUZ1hZWgAAAUAAAAAUYlhZWgAAAVQAAAAUd3RwdAAAAWgAAAAUY2hhZAAA
-AXwAAAAsclRSQwAAAagAAAAOZ1RSQwAAAbgAAAAOYlRSQwAAAcgAAAAOdmNndAAAAdgAAAMSbmRpbgAA
-BOwAAAY+ZGVzYwAACywAAABkZHNjbQAAC5AAAAAubW1vZAAAC8AAAAAoY3BydAAAC+gAAAAtWFlaIAAA
-AAAAAF1KAAA0kQAACCVYWVogAAAAAAAAdCAAALRgAAAjPVhZWiAAAAAAAAAlbAAAFyoAAKfDWFlaIAAA
-AAAAAPNSAAEAAAABFs9zZjMyAAAAAAABDEIAAAXe///zJgAAB5IAAP2R///7ov///aMAAAPcAADAbGN1
-cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAAY3VydgAAAAAAAAABAc0AAHZjZ3QAAAAAAAAAAAAD
-AQAAAQACBAUGBwkKCw0ODxASExQWFxgaGxweHyAiIyQmJygpKywtLzAxMjM1Njc4OTs8PT5AQUJDREZH
-SElKS0xOT1BRUlNUVVZXWFlaW1xdXl9hYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SF
-hoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnZ6foKGio6SlpqanqKmqq6ytra6vsLGysrO0tba3uLi5uru8
-vL2+v8DBwcLDxMXGxsfIycrKy8zNzs7P0NHS0tPU1dbW19jZ2drb3Nzd3t/g4eLi4+Tl5ufo6enq6+zt
-7u/w8fHy8/T19vf4+fr7/P3+/v8AAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR8gISIjJCUnKCkq
-Ky0uLzAxMzQ1Njc4OTo7PD0/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaWltcXV5fYGFiY2RlZmdo
-aWprbG1ub3BxcnN0dXZ3d3h5ent8fH1+f4CBgoKDhIWGh4iIiYqLjI2Oj5CRkpOUlJWWl5iZmpucnZ2e
-n6ChoqOkpaamp6ipqqusra6vsLCxsrO0tba3uLm5uru8vb6/wMHCw8TFx8jJysvMzc7P0NDR0tPU1dbX
-2Nna29ze3+Dh4uPk5ebn6err7O3u7/Hy8/T19vf5+vv8/f7/AAIDAwQFBgcICQoKCwwNDg8QERITFBUW
-FxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODg5Ojs8PT4+P0BBQkNDREVGR0hJSUpLTE1O
-Tk9QUVJSU1RVVVZXWFhZWltbXF1eXl9gYWFiY2RkZWZnZ2hpaWprbGxtbm5vcHFxcnNzdHV1dnd4eHl6
-ent8fH1+fn+AgYGCg4SEhYaHiImJiouMjY6Oj5CRkpOTlJWWl5iZmZqbnJ2en6ChoqOkpaanqKmqq6yt
-rq+xsrO0tba3uLq7vL2+wMHDxMbHycrMzs/R0tTW19nb3d7g4uTm6Ors7vDy9Pb4+vz+/wAAbmRpbgAA
-AAAAAAY2AACXGgAAVjoAAFPKAACJ3gAAJ8IAABaoAABQDQAAVDkAAiuFAAIZmQABeFEAAwEAAAIAAAAA
-AAEABgANABcAIwAxAEAAUgBlAHsAkwCrAMUA4gD/AR8BPwFhAYUBqgHQAfgCIAJLAncCpQLSAwIDMwNl
-A5gDzgQFBD0EdQSvBOsFKQVnBacF6AYqBm4GtQb8B0UHkgfkCDkIkAjnCT4JmAn0ClAKrQsLC2sLygwq
-DIwM8Q1XDcAOKA6SDv4PbA/bEE0QxBE7EbQSMRKwEzITuRREFNAVYBXxFocXHhfAGGIZBBmsGlQa+RuU
-HC4czh1yHhQeux9jIA0gvCFoIhkizyOJJEEk+SW6JnknOygFKMspkypiKzIsASzXLawuhy9gMD4xGzH8
-MtszvzSgNYY2cjdcOEw5OTorOxs8CD0EPfU+6z/nQOFB2ELUQ9VE00XcRttH5EjxSgBLCUwdTTFOUE9v
-UI9Rt1LdVAVVNlZsV6VY4FohW21ct135X09goGH0Y0tkqGYFZ19oxGova5ptCG54b/BxbnLsdG119Xd/
-eQh6knwqfcV/W4D4gpSEO4Xih4CJKorYjIqOOY/jkZuTWJUOlsyYiZpSnB6d4Z+soX+jWqUvpxOo+6rj
-rMuuwLC4sra0rra0uL+60LzfvwDBHcLdxLXGhchYyi7MCs3lz7rRmtOA1WPXR9kq2xPc/97s4M/iveSn
-5o3obupT7ELuLPAM8fLz0PW396H5f/tZ/T3//wAAAAEAAwALABYAJQA3AE0AZQCBAJ8AwQDlAQsBNQFh
-AZABwQH1AisCZAKfAtwDHANfA6MD6gQ0BH8EzQT1BR0FcAXEBhsGdAbPBy0HXAeMB+4IUgi4CSAJVAmK
-CfYKZArVC0cLgQu8DDIMqw0mDaIOIQ6hDyQPqRAvELgQ/RFDEc8SXRLuE4AUFRSrFUMV3RZ5FxcXthhY
-GPwZoRpIGvEbnBxJHPgdqB5bHw8fxSB9ITch8iKwJDAk8yW3Jn4nRigQKNwpqSp5K0osHCzxLccuoC95
-MFUxMzISMvMz1TS5NaA2hzdxOFw5STo4Oyg8Gj4DPvs/9EDuQepD6ETpRexG8Uf3SP9LFEwhTTBOQE9S
-UGZSklOrVMVV4Vb/WB5ZP1phW4Vcq13SXvthUmJ/Y69k4GYSZ0dofGm0au1tZG6ib+FxInJlc6l073Y2
-d396FXtjfLJ+A39VgKmB/4NWhK+GCYjCiiGLgYzjjkePrJESknuT5Ja8mCuZm5sMnH+d9J9qoOGiWqPV
-pVGmz6eOqE6pzqtRrNSuWq/gsWmy8rR+tgu5Kbq6vE294b93wQ7Cp8RBxd3He8kZyrrLisxbzf/Po9FK
-0vHUm9ZF1/HZn9tO3Cbc/96x4GTiGePQ5YjnQegf6Pzquex27jbv9/G583z0X/VC9wj40Pqa/GX+Mf//
-AAAAAQADAAsAJQA3AE0AZQCBAJ8AwQELATUBYQGQAcEB9QIrAmQCnwLcAxwDXwOjA+oENAR/BM0FHQVw
-BcQGGwZ0Bs8HLQeMB+4IUgi4CSAJign2CmQK1QtHC7wMMgyrDSYNog4hDqEPJA+pEC8QuBFDEl0S7hOA
-FBUUqxVDFnkXFxe2GFgY/BpIGvEbnBxJHPgdqB8PH8UgfSE3IfIjbyQwJPMltydGKBAo3Cp5K0osHC3H
-LqAveTEzMhIy8zS5NaA2hzhcOUk6ODwaPQ4+Az/0QO5C6EPoROlG8Uf3SglLFEwhTkBPUlF7UpJUxVXh
-Vv9ZP1phXKtd0mAlYVJjr2TgZhJofGm0au1tZG6ib+FxInJldO92Nnd/eMl6FXyyfgN/VYCpgf+Er4YJ
-h2WIwoohi4GOR4+skRKSe5PklVCWvJgrmZubDJx/nfSfaqDholqj1aVRps+oTqnOq1Gs1K2Xrlqv4LFp
-svK0frYLt5m5Kbnxurq8Tb3hv3fBDsHawqfEQcUPxd3He8hKyRnKusuKzFvN/87Rz6PQdtFK0vHTxtSb
-1kXXG9fx2MjZn9tO3Cbc/93Y3rHfiuBk4hni9ePQ5KzliOZk50HoH+j86drqueuX7HbtVu427xbv9/DX
-8bnymvN89F/1QvYl9wj37PjQ+bX6mvt//GX9S/4x//8AAGRlc2MAAAAAAAAACkNvbG9yIExDRAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAABIAAAAcAEMAbwBsAG8AcgAgAEwAQwBE
-AABtbW9kAAAAAAAABhAAAJxOAAAAAL5zkQAAAAAAAAAAAAAAAAAAAAAAdGV4dAAAAABDb3B5cmlnaHQg
-QXBwbGUgQ29tcHV0ZXIsIEluYy4sIDIwMDUAAAAAA</bytes>
- </object>
- </object>
- </object>
- </object>
- <object class="NSColor" key="NSColor" id="126952482">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MCAwAA</bytes>
- </object>
- </object>
- <reference key="NSAlternateImage" ref="564397696"/>
- <int key="NSPeriodicDelay">400</int>
- <int key="NSPeriodicInterval">75</int>
- </object>
- </object>
- <string key="NSCellSize">{276, 18}</string>
- <string key="NSIntercellSpacing">{4, 2}</string>
- <int key="NSMatrixFlags">1151868928</int>
- <string key="NSCellClass">NSActionCell</string>
- <object class="NSButtonCell" key="NSProtoCell" id="789299084">
- <int key="NSCellFlags">67108864</int>
- <int key="NSCellFlags2">131072</int>
- <string key="NSContents">Radio</string>
- <reference key="NSSupport" ref="26"/>
- <int key="NSButtonFlags">1211912448</int>
- <int key="NSButtonFlags2">0</int>
- <object class="NSImage" key="NSNormalImage">
- <int key="NSImageFlags">549453824</int>
- <string key="NSSize">{18, 18}</string>
- <object class="NSMutableArray" key="NSReps">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <integer value="0"/>
- <object class="NSBitmapImageRep">
- <object class="NSData" key="NSTIFFRepresentation">
- <bytes key="NS.bytes">TU0AKgAABRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAADwRERGLJycnySsrK/A1NTXw
-IyMjyRwcHIsJCQk8AAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFRUVdVBQUOCoqKj/
-29vb//n5+f/6+vr/2tra/6qqqv9UVFTgHx8fdQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUZGRl5
-dXV198PDw//8/Pz////////////////////////////U1NT/fHx89yUlJXkAAAAFAAAAAAAAAAAAAAAA
-AAAAAxEREUZqamrmtbW1/+3t7f/+/v7//v7+//7+/v/9/f3//f39//39/f/39/f/xMTE/3d3d+YZGRlG
-AAAAAwAAAAAAAAAAAAAACkJCQqGtra3/xsbG/+vr6//y8vL/9fX1//X19f/z8/P/9fX1//Ly8v/u7u7/
-0tLS/6+vr/9KSkqhAAAACgAAAAAAAAAAAAAAF3h4eN2/v7//z8/P/93d3f/q6ur/7+/v/+/v7//w8PD/
-7e3t/+3t7f/i4uL/zs7O/8XFxf98fHzdAAAAFwAAAAAAAAADAAAAJKSkpPjOzs7/2dnZ/+Dg4P/i4uL/
-5eXl/+bm5v/n5+f/5eXl/+Li4v/e3t7/2tra/9DQ0P+srKz4AAAAJAAAAAMAAAADAAAALrCwsPrW1tb/
-3t7e/+Tk5P/p6en/6+vr/+zs7P/p6en/6+vr/+fn5//k5OT/4ODg/9nZ2f+zs7P6AAAALgAAAAMAAAAD
-AAAALp2dnezg4OD/5eXl/+rq6v/u7u7/8PDw//Dw8P/x8fH/8PDw/+7u7v/q6ur/5ubm/+Hh4f+ZmZns
-AAAALgAAAAMAAAADAAAAJG5ubs/l5eX/6enp/+/v7//y8vL/9vb2//r6+v/5+fn/9/f3//b29v/x8fH/
-6+vr/+Tk5P9ra2vPAAAAJAAAAAMAAAAAAAAAFy4uLpPCwsL67Ozs//Pz8//5+fn//v7+//7+/v/+/v7/
-/v7+//v7+//19fX/8PDw/8LCwvosLCyTAAAAFwAAAAAAAAAAAAAACgAAAENfX1/S5OTk/vn5+f/+/v7/
-///////////////////////////8/Pz/5ubm/l9fX9IAAABDAAAACgAAAAAAAAAAAAAAAwAAABcAAABl
-YmJi3NLS0v3////////////////////////////////V1dX9ZGRk3AAAAGUAAAAXAAAAAwAAAAAAAAAA
-AAAAAAAAAAUAAAAfAAAAZTMzM8KAgIDwv7+//O3t7f/t7e3/v7+//ICAgPAzMzPCAAAAZQAAAB8AAAAF
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAFwAAAEMAAAB3AAAAnwAAALMAAACzAAAAnwAAAHcAAABD
-AAAAFwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAoAAAAXAAAAJAAAAC4AAAAu
-AAAAJAAAABcAAAAKAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQEAAAMAAAABABIAAAEB
-AAMAAAABABIAAAECAAMAAAAEAAAFugEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAERAAQAAAABAAAACAES
-AAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABABIAAAEXAAQAAAABAAAFEAEcAAMAAAABAAEAAAFS
-AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
- </object>
- </object>
- </object>
- </object>
- <reference key="NSColor" ref="126952482"/>
- </object>
- <reference key="NSAlternateImage" ref="564397696"/>
- <int key="NSPeriodicDelay">400</int>
- <int key="NSPeriodicInterval">75</int>
- </object>
- <int key="NSSelectedRow">1</int>
- <reference key="NSSelectedCell" ref="619648789"/>
- <reference key="NSBackgroundColor" ref="657398381"/>
- <object class="NSColor" key="NSCellBackgroundColor" id="968406066">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MQA</bytes>
- </object>
- <object class="NSFont" key="NSFont" id="419827241">
- <string key="NSName">LucidaGrande</string>
- <double key="NSSize">13</double>
- <int key="NSfFlags">1044</int>
- </object>
- </object>
- <object class="NSBox" id="913795455">
- <reference key="NSNextResponder" ref="301729179"/>
- <int key="NSvFlags">34</int>
- <string key="NSFrame">{{20, 43}, {276, 5}}</string>
- <reference key="NSSuperview" ref="301729179"/>
- <reference key="NSWindow"/>
- <string key="NSOffsets">{0, 0}</string>
- <object class="NSTextFieldCell" key="NSTitleCell">
- <int key="NSCellFlags">67108864</int>
- <int key="NSCellFlags2">0</int>
- <string key="NSContents">Box</string>
- <reference key="NSSupport" ref="419827241"/>
- <object class="NSColor" key="NSBackgroundColor">
- <int key="NSColorSpace">6</int>
- <string key="NSCatalogName">System</string>
- <string key="NSColorName">textBackgroundColor</string>
- <reference key="NSColor" ref="968406066"/>
- </object>
- <object class="NSColor" key="NSTextColor">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes>
- </object>
- </object>
- <int key="NSBorderType">3</int>
- <int key="NSBoxType">2</int>
- <int key="NSTitlePosition">0</int>
- <bool key="NSTransparent">NO</bool>
- </object>
- <object class="NSCustomView" id="730386640">
- <reference key="NSNextResponder" ref="301729179"/>
- <int key="NSvFlags">294</int>
- <object class="NSMutableArray" key="NSSubviews">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSButton" id="91589614">
- <reference key="NSNextResponder" ref="730386640"/>
- <int key="NSvFlags">292</int>
- <string key="NSFrame">{{15, 13}, {115, 28}}</string>
- <reference key="NSSuperview" ref="730386640"/>
- <reference key="NSWindow"/>
- <bool key="NSEnabled">YES</bool>
- <object class="NSButtonCell" key="NSCell" id="319182835">
- <int key="NSCellFlags">67108864</int>
- <int key="NSCellFlags2">134348800</int>
- <string key="NSContents">^IDS_BLOCKED_JAVASCRIPT_LINK</string>
- <reference key="NSSupport" ref="26"/>
- <reference key="NSControlView" ref="91589614"/>
- <int key="NSButtonFlags">-2038284288</int>
- <int key="NSButtonFlags2">129</int>
- <string key="NSAlternateContents"/>
- <string key="NSKeyEquivalent"/>
- <int key="NSPeriodicDelay">200</int>
- <int key="NSPeriodicInterval">25</int>
- </object>
- <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
- </object>
- </object>
- <string key="NSFrameSize">{192, 37}</string>
- <reference key="NSSuperview" ref="301729179"/>
- <reference key="NSWindow"/>
- <string key="NSClassName">GTMWidthBasedTweaker</string>
- </object>
- <object class="NSCustomView" id="395762087">
- <reference key="NSNextResponder" ref="301729179"/>
- <int key="NSvFlags">291</int>
- <object class="NSMutableArray" key="NSSubviews">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSButton" id="433059244">
- <reference key="NSNextResponder" ref="395762087"/>
- <int key="NSvFlags">289</int>
- <string key="NSFrame">{{40, 13}, {68, 28}}</string>
- <reference key="NSSuperview" ref="395762087"/>
- <reference key="NSWindow"/>
- <bool key="NSEnabled">YES</bool>
- <object class="NSButtonCell" key="NSCell" id="255173005">
- <int key="NSCellFlags">67108864</int>
- <int key="NSCellFlags2">134348800</int>
- <string key="NSContents">^IDS_DONE</string>
- <reference key="NSSupport" ref="26"/>
- <reference key="NSControlView" ref="433059244"/>
- <int key="NSButtonFlags">-2038284288</int>
- <int key="NSButtonFlags2">129</int>
- <string key="NSAlternateContents"/>
- <string type="base64-UTF8" key="NSKeyEquivalent">DQ</string>
- <int key="NSPeriodicDelay">200</int>
- <int key="NSPeriodicInterval">25</int>
- </object>
- <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
- </object>
- </object>
- <string key="NSFrame">{{193, 0}, {123, 37}}</string>
- <reference key="NSSuperview" ref="301729179"/>
- <reference key="NSWindow"/>
- <string key="NSClassName">GTMWidthBasedTweaker</string>
- </object>
- </object>
- <string key="NSFrameSize">{316, 134}</string>
- <reference key="NSSuperview" ref="1006"/>
- <reference key="NSWindow"/>
- <string key="NSClassName">InfoBubbleView</string>
- </object>
- </object>
- <string key="NSFrameSize">{316, 134}</string>
- <reference key="NSSuperview"/>
- <reference key="NSWindow"/>
- </object>
- <string key="NSScreenRect">{{0, 0}, {1680, 1028}}</string>
- <string key="NSMaxSize">{10000000000000, 10000000000000}</string>
- <bool key="NSWindowIsRestorable">YES</bool>
- </object>
- <object class="NSCustomObject" id="670916757">
- <string key="NSClassName">ChromeUILocalizer</string>
- </object>
- <object class="NSCustomObject" id="684547419">
- <string key="NSClassName">GTMUILocalizerAndLayoutTweaker</string>
- </object>
- </object>
- <object class="IBObjectContainer" key="IBDocument.Objects">
- <object class="NSMutableArray" key="connectionRecords">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">window</string>
- <reference key="source" ref="1001"/>
- <reference key="destination" ref="1005"/>
- </object>
- <int key="connectionID">3</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">bubble_</string>
- <reference key="source" ref="1001"/>
- <reference key="destination" ref="301729179"/>
- </object>
- <int key="connectionID">5</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">allowBlockToggled:</string>
- <reference key="source" ref="1001"/>
- <reference key="destination" ref="126329017"/>
- </object>
- <int key="connectionID">24</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">manageBlocking:</string>
- <reference key="source" ref="1001"/>
- <reference key="destination" ref="91589614"/>
- </object>
- <int key="connectionID">25</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">closeBubble:</string>
- <reference key="source" ref="1001"/>
- <reference key="destination" ref="433059244"/>
- </object>
- <int key="connectionID">26</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">allowBlockRadioGroup_</string>
- <reference key="source" ref="1001"/>
- <reference key="destination" ref="126329017"/>
- </object>
- <int key="connectionID">27</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">titleLabel_</string>
- <reference key="source" ref="1001"/>
- <reference key="destination" ref="266815090"/>
- </object>
- <int key="connectionID">30</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">manageButton_</string>
- <reference key="source" ref="1001"/>
- <reference key="destination" ref="91589614"/>
- </object>
- <int key="connectionID">31</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">doneButton_</string>
- <reference key="source" ref="1001"/>
- <reference key="destination" ref="433059244"/>
- </object>
- <int key="connectionID">32</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">delegate</string>
- <reference key="source" ref="1005"/>
- <reference key="destination" ref="1001"/>
- </object>
- <int key="connectionID">6</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">localizer_</string>
- <reference key="source" ref="684547419"/>
- <reference key="destination" ref="670916757"/>
- </object>
- <int key="connectionID">22</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">uiObject_</string>
- <reference key="source" ref="684547419"/>
- <reference key="destination" ref="1005"/>
- </object>
- <int key="connectionID">23</int>
- </object>
- </object>
- <object class="IBMutableOrderedSet" key="objectRecords">
- <object class="NSArray" key="orderedObjects">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="IBObjectRecord">
- <int key="objectID">0</int>
- <object class="NSArray" key="object" id="0">
- <bool key="EncodedWithXMLCoder">YES</bool>
- </object>
- <reference key="children" ref="1000"/>
- <nil key="parent"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">-2</int>
- <reference key="object" ref="1001"/>
- <reference key="parent" ref="0"/>
- <string key="objectName">File's Owner</string>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">-1</int>
- <reference key="object" ref="1003"/>
- <reference key="parent" ref="0"/>
- <string key="objectName">First Responder</string>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">-3</int>
- <reference key="object" ref="1004"/>
- <reference key="parent" ref="0"/>
- <string key="objectName">Application</string>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">1</int>
- <reference key="object" ref="1005"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="1006"/>
- </object>
- <reference key="parent" ref="0"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">2</int>
- <reference key="object" ref="1006"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="301729179"/>
- </object>
- <reference key="parent" ref="1005"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">4</int>
- <reference key="object" ref="301729179"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="126329017"/>
- <reference ref="913795455"/>
- <reference ref="266815090"/>
- <reference ref="730386640"/>
- <reference ref="395762087"/>
- </object>
- <reference key="parent" ref="1006"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">7</int>
- <reference key="object" ref="266815090"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="157361777"/>
- </object>
- <reference key="parent" ref="301729179"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">8</int>
- <reference key="object" ref="157361777"/>
- <reference key="parent" ref="266815090"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">9</int>
- <reference key="object" ref="126329017"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="193088222"/>
- <reference ref="619648789"/>
- <reference ref="789299084"/>
- </object>
- <reference key="parent" ref="301729179"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">10</int>
- <reference key="object" ref="193088222"/>
- <reference key="parent" ref="126329017"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">11</int>
- <reference key="object" ref="619648789"/>
- <reference key="parent" ref="126329017"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">12</int>
- <reference key="object" ref="789299084"/>
- <reference key="parent" ref="126329017"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">19</int>
- <reference key="object" ref="913795455"/>
- <reference key="parent" ref="301729179"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">20</int>
- <reference key="object" ref="670916757"/>
- <reference key="parent" ref="0"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">21</int>
- <reference key="object" ref="684547419"/>
- <reference key="parent" ref="0"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">28</int>
- <reference key="object" ref="730386640"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="91589614"/>
- </object>
- <reference key="parent" ref="301729179"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">15</int>
- <reference key="object" ref="91589614"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="319182835"/>
- </object>
- <reference key="parent" ref="730386640"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">16</int>
- <reference key="object" ref="319182835"/>
- <reference key="parent" ref="91589614"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">29</int>
- <reference key="object" ref="395762087"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="433059244"/>
- </object>
- <reference key="parent" ref="301729179"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">17</int>
- <reference key="object" ref="433059244"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="255173005"/>
- </object>
- <reference key="parent" ref="395762087"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">18</int>
- <reference key="object" ref="255173005"/>
- <reference key="parent" ref="433059244"/>
- </object>
- </object>
- </object>
- <object class="NSMutableDictionary" key="flattenedProperties">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray" key="dict.sortedKeys">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>-1.IBPluginDependency</string>
- <string>-2.IBPluginDependency</string>
- <string>-3.IBPluginDependency</string>
- <string>1.IBPluginDependency</string>
- <string>1.IBWindowTemplateEditedContentRect</string>
- <string>1.NSWindowTemplate.visibleAtLaunch</string>
- <string>10.IBPluginDependency</string>
- <string>11.IBPluginDependency</string>
- <string>12.IBPluginDependency</string>
- <string>15.IBPluginDependency</string>
- <string>16.IBPluginDependency</string>
- <string>17.IBPluginDependency</string>
- <string>18.IBPluginDependency</string>
- <string>19.IBPluginDependency</string>
- <string>2.IBPluginDependency</string>
- <string>20.IBPluginDependency</string>
- <string>21.IBPluginDependency</string>
- <string>28.IBPluginDependency</string>
- <string>29.IBPluginDependency</string>
- <string>4.IBPluginDependency</string>
- <string>7.IBPluginDependency</string>
- <string>8.IBPluginDependency</string>
- <string>9.IBPluginDependency</string>
- </object>
- <object class="NSArray" key="dict.values">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>{{333, 667}, {316, 134}}</string>
- <boolean value="NO"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- </object>
- </object>
- <object class="NSMutableDictionary" key="unlocalizedProperties">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference key="dict.sortedKeys" ref="0"/>
- <reference key="dict.values" ref="0"/>
- </object>
- <nil key="activeLocalization"/>
- <object class="NSMutableDictionary" key="localizations">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference key="dict.sortedKeys" ref="0"/>
- <reference key="dict.values" ref="0"/>
- </object>
- <nil key="sourceID"/>
- <int key="maxID">32</int>
- </object>
- <object class="IBClassDescriber" key="IBDocument.Classes">
- <object class="NSMutableArray" key="referencedPartialClassDescriptions">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="IBPartialClassDescription">
- <string key="className">BaseBubbleController</string>
- <string key="superclassName">NSWindowController</string>
- <object class="NSMutableDictionary" key="outlets">
- <string key="NS.key.0">bubble_</string>
- <string key="NS.object.0">InfoBubbleView</string>
- </object>
- <object class="NSMutableDictionary" key="toOneOutletInfosByName">
- <string key="NS.key.0">bubble_</string>
- <object class="IBToOneOutletInfo" key="NS.object.0">
- <string key="name">bubble_</string>
- <string key="candidateClassName">InfoBubbleView</string>
- </object>
- </object>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">./Classes/BaseBubbleController.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">ChromeEventProcessingWindow</string>
- <string key="superclassName">UnderlayOpenGLHostingWindow</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">./Classes/ChromeEventProcessingWindow.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">ChromeUILocalizer</string>
- <string key="superclassName">GTMUILocalizer</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">./Classes/ChromeUILocalizer.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">ContentSettingBubbleController</string>
- <string key="superclassName">BaseBubbleController</string>
- <object class="NSMutableDictionary" key="actions">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray" key="dict.sortedKeys">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>allowBlockToggled:</string>
- <string>closeBubble:</string>
- <string>learnMoreLinkClicked:</string>
- <string>load:</string>
- <string>loadAllPlugins:</string>
- <string>manageBlocking:</string>
- <string>showMoreInfo:</string>
- </object>
- <object class="NSArray" key="dict.values">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- </object>
- </object>
- <object class="NSMutableDictionary" key="actionInfosByName">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray" key="dict.sortedKeys">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>allowBlockToggled:</string>
- <string>closeBubble:</string>
- <string>learnMoreLinkClicked:</string>
- <string>load:</string>
- <string>loadAllPlugins:</string>
- <string>manageBlocking:</string>
- <string>showMoreInfo:</string>
- </object>
- <object class="NSArray" key="dict.values">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="IBActionInfo">
- <string key="name">allowBlockToggled:</string>
- <string key="candidateClassName">id</string>
- </object>
- <object class="IBActionInfo">
- <string key="name">closeBubble:</string>
- <string key="candidateClassName">id</string>
- </object>
- <object class="IBActionInfo">
- <string key="name">learnMoreLinkClicked:</string>
- <string key="candidateClassName">id</string>
- </object>
- <object class="IBActionInfo">
- <string key="name">load:</string>
- <string key="candidateClassName">id</string>
- </object>
- <object class="IBActionInfo">
- <string key="name">loadAllPlugins:</string>
- <string key="candidateClassName">id</string>
- </object>
- <object class="IBActionInfo">
- <string key="name">manageBlocking:</string>
- <string key="candidateClassName">id</string>
- </object>
- <object class="IBActionInfo">
- <string key="name">showMoreInfo:</string>
- <string key="candidateClassName">id</string>
- </object>
- </object>
- </object>
- <object class="NSMutableDictionary" key="outlets">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray" key="dict.sortedKeys">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>allowBlockRadioGroup_</string>
- <string>blockedResourcesField_</string>
- <string>contentsContainer_</string>
- <string>doneButton_</string>
- <string>infoButton_</string>
- <string>loadAllPluginsButton_</string>
- <string>loadButton_</string>
- <string>manageButton_</string>
- <string>titleLabel_</string>
- </object>
- <object class="NSArray" key="dict.values">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>NSMatrix</string>
- <string>NSTextField</string>
- <string>NSView</string>
- <string>NSButton</string>
- <string>NSButton</string>
- <string>NSButton</string>
- <string>NSButton</string>
- <string>NSButton</string>
- <string>NSTextField</string>
- </object>
- </object>
- <object class="NSMutableDictionary" key="toOneOutletInfosByName">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray" key="dict.sortedKeys">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>allowBlockRadioGroup_</string>
- <string>blockedResourcesField_</string>
- <string>contentsContainer_</string>
- <string>doneButton_</string>
- <string>infoButton_</string>
- <string>loadAllPluginsButton_</string>
- <string>loadButton_</string>
- <string>manageButton_</string>
- <string>titleLabel_</string>
- </object>
- <object class="NSArray" key="dict.values">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="IBToOneOutletInfo">
- <string key="name">allowBlockRadioGroup_</string>
- <string key="candidateClassName">NSMatrix</string>
- </object>
- <object class="IBToOneOutletInfo">
- <string key="name">blockedResourcesField_</string>
- <string key="candidateClassName">NSTextField</string>
- </object>
- <object class="IBToOneOutletInfo">
- <string key="name">contentsContainer_</string>
- <string key="candidateClassName">NSView</string>
- </object>
- <object class="IBToOneOutletInfo">
- <string key="name">doneButton_</string>
- <string key="candidateClassName">NSButton</string>
- </object>
- <object class="IBToOneOutletInfo">
- <string key="name">infoButton_</string>
- <string key="candidateClassName">NSButton</string>
- </object>
- <object class="IBToOneOutletInfo">
- <string key="name">loadAllPluginsButton_</string>
- <string key="candidateClassName">NSButton</string>
- </object>
- <object class="IBToOneOutletInfo">
- <string key="name">loadButton_</string>
- <string key="candidateClassName">NSButton</string>
- </object>
- <object class="IBToOneOutletInfo">
- <string key="name">manageButton_</string>
- <string key="candidateClassName">NSButton</string>
- </object>
- <object class="IBToOneOutletInfo">
- <string key="name">titleLabel_</string>
- <string key="candidateClassName">NSTextField</string>
- </object>
- </object>
- </object>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">./Classes/ContentSettingBubbleController.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">GTMUILocalizer</string>
- <string key="superclassName">NSObject</string>
- <object class="NSMutableDictionary" key="outlets">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray" key="dict.sortedKeys">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>otherObjectToLocalize_</string>
- <string>owner_</string>
- <string>yetAnotherObjectToLocalize_</string>
- </object>
- <object class="NSArray" key="dict.values">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- </object>
- </object>
- <object class="NSMutableDictionary" key="toOneOutletInfosByName">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray" key="dict.sortedKeys">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>otherObjectToLocalize_</string>
- <string>owner_</string>
- <string>yetAnotherObjectToLocalize_</string>
- </object>
- <object class="NSArray" key="dict.values">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="IBToOneOutletInfo">
- <string key="name">otherObjectToLocalize_</string>
- <string key="candidateClassName">id</string>
- </object>
- <object class="IBToOneOutletInfo">
- <string key="name">owner_</string>
- <string key="candidateClassName">id</string>
- </object>
- <object class="IBToOneOutletInfo">
- <string key="name">yetAnotherObjectToLocalize_</string>
- <string key="candidateClassName">id</string>
- </object>
- </object>
- </object>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">./Classes/GTMUILocalizer.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">GTMUILocalizerAndLayoutTweaker</string>
- <string key="superclassName">NSObject</string>
- <object class="NSMutableDictionary" key="outlets">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray" key="dict.sortedKeys">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>localizerOwner_</string>
- <string>localizer_</string>
- <string>uiObject_</string>
- </object>
- <object class="NSArray" key="dict.values">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>id</string>
- <string>GTMUILocalizer</string>
- <string>id</string>
- </object>
- </object>
- <object class="NSMutableDictionary" key="toOneOutletInfosByName">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray" key="dict.sortedKeys">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>localizerOwner_</string>
- <string>localizer_</string>
- <string>uiObject_</string>
- </object>
- <object class="NSArray" key="dict.values">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="IBToOneOutletInfo">
- <string key="name">localizerOwner_</string>
- <string key="candidateClassName">id</string>
- </object>
- <object class="IBToOneOutletInfo">
- <string key="name">localizer_</string>
- <string key="candidateClassName">GTMUILocalizer</string>
- </object>
- <object class="IBToOneOutletInfo">
- <string key="name">uiObject_</string>
- <string key="candidateClassName">id</string>
- </object>
- </object>
- </object>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">./Classes/GTMUILocalizerAndLayoutTweaker.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">GTMWidthBasedTweaker</string>
- <string key="superclassName">NSView</string>
- <object class="NSMutableDictionary" key="outlets">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray" key="dict.sortedKeys">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>viewToResize_</string>
- <string>viewToSlideAndResize_</string>
- <string>viewToSlide_</string>
- </object>
- <object class="NSArray" key="dict.values">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>id</string>
- <string>NSView</string>
- <string>NSView</string>
- </object>
- </object>
- <object class="NSMutableDictionary" key="toOneOutletInfosByName">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray" key="dict.sortedKeys">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>viewToResize_</string>
- <string>viewToSlideAndResize_</string>
- <string>viewToSlide_</string>
- </object>
- <object class="NSArray" key="dict.values">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="IBToOneOutletInfo">
- <string key="name">viewToResize_</string>
- <string key="candidateClassName">id</string>
- </object>
- <object class="IBToOneOutletInfo">
- <string key="name">viewToSlideAndResize_</string>
- <string key="candidateClassName">NSView</string>
- </object>
- <object class="IBToOneOutletInfo">
- <string key="name">viewToSlide_</string>
- <string key="candidateClassName">NSView</string>
- </object>
- </object>
- </object>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">./Classes/GTMWidthBasedTweaker.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">InfoBubbleView</string>
- <string key="superclassName">NSView</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">./Classes/InfoBubbleView.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">InfoBubbleWindow</string>
- <string key="superclassName">ChromeEventProcessingWindow</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">./Classes/InfoBubbleWindow.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">UnderlayOpenGLHostingWindow</string>
- <string key="superclassName">NSWindow</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">./Classes/UnderlayOpenGLHostingWindow.h</string>
- </object>
- </object>
- </object>
- </object>
- <int key="IBDocument.localizationMode">0</int>
- <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
- <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
- <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
- <integer value="1050" key="NS.object.0"/>
- </object>
- <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
- <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
- <real value="1070" key="NS.object.0"/>
- </object>
- <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
- <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
- <integer value="3000" key="NS.object.0"/>
- </object>
- <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
- <int key="IBDocument.defaultPropertyAccessControl">3</int>
- </data>
-</archive>
diff --git a/chrome/app/nibs/ContentBlockedImages.xib b/chrome/app/nibs/ContentBlockedSimple.xib
index 578c112..af2704c 100644
--- a/chrome/app/nibs/ContentBlockedImages.xib
+++ b/chrome/app/nibs/ContentBlockedSimple.xib
@@ -2,10 +2,10 @@
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">1050</int>
- <string key="IBDocument.SystemVersion">12B19</string>
+ <string key="IBDocument.SystemVersion">12C60</string>
<string key="IBDocument.InterfaceBuilderVersion">2549</string>
- <string key="IBDocument.AppKitVersion">1187</string>
- <string key="IBDocument.HIToolboxVersion">624.00</string>
+ <string key="IBDocument.AppKitVersion">1187.34</string>
+ <string key="IBDocument.HIToolboxVersion">625.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="NS.object.0">2549</string>
@@ -67,11 +67,12 @@
<string key="NSFrame">{{17, 100}, {282, 14}}</string>
<reference key="NSSuperview" ref="301729179"/>
<reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="126329017"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="157361777">
<int key="NSCellFlags">67108864</int>
<int key="NSCellFlags2">272760832</int>
- <string key="NSContents">^IDS_BLOCKED_IMAGES_TITLE</string>
+ <string key="NSContents">&lt;do not localize&gt;</string>
<object class="NSFont" key="NSSupport" id="26">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">11</double>
@@ -105,6 +106,7 @@
<string key="NSFrame">{{20, 54}, {276, 38}}</string>
<reference key="NSSuperview" ref="301729179"/>
<reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="913795455"/>
<bool key="NSEnabled">YES</bool>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
<int key="NSNumRows">2</int>
@@ -114,7 +116,7 @@
<object class="NSButtonCell" id="193088222">
<int key="NSCellFlags">67108864</int>
<int key="NSCellFlags2">131072</int>
- <string key="NSContents">^IDS_BLOCKED_IMAGES_UNBLOCK</string>
+ <string key="NSContents">&lt;do not localize&gt;</string>
<reference key="NSSupport" ref="26"/>
<reference key="NSControlView" ref="126329017"/>
<int key="NSTag">1</int>
@@ -131,7 +133,7 @@
<object class="NSButtonCell" id="619648789">
<int key="NSCellFlags">-2080374784</int>
<int key="NSCellFlags2">131072</int>
- <string key="NSContents">^IDS_BLOCKED_IMAGES_NO_ACTION</string>
+ <string key="NSContents">&lt;do not localize&gt;</string>
<reference key="NSSupport" ref="26"/>
<reference key="NSControlView" ref="126329017"/>
<int key="NSTag">2</int>
@@ -313,6 +315,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string key="NSFrame">{{20, 43}, {276, 5}}</string>
<reference key="NSSuperview" ref="301729179"/>
<reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="730386640"/>
<string key="NSOffsets">{0, 0}</string>
<object class="NSTextFieldCell" key="NSTitleCell">
<int key="NSCellFlags">67108864</int>
@@ -343,14 +346,15 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<object class="NSButton" id="91589614">
<reference key="NSNextResponder" ref="730386640"/>
<int key="NSvFlags">292</int>
- <string key="NSFrame">{{15, 13}, {115, 28}}</string>
+ <string key="NSFrame">{{15, 13}, {59, 28}}</string>
<reference key="NSSuperview" ref="730386640"/>
<reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="395762087"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="319182835">
<int key="NSCellFlags">67108864</int>
<int key="NSCellFlags2">134348800</int>
- <string key="NSContents">^IDS_BLOCKED_IMAGES_LINK</string>
+ <string key="NSContents">&lt;do not localize&gt;</string>
<reference key="NSSupport" ref="26"/>
<reference key="NSControlView" ref="91589614"/>
<int key="NSButtonFlags">-2038284288</int>
@@ -366,6 +370,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string key="NSFrameSize">{192, 37}</string>
<reference key="NSSuperview" ref="301729179"/>
<reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="91589614"/>
<string key="NSClassName">GTMWidthBasedTweaker</string>
</object>
<object class="NSCustomView" id="395762087">
@@ -379,6 +384,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string key="NSFrame">{{40, 13}, {68, 28}}</string>
<reference key="NSSuperview" ref="395762087"/>
<reference key="NSWindow"/>
+ <reference key="NSNextKeyView"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="255173005">
<int key="NSCellFlags">67108864</int>
@@ -399,18 +405,21 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string key="NSFrame">{{193, 0}, {123, 37}}</string>
<reference key="NSSuperview" ref="301729179"/>
<reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="433059244"/>
<string key="NSClassName">GTMWidthBasedTweaker</string>
</object>
</object>
<string key="NSFrameSize">{316, 134}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="266815090"/>
<string key="NSClassName">InfoBubbleView</string>
</object>
</object>
<string key="NSFrameSize">{316, 134}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="301729179"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1680, 1028}}</string>
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
@@ -753,7 +762,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<reference key="dict.values" ref="0"/>
</object>
<nil key="sourceID"/>
- <int key="maxID">32</int>
+ <int key="maxID">38</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -1122,10 +1131,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
<integer value="1050" key="NS.object.0"/>
</object>
- <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
- <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
- <real value="1070" key="NS.object.0"/>
- </object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
<integer value="3000" key="NS.object.0"/>
diff --git a/chrome/app/nibs/PRESUBMIT.py b/chrome/app/nibs/PRESUBMIT.py
index 137bf4e..5e9b158 100644
--- a/chrome/app/nibs/PRESUBMIT.py
+++ b/chrome/app/nibs/PRESUBMIT.py
@@ -33,6 +33,9 @@ def _CheckXIBSystemAndXcodeVersions(input_api, output_api, error_type):
incorrect_ib_versions = []
for xib in affected_xibs:
+ if len(xib.NewContents()) == 0:
+ continue
+
system_version = None
ib_version = None
diff --git a/chrome/app/theme/theme_resources.grd b/chrome/app/theme/theme_resources.grd
index ced1636..958312e 100644
--- a/chrome/app/theme/theme_resources.grd
+++ b/chrome/app/theme/theme_resources.grd
@@ -97,6 +97,7 @@
<structure type="chrome_scaled_image" name="IDR_BLOCKED_NOTIFICATION" file="blocked_notifications.png" />
<structure type="chrome_scaled_image" name="IDR_BLOCKED_PLUGINS" file="blocked_plugins.png" />
<structure type="chrome_scaled_image" name="IDR_BLOCKED_POPUPS" file="blocked_popups.png" />
+ <structure type="chrome_scaled_image" name="IDR_BLOCKED_PPAPI_BROKER" file="pepper_broker.png" />
<structure type="chrome_scaled_image" name="IDR_BOOKMARKS_FAVICON" file="common/favicon_bookmarks.png" />
<structure type="chrome_scaled_image" name="IDR_BOOKMARK_BAR_CHEVRONS" file="common/chevron.png" />
<if expr="is_macosx">
diff --git a/chrome/browser/content_settings/tab_specific_content_settings.cc b/chrome/browser/content_settings/tab_specific_content_settings.cc
index 39b6e86..fb98667 100644
--- a/chrome/browser/content_settings/tab_specific_content_settings.cc
+++ b/chrome/browser/content_settings/tab_specific_content_settings.cc
@@ -207,7 +207,8 @@ bool TabSpecificContentSettings::IsContentBlocked(
content_type == CONTENT_SETTINGS_TYPE_COOKIES ||
content_type == CONTENT_SETTINGS_TYPE_POPUPS ||
content_type == CONTENT_SETTINGS_TYPE_MIXEDSCRIPT ||
- content_type == CONTENT_SETTINGS_TYPE_MEDIASTREAM)
+ content_type == CONTENT_SETTINGS_TYPE_MEDIASTREAM ||
+ content_type == CONTENT_SETTINGS_TYPE_PPAPI_BROKER)
return content_blocked_[content_type];
return false;
@@ -226,10 +227,12 @@ void TabSpecificContentSettings::SetBlockageHasBeenIndicated(
bool TabSpecificContentSettings::IsContentAccessed(
ContentSettingsType content_type) const {
// This method currently only returns meaningful values for the content type
- // cookies and mediastream.
+ // cookies, mediastream, and PPAPI broker.
if (content_type != CONTENT_SETTINGS_TYPE_COOKIES &&
- content_type != CONTENT_SETTINGS_TYPE_MEDIASTREAM)
+ content_type != CONTENT_SETTINGS_TYPE_MEDIASTREAM &&
+ content_type != CONTENT_SETTINGS_TYPE_PPAPI_BROKER) {
return false;
+ }
return content_accessed_[content_type];
}
@@ -475,6 +478,14 @@ void TabSpecificContentSettings::ClearGeolocationContentSettings() {
geolocation_settings_state_.ClearStateMap();
}
+void TabSpecificContentSettings::SetPepperBrokerAllowed(bool allowed) {
+ if (allowed) {
+ OnContentAccessed(CONTENT_SETTINGS_TYPE_PPAPI_BROKER);
+ } else {
+ OnContentBlocked(CONTENT_SETTINGS_TYPE_PPAPI_BROKER, std::string());
+ }
+}
+
void TabSpecificContentSettings::RenderViewForInterstitialPageCreated(
RenderViewHost* render_view_host) {
// We want to tell the renderer-side code to ignore content settings for this
diff --git a/chrome/browser/content_settings/tab_specific_content_settings.h b/chrome/browser/content_settings/tab_specific_content_settings.h
index fee681f..a13fe7e 100644
--- a/chrome/browser/content_settings/tab_specific_content_settings.h
+++ b/chrome/browser/content_settings/tab_specific_content_settings.h
@@ -229,6 +229,10 @@ class TabSpecificContentSettings
load_plugins_link_enabled_ = enabled;
}
+ // Called to indicate whether access to the Pepper broker was allowed or
+ // blocked.
+ void SetPepperBrokerAllowed(bool allowed);
+
// content::WebContentsObserver overrides.
virtual void RenderViewForInterstitialPageCreated(
content::RenderViewHost* render_view_host) OVERRIDE;
@@ -250,6 +254,7 @@ class TabSpecificContentSettings
// Message handlers. Public for testing.
void OnContentBlocked(ContentSettingsType type,
const std::string& resource_identifier);
+ void OnContentAccessed(ContentSettingsType type);
// These methods are invoked on the UI thread by the static functions above.
// Public for testing.
@@ -294,8 +299,6 @@ class TabSpecificContentSettings
void AddBlockedResource(ContentSettingsType content_type,
const std::string& resource_identifier);
- void OnContentAccessed(ContentSettingsType type);
-
// content::NotificationObserver implementation.
virtual void Observe(int type,
const content::NotificationSource& source,
diff --git a/chrome/browser/pepper_broker_infobar_delegate.cc b/chrome/browser/pepper_broker_infobar_delegate.cc
index 25986b9..05ab26c 100644
--- a/chrome/browser/pepper_broker_infobar_delegate.cc
+++ b/chrome/browser/pepper_broker_infobar_delegate.cc
@@ -6,6 +6,7 @@
#include "chrome/browser/api/infobars/infobar_service.h"
#include "chrome/browser/content_settings/host_content_settings_map.h"
+#include "chrome/browser/content_settings/tab_specific_content_settings.h"
#include "chrome/browser/plugins/plugin_finder.h"
#include "chrome/browser/plugins/plugin_metadata.h"
#include "chrome/browser/prefs/pref_service.h"
@@ -45,6 +46,8 @@ void PepperBrokerInfoBarDelegate::Create(
return;
}
+ TabSpecificContentSettings* tab_content_settings =
+ TabSpecificContentSettings::FromWebContents(web_contents);
HostContentSettingsMap* content_settings =
profile->GetHostContentSettingsMap();
ContentSetting setting =
@@ -55,12 +58,14 @@ void PepperBrokerInfoBarDelegate::Create(
case CONTENT_SETTING_ALLOW: {
content::RecordAction(
content::UserMetricsAction("PPAPI.BrokerSettingAllow"));
+ tab_content_settings->SetPepperBrokerAllowed(true);
callback.Run(true);
break;
}
case CONTENT_SETTING_BLOCK: {
content::RecordAction(
content::UserMetricsAction("PPAPI.BrokerSettingDeny"));
+ tab_content_settings->SetPepperBrokerAllowed(false);
callback.Run(false);
break;
}
@@ -75,7 +80,7 @@ void PepperBrokerInfoBarDelegate::Create(
infobar_service->AddInfoBar(scoped_ptr<InfoBarDelegate>(
new PepperBrokerInfoBarDelegate(
infobar_service, url, plugin_path, languages, content_settings,
- callback)));
+ tab_content_settings, callback)));
break;
}
default:
@@ -150,12 +155,14 @@ PepperBrokerInfoBarDelegate::PepperBrokerInfoBarDelegate(
const base::FilePath& plugin_path,
const std::string& languages,
HostContentSettingsMap* content_settings,
+ TabSpecificContentSettings* tab_content_settings,
const base::Callback<void(bool)>& callback)
: ConfirmInfoBarDelegate(infobar_service),
url_(url),
plugin_path_(plugin_path),
languages_(languages),
content_settings_(content_settings),
+ tab_content_settings_(tab_content_settings),
callback_(callback) {
}
@@ -175,4 +182,5 @@ void PepperBrokerInfoBarDelegate::DispatchCallback(bool result) {
ContentSettingsPattern::Wildcard(),
CONTENT_SETTINGS_TYPE_PPAPI_BROKER,
std::string(), result ? CONTENT_SETTING_ALLOW : CONTENT_SETTING_BLOCK);
+ tab_content_settings_->SetPepperBrokerAllowed(result);
}
diff --git a/chrome/browser/pepper_broker_infobar_delegate.h b/chrome/browser/pepper_broker_infobar_delegate.h
index 910544f..93ac80f 100644
--- a/chrome/browser/pepper_broker_infobar_delegate.h
+++ b/chrome/browser/pepper_broker_infobar_delegate.h
@@ -12,6 +12,7 @@
class HostContentSettingsMap;
class InfoBarService;
+class TabSpecificContentSettings;
namespace content {
class WebContents;
@@ -48,6 +49,7 @@ class PepperBrokerInfoBarDelegate : public ConfirmInfoBarDelegate {
const base::FilePath& plugin_path,
const std::string& languages,
HostContentSettingsMap* content_settings,
+ TabSpecificContentSettings* tab_content_settings,
const base::Callback<void(bool)>& callback);
virtual ~PepperBrokerInfoBarDelegate();
@@ -57,6 +59,7 @@ class PepperBrokerInfoBarDelegate : public ConfirmInfoBarDelegate {
const base::FilePath plugin_path_;
const std::string languages_;
HostContentSettingsMap* content_settings_;
+ TabSpecificContentSettings* tab_content_settings_;
base::Callback<void(bool)> callback_;
DISALLOW_COPY_AND_ASSIGN(PepperBrokerInfoBarDelegate);
diff --git a/chrome/browser/ui/cocoa/content_settings/content_setting_bubble_cocoa.mm b/chrome/browser/ui/cocoa/content_settings/content_setting_bubble_cocoa.mm
index ab08960..d4ad48c 100644
--- a/chrome/browser/ui/cocoa/content_settings/content_setting_bubble_cocoa.mm
+++ b/chrome/browser/ui/cocoa/content_settings/content_setting_bubble_cocoa.mm
@@ -90,7 +90,7 @@ NSTextField* LabelWithFrame(NSString* text, const NSRect& frame) {
- (void)initializePopupList;
- (void)initializeGeoLists;
- (void)sizeToFitLoadButton;
-- (void)sizeToFitManageDoneButtons;
+- (void)initManageDoneButtons;
- (void)removeInfoButton;
- (void)popupLinkClicked:(id)sender;
- (void)clearGeolocationForCurrentHost:(id)sender;
@@ -122,9 +122,9 @@ NSTextField* LabelWithFrame(NSString* text, const NSRect& frame) {
case CONTENT_SETTINGS_TYPE_COOKIES:
nibPath = @"ContentBlockedCookies"; break;
case CONTENT_SETTINGS_TYPE_IMAGES:
- nibPath = @"ContentBlockedImages"; break;
case CONTENT_SETTINGS_TYPE_JAVASCRIPT:
- nibPath = @"ContentBlockedJavaScript"; break;
+ case CONTENT_SETTINGS_TYPE_PPAPI_BROKER:
+ nibPath = @"ContentBlockedSimple"; break;
case CONTENT_SETTINGS_TYPE_PLUGINS:
nibPath = @"ContentBlockedPlugins"; break;
case CONTENT_SETTINGS_TYPE_POPUPS:
@@ -146,7 +146,6 @@ NSTextField* LabelWithFrame(NSString* text, const NSRect& frame) {
case CONTENT_SETTINGS_TYPE_MOUSELOCK:
case CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC:
case CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA:
- case CONTENT_SETTINGS_TYPE_PPAPI_BROKER:
case CONTENT_SETTINGS_NUM_TYPES:
NOTREACHED();
}
@@ -417,7 +416,12 @@ NSTextField* LabelWithFrame(NSString* text, const NSRect& frame) {
}
}
-- (void)sizeToFitManageDoneButtons {
+- (void)initManageDoneButtons {
+ const ContentSettingBubbleModel::BubbleContent& content =
+ contentSettingBubbleModel_->bubble_content();
+ [manageButton_ setTitle:base::SysUTF8ToNSString(content.manage_link)];
+ [GTMUILocalizerAndLayoutTweaker sizeToFitView:manageButton_];
+
CGFloat actualWidth = NSWidth([[[self window] contentView] frame]);
CGFloat requiredWidth = NSMaxX([manageButton_ frame]) + kManageDonePadding +
NSWidth([[doneButton_ superview] frame]) - NSMinX([doneButton_ frame]);
@@ -439,7 +443,7 @@ NSTextField* LabelWithFrame(NSString* text, const NSRect& frame) {
[[self bubble] setArrowLocation:info_bubble::kTopRight];
// Adapt window size to bottom buttons. Do this before all other layouting.
- [self sizeToFitManageDoneButtons];
+ [self initManageDoneButtons];
[self initializeTitle];
diff --git a/chrome/browser/ui/content_settings/content_setting_bubble_model.cc b/chrome/browser/ui/content_settings/content_setting_bubble_model.cc
index ee8a15f..9823875 100644
--- a/chrome/browser/ui/content_settings/content_setting_bubble_model.cc
+++ b/chrome/browser/ui/content_settings/content_setting_bubble_model.cc
@@ -93,7 +93,9 @@ void ContentSettingTitleAndLinkModel::SetTitle() {
{CONTENT_SETTINGS_TYPE_PLUGINS, IDS_BLOCKED_PLUGINS_MESSAGE},
{CONTENT_SETTINGS_TYPE_POPUPS, IDS_BLOCKED_POPUPS_TITLE},
{CONTENT_SETTINGS_TYPE_MIXEDSCRIPT,
- IDS_BLOCKED_DISPLAYING_INSECURE_CONTENT},
+ IDS_BLOCKED_DISPLAYING_INSECURE_CONTENT},
+ {CONTENT_SETTINGS_TYPE_PPAPI_BROKER,
+ IDS_BLOCKED_PPAPI_BROKER_TITLE},
};
// Fields as for kBlockedTitleIDs, above.
static const ContentSettingsTypeIdEntry
@@ -102,6 +104,7 @@ void ContentSettingTitleAndLinkModel::SetTitle() {
};
static const ContentSettingsTypeIdEntry kAccessedTitleIDs[] = {
{CONTENT_SETTINGS_TYPE_COOKIES, IDS_ACCESSED_COOKIES_TITLE},
+ {CONTENT_SETTINGS_TYPE_PPAPI_BROKER, IDS_ALLOWED_PPAPI_BROKER_TITLE},
};
const ContentSettingsTypeIdEntry *title_ids = kBlockedTitleIDs;
size_t num_title_ids = arraysize(kBlockedTitleIDs);
@@ -132,7 +135,8 @@ void ContentSettingTitleAndLinkModel::SetManageLink() {
{CONTENT_SETTINGS_TYPE_GEOLOCATION, IDS_GEOLOCATION_BUBBLE_MANAGE_LINK},
{CONTENT_SETTINGS_TYPE_MIXEDSCRIPT, IDS_LEARN_MORE},
{CONTENT_SETTINGS_TYPE_PROTOCOL_HANDLERS, IDS_HANDLERS_BUBBLE_MANAGE_LINK},
- {CONTENT_SETTINGS_TYPE_MEDIASTREAM, IDS_MEDIASTREAM_BUBBLE_MANAGE_LINK}
+ {CONTENT_SETTINGS_TYPE_MEDIASTREAM, IDS_MEDIASTREAM_BUBBLE_MANAGE_LINK},
+ {CONTENT_SETTINGS_TYPE_PPAPI_BROKER, IDS_PPAPI_BROKER_BUBBLE_MANAGE_LINK},
};
set_manage_link(l10n_util::GetStringUTF8(
GetIdForContentType(kLinkIDs, arraysize(kLinkIDs), content_type())));
@@ -238,52 +242,85 @@ bool ContentSettingSingleRadioGroup::settings_changed() const {
// content type and setting the default value based on the content setting.
void ContentSettingSingleRadioGroup::SetRadioGroup() {
GURL url = web_contents()->GetURL();
- string16 display_host_utf16;
+ string16 display_host;
net::AppendFormattedHost(
url,
profile()->GetPrefs()->GetString(prefs::kAcceptLanguages),
- &display_host_utf16);
- std::string display_host(UTF16ToUTF8(display_host_utf16));
+ &display_host);
if (display_host.empty())
- display_host = url.spec();
+ display_host = ASCIIToUTF16(url.spec());
const std::set<std::string>& resources =
bubble_content().resource_identifiers;
+ TabSpecificContentSettings* content_settings =
+ TabSpecificContentSettings::FromWebContents(web_contents());
+ bool allowed =
+ !content_settings->IsContentBlocked(content_type());
+ DCHECK(!allowed ||
+ content_settings->IsContentAccessed(content_type()));
+
RadioGroup radio_group;
radio_group.url = url;
- static const ContentSettingsTypeIdEntry kAllowIDs[] = {
+ static const ContentSettingsTypeIdEntry kBlockedAllowIDs[] = {
{CONTENT_SETTINGS_TYPE_COOKIES, IDS_BLOCKED_COOKIES_UNBLOCK},
{CONTENT_SETTINGS_TYPE_IMAGES, IDS_BLOCKED_IMAGES_UNBLOCK},
{CONTENT_SETTINGS_TYPE_JAVASCRIPT, IDS_BLOCKED_JAVASCRIPT_UNBLOCK},
{CONTENT_SETTINGS_TYPE_PLUGINS, IDS_BLOCKED_PLUGINS_UNBLOCK_ALL},
{CONTENT_SETTINGS_TYPE_POPUPS, IDS_BLOCKED_POPUPS_UNBLOCK},
+ {CONTENT_SETTINGS_TYPE_PPAPI_BROKER, IDS_BLOCKED_PPAPI_BROKER_UNBLOCK},
};
- // Fields as for kAllowIDs, above.
- static const ContentSettingsTypeIdEntry kResourceSpecificAllowIDs[] = {
+ // Fields as for kBlockedAllowIDs, above.
+ static const ContentSettingsTypeIdEntry kResourceSpecificBlockedAllowIDs[] = {
{CONTENT_SETTINGS_TYPE_PLUGINS, IDS_BLOCKED_PLUGINS_UNBLOCK},
};
+ static const ContentSettingsTypeIdEntry kAllowedAllowIDs[] = {
+ {CONTENT_SETTINGS_TYPE_PPAPI_BROKER, IDS_ALLOWED_PPAPI_BROKER_NO_ACTION},
+ };
+
std::string radio_allow_label;
- const ContentSettingsTypeIdEntry* allow_ids = resources.empty() ?
- kAllowIDs : kResourceSpecificAllowIDs;
- size_t num_allow_ids = resources.empty() ?
- arraysize(kAllowIDs) : arraysize(kResourceSpecificAllowIDs);
- radio_allow_label = l10n_util::GetStringFUTF8(
- GetIdForContentType(allow_ids, num_allow_ids, content_type()),
- UTF8ToUTF16(display_host));
-
- static const ContentSettingsTypeIdEntry kBlockIDs[] = {
+ if (allowed) {
+ radio_allow_label = l10n_util::GetStringUTF8(
+ GetIdForContentType(kAllowedAllowIDs, arraysize(kAllowedAllowIDs),
+ content_type()));
+ } else if (resources.empty()) {
+ radio_allow_label = l10n_util::GetStringFUTF8(
+ GetIdForContentType(kBlockedAllowIDs, arraysize(kBlockedAllowIDs),
+ content_type()),
+ display_host);
+ } else {
+ radio_allow_label = l10n_util::GetStringFUTF8(
+ GetIdForContentType(kResourceSpecificBlockedAllowIDs,
+ arraysize(kResourceSpecificBlockedAllowIDs),
+ content_type()),
+ display_host);
+ }
+
+ static const ContentSettingsTypeIdEntry kBlockedBlockIDs[] = {
{CONTENT_SETTINGS_TYPE_COOKIES, IDS_BLOCKED_COOKIES_NO_ACTION},
{CONTENT_SETTINGS_TYPE_IMAGES, IDS_BLOCKED_IMAGES_NO_ACTION},
{CONTENT_SETTINGS_TYPE_JAVASCRIPT, IDS_BLOCKED_JAVASCRIPT_NO_ACTION},
{CONTENT_SETTINGS_TYPE_PLUGINS, IDS_BLOCKED_PLUGINS_NO_ACTION},
{CONTENT_SETTINGS_TYPE_POPUPS, IDS_BLOCKED_POPUPS_NO_ACTION},
+ {CONTENT_SETTINGS_TYPE_PPAPI_BROKER, IDS_BLOCKED_PPAPI_BROKER_NO_ACTION},
};
+ static const ContentSettingsTypeIdEntry kAllowedBlockIDs[] = {
+ {CONTENT_SETTINGS_TYPE_PPAPI_BROKER, IDS_ALLOWED_PPAPI_BROKER_BLOCK},
+ };
+
std::string radio_block_label;
- radio_block_label = l10n_util::GetStringUTF8(
- GetIdForContentType(kBlockIDs, arraysize(kBlockIDs), content_type()));
+ if (allowed) {
+ radio_block_label = l10n_util::GetStringFUTF8(
+ GetIdForContentType(kAllowedBlockIDs, arraysize(kAllowedBlockIDs),
+ content_type()),
+ display_host);
+ } else {
+ radio_block_label = l10n_util::GetStringUTF8(
+ GetIdForContentType(kBlockedBlockIDs, arraysize(kBlockedBlockIDs),
+ content_type()));
+ }
radio_group.radio_items.push_back(radio_allow_label);
radio_group.radio_items.push_back(radio_block_label);
diff --git a/chrome/browser/ui/content_settings/content_setting_bubble_model_unittest.cc b/chrome/browser/ui/content_settings/content_setting_bubble_model_unittest.cc
index 63ce813..73551c9 100644
--- a/chrome/browser/ui/content_settings/content_setting_bubble_model_unittest.cc
+++ b/chrome/browser/ui/content_settings/content_setting_bubble_model_unittest.cc
@@ -301,6 +301,45 @@ TEST_F(ContentSettingBubbleModelTest, MultiplePlugins) {
barPlugin));
}
+TEST_F(ContentSettingBubbleModelTest, PepperBroker) {
+ TabSpecificContentSettings* content_settings =
+ TabSpecificContentSettings::FromWebContents(web_contents());
+ content_settings->OnContentBlocked(CONTENT_SETTINGS_TYPE_PPAPI_BROKER,
+ std::string());
+
+ scoped_ptr<ContentSettingBubbleModel> content_setting_bubble_model(
+ ContentSettingBubbleModel::CreateContentSettingBubbleModel(
+ NULL, web_contents(), profile(),
+ CONTENT_SETTINGS_TYPE_PPAPI_BROKER));
+ const ContentSettingBubbleModel::BubbleContent& bubble_content =
+ content_setting_bubble_model->bubble_content();
+
+ std::string title = bubble_content.title;
+ EXPECT_FALSE(title.empty());
+ ASSERT_EQ(2U, bubble_content.radio_group.radio_items.size());
+ std::string radio1 = bubble_content.radio_group.radio_items[0];
+ std::string radio2 = bubble_content.radio_group.radio_items[1];
+ EXPECT_FALSE(bubble_content.custom_link_enabled);
+ EXPECT_FALSE(bubble_content.manage_link.empty());
+
+ content_settings->ClearBlockedContentSettingsExceptForCookies();
+ content_settings->OnContentAccessed(CONTENT_SETTINGS_TYPE_PPAPI_BROKER);
+ content_setting_bubble_model.reset(
+ ContentSettingBubbleModel::CreateContentSettingBubbleModel(
+ NULL, web_contents(), profile(),
+ CONTENT_SETTINGS_TYPE_PPAPI_BROKER));
+ const ContentSettingBubbleModel::BubbleContent& bubble_content_2 =
+ content_setting_bubble_model->bubble_content();
+
+ EXPECT_FALSE(bubble_content_2.title.empty());
+ EXPECT_NE(title, bubble_content_2.title);
+ ASSERT_EQ(2U, bubble_content_2.radio_group.radio_items.size());
+ EXPECT_NE(radio1, bubble_content_2.radio_group.radio_items[0]);
+ EXPECT_NE(radio2, bubble_content_2.radio_group.radio_items[1]);
+ EXPECT_FALSE(bubble_content_2.custom_link_enabled);
+ EXPECT_FALSE(bubble_content_2.manage_link.empty());
+}
+
TEST_F(ContentSettingBubbleModelTest, Geolocation) {
const GURL page_url("http://toplevel.example/");
const GURL frame1_url("http://host1.example/");
@@ -343,6 +382,8 @@ TEST_F(ContentSettingBubbleModelTest, Geolocation) {
TEST_F(ContentSettingBubbleModelTest, FileURL) {
std::string file_url("file:///tmp/test.html");
NavigateAndCommit(GURL(file_url));
+ TabSpecificContentSettings::FromWebContents(web_contents())->OnContentBlocked(
+ CONTENT_SETTINGS_TYPE_IMAGES, std::string());
scoped_ptr<ContentSettingBubbleModel> content_setting_bubble_model(
ContentSettingBubbleModel::CreateContentSettingBubbleModel(
NULL, web_contents(), profile(),
diff --git a/chrome/browser/ui/content_settings/content_setting_image_model.cc b/chrome/browser/ui/content_settings/content_setting_image_model.cc
index c81c2df..b625e2e 100644
--- a/chrome/browser/ui/content_settings/content_setting_image_model.cc
+++ b/chrome/browser/ui/content_settings/content_setting_image_model.cc
@@ -89,6 +89,7 @@ void ContentSettingBlockedImageModel::UpdateFromWebContents(
{CONTENT_SETTINGS_TYPE_PLUGINS, IDR_BLOCKED_PLUGINS},
{CONTENT_SETTINGS_TYPE_POPUPS, IDR_BLOCKED_POPUPS},
{CONTENT_SETTINGS_TYPE_MIXEDSCRIPT, IDR_BLOCKED_MIXED_CONTENT},
+ {CONTENT_SETTINGS_TYPE_PPAPI_BROKER, IDR_BLOCKED_PPAPI_BROKER},
};
static const ContentSettingsTypeIdEntry kBlockedTooltipIDs[] = {
{CONTENT_SETTINGS_TYPE_COOKIES, IDS_BLOCKED_COOKIES_TITLE},
@@ -98,6 +99,7 @@ void ContentSettingBlockedImageModel::UpdateFromWebContents(
{CONTENT_SETTINGS_TYPE_POPUPS, IDS_BLOCKED_POPUPS_TOOLTIP},
{CONTENT_SETTINGS_TYPE_MIXEDSCRIPT,
IDS_BLOCKED_DISPLAYING_INSECURE_CONTENT},
+ {CONTENT_SETTINGS_TYPE_PPAPI_BROKER, IDS_BLOCKED_PPAPI_BROKER_TITLE},
};
static const ContentSettingsTypeIdEntry kBlockedExplanatoryTextIDs[] = {
{CONTENT_SETTINGS_TYPE_POPUPS, IDS_BLOCKED_POPUPS_EXPLANATORY_TEXT},
@@ -120,16 +122,24 @@ void ContentSettingBlockedImageModel::UpdateFromWebContents(
Profile* profile =
Profile::FromBrowserContext(web_contents->GetBrowserContext());
if (!content_settings->IsContentBlocked(get_content_settings_type())) {
- if (!content_settings->IsContentAccessed(get_content_settings_type()) ||
+ if (!content_settings->IsContentAccessed(get_content_settings_type()))
+ return;
+
+ // For cookies, only show the accessed bubble if cookies are blocked by
+ // default.
+ if (get_content_settings_type() == CONTENT_SETTINGS_TYPE_COOKIES &&
(profile->GetHostContentSettingsMap()->
- GetDefaultContentSetting(get_content_settings_type(), NULL) !=
+ GetDefaultContentSetting(CONTENT_SETTINGS_TYPE_COOKIES, NULL) !=
CONTENT_SETTING_BLOCK))
return;
+
static const ContentSettingsTypeIdEntry kAccessedIconIDs[] = {
{CONTENT_SETTINGS_TYPE_COOKIES, IDR_ACCESSED_COOKIES},
+ {CONTENT_SETTINGS_TYPE_PPAPI_BROKER, IDR_BLOCKED_PPAPI_BROKER},
};
static const ContentSettingsTypeIdEntry kAccessedTooltipIDs[] = {
{CONTENT_SETTINGS_TYPE_COOKIES, IDS_ACCESSED_COOKIES_TITLE},
+ {CONTENT_SETTINGS_TYPE_PPAPI_BROKER, IDS_ALLOWED_PPAPI_BROKER_TITLE},
};
icon_id = GetIdForContentType(
kAccessedIconIDs, arraysize(kAccessedIconIDs), type);
@@ -138,8 +148,10 @@ void ContentSettingBlockedImageModel::UpdateFromWebContents(
explanation_id = 0;
}
set_visible(true);
+ DCHECK(icon_id);
set_icon(icon_id);
set_explanatory_string_id(explanation_id);
+ DCHECK(tooltip_id);
set_tooltip(l10n_util::GetStringUTF8(tooltip_id));
}
diff --git a/chrome/chrome_nibs.gypi b/chrome/chrome_nibs.gypi
index e6277a0..6798563 100644
--- a/chrome/chrome_nibs.gypi
+++ b/chrome/chrome_nibs.gypi
@@ -18,13 +18,11 @@
'app/nibs/ChromeToMobileBubble.xib',
'app/nibs/CollectedCookies.xib',
'app/nibs/ContentBlockedCookies.xib',
- 'app/nibs/ContentBlockedImages.xib',
- 'app/nibs/ContentBlockedJavaScript.xib',
- 'app/nibs/ContentBlockedMedia.xib',
'app/nibs/ContentBlockedMixedScript.xib',
'app/nibs/ContentBlockedPlugins.xib',
'app/nibs/ContentBlockedPopups.xib',
'app/nibs/ContentBlockedGeolocation.xib',
+ 'app/nibs/ContentBlockedSimple.xib',
'app/nibs/ContentProtocolHandlers.xib',
'app/nibs/CookieDetailsView.xib',
'app/nibs/DownloadItem.xib',