WebKit-https.git
6 years agoUnreviewed GTK build fix after r162663.
zandobersek@gmail.com [Fri, 24 Jan 2014 09:59:05 +0000 (09:59 +0000)]
Unreviewed GTK build fix after r162663.

* platform/gtk/ScrollViewGtk.cpp:
(WebCore::ScrollView::visibleContentRectInternal): Renamed from visibleContentRect.

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

6 years agoMove HistoryItem to std::unique_ptr
zandobersek@gmail.com [Fri, 24 Jan 2014 09:25:21 +0000 (09:25 +0000)]
Move HistoryItem to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=127275

Reviewed by Darin Adler.

Source/WebCore:

Replace the uses of OwnPtr and PassOwnPtr in the HistoryItem class with std::unique_ptr.

* history/HistoryItem.cpp:
(WebCore::HistoryItem::HistoryItem):
(WebCore::HistoryItem::reset):
(WebCore::HistoryItem::addRedirectURL):
(WebCore::HistoryItem::setRedirectURLs):
* history/HistoryItem.h:
* history/mac/HistoryItemMac.mm:
(WebCore::HistoryItem::setTransientProperty):
WebCore.exp.in: Update the symbol.

Source/WebKit/mac:

* History/WebHistoryItem.mm: The Vector object that's passed to HistoryItem::setRedirectURLs
should now be handled by std::unique_ptr and passed on through move semantics.
(-[WebHistoryItem initFromDictionaryRepresentation:]):

Source/WebKit/win:

* WebHistoryItem.cpp: The Vector object that's passed to HistoryItem::setRedirectURLs
should now be handled by std::unique_ptr and passed on through move semantics.
(WebHistoryItem::initFromDictionaryRepresentation):

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

6 years agoUnreviewed EFL gardening. Remove failure expectations which are passing now.
jinwoo7.song@samsung.com [Fri, 24 Jan 2014 08:33:35 +0000 (08:33 +0000)]
Unreviewed EFL gardening. Remove failure expectations which are passing now.

* platform/efl/TestExpectations: fast/css3-text/css3-text-decoration/

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

6 years agoRegion based multicol: unresolvable percent height results in 1px tall multicol
commit-queue@webkit.org [Fri, 24 Jan 2014 08:00:47 +0000 (08:00 +0000)]
Region based multicol: unresolvable percent height results in 1px tall multicol
https://bugs.webkit.org/show_bug.cgi?id=122826

Patch by Morten Stenshorne <mstensho@opera.com> on 2014-01-23
Reviewed by David Hyatt.

Source/WebCore:

If a box has a percentage height, but the computed height of its
containing block is auto, the computed height of the box also becomes
auto. computeContentLogicalHeight() returns -1 if the height isn't
resolvable, and we need to make sure that such a value doesn't
constrain the height of the multicol container.

Tests: fast/multicol/newmulticol/unresolvable-percent-height-2.html
       fast/multicol/newmulticol/unresolvable-percent-height.html
       fast/multicol/newmulticol/unresolvable-percent-max-height-2.html
       fast/multicol/newmulticol/unresolvable-percent-max-height.html

* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
(WebCore::RenderMultiColumnSet::calculateBalancedHeight):
(WebCore::RenderMultiColumnSet::recalculateBalancedHeight):
(WebCore::RenderMultiColumnSet::prepareForLayout):

LayoutTests:

* fast/multicol/newmulticol/unresolvable-percent-height-2-expected.html: Added.
* fast/multicol/newmulticol/unresolvable-percent-height-2.html: Added.
* fast/multicol/newmulticol/unresolvable-percent-height-expected.html: Added.
* fast/multicol/newmulticol/unresolvable-percent-height.html: Added.
* fast/multicol/newmulticol/unresolvable-percent-max-height-2-expected.html: Added.
* fast/multicol/newmulticol/unresolvable-percent-max-height-2.html: Added.
* fast/multicol/newmulticol/unresolvable-percent-max-height-expected.html: Added.
* fast/multicol/newmulticol/unresolvable-percent-max-height.html: Added.

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

6 years agoUpstream changes to json-shared.php from the perf dashboard
rniwa@webkit.org [Fri, 24 Jan 2014 06:12:57 +0000 (06:12 +0000)]
Upstream changes to json-shared.php from the perf dashboard
https://bugs.webkit.org/show_bug.cgi?id=127544

Reviewed by Joseph Pecoraro.

json-shared.php originated from the perf dashboard.
Upstream changes made to the version in the perf. dashboard so that two apps could share the same code.

* public/include/json-shared.php:
(exit_with_error):
(echo_success):
(exit_with_success):
(set_exit_detail):
(merge_additional_details):

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

6 years agoMove ContentSearchUtils, ScriptBreakpoint, and ScriptDebugListener into JavaScriptCor...
joepeck@webkit.org [Fri, 24 Jan 2014 06:07:31 +0000 (06:07 +0000)]
Move ContentSearchUtils, ScriptBreakpoint, and ScriptDebugListener into JavaScriptCore for inspector
https://bugs.webkit.org/show_bug.cgi?id=127537

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* inspector/ContentSearchUtilities.cpp: Renamed from Source/WebCore/inspector/ContentSearchUtils.cpp.
(Inspector::ContentSearchUtilities::createSearchRegexSource):
(Inspector::ContentSearchUtilities::sizetExtractor):
(Inspector::ContentSearchUtilities::textPositionFromOffset):
(Inspector::ContentSearchUtilities::getRegularExpressionMatchesByLines):
(Inspector::ContentSearchUtilities::lineEndings):
(Inspector::ContentSearchUtilities::buildObjectForSearchMatch):
(Inspector::ContentSearchUtilities::createSearchRegex):
(Inspector::ContentSearchUtilities::countRegularExpressionMatches):
(Inspector::ContentSearchUtilities::searchInTextByLines):
(Inspector::ContentSearchUtilities::scriptCommentPattern):
(Inspector::ContentSearchUtilities::stylesheetCommentPattern):
(Inspector::ContentSearchUtilities::findMagicComment):
(Inspector::ContentSearchUtilities::findScriptSourceURL):
(Inspector::ContentSearchUtilities::findScriptSourceMapURL):
(Inspector::ContentSearchUtilities::findStylesheetSourceMapURL):
* inspector/ContentSearchUtilities.h: Renamed from Source/WebCore/inspector/ContentSearchUtils.h.
* inspector/ScriptBreakpoint.h: Renamed from Source/WebCore/inspector/ScriptBreakpoint.h.
(Inspector::ScriptBreakpointAction::ScriptBreakpointAction):
(Inspector::ScriptBreakpoint::ScriptBreakpoint):
* inspector/ScriptDebugListener.h: Renamed from Source/WebCore/inspector/ScriptDebugListener.h.
(Inspector::ScriptDebugListener::Script::Script):
(Inspector::ScriptDebugListener::~ScriptDebugListener):
* runtime/RegExp.cpp:
(JSC::RegExp::match):

Source/WebCore:

  - Rename ContentSearchUtils => ContentSearchUtilities and move to JavaScriptCore.
  - Move ScriptBreakpoint and ScriptDebugListener to JavaScriptCore.
  - Move them all to namespace Inspector.
  - Update build files and users to the new names.

No change in functionality, just moving code.

* CMakeLists.txt:
* ForwardingHeaders/inspector/ContentSearchUtilities.h: Added.
* ForwardingHeaders/inspector/ScriptBreakpoint.h: Added.
* ForwardingHeaders/inspector/ScriptDebugListener.h: Added.
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/PageScriptDebugServer.cpp:
* bindings/js/PageScriptDebugServer.h:
* bindings/js/ScriptDebugServer.cpp:
* bindings/js/ScriptDebugServer.h:
* bindings/js/WorkerScriptDebugServer.cpp:
* bindings/js/WorkerScriptDebugServer.h:
* inspector/InspectorAllInOne.cpp:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::searchInContent):
(WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
(WebCore::InspectorDebuggerAgent::didParseSource):
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::sourceMapURLForResource):
(WebCore::InspectorPageAgent::searchInResource):
(WebCore::InspectorPageAgent::searchInResources):
* inspector/InspectorStyleSheet.cpp:
(WebCore::buildSourceRangeObject):
(WebCore::InspectorStyleSheet::lineEndings):
(WebCore::InspectorStyleSheetForInlineStyle::lineEndings):

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

6 years agoMove RegularExpression into JavaScriptCore for inspector
joepeck@webkit.org [Fri, 24 Jan 2014 06:07:24 +0000 (06:07 +0000)]
Move RegularExpression into JavaScriptCore for inspector
https://bugs.webkit.org/show_bug.cgi?id=127526

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Move RegularExpression into JavaScriptCore/yarr so it can
be used later on by JavaScriptCore/inspector. Convert to
the JSC::Yarr namespace.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* yarr/RegularExpression.cpp: Renamed from Source/WebCore/platform/text/RegularExpression.cpp.
(JSC::Yarr::RegularExpression::Private::create):
(JSC::Yarr::RegularExpression::Private::Private):
(JSC::Yarr::RegularExpression::Private::compile):
(JSC::Yarr::RegularExpression::RegularExpression):
(JSC::Yarr::RegularExpression::~RegularExpression):
(JSC::Yarr::RegularExpression::operator=):
(JSC::Yarr::RegularExpression::match):
(JSC::Yarr::RegularExpression::searchRev):
(JSC::Yarr::RegularExpression::matchedLength):
(JSC::Yarr::replace):
(JSC::Yarr::RegularExpression::isValid):
* yarr/RegularExpression.h: Renamed from Source/WebCore/platform/text/RegularExpression.h.

Source/WebCore:

Update as appropriate for the moved file and namespace
change for class RegularExpression.

* CMakeLists.txt:
* ForwardingHeaders/yarr/RegularExpression.h: Added.
* GNUmakefile.list.am:
* WebCore.exp.in:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* dom/DOMImplementation.h:
* html/BaseCheckableInputType.cpp:
* html/BaseTextInputType.cpp:
(WebCore::BaseTextInputType::patternMismatch):
* html/EmailInputType.cpp:
(WebCore::isValidEmailAddress):
* html/InputType.cpp:
* inspector/ContentSearchUtils.cpp:
(WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
(WebCore::ContentSearchUtils::createSearchRegex):
(WebCore::ContentSearchUtils::countRegularExpressionMatches):
(WebCore::ContentSearchUtils::searchInTextByLines):
* inspector/ContentSearchUtils.h:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::matches):
(WebCore::InspectorDebuggerAgent::breakpointActionLog):
(WebCore::InspectorDebuggerAgent::breakpointActionSound):
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::searchInResources):
* inspector/InspectorPageAgent.h:
* inspector/InspectorRuntimeAgent.cpp:
* inspector/InspectorRuntimeAgent.h:
* inspector/InspectorStyleSheet.cpp:
(WebCore::selectorsFromSource):
* inspector/WorkerDebuggerAgent.cpp:
* page/Frame.cpp:
(WebCore::createRegExpForLabels):
(WebCore::Frame::searchForLabelsAboveCell):
(WebCore::Frame::searchForLabelsBeforeElement):
(WebCore::matchLabelsAgainstString):
* page/Frame.h:
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::getUnmangledInfoLog):

Source/WebKit/mac:

* WebView/WebHTMLRepresentation.mm:

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

6 years agoSource/WebCore: IDB: Support IDBObjectStore.clear()
beidson@apple.com [Fri, 24 Jan 2014 05:45:09 +0000 (05:45 +0000)]
Source/WebCore: IDB: Support IDBObjectStore.clear()
https://bugs.webkit.org/show_bug.cgi?id=127541

Reviewed by Anders Carlsson.

The backing store should never be performing callbacks directly:
* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
(WebCore::IDBServerConnectionLevelDB::clearObjectStore):

Instead, the transaction operations should do that themselves:
* Modules/indexeddb/IDBTransactionBackendOperations.cpp:
(WebCore::ClearObjectStoreOperation::perform):
* Modules/indexeddb/IDBTransactionBackendOperations.h:
(WebCore::ClearObjectStoreOperation::transaction):

Source/WebKit2: IDB: Support IDBObjectStore.clear()
https://bugs.webkit.org/show_bug.cgi?id=127541

Reviewed by Anders Carlsson.

Make the WebProcess call out to the DatabaseProcess with a clear request, and handle the
response from the DatabaseProcess:
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
(WebKit::WebIDBServerConnection::clearObjectStore):
(WebKit::WebIDBServerConnection::didClearObjectStore):
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:

Pass the clear request to the appropriate UniqueIDBDatabase:
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
(WebKit::DatabaseProcessIDBConnection::clearObjectStore):
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:

Pass the clear request to the backing store:
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
(WebKit::UniqueIDBDatabase::didClearObjectStore):
(WebKit::UniqueIDBDatabase::clearObjectStore):
(WebKit::UniqueIDBDatabase::clearObjectStoreInBackingStore):
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

Actually drop the records in the database:
* DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::clearObjectStore):
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

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

6 years agoFix crash when opening the inspector
andersca@apple.com [Fri, 24 Jan 2014 05:43:09 +0000 (05:43 +0000)]
Fix crash when opening the inspector
https://bugs.webkit.org/show_bug.cgi?id=127542
<rdar://problem/15899544>

Reviewed by Joseph Pecoraro.

Create default clients so we won't crash if they're never set.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):

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

6 years agoUnreviewed build fix attemp on the EFL and GTK build after r162678
ryuan.choi@samsung.com [Fri, 24 Jan 2014 05:29:32 +0000 (05:29 +0000)]
Unreviewed build fix attemp on the EFL and GTK build after r162678

* CMakeLists.txt: Removed WebPolicyClient.cpp
* GNUmakefile.list.am: Removed WebPolicyClient.cpp and WebPolicyClient.h

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

6 years ago<rdar://problem/15875326> REGRESSION (r162257): Assertion failure (should not be...
mitz@apple.com [Fri, 24 Jan 2014 05:21:21 +0000 (05:21 +0000)]
<rdar://problem/15875326> REGRESSION (r162257): Assertion failure (should not be reached) in CSSPreloadScanner::tokenize()
https://bugs.webkit.org/show_bug.cgi?id=127540

Reviewed by Anders Carlsson.

No new tests, because I could not reproduce the bug reliably and I don’t know how to trigger
it.

* html/parser/CSSPreloadScanner.cpp:
(WebCore::CSSPreloadScanner::scan): Check for the DoneParsingImportRules before tokenizing
a character, not after. This restores the logic from before r162257.

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

6 years ago[iOS] Protect against possbile deadlock by delaying video layer creation
jer.noble@apple.com [Fri, 24 Jan 2014 05:15:38 +0000 (05:15 +0000)]
[iOS] Protect against possbile deadlock by delaying video layer creation
https://bugs.webkit.org/show_bug.cgi?id=127505

Reviewed by Eric Carlson.

Work around a possible deadlock on iOS when creating a media element
backed by AVFoundation by delaying creation of the AVPlayerLayer.
The deadlock can occur when the web thread is doing CALayer layout
while taking the web thread lock, while CoreMedia is doing property
access on an async thread while taking the CM lock, and each is waiting
for the other's lock to be released.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):

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

6 years ago[MSE][Mac] Crash when reloading a page during playback
jer.noble@apple.com [Fri, 24 Jan 2014 04:59:15 +0000 (04:59 +0000)]
[MSE][Mac] Crash when reloading a page during playback
https://bugs.webkit.org/show_bug.cgi?id=126903

Reviewed by Eric Carlson.

Periodic time observers added to AVSampleBufferRenderSynchronizer will execute their
callback block even after being removed with -removeTimeObserver:, which is tracked by
<rdar://problem/15798050>. Work around this problem by passing a WeakPtr into the block
and bail early if the owning media player has been destroyed.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::createWeakPtr):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):

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

6 years agoSupport NSInteger argument type for encoding/decoding invocations.
commit-queue@webkit.org [Fri, 24 Jan 2014 04:51:06 +0000 (04:51 +0000)]
Support NSInteger argument type for encoding/decoding invocations.
https://bugs.webkit.org/show_bug.cgi?id=127522

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2014-01-23
Reviewed by Dan Bernstein.

Add support for NSInteger argument type ('q') for remote invocations.

* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(encodeInvocation):
(decodeInvocationArguments):

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

6 years agoDragging from inner side of video to outside causes a crash
changseok.oh@collabora.com [Fri, 24 Jan 2014 04:12:23 +0000 (04:12 +0000)]
Dragging from inner side of video to outside causes a crash
https://bugs.webkit.org/show_bug.cgi?id=126338

Reviewed by Jer Noble.

Source/WebCore:

The crash happens while dragging mouse cursor through timeline control to outside
of video region. This is beacause media controls are selected with the drag.
The media controls disappear when mouse cursor goes outside of video though
the dragging/selection proceeds. If once media controls are hidden, related element
lose their renderers. However the drag is still under going. it requires shadowPseudoId
of the selected controls. Untorntunately, SliderThumbElement/SliderContainerElement
don't return a static value for the shadowPseudoId unlike other media controls,
but they need a renderer to determine it. This is the reason of crash.

Test: media/media-controller-drag-crash.html

* html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::shadowPseudoId):
(WebCore::SliderContainerElement::shadowPseudoId):

LayoutTests:

This tests that dragging through timeslider control to outside of video causes a crash.
The crash happened on both gtk+ and efl ports not using MEDIA_CONTROL_SCRIPT.

* media/media-controller-drag-crash-expected.txt: Added.
* media/media-controller-drag-crash.html: Added.

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

6 years agoIDB: Implement SQLite backing store 'get' support
beidson@apple.com [Fri, 24 Jan 2014 03:52:30 +0000 (03:52 +0000)]
IDB: Implement SQLite backing store 'get' support
https://bugs.webkit.org/show_bug.cgi?id=127502

Reviewed by Tim Horton.

Source/WebCore:

Get a KeyRange from a KeyRangeData:
* Modules/indexeddb/IDBKeyRangeData.cpp:
(WebCore::IDBKeyRangeData::maybeCreateIDBKeyRange):
* Modules/indexeddb/IDBKeyRangeData.h:

Add collation function support to SQLiteDatabase:
* platform/sql/SQLiteDatabase.cpp:
(WebCore::destroyCollationFunction):
(WebCore::callCollationFunction):
(WebCore::SQLiteDatabase::setCollationFunction):
(WebCore::SQLiteDatabase::removeCollationFunction):
* platform/sql/SQLiteDatabase.h:

* WebCore.exp.in:

Source/WebKit2:

This makes get of a single IDBKey work, and lays the groundwork for getting an IDBKeyRange.

* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
(WebKit::UniqueIDBDatabase::getRecordFromBackingStore):
* DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:

* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): Add custom collation
  to the Records table.
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata): Install the custom collator.
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRecordFromObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRangeRecordFromObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::collate): Collation function to be filled in later.
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

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

6 years agoRefactor TimelineRecordBar combining logic into a helper function.
timothy@apple.com [Fri, 24 Jan 2014 03:41:22 +0000 (03:41 +0000)]
Refactor TimelineRecordBar combining logic into a helper function.

https://bugs.webkit.org/show_bug.cgi?id=127530

Reviewed by Joseph Pecoraro.

* UserInterface/LayoutTimelineOverviewGraph.js:
(WebInspector.LayoutTimelineOverviewGraph.prototype.updateLayout.createBar):
(WebInspector.LayoutTimelineOverviewGraph.prototype.updateLayout):
Use TimelineRecordBar.createCombinedBars.

* UserInterface/NetworkTimelineOverviewGraph.css:
(.timeline-overview-graph.network):
(.timeline-overview-graph.network > .graph-row > .timeline-record-bar):
Cleaned up since we are using TimelineRecordBar.

* UserInterface/NetworkTimelineOverviewGraph.js:
(WebInspector.NetworkTimelineOverviewGraph.prototype.reset):
(WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout.createBar):
(WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout):
Use TimelineRecordBar.createCombinedBars.

* UserInterface/ScriptTimelineOverviewGraph.js:
(WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout.createBar):
(WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout):
Use TimelineRecordBar.createCombinedBars.

* UserInterface/TimelineDataGridNode.js:
(WebInspector.TimelineDataGridNode.prototype.refreshGraph.createBar):
(WebInspector.TimelineDataGridNode.prototype.refreshGraph):
Use TimelineRecordBar.createCombinedBars.

* UserInterface/TimelineRecordBar.css:
(.timeline-record-bar.unfinished > .segment):
(.timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
(:focus .selected .timeline-record-bar > .segment.inactive):
Improved selected appearance and don't assume .segment.inactive exists.

* UserInterface/TimelineRecordBar.js:
(WebInspector.TimelineRecordBar):
(WebInspector.TimelineRecordBar.createCombinedBars.compareByActiveStartTime): Added.
(WebInspector.TimelineRecordBar.createCombinedBars): Added.
(WebInspector.TimelineRecordBar.prototype.get renderMode): Added.
(WebInspector.TimelineRecordBar.prototype.set renderMode): Added.
(WebInspector.TimelineRecordBar.prototype.set records):
(WebInspector.TimelineRecordBar.prototype.refresh):
Lazy create DOM elements. Support rendering one or both segments. Doing this lets
combined inactive segments to sit behind multiple active segments.

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

6 years agoRemote Inspector uses the Page pointer before the page is created on iOS
commit-queue@webkit.org [Fri, 24 Jan 2014 03:08:56 +0000 (03:08 +0000)]
Remote Inspector uses the Page pointer before the page is created on iOS
https://bugs.webkit.org/show_bug.cgi?id=127534

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-01-23
Reviewed by Joseph Pecoraro.

* WebView/WebView.mm:
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):

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

