* bindings/vapi/javascriptcore-4.0.vapi: Add some methods to
GlobalContext for accessing JSValues as ints.
* src/client/components/client-web-view.vala
(ClientWebView): Hook up UserContentManager script messages handler and
handler implementation for "preferredHeightChanged", update the new
preferred_height prop on the class, and queue a resize. Hook those
values up to the GTK allocation machinery.
(ClientWebView::get_int_result): Convenience method for getting an int
from a JavascriptResult.
(ClientWebView::get_preferred_height): Report back values as reported
by messages from the script handler.
(ClientWebView::register_message_handler): Convenience method for
registering script messages handlers.
* src/client/conversation-viewer/conversation-web-view.vala
(ConversationWebView): Remove now-redundant GTK allocation machinery.
* ui/client-web-view.js: Post a message to preferredHeightChanged when
the page is sorta-kinda loaded.
This gives us a means of using JS objects returned by UserContentManager
script messages directly from Vala.
* bindings/metadata/WebKit2-4.0.metadata: Tweak standard webkit2 VAPI to
re-include methods that return javascriptcore objects.
* bindings/vapi/javascriptcore-4.0.vapi: Copy generated VAPI file into
the tree, customise it so that it actually works.
* src/CMakeLists.txt: Generate the custom webkit2 VAPI, depend on
javascriptcore and include in-tree javascriptcore VAPI in the client
build.
* bindings/metadata/JSCore-3.0.metadata: Remove obsolete file.
While message bodies are always sent as UTF-8, non ASCII/ISO-8859-1
headers were being encoded using GMime's default heuristics. This
uses some less-well-supported charsets and causing some rendering
issues in other less tolerant client.
Since we assume UTF-8 support for the body, assume it for headers as
well.
* src/engine/rfc822/rfc822.vala (Geary.RFC822.init): Set GMime user
charsets to UTF-8.
* bindings/vapi/gmime-2.6.vapi (GMime): Fix binding for
g_mime_set_user_charsets.
Bug 720335
* src/client/composer/spell-check-popover.vala
Implemented a GtkPopover allowing the user to select a
subset of the currently installed dictionaries for the spell
checking in the composer widget.
* src/client/util/util-international-vala
Added detection of installed dictionaries and proper
translation of the available languages. This requires
Enchant as an additional dependency.
* src/client/application/geary-config.vala
Added keys spell-check-visible-languages and
spell-check-languages in GSettings.
Discovered a few binding problems while working on another issue,
in particular gmime_parser_construct_message()'s return object
not being freed, which can hold an entire message (attachments and
all) in memory.
We've had numerous bugs due to improper MIME comparisons and dealing
with Content-Type and Content-Disposition (or their lack of presence
in a message). Now the Engine offers MIME classes that better deal
with these issues without exporting the GMime structures, which
are not as easy to manage and don't offer some of the things that
have bitten us in the past (such as case-insensitive comparisons).
Two problems:
(a) Vala 0.22.1 fixes a binding change in libnotify
that has to be fixed but causes Geary to be unable to build on prior
versions of Vala. libnotify.vapi added to solve this problem.
(b) New version of Vala appears to be more sensitive to detecting
problems in .gir files. Using our .metadata file to paper over these
issues in WebKit-3.0.gir.
Squashed commit of the following:
commit 6e066374da45dd602ee1ca3c9bc5f77b9411b6f4
Author: Eric Gregory <eric@yorba.org>
Date: Tue Jan 15 11:36:32 2013 -0800
Closes#6209 Precise support for GIR WebKitGTK binding. Rolls back to deprecated context menu in composer for compatibility with WebKitGTK 1.8