WebKit Bugzilla
Attachment 356486 Details for
Bug 178900
: [WPE] Add gtk-doc
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
patch for landing
bug-178900-20181204142056.patch (text/plain), 126.16 KB, created by
Carlos Bentzen
on 2018-12-04 05:20:57 PST
(
hide
)
Description:
patch for landing
Filename:
MIME Type:
Creator:
Carlos Bentzen
Created:
2018-12-04 05:20:57 PST
Size:
126.16 KB
patch
obsolete
>Subversion Revision: 238851 >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 31ee076a8eb605b5e939d0f1ef5a75920574ac78..987fb8cda2da9fea04032abd543bda3bb45105e2 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,22 @@ >+2018-11-21 Carlos Eduardo Ramalho <cadubentzen@gmail.com> >+ >+ [WPE] Add gtk-doc >+ https://bugs.webkit.org/show_bug.cgi?id=178900 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Add gtk-doc to WPE port. This patch tries to reuse as much code from >+ WebKitGTK+ as possible. >+ >+ * PlatformWPE.cmake: Write variables to gtkdoc-wpe.cfg and gtkdoc-webextensions that is used by python script later. >+ * UIProcess/API/wpe/WebKitWebContext.h: Placed sandbox functions in the same location as in the WebKitGTK+ for consistency. >+ * UIProcess/API/wpe/docs/wpe-0.1-sections.txt: Added. >+ * UIProcess/API/wpe/docs/wpe-docs.sgml: Added. >+ * WebProcess/InjectedBundle/API/wpe/WebKitWebPage.h: Placed webkit_web_page_get_dom_document >+ in the same position as in the WebKitGTK+ for consistency. >+ * WebProcess/InjectedBundle/API/wpe/docs/wpe-webextensions-0.1-sections.txt: Added. >+ * WebProcess/InjectedBundle/API/wpe/docs/wpe-webextensions-docs.sgml: Added. >+ > 2018-12-04 Carlos Garcia Campos <cgarcia@igalia.com> > > [SOUP] Move URLSoup back to WebCore after r238771 >diff --git a/Source/PlatformGTK.cmake b/Source/PlatformGTK.cmake >index 28841c20e98a7a52ce0d37de488fc980852aed8b..7942d57748f47232f77869a9473b895f4a3c506e 100644 >--- a/Source/PlatformGTK.cmake >+++ b/Source/PlatformGTK.cmake >@@ -1,3 +1,4 @@ >+include(GtkDoc) > include(WebKitDist) > > add_subdirectory(${WEBCORE_DIR}/platform/gtk/po) >@@ -25,18 +26,7 @@ if (ENABLE_GTKDOC) > ) > endif () > >-macro(ADD_GTKDOC_GENERATOR _stamp_name _extra_args) >- add_custom_command( >- OUTPUT "${CMAKE_BINARY_DIR}/${_stamp_name}" >- DEPENDS ${DocumentationDependencies} >- COMMAND ${CMAKE_COMMAND} -E env "CC=${CMAKE_C_COMPILER}" "CFLAGS=${CMAKE_C_FLAGS} -Wno-unused-parameter" ${CMAKE_SOURCE_DIR}/Tools/gtk/generate-gtkdoc ${_extra_args} >- COMMAND touch ${_stamp_name} >- WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" >- VERBATIM >- ) >-endmacro() >- >-ADD_GTKDOC_GENERATOR("docs-build.stamp" "") >+ADD_GTKDOC_GENERATOR("docs-build.stamp" "--gtk") > if (ENABLE_GTKDOC) > add_custom_target(gtkdoc ALL DEPENDS "${CMAKE_BINARY_DIR}/docs-build.stamp") > elseif (NOT ENABLED_COMPILER_SANITIZERS AND NOT CMAKE_CROSSCOMPILING AND NOT APPLE) >@@ -46,7 +36,7 @@ elseif (NOT ENABLED_COMPILER_SANITIZERS AND NOT CMAKE_CROSSCOMPILING AND NOT APP > # or errors. This is useful to prevent breaking documentation inadvertently during > # the course of development. > if (DEVELOPER_MODE) >- ADD_GTKDOC_GENERATOR("docs-build-no-html.stamp" "--skip-html") >+ ADD_GTKDOC_GENERATOR("docs-build-no-html.stamp" "--gtk;--skip-html") > add_custom_target(gtkdoc-no-html ALL DEPENDS "${CMAKE_BINARY_DIR}/docs-build-no-html.stamp") > endif () > endif () >diff --git a/Source/PlatformWPE.cmake b/Source/PlatformWPE.cmake >index 38642e0782cc33bf9475e6ee47ee977185357551..5a83266f14395d93117fe547815751710ea245cf 100644 >--- a/Source/PlatformWPE.cmake >+++ b/Source/PlatformWPE.cmake >@@ -1,7 +1,39 @@ >+include(GtkDoc) > include(WebKitDist) > >+list(APPEND DocumentationDependencies >+ WebKit >+ "${CMAKE_SOURCE_DIR}/Source/WebKit/UIProcess/API/wpe/docs/wpe-docs.sgml" >+ "${CMAKE_SOURCE_DIR}/Source/WebKit/WebProcess/InjectedBundle/API/wpe/docs/wpe-webextensions-docs.sgml" >+ "${CMAKE_SOURCE_DIR}/Source/WebKit/UIProcess/API/wpe/docs/wpe-${WPE_API_VERSION}-sections.txt" >+ "${CMAKE_SOURCE_DIR}/Source/WebKit/WebProcess/InjectedBundle/API/wpe/docs/wpe-webextensions-${WPE_API_VERSION}-sections.txt" >+) >+ >+if (ENABLE_GTKDOC) >+ install(DIRECTORY ${CMAKE_BINARY_DIR}/Documentation/wpe-${WPE_API_VERSION}/html/wpe-${WPE_API_VERSION} >+ DESTINATION "${CMAKE_INSTALL_DATADIR}/gtk-doc/html" >+ ) >+ install(DIRECTORY ${CMAKE_BINARY_DIR}/Documentation/wpe-webextensions-${WPE_API_VERSION}/html/wpe-webextensions-${WPE_API_VERSION} >+ DESTINATION "${CMAKE_INSTALL_DATADIR}/gtk-doc/html" >+ ) >+endif () >+ >+ADD_GTKDOC_GENERATOR("docs-build.stamp" "--wpe") >+if (ENABLE_GTKDOC) >+ add_custom_target(gtkdoc ALL DEPENDS "${CMAKE_BINARY_DIR}/docs-build.stamp") >+elseif (NOT ENABLED_COMPILER_SANITIZERS AND NOT CMAKE_CROSSCOMPILING AND NOT APPLE) >+ add_custom_target(gtkdoc DEPENDS "${CMAKE_BINARY_DIR}/docs-build.stamp") >+ >+ # Add a default build step which check that documentation does not have any warnings >+ # or errors. This is useful to prevent breaking documentation inadvertently during >+ # the course of development. >+ if (DEVELOPER_MODE) >+ ADD_GTKDOC_GENERATOR("docs-build-no-html.stamp" "--wpe;--skip-html") >+ add_custom_target(gtkdoc-no-html ALL DEPENDS "${CMAKE_BINARY_DIR}/docs-build-no-html.stamp") >+ endif () >+endif () >+ > if (DEVELOPER_MODE) >- # FIXME: This should depend on a gtkdoc target >- add_custom_target(Documentation) >+ add_custom_target(Documentation DEPENDS gtkdoc) > WEBKIT_DECLARE_DIST_TARGETS(WPE wpewebkit ${TOOLS_DIR}/wpe/manifest.txt.in) > endif () >diff --git a/Source/WebKit/PlatformWPE.cmake b/Source/WebKit/PlatformWPE.cmake >index 9ea7deee9e1da4aaf212f6d9dc6397f57981e12e..1f675c44e4c7459c005dd6781adb762a56a7ac37 100644 >--- a/Source/WebKit/PlatformWPE.cmake >+++ b/Source/WebKit/PlatformWPE.cmake >@@ -10,8 +10,8 @@ file(MAKE_DIRECTORY ${FORWARDING_HEADERS_WPE_EXTENSION_DIR}) > file(MAKE_DIRECTORY ${FORWARDING_HEADERS_WPE_DOM_DIR}) > > configure_file(UIProcess/API/wpe/WebKitVersion.h.in ${DERIVED_SOURCES_WPE_API_DIR}/WebKitVersion.h) >-configure_file(wpe/wpe-webkit.pc.in ${CMAKE_BINARY_DIR}/wpe-webkit-${WPE_API_VERSION}.pc @ONLY) >-configure_file(wpe/wpe-web-extension.pc.in ${CMAKE_BINARY_DIR}/wpe-web-extension-${WPE_API_VERSION}.pc @ONLY) >+configure_file(wpe/wpe-webkit.pc.in ${WPE_PKGCONFIG_FILE} @ONLY) >+configure_file(wpe/wpe-web-extension.pc.in ${WPEWebExtension_PKGCONFIG_FILE} @ONLY) > > add_definitions(-DWEBKIT2_COMPILATION) > >@@ -331,3 +331,42 @@ install(FILES ${WPE_API_INSTALLED_HEADERS} > DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/wpe-webkit-${WPE_API_VERSION}/wpe" > COMPONENT "Development" > ) >+ >+file(WRITE ${CMAKE_BINARY_DIR}/gtkdoc-wpe.cfg >+ "[wpe-${WPE_API_VERSION}]\n" >+ "pkgconfig_file=${WPE_PKGCONFIG_FILE}\n" >+ "decorator=WEBKIT_API|WEBKIT_DEPRECATED|WEBKIT_DEPRECATED_FOR\\(.+\\)\n" >+ "deprecation_guard=WEBKIT_DISABLE_DEPRECATED\n" >+ "namespace=webkit\n" >+ "cflags=-I${CMAKE_SOURCE_DIR}/Source\n" >+ " -I${WEBKIT_DIR}/Shared/API/glib\n" >+ " -I${WEBKIT_DIR}/UIProcess/API/glib\n" >+ " -I${WEBKIT_DIR}/UIProcess/API/wpe\n" >+ " -I${FORWARDING_HEADERS_WPE_DIR}\n" >+ "doc_dir=${WEBKIT_DIR}/UIProcess/API/wpe/docs\n" >+ "source_dirs=${WEBKIT_DIR}/Shared/API/glib\n" >+ " ${WEBKIT_DIR}/UIProcess/API/glib\n" >+ " ${WEBKIT_DIR}/UIProcess/API/wpe\n" >+ " ${DERIVED_SOURCES_WPE_API_DIR}\n" >+ "headers=${WPE_ENUM_GENERATION_HEADERS}\n" >+ "main_sgml_file=wpe-docs.sgml\n" >+) >+ >+file(WRITE ${CMAKE_BINARY_DIR}/gtkdoc-webextensions.cfg >+ "[wpe-webextensions-${WPE_API_VERSION}]\n" >+ "pkgconfig_file=${WPEWebExtension_PKGCONFIG_FILE}\n" >+ "decorator=WEBKIT_API|WEBKIT_DEPRECATED|WEBKIT_DEPRECATED_FOR\\(.+\\)\n" >+ "deprecation_guard=WEBKIT_DISABLE_DEPRECATED\n" >+ "namespace=webkit_webextensions\n" >+ "cflags=-I${CMAKE_SOURCE_DIR}/Source\n" >+ " -I${WEBKIT_DIR}/WebProcess/InjectedBundle/API/wpe\n" >+ " -I${WEBKIT_DIR}/WebProcess/InjectedBundle/API/wpe/DOM\n" >+ " -I${FORWARDING_HEADERS_WPE_DIR}\n" >+ "doc_dir=${WEBKIT_DIR}/WebProcess/InjectedBundle/API/wpe/docs\n" >+ "source_dirs=${WEBKIT_DIR}/WebProcess/InjectedBundle/API/glib\n" >+ " ${WEBKIT_DIR}/WebProcess/InjectedBundle/API/glib/DOM\n" >+ " ${WEBKIT_DIR}/WebProcess/InjectedBundle/API/wpe\n" >+ " ${WEBKIT_DIR}/WebProcess/InjectedBundle/API/wpe/DOM\n" >+ "headers=${WPE_WEB_EXTENSION_API_INSTALLED_HEADERS}\n" >+ "main_sgml_file=wpe-webextensions-docs.sgml\n" >+) >diff --git a/Source/WebKit/UIProcess/API/wpe/WebKitWebContext.h b/Source/WebKit/UIProcess/API/wpe/WebKitWebContext.h >index 0eb8f367de574793bb9b58c5e400440c10b79845..c1d493c98e94367f0473b449b839cae93308c0bb 100644 >--- a/Source/WebKit/UIProcess/API/wpe/WebKitWebContext.h >+++ b/Source/WebKit/UIProcess/API/wpe/WebKitWebContext.h >@@ -247,6 +247,13 @@ webkit_web_context_register_uri_scheme (WebKitWebContext > gpointer user_data, > GDestroyNotify user_data_destroy_func); > >+WEBKIT_API void >+webkit_web_context_set_sandbox_enabled (WebKitWebContext *context, >+ gboolean enabled); >+ >+WEBKIT_API gboolean >+webkit_web_context_get_sandbox_enabled (WebKitWebContext *context); >+ > WEBKIT_API gboolean > webkit_web_context_get_spell_checking_enabled (WebKitWebContext *context); > >@@ -297,13 +304,6 @@ WEBKIT_API WebKitProcessModel > webkit_web_context_get_process_model (WebKitWebContext *context); > > WEBKIT_API void >-webkit_web_context_set_sandbox_enabled (WebKitWebContext *context, >- gboolean enabled); >- >-WEBKIT_API gboolean >-webkit_web_context_get_sandbox_enabled (WebKitWebContext *context); >- >-WEBKIT_API void > webkit_web_context_initialize_notification_permissions > (WebKitWebContext *context, > GList *allowed_origins, >diff --git a/Source/WebKit/UIProcess/API/wpe/docs/wpe-0.1-sections.txt b/Source/WebKit/UIProcess/API/wpe/docs/wpe-0.1-sections.txt >new file mode 100644 >index 0000000000000000000000000000000000000000..14d13856320f4ee6cd3b401d549f0dca0bfe428e >--- /dev/null >+++ b/Source/WebKit/UIProcess/API/wpe/docs/wpe-0.1-sections.txt >@@ -0,0 +1,1307 @@ >+<SECTION> >+<FILE>WebKitWebContext</FILE> >+<TITLE>WebKitWebContext</TITLE> >+WebKitWebContext >+WebKitCacheModel >+WebKitProcessModel >+WebKitTLSErrorsPolicy >+WebKitNetworkProxyMode >+webkit_web_context_get_default >+webkit_web_context_new >+webkit_web_context_new_ephemeral >+webkit_web_context_new_with_website_data_manager >+webkit_web_context_is_ephemeral >+webkit_web_context_is_automation_allowed >+webkit_web_context_set_automation_allowed >+webkit_web_context_get_website_data_manager >+webkit_web_context_get_cache_model >+webkit_web_context_set_cache_model >+webkit_web_context_get_web_process_count_limit >+webkit_web_context_set_web_process_count_limit >+webkit_web_context_clear_cache >+webkit_web_context_set_network_proxy_settings >+webkit_web_context_download_uri >+webkit_web_context_get_cookie_manager >+webkit_web_context_get_favicon_database >+webkit_web_context_set_favicon_database_directory >+webkit_web_context_get_favicon_database_directory >+webkit_web_context_get_security_manager >+webkit_web_context_set_additional_plugins_directory >+webkit_web_context_get_plugins >+webkit_web_context_get_plugins_finish >+webkit_web_context_get_sandbox_enabled >+webkit_web_context_set_sandbox_enabled >+webkit_web_context_get_spell_checking_enabled >+webkit_web_context_set_spell_checking_enabled >+webkit_web_context_get_spell_checking_languages >+webkit_web_context_set_spell_checking_languages >+webkit_web_context_set_preferred_languages >+webkit_web_context_set_tls_errors_policy >+webkit_web_context_get_tls_errors_policy >+webkit_web_context_set_web_extensions_directory >+webkit_web_context_set_web_extensions_initialization_user_data >+webkit_web_context_prefetch_dns >+webkit_web_context_allow_tls_certificate_for_host >+webkit_web_context_get_process_model >+webkit_web_context_set_process_model >+webkit_web_context_initialize_notification_permissions >+ >+<SUBSECTION URI Scheme> >+WebKitURISchemeRequestCallback >+webkit_web_context_register_uri_scheme >+ >+<SUBSECTION Standard> >+WebKitWebContextClass >+WEBKIT_WEB_CONTEXT >+WEBKIT_IS_WEB_CONTEXT >+WEBKIT_TYPE_WEB_CONTEXT >+WEBKIT_WEB_CONTEXT_CLASS >+WEBKIT_IS_WEB_CONTEXT_CLASS >+WEBKIT_WEB_CONTEXT_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitWebContextPrivate >+webkit_web_context_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitUserContent</FILE> >+<TITLE>WebKitUserContent</TITLE> >+WebKitUserStyleSheet >+WebKitUserScript >+WebKitUserContentInjectedFrames >+WebKitUserStyleLevel >+WebKitUserScriptInjectionTime >+webkit_user_style_sheet_ref >+webkit_user_style_sheet_unref >+webkit_user_style_sheet_new >+webkit_user_style_sheet_new_for_world >+webkit_user_script_ref >+webkit_user_script_unref >+webkit_user_script_new >+webkit_user_script_new_for_world >+ >+<SUBSECTION Standard> >+WEBKIT_TYPE_USER_STYLE_SHEET >+WEBKIT_TYPE_USER_SCRIPT >+ >+<SUBSECTION Private> >+webkit_user_style_sheet_get_type >+webkit_user_script_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitUserContentManager</FILE> >+<TITLE>WebKitUserContentManager</TITLE> >+WebKitUserContentManager >+webkit_user_content_manager_new >+webkit_user_content_manager_add_style_sheet >+webkit_user_content_manager_remove_all_style_sheets >+webkit_user_content_manager_add_script >+webkit_user_content_manager_remove_all_scripts >+webkit_user_content_manager_register_script_message_handler >+webkit_user_content_manager_unregister_script_message_handler >+webkit_user_content_manager_register_script_message_handler_in_world >+webkit_user_content_manager_unregister_script_message_handler_in_world >+ >+<SUBSECTION Standard> >+WEBKIT_IS_USER_CONTENT_MANAGER >+WEBKIT_IS_USER_CONTENT_MANAGER_CLASS >+WEBKIT_TYPE_USER_CONTENT_MANAGER >+WEBKIT_USER_CONTENT_MANAGER >+WEBKIT_USER_CONTENT_MANAGER_CLASS >+WEBKIT_USER_CONTENT_MANAGER_GET_CLASS >+WebKitUserContentManagerClass >+ >+<SUBSECTION Private> >+WebKitUserContentManagerPrivate >+webkit_user_content_manager_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitWebView</FILE> >+<TITLE>WebKitWebView</TITLE> >+WebKitWebView >+WebKitLoadEvent >+WebKitPolicyDecisionType >+WebKitSaveMode >+WebKitInsecureContentEvent >+WebKitWebProcessTerminationReason >+ >+<SUBSECTION Editing Commands> >+WEBKIT_EDITING_COMMAND_CUT >+WEBKIT_EDITING_COMMAND_COPY >+WEBKIT_EDITING_COMMAND_PASTE >+WEBKIT_EDITING_COMMAND_SELECT_ALL >+WEBKIT_EDITING_COMMAND_UNDO >+WEBKIT_EDITING_COMMAND_REDO >+WEBKIT_EDITING_COMMAND_INSERT_IMAGE >+WEBKIT_EDITING_COMMAND_CREATE_LINK >+ >+<SUBSECTION> >+webkit_web_view_new >+webkit_web_view_new_with_context >+webkit_web_view_new_with_related_view >+webkit_web_view_new_with_settings >+webkit_web_view_new_with_user_content_manager >+webkit_web_view_get_backend >+webkit_web_view_is_ephemeral >+webkit_web_view_is_controlled_by_automation >+webkit_web_view_get_context >+webkit_web_view_get_user_content_manager >+webkit_web_view_get_website_data_manager >+webkit_web_view_try_close >+webkit_web_view_load_uri >+webkit_web_view_load_html >+webkit_web_view_load_alternate_html >+webkit_web_view_load_plain_text >+webkit_web_view_load_bytes >+webkit_web_view_load_request >+webkit_web_view_can_go_back >+webkit_web_view_go_back >+webkit_web_view_can_go_forward >+webkit_web_view_go_forward >+webkit_web_view_get_title >+webkit_web_view_get_page_id >+webkit_web_view_reload >+webkit_web_view_reload_bypass_cache >+webkit_web_view_stop_loading >+webkit_web_view_is_loading >+webkit_web_view_is_playing_audio >+webkit_web_view_get_estimated_load_progress >+webkit_web_view_get_custom_charset >+webkit_web_view_set_custom_charset >+webkit_web_view_get_back_forward_list >+webkit_web_view_go_to_back_forward_list_item >+webkit_web_view_get_uri >+webkit_web_view_set_settings >+webkit_web_view_get_settings >+webkit_web_view_get_window_properties >+webkit_web_view_set_zoom_level >+webkit_web_view_get_zoom_level >+webkit_web_view_can_execute_editing_command >+webkit_web_view_can_execute_editing_command_finish >+webkit_web_view_execute_editing_command >+webkit_web_view_execute_editing_command_with_argument >+webkit_web_view_get_find_controller >+webkit_web_view_run_javascript >+webkit_web_view_run_javascript_finish >+webkit_web_view_run_javascript_in_world >+webkit_web_view_run_javascript_in_world_finish >+webkit_web_view_run_javascript_from_gresource >+webkit_web_view_run_javascript_from_gresource_finish >+webkit_web_view_can_show_mime_type >+webkit_web_view_save >+webkit_web_view_save_finish >+webkit_web_view_save_to_file >+webkit_web_view_save_to_file_finish >+webkit_web_view_download_uri >+webkit_web_view_get_tls_info >+webkit_web_view_set_editable >+webkit_web_view_is_editable >+webkit_web_view_get_editor_state >+webkit_web_view_get_session_state >+webkit_web_view_restore_session_state >+webkit_web_view_get_main_resource >+ >+<SUBSECTION WebKitJavascriptResult> >+WebKitJavascriptResult >+webkit_javascript_result_ref >+webkit_javascript_result_unref >+webkit_javascript_result_get_js_value >+ >+<SUBSECTION WebKitScriptDialog> >+WebKitScriptDialog >+WebKitScriptDialogType >+webkit_script_dialog_ref >+webkit_script_dialog_unref >+webkit_script_dialog_get_dialog_type >+webkit_script_dialog_get_message >+webkit_script_dialog_confirm_set_confirmed >+webkit_script_dialog_prompt_get_default_text >+webkit_script_dialog_prompt_set_text >+webkit_script_dialog_close >+ >+<SUBSECTION WebKitWebViewSessionState> >+WebKitWebViewSessionState >+webkit_web_view_session_state_new >+webkit_web_view_session_state_ref >+webkit_web_view_session_state_unref >+webkit_web_view_session_state_serialize >+ >+<SUBSECTION Standard> >+WebKitWebViewClass >+WEBKIT_WEB_VIEW >+WEBKIT_IS_WEB_VIEW >+WEBKIT_TYPE_WEB_VIEW >+WEBKIT_WEB_VIEW_CLASS >+WEBKIT_IS_WEB_VIEW_CLASS >+WEBKIT_WEB_VIEW_GET_CLASS >+WEBKIT_TYPE_JAVASCRIPT_RESULT >+WEBKIT_TYPE_SCRIPT_DIALOG >+WEBKIT_TYPE_WEB_VIEW_SESSION_STATE >+ >+<SUBSECTION Private> >+webkit_web_view_get_type >+webkit_javascript_result_get_type >+webkit_script_dialog_get_type >+webkit_web_view_session_state_get_type >+WebKitWebViewPrivate >+WEBKIT_API >+WEBKIT_DEPRECATED >+WEBKIT_DEPRECATED_FOR >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitWebViewBackend</FILE> >+WEBKIT_TYPE_WEB_VIEW_BACKEND >+WebKitWebViewBackend >+webkit_web_view_backend_get_wpe_backend >+webkit_web_view_backend_new >+ >+<SUBSECTION Private> >+webkit_web_view_backend_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitAuthenticationRequest</FILE> >+WebKitAuthenticationRequest >+WebKitAuthenticationScheme >+webkit_authentication_request_authenticate >+webkit_authentication_request_cancel >+webkit_authentication_request_can_save_credentials >+webkit_authentication_request_get_host >+webkit_authentication_request_get_port >+webkit_authentication_request_is_retry >+webkit_authentication_request_get_proposed_credential >+webkit_authentication_request_get_realm >+webkit_authentication_request_get_scheme >+webkit_authentication_request_is_for_proxy >+ >+<SUBSECTION Standard> >+WebKitAuthenticationRequestClass >+WEBKIT_TYPE_AUTHENTICATION_REQUEST >+WEBKIT_AUTHENTICATION_REQUEST >+WEBKIT_AUTHENTICATION_REQUEST_CLASS >+WEBKIT_AUTHENTICATION_REQUEST_GET_CLASS >+WEBKIT_IS_AUTHENTICATION_REQUEST >+WEBKIT_IS_AUTHENTICATION_REQUEST_CLASS >+WEBKIT_TYPE_CREDENTIAL >+ >+<SUBSECTION Private> >+WebKitAuthenticationRequestPrivate >+webkit_authentication_request_get_type >+webkit_credential_get_type >+ >+<SUBSECTION> >+WebKitCredential >+WebKitCredentialPersistence >+webkit_credential_new >+webkit_credential_copy >+webkit_credential_free >+webkit_credential_get_password >+webkit_credential_get_persistence >+webkit_credential_get_username >+webkit_credential_has_password >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitBackForwardList</FILE> >+WebKitBackForwardList >+webkit_back_forward_list_get_length >+webkit_back_forward_list_get_current_item >+webkit_back_forward_list_get_back_item >+webkit_back_forward_list_get_forward_item >+webkit_back_forward_list_get_nth_item >+webkit_back_forward_list_get_back_list >+webkit_back_forward_list_get_back_list_with_limit >+webkit_back_forward_list_get_forward_list >+webkit_back_forward_list_get_forward_list_with_limit >+ >+<SUBSECTION Standard> >+WebKitBackForwardListClass >+WEBKIT_TYPE_BACK_FORWARD_LIST >+WEBKIT_BACK_FORWARD_LIST >+WEBKIT_IS_BACK_FORWARD_LIST >+WEBKIT_BACK_FORWARD_LIST_CLASS >+WEBKIT_IS_BACK_FORWARD_LIST_CLASS >+WEBKIT_BACK_FORWARD_LIST_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitBackForwardListPrivate >+webkit_back_forward_list_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitBackForwardListItem</FILE> >+WebKitBackForwardListItem >+webkit_back_forward_list_item_get_title >+webkit_back_forward_list_item_get_uri >+webkit_back_forward_list_item_get_original_uri >+ >+<SUBSECTION Standard> >+WebKitBackForwardListItemClass >+WEBKIT_TYPE_BACK_FORWARD_LIST_ITEM >+WEBKIT_BACK_FORWARD_LIST_ITEM >+WEBKIT_IS_BACK_FORWARD_LIST_ITEM >+WEBKIT_BACK_FORWARD_LIST_ITEM_CLASS >+WEBKIT_IS_BACK_FORWARD_LIST_ITEM_CLASS >+WEBKIT_BACK_FORWARD_LIST_ITEM_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitBackForwardListItemPrivate >+webkit_back_forward_list_item_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitSettings</FILE> >+WebKitSettings >+webkit_settings_new >+webkit_settings_new_with_settings >+webkit_settings_get_auto_load_images >+webkit_settings_set_auto_load_images >+webkit_settings_get_enable_frame_flattening >+webkit_settings_set_enable_frame_flattening >+webkit_settings_get_enable_html5_database >+webkit_settings_set_enable_html5_database >+webkit_settings_get_enable_html5_local_storage >+webkit_settings_set_enable_html5_local_storage >+webkit_settings_get_enable_hyperlink_auditing >+webkit_settings_set_enable_hyperlink_auditing >+webkit_settings_get_enable_java >+webkit_settings_set_enable_java >+webkit_settings_get_enable_javascript >+webkit_settings_set_enable_javascript >+webkit_settings_get_enable_offline_web_application_cache >+webkit_settings_set_enable_offline_web_application_cache >+webkit_settings_get_enable_plugins >+webkit_settings_set_enable_plugins >+webkit_settings_get_enable_xss_auditor >+webkit_settings_set_enable_xss_auditor >+webkit_settings_get_javascript_can_open_windows_automatically >+webkit_settings_set_javascript_can_open_windows_automatically >+webkit_settings_get_load_icons_ignoring_image_load_setting >+webkit_settings_set_load_icons_ignoring_image_load_setting >+webkit_settings_get_default_font_family >+webkit_settings_set_default_font_family >+webkit_settings_get_monospace_font_family >+webkit_settings_set_monospace_font_family >+webkit_settings_get_serif_font_family >+webkit_settings_set_serif_font_family >+webkit_settings_get_sans_serif_font_family >+webkit_settings_set_sans_serif_font_family >+webkit_settings_get_cursive_font_family >+webkit_settings_set_cursive_font_family >+webkit_settings_get_fantasy_font_family >+webkit_settings_set_fantasy_font_family >+webkit_settings_get_pictograph_font_family >+webkit_settings_set_pictograph_font_family >+webkit_settings_get_default_font_size >+webkit_settings_set_default_font_size >+webkit_settings_get_default_monospace_font_size >+webkit_settings_set_default_monospace_font_size >+webkit_settings_get_minimum_font_size >+webkit_settings_set_minimum_font_size >+webkit_settings_get_default_charset >+webkit_settings_set_default_charset >+webkit_settings_get_enable_developer_extras >+webkit_settings_set_enable_developer_extras >+webkit_settings_get_enable_resizable_text_areas >+webkit_settings_set_enable_resizable_text_areas >+webkit_settings_get_enable_tabs_to_links >+webkit_settings_set_enable_tabs_to_links >+webkit_settings_get_enable_dns_prefetching >+webkit_settings_set_enable_dns_prefetching >+webkit_settings_get_enable_caret_browsing >+webkit_settings_set_enable_caret_browsing >+webkit_settings_get_enable_fullscreen >+webkit_settings_set_enable_fullscreen >+webkit_settings_get_print_backgrounds >+webkit_settings_set_print_backgrounds >+webkit_settings_get_enable_webaudio >+webkit_settings_set_enable_webaudio >+webkit_settings_get_enable_webgl >+webkit_settings_set_enable_webgl >+webkit_settings_set_allow_modal_dialogs >+webkit_settings_get_allow_modal_dialogs >+webkit_settings_get_zoom_text_only >+webkit_settings_set_zoom_text_only >+webkit_settings_get_javascript_can_access_clipboard >+webkit_settings_set_javascript_can_access_clipboard >+webkit_settings_get_media_playback_requires_user_gesture >+webkit_settings_set_media_playback_requires_user_gesture >+webkit_settings_get_media_playback_allows_inline >+webkit_settings_set_media_playback_allows_inline >+webkit_settings_get_draw_compositing_indicators >+webkit_settings_set_draw_compositing_indicators >+webkit_settings_get_enable_site_specific_quirks >+webkit_settings_set_enable_site_specific_quirks >+webkit_settings_get_enable_page_cache >+webkit_settings_set_enable_page_cache >+webkit_settings_get_user_agent >+webkit_settings_set_user_agent >+webkit_settings_set_user_agent_with_application_details >+webkit_settings_get_enable_smooth_scrolling >+webkit_settings_set_enable_smooth_scrolling >+webkit_settings_get_enable_accelerated_2d_canvas >+webkit_settings_set_enable_accelerated_2d_canvas >+webkit_settings_get_enable_write_console_messages_to_stdout >+webkit_settings_set_enable_write_console_messages_to_stdout >+webkit_settings_get_enable_media_stream >+webkit_settings_set_enable_media_stream >+webkit_settings_get_enable_mock_capture_devices >+webkit_settings_set_enable_mock_capture_devices >+webkit_settings_get_enable_spatial_navigation >+webkit_settings_set_enable_spatial_navigation >+webkit_settings_get_enable_mediasource >+webkit_settings_set_enable_mediasource >+webkit_settings_get_enable_encrypted_media >+webkit_settings_set_enable_encrypted_media >+webkit_settings_get_enable_media_capabilities >+webkit_settings_set_enable_media_capabilities >+webkit_settings_get_allow_file_access_from_file_urls >+webkit_settings_set_allow_file_access_from_file_urls >+webkit_settings_get_allow_universal_access_from_file_urls >+webkit_settings_set_allow_universal_access_from_file_urls >+ >+<SUBSECTION Standard> >+WebKitSettingsClass >+WEBKIT_TYPE_SETTINGS >+WEBKIT_SETTINGS >+WEBKIT_IS_SETTINGS >+WEBKIT_SETTINGS_CLASS >+WEBKIT_IS_SETTINGS_CLASS >+WEBKIT_SETTINGS_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitSettingsPrivate >+webkit_settings_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitURIRequest</FILE> >+WebKitURIRequest >+webkit_uri_request_new >+webkit_uri_request_get_uri >+webkit_uri_request_set_uri >+webkit_uri_request_get_http_method >+webkit_uri_request_get_http_headers >+ >+<SUBSECTION Standard> >+WebKitURIRequestClass >+WEBKIT_TYPE_URI_REQUEST >+WEBKIT_URI_REQUEST >+WEBKIT_IS_URI_REQUEST >+WEBKIT_URI_REQUEST_CLASS >+WEBKIT_IS_URI_REQUEST_CLASS >+WEBKIT_URI_REQUEST_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitURIRequestPrivate >+webkit_uri_request_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitURIResponse</FILE> >+WebKitURIResponse >+webkit_uri_response_get_uri >+webkit_uri_response_get_status_code >+webkit_uri_response_get_content_length >+webkit_uri_response_get_mime_type >+webkit_uri_response_get_suggested_filename >+webkit_uri_response_get_http_headers >+ >+<SUBSECTION Standard> >+WebKitURIResponseClass >+WEBKIT_TYPE_URI_RESPONSE >+WEBKIT_URI_RESPONSE >+WEBKIT_IS_URI_RESPONSE >+WEBKIT_URI_RESPONSE_CLASS >+WEBKIT_IS_URI_RESPONSE_CLASS >+WEBKIT_URI_RESPONSE_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitURIResponsePrivate >+webkit_uri_response_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitWindowProperties</FILE> >+WebKitWindowProperties >+webkit_window_properties_get_toolbar_visible >+webkit_window_properties_get_statusbar_visible >+webkit_window_properties_get_scrollbars_visible >+webkit_window_properties_get_menubar_visible >+webkit_window_properties_get_locationbar_visible >+webkit_window_properties_get_resizable >+webkit_window_properties_get_fullscreen >+ >+<SUBSECTION Standard> >+WebKitWindowPropertiesClass >+WEBKIT_TYPE_WINDOW_PROPERTIES >+WEBKIT_WINDOW_PROPERTIES >+WEBKIT_IS_WINDOW_PROPERTIES >+WEBKIT_WINDOW_PROPERTIES_CLASS >+WEBKIT_IS_WINDOW_PROPERTIES_CLASS >+WEBKIT_WINDOW_PROPERTIES_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitWindowPropertiesPrivate >+webkit_window_properties_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitDownload</FILE> >+WebKitDownload >+webkit_download_get_request >+webkit_download_get_destination >+webkit_download_set_destination >+webkit_download_get_response >+webkit_download_cancel >+webkit_download_get_estimated_progress >+webkit_download_get_elapsed_time >+webkit_download_get_received_data_length >+webkit_download_get_web_view >+webkit_download_get_allow_overwrite >+webkit_download_set_allow_overwrite >+ >+<SUBSECTION Standard> >+WebKitDownloadClass >+WEBKIT_TYPE_DOWNLOAD >+WEBKIT_DOWNLOAD >+WEBKIT_IS_DOWNLOAD >+WEBKIT_DOWNLOAD_CLASS >+WEBKIT_IS_DOWNLOAD_CLASS >+WEBKIT_DOWNLOAD_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitDownloadPrivate >+webkit_download_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitPermissionRequest</FILE> >+WebKitPermissionRequest >+webkit_permission_request_allow >+webkit_permission_request_deny >+ >+<SUBSECTION Standard> >+WebKitPermissionRequestIface >+WEBKIT_TYPE_PERMISSION_REQUEST >+WEBKIT_PERMISSION_REQUEST >+WEBKIT_IS_PERMISSION_REQUEST >+WEBKIT_PERMISSION_REQUEST_GET_IFACE >+ >+<SUBSECTION Private> >+webkit_permission_request_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitGeolocationPermissionRequest</FILE> >+WebKitGeolocationPermissionRequest >+ >+<SUBSECTION Standard> >+WebKitGeolocationPermissionRequestClass >+WEBKIT_TYPE_GEOLOCATION_PERMISSION_REQUEST >+WEBKIT_GEOLOCATION_PERMISSION_REQUEST >+WEBKIT_IS_GEOLOCATION_PERMISSION_REQUEST >+WEBKIT_GEOLOCATION_PERMISSION_REQUEST_CLASS >+WEBKIT_IS_GEOLOCATION_PERMISSION_REQUEST_CLASS >+WEBKIT_GEOLOCATION_PERMISSION_REQUEST_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitGeolocationPermissionRequestPrivate >+webkit_geolocation_permission_request_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitInstallMissingMediaPluginsPermissionRequest</FILE> >+WebKitInstallMissingMediaPluginsPermissionRequest >+webkit_install_missing_media_plugins_permission_request_get_description >+ >+<SUBSECTION Standard> >+WebKitInstallMissingMediaPluginsPermissionRequestClass >+WEBKIT_TYPE_INSTALL_MISSING_MEDIA_PLUGINS_PERMISSION_REQUEST >+WEBKIT_INSTALL_MISSING_MEDIA_PLUGINS_PERMISSION_REQUEST >+WEBKIT_IS_INSTALL_MISSING_MEDIA_PLUGINS_PERMISSION_REQUEST >+WEBKIT_INSTALL_MISSING_MEDIA_PLUGINS_PERMISSION_REQUEST_CLASS >+WEBKIT_IS_INSTALL_MISSING_MEDIA_PLUGINS_PERMISSION_REQUEST_CLASS >+WEBKIT_INSTALL_MISSING_MEDIA_PLUGINS_PERMISSION_REQUEST_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitInstallMissingMediaPluginsPermissionRequestPrivate >+webkit_install_missing_media_plugins_permission_request_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitDeviceInfoPermissionRequest</FILE> >+WebKitDeviceInfoPermissionRequest >+ >+<SUBSECTION Standard> >+WebKitDeviceInfoPermissionRequestClass >+WEBKIT_TYPE_DEVICE_INFO_PERMISSION_REQUEST >+WEBKIT_DEVICE_INFO_PERMISSION_REQUEST >+WEBKIT_IS_DEVICE_INFO_PERMISSION_REQUEST >+WEBKIT_DEVICE_INFO_PERMISSION_REQUEST_CLASS >+WEBKIT_IS_DEVICE_INFO_PERMISSION_REQUEST_CLASS >+WEBKIT_DEVICE_INFO_PERMISSION_REQUEST_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitDeviceInfoPermissionRequestPrivate >+webkit_device_info_permission_request_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitNavigationAction</FILE> >+WebKitNavigationAction >+webkit_navigation_action_copy >+webkit_navigation_action_free >+webkit_navigation_action_get_navigation_type >+webkit_navigation_action_get_mouse_button >+webkit_navigation_action_get_modifiers >+webkit_navigation_action_get_request >+webkit_navigation_action_is_user_gesture >+webkit_navigation_action_is_redirect >+ >+<SUBSECTION Standard> >+WEBKIT_TYPE_NAVIGATION_ACTION >+ >+<SUBSECTION Private> >+webkit_navigation_action_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitUserMediaPermissionRequest</FILE> >+WebKitUserMediaPermissionRequest >+webkit_user_media_permission_is_for_audio_device >+webkit_user_media_permission_is_for_video_device >+ >+<SUBSECTION Standard> >+WebKitUserMediaPermissionRequestClass >+WEBKIT_TYPE_USER_MEDIA_PERMISSION_REQUEST >+WEBKIT_USER_MEDIA_PERMISSION_REQUEST >+WEBKIT_IS_USER_MEDIA_PERMISSION_REQUEST >+WEBKIT_USER_MEDIA_PERMISSION_REQUEST_CLASS >+WEBKIT_IS_USER_MEDIA_PERMISSION_REQUEST_CLASS >+WEBKIT_USER_MEDIA_PERMISSION_REQUEST_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitUserMediaPermissionRequestPrivate >+webkit_user_media_permission_request_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitNotification</FILE> >+WebKitNotification >+webkit_notification_get_id >+webkit_notification_get_title >+webkit_notification_get_body >+webkit_notification_get_tag >+webkit_notification_close >+webkit_notification_clicked >+ >+<SUBSECTION Standard> >+WebKitNotificationClass >+WEBKIT_TYPE_NOTIFICATION >+WEBKIT_IS_NOTIFICATION >+WEBKIT_NOTIFICATION >+WEBKIT_NOTIFICATION_CLASS >+WEBKIT_IS_NOTIFICATION_CLASS >+WEBKIT_NOTIFICATION_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitNotificationPrivate >+webkit_notification_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitNotificationPermissionRequest</FILE> >+WebKitNotificationPermissionRequest >+ >+<SUBSECTION Standard> >+WebKitNotificationPermissionRequestClass >+WEBKIT_TYPE_NOTIFICATION_PERMISSION_REQUEST >+WEBKIT_NOTIFICATION_PERMISSION_REQUEST >+WEBKIT_IS_NOTIFICATION_PERMISSION_REQUEST >+WEBKIT_NOTIFICATION_PERMISSION_REQUEST_CLASS >+WEBKIT_IS_NOTIFICATION_PERMISSION_REQUEST_CLASS >+WEBKIT_NOTIFICATION_PERMISSION_REQUEST_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitNotificationPermissionRequestPrivate >+webkit_notification_permission_request_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitPolicyDecision</FILE> >+WebKitPolicyDecision >+webkit_policy_decision_download >+webkit_policy_decision_ignore >+webkit_policy_decision_use >+ >+<SUBSECTION Standard> >+WebKitPolicyDecisionClass >+WEBKIT_TYPE_POLICY_DECISION >+WEBKIT_POLICY_DECISION >+WEBKIT_IS_POLICY_DECISION >+WEBKIT_POLICY_DECISION_CLASS >+WEBKIT_IS_POLICY_DECISION_CLASS >+WEBKIT_POLICY_DECISION_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitPolicyDecisionPrivate >+webkit_policy_decision_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitNavigationPolicyDecision</FILE> >+WebKitNavigationPolicyDecision >+WebKitNavigationType >+webkit_navigation_policy_decision_get_navigation_action >+webkit_navigation_policy_decision_get_frame_name >+ >+<SUBSECTION Standard> >+WebKitNavigationPolicyDecisionClass >+WEBKIT_TYPE_NAVIGATION_POLICY_DECISION >+WEBKIT_NAVIGATION_POLICY_DECISION >+WEBKIT_IS_NAVIGATION_POLICY_DECISION >+WEBKIT_NAVIGATION_POLICY_DECISION_CLASS >+WEBKIT_IS_NAVIGATION_POLICY_DECISION_CLASS >+WEBKIT_NAVIGATION_POLICY_DECISION_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitNavigationPolicyDecisionPrivate >+webkit_navigation_policy_decision_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitResponsePolicyDecision</FILE> >+WebKitResponsePolicyDecision >+webkit_response_policy_decision_get_request >+webkit_response_policy_decision_get_response >+webkit_response_policy_decision_is_mime_type_supported >+ >+<SUBSECTION Standard> >+WebKitResponsePolicyDecisionClass >+WEBKIT_TYPE_RESPONSE_POLICY_DECISION >+WEBKIT_RESPONSE_POLICY_DECISION >+WEBKIT_IS_RESPONSE_POLICY_DECISION >+WEBKIT_RESPONSE_POLICY_DECISION_CLASS >+WEBKIT_IS_RESPONSE_POLICY_DECISION_CLASS >+WEBKIT_RESPONSE_POLICY_DECISION_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitResponsePolicyDecisionPrivate >+webkit_response_policy_decision_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitHitTestResult</FILE> >+WebKitHitTestResult >+WebKitHitTestResultContext >+webkit_hit_test_result_get_context >+webkit_hit_test_result_context_is_link >+webkit_hit_test_result_context_is_image >+webkit_hit_test_result_context_is_media >+webkit_hit_test_result_context_is_editable >+webkit_hit_test_result_context_is_selection >+webkit_hit_test_result_context_is_scrollbar >+webkit_hit_test_result_get_link_uri >+webkit_hit_test_result_get_link_title >+webkit_hit_test_result_get_link_label >+webkit_hit_test_result_get_image_uri >+webkit_hit_test_result_get_media_uri >+ >+<SUBSECTION Standard> >+WebKitHitTestResultClass >+WEBKIT_TYPE_HIT_TEST_RESULT >+WEBKIT_HIT_TEST_RESULT >+WEBKIT_IS_HIT_TEST_RESULT >+WEBKIT_HIT_TEST_RESULT_CLASS >+WEBKIT_IS_HIT_TEST_RESULT_CLASS >+WEBKIT_HIT_TEST_RESULT_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitHitTestResultPrivate >+webkit_hit_test_result_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitEditorState</FILE> >+WebKitEditorState >+WebKitEditorTypingAttributes >+webkit_editor_state_get_typing_attributes >+webkit_editor_state_is_cut_available >+webkit_editor_state_is_copy_available >+webkit_editor_state_is_paste_available >+webkit_editor_state_is_undo_available >+webkit_editor_state_is_redo_available >+ >+<SUBSECTION Standard> >+WebKitEditorStateClass >+WEBKIT_TYPE_EDITOR_STATE >+WEBKIT_EDITOR_STATE >+WEBKIT_IS_EDITOR_STATE >+WEBKIT_EDITOR_STATE_CLASS >+WEBKIT_IS_EDITOR_STATE_CLASS >+WEBKIT_EDITOR_STATE_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitEditorStatePrivate >+webkit_editor_state_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitWebResource</FILE> >+WebKitWebResource >+webkit_web_resource_get_uri >+webkit_web_resource_get_response >+webkit_web_resource_get_data >+webkit_web_resource_get_data_finish >+ >+<SUBSECTION Standard> >+WebKitWebResourceClass >+WEBKIT_TYPE_WEB_RESOURCE >+WEBKIT_WEB_RESOURCE >+WEBKIT_IS_WEB_RESOURCE >+WEBKIT_WEB_RESOURCE_CLASS >+WEBKIT_IS_WEB_RESOURCE_CLASS >+WEBKIT_WEB_RESOURCE_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitWebResourcePrivate >+webkit_web_resource_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitError</FILE> >+WEBKIT_NETWORK_ERROR >+WEBKIT_PLUGIN_ERROR >+WEBKIT_POLICY_ERROR >+WEBKIT_DOWNLOAD_ERROR >+WEBKIT_JAVASCRIPT_ERROR >+WEBKIT_SNAPSHOT_ERROR >+WebKitNetworkError >+WebKitPluginError >+WebKitPolicyError >+WebKitDownloadError >+WebKitJavascriptError >+WebKitSnapshotError >+webkit_network_error_quark >+webkit_plugin_error_quark >+webkit_policy_error_quark >+webkit_download_error_quark >+webkit_javascript_error_quark >+webkit_snapshot_error_quark >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitFaviconDatabase</FILE> >+WebKitFaviconDatabase >+WEBKIT_FAVICON_DATABASE_ERROR >+WebKitFaviconDatabaseError >+webkit_favicon_database_get_favicon_uri >+webkit_favicon_database_clear >+ >+<SUBSECTION Standard> >+WebKitFaviconDatabaseClass >+WEBKIT_TYPE_FAVICON_DATABASE >+WEBKIT_FAVICON_DATABASE >+WEBKIT_IS_FAVICON_DATABASE >+WEBKIT_FAVICON_DATABASE_CLASS >+WEBKIT_IS_FAVICON_DATABASE_CLASS >+WEBKIT_FAVICON_DATABASE_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitFaviconDatabasePrivate >+webkit_favicon_database_get_type >+webkit_favicon_database_error_quark >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitFileChooserRequest</FILE> >+WebKitFileChooserRequest >+webkit_file_chooser_request_get_mime_types >+webkit_file_chooser_request_get_select_multiple >+webkit_file_chooser_request_select_files >+webkit_file_chooser_request_get_selected_files >+webkit_file_chooser_request_cancel >+ >+<SUBSECTION Standard> >+WebKitFileChooserRequestClass >+WEBKIT_TYPE_FILE_CHOOSER_REQUEST >+WEBKIT_FILE_CHOOSER_REQUEST >+WEBKIT_IS_FILE_CHOOSER_REQUEST >+WEBKIT_FILE_CHOOSER_REQUEST_CLASS >+WEBKIT_IS_FILE_CHOOSER_REQUEST_CLASS >+WEBKIT_FILE_CHOOSER_REQUEST_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitFileChooserRequestPrivate >+webkit_file_chooser_request_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitFindController</FILE> >+WebKitFindController >+WebKitFindOptions >+webkit_find_controller_search >+webkit_find_controller_search_finish >+webkit_find_controller_search_next >+webkit_find_controller_search_previous >+webkit_find_controller_get_search_text >+webkit_find_controller_count_matches >+webkit_find_controller_get_options >+webkit_find_controller_get_max_match_count >+webkit_find_controller_get_web_view >+ >+<SUBSECTION Standard> >+WebKitFindControllerClass >+WEBKIT_TYPE_FIND_CONTROLLER >+WEBKIT_FIND_CONTROLLER >+WEBKIT_IS_FIND_CONTROLLER >+WEBKIT_FIND_CONTROLLER_CLASS >+WEBKIT_IS_FIND_CONTROLLER_CLASS >+WEBKIT_FIND_CONTROLLER_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitFindControllerPrivate >+webkit_find_controller_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitCookieManager</FILE> >+WebKitCookieManager >+WebKitCookiePersistentStorage >+WebKitCookieAcceptPolicy >+webkit_cookie_manager_set_persistent_storage >+webkit_cookie_manager_set_accept_policy >+webkit_cookie_manager_get_accept_policy >+webkit_cookie_manager_get_accept_policy_finish >+webkit_cookie_manager_add_cookie >+webkit_cookie_manager_add_cookie_finish >+webkit_cookie_manager_get_cookies >+webkit_cookie_manager_get_cookies_finish >+webkit_cookie_manager_delete_cookie >+webkit_cookie_manager_delete_cookie_finish >+ >+<SUBSECTION Standard> >+WebKitCookieManagerClass >+WEBKIT_TYPE_COOKIE_MANAGER >+WEBKIT_COOKIE_MANAGER >+WEBKIT_IS_COOKIE_MANAGER >+WEBKIT_COOKIE_MANAGER_CLASS >+WEBKIT_IS_COOKIE_MANAGER_CLASS >+WEBKIT_COOKIE_MANAGER_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitCookieManagerPrivate >+webkit_cookie_manager_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitPlugin</FILE> >+WebKitPlugin >+webkit_plugin_get_name >+webkit_plugin_get_description >+webkit_plugin_get_path >+webkit_plugin_get_mime_info_list >+ >+<SUBSECTION WebKitMimeInfo> >+WebKitMimeInfo >+webkit_mime_info_ref >+webkit_mime_info_unref >+webkit_mime_info_get_mime_type >+webkit_mime_info_get_description >+webkit_mime_info_get_extensions >+ >+<SUBSECTION Standard> >+WebKitPluginClass >+WEBKIT_TYPE_PLUGIN >+WEBKIT_PLUGIN >+WEBKIT_IS_PLUGIN >+WEBKIT_PLUGIN_CLASS >+WEBKIT_IS_PLUGIN_CLASS >+WEBKIT_PLUGIN_GET_CLASS >+WEBKIT_TYPE_MIME_INFO >+ >+<SUBSECTION Private> >+webkit_plugin_get_type >+webkit_mime_info_get_type >+WebKitPluginPrivate >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitURISchemeRequest</FILE> >+WebKitURISchemeRequest >+webkit_uri_scheme_request_get_scheme >+webkit_uri_scheme_request_get_uri >+webkit_uri_scheme_request_get_path >+webkit_uri_scheme_request_get_web_view >+webkit_uri_scheme_request_finish >+webkit_uri_scheme_request_finish_error >+ >+<SUBSECTION Standard> >+WebKitURISchemeRequestClass >+WEBKIT_TYPE_URI_SCHEME_REQUEST >+WEBKIT_URI_SCHEME_REQUEST >+WEBKIT_IS_URI_SCHEME_REQUEST >+WEBKIT_URI_SCHEME_REQUEST_CLASS >+WEBKIT_IS_URI_SCHEME_REQUEST_CLASS >+WEBKIT_URI_SCHEME_REQUEST_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitURISchemeRequestPrivate >+webkit_uri_scheme_request_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitVersion</FILE> >+webkit_get_major_version >+webkit_get_minor_version >+webkit_get_micro_version >+ >+<SUBSECTION> >+WEBKIT_MAJOR_VERSION >+WEBKIT_MINOR_VERSION >+WEBKIT_MICRO_VERSION >+WEBKIT_CHECK_VERSION >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitContextMenu</FILE> >+WebKitContextMenu >+webkit_context_menu_new >+webkit_context_menu_new_with_items >+webkit_context_menu_prepend >+webkit_context_menu_append >+webkit_context_menu_insert >+webkit_context_menu_move_item >+webkit_context_menu_get_items >+webkit_context_menu_get_n_items >+webkit_context_menu_first >+webkit_context_menu_last >+webkit_context_menu_get_item_at_position >+webkit_context_menu_remove >+webkit_context_menu_remove_all >+webkit_context_menu_set_user_data >+webkit_context_menu_get_user_data >+ >+<SUBSECTION Standard> >+WebKitContextMenuClass >+WEBKIT_TYPE_CONTEXT_MENU >+WEBKIT_CONTEXT_MENU >+WEBKIT_IS_CONTEXT_MENU >+WEBKIT_CONTEXT_MENU_CLASS >+WEBKIT_IS_CONTEXT_MENU_CLASS >+WEBKIT_CONTEXT_MENU_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitContextMenuPrivate >+webkit_context_menu_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitContextMenuItem</FILE> >+WebKitContextMenuItem >+WebKitContextMenuAction >+webkit_context_menu_item_new_from_gaction >+webkit_context_menu_item_new_from_stock_action >+webkit_context_menu_item_new_from_stock_action_with_label >+webkit_context_menu_item_new_with_submenu >+webkit_context_menu_item_new_separator >+webkit_context_menu_item_get_gaction >+webkit_context_menu_item_get_stock_action >+webkit_context_menu_item_is_separator >+webkit_context_menu_item_set_submenu >+webkit_context_menu_item_get_submenu >+ >+<SUBSECTION Standard> >+WebKitContextMenuItemClass >+WEBKIT_TYPE_CONTEXT_MENU_ITEM >+WEBKIT_CONTEXT_MENU_ITEM >+WEBKIT_IS_CONTEXT_MENU_ITEM >+WEBKIT_CONTEXT_MENU_ITEM_CLASS >+WEBKIT_IS_CONTEXT_MENU_ITEM_CLASS >+WEBKIT_CONTEXT_MENU_ITEM_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitContextMenuItemPrivate >+webkit_context_menu_item_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitFormSubmissionRequest</FILE> >+WebKitFormSubmissionRequest >+webkit_form_submission_request_list_text_fields >+webkit_form_submission_request_submit >+ >+<SUBSECTION Standard> >+WebKitFormSubmissionRequestClass >+WEBKIT_TYPE_FORM_SUBMISSION_REQUEST >+WEBKIT_FORM_SUBMISSION_REQUEST >+WEBKIT_IS_FORM_SUBMISSION_REQUEST >+WEBKIT_FORM_SUBMISSION_REQUEST_CLASS >+WEBKIT_IS_FORM_SUBMISSION_REQUEST_CLASS >+WEBKIT_FORM_SUBMISSION_REQUEST_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitFormSubmissionRequestPrivate >+webkit_form_submission_request_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitSecurityManager</FILE> >+WebKitSecurityManager >+webkit_security_manager_register_uri_scheme_as_local >+webkit_security_manager_uri_scheme_is_local >+webkit_security_manager_register_uri_scheme_as_no_access >+webkit_security_manager_uri_scheme_is_no_access >+webkit_security_manager_register_uri_scheme_as_display_isolated >+webkit_security_manager_uri_scheme_is_display_isolated >+webkit_security_manager_register_uri_scheme_as_secure >+webkit_security_manager_uri_scheme_is_secure >+webkit_security_manager_register_uri_scheme_as_cors_enabled >+webkit_security_manager_uri_scheme_is_cors_enabled >+webkit_security_manager_register_uri_scheme_as_empty_document >+webkit_security_manager_uri_scheme_is_empty_document >+ >+<SUBSECTION Standard> >+WebKitSecurityManagerClass >+WEBKIT_TYPE_SECURITY_MANAGER >+WEBKIT_SECURITY_MANAGER >+WEBKIT_IS_SECURITY_MANAGER >+WEBKIT_SECURITY_MANAGER_CLASS >+WEBKIT_IS_SECURITY_MANAGER_CLASS >+WEBKIT_SECURITY_MANAGER_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitSecurityManagerPrivate >+webkit_security_manager_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitSecurityOrigin</FILE> >+WebKitSecurityOrigin >+webkit_security_origin_new >+webkit_security_origin_new_for_uri >+webkit_security_origin_ref >+webkit_security_origin_unref >+webkit_security_origin_get_protocol >+webkit_security_origin_get_host >+webkit_security_origin_get_port >+webkit_security_origin_is_opaque >+webkit_security_origin_to_string >+ >+<SUBSECTION Standard> >+WEBKIT_TYPE_SECURITY_ORIGIN >+ >+<SUBSECTION Private> >+webkit_security_origin_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitWebsiteDataManager</FILE> >+WebKitWebsiteDataManager >+webkit_website_data_manager_new >+webkit_website_data_manager_new_ephemeral >+webkit_website_data_manager_is_ephemeral >+webkit_website_data_manager_get_base_data_directory >+webkit_website_data_manager_get_base_cache_directory >+webkit_website_data_manager_get_local_storage_directory >+webkit_website_data_manager_get_disk_cache_directory >+webkit_website_data_manager_get_offline_application_cache_directory >+webkit_website_data_manager_get_indexeddb_directory >+webkit_website_data_manager_get_websql_directory >+webkit_website_data_manager_get_cookie_manager >+webkit_website_data_manager_fetch >+webkit_website_data_manager_fetch_finish >+webkit_website_data_manager_remove >+webkit_website_data_manager_remove_finish >+webkit_website_data_manager_clear >+webkit_website_data_manager_clear_finish >+ >+<SUBSECTION Standard> >+WebKitWebsiteDataManagerClass >+WEBKIT_TYPE_WEBSITE_DATA_MANAGER >+WEBKIT_WEBSITE_DATA_MANAGER >+WEBKIT_IS_WEBSITE_DATA_MANAGER >+WEBKIT_WEBSITE_DATA_MANAGER_CLASS >+WEBKIT_IS_WEBSITE_DATA_MANAGER_CLASS >+WEBKIT_WEBSITE_DATA_MANAGER_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitWebsiteDataManagerPrivate >+webkit_website_data_manager_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitWebsiteData</FILE> >+WebKitWebsiteData >+WebKitWebsiteDataTypes >+webkit_website_data_ref >+webkit_website_data_unref >+webkit_website_data_get_name >+webkit_website_data_get_types >+webkit_website_data_get_size >+ >+<SUBSECTION Standard> >+WEBKIT_TYPE_WEBSITE_DATA >+ >+<SUBSECTION Private> >+webkit_website_data_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitNetworkProxySettings</FILE> >+WebKitNetworkProxySettings >+webkit_network_proxy_settings_new >+webkit_network_proxy_settings_copy >+webkit_network_proxy_settings_free >+webkit_network_proxy_settings_add_proxy_for_scheme >+ >+<SUBSECTION Private> >+webkit_network_proxy_settings_get_type >+ >+<SUBSECTION Standard> >+WEBKIT_TYPE_NETWORK_NETWORK_PROXY_SETTINGS >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitAutomationSession</FILE> >+WebKitAutomationSession >+webkit_automation_session_get_id >+webkit_automation_session_set_application_info >+webkit_automation_session_get_application_info >+ >+<SUBSECTION Private> >+WebKitAutomationSessionPrivate >+webkit_automation_session_get_type >+ >+<SUBSECTION Standard> >+WebKitAutomationSessionClass >+WEBKIT_TYPE_AUTOMATION_SESSION >+WEBKIT_AUTOMATION_SESSION >+WEBKIT_IS_AUTOMATION_SESSION >+WEBKIT_AUTOMATION_SESSION_CLASS >+WEBKIT_IS_AUTOMATION_SESSION_CLASS >+WEBKIT_AUTOMATION_SESSION_GET_CLASS >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitApplicationInfo</FILE> >+WebKitApplicationInfo >+webkit_application_info_new >+webkit_application_info_ref >+webkit_application_info_unref >+webkit_application_info_set_name >+webkit_application_info_get_name >+webkit_application_info_set_version >+webkit_application_info_get_version >+ >+<SUBSECTION Private> >+webkit_application_info_get_type >+ >+<SUBSECTION Standard> >+WEBKIT_TYPE_APPLICATION_INFO >+</SECTION> >diff --git a/Source/WebKit/UIProcess/API/wpe/docs/wpe-docs.sgml b/Source/WebKit/UIProcess/API/wpe/docs/wpe-docs.sgml >new file mode 100644 >index 0000000000000000000000000000000000000000..d152566f61a24b48ab2f47e17e39425815ab7226 >--- /dev/null >+++ b/Source/WebKit/UIProcess/API/wpe/docs/wpe-docs.sgml >@@ -0,0 +1,79 @@ >+<?xml version="1.0"?> >+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" >+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [ >+<!ENTITY version SYSTEM "version.xml"> >+]> >+<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude"> >+ <bookinfo> >+ <title>WPE Reference Manual</title> >+ <releaseinfo>for WPE WebKit &version;</releaseinfo> >+ </bookinfo> >+ >+ <chapter> >+ <title>Class Overview</title> >+ <xi:include href="xml/WebKitWebContext.xml"/> >+ <xi:include href="xml/WebKitWebView.xml"/> >+ <xi:include href="xml/WebKitWebViewBackend.xml"/> >+ <xi:include href="xml/WebKitAuthenticationRequest.xml"/> >+ <xi:include href="xml/WebKitBackForwardList.xml"/> >+ <xi:include href="xml/WebKitBackForwardListItem.xml"/> >+ <xi:include href="xml/WebKitSettings.xml"/> >+ <xi:include href="xml/WebKitURIRequest.xml"/> >+ <xi:include href="xml/WebKitURIResponse.xml"/> >+ <xi:include href="xml/WebKitWindowProperties.xml"/> >+ <xi:include href="xml/WebKitDownload.xml"/> >+ <xi:include href="xml/WebKitPermissionRequest.xml"/> >+ <xi:include href="xml/WebKitGeolocationPermissionRequest.xml"/> >+ <xi:include href="xml/WebKitInstallMissingMediaPluginsPermissionRequest.xml"/> >+ <xi:include href="xml/WebKitNavigationAction.xml"/> >+ <xi:include href="xml/WebKitUserMediaPermissionRequest.xml"/> >+ <xi:include href="xml/WebKitPolicyDecision.xml"/> >+ <xi:include href="xml/WebKitNavigationPolicyDecision.xml"/> >+ <xi:include href="xml/WebKitResponsePolicyDecision.xml"/> >+ <xi:include href="xml/WebKitHitTestResult.xml"/> >+ <xi:include href="xml/WebKitEditorState.xml"/> >+ <xi:include href="xml/WebKitWebResource.xml"/> >+ <xi:include href="xml/WebKitError.xml"/> >+ <xi:include href="xml/WebKitFaviconDatabase.xml"/> >+ <xi:include href="xml/WebKitFileChooserRequest.xml"/> >+ <xi:include href="xml/WebKitFindController.xml"/> >+ <xi:include href="xml/WebKitCookieManager.xml"/> >+ <xi:include href="xml/WebKitPlugin.xml"/> >+ <xi:include href="xml/WebKitURISchemeRequest.xml"/> >+ <xi:include href="xml/WebKitContextMenu.xml"/> >+ <xi:include href="xml/WebKitContextMenuItem.xml"/> >+ <xi:include href="xml/WebKitFormSubmissionRequest.xml"/> >+ <xi:include href="xml/WebKitSecurityManager.xml"/> >+ <xi:include href="xml/WebKitUserContentManager.xml"/> >+ <xi:include href="xml/WebKitUserContent.xml"/> >+ <xi:include href="xml/WebKitNotification.xml"/> >+ <xi:include href="xml/WebKitNotificationPermissionRequest.xml"/> >+ <xi:include href="xml/WebKitSecurityOrigin.xml"/> >+ <xi:include href="xml/WebKitWebsiteDataManager.xml"/> >+ <xi:include href="xml/WebKitWebsiteData.xml"/> >+ <xi:include href="xml/WebKitNetworkProxySettings.xml"/> >+ <xi:include href="xml/WebKitAutomationSession.xml"/> >+ <xi:include href="xml/WebKitApplicationInfo.xml"/> >+ </chapter> >+ >+ <index id="index-all"> >+ <title>Index</title> >+ </index> >+ >+ <index id="api-index-deprecated" role="deprecated"> >+ <title>Index of deprecated symbols</title> >+ <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include> >+ </index> >+ >+ <index id="api-index-2-20" role="2.20"> >+ <title>Index of new symbols in 2.20</title> >+ <xi:include href="xml/api-index-2.20.xml"><xi:fallback /></xi:include> >+ </index> >+ >+ <index id="api-index-2-22" role="2.22"> >+ <title>Index of new symbols in 2.22</title> >+ <xi:include href="xml/api-index-2.22.xml"><xi:fallback /></xi:include> >+ </index> >+ >+ <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include> >+</book> >diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/wpe/WebKitWebPage.h b/Source/WebKit/WebProcess/InjectedBundle/API/wpe/WebKitWebPage.h >index 30e0f93358c1bdd9f11c841d6ecfc0fd1742c7d0..955f087e4f73f1fdf7e3b47970c6c1a1ee859a05 100644 >--- a/Source/WebKit/WebProcess/InjectedBundle/API/wpe/WebKitWebPage.h >+++ b/Source/WebKit/WebProcess/InjectedBundle/API/wpe/WebKitWebPage.h >@@ -74,6 +74,9 @@ struct _WebKitWebPageClass { > WEBKIT_API GType > webkit_web_page_get_type (void); > >+WEBKIT_API WebKitDOMDocument * >+webkit_web_page_get_dom_document (WebKitWebPage *web_page); >+ > WEBKIT_API guint64 > webkit_web_page_get_id (WebKitWebPage *web_page); > >@@ -86,9 +89,6 @@ webkit_web_page_get_main_frame (WebKitWebPage *web_page); > WEBKIT_API WebKitWebEditor * > webkit_web_page_get_editor (WebKitWebPage *web_page); > >-WEBKIT_API WebKitDOMDocument * >-webkit_web_page_get_dom_document (WebKitWebPage *web_page); >- > G_END_DECLS > > #endif >diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/wpe/docs/wpe-webextensions-0.1-sections.txt b/Source/WebKit/WebProcess/InjectedBundle/API/wpe/docs/wpe-webextensions-0.1-sections.txt >new file mode 100644 >index 0000000000000000000000000000000000000000..a1d6844ddcfec6690d8d1412b6aaa61c1f050a24 >--- /dev/null >+++ b/Source/WebKit/WebProcess/InjectedBundle/API/wpe/docs/wpe-webextensions-0.1-sections.txt >@@ -0,0 +1,245 @@ >+<SECTION> >+<FILE>webextensionsdefines</FILE> >+<TITLE>WebExtensionDefines</TITLE> >+<SUBSECTION Private> >+WEBKIT_API >+WEBKIT_DEPRECATED >+WEBKIT_DEPRECATED_FOR >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitWebExtension</FILE> >+WebKitWebExtension >+WebKitWebExtensionInitializeFunction >+WebKitWebExtensionInitializeWithUserDataFunction >+webkit_web_extension_get_page >+ >+<SUBSECTION Standard> >+WebKitWebExtensionClass >+WEBKIT_TYPE_WEB_EXTENSION >+WEBKIT_WEB_EXTENSION >+WEBKIT_IS_WEB_EXTENSION >+WEBKIT_WEB_EXTENSION_CLASS >+WEBKIT_IS_WEB_EXTENSION_CLASS >+WEBKIT_WEB_EXTENSION_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitWebExtensionPrivate >+webkit_web_extension_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitWebPage</FILE> >+WebKitWebPage >+WebKitFormSubmissionStep >+webkit_web_page_get_dom_document >+webkit_web_page_get_id >+webkit_web_page_get_uri >+webkit_web_page_get_main_frame >+webkit_web_page_get_editor >+ >+<SUBSECTION Standard> >+WebKitWebPageClass >+WEBKIT_TYPE_WEB_PAGE >+WEBKIT_WEB_PAGE >+WEBKIT_IS_WEB_PAGE >+WEBKIT_WEB_PAGE_CLASS >+WEBKIT_IS_WEB_PAGE_CLASS >+WEBKIT_WEB_PAGE_GET_CLASS >+WEBKIT_TYPE_FORM_SUBMISSION_STEP >+ >+<SUBSECTION Private> >+WebKitWebPagePrivate >+webkit_web_page_get_type >+webkit_form_submission_step_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitWebEditor</FILE> >+WebKitWebEditor >+webkit_web_editor_get_page >+ >+<SUBSECTION Standard> >+WebKitWebEditorClass >+WEBKIT_TYPE_WEB_EDITOR >+WEBKIT_WEB_EDITOR >+WEBKIT_IS_WEB_EDITOR >+WEBKIT_WEB_EDITOR_CLASS >+WEBKIT_IS_WEB_EDITOR_CLASS >+WEBKIT_WEB_EDITOR_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitWebEditorPrivate >+webkit_web_editor_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitFrame</FILE> >+WebKitFrame >+webkit_frame_is_main_frame >+webkit_frame_get_uri >+webkit_frame_get_js_context >+webkit_frame_get_js_context_for_script_world >+webkit_frame_get_js_value_for_dom_object >+webkit_frame_get_js_value_for_dom_object_in_script_world >+ >+<SUBSECTION Standard> >+WebKitFrameClass >+WEBKIT_TYPE_FRAME >+WEBKIT_FRAME >+WEBKIT_IS_FRAME >+WEBKIT_FRAME_CLASS >+WEBKIT_IS_FRAME_CLASS >+WEBKIT_FRAME_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitFramePrivate >+webkit_frame_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitScriptWorld</FILE> >+WebKitScriptWorld >+webkit_script_world_get_default >+webkit_script_world_new >+webkit_script_world_new_with_name >+webkit_script_world_get_name >+ >+<SUBSECTION Standard> >+WebKitScriptWorldClass >+WEBKIT_TYPE_SCRIPT_WORLD >+WEBKIT_SCRIPT_WORLD >+WEBKIT_IS_SCRIPT_WORLD >+WEBKIT_SCRIPT_WORLD_CLASS >+WEBKIT_IS_SCRIPT_WORLD_CLASS >+WEBKIT_SCRIPT_WORLD_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitScriptWorldPrivate >+webkit_script_world_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitWebHitTestResult</FILE> >+WebKitWebHitTestResult >+webkit_web_hit_test_result_get_node >+ >+<SUBSECTION Standard> >+WebKitWebHitTestResultClass >+WEBKIT_TYPE_WEB_HIT_TEST_RESULT >+WEBKIT_WEB_HIT_TEST_RESULT >+WEBKIT_IS_WEB_HIT_TEST_RESULT >+WEBKIT_WEB_HIT_TEST_RESULT_CLASS >+WEBKIT_IS_WEB_HIT_TEST_RESULT_CLASS >+WEBKIT_WEB_HIT_TEST_RESULT_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitWebHitTestResultPrivate >+webkit_web_hit_test_result_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitConsoleMessage</FILE> >+WebKitConsoleMessage >+WebKitConsoleMessageSource >+WebKitConsoleMessageLevel >+webkit_console_message_copy >+webkit_console_message_free >+webkit_console_message_get_source >+webkit_console_message_get_level >+webkit_console_message_get_text >+webkit_console_message_get_line >+webkit_console_message_get_source_id >+ >+<SUBSECTION Standard> >+WEBKIT_TYPE_CONSOLE_MESSAGE >+WEBKIT_TYPE_CONSOLE_MESSAGE_LEVEL >+WEBKIT_TYPE_CONSOLE_MESSAGE_SOURCE >+ >+<SUBSECTION Private> >+webkit_console_message_get_type >+webkit_console_message_level_get_type >+webkit_console_message_source_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitDOMObject</FILE> >+<TITLE>WebKitDOMObject</TITLE> >+WebKitDOMObject >+ >+<SUBSECTION Standard> >+WebKitDOMObjectClass >+WEBKIT_DOM_TYPE_OBJECT >+WEBKIT_DOM_OBJECT >+WEBKIT_DOM_IS_OBJECT >+WEBKIT_DOM_OBJECT_CLASS >+WEBKIT_DOM_IS_OBJECT_CLASS >+WEBKIT_DOM_OBJECT_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitDOMObjectPrivate >+webkit_dom_object_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitDOMDocument</FILE> >+<TITLE>WebKitDOMDocument</TITLE> >+WebKitDOMDocument >+ >+<SUBSECTION Standard> >+WebKitDOMDocumentClass >+WEBKIT_DOM_TYPE_DOCUMENT >+WEBKIT_DOM_DOCUMENT >+WEBKIT_DOM_IS_DOCUMENT >+WEBKIT_DOM_DOCUMENT_CLASS >+WEBKIT_DOM_IS_DOCUMENT_CLASS >+WEBKIT_DOM_DOCUMENT_GET_CLASS >+ >+<SUBSECTION Private> >+webkit_dom_document_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitDOMElement</FILE> >+<TITLE>WebKitDOMElement</TITLE> >+WebKitDOMElement >+ >+webkit_dom_element_html_input_element_is_user_edited >+webkit_dom_element_html_input_element_get_auto_filled >+webkit_dom_element_html_input_element_set_auto_filled >+webkit_dom_element_html_input_element_set_editing_value >+ >+<SUBSECTION Standard> >+WebKitDOMElementClass >+WEBKIT_DOM_TYPE_ELEMENT >+WEBKIT_DOM_ELEMENT >+WEBKIT_DOM_IS_ELEMENT >+WEBKIT_DOM_ELEMENT_CLASS >+WEBKIT_DOM_IS_ELEMENT_CLASS >+WEBKIT_DOM_ELEMENT_GET_CLASS >+ >+<SUBSECTION Private> >+webkit_dom_element_get_type >+</SECTION> >+ >+<SECTION> >+<FILE>WebKitDOMNode</FILE> >+<TITLE>WebKitDOMNode</TITLE> >+WebKitDOMNode >+ >+webkit_dom_node_for_js_value >+ >+<SUBSECTION Standard> >+WebKitDOMNodeClass >+WEBKIT_DOM_TYPE_NODE >+WEBKIT_DOM_NODE >+WEBKIT_DOM_IS_NODE >+WEBKIT_DOM_NODE_CLASS >+WEBKIT_DOM_IS_NODE_CLASS >+WEBKIT_DOM_NODE_GET_CLASS >+ >+<SUBSECTION Private> >+WebKitDOMNodePrivate >+webkit_dom_node_get_type >+</SECTION> >+ >diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/wpe/docs/wpe-webextensions-docs.sgml b/Source/WebKit/WebProcess/InjectedBundle/API/wpe/docs/wpe-webextensions-docs.sgml >new file mode 100644 >index 0000000000000000000000000000000000000000..20202a6fb00c122446314b9b1ca829c553d11af0 >--- /dev/null >+++ b/Source/WebKit/WebProcess/InjectedBundle/API/wpe/docs/wpe-webextensions-docs.sgml >@@ -0,0 +1,51 @@ >+<?xml version="1.0"?> >+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" >+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [ >+<!ENTITY version SYSTEM "version.xml"> >+]> >+<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude"> >+ <bookinfo> >+ <title>WPE WebExtensions and DOM Reference Manual</title> >+ <releaseinfo>for WPE WebKit &version;</releaseinfo> >+ </bookinfo> >+ >+ <chapter> >+ <title>Web Extensions</title> >+ <xi:include href="xml/WebKitWebExtension.xml"/> >+ <xi:include href="xml/WebKitWebPage.xml"/> >+ <xi:include href="xml/WebKitFrame.xml"/> >+ <xi:include href="xml/WebKitScriptWorld.xml"/> >+ <xi:include href="xml/WebKitWebHitTestResult.xml"/> >+ <xi:include href="xml/WebKitWebEditor.xml"/> >+ <xi:include href="xml/WebKitConsoleMessage.xml"/> >+ </chapter> >+ >+ <chapter> >+ <title>WebKitDOM</title> >+ <xi:include href="xml/WebKitDOMObject.xml"/> >+ <xi:include href="xml/WebKitDOMDocument.xml"/> >+ <xi:include href="xml/WebKitDOMElement.xml"/> >+ <xi:include href="xml/WebKitDOMNode.xml"/> >+ </chapter> >+ >+ <index id="index-all"> >+ <title>Index</title> >+ </index> >+ >+ <index id="api-index-deprecated" role="deprecated"> >+ <title>Index of deprecated symbols</title> >+ <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include> >+ </index> >+ >+ <index id="api-index-2-20" role="2.20"> >+ <title>Index of new symbols in 2.20</title> >+ <xi:include href="xml/api-index-2.20.xml"><xi:fallback /></xi:include> >+ </index> >+ >+ <index id="api-index-2-22" role="2.22"> >+ <title>Index of new symbols in 2.22</title> >+ <xi:include href="xml/api-index-2.22.xml"><xi:fallback /></xi:include> >+ </index> >+ >+ <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include> >+</book> >diff --git a/Source/cmake/GtkDoc.cmake b/Source/cmake/GtkDoc.cmake >new file mode 100644 >index 0000000000000000000000000000000000000000..2ee05550b81442edbc673ce66e7d2b5af7be4bc8 >--- /dev/null >+++ b/Source/cmake/GtkDoc.cmake >@@ -0,0 +1,12 @@ >+# Calls scripts to generate documentation using GTK-Doc. >+# DocumentationDependencies variable must be set before calling this macro. >+macro(ADD_GTKDOC_GENERATOR _stamp_name _extra_args) >+ add_custom_command( >+ OUTPUT "${CMAKE_BINARY_DIR}/${_stamp_name}" >+ DEPENDS ${DocumentationDependencies} >+ COMMAND ${CMAKE_COMMAND} -E env "CC=${CMAKE_C_COMPILER}" "CFLAGS=${CMAKE_C_FLAGS} -Wno-unused-parameter" ${CMAKE_SOURCE_DIR}/Tools/gtkdoc/generate-gtkdoc ${_extra_args} >+ COMMAND touch ${_stamp_name} >+ WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" >+ VERBATIM >+ ) >+endmacro() >diff --git a/Source/cmake/OptionsWPE.cmake b/Source/cmake/OptionsWPE.cmake >index d259b014faefd8a1cfa3997ae6ab1e4823dc0b17..c7a259b99f54b77c9d5b0a1a6a1f63a91bb08f64 100644 >--- a/Source/cmake/OptionsWPE.cmake >+++ b/Source/cmake/OptionsWPE.cmake >@@ -43,6 +43,7 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_RTC PRIVATE ${ENABLE_EXPERIMENTAL_FE > # Public options specific to the WPE port. Do not add any options here unless > # there is a strong reason we should support changing the value of the option, > # and the option is not relevant to any other WebKit ports. >+WEBKIT_OPTION_DEFINE(ENABLE_GTKDOC "Whether or not to use generate gtkdoc." PUBLIC OFF) > WEBKIT_OPTION_DEFINE(USE_WOFF2 "Whether to enable support for WOFF2 Web Fonts." PUBLIC ON) > > # Private options specific to the WPE port. >@@ -134,6 +135,11 @@ SET_AND_EXPOSE_TO_BUILD(USE_COORDINATED_GRAPHICS TRUE) > SET_AND_EXPOSE_TO_BUILD(USE_COORDINATED_GRAPHICS_THREADED TRUE) > SET_AND_EXPOSE_TO_BUILD(USE_NICOSIA TRUE) > >+# Override the cached variable, gtk-doc does not really work when cross-building or building on Mac. >+if (CMAKE_CROSSCOMPILING OR APPLE) >+ set(ENABLE_GTKDOC OFF) >+endif () >+ > set(FORWARDING_HEADERS_DIR ${DERIVED_SOURCES_DIR}/ForwardingHeaders) > set(FORWARDING_HEADERS_WPE_DIR ${FORWARDING_HEADERS_DIR}/wpe) > set(FORWARDING_HEADERS_WPE_EXTENSION_DIR ${FORWARDING_HEADERS_DIR}/wpe-webextension) >@@ -142,4 +148,7 @@ set(DERIVED_SOURCES_JAVASCRIPCOREWPE_DIR ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/j > set(DERIVED_SOURCES_JAVASCRIPCORE_GLIB_API_DIR ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/javascriptcorewpe/jsc) > set(DERIVED_SOURCES_WPE_API_DIR ${DERIVED_SOURCES_WEBKIT_DIR}/wpe) > >+set(WPE_PKGCONFIG_FILE ${CMAKE_BINARY_DIR}/wpe-webkit-${WPE_API_VERSION}.pc) >+set(WPEWebExtension_PKGCONFIG_FILE ${CMAKE_BINARY_DIR}/wpe-web-extension-${WPE_API_VERSION}.pc) >+ > include(GStreamerChecks) >diff --git a/Tools/ChangeLog b/Tools/ChangeLog >index 94870bd0ba00742dbfa13ff4d9b4366eb30439ee..04bf53c234a233e59114c2306d45bd745cfcd517 100644 >--- a/Tools/ChangeLog >+++ b/Tools/ChangeLog >@@ -1,3 +1,23 @@ >+2018-11-21 Carlos Eduardo Ramalho <cadubentzen@gmail.com> >+ >+ [WPE] Add gtk-doc >+ https://bugs.webkit.org/show_bug.cgi?id=178900 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Add gtk-doc to WPE port. This patch tries to reuse as much code from >+ WebKitGTK+ as possible. >+ >+ * gtkdoc/generate-gtkdoc: Renamed from Tools/gtk/generate-gtkdoc. >+ (get_gtkdoc_module_paths): Add GDK and GTK only if building for GTK. >+ (prepare_environment_for_gtkdoc_generation): >+ (build_gtkdoc_for_wpe): Code to generate doc for WPE. >+ (build_gtkdoc_for_wkgtk): Code to generate doc for WebKitGTK+. Moved from main. >+ * gtkdoc/gtkdoc.py: Renamed from Tools/gtk/gtkdoc.py. >+ (GTKDoc.__init__): Initialized required variables according to pylint. >+ (GTKDoc.api_missing_documentation): >+ * wpe/install-dependencies: Add gtkdoc dependency. >+ > 2018-12-04 Carlos Garcia Campos <cgarcia@igalia.com> > > [SOUP] Move URLSoup back to WebCore after r238771 >diff --git a/Tools/gtk/generate-gtkdoc b/Tools/gtk/generate-gtkdoc >deleted file mode 100755 >index 45c23dfb12f1c893a26c8d3e7b3f0a4ca2a2b724..0000000000000000000000000000000000000000 >--- a/Tools/gtk/generate-gtkdoc >+++ /dev/null >@@ -1,221 +0,0 @@ >-#!/usr/bin/env python >-# Copyright (C) 2011 Igalia S.L. >-# >-# This library is free software; you can redistribute it and/or >-# modify it under the terms of the GNU Lesser General Public >-# License as published by the Free Software Foundation; either >-# version 2 of the License, or (at your option) any later version. >-# >-# This library is distributed in the hope that it will be useful, >-# but WITHOUT ANY WARRANTY; without even the implied warranty of >-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU >-# Lesser General Public License for more details. >-# >-# You should have received a copy of the GNU Lesser General Public >-# License along with this library; if not, write to the Free Software >-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA >- >-from __future__ import print_function >-from ConfigParser import SafeConfigParser >- >-import argparse >-import codecs >-import glob >-import gtkdoc >-import logging >-import os.path >-import sys >- >-top_level_directory = os.path.normpath(os.path.join(os.path.dirname(__file__), '..', '..')) >-sys.path.insert(0, os.path.join(top_level_directory, 'Tools', 'glib')) >-import common >- >-sys.stdout = codecs.getwriter("utf-8")(sys.stdout) >-sys.stderr = codecs.getwriter("utf-8")(sys.stderr) >- >-def configure_logging(verbose): >- level = logging.DEBUG if verbose else logging.INFO >- logger = logging.getLogger('gtkdoc') >- logger.setLevel(level) >- handler = logging.StreamHandler() >- handler.setLevel(level) >- logger.addHandler(handler) >- if level == logging.DEBUG: >- handler.setFormatter(logging.Formatter('[%(asctime)s] %(message)s')) >- else: >- handler.setFormatter(logging.Formatter('%(message)s')) >- >-def get_gtkdoc_module_paths(cross_reference_deps): >- dependent_packages = { >- 'glib-2.0' : ['glib', 'gobject', 'gio'], >- 'libsoup-2.4' : ['libsoup-2.4'], >- 'gdk-pixbuf-2.0': ['gdk-pixbuf'], >- 'gtk+-3.0' : ['gtk3', 'gdk3'] >- } >- >- paths = [] >- html_dir = os.path.join('share', 'gtk-doc', 'html') >- for package, modules in dependent_packages.iteritems(): >- prefix = common.prefix_of_pkg_config_file(package) >- if prefix is None: >- continue >- for module in modules: >- paths.append(os.path.join(prefix, html_dir, module)) >- >- for local_dep in cross_reference_deps: >- paths.append(common.build_path('Documentation', local_dep, 'html')) >- return paths >- >-def print_missing_api(generator): >- missing_api = generator.api_missing_documentation() >- if not missing_api: >- return >- print("\nThe following API are missing documentation:") >- for api in missing_api: >- print("\t{0}".format(api)) >- >-def files_to_ignore(source_dirs, headers_with_gtkdoc): >- """ >- Find files to ignore during documentation generation. We assume that if an >- implementation file exists for a header with gtkdoc (say webkitfoo.cpp for >- webkitfoo.h) we shouldn't ignore that file. Currently this holds true for all >- of the WebKit project. >- """ >- implementation_files = list(headers_with_gtkdoc) >- for header in headers_with_gtkdoc: >- def add_file_if_exists(filename): >- for dir in source_dirs: >- file = os.path.join(dir, filename) >- if os.path.isfile(file): >- implementation_files.append(os.path.abspath(file)) >- header_basename_without_extension = os.path.splitext(os.path.basename(header))[0] >- add_file_if_exists(header_basename_without_extension + ".cpp") >- add_file_if_exists(header_basename_without_extension + "Gtk.cpp") >- add_file_if_exists(header_basename_without_extension + ".c") >- >- def file_should_be_ignored(file): >- if os.path.splitext(file)[1] not in ['.h', '.c', '.cpp', '.cc']: >- return False # These files are ignored anyway. >- if not os.path.isfile(file): >- return True >- return os.path.abspath(file) not in implementation_files >- >- all_files = sum([[os.path.join(dir, file) for file in os.listdir(dir)] for dir in source_dirs], []) >- return filter(file_should_be_ignored, all_files) >- >-def get_generator_for_config(config_file, virtual_root, cross_reference_deps = []): >- if not os.path.isfile(config_file): >- return None >- >- config = SafeConfigParser() >- config.read(config_file) >- module_name = config.sections()[0] >- pkgconfig_file = config.get(module_name, 'pkgconfig_file') >- >- if not os.path.isfile(pkgconfig_file): >- return None >- >- source_dirs = config.get(module_name, 'source_dirs').replace(';', ' ').split() >- headers = [os.path.abspath(f) for f in config.get(module_name, 'headers').replace(';', ' ').split()] >- return gtkdoc.PkgConfigGTKDoc(pkgconfig_file, { >- 'decorator': config.get(module_name, 'decorator'), >- 'deprecation_guard': config.get(module_name, 'deprecation_guard'), >- 'library_path': common.library_build_path(), >- 'virtual_root': virtual_root, >- 'module_name': module_name, >- 'namespace': config.get(module_name, 'namespace'), >- 'doc_dir': config.get(module_name, 'doc_dir'), >- 'output_dir': common.build_path('Documentation', module_name), >- 'main_sgml_file': config.get(module_name, 'main_sgml_file'), >- 'source_dirs': source_dirs, >- 'headers': headers, >- 'cflags': " ".join(config.get(module_name, 'cflags').split()), >- 'cross_reference_deps': get_gtkdoc_module_paths(cross_reference_deps), >- 'ignored_files': files_to_ignore(source_dirs, headers), >- }) >- >-def generate_doc(generator, skip_html): >- generator.generate(not skip_html) >- if generator.saw_warnings: >- print_missing_api(generator) >- return generator.saw_warnings >- >-def rebase_doc(generator): >- try: >- generator.rebase_installed_docs() >- except Exception: >- print("Rebase did not happen, likely no documentation is present.") >- >-def generate_documentation(generator): >- if not arguments.rebase: >- return generate_doc(generator, arguments.skip_html) >- >- rebase_doc(generator) >- return False >- >-def prepare_environment_for_gtkdoc_generation(): >- # We need to add the JavaScriptCore build directory to the PKG_CONFIG_PATH >- # so that pkgconfig can properly resolve the libjavascriptcore dependency. >- pkg_config_path = os.environ.get("PKG_CONFIG_PATH") >- os.environ['PKG_CONFIG_PATH'] = common.build_path('Source', 'JavaScriptCore') >- if pkg_config_path: >- os.environ['PKG_CONFIG_PATH'] += ':' + pkg_config_path >- >- # Newer versions of glib have deprecated g_type_init, so we need to disable >- # that warning when running gtkdoc-scanobj by overriding the CFLAGS we use >- # to compile it. >- cflags = os.environ.get('CFLAGS', '') >- cflags += ' -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_32' >- >- # In non-x86 architectures, when a pointer is cast to (void*) and >- # back, the compiler thinks that the alignment is random. Since >- # gtkdoc build is broken at any warning message, it is better to >- # silence these false positives. >- cflags += ' -Wno-cast-align' >- os.environ['CFLAGS'] = cflags >- >- # Paths from the GNUmakefile generated configuration files are relative to the build directory. >- os.chdir(common.build_path()) >- >-if __name__ == "__main__": >- parser = argparse.ArgumentParser(description='Generate gtkdoc for WebKit.') >- parser.add_argument('-v', '--verbose', action='store_true', >- help='Whether or not to run in verbose mode.') >- parser.add_argument('--rebase', action='store_true', >- help='When specified, run the tool in rebase mode.') >- parser.add_argument('--skip-html', action='store_true', >- help='Whether or not to skip HTML generation, which can be slow.') >- parser.add_argument('--virtual-root', type=str, default='', >- help='A temporary installation directory which is used as the root ' + \ >- 'where the actual installation prefix lives; this is mostly ' + \ >- 'useful for packagers, and should be set to what is given to ' + \ >- 'make install as DESTDIR.') >- >- arguments = parser.parse_args() >- configure_logging(arguments.verbose) >- >- prepare_environment_for_gtkdoc_generation() >- >- jsc_generator = get_generator_for_config(common.build_path('gtkdoc-jsc-glib.cfg'), arguments.virtual_root) >- if not jsc_generator: >- print("gtkdoc-jsc-glib.cfg does not exist! Skipping that documentation") >- sys.exit(1) >- saw_warnings = generate_documentation(jsc_generator) >- if saw_warnings: >- sys.exit(saw_warnings) >- >- webkitdom_generator = get_generator_for_config(common.build_path('gtkdoc-webkitdom.cfg'), arguments.virtual_root, [jsc_generator.module_name]) >- if not webkitdom_generator: >- print("gtkdoc-webkitdom.cfg does not exist! Skipping that documentation") >- sys.exit(1) >- saw_warnings = generate_documentation(webkitdom_generator) >- if saw_warnings: >- sys.exit(saw_warnings) >- >- webkit2_generator = get_generator_for_config(common.build_path('gtkdoc-webkit2gtk.cfg'), arguments.virtual_root, [webkitdom_generator.module_name, jsc_generator.module_name]) >- if not webkit2_generator: >- print("gtkdoc-webkit2gtk.cfg does not exist! Skipping that documentation") >- sys.exit(1) >- saw_warnings = generate_documentation(webkit2_generator) >- >- sys.exit(saw_warnings) >diff --git a/Tools/gtk/gtkdoc.py b/Tools/gtk/gtkdoc.py >deleted file mode 100644 >index f0a09f1687f44ea9de590ceefc4c321275da4a26..0000000000000000000000000000000000000000 >--- a/Tools/gtk/gtkdoc.py >+++ /dev/null >@@ -1,451 +0,0 @@ >-# Copyright (C) 2011 Igalia S.L. >-# >-# This library is free software; you can redistribute it and/or >-# modify it under the terms of the GNU Lesser General Public >-# License as published by the Free Software Foundation; either >-# version 2 of the License, or (at your option) any later version. >-# >-# This library is distributed in the hope that it will be useful, >-# but WITHOUT ANY WARRANTY; without even the implied warranty of >-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU >-# Lesser General Public License for more details. >-# >-# You should have received a copy of the GNU Lesser General Public >-# License along with this library; if not, write to the Free Software >-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA >- >-import codecs >-import errno >-import logging >-import os >-import os.path >-import subprocess >-import sys >- >- >-class GTKDoc(object): >- >- """Class that controls a gtkdoc run. >- >- Each instance of this class represents one gtkdoc configuration >- and set of documentation. The gtkdoc package is a series of tools >- run consecutively which converts inline C/C++ documentation into >- docbook files and then into HTML. This class is suitable for >- generating documentation or simply verifying correctness. >- >- Keyword arguments: >- output_dir -- The path where gtkdoc output should be placed. Generation >- may overwrite file in this directory. Required. >- module_name -- The name of the documentation module. For libraries this >- is typically the library name. Required if not library path >- is given. >- source_dirs -- A list of paths to directories of source code to be scanned. >- Required if headers is not specified. >- ignored_files -- A list of filenames to ignore in the source directory. It is >- only necessary to provide the basenames of these files. >- Typically it is important to provide an updated list of >- ignored files to prevent warnings about undocumented symbols. >- headers -- A list of paths to headers to be scanned. Required if source_dirs >- is not specified. >- namespace -- The library namespace. >- decorator -- If a decorator is used to unhide certain symbols in header >- files this parameter is required for successful scanning. >- (default '') >- deprecation_guard -- gtkdoc tries to ensure that symbols marked as deprecated >- are encased in this C preprocessor define. This is required >- to avoid gtkdoc warnings. (default '') >- cflags -- This parameter specifies any preprocessor flags necessary for >- building the scanner binary during gtkdoc-scanobj. Typically >- this includes all absolute include paths necessary to resolve >- all header dependencies. (default '') >- ldflags -- This parameter specifies any linker flags necessary for >- building the scanner binary during gtkdoc-scanobj. Typically >- this includes "-lyourlibraryname". (default '') >- library_path -- This parameter specifies the path to the directory where you >- library resides used for building the scanner binary during >- gtkdoc-scanobj. (default '') >- >- doc_dir -- The path to other documentation files necessary to build >- the documentation. This files in this directory as well as >- the files in the 'html' subdirectory will be copied >- recursively into the output directory. (default '') >- main_sgml_file -- The path or name (if a doc_dir is given) of the SGML file >- that is the considered the main page of your documentation. >- (default: <module_name>-docs.sgml) >- version -- The version number of the module. If this is provided, >- a version.xml file containing the version will be created >- in the output directory during documentation generation. >- >- interactive -- Whether or not errors or warnings should prompt the user >- to continue or not. When this value is false, generation >- will continue despite warnings. (default False) >- >- virtual_root -- A temporary installation directory which is used as the root >- where the actual installation prefix lives; this is mostly >- useful for packagers, and should be set to what is given to >- make install as DESTDIR. >- """ >- >- def __init__(self, args): >- >- # Parameters specific to scanning. >- self.module_name = '' >- self.source_dirs = [] >- self.headers = [] >- self.ignored_files = [] >- self.namespace = '' >- self.decorator = '' >- self.deprecation_guard = '' >- >- # Parameters specific to gtkdoc-scanobj. >- self.cflags = '' >- self.ldflags = '' >- self.library_path = '' >- >- # Parameters specific to generation. >- self.output_dir = '' >- self.doc_dir = '' >- self.main_sgml_file = '' >- >- # Parameters specific to gtkdoc-fixxref. >- self.cross_reference_deps = [] >- >- self.interactive = False >- >- self.logger = logging.getLogger('gtkdoc') >- >- for key, value in iter(args.items()): >- setattr(self, key, value) >- >- if not getattr(self, 'output_dir'): >- raise Exception('output_dir not specified.') >- if not getattr(self, 'module_name'): >- raise Exception('module_name not specified.') >- if not getattr(self, 'source_dirs') and not getattr(self, 'headers'): >- raise Exception('Neither source_dirs nor headers specified.' % key) >- >- # Make all paths absolute in case we were passed relative paths, since >- # we change the current working directory when executing subcommands. >- self.output_dir = os.path.abspath(self.output_dir) >- self.source_dirs = [os.path.abspath(x) for x in self.source_dirs] >- self.headers = [os.path.abspath(x) for x in self.headers] >- if self.library_path: >- self.library_path = os.path.abspath(self.library_path) >- >- if not self.main_sgml_file: >- self.main_sgml_file = self.module_name + "-docs.sgml" >- >- def generate(self, html=True): >- self.saw_warnings = False >- >- self._copy_doc_files_to_output_dir(html) >- self._write_version_xml() >- self._run_gtkdoc_scan() >- self._run_gtkdoc_scangobj() >- self._run_gtkdoc_mkdb() >- >- if not html: >- return >- >- self._run_gtkdoc_mkhtml() >- self._run_gtkdoc_fixxref() >- >- def _delete_file_if_exists(self, path): >- if not os.access(path, os.F_OK | os.R_OK): >- return >- self.logger.debug('deleting %s', path) >- os.unlink(path) >- >- def _create_directory_if_nonexistent(self, path): >- try: >- os.makedirs(path) >- except OSError as error: >- if error.errno != errno.EEXIST: >- raise >- >- def _raise_exception_if_file_inaccessible(self, path): >- if not os.path.exists(path) or not os.access(path, os.R_OK): >- raise Exception("Could not access file at: %s" % path) >- >- def _output_has_warnings(self, outputs): >- for output in outputs: >- if output and output.find('warning'): >- return True >- return False >- >- def _ask_yes_or_no_question(self, question): >- if not self.interactive: >- return True >- >- question += ' [y/N] ' >- answer = None >- while answer != 'y' and answer != 'n' and answer != '': >- answer = raw_input(question).lower() >- return answer == 'y' >- >- def _run_command(self, args, env=None, cwd=None, print_output=True, ignore_warnings=False): >- if print_output: >- self.logger.debug("Running %s", args[0]) >- self.logger.debug("Full command args: %s", str(args)) >- >- process = subprocess.Popen(args, env=env, cwd=cwd, >- stdout=subprocess.PIPE, >- stderr=subprocess.PIPE) >- stdout, stderr = [b.decode("utf-8") for b in process.communicate()] >- >- if print_output: >- if stdout: >- try: >- sys.stdout.write(stdout.encode("utf-8")) >- except UnicodeDecodeError: >- sys.stdout.write(stdout) >- if stderr: >- try: >- sys.stderr.write(stderr.encode("utf-8")) >- except UnicodeDecodeError: >- sys.stderr.write(stderr) >- >- if process.returncode != 0: >- raise Exception('%s produced a non-zero return code %i' >- % (args[0], process.returncode)) >- >- if not ignore_warnings and ('warning' in stderr or 'warning' in stdout): >- self.saw_warnings = True >- if not self._ask_yes_or_no_question('%s produced warnings, ' >- 'try to continue?' % args[0]): >- raise Exception('%s step failed' % args[0]) >- >- return stdout.strip() >- >- def _copy_doc_files_to_output_dir(self, html=True): >- if not self.doc_dir: >- self.logger.info('Not copying any files from doc directory,' >- ' because no doc directory given.') >- return >- >- def copy_file_replacing_existing(src, dest): >- if os.path.isdir(src): >- self.logger.debug('skipped directory %s', src) >- return >- if not os.access(src, os.F_OK | os.R_OK): >- self.logger.debug('skipped unreadable %s', src) >- return >- >- self._delete_file_if_exists(dest) >- >- self.logger.debug('created %s', dest) >- try: >- os.link(src, dest) >- except OSError: >- os.symlink(src, dest) >- >- def copy_all_files_in_directory(src, dest): >- for path in os.listdir(src): >- copy_file_replacing_existing(os.path.join(src, path), >- os.path.join(dest, path)) >- >- self.logger.debug('Copying template files to output directory...') >- self._create_directory_if_nonexistent(self.output_dir) >- copy_all_files_in_directory(self.doc_dir, self.output_dir) >- >- def _write_version_xml(self): >- if not self.version: >- self.logger.info('No version specified, so not writing version.xml') >- return >- >- version_xml_path = os.path.join(self.output_dir, 'version.xml') >- src_version_xml_path = os.path.join(self.doc_dir, 'version.xml') >- >- # Don't overwrite version.xml if it was in the doc directory. >- if os.path.exists(version_xml_path) and \ >- os.path.exists(src_version_xml_path): >- return >- >- output_file = open(version_xml_path, 'w') >- output_file.write(self.version) >- output_file.close() >- >- def _ignored_files_basenames(self): >- return ' '.join([os.path.basename(x) for x in self.ignored_files]) >- >- def _run_gtkdoc_scan(self): >- args = ['gtkdoc-scan', >- '--module=%s' % self.module_name, >- '--rebuild-types'] >- >- if not self.headers: >- # Each source directory should be have its own "--source-dir=" prefix. >- args.extend(['--source-dir=%s' % path for path in self.source_dirs]) >- >- if self.decorator: >- args.append('--ignore-decorators=%s' % self.decorator) >- if self.deprecation_guard: >- args.append('--deprecated-guards=%s' % self.deprecation_guard) >- if self.output_dir: >- args.append('--output-dir=%s' % self.output_dir) >- >- # We only need to pass the list of ignored files if the we are not using an explicit list of headers. >- if not self.headers: >- # gtkdoc-scan wants the basenames of ignored headers, so strip the >- # dirname. Different from "--source-dir", the headers should be >- # specified as one long string. >- ignored_files_basenames = self._ignored_files_basenames() >- if ignored_files_basenames: >- args.append('--ignore-headers=%s' % ignored_files_basenames) >- >- if self.headers: >- args.extend(self.headers) >- >- self._run_command(args) >- >- def _run_gtkdoc_scangobj(self): >- env = os.environ >- ldflags = self.ldflags >- if self.library_path: >- additional_ldflags = '' >- for arg in env.get('LDFLAGS', '').split(' '): >- if arg.startswith('-L'): >- additional_ldflags = '%s %s' % (additional_ldflags, arg) >- ldflags = ' "-L%s" %s ' % (self.library_path, additional_ldflags) + ldflags >- current_ld_library_path = env.get('LD_LIBRARY_PATH') >- if current_ld_library_path: >- env['LD_LIBRARY_PATH'] = '%s:%s' % (self.library_path, current_ld_library_path) >- else: >- env['LD_LIBRARY_PATH'] = self.library_path >- >- if ldflags: >- env['LDFLAGS'] = '%s %s' % (ldflags, env.get('LDFLAGS', '')) >- if self.cflags: >- env['CFLAGS'] = '%s %s' % (self.cflags, env.get('CFLAGS', '')) >- >- if 'CFLAGS' in env: >- self.logger.debug('CFLAGS=%s', env['CFLAGS']) >- if 'LDFLAGS' in env: >- self.logger.debug('LDFLAGS %s', env['LDFLAGS']) >- self._run_command(['gtkdoc-scangobj', '--module=%s' % self.module_name], >- env=env, cwd=self.output_dir) >- >- def _run_gtkdoc_mkdb(self): >- sgml_file = os.path.join(self.output_dir, self.main_sgml_file) >- self._raise_exception_if_file_inaccessible(sgml_file) >- >- args = ['gtkdoc-mkdb', >- '--module=%s' % self.module_name, >- '--main-sgml-file=%s' % sgml_file, >- '--source-suffixes=h,c,cpp,cc', >- '--output-format=xml', >- '--sgml-mode'] >- >- if self.namespace: >- args.append('--name-space=%s' % self.namespace) >- >- ignored_files_basenames = self._ignored_files_basenames() >- if ignored_files_basenames: >- args.append('--ignore-files=%s' % ignored_files_basenames) >- >- # Each directory should be have its own "--source-dir=" prefix. >- args.extend(['--source-dir=%s' % path for path in self.source_dirs]) >- self._run_command(args, cwd=self.output_dir) >- >- def _run_gtkdoc_mkhtml(self): >- # gtkdoc-fixxref expects the paths to be html/modulename. >- html_dest_dir = os.path.join(self.output_dir, 'html', self.module_name) >- self._create_directory_if_nonexistent(html_dest_dir) >- if not os.path.isdir(html_dest_dir): >- raise Exception("%s is not a directory, could not generate HTML" >- % html_dest_dir) >- elif not os.access(html_dest_dir, os.X_OK | os.R_OK | os.W_OK): >- raise Exception("Could not access %s to generate HTML" >- % html_dest_dir) >- >- # gtkdoc-mkhtml expects the SGML path to be absolute. >- sgml_file = os.path.join(os.path.abspath(self.output_dir), >- self.main_sgml_file) >- self._raise_exception_if_file_inaccessible(sgml_file) >- >- self._run_command(['gtkdoc-mkhtml', self.module_name, sgml_file], >- cwd=html_dest_dir) >- >- def _run_gtkdoc_fixxref(self): >- args = ['gtkdoc-fixxref', >- '--module=%s' % self.module_name, >- '--module-dir=html/%s' % self.module_name] >- args.extend(['--extra-dir=%s' % extra_dir for extra_dir in self.cross_reference_deps]) >- self._run_command(args, cwd=self.output_dir, ignore_warnings=True) >- >- # gtkdoc-fixxref has some predefined links for which it always uses absolute paths. >- html_dir_prefix = os.path.join(self.virtual_root + self.prefix, 'share', 'gtk-doc', 'html') >- module_dir = os.path.join(self.output_dir, 'html', self.module_name) >- for entry in os.listdir(module_dir): >- if not entry.endswith('.html'): >- continue >- >- filename = os.path.join(module_dir, entry) >- contents = '' >- with codecs.open(filename, 'r', encoding='utf-8') as f: >- contents = f.read() >- >- if not html_dir_prefix in contents: >- continue >- >- tmp_filename = filename + '.new' >- new_contents = contents.replace(html_dir_prefix, '..') >- with codecs.open(tmp_filename, 'w', encoding='utf-8') as f: >- f.write(new_contents) >- >- os.rename(tmp_filename, filename) >- >- def rebase_installed_docs(self): >- if not os.path.isdir(self.output_dir): >- raise Exception("Tried to rebase documentation before generating it.") >- html_dir = os.path.join(self.virtual_root + self.prefix, 'share', 'gtk-doc', 'html', self.module_name) >- if not os.path.isdir(html_dir): >- return >- args = ['gtkdoc-rebase', >- '--relative', >- '--html-dir=%s' % html_dir] >- args.extend(['--other-dir=%s' % extra_dir for extra_dir in self.cross_reference_deps]) >- if self.virtual_root: >- args.extend(['--dest-dir=%s' % self.virtual_root]) >- self._run_command(args, cwd=self.output_dir) >- >- def api_missing_documentation(self): >- unused_doc_file = os.path.join(self.output_dir, self.module_name + "-unused.txt") >- if not os.path.exists(unused_doc_file) or not os.access(unused_doc_file, os.R_OK): >- return [] >- return open(unused_doc_file).read().splitlines() >- >-class PkgConfigGTKDoc(GTKDoc): >- >- """Class reads a library's pkgconfig file to guess gtkdoc parameters. >- >- Some gtkdoc parameters can be guessed by reading a library's pkgconfig >- file, including the cflags, ldflags and version parameters. If you >- provide these parameters as well, they will be appended to the ones >- guessed via the pkgconfig file. >- >- Keyword arguments: >- pkg_config_path -- Path to the pkgconfig file for the library. Required. >- """ >- >- def __init__(self, pkg_config_path, args): >- super(PkgConfigGTKDoc, self).__init__(args) >- >- pkg_config = os.environ.get('PKG_CONFIG', 'pkg-config') >- >- if not os.path.exists(pkg_config_path): >- raise Exception('Could not find pkg-config file at: %s' >- % pkg_config_path) >- >- self.cflags += " " + self._run_command([pkg_config, >- pkg_config_path, >- '--cflags'], print_output=False) >- self.ldflags += " " + self._run_command([pkg_config, >- pkg_config_path, >- '--libs'], print_output=False) >- self.version = self._run_command([pkg_config, >- pkg_config_path, >- '--modversion'], print_output=False) >- self.prefix = self._run_command([pkg_config, >- pkg_config_path, >- '--variable=prefix'], print_output=False) >diff --git a/Tools/gtkdoc/generate-gtkdoc b/Tools/gtkdoc/generate-gtkdoc >new file mode 100755 >index 0000000000000000000000000000000000000000..f280818f0c16dfae8d694692d5ee496e150b5c5f >--- /dev/null >+++ b/Tools/gtkdoc/generate-gtkdoc >@@ -0,0 +1,252 @@ >+#!/usr/bin/env python >+# Copyright (C) 2011 Igalia S.L. >+# >+# This library is free software; you can redistribute it and/or >+# modify it under the terms of the GNU Lesser General Public >+# License as published by the Free Software Foundation; either >+# version 2 of the License, or (at your option) any later version. >+# >+# This library is distributed in the hope that it will be useful, >+# but WITHOUT ANY WARRANTY; without even the implied warranty of >+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU >+# Lesser General Public License for more details. >+# >+# You should have received a copy of the GNU Lesser General Public >+# License along with this library; if not, write to the Free Software >+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA >+ >+from __future__ import print_function >+from ConfigParser import SafeConfigParser >+ >+import argparse >+import codecs >+import glob >+import gtkdoc >+import logging >+import os.path >+import sys >+ >+top_level_directory = os.path.normpath(os.path.join(os.path.dirname(__file__), '..', '..')) >+sys.path.insert(0, os.path.join(top_level_directory, 'Tools', 'glib')) >+import common >+ >+sys.stdout = codecs.getwriter("utf-8")(sys.stdout) >+sys.stderr = codecs.getwriter("utf-8")(sys.stderr) >+ >+def configure_logging(verbose): >+ level = logging.DEBUG if verbose else logging.INFO >+ logger = logging.getLogger('gtkdoc') >+ logger.setLevel(level) >+ handler = logging.StreamHandler() >+ handler.setLevel(level) >+ logger.addHandler(handler) >+ if level == logging.DEBUG: >+ handler.setFormatter(logging.Formatter('[%(asctime)s] %(message)s')) >+ else: >+ handler.setFormatter(logging.Formatter('%(message)s')) >+ >+def get_gtkdoc_module_paths(cross_reference_deps): >+ dependent_packages = { >+ 'glib-2.0' : ['glib', 'gobject', 'gio'], >+ 'libsoup-2.4' : ['libsoup-2.4'] >+ } >+ >+ if arguments.gtk: >+ dependent_packages['gdk-pixbuf-2.0'] = ['gdk-pixbuf'] >+ dependent_packages['gtk+-3.0'] = ['gtk3', 'gdk3'] >+ >+ paths = [] >+ html_dir = os.path.join('share', 'gtk-doc', 'html') >+ for package, modules in dependent_packages.iteritems(): >+ prefix = common.prefix_of_pkg_config_file(package) >+ if prefix is None: >+ continue >+ for module in modules: >+ paths.append(os.path.join(prefix, html_dir, module)) >+ >+ for local_dep in cross_reference_deps: >+ paths.append(common.build_path('Documentation', local_dep, 'html')) >+ return paths >+ >+def print_missing_api(generator): >+ missing_api = generator.api_missing_documentation() >+ if not missing_api: >+ return >+ print("\nThe following API are missing documentation:") >+ for api in missing_api: >+ print("\t{0}".format(api)) >+ >+def files_to_ignore(source_dirs, headers_with_gtkdoc): >+ """ >+ Find files to ignore during documentation generation. We assume that if an >+ implementation file exists for a header with gtkdoc (say webkitfoo.cpp for >+ webkitfoo.h) we shouldn't ignore that file. Currently this holds true for all >+ of the WebKit project. >+ """ >+ implementation_files = list(headers_with_gtkdoc) >+ for header in headers_with_gtkdoc: >+ def add_file_if_exists(filename): >+ for dir in source_dirs: >+ file = os.path.join(dir, filename) >+ if os.path.isfile(file): >+ implementation_files.append(os.path.abspath(file)) >+ header_basename_without_extension = os.path.splitext(os.path.basename(header))[0] >+ add_file_if_exists(header_basename_without_extension + ".cpp") >+ add_file_if_exists(header_basename_without_extension + "Gtk.cpp") >+ add_file_if_exists(header_basename_without_extension + ".c") >+ >+ def file_should_be_ignored(file): >+ if os.path.splitext(file)[1] not in ['.h', '.c', '.cpp', '.cc']: >+ return False # These files are ignored anyway. >+ if not os.path.isfile(file): >+ return True >+ return os.path.abspath(file) not in implementation_files >+ >+ all_files = sum([[os.path.join(dir, file) for file in os.listdir(dir)] for dir in source_dirs], []) >+ return filter(file_should_be_ignored, all_files) >+ >+def get_generator_for_config(config_file, virtual_root, cross_reference_deps = []): >+ if not os.path.isfile(config_file): >+ return None >+ >+ config = SafeConfigParser() >+ config.read(config_file) >+ module_name = config.sections()[0] >+ pkgconfig_file = config.get(module_name, 'pkgconfig_file') >+ >+ if not os.path.isfile(pkgconfig_file): >+ return None >+ >+ source_dirs = config.get(module_name, 'source_dirs').replace(';', ' ').split() >+ headers = [os.path.abspath(f) for f in config.get(module_name, 'headers').replace(';', ' ').split()] >+ return gtkdoc.PkgConfigGTKDoc(pkgconfig_file, { >+ 'decorator': config.get(module_name, 'decorator'), >+ 'deprecation_guard': config.get(module_name, 'deprecation_guard'), >+ 'library_path': common.library_build_path(), >+ 'virtual_root': virtual_root, >+ 'module_name': module_name, >+ 'namespace': config.get(module_name, 'namespace'), >+ 'doc_dir': config.get(module_name, 'doc_dir'), >+ 'output_dir': common.build_path('Documentation', module_name), >+ 'main_sgml_file': config.get(module_name, 'main_sgml_file'), >+ 'source_dirs': source_dirs, >+ 'headers': headers, >+ 'cflags': " ".join(config.get(module_name, 'cflags').split()), >+ 'cross_reference_deps': get_gtkdoc_module_paths(cross_reference_deps), >+ 'ignored_files': files_to_ignore(source_dirs, headers), >+ }) >+ >+def generate_doc(generator, skip_html): >+ generator.generate(not skip_html) >+ if generator.saw_warnings: >+ print_missing_api(generator) >+ return generator.saw_warnings >+ >+def rebase_doc(generator): >+ try: >+ generator.rebase_installed_docs() >+ except Exception: >+ print("Rebase did not happen, likely no documentation is present.") >+ >+def generate_documentation(generator): >+ if not arguments.rebase: >+ return generate_doc(generator, arguments.skip_html) >+ >+ rebase_doc(generator) >+ return False >+ >+def prepare_environment_for_gtkdoc_generation(): >+ # We need to add the JavaScriptCore build directory to the PKG_CONFIG_PATH >+ # so that pkgconfig can properly resolve the libjavascriptcore dependency. >+ pkg_config_path = os.environ.get("PKG_CONFIG_PATH") >+ os.environ['PKG_CONFIG_PATH'] = common.build_path('Source', 'JavaScriptCore') >+ if pkg_config_path: >+ os.environ['PKG_CONFIG_PATH'] += ':' + pkg_config_path >+ >+ # Newer versions of glib have deprecated g_type_init, so we need to disable >+ # that warning when running gtkdoc-scanobj by overriding the CFLAGS we use >+ # to compile it. >+ cflags = os.environ.get('CFLAGS', '') >+ cflags += ' -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_32' >+ >+ # In non-x86 architectures, when a pointer is cast to (void*) and >+ # back, the compiler thinks that the alignment is random. Since >+ # gtkdoc build is broken at any warning message, it is better to >+ # silence these false positives. >+ cflags += ' -Wno-cast-align' >+ os.environ['CFLAGS'] = cflags >+ >+ # Paths from the GNUmakefile generated configuration files are relative to the build directory. >+ os.chdir(common.build_path()) >+ >+def build_gtkdoc_for_wpe(arguments): >+ webextensions_generator = get_generator_for_config(common.build_path('gtkdoc-webextensions.cfg'), arguments.virtual_root) >+ if not webextensions_generator: >+ print("gtkdoc-webextensions.cfg does not exist! Skipping that documentation") >+ sys.exit(1) >+ saw_warnings = generate_documentation(webextensions_generator) >+ if saw_warnings: >+ sys.exit(saw_warnings) >+ >+ wpe_generator = get_generator_for_config(common.build_path('gtkdoc-wpe.cfg'), arguments.virtual_root) >+ if not wpe_generator: >+ print("gtkdoc-wpe.cfg does not exist! Skipping that documentation") >+ sys.exit(1) >+ saw_warnings = generate_documentation(wpe_generator) >+ sys.exit(saw_warnings) >+ >+def build_gtkdoc_for_wkgtk(arguments): >+ jsc_generator = get_generator_for_config(common.build_path('gtkdoc-jsc-glib.cfg'), arguments.virtual_root) >+ if not jsc_generator: >+ print("gtkdoc-jsc-glib.cfg does not exist! Skipping that documentation") >+ sys.exit(1) >+ saw_warnings = generate_documentation(jsc_generator) >+ if saw_warnings: >+ sys.exit(saw_warnings) >+ >+ webkitdom_generator = get_generator_for_config(common.build_path('gtkdoc-webkitdom.cfg'), arguments.virtual_root, [jsc_generator.module_name]) >+ if not webkitdom_generator: >+ print("gtkdoc-webkitdom.cfg does not exist! Skipping that documentation") >+ sys.exit(1) >+ saw_warnings = generate_documentation(webkitdom_generator) >+ if saw_warnings: >+ sys.exit(saw_warnings) >+ >+ webkit2_generator = get_generator_for_config(common.build_path('gtkdoc-webkit2gtk.cfg'), arguments.virtual_root, [webkitdom_generator.module_name, jsc_generator.module_name]) >+ if not webkit2_generator: >+ print("gtkdoc-webkit2gtk.cfg does not exist! Skipping that documentation") >+ sys.exit(1) >+ saw_warnings = generate_documentation(webkit2_generator) >+ sys.exit(saw_warnings) >+ >+if __name__ == "__main__": >+ parser = argparse.ArgumentParser(description='Generate gtkdoc for WebKit.') >+ parser.add_argument('-v', '--verbose', action='store_true', >+ help='Whether or not to run in verbose mode.') >+ parser.add_argument('--rebase', action='store_true', >+ help='When specified, run the tool in rebase mode.') >+ parser.add_argument('--skip-html', action='store_true', >+ help='Whether or not to skip HTML generation, which can be slow.') >+ parser.add_argument('--virtual-root', type=str, default='', >+ help='A temporary installation directory which is used as the root ' + \ >+ 'where the actual installation prefix lives; this is mostly ' + \ >+ 'useful for packagers, and should be set to what is given to ' + \ >+ 'make install as DESTDIR.') >+ >+ parser.add_argument('--gtk', action='store_true', >+ help='Build documentation for WebKitGTK+') >+ parser.add_argument('--wpe', action='store_true', >+ help='Build documentation for WPE') >+ >+ arguments = parser.parse_args() >+ configure_logging(arguments.verbose) >+ >+ prepare_environment_for_gtkdoc_generation() >+ >+ if arguments.wpe: >+ build_gtkdoc_for_wpe(arguments) >+ elif arguments.gtk: >+ build_gtkdoc_for_wkgtk(arguments) >+ else: >+ print('Please choose a WebKit port with --gtk or --wpe') >+ sys.exit(1) >diff --git a/Tools/gtkdoc/gtkdoc.py b/Tools/gtkdoc/gtkdoc.py >new file mode 100644 >index 0000000000000000000000000000000000000000..47968446cc548cfa6a9cfcc19e5da34323da860a >--- /dev/null >+++ b/Tools/gtkdoc/gtkdoc.py >@@ -0,0 +1,455 @@ >+# Copyright (C) 2011 Igalia S.L. >+# >+# This library is free software; you can redistribute it and/or >+# modify it under the terms of the GNU Lesser General Public >+# License as published by the Free Software Foundation; either >+# version 2 of the License, or (at your option) any later version. >+# >+# This library is distributed in the hope that it will be useful, >+# but WITHOUT ANY WARRANTY; without even the implied warranty of >+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU >+# Lesser General Public License for more details. >+# >+# You should have received a copy of the GNU Lesser General Public >+# License along with this library; if not, write to the Free Software >+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA >+ >+import codecs >+import errno >+import logging >+import os >+import os.path >+import subprocess >+import sys >+ >+ >+class GTKDoc(object): >+ >+ """Class that controls a gtkdoc run. >+ >+ Each instance of this class represents one gtkdoc configuration >+ and set of documentation. The gtkdoc package is a series of tools >+ run consecutively which converts inline C/C++ documentation into >+ docbook files and then into HTML. This class is suitable for >+ generating documentation or simply verifying correctness. >+ >+ Keyword arguments: >+ output_dir -- The path where gtkdoc output should be placed. Generation >+ may overwrite file in this directory. Required. >+ module_name -- The name of the documentation module. For libraries this >+ is typically the library name. Required if not library path >+ is given. >+ source_dirs -- A list of paths to directories of source code to be scanned. >+ Required if headers is not specified. >+ ignored_files -- A list of filenames to ignore in the source directory. It is >+ only necessary to provide the basenames of these files. >+ Typically it is important to provide an updated list of >+ ignored files to prevent warnings about undocumented symbols. >+ headers -- A list of paths to headers to be scanned. Required if source_dirs >+ is not specified. >+ namespace -- The library namespace. >+ decorator -- If a decorator is used to unhide certain symbols in header >+ files this parameter is required for successful scanning. >+ (default '') >+ deprecation_guard -- gtkdoc tries to ensure that symbols marked as deprecated >+ are encased in this C preprocessor define. This is required >+ to avoid gtkdoc warnings. (default '') >+ cflags -- This parameter specifies any preprocessor flags necessary for >+ building the scanner binary during gtkdoc-scanobj. Typically >+ this includes all absolute include paths necessary to resolve >+ all header dependencies. (default '') >+ ldflags -- This parameter specifies any linker flags necessary for >+ building the scanner binary during gtkdoc-scanobj. Typically >+ this includes "-lyourlibraryname". (default '') >+ library_path -- This parameter specifies the path to the directory where you >+ library resides used for building the scanner binary during >+ gtkdoc-scanobj. (default '') >+ >+ doc_dir -- The path to other documentation files necessary to build >+ the documentation. This files in this directory as well as >+ the files in the 'html' subdirectory will be copied >+ recursively into the output directory. (default '') >+ main_sgml_file -- The path or name (if a doc_dir is given) of the SGML file >+ that is the considered the main page of your documentation. >+ (default: <module_name>-docs.sgml) >+ version -- The version number of the module. If this is provided, >+ a version.xml file containing the version will be created >+ in the output directory during documentation generation. >+ >+ interactive -- Whether or not errors or warnings should prompt the user >+ to continue or not. When this value is false, generation >+ will continue despite warnings. (default False) >+ >+ virtual_root -- A temporary installation directory which is used as the root >+ where the actual installation prefix lives; this is mostly >+ useful for packagers, and should be set to what is given to >+ make install as DESTDIR. >+ """ >+ >+ def __init__(self, args): >+ self.version = '' >+ self.virtual_root = '' >+ self.prefix = '' >+ >+ # Parameters specific to scanning. >+ self.module_name = '' >+ self.source_dirs = [] >+ self.headers = [] >+ self.ignored_files = [] >+ self.namespace = '' >+ self.decorator = '' >+ self.deprecation_guard = '' >+ >+ # Parameters specific to gtkdoc-scanobj. >+ self.cflags = '' >+ self.ldflags = '' >+ self.library_path = '' >+ >+ # Parameters specific to generation. >+ self.output_dir = '' >+ self.doc_dir = '' >+ self.main_sgml_file = '' >+ >+ # Parameters specific to gtkdoc-fixxref. >+ self.cross_reference_deps = [] >+ >+ self.interactive = False >+ >+ self.logger = logging.getLogger('gtkdoc') >+ >+ for key, value in iter(args.items()): >+ setattr(self, key, value) >+ >+ if not getattr(self, 'output_dir'): >+ raise Exception('output_dir not specified.') >+ if not getattr(self, 'module_name'): >+ raise Exception('module_name not specified.') >+ if not getattr(self, 'source_dirs') and not getattr(self, 'headers'): >+ raise Exception('Neither source_dirs nor headers specified.' % key) >+ >+ # Make all paths absolute in case we were passed relative paths, since >+ # we change the current working directory when executing subcommands. >+ self.output_dir = os.path.abspath(self.output_dir) >+ self.source_dirs = [os.path.abspath(x) for x in self.source_dirs] >+ self.headers = [os.path.abspath(x) for x in self.headers] >+ if self.library_path: >+ self.library_path = os.path.abspath(self.library_path) >+ >+ if not self.main_sgml_file: >+ self.main_sgml_file = self.module_name + "-docs.sgml" >+ >+ def generate(self, html=True): >+ self.saw_warnings = False >+ >+ self._copy_doc_files_to_output_dir(html) >+ self._write_version_xml() >+ self._run_gtkdoc_scan() >+ self._run_gtkdoc_scangobj() >+ self._run_gtkdoc_mkdb() >+ >+ if not html: >+ return >+ >+ self._run_gtkdoc_mkhtml() >+ self._run_gtkdoc_fixxref() >+ >+ def _delete_file_if_exists(self, path): >+ if not os.access(path, os.F_OK | os.R_OK): >+ return >+ self.logger.debug('deleting %s', path) >+ os.unlink(path) >+ >+ def _create_directory_if_nonexistent(self, path): >+ try: >+ os.makedirs(path) >+ except OSError as error: >+ if error.errno != errno.EEXIST: >+ raise >+ >+ def _raise_exception_if_file_inaccessible(self, path): >+ if not os.path.exists(path) or not os.access(path, os.R_OK): >+ raise Exception("Could not access file at: %s" % path) >+ >+ def _output_has_warnings(self, outputs): >+ for output in outputs: >+ if output and output.find('warning'): >+ return True >+ return False >+ >+ def _ask_yes_or_no_question(self, question): >+ if not self.interactive: >+ return True >+ >+ question += ' [y/N] ' >+ answer = None >+ while answer != 'y' and answer != 'n' and answer != '': >+ answer = raw_input(question).lower() >+ return answer == 'y' >+ >+ def _run_command(self, args, env=None, cwd=None, print_output=True, ignore_warnings=False): >+ if print_output: >+ self.logger.debug("Running %s", args[0]) >+ self.logger.debug("Full command args: %s", str(args)) >+ >+ process = subprocess.Popen(args, env=env, cwd=cwd, >+ stdout=subprocess.PIPE, >+ stderr=subprocess.PIPE) >+ stdout, stderr = [b.decode("utf-8") for b in process.communicate()] >+ >+ if print_output: >+ if stdout: >+ try: >+ sys.stdout.write(stdout.encode("utf-8")) >+ except UnicodeDecodeError: >+ sys.stdout.write(stdout) >+ if stderr: >+ try: >+ sys.stderr.write(stderr.encode("utf-8")) >+ except UnicodeDecodeError: >+ sys.stderr.write(stderr) >+ >+ if process.returncode != 0: >+ raise Exception('%s produced a non-zero return code %i' >+ % (args[0], process.returncode)) >+ >+ if not ignore_warnings and ('warning' in stderr or 'warning' in stdout): >+ self.saw_warnings = True >+ if not self._ask_yes_or_no_question('%s produced warnings, ' >+ 'try to continue?' % args[0]): >+ raise Exception('%s step failed' % args[0]) >+ >+ return stdout.strip() >+ >+ def _copy_doc_files_to_output_dir(self, html=True): >+ if not self.doc_dir: >+ self.logger.info('Not copying any files from doc directory,' >+ ' because no doc directory given.') >+ return >+ >+ def copy_file_replacing_existing(src, dest): >+ if os.path.isdir(src): >+ self.logger.debug('skipped directory %s', src) >+ return >+ if not os.access(src, os.F_OK | os.R_OK): >+ self.logger.debug('skipped unreadable %s', src) >+ return >+ >+ self._delete_file_if_exists(dest) >+ >+ self.logger.debug('created %s', dest) >+ try: >+ os.link(src, dest) >+ except OSError: >+ os.symlink(src, dest) >+ >+ def copy_all_files_in_directory(src, dest): >+ for path in os.listdir(src): >+ copy_file_replacing_existing(os.path.join(src, path), >+ os.path.join(dest, path)) >+ >+ self.logger.debug('Copying template files to output directory...') >+ self._create_directory_if_nonexistent(self.output_dir) >+ copy_all_files_in_directory(self.doc_dir, self.output_dir) >+ >+ def _write_version_xml(self): >+ if not self.version: >+ self.logger.info('No version specified, so not writing version.xml') >+ return >+ >+ version_xml_path = os.path.join(self.output_dir, 'version.xml') >+ src_version_xml_path = os.path.join(self.doc_dir, 'version.xml') >+ >+ # Don't overwrite version.xml if it was in the doc directory. >+ if os.path.exists(version_xml_path) and \ >+ os.path.exists(src_version_xml_path): >+ return >+ >+ output_file = open(version_xml_path, 'w') >+ output_file.write(self.version) >+ output_file.close() >+ >+ def _ignored_files_basenames(self): >+ return ' '.join([os.path.basename(x) for x in self.ignored_files]) >+ >+ def _run_gtkdoc_scan(self): >+ args = ['gtkdoc-scan', >+ '--module=%s' % self.module_name, >+ '--rebuild-types'] >+ >+ if not self.headers: >+ # Each source directory should be have its own "--source-dir=" prefix. >+ args.extend(['--source-dir=%s' % path for path in self.source_dirs]) >+ >+ if self.decorator: >+ args.append('--ignore-decorators=%s' % self.decorator) >+ if self.deprecation_guard: >+ args.append('--deprecated-guards=%s' % self.deprecation_guard) >+ if self.output_dir: >+ args.append('--output-dir=%s' % self.output_dir) >+ >+ # We only need to pass the list of ignored files if the we are not using an explicit list of headers. >+ if not self.headers: >+ # gtkdoc-scan wants the basenames of ignored headers, so strip the >+ # dirname. Different from "--source-dir", the headers should be >+ # specified as one long string. >+ ignored_files_basenames = self._ignored_files_basenames() >+ if ignored_files_basenames: >+ args.append('--ignore-headers=%s' % ignored_files_basenames) >+ >+ if self.headers: >+ args.extend(self.headers) >+ >+ self._run_command(args) >+ >+ def _run_gtkdoc_scangobj(self): >+ env = os.environ >+ ldflags = self.ldflags >+ if self.library_path: >+ additional_ldflags = '' >+ for arg in env.get('LDFLAGS', '').split(' '): >+ if arg.startswith('-L'): >+ additional_ldflags = '%s %s' % (additional_ldflags, arg) >+ ldflags = ' "-L%s" %s ' % (self.library_path, additional_ldflags) + ldflags >+ current_ld_library_path = env.get('LD_LIBRARY_PATH') >+ if current_ld_library_path: >+ env['LD_LIBRARY_PATH'] = '%s:%s' % (self.library_path, current_ld_library_path) >+ else: >+ env['LD_LIBRARY_PATH'] = self.library_path >+ >+ if ldflags: >+ env['LDFLAGS'] = '%s %s' % (ldflags, env.get('LDFLAGS', '')) >+ if self.cflags: >+ env['CFLAGS'] = '%s %s' % (self.cflags, env.get('CFLAGS', '')) >+ >+ if 'CFLAGS' in env: >+ self.logger.debug('CFLAGS=%s', env['CFLAGS']) >+ if 'LDFLAGS' in env: >+ self.logger.debug('LDFLAGS %s', env['LDFLAGS']) >+ self._run_command(['gtkdoc-scangobj', '--module=%s' % self.module_name], >+ env=env, cwd=self.output_dir) >+ >+ def _run_gtkdoc_mkdb(self): >+ sgml_file = os.path.join(self.output_dir, self.main_sgml_file) >+ self._raise_exception_if_file_inaccessible(sgml_file) >+ >+ args = ['gtkdoc-mkdb', >+ '--module=%s' % self.module_name, >+ '--main-sgml-file=%s' % sgml_file, >+ '--source-suffixes=h,c,cpp,cc', >+ '--output-format=xml', >+ '--sgml-mode'] >+ >+ if self.namespace: >+ args.append('--name-space=%s' % self.namespace) >+ >+ ignored_files_basenames = self._ignored_files_basenames() >+ if ignored_files_basenames: >+ args.append('--ignore-files=%s' % ignored_files_basenames) >+ >+ # Each directory should be have its own "--source-dir=" prefix. >+ args.extend(['--source-dir=%s' % path for path in self.source_dirs]) >+ self._run_command(args, cwd=self.output_dir) >+ >+ def _run_gtkdoc_mkhtml(self): >+ # gtkdoc-fixxref expects the paths to be html/modulename. >+ html_dest_dir = os.path.join(self.output_dir, 'html', self.module_name) >+ self._create_directory_if_nonexistent(html_dest_dir) >+ if not os.path.isdir(html_dest_dir): >+ raise Exception("%s is not a directory, could not generate HTML" >+ % html_dest_dir) >+ elif not os.access(html_dest_dir, os.X_OK | os.R_OK | os.W_OK): >+ raise Exception("Could not access %s to generate HTML" >+ % html_dest_dir) >+ >+ # gtkdoc-mkhtml expects the SGML path to be absolute. >+ sgml_file = os.path.join(os.path.abspath(self.output_dir), >+ self.main_sgml_file) >+ self._raise_exception_if_file_inaccessible(sgml_file) >+ >+ self._run_command(['gtkdoc-mkhtml', self.module_name, sgml_file], >+ cwd=html_dest_dir) >+ >+ def _run_gtkdoc_fixxref(self): >+ args = ['gtkdoc-fixxref', >+ '--module=%s' % self.module_name, >+ '--module-dir=html/%s' % self.module_name] >+ args.extend(['--extra-dir=%s' % extra_dir for extra_dir in self.cross_reference_deps]) >+ self._run_command(args, cwd=self.output_dir, ignore_warnings=True) >+ >+ # gtkdoc-fixxref has some predefined links for which it always uses absolute paths. >+ html_dir_prefix = os.path.join(self.virtual_root + self.prefix, 'share', 'gtk-doc', 'html') >+ module_dir = os.path.join(self.output_dir, 'html', self.module_name) >+ for entry in os.listdir(module_dir): >+ if not entry.endswith('.html'): >+ continue >+ >+ filename = os.path.join(module_dir, entry) >+ contents = '' >+ with codecs.open(filename, 'r', encoding='utf-8') as f: >+ contents = f.read() >+ >+ if not html_dir_prefix in contents: >+ continue >+ >+ tmp_filename = filename + '.new' >+ new_contents = contents.replace(html_dir_prefix, '..') >+ with codecs.open(tmp_filename, 'w', encoding='utf-8') as f: >+ f.write(new_contents) >+ >+ os.rename(tmp_filename, filename) >+ >+ def rebase_installed_docs(self): >+ if not os.path.isdir(self.output_dir): >+ raise Exception("Tried to rebase documentation before generating it.") >+ html_dir = os.path.join(self.virtual_root + self.prefix, 'share', 'gtk-doc', 'html', self.module_name) >+ if not os.path.isdir(html_dir): >+ return >+ args = ['gtkdoc-rebase', >+ '--relative', >+ '--html-dir=%s' % html_dir] >+ args.extend(['--other-dir=%s' % extra_dir for extra_dir in self.cross_reference_deps]) >+ if self.virtual_root: >+ args.extend(['--dest-dir=%s' % self.virtual_root]) >+ self._run_command(args, cwd=self.output_dir) >+ >+ def api_missing_documentation(self): >+ unused_doc_file = os.path.join(self.output_dir, self.module_name + "-unused.txt") >+ if not os.path.exists(unused_doc_file) or not os.access(unused_doc_file, os.R_OK): >+ return [] >+ return open(unused_doc_file).read().splitlines() >+ >+ >+class PkgConfigGTKDoc(GTKDoc): >+ >+ """Class reads a library's pkgconfig file to guess gtkdoc parameters. >+ >+ Some gtkdoc parameters can be guessed by reading a library's pkgconfig >+ file, including the cflags, ldflags and version parameters. If you >+ provide these parameters as well, they will be appended to the ones >+ guessed via the pkgconfig file. >+ >+ Keyword arguments: >+ pkg_config_path -- Path to the pkgconfig file for the library. Required. >+ """ >+ >+ def __init__(self, pkg_config_path, args): >+ super(PkgConfigGTKDoc, self).__init__(args) >+ >+ pkg_config = os.environ.get('PKG_CONFIG', 'pkg-config') >+ >+ if not os.path.exists(pkg_config_path): >+ raise Exception('Could not find pkg-config file at: %s' >+ % pkg_config_path) >+ >+ self.cflags += " " + self._run_command([pkg_config, >+ pkg_config_path, >+ '--cflags'], print_output=False) >+ self.ldflags += " " + self._run_command([pkg_config, >+ pkg_config_path, >+ '--libs'], print_output=False) >+ self.version = self._run_command([pkg_config, >+ pkg_config_path, >+ '--modversion'], print_output=False) >+ self.prefix = self._run_command([pkg_config, >+ pkg_config_path, >+ '--variable=prefix'], print_output=False) >diff --git a/Tools/wpe/install-dependencies b/Tools/wpe/install-dependencies >index bcca242c2418b9665a00dec15524954018e6890e..0e4087fffbe61bb21a5b6a57bab58bbed2b61f5d 100755 >--- a/Tools/wpe/install-dependencies >+++ b/Tools/wpe/install-dependencies >@@ -65,6 +65,7 @@ function installDependenciesWithApt { > gawk \ > gcc \ > gperf \ >+ gtk-doc-tools \ > intltool \ > itstool \ > libasound2-dev \ >@@ -155,6 +156,7 @@ function installDependenciesWithPacman { > gcc \ > gnutls \ > gperf \ >+ gtk-doc \ > grep \ > groff \ > gstreamer \ >@@ -253,6 +255,7 @@ function installDependenciesWithDnf { > gstreamer1-devel \ > gstreamer1-plugins-bad-free-devel \ > gstreamer1-plugins-base-devel \ >+ gtk-doc \ > intltool \ > itstool \ > libevent-devel \ >diff --git a/ChangeLog b/ChangeLog >index 03674a37a88a003eaa937b35be66b2613bdf3c9b..b17b33504c1369b46d685ab61df3d33e6a331271 100644 >--- a/ChangeLog >+++ b/ChangeLog >@@ -1,3 +1,18 @@ >+2018-11-21 Carlos Eduardo Ramalho <cadubentzen@gmail.com> >+ >+ [WPE] Add gtk-doc >+ https://bugs.webkit.org/show_bug.cgi?id=178900 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Add gtk-doc to WPE port. This patch tries to reuse as much code from >+ WebKitGTK+ as possible. >+ >+ * Source/PlatformGTK.cmake: include GtkDoc.cmake instead of defining macro. >+ * Source/PlatformWPE.cmake: Added documentation generation. >+ * Source/cmake/GtkDoc.cmake: Added. >+ * Source/cmake/OptionsWPE.cmake: Added ENABLE_GTKDOC build option and added pkg-config path variables. >+ > 2018-12-03 Don Olmstead <don.olmstead@sony.com> > > [CMake] Sync feature defines
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 178900
:
352756
|
352758
|
353013
|
355328
|
355403
|
356486
|
358595
|
358611