WebKit-https.git
7 years ago[CSS Shapes] Add performance test for raster shape
zoltan@webkit.org [Thu, 13 Feb 2014 23:28:50 +0000 (23:28 +0000)]
[CSS Shapes] Add performance test for raster shape
https://bugs.webkit.org/show_bug.cgi?id=128746

Reviewed by Ryosuke Niwa.

This patch adds performance testing for image valued shape-outside.
The test is skipped by default for now.

* Layout/Shapes/ShapeOutsideRaster.html: Added.
* Layout/Shapes/resources/shape.gif: Added.

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

7 years ago[iOS] Disable HAVE_ARM_NEON_INTRINSICS
dbates@webkit.org [Thu, 13 Feb 2014 23:17:10 +0000 (23:17 +0000)]
[iOS] Disable HAVE_ARM_NEON_INTRINSICS

For now, disable HAVE_ARM_NEON_INTRINSICS when building for iOS. We want
to audit the applicable code before we enable this define.

* wtf/Platform.h:

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

7 years agoAdd some RELEASE_ASSERTs to catch JSLock bugs earlier
mhahnenberg@apple.com [Thu, 13 Feb 2014 23:07:12 +0000 (23:07 +0000)]
Add some RELEASE_ASSERTs to catch JSLock bugs earlier
https://bugs.webkit.org/show_bug.cgi?id=128762

Reviewed by Mark Lam.

* interpreter/Interpreter.cpp:
(JSC::Interpreter::execute):
* runtime/JSLock.cpp:
(JSC::JSLock::DropAllLocks::DropAllLocks):

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

7 years agoIDB: Three tests crash the DatabaseProcess under ~KeyedDecoder
beidson@apple.com [Thu, 13 Feb 2014 23:04:30 +0000 (23:04 +0000)]
IDB: Three tests crash the DatabaseProcess under ~KeyedDecoder
https://bugs.webkit.org/show_bug.cgi?id=128763

Reviewed by Anders Carlsson.

Source/WebCore:

No new tests (Covered by three existing tests)

* platform/KeyedCoding.h:
(WebCore::KeyedEncoder::encodeObjects): If the array is empty we still have to begin() and end() it.

LayoutTests:

* platform/mac-wk2/TestExpectations: One test passes, one passes with expectation changes,
  and the third is now a text failure.

* storage/indexeddb/key-type-array-expected.txt:

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

7 years ago[css3-text] Support -webkit-text-decoration-skip: objects
commit-queue@webkit.org [Thu, 13 Feb 2014 23:02:31 +0000 (23:02 +0000)]
[css3-text] Support -webkit-text-decoration-skip: objects
https://bugs.webkit.org/show_bug.cgi?id=128723

Patch by Yuki Sekiguchi <yuki.sekiguchi@access-company.com> on 2014-02-13
Reviewed by Dean Jackson.

Source/WebCore:

Implemented 'objects' value of text-decoration-skip.
http://www.w3.org/TR/2013/CR-css-text-decor-3-20130801/#text-decoration-skip

This is initial value and same behavior without
ENABLE_CSS3_TEXT_DECORATION_SKIP_INK flag. Threfore, this patch only
added parser code and constant for 'objects'.

Changed the initial value of text-decoration-skip.

The current implementation parses 'none', but the rendering code is
not match the spec, so this patch added FIXME to the rendering code.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::renderTextDecorationSkipFlagsToCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseTextDecorationSkip):
* css/CSSValueKeywords.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::valueToDecorationSkip):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
* rendering/style/RenderStyle.h:
* rendering/style/RenderStyleConstants.h:

LayoutTests:

Added 'objects' value to the current test case.
Added getComputedStyle() test to test renderTextDecorationSkipFlagsToCSSValue() code.

* fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip-expected.txt:
* fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip.html:

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

7 years agoFix ARM NEON build following <http://trac.webkit.org/changeset/164058>
dbates@webkit.org [Thu, 13 Feb 2014 22:59:40 +0000 (22:59 +0000)]
Fix ARM NEON build following <trac.webkit.org/changeset/164058>
(https://bugs.webkit.org/show_bug.cgi?id=128767)

I inadvertently didn't include header NEONHelpers.h, which defines WebCore::loadRGBA8AsFloat().

* platform/graphics/cpu/arm/filters/FECompositeArithmeticNEON.h:

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

7 years agoHoist and combine array bounds checks
fpizlo@apple.com [Thu, 13 Feb 2014 22:46:51 +0000 (22:46 +0000)]
Hoist and combine array bounds checks
https://bugs.webkit.org/show_bug.cgi?id=125433

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

This adds a phase for reasoning about overflow checks and array bounds checks. It's
block-local, and removes both overflow checks and bounds checks in one go.

This also improves reasoning about commutative operations, and CSE between
CheckOverflow and Unchecked arithmetic.

This strangely uncovered a DFG backend bug where we were trying to extract an int32
from a constant even when that constant was just simply a number. I fixed that bug.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGAbstractValue.cpp:
(JSC::DFG::AbstractValue::set):
* dfg/DFGArgumentsSimplificationPhase.cpp:
(JSC::DFG::ArgumentsSimplificationPhase::run):
* dfg/DFGArithMode.h:
(JSC::DFG::subsumes):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsic):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::pureCSE):
(JSC::DFG::CSEPhase::int32ToDoubleCSE):
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGEdge.cpp:
(JSC::DFG::Edge::dump):
* dfg/DFGEdge.h:
(JSC::DFG::Edge::sanitized):
(JSC::DFG::Edge::hash):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::valueOfInt32Constant):
* dfg/DFGInsertionSet.h:
(JSC::DFG::InsertionSet::insertConstant):
* dfg/DFGIntegerCheckCombiningPhase.cpp: Added.
(JSC::DFG::IntegerCheckCombiningPhase::IntegerCheckCombiningPhase):
(JSC::DFG::IntegerCheckCombiningPhase::run):
(JSC::DFG::IntegerCheckCombiningPhase::handleBlock):
(JSC::DFG::IntegerCheckCombiningPhase::rangeKeyAndAddend):
(JSC::DFG::IntegerCheckCombiningPhase::isValid):
(JSC::DFG::IntegerCheckCombiningPhase::insertAdd):
(JSC::DFG::IntegerCheckCombiningPhase::insertMustAdd):
(JSC::DFG::performIntegerCheckCombining):
* dfg/DFGIntegerCheckCombiningPhase.h: Added.
* dfg/DFGNode.h:
(JSC::DFG::Node::willHaveCodeGenOrOSR):
* dfg/DFGNodeType.h:
* dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileAdd):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):
(JSC::DFG::StrengthReductionPhase::handleCommutativity):
* dfg/DFGTypeCheckHoistingPhase.cpp:
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantStructureChecks):
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantArrayChecks):
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
* jsc.cpp:
(GlobalObject::finishCreation):
(functionFalse):
* runtime/Identifier.h:
* runtime/Intrinsic.h:
* runtime/JSObject.h:
* tests/stress/get-by-id-untyped.js: Added.
(foo):
* tests/stress/inverted-additive-subsumption.js: Added.
(foo):
* tests/stress/redundant-add-overflow-checks.js: Added.
(foo):
* tests/stress/redundant-array-bounds-checks-addition-skip-first.js: Added.
(foo):
(arraycmp):
* tests/stress/redundant-array-bounds-checks-addition.js: Added.
(foo):
(arraycmp):
* tests/stress/redundant-array-bounds-checks-unchecked-addition.js: Added.
(foo):
(arraycmp):
* tests/stress/redundant-array-bounds-checks.js: Added.
(foo):
(arraycmp):
* tests/stress/tricky-array-bounds-checks.js: Added.
(foo):
(arraycmp):

Source/WTF:

Reviewed by Mark Hahnenberg.

* GNUmakefile.list.am:
* WTF.vcxproj/WTF.vcxproj:
* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/HashMethod.h: Added.
(WTF::HashMethod::operator()):

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

7 years agoWrite FEComposite::computeArithmeticPixelsNeon() in terms of loadRGBA8AsFloat()
dbates@webkit.org [Thu, 13 Feb 2014 22:45:42 +0000 (22:45 +0000)]
Write FEComposite::computeArithmeticPixelsNeon() in terms of loadRGBA8AsFloat()
https://bugs.webkit.org/show_bug.cgi?id=128767

Reviewed by Dean Jackson.

This patch was inspired by Gabor Rapcsanyi's work in <https://bugs.webkit.org/show_bug.cgi?id=90669>.

Currently we duplicate code in FEComposite::computeArithmeticPixelsNeon() to read pixel data.
Instead we should use the convenience function WebCore::loadRGBA8AsFloat. This also resolves
an uninitialized variable compiler warning in the existing code.

* platform/graphics/cpu/arm/filters/FECompositeArithmeticNEON.h:
(WebCore::FEComposite::computeArithmeticPixelsNeon):

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

7 years agoFTL should be OK with __compact_unwind in a data section
fpizlo@apple.com [Thu, 13 Feb 2014 22:34:18 +0000 (22:34 +0000)]
FTL should be OK with __compact_unwind in a data section
https://bugs.webkit.org/show_bug.cgi?id=128756

Reviewed by Mark Hahnenberg.

* ftl/FTLCompile.cpp:
(JSC::FTL::mmAllocateCodeSection):
(JSC::FTL::mmAllocateDataSection):

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

7 years agoUnreviewed. changing my email address.
graouts@webkit.org [Thu, 13 Feb 2014 22:18:03 +0000 (22:18 +0000)]
Unreviewed. changing my email address.

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

7 years agoAttempt to fix LevelDB builds.
timothy@apple.com [Thu, 13 Feb 2014 22:13:42 +0000 (22:13 +0000)]
Attempt to fix LevelDB builds.

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

7 years agoMake WKWebViewConfigurationPrivate.h private
andersca@apple.com [Thu, 13 Feb 2014 22:13:42 +0000 (22:13 +0000)]
Make WKWebViewConfigurationPrivate.h private
https://bugs.webkit.org/show_bug.cgi?id=128761

Reviewed by Tim Horton.

* WebKit2.xcodeproj/project.pbxproj:

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

7 years agoDuring a copy, position:fixed gets converted to position:absolute even if only part...
mmaxfield@apple.com [Thu, 13 Feb 2014 21:55:29 +0000 (21:55 +0000)]
During a copy, position:fixed gets converted to position:absolute even if only part of the document is selected
https://bugs.webkit.org/show_bug.cgi?id=128688

Reviewed by Ryosuke Niwa.

Source/WebCore:

Adds a field, m_needsPositionStyleConversion, to StyledMarkupAccumulator.

Also, renames the ConvertPositionStyleOnCopy setting to ShouldConvertPositionStyleOnCopy

Test: editing/pasteboard/copy-paste-doesnt-convert-sticky-and-fixed-during-partial-copy.html

* editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator):
(WebCore::StyledMarkupAccumulator::appendElement):
(WebCore::createMarkupInternal):
* page/Settings.in:
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setShouldConvertPositionStyleOnCopy):
* testing/InternalSettings.h:
* testing/InternalSettings.idl:

Source/WebKit/mac:

Renames the ConvertPositionStyleOnCopy setting to ShouldConvertPositionStyleOnCopy

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences shouldConvertPositionStyleOnCopy]):
(-[WebPreferences setShouldConvertPositionStyleOnCopy:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit2:

Renames the ConvertPositionStyleOnCopy setting to ShouldConvertPositionStyleOnCopy

* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetShouldConvertPositionStyleOnCopy):
(WKPreferencesGetShouldConvertPositionStyleOnCopy):
* UIProcess/API/C/WKPreferencesPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

LayoutTests:

Performs a copy of the contents of a particular div, rather than the entire body. Makes sure that
no position:fixed -> position:absolute conversion occurs.

* editing/pasteboard/copy-paste-converts-sticky-and-fixed-expected.txt:
* editing/pasteboard/copy-paste-converts-sticky-and-fixed.html:
* editing/pasteboard/copy-paste-doesnt-convert-sticky-and-fixed-during-partial-copy-expected.txt: Added.
* editing/pasteboard/copy-paste-doesnt-convert-sticky-and-fixed-during-partial-copy.html: Added.

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

7 years agoWeb Inspector: DataGrid should support editing tables with arbitrary columns
bburg@apple.com [Thu, 13 Feb 2014 21:38:05 +0000 (21:38 +0000)]
Web Inspector: DataGrid should support editing tables with arbitrary columns
https://bugs.webkit.org/show_bug.cgi?id=128619

Reviewed by Timothy Hatcher.

The data grid editing code should work with any columns, but was previously
hardcoded with the column identifiers used by DOMStorageView. This patch
makes the editing code work with any column identifiers. It also fixes some
bugs in previous/next navigation during data entry.

* UserInterface/DOMStorageContentView.css: Highlight missing keys and values.
(.content-view.dom-storage > .data-grid tr.missing-value td.value-column):
(.content-view.dom-storage > .data-grid:focus tr.selected.missing-value td.value-column):

* UserInterface/DOMStorageContentView.js: Don't blow away the entire table
whenever the backend notifies us of an update to the storage object. This
caused the editing state to be destroyed when values were entered interactively.

(WebInspector.DOMStorageContentView.prototype.reset): Inline the callback
passed to DOMStorageObject.getEntries().
(WebInspector.DOMStorageContentView.prototype.itemsCleared):
(WebInspector.DOMStorageContentView.prototype.itemAdded): Request a sort
of the table rows after backend tells us about item additions or updates.

(WebInspector.DOMStorageContentView.prototype.itemUpdated): Request a sort
of the table rows after backend tells us about item additions or updates.

(WebInspector.DOMStorageContentView.prototype._sortDataGrid): Use DataGrid's
built-in sorting function.

(WebInspector.DOMStorageContentView.prototype._deleteCallback):
(WebInspector.DOMStorageContentView.prototype._editingCallback): Don't force
recreation of the entire table whenever editing finishes. Perform most
of the error checking and editing logic here, including when to insert a
new placeholder row, and when to commit the entered values to DOM storage.

* UserInterface/DOMStorageObject.js: Keep track of the DOM storage entries
in the model so we can detect duplicate entries. Remove unused `id` arguments.

(WebInspector.DOMStorageObject):
(WebInspector.DOMStorageObject.prototype.get entries):
(WebInspector.DOMStorageObject.prototype.itemsCleared):
(WebInspector.DOMStorageObject.prototype.itemRemoved):
(WebInspector.DOMStorageObject.prototype.set this):
(WebInspector.DOMStorageObject.prototype.itemAdded):
(WebInspector.DOMStorageObject.prototype.set var):
(WebInspector.DOMStorageObject.prototype.itemUpdated):

* UserInterface/DataGrid.js:
(.sortDataGrid):
(WebInspector.DataGrid.createSortableDataGrid): Use the built-in DataGrid
sortNodes() implementation.
(WebInspector.DataGrid.prototype._startEditingNodeAtColumnIndex): Renamed
from _startEditingColumnOfDataGridNode. It's easier to understand the navigation
code when presented in terms of adjusting column indexes rather than identifiers.

(WebInspector.DataGrid.prototype._startEditing):
(WebInspector.DataGrid.prototype.determineNextCell): Added. Decides which
column and row to edit next and whether the table can be sorted before the
next cell edit begins.

(WebInspector.DataGrid.prototype.moveToNextCell): Added. Wrapper method for
the above which handles sorting and beginning the next cell edit.

(WebInspector.DataGrid.prototype._editingCommitted): Use better helper methods.
(WebInspector.DataGrid.prototype._editingCancelled): Add an assert.
(WebInspector.DataGrid.prototype.get sortColumnIdentifier): Shorten.
(WebInspector.DataGrid.prototype.addPlaceholderNode):
(WebInspector.DataGrid.prototype.removeChild):
(WebInspector.DataGrid.prototype.):
(WebInspector.DataGrid.prototype.sortNodes): Remove unecessary copying
of all nodes into a separate array. Defer sorting if the user is in the
middle of editing a cell. Make placeholder nodes always sort to the bottom
regardless of the sort column identifier and sort direction.

(WebInspector.DataGridNode.prototype._attach):
(WebInspector.PlaceholderDataGridNode): Renamed from CreationDataGridNode.
(WebInspector.PlaceholderDataGridNode.prototype.makeNormal):

* UserInterface/StorageManager.js: Don't pass unused id argument.
(WebInspector.StorageManager.prototype.itemRemoved):
(WebInspector.StorageManager.prototype.itemAdded):
(WebInspector.StorageManager.prototype.itemUpdated):

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

7 years agoEnable inspection of recently used IndexedDB databases.
timothy@apple.com [Thu, 13 Feb 2014 21:37:59 +0000 (21:37 +0000)]
Enable inspection of recently used IndexedDB databases.

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

Reviewed by Brady Eidson & Joseph Pecoraro.

Source/WebCore:

* Modules/indexeddb/IDBFactory.cpp:
(WebCore::IDBFactory::getDatabaseNames):
* Modules/indexeddb/IDBFactoryBackendInterface.h:
* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
(WebCore::IDBFactoryBackendLevelDB::getDatabaseNames):
* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
Fix up the arguments passed to getDatabaseNames.

* WebCore.xcodeproj/project.pbxproj:
Make DOMStringList.h private so WebKit2 can use it.

* inspector/InspectorIndexedDBAgent.cpp:
Modernize the loops and remove some PLATFORM(COCOA) ifdefs to
compile the code.

* inspector/protocol/IndexedDB.json: Use number for version to
allow larger values instead of clamping to int.

Source/WebKit2:

* WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
(WebKit::sharedRecentDatabaseNameMap):
(WebKit::combinedSecurityOriginIdentifier):
(WebKit::WebIDBFactoryBackend::WebIDBFactoryBackend):
(WebKit::WebIDBFactoryBackend::getDatabaseNames):
(WebKit::WebIDBFactoryBackend::open):
(WebKit::WebIDBFactoryBackend::deleteDatabase):
Keep track of recently used database names per security-origin pair.
Implement getDatabaseNames to return the recently used names.

* WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
Fix up the arguments passed to getDatabaseNames.

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

7 years agoFix build.
andersca@apple.com [Thu, 13 Feb 2014 21:26:01 +0000 (21:26 +0000)]
Fix build.

* UIProcess/API/Cocoa/WKWebView.mm:
(layoutMilestones):

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

7 years agoAdd rendering progress events SPI
andersca@apple.com [Thu, 13 Feb 2014 21:14:05 +0000 (21:14 +0000)]
Add rendering progress events SPI
https://bugs.webkit.org/show_bug.cgi?id=128752

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h.
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _observedRenderingProgressEvents]):
(layoutMilestones):
(-[WKWebView _setObservedRenderingProgressEvents:]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
(NS_OPTIONS):
* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::setNavigationDelegate):
(WebKit::renderingProgressEvents):
(WebKit::NavigationState::LoaderClient::didLayout):
* WebKit2.xcodeproj/project.pbxproj:

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

