php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
style_element.c
Go to the documentation of this file.
1/*
2 * Copyright (C) 2018 Alexander Borisov
3 *
4 * Author: Alexander Borisov <borisov@lexbor.com>
5 */
6
9
10
13{
15
16 element = lexbor_mraw_calloc(document->dom_document.mraw,
18 if (element == NULL) {
19 return NULL;
20 }
21
23
26
27 return element;
28}
29
32{
33 lxb_css_stylesheet_t *sst = style_element->stylesheet;
34
36
37 if (sst != NULL) {
38#if 0
40#endif
41 }
42
43 return NULL;
44}
45
48{
49#if 0
50 lexbor_str_t *str;
52#endif
53 lxb_dom_node_t *node;
54
55 lxb_dom_document_t *ddoc = lxb_dom_interface_node(element)->owner_document;
57 lxb_html_document_css_t *css = &doc->css;
58
59 node = lxb_dom_interface_node(element);
60
61 if (node->first_child == NULL
63 || node->first_child != node->last_child)
64 {
65 return LXB_STATUS_OK;
66 }
67
68#if 0
69 text = lxb_dom_interface_text(lxb_dom_interface_node(element)->first_child);
70 str = &text->char_data.data;
71
72 element->stylesheet = lxb_css_stylesheet_parse(css->parser, str->data,
73 str->length);
74#endif
75 if (element->stylesheet == NULL) {
76 return css->parser->status;
77 }
78
79 element->stylesheet->element = element;
80
81 return LXB_STATUS_OK;
82}
83
@ LXB_STATUS_OK
Definition base.h:49
struct lxb_css_stylesheet lxb_css_stylesheet_t
Definition base.h:65
struct lxb_dom_document lxb_dom_document_t
Definition interface.h:41
#define lxb_dom_interface_node(obj)
Definition interface.h:31
struct lxb_dom_node lxb_dom_node_t
Definition interface.h:38
struct lxb_dom_text lxb_dom_text_t
Definition interface.h:46
#define lxb_dom_interface_text(obj)
Definition interface.h:34
@ LXB_DOM_NODE_TYPE_ELEMENT
Definition node.h:25
#define NULL
Definition gdcache.h:45
#define lxb_html_interface_document(obj)
Definition interface.h:20
struct lxb_html_style_element lxb_html_style_element_t
Definition interface.h:152
struct lxb_html_document lxb_html_document_t
Definition interface.h:95
lxb_inline lxb_dom_document_t * lxb_html_document_original_ref(lxb_html_document_t *document)
Definition document.h:218
lxb_dom_node_t * lxb_dom_node_interface_destroy(lxb_dom_node_t *node)
Definition node.c:124
lxb_status_t lxb_html_document_stylesheet_remove(lxb_html_document_t *document, lxb_css_stylesheet_t *sst)
Definition document.c:493
void * lexbor_mraw_calloc(lexbor_mraw_t *mraw, size_t size)
Definition mraw.c:227
unsigned const char * text
Definition php_ffi.h:53
lxb_char_t * data
Definition str.h:47
size_t length
Definition str.h:48
lxb_status_t status
Definition parser.h:177
lexbor_mraw_t * mraw
Definition document.h:53
lxb_dom_node_t * first_child
Definition node.h:55
lxb_dom_document_t * owner_document
Definition node.h:50
lxb_dom_node_t * last_child
Definition node.h:56
lxb_dom_node_type_t type
Definition node.h:59
uintptr_t local_name
Definition node.h:46
lxb_css_parser_t * parser
Definition document.h:46
lxb_html_document_css_t css
Definition document.h:65
lxb_dom_document_t dom_document
Definition document.h:58
lxb_css_stylesheet_t * stylesheet
lxb_status_t lxb_html_element_style_remove(lxb_html_style_element_t *style)
lxb_status_t lxb_html_style_element_parse(lxb_html_style_element_t *element)
lxb_html_style_element_t * lxb_html_style_element_interface_create(lxb_html_document_t *document)
lxb_html_style_element_t * lxb_html_style_element_interface_destroy(lxb_html_style_element_t *style_element)
LXB_API lxb_css_stylesheet_t * lxb_css_stylesheet_parse(lxb_css_parser_t *parser, const lxb_char_t *data, size_t length)
LXB_API lxb_css_stylesheet_t * lxb_css_stylesheet_destroy(lxb_css_stylesheet_t *sst, bool destroy_memory)
@ LXB_TAG__TEXT
Definition const.h:26
unsigned int lxb_status_t
Definition types.h:28
ZEND_API void(ZEND_FASTCALL *zend_touch_vm_stack_data)(void *vm_stack_data)