Merge from Chromium at DEPS revision r216972
This commit was generated by merge_to_master.py.
Change-Id: Ie5904a921ece9c5959b52c8e0b74db09fa08f144
diff --git a/Source/core/html/shadow/ClearButtonElement.cpp b/Source/core/html/shadow/ClearButtonElement.cpp
index 3ac4628..c3eb8e9 100644
--- a/Source/core/html/shadow/ClearButtonElement.cpp
+++ b/Source/core/html/shadow/ClearButtonElement.cpp
@@ -46,7 +46,7 @@
PassRefPtr<ClearButtonElement> ClearButtonElement::create(Document* document, ClearButtonOwner& clearButtonOwner)
{
RefPtr<ClearButtonElement> element = adoptRef(new ClearButtonElement(document, clearButtonOwner));
- element->setPseudo(AtomicString("-webkit-clear-button", AtomicString::ConstructFromLiteral));
+ element->setPart(AtomicString("-webkit-clear-button", AtomicString::ConstructFromLiteral));
element->setAttribute(idAttr, ShadowElementNames::clearButton());
return element.release();
}
diff --git a/Source/core/html/shadow/DateTimeEditElement.cpp b/Source/core/html/shadow/DateTimeEditElement.cpp
index 0bc4369..a8e0222 100644
--- a/Source/core/html/shadow/DateTimeEditElement.cpp
+++ b/Source/core/html/shadow/DateTimeEditElement.cpp
@@ -403,7 +403,7 @@
DEFINE_STATIC_LOCAL(AtomicString, textPseudoId, ("-webkit-datetime-edit-text", AtomicString::ConstructFromLiteral));
ASSERT(text.length());
RefPtr<HTMLDivElement> element = HTMLDivElement::create(m_editElement.document());
- element->setPseudo(textPseudoId);
+ element->setPart(textPseudoId);
if (m_parameters.locale.isRTL() && text.length()) {
Direction dir = direction(text[0]);
if (dir == SegmentSeparator || dir == WhiteSpaceNeutral || dir == OtherNeutral)
@@ -485,7 +485,7 @@
PassRefPtr<DateTimeEditElement> DateTimeEditElement::create(Document* document, EditControlOwner& editControlOwner)
{
RefPtr<DateTimeEditElement> container = adoptRef(new DateTimeEditElement(document, editControlOwner));
- container->setPseudo(AtomicString("-webkit-datetime-edit", AtomicString::ConstructFromLiteral));
+ container->setPart(AtomicString("-webkit-datetime-edit", AtomicString::ConstructFromLiteral));
container->setAttribute(idAttr, ShadowElementNames::dateTimeEdit());
return container.release();
}
@@ -652,7 +652,7 @@
DEFINE_STATIC_LOCAL(AtomicString, fieldsWrapperPseudoId, ("-webkit-datetime-edit-fields-wrapper", AtomicString::ConstructFromLiteral));
if (!firstChild()) {
RefPtr<HTMLDivElement> element = HTMLDivElement::create(document());
- element->setPseudo(fieldsWrapperPseudoId);
+ element->setPart(fieldsWrapperPseudoId);
appendChild(element.get(), ASSERT_NO_EXCEPTION, AttachLazily);
}
Element* fieldsWrapper = fieldsWrapperElement();
diff --git a/Source/core/html/shadow/DateTimeFieldElement.cpp b/Source/core/html/shadow/DateTimeFieldElement.cpp
index 8f266c0..d7ee1e3 100644
--- a/Source/core/html/shadow/DateTimeFieldElement.cpp
+++ b/Source/core/html/shadow/DateTimeFieldElement.cpp
@@ -153,7 +153,7 @@
setAttribute(aria_valuemaxAttr, String::number(axMaximum));
setAttribute(aria_helpAttr, axHelpText);
- setPseudo(pseudo);
+ setPart(pseudo);
appendChild(Text::create(document(), visibleValue()));
}
diff --git a/Source/core/html/shadow/DateTimeFieldElements.cpp b/Source/core/html/shadow/DateTimeFieldElements.cpp
index 8a8a052..fda494d 100644
--- a/Source/core/html/shadow/DateTimeFieldElements.cpp
+++ b/Source/core/html/shadow/DateTimeFieldElements.cpp
@@ -79,7 +79,7 @@
PassRefPtr<DateTimeDayFieldElement> DateTimeDayFieldElement::create(Document* document, FieldOwner& fieldOwner, const String& placeholder, const Range& range)
{
DEFINE_STATIC_LOCAL(AtomicString, dayPsuedoId, ("-webkit-datetime-edit-day-field", AtomicString::ConstructFromLiteral));
- RefPtr<DateTimeDayFieldElement> field = adoptRef(new DateTimeDayFieldElement(document, fieldOwner, placeholder.isEmpty() ? ASCIILiteral("--") : placeholder, range));
+ RefPtr<DateTimeDayFieldElement> field = adoptRef(new DateTimeDayFieldElement(document, fieldOwner, placeholder.isEmpty() ? "--" : placeholder, range));
field->initialize(dayPsuedoId, AXDayOfMonthFieldText());
return field.release();
}
@@ -405,7 +405,7 @@
PassRefPtr<DateTimeMonthFieldElement> DateTimeMonthFieldElement::create(Document* document, FieldOwner& fieldOwner, const String& placeholder, const Range& range)
{
DEFINE_STATIC_LOCAL(AtomicString, monthPsuedoId, ("-webkit-datetime-edit-month-field", AtomicString::ConstructFromLiteral));
- RefPtr<DateTimeMonthFieldElement> field = adoptRef(new DateTimeMonthFieldElement(document, fieldOwner, placeholder.isEmpty() ? ASCIILiteral("--") : placeholder, range));
+ RefPtr<DateTimeMonthFieldElement> field = adoptRef(new DateTimeMonthFieldElement(document, fieldOwner, placeholder.isEmpty() ? "--" : placeholder, range));
field->initialize(monthPsuedoId, AXMonthFieldText());
return field.release();
}
@@ -565,7 +565,7 @@
// ----------------------------
DateTimeYearFieldElement::DateTimeYearFieldElement(Document* document, FieldOwner& fieldOwner, const DateTimeYearFieldElement::Parameters& parameters)
- : DateTimeNumericFieldElement(document, fieldOwner, Range(parameters.minimumYear, parameters.maximumYear), Range(DateComponents::minimumYear(), DateComponents::maximumYear()), parameters.placeholder.isEmpty() ? ASCIILiteral("----") : parameters.placeholder)
+ : DateTimeNumericFieldElement(document, fieldOwner, Range(parameters.minimumYear, parameters.maximumYear), Range(DateComponents::minimumYear(), DateComponents::maximumYear()), parameters.placeholder.isEmpty() ? "----" : parameters.placeholder)
, m_minIsSpecified(parameters.minIsSpecified)
, m_maxIsSpecified(parameters.maxIsSpecified)
{
diff --git a/Source/core/html/shadow/DetailsMarkerControl.h b/Source/core/html/shadow/DetailsMarkerControl.h
index 0971195..1b1bf04 100644
--- a/Source/core/html/shadow/DetailsMarkerControl.h
+++ b/Source/core/html/shadow/DetailsMarkerControl.h
@@ -53,7 +53,7 @@
inline PassRefPtr<DetailsMarkerControl> DetailsMarkerControl::create(Document* document)
{
RefPtr<DetailsMarkerControl> element = adoptRef(new DetailsMarkerControl(document));
- element->setPseudo(AtomicString("-webkit-details-marker", AtomicString::ConstructFromLiteral));
+ element->setPart(AtomicString("-webkit-details-marker", AtomicString::ConstructFromLiteral));
return element.release();
}
diff --git a/Source/core/html/shadow/HTMLContentElement.cpp b/Source/core/html/shadow/HTMLContentElement.cpp
index 385b090..b2e81f6 100644
--- a/Source/core/html/shadow/HTMLContentElement.cpp
+++ b/Source/core/html/shadow/HTMLContentElement.cpp
@@ -87,74 +87,6 @@
InsertionPoint::parseAttribute(name, value);
}
-static bool validateSubSelector(const CSSSelector* selector)
-{
- switch (selector->m_match) {
- case CSSSelector::Tag:
- case CSSSelector::Id:
- case CSSSelector::Class:
- case CSSSelector::Exact:
- case CSSSelector::Set:
- case CSSSelector::List:
- case CSSSelector::Hyphen:
- case CSSSelector::Contain:
- case CSSSelector::Begin:
- case CSSSelector::End:
- return true;
- case CSSSelector::PseudoElement:
- return false;
- case CSSSelector::PagePseudoClass:
- case CSSSelector::PseudoClass:
- break;
- }
-
- switch (selector->pseudoType()) {
- case CSSSelector::PseudoEmpty:
- case CSSSelector::PseudoLink:
- case CSSSelector::PseudoVisited:
- case CSSSelector::PseudoTarget:
- case CSSSelector::PseudoEnabled:
- case CSSSelector::PseudoDisabled:
- case CSSSelector::PseudoChecked:
- case CSSSelector::PseudoIndeterminate:
- case CSSSelector::PseudoNthChild:
- case CSSSelector::PseudoNthLastChild:
- case CSSSelector::PseudoNthOfType:
- case CSSSelector::PseudoNthLastOfType:
- case CSSSelector::PseudoFirstChild:
- case CSSSelector::PseudoLastChild:
- case CSSSelector::PseudoFirstOfType:
- case CSSSelector::PseudoLastOfType:
- case CSSSelector::PseudoOnlyOfType:
- return true;
- default:
- return false;
- }
-}
-
-static bool validateSelector(const CSSSelector* selector)
-{
- ASSERT(selector);
-
- if (!validateSubSelector(selector))
- return false;
-
- const CSSSelector* prevSubSelector = selector;
- const CSSSelector* subSelector = selector->tagHistory();
-
- while (subSelector) {
- if (prevSubSelector->relation() != CSSSelector::SubSelector)
- return false;
- if (!validateSubSelector(subSelector))
- return false;
-
- prevSubSelector = subSelector;
- subSelector = subSelector->tagHistory();
- }
-
- return true;
-}
-
bool HTMLContentElement::validateSelect() const
{
ASSERT(!m_shouldParseSelect);
@@ -166,7 +98,7 @@
return false;
for (const CSSSelector* selector = m_selectorList.first(); selector; selector = m_selectorList.next(selector)) {
- if (!validateSelector(selector))
+ if (!selector->isCompound())
return false;
}
@@ -193,4 +125,3 @@
}
}
-
diff --git a/Source/core/html/shadow/MediaControlElementTypes.h b/Source/core/html/shadow/MediaControlElementTypes.h
index 5a3fde8..fb53447 100644
--- a/Source/core/html/shadow/MediaControlElementTypes.h
+++ b/Source/core/html/shadow/MediaControlElementTypes.h
@@ -84,7 +84,7 @@
virtual bool isShowing() const;
virtual MediaControlElementType displayType() { return m_displayType; }
- virtual const AtomicString& shadowPseudoId() const = 0;
+ virtual const AtomicString& part() const = 0;
virtual void setMediaController(MediaControllerInterface* controller) { m_mediaController = controller; }
virtual MediaControllerInterface* mediaController() const { return m_mediaController; }
diff --git a/Source/core/html/shadow/MediaControlElements.cpp b/Source/core/html/shadow/MediaControlElements.cpp
index 3a936fc..9167b9c 100644
--- a/Source/core/html/shadow/MediaControlElements.cpp
+++ b/Source/core/html/shadow/MediaControlElements.cpp
@@ -38,6 +38,7 @@
#include "core/html/HTMLVideoElement.h"
#include "core/html/shadow/MediaControls.h"
#include "core/html/track/TextTrack.h"
+#include "core/html/track/TextTrackRegionList.h"
#include "core/page/EventHandler.h"
#include "core/page/Frame.h"
#include "core/page/Page.h"
@@ -71,7 +72,7 @@
return adoptRef(new MediaControlPanelElement(document));
}
-const AtomicString& MediaControlPanelElement::shadowPseudoId() const
+const AtomicString& MediaControlPanelElement::part() const
{
DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-panel", AtomicString::ConstructFromLiteral));
return id;
@@ -258,7 +259,7 @@
return adoptRef(new MediaControlPanelEnclosureElement(document));
}
-const AtomicString& MediaControlPanelEnclosureElement::shadowPseudoId() const
+const AtomicString& MediaControlPanelEnclosureElement::part() const
{
DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-enclosure", AtomicString::ConstructFromLiteral));
return id;
@@ -277,7 +278,7 @@
return adoptRef(new MediaControlOverlayEnclosureElement(document));
}
-const AtomicString& MediaControlOverlayEnclosureElement::shadowPseudoId() const
+const AtomicString& MediaControlOverlayEnclosureElement::part() const
{
DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-overlay-enclosure", AtomicString::ConstructFromLiteral));
return id;
@@ -309,7 +310,7 @@
MediaControlMuteButtonElement::defaultEventHandler(event);
}
-const AtomicString& MediaControlPanelMuteButtonElement::shadowPseudoId() const
+const AtomicString& MediaControlPanelMuteButtonElement::part() const
{
DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-mute-button", AtomicString::ConstructFromLiteral));
return id;
@@ -330,7 +331,7 @@
return button.release();
}
-const AtomicString& MediaControlVolumeSliderMuteButtonElement::shadowPseudoId() const
+const AtomicString& MediaControlVolumeSliderMuteButtonElement::part() const
{
DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-volume-slider-mute-button", AtomicString::ConstructFromLiteral));
return id;
@@ -369,7 +370,7 @@
setDisplayType(mediaController()->canPlay() ? MediaPlayButton : MediaPauseButton);
}
-const AtomicString& MediaControlPlayButtonElement::shadowPseudoId() const
+const AtomicString& MediaControlPlayButtonElement::part() const
{
DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-play-button", AtomicString::ConstructFromLiteral));
return id;
@@ -408,7 +409,7 @@
hide();
}
-const AtomicString& MediaControlOverlayPlayButtonElement::shadowPseudoId() const
+const AtomicString& MediaControlOverlayPlayButtonElement::part() const
{
DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-overlay-play-button", AtomicString::ConstructFromLiteral));
return id;
@@ -453,7 +454,7 @@
HTMLInputElement::defaultEventHandler(event);
}
-const AtomicString& MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId() const
+const AtomicString& MediaControlToggleClosedCaptionsButtonElement::part() const
{
DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-toggle-closed-captions-button", AtomicString::ConstructFromLiteral));
return id;
@@ -526,7 +527,7 @@
}
-const AtomicString& MediaControlTimelineElement::shadowPseudoId() const
+const AtomicString& MediaControlTimelineElement::part() const
{
DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-timeline", AtomicString::ConstructFromLiteral));
return id;
@@ -549,7 +550,7 @@
return slider.release();
}
-const AtomicString& MediaControlPanelVolumeSliderElement::shadowPseudoId() const
+const AtomicString& MediaControlPanelVolumeSliderElement::part() const
{
DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-volume-slider", AtomicString::ConstructFromLiteral));
return id;
@@ -591,7 +592,7 @@
HTMLInputElement::defaultEventHandler(event);
}
-const AtomicString& MediaControlFullscreenButtonElement::shadowPseudoId() const
+const AtomicString& MediaControlFullscreenButtonElement::part() const
{
DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-fullscreen-button", AtomicString::ConstructFromLiteral));
return id;
@@ -620,7 +621,7 @@
return id;
}
-const AtomicString& MediaControlTimeRemainingDisplayElement::shadowPseudoId() const
+const AtomicString& MediaControlTimeRemainingDisplayElement::part() const
{
return getMediaControlTimeRemainingDisplayElementShadowPseudoId();
}
@@ -643,7 +644,7 @@
return id;
}
-const AtomicString& MediaControlCurrentTimeDisplayElement::shadowPseudoId() const
+const AtomicString& MediaControlCurrentTimeDisplayElement::part() const
{
return getMediaControlCurrentTimeDisplayElementShadowPseudoId();
}
@@ -674,7 +675,7 @@
return id;
}
-const AtomicString& MediaControlTextTrackContainerElement::shadowPseudoId() const
+const AtomicString& MediaControlTextTrackContainerElement::part() const
{
return textTrackContainerElementShadowPseudoId();
}
diff --git a/Source/core/html/shadow/MediaControlElements.h b/Source/core/html/shadow/MediaControlElements.h
index 712ccbb..168ab29 100644
--- a/Source/core/html/shadow/MediaControlElements.h
+++ b/Source/core/html/shadow/MediaControlElements.h
@@ -53,7 +53,7 @@
private:
explicit MediaControlPanelElement(Document*);
- virtual const AtomicString& shadowPseudoId() const OVERRIDE;
+ virtual const AtomicString& part() const OVERRIDE;
virtual void defaultEventHandler(Event*) OVERRIDE;
void startDrag(const LayoutPoint& eventLocation);
@@ -84,7 +84,7 @@
private:
explicit MediaControlPanelEnclosureElement(Document*);
- virtual const AtomicString& shadowPseudoId() const OVERRIDE;
+ virtual const AtomicString& part() const OVERRIDE;
};
// ----------------------------
@@ -95,7 +95,7 @@
private:
explicit MediaControlOverlayEnclosureElement(Document*);
- virtual const AtomicString& shadowPseudoId() const OVERRIDE;
+ virtual const AtomicString& part() const OVERRIDE;
};
// ----------------------------
@@ -109,7 +109,7 @@
private:
explicit MediaControlPanelMuteButtonElement(Document*, MediaControls*);
- virtual const AtomicString& shadowPseudoId() const OVERRIDE;
+ virtual const AtomicString& part() const OVERRIDE;
virtual void defaultEventHandler(Event*) OVERRIDE;
MediaControls* m_controls;
@@ -123,7 +123,7 @@
private:
explicit MediaControlVolumeSliderMuteButtonElement(Document*);
- virtual const AtomicString& shadowPseudoId() const OVERRIDE;
+ virtual const AtomicString& part() const OVERRIDE;
};
@@ -139,7 +139,7 @@
private:
explicit MediaControlPlayButtonElement(Document*);
- virtual const AtomicString& shadowPseudoId() const OVERRIDE;
+ virtual const AtomicString& part() const OVERRIDE;
virtual void defaultEventHandler(Event*) OVERRIDE;
};
@@ -154,7 +154,7 @@
private:
explicit MediaControlOverlayPlayButtonElement(Document*);
- virtual const AtomicString& shadowPseudoId() const OVERRIDE;
+ virtual const AtomicString& part() const OVERRIDE;
virtual void defaultEventHandler(Event*) OVERRIDE;
};
@@ -171,7 +171,7 @@
private:
explicit MediaControlToggleClosedCaptionsButtonElement(Document*, MediaControls*);
- virtual const AtomicString& shadowPseudoId() const OVERRIDE;
+ virtual const AtomicString& part() const OVERRIDE;
virtual void defaultEventHandler(Event*) OVERRIDE;
};
@@ -189,7 +189,7 @@
private:
explicit MediaControlTimelineElement(Document*, MediaControls*);
- virtual const AtomicString& shadowPseudoId() const OVERRIDE;
+ virtual const AtomicString& part() const OVERRIDE;
virtual void defaultEventHandler(Event*) OVERRIDE;
MediaControls* m_controls;
@@ -208,7 +208,7 @@
private:
explicit MediaControlFullscreenButtonElement(Document*);
- virtual const AtomicString& shadowPseudoId() const OVERRIDE;
+ virtual const AtomicString& part() const OVERRIDE;
virtual void defaultEventHandler(Event*) OVERRIDE;
};
@@ -220,7 +220,7 @@
private:
explicit MediaControlPanelVolumeSliderElement(Document*);
- virtual const AtomicString& shadowPseudoId() const OVERRIDE;
+ virtual const AtomicString& part() const OVERRIDE;
};
// ----------------------------
@@ -231,7 +231,7 @@
private:
explicit MediaControlTimeRemainingDisplayElement(Document*);
- virtual const AtomicString& shadowPseudoId() const OVERRIDE;
+ virtual const AtomicString& part() const OVERRIDE;
};
// ----------------------------
@@ -242,7 +242,7 @@
private:
explicit MediaControlCurrentTimeDisplayElement(Document*);
- virtual const AtomicString& shadowPseudoId() const OVERRIDE;
+ virtual const AtomicString& part() const OVERRIDE;
};
// ----------------------------
@@ -257,7 +257,7 @@
private:
explicit MediaControlTextTrackContainerElement(Document*);
- virtual const AtomicString& shadowPseudoId() const OVERRIDE;
+ virtual const AtomicString& part() const OVERRIDE;
virtual RenderObject* createRenderer(RenderStyle*);
diff --git a/Source/core/html/shadow/MediaControls.cpp b/Source/core/html/shadow/MediaControls.cpp
index e562a0e..d14e0c5 100644
--- a/Source/core/html/shadow/MediaControls.cpp
+++ b/Source/core/html/shadow/MediaControls.cpp
@@ -331,7 +331,7 @@
m_hideFullscreenControlsTimer.stop();
}
-const AtomicString& MediaControls::shadowPseudoId() const
+const AtomicString& MediaControls::part() const
{
DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls"));
return id;
diff --git a/Source/core/html/shadow/MediaControls.h b/Source/core/html/shadow/MediaControls.h
index cb65516..130d03c 100644
--- a/Source/core/html/shadow/MediaControls.h
+++ b/Source/core/html/shadow/MediaControls.h
@@ -125,7 +125,7 @@
private:
virtual bool isMediaControls() const { return true; }
- virtual const AtomicString& shadowPseudoId() const;
+ virtual const AtomicString& part() const;
};
inline MediaControls* toMediaControls(Node* node)
diff --git a/Source/core/html/shadow/MeterShadowElement.cpp b/Source/core/html/shadow/MeterShadowElement.cpp
index 5c9fca5..f92d449 100644
--- a/Source/core/html/shadow/MeterShadowElement.cpp
+++ b/Source/core/html/shadow/MeterShadowElement.cpp
@@ -66,7 +66,7 @@
PassRefPtr<MeterInnerElement> MeterInnerElement::create(Document* document)
{
RefPtr<MeterInnerElement> element = adoptRef(new MeterInnerElement(document));
- element->setPseudo(AtomicString("-webkit-meter-inner-element", AtomicString::ConstructFromLiteral));
+ element->setPart(AtomicString("-webkit-meter-inner-element", AtomicString::ConstructFromLiteral));
return element.release();
}
@@ -92,7 +92,7 @@
PassRefPtr<MeterBarElement> MeterBarElement::create(Document* document)
{
RefPtr<MeterBarElement> element = adoptRef(new MeterBarElement(document));
- element->setPseudo(AtomicString("-webkit-meter-bar", AtomicString::ConstructFromLiteral));
+ element->setPart(AtomicString("-webkit-meter-bar", AtomicString::ConstructFromLiteral));
return element.release();
}
diff --git a/Source/core/html/shadow/MeterShadowElement.h b/Source/core/html/shadow/MeterShadowElement.h
index 381c74e..a314267 100644
--- a/Source/core/html/shadow/MeterShadowElement.h
+++ b/Source/core/html/shadow/MeterShadowElement.h
@@ -70,7 +70,7 @@
public:
static PassRefPtr<MeterValueElement> create(Document*);
void setWidthPercentage(double);
- void updatePseudo() { setPseudo(valuePseudoId()); }
+ void updatePseudo() { setPart(valuePseudoId()); }
private:
MeterValueElement(Document*);
diff --git a/Source/core/html/shadow/PasswordGeneratorButtonElement.cpp b/Source/core/html/shadow/PasswordGeneratorButtonElement.cpp
index 821c4d3..81b52fb 100644
--- a/Source/core/html/shadow/PasswordGeneratorButtonElement.cpp
+++ b/Source/core/html/shadow/PasswordGeneratorButtonElement.cpp
@@ -39,7 +39,7 @@
#include "core/dom/shadow/ShadowRoot.h"
#include "core/html/HTMLInputElement.h"
#include "core/html/shadow/HTMLShadowElement.h"
-#include "core/loader/cache/CachedImage.h"
+#include "core/loader/cache/ImageResource.h"
#include "core/page/Chrome.h"
#include "core/page/ChromeClient.h"
#include "core/page/Page.h"
@@ -112,9 +112,9 @@
if (!renderer() || !renderer()->isImage())
return;
RenderImageResource* resource = toRenderImage(renderer())->imageResource();
- CachedImage* image = m_isInHoverState ? imageForHoverState() : imageForNormalState();
+ ImageResource* image = m_isInHoverState ? imageForHoverState() : imageForNormalState();
ASSERT(image);
- resource->setCachedImage(image);
+ resource->setImageResource(image);
}
PassRefPtr<RenderStyle> PasswordGeneratorButtonElement::customStyleForRenderer()
@@ -142,20 +142,20 @@
updateImage();
}
-CachedImage* PasswordGeneratorButtonElement::imageForNormalState()
+ImageResource* PasswordGeneratorButtonElement::imageForNormalState()
{
if (!m_cachedImageForNormalState) {
RefPtr<Image> image = Image::loadPlatformResource("generatePassword");
- m_cachedImageForNormalState = new CachedImage(image.get());
+ m_cachedImageForNormalState = new ImageResource(image.get());
}
return m_cachedImageForNormalState.get();
}
-CachedImage* PasswordGeneratorButtonElement::imageForHoverState()
+ImageResource* PasswordGeneratorButtonElement::imageForHoverState()
{
if (!m_cachedImageForHoverState) {
RefPtr<Image> image = Image::loadPlatformResource("generatePasswordHover");
- m_cachedImageForHoverState = new CachedImage(image.get());
+ m_cachedImageForHoverState = new ImageResource(image.get());
}
return m_cachedImageForHoverState.get();
}
diff --git a/Source/core/html/shadow/PasswordGeneratorButtonElement.h b/Source/core/html/shadow/PasswordGeneratorButtonElement.h
index b9f654f..2032034 100644
--- a/Source/core/html/shadow/PasswordGeneratorButtonElement.h
+++ b/Source/core/html/shadow/PasswordGeneratorButtonElement.h
@@ -36,7 +36,7 @@
namespace WebCore {
-class CachedImage;
+class ImageResource;
class HTMLInputElement;
class ShadowRoot;
@@ -61,14 +61,14 @@
virtual bool isMouseFocusable() const OVERRIDE { return false; }
virtual void defaultEventHandler(Event*) OVERRIDE;
- CachedImage* imageForNormalState();
- CachedImage* imageForHoverState();
+ ImageResource* imageForNormalState();
+ ImageResource* imageForHoverState();
HTMLInputElement* hostInput();
void updateImage();
- ResourcePtr<CachedImage> m_cachedImageForNormalState;
- ResourcePtr<CachedImage> m_cachedImageForHoverState;
+ ResourcePtr<ImageResource> m_cachedImageForNormalState;
+ ResourcePtr<ImageResource> m_cachedImageForHoverState;
bool m_isInHoverState;
};
diff --git a/Source/core/html/shadow/PickerIndicatorElement.cpp b/Source/core/html/shadow/PickerIndicatorElement.cpp
index 96b4b5e..6fbb1cf 100644
--- a/Source/core/html/shadow/PickerIndicatorElement.cpp
+++ b/Source/core/html/shadow/PickerIndicatorElement.cpp
@@ -53,7 +53,7 @@
PassRefPtr<PickerIndicatorElement> PickerIndicatorElement::create(Document* document, PickerIndicatorOwner& pickerIndicatorOwner)
{
RefPtr<PickerIndicatorElement> element = adoptRef(new PickerIndicatorElement(document, pickerIndicatorOwner));
- element->setPseudo(AtomicString("-webkit-calendar-picker-indicator", AtomicString::ConstructFromLiteral));
+ element->setPart(AtomicString("-webkit-calendar-picker-indicator", AtomicString::ConstructFromLiteral));
element->setAttribute(idAttr, ShadowElementNames::pickerIndicator());
return element.release();
}
diff --git a/Source/core/html/shadow/ProgressShadowElement.cpp b/Source/core/html/shadow/ProgressShadowElement.cpp
index 7720f2f..c1bc2b7 100644
--- a/Source/core/html/shadow/ProgressShadowElement.cpp
+++ b/Source/core/html/shadow/ProgressShadowElement.cpp
@@ -60,13 +60,13 @@
: ProgressShadowElement(document)
{
DEFINE_STATIC_LOCAL(AtomicString, pseudoId, ("-webkit-progress-inner-element", AtomicString::ConstructFromLiteral));
- setPseudo(pseudoId);
+ setPart(pseudoId);
}
PassRefPtr<ProgressInnerElement> ProgressInnerElement::create(Document* document)
{
RefPtr<ProgressInnerElement> element = adoptRef(new ProgressInnerElement(document));
- element->setPseudo(AtomicString("-webkit-progress-inner-element", AtomicString::ConstructFromLiteral));
+ element->setPart(AtomicString("-webkit-progress-inner-element", AtomicString::ConstructFromLiteral));
return element.release();
}
diff --git a/Source/core/html/shadow/ProgressShadowElement.h b/Source/core/html/shadow/ProgressShadowElement.h
index b46a55a..8e02bdc 100644
--- a/Source/core/html/shadow/ProgressShadowElement.h
+++ b/Source/core/html/shadow/ProgressShadowElement.h
@@ -64,7 +64,7 @@
: ProgressShadowElement(document)
{
DEFINE_STATIC_LOCAL(AtomicString, pseudoId, ("-webkit-progress-bar", AtomicString::ConstructFromLiteral));
- setPseudo(pseudoId);
+ setPart(pseudoId);
}
static PassRefPtr<ProgressBarElement> create(Document*);
@@ -81,7 +81,7 @@
: ProgressShadowElement(document)
{
DEFINE_STATIC_LOCAL(AtomicString, pseudoId, ("-webkit-progress-value", AtomicString::ConstructFromLiteral));
- setPseudo(pseudoId);
+ setPart(pseudoId);
}
static PassRefPtr<ProgressValueElement> create(Document*);
diff --git a/Source/core/html/shadow/ShadowElementNames.cpp b/Source/core/html/shadow/ShadowElementNames.cpp
index 010474a..238be25 100644
--- a/Source/core/html/shadow/ShadowElementNames.cpp
+++ b/Source/core/html/shadow/ShadowElementNames.cpp
@@ -59,6 +59,12 @@
return name;
}
+const AtomicString& searchDecoration()
+{
+ DEFINE_STATIC_LOCAL(AtomicString, name, ("decoration", AtomicString::ConstructFromLiteral));
+ return name;
+}
+
}
}
diff --git a/Source/core/html/shadow/ShadowElementNames.h b/Source/core/html/shadow/ShadowElementNames.h
index 8198ec0..ed2f49c 100644
--- a/Source/core/html/shadow/ShadowElementNames.h
+++ b/Source/core/html/shadow/ShadowElementNames.h
@@ -41,6 +41,7 @@
const AtomicString& spinButton();
const AtomicString& clearButton();
const AtomicString& pickerIndicator();
+const AtomicString& searchDecoration();
}
diff --git a/Source/core/html/shadow/SliderThumbElement.cpp b/Source/core/html/shadow/SliderThumbElement.cpp
index e444df4..178307d 100644
--- a/Source/core/html/shadow/SliderThumbElement.cpp
+++ b/Source/core/html/shadow/SliderThumbElement.cpp
@@ -176,7 +176,7 @@
// Force a layout to reset the position of the thumb so the code below doesn't move the thumb to the wrong place.
// FIXME: Make a custom Render class for the track and move the thumb positioning code there.
if (track)
- track->setChildNeedsLayout(true, MarkOnlyThis);
+ track->setChildNeedsLayout(MarkOnlyThis);
RenderFlexibleBox::layout();
@@ -216,7 +216,7 @@
// path, we don't actually update the value here. Instead, we poke at the
// renderer directly to trigger layout.
if (renderer())
- renderer()->setNeedsLayout(true);
+ renderer()->setNeedsLayout();
}
RenderObject* SliderThumbElement::createRenderer(RenderStyle*)
@@ -252,15 +252,15 @@
void SliderThumbElement::setPositionFromPoint(const LayoutPoint& point)
{
- HTMLInputElement* input = hostInput();
- HTMLElement* trackElement = sliderTrackElementOf(input);
+ RefPtr<HTMLInputElement> input(hostInput());
+ HTMLElement* trackElement = sliderTrackElementOf(input.get());
if (!input->renderer() || !renderBox() || !trackElement->renderBox())
return;
input->setTextAsOfLastFormControlChangeEvent(input->value());
LayoutPoint offset = roundedLayoutPoint(input->renderer()->absoluteToLocal(point, UseTransforms));
- bool isVertical = hasVerticalAppearance(input);
+ bool isVertical = hasVerticalAppearance(input.get());
bool isLeftToRightDirection = renderBox()->style()->isLeftToRightDirection();
LayoutUnit trackSize;
LayoutUnit position;
@@ -307,7 +307,8 @@
// FIXME: This is no longer being set from renderer. Consider updating the method name.
input->setValueFromRenderer(valueString);
- renderer()->setNeedsLayout(true);
+ if (renderer())
+ renderer()->setNeedsLayout();
input->dispatchFormControlChangeEvent();
}
@@ -328,7 +329,7 @@
frame->eventHandler()->setCapturingMouseEventsNode(0);
m_inDragMode = false;
if (renderer())
- renderer()->setNeedsLayout(true);
+ renderer()->setNeedsLayout();
}
void SliderThumbElement::defaultEventHandler(Event* event)
@@ -403,23 +404,23 @@
return toHTMLInputElement(shadowHost());
}
-static const AtomicString& sliderThumbShadowPseudoId()
+static const AtomicString& sliderThumbShadowPartId()
{
DEFINE_STATIC_LOCAL(const AtomicString, sliderThumb, ("-webkit-slider-thumb", AtomicString::ConstructFromLiteral));
return sliderThumb;
}
-static const AtomicString& mediaSliderThumbShadowPseudoId()
+static const AtomicString& mediaSliderThumbShadowPartId()
{
DEFINE_STATIC_LOCAL(const AtomicString, mediaSliderThumb, ("-webkit-media-slider-thumb", AtomicString::ConstructFromLiteral));
return mediaSliderThumb;
}
-const AtomicString& SliderThumbElement::shadowPseudoId() const
+const AtomicString& SliderThumbElement::part() const
{
HTMLInputElement* input = hostInput();
if (!input)
- return sliderThumbShadowPseudoId();
+ return sliderThumbShadowPartId();
RenderStyle* sliderStyle = input->renderer()->style();
switch (sliderStyle->appearance()) {
@@ -429,9 +430,9 @@
case MediaVolumeSliderThumbPart:
case MediaFullScreenVolumeSliderPart:
case MediaFullScreenVolumeSliderThumbPart:
- return mediaSliderThumbShadowPseudoId();
+ return mediaSliderThumbShadowPartId();
default:
- return sliderThumbShadowPseudoId();
+ return sliderThumbShadowPartId();
}
}
@@ -452,7 +453,7 @@
return new RenderSliderContainer(this);
}
-const AtomicString& SliderContainerElement::shadowPseudoId() const
+const AtomicString& SliderContainerElement::part() const
{
DEFINE_STATIC_LOCAL(const AtomicString, mediaSliderContainer, ("-webkit-media-slider-container", AtomicString::ConstructFromLiteral));
DEFINE_STATIC_LOCAL(const AtomicString, sliderContainer, ("-webkit-slider-container", AtomicString::ConstructFromLiteral));
diff --git a/Source/core/html/shadow/SliderThumbElement.h b/Source/core/html/shadow/SliderThumbElement.h
index e6ddcf7..585c1d6 100644
--- a/Source/core/html/shadow/SliderThumbElement.h
+++ b/Source/core/html/shadow/SliderThumbElement.h
@@ -55,7 +55,7 @@
virtual bool willRespondToMouseMoveEvents() OVERRIDE;
virtual bool willRespondToMouseClickEvents() OVERRIDE;
virtual void detach(const AttachContext& = AttachContext()) OVERRIDE;
- virtual const AtomicString& shadowPseudoId() const;
+ virtual const AtomicString& part() const OVERRIDE;
HTMLInputElement* hostInput() const;
void setPositionFromPoint(const LayoutPoint&);
@@ -120,7 +120,7 @@
private:
SliderContainerElement(Document*);
virtual RenderObject* createRenderer(RenderStyle*);
- virtual const AtomicString& shadowPseudoId() const;
+ virtual const AtomicString& part() const;
};
}
diff --git a/Source/core/html/shadow/SpinButtonElement.cpp b/Source/core/html/shadow/SpinButtonElement.cpp
index 77a7c75..998f1d4 100644
--- a/Source/core/html/shadow/SpinButtonElement.cpp
+++ b/Source/core/html/shadow/SpinButtonElement.cpp
@@ -56,7 +56,7 @@
PassRefPtr<SpinButtonElement> SpinButtonElement::create(Document* document, SpinButtonOwner& spinButtonOwner)
{
RefPtr<SpinButtonElement> element = adoptRef(new SpinButtonElement(document, spinButtonOwner));
- element->setPseudo(AtomicString("-webkit-inner-spin-button", AtomicString::ConstructFromLiteral));
+ element->setPart(AtomicString("-webkit-inner-spin-button", AtomicString::ConstructFromLiteral));
element->setAttribute(idAttr, ShadowElementNames::spinButton());
return element.release();
}
diff --git a/Source/core/html/shadow/TextControlInnerElements.cpp b/Source/core/html/shadow/TextControlInnerElements.cpp
index 367c9bd..b1ff5c1 100644
--- a/Source/core/html/shadow/TextControlInnerElements.cpp
+++ b/Source/core/html/shadow/TextControlInnerElements.cpp
@@ -35,6 +35,7 @@
#include "core/dom/TextEvent.h"
#include "core/dom/TextEventInputType.h"
#include "core/html/HTMLInputElement.h"
+#include "core/html/shadow/ShadowElementNames.h"
#include "core/page/EventHandler.h"
#include "core/page/Frame.h"
#include "core/page/SpeechInput.h"
@@ -131,10 +132,12 @@
PassRefPtr<SearchFieldDecorationElement> SearchFieldDecorationElement::create(Document* document)
{
- return adoptRef(new SearchFieldDecorationElement(document));
+ RefPtr<SearchFieldDecorationElement> element = adoptRef(new SearchFieldDecorationElement(document));
+ element->setAttribute(idAttr, ShadowElementNames::searchDecoration());
+ return element.release();
}
-const AtomicString& SearchFieldDecorationElement::shadowPseudoId() const
+const AtomicString& SearchFieldDecorationElement::part() const
{
DEFINE_STATIC_LOCAL(AtomicString, resultsDecorationId, ("-webkit-search-results-decoration", AtomicString::ConstructFromLiteral));
DEFINE_STATIC_LOCAL(AtomicString, decorationId, ("-webkit-search-decoration", AtomicString::ConstructFromLiteral));
@@ -180,7 +183,8 @@
PassRefPtr<SearchFieldCancelButtonElement> SearchFieldCancelButtonElement::create(Document* document)
{
RefPtr<SearchFieldCancelButtonElement> element = adoptRef(new SearchFieldCancelButtonElement(document));
- element->setPseudo(AtomicString("-webkit-search-cancel-button", AtomicString::ConstructFromLiteral));
+ element->setPart(AtomicString("-webkit-search-cancel-button", AtomicString::ConstructFromLiteral));
+ element->setAttribute(idAttr, ShadowElementNames::clearButton());
return element.release();
}
@@ -268,7 +272,7 @@
PassRefPtr<InputFieldSpeechButtonElement> InputFieldSpeechButtonElement::create(Document* document)
{
RefPtr<InputFieldSpeechButtonElement> element = adoptRef(new InputFieldSpeechButtonElement(document));
- element->setPseudo(AtomicString("-webkit-input-speech-button", AtomicString::ConstructFromLiteral));
+ element->setPart(AtomicString("-webkit-input-speech-button", AtomicString::ConstructFromLiteral));
return element.release();
}
diff --git a/Source/core/html/shadow/TextControlInnerElements.h b/Source/core/html/shadow/TextControlInnerElements.h
index f3f6a8c..955b8f2 100644
--- a/Source/core/html/shadow/TextControlInnerElements.h
+++ b/Source/core/html/shadow/TextControlInnerElements.h
@@ -77,7 +77,7 @@
private:
SearchFieldDecorationElement(Document*);
- virtual const AtomicString& shadowPseudoId() const;
+ virtual const AtomicString& part() const OVERRIDE;
virtual bool supportsFocus() const OVERRIDE { return false; }
};