6 years agoAssertion failure in WebCore::PseudoElement::didRecalcStyle()
jhoneycutt@apple.com [Fri, 24 Jan 2014 02:55:15 +0000 (02:55 +0000)]
Assertion failure in WebCore::PseudoElement::didRecalcStyle()
<https://bugs.webkit.org/show_bug.cgi?id=126761>
<rdar://problem/15793540>

Source/WebCore:

Reviewed by Andy Estes.

Test: fast/images/animate-list-item-image-assertion.html

* dom/PseudoElement.cpp:
(WebCore::PseudoElement::didRecalcStyle):
Check isRenderImage() rather than isImage() before casting to
RenderImage.

* editing/ios/EditorIOS.mm:
(WebCore::getImage):
Ditto.

* editing/mac/EditorMac.mm:
(WebCore::getImage):
Ditto.

* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseAttribute):
(WebCore::HTMLImageElement::didAttachRenderers):
Ditto.

* loader/ImageLoader.cpp:
(WebCore::ImageLoader::renderImageResource):
Ditto.

* page/DragController.cpp:
(WebCore::getCachedImage):
Ditto.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::isDirectlyCompositedImage):
(WebCore::RenderLayerBacking::updateImageContents):
Ditto.

Source/WebKit/mac:

Some areas of code were erroneously checking the value of
RenderObject::isImage() rather than RenderObject::isRenderImage()
before casting the object to RenderImage.

This could lead to an assertion failure for RenderListMarkers, which
may return true for isImage(), but are not RenderImages.

Reviewed by Andy Estes.

* Misc/WebNSPasteboardExtras.mm:
(-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
Check isRenderImage() rather than isImage() before casting to
RenderImage.

Source/WebKit2:

Reviewed by Andy Estes.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getPositionInformation):
Check isRenderImage() rather than isImage() before casting to
RenderImage.

LayoutTests:

Reviewed by Andy Estes.

* fast/images/animate-list-item-image-assertion-expected.txt: Added.
* fast/images/animate-list-item-image-assertion.html: Added.

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

6 years agoMove policy client into WKPage.cpp and get rid of WebPolicyClient files
andersca@apple.com [Fri, 24 Jan 2014 02:49:42 +0000 (02:49 +0000)]
Move policy client into WKPage.cpp and get rid of WebPolicyClient files
https://bugs.webkit.org/show_bug.cgi?id=127536

Reviewed by Tim Horton.

* UIProcess/API/C/WKPage.cpp:
(WKPageSetPagePolicyClient):
* UIProcess/WebPolicyClient.cpp: Removed.
* UIProcess/WebPolicyClient.h: Removed.
* WebKit2.xcodeproj/project.pbxproj:

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

6 years agoAttempt to fix Windows DRT link issue.
simon.fraser@apple.com [Fri, 24 Jan 2014 02:42:31 +0000 (02:42 +0000)]
Attempt to fix Windows DRT link issue.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

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

6 years agoWeb Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
joepeck@webkit.org [Fri, 24 Jan 2014 02:38:08 +0000 (02:38 +0000)]
Web Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
https://bugs.webkit.org/show_bug.cgi?id=127409

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* inspector/InspectorAgentBase.h:
When disconnecting agents, provide a InspectorDisconnectReason for
the disconnection. It could be that an inspector frontend is just
disconnecting or that the inspected object is going away entirely
and we can avoid doing some work.

* runtime/JSGlobalObjectDebuggable.h:
* runtime/JSGlobalObjectDebuggable.cpp:
(JSC::JSGlobalObjectDebuggable::~JSGlobalObjectDebuggable):
(JSC::JSGlobalObjectDebuggable::disconnect):
(JSC::JSGlobalObjectDebuggable::disconnectInternal):
Pass different reasons for the different disconnects.

* inspector/InspectorAgentRegistry.cpp:
(Inspector::InspectorAgentRegistry::willDestroyFrontendAndBackend):
* inspector/InspectorAgentRegistry.h:
* inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::disconnectFrontend):
* inspector/JSGlobalObjectInspectorController.h:
* inspector/agents/InspectorAgent.cpp:
(Inspector::InspectorAgent::willDestroyFrontendAndBackend):
* inspector/agents/InspectorAgent.h:
Pass InspectorDisconnectReason around where needed.

Source/WebCore:

No new tests (OOPS!).

* bindings/js/ScriptDebugServer.h:
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::ScriptDebugServer):
Remove m_recompileTimer and the recompile soon function.
We can just recompile immediately in all existing cases.

* bindings/js/PageScriptDebugServer.h:
* bindings/js/PageScriptDebugServer.cpp:
(WebCore::PageScriptDebugServer::addListener):
(WebCore::PageScriptDebugServer::removeListener):
(WebCore::PageScriptDebugServer::recompileAllJSFunctions):
(WebCore::PageScriptDebugServer::didAddFirstListener):
(WebCore::PageScriptDebugServer::didRemoveLastListener):
Add a "didAddFirstListener" to match "didRemoveLastListener".
Only recompile functions when we attach the debugger and when
we detach the last listener.

* bindings/js/WorkerScriptDebugServer.cpp:
(WebCore::WorkerScriptDebugServer::addListener):
(WebCore::WorkerScriptDebugServer::removeListener):
(WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
Same thing. Also rearrange the functions to read better.

* inspector/InspectorProfilerAgent.cpp:
Use the direct recompile function instead of the removed "soon" version.

* WebCore.exp.in:
Update disconnectFrontend symbol.

* page/PageDebuggable.cpp:
(WebCore::PageDebuggable::disconnect):
* testing/Internals.cpp:
(WebCore::Internals::closeDummyInspectorFrontend):
* workers/WorkerMessagingProxy.cpp:
(WebCore::disconnectFromWorkerGlobalScopeInspectorTask):
Include an InspectorDisconnectReason when calling disconnectFrontend.

* inspector/InspectorDatabaseAgent.h:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::disable):
(WebCore::InspectorDebuggerAgent::willDestroyFrontendAndBackend):
If the disconnect reason is the page will be destroyed, don't recompile when disconnecting.

* inspector/InspectorProfilerAgent.h:
* inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::enable):
(WebCore::InspectorProfilerAgent::disable):
(WebCore::InspectorProfilerAgent::willDestroyFrontendAndBackend):
If the disconnect reason is the page will be destroyed, don't recompile when disconnecting.

* inspector/InspectorController.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::inspectedPageDestroyed):
(WebCore::InspectorController::disconnectFrontend):
(WebCore::InspectorController::close):
Pass different reasons for the different disconnect reasons.

* inspector/WorkerInspectorController.h:
* inspector/WorkerInspectorController.cpp:
(WebCore::WorkerInspectorController::~WorkerInspectorController):
(WebCore::WorkerInspectorController::disconnectFrontend):
Pass different reasons for the different disconnect reasons.

* inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::willDestroyFrontendAndBackend):
* inspector/InspectorApplicationCacheAgent.h:
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::willDestroyFrontendAndBackend):
* inspector/InspectorCSSAgent.h:
* inspector/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::willDestroyFrontendAndBackend):
* inspector/InspectorCanvasAgent.h:
* inspector/InspectorConsoleAgent.cpp:
(WebCore::InspectorConsoleAgent::willDestroyFrontendAndBackend):
* inspector/InspectorConsoleAgent.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::willDestroyFrontendAndBackend):
* inspector/InspectorDOMAgent.h:
* inspector/InspectorDOMDebuggerAgent.cpp:
(WebCore::InspectorDOMDebuggerAgent::willDestroyFrontendAndBackend):
* inspector/InspectorDOMDebuggerAgent.h:
* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::willDestroyFrontendAndBackend):
* inspector/InspectorDOMStorageAgent.h:
* inspector/InspectorDatabaseAgent.cpp:
(WebCore::InspectorDatabaseAgent::willDestroyFrontendAndBackend):
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorHeapProfilerAgent.cpp:
(WebCore::InspectorHeapProfilerAgent::willDestroyFrontendAndBackend):
* inspector/InspectorHeapProfilerAgent.h:
* inspector/InspectorIndexedDBAgent.cpp:
(WebCore::InspectorIndexedDBAgent::willDestroyFrontendAndBackend):
* inspector/InspectorIndexedDBAgent.h:
* inspector/InspectorInputAgent.cpp:
(WebCore::InspectorInputAgent::willDestroyFrontendAndBackend):
* inspector/InspectorInputAgent.h:
* inspector/InspectorLayerTreeAgent.cpp:
(WebCore::InspectorLayerTreeAgent::willDestroyFrontendAndBackend):
* inspector/InspectorLayerTreeAgent.h:
* inspector/InspectorMemoryAgent.cpp:
(WebCore::InspectorMemoryAgent::willDestroyFrontendAndBackend):
* inspector/InspectorMemoryAgent.h:
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::willDestroyFrontendAndBackend):
* inspector/InspectorPageAgent.h:
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::willDestroyFrontendAndBackend):
* inspector/InspectorResourceAgent.h:
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::willDestroyFrontendAndBackend):
* inspector/InspectorTimelineAgent.h:
* inspector/InspectorWorkerAgent.cpp:
(WebCore::InspectorWorkerAgent::willDestroyFrontendAndBackend):
* inspector/InspectorWorkerAgent.h:
* inspector/PageDebuggerAgent.cpp:
(WebCore::PageDebuggerAgent::disable):
(WebCore::PageDebuggerAgent::stopListeningScriptDebugServer):
* inspector/PageDebuggerAgent.h:
* inspector/PageRuntimeAgent.cpp:
(WebCore::PageRuntimeAgent::willDestroyFrontendAndBackend):
* inspector/PageRuntimeAgent.h:
* inspector/WorkerDebuggerAgent.cpp:
(WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):
* inspector/WorkerDebuggerAgent.h:
* inspector/WorkerRuntimeAgent.cpp:
(WebCore::WorkerRuntimeAgent::willDestroyFrontendAndBackend):
* inspector/WorkerRuntimeAgent.h:
Include InspectorDisconnectReason param.

Source/WebKit/efl:

* WebCoreSupport/InspectorClientEfl.cpp:
(WebCore::InspectorFrontendClientEfl::destroyInspectorWindow):
Include InspectorDisconnectReason.

Source/WebKit/gtk:

* WebCoreSupport/InspectorClientGtk.cpp:
(WebKit::InspectorFrontendClient::destroyInspectorWindow):
Include InspectorDisconnectReason.

Source/WebKit/mac:

* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController destroyInspectorView:]):
Include InspectorDisconnectReason.

Source/WebKit/win:

* WebCoreSupport/WebInspectorClient.cpp:
(WebInspectorFrontendClient::destroyInspectorView):
Include InspectorDisconnectReason.

Source/WebKit2:

* WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
(WebKit::WebInspectorFrontendClient::closeWindow):
* WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::remoteFrontendDisconnected):
Include InspectorDisconnectReason.

LayoutTests:

Remove "Breakpoints Enabled" output in tests. Breakpoints are already
enabled by default in tests. Also since the DebuggerAgent.enable() call
now immediately recompiles scripts, sourceParsed events are now sent to
the frontend earlier even before the setBreakpointsActive message has
been processed, so the "Breakpoints Enabled" output was showing up
later, seemingly randomly in tests, and is no longer helpful.

* inspector-protocol/debugger/breakpoint-action-detach-expected.txt:
* inspector-protocol/debugger/breakpoint-action-detach.html:
* inspector-protocol/debugger/breakpoint-action-with-exception-expected.txt:
* inspector-protocol/debugger/breakpoint-action-with-exception.html:
* inspector-protocol/debugger/breakpoint-condition-detach-expected.txt:
* inspector-protocol/debugger/breakpoint-condition-detach.html:
* inspector-protocol/debugger/breakpoint-condition-with-exception-expected.txt:
* inspector-protocol/debugger/breakpoint-condition-with-exception.html:
* inspector-protocol/debugger/breakpoint-eval-with-exception-expected.txt:
* inspector-protocol/debugger/breakpoint-eval-with-exception.html:
* inspector-protocol/debugger/breakpoint-inside-conditons-and-actions-expected.txt:
* inspector-protocol/debugger/breakpoint-inside-conditons-and-actions.html:
* inspector-protocol/debugger/call-frame-function-name-expected.txt:
* inspector-protocol/debugger/call-frame-function-name.html:
* inspector-protocol/debugger/call-frame-this-host-expected.txt:
* inspector-protocol/debugger/call-frame-this-host.html:
* inspector-protocol/debugger/call-frame-this-nonstrict-expected.txt:
* inspector-protocol/debugger/call-frame-this-nonstrict.html:
* inspector-protocol/debugger/call-frame-this-strict-expected.txt:
* inspector-protocol/debugger/call-frame-this-strict.html:
* inspector-protocol/debugger/didSampleProbe-multiple-probes-expected.txt:
* inspector-protocol/debugger/didSampleProbe-multiple-probes.html:
* inspector-protocol/debugger/nested-inspectors-expected.txt:
* inspector-protocol/debugger/nested-inspectors.html:
* inspector-protocol/debugger/removeBreakpoint-expected.txt:
* inspector-protocol/debugger/removeBreakpoint.html:
* inspector-protocol/debugger/setBreakpoint-actions-expected.txt:
* inspector-protocol/debugger/setBreakpoint-actions.html:
* inspector-protocol/debugger/setBreakpoint-autoContinue-expected.txt:
* inspector-protocol/debugger/setBreakpoint-autoContinue.html:
* inspector-protocol/debugger/setBreakpoint-column-expected.txt:
* inspector-protocol/debugger/setBreakpoint-column.html:
* inspector-protocol/debugger/setBreakpoint-condition-expected.txt:
* inspector-protocol/debugger/setBreakpoint-condition.html:
* inspector-protocol/debugger/setBreakpoint-expected.txt:
* inspector-protocol/debugger/setBreakpoint-options-exception-expected.txt:
* inspector-protocol/debugger/setBreakpoint-options-exception.html:
* inspector-protocol/debugger/setBreakpoint.html:
* inspector-protocol/debugger/setBreakpointByUrl-sourceURL-expected.txt:
* inspector-protocol/debugger/setBreakpointByUrl-sourceURL.html:
* inspector-protocol/debugger/setPauseOnExceptions-all-expected.txt:
* inspector-protocol/debugger/setPauseOnExceptions-all.html:
* inspector-protocol/debugger/setPauseOnExceptions-none-expected.txt:
* inspector-protocol/debugger/setPauseOnExceptions-none.html:
* inspector-protocol/debugger/setPauseOnExceptions-uncaught-expected.txt:
* inspector-protocol/debugger/setPauseOnExceptions-uncaught.html:
* inspector-protocol/dom-debugger/node-removed-expected.txt:
* inspector-protocol/dom-debugger/node-removed.html:

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

6 years agoOnly WKPage should know about WebPolicyClient
andersca@apple.com [Fri, 24 Jan 2014 02:33:02 +0000 (02:33 +0000)]
Only WKPage should know about WebPolicyClient
https://bugs.webkit.org/show_bug.cgi?id=127535

Reviewed by Andreas Kling.

* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(setUpPagePolicyClient):
(-[WKBrowsingContextController setPolicyDelegate:]):
* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::createInspectorPage):

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

6 years agoAnother Windows fix.
simon.fraser@apple.com [Fri, 24 Jan 2014 02:24:51 +0000 (02:24 +0000)]
Another Windows fix.

* WebFrame.cpp:
(WebFrame::frameBounds):

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

6 years agoSimplify API::LoaderClient management
andersca@apple.com [Fri, 24 Jan 2014 02:20:08 +0000 (02:20 +0000)]
Simplify API::LoaderClient management
https://bugs.webkit.org/show_bug.cgi?id=127531

Reviewed by Tim Horton.

Add default implementations to API::LoaderClient and change WebPageProxy::setLoaderClient to
always create a policy client, even if the loader client set is null. That way we don't have to null
check the loader client everywhere.

