Changeset 65193 in webkit
- Timestamp:
- Aug 11, 2010 3:54:35 PM (14 years ago)
- Location:
- trunk
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r65192 r65193 55 55 * svg/graphics/SVGImage.cpp: 56 56 (WebCore::SVGImage::dataChanged): 57 58 2010-08-10 Aaron Boodman <aa@chromium.org>59 60 Reviewed by David Hyatt.61 62 Make the cascade level of "user" styles configurable63 https://bugs.webkit.org/show_bug.cgi?id=4345764 65 * css/CSSStyleSelector.cpp:66 (WebCore::CSSStyleSelector::CSSStyleSelector): Handle the case where user styles might have author level. Minor refactor.67 * dom/Document.cpp:68 (WebCore::Document::pageGroupUserSheets): Set isUserStyle on created stylesheet objects appropriately.69 * page/PageGroup.cpp:70 (WebCore::PageGroup::addUserStyleSheetToWorld): Add new optional "level" argument.71 * page/PageGroup.h: Ditto.72 * page/UserStyleSheet.h: Add level property.73 (WebCore::UserStyleSheet::):74 (WebCore::UserStyleSheet::UserStyleSheet):75 (WebCore::UserStyleSheet::setLevel):76 (WebCore::UserStyleSheet::level):77 57 78 58 2010-08-11 Rob Buis <rwlbuis@gmail.com> -
trunk/WebCore/WebCore.exp.in
r65183 r65193 821 821 __ZN7WebCore9PageGroup20removeAllUserContentEv 822 822 __ZN7WebCore9PageGroup21removeAllVisitedLinksEv 823 __ZN7WebCore9PageGroup24addUserStyleSheetToWorldEPNS_15DOMWrapperWorldERKN3WTF6StringERKNS_4KURLENS3_10PassOwnPtrINS3_6VectorIS4_Lm0EEEEESD_NS_25UserContentInjectedFramesE NS_14UserStyleSheet5LevelE823 __ZN7WebCore9PageGroup24addUserStyleSheetToWorldEPNS_15DOMWrapperWorldERKN3WTF6StringERKNS_4KURLENS3_10PassOwnPtrINS3_6VectorIS4_Lm0EEEEESD_NS_25UserContentInjectedFramesE 824 824 __ZN7WebCore9PageGroup25removeUserScriptFromWorldEPNS_15DOMWrapperWorldERKNS_4KURLE 825 825 __ZN7WebCore9PageGroup26removeUserScriptsFromWorldEPNS_15DOMWrapperWorldE -
trunk/WebCore/css/CSSStyleSelector.cpp
r65183 r65193 461 461 } 462 462 463 // FIXME: This sucks! The user sheet is reparsed every time! 464 if (pageUserSheet || pageGroupUserSheets) { 465 m_userStyle = new CSSRuleSet(); 466 if (pageUserSheet) 467 m_userStyle->addRulesFromSheet(pageUserSheet, *m_medium, this); 468 if (pageGroupUserSheets) { 469 unsigned length = pageGroupUserSheets->size(); 470 for (unsigned i = 0; i < length; i++) 471 m_userStyle->addRulesFromSheet(pageGroupUserSheets->at(i).get(), *m_medium, this); 472 } 473 } 474 475 // add stylesheets from document 463 476 m_authorStyle = new CSSRuleSet(); 464 465 // FIXME: This sucks! The user sheet is reparsed every time! 466 OwnPtr<CSSRuleSet> tempUserStyle(new CSSRuleSet); 467 if (pageUserSheet) 468 tempUserStyle->addRulesFromSheet(pageUserSheet, *m_medium, this); 469 if (pageGroupUserSheets) { 470 unsigned length = pageGroupUserSheets->size(); 471 for (unsigned i = 0; i < length; i++) { 472 if (pageGroupUserSheets->at(i)->isUserStyleSheet()) 473 tempUserStyle->addRulesFromSheet(pageGroupUserSheets->at(i).get(), *m_medium, this); 474 else 475 m_authorStyle->addRulesFromSheet(pageGroupUserSheets->at(i).get(), *m_medium, this); 476 } 477 } 478 479 if (tempUserStyle->m_ruleCount > 0) 480 m_userStyle = tempUserStyle.leakPtr(); 481 477 482 478 // Add rules from elements like SVG's <font-face> 483 479 if (mappedElementSheet) 484 480 m_authorStyle->addRulesFromSheet(mappedElementSheet, *m_medium, this); 485 481 486 // add stylesheets from document487 482 unsigned length = styleSheets->length(); 488 483 for (unsigned i = 0; i < length; i++) { … … 491 486 m_authorStyle->addRulesFromSheet(static_cast<CSSStyleSheet*>(sheet), *m_medium, this); 492 487 } 493 488 494 489 if (doc->renderer() && doc->renderer()->style()) 495 490 doc->renderer()->style()->font().update(fontSelector()); -
trunk/WebCore/dom/Document.cpp
r65183 r65193 2226 2226 continue; 2227 2227 RefPtr<CSSStyleSheet> parsedSheet = CSSStyleSheet::createInline(const_cast<Document*>(this), sheet->url()); 2228 parsedSheet->setIsUserStyleSheet( sheet->level() == UserStyleSheet::UserLevel);2228 parsedSheet->setIsUserStyleSheet(true); 2229 2229 parsedSheet->parseString(sheet->source(), !inCompatMode()); 2230 2230 if (!m_pageGroupUserSheets) -
trunk/WebCore/page/PageGroup.cpp
r65183 r65193 237 237 void PageGroup::addUserStyleSheetToWorld(DOMWrapperWorld* world, const String& source, const KURL& url, 238 238 PassOwnPtr<Vector<String> > whitelist, PassOwnPtr<Vector<String> > blacklist, 239 UserContentInjectedFrames injectedFrames, 240 UserStyleSheet::Level level) 241 { 242 ASSERT_ARG(world, world); 243 244 OwnPtr<UserStyleSheet> userStyleSheet(new UserStyleSheet(source, url, whitelist, blacklist, injectedFrames, level)); 239 UserContentInjectedFrames injectedFrames) 240 { 241 ASSERT_ARG(world, world); 242 243 OwnPtr<UserStyleSheet> userStyleSheet(new UserStyleSheet(source, url, whitelist, blacklist, injectedFrames)); 245 244 if (!m_userStyleSheets) 246 245 m_userStyleSheets.set(new UserStyleSheetMap); -
trunk/WebCore/page/PageGroup.h
r65183 r65193 81 81 void addUserStyleSheetToWorld(DOMWrapperWorld*, const String& source, const KURL&, 82 82 PassOwnPtr<Vector<String> > whitelist, PassOwnPtr<Vector<String> > blacklist, 83 UserContentInjectedFrames, 84 UserStyleSheet::Level level = UserStyleSheet::UserLevel); 83 UserContentInjectedFrames); 85 84 86 85 void removeUserScriptFromWorld(DOMWrapperWorld*, const KURL&); -
trunk/WebCore/page/UserStyleSheet.h
r65183 r65193 38 38 class UserStyleSheet : public Noncopyable { 39 39 public: 40 enum Level {41 UserLevel,42 AuthorLevel43 };44 45 40 UserStyleSheet(const String& source, const KURL& url, 46 41 PassOwnPtr<Vector<String> > whitelist, PassOwnPtr<Vector<String> > blacklist, 47 UserContentInjectedFrames injectedFrames , Level level)42 UserContentInjectedFrames injectedFrames) 48 43 : m_source(source) 49 44 , m_url(url) … … 51 46 , m_blacklist(blacklist) 52 47 , m_injectedFrames(injectedFrames) 53 , m_level(level)54 48 { 55 49 } … … 60 54 const Vector<String>* blacklist() const { return m_blacklist.get(); } 61 55 UserContentInjectedFrames injectedFrames() const { return m_injectedFrames; } 62 Level level() const { return m_level; }63 56 64 57 private: … … 68 61 OwnPtr<Vector<String> > m_blacklist; 69 62 UserContentInjectedFrames m_injectedFrames; 70 Level m_level;71 63 }; 72 64 -
trunk/WebKit/chromium/ChangeLog
r65183 r65193 1 2010-08-10 Aaron Boodman <aa@chromium.org>2 3 Reviewed by David Hyatt.4 5 Make the cascade level of "user" styles configurable6 https://bugs.webkit.org/show_bug.cgi?id=434577 8 * src/WebViewImpl.cpp:9 (WebKit::WebView::addUserStyleSheet): Send "author" for the css level of user styles.10 11 1 2010-08-11 James Hawkins <jhawkins@chromium.org> 12 2 -
trunk/WebKit/chromium/src/WebViewImpl.cpp
r65183 r65193 1950 1950 PageGroup* pageGroup = PageGroup::pageGroup(pageGroupName); 1951 1951 RefPtr<DOMWrapperWorld> world(DOMWrapperWorld::create()); 1952 1953 // FIXME: Current callers always want the level to be "author". It probably makes sense to let1954 // callers specify this though, since in other cases the caller will probably want "user" level.1955 //1956 // FIXME: It would be nice to populate the URL correctly, instead of passing an empty URL.1957 1952 pageGroup->addUserStyleSheetToWorld(world.get(), sourceCode, WebURL(), patterns.release(), 0, 1958 static_cast<UserContentInjectedFrames>(injectIn), 1959 UserStyleSheet::AuthorLevel); 1953 static_cast<UserContentInjectedFrames>(injectIn)); 1960 1954 } 1961 1955
Note: See TracChangeset
for help on using the changeset viewer.