7 years agoWeb Inspector: long script names should be have text-overflow:ellipsis in probe detai...
bburg@apple.com [Thu, 13 Feb 2014 20:46:48 +0000 (20:46 +0000)]
Web Inspector: long script names should be have text-overflow:ellipsis in probe details sidebar
https://bugs.webkit.org/show_bug.cgi?id=128550

Reviewed by Timothy Hatcher.

Make the link element 'display: block', place it after the floated icons,
and set the appropriate CSS overflow properties.

* UserInterface/ProbeDetailsSidebarPanel.css:
(.details-section.probe-set .options > a.go-to-link):
* UserInterface/ProbeSetDetailsSection.js:
(WebInspector.ProbeSetDetailsSection):

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

7 years agoCopying (createMarkup) wrapping text results in space between wrapped lines stripped.
commit-queue@webkit.org [Thu, 13 Feb 2014 20:45:35 +0000 (20:45 +0000)]
Copying (createMarkup) wrapping text results in space between wrapped lines stripped.
https://bugs.webkit.org/show_bug.cgi?id=63233

Source/WebCore:

The problem is StyledMarkupAccumulator uses renderedText and the space at
the end of the text has been stripped when the tag after the text was wrapped.

Patch by Chang Shu <cshu@webkit.org> on 2014-02-13
Reviewed by Ryosuke Niwa.

Test: editing/pasteboard/copy-text-with-wrapped-tag.html

* editing/TextIterator.cpp:
(WebCore::TextIterator::TextIterator):
(WebCore::TextIterator::handleTextBox):
* editing/TextIterator.h:
Check the special case when the iterator runs over a range that is followed by a non-text box.
In this case, the possible last space has been collapsed and needs to be restored.
* editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::renderedText):
Check if the range is followed by more nodes and pass this information to the constructed TextIterator.

LayoutTests:

Patch by Chang Shu <cshu@webkit.org> on 2014-02-13
Reviewed by Ryosuke Niwa.

The problem is StyledMarkupAccumulator uses renderedText and the space at
the end of the text has been stripped when the tag after the text was wrapped.

* editing/pasteboard/copy-text-with-wrapped-tag-expected.txt: Added.
* editing/pasteboard/copy-text-with-wrapped-tag.html: Added.

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

7 years agoGaps for text-decoration-skip: ink are calculated assuming the glyph orientation...
mmaxfield@apple.com [Thu, 13 Feb 2014 20:31:36 +0000 (20:31 +0000)]
Gaps for text-decoration-skip: ink are calculated assuming the glyph orientation is the same as the run orientation
https://bugs.webkit.org/show_bug.cgi?id=128718

Reviewed by Darin Adler.

Source/WebCore:

This is a stop-gap patch to make underlines in CJK text not look terrible. A long-term fix is to refactor
showGlyphsWithAdvances to move rotation logic into a common place that the text-decoration-skip: ink code
can use.

Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-orientation-upright.html

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):

LayoutTests:

This test draws text that has descenders that would be skipped over if the glyph orientation was the same
as the run orientation. However, it uses text-orientation: upright to make those two orientations not equal.
It then compares this to no skipping at all.

* fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-orientation-upright-expected.html: Added.
* fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-orientation-upright.html: Added.

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

7 years ago[Mac] Add a WebKit1 SPI to get WebCrypto master key from a client
ap@apple.com [Thu, 13 Feb 2014 19:32:32 +0000 (19:32 +0000)]
[Mac] Add a WebKit1 SPI to get WebCrypto master key from a client
https://bugs.webkit.org/show_bug.cgi?id=128725

Reviewed by Anders Carlsson.

Source/WebKit/mac:

* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::wrapCryptoKey):
(WebChromeClient::unwrapCryptoKey):
* WebView/WebUIDelegatePrivate.h:
Looks like UIDelegate is the closest we have to a reasonable place.

Tools:

* DumpRenderTree/mac/UIDelegate.mm: (-[UIDelegate webCryptoMasterKeyForWebView:]):
Use the SPI to specify a key.

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

7 years agoIDB: TestExpectations cleanup
beidson@apple.com [Thu, 13 Feb 2014 18:56:16 +0000 (18:56 +0000)]
IDB: TestExpectations cleanup

Unreviewed.

* platform/mac-wk2/TestExpectations: More tests pass than fail, so only list failures.

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

7 years agoIDB: TestExpectations batch - HTTP tests
beidson@apple.com [Thu, 13 Feb 2014 18:52:26 +0000 (18:52 +0000)]
IDB: TestExpectations batch - HTTP tests

Unreviewed.

* http/tests/security/cross-origin-indexeddb-allowed-expected.txt:
* http/tests/security/cross-origin-indexeddb-expected.txt:
* http/tests/security/resources/cross-origin-iframe-for-indexeddb.html:

* platform/mac-wk2/TestExpectations: Two of the http tests are worker tests. They remain skipped.
  The other three pass with test updates.

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

7 years agoCStack Branch: VM::currentReturnThunkPC appears to be unused and should be removed
msaboff@apple.com [Thu, 13 Feb 2014 18:45:09 +0000 (18:45 +0000)]
CStack Branch: VM::currentReturnThunkPC appears to be unused and should be removed
https://bugs.webkit.org/show_bug.cgi?id=127205

Reviewed by Geoffrey Garen.

Removed ununsed references to VM::currentReturnThunkPC.

* jit/ThunkGenerators.cpp:
(JSC::arityFixup):
* runtime/VM.h:

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

7 years agoInsertIntoTextNodeCommand should get Settings from the Frame.
akling@apple.com [Thu, 13 Feb 2014 18:39:13 +0000 (18:39 +0000)]
InsertIntoTextNodeCommand should get Settings from the Frame.
<https://webkit.org/b/128678>

EditCommands have a frame() accessor that returns a reference,
so there's no need to go through Document.

Reviewed by Anders Carlsson.

* editing/InsertIntoTextNodeCommand.cpp:
(WebCore::InsertIntoTextNodeCommand::doApply):

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

7 years agoiOS build fix.
mitz@apple.com [Thu, 13 Feb 2014 18:36:11 +0000 (18:36 +0000)]
iOS build fix.

* WebView/WebView.mm:
(+[WebView registerForMemoryNotifications]):

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

7 years agoDocument should be constructable
commit-queue@webkit.org [Thu, 13 Feb 2014 18:31:45 +0000 (18:31 +0000)]
Document should be constructable
https://bugs.webkit.org/show_bug.cgi?id=115643

Patch by László Langó <llango.u-szeged@partner.samsung.com> on 2014-02-13
Reviewed by Darin Adler.

Source/WebCore:

http://www.w3.org/TR/2014/WD-dom-20140204/#interface-document
Make Document constructable so that one can do "new Document"
instead of "document.implementation.createHTMLDocument('')".

Test: fast/dom/Document/document-constructor.html

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

LayoutTests:

* fast/dom/Document/document-constructor-expected.txt: Added.
* fast/dom/Document/document-constructor.html: Added.
* fast/dom/dom-constructors-expected.txt:
* fast/dom/dom-constructors.html:

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

7 years ago[CSS Grid Layout] Rename named areas property
commit-queue@webkit.org [Thu, 13 Feb 2014 18:07:05 +0000 (18:07 +0000)]
[CSS Grid Layout] Rename named areas property
https://bugs.webkit.org/show_bug.cgi?id=127990

Patch by Javier Fernandez <jfernandez@igalia.com> on 2014-02-13
Reviewed by Sergio Villar Senin.

From Blink r165891 by <rego@igalia.com>

The property 'grid-template' has been renamed to 'grid-template-areas'
in the last two versions of the spec.

Source/WebCore:

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSGridTemplateAreasValue.cpp: Renamed from Source/WebCore/css/CSSGridTemplateValue.cpp.
(WebCore::CSSGridTemplateAreasValue::CSSGridTemplateAreasValue):
(WebCore::stringForPosition):
(WebCore::CSSGridTemplateAreasValue::customCSSText):
* css/CSSGridTemplateAreasValue.h: Renamed from Source/WebCore/css/CSSGridTemplateValue.h.
(WebCore::CSSGridTemplateAreasValue::create):
(WebCore::CSSGridTemplateAreasValue::~CSSGridTemplateAreasValue):
(WebCore::CSSGridTemplateAreasValue::gridAreaMap):
(WebCore::CSSGridTemplateAreasValue::rowCount):
(WebCore::CSSGridTemplateAreasValue::columnCount):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseGridTemplateAreas):
* css/CSSParser.h:
* css/CSSPropertyNames.in:
* css/CSSValue.cpp:
(WebCore::CSSValue::equals):
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):
* css/CSSValue.h:
(WebCore::CSSValue::isGridTemplateAreasValue):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):

Source/WebInspectorUI:

* Tools/PrettyPrinting/css.js:
* UserInterface/External/CodeMirror/css.js:

LayoutTests:

* fast/css-grid-layout/grid-item-area-get-set.html:
* fast/css-grid-layout/grid-item-column-row-get-set.html:
* fast/css-grid-layout/grid-item-end-after-get-set.html:
* fast/css-grid-layout/grid-item-named-grid-area-resolution.html:
* fast/css-grid-layout/grid-item-start-before-get-set.html:
* fast/css-grid-layout/grid-template-get-set-expected.txt:
* fast/css-grid-layout/grid-template-get-set.html:

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

7 years agoRemove the last remnants of Maemo support
commit-queue@webkit.org [Thu, 13 Feb 2014 18:06:12 +0000 (18:06 +0000)]
Remove the last remnants of Maemo support
https://bugs.webkit.org/show_bug.cgi?id=85238

Patch by Adrian Bunk <bunk@stusta.de> on 2014-02-13
Reviewed by Ryosuke Niwa.

* plugins/npapi.h:

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

7 years agoIDB: TestExpectations batch - "transaction-abort.html to versionchangerequest-actived...
beidson@apple.com [Thu, 13 Feb 2014 18:05:11 +0000 (18:05 +0000)]
IDB: TestExpectations batch - "transaction-abort.html to versionchangerequest-activedomobject.html”

Unreviewed.

* platform/mac-wk2/TestExpectations:
* storage/indexeddb/transaction-active-flag-expected.txt:
* storage/indexeddb/transaction-after-close-expected.txt:
* storage/indexeddb/transaction-read-only-expected.txt:
* storage/indexeddb/transaction-storeNames-required-expected.txt:
* storage/indexeddb/version-change-abort-expected.txt:
* storage/indexeddb/version-change-exclusive-expected.txt:

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

7 years agoCode cleanup: remove gcc<4.7 guards.
commit-queue@webkit.org [Thu, 13 Feb 2014 18:00:47 +0000 (18:00 +0000)]
Code cleanup: remove gcc<4.7 guards.
https://bugs.webkit.org/show_bug.cgi?id=128729

Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2014-02-13
Reviewed by Anders Carlsson.

Remove GCC_VERSION_AT_LEAST guards when it checks for pre-4.7 versions,
as WK does not compile with earlier gcc versions.

Source/JavaScriptCore:

* assembler/MIPSAssembler.h:
(JSC::MIPSAssembler::cacheFlush):
* interpreter/StackVisitor.cpp:
(JSC::printif):

Source/WTF:

* wtf/Assertions.cpp:
* wtf/Platform.h:

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

7 years agoDisable XPC for plug-ins that need executable heap
andersca@apple.com [Thu, 13 Feb 2014 17:30:18 +0000 (17:30 +0000)]
Disable XPC for plug-ins that need executable heap
https://bugs.webkit.org/show_bug.cgi?id=128744
<rdar://problem/15962958>

Reviewed by Dan Bernstein.

When switching to XPC for plug-ins, we accidentally broke the "feature"
where plug-ins can ask for the heap to be executable.

This breaks Silverlight, so just disable XPC for any plug-ins that need this.
<rdar://problem/16059483> tracks fixing this in the XPC service.

* UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
(WebKit::PluginProcessProxy::pluginNeedsExecutableHeap):
Only return true for 32-bit plug-ins, since we don't know any 64-bit plug-ins
that require this feature.

(WebKit::PluginProcessProxy::platformGetLaunchOptions):
Set launchOptions.useXPC to false if launchOptions.executableHeap is true.

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

7 years agoREGRESSION: fast/workers/use-machine-stack.html hits Heap::isMarked(cell) assertion
ap@apple.com [Thu, 13 Feb 2014 17:24:32 +0000 (17:24 +0000)]
REGRESSION: fast/workers/use-machine-stack.html hits Heap::isMarked(cell) assertion
https://bugs.webkit.org/show_bug.cgi?id=128745

* TestExpectations: Marked as flakily asserting.

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

7 years ago[EFL] Add or remove expectations for some media layout tests
commit-queue@webkit.org [Thu, 13 Feb 2014 16:22:42 +0000 (16:22 +0000)]
[EFL] Add or remove expectations for some media layout tests
https://bugs.webkit.org/show_bug.cgi?id=128535

Unreviewed EFL layout tests gardening

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2014-02-13

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

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

7 years ago[EFL][WK1] Do not include libsoup header in the public headers
ryuan.choi@samsung.com [Thu, 13 Feb 2014 13:25:27 +0000 (13:25 +0000)]
[EFL][WK1] Do not include libsoup header in the public headers
https://bugs.webkit.org/show_bug.cgi?id=128701

Reviewed by Gyuyoung Kim.

Although ewebkit used libsoup internally, it's not good for EFL developers
to use it.
Instead, we should provide some wrapper APIs like ewk_network_proxy_uri_set
for future changes.

* ewk/ewk_network.cpp: Removed soup related header,APIs and comments.
(ewk_network_tls_ca_certificates_path_set):
* ewk/ewk_network.h: Ditto.
* ewk/ewk_view.cpp: Ditto.
* ewk/ewk_view.h: Ditto.

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

7 years agoUnreviewed GTK gardening.
changseok.oh@collabora.com [Thu, 13 Feb 2014 13:20:20 +0000 (13:20 +0000)]
Unreviewed GTK gardening.

Removed unexpected pass tests from TextExpections

* platform/gtk-wk2/TestExpectations:
* platform/gtk/TestExpectations:

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

7 years agoSupport ANGLE_instanced_arrays for GLES backend.
changseok.oh@collabora.com [Thu, 13 Feb 2014 12:58:54 +0000 (12:58 +0000)]
Support ANGLE_instanced_arrays for GLES backend.
https://bugs.webkit.org/show_bug.cgi?id=128579

Reviewed by Dean Jackson.

Add some APIs to Extensions3D to support ANGLE_instanced_arrays for GLES backend.
At the same time, drawArraysInstanced, drawElementsInstanced and vertexAttribDivisor
are moved from GC3DOpenGL.cpp to GC3DOpenGLCommon.cpp since they could be shareable
through Extensions3D.

Covered by fast/canvas/webgl/angle-instanced-arrays.html

* platform/graphics/Extensions3D.h:
* platform/graphics/opengl/Extensions3DOpenGL.cpp:
(WebCore::Extensions3DOpenGL::drawArraysInstanced):
(WebCore::Extensions3DOpenGL::drawElementsInstanced):
(WebCore::Extensions3DOpenGL::vertexAttribDivisor):
* platform/graphics/opengl/Extensions3DOpenGL.h:
* platform/graphics/opengl/Extensions3DOpenGLES.cpp:
(WebCore::Extensions3DOpenGLES::Extensions3DOpenGLES):
(WebCore::Extensions3DOpenGLES::drawArraysInstanced):
(WebCore::Extensions3DOpenGLES::drawElementsInstanced):
(WebCore::Extensions3DOpenGLES::vertexAttribDivisor):
(WebCore::Extensions3DOpenGLES::supportsExtension):
* platform/graphics/opengl/Extensions3DOpenGLES.h:
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::drawArraysInstanced):
(WebCore::GraphicsContext3D::drawElementsInstanced):
(WebCore::GraphicsContext3D::vertexAttribDivisor):
* platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:

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

7 years agoUnreviewed EFL gardening
m.pakula@samsung.com [Thu, 13 Feb 2014 12:35:44 +0000 (12:35 +0000)]
Unreviewed EFL gardening

Add test expectations for failing tests.

* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:
* platform/efl/mathml/presentation/mspace-children-expected.txt: Added EFL expectation after r163626.

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

7 years ago[GTK] MEDIA_CONTROLS_SCRIPT support
calvaris@igalia.com [Thu, 13 Feb 2014 11:28:34 +0000 (11:28 +0000)]
[GTK] MEDIA_CONTROLS_SCRIPT support
https://bugs.webkit.org/show_bug.cgi?id=123097

Reviewed by Jer Noble.

.:

Part of the Autotools and CMake structure to build the media
controls script.

* Source/autotools/SetupWebKitFeatures.m4: Activated the media
controls script by default.
* Source/cmake/OptionsGTK.cmake: Activated the media controls
script by default.
* Source/cmake/WebKitFeatures.cmake: Created the option to
activate the controls script.
* Source/cmakeconfig.h.cmake: Created the define template the the
media controls script.

Source/WebCore:

WebKitGTK+ multimedia controls are now managed from Javascript
code. Apple controls are kept as common code and GTK+ ones are
subclassed for the specific behavior.

Both CMake and Autotools build support is provided.