* UIProcess/API/APILoaderClient.h:
(API::LoaderClient::didStartProvisionalLoadForFrame):
(API::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
(API::LoaderClient::didFailProvisionalLoadWithErrorForFrame):
(API::LoaderClient::didCommitLoadForFrame):
(API::LoaderClient::didFinishDocumentLoadForFrame):
(API::LoaderClient::didFinishLoadForFrame):
(API::LoaderClient::didFailLoadWithErrorForFrame):
(API::LoaderClient::didSameDocumentNavigationForFrame):
(API::LoaderClient::didReceiveTitleForFrame):
(API::LoaderClient::didFirstLayoutForFrame):
(API::LoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
(API::LoaderClient::didRemoveFrameFromHierarchy):
(API::LoaderClient::didDisplayInsecureContentForFrame):
(API::LoaderClient::didRunInsecureContentForFrame):
(API::LoaderClient::didDetectXSSForFrame):
(API::LoaderClient::didLayout):
(API::LoaderClient::canAuthenticateAgainstProtectionSpaceInFrame):
(API::LoaderClient::didReceiveAuthenticationChallengeInFrame):
(API::LoaderClient::didStartProgress):
(API::LoaderClient::didChangeProgress):
(API::LoaderClient::didFinishProgress):
(API::LoaderClient::processDidBecomeUnresponsive):
(API::LoaderClient::interactionOccurredWhileProcessUnresponsive):
(API::LoaderClient::processDidBecomeResponsive):
(API::LoaderClient::processDidCrash):
(API::LoaderClient::didChangeBackForwardList):
(API::LoaderClient::willGoToBackForwardListItem):
(API::LoaderClient::pluginLoadPolicy):
(API::LoaderClient::didFailToInitializePlugin):
(API::LoaderClient::didBlockInsecurePluginVersion):
(API::LoaderClient::webGLLoadPolicy):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setLoaderClient):
(WebKit::WebPageProxy::didChangeBackForwardList):
(WebKit::WebPageProxy::willGoToBackForwardListItem):
(WebKit::WebPageProxy::findPlugin):
(WebKit::WebPageProxy::didStartProgress):
(WebKit::WebPageProxy::didChangeProgress):
(WebKit::WebPageProxy::didFinishProgress):
(WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
(WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
(WebKit::WebPageProxy::didFinishLoadForFrame):
(WebKit::WebPageProxy::didFailLoadForFrame):
(WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
(WebKit::WebPageProxy::didReceiveTitleForFrame):
(WebKit::WebPageProxy::didFirstLayoutForFrame):
(WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
(WebKit::WebPageProxy::didLayout):
(WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
(WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
(WebKit::WebPageProxy::didRunInsecureContentForFrame):
(WebKit::WebPageProxy::didDetectXSSForFrame):
(WebKit::WebPageProxy::webGLPolicyForURL):
(WebKit::WebPageProxy::processDidBecomeUnresponsive):
(WebKit::WebPageProxy::interactionOccurredWhileProcessUnresponsive):
(WebKit::WebPageProxy::processDidBecomeResponsive):
(WebKit::WebPageProxy::processDidCrash):
(WebKit::WebPageProxy::canAuthenticateAgainstProtectionSpaceInFrame):
(WebKit::WebPageProxy::didReceiveAuthenticationChallengeProxy):
(WebKit::WebPageProxy::didFailToInitializePlugin):
(WebKit::WebPageProxy::didBlockInsecurePluginVersion):

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

6 years agoSimplify API::PolicyClient management
andersca@apple.com [Fri, 24 Jan 2014 02:08:34 +0000 (02:08 +0000)]
Simplify API::PolicyClient management
https://bugs.webkit.org/show_bug.cgi?id=127529

Reviewed by Tim Horton.

Add default implementations to API::PolicyClient and change WebPageProxy::setPolicyClient to
always create a policy client, even if the policy object set is null. That way we don't have to null
check the policy client everywhere.

* UIProcess/API/APIPolicyClient.h:
(API::PolicyClient::decidePolicyForNavigationAction):
(API::PolicyClient::decidePolicyForNewWindowAction):
(API::PolicyClient::decidePolicyForResponse):
(API::PolicyClient::unableToImplementPolicy):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setPolicyClient):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNewWindowAction):
(WebKit::WebPageProxy::decidePolicyForResponse):
(WebKit::WebPageProxy::unableToImplementPolicy):

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

6 years agoSource/WebKit/efl: Fix EFL.
simon.fraser@apple.com [Fri, 24 Jan 2014 02:04:26 +0000 (02:04 +0000)]
Source/WebKit/efl: Fix EFL.

* ewk/ewk_frame.cpp:
(ewk_frame_visible_content_geometry_get):

Source/WebKit2: Fix GTK.

* WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
(webkitWebPageDidReceiveMessage):

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

6 years agoAdd an APILoaderClient base class
andersca@apple.com [Fri, 24 Jan 2014 02:00:12 +0000 (02:00 +0000)]
Add an APILoaderClient base class
https://bugs.webkit.org/show_bug.cgi?id=127527

Reviewed by Tim Horton.

* UIProcess/API/APILoaderClient.h: Added.
(API::LoaderClient::~LoaderClient):
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageLoaderClient):
* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(setUpPageLoaderClient):
(-[WKBrowsingContextController setLoadDelegate:]):
(+[WKBrowsingContextController _browsingContextControllerForPageRef:]):
* UIProcess/WebLoaderClient.cpp:
(WebKit::WebLoaderClient::WebLoaderClient):
* UIProcess/WebLoaderClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setLoaderClient):
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::didChangeBackForwardList):
(WebKit::WebPageProxy::willGoToBackForwardListItem):
(WebKit::WebPageProxy::findPlugin):
(WebKit::WebPageProxy::didStartProgress):
(WebKit::WebPageProxy::didChangeProgress):
(WebKit::WebPageProxy::didFinishProgress):
(WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
(WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
(WebKit::WebPageProxy::didFinishLoadForFrame):
(WebKit::WebPageProxy::didFailLoadForFrame):
(WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
(WebKit::WebPageProxy::didReceiveTitleForFrame):
(WebKit::WebPageProxy::didFirstLayoutForFrame):
(WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
(WebKit::WebPageProxy::didLayout):
(WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
(WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
(WebKit::WebPageProxy::didRunInsecureContentForFrame):
(WebKit::WebPageProxy::didDetectXSSForFrame):
(WebKit::WebPageProxy::webGLPolicyForURL):
(WebKit::WebPageProxy::processDidBecomeUnresponsive):
(WebKit::WebPageProxy::interactionOccurredWhileProcessUnresponsive):
(WebKit::WebPageProxy::processDidBecomeResponsive):
(WebKit::WebPageProxy::processDidCrash):
(WebKit::WebPageProxy::canAuthenticateAgainstProtectionSpaceInFrame):
(WebKit::WebPageProxy::didReceiveAuthenticationChallengeProxy):
(WebKit::WebPageProxy::didFailToInitializePlugin):
(WebKit::WebPageProxy::didBlockInsecurePluginVersion):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::loaderClient):
* WebKit2.xcodeproj/project.pbxproj:

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

6 years agoAnother Windows fix: include <algorithm> for std::min and std::max.
simon.fraser@apple.com [Fri, 24 Jan 2014 01:52:29 +0000 (01:52 +0000)]
Another Windows fix: include <algorithm> for std::min and std::max.

* platform/graphics/IntSize.h:

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

6 years agoBuild break after r162650
ryuan.choi@samsung.com [Fri, 24 Jan 2014 01:28:49 +0000 (01:28 +0000)]
Build break after r162650
https://bugs.webkit.org/show_bug.cgi?id=127525

Reviewed by Anders Carlsson.

WKPreferences.h was renamed to WKPreferencesRef.

* UIProcess/API/C/WKPreferences.cpp:

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

6 years agoFix a refactoring bug that crept in and is causing the inspector to crash.
andersca@apple.com [Fri, 24 Jan 2014 01:15:11 +0000 (01:15 +0000)]
Fix a refactoring bug that crept in and is causing the inspector to crash.

* UIProcess/WebPolicyClient.cpp:
(WebKit::WebPolicyClient::decidePolicyForResponse):

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

6 years agoTry to fix Windows build.
simon.fraser@apple.com [Fri, 24 Jan 2014 01:08:55 +0000 (01:08 +0000)]
Try to fix Windows build.

* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenuWin::visibleSize):
* platform/win/PopupMenuWin.h:

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

6 years agoMake visibleContentRect() return actualVisibleContentRect() on iOS most of the time
simon.fraser@apple.com [Fri, 24 Jan 2014 00:39:46 +0000 (00:39 +0000)]
Make visibleContentRect() return actualVisibleContentRect() on iOS most of the time
https://bugs.webkit.org/show_bug.cgi?id=127456

Reviewed by Antti Koivisto.

On iOS, visibleContentRect() returns the entire document rect for historical
reasons, and actualVisibleContentRect() returns what visibleContentRect()
returns on other platforms.

In addition, actualVisibleContentRect() was returning an empty rect in WK2.

Reduce the confusion of #ifdefs by making visibleContentRect() behave like
actualVisibleContentRect() by default on iOS. Where it needs the old behavior,
an optional parameter, LegacyIOSDocumentVisibleRect, provides this.

Achieve this by having the virtual ScrollableArea::visibleContentRectInternal(),
which is called by non-virtual visibleContentRect() and visibleContentRectIncludingScrollbars().

Similarly clean up visibleHeight/visibleWidth functions by having visibleSize() be virtual,
with non-virtual visibleHeight() and visibleWidth().

ScrollableArea subclasses override visibleContentRectInternal() and visibleSize() where necessary.

Mechanically change all the call sites of actualVisibleContentRect() to
use visibleContentRect(), and the call sites of visibleContentRect()
to visibleContentRect(..., LegacyIOSDocumentVisibleRect), adding comments
where this may not be appropriate.

Change callers of visibleContentRect(IncludeScrollbars...) to visibleContentRectIncludingScrollbars().

Also add actualScrollPosition(), and clean up some actualScroll* call sites.

No behavior change.

Source/WebCore:

* WebCore.exp.in:
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isOnscreen):
(WebCore::AccessibilityObject::scrollToMakeVisibleWithSubFocus):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isOffScreen):
* dom/Document.cpp:
(WebCore::Document::adjustFloatQuadsForScrollAndAbsoluteZoomAndFrameScale):
(WebCore::Document::adjustFloatRectForScrollAndAbsoluteZoomAndFrameScale):
* dom/MouseRelatedEvent.cpp:
(WebCore::MouseRelatedEvent::MouseRelatedEvent):
* editing/Editor.cpp:
(WebCore::Editor::countMatchesForText):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::bounds):
(WebCore::FrameSelection::getClippedVisibleTextRectangles):
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::scrollLeft):
(WebCore::HTMLBodyElement::scrollTop):
* html/ImageDocument.cpp:
(WebCore::ImageDocument::imageFitsInWindow):
(WebCore::ImageDocument::windowSizeChanged):
* inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::update):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::innerHeight):
(WebCore::DOMWindow::innerWidth):
(WebCore::DOMWindow::scrollX):
(WebCore::DOMWindow::scrollY):
(WebCore::DOMWindow::scrollBy):
* page/FrameView.cpp:
(WebCore::FrameView::calculateScrollbarModesForLayout):
(WebCore::FrameView::layout):
(WebCore::FrameView::scrollContentsSlowPath):
(WebCore::FrameView::repaintContentRectangle):
(WebCore::FrameView::sendResizeEventIfNeeded):
(WebCore::FrameView::windowClipRect):
(WebCore::FrameView::isScrollable):
(WebCore::FrameView::paintControlTints):
* page/SpatialNavigation.cpp:
(WebCore::canScrollInDirection):
* platform/ScrollView.cpp:
(WebCore::ScrollView::unscaledVisibleContentSize):
(WebCore::ScrollView::visibleContentRectInternal):
(WebCore::ScrollView::updateScrollbars):
(WebCore::ScrollView::paint):
* platform/ScrollView.h:
(WebCore::ScrollView::scrollOffset):
(WebCore::ScrollView::actualScrollX):
(WebCore::ScrollView::actualScrollY):
(WebCore::ScrollView::actualScrollPosition):
* platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::visibleContentRect):
(WebCore::ScrollableArea::visibleContentRectIncludingScrollbars):
(WebCore::ScrollableArea::visibleContentRectInternal):
* platform/ScrollableArea.h:
(WebCore::ScrollableArea::visibleWidth):
(WebCore::ScrollableArea::visibleHeight):
* platform/graphics/IntSize.h:
(WebCore::IntSize::expandedTo): Drive-by cleanup.
(WebCore::IntSize::shrunkTo):
* platform/gtk/ScrollViewGtk.cpp:
(WebCore::ScrollView::visibleContentRect):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollRectToVisible):
(WebCore::RenderLayer::maximumScrollPosition):
(WebCore::RenderLayer::visibleContentRectInternal):
(WebCore::RenderLayer::hitTest):
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateCompositedBounds):
* rendering/RenderListBox.cpp:
* rendering/RenderListBox.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::viewRect):
(WebCore::RenderView::viewportSize):

Source/WebKit:

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Source/WebKit2:

* WebProcess/Plugins/PDF/PDFPlugin.h:
* WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
(WebKit::ViewGestureGeometryCollector::collectGeometryForMagnificationGesture):
(WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::visibleContentBounds):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
(WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage):

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

6 years ago[wk2] Page Overlays: Add API to clear the page overlay (and get rid of its backing...
timothy_horton@apple.com [Fri, 24 Jan 2014 00:36:14 +0000 (00:36 +0000)]
[wk2] Page Overlays: Add API to clear the page overlay (and get rid of its backing store)
https://bugs.webkit.org/show_bug.cgi?id=127518

Reviewed by Anders Carlsson.

Add WKBundlePageOverlayClear, to allow clients of the page overlay API to
manually clear the page overlay's backing store, for memory, power, and performance gains.

* WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
(WKBundlePageOverlayClear):
* WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
* WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::clearPageOverlay):
* WebProcess/WebPage/PageOverlay.cpp:
(WebKit::PageOverlay::clear):
* WebProcess/WebPage/PageOverlay.h:
Add WKBundlePageOverlayClear and plumb it through PageOverlay to the DrawingArea.

* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::clearPageOverlay):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::clearPageOverlay):
Set the layer to drawsContent=false and give it 0x0 size, effectively
removing its backing store.

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

6 years agoTurn text-decoration-skip: ink on for all underlines
mmaxfield@apple.com [Fri, 24 Jan 2014 00:23:19 +0000 (00:23 +0000)]
Turn text-decoration-skip: ink on for all underlines
https://bugs.webkit.org/show_bug.cgi?id=127331

Reviewed by Antti Koivisto.

No new tests are necessary because tests already exist

* rendering/style/RenderStyle.h:

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

6 years ago[CSS Shapes] Image valued shape size and position should conform to the spec
hmuller@adobe.com [Fri, 24 Jan 2014 00:06:45 +0000 (00:06 +0000)]
[CSS Shapes] Image valued shape size and position should conform to the spec
https://bugs.webkit.org/show_bug.cgi?id=123295

Reviewed by Andreas Kling.

Source/WebCore:

Implement image valued shape-outside scaling and translation per the spec,
http://dev.w3.org/csswg/css-shapes/#shapes-from-image:

"The image is sized and positioned as if it were a replaced element whose
specified width and height are the same as the element’s used content box size."

This change doesn't completely fulfill the spec, it's limited to image elements
and shape-outside.

Tests: fast/shapes/shape-outside-floats/shape-outside-image-fit-001.html
       fast/shapes/shape-outside-floats/shape-outside-image-fit-002.html
       fast/shapes/shape-outside-floats/shape-outside-image-fit-003.html
       fast/shapes/shape-outside-floats/shape-outside-image-fit-004.html

* rendering/shapes/Shape.h:
* rendering/shapes/Shape.cpp:
(WebCore::Shape::createRasterShape):
Added an imageRect parameter which specifies where the shape image is to
appear relative to the content box. The imageRect implies both scaling and
translation of the shape image.

* rendering/shapes/ShapeInfo.cpp:
(WebCore::ShapeInfo<RenderType>::computedShape):
(WebCore::getShapeImageRect):
For replaced elements, compute the shape's imageRect with
RenderReplaced::replacedContentRect().

LayoutTests:

* fast/shapes/shape-outside-floats/shape-outside-image-fit-001-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-image-fit-001.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-image-fit-002-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-image-fit-002.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-image-fit-003-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-image-fit-003.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-image-fit-004-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-image-fit-004.html: Added.

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

6 years agoExplicitly link XPC services with AppKit
andersca@apple.com [Fri, 24 Jan 2014 00:01:39 +0000 (00:01 +0000)]
Explicitly link XPC services with AppKit
https://bugs.webkit.org/show_bug.cgi?id=127520
<rdar://problem/15759718>

Reviewed by Mark Rowe.

Explicitly link XPC services that use the _NSApplicationMain run loop type with AppKit.

* Configurations/PluginService.32.xcconfig:
* Configurations/PluginService.64.xcconfig:
* Configurations/PluginService.Development.xcconfig:
* Configurations/WebContentService.Development.xcconfig:
* Configurations/WebContentService.xcconfig:

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

6 years agoFix build again.
andersca@apple.com [Thu, 23 Jan 2014 23:50:36 +0000 (23:50 +0000)]
Fix build again.

* UIProcess/API/mac/WKView.mm:
(-[WKView _windowDidChangeBackingProperties:]):

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

6 years agoAnother 32-bit build fix.
andersca@apple.com [Thu, 23 Jan 2014 23:45:14 +0000 (23:45 +0000)]
Another 32-bit build fix.

* UIProcess/API/mac/WKView.mm:
(-[WKView _windowDidChangeBackingProperties:]):

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

6 years agoClean up WKView.mm a little
andersca@apple.com [Thu, 23 Jan 2014 23:28:54 +0000 (23:28 +0000)]
Clean up WKView.mm a little
https://bugs.webkit.org/show_bug.cgi?id=127517

Reviewed by Tim Horton.

Remove an unused ivar and migrate to API constants that were added in Lion.

* UIProcess/API/mac/WKView.mm:
(-[WKView setFrameSize:]):
(-[WKView addWindowObserversForWindow:]):
(-[WKView removeWindowObservers]):
(-[WKView viewDidMoveToWindow]):
(-[WKView _windowDidMiniaturize:]):
(-[WKView _windowDidResize:]):
(-[WKView _windowDidChangeBackingProperties:]):

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

6 years agoTry to fix the 32-bit build.
andersca@apple.com [Thu, 23 Jan 2014 23:23:51 +0000 (23:23 +0000)]
Try to fix the 32-bit build.

* UIProcess/API/Cocoa/WKPreferences.mm:

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

6 years agoRemove an unneeded synchronous back/forward message
andersca@apple.com [Thu, 23 Jan 2014 23:22:47 +0000 (23:22 +0000)]
Remove an unneeded synchronous back/forward message
https://bugs.webkit.org/show_bug.cgi?id=127516

Reviewed by Tim Horton.

* UIProcess/WebLoaderClient.cpp:
* UIProcess/WebLoaderClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::initializeLoaderClient):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::shouldGoToHistoryItem):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

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

6 years agoEnable DFG for the Debugger and Profiler.
mark.lam@apple.com [Thu, 23 Jan 2014 23:13:23 +0000 (23:13 +0000)]
Enable DFG for the Debugger and Profiler.
<https://webkit.org/b/122847>

Reviewed by Geoffrey Garen.

In this patch, we implement DFG op_debug as a series of 3 checks:
1. Check if the debugger pointer is non-null. This is needed in case
   the debugger has been detached but the DFG code is still running
   on the stack.
2. Check if Debugger::m_shouldPause is true.
3. Check if CodeBlock::m_numBreakpoints is non-zero.

These are the same 3 checks done in the LLINT and baselineJIT. But unlike
the LLINT and baselineJIT, these DFG checks are implemented as
speculationChecks. If the check fails, we OSR exit to the baselineJIT and
let it do the work of servicing the op_debug callback.

Stepping through code in the debugger would work the same way. The top
function being debugged has to be a LLINT or baselineJIT function because
we would have OSR exited if there is a breakpoint in that function. When
we step out of that function to its caller, we expect that the caller will
call back to the debugger at the next op_debug. If the caller function is
a DFG function, the op_debug site will fail its speculation check on
Debugger::m_shouldPause and deopt into a baselineJIT function. Execution
continues from there as usual, and the debugger gets its callback.

For the profile, op_profile_will_call and op_profile_did_call are
implemented as simple runtime calls to service the profiler.

With this patch, Octane performance with the WebInspector open jump from
~2000 to ~2500 (25% progression).

* bytecode/CodeBlock.h:
(JSC::CodeBlock::numBreakpointsAddress):
* bytecode/ExitKind.cpp:
(JSC::exitKindToString):
* bytecode/ExitKind.h:
* debugger/Debugger.cpp:
(JSC::Debugger::toggleBreakpoint):
- removed an obsolete assertion. The debugger can now handle DFG
  CodeBlocks too.
* debugger/Debugger.h:
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGNodeType.h:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::debuggerAddress):

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

6 years agoRename WKPreferences.h to WKPreferencesRef.h and add a stubbed out WKPreferences...
andersca@apple.com [Thu, 23 Jan 2014 23:03:01 +0000 (23:03 +0000)]
Rename WKPreferences.h to WKPreferencesRef.h and add a stubbed out WKPreferences class
https://bugs.webkit.org/show_bug.cgi?id=127512

Reviewed by Dan Bernstein.

* UIProcess/API/C/WKAPICast.h:
* UIProcess/API/C/WKPreferencesRef.h: Renamed from Source/WebKit2/UIProcess/API/C/WKPreferences.h.
* UIProcess/API/C/WebKit2_C.h:
* UIProcess/API/Cocoa/WKPreferences.h: Added.
* UIProcess/API/Cocoa/WKPreferences.mm: Added.
* WebKit2.xcodeproj/project.pbxproj:

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

6 years agoRebaseline after r162640.
antti@apple.com [Thu, 23 Jan 2014 23:00:56 +0000 (23:00 +0000)]
Rebaseline after r162640.

* platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll-speculative-expected.txt:
* platform/mac-wk2/tiled-drawing/tile-coverage-speculative-expected.txt:

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

6 years agoRemove CSS Custom Filters code and tests
mvujovic@adobe.com [Thu, 23 Jan 2014 22:31:06 +0000 (22:31 +0000)]
Remove CSS Custom Filters code and tests
https://bugs.webkit.org/show_bug.cgi?id=127382

Reviewed by Simon Fraser.

.:

* Source/autotools/FindDependencies.m4:
* Source/autotools/SetupWebKitFeatures.m4:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

No new tests. Removing functionality.

