commit e788b69446a2699cbd223a23b8a0247621cc17b7
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Sun Feb 26 23:53:47 2017 -0600

    Prepare 3.23.91

 NEWS         | 16 ++++++++++++++++
 configure.ac |  2 +-
 2 files changed, 17 insertions(+), 1 deletion(-)

commit f42e9fbed2b3cd196e8577a0b0387e9b6ffeb1f7
Author: Baurzhan Muftakhidinov <baurthefirst@gmail.com>
Date:   Mon Feb 27 09:29:54 2017 +0000

    Update Kazakh translation

 po/kk.po | 588
 ++++++++++++++++++++++++++++++++++-----------------------------
 1 file changed, 313 insertions(+), 275 deletions(-)

commit 6c4c02b33c21ac09c44071a203ec268392a41c0a
Author: Daniel Mustieles <daniel.mustieles@gmail.com>
Date:   Mon Feb 27 08:48:28 2017 +0000

    Update Spanish translation

 po/es.po | 836
 ++++++++++++++++++++++++++++++++++-----------------------------
 1 file changed, 445 insertions(+), 391 deletions(-)

commit ec9e0909fcbb17e5a230340886af8a54a6b8f693
Author: Fran Dieguez <fran@openhost.es>
Date:   Sun Feb 26 23:37:41 2017 +0100

    Updated Galician translations

 po/gl.po | 2477
 ++++++++++++++++++++++++++++++++++----------------------------
 1 file changed, 1376 insertions(+), 1101 deletions(-)

commit 6dc4e6151f4c6919fb63ea9c76d4a66b1cdca1a3
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Sun Feb 26 19:22:32 2017 +0100

    Update Polish translation

 po/pl.po | 487
 +++++++++++++++++++++++++++++++++------------------------------
 1 file changed, 252 insertions(+), 235 deletions(-)

commit a658ec7387110c2012d0e492d8768d43f835dd18
Author: Carlos Garcia Campos <cgarcia@igalia.com>
Date:   Sun Feb 26 10:15:25 2017 +0100

    clear-data-dialog: Do not remove data of sites filtered out

 src/clear-data-dialog.c | 38 ++++++++++++++++++++++++++------------
 1 file changed, 26 insertions(+), 12 deletions(-)

commit 963496b6860dc728c0315f54157227b4344a9cfe
Author: Carlos Garcia Campos <cgarcia@igalia.com>
Date:   Sun Feb 26 09:42:02 2017 +0100

    clear-data-dialog: Convert filter iterators to treestore iterators

    https://bugzilla.gnome.org/show_bug.cgi?id=779100

 src/clear-data-dialog.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

commit 5a90f3875572da3ed67ab9cb6113a7b389073ffb
Author: Carlos Garcia Campos <cgarcia@igalia.com>
Date:   Sun Feb 26 09:25:50 2017 +0100

    Bump WebKit version to 2.15.90 and use new API to handle cookies

 configure.ac                        |  2 +-
 src/cookies-dialog.c                | 73
 +++++++++++++++++++------------------
 src/resources/gtk/cookies-dialog.ui |  2 +-
 3 files changed, 39 insertions(+), 38 deletions(-)

commit 36b198142962097e16b95e637fe46e92d0bcc62f
Author: Mario Blättermann <mario.blaettermann@gmail.com>
Date:   Sat Feb 25 21:35:17 2017 +0100

    Updated German translation

 po/de.po | 1268
 +++++++++++++++-----------------------------------------------
 1 file changed, 293 insertions(+), 975 deletions(-)

commit a8a60d657d360c31dfe4d2b08ffb22d7bd0066b8
Author: Aurimas Černius <aurisc4@gmail.com>
Date:   Sat Feb 25 18:28:41 2017 +0200

    Updated Lithuanian translation

 po/lt.po | 678
 ++++++++++++++++++++++++++++-----------------------------------
 1 file changed, 303 insertions(+), 375 deletions(-)

commit 44794bc7d89d0a0f98e34ff42e892e14263ac6e0
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Sat Feb 25 09:26:48 2017 -0600

    prefs-dialog: Remove now-unused functions

 src/prefs-dialog.c | 61
 ------------------------------------------------------
 1 file changed, 61 deletions(-)

commit ca30fea5a408dccb21f59cb2c894a9e26fa54260
Author: Daniel Korostil <ted.korostiled@gmail.com>
Date:   Sat Feb 25 16:16:55 2017 +0200

    Updated Ukrainian translation

 po/uk.po | 375
 +++++++++++++++++++++++++++++++++------------------------------
 1 file changed, 195 insertions(+), 180 deletions(-)

commit b7d9d2e215ba9c82aea61fdbfbd152f0bce15ffc
Author: Rafael Fontenelle <rafaelff@gnome.org>
Date:   Sat Feb 25 14:13:42 2017 +0000

    Update Brazilian Portuguese translation

 po/pt_BR.po | 542
 +++++++++++++++++++++++++++++++++---------------------------
 1 file changed, 302 insertions(+), 240 deletions(-)