* CMakeLists.txt: Added support to build the media controls
script and their associated files.
* GNUmakefile.am: Added support to generate the C++ code from the
Javascript.
* GNUmakefile.list.am: Added the media controls script associated
files.
* Modules/mediacontrols/MediaControlsHost.cpp:
* Modules/mediacontrols/MediaControlsHost.h:
* Modules/mediacontrols/MediaControlsHost.idl:
(WebCore::MediaControlsHost::supportsFullscreen): Added attribute
to know if the element supports fullscreen.
* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.handleWrapperMouseMove):
(Controller.prototype.handleWrapperMouseOut):
(Controller.prototype.updatePlaying): Use clear and
resetHideControlsTimer.
(Controller.prototype.clearHideControlsTimer): Added.
(Controller.prototype.resetHideControlsTimer): Added.
* Modules/mediacontrols/mediaControlsGtk.js: Added.
(createControls): Calls ControllerGtk.
(ControllerGtk): Calls the superclass.
(contains): Defines a function to know if an object is contained
in an array.
(ControllerGtk.prototype.inheritFrom): Copies the method of the
superclass that are not reimplemented in the subclass.
(ControllerGtk.prototype.createControls): Calls the superclass and
create the remaining needed elements.
(ControllerGtk.prototype.configureInlineControls): Configures the
controls.
(ControllerGtk.prototype.setStatusHidden): Redefined empty.
(ControllerGtk.prototype.updateTime): Writes the duration and
current position. As it was so far, current time also includes
duration. If current time is bigger than 0 we show that.
(ControllerGtk.prototype.showCurrentTime): Shows current time and
hides duration label (that is included in current time).
(ControllerGtk.prototype.handlePlay): Calls the superclass and
force showing the current time.
(ControllerGtk.prototype.handleTimeUpdate): Always update the
time.
(ControllerGtk.prototype.handleMuteButtonMouseOver): Shows the
volume slider.
(ControllerGtk.prototype.handleVolumeBoxMouseOut): Hides the
volume slider.
(ControllerGtk.prototype.addControls): Adds the enclosure instead
of the panel directly. Panel is, of course, part of the enclosure.
(ControllerGtk.prototype.updateReadyState): Shows the fullscreen
button only if fullscreen is supported. Sets the volume in up or
down mode depending on its position in the document. Updates the
volume.
(ControllerGtk.prototype.setControlsType): Creates the controls it
they were not created before. Unlike Apple ones, WebKitGTK+
fullscreen and inline controls are the same.
(ControllerGtk.prototype.updatePlaying): Calls the superclass and
shows the controls if not playing.
(ControllerGtk.prototype.handleCaptionButtonClicked): Redefined
empty. To be coherent with volume, that also shows a popup, this
is handled with mouseover instead of click.
(ControllerGtk.prototype.buildCaptionMenu): Calls the superclass
to build the menu, sets some listeners, centers the popup with the
captions button, keeps the current height and sets the style to 0,
which is needed to animate it.
(ControllerGtk.prototype.destroyCaptionMenu): Hides the caption menu.
(ControllerGtk.prototype.showCaptionMenu): Resets the height to
its original. We don't animate it with CSS because we would need
to specify a height in the style and we don't know it in advance.
(ControllerGtk.prototype.hideCaptionMenu): Sets height to 0.
(ControllerGtk.prototype.captionMenuTransitionEnd): When the
captions menu transtition ends, it is destroyed.
(ControllerGtk.prototype.handleCaptionButtonMouseOver): Creates
the caption menu and shows it.
(ControllerGtk.prototype.handleCaptionButtonMouseOut): Hides the
captions menu.
(ControllerGtk.prototype.handleCaptionMouseOut): Hides the
captions menu.
* PlatformGTK.cmake: Added WebCore to the target link libraries
and initialized the variables needed at CMakelists.txt
* css/mediaControlsGtk.css:
(audio::-webkit-media-controls-panel)
(video::-webkit-media-controls-panel): Added transtion based on opacity.
(video::-webkit-media-controls-panel): Set video opacity to 0.
(video::-webkit-media-controls-panel.paused): Set video opacity to 1.
(audio::-webkit-media-controls-panel div.mute-box): Set the same
style as the mute button to preserve the layout.
(audio::-webkit-media-controls-panel div.mute-box.hidden): Sets
the display to none.
(audio::-webkit-media-controls-mute-button)
(video::-webkit-media-controls-mute-button): Removed the outline
and the margin that is managed by the mute box now.
(audio::-webkit-media-controls-play-button)
(video::-webkit-media-controls-play-button): Removed the outline.
(audio::-webkit-media-controls-time-remaining-display)
(video::-webkit-media-controls-time-remaining-display): Removed
the display.
(audio::-webkit-media-controls-current-time-display)
(video::-webkit-media-controls-current-time-display): Added the
display block.
(video::-webkit-media-controls-time-remaining-display): Set
display none.
(video::-webkit-media-controls-time-remaining-display.show): Set
display block.
(video::-webkit-media-controls-time-remaining-display.hidden): Set
display none.
(audio::-webkit-media-controls-timeline)
(video::-webkit-media-controls-timeline): Removed outline.
(audio::-webkit-media-controls-volume-slider-container)
(video::-webkit-media-controls-volume-slider-container): Set
overflow hidden and set a transition by height.
(video::-webkit-media-controls-volume-slider-container.hidden):
Set height 0.
(video::-webkit-media-controls-volume-slider-container.down): Set
bottom to be below the panel. Changed the border radius and
transition accordingly.
(video::-webkit-media-controls-panel .hidden.down): Sets default
bottom as 0.
(audio::-webkit-media-controls-volume-slider)
(video::-webkit-media-controls-volume-slider): Removed the outline.
(audio::-webkit-media-controls-toggle-closed-captions-button)
(video::-webkit-media-controls-toggle-closed-captions-button):
Removed the background that is painted from C++ and removed the
outline.
(video::-webkit-media-controls-closed-captions-container):
(video::-webkit-media-controls-closed-captions-container h3):
(video::-webkit-media-controls-closed-captions-container ul):
(video::-webkit-media-controls-closed-captions-container li):
(video::-webkit-media-controls-closed-captions-container li.selected): Changed
the style to make it more coherent with the rest of the controls.
(audio::-webkit-media-controls-fullscreen-button)
(video::-webkit-media-controls-fullscreen-button): Removed the outline.
(audio::-webkit-media-controls-panel button.hidden): Sets the
display to none.
* html/HTMLMediaElement.cpp: UserAgentScripts.h is not needed here
and build cmake build would need for changes to get this compiled.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::nodeHasPseudo): Added. Checks if a node has a certain
pseudo.
(WebCore::nodeHasClass): Added. Checks if a node has a certain
class.
(WebCore::supportsFocus): Removed some element types as outline is
now handled in CSS.
(WebCore::RenderThemeGtk::paintMediaPlayButton): Checks if the
play button has the class paused to show the play icon instead of
the pause one.
(WebCore::RenderThemeGtk::paintMediaToggleClosedCaptionsButton):
Added. Paints the captions icon.
(WebCore::RenderThemeGtk::mediaControlsScript): Added. Loads the
bundled scripts.
* platform/gtk/RenderThemeGtk.h: Added the mediaControlsScript
method and declared the redefinition of the method to play the
captions icon.

LayoutTests:

Tests infrastructure for the media controls script.

* media/click-volume-bar-not-pausing.html:
* media/media-volume-slider-rendered-normal.html:
* media/video-controls-captions-trackmenu-hide-on-click-outside.html:
* media/video-volume-slider.html: Fixed.
* platform/gtk-wk2/TestExpectations: Tests flagged.
* platform/gtk/TestExpectations: Changed tests flags.
* platform/gtk/accessibility/media-element-expected.txt:
* platform/gtk/fast/hidpi/video-controls-in-hidpi-expected.txt:
* platform/gtk/fast/layers/video-layer-expected.txt: Rebaseline.
* platform/gtk/fullscreen/video-controls-override-expected.txt: Added.
* platform/gtk/http/tests/media/video-buffered-range-contains-currentTime-expected.png:
* platform/gtk/media/audio-controls-rendering-expected.png:
* platform/gtk/media/audio-controls-rendering-expected.txt:
* platform/gtk/media/audio-repaint-expected.txt:
* platform/gtk/media/controls-after-reload-expected.png:
* platform/gtk/media/controls-after-reload-expected.txt:
* platform/gtk/media/controls-strict-expected.png:
* platform/gtk/media/controls-strict-expected.txt:
* platform/gtk/media/controls-styling-strict-expected.png:
* platform/gtk/media/controls-styling-strict-expected.txt:
* platform/gtk/media/controls-without-preload-expected.png:
* platform/gtk/media/controls-without-preload-expected.txt:
* platform/gtk/media/video-controls-rendering-expected.png:
* platform/gtk/media/video-controls-rendering-expected.txt:
* platform/gtk/media/video-display-toggle-expected.png:
* platform/gtk/media/video-display-toggle-expected.txt:
* platform/gtk/media/video-empty-source-expected.txt:
* platform/gtk/media/video-no-audio-expected.png:
* platform/gtk/media/video-no-audio-expected.txt:
* platform/gtk/media/video-volume-slider-expected.png:
* platform/gtk/media/video-volume-slider-expected.txt:
* platform/gtk/media/video-zoom-controls-expected.png:
* platform/gtk/media/video-zoom-controls-expected.txt:
Rebaseline.

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

7 years agoUnreviewed. Moved myself to the list of reviewers.
svillar@igalia.com [Thu, 13 Feb 2014 08:42:21 +0000 (08:42 +0000)]
Unreviewed. Moved myself to the list of reviewers.

* Scripts/webkitpy/common/config/contributors.json:

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

7 years agoVersioning.
bshafiei@apple.com [Thu, 13 Feb 2014 08:39:06 +0000 (08:39 +0000)]
Versioning.

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

7 years agoSpeculative build fix after r163998.
timothy_horton@apple.com [Thu, 13 Feb 2014 08:36:55 +0000 (08:36 +0000)]
Speculative build fix after r163998.

* DumpRenderTree/ios/PerlSupport/Makefile:

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

7 years agoIDB: TestExpectations batch - "odd-strings.html to structured-clone.html”
beidson@apple.com [Thu, 13 Feb 2014 06:52:27 +0000 (06:52 +0000)]
IDB: TestExpectations batch - "odd-strings.html to structured-clone.html”

Unreviewed.

* platform/mac-wk2/TestExpectations:
* storage/indexeddb/open-cursor-expected.txt:
* storage/indexeddb/removed-expected.txt:
* storage/indexeddb/request-result-cache-expected.txt:

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

7 years agoNo need to save reservedZoneSize when dropping the JSLock.
mark.lam@apple.com [Thu, 13 Feb 2014 06:50:09 +0000 (06:50 +0000)]
No need to save reservedZoneSize when dropping the JSLock.
<https://webkit.org/b/128719>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

The reservedZoneSize does not change due to the VM being run on a different
thread. Hence, there is no need to save and restore its value. Instead of
calling updateReservedZoneSize() to update the stack limit, we now call
setStackPointerAtVMEntry() to do the job. setStackPointerAtVMEntry()
will update the stackPointerAtVMEntry and delegate to updateStackLimit() to
update the stack limit based on the new stackPointerAtVMEntry.

* runtime/ErrorHandlingScope.cpp:
(JSC::ErrorHandlingScope::ErrorHandlingScope):
(JSC::ErrorHandlingScope::~ErrorHandlingScope):
- Previously, we initialize stackPointerAtVMEntry in VMEntryScope. This
  means that the stackPointerAtVMEntry may not be initialize when we
  instantiate the ErrorHandlingScope. And so, we needed to initialize the
  stackPointerAtVMEntry in the ErrorHandlingScope constructor if it's not
  already initialized.

  Now that we initialize the stackPointerAtVMEntry when we lock the VM JSLock,
  we are guaranteed that it will be initialized by the time we instantiate
  the ErrorHandlingScope. Hence, we can change the ErrorHandlingScope code
  to just assert that the stackPointerAtVMEntry is initialized instead.

* runtime/InitializeThreading.cpp:
(JSC::initializeThreading):
- We no longer need to save the reservedZoneSize. Remove the related code.

* runtime/JSLock.cpp:
(JSC::JSLock::lock):
- When we grab the JSLock mutex for the first time, there is no reason why
  the stackPointerAtVMEntry should be initialized. By definition, grabbing
  the lock for the first time equates to entering the VM for the first time.
  Hence, we can just assert that stackPointerAtVMEntry is uninitialized,
  and initialize it unconditionally.

  The only exception to this is if we're locking to regrab the JSLock in
  grabAllLocks(), but grabAllLocks() will take care of restoring the
  stackPointerAtVMEntry in that case after lock() returns. stackPointerAtVMEntry
  should still be 0 when we've just locked the JSLock. So, the above assertion
  always holds true.

  Note: VM::setStackPointerAtVMEntry() will take care of calling
  VM::updateStackLimit() based on the new stackPointerAtVMEntry.

- There is no need to save the reservedZoneSize. The reservedZoneSize is
  set to Options::reservedZoneSize() when the VM is initialized. Thereafter,
  the ErrorHandlingScope will change it to Options::errorModeReservedZoneSize()
  when we're handling an error, and it will restore it afterwards. There is
  no other reason we should be changing the reservedZoneSize. Hence, we can
  remove the unnecessary code to save it here.

(JSC::JSLock::unlock):
- Similarly, when the lockCount reaches 0 in unlock(), it is synonymous with
  exiting the VM. Hence, we should just clear the stackPointerAtVMEntry and
  update the stackLimit. Exiting the VM should have no effect on the VM
  reservedZoneSize. Hence, we can remove the unnecessary code to "restore" it.

(JSC::JSLock::dropAllLocks):
- When dropping locks, we do not need to save the reservedZoneSize because
  the reservedZoneSize should remain the same regardless of which thread
  we are executing JS on. Hence, we can remove the unnecessary code to save
  the reservedZoneSize here.

(JSC::JSLock::grabAllLocks):
- When re-grabbing locks, restoring the stackPointerAtVMEntry via
  VM::setStackPointerAtVMEntry() will take care of updating the stack limit.
  As explained above, there's no need to save the reservedZoneSize. Hence,
  there's no need to "restore" it here.

* runtime/VM.cpp:
(JSC::VM::VM):
(JSC::VM::setStackPointerAtVMEntry):
- Sets the stackPointerAtVMEntry and delegates to updateStackLimit() to update
  the stack limit based on the new stackPointerAtVMEntry.
(JSC::VM::updateStackLimit):
* runtime/VM.h:
(JSC::VM::stackPointerAtVMEntry):
- Renamed stackPointerAtVMEntry to m_stackPointerAtVMEntry and made it private.
  Added a stackPointerAtVMEntry() function to read the value.

Source/WTF:

* wtf/WTFThreadData.cpp:
(WTF::WTFThreadData::WTFThreadData):
* wtf/WTFThreadData.h:
- removed unnneeded m_savedReservedZoneSize.

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

7 years agoAnother Windows test expectations update.
rniwa@webkit.org [Thu, 13 Feb 2014 06:40:35 +0000 (06:40 +0000)]
Another Windows test expectations update.

* platform/win/TestExpectations:

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

7 years agoIDB: TestExpectations batch - "key-generator.html to objectStore-required-arguments...
beidson@apple.com [Thu, 13 Feb 2014 06:31:26 +0000 (06:31 +0000)]
IDB: TestExpectations batch - "key-generator.html to objectStore-required-arguments.html"

Unreviewed.

* platform/mac-wk2/TestExpectations:
* storage/indexeddb/keypath-arrays-expected.txt:
* storage/indexeddb/keypath-basics-expected.txt:
* storage/indexeddb/keypath-edges-expected.txt:
* storage/indexeddb/keyrange-expected.txt:
* storage/indexeddb/keyrange-required-arguments-expected.txt:
* storage/indexeddb/object-lookups-in-versionchange-expected.txt:
* storage/indexeddb/objectStore-required-arguments-expected.txt:
* storage/indexeddb/objectstore-count-expected.txt:
* storage/indexeddb/objectstore-cursor-expected.txt:

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

7 years agoReturn immediately from DestroyPlugin IPC call
antti@apple.com [Thu, 13 Feb 2014 06:04:36 +0000 (06:04 +0000)]
Return immediately from DestroyPlugin IPC call
https://bugs.webkit.org/show_bug.cgi?id=128712

Reviewed by Anders Carlsson.

In some cases we spend a lot of time waiting for synchronous IPC for plugin termination to complete. Reduce
the delay by returning from IPC immediately when the plugin process receives it. Just using asynchrounous
IPC might introduce undesirable arbitrary delay between the IPC call returning and the destruction actually
starting.

* PluginProcess/WebProcessConnection.cpp:
(WebKit::WebProcessConnection::destroyPlugin):
* PluginProcess/WebProcessConnection.h:
* PluginProcess/WebProcessConnection.messages.in:

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

7 years agoIDB: TestExpectations batch - "error-causes-abort-by-default.html to invalid-keys...
beidson@apple.com [Thu, 13 Feb 2014 05:52:35 +0000 (05:52 +0000)]
IDB: TestExpectations batch - "error-causes-abort-by-default.html to invalid-keys.html"

Unreviewed.

* platform/mac-wk2/TestExpectations:
* storage/indexeddb/exception-in-event-aborts-expected.txt:
* storage/indexeddb/index-count-expected.txt:
* storage/indexeddb/index-get-key-argument-required-expected.txt:
* storage/indexeddb/intversion-bad-parameters-expected.txt:
* storage/indexeddb/intversion-close-in-oncomplete-expected.txt:
* storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt:
* storage/indexeddb/invalid-keys-expected.txt:

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

7 years agoUpdate test expectations for Windows.
rniwa@webkit.org [Thu, 13 Feb 2014 05:39:07 +0000 (05:39 +0000)]
Update test expectations for Windows.

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

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

7 years agoIDB: TestExpectations batch - "data-corruption.html to duplicates.html"
beidson@apple.com [Thu, 13 Feb 2014 05:29:44 +0000 (05:29 +0000)]
IDB: TestExpectations batch - "data-corruption.html to duplicates.html"
https://bugs.webkit.org/show_bug.cgi?id=128711

Reviewed by Alexey Proskuryakov.

* platform/mac-wk2/TestExpectations:
* storage/indexeddb/database-basics-expected.txt:
* storage/indexeddb/database-name-undefined-expected.txt:
* storage/indexeddb/deleteIndex-bug110792-expected.txt:
* storage/indexeddb/deleteObjectStore-name-argument-required-expected.txt:

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