* CMakeLists.txt:
* Configurations/FeatureDefines.xcconfig:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.list.am:
* WebCore.order:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSCSSRuleCustom.cpp:
(WebCore::toJS):
* bindings/js/JSCSSValueCustom.cpp:
(WebCore::toJS):
* bindings/objc/DOMCSS.mm:
(kitClass):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForFilter):
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSComputedStyleDeclaration.h:
* css/CSSGrammar.y.in:
* css/CSSParser.cpp:
(WebCore::CSSParserContext::CSSParserContext):
(WebCore::operator==):
(WebCore::CSSParser::CSSParser):
(WebCore::CSSParser::parseValue):
(WebCore::filterInfoForName):
(WebCore::CSSParser::parseFilter):
(WebCore::CSSParser::detectAtToken):
* css/CSSParser.h:
* css/CSSParserMode.h:
* css/CSSPropertyNames.in:
* css/CSSPropertySourceData.h:
* css/CSSRule.h:
* css/CSSRule.idl:
* css/CSSValue.cpp:
(WebCore::CSSValue::equals):
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):
(WebCore::CSSValue::cloneForCSSOM):
* css/CSSValue.h:
* css/CSSValueKeywords.in:
* css/StyleResolver.cpp:
(WebCore::StyleResolver::State::clear):
(WebCore::StyleResolver::applyProperty):
(WebCore::filterOperationForType):
(WebCore::StyleResolver::createFilterOperations):
(WebCore::StyleResolver::loadPendingResources):
* css/StyleResolver.h:
(WebCore::StyleResolver::State::State):
* css/StyleRule.cpp:
(WebCore::StyleRuleBase::destroy):
(WebCore::StyleRuleBase::copy):
(WebCore::StyleRuleBase::createCSSOMWrapper):
* css/StyleRule.h:
* css/StyleSheetContents.cpp:
(WebCore::childRulesHaveFailedOrCanceledSubresources):
* css/WebKitCSSArrayFunctionValue.cpp: Removed.
* css/WebKitCSSArrayFunctionValue.h: Removed.
* css/WebKitCSSFilterRule.cpp: Removed.
* css/WebKitCSSFilterRule.h: Removed.
* css/WebKitCSSFilterRule.idl: Removed.
* css/WebKitCSSFilterValue.cpp:
(WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
(WebCore::WebKitCSSFilterValue::customCSSText):
* css/WebKitCSSFilterValue.h:
* css/WebKitCSSFilterValue.idl:
* css/WebKitCSSMatFunctionValue.cpp: Removed.
* css/WebKitCSSMatFunctionValue.h: Removed.
* css/WebKitCSSMixFunctionValue.cpp: Removed.
* css/WebKitCSSMixFunctionValue.h: Removed.
* css/WebKitCSSMixFunctionValue.idl: Removed.
* css/WebKitCSSShaderValue.cpp: Removed.
* css/WebKitCSSShaderValue.h: Removed.
* loader/cache/CachedResource.cpp:
(WebCore::defaultPriorityForResourceType):
* loader/cache/CachedResource.h:
* loader/cache/CachedResourceLoader.cpp:
(WebCore::createResource):
(WebCore::CachedResourceLoader::checkInsecureContent):
(WebCore::CachedResourceLoader::canRequest):
* loader/cache/CachedResourceLoader.h:
* loader/cache/CachedShader.cpp: Removed.
* loader/cache/CachedShader.h: Removed.
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
* page/animation/CSSPropertyAnimation.cpp:
(WebCore::blendFilter):
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayerMac::filtersCanBeComposited):
* platform/graphics/filters/CustomFilterArrayParameter.h: Removed.
* platform/graphics/filters/CustomFilterColorParameter.h: Removed.
* platform/graphics/filters/CustomFilterCompiledProgram.cpp: Removed.
* platform/graphics/filters/CustomFilterCompiledProgram.h: Removed.
* platform/graphics/filters/CustomFilterConstants.h: Removed.
* platform/graphics/filters/CustomFilterGlobalContext.cpp: Removed.
* platform/graphics/filters/CustomFilterGlobalContext.h: Removed.
* platform/graphics/filters/CustomFilterMesh.cpp: Removed.
* platform/graphics/filters/CustomFilterMesh.h: Removed.
* platform/graphics/filters/CustomFilterMeshGenerator.cpp: Removed.
* platform/graphics/filters/CustomFilterMeshGenerator.h: Removed.
* platform/graphics/filters/CustomFilterNumberParameter.h: Removed.
* platform/graphics/filters/CustomFilterOperation.cpp: Removed.
* platform/graphics/filters/CustomFilterOperation.h: Removed.
* platform/graphics/filters/CustomFilterParameter.h: Removed.
* platform/graphics/filters/CustomFilterParameterList.cpp: Removed.
* platform/graphics/filters/CustomFilterParameterList.h: Removed.
* platform/graphics/filters/CustomFilterProgram.cpp: Removed.
* platform/graphics/filters/CustomFilterProgram.h: Removed.
* platform/graphics/filters/CustomFilterProgramClient.h: Removed.
* platform/graphics/filters/CustomFilterProgramInfo.cpp: Removed.
* platform/graphics/filters/CustomFilterProgramInfo.h: Removed.
* platform/graphics/filters/CustomFilterRenderer.cpp: Removed.
* platform/graphics/filters/CustomFilterRenderer.h: Removed.
* platform/graphics/filters/CustomFilterTransformParameter.h: Removed.
* platform/graphics/filters/CustomFilterValidatedProgram.cpp: Removed.
* platform/graphics/filters/CustomFilterValidatedProgram.h: Removed.
* platform/graphics/filters/FECustomFilter.cpp: Removed.
* platform/graphics/filters/FECustomFilter.h: Removed.
* platform/graphics/filters/FilterOperation.h:
* platform/graphics/filters/FilterOperations.cpp:
(WebCore::FilterOperations::outsets):
* platform/graphics/filters/FilterOperations.h:
* platform/graphics/filters/ValidatedCustomFilterOperation.cpp: Removed.
* platform/graphics/filters/ValidatedCustomFilterOperation.h: Removed.
* platform/graphics/filters/texmap/CustomFilterValidatedProgramTextureMapper.cpp: Removed.
* platform/graphics/filters/texmap/TextureMapperPlatformCompiledProgram.h: Removed.
* platform/graphics/gpu/Texture.cpp:
* platform/graphics/texmap/TextureMapper.h:
* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::getPassesRequiredForFilter):
(WebCore::BitmapTextureGL::applyFilters):
* platform/graphics/texmap/TextureMapperGL.h:
* platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
(WebCore::CompositingCoordinator::clearPendingStateChanges):
(WebCore::CompositingCoordinator::syncLayerState):
* platform/graphics/texmap/coordinated/CompositingCoordinator.h:
* platform/graphics/texmap/coordinated/CoordinatedCustomFilterOperation.h: Removed.
* platform/graphics/texmap/coordinated/CoordinatedCustomFilterProgram.h: Removed.
* platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
(WebCore::CoordinatedGraphicsScene::setLayerFiltersIfNeeded):
(WebCore::CoordinatedGraphicsScene::commitSceneState):
(WebCore::CoordinatedGraphicsScene::setLayerAnimationsIfNeeded):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
* platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
* rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::FilterEffectRenderer):
(WebCore::FilterEffectRenderer::build):
(WebCore::FilterEffectRenderer::computeSourceImageRectForDirtyRect):
* rendering/FilterEffectRenderer.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateFilters):
* rendering/RenderLayerFilterInfo.cpp:
(WebCore::RenderLayer::FilterInfo::~FilterInfo):
* rendering/RenderLayerFilterInfo.h:
* rendering/RenderView.cpp:
* rendering/RenderView.h:
* rendering/style/StyleCachedShader.cpp: Removed.
* rendering/style/StyleCachedShader.h: Removed.
* rendering/style/StyleCustomFilterProgram.cpp: Removed.
* rendering/style/StyleCustomFilterProgram.h: Removed.
* rendering/style/StyleCustomFilterProgramCache.cpp: Removed.
* rendering/style/StyleCustomFilterProgramCache.h: Removed.
* rendering/style/StylePendingShader.h: Removed.
* rendering/style/StyleShader.h: Removed.

Source/WebCore/platform/gtk/po:

No new tests. Removing functionality.

* ar.po:
* as.po:
* bg.po:
* cs.po:
* de.po:
* el.po:
* en_CA.po:
* en_GB.po:
* eo.po:
* es.po:
* et.po:
* eu.po:
* fr.po:
* gl.po:
* gu.po:
* he.po:
* hi.po:
* hu.po:
* id.po:
* it.po:
* kn.po:
* ko.po:
* lt.po:
* lv.po:
* ml.po:
* mr.po:
* nb.po:
* nl.po:
* or.po:
* pa.po:
* pl.po:
* pt.po:
* pt_BR.po:
* ro.po:
* ru.po:
* sl.po:
* sr.po:
* sr@latin.po:
* sv.po:
* ta.po:
* te.po:
* uk.po:
* vi.po:
* zh_CN.po:

Source/WebKit/gtk:

* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
* WebCoreSupport/DumpRenderTreeSupportGtk.h:
* webkit/webkitwebsettings.cpp:
(webkit_web_settings_class_init):
(webkit_web_settings_set_property):
(webkit_web_settings_get_property):
* webkit/webkitwebsettingsprivate.h:
* webkit/webkitwebview.cpp:
(webkit_web_view_update_settings):
(webkit_web_view_settings_notify):

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit2:

* CMakeLists.txt:
* Configurations/FeatureDefines.xcconfig:
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(IPC::ArgumentCoder<WebCore::FilterOperations>::encode):
(IPC::ArgumentCoder<WebCore::FilterOperations>::decode):
(IPC::ArgumentCoder<CoordinatedGraphicsState>::encode):
(IPC::ArgumentCoder<CoordinatedGraphicsState>::decode):
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
* Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.cpp: Removed.
* Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h: Removed.
* Shared/WebCoreArgumentCoders.cpp:
(IPC::encodeFilterOperation):
(IPC::decodeFilterOperation):
* Shared/WebPreferencesStore.h:
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTextStream::operator<<):
* UIProcess/API/C/WKPreferences.cpp:
* UIProcess/API/C/WKPreferencesPrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
* mac/WebKit2.order:

Source/WTF:

* wtf/FeatureDefines.h:

Tools:

* DumpRenderTree/gtk/DumpRenderTree.cpp:
(resetDefaultsToConsistentValues):
* DumpRenderTree/gtk/TestRunnerGtk.cpp:
(TestRunner::overridePreference):

LayoutTests:

* animations/resources/animation-test-helpers.js:
(parseFilterFunctionList):
(compareFilterFunctions):
* css3/filters/custom-with-at-rule-syntax/parsing-at-rule-invalid-expected.txt: Removed.
* css3/filters/custom-with-at-rule-syntax/parsing-at-rule-invalid.html: Removed.
* css3/filters/custom-with-at-rule-syntax/parsing-at-rule-valid-expected.txt: Removed.
* css3/filters/custom-with-at-rule-syntax/parsing-at-rule-valid.html: Removed.
* css3/filters/custom-with-at-rule-syntax/parsing-custom-function-invalid-expected.txt: Removed.
* css3/filters/custom-with-at-rule-syntax/parsing-custom-function-invalid.html: Removed.
* css3/filters/custom-with-at-rule-syntax/parsing-custom-function-valid-expected.txt: Removed.
* css3/filters/custom-with-at-rule-syntax/parsing-custom-function-valid.html: Removed.
* css3/filters/custom-with-at-rule-syntax/parsing-geometry-property-invalid-expected.txt: Removed.
* css3/filters/custom-with-at-rule-syntax/parsing-geometry-property-invalid.html: Removed.
* css3/filters/custom-with-at-rule-syntax/parsing-geometry-property-valid-expected.txt: Removed.
* css3/filters/custom-with-at-rule-syntax/parsing-geometry-property-valid.html: Removed.
* css3/filters/custom-with-at-rule-syntax/parsing-mix-property-invalid-expected.txt: Removed.
* css3/filters/custom-with-at-rule-syntax/parsing-mix-property-invalid.html: Removed.
* css3/filters/custom-with-at-rule-syntax/parsing-mix-property-valid-expected.txt: Removed.
* css3/filters/custom-with-at-rule-syntax/parsing-mix-property-valid.html: Removed.
* css3/filters/custom-with-at-rule-syntax/parsing-parameters-property-invalid-expected.txt: Removed.
* css3/filters/custom-with-at-rule-syntax/parsing-parameters-property-invalid.html: Removed.
* css3/filters/custom-with-at-rule-syntax/parsing-parameters-property-valid-expected.txt: Removed.
* css3/filters/custom-with-at-rule-syntax/parsing-parameters-property-valid.html: Removed.
* css3/filters/custom-with-at-rule-syntax/parsing-src-property-invalid-expected.txt: Removed.
* css3/filters/custom-with-at-rule-syntax/parsing-src-property-invalid.html: Removed.
* css3/filters/custom-with-at-rule-syntax/parsing-src-property-valid-expected.txt: Removed.
* css3/filters/custom-with-at-rule-syntax/parsing-src-property-valid.html: Removed.
* css3/filters/custom-with-at-rule-syntax/script-tests/parsing-at-rule-invalid.js: Removed.
* css3/filters/custom-with-at-rule-syntax/script-tests/parsing-at-rule-valid.js: Removed.
* css3/filters/custom-with-at-rule-syntax/script-tests/parsing-custom-function-invalid.js: Removed.
* css3/filters/custom-with-at-rule-syntax/script-tests/parsing-custom-function-valid.js: Removed.
* css3/filters/custom-with-at-rule-syntax/script-tests/parsing-geometry-property-invalid.js: Removed.
* css3/filters/custom-with-at-rule-syntax/script-tests/parsing-geometry-property-valid.js: Removed.
* css3/filters/custom-with-at-rule-syntax/script-tests/parsing-mix-property-invalid.js: Removed.
* css3/filters/custom-with-at-rule-syntax/script-tests/parsing-mix-property-valid.js: Removed.
* css3/filters/custom-with-at-rule-syntax/script-tests/parsing-parameters-property-invalid.js: Removed.
* css3/filters/custom-with-at-rule-syntax/script-tests/parsing-parameters-property-valid.js: Removed.
* css3/filters/custom-with-at-rule-syntax/script-tests/parsing-src-property-invalid.js: Removed.
* css3/filters/custom-with-at-rule-syntax/script-tests/parsing-src-property-valid.js: Removed.
* css3/filters/custom/composited/custom-filter-blend-modes-expected.html: Removed.
* css3/filters/custom/composited/custom-filter-blend-modes.html: Removed.
* css3/filters/custom/custom-filter-a-tex-coord-optional-expected.html: Removed.
* css3/filters/custom/custom-filter-a-tex-coord-optional.html: Removed.
* css3/filters/custom/custom-filter-animation-expected.txt: Removed.
* css3/filters/custom/custom-filter-animation.html: Removed.
* css3/filters/custom/custom-filter-array-blending-expected.txt: Removed.
* css3/filters/custom/custom-filter-array-blending.html: Removed.
* css3/filters/custom/custom-filter-array-expected.html: Removed.
* css3/filters/custom/custom-filter-array-uniform-indirect-index-expected.html: Removed.
* css3/filters/custom/custom-filter-array-uniform-indirect-index.html: Removed.
* css3/filters/custom/custom-filter-array.html: Removed.
* css3/filters/custom/custom-filter-blend-fractional-destination-alpha-expected.html: Removed.
* css3/filters/custom/custom-filter-blend-fractional-destination-alpha.html: Removed.
* css3/filters/custom/custom-filter-blend-modes-expected.html: Removed.
* css3/filters/custom/custom-filter-blend-modes.html: Removed.
* css3/filters/custom/custom-filter-change-blend-mode-expected.html: Removed.
* css3/filters/custom/custom-filter-change-blend-mode.html: Removed.
* css3/filters/custom/custom-filter-clamp-css-color-matrix-expected.html: Removed.
* css3/filters/custom/custom-filter-clamp-css-color-matrix-negative-expected.html: Removed.
* css3/filters/custom/custom-filter-clamp-css-color-matrix-negative.html: Removed.
* css3/filters/custom/custom-filter-clamp-css-color-matrix.html: Removed.
* css3/filters/custom/custom-filter-clamp-css-mix-color-expected.html: Removed.
* css3/filters/custom/custom-filter-clamp-css-mix-color-negative-expected.html: Removed.
* css3/filters/custom/custom-filter-clamp-css-mix-color-negative.html: Removed.
* css3/filters/custom/custom-filter-clamp-css-mix-color.html: Removed.
* css3/filters/custom/custom-filter-color-expected.html: Removed.
* css3/filters/custom/custom-filter-color-matrix-expected.png: Removed.
* css3/filters/custom/custom-filter-color-matrix-expected.txt: Removed.
* css3/filters/custom/custom-filter-color-matrix.html: Removed.
* css3/filters/custom/custom-filter-color.html: Removed.
* css3/filters/custom/custom-filter-composite-fractional-source-alpha-expected.html: Removed.
* css3/filters/custom/custom-filter-composite-fractional-source-alpha.html: Removed.
* css3/filters/custom/custom-filter-composite-operators-expected.png: Removed.
* css3/filters/custom/custom-filter-composite-operators-expected.txt: Removed.
* css3/filters/custom/custom-filter-composite-operators.html: Removed.
* css3/filters/custom/custom-filter-composite-source-atop-expected.png: Removed.
* css3/filters/custom/custom-filter-composite-source-atop-expected.txt: Removed.
* css3/filters/custom/custom-filter-composite-source-atop.html: Removed.
* css3/filters/custom/custom-filter-crash-inline-computed-style-expected.txt: Removed.
* css3/filters/custom/custom-filter-crash-inline-computed-style.html: Removed.
* css3/filters/custom/custom-filter-css-keyword-as-parameter-name-expected.png: Removed.
* css3/filters/custom/custom-filter-css-keyword-as-parameter-name-expected.txt: Removed.
* css3/filters/custom/custom-filter-css-keyword-as-parameter-name.html: Removed.
* css3/filters/custom/custom-filter-detached-mesh-with-mesh-box-type-expected.html: Removed.
* css3/filters/custom/custom-filter-detached-mesh-with-mesh-box-type.html: Removed.
* css3/filters/custom/custom-filter-matN-expected.html: Removed.
* css3/filters/custom/custom-filter-matN.html: Removed.
* css3/filters/custom/custom-filter-mesh-column-row-order-expected.html: Removed.
* css3/filters/custom/custom-filter-mesh-column-row-order.html: Removed.
* css3/filters/custom/custom-filter-mix-bindings-expected.txt: Removed.
* css3/filters/custom/custom-filter-mix-bindings.html: Removed.
* css3/filters/custom/custom-filter-no-element-texture-access-expected.html: Removed.
* css3/filters/custom/custom-filter-no-element-texture-access.html: Removed.
* css3/filters/custom/custom-filter-nonseparable-blend-mode-color-expected.html: Removed.
* css3/filters/custom/custom-filter-nonseparable-blend-mode-color.html: Removed.
* css3/filters/custom/custom-filter-nonseparable-blend-mode-hue-expected.html: Removed.
* css3/filters/custom/custom-filter-nonseparable-blend-mode-hue.html: Removed.
* css3/filters/custom/custom-filter-nonseparable-blend-mode-luminosity-expected.html: Removed.
* css3/filters/custom/custom-filter-nonseparable-blend-mode-luminosity.html: Removed.
* css3/filters/custom/custom-filter-nonseparable-blend-mode-saturation-expected.html: Removed.
* css3/filters/custom/custom-filter-nonseparable-blend-mode-saturation.html: Removed.
* css3/filters/custom/custom-filter-property-computed-style-expected.txt: Removed.
* css3/filters/custom/custom-filter-property-computed-style.html: Removed.
* css3/filters/custom/custom-filter-property-parsing-expected.txt: Removed.
* css3/filters/custom/custom-filter-property-parsing-invalid-expected.txt: Removed.
* css3/filters/custom/custom-filter-property-parsing-invalid.html: Removed.
* css3/filters/custom/custom-filter-property-parsing.html: Removed.
* css3/filters/custom/custom-filter-reload-expected.txt: Removed.
* css3/filters/custom/custom-filter-reload.html: Removed.
* css3/filters/custom/custom-filter-shader-cache-expected.png: Removed.
* css3/filters/custom/custom-filter-shader-cache-expected.txt: Removed.
* css3/filters/custom/custom-filter-shader-cache.html: Removed.
* css3/filters/custom/custom-filter-shader-reuse-expected.txt: Removed.
* css3/filters/custom/custom-filter-shader-reuse.html: Removed.
* css3/filters/custom/custom-filter-transforms-animation-expected.txt: Removed.
* css3/filters/custom/custom-filter-transforms-animation.html: Removed.
* css3/filters/custom/custom-filter-u-mesh-box-expected.html: Removed.
* css3/filters/custom/custom-filter-u-mesh-box.html: Removed.
* css3/filters/custom/custom-filter-u-mesh-size-expected.html: Removed.
* css3/filters/custom/custom-filter-u-mesh-size.html: Removed.
* css3/filters/custom/custom-filter-u-texture-size-expected.html: Removed.
* css3/filters/custom/custom-filter-u-texture-size.html: Removed.
* css3/filters/custom/custom-filter-u-tile-size-expected.html: Removed.
* css3/filters/custom/custom-filter-u-tile-size.html: Removed.
* css3/filters/custom/custom-filter-unavailable-varying-expected.html: Removed.
* css3/filters/custom/custom-filter-unavailable-varying.html: Removed.
* css3/filters/custom/effect-color-check-expected.png: Removed.
* css3/filters/custom/effect-color-check-expected.txt: Removed.
* css3/filters/custom/effect-color-check.html: Removed.
* css3/filters/custom/effect-custom-combined-missing-expected.png: Removed.
* css3/filters/custom/effect-custom-combined-missing-expected.txt: Removed.
* css3/filters/custom/effect-custom-combined-missing.html: Removed.
* css3/filters/custom/effect-custom-disabled-expected.txt: Removed.
* css3/filters/custom/effect-custom-disabled.html: Removed.
* css3/filters/custom/effect-custom-expected.png: Removed.
* css3/filters/custom/effect-custom-expected.txt: Removed.
* css3/filters/custom/effect-custom-parameters-expected.png: Removed.
* css3/filters/custom/effect-custom-parameters-expected.txt: Removed.
* css3/filters/custom/effect-custom-parameters.html: Removed.
* css3/filters/custom/effect-custom-transform-parameters-expected.html: Removed.
* css3/filters/custom/effect-custom-transform-parameters.html: Removed.
* css3/filters/custom/effect-custom.html: Removed.
* css3/filters/custom/filter-fallback-to-software-expected.html: Removed.
* css3/filters/custom/filter-fallback-to-software.html: Removed.
* css3/filters/custom/filter-repaint-custom-clipped-expected.png: Removed.
* css3/filters/custom/filter-repaint-custom-clipped-expected.txt: Removed.
* css3/filters/custom/filter-repaint-custom-clipped.html: Removed.
* css3/filters/custom/filter-repaint-custom-expected.png: Removed.
* css3/filters/custom/filter-repaint-custom-expected.txt: Removed.
* css3/filters/custom/filter-repaint-custom-rotated-expected.png: Removed.
* css3/filters/custom/filter-repaint-custom-rotated-expected.txt: Removed.
* css3/filters/custom/filter-repaint-custom-rotated.html: Removed.
* css3/filters/custom/filter-repaint-custom.html: Removed.
* css3/filters/custom/invalid-custom-filter-attribute-types-expected.html: Removed.
* css3/filters/custom/invalid-custom-filter-attribute-types.html: Removed.
* css3/filters/custom/invalid-custom-filter-shader-expected.html: Removed.
* css3/filters/custom/invalid-custom-filter-shader.html: Removed.
* css3/filters/custom/invalid-custom-filter-uniform-types-expected.html: Removed.
* css3/filters/custom/invalid-custom-filter-uniform-types.html: Removed.
* css3/filters/custom/missing-custom-filter-shader-expected.png: Removed.
* css3/filters/custom/missing-custom-filter-shader-expected.txt: Removed.
* css3/filters/custom/missing-custom-filter-shader.html: Removed.
* css3/filters/resources/a-tex-coord-defined.vs: Removed.
* css3/filters/resources/a-tex-coord-undefined.vs: Removed.
* css3/filters/resources/a-triangle-coord-defined.vs: Removed.
* css3/filters/resources/array-uniform-indirect-index.vs: Removed.
* css3/filters/resources/checkerboard.vs: Removed.
* css3/filters/resources/color-fill.fs: Removed.
* css3/filters/resources/color-offset.fs: Removed.
* css3/filters/resources/composite.fs: Removed.
* css3/filters/resources/css-keyword-as-parameter-name.fs: Removed.
* css3/filters/resources/custom-filter-clamp-css-color-matrix-negative.fs: Removed.
* css3/filters/resources/custom-filter-clamp-css-color-matrix.fs: Removed.
* css3/filters/resources/custom-filter-parser.js: Removed.
* css3/filters/resources/fragment-color.fs: Removed.
* css3/filters/resources/fragment-colors.fs: Removed.
* css3/filters/resources/fragment-matN.fs: Removed.
* css3/filters/resources/grayscale-color-matrix.fs: Removed.
* css3/filters/resources/invalid-a-triangle-coord-with-attached-mesh.vs: Removed.
* css3/filters/resources/invalid-custom-attribute.vs: Removed.
* css3/filters/resources/invalid-shader.vs: Removed.
* css3/filters/resources/invalid-type-a-mesh-coord.vs: Removed.
* css3/filters/resources/invalid-type-a-position.vs: Removed.
* css3/filters/resources/invalid-type-a-tex-coord.vs: Removed.
* css3/filters/resources/invalid-type-a-triangle-coord.vs: Removed.
* css3/filters/resources/invalid-type-attribute-array.vs: Removed.
* css3/filters/resources/invalid-type-u-mesh-box.fs: Removed.
* css3/filters/resources/invalid-type-u-mesh-size.fs: Removed.
* css3/filters/resources/invalid-type-u-projection-matrix.fs: Removed.
* css3/filters/resources/invalid-type-u-texture-size.fs: Removed.
* css3/filters/resources/invalid-type-u-tile-size.fs: Removed.
* css3/filters/resources/invalid-type-uniform-array.fs: Removed.
* css3/filters/resources/mix-color.fs: Removed.
* css3/filters/resources/pass-tex-coord.vs: Removed.
* css3/filters/resources/sample-defined-css-u-texture-mix.fs: Removed.
* css3/filters/resources/sample-defined-css-u-texture.fs: Removed.
* css3/filters/resources/sample-u-texture-mix.fs: Removed.
* css3/filters/resources/sample-u-texture.fs: Removed.
* css3/filters/resources/sample-undefined-css-u-texture-mix.fs: Removed.
* css3/filters/resources/sample-undefined-css-u-texture.fs: Removed.
* css3/filters/resources/u-mesh-box-is-unit-square.fs: Removed.
* css3/filters/resources/u-mesh-size.fs: Removed.
* css3/filters/resources/u-texture-size.fs: Removed.
* css3/filters/resources/u-tile-size.fs: Removed.
* css3/filters/resources/unavailable-varying.fs: Removed.
* css3/filters/resources/varying-mix-color.fs: Removed.
* css3/filters/resources/vertex-explode-detached.vs: Removed.
* css3/filters/resources/vertex-horizontal-offset.vs: Removed.
* css3/filters/resources/vertex-offset-parameters.vs: Removed.
* css3/filters/resources/vertex-offset.vs: Removed.
* css3/filters/resources/vertex-rotate.vs: Removed.
* css3/filters/resources/vertex-transform-parameter.vs: Removed.
* css3/filters/script-tests/custom-filter-mix-bindings.js: Removed.
* css3/filters/script-tests/custom-filter-parsing-common.js: Removed.
* css3/filters/script-tests/custom-filter-property-computed-style.js: Removed.
* css3/filters/script-tests/custom-filter-property-parsing-invalid.js: Removed.
* css3/filters/script-tests/custom-filter-property-parsing.js: Removed.
* css3/filters/script-tests/effect-custom-disabled.js: Removed.
* js/dom/global-constructors-attributes-expected.txt:
* platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:
* platform/mac/js/dom/global-constructors-attributes-expected.txt:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:

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

