Changeset 48912 in webkit
- Timestamp:
- Sep 29, 2009 5:32:38 PM (15 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 2 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r48910 r48912 1 2009-09-29 Dave Hyatt <hyatt@apple.com> 2 3 Reviewed by Jon Honeycutt. 4 5 https://bugs.webkit.org/show_bug.cgi?id=29892 6 Add support for whitelist patterns to control conditional injection of user scripts and 7 user stylesheets. 8 9 No new tests. Not testable until WebKit portion is added in followup patch. 10 11 * GNUmakefile.am: 12 * WebCore.gypi: 13 * WebCore.pro: 14 * WebCore.vcproj/WebCore.vcproj: 15 * WebCore.xcodeproj/project.pbxproj: 16 * dom/Document.cpp: 17 (WebCore::Document::pageGroupUserSheets): 18 * page/Frame.cpp: 19 (WebCore::Frame::injectUserScriptsForWorld): 20 * page/UserContentURLPattern.cpp: Added. 21 (WebCore::UserContentURLPattern::matchesPatterns): 22 (WebCore::UserContentURLPattern::parse): 23 (WebCore::UserContentURLPattern::matches): 24 (WebCore::UserContentURLPattern::matchesHost): 25 (WebCore::MatchTester::MatchTester): 26 (WebCore::MatchTester::testStringFinished): 27 (WebCore::MatchTester::patternStringFinished): 28 (WebCore::MatchTester::eatWildcard): 29 (WebCore::MatchTester::eatSameChars): 30 (WebCore::MatchTester::test): 31 (WebCore::UserContentURLPattern::matchesPath): 32 * page/UserContentURLPattern.h: Added. 33 (WebCore::UserContentURLPattern::UserContentURLPattern): 34 (WebCore::UserContentURLPattern::scheme): 35 (WebCore::UserContentURLPattern::host): 36 (WebCore::UserContentURLPattern::path): 37 (WebCore::UserContentURLPattern::matchSubdomains): 38 1 39 2009-09-29 Enrica Casucci <enrica@apple.com> 2 40 -
trunk/WebCore/GNUmakefile.am
r48826 r48912 1350 1350 WebCore/page/Settings.cpp \ 1351 1351 WebCore/page/Settings.h \ 1352 WebCore/page/UserContentURLPattern.cpp \ 1353 WebCore/page/UserContentURLPattern.h \ 1352 1354 WebCore/page/UserScript.h \ 1353 1355 WebCore/page/UserScriptTypes.h \ -
trunk/WebCore/WebCore.gypi
r48892 r48912 1770 1770 'page/Settings.cpp', 1771 1771 'page/Settings.h', 1772 'page/UserContentURLPattern.cpp', 1773 'page/UserContentURLPattern.h', 1772 1774 'page/UserScript.h', 1773 1775 'page/UserScriptTypes.h', -
trunk/WebCore/WebCore.pro
r48826 r48912 1148 1148 page/Screen.cpp \ 1149 1149 page/Settings.cpp \ 1150 page/UserContentURLPattern.cpp \ 1150 1151 page/WindowFeatures.cpp \ 1151 1152 page/XSSAuditor.cpp \ -
trunk/WebCore/WebCore.vcproj/WebCore.vcproj
r48826 r48912 17075 17075 <File 17076 17076 RelativePath="..\page\Settings.h" 17077 > 17078 </File> 17079 <File 17080 RelativePath="..\page\UserContentURLPattern.cpp" 17081 > 17082 </File> 17083 <File 17084 RelativePath="..\page\UserContentURLPattern.h" 17077 17085 > 17078 17086 </File> -
trunk/WebCore/WebCore.xcodeproj/project.pbxproj
r48832 r48912 4308 4308 BCA85A100C3AEAF4006F8308 /* DOMSVGNumberInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = BCA85A0F0C3AEAF4006F8308 /* DOMSVGNumberInternal.h */; }; 4309 4309 BCAA90C30A7EBA60008B1229 /* Scrollbar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCAA90C20A7EBA60008B1229 /* Scrollbar.cpp */; }; 4310 BCACF3BC1072921A00C0C8A3 /* UserContentURLPattern.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCACF3BA1072921A00C0C8A3 /* UserContentURLPattern.cpp */; }; 4311 BCACF3BD1072921A00C0C8A3 /* UserContentURLPattern.h in Headers */ = {isa = PBXBuildFile; fileRef = BCACF3BB1072921A00C0C8A3 /* UserContentURLPattern.h */; }; 4310 4312 BCAEFCAE1016CE4A0040D34E /* DOMRGBColor.mm in Sources */ = {isa = PBXBuildFile; fileRef = BCAEFCAD1016CE4A0040D34E /* DOMRGBColor.mm */; }; 4311 4313 BCB16C170979C3BD00467741 /* Cache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCB16BFE0979C3BD00467741 /* Cache.cpp */; }; … … 9395 9397 BCA85A0F0C3AEAF4006F8308 /* DOMSVGNumberInternal.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMSVGNumberInternal.h; sourceTree = "<group>"; }; 9396 9398 BCAA90C20A7EBA60008B1229 /* Scrollbar.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Scrollbar.cpp; path = platform/Scrollbar.cpp; sourceTree = SOURCE_ROOT; }; 9399 BCACF3BA1072921A00C0C8A3 /* UserContentURLPattern.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UserContentURLPattern.cpp; sourceTree = "<group>"; }; 9400 BCACF3BB1072921A00C0C8A3 /* UserContentURLPattern.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UserContentURLPattern.h; sourceTree = "<group>"; }; 9397 9401 BCAEFCAD1016CE4A0040D34E /* DOMRGBColor.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMRGBColor.mm; sourceTree = "<group>"; }; 9398 9402 BCB16BFE0979C3BD00467741 /* Cache.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Cache.cpp; sourceTree = "<group>"; }; … … 11099 11103 14C9A5E90B3D105F005A0232 /* Settings.cpp */, 11100 11104 F587863A02DE3A1401EA4122 /* Settings.h */, 11105 BCACF3BA1072921A00C0C8A3 /* UserContentURLPattern.cpp */, 11106 BCACF3BB1072921A00C0C8A3 /* UserContentURLPattern.h */, 11101 11107 BCA2B0601050475F0043BD1C /* UserScript.h */, 11102 11108 BCA2B08A10505BCD0043BD1C /* UserScriptTypes.h */, … … 17905 17911 7693BAD4106C2DCA007B0823 /* PluginHalter.h in Headers */, 17906 17912 7693BAD5106C2DCA007B0823 /* PluginHalterClient.h in Headers */, 17913 BCACF3BD1072921A00C0C8A3 /* UserContentURLPattern.h in Headers */, 17907 17914 5DB1BC6A10715A6400EFAA49 /* TransformSource.h in Headers */, 17908 17915 ); … … 20019 20026 14CD8D82106B529000A46D23 /* JSSharedWorkerCustom.cpp in Sources */, 20020 20027 7693BAD3106C2DCA007B0823 /* PluginHalter.cpp in Sources */, 20028 BCACF3BC1072921A00C0C8A3 /* UserContentURLPattern.cpp in Sources */, 20021 20029 5DB1BC6B10715A6400EFAA49 /* TransformSourceLibxslt.cpp in Sources */, 20022 20030 ); -
trunk/WebCore/dom/Document.cpp
r48826 r48912 120 120 #include "TreeWalker.h" 121 121 #include "UIEvent.h" 122 #include "UserContentURLPattern.h" 122 123 #include "WebKitAnimationEvent.h" 123 124 #include "WebKitTransitionEvent.h" … … 1969 1970 for (unsigned i = 0; i < sheets->size(); ++i) { 1970 1971 const UserStyleSheet* sheet = sheets->at(i).get(); 1972 if (!UserContentURLPattern::matchesPatterns(url(), sheet->patterns())) 1973 continue; 1971 1974 RefPtr<CSSStyleSheet> parsedSheet = CSSStyleSheet::create(const_cast<Document*>(this), sheet->url()); 1972 1975 parsedSheet->setIsUserStyleSheet(true); -
trunk/WebCore/page/Frame.cpp
r48701 r48912 74 74 #include "TextIterator.h" 75 75 #include "TextResourceDecoder.h" 76 #include "UserContentURLPattern.h" 76 77 #include "XMLNames.h" 77 78 #include "htmlediting.h" … … 871 872 return; 872 873 874 Document* doc = document(); 875 if (!doc) 876 return; 877 873 878 // FIXME: Need to implement pattern checking. 874 879 Vector<ScriptSourceCode> sourceCode; … … 876 881 for (unsigned i = 0; i < count; ++i) { 877 882 UserScript* script = userScripts[i].get(); 878 if (script->injectionTime() == injectionTime )883 if (script->injectionTime() == injectionTime && UserContentURLPattern::matchesPatterns(doc->url(), script->patterns())) 879 884 sourceCode.append(ScriptSourceCode(script->source(), script->url())); 880 885 }
Note: See TracChangeset
for help on using the changeset viewer.