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

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: fix failing tests Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 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 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
257 return NOPSEUDO; 259 return NOPSEUDO;
258 } 260 }
259 261
260 static HashMap<AtomicStringImpl*, CSSSelector::PseudoType>* nameToPseudoTypeMap( ) 262 static HashMap<AtomicStringImpl*, CSSSelector::PseudoType>* nameToPseudoTypeMap( )
261 { 263 {
262 DEFINE_STATIC_LOCAL(AtomicString, active, ("active", AtomicString::Construct FromLiteral)); 264 DEFINE_STATIC_LOCAL(AtomicString, active, ("active", AtomicString::Construct FromLiteral));
263 DEFINE_STATIC_LOCAL(AtomicString, after, ("after", AtomicString::ConstructFr omLiteral)); 265 DEFINE_STATIC_LOCAL(AtomicString, after, ("after", AtomicString::ConstructFr omLiteral));
264 DEFINE_STATIC_LOCAL(AtomicString, any, ("-webkit-any(", AtomicString::Constr uctFromLiteral)); 266 DEFINE_STATIC_LOCAL(AtomicString, any, ("-webkit-any(", AtomicString::Constr uctFromLiteral));
265 DEFINE_STATIC_LOCAL(AtomicString, anyLink, ("-webkit-any-link", AtomicString ::ConstructFromLiteral)); 267 DEFINE_STATIC_LOCAL(AtomicString, anyLink, ("-webkit-any-link", AtomicString ::ConstructFromLiteral));
266 DEFINE_STATIC_LOCAL(AtomicString, autofill, ("-webkit-autofill", AtomicStrin g::ConstructFromLiteral)); 268 DEFINE_STATIC_LOCAL(AtomicString, autofill, ("-webkit-autofill", AtomicStrin g::ConstructFromLiteral));
269 DEFINE_STATIC_LOCAL(AtomicString, backdrop, ("backdrop", AtomicString::Const ructFromLiteral));
267 DEFINE_STATIC_LOCAL(AtomicString, before, ("before", AtomicString::Construct FromLiteral)); 270 DEFINE_STATIC_LOCAL(AtomicString, before, ("before", AtomicString::Construct FromLiteral));
268 DEFINE_STATIC_LOCAL(AtomicString, checked, ("checked", AtomicString::Constru ctFromLiteral)); 271 DEFINE_STATIC_LOCAL(AtomicString, checked, ("checked", AtomicString::Constru ctFromLiteral));
269 DEFINE_STATIC_LOCAL(AtomicString, defaultString, ("default", AtomicString::C onstructFromLiteral)); 272 DEFINE_STATIC_LOCAL(AtomicString, defaultString, ("default", AtomicString::C onstructFromLiteral));
270 DEFINE_STATIC_LOCAL(AtomicString, disabled, ("disabled", AtomicString::Const ructFromLiteral)); 273 DEFINE_STATIC_LOCAL(AtomicString, disabled, ("disabled", AtomicString::Const ructFromLiteral));
271 DEFINE_STATIC_LOCAL(AtomicString, readOnly, ("read-only", AtomicString::Cons tructFromLiteral)); 274 DEFINE_STATIC_LOCAL(AtomicString, readOnly, ("read-only", AtomicString::Cons tructFromLiteral));
272 DEFINE_STATIC_LOCAL(AtomicString, readWrite, ("read-write", AtomicString::Co nstructFromLiteral)); 275 DEFINE_STATIC_LOCAL(AtomicString, readWrite, ("read-write", AtomicString::Co nstructFromLiteral));
273 DEFINE_STATIC_LOCAL(AtomicString, valid, ("valid", AtomicString::ConstructFr omLiteral)); 276 DEFINE_STATIC_LOCAL(AtomicString, valid, ("valid", AtomicString::ConstructFr omLiteral));
274 DEFINE_STATIC_LOCAL(AtomicString, invalid, ("invalid", AtomicString::Constru ctFromLiteral)); 277 DEFINE_STATIC_LOCAL(AtomicString, invalid, ("invalid", AtomicString::Constru ctFromLiteral));
275 DEFINE_STATIC_LOCAL(AtomicString, drag, ("-webkit-drag", AtomicString::Const ructFromLiteral)); 278 DEFINE_STATIC_LOCAL(AtomicString, drag, ("-webkit-drag", AtomicString::Const ructFromLiteral));
276 DEFINE_STATIC_LOCAL(AtomicString, dragAlias, ("-khtml-drag", AtomicString::C onstructFromLiteral)); // was documented with this name in Apple documentation, so keep an alia 279 DEFINE_STATIC_LOCAL(AtomicString, dragAlias, ("-khtml-drag", AtomicString::C onstructFromLiteral)); // was documented with this name in Apple documentation, so keep an alia
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 DEFINE_STATIC_LOCAL(AtomicString, unresolved, ("unresolved", AtomicString::C onstructFromLiteral)); 341 DEFINE_STATIC_LOCAL(AtomicString, unresolved, ("unresolved", AtomicString::C onstructFromLiteral));
339 342
340 static HashMap<AtomicStringImpl*, CSSSelector::PseudoType>* nameToPseudoType = 0; 343 static HashMap<AtomicStringImpl*, CSSSelector::PseudoType>* nameToPseudoType = 0;
341 if (!nameToPseudoType) { 344 if (!nameToPseudoType) {
342 nameToPseudoType = new HashMap<AtomicStringImpl*, CSSSelector::PseudoTyp e>; 345 nameToPseudoType = new HashMap<AtomicStringImpl*, CSSSelector::PseudoTyp e>;
343 nameToPseudoType->set(active.impl(), CSSSelector::PseudoActive); 346 nameToPseudoType->set(active.impl(), CSSSelector::PseudoActive);
344 nameToPseudoType->set(after.impl(), CSSSelector::PseudoAfter); 347 nameToPseudoType->set(after.impl(), CSSSelector::PseudoAfter);
345 nameToPseudoType->set(anyLink.impl(), CSSSelector::PseudoAnyLink); 348 nameToPseudoType->set(anyLink.impl(), CSSSelector::PseudoAnyLink);
346 nameToPseudoType->set(any.impl(), CSSSelector::PseudoAny); 349 nameToPseudoType->set(any.impl(), CSSSelector::PseudoAny);
347 nameToPseudoType->set(autofill.impl(), CSSSelector::PseudoAutofill); 350 nameToPseudoType->set(autofill.impl(), CSSSelector::PseudoAutofill);
351 nameToPseudoType->set(backdrop.impl(), CSSSelector::PseudoBackdrop);
348 nameToPseudoType->set(before.impl(), CSSSelector::PseudoBefore); 352 nameToPseudoType->set(before.impl(), CSSSelector::PseudoBefore);
349 nameToPseudoType->set(checked.impl(), CSSSelector::PseudoChecked); 353 nameToPseudoType->set(checked.impl(), CSSSelector::PseudoChecked);
350 nameToPseudoType->set(defaultString.impl(), CSSSelector::PseudoDefault); 354 nameToPseudoType->set(defaultString.impl(), CSSSelector::PseudoDefault);
351 nameToPseudoType->set(disabled.impl(), CSSSelector::PseudoDisabled); 355 nameToPseudoType->set(disabled.impl(), CSSSelector::PseudoDisabled);
352 nameToPseudoType->set(readOnly.impl(), CSSSelector::PseudoReadOnly); 356 nameToPseudoType->set(readOnly.impl(), CSSSelector::PseudoReadOnly);
353 nameToPseudoType->set(readWrite.impl(), CSSSelector::PseudoReadWrite); 357 nameToPseudoType->set(readWrite.impl(), CSSSelector::PseudoReadWrite);
354 nameToPseudoType->set(valid.impl(), CSSSelector::PseudoValid); 358 nameToPseudoType->set(valid.impl(), CSSSelector::PseudoValid);
355 nameToPseudoType->set(invalid.impl(), CSSSelector::PseudoInvalid); 359 nameToPseudoType->set(invalid.impl(), CSSSelector::PseudoInvalid);
356 nameToPseudoType->set(drag.impl(), CSSSelector::PseudoDrag); 360 nameToPseudoType->set(drag.impl(), CSSSelector::PseudoDrag);
357 nameToPseudoType->set(dragAlias.impl(), CSSSelector::PseudoDrag); 361 nameToPseudoType->set(dragAlias.impl(), CSSSelector::PseudoDrag);
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
450 bool compat = false; // single colon compatbility mode 454 bool compat = false; // single colon compatbility mode
451 bool isPagePseudoClass = false; // Page pseudo-class 455 bool isPagePseudoClass = false; // Page pseudo-class
452 456
453 switch (m_pseudoType) { 457 switch (m_pseudoType) {
454 case PseudoAfter: 458 case PseudoAfter:
455 case PseudoBefore: 459 case PseudoBefore:
456 case PseudoCue: 460 case PseudoCue:
457 case PseudoFirstLetter: 461 case PseudoFirstLetter:
458 case PseudoFirstLine: 462 case PseudoFirstLine:
459 compat = true; 463 compat = true;
464 case PseudoBackdrop:
460 case PseudoDistributed: 465 case PseudoDistributed:
461 case PseudoResizer: 466 case PseudoResizer:
462 case PseudoScrollbar: 467 case PseudoScrollbar:
463 case PseudoScrollbarCorner: 468 case PseudoScrollbarCorner:
464 case PseudoScrollbarButton: 469 case PseudoScrollbarButton:
465 case PseudoScrollbarThumb: 470 case PseudoScrollbarThumb:
466 case PseudoScrollbarTrack: 471 case PseudoScrollbarTrack:
467 case PseudoScrollbarTrackPiece: 472 case PseudoScrollbarTrackPiece:
468 case PseudoSelection: 473 case PseudoSelection:
469 case PseudoUserAgentCustomElement: 474 case PseudoUserAgentCustomElement:
(...skipping 335 matching lines...) Expand 10 before | Expand all | Expand 10 after
805 return false; 810 return false;
806 return (count - m_b) % m_a == 0; 811 return (count - m_b) % m_a == 0;
807 } else { 812 } else {
808 if (count > m_b) 813 if (count > m_b)
809 return false; 814 return false;
810 return (m_b - count) % (-m_a) == 0; 815 return (m_b - count) % (-m_a) == 0;
811 } 816 }
812 } 817 }
813 818
814 } // namespace WebCore 819 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698