summaryrefslogtreecommitdiffstats
path: root/src/core
Commit message (Collapse)AuthorAgeFilesLines
* Improve thread safety and behavior of custom URL requestsAllan Sandfeld Jensen2015-05-062-8/+71
| | | | | | | | | Adds thread protection between the UI and IO threads access to the QIODevice, and changes it to a QPointer, so we can tell if the user deletes it. Change-Id: I3e7b3f682d4c5a145d75cd5822affcfc9012cff7 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Fix crash when updating a storage context with active requestsAllan Sandfeld Jensen2015-05-061-0/+12
| | | | | | | | | | Requests keep pointers to objects owneded by the storage context such as the SSL context handler and HTTP cache. This means we must stop all requests before destroying the context, otherwise the requests will access deleted data. Change-Id: I67863287b3ffb470c8d84ff6cac143493998a6da Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Prevent conflicting declaration errors of GL typedefsv5.5.0-beta1Andras Becsi2015-04-302-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Including gpu/command_buffer headers in Qt code pollute by including ui/gl/gl_bindings.h which pulls in system GL headers. This will cause conflicting declaration of typedefs when included together with content/gpu and content/common/gpu headers which pull in gles2_cmd_format.h that forward declares some GL types. Although the gl_bindings.h header states in a comment that it should only be included in source files, the inline implementation of texture_manager.h and some other low-level GL integration headers nonetheless require gl_bindings.h, which unfortunately cascades through to our core layer and may cause problems when Qt code is compiled. Since getting rid of this include in Chromium's headers is not feasible due to maintenance costs, making sure that in Qt code gpu/command_buffer headers are included before content/gpu and content/common/gpu headers and guarding forward declarations in gpu/command_buffer/common/gles2_cmd_format.h should be a sufficient workaround. We can however get rid of the polluting includes in src/core/gl_surface_qt.cpp, which only requires forward declarations. This also includes a SHA1 update for the Chromium submodule. Task-number: QTBUG-44240 Change-Id: I5813a3663d36e2b565e4fd7f429add7b6f8f8a69 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* Remove Q_UNREACHABLE from DesktopScreenQt::GetDisplayNearestWindowSzabolcs David2015-04-301-1/+2
| | | | | | | | Chromium uses this method when the user attempts to drag. Task-number: QTBUG-45723 Change-Id: Ibe3946846f0f4e2d2a25ca36e66fa7235d4aecea Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Fix prefix buildPeter Varga2015-04-292-4/+4
| | | | | | | | | | | Deploy resources, locales, icu and plugins into the build directory instead of install directory. It is necessary when Qt is configured with -developer-build and -prefix options: the compilation may fail if user has no write access for install directory. Task-number: QTBUG-45796 Change-Id: I425f26fcb4b611c255dd744cb9b4eafe16015d6f Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Widgets: Use overridden show()Szabolcs David2015-04-271-3/+0
| | | | | | | | Notify client about the show() after RWHVQD creation. The WasShown(...) hack is not necessary anymore in the core layer. Change-Id: I221b2d027ee83d81d70191419bc4fa8d41231674 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Cleanup some Blackberry legacy code.Pierre Rossi2015-04-231-38/+5
| | | | | | | The blackberry-specific location is dead code by now. Change-Id: I1321c0fb3ea5cd99e513c2fff11724aa92a19cdd Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Remove unused includesPeter Varga2015-04-231-3/+0
| | | | | Change-Id: I87de823c9a67f4e30dd9a86b185bfde51b934509 Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
* Force to use English language for QML auto testsPeter Varga2015-04-235-2/+27
| | | | | | | | | | 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>
* WebEngineView does not load a url while invisibleAndras Becsi2015-04-223-0/+14
| | | | | | | | | | Notify the RenderWidgetHost about visibility changes so that we receive updates with non-empty DelegatedFrameData when a page was loaded in an invisible WebEngineView and then made visible. Task-number: QTBUG-42789 Change-Id: I4856efcd9c0ce44b66a228d5a414198df46b95eb Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* Fix assignment of observer to RenderProcessHost.Adam Kallai2015-04-213-3/+6
| | | | | | | | | 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>
* Fix the crash on exit with --single-processSzabolcs David2015-04-201-0/+2
| | | | | | | | In single process mode, RenderProcessObserverHelper got destroyed before its host. Change-Id: Ic2f36de3218f5ad6781610dbf677675b7e41a9eb Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Add a fallback for QLibraryInfo::DataPath as well.Michael Brüning2015-04-161-7/+25
| | | | | | | | | | | | This should remove the necessity to have a qt.conf file for deployed Windows applications. Also, be consistent about three dots in the messages that get printed when trying fallback directories. Task-number: QTBUG-45614 Change-Id: If46c93a0e8f150b91cff188517187a58edff9144 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* Merge "Merge remote-tracking branch 'origin/5.4' into 5.5" into refs/staging/5.5Liang Qi2015-04-162-1/+6
|\
| * Merge remote-tracking branch 'origin/5.4' into 5.5Andras Becsi2015-04-152-1/+6
| |\ | | | | | | | | | Change-Id: I1e414bb2252ee4b2204ef50a9d122d1d1504115d
| | * Fix non-accessible build without -fpermissiveStephan Binner2015-03-051-2/+0
| | | | | | | | | | | | | | | Change-Id: I0279f26374070614cf8df0e6601b17e5b01b3be6 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
| | * Enable building Qt WebEngine without accessiblity enabled.Stephan Binner2015-03-048-2/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds guards that for QT_NO_ACCESSIBILITY being not defined around the code that uses accessibility types. It disables the quicknanobrowser and quicktestbrowser examples which need Qt QuickControls, which has a hard dependency to accessibility being enabled. Backport of d95b9295c970401939d2779cbdc9e2a8c7965277 from 5.5 Change-Id: I2a2a0a6196fcb3baa39603d9c929183b454f39ed Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | | Fix QtCreator loading of qtwebengine.proAndras Becsi2015-04-152-0/+5
|/ / | | | | | | | | | | | | | | | | | | | | | | | | When QtCreator loads qtwebengine.pro some parsing errors are shown if it picks up the system python3 for basic detection. Although we do not plan to support python3 with all of our scripts (since Chromium does not) these simple cases can be fixed by using the function version of python's print. This patch also adds the Chromium source path to the core INCLUDEPATH so that Chromium headers are indexed as well. Change-Id: Ia6dec1c776fdcddf875fb8e814d8fb33b7340989 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* | Remove eAndroid hooksAndras Becsi2015-04-1412-168/+10
| | | | | | | | | | | | | | | | Support for the B2Qt/eAndroid platform is discontinued with Qt 5.5 so we can remove all remnants of the android platform. Change-Id: I93f15fcd4a345203e15010ddf1e8de3e8d28ab56 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* | Add a fallback for discovering plugins and translations.Michael Brüning2015-04-091-7/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should fix problems with deployed applications and remove the need to use a qt.conf file to configure the PluginsPath and TranslationsPath in order to get for example ffmpegsumo loaded by default. It should also fix the creation of empty directories from the Chromium layer. Task-number: QTBUG-44331 Change-Id: I08bb5ac1b308820bed2c758b30ce43f1209038e1 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Revert "Enable the use of IPC tracing"Peter Varga2015-04-071-6/+0
| | | | | | | | | | | | | | | | | | This reverts commit 3ef408a32c352d86fbc1346304e0a6ffbbe12c0b. Change causes assertions in debug when browser exits. Change-Id: I5e4a57d4e444ad2974c7fe44c4928c486337a04a Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Revive ReloadAndBypassCachePierre Rossi2015-04-072-0/+8
| | | | | | | | | | | | | | | | | | Appears to be an oversight for widgets, as the API was there, but just wasn't wired. Also add it for QQuickWebEngineView while we're at it. Change-Id: I07d6e356cbaf22b79f3fc5a82df78c6821993e8d Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* | Fix gesture recognitionAndras Becsi2015-03-201-0/+2
| | | | | | | | | | | | | | | | | | Disable new gestures swipe and two-finger tap which seem to interfere with scroll and single finger tap in our current gesture provider code. Change-Id: Ib6d3590cafcc8bbd6ff2399d94a1ee9334070a5a Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* | Enable the use of IPC tracingPierre Rossi2015-03-191-0/+6
| | | | | | | | | | | | | | | | | | | | This can be used with debug builds, or by passing DEFINES+=IPC_MESSAGE_LOG_ENABLED at qmake time. IPC message logging is then controlled by the CHROME_IPC_LOGGING environment variable (e.g. CHROME_IPC_LOGGING=color). Change-Id: I0e423e716582f339cd4a30bf99e284bdefe00313 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Fix geolocation (and slight cleanup)Pierre Rossi2015-03-184-15/+5
| | | | | | | | | | | | | | | | 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>
* | Properly copy the UserScriptDataPierre Rossi2015-03-181-12/+2
| | | | | | | | | | | | | | | | | | | | UserScriptControllerHost keeps a collection of UserScripts and not the UserScriptData, which is a simple struct intended to be passed over IPC. Rely on the compiler generated copy constructor to copy that data. Change-Id: Ib5479e634f10d3646a10b644b0eaee471e48f5b8 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Remove uneeded GetShareHandle() function from EGL integrationAndras Becsi2015-03-171-25/+0
| | | | | | | | | | | | | | The override of this function is not needed. Change-Id: I8579bd1b2a8476cb057b9256c816ac88cbb209ab Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
* | Support middle click navigationSzabolcs David2015-03-161-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | When the user does a middle click on a link which originally opens a new tab (target="_blank"), the newly created RenderView is hidden, so the new tab has no visible content. We need to unhide it explicitly. This also adds background tab support for the Quick example browsers and fixes the profile mismatching warning in the case when we adopt a new tab without WebContents. Change-Id: Ia3c2e752a4784d32133cee0ff278c2849b151582 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Support HTML5 form validation featurePeter Varga2015-03-133-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | HTML5 provides built-in form validation that is supported by chromium. The form validation messages should be shown by the browser therefore new MessageBubble UI element has been added to Quick and Widget implementations. This patch implements chromium's form validation events and shows the messages in a MessageBubble. Change-Id: I0c8f4f102823117e2bfb16ff8a4c503635491939 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Clean up global profiles and ownershipAllan Sandfeld Jensen2015-03-125-21/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes the unused global off-the-record browser-contexts and changes all browser-contexts to be ref-counted by an API level profile. The API default profiles are now owned by a global QObject and are deleted on exit. Change-Id: Id7c9eafa24829118105f58b66663a6348216823d Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com> Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | UserScript: Rename source property to sourceCode.Robin Burchell2015-03-122-6/+6
| | | | | | | | | | | | | | | | | | The name 'source' is unclear, and doesn't match current conventions in QtQuick (e.g. Image::source). Furthermore, such a property inhibits adding convenience API to fetch a user script from an external URI. Change-Id: I518b3963f64f0986f9e2d08fe7c5f69122372e0c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Add testsupport QML API and error page signalsPeter Varga2015-03-062-3/+13
| | | | | | | | | | | | | | | | | | | | | | The testsupport API is used for test those features that are not planned to be accessible via the public API. For example, signals of the chromium's error page should not be visible for the develepor but it is important to test whether the error page is loaded properly. Change-Id: Ie5b3265a207d05649cabd624a001a6ffe2e45971 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Add missing QtWebEngineCore namespace refs to egl integrationStephan Binner2015-03-043-4/+4
| | | | | | | | | | | | | | Also add a missing include (for compilation without accessibility) Change-Id: Iea3def18d898e249b82968cd25495b62ffb80cfe Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Fix namespace of SurfaceFactoryQtAllan Sandfeld Jensen2015-03-043-3/+3
| | | | | | | | | | | | | | | | Fix one class that didn't get refactored right. Change-Id: Id0f2f92d8f68453002524de3c182e572cd657c6a Reviewed-by: Stephan Binner <stephan.binner@basyskom.com> Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Respect use-system-jpeg Qt settingAllan Sandfeld Jensen2015-03-041-0/+2
| | | | | | | | | | | | | | Forward the system-jpeg Qt setting to chromium. Change-Id: I646176fdf6a1c7818828dc8b24543cc885cc3688 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Fix building Qt WebEngine without accessiblity enabledStephan Binner2015-03-042-2/+2
| | | | | | | | | | Change-Id: Idb9a384da3aaa118a9b0fb773ca5ba94b96f6bbc Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Add namespace to internal QtWebEngine APIAllan Sandfeld Jensen2015-03-0291-54/+400
| | | | | | | | | | | | | | | | 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-2116-9/+1069
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Synchronize with QAtomic instead of volatileAllan Sandfeld Jensen2015-02-202-28/+26
| | | | | | | | | | | | | | | | Replaces the three volatile bool with two atomic ints and an atomic pointer. Change-Id: Iad41aef4952bbf7de77523ffd729bd00ace68ee9 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Fix crashes and ownership issues in Custom URL scheme handlingAllan Sandfeld Jensen2015-02-204-7/+8
| | | | | | | | | | | | | | | | Fixes crashes exposed by implementing the qthelp protocol handler for Qt assistant. Change-Id: I0b1153bc52ff82838cde009f1fe1ac46edc43210 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Fix the build on eLinuxAndras Becsi2015-02-208-33/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | Update ozone layer to the new snapshot, update the embedded_linux.pri configuration, fix the GLSurfaceQt build on non-x11 linux and update embedded command line switches for the 40.0.2214-based chromium snapshot. This patch also updates the snapshot sha1 to include required chromium changes. Change-Id: I7f9446fa1b67a0af7baee564acff41ae33ff1a94 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* | Experimental custom URL scheme APIAllan Sandfeld Jensen2015-02-1912-0/+638
| | | | | | | | | | | | | | | | Introduces API for custom URL scheme as an experimental API in widgets. A QML api is not included yet. Change-Id: Ice4542e5238feb961a4c9c60a809455e31dc1ec6 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | WebChannel: don't mess with the navigator objectPierre Rossi2015-02-192-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | The navigator object is actually exposed later on from WebCore using a different mechanism, so the V8 extension approach won't work with it. Better take the chrome extensions approach and expose our own. This should "un-break" the part of the web that was broken by eee482929a. Change-Id: I991be2e12bb9ebcf60ace02721497c3fcd923c7f Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Fix Http User-agent string settingAllan Sandfeld Jensen2015-02-181-0/+2
| | | | | | | | | | | | | | | | | | Chromium has multiple places where it reads the user-agent, we were only setting one, which appears to no longer be used for most cases. This instead sets it by using the webcontent user-agent override. Change-Id: I77d4d0a21424feda7a18140fb72baacdd6f816ca Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
* | Update copyright headersJani Heikkinen2015-02-16106-742/+742
| | | | | | | | | | | | | | | | | | 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>
* | Merge "Merge remote-tracking branch 'origin/5.4' into dev" into refs/staging/devFrederik Gladhorn2015-02-142-1/+2
|\ \
| * | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2015-02-132-1/+2
| |\| | | | | | | | | | Change-Id: Ic4388b2c28f46ca8047061c049128672041ceb0b
| | * eLinux: build ffmpegsumo as well.v5.4.1Zeno Albisser2015-02-021-1/+1
| | | | | | | | | | | | | | | | | | | | | This will only contain free codecs. Change-Id: I021b2c121bf146abb24b7a90dd1c3580638b1058 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
| | * Merge 5.4 into 5.4.1Oswald Buddenhagen2015-01-163-4/+14
| | |\ | | | | | | | | | | | | Change-Id: I772c9710d8b01efd385a54e5f642ae2b62702a0e
| | * | Respect the pulseaudio configuration from Qt.Michael Brüning2015-01-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was previously ignored for Desktop Linux. Change-Id: I214171d222a5e7e0ee64afde225a742adbda4adf Task-number: QTBUG-43387 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>