7 years agoIDB: TestExpectations batch - "cursor-added-bug.html to cursor-value.html"
beidson@apple.com [Thu, 13 Feb 2014 04:47:25 +0000 (04:47 +0000)]
IDB: TestExpectations batch - "cursor-added-bug.html to cursor-value.html"
https://bugs.webkit.org/show_bug.cgi?id=128706

Reviewed by Alexey Proskuryakov.

* platform/mac-wk2/TestExpectations:
* storage/indexeddb/cursor-continue-dir-expected.txt:
* storage/indexeddb/cursor-continue-expected.txt:
* storage/indexeddb/cursor-finished-expected.txt:
* storage/indexeddb/cursor-update-value-argument-required-expected.txt:

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

7 years agoPass the related page in the WebPageConfiguration struct
andersca@apple.com [Thu, 13 Feb 2014 04:43:24 +0000 (04:43 +0000)]
Pass the related page in the WebPageConfiguration struct
https://bugs.webkit.org/show_bug.cgi?id=128714

Reviewed by Darin Adler.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
* UIProcess/API/ios/WKContentView.h:
* UIProcess/API/ios/WKContentView.mm:
(-[WKContentView initWithFrame:context:WebKit::configuration:WebKit::]):

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

7 years agoDelayedReleaseScope in MarkedAllocator::tryAllocateHelper is wrong
mhahnenberg@apple.com [Thu, 13 Feb 2014 04:24:41 +0000 (04:24 +0000)]
DelayedReleaseScope in MarkedAllocator::tryAllocateHelper is wrong
https://bugs.webkit.org/show_bug.cgi?id=128641

Reviewed by Michael Saboff.

We were improperly handling the case where the DelayedReleaseScope
in tryAllocateHelper would cause us to drop the API lock, allowing
another thread to sneak in and allocate a new block after we had already
concluded that there were no more blocks to allocate out of.

The fix is to call tryAllocateHelper in a loop until we know for sure
that this did not happen.

There was also a race condition with the DelayedReleaseScope in addBlock.
We would add the block to the MarkedBlock's list, sweep it, and then return,
causing us to drop the API lock momentarily. Another thread could then
grab the lock, and allocate out of the new block to the point where the
free list was empty. Then we would return to the original thread, who thinks
it's impossible to not allocate successfully at this point.
Instead we should just let tryAllocate do all the hard work with correctly
sweeping and getting a valid result.

There was another race condition in didFinishIterating. We would call resumeAllocating,
which would create a DelayedReleaseScope. The DelayedReleaseScope would then release
API lock before we set m_isIterating back to false, which would potentially confuse
other threads.

* heap/MarkedAllocator.cpp:
(JSC::MarkedAllocator::tryAllocateHelper):
(JSC::MarkedAllocator::tryPopFreeList):
(JSC::MarkedAllocator::tryAllocate):
(JSC::MarkedAllocator::addBlock):
* heap/MarkedAllocator.h:

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

7 years agoDon't crash when SerializedScriptValue deserialization fails
ap@apple.com [Thu, 13 Feb 2014 04:05:10 +0000 (04:05 +0000)]
Don't crash when SerializedScriptValue deserialization fails
https://bugs.webkit.org/show_bug.cgi?id=128657

Reviewed by Oliver Hunt.

Source/WebCore:

Test: crypto/subtle/postMessage-worker.html

* bindings/js/JSMessageEventCustom.cpp: (WebCore::JSMessageEvent::data): Added a FIXME.

* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneBase::fail): Don't assert on failure.
(WebCore::SerializedScriptValue::deserialize): Never return a null JSValue, these
are not allowed.

LayoutTests:

* crypto/subtle/postMessage-worker-expected.txt:
* crypto/subtle/resources/postMessage-worker.js:
* platform/mac/TestExpectations:
Unskip the test, and land (unimportant) failure results.

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

7 years agoWeb Replay: capture and replay nondeterminism of Date.now() and Math.random()
bburg@apple.com [Thu, 13 Feb 2014 03:34:33 +0000 (03:34 +0000)]
Web Replay: capture and replay nondeterminism of Date.now() and Math.random()
https://bugs.webkit.org/show_bug.cgi?id=128633

Reviewed by Filip Pizlo.

Upstream the only two sources of script-visible nondeterminism in JavaScriptCore.

The random seed for WeakRandom is memoized when the owning JSGlobalObject is
constructed. It is deterministically initialized during replay before any
scripts execute with the global object.

The implementations of `Date.now()` and `new Date()` eventually obtain the
current time from jsCurrentTime(). When capturing, we save return values of
jsCurrentTime() into the recording. When replaying, we use memoized values from
the recording instead of obtaining values from the platform-specific currentTime()
implementation. No other code calls jsCurrentTime().

* DerivedSources.make: Add rules to make JSReplayInputs.h from JSInputs.json.
* JavaScriptCore.xcodeproj/project.pbxproj:
* replay/JSInputs.json: Added. Includes specifications for replay inputs
"GetCurrentTime" and "SetRandomSeed". Tests will be added for both input
cases once sufficient replay machinery has been added.

* replay/NondeterministicInput.h: NondeterministicInput should not have
been marked 'final'.

* runtime/DateConstructor.cpp:
(JSC::deterministicCurrentTime): Added. Load or store the current time depending
on what kind of InputCursor is attached to the JSGlobalObject.

(JSC::constructDate): Use deterministicCurrentTime().
(JSC::dateNow): Use deterministicCurrentTime().
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::setInputCursor): When setting a non-empty input cursor,
immediately store or load the "SetRandomSeed" input and initialize WeakRandom's
random seed with it. The input cursor (and thus random seed) must be set before
any scripts are evaluated with this JSGlobalObject.

* runtime/WeakRandom.h:
(JSC::WeakRandom::WeakRandom): Add JSGlobalObject as a friend class.
(JSC::WeakRandom::initializeSeed): Extract the seed initialization into a
separate method so it can be called outside of the JSGlobalObject constructor.

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

7 years ago[CSS Shapes] Rename shapeSize and others to make ShapeInfo and friends easier to...
bjonesbe@adobe.com [Thu, 13 Feb 2014 03:02:53 +0000 (03:02 +0000)]
[CSS Shapes] Rename shapeSize and others to make ShapeInfo and friends easier to understand
https://bugs.webkit.org/show_bug.cgi?id=128685

Reviewed by Alexandru Chiculita.

The ShapeInfo hierarchy has grown organically as the spec has changed,
and the naming has become very stale and confusing. The spec is now in
Last Call, so it seems like a good time to take a stab towards better
naming that matches the spec terminology and is also more consistent
in general.

No new tests, no behavior change.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::imageChanged): Use new names.
(WebCore::RenderBlock::updateShapeInsideInfoAfterStyleChange): Ditto.
(WebCore::shapeInfoRequiresRelayout): Ditto.
(WebCore::RenderBlock::computeShapeSize): Ditto.
(WebCore::RenderBlock::updateShapesAfterBlockLayout): Ditto.
* rendering/RenderBlock.h:
(WebCore::RenderBlock::logicalSizeForChild): This method makes it much
    cleaner to set the reference box size.
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::positionNewFloats): Use new names.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::updateShapeOutsideInfoAfterStyleChange): Ditto.
(WebCore::RenderBox::imageChanged): Ditto.
* rendering/shapes/ShapeInfo.cpp:
(WebCore::getShapeImageMarginRect): Rename variables.
(WebCore::ShapeInfo<RenderType>::computedShape): More renames.
* rendering/shapes/ShapeInfo.h:
(WebCore::ShapeInfo::setReferenceBoxLogicalSize): Renamed from
    setShapeSize.
(WebCore::ShapeInfo::logicalLineTop): Use new names.
(WebCore::ShapeInfo::logicalLineBottom): Ditto.
(WebCore::ShapeInfo::shapeContainingBlockLogicalHeight): Ditto.
(WebCore::ShapeInfo::markShapeAsDirty): Renamed from dirtyShapeSize.
(WebCore::ShapeInfo::isShapeDirty): Renamed from shapeSizeDirty.
(WebCore::ShapeInfo::referenceBoxLogicalSize): Renamed from shapeSize.
(WebCore::ShapeInfo::logicalTopOffset): Use new names.
(WebCore::ShapeInfo::logicalLeftOffset): Ditto.
* rendering/shapes/ShapeInsideInfo.cpp:
(WebCore::ShapeInsideInfo::updateSegmentsForLine): Ditto.
(WebCore::ShapeInsideInfo::adjustLogicalLineTop): Ditto.
(WebCore::ShapeInsideInfo::computeFirstFitPositionForFloat): Ditto.
* rendering/shapes/ShapeInsideInfo.h:
* rendering/shapes/ShapeOutsideInfo.cpp:
(WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine): Ditto.
* rendering/shapes/ShapeOutsideInfo.h:

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

7 years agoAdd relatedWebView property to WKWebViewConfiguration
andersca@apple.com [Thu, 13 Feb 2014 01:54:27 +0000 (01:54 +0000)]
Add relatedWebView property to WKWebViewConfiguration
https://bugs.webkit.org/show_bug.cgi?id=128707

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration relatedWebView]):
(-[WKWebViewConfiguration setRelatedWebView:]):
* UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm.
* WebKit2.xcodeproj/project.pbxproj:

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

7 years agoREGRESSION: Crashing/Broken Tests Due To Unexpected 8-bit Character Data
bfulgham@apple.com [Thu, 13 Feb 2014 01:27:28 +0000 (01:27 +0000)]
REGRESSION: Crashing/Broken Tests Due To Unexpected 8-bit Character Data
https://bugs.webkit.org/show_bug.cgi?id=128698

Reviewed by Tim Horton.

* platform/graphics/win/UniscribeController.cpp:
(WebCore::UniscribeController::advance): Make 16-bit copy when needed.
(WebCore::UniscribeController::shapeAndPlaceItem): Handle 8-bit case when checking
for word boundaries.

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

7 years agoIDB: TestExpectations batch - "aborted-versionchange-closes.html to createObjectStore...
beidson@apple.com [Thu, 13 Feb 2014 01:06:58 +0000 (01:06 +0000)]
IDB: TestExpectations batch - "aborted-versionchange-closes.html to createObjectStore-null-name.html"
https://bugs.webkit.org/show_bug.cgi?id=128703

Reviewed by Alexey Proskuryakov.

* platform/mac-wk2/TestExpectations:
* storage/indexeddb/aborted-versionchange-closes-expected.txt:
* storage/indexeddb/basics-expected.txt:
* storage/indexeddb/clone-exception-expected.txt:
* storage/indexeddb/create-and-remove-object-store-expected.txt:
* storage/indexeddb/createObjectStore-name-argument-required-expected.txt:

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

7 years ago[WK2] Add a C API to get WebCrypto master key from a client
ap@apple.com [Thu, 13 Feb 2014 00:39:21 +0000 (00:39 +0000)]
[WK2] Add a C API to get WebCrypto master key from a client
https://bugs.webkit.org/show_bug.cgi?id=128702

Reviewed by Anders Carlsson.

Source/WebKit2:

Added a new version of WKContextClient, with a function that returns the key.

* UIProcess/API/C/WKContext.h:
* UIProcess/WebContextClient.cpp:
(WebKit::WebContextClient::copyWebCryptoMasterKey):
* UIProcess/WebContextClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::wrapCryptoKey):
(WebKit::WebPageProxy::unwrapCryptoKey):
* UIProcess/mac/WebPageProxyMac.mm:

Tools:

* WebKitTestRunner/TestController.cpp:
(WTR::copyWebCryptoMasterKey):
(WTR::TestController::initialize):
Return a hardcoded key.

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

7 years agoUpstream iOS old-run-webkit-tests for use with DumpRenderTree in the iOS Simulator
dfarler@apple.com [Thu, 13 Feb 2014 00:38:25 +0000 (00:38 +0000)]
Upstream iOS old-run-webkit-tests for use with DumpRenderTree in the iOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=127694

Reviewed by Simon Fraser.

This is a short-term effort to get layout tests working in the iOS simulator again.

* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
Pass PLATFORM_NAME to the makefile.
* DumpRenderTree/ios/PerlSupport/Makefile:
Cleanup.
* Scripts/old-run-webkit-tests:
Added functions and some exceptions for the simulator.
(installAndLaunchDumpRenderTreeAppUsingNotification):
(openIPhoneSimulator):
(quitDumpRenderTreeAppUsingNotification):
(quitIPhoneSimulator):
(simulatorSessionUUID):
(openDiffTool):
(buildDumpTool):
(openDumpTool):
(closeDumpTool):
(dumpToolDidCrash):
(expectedDirectoryForTest):
(buildPlatformResultHierarchy):
* Scripts/webkitdirs.pm:
Support functions for old-run-webkit-tests.
(determineIPhoneSimulatorVersion):
(iPhoneSimulatorVersion):

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

7 years agoAdd destinationFrame property to WKNavigationAction
andersca@apple.com [Thu, 13 Feb 2014 00:17:49 +0000 (00:17 +0000)]
Add destinationFrame property to WKNavigationAction
https://bugs.webkit.org/show_bug.cgi?id=128700

Reviewed by Tim Horton.

* UIProcess/API/Cocoa/WKNavigationAction.h:
* UIProcess/API/Cocoa/WKNavigationAction.mm:
(-[WKNavigationAction destinationFrame]):
(-[WKNavigationAction setDestinationFrame:]):
* UIProcess/API/Cocoa/WKNavigationActionInternal.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):

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

7 years agoForward declare WKNavigation in WKNavigationDelegate.h
andersca@apple.com [Wed, 12 Feb 2014 23:57:08 +0000 (23:57 +0000)]
Forward declare WKNavigation in WKNavigationDelegate.h
https://bugs.webkit.org/show_bug.cgi?id=128699

Reviewed by Tim Horton.

* UIProcess/API/Cocoa/WKNavigationDelegate.h:

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

7 years agoDocument::childrenChanged does not necessarily have a page
benjamin@webkit.org [Wed, 12 Feb 2014 23:14:43 +0000 (23:14 +0000)]
Document::childrenChanged does not necessarily have a page

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-12
Rubber stamped by Enrica Casucci.

* dom/Document.cpp:
(WebCore::Document::childrenChanged):

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

7 years agoExpose scrollView on the WKWebView
andersca@apple.com [Wed, 12 Feb 2014 23:13:49 +0000 (23:13 +0000)]
Expose scrollView on the WKWebView
https://bugs.webkit.org/show_bug.cgi?id=128697

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/WKWebView.h:

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

7 years agoAdd a missing ": " between the URL and exception in STDOUT logs.
timothy@apple.com [Wed, 12 Feb 2014 23:09:28 +0000 (23:09 +0000)]
Add a missing ": " between the URL and exception in STDOUT logs.

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

Reviewed by Joseph Pecoraro.

* page/PageConsole.cpp:
(WebCore::PageConsole::addMessage): Print ": " after calling
printSourceURLAndPosition now that it does not print it for us.

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

7 years agoBetter iOS build fix.
andersca@apple.com [Wed, 12 Feb 2014 22:56:27 +0000 (22:56 +0000)]
Better iOS build fix.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::wrapCryptoKey):
(WebKit::WebPageProxy::unwrapCryptoKey):
Make these functions cross platform.

* UIProcess/mac/WebPageProxyMac.mm:

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

7 years agoBasic framework for a modern jsc CLI
mhahnenberg@apple.com [Wed, 12 Feb 2014 22:54:26 +0000 (22:54 +0000)]
Basic framework for a modern jsc CLI
https://bugs.webkit.org/show_bug.cgi?id=127435

Rubber stamped by Geoffrey Garen.

* 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@163991 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoOne more build fix after r163979.
rniwa@webkit.org [Wed, 12 Feb 2014 22:44:14 +0000 (22:44 +0000)]
One more build fix after r163979.

* Scripts/webkitpy/port/mac_unittest.py:
(test_baseline_search_path):

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

7 years agoWK2: coordinate mapping for frames does not work when the page is scrolled.
enrica@apple.com [Wed, 12 Feb 2014 22:37:20 +0000 (22:37 +0000)]
WK2: coordinate mapping for frames does not work when the page is scrolled.
https://bugs.webkit.org/show_bug.cgi?id=128690
<rdar://problem/16042925>

Reviewed by Simon Fraser.

We should not apply the scroll offset when using delegate scrolling.

* platform/ScrollView.cpp:
(WebCore::ScrollView::rootViewToContents):
(WebCore::ScrollView::contentsToRootView):
(WebCore::ScrollView::rootViewToTotalContents):

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

7 years agoWeb Inspector: Cleanup JavaScriptCore/inspector
commit-queue@webkit.org [Wed, 12 Feb 2014 22:36:56 +0000 (22:36 +0000)]
Web Inspector: Cleanup JavaScriptCore/inspector
https://bugs.webkit.org/show_bug.cgi?id=128662

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-02-12
Reviewed by Timothy Hatcher.

Now that the code has settled, do a cleanup pass.

* inspector/ContentSearchUtilities.cpp:
* inspector/InspectorValues.cpp:
(Inspector::InspectorValue::asObject):
(Inspector::InspectorValue::asArray):
(Inspector::InspectorValue::parseJSON):
(Inspector::InspectorObjectBase::getObject):
(Inspector::InspectorObjectBase::getArray):
(Inspector::InspectorObjectBase::get):
* inspector/ScriptCallStackFactory.cpp:
* inspector/ScriptDebugServer.cpp:
* inspector/agents/JSGlobalObjectConsoleAgent.h:

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

7 years agoWeb Inspector: Rename PageInjectedScript* to WebInjectedScript*
commit-queue@webkit.org [Wed, 12 Feb 2014 22:36:24 +0000 (22:36 +0000)]
Web Inspector: Rename PageInjectedScript* to WebInjectedScript*
https://bugs.webkit.org/show_bug.cgi?id=128660

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-02-12
Reviewed by Timothy Hatcher.

