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

Side by Side Diff: third_party/WebKit/Source/core/html/HTMLElement.cpp

Issue 2961643002: Account for null Document Frame when parsing inert attribute (Closed)
Patch Set: Added test Created 3 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
« no previous file with comments | « third_party/WebKit/LayoutTests/fast/html/crash-template-with-inert-attribute-expected.txt ('k') | no next file » | 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 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * Copyright (C) 2004-2008, 2013, 2014 Apple Inc. All rights reserved. 4 * Copyright (C) 2004-2008, 2013, 2014 Apple Inc. All rights reserved.
5 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. 5 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved.
6 * (http://www.torchmobile.com/) 6 * (http://www.torchmobile.com/)
7 * Copyright (C) 2011 Motorola Mobility. All rights reserved. 7 * Copyright (C) 2011 Motorola Mobility. All rights reserved.
8 * 8 *
9 * This library is free software; you can redistribute it and/or 9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Library General Public 10 * modify it under the terms of the GNU Library General Public
(...skipping 449 matching lines...) Expand 10 before | Expand all | Expand 10 after
460 if (params.name == tabindexAttr || params.name == XMLNames::langAttr) 460 if (params.name == tabindexAttr || params.name == XMLNames::langAttr)
461 return Element::ParseAttribute(params); 461 return Element::ParseAttribute(params);
462 462
463 if (params.name == dirAttr) { 463 if (params.name == dirAttr) {
464 DirAttributeChanged(params.new_value); 464 DirAttributeChanged(params.new_value);
465 } else if (params.name == langAttr) { 465 } else if (params.name == langAttr) {
466 PseudoStateChanged(CSSSelector::kPseudoLang); 466 PseudoStateChanged(CSSSelector::kPseudoLang);
467 } else if (params.name == inertAttr) { 467 } else if (params.name == inertAttr) {
468 UseCounter::Count(GetDocument(), WebFeature::kInertAttribute); 468 UseCounter::Count(GetDocument(), WebFeature::kInertAttribute);
469 UpdateDistribution(); 469 UpdateDistribution();
470 GetDocument().GetFrame()->SetIsInert(GetDocument().LocalOwner() && 470 if (GetDocument().GetFrame()) {
471 GetDocument().LocalOwner()->IsInert()); 471 GetDocument().GetFrame()->SetIsInert(
472 GetDocument().LocalOwner() && GetDocument().LocalOwner()->IsInert());
473 }
472 } else if (params.name == nonceAttr) { 474 } else if (params.name == nonceAttr) {
473 if (params.new_value != g_empty_atom) 475 if (params.new_value != g_empty_atom)
474 setNonce(params.new_value); 476 setNonce(params.new_value);
475 } else { 477 } else {
476 const AtomicString& event_name = EventNameForAttributeName(params.name); 478 const AtomicString& event_name = EventNameForAttributeName(params.name);
477 if (!event_name.IsNull()) { 479 if (!event_name.IsNull()) {
478 SetAttributeEventListener( 480 SetAttributeEventListener(
479 event_name, 481 event_name,
480 CreateAttributeEventListener(this, params.name, params.new_value, 482 CreateAttributeEventListener(this, params.name, params.new_value,
481 EventParameterName())); 483 EventParameterName()));
(...skipping 702 matching lines...) Expand 10 before | Expand all | Expand 10 after
1184 1186
1185 #ifndef NDEBUG 1187 #ifndef NDEBUG
1186 1188
1187 // For use in the debugger 1189 // For use in the debugger
1188 void dumpInnerHTML(blink::HTMLElement*); 1190 void dumpInnerHTML(blink::HTMLElement*);
1189 1191
1190 void dumpInnerHTML(blink::HTMLElement* element) { 1192 void dumpInnerHTML(blink::HTMLElement* element) {
1191 printf("%s\n", element->innerHTML().Ascii().data()); 1193 printf("%s\n", element->innerHTML().Ascii().data());
1192 } 1194 }
1193 #endif 1195 #endif
OLDNEW
« no previous file with comments | « third_party/WebKit/LayoutTests/fast/html/crash-template-with-inert-attribute-expected.txt ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698