本文整理汇总了C++中HTMLDivElement::appendChild方法的典型用法代码示例。如果您正苦于以下问题:C++ HTMLDivElement::appendChild方法的具体用法?C++ HTMLDivElement::appendChild怎么用?C++ HTMLDivElement::appendChild使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HTMLDivElement
的用法示例。
在下文中一共展示了HTMLDivElement::appendChild方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: updateDisplay
void VTTCue::updateDisplay(const IntSize& videoSize, HTMLDivElement& container)
{
UseCounter::count(document(), UseCounter::VTTCueRender);
if (m_writingDirection != Horizontal)
UseCounter::count(document(), UseCounter::VTTCueRenderVertical);
if (!m_snapToLines)
UseCounter::count(document(), UseCounter::VTTCueRenderSnapToLinesFalse);
if (m_linePosition != undefinedPosition)
UseCounter::count(document(), UseCounter::VTTCueRenderLineNotAuto);
if (m_textPosition != 50)
UseCounter::count(document(), UseCounter::VTTCueRenderPositionNot50);
if (m_cueSize != 100)
UseCounter::count(document(), UseCounter::VTTCueRenderSizeNot100);
if (m_cueAlignment != Middle)
UseCounter::count(document(), UseCounter::VTTCueRenderAlignNotMiddle);
RefPtrWillBeRawPtr<VTTCueBox> displayBox = getDisplayTree(videoSize);
VTTRegion* region = 0;
if (track()->regions())
region = track()->regions()->getRegionById(regionId());
if (!region) {
// If cue has an empty text track cue region identifier or there is no
// WebVTT region whose region identifier is identical to cue's text
// track cue region identifier, run the following substeps:
if (displayBox->hasChildren() && !container.contains(displayBox.get())) {
// Note: the display tree of a cue is removed when the active flag of the cue is unset.
container.appendChild(displayBox);
}
} else {
// Let region be the WebVTT region whose region identifier
// matches the text track cue region identifier of cue.
RefPtrWillBeRawPtr<HTMLDivElement> regionNode = region->getDisplayTree(document());
// Append the region to the viewport, if it was not already.
if (!container.contains(regionNode.get()))
container.appendChild(regionNode);
region->appendVTTCueBox(displayBox);
}
}
示例2: createShadowSubtree
void RangeInputType::createShadowSubtree() {
DCHECK(element().shadow());
Document& document = element().document();
HTMLDivElement* track = HTMLDivElement::create(document);
track->setShadowPseudoId(AtomicString("-webkit-slider-runnable-track"));
track->setAttribute(idAttr, ShadowElementNames::sliderTrack());
track->appendChild(SliderThumbElement::create(document));
HTMLElement* container = SliderContainerElement::create(document);
container->appendChild(track);
element().userAgentShadowRoot()->appendChild(container);
container->setAttribute(styleAttr, "-webkit-appearance:inherit");
}
示例3: createAltTextShadowTree
void HTMLImageFallbackHelper::createAltTextShadowTree(Element& element) {
ShadowRoot& root = element.ensureUserAgentShadowRoot();
HTMLDivElement* container = HTMLDivElement::create(element.document());
root.appendChild(container);
container->setAttribute(idAttr, AtomicString("alttext-container"));
container->setInlineStyleProperty(CSSPropertyOverflow, CSSValueHidden);
container->setInlineStyleProperty(CSSPropertyBorderWidth, 1,
CSSPrimitiveValue::UnitType::Pixels);
container->setInlineStyleProperty(CSSPropertyBorderStyle, CSSValueSolid);
container->setInlineStyleProperty(CSSPropertyBorderColor, CSSValueSilver);
container->setInlineStyleProperty(CSSPropertyDisplay, CSSValueInlineBlock);
container->setInlineStyleProperty(CSSPropertyBoxSizing, CSSValueBorderBox);
container->setInlineStyleProperty(CSSPropertyPadding, 1,
CSSPrimitiveValue::UnitType::Pixels);
HTMLImageElement* brokenImage = HTMLImageElement::create(element.document());
container->appendChild(brokenImage);
brokenImage->setIsFallbackImage();
brokenImage->setAttribute(idAttr, AtomicString("alttext-image"));
brokenImage->setAttribute(widthAttr, AtomicString("16"));
brokenImage->setAttribute(heightAttr, AtomicString("16"));
brokenImage->setAttribute(alignAttr, AtomicString("left"));
brokenImage->setInlineStyleProperty(CSSPropertyMargin, 0,
CSSPrimitiveValue::UnitType::Pixels);
HTMLDivElement* altText = HTMLDivElement::create(element.document());
container->appendChild(altText);
altText->setAttribute(idAttr, AtomicString("alttext"));
altText->setInlineStyleProperty(CSSPropertyOverflow, CSSValueHidden);
altText->setInlineStyleProperty(CSSPropertyDisplay, CSSValueBlock);
Text* text =
Text::create(element.document(), toHTMLElement(element).altText());
altText->appendChild(text);
}
示例4: createDocumentStructure
void MediaDocumentParser::createDocumentStructure() {
DCHECK(document());
HTMLHtmlElement* rootElement = HTMLHtmlElement::create(*document());
document()->appendChild(rootElement);
rootElement->insertedByParser();
if (isDetached())
return; // runScriptsAtDocumentElementAvailable can detach the frame.
HTMLHeadElement* head = HTMLHeadElement::create(*document());
HTMLMetaElement* meta = HTMLMetaElement::create(*document());
meta->setAttribute(nameAttr, "viewport");
meta->setAttribute(contentAttr, "width=device-width");
head->appendChild(meta);
HTMLVideoElement* media = HTMLVideoElement::create(*document());
media->setAttribute(controlsAttr, "");
media->setAttribute(autoplayAttr, "");
media->setAttribute(nameAttr, "media");
HTMLSourceElement* source = HTMLSourceElement::create(*document());
source->setSrc(document()->url());
if (DocumentLoader* loader = document()->loader())
source->setType(loader->responseMIMEType());
media->appendChild(source);
HTMLBodyElement* body = HTMLBodyElement::create(*document());
body->setAttribute(styleAttr, "margin: 0px;");
document()->willInsertBody();
HTMLDivElement* div = HTMLDivElement::create(*document());
// Style sheets for media controls are lazily loaded until a media element is
// encountered. As a result, elements encountered before the media element
// will not get the right style at first if we put the styles in
// mediacontrols.css. To solve this issue, set the styles inline so that they
// will be applied when the page loads. See w3c example on how to centering
// an element: https://www.w3.org/Style/Examples/007/center.en.html
div->setAttribute(styleAttr,
"display: flex;"
"flex-direction: column;"
"justify-content: center;"
"align-items: center;"
"min-height: min-content;"
"height: 100%;");
HTMLContentElement* content = HTMLContentElement::create(*document());
div->appendChild(content);
if (RuntimeEnabledFeatures::mediaDocumentDownloadButtonEnabled()) {
HTMLAnchorElement* anchor = HTMLAnchorElement::create(*document());
anchor->setAttribute(downloadAttr, "");
anchor->setURL(document()->url());
anchor->setTextContent(
document()
->getCachedLocale(document()->contentLanguage())
.queryString(WebLocalizedString::DownloadButtonLabel)
.upper());
// Using CSS style according to Android material design.
anchor->setAttribute(
styleAttr,
"display: inline-block;"
"margin-top: 32px;"
"padding: 0 16px 0 16px;"
"height: 36px;"
"background: #000000;"
"-webkit-tap-highlight-color: rgba(255, 255, 255, 0.12);"
"font-family: Roboto;"
"font-size: 14px;"
"border-radius: 5px;"
"color: white;"
"font-weight: 500;"
"text-decoration: none;"
"line-height: 36px;");
EventListener* listener = MediaDownloadEventListener::create();
anchor->addEventListener(EventTypeNames::click, listener, false);
HTMLDivElement* buttonContainer = HTMLDivElement::create(*document());
buttonContainer->setAttribute(styleAttr,
"text-align: center;"
"height: 0;"
"flex: none");
buttonContainer->appendChild(anchor);
div->appendChild(buttonContainer);
recordDownloadMetric(MediaDocumentDownloadButtonShown);
}
// According to
// https://html.spec.whatwg.org/multipage/browsers.html#read-media,
// MediaDocument should have a single child which is the video element. Use
// shadow root to hide all the elements we added here.
ShadowRoot& shadowRoot = body->ensureUserAgentShadowRoot();
shadowRoot.appendChild(div);
body->appendChild(media);
rootElement->appendChild(head);
rootElement->appendChild(body);
m_didBuildDocumentStructure = true;
}