If printing source and line number is not being printed (it isn't at
the moment) then print the class name of the inner-most logging source
to give an idea of where the message came from.
Add State object and Geary.Logging.State::to_logging_state factory
method. Use this in LogRecord to print formatted log messages so that
sources can log state that may change between being logged and the
log message being displayed/saved.
Provide a default implementation of Source::to_string that uses the
instance's current state.
Update implementing classes.
Rename the class because we need to distinguish between logging sources
and logging state, for cases when the logged object's state may change
between being logged and being displayed.
Rename util souce file to match new name space per source code
convernstion.
Merge LOGGING_OUT and LOGGED_OUT into single LOGOUT state to match
RFC 3501. This leaves CLOSED as the only terminal state, and simplifies
the FSM a bit.
When closing the a session cleanly (i.e. since the service is being
stopped or a session is no longer needed, issue a logout instead of
simply terminating the connection. Use a second cancellable for
terminating logouts however when closing so we don't hang.
This reduces the number of widgets to be parsed and constructed when
showing a conversation, improving loading perf a bit for large
conversations.
See #230
Now that a shared WebKitUserContentManager is shared between web views,
the old "load a JS file when remote resource loading is allowed" doesn't
work any more. Instead, set a variable on the frame's window object
in the web extension notified that a new page has been loaded, and
use that instead.
Since the WebProcess will be torn down when the last WebView using it is
destroyed (not when the view object is deleted), we need to keep
previous conversation widgets around until after the new conversation is
loaded.
Add a new ctor to Component.WebView and ConversationWebView to be able
to use the WebKit.WebView::related-view property at construction time.
Add new ConversationViewer::previous-web-view property to store
the per-window last created web view. Use this when constructing new
wen views in ConversationMessage to share the WebProcess.
Time for loading a 204 mails discussion, milliseconds
Before: 10662, 10826, 11134
After : 9972, 9810, 9881
Improvement: ≈10%
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>