Rename the files update build systems and users.

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* inspector/CommandLineAPIModule.cpp:
(WebCore::CommandLineAPIModule::host):
* inspector/InspectorAllInOne.cpp:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorController.h:
* inspector/InspectorHeapProfilerAgent.cpp:
(WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
* inspector/InspectorHeapProfilerAgent.h:
* inspector/InspectorProfilerAgent.cpp:
(WebCore::PageProfilerAgent::PageProfilerAgent):
(WebCore::InspectorProfilerAgent::create):
(WebCore::WorkerProfilerAgent::WorkerProfilerAgent):
(WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
* inspector/InspectorProfilerAgent.h:
* inspector/PageConsoleAgent.cpp:
(WebCore::PageConsoleAgent::PageConsoleAgent):
(WebCore::PageConsoleAgent::addInspectedNode):
* inspector/PageConsoleAgent.h:
* inspector/WebConsoleAgent.cpp:
(WebCore::WebConsoleAgent::WebConsoleAgent):
(WebCore::WebConsoleAgent::frameWindowDiscarded):
(WebCore::WebConsoleAgent::addInspectedHeapObject):
* inspector/WebConsoleAgent.h:
* inspector/WebInjectedScriptHost.cpp: Renamed from Source/WebCore/inspector/PageInjectedScriptHost.cpp.
(WebCore::WebInjectedScriptHost::type):
(WebCore::WebInjectedScriptHost::isHTMLAllCollection):
* inspector/WebInjectedScriptHost.h: Renamed from Source/WebCore/inspector/PageInjectedScriptHost.h.
* inspector/WebInjectedScriptManager.cpp: Renamed from Source/WebCore/inspector/PageInjectedScriptManager.cpp.
(WebCore::WebInjectedScriptManager::WebInjectedScriptManager):
(WebCore::WebInjectedScriptManager::disconnect):
(WebCore::WebInjectedScriptManager::didCreateInjectedScript):
(WebCore::WebInjectedScriptManager::discardInjectedScriptsFor):
* inspector/WebInjectedScriptManager.h: Renamed from Source/WebCore/inspector/PageInjectedScriptManager.h.
* inspector/WorkerConsoleAgent.cpp:
(WebCore::WorkerConsoleAgent::WorkerConsoleAgent):
* inspector/WorkerConsoleAgent.h:
* inspector/WorkerInspectorController.cpp:
(WebCore::WorkerInspectorController::WorkerInspectorController):
* inspector/WorkerInspectorController.h:

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

7 years agoFix the iOS build after r163976
aestes@apple.com [Wed, 12 Feb 2014 22:32:38 +0000 (22:32 +0000)]
Fix the iOS build after r163976

Moved WebPageProxy::{wrap,unwrap}CryptoKey() to a new file built by
both Mac and iOS.

* UIProcess/Cocoa/WebPageProxyCocoa.mm: Added.
(WebKit::WebPageProxy::wrapCryptoKey):
(WebKit::WebPageProxy::unwrapCryptoKey):
* UIProcess/mac/WebPageProxyMac.mm:
* WebKit2.xcodeproj/project.pbxproj:

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

7 years ago[CSS Regions] Fix layout of floated nested region
stavila@adobe.com [Wed, 12 Feb 2014 22:16:56 +0000 (22:16 +0000)]
[CSS Regions] Fix layout of floated nested region
https://bugs.webkit.org/show_bug.cgi?id=128367

Reviewed by Mihnea Ovidenie.

Added test for the correct layout of nested, floating regions.

* fast/regions/nested-floated-region-expected.html: Added.
* fast/regions/nested-floated-region.html: Added.

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

7 years agoUnreviewed iOS Build fix after r163975.
bfulgham@apple.com [Wed, 12 Feb 2014 22:07:04 +0000 (22:07 +0000)]
Unreviewed iOS Build fix after r163975.

* page/EventHandler.cpp: Use wheel event stubs if !PLATFORM(MAC) || PLATFORM(IOS).

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

7 years agoClean up PageThrottler interface
barraclough@apple.com [Wed, 12 Feb 2014 21:56:32 +0000 (21:56 +0000)]
Clean up PageThrottler interface
https://bugs.webkit.org/show_bug.cgi?id=128677

Reviewed by Benjamin Poulain.

Currently, responsibility for throttling DOM timers & suspending animations is split
between the Page & the PageThrottler. Clarify by making Page responsible for suspending
animations (PageThrottler is now purely related to aspects of timer throttling), and
move all timer throttling policy to the PageThrottler, with a single function on Page to
enable (Page::setTimerThrottlingEnabled).

Also, transmit the full ViewState to the PageThrottler (not just the IsVisuallyIdle flag),
and distinguish between media & page-load activity.

* WebCore.exp.in:
    - removed setDOMTimerAlignmentInterval.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
    - createActivityToken -> mediaActivityToken
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::started):
    - createActivityToken -> pageLoadActivityToken
* page/Page.cpp:
(WebCore::Page::Page):
    - added m_timerThrottlingEnabled, made PageThrottler a member
(WebCore::Page::setIsVisuallyIdleInternal):
    - update animiation suspension.
(WebCore::Page::setTimerThrottlingEnabled):
    - setTimerAlignmentInterval -> setTimerThrottlingEnabled
(WebCore::Page::setViewState):
    - pass viewState to PageThrottler.
(WebCore::Page::setIsVisibleInternal):
    - don't update timer throttling.
* page/Page.h:
(WebCore::Page::pageThrottler):
    - made PageThrottler a member.
(WebCore::Page::timerAlignmentInterval):
    - inlined.
* page/PageThrottler.cpp:
(WebCore::PageThrottler::PageThrottler):
    - initialize ViewState.
(WebCore::PageThrottler::~PageThrottler):
    - clean up by calling setTimerThrottlingEnabled directly.
(WebCore::PageThrottler::hiddenPageDOMTimerThrottlingStateChanged):
    - moved from Page.
(WebCore::PageThrottler::mediaActivityToken):
(WebCore::PageThrottler::pageLoadActivityToken):
    - from Page::createActivityToken
(WebCore::PageThrottler::throttlePage):
(WebCore::PageThrottler::unthrottlePage):
    - don't throttle animations here.
(WebCore::PageThrottler::setViewState):
(WebCore::PageThrottler::setIsVisible):
    - added, throttle Dom timers.
* page/PageThrottler.h:
* page/Settings.cpp:
(WebCore::Settings::setHiddenPageDOMTimerThrottlingEnabled):
    - removed setDOMTimerAlignmentInterval, hiddenPageDOMTimerThrottlingStateChanged moved to PageThrottler.
* page/Settings.h:
    - removed setDOMTimerAlignmentInterval.

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

7 years agoFix build.
andersca@apple.com [Wed, 12 Feb 2014 21:38:57 +0000 (21:38 +0000)]
Fix build.

* UIProcess/API/Cocoa/WKProcessClass.h:

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

7 years agoCleanup mac/mac-wk1/mac-wk2 TestExpectations a little bit
beidson@apple.com [Wed, 12 Feb 2014 21:37:58 +0000 (21:37 +0000)]
Cleanup mac/mac-wk1/mac-wk2 TestExpectations a little bit
https://bugs.webkit.org/show_bug.cgi?id=128679

Reviewed by Alexey Proskuryakov.

* platform/mac-wk1/TestExpectations: mac-wk1 specific disables should go here.
* platform/mac-wk2/TestExpectations: Remove unnecessary re-enabling, and simplify indexeddb/mozilla.
* platform/mac/TestExpectations: Move some tests from here to mac-wk1.

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

7 years ago[WK2][iOS] Add back the special viewport for the old xhtml mobile doctype
benjamin@webkit.org [Wed, 12 Feb 2014 21:37:26 +0000 (21:37 +0000)]
[WK2][iOS] Add back the special viewport for the old xhtml mobile doctype
https://bugs.webkit.org/show_bug.cgi?id=128639

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-12
Reviewed by Andreas Kling.

Source/WebCore:

* WebCore.exp.in:
* dom/Document.cpp:
(WebCore::Document::childrenChanged):
Document::setDocType() has been removed and the doctype update code with it.
Add a call to didReceiveDocType() to ensure the viewport is updated when the doctype is parsed.

* loader/EmptyClients.h:
* page/Chrome.cpp:
(WebCore::Chrome::didReceiveDocType):
* page/ChromeClient.h:
* page/ViewportConfiguration.cpp:
(WebCore::ViewportConfiguration::xhtmlMobileParameters):
* page/ViewportConfiguration.h:

Source/WebKit/ios:

* WebCoreSupport/WebChromeClientIOS.h:
* WebCoreSupport/WebChromeClientIOS.mm:
(WebChromeClientIOS::didReceiveMobileDocType):

Source/WebKit2:

* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
(WebKit::WebChromeClient::didReceiveMobileDocType):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::didReceiveMobileDocType):

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

7 years agoAdd a mac-wk1 platform directory and TestExpectations file
rniwa@webkit.org [Wed, 12 Feb 2014 21:27:22 +0000 (21:27 +0000)]
Add a mac-wk1 platform directory and TestExpectations file
https://bugs.webkit.org/show_bug.cgi?id=128676

Build fix. Put mac-wk1 between mac-mountainlion and mac.

* Scripts/webkitpy/port/mac.py:
(MacPort.default_baseline_search_path):
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
(TestRebaselineTest.test_baseline_directory):

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

7 years agoMountain Lion build fix.
ap@apple.com [Wed, 12 Feb 2014 21:22:30 +0000 (21:22 +0000)]
Mountain Lion build fix.

* WebCore.exp.in: Only export WebCrypto symbols on 10.9+, because SUBTLE_CRYPTO
is not enabled on 10.8.

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

7 years agoWKProcessClass.h and WKNavigationResponse.h should be public headers
andersca@apple.com [Wed, 12 Feb 2014 21:22:22 +0000 (21:22 +0000)]
WKProcessClass.h and WKNavigationResponse.h should be public headers
https://bugs.webkit.org/show_bug.cgi?id=128683

Reviewed by Dan Bernstein.

* WebKit2.xcodeproj/project.pbxproj:

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

7 years agoWrap WebCrypto keys in SerializedScriptValue
ap@apple.com [Wed, 12 Feb 2014 21:08:40 +0000 (21:08 +0000)]
Wrap WebCrypto keys in SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=128680

Reviewed by Anders Carlsson.

Source/WebCore:

Test: crypto/subtle/rsa-indexeddb.html

Added Mac code to wrap a key with AES-GCM. We then serialize it into a plist,
because more custom formats would be crazy (even the custom format in SerializedScriptValue
makes me nervous, we'll certainly need to change CryptoKey in the future).

* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* crypto/CommonCryptoUtilities.h:
* crypto/SerializedCryptoKeyWrap.h: Added.
* crypto/mac/SerializedCryptoKeyWrapMac.mm: Added.
(WebCore::vectorFromNSData):
(WebCore::wrapSerializedCryptoKey):
(WebCore::unwrapSerializedCryptoKey):

Source/WebKit/mac:

Retrieve a master key (placeholder code for now), and use it to wrap key data.

* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::wrapCryptoKey):
(WebChromeClient::unwrapCryptoKey):

Source/WebKit2:

Retrieve a master key (placeholder code for now), and use it to wrap key data.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::wrapCryptoKey):
(WebKit::WebPageProxy::unwrapCryptoKey):
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::wrapCryptoKey):
(WebKit::WebPageProxy::unwrapCryptoKey):

LayoutTests:

* crypto/subtle/rsa-indexeddb-expected.txt: Added.
* crypto/subtle/rsa-indexeddb.html: Added.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac-wk1/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:

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

7 years agoWheel events don't latch to inner scrollable elements
bfulgham@apple.com [Wed, 12 Feb 2014 20:40:17 +0000 (20:40 +0000)]
Wheel events don't latch to inner scrollable elements
https://bugs.webkit.org/show_bug.cgi?id=128225
<rdar://problem/12183688>

Reviewed by Simon Fraser

* WebCore.exp.in: Add declarations for new scrolledToTop, scrolledToBottom, scrolledToLeft, and scrolledToRight.
* page/EventHandler.cpp:
(WebCore::EventHandler::EventHandler):
(WebCore::EventHandler::clear):
(WebCore::findScrollableContainer): New helper function to locate first node
in enclosing region of document that is capable of handling mouse wheel events.
(WebCore::isAtMaxDominantScrollPosition): Predicate to check if the scrollable
area is at the limit we will hit based on scroll direction.
(WebCore::EventHandler::handleWheelEvent): Identify the case where we have hit
the end of a scroll, and treat that as a valid 'handled' case. If the scroll event
is just starting, treat end-of-scroll as unhandled so the parent element can
handle things.
* page/EventHandler.h:
* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::shouldHandleWheelEventSynchronously): Use new methods
on the PlatformWheelEvent class.
(WebCore::ScrollingTree::setOrClearLatchedNode): Ditto
* platform/PlatformWheelEvent.h:
(WebCore::PlatformWheelEvent::shouldConsiderLatching): Moved implementation from ScrollingTree.
(WebCore::PlatformWheelEvent::shouldClearLatchedNode): Ditto
* platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::scrolledToTop): Added
(WebCore::ScrollableArea::scrolledToBottom):Added
(WebCore::ScrollableArea::scrolledToLeft): Added
(WebCore::ScrollableArea::scrolledToRight): Added
* platform/ScrollableArea.h:
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::scrolledToTop): Added
(WebCore::RenderListBox::scrolledToBottom): Added
(WebCore::RenderListBox::scrolledToLeft): Added
(WebCore::RenderListBox::scrolledToRight): Added
* rendering/RenderListBox.h: Changed to public inheritance of ScrollableArea to
allow generic use of this type in scroll wheel logic.

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

7 years agoImplement DataCue for metadata cues
b.long@cablelabs.com [Wed, 12 Feb 2014 20:39:24 +0000 (20:39 +0000)]
Implement DataCue for metadata cues
https://bugs.webkit.org/show_bug.cgi?id=128402

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/track/track-datacue.html

* CMakeLists.txt: Add DataCue.
* DerivedSources.cpp: Add JSDataCue.
* DerivedSources.make: Same.
* GNUmakefile.list.am: Add DataCue and JSDataCue.
* WebCore.vcxproj/WebCore.vcxproj: Add DataCue.
* WebCore.vcxproj/WebCore.vcxproj.filters: Same.
* WebCore.xcodeproj/project.pbxproj: Add DataCue and JSDataCue.
* bindings/js/JSTextTrackCueCustom.cpp:
(WebCore::toJS): Add DataCue wrapper.
* html/track/DataCue.cpp: Copied from Source/WebCore/html/track/TextTrack.idl.
* html/track/DataCue.h: Copied from Source/WebCore/html/track/TextTrack.idl.
* html/track/DataCue.idl: Copied from Source/WebCore/html/track/TextTrack.idl.
* html/track/InbandGenericTextTrack.cpp:
(WebCore::InbandGenericTextTrack::addGenericCue): Pass ASSERT_NO_EXCEPTION to addCue().
* html/track/InbandWebVTTTextTrack.cpp:
(WebCore::InbandWebVTTTextTrack::newCuesParsed): Same.
* html/track/TextTrack.cpp:
(WebCore::TextTrack::addCue): Throw an exception if DataCue is added to a track that isn't kind="metadata".
* html/track/TextTrack.h: Add exception code parameter to addCue().
* html/track/TextTrack.idl: Add [RaisesException] to addCue().
* html/track/TextTrackCue.h: Add Data CueType.

LayoutTests:

* js/dom/global-constructors-attributes-expected.txt: Add DataCue.
* media/track/track-datacue-expected.txt: Added.
* media/track/track-datacue.html: Added.
* platform/efl/js/dom/global-constructors-attributes-expected.txt: Add DataCue.
* platform/gtk-wk2/js/dom/global-constructors-attributes-expected.txt: Same.
* platform/gtk/js/dom/global-constructors-attributes-expected.txt: Same.
* platform/mac/js/dom/global-constructors-attributes-expected.txt: Same.
* platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt: Same.
* platform/win/js/dom/global-constructors-attributes-expected.txt: Same.

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

7 years agoSubpixel layout: Clean up LayoutPoint class.
zalan@apple.com [Wed, 12 Feb 2014 20:34:57 +0000 (20:34 +0000)]
Subpixel layout: Clean up LayoutPoint class.
https://bugs.webkit.org/show_bug.cgi?id=128515

Reviewed by Simon Fraser.

Remove redundant functions (keep the more explicit ones).

No change in functionality.

* page/FrameView.cpp:
(WebCore::FrameView::viewportConstrainedVisibleContentRect):
* platform/graphics/LayoutPoint.h:
(WebCore::toLayoutPoint):
(WebCore::toLayoutSize):
(WebCore::roundedIntPoint):
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateContentsRects):
* rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addFocusRingRects):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::offsetFromContainer):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::addFocusRingRects):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPosition):
(WebCore::accumulateOffsetTowardsAncestor):
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::paintOutlineForFragments):
(WebCore::RenderLayer::paintMaskForFragments):
(WebCore::RenderLayer::paintOverflowControlsForFragments):
* rendering/RenderScrollbarPart.cpp:
(WebCore::RenderScrollbarPart::paintIntoRect):

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

7 years ago[CoordinatedGraphics] Move CoordinatedGraphicsScene, CoordinatedLayerTreeHostProxy...
zandobersek@gmail.com [Wed, 12 Feb 2014 20:32:46 +0000 (20:32 +0000)]
[CoordinatedGraphics] Move CoordinatedGraphicsScene, CoordinatedLayerTreeHostProxy to std::function
https://bugs.webkit.org/show_bug.cgi?id=128473

Reviewed by Anders Carlsson.

Source/WebCore:

Move the CoordinatedGraphicsScene class to using std::function instead of WTF::Functional and std::bind
instead of WTF::bind. The function wrapper is now moved through function calls and not passed by reference,
and lambda functions are inlined into the dispatchOnMainThread() calls, with the CoordinatedGraphicsScene
refcount-protected.

* platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
(WebCore::CoordinatedGraphicsScene::dispatchOnMainThread):
(WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
(WebCore::CoordinatedGraphicsScene::commitSceneState):
(WebCore::CoordinatedGraphicsScene::syncRemoteContent):
(WebCore::CoordinatedGraphicsScene::purgeGLResources):
(WebCore::CoordinatedGraphicsScene::commitScrollOffset):
(WebCore::CoordinatedGraphicsScene::appendUpdate):
(WebCore::CoordinatedGraphicsScene::setActive):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:

Source/WebKit2:

Move the CoordinatedLayerTreeHostProxy class to using std::function instead of WTF::Functional. C++11
lambdas are used to construct the update functions, with the CoordinatedGraphicsScene refcount-protected
throughout the lifetime of the function wrapper.

* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
(WebKit::CoordinatedLayerTreeHostProxy::dispatchUpdate):
(WebKit::CoordinatedLayerTreeHostProxy::commitCoordinatedGraphicsState):
(WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
(WebKit::CoordinatedLayerTreeHostProxy::setBackgroundColor):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:

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

7 years agoCleanup the code added for https://bugs.webkit.org/show_bug.cgi?id=128125.
eric.carlson@apple.com [Wed, 12 Feb 2014 20:29:33 +0000 (20:29 +0000)]
Cleanup the code added for https://bugs.webkit.org/show_bug.cgi?id=128125.

Not reviewed.

* html/HTMLMediaSession.cpp:
(WebCore::restrictionName): Don't need a "break" after a "return" in a case statement.
* platform/audio/MediaSession.cpp:
(WebCore::stateName): Ditto.
* platform/audio/ios/MediaSessionManagerIOS.mm:

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

7 years ago[GDB] Add .gdbinit to the list of files ignored by Git
zandobersek@gmail.com [Wed, 12 Feb 2014 20:28:57 +0000 (20:28 +0000)]
[GDB] Add .gdbinit to the list of files ignored by Git
https://bugs.webkit.org/show_bug.cgi?id=128455

Reviewed by Anders Carlsson.

* .gitignore: Ignore the .gdbinit file which can be used to perform WebKit-specific GDB initialization
when the debugger is launched in the repository's root directory. Also remove a Chromium-specific comment
that covers already removed entries.

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

7 years agoRenderNamedFlowThread should only support RenderElement children.
akling@apple.com [Wed, 12 Feb 2014 20:15:05 +0000 (20:15 +0000)]
RenderNamedFlowThread should only support RenderElement children.
<https://webkit.org/b/128675>

Tighten up flow-thread rendering so that it only supports element
children directly. This means we don't have to worry about text
renderers on this code path.

Reviewed by Antti Koivisto.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::insertedIntoTree):
(WebCore::RenderElement::willBeRemovedFromTree):
(WebCore::RenderElement::willBeDestroyed):
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::nextRendererForElement):
(WebCore::RenderNamedFlowThread::addFlowChild):
(WebCore::RenderNamedFlowThread::removeFlowChild):
* rendering/RenderNamedFlowThread.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::willBeDestroyed):
(WebCore::RenderObject::insertedIntoTree):
(WebCore::RenderObject::willBeRemovedFromTree):
* style/StyleResolveTree.cpp:
(WebCore::Style::createRendererIfNeeded):

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

7 years agoAdd a mac-wk1 platform directory and TestExpectations file
beidson@apple.com [Wed, 12 Feb 2014 19:29:39 +0000 (19:29 +0000)]
Add a mac-wk1 platform directory and TestExpectations file
https://bugs.webkit.org/show_bug.cgi?id=128676

Reviewed by Alexey Proskuryakov.

Tools:

* Scripts/webkitpy/port/mac.py:
(MacPort.default_baseline_search_path): When running WK1 tests on Mac,
  make mac-wk1 be the frontmost search path.

LayoutTests:

* platform/mac-wk1/TestExpectations: Added. Skip IndexedDB here.
* platform/mac-wk2/TestExpectations: Manage all mac-wk2 IndexedDB expectations here
  instead of building off the default mac expectations.
* platform/mac/TestExpectations: Don’t skip IndexedDB here.

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

7 years agoWindows build fix attempt after r163960.
rniwa@webkit.org [Wed, 12 Feb 2014 18:57:01 +0000 (18:57 +0000)]
Windows build fix attempt after r163960.

* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:

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

7 years agoAdjust VM::stackLimit based on the size of the largest FTL stack produced
msaboff@apple.com [Wed, 12 Feb 2014 18:40:35 +0000 (18:40 +0000)]
Adjust VM::stackLimit based on the size of the largest FTL stack produced
https://bugs.webkit.org/show_bug.cgi?id=128562

Reviewed by Mark Lam.

Added VM::m_largestFTLStackSize to track the largest stack size of an FTL compiled
function. Added VM::m_ftlStackLimit for FTL functions stack limit.  Renamed
VM::updateStackLimitWithReservedZoneSize to VM::updateReservedZoneSize.  Renamed
VM::setStackLimit to VM::updateStackLimit and changed it to do the updating of the
stack limits, including taking into account m_largestFTLStackSize.

* ftl/FTLJITFinalizer.cpp:
(JSC::FTL::JITFinalizer::finalizeFunction):
* runtime/ErrorHandlingScope.cpp:
(JSC::ErrorHandlingScope::ErrorHandlingScope):
(JSC::ErrorHandlingScope::~ErrorHandlingScope):
* runtime/JSLock.cpp:
(JSC::JSLock::lock):
(JSC::JSLock::unlock):
(JSC::JSLock::grabAllLocks):
* runtime/VM.cpp:
(JSC::VM::VM):
(JSC::VM::updateReservedZoneSize):
(JSC::VM::updateStackLimit):
(JSC::VM::updateFTLLargestStackSize):
* runtime/VM.h:

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

7 years agoIDB: Reimport storage/indexeddb tests from Blink
beidson@apple.com [Wed, 12 Feb 2014 18:17:47 +0000 (18:17 +0000)]
IDB: Reimport storage/indexeddb tests from Blink
https://bugs.webkit.org/show_bug.cgi?id=128636

Rubberstamped by Jer Noble.

Take two.

When I did this last night in r163923 the Mozilla tests outputted different results
because one of the logging functions they made had become more verbose.

This time we include the new test expectations for those tests, and update them to
reflect the different exception message outputted in WebKit vs Blink.

