{"id":783,"date":"2009-11-02T22:04:51","date_gmt":"2009-11-02T14:04:51","guid":{"rendered":"http:\/\/www.impjq.net\/blog\/2009\/11\/02\/gentoo%e4%b8%8b%e7%bc%96%e8%af%91webkit\/"},"modified":"2009-11-02T22:04:51","modified_gmt":"2009-11-02T14:04:51","slug":"gentoo%e4%b8%8b%e7%bc%96%e8%af%91webkit","status":"publish","type":"post","link":"https:\/\/pjq.me\/?p=783","title":{"rendered":"Gentoo\u4e0b\u5feb\u901f\u7f16\u8bd1webkit"},"content":{"rendered":"<p>Gentoo\u4e0b\u7f16\u8bd1webkit<\/p>\n<p>\u65b9\u6cd5\u5f88\u7b80\u5355\uff1a<br \/>\n1.<\/p>\n<pre lang=\"BASH\" line=\"1\">\nmkdir ~\/webkit\ncp \/usr\/portage\/distfiles\/webkit-1.1.10.tar.gz ~\/webkit\n<\/pre>\n<p>2.\u89e3\u538b<\/p>\n<pre lang=\"BASH\" line=\"1\">\ncd ~\/webkit\ntar xvf webkit-1.1.10.tar.gz\n<\/pre>\n<p>3.\u914d\u7f6e\uff0c\u90fd\u7528\u5f97\u9ed8\u8ba4\u914d\u7f6e<\/p>\n<p><!-- more --><\/p>\n<pre lang=\"BASH\" line=\"1\">\ncd webkit-1.1.10\n.\/configure\n...\nWebKit was configured with the following options:\n\nBuild configuration:\n Enable debugging (slow)                                  : no\n Enable GCC build optimization                            : yes\n Code coverage support                                    : no\n Unicode backend                                          : icu\n Font backend                                             : freetype\n Optimized memory allocator                               : yes\nFeatures:\n 3D Transforms                                            : no\n JIT compilation                                          : yes\n Dashboard support                                        : yes\n Filters support                                          : no\n Geolocation support                                      : no\n GNOME Keyring support                                    : no\n JavaScript debugger\/profiler support                     : yes\n HTML5 offline web applications support                   : yes\n HTML5 channel messaging support                          : no\n HTML5 client-side session and persistent storage support : yes\n HTML5 client-side database storage support               : yes\n HTML5 video element support                              : yes\n Icon database support                                    : yes\n SVG support                                              : yes\n SVG animation support                                    : yes\n SVG fonts support                                        : yes\n SVG foreign object support                               : yes\n SVG as image support                                     : yes\n SVG use element support                                  : yes\n WML support                                              : no\n Web Workers support                                      : yes\n XPATH support                                            : yes\n XSLT support                                             : yes\nGTK+ configuration:\n GDK target                                               : x11\n Hildon UI extensions                                     : no\n<\/pre>\n<p>\u53ef\u4ee5\u770b\u5230\u9ed8\u8ba4\u7684\u914d\u7f6e\u90fd\u8bbe\u7f6e\u4e86\u4ec0\u4e48\u3002<\/p>\n<p>4.\u7f16\u8bd1<br \/>\nmake<\/p>\n<p>5.\u7f16\u8bd1\u597d\u540e\uff0c\u4f1a\u751f\u6210Programs\u76ee\u5f55\uff0c\u7f16\u8bd1\u8fc7\u7a0b\u7528\u4e86\u5927\u698230\u5206\u949f\u7684\u6837\u5b50\u3002<\/p>\n<pre lang=\"BASH\" line=\"1\">\npjq@gentoo-pjq ~\/webkit\/webkit-1.1.10 $ ls Programs\/ -lR\nPrograms\/:\ntotal 3372\n-rwxr-xr-x 1 pjq users   62607 2009-11-02 21:24 DumpRenderTree\n-rwxr-xr-x 1 pjq users   35691 2009-11-02 21:24 GtkLauncher\n-rwxr-xr-x 1 pjq users 1645176 2009-11-02 21:24 jsc\n-rwxr-xr-x 1 pjq users 1685586 2009-11-02 21:24 minidom\ndrwxr-xr-x 3 pjq users    4096 2009-11-02 21:24 unittests\n\nPrograms\/unittests:\ntotal 204\n-rwxr-xr-x 1 pjq users 29939 2009-11-02 21:24 testatk\n-rwxr-xr-x 1 pjq users 29566 2009-11-02 21:24 testdownload\n-rwxr-xr-x 1 pjq users 21023 2009-11-02 21:24 testhttpbackend\n-rwxr-xr-x 1 pjq users 18535 2009-11-02 21:24 testnetworkrequest\n-rwxr-xr-x 1 pjq users 41200 2009-11-02 21:24 testwebbackforwardlist\n-rwxr-xr-x 1 pjq users 28727 2009-11-02 21:24 testwebframe\n-rwxr-xr-x 1 pjq users 17537 2009-11-02 21:24 testwebhistoryitem\n\n<\/pre>\n<p>\u5176\u4e2dGtkLauncher\u662f\u4e00\u4e2a\u7b80\u5355\u7684GTK\u6d4f\u89c8\u5668\u3002<\/p>\n<p>6.\u6253\u5f00\u8fd9\u4e2a\u7b80\u6613\u7684\u6d4f\u89c8\u5668<\/p>\n<pre lang=\"BASH\" line=\"1\">\n.\/Programs\/GtkLauncher\n<\/pre>\n<p><a href=\"http:\/\/www.flickr.com\/photos\/pengjianqing\/4067907541\/\" title=\"Flickr \u4e0a pengjianqing \u7684 2009-11-02-221315_1092x761_scrot\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/farm3.static.flickr.com\/2497\/4067907541_038c0438b2.jpg\" width=\"500\" height=\"348\" alt=\"2009-11-02-221315_1092x761_scrot\" \/><\/a><\/p>\n<p>\u8fd9\u4e2a\u7b80\u6613\u6d4f\u89c8\u5668\u7684\u6e90\u7801\u5728\uff1aWebKitTools\/GtkLauncher\/main.c<\/p>\n<pre lang=\"c\" line=\"1\">\npjq@gentoo-pjq ~\/webkit\/webkit-1.1.10 $ cat WebKitTools\/GtkLauncher\/main.c\n\/*\n * Copyright (C) 2006, 2007 Apple Inc.\n * Copyright (C) 2007 Alp Toker &lt;alp@atoker.com&gt;\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n *    notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright\n *    notice, this list of conditions and the following disclaimer in the\n *    documentation and\/or other materials provided with the distribution.\n *\n * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY\n * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR\n * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\/\n\n#include &lt;gtk\/gtk.h&gt;\n#include &lt;webkit\/webkit.h&gt;\n\nstatic GtkWidget* main_window;\nstatic GtkWidget* uri_entry;\nstatic GtkStatusbar* main_statusbar;\nstatic WebKitWebView* web_view;\nstatic gchar* main_title;\nstatic gdouble load_progress;\nstatic guint status_context_id;\n\nstatic void\nactivate_uri_entry_cb (GtkWidget* entry, gpointer data)\n{\n    const gchar* uri = gtk_entry_get_text (GTK_ENTRY (entry));\n    g_assert (uri);\n    webkit_web_view_load_uri (web_view, uri);\n}\n\nstatic void\nupdate_title (GtkWindow* window)\n{\n    GString* string = g_string_new (main_title);\n    g_string_append (string, \" - WebKit Launcher\");\n    if (load_progress &lt; 100)\n        g_string_append_printf (string, \" (%f%%)\", load_progress);\n    gchar* title = g_string_free (string, FALSE);\n    gtk_window_set_title (window, title);\n    g_free (title);\n}\n\nstatic void\nlink_hover_cb (WebKitWebView* page, const gchar* title, const gchar* link, gpointer data)\n{\n    \/* underflow is allowed *\/\n    gtk_statusbar_pop (main_statusbar, status_context_id);\n    if (link)\n        gtk_statusbar_push (main_statusbar, status_context_id, link);\n}\n\nstatic void\ntitle_change_cb (WebKitWebView* web_view, WebKitWebFrame* web_frame, const gchar* title, gpointer data)\n{\n    if (main_title)\n        g_free (main_title);\n    main_title = g_strdup (title);\n    update_title (GTK_WINDOW (main_window));\n}\n\nstatic void\nnotify_load_status_cb (WebKitWebView* web_view, GParamSpec* pspec, gpointer data)\n{\n    if (webkit_web_view_get_load_status (web_view) == WEBKIT_LOAD_COMMITTED) {\n        WebKitWebFrame* frame = webkit_web_view_get_main_frame (web_view);\n        const gchar* uri = webkit_web_frame_get_uri (frame);\n        if (uri)\n            gtk_entry_set_text (GTK_ENTRY (uri_entry), uri);\n    }\n}\n\nstatic void\nnotify_progress_cb (WebKitWebView* web_view, GParamSpec* pspec, gpointer data)\n{\n    load_progress = webkit_web_view_get_progress (web_view);\n    update_title (GTK_WINDOW (main_window));\n}\n\nstatic void\ndestroy_cb (GtkWidget* widget, gpointer data)\n{\n    gtk_main_quit ();\n}\n\nstatic void\ngo_back_cb (GtkWidget* widget, gpointer data)\n{\n    webkit_web_view_go_back (web_view);\n}\n\nstatic void\ngo_forward_cb (GtkWidget* widget, gpointer data)\n{\n    webkit_web_view_go_forward (web_view);\n}\n\nstatic GtkWidget*\ncreate_browser ()\n{\n    GtkWidget* scrolled_window = gtk_scrolled_window_new (NULL, NULL);\n    gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);\n\n    web_view = WEBKIT_WEB_VIEW (webkit_web_view_new ());\n    gtk_container_add (GTK_CONTAINER (scrolled_window), GTK_WIDGET (web_view));\n\n    g_signal_connect (web_view, \"title-changed\", G_CALLBACK (title_change_cb), web_view);\n    g_signal_connect (web_view, \"notify::load-status\", G_CALLBACK (notify_load_status_cb), web_view);\n    g_signal_connect (web_view, \"notify::progress\", G_CALLBACK (notify_progress_cb), web_view);\n    g_signal_connect (web_view, \"hovering-over-link\", G_CALLBACK (link_hover_cb), web_view);\n\n    return scrolled_window;\n}\n\nstatic GtkWidget*\ncreate_statusbar ()\n{\n    main_statusbar = GTK_STATUSBAR (gtk_statusbar_new ());\n    status_context_id = gtk_statusbar_get_context_id (main_statusbar, \"Link Hover\");\n\n    return (GtkWidget*)main_statusbar;\n}\n\nstatic GtkWidget*\ncreate_toolbar ()\n{\n    GtkWidget* toolbar = gtk_toolbar_new ();\n\n    gtk_toolbar_set_orientation (GTK_TOOLBAR (toolbar), GTK_ORIENTATION_HORIZONTAL);\n    gtk_toolbar_set_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_BOTH_HORIZ);\n\n    GtkToolItem* item;\n\n    \/* the back button *\/\n    item = gtk_tool_button_new_from_stock (GTK_STOCK_GO_BACK);\n    g_signal_connect (G_OBJECT (item), \"clicked\", G_CALLBACK (go_back_cb), NULL);\n    gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1);\n\n    \/* The forward button *\/\n    item = gtk_tool_button_new_from_stock (GTK_STOCK_GO_FORWARD);\n    g_signal_connect (G_OBJECT (item), \"clicked\", G_CALLBACK (go_forward_cb), NULL);\n    gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1);\n\n    \/* The URL entry *\/\n    item = gtk_tool_item_new ();\n    gtk_tool_item_set_expand (item, TRUE);\n    uri_entry = gtk_entry_new ();\n    gtk_container_add (GTK_CONTAINER (item), uri_entry);\n    g_signal_connect (G_OBJECT (uri_entry), \"activate\", G_CALLBACK (activate_uri_entry_cb), NULL);\n    gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1);\n\n    \/* The go button *\/\n    item = gtk_tool_button_new_from_stock (GTK_STOCK_OK);\n    g_signal_connect_swapped (G_OBJECT (item), \"clicked\", G_CALLBACK (activate_uri_entry_cb), (gpointer)uri_entry);\n    gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1);\n\n    return toolbar;\n}\n\nstatic GtkWidget*\ncreate_window ()\n{\n    GtkWidget* window = gtk_window_new (GTK_WINDOW_TOPLEVEL);\n    gtk_window_set_default_size (GTK_WINDOW (window), 800, 600);\n    gtk_widget_set_name (window, \"GtkLauncher\");\n    g_signal_connect (window, \"destroy\", G_CALLBACK (destroy_cb), NULL);\n\n    return window;\n}\n\nint\nmain (int argc, char* argv[])\n{\n    gtk_init (&argc, &argv);\n    if (!g_thread_supported ())\n        g_thread_init (NULL);\n\n    GtkWidget* vbox = gtk_vbox_new (FALSE, 0);\n    gtk_box_pack_start (GTK_BOX (vbox), create_toolbar (), FALSE, FALSE, 0);\n    gtk_box_pack_start (GTK_BOX (vbox), create_browser (), TRUE, TRUE, 0);\n    gtk_box_pack_start (GTK_BOX (vbox), create_statusbar (), FALSE, FALSE, 0);\n\n    main_window = create_window ();\n    gtk_container_add (GTK_CONTAINER (main_window), vbox);\n\n    gchar* uri = (gchar*) (argc &gt; 1 ? argv[1] : \"http:\/\/www.google.com\/\");\n    webkit_web_view_load_uri (web_view, uri);\n\n    gtk_widget_grab_focus (GTK_WIDGET (web_view));\n    gtk_widget_show_all (main_window);\n    gtk_main ();\n\n    return 0;\n}\n<\/pre>\n<p>\u4e3b\u8981\u5c31\u8c03\u7528\u4e86\u4e09\u4e2a\u51fd\u6570\uff1a<\/p>\n<pre lang=\"c\" line=\"1\">\n    gtk_box_pack_start (GTK_BOX (vbox), create_toolbar (), FALSE, FALSE, 0);\n    gtk_box_pack_start (GTK_BOX (vbox), create_browser (), TRUE, TRUE, 0);\n    gtk_box_pack_start (GTK_BOX (vbox), create_statusbar (), FALSE, FALSE, 0);\n<\/pre>\n<p>\u5206\u522b\u521b\u5efa\u4e86toolbar,browser,statusbar.<\/p>\n<p>\u4ee5\u540e\u5e94\u8be5\u5c31\u53ef\u4ee5\u7528\u8fd9\u4e2a\u6765\u8c03\u8bd5WebKit\u4e86\u3002<br \/>\n\u8fd9\u4e2aWebKit\u5e94\u8be5\u53ea\u662f\u9488\u5bf9GTK\u7684\u7cbe\u7b80\u7248\u4e86\uff0c\u5b8c\u6574\u7248\u6bd4\u8fd9\u4e2a\u590d\u6742\u591a\u4e86\u3002<br \/>\n\u4ee5\u540e\u518d\u7814\u7a76\u4e00\u4e0b\u5b8c\u6574\u7248\u7684\u7f16\u8bd1\u8fc7\u7a0b\u3002<\/p>\n<div class=\"zemanta-pixie\"><img decoding=\"async\" class=\"zemanta-pixie-img\" alt=\"\" src=\"http:\/\/img.zemanta.com\/pixy.gif?x-id=886e53a4-a662-89da-82a9-fb59f3b948cc\" \/><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Gentoo\u4e0b\u7f16\u8bd1webkit \u65b9\u6cd5\u5f88\u7b80\u5355\uff1a 1. mkdir ~\/webkit cp \/usr\/portage\/distfiles\/webkit-1.1.10.tar.gz ~\/webkit 2.\u89e3\u538b cd ~\/webkit tar xvf webkit-1.1.10.tar.gz 3.\u914d\u7f6e\uff0c\u90fd\u7528\u5f97\u9ed8\u8ba4\u914d\u7f6e cd webkit-1.1.10 .\/configure &#8230; WebKit was configured with the following options: Build configuration: Enable debugging (slow) : no Enable GCC build optimization : yes Code<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[],"class_list":["post-783","post","type-post","status-publish","format-standard","hentry","category-14"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Gentoo\u4e0b\u5feb\u901f\u7f16\u8bd1webkit - Jianqing&#039;s Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/pjq.me\/?p=783\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Gentoo\u4e0b\u5feb\u901f\u7f16\u8bd1webkit - Jianqing&#039;s Blog\" \/>\n<meta property=\"og:description\" content=\"Gentoo\u4e0b\u7f16\u8bd1webkit \u65b9\u6cd5\u5f88\u7b80\u5355\uff1a 1. mkdir ~\/webkit cp \/usr\/portage\/distfiles\/webkit-1.1.10.tar.gz ~\/webkit 2.\u89e3\u538b cd ~\/webkit tar xvf webkit-1.1.10.tar.gz 3.\u914d\u7f6e\uff0c\u90fd\u7528\u5f97\u9ed8\u8ba4\u914d\u7f6e cd webkit-1.1.10 .\/configure ... WebKit was configured with the following options: Build configuration: Enable debugging (slow) : no Enable GCC build optimization : yes Code\" \/>\n<meta property=\"og:url\" content=\"https:\/\/pjq.me\/?p=783\" \/>\n<meta property=\"og:site_name\" content=\"Jianqing&#039;s Blog\" \/>\n<meta property=\"article:published_time\" content=\"2009-11-02T14:04:51+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/farm3.static.flickr.com\/2497\/4067907541_038c0438b2.jpg\" \/>\n<meta name=\"author\" content=\"pengjianqing\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"pengjianqing\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/pjq.me\/?p=783#article\",\"isPartOf\":{\"@id\":\"https:\/\/pjq.me\/?p=783\"},\"author\":{\"name\":\"pengjianqing\",\"@id\":\"https:\/\/pjq.me\/#\/schema\/person\/0eb1e72d1e69fbbd9b5c0bfd8e2aae60\"},\"headline\":\"Gentoo\u4e0b\u5feb\u901f\u7f16\u8bd1webkit\",\"datePublished\":\"2009-11-02T14:04:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/pjq.me\/?p=783\"},\"wordCount\":18,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/pjq.me\/#\/schema\/person\/0eb1e72d1e69fbbd9b5c0bfd8e2aae60\"},\"image\":{\"@id\":\"https:\/\/pjq.me\/?p=783#primaryimage\"},\"thumbnailUrl\":\"http:\/\/farm3.static.flickr.com\/2497\/4067907541_038c0438b2.jpg\",\"articleSection\":[\"\u81ea\u7531\u5206\u7c7b\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/pjq.me\/?p=783#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/pjq.me\/?p=783\",\"url\":\"https:\/\/pjq.me\/?p=783\",\"name\":\"Gentoo\u4e0b\u5feb\u901f\u7f16\u8bd1webkit - Jianqing&#039;s Blog\",\"isPartOf\":{\"@id\":\"https:\/\/pjq.me\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/pjq.me\/?p=783#primaryimage\"},\"image\":{\"@id\":\"https:\/\/pjq.me\/?p=783#primaryimage\"},\"thumbnailUrl\":\"http:\/\/farm3.static.flickr.com\/2497\/4067907541_038c0438b2.jpg\",\"datePublished\":\"2009-11-02T14:04:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/pjq.me\/?p=783#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/pjq.me\/?p=783\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/pjq.me\/?p=783#primaryimage\",\"url\":\"http:\/\/farm3.static.flickr.com\/2497\/4067907541_038c0438b2.jpg\",\"contentUrl\":\"http:\/\/farm3.static.flickr.com\/2497\/4067907541_038c0438b2.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/pjq.me\/?p=783#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/pjq.me\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Gentoo\u4e0b\u5feb\u901f\u7f16\u8bd1webkit\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/pjq.me\/#website\",\"url\":\"https:\/\/pjq.me\/\",\"name\":\"Jianqing&#039;s Blog\",\"description\":\"Thoughts and Future\",\"publisher\":{\"@id\":\"https:\/\/pjq.me\/#\/schema\/person\/0eb1e72d1e69fbbd9b5c0bfd8e2aae60\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/pjq.me\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/pjq.me\/#\/schema\/person\/0eb1e72d1e69fbbd9b5c0bfd8e2aae60\",\"name\":\"pengjianqing\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/pjq.me\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/pjq.me\/wp-content\/uploads\/2021\/12\/Screen-Shot-2021-12-02-at-6.10.58-PM.png\",\"contentUrl\":\"https:\/\/pjq.me\/wp-content\/uploads\/2021\/12\/Screen-Shot-2021-12-02-at-6.10.58-PM.png\",\"width\":460,\"height\":752,\"caption\":\"pengjianqing\"},\"logo\":{\"@id\":\"https:\/\/pjq.me\/#\/schema\/person\/image\/\"},\"url\":\"https:\/\/pjq.me\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Gentoo\u4e0b\u5feb\u901f\u7f16\u8bd1webkit - Jianqing&#039;s Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/pjq.me\/?p=783","og_locale":"en_US","og_type":"article","og_title":"Gentoo\u4e0b\u5feb\u901f\u7f16\u8bd1webkit - Jianqing&#039;s Blog","og_description":"Gentoo\u4e0b\u7f16\u8bd1webkit \u65b9\u6cd5\u5f88\u7b80\u5355\uff1a 1. mkdir ~\/webkit cp \/usr\/portage\/distfiles\/webkit-1.1.10.tar.gz ~\/webkit 2.\u89e3\u538b cd ~\/webkit tar xvf webkit-1.1.10.tar.gz 3.\u914d\u7f6e\uff0c\u90fd\u7528\u5f97\u9ed8\u8ba4\u914d\u7f6e cd webkit-1.1.10 .\/configure ... WebKit was configured with the following options: Build configuration: Enable debugging (slow) : no Enable GCC build optimization : yes Code","og_url":"https:\/\/pjq.me\/?p=783","og_site_name":"Jianqing&#039;s Blog","article_published_time":"2009-11-02T14:04:51+00:00","og_image":[{"url":"http:\/\/farm3.static.flickr.com\/2497\/4067907541_038c0438b2.jpg","type":"","width":"","height":""}],"author":"pengjianqing","twitter_card":"summary_large_image","twitter_misc":{"Written by":"pengjianqing","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/pjq.me\/?p=783#article","isPartOf":{"@id":"https:\/\/pjq.me\/?p=783"},"author":{"name":"pengjianqing","@id":"https:\/\/pjq.me\/#\/schema\/person\/0eb1e72d1e69fbbd9b5c0bfd8e2aae60"},"headline":"Gentoo\u4e0b\u5feb\u901f\u7f16\u8bd1webkit","datePublished":"2009-11-02T14:04:51+00:00","mainEntityOfPage":{"@id":"https:\/\/pjq.me\/?p=783"},"wordCount":18,"commentCount":0,"publisher":{"@id":"https:\/\/pjq.me\/#\/schema\/person\/0eb1e72d1e69fbbd9b5c0bfd8e2aae60"},"image":{"@id":"https:\/\/pjq.me\/?p=783#primaryimage"},"thumbnailUrl":"http:\/\/farm3.static.flickr.com\/2497\/4067907541_038c0438b2.jpg","articleSection":["\u81ea\u7531\u5206\u7c7b"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/pjq.me\/?p=783#respond"]}]},{"@type":"WebPage","@id":"https:\/\/pjq.me\/?p=783","url":"https:\/\/pjq.me\/?p=783","name":"Gentoo\u4e0b\u5feb\u901f\u7f16\u8bd1webkit - Jianqing&#039;s Blog","isPartOf":{"@id":"https:\/\/pjq.me\/#website"},"primaryImageOfPage":{"@id":"https:\/\/pjq.me\/?p=783#primaryimage"},"image":{"@id":"https:\/\/pjq.me\/?p=783#primaryimage"},"thumbnailUrl":"http:\/\/farm3.static.flickr.com\/2497\/4067907541_038c0438b2.jpg","datePublished":"2009-11-02T14:04:51+00:00","breadcrumb":{"@id":"https:\/\/pjq.me\/?p=783#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/pjq.me\/?p=783"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/pjq.me\/?p=783#primaryimage","url":"http:\/\/farm3.static.flickr.com\/2497\/4067907541_038c0438b2.jpg","contentUrl":"http:\/\/farm3.static.flickr.com\/2497\/4067907541_038c0438b2.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/pjq.me\/?p=783#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/pjq.me\/"},{"@type":"ListItem","position":2,"name":"Gentoo\u4e0b\u5feb\u901f\u7f16\u8bd1webkit"}]},{"@type":"WebSite","@id":"https:\/\/pjq.me\/#website","url":"https:\/\/pjq.me\/","name":"Jianqing&#039;s Blog","description":"Thoughts and Future","publisher":{"@id":"https:\/\/pjq.me\/#\/schema\/person\/0eb1e72d1e69fbbd9b5c0bfd8e2aae60"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/pjq.me\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/pjq.me\/#\/schema\/person\/0eb1e72d1e69fbbd9b5c0bfd8e2aae60","name":"pengjianqing","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/pjq.me\/#\/schema\/person\/image\/","url":"https:\/\/pjq.me\/wp-content\/uploads\/2021\/12\/Screen-Shot-2021-12-02-at-6.10.58-PM.png","contentUrl":"https:\/\/pjq.me\/wp-content\/uploads\/2021\/12\/Screen-Shot-2021-12-02-at-6.10.58-PM.png","width":460,"height":752,"caption":"pengjianqing"},"logo":{"@id":"https:\/\/pjq.me\/#\/schema\/person\/image\/"},"url":"https:\/\/pjq.me\/?author=1"}]}},"views":4554,"_links":{"self":[{"href":"https:\/\/pjq.me\/index.php?rest_route=\/wp\/v2\/posts\/783","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pjq.me\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pjq.me\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pjq.me\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pjq.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=783"}],"version-history":[{"count":0,"href":"https:\/\/pjq.me\/index.php?rest_route=\/wp\/v2\/posts\/783\/revisions"}],"wp:attachment":[{"href":"https:\/\/pjq.me\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=783"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pjq.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=783"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pjq.me\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=783"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}