| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
| |
Fixes the ASSERT we were seeing on double clicks and
implements detection for triple, quadruple etc. clicks.
Double mouse clicks forwarded from QMouseEvent are swallowed.
Change-Id: I9be83f809805ab3dea7a508b648046238ce36a90
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
| |
Use the appropriate method to convert to base::FilePath::StringType.
Also removes unused and unneeded variables.
Change-Id: I6005e0e9b566a8bb4182005571a68d5b9da9b409
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
| |
Unconditionally return a 800 by 600 like in QtWebKit.
Change-Id: I6ae151d535fb35ad3420f17921be73ba55878945
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
| |
This is not needed anymore since the ownership changed
Change-Id: I7bfbb51c79a0d48ca8197a9b3a5d18986ee40e36
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This implementation will download files to the standard
download directory and assign unique file names should
there be a file with the same name existing or being downloaded.
It should be replaced with some more sophisticated code that also
takes into account settings and user choice possibly.
For now, it is only added to make downloads work at all.
Known issue: We do not get notified about completed downloads even though
we are observing the DownloadItem objects.
Change-Id: I2b52246635d3fd1358edc6b648d470ff821bc9f1
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Since the QWindow returned by the RWHV delegates was always 0 we never
actually propagated a valid WebScreenInfo to chromium.
Additionally the painting and scrolling in the backing store had to be
fixed so that the device pixel ratio is taken into account.
Change-Id: I22dc135e8e090362201292863ed911464b9fc133
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes the necessary changes to handle
WebContentsDelegateQt::AddNewContents and funnel the callback
through createWindow in QWebEnginePage and QWebEngineView.
- Expose the AddNewContents callback through WebContentsAdapterClient
- Allow creating a WebContentsAdapter attached only on the Chromium side,
leaving the choice to QWebEnginePage to either adopt it and call
WebContentsAdapter::initialize to attach itself as the client, or
destroy it if the application isn't handling the call.
- Delay the InitAsChild handling in RenderWidgetHostViewQt when
it is called before an adapter client has been attached.
- Since WebContentsAdapterClient::CreateRenderWidgetHostViewQtDelegate
is only a factory method, not creating any link with the callee client,
allow using the creating window's adapter client to create the RWHVQtDelegate.
This allows an unparented delegate to be created instead of needing to
add numerous null-checks in RWHVQt.
Use content::WebContents::CreateParams::context for this purpose,
which can be used both when creating a WebContents ourselves and when
a new window's WebContents is created for us.
Change-Id: I032262e867931dc40a7c2eca0c993027a555f56e
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
|
| |
Comment out QT_NOT_YET_IMPLEMENTED in MovePluginWindows and
SetTooltipText since they make too much noise and hide every
other message. Add missing macro where it might be useful.
Change-Id: I6a5b7bb677cfa5e74521a06955338552a6b011f0
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
This is needed to handle createWindow where a WebContentsAdapter will
be created to wrap the new WebContents and will passed up through the
API. If the application doesn't handle the callback, this will allow
managing the lifetime of the WebContents more easily.
Change-Id: I40ae1973a9bdf8c3d75f9ff137228d48ed92cfb2
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
| |
This isn't needed since the ownership was removed from WebContentsDelegateQt.
Change-Id: I44755966fd7681c638da083803cfde6262cb2dc2
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Flatten the ownership tree by removing WebContentsDelegateQt from the
ownership chain of the content::WebContents.
This also let WebContentsAdapter do the needed initialization work.
Change-Id: Ie652bbcad54799b66d28a4a33e627f667b1c0d28
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
| |
Blink uses the WebKeyboardEvent::keyIdentifier string to detect
Tab key presses. Make sure that we properly populate this field
before forwarding the event.
Change-Id: I7da52b5678cfc1bd7f433d9cc9cd4531e6a24728
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
| |
Change-Id: I0d6257d967413de93665e6bd3f06cb49d9e0607a
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mark the remaining methods as not implemented to allow enabling most
of the dependent code in the demo browser and in API tests.
Add two new tests to cover cases that might be problematic with the
index-based implementation.
This also renames WebContentsAdapter::navigateHistory to navigateToOffset
in order to avoid confusion with navigateToIndex.
Change-Id: I7c5cb9f5f878e34206fdfe48334a2dc7d9d95a1d
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
| |
Change-Id: Iac80388e8d3a789b336ab88b75c6fa6048a3c446
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
| |
This imports code from qwebpage.cpp and QWebPageAdapter.cpp of WebKit
into qwebenginepage.cpp and thus also restrict the license accordingly.
Change-Id: Ic5da8f2b469109cb10132cbe6585f2d941b14403
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds the common GURL->QUrl and string16->QString conversions
into a common header and use those functions throughout the code.
Move the qStringToStringType into the same header and rename it
to a name consistent with the others.
This also cleans up shared_globals.h by moving content:: forward
declarations in the cpp, where they are used.
Change-Id: I19527ea7de1f6047aae8b44c97eb4d7c3e5a0e54
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Do like the QtQuick example and let the Widgets example use urlFromUserInput
to add a missing http scheme instead of letting QtWebEngine do it.
This is the same behavior as QtWebKit does.
Change-Id: Iac1570523253126e059afb00c3a2ff844e177ff1
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
| |
Change-Id: I8b188fb1c6167612307d4db3272f5ae6f85705c7
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
| |
Change-Id: I9fb191a5a2351c5c953f640a6cf1a33609385cc9
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
| |
To allow QWebEnginePage to act on its own, let it own the WebContentsAdapter
and let the view delegate its calls through the page.
Change-Id: I851c753d068992e387edab0e1ea8018732af1fd7
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Chromium doesn't allow managing sub-frames from the contents API.
To support operations that were made on the main frame, merge the frame
API into the page. Methods should be later either be removed or
implemented one by one.
Change-Id: I52de89a48c00efb9dd0cf0a2c1fdf09d735d2381
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the first step toward re-implementing part of the QWebView
API on top of QtWebEngine. The plan is to import the complete headers
to facilitate diffs and progress tracking.
Changes squashed in this commit:
- Use the QWebEngine prefix for class names
- Strip out non-public members and directives
- Allow building using those headers by disabling the Q_PROPERTY
macros and by adding a dummy implementation for virtual methods
directly in the header
- Update the widgetsnanobrowser example to comply with the slight
changes from the previous API
Change-Id: Ia7efa5430f775d09b493544430a04856cc7928f6
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This follows the model used by the rest of Qt, potentially
avoiding binary compatibility issues.
The compromise is that we now depend on core-private, thus
forcing us to follow Qt's release cycle.
Change-Id: Ib2df51071fc35935ac99edf7b9c5562949cb43e2
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
| |
Change-Id: I58d83f4f33728f92e4bf13b6be30b15528fdd033
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
| |
Change-Id: Id760a1b39b5f9efeea49e49183b1fcc68fd54f8f
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
| |
Since the macro is used in public headers, it should also be
declared in one of the webenginewidgets module's public headers.
Change-Id: I5cd56196e95c78fac2ba8df076f2cd683b01a5ac
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
| |
Chromium isn't expecting the destruction and reconstruction of the
ContentMainRunner and BrowserMainRunner. This will need a few tweaks
before we can do this without hitting asserts in debug builds.
Change-Id: I0c46a2db27350b3f6352e3eb8a5ec7ecff06784e
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
| |
This mimicks the Shell's behavior to avoid an assert.
Change-Id: I31fdb4ff9c1ee9a359db84978da313489e93e30a
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The WebEngineContext member was declared after the WebContentsDelegateQt
in WebContentsAdapter. This means that the delegate was destroyed after
the context and would cause the crash.
Reorder the declaration and move the WebContentsDelegateQt also to the
private class to reduce future confusion.
Change-Id: I343504d4fd1ede80feb710446368fdf12f360b15
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
| |
This avoids the RWHV being accessed before being attached to
the delegate when attaching the later to the view's layout.
Change-Id: I5fffef60fdd7203cfb4ced807b5475aac676ea09
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Let the RWHVQt explicitly own its delegate.
Keep the same behavior by letting RWHVQt::Destroy delete itself directly
like done in RWHVGtk instead of deleting the RWHVDelegate which would
then delete its RWHV.
Change-Id: I051c95d608964ebcd66d3ccbe728f63c0ca397ae
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
| |
There can be multiple RWHVDelegates within one WebContentsViewQt
during navigation. Avoid keeping a pointer by sending the focus
call to the client directly, which fits the purpose better.
Change-Id: I863c174e9a2567f3580f3cb525bc5353ab2a4417
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
| |
Prevents the the web engine from crashing by providing an
implementation and generating download Ids for downloads.
Change-Id: Iac1e98b74ec1fdc9d913951fbfed4b7ba394170f
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
| |
Changed the header #defines to UPPERCASE_CLASS_NAME_H.
Change-Id: I49dec91d7a97808c1b9618df6d985939fd84babb
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was causing trouble when QEvents were forwarded from the
RenderWidgetHostViewDelegateQtWidget event handler method before
the RenderWidgetHostView had been initialised.
forwardEvent checks for a pointer to the view being set anyway, so
the ASSERT does more harm than good.
Change-Id: I59035d2fc053054400f85b3b9c2b8ad065f22627
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add WebContentsObserver as a base class of WebContentsDelegateQt
to be able to get more information about the WebContents (loading
state etc.).
Also implements load finished with a success value to be able to
show when a load has failed.
Change-Id: Ic2ad698d180b395cf3d9fb6cd49b12c9cb4fb493
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As this looks like a layering violation.
Instead, rely on WebContentsViewImpl::CreateRenderViewForRenderManager
querying the WebContentsView's size before setting it on the
RenderWidgetHostView. The WebContentsView now gets the size of the
actual view through the Adapter interface.
Then, in RenderWidgetHostViewQt, we now forward the resize request
to the delegate.
Change-Id: Ide679f6d114508cc7c9ffac83daad19d16764a4d
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
| |
Change-Id: Ic08f83db03454542554fac9e590d79a4440a4b28
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
| |
Change-Id: I5ce13af04de8520bb0ab93c48a2493822aa42294
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This enables panning and zooming using touch events.
Also map touch IDs given by Qt to 0-based IDs since the
gesture recognizer expects it.
It currently needs the following command line switches to be enabled:
--force-compositing-mode --enable-threaded-compositing --enable-pinch
Change-Id: I34db3203529470aef5426ddfaa65af7d67e4b017
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
WebTouchEvents have a slightly different behavior than QTouchEvent in
that the type of the event is TouchStart for each new point press,
while Qt sends a TouchBegin only for the first point press.
Since we already need to use ui::TouchEvent to be able to use
ui::GestureRecognizer, always do this conversion first to also let
UpdateWebTouchEventAfterDispatch chose the proper event type.
Some of the code from render_widget_host_view_aura.cc was copied into
render_widget_host_view_qt.cpp to fill the needed functionality.
Change-Id: Iab1ca0c449b5256a39b5479ce89b662d4e133935
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Only enable it when the --force-compositing-mode switch is
used. The purpose of this is only to allow testing pinch-zooming
until we are able to use the delegated renderer in the QtQuick view.
Change-Id: I2ca265c84c8fe6a74299f1b2757ad525f33fae17
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the first step to making proper Qt Modules out of QtWebEngine.
The Widgets integration becomes a proper C++ Qt Module while we make
the QtQuick side a QML plugin for now (could probably be promoted if
the need arises).
Code-wise, this means the introduction of a WebContentsAdapterClient
interface that is subclassed by the private implementation of our API
classes for delegation of things that are UI specific. Functionality
from WebContents and the like is exposed via the WebContentsAdapter.
Change-Id: I4ca3395b9fe8502a24e36002cfd5af44067bb6e8
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
| |
This lets the page receive touch events sent to the QWidget/QQuickItem.
Change-Id: Ic358d4963d6af3df57d37a02b471cd442e8947ce
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
| |
base::FILE_EXE isn't used by this process and we therefore also need
to set the kBrowserSubprocessPath switch.
Change-Id: I5a5e721c765cc1990d155f6c6d9ac1b442dc44b0
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
| |
Move resource_bundle_qt.cpp to the shared lib since the process also needs its symbols.
The qrc file should normally follow, but Windows doesn't support them
in static files, so keep them separated until it's a problem.
Change-Id: I4963e4609592df90126f8b8a18a4d368907f205f
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
| |
Build fix when using a C++11 enabled compiler.
Change-Id: I516b96459fae050b95fd944814d8d497add06f72
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
| |
Change-Id: I36007b0c0fbf194df1941e72ae2a93adf5ed6d0b
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
| |
This is a whitespace-only change.
Change-Id: I50ac5879f13c32b2603da45fb110b00b6f9c57db
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|