commit 022c54007b978765c88e7cb1554b0b49221239c5
Author: Fabio Tomat <f.t.public@gmail.com>
Date:   Fri Feb 24 23:26:26 2017 +0000

    Update Friulian translation

 po/fur.po | 493
 +++++++++++++++++++++++++++++++++++---------------------------
 1 file changed, 275 insertions(+), 218 deletions(-)

commit 8b96bd222590f35a5398b70821e4cae0488f2bae
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Fri Feb 24 17:13:15 2017 -0600

    search-engine-manager: Another code style tweak

 lib/ephy-search-engine-manager.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f30bf73bf4e4c93591f971279952bea2c24eebe0
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Fri Feb 24 16:34:06 2017 -0600

    Miscellaneous code style adjustments

    https://bugzilla.gnome.org/show_bug.cgi?id=776738

 lib/ephy-search-engine-manager.c | 15 +++++++--------
 src/ephy-location-controller.c   | 12 ++++++------
 src/ephy-search-engine-dialog.c  | 19 ++++++++-----------
 3 files changed, 21 insertions(+), 25 deletions(-)

commit f6325a2ce480c485b152ccb499dfb28c411070f1
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Fri Feb 24 16:33:53 2017 -0600

    embed-utils: Fix leak is is_bang_search()

 embed/ephy-embed-utils.c | 1 +
 1 file changed, 1 insertion(+)

commit 2c9c7e7b72799993d9f5220d8dbbae3945a3634d
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Wed Feb 22 14:20:16 2017 -0600

    bookmarks-manager: Fix use-after-free in _remove_bookmark()

    https://bugzilla.gnome.org/show_bug.cgi?id=776738

 src/bookmarks/ephy-bookmarks-manager.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit cdf7fc59720231e338b8eaa4fde09d3c4959f6cc
Author: cedlemo <cedlemo@gmx.com>
Date:   Wed Feb 15 16:08:37 2017 +0100

    Replace smart bookmarks feature with search engine manager

    https://bugzilla.gnome.org/show_bug.cgi?id=776738

 lib/ephy-profile-utils.h                     |   2 +-
 lib/ephy-search-engine-manager.c             |  28 ++++
 src/Makefile.am                              |   2 -
 src/bookmarks/ephy-bookmark.c                |  35 -----
 src/bookmarks/ephy-bookmark.h                |   4 -
 src/bookmarks/ephy-bookmarks-list-model.c    | 193
 -------------------------
 src/bookmarks/ephy-bookmarks-list-model.h    |  36 -----
 src/bookmarks/ephy-bookmarks-manager.c       |  97 ++++++++-----
 src/bookmarks/ephy-bookmarks-manager.h       |   1 -
 src/bookmarks/ephy-bookmarks-popover.c       |  42 +-----
 src/ephy-completion-model.c                  |   5 +-
 src/ephy-location-controller.c               | 205
 +++++++++++----------------
 src/profile-migrator/ephy-profile-migrator.c |  58 ++++++++
 13 files changed, 238 insertions(+), 470 deletions(-)

commit e57ce8d3aa2a1539bb51413afa01ae31374717a4
Author: cedlemo <cedlemo@gmx.com>
Date:   Thu Feb 16 19:22:41 2017 +0100

    Implement search engine dialog

    https://bugzilla.gnome.org/show_bug.cgi?id=776738

 po/POTFILES.in                            |   2 +
 src/Makefile.am                           |   2 +
 src/ephy-search-engine-dialog.c           | 715
 ++++++++++++++++++++++++++++++
 src/ephy-search-engine-dialog.h           |  33 ++
 src/prefs-dialog.c                        | 135 +-----
 src/resources/epiphany.gresource.xml      |   1 +
 src/resources/gtk/prefs-dialog.ui         |  73 ++-
 src/resources/gtk/search-engine-dialog.ui | 301 +++++++++++++
 8 files changed, 1102 insertions(+), 160 deletions(-)

commit 1d7ba9ca27853f8d13072da5814d15334a13a694
Author: cedlemo <cedlemo@gmx.com>
Date:   Fri Feb 24 12:21:00 2017 -0600

    implement search engine manager

    https://bugzilla.gnome.org/show_bug.cgi?id=776738

 data/org.gnome.epiphany.gschema.xml        |  27 ++-
 embed/ephy-embed-shell.c                   |  12 +
 embed/ephy-embed-shell.h                   |   2 +
 embed/ephy-embed-utils.c                   |  64 +++++-
 lib/Makefile.am                            |   2 +
 lib/ephy-prefs.h                           |   2 +
 lib/ephy-search-engine-manager.c           | 337
 +++++++++++++++++++++++++++++
 lib/ephy-search-engine-manager.h           |  67 ++++++
 src/search-provider/ephy-search-provider.c |  29 +--
 tests/ephy-embed-utils-test.c              |   7 +
 tests/ephy-web-view-test.c                 |  34 +--
 11 files changed, 535 insertions(+), 48 deletions(-)