6 years agoREGRESSION(r161967): Crash in WebCore::CachedSVGDocumentReference::load
jhoneycutt@apple.com [Thu, 23 Jan 2014 22:24:03 +0000 (22:24 +0000)]
REGRESSION(r161967): Crash in WebCore::CachedSVGDocumentReference::load
<https://webkit.org/b/127151>
<rdar://problem/15840760>

Source/WebCore:

There were two issues introduced here; the first is a use-after-free of
CachedSVGDocumentReference objects.

The previous code kept a map from FilterOperation ->
RefPtr<WebKitCSSSVGDocumentValue>, which retained the
CachedSVGDocument. In r161967, this was changed to use a weak HashSet,
which allows stale CachedSVGDocumentReferences in the pending document
set if the owning FilterOperation is deleted. To fix this, we'll keep a
vector of RefPtr<FilterOperation> with pending SVG documents.

The second issue is a null deref in CachedSVGDocumentReference::load();
CachedResourceLoader::requestSVGDocument() can return 0 if (for
example) an invalid URL is passed. r161967 removed a null check as part
of the refactoring.

Reviewed by Dirk Schulze.

Tests: css3/filters/crash-filter-animation-invalid-url.html
       css3/filters/crash-invalid-url.html

* css/StyleResolver.cpp:
(WebCore::StyleResolver::State::clear):
Use new member var name.
(WebCore::StyleResolver::loadPendingSVGDocuments):
For each FilterOperation with a pending SVG document, get or create a
CachedSVGDocumentReference, and tell it to load. Changed to use new
function names.
(WebCore::StyleResolver::createFilterOperations):
Append the FilterOperation to the list of FilterOperations with
unloaded SVG documents.

* css/StyleResolver.h:
Changed from using PendingSVGDocumentSet, a weak set, to
a Vector<RefPtr<ReferenceFilterOperation>>.
(WebCore::StyleResolver::State::filtersWithPendingSVGDocuments):
Return the vector.

* loader/cache/CachedSVGDocumentReference.cpp:
(WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
Null check m_document rather than checking m_loadRequested.
m_loadRequested may be true when m_document is 0.
(WebCore::CachedSVGDocumentReference::load):
Null check the result of CachedResourceLoader::requestSVGDocument().

* platform/graphics/filters/FilterOperation.cpp:
(WebCore::ReferenceFilterOperation::getOrCreateCachedSVGDocumentReference):
Create, if necessary, and return the CachedSVGDocumentReference.

* platform/graphics/filters/FilterOperation.h:
Replaced createCachedSVGDocumentReference() with
getOrCreateCachedSVGDocumentReference(), which makes for slightly
cleaner code.

LayoutTests:

Reviewed by Dirk Schulze.

* css3/filters/crash-filter-animation-invalid-url-expected.txt: Added.
* css3/filters/crash-filter-animation-invalid-url.html: Added.
* css3/filters/crash-invalid-url-expected.txt: Added.
* css3/filters/crash-invalid-url.html: Added.

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

6 years ago[Windows] Unreviewed. Disable unnecessary warning C4309, "truncation of constant...
roger_fong@apple.com [Thu, 23 Jan 2014 22:12:08 +0000 (22:12 +0000)]
[Windows] Unreviewed. Disable unnecessary warning C4309, "truncation of constant value".

* win/tools/vsprops/common.props:

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

6 years agoDon't enable speculative tiles immediately after main load stops progressing
antti@apple.com [Thu, 23 Jan 2014 22:03:27 +0000 (22:03 +0000)]
Don't enable speculative tiles immediately after main load stops progressing
https://bugs.webkit.org/show_bug.cgi?id=127507

Reviewed by Andreas Kling.

It is common for timers and events to trigger more loading after the initial main frame loading
has completed. We should delay a bit before enabling speculative tiles and keep them disabled
if loading still continues.

* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::adjustTiledBackingCoverage):
(WebCore::shouldEnableSpeculativeTilingDuringLoading):
(WebCore::FrameView::enableSpeculativeTilingIfNeeded):

    When load progression stops wait 0.5s before enabling speculative tiles.

(WebCore::FrameView::speculativeTilingEnableTimerFired):

    Don't enable speculative tiles if the progression has started again. Instead restart the timer.

* page/FrameView.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::RenderLayerBacking):
(WebCore::computeTileCoverage):

    Move the FrameView level code to FrameView (so we don't need to add a timer to every RenderLayerBacking).

* rendering/RenderLayerBacking.h:

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

6 years agoAdd API::PolicyClient base class
andersca@apple.com [Thu, 23 Jan 2014 22:01:23 +0000 (22:01 +0000)]
Add API::PolicyClient base class
https://bugs.webkit.org/show_bug.cgi?id=127509

Reviewed by Tim Horton.

* UIProcess/API/APIPolicyClient.h: Copied from Source/WebKit2/UIProcess/WebPolicyClient.h.
(API::PolicyClient::~PolicyClient):
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPagePolicyClient):
* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(setUpPagePolicyClient):
(-[WKBrowsingContextController setPolicyDelegate:]):
* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::createInspectorPage):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setPolicyClient):
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNewWindowAction):
(WebKit::WebPageProxy::decidePolicyForResponse):
(WebKit::WebPageProxy::unableToImplementPolicy):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPolicyClient.cpp:
(WebKit::WebPolicyClient::WebPolicyClient):
(WebKit::WebPolicyClient::decidePolicyForNavigationAction):
(WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
(WebKit::WebPolicyClient::decidePolicyForResponse):
* UIProcess/WebPolicyClient.h:
* WebKit2.xcodeproj/project.pbxproj:

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

6 years agoAdd init methods that create default configurations
andersca@apple.com [Thu, 23 Jan 2014 21:27:23 +0000 (21:27 +0000)]
Add init methods that create default configurations
https://bugs.webkit.org/show_bug.cgi?id=127503

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/WKProcessClass.mm:
(-[WKProcessClass init]):
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:]):

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

6 years agoLoads started soon after main frame completion should be considered part of the main...
antti@apple.com [Thu, 23 Jan 2014 21:20:00 +0000 (21:20 +0000)]
Loads started soon after main frame completion should be considered part of the main load
https://bugs.webkit.org/show_bug.cgi?id=127504

Reviewed by Andreas Kling.

ProgressTracker currently decides that main load is complete when the main frame stops loading.
However it is common that timers and onload events trigger more loads immediately (for example
by inserting iframes) and loading continues visually. These should be considered as part of the
main load for paint throttling and speculative tiling coverage purposes.

* loader/ProgressTracker.cpp:
(WebCore::ProgressTracker::ProgressTracker):
(WebCore::ProgressTracker::progressStarted):

    Track whether this is considered part of the main load or not with a boolean.
    It is set for subframe loads too if they start loading soon (within 1s) after the main frame load completes.

(WebCore::ProgressTracker::finalProgressComplete):

    Get a timestamp.

(WebCore::ProgressTracker::isMainLoadProgressing):

    New definition of "main load".

* loader/ProgressTracker.h:

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

6 years ago[WinCairo] Compile error.
commit-queue@webkit.org [Thu, 23 Jan 2014 21:19:31 +0000 (21:19 +0000)]
[WinCairo] Compile error.
https://bugs.webkit.org/show_bug.cgi?id=127499

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-01-23
Reviewed by Brent Fulgham.

* platform/network/curl/ResourceError.h: Include <winsock2.h> before <curl/curl.h>.

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

6 years ago[WinCairo] Compile error.
commit-queue@webkit.org [Thu, 23 Jan 2014 21:18:06 +0000 (21:18 +0000)]
[WinCairo] Compile error.
https://bugs.webkit.org/show_bug.cgi?id=127500

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-01-23
Reviewed by Brent Fulgham.

* WebCache.cpp:
(WebCache::cacheFolder): CurlCacheManager::getCacheDirectory() has changed name to cacheDirectory().

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

6 years agoProduction build fix.
timothy@apple.com [Thu, 23 Jan 2014 20:56:09 +0000 (20:56 +0000)]
Production build fix.

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

6 years agoIDB: Implement cross-thread and IPC plumbing for 'get' support
beidson@apple.com [Thu, 23 Jan 2014 20:25:34 +0000 (20:25 +0000)]
IDB: Implement cross-thread and IPC plumbing for 'get' support
https://bugs.webkit.org/show_bug.cgi?id=127501

Reviewed by Anders Carlsson.

Source/WebCore:

Add isolatedCopy to the IDBGetResult object:
* Modules/indexeddb/IDBGetResult.h:
(WebCore::IDBGetResult::isolatedCopy):

Add a cross-thread and cross-IPC appropriate object for IDBKeyRanges:
* Modules/indexeddb/IDBKeyRangeData.cpp: Copied from Source/WebCore/Modules/indexeddb/IDBGetResult.h.
(WebCore::IDBKeyRangeData::isolatedCopy):
* Modules/indexeddb/IDBKeyRangeData.h: Copied from Source/WebCore/Modules/indexeddb/IDBGetResult.h.
(WebCore::IDBKeyRangeData::IDBKeyRangeData):

Add a few more cross-thread copiers:
* platform/CrossThreadCopier.cpp:
(WebCore::IDBGetResult>::copy):
(WebCore::IDBKeyRangeData>::copy):
* platform/CrossThreadCopier.h:

Project file gunk:
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:

Source/WebKit2:

Make the WebProcess call out to the DatabaseProcess with a get request, and handle the
response from the DatabaseProcess:
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
(WebKit::WebIDBServerConnection::get):
(WebKit::WebIDBServerConnection::didGetRecord):
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:

Get the request from the WebProcess and forward it to the appropriate unique IDB database:
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
(WebKit::DatabaseProcessIDBConnection::getRecord):
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:

Forward the request to the database thread, and response to the result from that thread:
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
(WebKit::UniqueIDBDatabase::getRecord):
(WebKit::UniqueIDBDatabase::getRecordFromBackingStore):
(WebKit::UniqueIDBDatabase::didGetRecordFromBackingStore):
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

IPC and asynchronous request infrastructure:
* Scripts/webkit2/messages.py:
(struct_or_class):

* Shared/AsyncTask.h:
(WebKit::createAsyncTask):

* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<IDBGetResult>::encode):
(IPC::ArgumentCoder<IDBGetResult>::decode):
(IPC::ArgumentCoder<IDBKeyRangeData>::encode):
(IPC::ArgumentCoder<IDBKeyRangeData>::decode):
* Shared/WebCoreArgumentCoders.h:

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

6 years agosvg/animations/smil-syncbase-self-dependency.svg is very flaky
ap@apple.com [Thu, 23 Jan 2014 20:12:07 +0000 (20:12 +0000)]
svg/animations/smil-syncbase-self-dependency.svg is very flaky

This is a newly landed test for <https://bugs.webkit.org/show_bug.cgi?id=108184>
that wasn't actually testing for what the bug fixed. The plan is to add a better
test soon, so deleting this one.

* svg/animations/smil-syncbase-self-dependency-expected.txt: Removed.
* svg/animations/smil-syncbase-self-dependency.svg: Removed.

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

6 years ago[MSE][Mac] Adopt new AVStreamDataParser delegate API
jer.noble@apple.com [Thu, 23 Jan 2014 19:42:17 +0000 (19:42 +0000)]
[MSE][Mac] Adopt new AVStreamDataParser delegate API
https://bugs.webkit.org/show_bug.cgi?id=127498

Reviewed by Eric Carlson.

Adopt a new delegate API which passes in whether or not the new AVAsset
is discontinuous, implying the AVAsset is entirely new rather than
just updated with new information.

* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:withDiscontinuity:]):

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

6 years agoPDFPlugin: Use PDFPlugin even if there's an external plugin installed, if it's blocked
timothy_horton@apple.com [Thu, 23 Jan 2014 19:31:18 +0000 (19:31 +0000)]
PDFPlugin: Use PDFPlugin even if there's an external plugin installed, if it's blocked
https://bugs.webkit.org/show_bug.cgi?id=127415
<rdar://problem/12482452>

Reviewed by Sam Weinig.

Allow use of PDFPlugin even if an external plugin is installed but blocked.
If an external plugin is installed and not blocked, we will continue to use that.

Inject a context menu item into the PDFPlugin context menu that allows the client
to unblock the plugin and reload the page (via the same mechanism that the
unavailable plugin button uses).

* UIProcess/API/C/WKPageLoaderClient.h:
* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(setUpPageLoaderClient):
* UIProcess/WebLoaderClient.cpp:
(WebKit::WebLoaderClient::pluginLoadPolicy):
* UIProcess/WebLoaderClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::findPlugin):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
Add a new PluginLoadPolicy callback for the V4 client with
yet another string out-argument, to allow clients to customize the string
that will appear in the PDFPlugin context menu when it is used in place
of a blocked plugin.

* WebProcess/Plugins/PDF/PDFPlugin.h:
Add setUsedInPlaceOfBlockedPlugin(), which determines whether or not
we should include an item in the PDFPlugin context menu that acts identically
to the unavailable plugin button, allowing the client to potentially unblock
the plugin.

* WebProcess/Plugins/PDF/PDFPlugin.mm:
(-[WKPDFPluginContextMenuTarget initWithPDFPlugin:WebKit::]):
(-[WKPDFPluginContextMenuTarget useBlockedPlugin:]):
Added WKPDFPluginContextMenuTarget, which is the Objective-C object that the
aforementioned context menu item targets.

(WebKit::PDFPlugin::PDFPlugin):
By default, we won't show the extra context menu item.

(WebKit::PDFPlugin::handleContextMenuEvent):
If we were used in place of a blocked plugin, inject our additional context
menu item into the menu. If we were handed a custom string via setUsedInPlaceOfBlockedPlugin,
use that. Otherwise, use the generic string from WebCore's localized strings.

(WebKit::PDFPlugin::openWithPlugin):
Pretend that the user clicked the unavailable plugin button when they click
the injected context menu item.

(WebKit::PDFPlugin::setUsedInPlaceOfBlockedPlugin):

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createPlugin):
If we end up with a blocked plugin, but could have used PDFPlugin to display
the content, do so instead of showing the unavailable plugin indicator.

Pass PDFPlugin the custom context menu item title acquired from the client.

(WebKit::WebPage::canPluginHandleResponse):

* English.lproj/Localizable.strings:
* WebCore.exp.in:
* platform/LocalizedStrings.cpp:
(WebCore::useBlockedPlugInContextMenuTitle):
* platform/LocalizedStrings.h:
Add a localizable string for the generic case, where the client
didn't provide a more specific string for the context menu item.

Adopt the new page loader client plugin load callback.

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::pluginLoadPolicy):
* WebKitTestRunner/TestController.h:

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

6 years agoUnreviewed GTK gardening.
commit-queue@webkit.org [Thu, 23 Jan 2014 19:20:33 +0000 (19:20 +0000)]
Unreviewed GTK gardening.

Remove failure/timeout expectations for the following passed tests:

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-01-23

* platform/gtk/TestExpectations:
    http/tests/navigation/redirect-to-random-url-versus-memory-cache.html

* platform/gtk-wk2/TestExpectations:
    http/tests/xmlhttprequest/access-control-repeated-failed-preflight-crash.html
    accessibility/multiselect-list-reports-active-option.html

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

6 years ago[iOS] [WK2] WKContentView has a black background
timothy_horton@apple.com [Thu, 23 Jan 2014 18:52:01 +0000 (18:52 +0000)]
[iOS] [WK2] WKContentView has a black background
https://bugs.webkit.org/show_bug.cgi?id=127471
<rdar://problem/12287363>

Reviewed by Sam Weinig.

