summaryrefslogtreecommitdiffstats
path: root/src/core/content_browser_client_qt.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix sites with optional client certificate supportAllan Sandfeld Jensen2016-11-101-0/+8
| | | | | | | | | | | | We fail to load pages that supports client certificates because we didn't implement the client certificate selection. This patch makes a small implementation that selects no certificate whenever a client certificate is requested. Task-number: QTBUG-56206 Change-Id: I95394d9664c7e8e4d03d9e63e5043da81e2672a4 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Do not fail for wayland-eglMichal Klocek2016-11-071-1/+2
| | | | | | | | Client-side buffer integration can be set manually, therefore beside accepting generic wayland plugin accept also wayland-egl. Change-Id: I8269f117f81cf8bb9462bea525cb253727910bc6 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Merge remote-tracking branch 'origin/5.6' into 5.7Allan Sandfeld Jensen2016-03-081-3/+4
|\ | | | | | | Change-Id: Ieab3c4a6d16b1d7b7c0243ff8898f81807e7b1fc
| * Always reject non-overridable certificate errorsAllan Sandfeld Jensen2016-02-231-3/+4
| | | | | | | | | | | | | | | | | | We don't call the callback in case the error can't be allowed anyway, so we should tell the caller right away the error was denied. Task-number: QTBUG-50581 Change-Id: I8fcd72b7fbab5a8cbaffba95c6f97777c301cb64 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* | Basic adaptation to Chromium 49Allan Sandfeld Jensen2016-03-071-12/+13
| | | | | | | | | | | | | | | | Converts types, callbacks and headers to match Chromium 49. Task-number: QTBUG-51173 Change-Id: I544ef46e187105e250fea1b48b72d2c81a906640 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* | Rename UserScriptController/Host to UserResourceController/HostSzabolcs David2016-02-101-2/+2
| | | | | | | | | | | | | | These classes can operate user stylesheets too. Change-Id: Ia283af92e52a822b26003ff65e0e7dc391b0904d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Include printing sources and enable printing for desktop platforms.Michael Bruning2016-02-101-0/+6
| | | | | | | | | | | | | | | | | | | | | | Also adds Qt specific core classes for printing as well as adding printing related objects to the web engine context and including the printing sources in the builds for the desktop platforms. Also updates src/3rdparty submodule SHA-1. Change-Id: I9c2631c59f63571c0840d838077e66122bacc741 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Add spell checker supportMichal Klocek2016-02-011-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Integrate chromium spell checker: * add spellchecker and dependencies to build * underline misspelled words in html text areas * right-click context menu shows up to 4 options to correct the misspelled word * toggle spell check from context menu * add new qml and widget api calls to qwebengineprofile to enable/disable spell check, select spell check language, get list of supported languages/dictionaries * register new qml spell check properties for QtWebEngine 1.3 * CONFIG+="no_spellcheck" to remove spellcheck support Change-Id: Ie61434ab9493597d7759a6f33794f6859c4e3a4c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Unify license header usage.Jani Heikkinen2016-02-011-11/+14
| | | | | | | | | | | | | | | | | | Update files using old header.LGPL3 to use header.LGPL Update files using old header.FLD to use new header.FDL Update files using old header.BSD to use new header.BSD Change-Id: I36a67aaa8c3ca6c7946308defc9c03c3571a7d23 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* | Enable Widevine CDMAllan Sandfeld Jensen2016-01-191-0/+4
| | | | | | | | | | | | | | | | | | | | | | Enable loading Google Chrome's Widevine pepper plugin. Flash and Widevine plugins will now also be searched for in the plugins/ppapi directory. Task-number: QTBUG-50132 Change-Id: I28fb56bb08d7e81629e34420be626621a7981181 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* | Merge branch '5.6' into devAllan Sandfeld Jensen2016-01-121-1/+1
|\| | | | | | | Change-Id: I4272eb59cac08c69eaa58dd4d94debf1b8c5cf78
| * Use default URLRequestInterceptors passed from ChromiumAleksey Yermakov2015-12-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | Default URLRequestInterceptors are required for App Cache and Service Workers support. They were previously ignored and dropped in BrowserContextQt::CreateRequestContext. Implementation in content shell was taken as a reference. Change-Id: I5a12e90febdb4c639f9ead9faf044df09431bdd0 Reviewed-by: Aleksey Yermakov <jp.kuraisu@gmail.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Adapting to Chromium 47Allan Sandfeld Jensen2015-10-271-1/+0
|/ | | | | | | Updating to Chromium 47 and adapting API. Change-Id: Id465bbcd4facd7c47cb8a9f4bd4e18cbdc0d1120 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* Merge branch '5.5' into 5.6Allan Sandfeld Jensen2015-08-181-0/+4
|\ | | | | | | Change-Id: I9977663123560a22f493b8c02d02de8897b38666
| * Fix single-process modePeter Varga2015-07-141-0/+4
| | | | | | | | | | | | | | | | | | | | Destroy RenderprocesHostimpl first then the WebEngineContext. RenderProcessHostImpl's destructor may use the default BrowserContext stored by the WebEngineContext. Task-number: QTBUG-45722 Change-Id: Ide8875a89bd339ecf65ddd32a5f00842102c1c43 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | add API to set the Accept-Language HTTP request-header fieldJoerg Bornemann2015-08-041-0/+5
| | | | | | | | | | | | | | | | | | | | Add methods to set the Accept-Language field in QWebEngineProfile and QQuickWebEngineProfile. Task-number: QTBUG-47412 Change-Id: Ifa376bb3551fdc1fb3d68279d734b7f7735782fc Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Permission Management for Chromium 44Allan Sandfeld Jensen2015-07-011-35/+0
| | | | | | | | | | | | | | Implementing the new PermissionManager API. Change-Id: If0fdac24b8fec561a898aba009345576b5ce7fc6 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Trivial changes for Chromium 44Allan Sandfeld Jensen2015-06-231-3/+7
| | | | | | | | | | Change-Id: I8261b201f1d6623eff3427b68b8d098c17d293d3 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.5' into devAndras Becsi2015-04-231-2/+14
|\| | | | | | | Change-Id: I6f913ebc7aed68d4b8c3f8666fd2389607b491b7
| * Force to use English language for QML auto testsPeter Varga2015-04-231-1/+13
| | | | | | | | | | | | | | | | | | | | Moreover, localization setting via QtWebEngine is fixed. System localization setting can be overridden by --lang command line argument. Task-number: QTBUG-45715 Change-Id: I39f3a891e55ee47a57afc394e849ea02b0c76ad5 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com> Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
| * Fix assignment of observer to RenderProcessHost.Adam Kallai2015-04-211-1/+1
| | | | | | | | | | | | | | | | | | By default Chromium uses the process-per-site-instance process model. Therefore if there is a renderProcessHost which is already observed we do not need to add another observer for user scripts. Change-Id: Ic0c2104ebbefb2b8427c43c4c665d96b5a991ba1 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Update support for Shockwave Flash plugin.Paulo Pinheiro2015-04-161-0/+13
|/ | | | | | | | | | Add necessary support to make Flash plugin work properly and be able to navigate on urls and load fonts from system. Support for fullscreen mode still missing. Change-Id: Id948cde47b852332e1a4f5a73e781f01d27223f8 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Fix geolocation (and slight cleanup)Pierre Rossi2015-03-181-1/+0
| | | | | | | | Cleanup is mostly to avoid tripping on an assert when calling GeolocationProvider::GetInstance() from outside the UI thread. Change-Id: Id9c964c1cf952a7c867e5154dd2c05e17733a842 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Add namespace to internal QtWebEngine APIAllan Sandfeld Jensen2015-03-021-1/+5
| | | | | | | | Adds the QtWebEngineCore namespace to all internal core API. This ensures we don't export any internal symbols in the global namespace. Change-Id: I26af888ea7c6c4c4d0f04c24a377c1a9d3c92751 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Introduce a user scripts mechanismPierre Rossi2015-02-211-0/+3
| | | | | | | | | | | | | | | Allowing programmatic injection of JavaScript to accomplish all sorts of tasks on the render process side. This API gives control over the point during the loading phase at which the script is run, whether it is run on sub-frames or not, as well as the JavaScript world it is run in (either the page's main world, or an arbitrary isolated world). This only has the Widgets API. The Quick API, tests and docs are coming in separate patches Change-Id: Ia1c79f68f8dfd4d964281d9723d09062ed7abe46 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Update copyright headersJani Heikkinen2015-02-161-7/+7
| | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: Ieb6bac7a1be5c25eb7cb917495b58b6a870ca6d4 Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
* Forward the application locale in the right formatPierre Rossi2015-02-111-1/+1
| | | | | | | Chromium expects bcp47. Change-Id: I0403fe38e431bbc184d833009e9343235dc543d9 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Handle multiple feature requestsAllan Sandfeld Jensen2015-02-041-1/+13
| | | | | | | | This patch makes it possible to have multiple outstanding feature requests and adds hooks for chromium to cancel requests. Change-Id: Icbeb30aa39ace090d853a29aefaeebbe726fe251 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* Add Qt WebEngine Quick API for allowing certificate errorsPaulo Pinheiro2015-02-021-1/+1
| | | | | | | | | This adds API for overriding some certificate errors. Once overridden any identical error for the same hostname and certificate will use the same override. Change-Id: Idf9e968edca18751cbdab744880480750d0c1bd4 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Replace the inspectable property with an environment variableJocelyn Turcotte2015-01-221-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The current implementation would enable or disable the inspector globally when the inspectable property was set on a WebEngineView, overwriting the value previously set by other pages. Instead of havind default port for the debugging server and having to enable debugging on individual pages, use an environment variable, QTWEBENGINE_REMOTE_DEBUGGING, to enable the debugging server for the whole application at the same time as specifying the port. The format is the same as for QTWEBKIT_INSPECTOR_SERVER in QtWebKit. QTWEBENGINE_REMOTE_DEBUGGING is set by default in quicktestbrowser to ease development. This also keeps the input reading from the --remote-debugging-port command line switch for convenience, but its usage should be considered internal. This patch also take the opportunity to remove the unused DevToolsHttpHandlerDelegateQt::m_browserContext and to move the ownership from ContentBrowserClientQt to WebEngineContext since the list of inspectable pages isn't bound to the BrowserContext anyway. Change-Id: I772687f88f4feee0cc14dd182b0129cc0ea384dd Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
* Fix the inspector after the 40 updateJocelyn Turcotte2015-01-221-0/+5
| | | | | | | | | Update our copy of the DevTools code according to the modifications in Chromium 40. Add a DevToolsManagerDelegate subclass to re-add the target enumeration code and import the new shell Target code. Change-Id: I8c56faaf4dd77ca8f4129fcdc80690c7a117464b Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
* Update Chromium to version 40.0.2214.28 and ninja to 1.5.3.Zeno Albisser2015-01-201-8/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * scoped_refptr operator for implicit conversion to pointer has been disabled upstream: https://codereview.chromium.org/510323002 * Group permission API as done upstream: https://codereview.chromium.org/622793002 * content_worker gyp target has been removed upstream. * GetPageThumbnailData moved to DevToolsManagerDelegate. * ui/ui_resources has been renamed to ui/resources * WebPreferences and ResourceType have moved inside content. * Merge ResourceBundle's InitSharedInstanceLocaleOnly with InitSharedInstanceWithLocale(): https://codereview.chromium.org/457103003 * Remove obsolete accessibility events. * AX_EVENT_SELECTED_TEXT_CHANGED has been renamed to AX_EVENT_TEXT_SELECTION_CHANGED * AX_ROLE_MATH_ELEMENT was removed upstream. https://codereview.chromium.org/695133002 * Screen::IsDIPEnabled has been removed upstream. https://codereview.chromium.org/672823002 * Update DevToolsHttpHandlerDelegateQt according to ShellDevToolsManagerDelegate. * Various functionality from DevToolsHttpHandler was moved to DevToolsManagerDelegate https://codereview.chromium.org/560323005 * DevToolsHttpHandler::Start expects a scoped_ptr now. * Make sure event_factory_evdev.h is not included when USE_OZONE is not defined * ErrorPageParams was moved into namespace error_page. * Media Access is now handled by ContentBrowserClient::CheckMediaAccessPermission * SpecialStoragePolicy moved to namespace storage * Add implementation for new pure virtual function BrowserContext::GetSSLHostStateDelegate. * RenderPass::Id was renamed to RenderPass::RenderPassId * Include view_messages.h for ViewHostMsg_TextInputState_Param * CERT_UNABLE_TO_CHECK_REVOCATION has been deprecated by Chromium: https://codereview.chromium.org/449743002 * MailboxManager::ConsumeTexture only takes the mailbox as an argument * Replace RWHVQt::TextInputStateChanged with RWHVQt::TextInputTypeChanged. * RenderWidgetHostView::ScrollOffsetChanged has been removed. * SkBitmap::Config was removed upstream. * CopyFromCompositingSurfaceCallback has become an own type. * AcceleratedSurfaceInitialized only takes route_id as an argument. * ServerBoundCertService has been renamed to ChannelIDService. Related API has been renamed accordingly. * TextureImageTransportSurface was removed upstream. * Update MediaCaptureDispatcher::OnMediaRequestStateChanged signature. * AudioStream related functions are gone upstream. https://codereview.chromium.org/569713002 * Add implementation for RenderWidgetHostViewQt::GetLastScrollOffset. * Include generic touch_device implementation. * switches::kDisableDesktopNotifications was removed upstream. https://codereview.chromium.org/607843002 * PageTransition moved to ui. * Messages headers are not guarded. Including them multiple times does hurt. * ScaleGestureDetector does not create a standalone GestureDetector anymore. https://codereview.chromium.org/501503003 * MotionEvent::Cancel and Clone are not virtual anymore. https://codereview.chromium.org/502993004 * Exclude os_exchange_data_provider_mac from build. * Remove argument from ScopedClipboardWriter ctor. https://codereview.chromium.org/558913003 * Remove ShowPopupMenu override from WebContentsQt. The function is not pure virtual anymore, and we never implemented any specifics. * Do not use clang on desktop linux. * Request functions in ContentBrowserClient were merged into RequestPermission. * ninja: use configure.py --bootstrap instead of bootstrap.py Change-Id: I3575612826db7845461a949b4e737264bb4e8d88 Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
* Merge "Merge remote-tracking branch 'origin/5.4' into dev" into refs/staging/devFrederik Gladhorn2015-01-141-0/+16
|\
| * Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2015-01-021-0/+16
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/3rdparty src/core/content_browser_client_qt.h src/core/core_module.pro Change-Id: Ia05a6564a4d17ca14ff9b76ae018c3f4ef33d535
| | * Add a stub QuotaPermissionContext implementationSzabolcs David2014-12-041-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This prevents the crash when the application requests persistent storage access using the Quota API (e.g. on http://codepen.io/matt-west/full/CrfKh). The request has been disallowed for now, because it should rely on user permission. Change-Id: I4ae057c9485d3f06f45a637c7eeda9dd69fe6b54 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | | Make Chromium use the same locale as QtAllan Sandfeld Jensen2015-01-131-0/+6
| | | | | | | | | | | | | | | | | | | | | Tell Chromium to use the locale Qt has determined as the default locale. Change-Id: I16986d84afcc0b496a22441b4a92fc09a5c89121 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | | Do not allow desktop notificationsAllan Sandfeld Jensen2015-01-131-0/+5
|/ / | | | | | | | | | | | | | | | | | | | | The default implementation of CheckDesktopNotificationPermission always allows desktop notifications. Until we have implemented them we want them always disabled. If we do not, we will end up with invalid cancel notification Closures being called. Task-number: QTBUG-41893 Change-Id: I609222d538ba6f3d1ac264eacd692211e4e653a7 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* | Enable running on the wayland platform pluginLaszlo Agocs2014-12-041-1/+1
| | | | | | | | | | | | Change-Id: I472279f6f391b036f5af9eb6a07f6803b3786320 Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com> Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.4' into devAndras Becsi2014-12-011-7/+6
|\| | | | | | | | | | | | | | | | | Conflicts: src/core/access_token_store_qt.cpp src/core/access_token_store_qt.h src/core/content_browser_client_qt.cpp Change-Id: Id319ad0d87ce071e63d9c6c22b4fc35523ddfa74
| * Add a stub AccessTokenStore implementation.Robin Burchell2014-11-121-0/+6
| | | | | | | | | | | | | | | | | | Callers inside Chromium expect an implementation of AccessTokenStore to exist. This fixes crashes with the geolocation-based APIs, exposed on e.g. google.com when faking an Android UA (as well as other places, probably). Change-Id: I45e6b483e096d5165fefd86927cdf34e799cc4d9 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* | Wire the geolocation API to QtPositioningPierre Rossi2014-11-241-14/+24
| | | | | | | | | | | | | | | | If QtPositioning is available, provide chromium with a LocationProvider that uses it as a backend. Change-Id: I53ad3b45e49d0d2d181c1a6459b7be764293c2a6 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* | Merge remote-tracking branch 'origin/5.4' into devAllan Sandfeld Jensen2014-11-111-0/+17
|\| | | | | | | | | | | | | | | Conflicts: src/core/browser_context_qt.cpp src/webengine/api/qquickwebengineview_p.h Change-Id: I73bdec03b627b282851d7dda12006d4ab631072c
| * Disable geolocationSzabolcs David2014-10-161-0/+17
| | | | | | | | | | | | | | This prevents the crash when a webpage requests geolocation permission. Change-Id: I7331b869ec1439d678cee7941691289220718f3d Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* | Unglobalize browserContextAllan Sandfeld Jensen2014-11-061-19/+4
|/ | | | | | | | | | | | | | This patch makes it possible to have more than one BrowserContext, for instance for off-the-record browsering but also to enable any other configuration on browser context level. This will make it possible to add page-groups settings and API for settingsthat can only be done on BrowserContext level. This patch does not expose any new API. Change-Id: I0a0e194449cfb5a096a4ac6e2f2b3882b6b4cfa2 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Replace QStringLiteral with QLatin1String where appropriateKai Koehne2014-10-071-5/+5
| | | | | | | | | It's faster to use QLatin1String in places where we don't actually need a QString object (like for comparison, or when creating a string with QStringBuilder). Change-Id: I9b8e28040dc2b79a767e15015b85822d06141bbe Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Add Desktop OpenGL backend for WindowsKai Koehne2014-09-251-1/+1
| | | | | | | | Enabling rendering into a WGL backbuffer, in addition to the EGL/angle one. Change-Id: I8f2e3f5ecf52b6db22712b1129059f462725a256 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Avoid duplicating timers in MessagePumpForUIQtJocelyn Turcotte2014-09-011-7/+19
| | | | | | | | | | | | | | Since DoDelayedWork always returns the time of the next delayed work to process, we would create a new timer for the same event every time we process an event. This would cause a timer starvation on Windows for example. Instead of blindly creating timers, keep track of the requested delay and create a new timer only if the new delay is shorted than the currently scheduled one. Change-Id: I2606231f0a48b8feb85f058a78eb772d26b222f3 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Support using MessagePumpForUIQt in standalone base::ThreadsWebKit Team2014-09-011-3/+10
| | | | | | | | | | | | | We currently assume that MessagePumpForUIQt will only be used on Qt's GUI thread but OSX and Windows do have some cases where TYPE_UI is used for non-UI threads. This currently causes asserts in debug on OSX since the DNS thread quits prematurely. Instead of overriding all those edge cases to use TYPE_DEFAULT, properly support MessagePumpForUIQt::Run by using a QEventLoop. Change-Id: Icdb65966867ca6fd3679c75a698007f63848babc Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Add Qt WebEngine Widgets API for allowing certificate errorsAllan Sandfeld Jensen2014-08-291-0/+22
| | | | | | | | | | | This adds API for overriding some certificate errors. Once overridden any identical error for the same hostname and certificate will use the same override. Similar API for QtWebEngine QML should be added in a later patch. Change-Id: I144147b86d9b592e3f87346a1e48890acee0c670 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Update License Headers for Qt WebEngine to LGPLv3.Zeno Albisser2014-08-211-15/+10
| | | | | | | Change-Id: Idbe0eafb51d77cc00e3a93179b81770724d5bfaa Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Tuukka Turunen <tuukka.turunen@digia.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>