commit e67c9d072a7b48a55d3ca3e6456350368bfc22e8
Author: Daniel Korostil <ted.korostiled@gmail.com>
Date:   Fri Feb 24 20:34:54 2017 +0200

    Updated Ukrainian translation

 po/uk.po | 4132
 +++++++++++++++++++++++++++++++-------------------------------
 1 file changed, 2078 insertions(+), 2054 deletions(-)

commit c85479931c50d4bcd0bf81c83189a5212670aa43
Author: Fabio Tomat <f.t.public@gmail.com>
Date:   Thu Feb 23 15:38:19 2017 +0000

    Update Friulian translation

 po/fur.po | 640
 +++++++++++++++++++++++++++++++++-----------------------------
 1 file changed, 337 insertions(+), 303 deletions(-)

commit e4aba4456ce91eeca3ee91fd5e400d7bfa0dad8e
Author: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>
Date:   Thu Feb 23 11:01:26 2017 +0000

    Update Chinese (Taiwan) translation

 po/zh_TW.po | 854
 ++++++++++++++++++++++++++++++++++--------------------------
 1 file changed, 479 insertions(+), 375 deletions(-)

commit bb0f1f29f6fe02b461b51c701278f8fdbc2c63b3
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Wed Feb 22 19:16:52 2017 -0600

    Revert "prefs-dialog: Bring back default encoding preference"

    This reverts commit 88aacc4f86762c805d2abf092c727e363282b64f.

    This combo is seriously broken; it only opens the first time you click
    on it, and the menu opens way off on the left side of the screen. It's
    just too broken to have in 3.24. Oh well.

 src/prefs-dialog.c                | 75
 ---------------------------------------
 src/resources/gtk/prefs-dialog.ui | 39 --------------------
 2 files changed, 114 deletions(-)

commit defd406d788e7b837e9422bcc651cc789b2cb7b7
Author: Gabriel Ivascu <ivascu.gabriel59@gmail.com>
Date:   Wed Feb 22 13:55:20 2017 +0200

    sync-secret: Fix string typo

 src/sync/ephy-sync-secret.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit e99e1fe2093f5b7fe6de8b70db79b8a5f1480522
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Tue Feb 21 11:08:27 2017 -0600

    HACKING: Fix advice about default web context use

    We don't use default context ever anymore

 HACKING | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

commit 894dd409d1d52bacb4b04ba1d4f59563d963ddd8
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Tue Feb 21 11:05:35 2017 -0600

    Fix typo in HACKING file

 HACKING | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 3f76e6e5d45e4be973653f530e23c5ce2667d079
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Tue Feb 21 10:36:18 2017 -0600

    history-service: remove longstanding transactions

    Instead of having a longstanding transaction open at all times and
    scheduling commits that open a new transaction, just create
    transactions
    around history messages, so that each message forms its own atomic
    transaction. This is way simpler.

    I considered that we might not need transactions at all, but there are
    performance implications to removing transactions entirely.

 lib/history/ephy-history-service-hosts-table.c  |   1 -
 lib/history/ephy-history-service-private.h      |   2 -
 lib/history/ephy-history-service-urls-table.c   |   1 -
 lib/history/ephy-history-service-visits-table.c |   7 +-
 lib/history/ephy-history-service.c              | 135
 ++++++++----------------
 5 files changed, 47 insertions(+), 99 deletions(-)

commit fd742ea85019adb214865d8628f131c19ba8bc20
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Tue Feb 21 09:58:17 2017 -0600

    sqlite-connection: Remove unused rollback transaction method

 lib/ephy-sqlite-connection.c | 8 --------
 lib/ephy-sqlite-connection.h | 1 -
 2 files changed, 9 deletions(-)

commit 1dd71f3e08c9497b748e1138ec11910f3d2a53ce
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Tue Feb 21 09:54:11 2017 -0600

    history-service: Remove useless allocations

 lib/history/ephy-history-service-hosts-table.c | 7 +++----
 lib/history/ephy-history-service-urls-table.c  | 7 +++----
 2 files changed, 6 insertions(+), 8 deletions(-)

commit ed2dad156899e6a8224447b696bbf15de2a52049
Author: Rafael Fontenelle <rafaelff@gnome.org>
Date:   Tue Feb 21 11:11:18 2017 +0000

    Update Brazilian Portuguese translation

 po/pt_BR.po | 293
 ++++++++++++++++++++++++++++++------------------------------
 1 file changed, 147 insertions(+), 146 deletions(-)

