summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Fix url stored in LoadRequestPeter Varga2014-09-056-18/+19
| | | | | | | | | | The test_urlProperty() qml test has failed because the active url was stored in LoadRequest in case of LoadFailedStatus. With this fix the loadRequest stores the url of that page which implies the request. Change-Id: I6aab814a4a7d3b47043b03fccde3d9995b40d8fa Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Fix an assertion in net/url_request/url_request.cc:656Andras Becsi2014-09-051-3/+1
| | | | | | | | | | | | | | Instead of cancelling the request we have to set error to net::ERR_ABORTED since URLRequest::BeforeRequestComplete enforces not receiving cancelled requests with an assertion. Our API requires the symmetric LoadStarten - LoadStopped signals even on an ignored request so cancelling the request and returning early would not be a solution, since it would not emit any LoadStopped signal. Change-Id: I1b13fe6520121805bcf420e810999c520c12bd5c Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* [Win] Fix compiler error by using toQt method for string16.Michael Brüning2014-09-031-1/+1
| | | | | Change-Id: I3412c8e7315020f517039290b03282513569ef2d Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Update src/3rdparty to include fixes for the alpha packagingJocelyn Turcotte2014-09-031-0/+0
| | | | | Change-Id: I048ffb55c6205373aa7c5a7e0a3d9e824415b379 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Don't forward loading of error pages to the API layerPierre Rossi2014-09-0210-17/+46
| | | | | | | | | | | | | | | | | | The fact that the error pages are HTML and get loaded through the same mechanism should be kept an implementation detail and not be considered as a new load in the API sense. Also implement HasErrorPage for good measure and remove an anoying warning from the demo browser. The issue of the url not being changed remains in the QML test (but it doesn't affect a typical browser-like UI since the user input is still there untouched in the address bar), just make sure that failure does not affect the later checks. It also seems like we have a focus problem somehow, but the test should probably use a click for that matter. Change-Id: Ib5e363981a11287fdf4bfe84b93c999d96ed8087 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* [Win] Enable multiple processes again.Michael Brüning2014-09-021-2/+0
| | | | | | | This seems to work well with the Chromium 37-based snapshot. Change-Id: If7640bf7f2428db12eb2bd01707ef82df9014cf2 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Settings for Qt quickPierre Rossi2014-09-0211-24/+562
| | | | | | | | | Expose settings in experimental for now. Simply use the global/per-view mechanism as a group level in between seems like overkill. Change-Id: I7610e9c7765ccb41674702acdd24a52b87716da8 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Try harder to return accessible namesFrederik Gladhorn2014-09-012-1/+84
| | | | | | | | | Always check if there is another accessible set as title for the one queried. For text fields also return the placeholder property if nothing else is set. Change-Id: I3f10ff04338a405ad8de00e75e15dded4aaeed3b Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Revert "Revert "Improve roles""Frederik Gladhorn2014-09-011-33/+70
| | | | | | | | This reverts commit 0540dc569e5761378182485aadf4c91641f67d56. The change in qtbase is in and qt5.git has been updated. Change-Id: I6c44d2d8316e4f05a4f480ed276967d026c7a130 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@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>
* Wait on sync point fences instead of creating a new fenceJocelyn Turcotte2014-09-015-71/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | Posting a runnable on the GPU thread's message loop and creating a GL fence sync there assumes that there is a current GL context, and that synchronizing with this context will make sure that we wait for all GL context producing any of our consumed texture mailboxes. This is however not always the case like when: - The current GL context on the GPU thread is destroyed right before our runnable is handled, displaying errors on the console that glFlush needs a current context. - The GL driver will do extra scheduling and let the scene graph thread synchronize its GL command stream only with the GL context in which the fence sync was created. To remedy the situation, make sure that Chromium creates a fence sync for every sync points associated with a mailbox that we consume and do so directly in the GL context associated with the originating glInsertSyncPointCHROMIUM call. Wait for all those syncs on the Qt side afterward. This might also help with a few erratic behaviors noticed on some embedded GL drivers. Change-Id: I5fc60fcf51497477b2e1b3a535d0a141954fc6e5 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* React to Accessibility being enabled/disabled globallyFrederik Gladhorn2014-09-012-2/+16
| | | | | Change-Id: I57a85682d132bfefcdb0e3d1b3065f0474317e32 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Fix crashes when running in debug on OSXJocelyn Turcotte2014-08-291-3/+0
| | | | | | | | | | | | | | | | | | When building debug-and-release, only the release version of core_generated.gyp, defining NDEBUG, would be generated by gyp_generator.prf. Both the debug and release ninja files would be generated by gyp from that same file and we would end up defining NDEBUG for src/core source files even in debug while the rest of the content layer would be properly built without it, causing crashes with object having unexpected sizes and non-symetrical clean-up routines. Skia doesn't seem to complain anymore if I build in release without this so simply remove it. Change-Id: I021f87f2dac5aa21831992824d39dc44216b5f58 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Add Qt WebEngine Widgets API for allowing certificate errorsAllan Sandfeld Jensen2014-08-2917-0/+601
| | | | | | | | | | | 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>
* Fix callback mechanism in the WebContentsAdapterSzabolcs David2014-08-281-6/+6
| | | | | | | | When we dispatch a request, we register it's callback with different ID in the QWebEnginePagePrivate. Change-Id: I1fa1f778de66fbedbd6cce35f6c823d5640dbe5e Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Cleanup use of QJSValue::engine()Pierre Rossi2014-08-281-1/+2
| | | | | | | | | | Not only this causes warnings because it is deprecated, it lead to a crash in our QML tests when the callback fails to return a valid engine instance. Change-Id: I9412f138f87c39fbee8dbb6121a5bf0a69dcfbb4 Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Update license headers.Pierre Rossi2014-08-285-71/+47
| | | | | | | | Because the files were recent additions or for other unclear reasons, not all the files were updated to reflect the license change. Change-Id: I6898f6f4f993f1efa9489382f0b94af285f8c4f5 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Doc: Added some links among the pages.Jerome Pasion2014-08-262-1/+11
| | | | | | | | -increases visibility to those pages. Change-Id: I6b776157eee991907c8e2bc16c63df90a85663a3 Task-number: QTBUG-40757 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Update the src/3rdparty submoduleJocelyn Turcotte2014-08-261-0/+0
| | | | | | | This includes the XCode 5.0 build fix. Change-Id: I99a5a9b64cc4b31f41cc94eea380a1d61d7f7218 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Update the version numbers for the WebEngine QML types.Zeno Albisser2014-08-211-4/+4
| | | | | | | | For the WebEngineVersionBumper we have to remove the major version bits after right shifting to determine the minor number. Change-Id: I09f47dd261dc8de1e5cc94085ac3fdf3503588fb Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Revert "Improve roles"Jocelyn Turcotte2014-08-211-70/+33
| | | | | | | | | | | This reverts commit 7ea45766f6c49de9a81a387013fb1b98ab82766d. This blocks our integration into qt5.git for now as we would need to update qtbase as well and prevent us from pushing build fixes beyond this change. Let's get it in again after the alpha. Change-Id: Ie57c99dd91fc19ae2695f8d881a0a8318e988806 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* [OSX] Buildfix: Classes used with templates must be fully qualified.Zeno Albisser2014-08-212-7/+5
| | | | | Change-Id: Idf1cd3990e2cfd9e2ed3b017370e689c1126bb48 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Update License Headers for Qt WebEngine to LGPLv3.Zeno Albisser2014-08-21131-1952/+1401
| | | | | | | 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>
* Update the submodule to try and make it through the CIPierre Rossi2014-08-201-0/+0
| | | | | Change-Id: I32e7a89f5d86be18d8e10606af480fd082c214a8 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Propagate the page's screen coordinates when the top-level window movedJocelyn Turcotte2014-08-2012-37/+73
| | | | | | | | | | | | | | | | This fixes a regression after the 37 upgrade where the select popups would have the wrong position. Adjust to the new behavior and also avoid doing a mapToGlobal of the position received in InitAsPopup. RWHV::SetBounds has been giving us screen coordinates since the Chromium 33 update, but popup locations somehow managed to work properly through some side-effect sorcery. This also fixes the value of window.screen[XY] in JavaScript which wasn't updated when the window was moved. Change-Id: I544499bafedccfb7d389b4abc48f1386c398473f Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Improve rolesFrederik Gladhorn2014-08-201-33/+70
| | | | | Change-Id: I0a0d546779aa4a22411f5811880268a61e803b0e Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Tell ANGLE to enable multithread protection.Michael Brüning2014-08-191-0/+4
| | | | | | | | | | | | | | This is done on initialization of the Web Engine as this should happen before any contexts and Direct 3D devices are created. It makes D3D9 create a device with the D3DCREATE_MULTITHREADED flag and makes D3D11 enable multithread protection using the ID3D10Multithread interface. Depends on the appropriate counterpart in QtANGLE. Change-Id: I8204de2f8ebe993273ff9f11af55caacb1290e4e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* Add iconUrl() to QWebEngineHistoryItemAllan Sandfeld Jensen2014-08-194-0/+18
| | | | | Change-Id: I61bda1aafc7513acdaeda99ef493ce50363d352e Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Remove unsupport DeveloperExtrasEnabled settingAllan Sandfeld Jensen2014-08-191-1/+0
| | | | | Change-Id: I2e21c19c193d94d2ebbaed0bc3b9b0aaa28e6e85 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Update the gyp variable used to disable tcmallocPierre Rossi2014-08-191-2/+0
| | | | | | | | This changed with chrome 37. We only need to define it unconditionally in gyp_qtwebengine as tcmalloc is never an option for us. Change-Id: I8b21eb1114582c1d9a8aa61c5f15fc8469721395 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Add missing include to qwebenginesettings.hAllan Sandfeld Jensen2014-08-181-0/+1
| | | | | Change-Id: I9c0dd4e2da5452e6d90f177f4c5d5edd735294e5 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Update the src/3rdparty submoduleJocelyn Turcotte2014-08-181-0/+0
| | | | | Change-Id: If324dcd51db92b0f37c5c373246bf47c7733aa29 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Disable QtWebEngine if Qt is configured with -staticJocelyn Turcotte2014-08-181-1/+1
| | | | | | | We currently don't support this configuration. Change-Id: Ibd6ad9e1ffc993a2224fb814109467bd7b65f0fc Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Implement accessibility functionsFrederik Gladhorn2014-08-181-4/+4
| | | | | | | | These get called in the new snapshot and will lead to crashes as soon as any screen reader is running. Change-Id: If10159b85e788538c93f32007b68441cdc35dc8f Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Implement RenderWidgetHostViewQt::AccessibilityViewHasFocusFrederik Gladhorn2014-08-182-1/+6
| | | | | Change-Id: I2cbb4860936c7780a749047b37d8c9852f54e7bc Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Fix accessible roles after snapshot updateFrederik Gladhorn2014-08-181-102/+100
| | | | | Change-Id: I017d2cdf1424365c1a76ab2fce507c699a1ca502 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Fix accessibility event enum after snapshot updateFrederik Gladhorn2014-08-181-10/+10
| | | | | Change-Id: I3d8b29739595708aa785e147aa0c7967229ab807 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Fix accessibility state enum after snapshot updateFrederik Gladhorn2014-08-181-22/+22
| | | | | Change-Id: I6ecd3acc848a17f3527c95e5a23d29549532481a Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Use Q_DECLARE_PRIVATE to wrap the p-impl in QWebEngineSettingsJocelyn Turcotte2014-08-153-10/+20
| | | | | | | This follows the same pattern now used in other public classes. Change-Id: I999c6ba7fc594cdb77da47482e1060542fe86861 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix a crash in WebEngineSettings when opening a new windowJocelyn Turcotte2014-08-157-28/+14
| | | | | | | | | | | | | | | | | | A new window means that the QWebEnginePage gets its WebContentsAdapter swapped and that the pointer in WebEngineSettings must be updated. Do the WebContentsAdapter-to-WebEngineSettings binding in WebContentsAdapter::initialize to cover both cases. This also refactors the way that QWebEngineSettings is created by removing the need to pass a QWebEngineSettingsPrivate instance to be adopted, and also move the global settings construction logic in the singleton accessor instead of relying on the fact that it uses a different contructor. Change-Id: I6f8a2ed1407a4b25f9898526db9432721c354ddf Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* Fix unused parameter warnings in qwebenginepage_p.hJocelyn Turcotte2014-08-151-1/+1
| | | | | Change-Id: I17bcd79ee2dcb539f369a8f4a8d59949e09930be Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Handle new window/tab modifiers also on normal navigationsJocelyn Turcotte2014-08-156-30/+105
| | | | | | | | | | | | | | | | | AddNewContents is only called when window.open is called from JavaScript. We also want the shift/ctrl modifiers to trigger normal links to open in the requested disposition. In this case OpenURLFromTab will pass the detected disposition and we must create a new WebContents ourselves. Use the same code path going through WebContentsAdapterClient::adoptNewWindow except that we pass a null WebContents pointer to the WebContentsAdapter constructor and let it create its own when initialized. Change-Id: I817b0e72aec12723bf92d9b7ad85c1cecbf5e408 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix uncalled callbacks with findTextJocelyn Turcotte2014-08-153-10/+27
| | | | | | | | | | | | | | | | | Calling findText successively might prevent the previous pending FindReply to be sent, which would leak the callback on the application side. This would cause a crash in qupzilla since we empty all pending callbacks in the QWebEnginePage's destructor to catch this kind of issue. This also renames lastRequestId to nextRequestId to make it clear that this is the ID generator for everything, including findText, and that lastFindRequestId is only a tracker. Change-Id: Ia78d553a58ed31af7237aad8772fa9828560c6d4 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Don't build release with debug info by default on WindowsJocelyn Turcotte2014-08-141-0/+3
| | | | | Change-Id: Idf4373bc10367dfc15445c4c530915cbda04ae9c Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Exclude accessibility files on windowsJocelyn Turcotte2014-08-141-0/+13
| | | | | | | | | | This allows the BrowserAccessibilityFactoryQt and BrowserAccessibilityQt classes to also be used on Windows, and this also remove our dependency on ATL, which is only easily available for Visual Studio Professional users. Change-Id: I1a9c047f0343252a0b6fcc215b84e4c2f3d664b4 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Use the toolchain from PATH on WindowsJocelyn Turcotte2014-08-141-9/+14
| | | | | | | | | | | | | | We don't want to fetch the compiler path from the mkspec on Windows the same way that we do on linux/embedded. Qt usually let the build environment decide the MSVC toolchain, as it is usually done on Windows. This patch also passes the ninja_use_custom_environment_files ninja generator option to make sure that gyp doesn't try to construct the build environment by running the env scripts itself. Change-Id: I6e04471eb994b81a9f1b8b5f149b4dbddbb320a8 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix the build on windows when qtwebengine.chromiumsrcdir isn't setJocelyn Turcotte2014-08-141-2/+1
| | | | | | | | | | | | | | | qtwe_chromium_obj_dir wasn't falling back to src/3rdparty if the config couldn't be found in git. Move the fallback logic to a getChromiumSrcDir qmake function, and use it in both places. The build system will now also print that the Chromium sources will follow the git config if found instead of the other way around, since this should now be the normal case as part of Qt5. Change-Id: I5ab972ab53156c1bd033518e2eb51013559491ac Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Use the unified gesture recognizerJocelyn Turcotte2014-08-143-174/+105
| | | | | | | | | | | | | | | | | | | | | | | The ui::GestureRecognizer is now tightly coupled with Aura and won't be usable on Mac or Android. Fortunately, the reason for this is that a new gesture recognizer common to both Android and Aura, ui::GestureProvider has been introduced. Using it allows us to stop pulling touch event types from Aura build files. Most of the change is about using ui::MotionEvent instead of ui::TouchEvent, and to feed them to the GestureProvider. A major difference is that the touch events sent to the renderer are not passed through the gesture recognizer only when the come back unhandled. They are instead always sent to both the renderer and the GestureProvider, and the call to OnTouchEventAck on the gesture filter tells it if the next event in the queue was handled or not, deciding if the gesture should be cancelled. Change-Id: Ifccebf85800cdf0ef29cf52b13f1bd659428e3f6 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Update the QtWebEngineCore library to run on top of Chromium 37Jocelyn Turcotte2014-08-1446-453/+279
| | | | | | | | | | | | | | | Most of the patch is about upstream classes/methods that changed. Other important details: - icu data files are now used by default - cygwin is no longer required to build on Windows - RenderFrameHost has been replacing RenderViewHost in a few places, following the separate process iframes support in Chromium - The user agent is accessed through ContentClient::GetUserAgent instead of from the command line switches Change-Id: I86cc93aff7ce31176a80b0b4a5d54025674a451c Reviewed-by: Andras Becsi <andras.becsi@digia.com>