* UIProcess/API/ios/WKContentView.mm:
(-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
Instead of giving it a (black!) background to make hit-testing work, use CALayer SPI
to tell CA that the whole layer should be treated as opaque when it comes to hit-testing.

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

6 years ago[Win] Mark test mathml/presentation/maction-toggle.html as failing in TestExpectation
dbates@webkit.org [Thu, 23 Jan 2014 18:48:05 +0000 (18:48 +0000)]
[Win] Mark test mathml/presentation/maction-toggle.html as failing in TestExpectation

For now, mark the test mathml/presentation/maction-toggle.html as failing. See
<https://bugs.webkit.org/show_bug.cgi?id=127495> for more details.

* platform/win/TestExpectations:

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

6 years ago[Curl] There is no way to specify cache folder.
commit-queue@webkit.org [Thu, 23 Jan 2014 18:20:38 +0000 (18:20 +0000)]
[Curl] There is no way to specify cache folder.
https://bugs.webkit.org/show_bug.cgi?id=125028

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-01-23
Reviewed by Brent Fulgham.

Source/WebCore:

Fixed logical test, disc cache should be disabled if creating cache folder fails.

* platform/network/curl/CurlCacheManager.cpp:
(WebCore::CurlCacheManager::setCacheDirectory):

Source/WebKit/win:

Added interface methods to set and get cache folder location.

* Interfaces/IWebCache.idl:
* WebCache.cpp:
(WebCache::disabled):
(WebCache::cacheFolder):
(WebCache::setCacheFolder):
* WebCache.h:

Tools:

Enable disc cache in WinLauncher by setting cache folder location.

* WinLauncher/WinLauncher.cpp:
(getAppDataFolder): Added function to get app data folder.
(setCacheFolder): Added function to set cache folder.
(createCrashReport): Use new getAppDataFolder function.
(wWinMain): Use function setCacheFolder to set cache folder location.

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

6 years agoUnreviewed build fix.
beidson@apple.com [Thu, 23 Jan 2014 18:15:55 +0000 (18:15 +0000)]
Unreviewed build fix.

* WebCore.xcodeproj/project.pbxproj: Export the new header so WebKit can see it

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

6 years ago../JavaScriptCore: [Win] Update project and solution files for 64-bit builds.
bfulgham@apple.com [Thu, 23 Jan 2014 18:14:00 +0000 (18:14 +0000)]
../JavaScriptCore: [Win] Update project and solution files for 64-bit builds.
https://bugs.webkit.org/show_bug.cgi?id=127457

Reviewed by Eric Carlson.

* JavaScriptCore.vcxproj/JavaScriptCore.submit.sln: Add 64-bit target.
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: Update for VS2013
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: Add missing
file from project view.
* JavaScriptCore.vcxproj/jsc/jsc.vcxproj: Update for VS2013
* JavaScriptCore.vcxproj/testRegExp/testRegExp.vcxproj: Ditto
* JavaScriptCore.vcxproj/testapi/testapi.vcxproj: Ditto

../WebCore: [Win] Update project and solution files for 64-bit builds
https://bugs.webkit.org/show_bug.cgi?id=127457

Reviewed by Eric Carlson.

* WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj: Update for VS2013
* WebCore.vcxproj/WebCore.submit.sln: Add x64 targets
* WebCore.vcxproj/WebCore.vcxproj: Update for VS2013. Also exclude 32-bit specific
assembly when building 64-bit target.
* WebCore.vcxproj/WebCore.vcxproj.filters: Update for VS2013
* config.h: Handle 64-bit type definitions.
* platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
(PlatformCAAnimation::setFromValue): Use CGFloat to support 64-bit builds
(PlatformCAAnimation::setToValue): Ditto
(PlatformCAAnimation::setValues): Ditto
* platform/graphics/win/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData): Add cast to
support 32- and 64-bit targets.
* platform/graphics/win/GraphicsContextCGWin.cpp:
(WebCore::GraphicsContext::drawLineForDocumentMarker): Use CGFloat to
support 64-bit builds.
* platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::writeURLToDataObject): Specialize std::min to
work on 32- and 64-bit code.
(WebCore::createGlobalImageFileDescriptor): Ditto
* platform/win/StructuredExceptionHandlerSuppressor.cpp:
(WebCore::StructuredExceptionHandlerSuppressor::StructuredExceptionHandlerSuppressor):
Comment out 32-bit inline assembly.
(WebCore::StructuredExceptionHandlerSuppressor::~StructuredExceptionHandlerSuppressor):
Ditto

../WebKit: [Win] Update project and solution files for 64-bit builds
https://bugs.webkit.org/show_bug.cgi?id=127457

Reviewed by Eric Carlson.

* WebKit.vcxproj/Interfaces/Interfaces.vcxproj: Update for VS2013.
* WebKit.vcxproj/WebKit.submit.sln: Add 64-bit target.
* WebKit.vcxproj/WebKit/WebKit.vcxproj: Update for VS2013
* WebKit.vcxproj/WebKit/WebKitApple.props: Remove unused QTMovieWin
library dependency.
* WebKit.vcxproj/WebKitExportGenerator/WebKitExportGenerator.vcxproj:
Update for VS2013.
* WebKit.vcxproj/WebKitGUID/WebKitGUID.vcxproj: Ditto

../WTF: [Win] Update project and solution files for 64-bit builds.
https://bugs.webkit.org/show_bug.cgi?id=127457

Reviewed by Eric Carlson.

* WTF.vcxproj/WTF.submit.sln: Add x64 targets.
* WTF.vcxproj/WTF.vcxproj: Update for VS2013

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

6 years ago[Win] Mark test js/dom/date-big-constructor.html as failing and add Windows expected...
dbates@webkit.org [Thu, 23 Jan 2014 18:07:21 +0000 (18:07 +0000)]
[Win] Mark test js/dom/date-big-constructor.html as failing and add Windows expected result

Mark the test js/dom/date-big-constructor.html as failing while we investigate
regression in <https://bugs.webkit.org/show_bug.cgi?id=127492>. Also add Windows expected
result for test fast/css/relative-position-replaced-in-table-display-crash.html as the test
passes but differs in whitespace. We'll investigate this whitespace difference in
<https://bugs.webkit.org/show_bug.cgi?id=127479>.

* platform/win/TestExpectations:
* platform/win/fast/css/relative-position-replaced-in-table-display-crash-expected.txt: Added.

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

6 years agoMake IDBGetResult work with IDBKeyData instead of IDBKey.
beidson@apple.com [Thu, 23 Jan 2014 18:03:19 +0000 (18:03 +0000)]
Make IDBGetResult work with IDBKeyData instead of IDBKey.
https://bugs.webkit.org/show_bug.cgi?id=127493

Reviewed by Eric Carlson.

Also break it into its own header to work better with IPC messages.

* Modules/indexeddb/IDBGetResult.h: Added.
(WebCore::IDBGetResult::IDBGetResult):

* Modules/indexeddb/IDBServerConnection.h:

* Modules/indexeddb/IDBTransactionBackendOperations.cpp:
(WebCore::GetOperation::perform):

* WebCore.xcodeproj/project.pbxproj:

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

6 years ago[curl] Add storage limit to cache manager
commit-queue@webkit.org [Thu, 23 Jan 2014 17:53:14 +0000 (17:53 +0000)]
[curl] Add storage limit to cache manager
https://bugs.webkit.org/show_bug.cgi?id=125779

Patch by Mátyás Mustoha <mmatyas@inf.u-szeged.hu> on 2014-01-23
Reviewed by Brent Fulgham.

Sets a local disc storage size limit for the cache manager
used by the curl network backend.

* platform/network/curl/CurlCacheEntry.cpp:
(WebCore::CurlCacheEntry::CurlCacheEntry):
(WebCore::CurlCacheEntry::isCached):
(WebCore::CurlCacheEntry::saveCachedData):
(WebCore::CurlCacheEntry::readCachedData):
(WebCore::CurlCacheEntry::didFail):
(WebCore::CurlCacheEntry::didFinishLoading):
(WebCore::CurlCacheEntry::loadFileToBuffer):
(WebCore::CurlCacheEntry::parseResponseHeaders):
(WebCore::CurlCacheEntry::entrySize):
* platform/network/curl/CurlCacheEntry.h:
(WebCore::CurlCacheEntry::requestHeaders):
* platform/network/curl/CurlCacheManager.cpp:
(WebCore::CurlCacheManager::CurlCacheManager):
(WebCore::CurlCacheManager::setStorageSizeLimit):
(WebCore::CurlCacheManager::loadIndex):
(WebCore::CurlCacheManager::saveIndex):
(WebCore::CurlCacheManager::makeRoomForNewEntry):
(WebCore::CurlCacheManager::didReceiveResponse):
(WebCore::CurlCacheManager::didReceiveData):
(WebCore::CurlCacheManager::invalidateCacheEntry):
(WebCore::CurlCacheManager::readCachedData):
* platform/network/curl/CurlCacheManager.h:
(WebCore::CurlCacheManager::cacheDirectory):

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

6 years agoUnreviewed EFL gardening
m.pakula@samsung.com [Thu, 23 Jan 2014 17:33:18 +0000 (17:33 +0000)]
Unreviewed EFL gardening

Add test expectations for failing tests.

* platform/efl/TestExpectations:

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

6 years agobuild-webkit --sdk=iphonesimulator doesn't think it's building iOS
dbates@webkit.org [Thu, 23 Jan 2014 17:25:31 +0000 (17:25 +0000)]
build-webkit --sdk=iphonesimulator doesn't think it's building iOS
https://bugs.webkit.org/show_bug.cgi?id=127379

Reviewed by Simon Fraser.

Teach build-webkit to recognize --sdk=X.

Currently, build-webkit recognizes --sdk X to specify X as the Xcode SDK to use, which is also
considered when determining the WebKit port to build. But build-webkit advertises --sdk=X in its
help message. We should teach build-webkit to recognize both --sdk X and --sdk=X to make its handling
of --sdk more consistent with the handling of other build-webkit options that take a value (e.g. --prefix).

* Scripts/webkitdirs.pm:
(checkForArgumentAndRemoveFromArrayRefGettingValue): Added.
(checkForArgumentAndRemoveFromARGVGettingValue): Modified to call checkForArgumentAndRemoveFromArrayRefGettingValue().
* Scripts/webkitperl/webkitdirs_unittest/checkForArgumentAndRemoveFromArrayRefGettingValue.pl: Added.

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

6 years ago[Win] Update expected result for test svg/W3C-SVG-1.1/paths-data-03-f.html
dbates@webkit.org [Thu, 23 Jan 2014 17:23:47 +0000 (17:23 +0000)]
[Win] Update expected result for test svg/W3C-SVG-1.1/paths-data-03-f.html

The expected result for the test test svg/W3C-SVG-1.1/paths-data-03-f.html on Windows
shows a progression towards matching the Mac expected result. Currently, there are many
numerical differences between the expected results for these platforms, described within
three diff chunks. After this commit there will be a single numerical difference (described
in one diff chunk) between the Mac and Windows results. See <https://bugs.webkit.org/show_bug.cgi?id=127490>
for more details.

* platform/win/svg/W3C-SVG-1.1/paths-data-03-f-expected.txt:

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

6 years ago[Win] Update expected result for test svg/W3C-SVG-1.1/paths-data-03-f.html
dbates@webkit.org [Thu, 23 Jan 2014 17:21:28 +0000 (17:21 +0000)]
[Win] Update expected result for test svg/W3C-SVG-1.1/paths-data-03-f.html

The expected result for the test test svg/W3C-SVG-1.1/paths-data-03-f.html on Windows
shows a progression towards matching the Mac expected result. Currently, there are many
numerical differences between the expected results for these platforms, described within
three diff chunks. After this commit there will be a single numerical difference (described
in one diff chunk) between the Mac and Windows results. See <https://bugs.webkit.org/show_bug.cgi?id=127490>
for more details.

* platform/win/svg/W3C-SVG-1.1/paths-data-03-f-expected.txt:

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

6 years agoUnreviewed, rolling out r162612.
commit-queue@webkit.org [Thu, 23 Jan 2014 17:19:02 +0000 (17:19 +0000)]
Unreviewed, rolling out r162612.
http://trac.webkit.org/changeset/162612
https://bugs.webkit.org/show_bug.cgi?id=127488