commit 2237adc1c7519d1565291a5080da3fbbdb99e669
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Mon Feb 20 20:24:03 2017 -0600

    Fix theoretical race condition in ephy_history_service_add_visit_row

    The design of the history service feels like one big footgun. I'm
    really
    not sure why a history thread is necessary at all, or why we have
    longstanding transactions (defeating the entire purpose of
    transactions)
    instead of just using autocommit, which I think would be sufficient
    for
    everything we do.

    This commit doesn't fix any of that. That's just a rant. This commit
    just fixes one theoretical race condition. Prepared statements
    lock the
    database and need to be finalized BEFORE commit. The current code only
    works if the prepared statement is finalized on the UI thread
    before the
    scheduled commit occurs on the history thread. Which is probably
    always,
    but let's not leave it to luck.

    I could see this leading to a small loss of the last bit of history
    when
    closing the browser.

    https://bugzilla.gnome.org/show_bug.cgi?id=778649

 lib/history/ephy-history-service-visits-table.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

commit cd99a05a856dfa7d373938b4b16a0f208db3167a
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Mon Feb 20 13:51:48 2017 -0600

    history-test: Remove extra blank line

 tests/ephy-history-test.c | 1 -
 1 file changed, 1 deletion(-)

commit dc29fb4c1c7d79878c7997d3ec45e6ec40ef4b0b
Author: Kukuh Syafaat <syafaatkukuh@gmail.com>
Date:   Mon Feb 20 16:49:27 2017 +0000

    Update Indonesian translation

 po/id.po | 40 ++++++++++++++++++++++------------------
 1 file changed, 22 insertions(+), 18 deletions(-)

commit ddeb8a081797f5b94adfed68a03d729ec05ad8e1
Author: Kukuh Syafaat <syafaatkukuh@gmail.com>
Date:   Mon Feb 20 12:01:16 2017 +0000

    Update Indonesian translation

 po/id.po | 3197
 +++++++++++++++++++++++++++++++++++---------------------------
 1 file changed, 1816 insertions(+), 1381 deletions(-)

commit 8eedd19772ec4bd5d5bdecd05cb4a9377e0cfff9
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Sun Feb 19 17:44:11 2017 -0600

    bookmarks-popover: Don't crash when removing bookmarks

 src/bookmarks/ephy-bookmarks-popover.c | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

commit 913dbc3042ec18c8699d0f48db21a015b1d12bb4
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Sun Feb 19 16:38:18 2017 -0600

    bookmarks: Stop hardcoding "Favorites" everywhere

 po/POTFILES.in                                | 1 +
 src/bookmarks/ephy-bookmark-properties-grid.c | 4 ++--
 src/bookmarks/ephy-bookmark.c                 | 4 ++--
 src/bookmarks/ephy-bookmarks-manager.c        | 4 ++--
 src/bookmarks/ephy-bookmarks-manager.h        | 3 +++
 src/bookmarks/ephy-bookmarks-popover.c        | 4 ++--
 6 files changed, 12 insertions(+), 8 deletions(-)

commit adb1ef77cd11e875e95e8110f14047532f2b5c94
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Sun Feb 19 16:33:03 2017 -0600

    bookmarks-manager: Don't allow deleting Favorites tag

 src/bookmarks/ephy-bookmarks-manager.c | 5 +++++
 1 file changed, 5 insertions(+)

commit 02992ad08561e9432103995a4020a74dc0bf0208
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Sun Feb 19 16:24:53 2017 -0600

    bookmarks-popover: Exit tag detail view if removing tag's last
    bookmark

 src/bookmarks/ephy-bookmarks-popover.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

commit dd589f663cade1b1041fe70dfa3d9bcfedcaf8be
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Sun Feb 19 16:15:35 2017 -0600

    bookmarks-popover: Fix removing tag while in tag detail view

    There were two problems here:

    (1) The code to handle removing the bookmark from the tag view was
    guarded by the code that checks if the bookmark is the last one
    remaining in the tag view. That is, it can never be reached except
    when
    we're about to exit tag view anyway. Fix that by moving it outside the
    top conditional, where it never belonged.

    (2) With that fixed, the code now removes the bookmark from the tag
    detail view even if the tag removed does not correspond to the current
    tag detail view. That's bogus. Check the current view's tag before
    removing the bookmark row.

 src/bookmarks/ephy-bookmarks-popover.c | 53
 +++++++++++++++++-----------------
 1 file changed, 26 insertions(+), 27 deletions(-)

commit fe31197f7dce130ce73fcffc6e086550ced73bbf
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Sun Feb 19 16:09:13 2017 -0600

    bookmarks-popover: Properly remove bookmark from tag detail

    When a bookmark is removed, we need to also remove it from the tag
    detail.

 src/bookmarks/ephy-bookmarks-popover.c | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

commit 99a48a54667205b709598d6e5f15e7045f25557c
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Sun Feb 19 15:52:14 2017 -0600

    bookmarks-popover: Switch away from tag detail view only if necessary

    If we are deleting a tag while in tag detail view, only switch
    away from
    detail view if the tag we are deleting is the tag we are currently
    viewing. Otherwise it's confusing and dumb.

 src/bookmarks/ephy-bookmarks-manager.c |  5 +++--
 src/bookmarks/ephy-bookmarks-popover.c | 28 +++++++++++++++++++++++-----
 2 files changed, 26 insertions(+), 7 deletions(-)

