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

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

Issue 2121313003: [Editing][DOM][CodeHealth] Make Node::isContentEditable and Node::isRichEditable global functions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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
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. (http://www.torchmo bile.com/) 5 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/)
6 * Copyright (C) 2011 Motorola Mobility. All rights reserved. 6 * Copyright (C) 2011 Motorola Mobility. All rights reserved.
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 568 matching lines...) Expand 10 before | Expand all | Expand 10 after
579 else if (equalIgnoringCase(enabled, "false")) 579 else if (equalIgnoringCase(enabled, "false"))
580 setAttribute(contenteditableAttr, "false"); 580 setAttribute(contenteditableAttr, "false");
581 else if (equalIgnoringCase(enabled, "plaintext-only")) 581 else if (equalIgnoringCase(enabled, "plaintext-only"))
582 setAttribute(contenteditableAttr, "plaintext-only"); 582 setAttribute(contenteditableAttr, "plaintext-only");
583 else if (equalIgnoringCase(enabled, "inherit")) 583 else if (equalIgnoringCase(enabled, "inherit"))
584 removeAttribute(contenteditableAttr); 584 removeAttribute(contenteditableAttr);
585 else 585 else
586 exceptionState.throwDOMException(SyntaxError, "The value provided ('" + enabled + "') is not one of 'true', 'false', 'plaintext-only', or 'inherit'."); 586 exceptionState.throwDOMException(SyntaxError, "The value provided ('" + enabled + "') is not one of 'true', 'false', 'plaintext-only', or 'inherit'.");
587 } 587 }
588 588
589 bool HTMLElement::isContentEditable() const
yosin_UTC9 2016/07/21 08:25:02 Why do we need to have |HTMLElement::isContentEdit
tkent 2016/07/21 08:29:54 HTMLElement::isContentEditable is a web-exposed ID
590 {
591 return blink::isContentEditable(*this);
592 }
593
589 bool HTMLElement::draggable() const 594 bool HTMLElement::draggable() const
590 { 595 {
591 return equalIgnoringCase(getAttribute(draggableAttr), "true"); 596 return equalIgnoringCase(getAttribute(draggableAttr), "true");
592 } 597 }
593 598
594 void HTMLElement::setDraggable(bool value) 599 void HTMLElement::setDraggable(bool value)
595 { 600 {
596 setAttribute(draggableAttr, value ? "true" : "false"); 601 setAttribute(draggableAttr, value ? "true" : "false");
597 } 602 }
598 603
(...skipping 432 matching lines...) Expand 10 before | Expand all | Expand 10 after
1031 return parentElement() && parentElement()->hasEditableStyle(); 1036 return parentElement() && parentElement()->hasEditableStyle();
1032 } 1037 }
1033 1038
1034 void HTMLElement::handleKeypressEvent(KeyboardEvent* event) 1039 void HTMLElement::handleKeypressEvent(KeyboardEvent* event)
1035 { 1040 {
1036 if (!isSpatialNavigationEnabled(document().frame()) || !supportsFocus()) 1041 if (!isSpatialNavigationEnabled(document().frame()) || !supportsFocus())
1037 return; 1042 return;
1038 // if the element is a text form control (like <input type=text> or <textare a>) 1043 // if the element is a text form control (like <input type=text> or <textare a>)
1039 // or has contentEditable attribute on, we should enter a space or newline 1044 // or has contentEditable attribute on, we should enter a space or newline
1040 // even in spatial navigation mode instead of handling it as a "click" actio n. 1045 // even in spatial navigation mode instead of handling it as a "click" actio n.
1041 if (isTextFormControl() || isContentEditable()) 1046 if (isTextFormControl() || blink::isContentEditable(*this))
1042 return; 1047 return;
1043 int charCode = event->charCode(); 1048 int charCode = event->charCode();
1044 if (charCode == '\r' || charCode == ' ') { 1049 if (charCode == '\r' || charCode == ' ') {
1045 dispatchSimulatedClick(event); 1050 dispatchSimulatedClick(event);
1046 event->setDefaultHandled(); 1051 event->setDefaultHandled();
1047 } 1052 }
1048 } 1053 }
1049 1054
1050 const AtomicString& HTMLElement::eventParameterName() 1055 const AtomicString& HTMLElement::eventParameterName()
1051 { 1056 {
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
1101 #ifndef NDEBUG 1106 #ifndef NDEBUG
1102 1107
1103 // For use in the debugger 1108 // For use in the debugger
1104 void dumpInnerHTML(blink::HTMLElement*); 1109 void dumpInnerHTML(blink::HTMLElement*);
1105 1110
1106 void dumpInnerHTML(blink::HTMLElement* element) 1111 void dumpInnerHTML(blink::HTMLElement* element)
1107 { 1112 {
1108 printf("%s\n", element->innerHTML().ascii().data()); 1113 printf("%s\n", element->innerHTML().ascii().data());
1109 } 1114 }
1110 #endif 1115 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698