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

Side by Side Diff: Source/core/css/CSSSelector.cpp

Issue 17654008: Implement the ::backdrop pseudo-element for modal <dialog>. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: use element directly Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/css/CSSSelector.h ('k') | Source/core/css/PseudoStyleRequest.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999-2003 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999-2003 Lars Knoll (knoll@kde.org)
3 * 1999 Waldo Bastian (bastian@kde.org) 3 * 1999 Waldo Bastian (bastian@kde.org)
4 * 2001 Andreas Schlapbach (schlpbch@iam.unibe.ch) 4 * 2001 Andreas Schlapbach (schlpbch@iam.unibe.ch)
5 * 2001-2003 Dirk Mueller (mueller@kde.org) 5 * 2001-2003 Dirk Mueller (mueller@kde.org)
6 * Copyright (C) 2002, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv ed. 6 * Copyright (C) 2002, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv ed.
7 * Copyright (C) 2008 David Smith (catfish.man@gmail.com) 7 * Copyright (C) 2008 David Smith (catfish.man@gmail.com)
8 * Copyright (C) 2010 Google Inc. All rights reserved. 8 * Copyright (C) 2010 Google Inc. All rights reserved.
9 * 9 *
10 * This library is free software; you can redistribute it and/or 10 * This library is free software; you can redistribute it and/or
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 case PseudoFirstLine: 154 case PseudoFirstLine:
155 return FIRST_LINE; 155 return FIRST_LINE;
156 case PseudoFirstLetter: 156 case PseudoFirstLetter:
157 return FIRST_LETTER; 157 return FIRST_LETTER;
158 case PseudoSelection: 158 case PseudoSelection:
159 return SELECTION; 159 return SELECTION;
160 case PseudoBefore: 160 case PseudoBefore:
161 return BEFORE; 161 return BEFORE;
162 case PseudoAfter: 162 case PseudoAfter:
163 return AFTER; 163 return AFTER;
164 case PseudoBackdrop:
165 return BACKDROP;
164 case PseudoScrollbar: 166 case PseudoScrollbar:
165 return SCROLLBAR; 167 return SCROLLBAR;
166 case PseudoScrollbarButton: 168 case PseudoScrollbarButton:
167 return SCROLLBAR_BUTTON; 169 return SCROLLBAR_BUTTON;
168 case PseudoScrollbarCorner: 170 case PseudoScrollbarCorner:
169 return SCROLLBAR_CORNER; 171 return SCROLLBAR_CORNER;
170 case PseudoScrollbarThumb: 172 case PseudoScrollbarThumb:
171 return SCROLLBAR_THUMB; 173 return SCROLLBAR_THUMB;
172 case PseudoScrollbarTrack: 174 case PseudoScrollbarTrack:
173 return SCROLLBAR_TRACK; 175 return SCROLLBAR_TRACK;
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 return NOPSEUDO; 257 return NOPSEUDO;
256 } 258 }
257 259
258 static HashMap<AtomicStringImpl*, CSSSelector::PseudoType>* nameToPseudoTypeMap( ) 260 static HashMap<AtomicStringImpl*, CSSSelector::PseudoType>* nameToPseudoTypeMap( )
259 { 261 {
260 DEFINE_STATIC_LOCAL(AtomicString, active, ("active", AtomicString::Construct FromLiteral)); 262 DEFINE_STATIC_LOCAL(AtomicString, active, ("active", AtomicString::Construct FromLiteral));
261 DEFINE_STATIC_LOCAL(AtomicString, after, ("after", AtomicString::ConstructFr omLiteral)); 263 DEFINE_STATIC_LOCAL(AtomicString, after, ("after", AtomicString::ConstructFr omLiteral));
262 DEFINE_STATIC_LOCAL(AtomicString, any, ("-webkit-any(", AtomicString::Constr uctFromLiteral)); 264 DEFINE_STATIC_LOCAL(AtomicString, any, ("-webkit-any(", AtomicString::Constr uctFromLiteral));
263 DEFINE_STATIC_LOCAL(AtomicString, anyLink, ("-webkit-any-link", AtomicString ::ConstructFromLiteral)); 265 DEFINE_STATIC_LOCAL(AtomicString, anyLink, ("-webkit-any-link", AtomicString ::ConstructFromLiteral));
264 DEFINE_STATIC_LOCAL(AtomicString, autofill, ("-webkit-autofill", AtomicStrin g::ConstructFromLiteral)); 266 DEFINE_STATIC_LOCAL(AtomicString, autofill, ("-webkit-autofill", AtomicStrin g::ConstructFromLiteral));
267 DEFINE_STATIC_LOCAL(AtomicString, backdrop, ("backdrop", AtomicString::Const ructFromLiteral));
265 DEFINE_STATIC_LOCAL(AtomicString, before, ("before", AtomicString::Construct FromLiteral)); 268 DEFINE_STATIC_LOCAL(AtomicString, before, ("before", AtomicString::Construct FromLiteral));
266 DEFINE_STATIC_LOCAL(AtomicString, checked, ("checked", AtomicString::Constru ctFromLiteral)); 269 DEFINE_STATIC_LOCAL(AtomicString, checked, ("checked", AtomicString::Constru ctFromLiteral));
267 DEFINE_STATIC_LOCAL(AtomicString, defaultString, ("default", AtomicString::C onstructFromLiteral)); 270 DEFINE_STATIC_LOCAL(AtomicString, defaultString, ("default", AtomicString::C onstructFromLiteral));
268 DEFINE_STATIC_LOCAL(AtomicString, disabled, ("disabled", AtomicString::Const ructFromLiteral)); 271 DEFINE_STATIC_LOCAL(AtomicString, disabled, ("disabled", AtomicString::Const ructFromLiteral));
269 DEFINE_STATIC_LOCAL(AtomicString, readOnly, ("read-only", AtomicString::Cons tructFromLiteral)); 272 DEFINE_STATIC_LOCAL(AtomicString, readOnly, ("read-only", AtomicString::Cons tructFromLiteral));
270 DEFINE_STATIC_LOCAL(AtomicString, readWrite, ("read-write", AtomicString::Co nstructFromLiteral)); 273 DEFINE_STATIC_LOCAL(AtomicString, readWrite, ("read-write", AtomicString::Co nstructFromLiteral));
271 DEFINE_STATIC_LOCAL(AtomicString, valid, ("valid", AtomicString::ConstructFr omLiteral)); 274 DEFINE_STATIC_LOCAL(AtomicString, valid, ("valid", AtomicString::ConstructFr omLiteral));
272 DEFINE_STATIC_LOCAL(AtomicString, invalid, ("invalid", AtomicString::Constru ctFromLiteral)); 275 DEFINE_STATIC_LOCAL(AtomicString, invalid, ("invalid", AtomicString::Constru ctFromLiteral));
273 DEFINE_STATIC_LOCAL(AtomicString, drag, ("-webkit-drag", AtomicString::Const ructFromLiteral)); 276 DEFINE_STATIC_LOCAL(AtomicString, drag, ("-webkit-drag", AtomicString::Const ructFromLiteral));
274 DEFINE_STATIC_LOCAL(AtomicString, dragAlias, ("-khtml-drag", AtomicString::C onstructFromLiteral)); // was documented with this name in Apple documentation, so keep an alia 277 DEFINE_STATIC_LOCAL(AtomicString, dragAlias, ("-khtml-drag", AtomicString::C onstructFromLiteral)); // was documented with this name in Apple documentation, so keep an alia
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
335 DEFINE_STATIC_LOCAL(AtomicString, unresolved, ("unresolved", AtomicString::C onstructFromLiteral)); 338 DEFINE_STATIC_LOCAL(AtomicString, unresolved, ("unresolved", AtomicString::C onstructFromLiteral));
336 339
337 static HashMap<AtomicStringImpl*, CSSSelector::PseudoType>* nameToPseudoType = 0; 340 static HashMap<AtomicStringImpl*, CSSSelector::PseudoType>* nameToPseudoType = 0;
338 if (!nameToPseudoType) { 341 if (!nameToPseudoType) {
339 nameToPseudoType = new HashMap<AtomicStringImpl*, CSSSelector::PseudoTyp e>; 342 nameToPseudoType = new HashMap<AtomicStringImpl*, CSSSelector::PseudoTyp e>;
340 nameToPseudoType->set(active.impl(), CSSSelector::PseudoActive); 343 nameToPseudoType->set(active.impl(), CSSSelector::PseudoActive);
341 nameToPseudoType->set(after.impl(), CSSSelector::PseudoAfter); 344 nameToPseudoType->set(after.impl(), CSSSelector::PseudoAfter);
342 nameToPseudoType->set(anyLink.impl(), CSSSelector::PseudoAnyLink); 345 nameToPseudoType->set(anyLink.impl(), CSSSelector::PseudoAnyLink);
343 nameToPseudoType->set(any.impl(), CSSSelector::PseudoAny); 346 nameToPseudoType->set(any.impl(), CSSSelector::PseudoAny);
344 nameToPseudoType->set(autofill.impl(), CSSSelector::PseudoAutofill); 347 nameToPseudoType->set(autofill.impl(), CSSSelector::PseudoAutofill);
348 nameToPseudoType->set(backdrop.impl(), CSSSelector::PseudoBackdrop);
345 nameToPseudoType->set(before.impl(), CSSSelector::PseudoBefore); 349 nameToPseudoType->set(before.impl(), CSSSelector::PseudoBefore);
346 nameToPseudoType->set(checked.impl(), CSSSelector::PseudoChecked); 350 nameToPseudoType->set(checked.impl(), CSSSelector::PseudoChecked);
347 nameToPseudoType->set(defaultString.impl(), CSSSelector::PseudoDefault); 351 nameToPseudoType->set(defaultString.impl(), CSSSelector::PseudoDefault);
348 nameToPseudoType->set(disabled.impl(), CSSSelector::PseudoDisabled); 352 nameToPseudoType->set(disabled.impl(), CSSSelector::PseudoDisabled);
349 nameToPseudoType->set(readOnly.impl(), CSSSelector::PseudoReadOnly); 353 nameToPseudoType->set(readOnly.impl(), CSSSelector::PseudoReadOnly);
350 nameToPseudoType->set(readWrite.impl(), CSSSelector::PseudoReadWrite); 354 nameToPseudoType->set(readWrite.impl(), CSSSelector::PseudoReadWrite);
351 nameToPseudoType->set(valid.impl(), CSSSelector::PseudoValid); 355 nameToPseudoType->set(valid.impl(), CSSSelector::PseudoValid);
352 nameToPseudoType->set(invalid.impl(), CSSSelector::PseudoInvalid); 356 nameToPseudoType->set(invalid.impl(), CSSSelector::PseudoInvalid);
353 nameToPseudoType->set(drag.impl(), CSSSelector::PseudoDrag); 357 nameToPseudoType->set(drag.impl(), CSSSelector::PseudoDrag);
354 nameToPseudoType->set(dragAlias.impl(), CSSSelector::PseudoDrag); 358 nameToPseudoType->set(dragAlias.impl(), CSSSelector::PseudoDrag);
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
446 bool compat = false; // single colon compatbility mode 450 bool compat = false; // single colon compatbility mode
447 bool isPagePseudoClass = false; // Page pseudo-class 451 bool isPagePseudoClass = false; // Page pseudo-class
448 452
449 switch (m_pseudoType) { 453 switch (m_pseudoType) {
450 case PseudoAfter: 454 case PseudoAfter:
451 case PseudoBefore: 455 case PseudoBefore:
452 case PseudoCue: 456 case PseudoCue:
453 case PseudoFirstLetter: 457 case PseudoFirstLetter:
454 case PseudoFirstLine: 458 case PseudoFirstLine:
455 compat = true; 459 compat = true;
460 case PseudoBackdrop:
456 case PseudoDistributed: 461 case PseudoDistributed:
457 case PseudoResizer: 462 case PseudoResizer:
458 case PseudoScrollbar: 463 case PseudoScrollbar:
459 case PseudoScrollbarCorner: 464 case PseudoScrollbarCorner:
460 case PseudoScrollbarButton: 465 case PseudoScrollbarButton:
461 case PseudoScrollbarThumb: 466 case PseudoScrollbarThumb:
462 case PseudoScrollbarTrack: 467 case PseudoScrollbarTrack:
463 case PseudoScrollbarTrackPiece: 468 case PseudoScrollbarTrackPiece:
464 case PseudoSelection: 469 case PseudoSelection:
465 case PseudoUserAgentCustomElement: 470 case PseudoUserAgentCustomElement:
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after
800 return false; 805 return false;
801 return (count - m_b) % m_a == 0; 806 return (count - m_b) % m_a == 0;
802 } else { 807 } else {
803 if (count > m_b) 808 if (count > m_b)
804 return false; 809 return false;
805 return (m_b - count) % (-m_a) == 0; 810 return (m_b - count) % (-m_a) == 0;
806 } 811 }
807 } 812 }
808 813
809 } // namespace WebCore 814 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/core/css/CSSSelector.h ('k') | Source/core/css/PseudoStyleRequest.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698