commit f630032e1279d714d98ece3b7fdd6e41643c097a
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Sun Feb 19 14:57:22 2017 -0600

    bookmarks-popover: fix crash when deleting tag

    We want to do this once after processing all bookmarks, not once for
    each bookmark... this was causing crashes when deleting a tag while
    viewing a particular tag's list of bookmarks.

 src/bookmarks/ephy-bookmarks-popover.c | 23 +++++++++++------------
 1 file changed, 11 insertions(+), 12 deletions(-)

commit 1a09c3ec717d9e3b052215dc5cc924d3cf6ee61a
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Sun Feb 19 14:46:13 2017 -0600

    bookmarks-popover: Ignore smart bookmarks in tag added/removed
    callbacks

    Bookmarks popover is not designed to handle smart bookmarks. They're
    just going to make it crash.

 src/bookmarks/ephy-bookmarks-popover.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit 8e35be677af9aa86d17b96b2f12b9b6971dd0cdf
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Sun Feb 19 14:32:04 2017 -0600

    bookmark-row: Fix criticals when destroyed before favicon loads

 src/bookmarks/ephy-bookmark-row.c | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

commit a048aa7684e79dc05fdfe4a69aa5e299e00870dc
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Sun Feb 19 20:59:09 2017 +0100

    Update Polish translation

 po/pl.po | 102
 +++++++++++++++++++++++++++++++++------------------------------
 1 file changed, 53 insertions(+), 49 deletions(-)

commit 03b5ca5a4996de96503d0c5113e7b5910aff4792
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Sun Feb 19 13:55:07 2017 -0600

    Use emblem-favorite-symbolic icon for favorites

    This doesn't match the mockups, but it helps clarify that favorites
    are
    different from other bookmarks. Favorites are your favorite bookmarks!
    <3

    https://bugzilla.gnome.org/show_bug.cgi?id=778849

 src/bookmarks/ephy-bookmark-properties-grid.c | 2 +-
 src/bookmarks/ephy-bookmarks-popover.c        | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit accffcdae816ea3f9d6bdf2d62673e7a58d4ff43
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Sun Feb 19 12:59:16 2017 -0600

    Do not show add bookmarks popover star in incognito mode

    It doesn't work in incognito mode.

 src/ephy-window.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 0f0e3ea6f1b9c388b33adb0d4d797de07debd64f
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Sun Feb 19 12:50:47 2017 -0600

    history-dialog: Disable forget actions in incognito mode

    They always fail, because the history service is read-only.

    I investigated using a separate history service in read/write
    mode, but
    couldn't get it to work properly. Carlos prefers not to modify
    anything
    in incognito mode anyway.

 src/ephy-history-dialog.c           | 30 +++++++++++++++++++++++++++---
 src/resources/gtk/history-dialog.ui |  4 ++--
 2 files changed, 29 insertions(+), 5 deletions(-)

commit fff709a2babd44a6e1b8a16f6c70a60b21734f39
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Sun Feb 19 12:37:52 2017 -0600

    history-service: Allow reading history filename

    There's no reason to prevent reading it. We should either do this or
    else remove the get_property implementation, as it doesn't make any
    sense to have code for getting an unreadable property.

 lib/history/ephy-history-service.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 937160676e46600c532450007764100e017761a0
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Sun Feb 19 12:23:09 2017 -0600

    embed-shell: Fix dumb return types

 embed/ephy-about-handler.c                 |  2 +-
 embed/ephy-embed-shell.c                   | 10 +++++-----
 embed/ephy-embed-shell.h                   |  7 +++++--
 embed/ephy-web-view.c                      |  2 +-
 src/ephy-encoding-dialog.c                 |  4 +---
 src/ephy-header-bar.c                      |  2 +-
 src/ephy-location-controller.c             |  2 +-
 src/ephy-shell.c                           |  3 +--
 src/prefs-dialog.c                         |  2 +-
 src/search-provider/ephy-search-provider.c |  2 +-
 tests/ephy-completion-model-test.c         |  4 ++--
 tests/ephy-encodings-test.c                |  2 +-
 tests/ephy-web-view-test.c                 |  2 +-
 13 files changed, 22 insertions(+), 22 deletions(-)

commit 122612b18bf4eec34b6b8ae4917f2b4fab021c47
Author: Aurimas Černius <aurisc4@gmail.com>
Date:   Sun Feb 19 20:32:03 2017 +0200

    Updated Lithuanian translation

 po/lt.po | 1878
 +++++++++++++++++++++++++++++++++++++++-----------------------
 1 file changed, 1196 insertions(+), 682 deletions(-)

commit fd19259bddca1ca87116b34bb27beec356113e7e
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Sun Feb 19 11:05:26 2017 -0600

    history-service: Fix write to database in read-only mode

    Now that SQLite enforces read-only mode for us, bugs like this will be
    uncovered....

    https://bugzilla.gnome.org/show_bug.cgi?id=778649

 lib/history/ephy-history-service-hosts-table.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 486f4389a11bee5e5fb2a4e2f1b415d082e6e6b6
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Sun Feb 19 10:54:06 2017 -0600

    Use gtk_show_uri_on_window

    To avoid deprecation warnings

 lib/ephy-gui.c        | 8 +-------
 src/ephy-window.c     | 4 +---
 src/window-commands.c | 9 +--------
 3 files changed, 3 insertions(+), 18 deletions(-)

