QWebPage crashes on drag without QWidget view

QWebPage can be used without a widgets and has a documentation section
on how to do so, but if QWegPage hasn't been given a QWidget in setView
a drag operation will crash.  To reproduce select a section of the web page
click and drag from within the selection and it will crash.

Add a check to avoid a NULL dereference, the existing code already has
a check for not having a QWidget set as the view.
DragClientQt::startDrag
m_chromeClient->platformPageClient() is NULL

Task-number: QTBUG-40204
Change-Id: I5739285696ab57c05ee59c10ae00a1cf652ff494
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Added support for appending an escaped SegmentedString to another.

Merge of blink r174725

This was previously an assert which triggers in the situation where the
HTMLEntityParser is parsing a potential named entity, but only has one or two
characters of data available due to being at the end of a network packet
boundary, so it 'unconsumes' them from the SegmentedString which has some
special handling when only one or two characters needs unconsuming to avoid
string creation. Next time the tokenizer is pumped, the SegmentedString is
then appended to the HTMLSourceTracker right before the actual parsing happens
(i.e. when we'd consume the previously unconsumed characters).
SegmentedString::append mostly assumes the parameter string hasn't been
consumed from and had an assert instead of handling this case, which hits.

Task-number:  QTBUG-40284
Change-Id: Ifcf9af6f6e2e5a9750af4297cfda2f55f3bb274e
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
Avoid crash when hidePopup is called multiple times

If hidePopup is called twice it may cause access to a deleted version of itself

Task-number: QTBUG-38998
Change-Id: Iee967eb51c403420779ea502610b58383d07963f
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
Do not override padding in textfields

We currently override any defined padding on textfields with the Qt
style framewidth.

This patch instead adds the framewidth to any existing fixed padding.
This fixes textfield text from overlapping icons absolutely placed in
its padding.

Task-number: QTBUG-40257
Change-Id: I73feb3f9e4630f7c7813a1b2a16f1c525c84386f
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
Show placeholder text when focused

Change the default behavior of placeholder text, so that it continues
to be shown when the element has focus but is still empty.

Task-number: QTBUG-40171
Change-Id: Ide37c3b28488cb6c24f7823a41fb62c8920a71f6
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
Do not use title as the primary text of dragged or copied links

In trying to preserve the link title, we set the title in the text part
of dragged or copied mimedata. This has caused a number of undesired
changes in behavior.

This patch reverts to placing the url in the text field, but instead
stores the rich part of the link as HTML. This is consistent with GTK,
and Chromium.

Task-number: QTBUG-39995
Change-Id: Id5f2587a93fb9721c728299340f2e3562f3456ca
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
Merge remote-tracking branch 'origin/5.3' into dev

Change-Id: I488a1ee13117760781019a2f4bc6f6dff64c6871
Support -webkit-font-smoothing: antialiased

Adds support for disabling subpixel antialiasing. This is mainly useful
on Mac where it disables the aggressive LCD font smoothing.

Task-number: QTBUG-40396
Change-Id: I22d9b1692270f6b47941493c6257174bff71adab
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Support QOpenGLWidget for accelerated compositing

This patch enables the use of QOpenGLWidget for the same role
QGLWidget can be used to enable accelerated compositing in QtWebKit.

Change-Id: I7ac5c00c3a4b411637544128fc5d805781b9da4d
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Bump version

Change-Id: I2a693ada4a9801d087e10a6d39d8089fe48dd3f3