broke the build (Requested by mhahnenberg on #webkit).

* Scripts/build-jsc:
* jsc-cli/jsc-cli.xcodeproj/project.pbxproj: Removed.
* jsc-cli/jsc-cli/CLIInstance.h: Removed.
* jsc-cli/jsc-cli/CLIInstance.m: Removed.
* jsc-cli/jsc-cli/JSModule.h: Removed.
* jsc-cli/jsc-cli/JSModule.m: Removed.
* jsc-cli/jsc-cli/JSRunLoopThread.h: Removed.
* jsc-cli/jsc-cli/JSRunLoopThread.m: Removed.
* jsc-cli/jsc-cli/ReadEvalPrintLoop.h: Removed.
* jsc-cli/jsc-cli/ReadEvalPrintLoop.m: Removed.
* jsc-cli/jsc-cli/RunLoopThread.h: Removed.
* jsc-cli/jsc-cli/RunLoopThread.m: Removed.
* jsc-cli/jsc-cli/ScriptInputSource.h: Removed.
* jsc-cli/jsc-cli/ScriptInputSource.m: Removed.
* jsc-cli/jsc-cli/main.m: Removed.

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

6 years agoBasic framework for a modern jsc CLI
mhahnenberg@apple.com [Thu, 23 Jan 2014 17:09:00 +0000 (17:09 +0000)]
Basic framework for a modern jsc CLI
https://bugs.webkit.org/show_bug.cgi?id=127435

Reviewed by Geoffrey Garen.

The most basic components of a modern jsc command line interface consist of the following:

- A simple REPL to enter commands and receive results
- The ability to define a module (which consists of various internal methods as well as a
  set of externally visible methods)
- The ability to load other modules at runtime
- The ability to interact with the underlying platform to perform various "privileged"
  functions (e.g. opening files, printing to the stdout, etc.)

The basic architecture will look something like the following:
- If the tool is run in REPL mode (i.e. no command line arguments), it will start the REPL
  on the main thread and start a secondary thread with a run loop to handle various inputs
  from the REPL thread.
- If the tool is given a script to run, it will evaluate that script (and any scripts that
  it might transitively load) within the run loop on the secondary thread while the main
  thread blocks until it has completed.

* Scripts/build-jsc:
* jsc-cli: Added.
* jsc-cli/jsc-cli: Added.
* jsc-cli/jsc-cli.xcodeproj: Added.
* jsc-cli/jsc-cli.xcodeproj/project.pbxproj: Added.
* jsc-cli/jsc-cli/CLIInstance.h: Added.
* jsc-cli/jsc-cli/CLIInstance.m: Added.
(-[CLIInstance init]):
(-[CLIInstance loadFile:]):
(-[CLIInstance run]):
* jsc-cli/jsc-cli/JSModule.h: Added.
* jsc-cli/jsc-cli/JSModule.m: Added.
(coreModules):
(isCoreModule):
(classForModule):
(coreModuleFullPath):
(resolveModuleAsFile):
(resolveModuleAsDirectory):
(nodeModulePaths):
(resolveAsNodeModule):
(+[JSModule resolve:atPath:]):
(globalModuleCache):
(isCached):
(cachedModule):
(cacheModule):
(+[JSModule require:atPath:]):
(+[JSModule require:atPath:inContext:]):
(-[JSModule platformObjectInContext:]):
(-[JSModule initWithId:filename:context:]):
(-[JSModule dealloc]):
(-[JSModule didStartLoading]):
(-[JSModule didFinishLoading]):
(-[JSModule require:]):
(-[JSModule exports]):
* jsc-cli/jsc-cli/JSRunLoopThread.h: Added.
* jsc-cli/jsc-cli/JSRunLoopThread.m: Added.
(jsThreadMain):
(+[JSRunLoopThread threadMain]):
(-[JSRunLoopThread initWithFiles:andContext:]):
(-[JSRunLoopThread startRunLoop]):
(-[JSRunLoopThread start]):
(-[JSRunLoopThread join]):
(-[JSRunLoopThread didReceiveInput:]):
(-[JSRunLoopThread performCallback:withError:]):
(-[JSRunLoopThread performCallback:withArguments:]):
(-[JSRunLoopThread didFinishRunLoopInitialization]):
* jsc-cli/jsc-cli/ReadEvalPrintLoop.h: Added.
* jsc-cli/jsc-cli/ReadEvalPrintLoop.m: Added.
(-[ReadEvalPrintLoop initWithJSThread:]):
(prompt):
(escapeStringForOutput):
(-[ReadEvalPrintLoop processNextInput]):
(-[ReadEvalPrintLoop run]):
* jsc-cli/jsc-cli/RunLoopThread.h: Added.
* jsc-cli/jsc-cli/RunLoopThread.m: Added.
(+[RunLoopThread threadMain]):
(-[RunLoopThread init]):
(-[RunLoopThread dealloc]):
(-[RunLoopThread didFinishRunLoopInitialization]):
(-[RunLoopThread start]):
(-[RunLoopThread join]):
* jsc-cli/jsc-cli/ScriptInputSource.h: Added.
* jsc-cli/jsc-cli/ScriptInputSource.m: Added.
(scriptInputSourceScheduleRoutine):
(scriptInputSourcePerformRoutine):
(scriptInputSourceCancelRoutine):
(-[ScriptInputSource initWithContext:]):
(-[ScriptInputSource dealloc]):
(-[ScriptInputSource addToCurrentRunLoop]):
(-[ScriptInputSource removeFromRemoteRunLoop]):
(-[ScriptInputSource didReceiveScript:]):
(-[ScriptInputSource didReceiveSignal]):
(-[ScriptInputSource runScriptRemotely:]):
(-[ScriptInputSource finishAsyncCallback:withResult:]):
* jsc-cli/jsc-cli/main.m: Added.
(main):

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

6 years ago[EFL] Unreviewed gardening
ossy@webkit.org [Thu, 23 Jan 2014 17:05:16 +0000 (17:05 +0000)]
[EFL] Unreviewed gardening

* platform/efl-wk2/TestExpectations: Skip failing tests only on WK2.
* platform/efl/TestExpectations: Unskip now passing tests on WK1.

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

6 years agoUnreviewed. Fix automake warning.
carlosgc@webkit.org [Thu, 23 Jan 2014 16:42:36 +0000 (16:42 +0000)]
Unreviewed. Fix automake warning.

* GNUmakefile.list.am: Remove trailing whitespaces.

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

6 years ago[Win] Remove Windows-specific result for test fast/css-generated-content/table-row...
dbates@webkit.org [Thu, 23 Jan 2014 16:04:35 +0000 (16:04 +0000)]
[Win] Remove Windows-specific result for test fast/css-generated-content/table-row-group-to-inline.html

As of the time of writing, the Windows expected results for test fast/css-generated-content/table-row-group-to-inline.html
are identical to the results on Mac.

* platform/win/fast/css-generated-content/table-row-group-to-inline-expected.txt: Removed.

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

6 years ago[EFL] Updated test expectations for failing tests
commit-queue@webkit.org [Thu, 23 Jan 2014 16:01:59 +0000 (16:01 +0000)]
[EFL] Updated test expectations for failing tests
https://bugs.webkit.org/show_bug.cgi?id=127478

Unreviewed EFL gardening

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2014-01-23

* platform/efl/TestExpectations:
* platform/efl/css2.1/t1604-c542-letter-sp-00-b-a-expected.png:
Removed incorrect test expectation for css2.1/t1604-c542-letter-sp-00-b-a.html
* platform/efl/css2.1/t1604-c542-letter-sp-00-b-a-expected.txt:
Ditto.

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

6 years ago[Win] Whitespace differences in test results for fast/{css, dom, forms, multicolor...
dbates@webkit.org [Thu, 23 Jan 2014 15:50:12 +0000 (15:50 +0000)]
[Win] Whitespace differences in test results for fast/{css, dom, forms, multicolor, ruinin}
https://bugs.webkit.org/show_bug.cgi?id=127479

Add Windows-specific expected results for some tests that PASS, but differ in whitespace
in their output. We should further investigate such whitespace differences.

* platform/win/fast/css/first-letter-block-form-controls-crash-expected.txt: Added.
* platform/win/fast/dom/adopt-node-crash-2-expected.txt: Added.
* platform/win/fast/forms/access-key-for-all-elements-expected.txt: Added.
* platform/win/fast/forms/form-associated-element-crash3-expected.txt: Added.
* platform/win/fast/multicol/renderer-positioned-assert-crash-expected.txt: Added.
* platform/win/fast/runin/nonblock-runin-expected.txt: Added.

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

6 years agoUnreviewed EFL gardening
m.pakula@samsung.com [Thu, 23 Jan 2014 14:57:54 +0000 (14:57 +0000)]
Unreviewed EFL gardening

Update test expectations for failing or crashing http/tests/websocket/tests/hybi tests.

* platform/efl-wk1/TestExpectations:
* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:

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

6 years ago[CSS Regions] Fix positioning composited layers when the region has overflow:hidden
commit-queue@webkit.org [Thu, 23 Jan 2014 14:19:54 +0000 (14:19 +0000)]
[CSS Regions] Fix positioning composited layers when the region has overflow:hidden
https://bugs.webkit.org/show_bug.cgi?id=124042

Patch by Mihai Maerean <mmaerean@adobe.com> on 2014-01-23
Reviewed by Mihnea Ovidenie.

Source/WebCore:

If there's a clipping GraphicsLayer on the hierarchy, substract its offset, since it's its
parent that positions us.

Tests: compositing/regions/position-layer-inside-region-overflow-hidden.html
       compositing/regions/position-layer-inside-overflow-hidden.html
       compositing/regions/position-layers-inside-region-overflow-hidden.html
       compositing/regions/position-layers-inside-regions-overflow-hidden.html

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread): The position
must also be correct when the region has box-shadow that inflates the region's layer. The
composited layers from the flow thread should be rendered in the same position whether the
associated region has clipping or not.
Using the position of the clipping layer instead of the location of the clipbox makes it
also work with box-shadow that inflates the region's graphics layer.

LayoutTests:

* compositing/regions/position-layer-inside-region-overflow-hidden.html: Added.
* compositing/regions/position-layer-inside-region-overflow-hidden-expected.html: Added.
* compositing/regions/position-layer-inside-overflow-hidden.html: Added.
* compositing/regions/position-layer-inside-overflow-hidden-expected.html: Added.
* compositing/regions/position-layers-inside-region-overflow-hidden.html: Added.
* compositing/regions/position-layers-inside-region-overflow-hidden-expected.html: Added.
* compositing/regions/position-layers-inside-regions-overflow-hidden.html: Added.
* compositing/regions/position-layers-inside-regions-overflow-hidden-expected.html: Added.

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

6 years agoUnreviewed gardening.
ossy@webkit.org [Thu, 23 Jan 2014 12:38:39 +0000 (12:38 +0000)]
Unreviewed gardening.

Move fast/harness/sample-fail-mismatch-reftest.html to the platform
independent TestExpectations, since all ports skip it as expected.

* TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:

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

6 years agoRemove a FIXME comment that is already fixed.
commit-queue@webkit.org [Thu, 23 Jan 2014 10:46:17 +0000 (10:46 +0000)]
Remove a FIXME comment that is already fixed.
https://bugs.webkit.org/show_bug.cgi?id=127468

Patch by László Langó <llango.u-szeged@partner.samsung.com> on 2014-01-23
Reviewed by Csaba Osztrogonác.

* Scripts/webkitpy/style/filereader.py:
(TextFileReader.__init__):

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

6 years ago[CSS Regions] Convert regions iterator loops to range-based loops
abucur@adobe.com [Thu, 23 Jan 2014 10:02:11 +0000 (10:02 +0000)]
[CSS Regions] Convert regions iterator loops to range-based loops
https://bugs.webkit.org/show_bug.cgi?id=127464

Reviewed by Antti Koivisto.

Replace most of the iterator loops in the region implementation with
range based for loops. The for loops that iterate only over subsets
of collections have not been changed.

Tests: no new tests, this is a refactoring patch.

* dom/WebKitNamedFlow.cpp:
(WebCore::WebKitNamedFlow::firstEmptyRegionIndex):
(WebCore::WebKitNamedFlow::getRegionsByContent):
(WebCore::WebKitNamedFlow::getRegions):
(WebCore::WebKitNamedFlow::getContent):
* inspector/InspectorOverlay.cpp:
(WebCore::buildObjectForCSSRegionsHighlight):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::validateRegions):
(WebCore::RenderFlowThread::updateLogicalWidth):
(WebCore::RenderFlowThread::computeLogicalHeight):
(WebCore::RenderFlowThread::repaintRectangleInRegions):
(WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
(WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
(WebCore::RenderFlowThread::clearRenderBoxRegionInfoAndCustomStyle):
(WebCore::RenderFlowThread::isAutoLogicalHeightRegionsCountConsistent):
(WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout):
(WebCore::RenderFlowThread::markRegionsForOverflowLayoutIfNeeded):
(WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
(WebCore::RenderFlowThread::collectLayerFragments):
(WebCore::RenderFlowThread::fragmentsBoundingBox):
* rendering/RenderNamedFlowFragment.cpp:
(WebCore::RenderNamedFlowFragment::setRegionObjectsRegionStyle):
(WebCore::RenderNamedFlowFragment::restoreRegionObjectsOriginalStyle):
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::clearContentElements):
(WebCore::RenderNamedFlowThread::nextRendererForNode):
(WebCore::RenderNamedFlowThread::dependsOn):
(WebCore::RenderNamedFlowThread::computeOversetStateForRegions):
(WebCore::RenderNamedFlowThread::checkInvalidRegions):
(WebCore::RenderNamedFlowThread::pushDependencies):
(WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
(WebCore::isContainedInElements):
(WebCore::RenderNamedFlowThread::getRanges):
(WebCore::RenderNamedFlowThread::checkRegionsWithStyling):
(WebCore::RenderNamedFlowThread::clearRenderObjectCustomStyle):
* rendering/RenderTreeAsText.cpp:
(WebCore::writeRenderRegionList):

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

6 years agoRange should be constructable.
commit-queue@webkit.org [Thu, 23 Jan 2014 08:36:56 +0000 (08:36 +0000)]
Range should be constructable.
https://bugs.webkit.org/show_bug.cgi?id=115639

Patch by László Langó <llango.u-szeged@partner.samsung.com> on 2014-01-23
Reviewed by Ryosuke Niwa.

Source/WebCore:

http://www.w3.org/TR/2013/WD-dom-20131107/#interface-range
Now we can do `new Range()` instead of `document.createRange()`.

Blink: https://chromium.googlesource.com/chromium/blink/+/47ca40efdf58a4787aa33aa75a35778899b1c002%5E%21
Test: fast/dom/Range/range-constructor.html

* dom/Range.cpp:
(WebCore::Range::create):
* dom/Range.h:
* dom/Range.idl:

LayoutTests:

* fast/dom/Range/range-constructor-expected.txt: Added.
* fast/dom/Range/range-constructor.html: Added.
* fast/dom/dom-constructors-expected.txt:
* fast/dom/dom-constructors.html:

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

6 years agoUnreviewed build fix for gles after r162565. Add missing definitions.
changseok.oh@collabora.com [Thu, 23 Jan 2014 08:10:47 +0000 (08:10 +0000)]
Unreviewed build fix for gles after r162565. Add missing definitions.

* platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
(WebCore::GraphicsContext3D::drawArraysInstanced):
(WebCore::GraphicsContext3D::drawElementsInstanced):
(WebCore::GraphicsContext3D::vertexAttribDivisor):

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

6 years ago[GLIB] Use GUniquePtr instead of GOwnPtr
carlosgc@webkit.org [Thu, 23 Jan 2014 07:53:48 +0000 (07:53 +0000)]
[GLIB] Use GUniquePtr instead of GOwnPtr
https://bugs.webkit.org/show_bug.cgi?id=127431

Reviewed by Martin Robinson.

GUniquePtr is a template alias of std::unique_ptr with a custom
deleter that replaces GOwnPtr. GOwnPtr is still used for the cases
where the output pointer is needed, but it will also be replaced soon.

Source/WebCore:

* GNUmakefile.list.am:
* PlatformGTK.cmake:
* accessibility/atk/AXObjectCacheAtk.cpp:
* accessibility/atk/WebKitAccessibleInterfaceText.cpp:
(getAttributeSetForAccessibilityObject):
(accessibilityObjectLength):
(textExtents):
(webkitAccessibleTextGetChar):
(numberOfReplacedElementsBeforeOffset):
* page/ContextMenuController.cpp:
* platform/SharedBuffer.h:
* platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
(webKitWebAudioSrcConstructed):
(webKitWebAudioSrcLoop):
* platform/audio/gtk/AudioBusGtk.cpp:
(WebCore::AudioBus::loadPlatformResource):
* platform/geoclue/GeolocationProviderGeoclue.cpp:
* platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties):
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
* platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
(webKitMediaSrcAddSrc):
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcStart):
(ResourceHandleStreamingClient::wasBlocked):
(ResourceHandleStreamingClient::cannotShowURL):
* platform/graphics/gtk/ImageBufferGtk.cpp:
(WebCore::encodeImage):
(WebCore::ImageBuffer::toDataURL):
* platform/graphics/gtk/ImageGtk.cpp:
(WebCore::getThemeIconFileName):
(WebCore::Image::loadPlatformResource):
* platform/gtk/ContextMenuGtk.cpp:
(WebCore::ContextMenu::itemCount):
(WebCore::contextMenuItemVector):
* platform/gtk/ContextMenuItemGtk.cpp:
(WebCore::createPlatformMenuItemDescription):
* platform/gtk/DataObjectGtk.cpp:
(WebCore::DataObjectGtk::setURIList):
(WebCore::DataObjectGtk::setURL):
* platform/gtk/FileSystemGtk.cpp:
(WebCore::filenameToString):
(WebCore::fileSystemRepresentation):
(WebCore::filenameForDisplay):
(WebCore::pathGetFileName):
(WebCore::applicationDirectoryPath):
(WebCore::sharedResourcesPath):
(WebCore::directoryName):
(WebCore::listDirectory):
(WebCore::openTemporaryFile):
* platform/gtk/GOwnPtrGtk.cpp: Removed.
* platform/gtk/GOwnPtrGtk.h: Removed.
* platform/gtk/GUniquePtrGtk.h: Added.
* platform/gtk/GamepadsGtk.cpp:
(WebCore::GamepadsGtk::GamepadsGtk):
* platform/gtk/GtkClickCounter.cpp:
(WebCore::GtkClickCounter::shouldProcessButtonEvent):
* platform/gtk/GtkInputMethodFilter.cpp:
(WebCore::GtkInputMethodFilter::sendCompositionAndPreeditWithFakeKeyEvents):
* platform/gtk/GtkPopupMenu.cpp:
(WebCore::GtkPopupMenu::popUp):
(WebCore::GtkPopupMenu::typeAheadFind):
* platform/gtk/LanguageGtk.cpp:
(WebCore::platformLanguage):
* platform/gtk/LocalizedStringsGtk.cpp:
(WebCore::imageTitle):
(WebCore::localizedMediaTimeDescription):
* platform/gtk/PasteboardHelper.cpp:
(WebCore::selectionDataToUTF8String):
(WebCore::PasteboardHelper::getClipboardContents):
(WebCore::PasteboardHelper::fillSelectionData):
* platform/gtk/PopupMenuGtk.cpp:
(WebCore::PopupMenuGtk::createGtkActionForMenuItem):
(WebCore::PopupMenuGtk::show):
* platform/gtk/WebKitAuthenticationWidget.cpp:
(webkitAuthenticationWidgetInitialize):
* platform/network/ResourceHandleInternal.h:
* platform/network/gtk/CredentialBackingStore.cpp:
(WebCore::credentialForChallengeAsyncReadyCallback):
* platform/network/soup/CookieJarSoup.cpp:
(WebCore::setCookiesFromDOM):
(WebCore::cookiesForSession):
(WebCore::getRawCookies):
(WebCore::deleteCookie):
(WebCore::getHostnamesWithCookies):
(WebCore::deleteCookiesForHostname):
(WebCore::deleteAllCookies):
* platform/network/soup/DNSSoup.cpp:
* platform/network/soup/GUniquePtrSoup.h: Added.
* platform/network/soup/ResourceErrorSoup.cpp:
(WebCore::failingURI):
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::ResourceHandle::ensureReadBuffer):
(WebCore::cleanupSoupRequestOperation):
(WebCore::createSoupRequestAndMessageForHandle):
* platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::ResourceRequest::updateSoupMessageMembers):
(WebCore::ResourceRequest::updateSoupMessage):
* platform/network/soup/ResourceResponseSoup.cpp:
* platform/network/soup/SoupURIUtils.cpp:
(WebCore::soupURIToKURL):
* platform/soup/SharedBufferSoup.cpp:
(WebCore::SharedBuffer::SharedBuffer):
(WebCore::SharedBuffer::clearPlatformData):
(WebCore::SharedBuffer::maybeTransferPlatformData):
(WebCore::SharedBuffer::hasPlatformData):
* plugins/gtk/PluginPackageGtk.cpp:
(WebCore::PluginPackage::fetchInfo):
(WebCore::PluginPackage::load):

Source/WebKit/gtk:

* WebCoreSupport/ContextMenuClientGtk.cpp:
(WebKit::getUnicodeMenuItemPosition):
* WebCoreSupport/DragClientGtk.cpp:
(WebKit::DragClient::startDrag):
* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
(DumpRenderTreeSupportGtk::setValueForUser):
* WebCoreSupport/EditorClientGtk.h:
* WebCoreSupport/FrameLoaderClientGtk.cpp:
(WebKit::FrameLoaderClient::userAgent):
(WebKit::FrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
(WebKit::FrameLoaderClient::dispatchWillSendRequest):
(WebKit::FrameLoaderClient::assignIdentifierToInitialRequest):
(WebKit::FrameLoaderClient::dispatchDidReceiveResponse):
(WebKit::FrameLoaderClient::dispatchDidReceiveContentLength):
(WebKit::FrameLoaderClient::dispatchDidFinishLoading):
(WebKit::FrameLoaderClient::dispatchDidFailLoading):
(WebKit::FrameLoaderClient::dispatchDidFailLoad):
* WebCoreSupport/InspectorClientGtk.h:
* webkit/webkitfavicondatabase.cpp:
(webkit_favicon_database_set_path):
* webkit/webkitfilechooserrequest.cpp:
* webkit/webkitglobals.cpp:
(webkitInit):
* webkit/webkithittestresult.cpp:
(WebKit::kit):
* webkit/webkiticondatabase.cpp:
(webkit_icon_database_set_path):
* webkit/webkitspellcheckerenchant.cpp:
* webkit/webkitwebplugin.cpp:
(webkit_web_plugin_get_path):
* webkit/webkitwebpluginprivate.h:
* webkit/webkitwebsettings.cpp:
(webkit_web_settings_class_init):
(webkit_web_settings_copy):
* webkit/webkitwebview.cpp:
(webkit_web_view_forward_context_menu_event):
(fileChooserDialogResponseCallback):
(webkit_web_view_drag_end):
* webkit/webkitwebviewprivate.h:

Source/WebKit2:

* Shared/Downloads/soup/DownloadSoup.cpp:
(WebKit::DownloadClient::didReceiveResponse):
* Shared/NativeWebKeyboardEvent.h:
* Shared/NativeWebMouseEvent.h:
* Shared/NativeWebWheelEvent.h:
* Shared/gtk/ArgumentCodersGtk.cpp:
(IPC::encodeGKeyFile):
(IPC::decodeGKeyFile):
(IPC::encode):
(IPC::decode):
* UIProcess/API/gtk/WebKitContextMenuItem.cpp:
(webkitContextMenuItemSetSubMenuFromGtkMenu):
* UIProcess/API/gtk/WebKitDownload.cpp:
(webkitDownloadDecideDestination):
(webkitDownloadNotifyProgress):
(webkitDownloadFailed):
* UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
(webkit_file_chooser_request_select_files):
* UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
(didReceiveWebViewMessageFromInjectedBundle):
(getInjectedBundleInitializationUserData):
* UIProcess/API/gtk/WebKitLoaderClient.cpp:
(didFailProvisionalLoadWithErrorForFrame):
(didFailLoadWithErrorForFrame):
* UIProcess/API/gtk/WebKitPrintOperation.cpp:
(drawPagesForPrintingCompleted):
* UIProcess/API/gtk/WebKitURIRequest.cpp:
(webkit_uri_request_get_http_headers):
* UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
(webkit_uri_scheme_request_get_scheme):
(webkit_uri_scheme_request_get_path):
* UIProcess/API/gtk/WebKitWebContext.cpp:
(injectedBundleFilename):
(webkit_web_context_set_favicon_database_directory):
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewLoadFail):
(webkitWebViewCreateJavaScriptDialog):
(fileChooserDialogResponseCallback):
(webkitWebViewLoadChanged):
(webkitWebViewLoadFailedWithTLSErrors):
(webkitWebViewPopulateContextMenu):
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseButtonPressEvent):
(webkitWebViewBaseStartDrag):
* UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
(WebKit::WebInspectorServer::platformResourceForPath):
* UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp:
(WebKit::connectionCallback):
* UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
(WebKit::ProcessLauncher::launchProcess):
* UIProcess/gtk/WebContextGtk.cpp:
(WebKit::WebContext::platformDefaultApplicationCacheDirectory):
(WebKit::WebContext::platformDefaultDatabaseDirectory):
(WebKit::WebContext::platformDefaultIconDatabasePath):
(WebKit::WebContext::platformDefaultLocalStorageDirectory):
(WebKit::WebContext::platformDefaultDiskCacheDirectory):
* UIProcess/gtk/WebContextMenuProxyGtk.cpp:
(WebKit::contextMenuItemVisibilityChanged):
* UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformInspectedURLChanged):
* UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
(WebKit::WebPopupMenuProxyGtk::createGtkActionForMenuItem):
* WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
* WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::platformInitialize):
* WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
* WebProcess/gtk/WebProcessMainGtk.cpp:
* WebProcess/soup/WebSoupRequestManager.cpp:
(WebKit::WebSoupRequestManager::send):

Tools:

* DumpRenderTree/atk/AccessibilityCallbacksAtk.cpp:
(printAccessibilityEvent):
(axObjectEventListener):
* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
(indexRangeInTable):
(AccessibilityUIElement::role):
(AccessibilityUIElement::title):
(AccessibilityUIElement::description):
(AccessibilityUIElement::stringValue):
(AccessibilityUIElement::language):
(AccessibilityUIElement::lineForIndex):
(AccessibilityUIElement::selectedTextRange):
(AccessibilityUIElement::url):
* DumpRenderTree/efl/AccessibilityControllerEfl.cpp:
(AccessibilityController::accessibleElementById):
* DumpRenderTree/gtk/AccessibilityControllerGtk.cpp:
(AccessibilityController::accessibleElementById):
* DumpRenderTree/gtk/DumpRenderTree.cpp:
(getOutputDir):
(getFontsPath):
(initializeFonts):
(dumpFramesAsText):
(compareHistoryItems):
(dumpHistoryItem):
(soupURIToStringPreservingPassword):
(resetDefaultsToConsistentValues):
(temporaryDatabaseDirectory):
(webViewTitleChanged):
(webFrameLoadStatusNotified):
(pathFromSoupURI):
(convertWebResourceToURLPath):
(urlSuitableForTestResult):
(descriptionSuitableForTestResult):
(willSendRequestCallback):
(frameLoadEventCallback):
* DumpRenderTree/gtk/EditingCallbacks.cpp:
(dumpNodePath):
(dumpRange):
(shouldApplyStyle):
* DumpRenderTree/gtk/EventSender.cpp:
(contextClickCallback):
(beginDragWithFilesCallback):
* DumpRenderTree/gtk/TestRunnerGtk.cpp:
(TestRunner::pathToLocalResource):
(TestRunner::queueLoad):
(TestRunner::removeOriginAccessWhitelistEntry):
(TestRunner::setMockGeolocationPositionUnavailableError):
(TestRunner::setIconDatabaseEnabled):
(TestRunner::findString):
(TestRunner::setDomainRelaxationForbiddenForURLScheme):
(TestRunner::overridePreference):
(TestRunner::addUserScript):
(TestRunner::addUserStyleSheet):
(TestRunner::setTextDirection):
* DumpRenderTree/gtk/TextInputController.cpp:
(setMarkedTextCallback):
(insertTextCallback):
(doCommandCallback):
* DumpRenderTree/gtk/WorkQueueItemGtk.cpp:
(LoadHTMLStringItem::invoke):
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp:
(WebKitDOMNodeTest::testTagNames):
* TestWebKitAPI/Tests/WebKit2Gtk/TestBackForwardList.cpp:
(testBackForwardListLimitAndCache):
* TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp:
(testContextMenuSmartSeparators):
* TestWebKitAPI/Tests/WebKit2Gtk/TestCookieManager.cpp:
* TestWebKitAPI/Tests/WebKit2Gtk/TestDownloads.cpp:
(testDownloadLocalFile):
(testDownloadLocalFileError):
(addContentDispositionHTTPHeaderToResponse):
(serverCallback):
(testDownloadRemoteFileError):
* TestWebKitAPI/Tests/WebKit2Gtk/TestInspectorServer.cpp:
(startTestServer):
(testInspectorServerPageList):
(openRemoteDebuggingSession):
* TestWebKitAPI/Tests/WebKit2Gtk/TestPrinting.cpp:
(testPrintOperationPrint):
* TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp:
(addCacheHTTPHeadersToResponse):
(serverCallback):
* TestWebKitAPI/Tests/WebKit2Gtk/TestSSL.cpp:
(httpsServerCallback):
(httpServerCallback):
* TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:
(testWebViewJavaScriptDialogs):
(testWebViewWindowProperties):
(testWebViewFileChooserRequest):
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebExtensions.cpp:
(testWebExtensionWindowObjectCleared):
(testWebExtensionIsolatedWorld):
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitAccessibility.cpp:
(startTestServer):
(checkAtspiAccessible):
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitFaviconDatabase.cpp:
(serverCallback):
(testClearDatabase):
(testGetFaviconURI):
(webkitFaviconDatabaseFinalizedCallback):
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp:
(testWebContextGetPlugins):
(testWebContextURIScheme):
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:
(testWebViewRunJavaScript):
(testWebViewMode):
(testWebViewPageVisibility):
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebViewGroup.cpp:
(isStyleSheetInjectedForURLAtPath):
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebViewEditor.cpp:
(testWebViewEditorCutCopyPasteNonEditable):
(testWebViewEditorCutCopyPasteEditable):
(testWebViewEditorSelectAllNonEditable):
(testWebViewEditorSelectAllEditable):
* TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:
(sendRequestCallback):
(methodCallCallback):
* TestWebKitAPI/gtk/PlatformUtilitiesGtk.cpp:
(TestWebKitAPI::Util::createInjectedBundlePath):
(TestWebKitAPI::Util::createURLForResource):
* TestWebKitAPI/gtk/PlatformWebViewGtk.cpp:
(TestWebKitAPI::doKeyStroke):
(TestWebKitAPI::doMouseButtonEvent):
(TestWebKitAPI::PlatformWebView::simulateMouseMove):
* TestWebKitAPI/gtk/WebKit2Gtk/LoadTrackingTest.cpp:
(loadFailedCallback):
(LoadTrackingTest::loadURI):
(LoadTrackingTest::loadHtml):
(LoadTrackingTest::loadPlainText):
(LoadTrackingTest::loadRequest):
(LoadTrackingTest::reload):
(LoadTrackingTest::goBack):
(LoadTrackingTest::goForward):
* TestWebKitAPI/gtk/WebKit2Gtk/LoadTrackingTest.h:
* TestWebKitAPI/gtk/WebKit2Gtk/TestMain.cpp:
(registerGResource):
(removeNonEmptyDirectory):
(main):
* TestWebKitAPI/gtk/WebKit2Gtk/TestMain.h:
(Test::getWebKit1TestResoucesDir):
(Test::getResourcesDir):
* TestWebKitAPI/gtk/WebKit2Gtk/WebKitTestBus.cpp:
(WebKitTestBus::run):
* TestWebKitAPI/gtk/WebKit2Gtk/WebKitTestServer.cpp:
(WebKitTestServer::WebKitTestServer):
(WebKitTestServer::getURIForPath):
* TestWebKitAPI/gtk/WebKit2Gtk/WebProcessTestRunner.cpp:
(WebProcessTestRunner::runTest):
* TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:
(resourceGetDataCallback):
(WebViewTest::mainResourceData):
(WebViewTest::mouseMoveTo):
(WebViewTest::keyStroke):
(WebViewTest::doMouseButtonEvent):
* TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.h:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp:
(WTR::AccessibilityController::accessibleElementById):
* WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::role):
(WTR::AccessibilityUIElement::title):
(WTR::AccessibilityUIElement::description):
(WTR::AccessibilityUIElement::stringValue):
(WTR::AccessibilityUIElement::language):
(WTR::AccessibilityUIElement::lineForIndex):
(WTR::AccessibilityUIElement::selectedTextRange):
(WTR::AccessibilityUIElement::url):
* WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:
(WTR::getOutputDir):
(WTR::getFontsPath):
(WTR::initializeFontConfigSetting):
* WebKitTestRunner/InjectedBundle/gtk/InjectedBundleUtilities.cpp:
(WTR::topLevelPath):
* WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
(WTR::TestRunner::pathToLocalResource):
* WebKitTestRunner/gtk/TestControllerGtk.cpp:
(WTR::TestController::initializeInjectedBundlePath):
(WTR::TestController::initializeTestPluginDirectory):

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