commit 2cb839ce0e385335f6253ffeca5e4c57073b3daa
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Sun Feb 19 09:45:32 2017 -0600

    history-service: Fix multiple initialization race conditions

    This started out as a project to fix the read-only service test I just
    added. Initializing two history service objects in a row was racy,
    because I needed the first history service to be initialized before
    creating the second one, but there was no way to ensure that. This was
    only an issue for this one test, though; real Epiphany browser mode of
    course only creates one history service, so I assumed it was not a big
    problem.

    Fix this first issue using a condition variable to ensure the GObject
    initialization doesn't complete until after the history service has
    actually created the SQLite database.

    In doing this, I discovered a second bug. The use of the condition
    variable altered the timing slightly, and caused the history filename
    property to not be set in time when entering the history service
    thread.
    In fact, it's kind of amazing that the history service ever worked at
    all, because there is absolutely nothing here to guarantee that the
    filename and read-only properties have been initialized prior to
    starting the history service thread. So the database filename could be
    NULL when opening the database, which is a great way to lose all your
    history. Also, it could also be in read-only mode here even if it is
    supposed to be read/write mode, which is going to cause failures after
    today's commits. Fix this by adding a constructed function and
    starting
    the history thread from there, instead of doing it in init. This means
    that the history thread will not be started until after properties
    have
    been set. Note that, while I could not reproduce this bug on my
    machine
    until after adding the condition variable to fix the first bug,
    that was
    just due to timing and luck; it was already broken before.

    https://bugzilla.gnome.org/show_bug.cgi?id=778649

 lib/history/ephy-history-service-private.h |  2 ++
 lib/history/ephy-history-service.c         | 47
 ++++++++++++++++++++++++------
 tests/ephy-history-test.c                  |  5 ----
 3 files changed, 40 insertions(+), 14 deletions(-)

commit 132e08c158e75c781dc1b94a20ce8810c7c00ef5
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Sun Feb 19 08:58:42 2017 -0600

    history-service: Remove incorrect comment

    The code does something different, and it's not complex enough
    to merit
    a comment anyway.

    https://bugzilla.gnome.org/show_bug.cgi?id=778649

 lib/history/ephy-history-service.c | 1 -
 1 file changed, 1 deletion(-)

commit 492b0fce565b3517ae65a4484e2fb9413b953426
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Sun Feb 19 08:57:04 2017 -0600

    history-service: Don't schedule commit after clearing history

    Now that clear all is implemented by deleting the database file,
    there's
    no longer any need to schedule a commit here.

    https://bugzilla.gnome.org/show_bug.cgi?id=778649

 lib/history/ephy-history-service.c | 1 -
 1 file changed, 1 deletion(-)

commit cfd9e13b78ebac4d28ffa5e088added55c4e6b57
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Sat Feb 18 22:13:05 2017 -0600

    history-service: Remove Yoda conditions

    There's no excuse for this....

    https://bugzilla.gnome.org/show_bug.cgi?id=778649

 lib/history/ephy-history-service.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

commit d75b14bb914ea2c4fa8177c0479b7f5e0bbef338
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Sat Feb 18 22:05:21 2017 -0600

    history-service: Fix leak when clearing all history

    Closing the connection is great, but not enough. We're leaking our
    wrapper object.

    https://bugzilla.gnome.org/show_bug.cgi?id=778649

 lib/history/ephy-history-service.c | 3 +++
 1 file changed, 3 insertions(+)

commit 594e489735f0967dd582a664a759abfb0a2828a0
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Sat Feb 18 21:28:22 2017 -0600

    history-service: Ensure thread member is initialized before use

    We have assertions to ensure that several functions are only ever
    called
    on the history thread. But the first such assertion, at the top of
    run_history_service_thread, sometimes fails when running the tests. It
    is racy. Use a mutex to fix this.

    These assertions are actually executed at runtime for end users,
    so it's
    surprising that nobody has ever reported a bug about this.

    We also need to be sure to initialize the async queue before
    running the
    history service thread. The mutex is needed as a memory barrier
    here, so
    it's not possible to remove the mutex by removing the assertions
    except
    in debug mode, which is something I considered.

    https://bugzilla.gnome.org/show_bug.cgi?id=778649

 lib/history/ephy-history-service-private.h |  1 +
 lib/history/ephy-history-service.c         | 15 ++++++++++++++-
 2 files changed, 15 insertions(+), 1 deletion(-)