* resources/js-test.js: Added.
* storage/indexeddb/aborted-versionchange-closes-expected.txt:
* storage/indexeddb/aborted-versionchange-closes.html:
* storage/indexeddb/basics-expected.txt:
* storage/indexeddb/basics-shared-workers-expected.txt:
* storage/indexeddb/basics-shared-workers.html:
* storage/indexeddb/basics-workers-expected.txt:
* storage/indexeddb/basics-workers.html:
* storage/indexeddb/basics.html:
* storage/indexeddb/clone-exception-expected.txt:
* storage/indexeddb/clone-exception.html:
* storage/indexeddb/closed-cursor-expected.txt: Added.
* storage/indexeddb/closed-cursor.html: Added.
* storage/indexeddb/connection-leak-expected.txt: Added.
* storage/indexeddb/connection-leak.html: Added.
* storage/indexeddb/create-and-remove-object-store-expected.txt:
* storage/indexeddb/create-and-remove-object-store.html:
* storage/indexeddb/create-object-store-options-expected.txt:
* storage/indexeddb/create-object-store-options.html:
* storage/indexeddb/createIndex-after-failure-expected.txt:
* storage/indexeddb/createIndex-after-failure.html:
* storage/indexeddb/createObjectStore-name-argument-required-expected.txt:
* storage/indexeddb/createObjectStore-name-argument-required.html:
* storage/indexeddb/createObjectStore-null-name.html:
* storage/indexeddb/cursor-added-bug.html:
* storage/indexeddb/cursor-advance-expected.txt:
* storage/indexeddb/cursor-advance-workers-expected.txt:
* storage/indexeddb/cursor-advance-workers.html:
* storage/indexeddb/cursor-advance.html:
* storage/indexeddb/cursor-basics-expected.txt: Added.
* storage/indexeddb/cursor-basics.html: Added.
* storage/indexeddb/cursor-cast-expected.txt: Added.
* storage/indexeddb/cursor-cast.html: Added.
* storage/indexeddb/cursor-continue-dir-expected.txt:
* storage/indexeddb/cursor-continue-dir.html:
* storage/indexeddb/cursor-continue-expected.txt:
* storage/indexeddb/cursor-continue-validity-expected.txt:
* storage/indexeddb/cursor-continue-validity.html:
* storage/indexeddb/cursor-continue.html:
* storage/indexeddb/cursor-continueprimarykey-expected.txt: Added.
* storage/indexeddb/cursor-continueprimarykey.html: Added.
* storage/indexeddb/cursor-delete.html:
* storage/indexeddb/cursor-finished-expected.txt:
* storage/indexeddb/cursor-finished.html:
* storage/indexeddb/cursor-inconsistency.html:
* storage/indexeddb/cursor-index-delete.html:
* storage/indexeddb/cursor-key-order.html:
* storage/indexeddb/cursor-leak-expected.txt:
* storage/indexeddb/cursor-leak.html: Added.
* storage/indexeddb/cursor-overloads-expected.txt:
* storage/indexeddb/cursor-overloads.html:
* storage/indexeddb/cursor-prev-no-duplicate.html:
* storage/indexeddb/cursor-primary-key-order.html:
* storage/indexeddb/cursor-properties.html:
* storage/indexeddb/cursor-request-cycle-expected.txt: Added.
* storage/indexeddb/cursor-request-cycle.html: Added.
* storage/indexeddb/cursor-reverse-bug.html:
* storage/indexeddb/cursor-skip-deleted.html:
* storage/indexeddb/cursor-update-expected.txt:
* storage/indexeddb/cursor-update-value-argument-required-expected.txt:
* storage/indexeddb/cursor-update-value-argument-required.html:
* storage/indexeddb/cursor-update.html:
* storage/indexeddb/cursor-value.html:
* storage/indexeddb/data-corruption-expected.txt:
* storage/indexeddb/data-corruption.html:
* storage/indexeddb/database-basics-expected.txt:
* storage/indexeddb/database-basics.html:
* storage/indexeddb/database-close-expected.txt:
* storage/indexeddb/database-close.html:
* storage/indexeddb/database-closepending-flag-expected.txt:
* storage/indexeddb/database-closepending-flag.html:
* storage/indexeddb/database-deletepending-flag.html:
* storage/indexeddb/database-name-undefined-expected.txt:
* storage/indexeddb/database-name-undefined.html:
* storage/indexeddb/database-odd-names.html:
* storage/indexeddb/database-wrapper-expected.txt:
* storage/indexeddb/database-wrapper.html:
* storage/indexeddb/delete-closed-database-object-expected.txt:
* storage/indexeddb/delete-closed-database-object.html:
* storage/indexeddb/delete-in-upgradeneeded-close-in-open-success.html:
* storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange-expected.txt:
* storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange.html:
* storage/indexeddb/delete-range.html:
* storage/indexeddb/deleteIndex-bug110792-expected.txt:
* storage/indexeddb/deleteIndex-bug110792.html:
* storage/indexeddb/deleteIndex-expected.txt:
* storage/indexeddb/deleteIndex.html:
* storage/indexeddb/deleteObjectStore-name-argument-required-expected.txt:
* storage/indexeddb/deleteObjectStore-name-argument-required.html:
* storage/indexeddb/deleteObjectStore-null-name.html:
* storage/indexeddb/deleted-objects-expected.txt:
* storage/indexeddb/deleted-objects.html:
* storage/indexeddb/deletedatabase-blocked.html:
* storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers.html:
* storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange.html:
* storage/indexeddb/deletedatabase-delayed-by-versionchange-expected.txt:
* storage/indexeddb/deletedatabase-delayed-by-versionchange.html:
* storage/indexeddb/deletedatabase-not-blocked.html:
* storage/indexeddb/deletedatabase-transaction.html:
* storage/indexeddb/dont-commit-on-blocked.html:
* storage/indexeddb/dont-wedge.html:
* storage/indexeddb/duplicates.html:
* storage/indexeddb/error-causes-abort-by-default.html:
* storage/indexeddb/events-expected.txt:
* storage/indexeddb/events.html:
* storage/indexeddb/exception-in-event-aborts-expected.txt:
* storage/indexeddb/exception-in-event-aborts.html:
* storage/indexeddb/exceptions-expected.txt:
* storage/indexeddb/exceptions.html:
* storage/indexeddb/factory-basics-expected.txt:
* storage/indexeddb/factory-basics-workers-expected.txt:
* storage/indexeddb/factory-basics-workers.html:
* storage/indexeddb/factory-basics.html:
* storage/indexeddb/factory-cmp-expected.txt:
* storage/indexeddb/factory-cmp.html:
* storage/indexeddb/factory-deletedatabase.html:
* storage/indexeddb/get-keyrange-expected.txt:
* storage/indexeddb/get-keyrange.html:
* storage/indexeddb/index-basics-expected.txt:
* storage/indexeddb/index-basics-workers-expected.txt:
* storage/indexeddb/index-basics-workers.html:
* storage/indexeddb/index-basics.html:
* storage/indexeddb/index-count-expected.txt:
* storage/indexeddb/index-count.html:
* storage/indexeddb/index-cursor.html:
* storage/indexeddb/index-duplicate-keypaths.html:
* storage/indexeddb/index-get-key-argument-required-expected.txt:
* storage/indexeddb/index-get-key-argument-required.html:
* storage/indexeddb/index-multientry.html:
* storage/indexeddb/index-population.html:
* storage/indexeddb/index-unique.html:
* storage/indexeddb/interfaces.html:
* storage/indexeddb/intversion-abort-in-initial-upgradeneeded.html:
* storage/indexeddb/intversion-bad-parameters-expected.txt:
* storage/indexeddb/intversion-bad-parameters.html:
* storage/indexeddb/intversion-blocked.html:
* storage/indexeddb/intversion-close-between-events.html:
* storage/indexeddb/intversion-close-in-oncomplete-expected.txt:
* storage/indexeddb/intversion-close-in-oncomplete.html:
* storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt:
* storage/indexeddb/intversion-close-in-upgradeneeded.html:
* storage/indexeddb/intversion-encoding.html:
* storage/indexeddb/intversion-gated-on-delete.html:
* storage/indexeddb/intversion-long-queue-expected.txt:
* storage/indexeddb/intversion-long-queue.html:
* storage/indexeddb/intversion-omit-parameter.html:
* storage/indexeddb/intversion-open-in-upgradeneeded.html:
* storage/indexeddb/intversion-open-with-version.html:
* storage/indexeddb/intversion-pending-version-changes-ascending-expected.txt: Added.
* storage/indexeddb/intversion-pending-version-changes-ascending.html: Added.
* storage/indexeddb/intversion-pending-version-changes-descending-expected.txt: Added.
* storage/indexeddb/intversion-pending-version-changes-descending.html: Added.
* storage/indexeddb/intversion-pending-version-changes-same-expected.txt: Added.
* storage/indexeddb/intversion-pending-version-changes-same.html: Added.
* storage/indexeddb/intversion-persistence.html:
* storage/indexeddb/intversion-revert-on-abort.html:
* storage/indexeddb/intversion-two-opens-no-versions.html:
* storage/indexeddb/intversion-upgrades-expected.txt:
* storage/indexeddb/intversion-upgrades.html:
* storage/indexeddb/invalid-keys-expected.txt:
* storage/indexeddb/invalid-keys.html:
* storage/indexeddb/key-generator.html:
* storage/indexeddb/key-sort-order-across-types.html:
* storage/indexeddb/key-sort-order-date.html:
* storage/indexeddb/key-type-array-expected.txt:
* storage/indexeddb/key-type-array.html:
* storage/indexeddb/key-type-binary-expected.txt: Added.
* storage/indexeddb/key-type-binary.html: Added.
* storage/indexeddb/key-type-infinity.html:
* storage/indexeddb/keypath-arrays-expected.txt:
* storage/indexeddb/keypath-arrays.html:
* storage/indexeddb/keypath-basics-expected.txt:
* storage/indexeddb/keypath-basics.html:
* storage/indexeddb/keypath-edges-expected.txt:
* storage/indexeddb/keypath-edges.html:
* storage/indexeddb/keypath-fetch-key.html:
* storage/indexeddb/keypath-intrinsic-properties.html:
* storage/indexeddb/keyrange-expected.txt:
* storage/indexeddb/keyrange-required-arguments-expected.txt:
* storage/indexeddb/keyrange-required-arguments.html:
* storage/indexeddb/keyrange.html:
* storage/indexeddb/lazy-index-population-expected.txt:
* storage/indexeddb/lazy-index-population.html:
* storage/indexeddb/lazy-index-types.html:
* storage/indexeddb/legacy-constants.html:
* storage/indexeddb/list-ordering.html:
* storage/indexeddb/metadata-race-expected.txt: Added.
* storage/indexeddb/metadata-race.html: Added.
* storage/indexeddb/metadata.html:
* storage/indexeddb/mozilla/add-twice-failure.html:
* storage/indexeddb/mozilla/autoincrement-indexes.html:
* storage/indexeddb/mozilla/bad-keypath-expected.txt:
* storage/indexeddb/mozilla/bad-keypath.html:
* storage/indexeddb/mozilla/clear-expected.txt:
* storage/indexeddb/mozilla/clear.html:
* storage/indexeddb/mozilla/create-index-unique.html:
* storage/indexeddb/mozilla/create-index-with-integer-keys.html:
* storage/indexeddb/mozilla/create-objectstore-basics-expected.txt:
* storage/indexeddb/mozilla/create-objectstore-basics.html:
* storage/indexeddb/mozilla/create-objectstore-null-name.html:
* storage/indexeddb/mozilla/cursor-mutation-objectstore-only.html:
* storage/indexeddb/mozilla/cursor-mutation.html:
* storage/indexeddb/mozilla/cursor-update-updates-indexes.html:
* storage/indexeddb/mozilla/cursors-expected.txt:
* storage/indexeddb/mozilla/cursors.html:
* storage/indexeddb/mozilla/delete-result.html:
* storage/indexeddb/mozilla/event-source.html:
* storage/indexeddb/mozilla/global-data.html:
* storage/indexeddb/mozilla/index-prev-no-duplicate.html:
* storage/indexeddb/mozilla/indexes.html:
* storage/indexeddb/mozilla/key-requirements-delete-null-key-expected.txt:
* storage/indexeddb/mozilla/key-requirements-delete-null-key.html:
* storage/indexeddb/mozilla/key-requirements-inline-and-passed-expected.txt:
* storage/indexeddb/mozilla/key-requirements-inline-and-passed.html:
* storage/indexeddb/mozilla/key-requirements-put-no-key-expected.txt:
* storage/indexeddb/mozilla/key-requirements-put-no-key.html:
* storage/indexeddb/mozilla/key-requirements-put-null-key-expected.txt:
* storage/indexeddb/mozilla/key-requirements-put-null-key.html:
* storage/indexeddb/mozilla/key-requirements.html:
* storage/indexeddb/mozilla/object-cursors.html:
* storage/indexeddb/mozilla/object-identity.html:
* storage/indexeddb/mozilla/object-store-inline-autoincrement-key-added-on-put.html:
* storage/indexeddb/mozilla/object-store-remove-values.html:
* storage/indexeddb/mozilla/objectstorenames.html:
* storage/indexeddb/mozilla/odd-result-order.html:
* storage/indexeddb/mozilla/open-database-null-name.html:
* storage/indexeddb/mozilla/put-get-values.html:
* storage/indexeddb/mozilla/readonly-transactions-expected.txt:
* storage/indexeddb/mozilla/readonly-transactions.html:
* storage/indexeddb/mozilla/readwrite-transactions.html:
* storage/indexeddb/mozilla/readyState.html:
* storage/indexeddb/mozilla/remove-index.html:
* storage/indexeddb/mozilla/remove-objectstore.html:
* storage/indexeddb/mozilla/resources/add-twice-failure.js:
* storage/indexeddb/mozilla/resources/autoincrement-indexes.js:
* storage/indexeddb/mozilla/resources/bad-keypath.js:
* storage/indexeddb/mozilla/resources/clear.js:
* storage/indexeddb/mozilla/resources/create-index-unique.js:
* storage/indexeddb/mozilla/resources/create-index-with-integer-keys.js:
* storage/indexeddb/mozilla/resources/create-objectstore-basics.js:
* storage/indexeddb/mozilla/resources/create-objectstore-null-name.js:
* storage/indexeddb/mozilla/resources/cursor-mutation-objectstore-only.js:
* storage/indexeddb/mozilla/resources/cursor-mutation.js:
* storage/indexeddb/mozilla/resources/cursor-update-updates-indexes.js:
* storage/indexeddb/mozilla/resources/cursors.js:
* storage/indexeddb/mozilla/resources/delete-result.js:
* storage/indexeddb/mozilla/resources/event-source.js:
* storage/indexeddb/mozilla/resources/global-data.js:
* storage/indexeddb/mozilla/resources/indexes.js:
* storage/indexeddb/mozilla/resources/key-requirements-delete-null-key.js:
* storage/indexeddb/mozilla/resources/key-requirements-inline-and-passed.js:
* storage/indexeddb/mozilla/resources/key-requirements-put-no-key.js:
* storage/indexeddb/mozilla/resources/key-requirements-put-null-key.js:
* storage/indexeddb/mozilla/resources/key-requirements.js:
* storage/indexeddb/mozilla/resources/object-cursors.js:
* storage/indexeddb/mozilla/resources/object-identity.js:
* storage/indexeddb/mozilla/resources/object-store-inline-autoincrement-key-added-on-put.js:
* storage/indexeddb/mozilla/resources/object-store-remove-values.js:
* storage/indexeddb/mozilla/resources/objectstorenames.js:
* storage/indexeddb/mozilla/resources/odd-result-order.js:
* storage/indexeddb/mozilla/resources/open-database-null-name.js:
* storage/indexeddb/mozilla/resources/put-get-values.js:
* storage/indexeddb/mozilla/resources/readonly-transactions.js:
* storage/indexeddb/mozilla/resources/readwrite-transactions.js:
* storage/indexeddb/mozilla/resources/readyState.js:
* storage/indexeddb/mozilla/resources/remove-index.js:
* storage/indexeddb/mozilla/resources/remove-objectstore.js:
* storage/indexeddb/mozilla/resources/versionchange-abort.js:
* storage/indexeddb/mozilla/versionchange-abort.html:
* storage/indexeddb/mutating-cursor.html:
* storage/indexeddb/noblobs-expected.txt:
* storage/indexeddb/noblobs.html:
* storage/indexeddb/object-lookups-in-versionchange-expected.txt:
* storage/indexeddb/object-lookups-in-versionchange.html:
* storage/indexeddb/objectStore-required-arguments-expected.txt:
* storage/indexeddb/objectStore-required-arguments.html:
* storage/indexeddb/objectstore-autoincrement-expected.txt:
* storage/indexeddb/objectstore-autoincrement.html:
* storage/indexeddb/objectstore-basics-expected.txt:
* storage/indexeddb/objectstore-basics-workers-expected.txt:
* storage/indexeddb/objectstore-basics-workers.html:
* storage/indexeddb/objectstore-basics.html:
* storage/indexeddb/objectstore-clear.html:
* storage/indexeddb/objectstore-count-expected.txt:
* storage/indexeddb/objectstore-count.html:
* storage/indexeddb/objectstore-cursor-expected.txt:
* storage/indexeddb/objectstore-cursor.html:
* storage/indexeddb/objectstore-keycursor-expected.txt: Added.
* storage/indexeddb/objectstore-keycursor.html: Added.
* storage/indexeddb/objectstore-removeobjectstore.html:
* storage/indexeddb/odd-strings.html:
* storage/indexeddb/open-bad-versions.html:
* storage/indexeddb/open-cursor-expected.txt:
* storage/indexeddb/open-cursor.html:
* storage/indexeddb/open-during-transaction.html:
* storage/indexeddb/open-ordering.html:
* storage/indexeddb/open-twice-workers.html:
* storage/indexeddb/opencursor-key.html:
* storage/indexeddb/optional-arguments-expected.txt: Added.
* storage/indexeddb/optional-arguments.html: Added.
* storage/indexeddb/pending-activity-workers.html:
* storage/indexeddb/pending-activity.html:
* storage/indexeddb/pending-version-change-on-exit.html:
* storage/indexeddb/pending-version-change-stuck-works-with-terminate.html:
* storage/indexeddb/pending-version-change-stuck.html:
* storage/indexeddb/persistence.html:
* storage/indexeddb/prefetch-bugfix-108071-expected.txt:
* storage/indexeddb/prefetch-bugfix-108071.html:
* storage/indexeddb/prefetch-invalidation-expected.txt: Added.
* storage/indexeddb/prefetch-invalidation.html: Added.
* storage/indexeddb/prefetch-race-expected.txt: Added.
* storage/indexeddb/prefetch-race.html: Added.
* storage/indexeddb/queued-commands.html:
* storage/indexeddb/readonly-properties.html:
* storage/indexeddb/readonly.html:
* storage/indexeddb/removed-expected.txt:
* storage/indexeddb/removed.html:
* storage/indexeddb/request-continue-abort.html:
* storage/indexeddb/request-event-propagation.html:
* storage/indexeddb/request-leak-expected.txt: Added.
* storage/indexeddb/request-leak.html: Added.
* storage/indexeddb/request-result-cache-expected.txt: Added.
* storage/indexeddb/request-result-cache.html: Added.
* storage/indexeddb/resources/aborted-versionchange-closes.js:
* storage/indexeddb/resources/basics.js:
* storage/indexeddb/resources/create-and-remove-object-store.js:
* storage/indexeddb/resources/create-object-store-options.js:
* storage/indexeddb/resources/createIndex-after-failure.js:
* storage/indexeddb/resources/createObjectStore-name-argument-required.js:
* storage/indexeddb/resources/createObjectStore-null-name.js:
* storage/indexeddb/resources/cursor-added-bug.js:
* storage/indexeddb/resources/cursor-advance.js:
* storage/indexeddb/resources/cursor-basics.js: Added.
* storage/indexeddb/resources/cursor-continue-dir.js:
* storage/indexeddb/resources/cursor-continue-validity.js:
* storage/indexeddb/resources/cursor-continue.js:
* storage/indexeddb/resources/cursor-continueprimarykey.js: Added.
* storage/indexeddb/resources/cursor-delete.js:
* storage/indexeddb/resources/cursor-inconsistency.js:
* storage/indexeddb/resources/cursor-index-delete.js:
* storage/indexeddb/resources/cursor-key-order.js:
* storage/indexeddb/resources/cursor-prev-no-duplicate.js:
* storage/indexeddb/resources/cursor-primary-key-order.js:
* storage/indexeddb/resources/cursor-properties.js:
* storage/indexeddb/resources/cursor-reverse-bug.js:
* storage/indexeddb/resources/cursor-skip-deleted.js:
* storage/indexeddb/resources/cursor-update-value-argument-required.js:
* storage/indexeddb/resources/cursor-update.js:
* storage/indexeddb/resources/cursor-value.js:
* storage/indexeddb/resources/data-corruption.js:
* storage/indexeddb/resources/database-basics.js:
* storage/indexeddb/resources/database-close.js:
* storage/indexeddb/resources/database-closepending-flag.js:
* storage/indexeddb/resources/database-deletepending-flag.js:
* storage/indexeddb/resources/database-name-undefined.js:
* storage/indexeddb/resources/database-odd-names.js:
* storage/indexeddb/resources/database-quota.js:
* storage/indexeddb/resources/database-wrapper.js:
* storage/indexeddb/resources/delete-closed-database-object.js:
* storage/indexeddb/resources/delete-in-upgradeneeded-close-in-open-success.js:
* storage/indexeddb/resources/delete-in-upgradeneeded-close-in-versionchange.js:
* storage/indexeddb/resources/delete-range.js:
* storage/indexeddb/resources/deleteIndex.js:
* storage/indexeddb/resources/deleteObjectStore-name-argument-required.js:
* storage/indexeddb/resources/deleteObjectStore-null-name.js:
* storage/indexeddb/resources/deleted-objects.js:
* storage/indexeddb/resources/deletedatabase-blocked.js:
* storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js:
* storage/indexeddb/resources/deletedatabase-delayed-by-versionchange.js:
* storage/indexeddb/resources/deletedatabase-not-blocked.js:
* storage/indexeddb/resources/dont-commit-on-blocked-worker.js:
* storage/indexeddb/resources/dont-wedge.js:
* storage/indexeddb/resources/duplicates.js:
* storage/indexeddb/resources/error-causes-abort-by-default.js:
* storage/indexeddb/resources/events.js:
* storage/indexeddb/resources/exception-in-event-aborts.js:
* storage/indexeddb/resources/exceptions.js:
* storage/indexeddb/resources/factory-basics.js:
* storage/indexeddb/resources/factory-cmp.js:
* storage/indexeddb/resources/factory-deletedatabase.js:
* storage/indexeddb/resources/get-keyrange.js:
* storage/indexeddb/resources/index-basics.js:
* storage/indexeddb/resources/index-count.js:
* storage/indexeddb/resources/index-cursor.js:
* storage/indexeddb/resources/index-duplicate-keypaths.js:
* storage/indexeddb/resources/index-get-key-argument-required.js:
* storage/indexeddb/resources/index-multientry.js:
* storage/indexeddb/resources/index-population.js:
* storage/indexeddb/resources/index-unique.js:
* storage/indexeddb/resources/interfaces.js:
* storage/indexeddb/resources/intversion-abort-in-initial-upgradeneeded.js:
* storage/indexeddb/resources/intversion-bad-parameters.js:
* storage/indexeddb/resources/intversion-blocked.js:
* storage/indexeddb/resources/intversion-close-between-events.js:
* storage/indexeddb/resources/intversion-close-in-oncomplete.js:
* storage/indexeddb/resources/intversion-close-in-upgradeneeded.js:
* storage/indexeddb/resources/intversion-encoding.js:
* storage/indexeddb/resources/intversion-gated-on-delete.js:
* storage/indexeddb/resources/intversion-long-queue.js:
* storage/indexeddb/resources/intversion-omit-parameter.js:
* storage/indexeddb/resources/intversion-open-in-upgradeneeded.js:
* storage/indexeddb/resources/intversion-open-with-version.js:
* storage/indexeddb/resources/intversion-pending-version-changes-ascending.js: Added.
* storage/indexeddb/resources/intversion-pending-version-changes-descending.js: Added.
* storage/indexeddb/resources/intversion-pending-version-changes-same.js: Added.
* storage/indexeddb/resources/intversion-persistence.js:
* storage/indexeddb/resources/intversion-revert-on-abort.js:
* storage/indexeddb/resources/intversion-two-opens-no-versions.js:
* storage/indexeddb/resources/intversion-upgrades.js:
* storage/indexeddb/resources/invalid-keys.js:
* storage/indexeddb/resources/key-generator.js:
* storage/indexeddb/resources/key-sort-order-across-types.js:
* storage/indexeddb/resources/key-sort-order-date.js:
* storage/indexeddb/resources/key-type-array.js:
* storage/indexeddb/resources/key-type-binary.js: Added.
* storage/indexeddb/resources/key-type-infinity.js:
* storage/indexeddb/resources/keypath-arrays.js:
* storage/indexeddb/resources/keypath-basics.js:
* storage/indexeddb/resources/keypath-edges.js:
* storage/indexeddb/resources/keypath-fetch-key.js:
* storage/indexeddb/resources/keypath-intrinsic-properties.js:
* storage/indexeddb/resources/keyrange-required-arguments.js:
* storage/indexeddb/resources/keyrange.js:
* storage/indexeddb/resources/lazy-index-types.js:
* storage/indexeddb/resources/legacy-constants.js:
* storage/indexeddb/resources/list-ordering.js:
* storage/indexeddb/resources/metadata.js:
* storage/indexeddb/resources/mutating-cursor.js:
* storage/indexeddb/resources/objectStore-required-arguments.js:
* storage/indexeddb/resources/objectstore-autoincrement.js:
* storage/indexeddb/resources/objectstore-basics.js:
* storage/indexeddb/resources/objectstore-clear.js:
* storage/indexeddb/resources/objectstore-count.js:
* storage/indexeddb/resources/objectstore-cursor.js:
* storage/indexeddb/resources/objectstore-keycursor.js:
* storage/indexeddb/resources/objectstore-removeobjectstore.js:
* storage/indexeddb/resources/odd-strings.js:
* storage/indexeddb/resources/open-cursor.js:
* storage/indexeddb/resources/open-during-transaction.js:
* storage/indexeddb/resources/open-ordering.js:
* storage/indexeddb/resources/open-twice.js:
* storage/indexeddb/resources/opencursor-key.js:
* storage/indexeddb/resources/pending-activity.js:
* storage/indexeddb/resources/pending-version-change-on-exit.js:
* storage/indexeddb/resources/pending-version-change-stuck.js:
* storage/indexeddb/resources/persistence.js:
* storage/indexeddb/resources/prefetch-bugfix-108071.js:
* storage/indexeddb/resources/queued-commands.js:
* storage/indexeddb/resources/readonly-properties.js:
* storage/indexeddb/resources/readonly.js:
* storage/indexeddb/resources/removed.js:
* storage/indexeddb/resources/request-continue-abort.js:
* storage/indexeddb/resources/request-event-propagation.js:
* storage/indexeddb/resources/set_version_blocked.js:
* storage/indexeddb/resources/setversion-blocked-by-versionchange-close.js:
* storage/indexeddb/resources/setversion-not-blocked.js:
* storage/indexeddb/resources/shared.js:
* storage/indexeddb/resources/transaction-abort.js:
* storage/indexeddb/resources/transaction-active-flag.js:
* storage/indexeddb/resources/transaction-after-close.js:
* storage/indexeddb/resources/transaction-and-objectstore-calls.js:
* storage/indexeddb/resources/transaction-basics.js:
* storage/indexeddb/resources/transaction-complete-workers.js:
* storage/indexeddb/resources/transaction-coordination-across-databases.js:
* storage/indexeddb/resources/transaction-coordination-within-database.js:
* storage/indexeddb/resources/transaction-crash-on-abort.js:
* storage/indexeddb/resources/transaction-error.js:
* storage/indexeddb/resources/transaction-event-propagation.js:
* storage/indexeddb/resources/transaction-read-only.js:
* storage/indexeddb/resources/transaction-readwrite-exclusive.js:
* storage/indexeddb/resources/transaction-rollback.js:
* storage/indexeddb/resources/transaction-scope-sequencing.js:
* storage/indexeddb/resources/transaction-starvation.js:
* storage/indexeddb/resources/transaction-storeNames-required.js:
* storage/indexeddb/resources/unblocked-version-changes.js:
* storage/indexeddb/resources/unprefix.js:
* storage/indexeddb/resources/value-undefined.js:
* storage/indexeddb/resources/values-odd-types.js:
* storage/indexeddb/resources/version-change-abort.js:
* storage/indexeddb/resources/version-change-exclusive.js:
* storage/indexeddb/resources/versionchangerequest-activedomobject.js:
* storage/indexeddb/set_version_blocked.html:
* storage/indexeddb/setversion-blocked-by-versionchange-close-expected.txt:
* storage/indexeddb/setversion-blocked-by-versionchange-close.html:
* storage/indexeddb/setversion-not-blocked.html:
* storage/indexeddb/structured-clone-expected.txt:
* storage/indexeddb/structured-clone.html:
* storage/indexeddb/transaction-abort-expected.txt:
* storage/indexeddb/transaction-abort.html:
* storage/indexeddb/transaction-active-flag-expected.txt:
* storage/indexeddb/transaction-active-flag.html:
* storage/indexeddb/transaction-after-close-expected.txt:
* storage/indexeddb/transaction-after-close.html:
* storage/indexeddb/transaction-and-objectstore-calls-expected.txt:
* storage/indexeddb/transaction-and-objectstore-calls.html:
* storage/indexeddb/transaction-basics-expected.txt:
* storage/indexeddb/transaction-basics.html:
* storage/indexeddb/transaction-complete-with-js-recursion-cross-frame.html:
* storage/indexeddb/transaction-complete-with-js-recursion.html:
* storage/indexeddb/transaction-complete-workers-expected.txt:
* storage/indexeddb/transaction-complete-workers.html:
* storage/indexeddb/transaction-coordination-across-databases.html:
* storage/indexeddb/transaction-coordination-within-database.html:
* storage/indexeddb/transaction-crash-in-tasks.html:
* storage/indexeddb/transaction-crash-on-abort.html:
* storage/indexeddb/transaction-error-expected.txt:
* storage/indexeddb/transaction-error.html:
* storage/indexeddb/transaction-event-propagation.html:
* storage/indexeddb/transaction-ordering-expected.txt: Added.
* storage/indexeddb/transaction-ordering.html: Added.
* storage/indexeddb/transaction-read-only-expected.txt:
* storage/indexeddb/transaction-read-only.html:
* storage/indexeddb/transaction-readwrite-exclusive.html:
* storage/indexeddb/transaction-rollback.html:
* storage/indexeddb/transaction-scope-sequencing.html:
* storage/indexeddb/transaction-starvation.html:
* storage/indexeddb/transaction-storeNames-required-expected.txt:
* storage/indexeddb/transaction-storeNames-required.html:
* storage/indexeddb/unblocked-version-changes-expected.txt:
* storage/indexeddb/unblocked-version-changes.html:
* storage/indexeddb/unprefix-workers.html:
* storage/indexeddb/unprefix.html:
* storage/indexeddb/value-undefined.html:
* storage/indexeddb/values-odd-types.html:
* storage/indexeddb/version-change-abort-expected.txt:
* storage/indexeddb/version-change-abort.html:
* storage/indexeddb/version-change-exclusive-expected.txt:
* storage/indexeddb/version-change-exclusive.html:
* storage/indexeddb/versionchangerequest-activedomobject.html:

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

