Remove ENABLE_3D_PLUGIN
https://bugs.webkit.org/show_bug.cgi?id=108002

Source/WebCore:

Remove ENABLE_3D_PLUGIN, it was only used by Chromium.

Reviewed by Antti Koivisto.

No new tests, removing dead code.

* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadPlugin):

Source/WTF:

Reviewed by Antti Koivisto.

Remove ENABLE_3D_PLUGIN, it was only used by Chromium.

* wtf/FeatureDefines.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148093 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Texmap] Update a dirty region which is not covered with keepRect.
https://bugs.webkit.org/show_bug.cgi?id=113752

Patch by JungJik Lee <jungjik.lee@samsung.com> on 2013-04-10
Reviewed by Jocelyn Turcotte.

There can be a dirty region which is not covered with keepRect.
However the dirty could be inside the tile area. In this case,
currently we ignore the dirty by intersecting with keepRect
and the dirty region will not be invalidated until the tile is
recreated. We must expand the keep rect to its intersecting tiles
to make sure that the dirty region is applied to existing tiles.

No tests needed, change is unobservable.

* platform/graphics/TiledBackingStore.cpp:
(WebCore::TiledBackingStore::invalidate):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148094 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Add API in QWebSettings for setting the CSS media type
https://bugs.webkit.org/show_bug.cgi?id=113853

Patch by Jose Lejin PJ <jose.lejin@gmail.com> on 2013-04-10
Reviewed by Jocelyn Turcotte.

* Api/qwebsettings.cpp:
(QWebSettingsPrivate):
(QWebSettingsPrivate::apply):
(QWebSettings::setCSSMediaType):
(QWebSettings::cssMediaType):
* Api/qwebsettings.h:
* WebCoreSupport/FrameLoaderClientQt.cpp:
(WebCore::FrameLoaderClientQt::overrideMediaType):
* tests/qwebpage/tst_qwebpage.cpp:
(tst_QWebPage):
(tst_QWebPage::cssMediaTypeGlobalSetting):
(tst_QWebPage::cssMediaTypePageSetting):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148095 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Removed an annoying message from svn-create-patch
https://bugs.webkit.org/show_bug.cgi?id=114332

Reviewed by Alexey Proskuryakov.

I see this message basically every time I write a patch, so it must not
be true.

* Scripts/svn-create-patch:
(generateDiff):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148096 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION(r148034): IconDatabase::updateIconRecord crashes with null iconData and iconBitmap.
https://bugs.webkit.org/show_bug.cgi?id=114356

Reviewed by Tim Horton.

When loading an icon fails (for example, when a non-existent URI is
passed to the loader), updateIconRecord can be called with both
iconData and iconBitmap having no data.

This used to be fine before r148034, but causes an assertion now.

No new tests, existing tests such as fast/encoding/mispositioned-meta.html
were crashing.

* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::updateIconRecord): Change the ASSERT() to check
for a NAND condition that only fails if both iconData and iconBitmap
are not 0.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148097 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Replace ENABLE_MICRODATA preprocessor statements in IDL files with Conditional attribute
https://bugs.webkit.org/show_bug.cgi?id=114349

Reviewed by Geoffrey Garen.

The Conditional attribute does not need a preprocessor, which is source of much pain on native windows.

* dom/Document.idl:
* html/HTMLElement.idl:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148098 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update all float attributes in HTMLMediaElement to double
https://bugs.webkit.org/show_bug.cgi?id=113615

Reviewed by Geoffrey Garen
Patch by Aaron Colwell

No new tests. Primary behavior doesn't change. Just time, playbackRate, and volume precision.
All existing LayoutTests/media tests still pass.

* WebCore.exp.in: Remove function that no longer need to be exported.

* html/HTMLMediaElement.cpp: Change all float attributes to double.
* html/HTMLMediaElement.h: Ditto.
* html/HTMLMediaElement.idl: Ditto.
* html/MediaController.cpp: Ditto.
* html/MediaController.h: Ditto.
* html/MediaControllerInterface.h: Ditto.
* html/TimeRanges.cpp: Ditto.
* html/TimeRanges.idl: Ditto.
* html/shadow/MediaControlElementTypes.cpp: Ditto.
* html/shadow/MediaControlElementTypes.h: Ditto.
* html/shadow/MediaControlElements.cpp: Ditto.
* html/shadow/MediaControlElements.h: Ditto.
* html/shadow/MediaControls.cpp: Ditto.
* html/shadow/MediaControlsApple.cpp: Ditto.
* html/shadow/MediaControlsBlackBerry.cpp: Ditto.
* html/shadow/MediaControlsBlackBerry.h: Ditto.
* html/shadow/MediaControlsGtk.cpp: Ditto.
* html/track/TextTrackCue.cpp: Ditto.
* html/track/TextTrackCue.h: Ditto.
* platform/Clock.h: Ditto.
* platform/ClockGeneric.cpp: Ditto.
* platform/ClockGeneric.h: Ditto.
* platform/graphics/MediaPlayer.cpp: Ditto.
* platform/graphics/MediaPlayer.h: Ditto.
* platform/graphics/MediaPlayerPrivate.h: Ditto.
* platform/mac/PlatformClockCA.cpp: Ditto.
* platform/mac/PlatformClockCA.h: Ditto.
* platform/mac/PlatformClockCM.h: Ditto.
* platform/mac/PlatformClockCM.mm: Ditto.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148099 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Replace ENABLE_CHANNEL_MESSAGING preprocessor statements in IDL files with Conditional attribute
https://bugs.webkit.org/show_bug.cgi?id=114346