commit 9771c52f02fa72989af5d0bd9552657d8ecb5233
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Sat Feb 18 20:47:50 2017 -0600

    Fix search provider horribly breaking history service

    If the search provider is running, all database transactions will fail
    because the search provider will take a write lock on the database.
    Ouch! This is worth a good string of profanities....

    Notably, this causes opening the database to fail if you searched for
    anything in the shell overview in the minute prior to starting
    Epiphany.
    (One minute is our search provider timeout.) Then no history will ever
    get saved, ever. I think. Something like that.

    So, although our history service has read-only mode, it's enforced at
    the history service level, not the SQLite connection level. SQLite
    actually has a read-only mode, which we are not using, and which
    we need
    to use in the search provider if we want to have any chance of
    reliably
    saving history.

    Accordingly, give EphySQLiteConnection a mode property, to indicate
    whether it is in writable mode or read-only mode. Teach all callers to
    set it properly. Use it, rather than a boolean, when creating the
    EphyHistoryService, since boolean parameters are hard to read at call
    sites. And actually put the underlying SQLite connection in read-only
    mode when set.

    Don't open transactions or ever attempt to rollback in read-only mode,
    because that doesn't make any sense. This should never have been
    happening due to the history service level read-only checks, but it
    should be enforced at the SQLite connection level now, too.

    Avoid initializing tables when opening the database in read-only mode.
    This is obviously writing to the database, and now that we really
    have a
    read-only SQLite connection it fails. As it should.

    SQLite connection creation will now fail in case the connection is
    read-only and the database does not yet exist; it will no longer be
    created anyway. So handle this case gracefully. It's fine for the
    history service to return nothing in this case. This has the small
    advantage that the history thread will quit immediately after it's
    created in this case, so it's not constantly running if there's no
    history in incognito mode anymore. To check for this condition, we
    expose the underlying SQLite error; previously, only the error message
    was exposed outside of EphySQLiteConnection. Exposing the error isn't
    really necessary or sufficient, though, since it's super generic
    and we
    have to check if the file actually exists on disk anyway.

    Test it. Ensure that a read/write history service functions
    properly if
    it's running at the same time as a read-only history service. Using
    two
    read/write services here fails very badly, but when one of the
    services
    is read-only it works fine.

    Also, remove the original read-only service test. It only ever tested
    that creating a read-only history service with an empty history
    database
    would succeed. And, as I just explained, that fails now.

    Lastly, stop running a second history service for the search provider.
    It needed its own once upon a time when the search provider did
    not run
    an EphyShell instance. That changed when we stopped using the default
    web context, because nothing works without EphyEmbedShell now, as all
    sorts of places need it to get the embed's web context. And since
    EphyEmbedShell runs its own history service, the search provider can
    just use that now instead of running its own separate one.

    https://bugzilla.gnome.org/show_bug.cgi?id=778649

 embed/ephy-embed-shell.c                     | 10 +++-
 lib/Makefile.am                              |  3 +-
 lib/ephy-sqlite-connection.c                 | 70
 ++++++++++++++++++++++++----
 lib/ephy-sqlite-connection.h                 | 13 +++++-
 lib/history/ephy-history-service.c           | 21 +++++++--
 lib/history/ephy-history-service.h           |  4 +-
 src/bookmarks/ephy-bookmarks-import.c        |  2 +-
 src/profile-migrator/ephy-profile-migrator.c |  2 +-
 src/search-provider/ephy-search-provider.c   |  7 ++-
 tests/ephy-history-test.c                    | 64
 +++++++++++++++----------
 tests/ephy-sqlite-test.c                     |  2 +-
 11 files changed, 149 insertions(+), 49 deletions(-)

commit c88537ed8f4031b01edcc7f687a20b7636a8e453
Author: Jiri Grönroos <jiri.gronroos@iki.fi>
Date:   Sat Feb 18 16:40:13 2017 +0000

    Update Finnish translation

 po/fi.po | 529
 ++++++++++++++++++++++++++++++++-------------------------------
 1 file changed, 268 insertions(+), 261 deletions(-)

commit 8ea2a2b748d7f24549c02c012c149bd44655dffe
Author: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>
Date:   Sat Feb 18 04:46:13 2017 +0000

    Update Chinese (Taiwan) translation

 po/zh_TW.po | 3257
 ++++++++++++++++++++++++++++++++---------------------------
 1 file changed, 1760 insertions(+), 1497 deletions(-)

commit c9230985c4adb52f02b8cb5da8fcf31f873817b4
Author: Baurzhan Muftakhidinov <baurthefirst@gmail.com>
Date:   Fri Feb 17 03:58:14 2017 +0000

    Update Kazakh translation

 po/kk.po | 575
 +++++++++++++++++++++++++++++++++------------------------------
 1 file changed, 299 insertions(+), 276 deletions(-)

commit 779d91da2f9b2efa5ba645bde6c77aaf9eb1302d
Author: Ask Hjorth Larsen <asklarsen@gmail.com>
Date:   Thu Feb 16 14:11:57 2017 +0100

    Updated Danish translation

 po/da.po | 3768
 +++++++++++++++++++++++++++++++++++++-------------------------
 1 file changed, 2224 insertions(+), 1544 deletions(-)