6 years agoPoor man's fast breakpoints for a 2.3x debugger speedup.
mark.lam@apple.com [Thu, 23 Jan 2014 07:39:58 +0000 (07:39 +0000)]
Poor man's fast breakpoints for a 2.3x debugger speedup.
<https://webkit.org/b/122836>

Reviewed by Geoffrey Garen.

Previously we gained back some performance (run at baseline JIT speeds)
when the WebInspector is opened provided no breakpoints are set. This
was achieved by simply skipping all op_debug callbacks to the debugger
if no breakpoints are set. If any breakpoints are set, the debugger will
set a m_needsOpDebugCallbacks flag which causes the callbacks to be
called, and we don't get the baseline JIT speeds anymore.

With this patch, we will now track the number of breakpoints set in the
CodeBlock that they are set in. The LLINT and baseline JIT code will
check CodeBlock::m_numBreakpoints to determine if the op_debug callbacks
need to be called. With this, we will only enable op_debug callbacks for
CodeBlocks that need it i.e. those with breakpoints set in them.

Debugger::m_needsOpDebugCallbacks is now obsoleted. The LLINT and baseline
JIT code still needs to check Debugger::m_shouldPause to determine if the
debugger is in stepping mode and hence, needs op_debug callbacks enabled
for everything until the debugger "continues" the run and exit stepping
mode.

Also in this patch, I fixed a regression in DOM breakpoints which relies
Debugger::breakProgram() to pause the debugger.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
- Missed accounting for op_debug's new hasBreakpointFlag operand here when
  it was added.
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::hasOpDebugForLineAndColumn):
- This is needed in Debugger::toggleBreakpoint() to determine if a
  breakpoint falls within a CodeBlock or not. Simply checking the bounds
  of the CodeBlock is insufficient. For example, let's say we have the
  following JS code:

      // begin global scope
      function f1() {
          function f2() {
             ... // set breakpoint here.
          }
      }
      // end global scope

  Using the CodeBlock bounds alone, the breakpoint above will to appear
  to be in the global program CodeBlock, and the CodeBlocks for function
  f1() and f2(). With CodeBlock::hasOpDebugForLineAndColumn() we can
  rule out the global program CodeBlock and f1(), and only apply the
  breakpoint to f2(0 where it belongs.

  CodeBlock::hasOpDebugForLineAndColumn() works by iterating over all
  the opcodes in the CodeBlock to look for op_debug's. For each op_debug,
  it calls CodeBlock::expressionRangeForBytecodeOffset() to do a binary
  seach to get the line and column info for that op_debug. This is a
  N * log(N) algorithm. However, a quick hands on test using the
  WebInspector (with this patch applied) to exercise setting, breaking
  on, and clearing breakpoints, as well as stepping through some code
  shows no noticeable degradation of the user experience compared to the
  baseline without this patch.

* bytecode/CodeBlock.h:
(JSC::CodeBlock::numBreakpoints):
(JSC::CodeBlock::numBreakpointsOffset):
(JSC::CodeBlock::addBreakpoint):
(JSC::CodeBlock::removeBreakpoint):
(JSC::CodeBlock::clearAllBreakpoints):
* debugger/Breakpoint.h:
- defined Breakpoint::unspecifiedColumn so that we can explicitly indicate
  when the WebInspector was setting a line breakpoint and did not provide
  a column value. CodeBlock::hasOpDebugForLineAndColumn() needs this
  information in order to loosen its matching criteria for op_debug
  bytecodes for the specified breakpoint line and column values provided
  by the debugger.

  Previously, we just hijack a 0 value column as an unspecified column.
  However, the WebInspector operates on 0-based ints for column values.
  Hence, 0 should be a valid column value and should not be hijacked to
  mean an unspecified column.

* debugger/Debugger.cpp:
(JSC::Debugger::Debugger):
- added tracking of the VM that the debugger is used with. This is
  needed by Debugger::breakProgram().

  The VM pointer is attained from the first JSGlobalObject that the debugger
  attaches to. When the debugger detaches from the last JSGlobalObject, it
  will nullify its VM pointer to allow a new one to be set on the next
  attach.

  We were always only using each debugger instance with one VM. This change
  makes it explicit with an assert to ensure that all globalObjects that
  the debugger attaches to beongs to the same VM.

(JSC::Debugger::attach):
(JSC::Debugger::detach):
(JSC::Debugger::setShouldPause):

(JSC::Debugger::registerCodeBlock):
(JSC::Debugger::unregisterCodeBlock):
- registerCodeBlock() is responsible for applying pre-existing breakpoints
  to new CodeBlocks being installed. Similarly, unregisterCodeBlock()
  clears the breakpoints.

(JSC::Debugger::toggleBreakpoint):
- This is the workhorse function that checks if a breakpoint falls within
  a CodeBlock or not. If it does, then it can either enable or disable
  said breakpoint in the CodeBlock. In the current implementation,
  enabling/disabling the breakpoint simply means incrementing/decrementing
  the CodeBlock's m_numBreakpoints.

(JSC::Debugger::applyBreakpoints):

(JSC::Debugger::ToggleBreakpointFunctor::ToggleBreakpointFunctor):
(JSC::Debugger::ToggleBreakpointFunctor::operator()):
(JSC::Debugger::toggleBreakpoint):
- Iterates all relevant CodeBlocks and apply the specified breakpoint
  if appropriate. This is called when a new breakpoint is being defined
  by the WebInspector and needs to be applied to an already installed
  CodeBlock.

(JSC::Debugger::setBreakpoint):
(JSC::Debugger::removeBreakpoint):
(JSC::Debugger::hasBreakpoint):
(JSC::Debugger::ClearBreakpointsFunctor::ClearBreakpointsFunctor):
(JSC::Debugger::ClearBreakpointsFunctor::operator()):
(JSC::Debugger::clearBreakpoints):

(JSC::Debugger::breakProgram):
- Fixed a regression that broke DOM breakpoints. The issue is that with
  the skipping of op_debug callbacks, we don't always have an updated
  m_currentCallFrame. Normally, m_currentCallFrame is provided as arg
  in the op_debug callback. In this case, we can get the CallFrame* from
  m_vm->topCallFrame.

(JSC::Debugger::updateCallFrameAndPauseIfNeeded):
(JSC::Debugger::pauseIfNeeded):
(JSC::Debugger::willExecuteProgram):
* debugger/Debugger.h:
(JSC::Debugger::Debugger):
(JSC::Debugger::shouldPause):

* heap/CodeBlockSet.h:
(JSC::CodeBlockSet::iterate):
* heap/Heap.h:
(JSC::Heap::forEachCodeBlock):
- Added utility to iterate all CodeBlocks in the heap / VM.

* interpreter/Interpreter.cpp:
(JSC::Interpreter::debug):

* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_debug):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_debug):
* llint/LowLevelInterpreter.asm:
- These now checks CodeBlock::m_numBreakpoints and Debugger::m_shouldPause
  instead of Debugger::m_needsOpDebugCallbacks.

* runtime/Executable.cpp:
(JSC::ScriptExecutable::installCode):

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

6 years agoSurround fixedVisibleContentRect code with USE(TILED_BACKING_STORE)
simon.fraser@apple.com [Thu, 23 Jan 2014 06:32:12 +0000 (06:32 +0000)]
Surround fixedVisibleContentRect code with USE(TILED_BACKING_STORE)
https://bugs.webkit.org/show_bug.cgi?id=127461

Source/WebCore:

Reviewed by Andreas Kling.

The "fixedVisibleContentRect" code path is only used by platforms
which enabled TILED_BACKING_STORE, so to reduce confusion, surround
this code with #if USE(TILED_BACKING_STORE).

* page/Frame.cpp:
(WebCore::Frame::createView):
* page/FrameView.cpp:
* page/FrameView.h:
* platform/ScrollView.cpp:
(WebCore::ScrollView::unscaledVisibleContentSize):
(WebCore::ScrollView::visibleContentRect):
* platform/ScrollView.h:
(WebCore::ScrollView::visibleSize):

Source/WebKit2:

Reviewed by Andreas Kling.

The "fixedVisibleContentRect" code path is only used by platforms
which enabled TILED_BACKING_STORE, so to reduce confusion, surround
this code with #if USE(TILED_BACKING_STORE).

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):

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

6 years agoVersioning.
lforschler@apple.com [Thu, 23 Jan 2014 05:08:03 +0000 (05:08 +0000)]
Versioning.

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

6 years agoAdd a minimalistic SPI to control the layout size outside of WKView
benjamin@webkit.org [Thu, 23 Jan 2014 05:04:43 +0000 (05:04 +0000)]
Add a minimalistic SPI to control the layout size outside of WKView
https://bugs.webkit.org/show_bug.cgi?id=127403

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-01-22
Reviewed by Sam Weinig.

The API lets a client of WKView force the layout size. Once the size
is set this way, default update is disabled and the client needs to
update the size systematically as needed. This is done to avoid double
layout or flickering.

* UIProcess/API/Cocoa/WKViewPrivate.h:
* UIProcess/API/ios/WKViewIOS.mm:
(-[WKView _frameOrBoundsChanged]):
(-[WKView overrideMinimumLayoutSize:]):

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

6 years agoUnreviewed EFL gardening after r162553.
jinwoo7.song@samsung.com [Thu, 23 Jan 2014 04:31:30 +0000 (04:31 +0000)]
Unreviewed EFL gardening after r162553.

* platform/efl/css1/box_properties/padding-expected.txt:
* platform/efl/css1/box_properties/padding_top-expected.txt:
* platform/efl/css1/formatting_model/vertical_formatting-expected.txt:
* platform/efl/css2.1/t080301-c411-vt-mrgn-00-b-expected.txt:
* platform/efl/css2.1/t0804-c5510-padn-00-b-ag-expected.txt:
* platform/efl/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
* platform/efl/fast/css/empty-pseudo-class-expected.txt:
* platform/efl/fast/css/fieldset-display-row-expected.txt:
* platform/efl/fast/css/first-child-pseudo-class-expected.txt:
* platform/efl/fast/css/last-child-pseudo-class-expected.txt:
* platform/efl/fast/css/only-child-pseudo-class-expected.txt:
* platform/efl/fast/repaint/reflection-redraw-expected.txt:
* platform/efl/fast/table/dynamic-caption-add-remove-before-child-expected.txt:
* platform/efl/fast/table/multiple-captions-display-expected.txt:
* platform/efl/tables/mozilla/marvin/body_col-expected.txt:
* platform/efl/tables/mozilla/marvin/x_th_valign_baseline-expected.txt:
* platform/efl/tables/mozilla/other/body_col-expected.txt:
* platform/efl/tables/mozilla_expected_failures/bugs/bug10140-expected.txt:
* platform/efl/tables/mozilla_expected_failures/bugs/bug10216-expected.txt:
* platform/efl/tables/mozilla_expected_failures/core/captions3-expected.txt:
* platform/efl/tables/mozilla_expected_failures/other/test4-expected.txt:

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

6 years agoASSERTION FAILED: v.isFixed() in WebCore::RenderStyle::setWordSpacing
mmaxfield@apple.com [Thu, 23 Jan 2014 04:24:23 +0000 (04:24 +0000)]
ASSERTION FAILED: v.isFixed() in WebCore::RenderStyle::setWordSpacing
https://bugs.webkit.org/show_bug.cgi?id=126987

Reviewed by Simon Fraser.

When "inherit" is specified and there is no parent, Length values have an "Auto" type

Source/WebCore:

Test: fast/css3-text/css3-word-spacing-percentage/word-spacing-crash.html

* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::setWordSpacing):

LayoutTests:

* fast/css3-text/css3-word-spacing-percentage/word-spacing-crash-expected.txt: Added.
* fast/css3-text/css3-word-spacing-percentage/word-spacing-crash.html: Added.

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

6 years agoAX: Can't always increment web sliders.
samuel_white@apple.com [Thu, 23 Jan 2014 04:12:53 +0000 (04:12 +0000)]
AX: Can't always increment web sliders.
https://bugs.webkit.org/show_bug.cgi?id=127451

Reviewed by Chris Fleizach.

Source/WebCore:

Clamping the decrement/increment amount to one when necessary (if a percent change would result in a change of less than one).

Test: accessibility/range-alter-by-percent.html

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::changeValueByPercent):

LayoutTests:

Adding range-alter-by-percent.html to compliment the existing range-alter-by-step.html test.

* accessibility/range-alter-by-percent-expected.txt: Added.
* accessibility/range-alter-by-percent.html: Added.

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

6 years agoFix a small issue in my recently committed ChangeLog
mrobinson@webkit.org [Thu, 23 Jan 2014 03:55:23 +0000 (03:55 +0000)]
Fix a small issue in my recently committed ChangeLog

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

6 years ago[GTK] [CMake] run-webkit-tests should support the CMake build
mrobinson@webkit.org [Thu, 23 Jan 2014 03:50:08 +0000 (03:50 +0000)]
[GTK] [CMake] run-webkit-tests should support the CMake build
https://bugs.webkit.org/show_bug.cgi?id=126503

Reviewed by Daniel Bates.

Update run-launcher and gtk.py to work properly when dealing with the CMake port.
run-webkit-tests does not need the --gtkcmake flag, but run-launcher does.

* Scripts/run-launcher: Work properly with the gtkcmake flag.
* Scripts/webkitpy/port/gtk.py:
(GtkPort._is_cmake_build): Added this helper which looks for the CMakeCache
file to detect a CMake build.
(GtkPort._built_executables_path): Added this helper to locate the built executable path.
(GtkPort._built_libraries_path): Added this helper to locate the built library path.
(GtkPort._port_flag_for_scripts): Use --gtkcmake when appropriate.
(GtkPort.setup_environ_for_server): The way CMake builds libraries differs from GTK+.
(GtkPort._path_to_driver): Use the new helper.
(GtkPort._path_to_image_diff): Use the new Helper.
(GtkPort._path_to_webcore_library): Use the new helper.
(GtkPort.build_webkit_command): Use --gtkcmake when appropriate.

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

6 years ago[EFL][WK2] defaultTextEncodingName should be stored as a member variable of EwkSettings
jinwoo7.song@samsung.com [Thu, 23 Jan 2014 03:09:37 +0000 (03:09 +0000)]
[EFL][WK2] defaultTextEncodingName should be stored as a member variable of EwkSettings
https://bugs.webkit.org/show_bug.cgi?id=127420

Reviewed by Gyuyoung Kim.

As the defaultTextEncodingName is returned as a local WKEinaSharedString variable,
the stringshared data is de-refed by eina_stringshare_del().
To maintain the reference counter, the defaultTextEncodingName should be stored
as a member variable of EwkSettings class.

* UIProcess/API/efl/ewk_settings.cpp:
(ewk_settings_encoding_detector_enabled_get): Reordering.
(ewk_settings_default_text_encoding_name_set):
(ewk_settings_default_text_encoding_name_get):
(EwkSettings::setDefaultTextEncodingName):
(EwkSettings::defaultTextEncodingName):
* UIProcess/API/efl/ewk_settings_private.h:
(EwkSettings::EwkSettings): Add m_defaultTextEncodingName and setter/getter methods.

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

6 years agoSupport WebSelections in WK2 on iOS.
enrica@apple.com [Thu, 23 Jan 2014 02:56:44 +0000 (02:56 +0000)]
Support WebSelections in WK2 on iOS.
https://bugs.webkit.org/show_bug.cgi?id=127015
<rdar://problem/15211964>

Reviewed by Benjamin Poulain.

This change adds support for text only (non block mode)
selections in non editable content.
The main changes consist in hooking up the new gesture type
and touches to handle selection creation and interaction.
It also includes changes to the way first responder is handled
which includes the implementation of the isEditable method
to allow iOS to know when to show the keyboard.

* Shared/ios/WKGestureTypes.h:
* UIProcess/API/ios/WKInteractionView.mm:
(-[WKInteractionView isEditable]):
(-[WKInteractionView canBecomeFirstResponder]):
(-[WKInteractionView webSelectionRects]):
(-[WKInteractionView _highlightLongPressRecognized:]):
(-[WKInteractionView _singleTapRecognized:]):
(-[WKInteractionView inputAccessoryView]):
(-[WKInteractionView canPerformAction:withSender:]):
(-[WKInteractionView _showDictionary:]):
(toWKGestureType):
(toUIWKGestureType):
(selectionChangedWithGesture):
(selectionChangedWithTouch):
(-[WKInteractionView selectedTextRange]):
(-[WKInteractionView webSelectionAssistant]):
(-[WKInteractionView _startAssistingNode]):
(-[WKInteractionView _stopAssistingNode]):
(-[WKInteractionView _selectionChanged]):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::selectWithGesture):
(WebKit::WebPage::updateSelectionWithTouches):

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

6 years ago[EFL] Remove unnecessary smart method since ewk_view_tiled removed
ryuan.choi@samsung.com [Thu, 23 Jan 2014 02:24:10 +0000 (02:24 +0000)]
[EFL] Remove unnecessary smart method since ewk_view_tiled removed
https://bugs.webkit.org/show_bug.cgi?id=127417

Reviewed by Gyuyoung Kim.

Source/WebKit/efl:

pre_render related codes is only for ewk_view_tiled.
In addition, we don't have any requirement to override repaints_process
and scroll_process now.

* ewk/ewk_view.cpp:
(_ewk_view_smart_repaints_process):
(_ewk_view_smart_calculate):
(ewk_view_smart_set):
(ewk_view_scrolls_process):
* ewk/ewk_view.h:

Tools:

* EWebLauncher/main.c:
(on_key_down): Removed shortcut to test pre render.

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

6 years agoWKBrowsingContextController should not be an API wrapper around WebPageProxy
andersca@apple.com [Thu, 23 Jan 2014 02:24:06 +0000 (02:24 +0000)]
WKBrowsingContextController should not be an API wrapper around WebPageProxy
https://bugs.webkit.org/show_bug.cgi?id=127454

Reviewed by Dan Bernstein.

* Shared/Cocoa/APIObject.mm:
(API::Object::newObject):
* Shared/mac/ObjCObjectGraphCoders.mm:
(WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(-[WKBrowsingContextController _initWithPageRef:]):
(+[WKBrowsingContextController _browsingContextControllerForPageRef:]):
* UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h:
* UIProcess/API/Cocoa/WKProcessGroup.mm:
(didNavigateWithNavigationData):
(didPerformClientRedirect):
(didPerformServerRedirect):
(didUpdateHistoryTitle):
* UIProcess/API/ios/WKContentView.mm:
(-[WKContentView browsingContextController]):
* UIProcess/API/mac/WKView.mm:
(-[WKView browsingContextController]):
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::platformInitialize):
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::platformInitialize):

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