Zoom in per-tab mode was broken after
c6bd1218e8
because RenderWidget::UpdateZoom and RenderViewImpl::UpdateZoomLevel were not updating the
zoom level when temporary zoom level is enabled in both the visual properties and RenderWidget.
This is not the intended behavior and this CL addresses this issue by removing temporary zoom
as part of visual properties and handling temporary zoom settings in the browser side instead.
Bug: 860511
TBR: kenrb@chromium.org
Change-Id: Ic4326438cdec27936fee59d9384a71e7d1e9a238
Reviewed-on: https://chromium-review.googlesource.com/1127465
Commit-Queue: Andre Kaba <akaba@google.com>
Reviewed-by: Charlie Reis <creis@chromium.org>
Reviewed-by: Kevin McNee <mcnee@chromium.org>
Reviewed-by: Fady Samuel <fsamuel@chromium.org>
Reviewed-by: James MacLean <wjmaclean@chromium.org>
Cr-Commit-Position: refs/heads/master@{#573925}
The feature shipped in M63 so the old code is not required anymore.
This CL removes the old CBD dialog and the kTabsInCBD flag as well as
migration code for preferences. Users that have not been migrated
will get default values for selected checkboxes in the basic tab.
Bug: 800184
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: If9325462be1bf652206b7956d5d25dcfec717078
Reviewed-on: https://chromium-review.googlesource.com/857059
Reviewed-by: Mike West <mkwst@chromium.org>
Reviewed-by: James MacLean <wjmaclean@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Dave Schuyler <dschuyler@chromium.org>
Reviewed-by: Martin Šrámek <msramek@chromium.org>
Commit-Queue: Christian Dullweber <dullweber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#532393}
This CL changes the ownership of base::Clock and base::TickClock from
injectee-owned to injecter-owned. Before this CL, these instances are
owned by the owner of the injectee or one of the injectees themselves.
That makes the ownership complex.
After this CL, the clock instances are always un-owned by injectees.
Instead, an injecter owned one is used on testing, and the shared
instance is used on production path.
Bug: 789079
Change-Id: Ibdcb6600c0ccaf212ab36c02d57f81bc492db989
Reviewed-on: https://chromium-review.googlesource.com/792693
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Reviewed-by: Martin Šrámek <msramek@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#520010}
By spamming it with DCHECK_CURRENTLY_ON() everywhere. Since no DCHECKs
failed, delete the lock and all the related code that assume the class
can be accessed on other threads. Add threading checks to ZoomController
as well.
Change-Id: I04f8315eaebd5839889a771fd5c13bf43c4d8f31
Reviewed-on: https://chromium-review.googlesource.com/762529
Reviewed-by: James MacLean <wjmaclean@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Cr-Commit-Position: refs/heads/master@{#517891}
Add support to delete and count ZoomLevels in order to integrate
them with Site Settings deletion for Clear Browsing Data.
In order to delete ZoomLevels by time period, I'm storing a timestamp
for each zoomlevel to indicate when it was last edited.
The timestamp is only stored if the flag TabsInCBD is activated to
prevent recording it before the new UI for CBD is ready.
Bug: 725401, 137412
Change-Id: I39ad649cf9bc8ab67e998e7a14c85cf7b153dc70
Reviewed-on: https://chromium-review.googlesource.com/623752
Commit-Queue: Christian Dullweber <dullweber@chromium.org>
Reviewed-by: Charlie Reis <creis@chromium.org>
Reviewed-by: James MacLean <wjmaclean@chromium.org>
Reviewed-by: Martin Šrámek <msramek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#499464}
Replace the one remaining use with a direct call from RenderViewHostImpl
to HostZoomMapImpl.
Bug: 170921
Change-Id: Id205af910ebdb8dbe4227cf40fa9f4d239ed1071
Reviewed-on: https://chromium-review.googlesource.com/637055
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Sam McNally <sammc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#498339}
CL generated by
git grep -l NON_EXPORTED_BASE | xargs sed -i 's/NON_EXPORTED_BASE(\([^)]*\))/\1/g'
git cl format
I'm not changing compiler_specific.h itself in this cl, to keep the revert
small if the subsequent removal of the actual macro should break something.
Bug: 752837
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_site_isolation;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I53d6460e592b91a173f7aa55dfdb05631e51e5f7
Reviewed-on: https://chromium-review.googlesource.com/614703
Reviewed-by: Brett Wilson <brettw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#494486}
Had to pull the mojom out into a separate interface because Frame
itself isn't associated, so a SetHostZoomLevel on Frame would be racy
with the FrameMsg_CommitNavigation.
Also fixes the IFrameZoomBrowserTest under PlzNavigate because it uses
the new machinery.
R=nasko@chromium.org
BUG=609607
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation
Review-Url: https://codereview.chromium.org/2374863002
Cr-Commit-Position: refs/heads/master@{#428084}
Contrary to previous attempt at:
68c6f2ce16
RenderFrameMessageFilter is on the IO thread, and is a BrowserAssociatedInterface, so will maintain the ordering of the resource request and the zoom level request. See also https://codereview.chromium.org/2167513003.
BUG=609607
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation
Review-Url: https://codereview.chromium.org/2211713002
Cr-Commit-Position: refs/heads/master@{#410417}
Reason for revert:
Async request for zoom level doesn't work in all cases https://crbug.com/614348https://crbug.com/613979.
I thought https://www.chromium.org/developers/design-documents/mojo/chrome-ipc-to-mojo-ipc-cheet-sheet#TOC-Threading-Model implied the ordering would be correct, but it seems that was too hopeful.
Original issue's description:
> Add FrameHost mojo service
>
> Adds new frame-level service with one initial method to handle host zoom
> level.
>
> This moves zoom level supply from async_resource_handler.cc to being a
> request made when render_frame_impl handles a willSendRequest.
>
> The goal of this change is to remove the dependency of
> content/browser/loader on the rest of content/browser in particular
> here, removing the use of c/b/host_zoom_map_impl.h in
> content/browser/loader/async_resource_handler.cc.
>
> BUG=598073,609607
> CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation
>
> Committed: https://crrev.com/68c6f2ce16d9807b5cb82679099c82c40f39e911
> Cr-Commit-Position: refs/heads/master@{#394547}
TBR=dcheng@chromium.org,ben@chromium.org,jam@chromium.org,nasko@chromium.org,wjmaclean@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=598073,609607,614348,613979
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation
Review-Url: https://codereview.chromium.org/2007203002
Cr-Commit-Position: refs/heads/master@{#395761}
Adds new frame-level service with one initial method to handle host zoom
level.
This moves zoom level supply from async_resource_handler.cc to being a
request made when render_frame_impl handles a willSendRequest.
The goal of this change is to remove the dependency of
content/browser/loader on the rest of content/browser in particular
here, removing the use of c/b/host_zoom_map_impl.h in
content/browser/loader/async_resource_handler.cc.
BUG=598073,609607
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation
Review-Url: https://codereview.chromium.org/1964273002
Cr-Commit-Position: refs/heads/master@{#394547}
This CL causes the AsyncResourceHandler code to check for temporary zoom
levels for the current view before sending the new zoom level during
navigation. This will allow tabs with per-tab scope zoom settings to
retain their current (temporary) zoom levels during same-origin
navigations.
Review URL: https://codereview.chromium.org/809223006
Cr-Commit-Position: refs/heads/master@{#316301}
This CL changes the persistence of host zoom levels to be on
a per-storage-partition basis, as opposed to (the current)
per-profile basis. This is needed to allow WebView content
(withing apps) to keep their zoom levels independent of those
in the main browser window.
BUG=335317
Review URL: https://codereview.chromium.org/393133002
Cr-Commit-Position: refs/heads/master@{#303841}
This CL operates by providing a mechanism in HostZoomMap to convert urls
into the error-page url when an error page is loaded. The error-page
url is used to track the zoom-levels for error pages. Callers to
HostZoomMap::SetZoomLevelForHost*() functions are expected to convert
URLs obtained from NavigationEntrys before setting zoom levels.
HostZoomMap is also modified to add a function to transmit the zoom
level for a newly loaded error page, since it doesn't follow the usual
loading pathway. The transmission of the zoom level is triggered
when an error page is detected in
NavigationControllerImpl::RendererDidNavigateToNewPage().
The CL also creates a localization string to represent error pages in
the Content Settings page list of hosts with non-default zooms, this
since the internal url representations for error pages are not suitable
to be displayed to a user.
BUG=417699
Review URL: https://codereview.chromium.org/678963003
Cr-Commit-Position: refs/heads/master@{#301707}
This patch was automatically generated by applying clang fixit hints
generated by the plugin to the source tree.
BUG=417463
TBR=sky@chromium.org
Review URL: https://codereview.chromium.org/667943003
Cr-Commit-Position: refs/heads/master@{#300469}
This step is a giant search and replace for OVERRIDE and FINAL to
replace them with their lowercase versions.
BUG=417463
Review URL: https://codereview.chromium.org/637183002
Cr-Commit-Position: refs/heads/master@{#298804}
In an effort to simplify zoom, this CL removes ViewMsg_SetZoomLevel and plumbs zoom on WebContentsImpl directly through to HostZoomMap.
At present calls to WebContents::SetZoomLevel() invoke up to three cross-process IPCs, and introduce a synchronization requirement for any caller that needs to block until the results of the operation are visible via WebContents::GetZoomLevel().
This CL simplifies this down to one IPC and removal of the
synchronization requirement. It adds a new IPC message to signal changes in a view's ability to be zoomed, and removes an ViewMsg_SetZoomLevel that was used only by SetZoomLevel().
BUG=none
Review URL: https://codereview.chromium.org/287093002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@273854 0039d316-1c4b-4281-b951-d872f2087c98
This CL shows page zoom levels as content settings in chrome://settings/content
and allows clearing them.
BUG=137412
TEST=Open a site example.com, zoom using Ctrl + +, observe how settings change in chrome://settings/content -> Zoom levels; reset some zoom levels.
R=dbeam@chromium.org, joi@chromium.org, markusheintz@chromium.org, sky@chromium.org
Review URL: https://codereview.chromium.org/197523002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@257730 0039d316-1c4b-4281-b951-d872f2087c98
Add scheme to HostZoomMap, use it to specify unmodifiable zoom level for internal ui pages.
Reason : Currently, zoom settings are remebered on a per-host basis, and ignore scheme.
It works nice for http/https access for the same host, but it is not possible to distinguish between
internal ui (with chrome:// scheme) and some intranet sites (having https://login/ does not seem unlikely).
BUG=164269
Review URL: https://chromiumcodereview.appspot.com/11866004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187331 0039d316-1c4b-4281-b951-d872f2087c98