Reviewed by Geoffrey Garen.

The Conditional attribute does not need a preprocessor, which is source of much pain on native windows.

* page/DOMWindow.idl:
* workers/WorkerContext.idl:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148100 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update the localizable strings file.

Rubber-stamped by Dan Bernstein.

* English.lproj/Localizable.strings:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148101 268f45cc-cd09-0410-ab3c-d52691b4dbfc
TileController doesn't remove tiles when the view is resized, leading to stale content
https://bugs.webkit.org/show_bug.cgi?id=114323
<rdar://problem/13520671>

Reviewed by Simon Fraser.

Ensure that tiles are removed if the view shrinks, so that they are not displayed
with stale content if the view later grows again (they will not be repainted by WebCore
while out-of-view).

* platform/graphics/ca/mac/TileController.h:
* platform/graphics/ca/mac/TileController.mm:
(WebCore::TileController::revalidateTiles):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148102 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WinCairo] Unreviewed build fix. Correct DropBox download link.

* Scripts/update-webkit-wincairo-libs: Revise download URL to
match change in DropBox server behavior.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148103 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rebaseline four tiled drawing tests affeted by r148049.

Move results from platform/mac/platform/mac-wk2/tiled-drawing to  platform/mac-wk2/tiled-drawing

* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-body-layer-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-opacity-html-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-positioned-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-transformed-html-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-html-background-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed/four-bars-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed/four-bars-with-header-and-footer-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed/four-bars-zoomed-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset-in-view-expected.txt:
* platform/mac-wk2/tiled-drawing/sticky/sticky-vertical-expected.txt:
* platform/mac/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-body-layer-expected.txt: Removed.
* platform/mac/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-expected.txt: Removed.
* platform/mac/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-opacity-html-expected.txt: Removed.
* platform/mac/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-positioned-expected.txt: Removed.
* platform/mac/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-transformed-html-expected.txt: Removed.
* platform/mac/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.txt: Removed.
* platform/mac/platform/mac-wk2/tiled-drawing/fixed-background/fixed-html-background-expected.txt: Removed.
* platform/mac/platform/mac-wk2/tiled-drawing/sticky/sticky-vertical-expected.txt: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148104 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Blob content type normalization.
https://bugs.webkit.org/show_bug.cgi?id=111380

Patch by Victor Costan <costan@gmail.com> on 2013-04-10
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Tests: http/tests/fast/files/blob-constructor.js
       http/tests/fileapi/xhr-send-form-data-filename-escaping.html
       http/tests/fileapi/xhr-send-form-data-mimetype-normalization.html

* WebCore.exp.in: exported Blob::isNormalizedContentType()
* bindings/js/JSBlobCustom.cpp:
(WebCore::JSBlobConstructor::constructJSBlob): remove checks on Blob type, BlobBuilder will normalize it
* fileapi/Blob.cpp:
(BlobType): utilities for normalizing a Blob's type according to the File API spec
(WebCore::BlobType::isValid): content type validity checks in the File API spec
(WebCore::BlobType::normalize): implements the normalization rules in the File API spec
(WebCore::BlobType::isNormalized): useful for ASSERTing that a Blob type has been normalized
(WebCore): implement Blob type normalization according to the File API spec
(WebCore::Blob::Blob): normalize the Blob type in the data URL
(WebCore::Blob::slice): normalize the Blob type argument
* fileapi/Blob.h:
(BlobType): utilities for normalizing a Blob's type according to the File API spec
(WebCore::Blob::create): assert that the deserialized Blob's type was normalized
* fileapi/File.cpp:
(WebCore::createBlobDataForFileWithType): assert that the File's MIME type is a normalized Blob type
* fileapi/WebKitBlobBuilder.cpp:
(WebCore::BlobBuilder::getBlob): normalize the Blob's type before building it
* platform/network/BlobData.h:
(WebCore::BlobData::setContentType): assert that the Blob type has been normalized
* platform/network/FormData.cpp:
(WebCore::FormData::appendKeyValuePairItems): assert that Blob's type has been normalized
* platform/network/FormDataBuilder.cpp:
(WebCore::FormDataBuilder::addContentTypeToMultiPartHeader): assert that the Content-Type field is normalized
* xml/XMLHttpRequest.cpp: when responseType is blob, normalize Content-Type before passing to Blob constructor

LayoutTests:

* http/tests/fast/files/script-tests/blob-constructor.js: added/updated test cases for Blob type normalization
* http/tests/fast/files/blob-constructor-expected.txt: added/updated test cases for Blob type normalization
* http/tests/fileapi/xhr-send-form-data-filename-escaping-expected.txt: Added.
* http/tests/fileapi/xhr-send-form-data-filename-escaping.html: Added.
* http/tests/fileapi/xhr-send-form-data-mimetype-normalization-expected.txt: Added.
* http/tests/fileapi/xhr-send-form-data-mimetype-normalization.html: Added.
* http/tests/local/formdata/resources/send-form-data-common.js:
(dumpResponse): return the HTTP response text so it can be used in JS test code
(sendFormData): passthrough the HTTP response text returned by dumpResponse()
(testSendingFormData): passthrough the HTTP response text returned by dumpResponse()
* http/tests/xmlhttprequest/post-blob-content-type-async-expected.txt: updated expectation for invalid Content-Type
* http/tests/xmlhttprequest/post-blob-content-type-sync-expected.txt: updated expectation for invalid Content-Type
* http/tests/xmlhttprequest/post-blob-content-type-tests.js: updated expectation for invalid Content-Type

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148105 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION (r148073): WebKit Nightly r148082 crashes on launch in JSObjectSetPrivate
https://bugs.webkit.org/show_bug.cgi?id=114341

Reviewed by Alexey Proskuryakov.

Make JSObjectSetPrivate use uncheckedToJS as some clients
clear their private data during finalization for some reason.

* API/JSObjectRef.cpp:
(JSObjectSetPrivate):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148106 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Include a crash-fixing patch for the at-spi2-atk dependency
https://bugs.webkit.org/show_bug.cgi?id=114365

Reviewed by Martin Robinson.

Add a patch for the at-spi2-atk 2.8.0 dependency that is applied through the Jhbuild setup.
The patch addresses crashes in the tally_event_reply method. It is already committed into the
at-spi2-atk source tree and will be available with the next stable release, after which the
patch should be removed and the dependency version bumped.

* gtk/jhbuild.modules:
* gtk/patches/at-spi2-atk-2.8.0-null-check-after-cleanup.patch: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148110 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use minimal tiles during live resize
https://bugs.webkit.org/show_bug.cgi?id=114364

Reviewed by Darin Adler.

We currently update non-visible speculative tiles during resizing. We should just drop them.

* page/FrameView.cpp:
(WebCore::FrameView::willStartLiveResize):
(WebCore::FrameView::willEndLiveResize):
* page/FrameView.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::computeTileCoverage):
        
    Use minimal coverage in live resize state.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148111 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<rdar://problem/13617104> WKPageCopySessionState needs to provide more context to the filter callback

Introduce a new value type for WKPageSessionStateFilterCallback that represents the passing
of whole WKBackForwardListItemRefs to the filter callback. This allows clients to consider
more than the original URL of the item when filtering entries from the session state.

Reviewed by Darin Adler.

* UIProcess/API/C/WKPage.cpp:
(WKPageGetSessionBackForwardListItemValueType): Return a static string representing our new value type.
* UIProcess/API/C/WKPage.h:
* UIProcess/cf/WebBackForwardListCF.cpp:
(WebKit::WebBackForwardList::createCFDictionaryRepresentation): Call the filter function with each of the
possible value types in turn, respecting the first false value, if any, that is returned.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148112 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<rdar://problem/13617144> WKNavigationData needs to expose the destination of the navigation

Introduce WKNavigationDataCopyNavigationDestinationURL to access the destination of the navigation.

Reviewed by Darin Adler.

* UIProcess/API/C/WKNavigationData.cpp:
(WKNavigationDataCopyURL): Add a note about returning the URL from the original request for sake of
backwards-compatibility.
(WKNavigationDataCopyNavigationDestinationURL): Return the URL from our underlying WebNavigationDataStore.
* UIProcess/API/C/WKNavigationData.h:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::updateGlobalHistory): Store the current URL in to the WebNavigationDataStore
object. WKNavigationData can retrieve the value that we were previously storing here via the originalRequest.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148113 268f45cc-cd09-0410-ab3c-d52691b4dbfc
I should know better than to lie in ChangeLog entries.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148114 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Texmap] In certain situations nested blending with overflow:hidden displays clipped results
https://bugs.webkit.org/show_bug.cgi?id=114290

Patch by Noam Rosenthal <noam@webkit.org> on 2013-04-10
Reviewed by Allan Sandfeld Jensen.

Source/WebCore:

Always apply the clip when binding a surface, even if it hasn't changed.
Otherwise when binding a nested surface and rebinding its container surface,
the clip wouldn't apply.

Test: compositing/overlap-blending/nested-overlap-overflow.html

* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::BitmapTextureGL::bind):

LayoutTests:

Added a ref-test that exposes an issue with TextureMapper overlap blending when composited.
This ref-test does not show correct results on Mac, skipped in TestExpectations and created a bug.

* compositing/overlap-blending/nested-overlap-overflow-expected.html: Added.
* compositing/overlap-blending/nested-overlap-overflow.html: Added.
* platform/mac/TestExpectations: Skipped new tests and created bug.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148115 268f45cc-cd09-0410-ab3c-d52691b4dbfc