commit 7221b573a6f90b37cc3329a505627d81e0f0b808
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Wed Feb 15 11:34:12 2017 -0600

    downloads-manager: Add another assert

    Something is wrong here. This assert will help catch it.

    https://bugzilla.gnome.org/show_bug.cgi?id=778653

 embed/ephy-downloads-manager.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit da8ce25619e084580e3e86996d5e0c41fc4c9e7d
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Wed Feb 15 10:28:28 2017 -0600

    downloads-popover: Disconnect more signals when popover is destroyed

    These signals can run after the popover has been destroyed. We don't
    want that. Speculative fix for this critical:

    epiphany-Gtk-CRITICAL: gtk_widget_set_sensitive: assertion
    'GTK_IS_WIDGET (widget)' failed

    https://bugzilla.gnome.org/show_bug.cgi?id=778659

 lib/widgets/ephy-downloads-popover.c | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

commit 9b1a33f00c60411f6526365956d12620d6ca8717
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Tue Feb 14 22:55:37 2017 -0600

    sqlite-connection: Do not ignore errors when executing commands

    This file is so careful to handle errors properly everywhere
    EXCEPT the
    point where actual SQLite commands are executed. The history
    database is
    pretty much totally broken right now; having error messages would be
    helpful thank you!

 lib/ephy-sqlite-connection.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

commit ed54cf59236c20835b47ea168c29eec74627d060
Author: Adrian Perez de Castro <aperez@igalia.com>
Date:   Tue Feb 14 15:39:18 2017 +0200

    Restore keybinding Ctrl+Shift+N for opening incognito windows

    This was lost after 8c2427f3b, which removed the old (non-GAction)
    code
    for handling this shortcut. A side effect of this patch is that
    we lose
    the ability of opening new incognito windows with Ctrl+I, but probably
    most people do no even know about that one: Firefox uses Ctrl+Shift+P,
    and Chrom{e,ium} use Ctrl+Shift+N. Also, Ctrl+Shift+N is orthogonal
    with
    Ctrl+N, which opens a new window.

    Additionally, handle Ctrl+Shift+N as one of the keyboard shortcuts
    that
    the web view should not be able to intercept (like Ctrl+N) so
    a webpage
    will not prevent users from creating new windows.

    TL;DR: Nobody is going to miss Ctrl+I, but people are already missing
    Ctrl+Shift+I.

    Fixes https://bugzilla.gnome.org/show_bug.cgi?id=778606

 src/ephy-window.c                     | 3 ++-
 src/resources/gtk/application-menu.ui | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

commit 22591a1e95d5b4b4fa94ea4eda895af93d08d898
Author: Daniel Mustieles <daniel.mustieles@gmail.com>
Date:   Tue Feb 14 20:28:51 2017 +0100

    Updated Spanish translation

 po/es.po | 456
 +++++++++++++++++++++++++++++++++------------------------------
 1 file changed, 240 insertions(+), 216 deletions(-)

commit 368e486c175840de3eb687a4f9d7dad063d78bc2
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Mon Feb 13 22:51:34 2017 -0600

    embed-shell: fix criticals in delayed_thumbnail_update_data_free

 embed/ephy-embed-shell.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit bcfec58638afa695a7b99d5fa259f2e2fa4bc616
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Mon Feb 13 21:41:25 2017 -0600

    Bump gdk-pixbuf requirement

    Or thumbnails will be low-res.

    https://bugzilla.gnome.org/show_bug.cgi?id=775991

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit d1c4598e080e684664318660b4825a8e63171615
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Mon Feb 13 21:40:57 2017 -0600

    profile-migrator: Delete old bookmarks files

    Don't want this to be a personal data leak....

 src/profile-migrator/ephy-profile-migrator.c | 34
 ++++++++++++++++------------
 1 file changed, 20 insertions(+), 14 deletions(-)

commit a3dccb21a027956669ecf9318b751f45deb536a0
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Mon Feb 13 21:07:31 2017 -0600

    snapshot-service: Fix stale snapshot replacement

    Looks like I broke this in a refactoring, probably
    adc6c404f650d51bf2709ed3d6f70475a0. Snapshots loaded for the overview
    are almost always available in cache before a webpage is visited, so
    those pages would never get updated. We need to update stale snapshots
    in ephy_snapshot_service_get_snapshot_path_async() to avoid this. It
    *could* still happen that snapshot requests are scheduled multiple
    times in a row, but it's unlikely and harmless.

 lib/ephy-snapshot-service.c | 33 ++++++++++++++++++++++-----------
 1 file changed, 22 insertions(+), 11 deletions(-)

commit 2c3a1c42210e85045818fbe45d27e1d0121b53d5
Author: Michael Catanzaro <mcatanzaro@gnome.org>
Date:   Mon Feb 13 17:11:51 2017 -0600

    Prepare 3.23.90

 NEWS         | 11 +++++++++++
 configure.ac |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)