7 years agoWeb Inspector: Modernize missed inspector files
commit-queue@webkit.org [Wed, 12 Feb 2014 18:15:23 +0000 (18:15 +0000)]
Web Inspector: Modernize missed inspector files
https://bugs.webkit.org/show_bug.cgi?id=128661

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-02-12
Reviewed by Anders Carlsson.

Add final, override, and use nullptr where appropriate.

* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::asCSSStyleRule):
(WebCore::InspectorCSSAgent::discardAgent):
(WebCore::InspectorCSSAgent::disable):
(WebCore::InspectorCSSAgent::getInlineStylesForNode):
(WebCore::InspectorCSSAgent::getComputedStyleForNode):
(WebCore::InspectorCSSAgent::asInspectorStyleSheet):
(WebCore::InspectorCSSAgent::elementForId):
(WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
(WebCore::InspectorCSSAgent::assertStyleSheetForId):
(WebCore::InspectorCSSAgent::buildObjectForRule):
(WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
* inspector/InspectorFrontendClientLocal.h:

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

7 years agoStop using PLATFORM(MAC) in WebKit2/{Database,Network}Process except where it means...
mitz@apple.com [Wed, 12 Feb 2014 17:57:05 +0000 (17:57 +0000)]
Stop using PLATFORM(MAC) in WebKit2/{Database,Network}Process except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128659

Reviewed by Anders Carlsson.

* DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::createDatabaseToWebProcessConnection): Changed PLATFORM(MAC) to
OS(DARWIN) around use of Mach-based IPC.
Changed PLATFORM(MAC) to PLATFORM(COCOA) elsewhere in this file.
* NetworkProcess/NetworkProcess.cpp: Ditto.
(WebKit::NetworkProcess::NetworkProcess):
(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
* NetworkProcess/NetworkProcess.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
* NetworkProcess/NetworkProcess.messages.in: Removed PLATFORM(MAC) guard around
SetProcessSuppressionEnabled. Changed it to PLATFORM(COCOA) around SetQOS.
* NetworkProcess/NetworkResourceLoader.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA)
(WebKit::NetworkResourceLoader::continueWillSendRequest):
* NetworkProcess/NetworkResourceLoader.h: Ditto.
* NetworkProcess/RemoteNetworkingContext.h: Ditto, matching WebCore::NetworkingContext.

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

7 years agoMake it possible to implement JS builtins in JS
oliver@apple.com [Wed, 12 Feb 2014 17:14:23 +0000 (17:14 +0000)]
Make it possible to implement JS builtins in JS
https://bugs.webkit.org/show_bug.cgi?id=127887

Reviewed by Michael Saboff.

.:

* GNUmakefile.am:
* Source/cmake/gtest/CMakeLists.txt:

Source/JavaScriptCore:

This patch makes it possible to write builtin functions in JS.
The bindings, generators, and definitions are all created automatically
based on js files in the builtins/ directory.  This patch includes one
such case: Array.prototype.js with an implementation of every().

There's a lot of refactoring to make it possible for CommonIdentifiers
to include the output of the generated files (DerivedSources/JSCBuiltins.{h,cpp})
without breaking the offset extractor. The result of this refactoring
is that CommonIdentifiers, and a few other miscellaneous headers now
need to be included directly as they were formerly captured through other
paths.

In addition this adds a flag to the Lookup table's hashentry to indicate
that a static function is actually backed by JS. There is then a lot of
logic to thread the special nature of the functon to where it matters.
This allows toString(), .caller, etc to mimic the behaviour of a host
function.

Notes on writing builtins:
 - Each function is compiled independently of the others, and those
   implementations cannot currently capture all global properties (as
   that could be potentially unsafe). If a function does capture a
   global we will deliberately crash.
 - For those "global" properties that we do want access to, we use
   the @ prefix, e.g. Object(this) becomes @Object(this). The @ identifiers
   are private names, and behave just like regular properties, only
   without the risk of adulteration. Again, in the @Object case, we
   explicitly duplicate the ObjectConstructor reference on the GlobalObject
   so that we have guaranteed access to the original version of the
   constructor.
 - call, apply, eval, and Function are all rejected identifiers, again
   to prevent anything from accidentally using an adulterated object.
   Instead @call and @apply are available, and happily they completely
   drop the neq_ptr instruction as they're defined as always being the
   original call/apply functions.

These restrictions are just intended to make it harder to accidentally
make changes that are incorrect (for instance calling whatever has been
assigned to global.Object, instead of the original constructor function).
However, making a mistake like this should result in a purely semantic
error as fundamentally these functions are treated as though they were
regular JS code in the host global, and have no more privileges than
any other JS.

The initial proof of concept is Array.prototype.every, this shows a 65%
performance improvement, and that improvement is significantly hurt by
our poor optimisation of op_in.

As this is such a limited function, we have not yet exported all symbols
that we could possibly need, but as we implement more, the likelihood
of encountering missing features will reduce.

* API/JSCallbackObjectFunctions.h:
(JSC::JSCallbackObject<Parent>::getOwnPropertySlot):
(JSC::JSCallbackObject<Parent>::put):
(JSC::JSCallbackObject<Parent>::deleteProperty):
(JSC::JSCallbackObject<Parent>::getStaticValue):
(JSC::JSCallbackObject<Parent>::staticFunctionGetter):
(JSC::JSCallbackObject<Parent>::callbackGetter):
* CMakeLists.txt:
* DerivedSources.make:
* GNUmakefile.am:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.vcxproj/JavaScriptCoreCommon.props:
* JavaScriptCore.vcxproj/copy-files.cmd:
* JavaScriptCore.xcodeproj/project.pbxproj:
* builtins/Array.prototype.js:
(every):
* builtins/BuiltinExecutables.cpp: Added.
(JSC::BuiltinExecutables::BuiltinExecutables):
(JSC::BuiltinExecutables::createBuiltinExecutable):
* builtins/BuiltinExecutables.h:
(JSC::BuiltinExecutables::create):
* builtins/BuiltinNames.h: Added.
(JSC::BuiltinNames::BuiltinNames):
(JSC::BuiltinNames::getPrivateName):
(JSC::BuiltinNames::getPublicName):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
* bytecode/UnlinkedCodeBlock.cpp:
(JSC::generateFunctionCodeBlock):
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
(JSC::UnlinkedFunctionExecutable::codeBlockFor):
(JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):
* bytecode/UnlinkedCodeBlock.h:
(JSC::ExecutableInfo::ExecutableInfo):
(JSC::UnlinkedFunctionExecutable::create):
(JSC::UnlinkedFunctionExecutable::toStrictness):
(JSC::UnlinkedFunctionExecutable::isBuiltinFunction):
(JSC::UnlinkedCodeBlock::isBuiltinFunction):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
* bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::isBuiltinFunction):
(JSC::BytecodeGenerator::makeFunction):
* bytecompiler/NodesCodegen.cpp:
(JSC::CallFunctionCallDotNode::emitBytecode):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
* create_hash_table:
* generate-js-builtins: Added.
(getCopyright):
(getFunctions):
(generateCode):
(mangleName):
(FunctionExecutable):
(Identifier):
(JSGlobalObject):
(SourceCode):
(UnlinkedFunctionExecutable):
(VM):
* interpreter/CachedCall.h:
(JSC::CachedCall::CachedCall):
* parser/ASTBuilder.h:
(JSC::ASTBuilder::makeFunctionCallNode):
* parser/Lexer.cpp:
(JSC::Lexer<T>::Lexer):
(JSC::isSafeBuiltinIdentifier):
(JSC::Lexer<LChar>::parseIdentifier):
(JSC::Lexer<UChar>::parseIdentifier):
(JSC::Lexer<T>::lex):
* parser/Lexer.h:
(JSC::isSafeIdentifier):
(JSC::Lexer<T>::lexExpectIdentifier):
* parser/Nodes.cpp:
(JSC::ProgramNode::setClosedVariables):
* parser/Nodes.h:
(JSC::ScopeNode::capturedVariables):
(JSC::ScopeNode::setClosedVariables):
(JSC::ProgramNode::closedVariables):
* parser/Parser.cpp:
(JSC::Parser<LexerType>::Parser):
(JSC::Parser<LexerType>::parseInner):
(JSC::Parser<LexerType>::didFinishParsing):
(JSC::Parser<LexerType>::printUnexpectedTokenText):
* parser/Parser.h:
(JSC::Scope::getUsedVariables):
(JSC::Parser::closedVariables):
(JSC::parse):
* parser/ParserModes.h:
* parser/ParserTokens.h:
* runtime/ArrayPrototype.cpp:
* runtime/CodeCache.cpp:
(JSC::CodeCache::getFunctionExecutableFromGlobalCode):
* runtime/CommonIdentifiers.cpp:
(JSC::CommonIdentifiers::CommonIdentifiers):
(JSC::CommonIdentifiers::~CommonIdentifiers):
(JSC::CommonIdentifiers::getPrivateName):
(JSC::CommonIdentifiers::getPublicName):
* runtime/CommonIdentifiers.h:
(JSC::CommonIdentifiers::builtinNames):
* runtime/ExceptionHelpers.cpp:
(JSC::createUndefinedVariableError):
* runtime/Executable.h:
(JSC::EvalExecutable::executableInfo):
(JSC::ProgramExecutable::executableInfo):
(JSC::FunctionExecutable::isBuiltinFunction):
* runtime/FunctionPrototype.cpp:
(JSC::functionProtoFuncToString):
* runtime/JSActivation.cpp:
(JSC::JSActivation::symbolTableGet):
(JSC::JSActivation::symbolTablePut):
(JSC::JSActivation::symbolTablePutWithAttributes):
* runtime/JSFunction.cpp:
(JSC::JSFunction::createBuiltinFunction):
(JSC::JSFunction::calculatedDisplayName):
(JSC::JSFunction::sourceCode):
(JSC::JSFunction::isHostOrBuiltinFunction):
(JSC::JSFunction::isBuiltinFunction):
(JSC::JSFunction::callerGetter):
(JSC::JSFunction::getOwnPropertySlot):
(JSC::JSFunction::getOwnNonIndexPropertyNames):
(JSC::JSFunction::put):
(JSC::JSFunction::defineOwnProperty):
* runtime/JSFunction.h:
* runtime/JSFunctionInlines.h:
(JSC::JSFunction::nativeFunction):
(JSC::JSFunction::nativeConstructor):
(JSC::isHostFunction):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::reset):
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::objectConstructor):
(JSC::JSGlobalObject::symbolTableHasProperty):
* runtime/JSObject.cpp:
(JSC::getClassPropertyNames):
(JSC::JSObject::reifyStaticFunctionsForDelete):
(JSC::JSObject::putDirectBuiltinFunction):
* runtime/JSObject.h:
* runtime/JSSymbolTableObject.cpp:
(JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames):
* runtime/JSSymbolTableObject.h:
(JSC::symbolTableGet):
(JSC::symbolTablePut):
(JSC::symbolTablePutWithAttributes):
* runtime/Lookup.cpp:
(JSC::setUpStaticFunctionSlot):
* runtime/Lookup.h:
(JSC::HashEntry::builtinGenerator):
(JSC::HashEntry::propertyGetter):
(JSC::HashEntry::propertyPutter):
(JSC::HashTable::entry):
(JSC::getStaticPropertySlot):
(JSC::getStaticValueSlot):
(JSC::putEntry):
* runtime/NativeErrorConstructor.cpp:
(JSC::NativeErrorConstructor::finishCreation):
* runtime/NativeErrorConstructor.h:
* runtime/PropertySlot.h:
* runtime/VM.cpp:
(JSC::VM::VM):
* runtime/VM.h:
(JSC::VM::builtinExecutables):

Tools:

CMake updates

* DumpRenderTree/CMakeLists.txt:
* WebKitTestRunner/CMakeLists.txt:
* WinCELauncher/CMakeLists.txt:

LayoutTests:

Updated the test results for new error messages (now that they're
actually helpful), and added a js-regress test to track performance.

* js/array-every-expected.txt:
* js/dom/array-prototype-properties-expected.txt:
* js/regress/array-prototype-every-expected.txt: Added.
* js/regress/array-prototype-every.html: Added.
* js/regress/script-tests/array-prototype-every.js: Added.
(test1):
(test2):
(test3):

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

7 years agoRemove some unintended copies in ranged for loops
bfulgham@apple.com [Wed, 12 Feb 2014 17:10:25 +0000 (17:10 +0000)]
Remove some unintended copies in ranged for loops
https://bugs.webkit.org/show_bug.cgi?id=128644

Reviewed by Anders Carlsson.

../JavaScriptCore:

* inspector/InjectedScriptHost.cpp:
(Inspector::InjectedScriptHost::clearAllWrappers): Avoid creating/destroying
a std::pair<> and pointer each loop iteration.
* parser/Parser.cpp:
(JSC::Parser<LexerType>::Parser): Avoid copying object containing a string
each loop iteration.

../WebCore:

* css/StyleResolver.cpp:
(WebCore::StyleResolver::loadPendingSVGDocuments): Avoid creating/destroying
RefPtrs in loop.

../WebKit2:

* Shared/WebCrossThreadCopier.cpp:
(WebCore::Vector<Vector<IDBKeyData>>>::copy): Each iteration copies a vector of
vectors,
* Shared/mac/RemoteLayerBackingStore.mm:
(RemoteLayerBackingStore::enumerateRectsBeingDrawn): Avoid copying a FloatRect
on each iteration.
* Shared/mac/RemoteLayerTreePropertyApplier.mm:
(WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer): Avoid copying
a LayerProperty object each iteration.
* UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
(WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests): Avoid
copying a pair<int64_t, pointer> each iteration.
* UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
(WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests): Ditto
* UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers): Ditto
* UIProcess/WebContext.cpp:
(WebKit::WebContext::postMessageToInjectedBundle): Avoid creating/destroying a
RefPtr each loop iteration.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::shouldStartTrackingTouchEvents): Avoid copying a WebPlatformTouchPoint
object each cycle.
* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::updateLayerTree): Avoid copying a pair each iteration.
* UIProcess/mac/WindowServerConnection.mm:
(WebKit::WindowServerConnection::WindowServerConnection): Avoid copying the struct
of occlusionNotificationHandlers each iteration.
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
(WebKit::WebIDBServerConnection::put): Avoid copying a vector-of-vectors each
iteration.
* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(PlatformCALayerRemote::recursiveBuildTransaction): Avoid creating/destroying a
RefPtr each loop iteration.

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

7 years agoUpdate the HTML Media Capture implementation.
rakuco@webkit.org [Wed, 12 Feb 2014 14:58:40 +0000 (14:58 +0000)]
Update the HTML Media Capture implementation.
https://bugs.webkit.org/show_bug.cgi?id=118465

Reviewed by Darin Adler.

Make the implementation in WebKit compatible with the 2013-05-09
version of the spec, which makes the "capture" attribute a boolean
instead of an enum.

Source/WebCore:

Covered by fast/forms/file/file-input-capture.html.

* html/FileInputType.cpp:
(WebCore::FileInputType::handleDOMActivateEvent):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::capture): Renamed to shouldUseMediaCapture().
(WebCore::HTMLInputElement::shouldUseMediaCapture): Return a bool.
* html/HTMLInputElement.h:
* html/HTMLInputElement.idl: Turn the `capture' attribute into a
reflective boolean instead of a DOMString.
* platform/FileChooser.h:

Source/WebKit/efl:

* ewk/ewk_file_chooser.cpp:
(ewk_file_chooser_capture_get): Return an Eina_Bool now.
* ewk/ewk_file_chooser.h: Get rid of Ewk_File_Chooser_Capture_Type.

Source/WebKit2:

* Shared/WebOpenPanelParameters.cpp:
(WebKit::WebOpenPanelParameters::capture): Return a bool.
* Shared/WebOpenPanelParameters.h: Ditto.
* UIProcess/API/C/WKOpenPanelParameters.cpp:
(WKOpenPanelParametersCopyCapture): Deprecate, the implementation is
incompatible with the current version of the spec.
(WKOpenPanelParametersGetCaptureEnabled): Add and return a bool.
* UIProcess/API/C/WKOpenPanelParameters.h:

LayoutTests:

* fast/forms/file/file-input-capture-expected.txt:
* fast/forms/file/file-input-capture.html:

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

7 years ago[CSS Regions] Remove unused method in RenderFlowThread
stavila@adobe.com [Wed, 12 Feb 2014 13:31:22 +0000 (13:31 +0000)]
[CSS Regions] Remove unused method in RenderFlowThread
https://bugs.webkit.org/show_bug.cgi?id=128373

Reviewed by Mihnea Ovidenie.

After the landing of https://bugs.webkit.org/show_bug.cgi?id=118665, the
RenderFlowThread::computeRegionClippingRect method is obsolete.

No new tests needed, this patch only removes an unused method.

* rendering/RenderFlowThread.cpp:
* rendering/RenderFlowThread.h:

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