WebKit-https.git
5 years agoadvanceByCombiningCharacterSequence() can be simplified
mmaxfield@apple.com [Tue, 24 Jun 2014 23:32:31 +0000 (23:32 +0000)]
advanceByCombiningCharacterSequence() can be simplified
https://bugs.webkit.org/show_bug.cgi?id=133591

Reviewed by Dean Jackson.

Use U16_NEXT() because it already does what we're trying to do.

No new tests because there is no behavior change.

* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::advanceByCombiningCharacterSequence):

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

5 years agoEnable GAMEPAD in the Mac build, but disabled at runtime.
beidson@apple.com [Tue, 24 Jun 2014 23:17:22 +0000 (23:17 +0000)]
Enable GAMEPAD in the Mac build, but disabled at runtime.
https://bugs.webkit.org/show_bug.cgi?id=134255

Reviewed by Dean Jackson.

Source/JavaScriptCore:
* Configurations/FeatureDefines.xcconfig:

* runtime/JSObject.h: Export JSObject::removeDirect() to allow disabling
  functions at runtime.

Source/WebCore:
No new tests (No changes to a tested config).

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation): Add the ability to have a function be EnabledAtRuntime by
  removing such functions from the prototype if they are disabled.

Change the three new objects and the one new function to be EnabledAtRuntime
* Modules/gamepad/Gamepad.idl:
* Modules/gamepad/GamepadButton.idl:
* Modules/gamepad/GamepadEvent.idl:
* Modules/gamepad/NavigatorGamepad.idl:

Add a RuntimeEnabledFeature for Gamepads:
* bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setGamepadsEnabled):
(WebCore::RuntimeEnabledFeatures::gamepadsEnabled):

* Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:
* Configurations/FeatureDefines.xcconfig:

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences gamepadsEnabled]):
(-[WebPreferences setGamepadsEnabled:]):
* WebView/WebPreferencesPrivate.h:

* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit2:
* Configurations/FeatureDefines.xcconfig:

* Shared/WebPreferencesDefinitions.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetGamepadsEnabled):
(WKPreferencesGetGamepadsEnabled):
* UIProcess/API/C/WKPreferencesRefPrivate.h:

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

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

5 years agoCSS JIT: Add positionInRootFragments to SelectorFragment
utatane.tea@gmail.com [Tue, 24 Jun 2014 22:56:41 +0000 (22:56 +0000)]
CSS JIT: Add positionInRootFragments to SelectorFragment
https://bugs.webkit.org/show_bug.cgi?id=133609

Reviewed by Benjamin Poulain.

Some non-backtrack-related predicates use relationToRightFragment information
to decide whether checkingContext->elementStyle should be refered.
To make it works correctly, add the positionInRootFragments field to SelectorFragment.
When positionInRootFragments == Rightmost and relationToRightFragment == Rightmost,
we should see checkingContext->elementStyle.

Source/WebCore:
Test: fast/selectors/first-child-update-with-renderer.html

* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::shouldUseRenderStyleFromCheckingContext):
(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
(WebCore::SelectorCompiler::constructFragments):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsActive):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsFirstChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsHovered):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsLastChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsOnlyChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):

LayoutTests:
* fast/selectors/first-child-update-with-renderer-expected.txt: Added.
* fast/selectors/first-child-update-with-renderer.html: Added.

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

5 years ago[Fullscreen][Mac] WKView is not firstResponder after entering fullscreen mode
jer.noble@apple.com [Tue, 24 Jun 2014 22:38:34 +0000 (22:38 +0000)]
[Fullscreen][Mac] WKView is not firstResponder after entering fullscreen mode
https://bugs.webkit.org/show_bug.cgi?id=134270

Reviewed by Jon Honeycutt.

The WebCoreFullScreenWindow's firstResponder is reset when the full screen animation completes and
the window's style is changed to a fullscreen style. Save the firstResponder, and if it's still in
the window's view hierarchy after the style changes, reset it to the firstResponder.

* platform/mac/WebCoreFullScreenWindow.mm:
(-[WebCoreFullScreenWindow setStyleMask:]):

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

5 years ago[MSE][Mac] Pass AVSampleBufferDisplayLayer HDCP status through to EME
jer.noble@apple.com [Tue, 24 Jun 2014 22:33:38 +0000 (22:33 +0000)]
[MSE][Mac] Pass AVSampleBufferDisplayLayer HDCP status through to EME
https://bugs.webkit.org/show_bug.cgi?id=134221

Reviewed by Eric Carlson.

Pass the outputObscuredDueToInsufficientExternalProtection property of AVSampleBufferDisplayLayer
as an error to the associated MediaKeySession object.

* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(-[WebAVSampleBufferErrorListener invalidate]):
(-[WebAVSampleBufferErrorListener beginObservingLayer:]):
(-[WebAVSampleBufferErrorListener observeValueForKeyPath:ofObject:change:context:]):

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

5 years agoAdd support for v0 legacy decoding
andersca@apple.com [Tue, 24 Jun 2014 22:32:33 +0000 (22:32 +0000)]
Add support for v0 legacy decoding
https://bugs.webkit.org/show_bug.cgi?id=134275

Reviewed by Andreas Kling.

* Shared/SessionState.h:
* UIProcess/mac/LegacySessionStateCoding.cpp:
(WebKit::LegacySessionStateDecoder::decodeV0SessionHistory):
(WebKit::LegacySessionStateDecoder::decodeV1SessionHistory):

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

5 years agoAdd SPI for clearing an entire back-forward list
andersca@apple.com [Tue, 24 Jun 2014 22:24:23 +0000 (22:24 +0000)]
Add SPI for clearing an entire back-forward list
https://bugs.webkit.org/show_bug.cgi?id=134274

Reviewed by Dan Bernstein.

Add -[WKBackForwardList _clear] which only clears the back-forward items, and
change -[WKBackForwardList _removeAllItems] to remove all items including the current one.

* UIProcess/API/Cocoa/WKBackForwardList.mm:
(-[WKBackForwardList _removeAllItems]):
(-[WKBackForwardList _clear]):
* UIProcess/API/Cocoa/WKBackForwardListPrivate.h:
* UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::removeAllItems):
* UIProcess/WebBackForwardList.h:

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

5 years agoAdd iOS specific frame state member variables
andersca@apple.com [Tue, 24 Jun 2014 22:02:54 +0000 (22:02 +0000)]
Add iOS specific frame state member variables
https://bugs.webkit.org/show_bug.cgi?id=134268

Reviewed by Andreas Kling.

* Shared/SessionState.cpp:
(WebKit::FrameState::encode):
(WebKit::FrameState::decode):
* Shared/SessionState.h:
* UIProcess/mac/LegacySessionStateCoding.cpp:
(WebKit::HistoryEntryDataDecoder::operator>>):
(WebKit::decodeBackForwardTreeNode):
* WebProcess/WebCoreSupport/SessionStateConversion.cpp:
(WebKit::toFrameState):
(WebKit::applyFrameState):

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

5 years agoUse unsigneds instead of ints for indexes into a string in text layout code
mmaxfield@apple.com [Tue, 24 Jun 2014 21:04:15 +0000 (21:04 +0000)]
Use unsigneds instead of ints for indexes into a string in text layout code
https://bugs.webkit.org/show_bug.cgi?id=133592

Reviewed by Zalan Bujtas.

Migrate much of the text-handling code to use unsigneds for indexes into a string.

No new tests because there is no behavior change.

* WebCore.exp.in:
* platform/graphics/Font.cpp:
(WebCore::Font::drawText):
(WebCore::Font::drawEmphasisMarks):
(WebCore::Font::adjustSelectionRectForText):
(WebCore::computeUnderlineType):
* platform/graphics/Font.h:
* platform/graphics/FontFastPath.cpp:
(WebCore::Font::getGlyphsAndAdvancesForSimpleText):
(WebCore::Font::drawSimpleText):
(WebCore::Font::drawEmphasisMarksForSimpleText):
(WebCore::Font::drawGlyphBuffer):
(WebCore::Font::drawEmphasisMarks):
(WebCore::Font::adjustSelectionRectForSimpleText):
* platform/graphics/GlyphBuffer.h:
(WebCore::GlyphBuffer::size):
(WebCore::GlyphBuffer::glyphs):
(WebCore::GlyphBuffer::advances):
(WebCore::GlyphBuffer::fontDataAt):
(WebCore::GlyphBuffer::advanceAt):
(WebCore::GlyphBuffer::offsetAt):
(WebCore::GlyphBuffer::reverse):
(WebCore::GlyphBuffer::offsetInString):
(WebCore::GlyphBuffer::swap):
* platform/graphics/GraphicsContext.cpp:
(WebCore::TextRunIterator::atEnd):
* platform/graphics/Latin1TextIterator.h:
(WebCore::Latin1TextIterator::Latin1TextIterator):
(WebCore::Latin1TextIterator::currentCharacter):
* platform/graphics/SimpleFontData.h:
* platform/graphics/SurrogatePairAwareTextIterator.cpp:
(WebCore::SurrogatePairAwareTextIterator::SurrogatePairAwareTextIterator):
* platform/graphics/SurrogatePairAwareTextIterator.h:
(WebCore::SurrogatePairAwareTextIterator::currentCharacter):
* platform/graphics/TextRun.h:
(WebCore::TextRun::length):
(WebCore::TextRun::charactersLength):
* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::glyphDataForCharacter):
(WebCore::applyFontTransforms):
(WebCore::WidthIterator::advanceInternal):
(WebCore::WidthIterator::advance):
(WebCore::WidthIterator::advanceOneCharacter):
* platform/graphics/WidthIterator.h:
* platform/graphics/cairo/FontCairo.cpp:
(WebCore::Font::drawGlyphs):
* platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:
(WebCore::Font::drawComplexText):
(WebCore::Font::drawEmphasisMarksForComplexText):
(WebCore::Font::adjustSelectionRectForComplexText):
* platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
(WebCore::HarfBuzzShaper::setNormalizedBuffer):
* platform/graphics/mac/FontComplexTextMac.cpp:
(WebCore::Font::adjustSelectionRectForComplexText):
(WebCore::Font::getGlyphsAndAdvancesForComplexText):
(WebCore::Font::drawComplexText):
(WebCore::Font::drawEmphasisMarksForComplexText):
* platform/graphics/mac/FontMac.mm:
(WebCore::Font::drawGlyphs):
* platform/graphics/win/FontCGWin.cpp:
(WebCore::Font::drawGlyphs):
* platform/graphics/win/FontWin.cpp:
(WebCore::Font::adjustSelectionRectForComplexText):
(WebCore::Font::getGlyphsAndAdvancesForComplexText):
(WebCore::Font::drawComplexText):
(WebCore::Font::drawEmphasisMarksForComplexText):
* platform/graphics/wince/FontWinCE.cpp:
(WebCore::Font::drawGlyphs):
(WebCore::Font::drawComplexText):
(WebCore::Font::drawEmphasisMarksForComplexText):
(WebCore::Font::selectionRectForComplexText):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::isSelected):
(WebCore::InlineTextBox::selectionState):
(WebCore::adjustCharactersAndLengthForHyphen):
(WebCore::InlineTextBox::localSelectionRect):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::selectionStartEnd):
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::paintCompositionBackground):
(WebCore::InlineTextBox::paintDocumentMarker):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::computeRectForReplacementMarker):
(WebCore::InlineTextBox::paintCompositionUnderline):
(WebCore::InlineTextBox::positionForOffset):
(WebCore::InlineTextBox::constructTextRun):
* rendering/InlineTextBox.h:
* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::getStringToRender):
* rendering/RenderCombineText.h:
* rendering/svg/SVGInlineFlowBox.cpp:
(WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
* rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::positionForOffset):
(WebCore::SVGInlineTextBox::localSelectionRect):
(WebCore::SVGInlineTextBox::paintSelectionBackground):
(WebCore::SVGInlineTextBox::mapStartEndPositionsIntoFragmentCoordinates):
(WebCore::SVGInlineTextBox::paintText):
* rendering/svg/SVGInlineTextBox.h:
* rendering/svg/SVGTextMetricsBuilder.cpp:
(WebCore::SVGTextMetricsBuilder::currentCharacterStartsSurrogatePair):
(WebCore::SVGTextMetricsBuilder::advance):
* rendering/svg/SVGTextQuery.cpp:
(WebCore::SVGTextQuery::mapStartEndPositionsIntoFragmentCoordinates):
(WebCore::SVGTextQuery::modifyStartEndPositionsRespectingLigatures):
(WebCore::SVGTextQuery::subStringLengthCallback):
(WebCore::SVGTextQuery::startPositionOfCharacterCallback):
(WebCore::SVGTextQuery::endPositionOfCharacterCallback):
(WebCore::SVGTextQuery::rotationOfCharacterCallback):
(WebCore::SVGTextQuery::extentOfCharacterCallback):
(WebCore::SVGTextQuery::characterNumberAtPositionCallback):
* rendering/svg/SVGTextQuery.h:
* rendering/svg/SVGTextRunRenderingContext.cpp:
(WebCore::SVGGlyphToPathTranslator::SVGGlyphToPathTranslator):
(WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):
* rendering/svg/SVGTextRunRenderingContext.h:
* svg/SVGFontData.cpp:
(WebCore::SVGFontData::applySVGGlyphSelection):
* svg/SVGFontData.h:

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

5 years agoWeb Inspector: TypeError when hovering over "Show All Nodes" button in the Dom Tree...
jonowells@apple.com [Tue, 24 Jun 2014 20:59:51 +0000 (20:59 +0000)]
Web Inspector: TypeError when hovering over "Show All Nodes" button in the Dom Tree inspector
https://bugs.webkit.org/show_bug.cgi?id=133699

Reviewed by Geoffrey Garen.

The call to element._createTooltipForNode() was failing because element was sometimes not a
DOMTreeOutline but rather only a TreeElement (in the case of the "Show All Nodes" button specifically).
A check for type fixes this issue.

* UserInterface/Views/DOMTreeOutline.js:
(WebInspector.DOMTreeOutline.prototype._onmousemove): Check for presence of _createTooltipForNode.

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

5 years agoiOS WebKit2: block selection tends to prefer block to single words even when the...
enrica@apple.com [Tue, 24 Jun 2014 20:45:00 +0000 (20:45 +0000)]
iOS WebKit2: block selection tends to prefer block to single words even when the page is zoomed.
https://bugs.webkit.org/show_bug.cgi?id=134267
<rdar://problem/17138059>

Reviewed by Benjamin Poulain.

When trying to find the best selection match for the position where the tap occurs,
we need to take into account the page scale. This patch applies the scale factor
to the selection rect before comparing it with the desired size.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::rangeForWebSelectionAtPosition):

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

5 years agoAdd code to convert HistoryItem to PageState
andersca@apple.com [Tue, 24 Jun 2014 20:40:59 +0000 (20:40 +0000)]
Add code to convert HistoryItem to PageState
https://bugs.webkit.org/show_bug.cgi?id=134263

Reviewed by Andreas Kling.

* WebProcess/WebCoreSupport/SessionStateConversion.cpp:
(WebKit::toHTTPBody):
(WebKit::toFrameState):
(WebKit::toPageState):
* WebProcess/WebCoreSupport/SessionStateConversion.h:

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

5 years agoREGRESSION (r169703): Invalid cast in JSC::asGetterSetter / JSC::JSObject::defineOwnN...
mhahnenberg@apple.com [Tue, 24 Jun 2014 20:29:27 +0000 (20:29 +0000)]
REGRESSION (r169703): Invalid cast in JSC::asGetterSetter / JSC::JSObject::defineOwnNonIndexProperty
https://bugs.webkit.org/show_bug.cgi?id=134046

Reviewed by Filip Pizlo.

* runtime/GetterSetter.h:
(JSC::asGetterSetter):
* runtime/JSObject.cpp:
(JSC::JSObject::defineOwnNonIndexProperty): We need to check for a CustomGetterSetter here as well as
a normal GetterSetter. If we encounter a CustomGetterSetter, we delete it, create a new normal GetterSetter,
and insert it like normal. We also need to check for CustomAccessors when checking for unconfigurable properties.

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

5 years ago[iOS WebKit2] Disable screen font substitution by default.
akling@apple.com [Tue, 24 Jun 2014 20:18:15 +0000 (20:18 +0000)]
[iOS WebKit2] Disable screen font substitution by default.
<https://webkit.org/b/134266>
<rdar://problem/17427740>

Just like OS X >= 10.9, screen font substitution should be disabled
by default in WebKit2 for iOS.

Reviewed by Anders Carlsson.

* Shared/WebPreferencesDefinitions.h:

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

5 years agoUnreviewed build fix.
eric.carlson@apple.com [Tue, 24 Jun 2014 19:59:58 +0000 (19:59 +0000)]
Unreviewed build fix.

* platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
(WebCore::InbandTextTrackPrivateAVF::processNativeSamples): Cast variadic argument to int.

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

5 years ago[Win] MSVC mishandles enums in bitfields
bfulgham@apple.com [Tue, 24 Jun 2014 19:49:25 +0000 (19:49 +0000)]
[Win] MSVC mishandles enums in bitfields
https://bugs.webkit.org/show_bug.cgi?id=134237

Reviewed by Michael Saboff.

Replace uses of enum types in bit fields with unsigned to
avoid losing a bit to hold the sign value. This can result
in Windows interpreting the value of the field improperly.

../JavaScriptCore:
* bytecode/StructureStubInfo.h:
* parser/Nodes.h:

../WebCore:
* loader/ResourceLoaderOptions.h:
* platform/network/ResourceRequestBase.h:
* platform/network/cf/ResourceResponse.h:
* rendering/RenderLayer.h:
* rendering/RenderMarquee.h:

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

5 years agoTry to fix build.
antti@apple.com [Tue, 24 Jun 2014 19:38:01 +0000 (19:38 +0000)]
Try to fix build.

* WebCore.exp.in: Remove duplicate export, this should be in the iOS section only.

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

5 years ago[Mac] process raw VTT in-band captions
eric.carlson@apple.com [Tue, 24 Jun 2014 19:35:47 +0000 (19:35 +0000)]
[Mac] process raw VTT in-band captions
https://bugs.webkit.org/show_bug.cgi?id=134178

Reviewed by Jer Noble.

* CMakeLists.txt: Add ISOVTTCue.cpp|h.
* WebCore.vcxproj/WebCore.vcxproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.

* html/track/BufferedLineReader.h:
(WebCore::BufferedLineReader::reset): New, empty the input buffer.

Make it possible to process WebVTT captions.
* html/track/InbandGenericTextTrack.cpp:
(WebCore::InbandGenericTextTrack::parser): Allocate, if necessary, and return a WebVTT parser.
(WebCore::InbandGenericTextTrack::parseWebVTTCueData): Pass a cue to the parser.
(WebCore::InbandGenericTextTrack::parseWebVTTFileHeader): Pass a VTT file header to the parser.
(WebCore::InbandGenericTextTrack::newCuesParsed): Parser callback.
(WebCore::InbandGenericTextTrack::newRegionsParsed): Ditto.
(WebCore::InbandGenericTextTrack::fileFailedToParse): Ditto.
* html/track/InbandGenericTextTrack.h:

* html/track/InbandTextTrack.h:

* html/track/InbandWebVTTTextTrack.cpp:
(WebCore::InbandWebVTTTextTrack::parser): New, parser accessor.
(WebCore::InbandWebVTTTextTrack::parseWebVTTCueData): New, parse VTT data in an ISOWebVTTCue
    object.
(WebCore::InbandWebVTTTextTrack::newCuesParsed): Cleanup.
(WebCore::InbandWebVTTTextTrack::newRegionsParsed): Implement.
(WebCore::InbandWebVTTTextTrack::fileFailedToParse): Change the error message.
* html/track/InbandWebVTTTextTrack.h:

* html/track/TextTrackCueGeneric.cpp:
(WebCore::TextTrackCueGenericBoxElement::TextTrackCueGenericBoxElement): Change cue parameter
    from a pointer to a reference.
(WebCore::TextTrackCueGeneric::createDisplayTree): Ditto.

* html/track/VTTCue.cpp:
(WebCore::VTTCueBox::create): Change cue parameter from a pointer to a reference.
(WebCore::VTTCueBox::VTTCueBox): Ditto.
(WebCore::VTTCueBox::getCue): Return a reference.
(WebCore::VTTCueBox::applyCSSProperties): m_cue is a reference, not a pointer.
(WebCore::VTTCue::create): New, create a VTTCue from WebVTTCueData.
(WebCore::VTTCue::VTTCue): New, internal constructor that takes a WebVTTCueData.
(WebCore::VTTCue::initialize): New, shared constructor initialization.
(WebCore::VTTCue::createDisplayTree): m_cue is a reference, not a pointer.
(WebCore::VTTCue::markFutureAndPastNodes): Ditto.
(WebCore::VTTCue::setCueSettings): Ditto.
* html/track/VTTCue.h:
(WebCore::VTTCueBox::create): Deleted.
(WebCore::VTTCue::create): Deleted.

* html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::parseFileHeader): New. Reset the line reader buffer and parser state,
    call the parser.
(WebCore::WebVTTParser::parseCueData): Create a cue from ISOWebVTTCue.
(WebCore::WebVTTParser::collectTimingsAndSettings): Return immediately if the string is empty.
(WebCore::WebVTTParser::collectTimeStamp): Ditto.
* html/track/WebVTTParser.h:
(WebCore::WebVTTCueData::originalStartTime): New.
(WebCore::WebVTTCueData::setOriginalStartTime): New.
(WebCore::WebVTTCueData::WebVTTCueData):

* loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::getNewCues): Cleanup, use the new VTTCue::create.

Parse ISO WebVTT cue boxes.
* platform/graphics/ISOVTTCue.cpp: Added.
(WebCore::ISOBox::ISOBox):
(WebCore::ISOBox::peekType):
(WebCore::ISOBox::peekLength):
(WebCore::ISOBox::peekString):
(WebCore::vttCueBoxType):
(WebCore::vttIdBoxType):
(WebCore::vttSettingsBoxType):
(WebCore::vttPayloadBoxType):
(WebCore::vttCurrentTimeBoxType):
(WebCore::vttCueSourceIDBoxType):
(WebCore::ISOWebVTTCue::boxType):
(WebCore::ISOWebVTTCue::ISOWebVTTCue):
* platform/graphics/ISOVTTCue.h: Added.
(WebCore::ISOBox::boxHeaderSize):
(WebCore::ISOBox::length):
(WebCore::ISOBox::type):
(WebCore::ISOWebVTTCue::presentationTime):
(WebCore::ISOWebVTTCue::duration):
(WebCore::ISOWebVTTCue::sourceID):
(WebCore::ISOWebVTTCue::id):
(WebCore::ISOWebVTTCue::originalStartTime):
(WebCore::ISOWebVTTCue::settings):
(WebCore::ISOWebVTTCue::cueText):

* platform/graphics/InbandTextTrackPrivateClient.h:
(WebCore::InbandTextTrackPrivateClient::parseWebVTTFileHeader): New.

* platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
(WebCore::InbandTextTrackPrivateAVF::InbandTextTrackPrivateAVF): Add a cue format parameter.
(WebCore::InbandTextTrackPrivateAVF::processCue): Call processNativeSamples.
(WebCore::InbandTextTrackPrivateAVF::processAttributedStrings): Add logging. Minor cleanup.
(WebCore::InbandTextTrackPrivateAVF::processNativeSamples): New, process an array of
    CMSampleBuffers, create ISOWebVTTCue from the sample data.
* platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:

* platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.cpp:
(WebCore::InbandTextTrackPrivateAVCF::InbandTextTrackPrivateAVCF):
* platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.h:
(WebCore::InbandTextTrackPrivateAVCF::create):
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::MediaPlayerPrivateAVFoundationCF::processMediaSelectionOptions):
(WebCore::LegibleOutputData::LegibleOutputData):
(WebCore::AVFWrapper::processCue):
(WebCore::AVFWrapper::legibleOutputCallback):

* platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h:
(WebCore::InbandTextTrackPrivateAVFObjC::create): Add a cue format parameter.
* platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
(WebCore::InbandTextTrackPrivateAVFObjC::InbandTextTrackPrivateAVFObjC): Ditto.

* platform/graphics/avfoundation/InbandTextTrackPrivateLegacyAVFObjC.cpp:
(WebCore::InbandTextTrackPrivateLegacyAVFObjC::InbandTextTrackPrivateLegacyAVFObjC): Pass cue
    format to base class.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Improve logging.
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Don't leak an NSDictionary.
(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Don't process media selection
    options until we have tracks.
(WebCore::MediaPlayerPrivateAVFoundationObjC::processMediaSelectionOptions):
(WebCore::MediaPlayerPrivateAVFoundationObjC::processCue): Pass native samples as well as
    attributed strings to track.
(-[WebCoreAVFMovieObserver legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:]):
* platform/graphics/avfoundation/objc/OutOfBandTextTrackPrivateAVF.h:
(WebCore::OutOfBandTextTrackPrivateAVF::OutOfBandTextTrackPrivateAVF):

* platform/graphics/avfoundation/objc/OutOfBandTextTrackPrivateAVF.h:
(WebCore::OutOfBandTextTrackPrivateAVF::OutOfBandTextTrackPrivateAVF):

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

5 years agoAdd PageState to HistoryItem conversion code
andersca@apple.com [Tue, 24 Jun 2014 19:18:49 +0000 (19:18 +0000)]
Add PageState to HistoryItem conversion code
https://bugs.webkit.org/show_bug.cgi?id=134259

Reviewed by Andreas Kling.

Source/WebKit2:
* Shared/SessionState.h:
* UIProcess/mac/LegacySessionStateCoding.cpp:
(WebKit::decodeBackForwardTreeNode):
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebCoreSupport/SessionStateConversion.cpp: Added.
(WebKit::toFormData):
(WebKit::applyFrameState):
(WebKit::toHistoryItem):
* WebProcess/WebCoreSupport/SessionStateConversion.h: Added.

Source/WTF:
* wtf/Optional.h:
(WTF::Optional::valueOr):

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

5 years agoOnly flush layers when the exposed rect actually changes
antti@apple.com [Tue, 24 Jun 2014 19:09:11 +0000 (19:09 +0000)]
Only flush layers when the exposed rect actually changes
https://bugs.webkit.org/show_bug.cgi?id=134248

Reviewed by Anders Carlsson.

Source/WebCore:
* WebCore.exp.in:

Source/WebKit2:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::setExposedContentRect):

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

5 years agoRemove references to "Shader.h" which doesn't currently exist in the project.
beidson@apple.com [Tue, 24 Jun 2014 18:23:10 +0000 (18:23 +0000)]
Remove references to "Shader.h" which doesn't currently exist in the project.

Rubberstamped by Andreas Kling.

* WebCore.xcodeproj/project.pbxproj:

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

5 years ago[iOS] DOMWindow::outerWidth and outerHeight don't return useful values, so return 0.
mhock@apple.com [Tue, 24 Jun 2014 17:44:48 +0000 (17:44 +0000)]
[iOS] DOMWindow::outerWidth and outerHeight don't return useful values, so return 0.
Also, revert r169281.
https://bugs.webkit.org/show_bug.cgi?id=134233
<rdar://problem/17060183>

Reviewed by Benjamin Poulain.

Source/WebCore:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::outerHeight):
(WebCore::DOMWindow::outerWidth):

Source/WebKit2:
* UIProcess/Cocoa/UIDelegate.h:
* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::UIClient::windowFrame): Deleted.
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::convertToUserSpace):

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

5 years agoFixed the iOS build after r170358.
mitz@apple.com [Tue, 24 Jun 2014 17:29:11 +0000 (17:29 +0000)]
Fixed the iOS build after r170358.

* WebView/WebView.mm:
(kit):

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

5 years agoInitialize WKWebViewConfiguration properties to their default values.
commit-queue@webkit.org [Tue, 24 Jun 2014 17:24:17 +0000 (17:24 +0000)]
Initialize WKWebViewConfiguration properties to their default values.
https://bugs.webkit.org/show_bug.cgi?id=134216

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-06-24
Reviewed by Anders Carlsson.

* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]):
add -init method to initialize _mediaPlaybackRequiresUserAction and _mediaPlaybackAllowsAirPlay.

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

5 years agoDon't set AudioSession active while interrupted.
commit-queue@webkit.org [Tue, 24 Jun 2014 17:20:36 +0000 (17:20 +0000)]
Don't set AudioSession active while interrupted.
https://bugs.webkit.org/show_bug.cgi?id=134239

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-06-24
Reviewed by Eric Carlson.

To activate the AudioSession there must be a session with audio or video
and being playing or paused.

* platform/audio/MediaSessionManager.cpp:
(WebCore::MediaSessionManager::hasActive): added
(WebCore::MediaSessionManager::beginInterruption): updateSessionState
(WebCore::MediaSessionManager::sessionWillBeginPlayback): updateSessionState
* platform/audio/MediaSessionManager.h: declare hasActive()
* platform/audio/mac/MediaSessionManagerMac.cpp:
(MediaSessionManager::updateSessionState): use hasActive()

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

5 years agoAdd missing semicolon.
andersca@apple.com [Tue, 24 Jun 2014 17:18:26 +0000 (17:18 +0000)]
Add missing semicolon.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _updateVisibleContentRects]):

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

5 years agoRemove unused history visit code from WebHistoryItem
andersca@apple.com [Tue, 24 Jun 2014 17:17:27 +0000 (17:17 +0000)]
Remove unused history visit code from WebHistoryItem
https://bugs.webkit.org/show_bug.cgi?id=134201

Reviewed by Sam Weinig.

* History/HistoryPropertyList.h:
* History/HistoryPropertyList.mm:
(HistoryPropertyListWriter::HistoryPropertyListWriter):
(HistoryPropertyListWriter::writeHistoryItem):
* History/WebHistory.mm:
(-[WebHistoryPrivate visitedURL:withTitle:]):
(-[WebHistoryPrivate addItem:discardDuplicate:]):
(-[WebHistory _visitedURL:withTitle:method:wasFailure:]):
(-[WebHistoryPrivate visitedURL:withTitle:increaseVisitCount:]): Deleted.
(-[WebHistory _visitedURL:withTitle:method:wasFailure:increaseVisitCount:]): Deleted.
* History/WebHistoryInternal.h:
* History/WebHistoryItem.mm:
(-[WebHistoryItem copyWithZone:]):
(-[WebHistoryItem initFromDictionaryRepresentation:]):
(-[WebHistoryItem _visitedWithTitle:]):
(-[WebHistoryItem setVisitCount:]): Deleted.
(-[WebHistoryItem _mergeAutoCompleteHints:]): Deleted.
(-[WebHistoryItem _visitedWithTitle:increaseVisitCount:]): Deleted.
(-[WebHistoryItem _recordInitialVisit]): Deleted.
(timeToDay): Deleted.
(-[WebHistoryItem _padDailyCountsForNewVisit:]): Deleted.
(-[WebHistoryItem _collapseDailyVisitsToWeekly]): Deleted.
(-[WebHistoryItem _recordVisitAtTime:increaseVisitCount:]): Deleted.
(-[WebHistoryItem _setLastVisitedTimeInterval:]): Deleted.
* History/WebHistoryItemInternal.h:
* History/WebHistoryItemPrivate.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::updateGlobalHistory):

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

5 years agoREGRESSION(r170336): Crash in HTMLMediaElement::seekTimerFired()
jer.noble@apple.com [Tue, 24 Jun 2014 17:05:09 +0000 (17:05 +0000)]
REGRESSION(r170336): Crash in HTMLMediaElement::seekTimerFired()
https://bugs.webkit.org/show_bug.cgi?id=134253

Rubber-stamped by Eric Carlson.

Now that seekWithTolerance() has been split up into an asyncronous section, the null-checks in seekWithTolerance()
need to be re-performed in seekTimerFired(), in case the m_player has been cleared between when the seek was initiated
and when the asynchronous section is performed.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::seekTimerFired):

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

5 years agoUnreviewed, update my list of email addresses.
mahesh.kulkarni@nokia.com [Tue, 24 Jun 2014 16:47:33 +0000 (16:47 +0000)]
Unreviewed, update my list of email addresses.

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

5 years ago[Win] Clean up and refactor WinLauncher
bfulgham@apple.com [Tue, 24 Jun 2014 16:18:53 +0000 (16:18 +0000)]
[Win] Clean up and refactor WinLauncher
https://bugs.webkit.org/show_bug.cgi?id=134209

Reviewed by Tim Thorton.

Relanding r170339 and r170340 with correct WinLauncher.h file.

* WinLauncher/Common.cpp: Copied from WinLauncher/WinLauncher.cpp.
(PrintView):
(ToggleMenuItem):
(WndProc):
(BackButtonProc):
(ForwardButtonProc):
(loadURL):
(shouldUseFullDesktop): Deleted.
(SimpleEventListener::SimpleEventListener): Deleted.
(SimpleEventListener::handleEvent): Deleted.
(WinLauncherWebHost::updateAddressBar): Deleted.
(WinLauncherWebHost::didFailProvisionalLoadWithError): Deleted.
(WinLauncherWebHost::QueryInterface): Deleted.
(WinLauncherWebHost::AddRef): Deleted.
(WinLauncherWebHost::Release): Deleted.
(updateMenuItemForHistoryItem): Deleted.
(showLastVisitedSites): Deleted.
(WinLauncherWebHost::didFinishLoadForFrame): Deleted.
(resizeSubViews): Deleted.
(setToDefaultPreferences): Deleted.
(wWinMain): Deleted.
(MyRegisterClass): Deleted.
(LaunchInspector): Deleted.
(NavigateForwardOrBackward): Deleted.
(NavigateToHistory): Deleted.
* WinLauncher/DOMDefaultImpl.cpp: Copied from WinLauncher/DOMDefaultImpl.h.
(DOMEventListener::Release):
(WebScriptObject::WebScriptObject): Deleted.
(WebScriptObject::~WebScriptObject): Deleted.
(WebScriptObject::throwException): Deleted.
(WebScriptObject::callWebScriptMethod): Deleted.
(WebScriptObject::evaluateWebScript): Deleted.
(WebScriptObject::removeWebScriptKey): Deleted.
(WebScriptObject::stringRepresentation): Deleted.
(WebScriptObject::webScriptValueAtIndex): Deleted.
(WebScriptObject::setWebScriptValueAtIndex): Deleted.
(WebScriptObject::setException): Deleted.
(DOMEventListener::throwException): Deleted.
(DOMEventListener::callWebScriptMethod): Deleted.
(DOMEventListener::evaluateWebScript): Deleted.
(DOMEventListener::removeWebScriptKey): Deleted.
(DOMEventListener::stringRepresentation): Deleted.
(DOMEventListener::webScriptValueAtIndex): Deleted.
(DOMEventListener::setWebScriptValueAtIndex): Deleted.
(DOMEventListener::setException): Deleted.
(DOMEventListener::handleEvent): Deleted.
* WinLauncher/DOMDefaultImpl.h:
(WebScriptObject::QueryInterface): Deleted.
(WebScriptObject::AddRef): Deleted.
(WebScriptObject::Release): Deleted.
(DOMObject::QueryInterface): Deleted.
(DOMEventListener::QueryInterface): Deleted.
(DOMEventListener::AddRef): Deleted.
(DOMEventListener::Release): Deleted.
* WinLauncher/WinLauncher.cpp:
(WinLauncher::WinLauncher):
(WinLauncher::init):
(WinLauncher::prepareViews):
(WinLauncher::setFrameLoadDelegate):
(WinLauncher::setUIDelegate):
(WinLauncher::setAccessibilityDelegate):
(WinLauncher::mainFrame):
(WinLauncher::seedInitialDefaultPreferences):
(WinLauncher::setToDefaultPreferences):
(updateMenuItemForHistoryItem):
(WinLauncher::showLastVisitedSites):
(WinLauncher::launchInspector):
(WinLauncher::navigateForwardOrBackward):
(WinLauncher::navigateToHistory):
(WinLauncher::goBack):
(WinLauncher::goForward):
(WinLauncher::loadURL):
(shouldUseFullDesktop): Deleted.
(SimpleEventListener::SimpleEventListener): Deleted.
(SimpleEventListener::handleEvent): Deleted.
(WinLauncherWebHost::updateAddressBar): Deleted.
(WinLauncherWebHost::didFailProvisionalLoadWithError): Deleted.
(WinLauncherWebHost::QueryInterface): Deleted.
(WinLauncherWebHost::AddRef): Deleted.
(WinLauncherWebHost::Release): Deleted.
(showLastVisitedSites): Deleted.
(WinLauncherWebHost::didFinishLoadForFrame): Deleted.
(resizeSubViews): Deleted.
(subclassForLayeredWindow): Deleted.
(computeFullDesktopFrame): Deleted.
(DllMain): Deleted.
(getAppDataFolder): Deleted.
(setToDefaultPreferences): Deleted.
(setCacheFolder): Deleted.
(createCrashReport): Deleted.
(wWinMain): Deleted.
(MyRegisterClass): Deleted.
(AbortProc): Deleted.
(getPrinterDC): Deleted.
(initDocStruct): Deleted.
(PrintView): Deleted.
(ToggleMenuItem): Deleted.
(LaunchInspector): Deleted.
(NavigateForwardOrBackward): Deleted.
(NavigateToHistory): Deleted.
(WndProc): Deleted.
(EditProc): Deleted.
(BackButtonProc): Deleted.
(ForwardButtonProc): Deleted.
(About): Deleted.
(loadURL): Deleted.
(dllLauncherEntryPoint): Deleted.
* WinLauncher/WinLauncher.h:
(WinLauncher::standardPreferences):
(WinLauncher::privatePreferences):
(WinLauncher::hasWebView):
(WinLauncher::usesLayeredWebView):
(WinLauncherWebHost::WinLauncherWebHost): Deleted.
(WinLauncherWebHost::didStartProvisionalLoadForFrame): Deleted.
(WinLauncherWebHost::didReceiveServerRedirectForProvisionalLoadForFrame): Deleted.
(WinLauncherWebHost::didCommitLoadForFrame): Deleted.
(WinLauncherWebHost::didReceiveTitle): Deleted.
(WinLauncherWebHost::didChangeIcons): Deleted.
(WinLauncherWebHost::didReceiveIcon): Deleted.
(WinLauncherWebHost::didFailLoadWithError): Deleted.
(WinLauncherWebHost::didChangeLocationWithinPageForFrame): Deleted.
(WinLauncherWebHost::willPerformClientRedirectToURL): Deleted.
(WinLauncherWebHost::didCancelClientRedirectForFrame): Deleted.
(WinLauncherWebHost::willCloseFrame): Deleted.
(WinLauncherWebHost::windowScriptObjectAvailable): Deleted.
(WinLauncherWebHost::didClearWindowObject): Deleted.
* WinLauncher/WinLauncher.vcxproj/WinLauncherLib.vcxproj:
* WinLauncher/WinLauncher.vcxproj/WinLauncherLib.vcxproj.filters:
* WinLauncher/WinLauncherReplace.h:
(processCrashReport):
* WinLauncher/WinLauncherWebHost.cpp: Copied from WinLauncher/WinLauncher.cpp.
(WinLauncherWebHost::updateAddressBar):
(WinLauncherWebHost::QueryInterface):
(WinLauncherWebHost::AddRef):
(WinLauncherWebHost::Release):
(WinLauncherWebHost::didFinishLoadForFrame):
(shouldUseFullDesktop): Deleted.
(updateMenuItemForHistoryItem): Deleted.
(showLastVisitedSites): Deleted.
(resizeSubViews): Deleted.
(subclassForLayeredWindow): Deleted.
(computeFullDesktopFrame): Deleted.
(DllMain): Deleted.
(getAppDataFolder): Deleted.
(setToDefaultPreferences): Deleted.
(setCacheFolder): Deleted.
(createCrashReport): Deleted.
(wWinMain): Deleted.
(MyRegisterClass): Deleted.
(AbortProc): Deleted.
(getPrinterDC): Deleted.
(initDocStruct): Deleted.
(PrintView): Deleted.
(ToggleMenuItem): Deleted.
(LaunchInspector): Deleted.
(NavigateForwardOrBackward): Deleted.
(NavigateToHistory): Deleted.
(WndProc): Deleted.
(EditProc): Deleted.
(BackButtonProc): Deleted.
(ForwardButtonProc): Deleted.
(About): Deleted.
(loadURL): Deleted.
(dllLauncherEntryPoint): Deleted.
* WinLauncher/WinLauncherWebHost.h: Copied from WinLauncher/WinLauncher.h.
(WinLauncherWebHost::WinLauncherWebHost):
(WinLauncherWebHost::didStartProvisionalLoadForFrame):
(WinLauncherWebHost::didReceiveServerRedirectForProvisionalLoadForFrame):
(WinLauncherWebHost::didCommitLoadForFrame):
(WinLauncherWebHost::didReceiveTitle):
(WinLauncherWebHost::didChangeIcons):
(WinLauncherWebHost::didReceiveIcon):
(WinLauncherWebHost::didFailLoadWithError):
(WinLauncherWebHost::didChangeLocationWithinPageForFrame):
(WinLauncherWebHost::willPerformClientRedirectToURL):
(WinLauncherWebHost::didCancelClientRedirectForFrame):
(WinLauncherWebHost::willCloseFrame):
(WinLauncherWebHost::windowScriptObjectAvailable):
(WinLauncherWebHost::didClearWindowObject):
* WinLauncher/WinMain.cpp: Copied from WinLauncher/WinLauncher.cpp.
(wWinMain):
(MyRegisterClass):
(shouldUseFullDesktop): Deleted.
(SimpleEventListener::SimpleEventListener): Deleted.
(SimpleEventListener::handleEvent): Deleted.
(WinLauncherWebHost::updateAddressBar): Deleted.
(WinLauncherWebHost::didFailProvisionalLoadWithError): Deleted.
(WinLauncherWebHost::QueryInterface): Deleted.
(WinLauncherWebHost::AddRef): Deleted.
(WinLauncherWebHost::Release): Deleted.
(updateMenuItemForHistoryItem): Deleted.
(showLastVisitedSites): Deleted.
(WinLauncherWebHost::didFinishLoadForFrame): Deleted.
(resizeSubViews): Deleted.
(subclassForLayeredWindow): Deleted.
(computeFullDesktopFrame): Deleted.
(DllMain): Deleted.
(getAppDataFolder): Deleted.
(setToDefaultPreferences): Deleted.
(setCacheFolder): Deleted.
(createCrashReport): Deleted.
(AbortProc): Deleted.
(getPrinterDC): Deleted.
(initDocStruct): Deleted.
(PrintView): Deleted.
(ToggleMenuItem): Deleted.
(LaunchInspector): Deleted.
(NavigateForwardOrBackward): Deleted.
(NavigateToHistory): Deleted.
(WndProc): Deleted.
(EditProc): Deleted.
(BackButtonProc): Deleted.
(ForwardButtonProc): Deleted.
(About): Deleted.
(loadURL): Deleted.
(dllLauncherEntryPoint): Deleted.

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

5 years agoFix unused parameter warnings if inspector is disabled
commit-queue@webkit.org [Tue, 24 Jun 2014 16:18:52 +0000 (16:18 +0000)]
Fix unused parameter warnings if inspector is disabled
https://bugs.webkit.org/show_bug.cgi?id=134244

Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-06-24
Reviewed by Zalan Bujtas.

Source/WebCore:
No new tests, no behavior change.

* inspector/InspectorConsoleInstrumentation.h:
(WebCore::InspectorInstrumentation::startProfiling):
(WebCore::InspectorInstrumentation::stopProfiling):
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::didFinishXHRLoading):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::shouldContinueAfterNotifyingLoadedFromMemoryCache):

Source/WebKit2:
* WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp:
(WKBundleInspectorShow):
(WKBundleInspectorClose):
(WKBundleInspectorEvaluateScriptForTest):
(WKBundleInspectorSetPageProfilingEnabled):

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

5 years ago[MSE] Add null-check in sourceBufferPrivateAppendComplete().
jer.noble@apple.com [Tue, 24 Jun 2014 16:14:34 +0000 (16:14 +0000)]
[MSE] Add null-check in sourceBufferPrivateAppendComplete().
https://bugs.webkit.org/show_bug.cgi?id=133230

Reviewed by Eric Carlson.

* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::sourceBufferPrivateAppendComplete): Bail early if the
    SourceBuffer has been removed from the MediaSource.

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

5 years ago[iOS] getsectdata() is deprecated and we use it in DRT
mmaxfield@apple.com [Tue, 24 Jun 2014 16:05:11 +0000 (16:05 +0000)]
[iOS] getsectdata() is deprecated and we use it in DRT
https://bugs.webkit.org/show_bug.cgi?id=134122

Reviewed by Alexey Proskuryakov.

Migrate to using magic linker symbols.

No tests because there should be no behavior change

* DumpRenderTree/mac/DumpRenderTree.mm:
(activateFontsIOS):

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

5 years agoWKWebView doesn't respect -[UIScrollView contentInset]
andersca@apple.com [Tue, 24 Jun 2014 14:38:17 +0000 (14:38 +0000)]
WKWebView doesn't respect -[UIScrollView contentInset]
https://bugs.webkit.org/show_bug.cgi?id=134230
<rdar://problem/17429107>

Reviewed by Tim Horton.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _setHasCustomContentView:loadedMIMEType:WTF::]):
Call initWithFrame and pass the WKWebView along.

(-[WKWebView _adjustedContentOffset:]):
New helper method that takes a content offset as a CGPoint and offsets it by the computed content inset.

(-[WKWebView _computedContentInset]):
New helper method that returns the _obscuredInsets, or if it's zero, the scroll view's content inset.

(-[WKWebView _processDidExit]):
Use _computedContentInset.

(-[WKWebView _didCommitLayerTree:WebKit::]):
use _computedContentInset.

(-[WKWebView _dynamicViewportUpdateChangedTargetToScale:position:]):
Use _computedContentInset.

(-[WKWebView _scrollToContentOffset:WebCore::]):
Use _computedContentInset.

(-[WKWebView _updateVisibleContentRects]):
If we have a custom content view, call web_computedContentInsetDidChange.

(-[WKWebView _setObscuredInsets:]):
Don't call web_setObscuredInsets: if we have a custom content view.

* UIProcess/API/Cocoa/WKWebViewInternal.h:
Add new methods.

* UIProcess/Cocoa/WKWebViewContentProvider.h:
Add new methods.

* UIProcess/ios/WKPDFView.mm:
(-[WKPDFView web_initWithFrame:webView:]):
Set the _webView and _scrollView ivars.

(-[WKPDFView _offsetForPageNumberIndicator]):
Get the computed content offset from the WKWebView.

(-[WKPDFView web_computedContentInsetDidChange]):
Update the page indicator.

(-[WKPDFView initWithFrame:]): Deleted.
(-[WKPDFView web_setObscuredInsets:]): Deleted.

* UIProcess/ios/WKScrollView.mm:
(-[WKScrollView setContentInset:]):
Call _updateVisibleContentRects.

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

5 years agoUnreviewed, rolling out r170337.
commit-queue@webkit.org [Tue, 24 Jun 2014 14:24:05 +0000 (14:24 +0000)]
Unreviewed, rolling out r170337.
https://bugs.webkit.org/show_bug.cgi?id=134250

caused 3 layout tests to crash on debug. (Requested by zalan
on #webkit).

Reverted changeset:

"Use unsigneds instead of ints for indexes into a string in
text layout code"
https://bugs.webkit.org/show_bug.cgi?id=133592
http://trac.webkit.org/changeset/170337

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

5 years agoSource/WebCore: [ATK] Don't ignore links rendered as blocks.
commit-queue@webkit.org [Tue, 24 Jun 2014 11:09:22 +0000 (11:09 +0000)]
Source/WebCore: [ATK] Don't ignore links rendered as blocks.
https://bugs.webkit.org/show_bug.cgi?id=130941

Patch by Jarek Czekalski <jarekczek@poczta.onet.pl> on 2014-06-24
Reviewed by Mario Sanchez Prada.

* /m/usr/src/webkit-trunk/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(WebCore::AccessibilityObject::objectFocusedAndCaretOffsetUnignored): Don't ignore links
when they are renderered with display:block.

LayoutTests: [ATK] Extended the test for accessibility of text inside "span" block in "a" block
with the tests for caret movements in these cases.
https://bugs.webkit.org/show_bug.cgi?id=130941

Patch by Jarek Czekalski <jarekczek@poczta.onet.pl> on 2014-06-24
Reviewed by Mario Sanchez Prada.

* platform/gtk/accessibility/text-in-span-block-in-a-block-expected.txt:
* platform/gtk/accessibility/text-in-span-block-in-a-block.html:
Added testing for text-caret-moved signal. Added one more "a" element to the set.

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

5 years agoREGRESSION(r170235): Remove incorrect ifdef guard
commit-queue@webkit.org [Tue, 24 Jun 2014 11:02:42 +0000 (11:02 +0000)]
REGRESSION(r170235): Remove incorrect ifdef guard
https://bugs.webkit.org/show_bug.cgi?id=134246

Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-06-24
Reviewed by Csaba Osztrogonác.

* WebView/WebView.mm:
(-[WebView _visibilityState]):

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

5 years agoName moving. Unreviewed.
jfernandez@igalia.com [Tue, 24 Jun 2014 10:09:22 +0000 (10:09 +0000)]
Name moving. Unreviewed.

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

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

5 years agoRemove EFL WK1 watch category
gyuyoung.kim@samsung.com [Tue, 24 Jun 2014 09:22:00 +0000 (09:22 +0000)]
Remove EFL WK1 watch category
https://bugs.webkit.org/show_bug.cgi?id=134231

Reviewed by Csaba Osztrogonác.

* Scripts/webkitpy/common/config/watchlist: Removed EFL WK1 category.

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

5 years agoUnreviewed. Update GObject DOM bindings test results after r170351.
carlosgc@webkit.org [Tue, 24 Jun 2014 09:15:21 +0000 (09:15 +0000)]
Unreviewed. Update GObject DOM bindings test results after r170351.

* bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp:
* bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h:

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

5 years ago[EFL] Merge efl-wk2 and efl test expectations files
m.pakula@samsung.com [Tue, 24 Jun 2014 09:02:18 +0000 (09:02 +0000)]
[EFL] Merge efl-wk2 and efl test expectations files
https://bugs.webkit.org/show_bug.cgi?id=134245

Unreviewed gardening after removing WebKit1.

* platform/efl-wk2/TestExpectations: An empty file left, as deleting it may break flakiness dashboard.
* platform/efl/TestExpectations: Merged with platform/efl-wk2/TestExpectations.

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

5 years ago[JavaScriptCore] Enable concurrent JIT on EFL.
llango.u-szeged@partner.samsung.com [Tue, 24 Jun 2014 08:36:34 +0000 (08:36 +0000)]
[JavaScriptCore] Enable concurrent JIT on EFL.
https://bugs.webkit.org/show_bug.cgi?id=134242

Reviewed by Csaba Osztrogonác.

* wtf/Platform.h:

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

5 years ago[ATK] Remove some unused code from DumpRenderTree
k.czech@samsung.com [Tue, 24 Jun 2014 08:09:21 +0000 (08:09 +0000)]
[ATK] Remove some unused code from DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=134191

Reviewed by Chris Fleizach.

DumpRenderTree's accessibility code could be removed since GTK and EFL has stopped supporting WK1.

* DumpRenderTree/atk/AccessibilityCallbacks.h: Removed.
* DumpRenderTree/atk/AccessibilityCallbacksAtk.cpp: Removed.
* DumpRenderTree/atk/AccessibilityControllerAtk.cpp: Removed.
* DumpRenderTree/atk/AccessibilityNotificationHandlerAtk.cpp: Removed.
* DumpRenderTree/atk/AccessibilityNotificationHandlerAtk.h: Removed.
* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp: Removed.

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

5 years agoUnreviewed. Fix GTK+ build after r170309.
carlosgc@webkit.org [Tue, 24 Jun 2014 07:14:43 +0000 (07:14 +0000)]
Unreviewed. Fix GTK+ build after r170309.

Skip functions returning arrays in GObject DOM bindings.

* bindings/scripts/CodeGeneratorGObject.pm:
(SkipFunction):

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

5 years agoDrop the cross organizational support requirement from reviewer nomination policy
rniwa@webkit.org [Tue, 24 Jun 2014 06:55:21 +0000 (06:55 +0000)]
Drop the cross organizational support requirement from reviewer nomination policy
https://bugs.webkit.org/show_bug.cgi?id=134240

Reviewed by Gyuyoung Kim.

Removed.

* coding/commit-review-policy.html:

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

5 years ago[EFL][WK2] Search field is not shown properly on doing ctrl+f on Minibrowser.
commit-queue@webkit.org [Tue, 24 Jun 2014 06:34:21 +0000 (06:34 +0000)]
[EFL][WK2] Search field is not shown properly on doing ctrl+f on Minibrowser.
https://bugs.webkit.org/show_bug.cgi?id=134025

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-06-23
Reviewed by Gyuyoung Kim.

Use EVAS_HINT_FILL in evas_object_size_hint_align_set() api.

* MiniBrowser/efl/main.c:
(window_create):

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

5 years agoUnreviewed, fix build warning.
ljaehun.lim@samsung.com [Tue, 24 Jun 2014 06:15:25 +0000 (06:15 +0000)]
Unreviewed, fix build warning.

Source/WebKit2/WebProcess/WebPage/DrawingArea.h:117:18: warning: unused parameter ‘wantsDidUpdateViewState’ [-Wunused-parameter]

* WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::viewStateDidChange):

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

5 years ago[EFL] Replace RefPtr<Evas_Object> with UniquePtrEfl
ryuan.choi@samsung.com [Tue, 24 Jun 2014 06:12:02 +0000 (06:12 +0000)]
[EFL] Replace RefPtr<Evas_Object> with UniquePtrEfl
https://bugs.webkit.org/show_bug.cgi?id=134236

Reviewed by Gyuyoung Kim.

Source/WebCore:
* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::ThemePartCacheEntry::create):
(WebCore::RenderThemeEfl::loadTheme):
(WebCore::RenderThemeEfl::applyPartDescriptionsFrom):
* platform/efl/RenderThemeEfl.h:
* platform/graphics/efl/CairoUtilitiesEfl.cpp:
(WebCore::evasObjectFromCairoImageSurface):
* platform/graphics/efl/CairoUtilitiesEfl.h:
* platform/graphics/efl/ImageEfl.cpp:
(WebCore::BitmapImage::getEvasObject):

Source/WebKit2:
* PlatformEfl.cmake:
* UIProcess/API/efl/EwkView.cpp:
(EwkView::updateCursor):
* UIProcess/API/efl/EwkView.h:
* UIProcess/API/efl/SnapshotImageGL.cpp:
* UIProcess/API/efl/ewk_favicon_database.cpp:
(ewk_favicon_database_icon_get):
* UIProcess/API/efl/tests/test_ewk2_refptr_evas_object.cpp: Removed.

Source/WTF:
Although there are ref/unref for Evas_Object, it's bit odd so we should call evas_object_del to destroy it.
So, this patch replaced RefPtr<Evas_Object> with UniquePtrEfl for the simplicity.

* wtf/PlatformEfl.cmake: Removed RefPtrEfl.cpp from source list.
* wtf/efl/RefPtrEfl.cpp: Removed.
* wtf/efl/RefPtrEfl.h: Removed.

Tools:
* ImageDiff/efl/ImageDiff.cpp:
(calculateDifference):
(printImageDifferences):
(readImageFromStdin):
(main):

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

5 years agoRolling out r170340 and r170339.
dbates@webkit.org [Tue, 24 Jun 2014 05:45:54 +0000 (05:45 +0000)]
Rolling out r170340 and r170339.

Changeset r170339 broke the Apple Windows Debug and Release builds.

Reverted changesets:

"[Win] Build fix after r134209"
http://trac.webkit.org/changeset/170340

"[Win] Clean up and refactor WinLauncher"
https://bugs.webkit.org/show_bug.cgi?id=134209
http://trac.webkit.org/changeset/170339

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

5 years agoChapter forward/backward should seek to beginning/end.
commit-queue@webkit.org [Tue, 24 Jun 2014 04:38:17 +0000 (04:38 +0000)]
Chapter forward/backward should seek to beginning/end.
https://bugs.webkit.org/show_bug.cgi?id=134225

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-06-23
Reviewed by Eric Carlson.

* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(-[WebAVPlayerController seekChapterBackward:]): forwards to -seekToBeginning
(-[WebAVPlayerController seekChapterForward:]): forwards to -seekToEnd

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

5 years ago[iOS][WK2] REGRESSION (r169324): Page jumps to top when you type into a text field
dbates@webkit.org [Tue, 24 Jun 2014 04:12:58 +0000 (04:12 +0000)]
[iOS][WK2] REGRESSION (r169324): Page jumps to top when you type into a text field
https://bugs.webkit.org/show_bug.cgi?id=134219
<rdar://problem/17279113>

Reviewed by Benjamin Poulain.

Fixes an issue where typing into a text field may cause a noticeable jump to the top of
the page.

Currently when updating the visual content rectangles we always constrain the scroll offset
(s_x, s_y) such that 0 <= s_x <= "content width" - "visible width" and 0 <= s_y <= "content height" - "visible height".
However the UIProcess may want to scroll the page by an offset outside of this range to
create a visually pleasing result. In particular, on iOS we may scroll the page slightly
outside of this range (e.g. s_y > 0 = "content height" - "visible height") when a form
control is focused so as to be consistent with platform convention.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::updateVisibleContentRects): Temporarily disable content edge constraint when
updating scroll offset.

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

5 years ago[Mac] Don't draw focus rings if we are animating controls
dino@apple.com [Tue, 24 Jun 2014 02:24:12 +0000 (02:24 +0000)]
[Mac] Don't draw focus rings if we are animating controls
https://bugs.webkit.org/show_bug.cgi?id=134232
<rdar://problem/17381121>

Reviewed by Tim Horton.

Controls in native apps do not draw their focus rings as they
animate (in Yosemite). Turn this off for WebKit too. It turns
out that when we were drawing them, they were in the wrong
place anyway.

Since we don't animate controls when testing, we can't really test this.

* platform/mac/ThemeMac.mm:
(WebCore::paintToggleButton): Only draw the focus ring if the
NSButtonCell is not animating.

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

5 years ago[ATK] Remove some unnecessary code from WebKitAccessibleWrapperAtk
k.czech@samsung.com [Tue, 24 Jun 2014 02:18:39 +0000 (02:18 +0000)]
[ATK] Remove some unnecessary code from WebKitAccessibleWrapperAtk
https://bugs.webkit.org/show_bug.cgi?id=134193

Reviewed by Gyuyoung Kim.

It was used along with DRT. Since we have stopped support WK1/DRT, it won't be needed.

* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetFocusedElement): Deleted.
* accessibility/atk/WebKitAccessibleWrapperAtk.h:

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

5 years ago<rdar://problem/17413374> [iOS] Application cache size per origin is not limited
mitz@apple.com [Tue, 24 Jun 2014 01:23:08 +0000 (01:23 +0000)]
<rdar://problem/17413374> [iOS] Application cache size per origin is not limited
https://bugs.webkit.org/show_bug.cgi?id=134229

Reviewed by Anders Carlsson.

* UIProcess/WebContext.cpp:
(WebKit::WebContext::createNewWebProcess): Set the default quota per origin to the same
value it is set in Legacy WebKit.

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

5 years ago[Win] Build fix after r134209
bfulgham@apple.com [Tue, 24 Jun 2014 00:56:43 +0000 (00:56 +0000)]
[Win] Build fix after r134209

* WinLauncher/WinMain.cpp: Must include the resources file
before Common.cpp.

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

5 years ago[Win] Clean up and refactor WinLauncher
bfulgham@apple.com [Tue, 24 Jun 2014 00:51:58 +0000 (00:51 +0000)]
[Win] Clean up and refactor WinLauncher
https://bugs.webkit.org/show_bug.cgi?id=134209

Reviewed by Tim Horton.

Make WinLauncher a class, and move all non-class driver functions
into "Common.cpp" and "WinMain.cpp". These files are distinct
to allow some internal tools to reuse the code in 'Common'.

* WinLauncher/Common.cpp: Added. Consists of code moved from
'WinLauncher.cpp' that can be reused for other tools.
(subclassForLayeredWindow):
(computeFullDesktopFrame):
(DllMain):
(getAppDataFolder):
(setCacheFolder):
(createCrashReport):
(AbortProc):
(getPrinterDC):
(initDocStruct):
(PrintView):
(ToggleMenuItem):
(WndProc):
(EditProc):
(BackButtonProc):
(ForwardButtonProc):
(About):
(loadURL):
(dllLauncherEntryPoint):
* WinLauncher/DOMDefaultImpl.cpp: Copied from WinLauncher/DOMDefaultImpl.h.
(DOMEventListener::Release):
(WebScriptObject::WebScriptObject): Deleted.
(WebScriptObject::~WebScriptObject): Deleted.
(WebScriptObject::throwException): Deleted.
(WebScriptObject::callWebScriptMethod): Deleted.
(WebScriptObject::evaluateWebScript): Deleted.
(WebScriptObject::removeWebScriptKey): Deleted.
(WebScriptObject::stringRepresentation): Deleted.
(WebScriptObject::webScriptValueAtIndex): Deleted.
(WebScriptObject::setWebScriptValueAtIndex): Deleted.
(WebScriptObject::setException): Deleted.
(DOMEventListener::throwException): Deleted.
(DOMEventListener::callWebScriptMethod): Deleted.
(DOMEventListener::evaluateWebScript): Deleted.
(DOMEventListener::removeWebScriptKey): Deleted.
(DOMEventListener::stringRepresentation): Deleted.
(DOMEventListener::webScriptValueAtIndex): Deleted.
(DOMEventListener::setWebScriptValueAtIndex): Deleted.
(DOMEventListener::setException): Deleted.
(DOMEventListener::handleEvent): Deleted.
* WinLauncher/DOMDefaultImpl.h:
(WebScriptObject::QueryInterface): Deleted.
(WebScriptObject::AddRef): Deleted.
(WebScriptObject::Release): Deleted.
(DOMObject::QueryInterface): Deleted.
(DOMEventListener::QueryInterface): Deleted.
(DOMEventListener::AddRef): Deleted.
(DOMEventListener::Release): Deleted.
* WinLauncher/WinLauncher.cpp: Converted stand-alone implementation
into a C++ class and removed WinAPI code.
(WinLauncher::WinLauncher):
(WinLauncher::init):
(WinLauncher::prepareViews):
(WinLauncher::setFrameLoadDelegate):
(WinLauncher::setUIDelegate):
(WinLauncher::setAccessibilityDelegate):
(WinLauncher::mainFrame):
(WinLauncher::seedInitialDefaultPreferences):
(WinLauncher::setToDefaultPreferences):
(updateMenuItemForHistoryItem):
(WinLauncher::showLastVisitedSites):
(WinLauncher::launchInspector):
(WinLauncher::navigateForwardOrBackward):
(WinLauncher::navigateToHistory):
(WinLauncher::goBack):
(WinLauncher::goForward):
(WinLauncher::loadURL):
(shouldUseFullDesktop): Deleted.
(SimpleEventListener::SimpleEventListener): Deleted.
(SimpleEventListener::handleEvent): Deleted.
(WinLauncherWebHost::updateAddressBar): Deleted.
(WinLauncherWebHost::didFailProvisionalLoadWithError): Deleted.
(WinLauncherWebHost::QueryInterface): Deleted.
(WinLauncherWebHost::AddRef): Deleted.
(WinLauncherWebHost::Release): Deleted.
(showLastVisitedSites): Deleted.
(WinLauncherWebHost::didFinishLoadForFrame): Deleted.
(resizeSubViews): Deleted.
(subclassForLayeredWindow): Deleted.
(computeFullDesktopFrame): Deleted.
(DllMain): Deleted.
(getAppDataFolder): Deleted.
(setToDefaultPreferences): Deleted.
(setCacheFolder): Deleted.
(createCrashReport): Deleted.
(wWinMain): Deleted.
(MyRegisterClass): Deleted.
(AbortProc): Deleted.
(getPrinterDC): Deleted.
(initDocStruct): Deleted.
(PrintView): Deleted.
(ToggleMenuItem): Deleted.
(LaunchInspector): Deleted.
(NavigateForwardOrBackward): Deleted.
(NavigateToHistory): Deleted.
(WndProc): Deleted.
(EditProc): Deleted.
(BackButtonProc): Deleted.
(ForwardButtonProc): Deleted.
(About): Deleted.
(loadURL): Deleted.
(dllLauncherEntryPoint): Deleted.
* WinLauncher/WinLauncher.h: Removed.
* WinLauncher/WinLauncher.vcxproj/WinLauncherLib.vcxproj:
* WinLauncher/WinLauncher.vcxproj/WinLauncherLib.vcxproj.filters:
* WinLauncher/WinLauncherReplace.h:
(processCrashReport):
* WinLauncher/WinLauncherWebHost.cpp: Added.
(SimpleEventListener::SimpleEventListener):
(SimpleEventListener::handleEvent):
(WinLauncherWebHost::updateAddressBar):
(WinLauncherWebHost::didFailProvisionalLoadWithError):
(WinLauncherWebHost::QueryInterface):
(WinLauncherWebHost::AddRef):
(WinLauncherWebHost::Release):
(WinLauncherWebHost::didFinishLoadForFrame):
* WinLauncher/WinLauncherWebHost.h: Copied from WinLauncher/WinLauncher.h.
Moved WinLauncherWebHost implementation from WinLauncher.cpp into
its own set of files.
(WinLauncherWebHost::WinLauncherWebHost):
(WinLauncherWebHost::didStartProvisionalLoadForFrame):
(WinLauncherWebHost::didReceiveServerRedirectForProvisionalLoadForFrame):
(WinLauncherWebHost::didCommitLoadForFrame):
(WinLauncherWebHost::didReceiveTitle):
(WinLauncherWebHost::didChangeIcons):
(WinLauncherWebHost::didReceiveIcon):
(WinLauncherWebHost::didFailLoadWithError):
(WinLauncherWebHost::didChangeLocationWithinPageForFrame):
(WinLauncherWebHost::willPerformClientRedirectToURL):
(WinLauncherWebHost::didCancelClientRedirectForFrame):
(WinLauncherWebHost::willCloseFrame):
(WinLauncherWebHost::windowScriptObjectAvailable):
(WinLauncherWebHost::didClearWindowObject):
* WinLauncher/WinMain.cpp: Added. This consists of code from
WinLauncher that is unique to the WinLauncher utility, and is
not part of the WinLauncher class.
(wWinMain):
(MyRegisterClass):

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

5 years agoUnreviewed, EFL build fix after r170330.
ryuan.choi@samsung.com [Tue, 24 Jun 2014 00:49:59 +0000 (00:49 +0000)]
Unreviewed, EFL build fix after r170330.

* WebProcess/WebPage/WebPage.cpp: Guard WKStringCF.h with PLATFORM(COCOA) macro.

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

5 years agoUse unsigneds instead of ints for indexes into a string in text layout code
mmaxfield@apple.com [Tue, 24 Jun 2014 00:29:44 +0000 (00:29 +0000)]
Use unsigneds instead of ints for indexes into a string in text layout code
https://bugs.webkit.org/show_bug.cgi?id=133592

Reviewed by Zalan Bujtas.

Migrate much of the text-handling code to use unsigneds for indexes into a string.

No new tests because there is no behavior change.

* WebCore.exp.in:
* platform/graphics/Font.cpp:
(WebCore::Font::drawText):
(WebCore::Font::drawEmphasisMarks):
(WebCore::Font::adjustSelectionRectForText):
(WebCore::computeUnderlineType):
* platform/graphics/Font.h:
* platform/graphics/FontFastPath.cpp:
(WebCore::Font::getGlyphsAndAdvancesForSimpleText):
(WebCore::Font::drawSimpleText):
(WebCore::Font::drawEmphasisMarksForSimpleText):
(WebCore::Font::drawGlyphBuffer):
(WebCore::Font::drawEmphasisMarks):
(WebCore::Font::adjustSelectionRectForSimpleText):
* platform/graphics/GlyphBuffer.h:
(WebCore::GlyphBuffer::size):
(WebCore::GlyphBuffer::glyphs):
(WebCore::GlyphBuffer::advances):
(WebCore::GlyphBuffer::fontDataAt):
(WebCore::GlyphBuffer::advanceAt):
(WebCore::GlyphBuffer::offsetAt):
(WebCore::GlyphBuffer::reverse):
(WebCore::GlyphBuffer::offsetInString):
(WebCore::GlyphBuffer::swap):
* platform/graphics/GraphicsContext.cpp:
(WebCore::TextRunIterator::atEnd):
* platform/graphics/Latin1TextIterator.h:
(WebCore::Latin1TextIterator::Latin1TextIterator):
(WebCore::Latin1TextIterator::currentCharacter):
* platform/graphics/SimpleFontData.h:
* platform/graphics/SurrogatePairAwareTextIterator.cpp:
(WebCore::SurrogatePairAwareTextIterator::SurrogatePairAwareTextIterator):
* platform/graphics/SurrogatePairAwareTextIterator.h:
(WebCore::SurrogatePairAwareTextIterator::currentCharacter):
* platform/graphics/TextRun.h:
(WebCore::TextRun::length):
(WebCore::TextRun::charactersLength):
* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::glyphDataForCharacter):
(WebCore::applyFontTransforms):
(WebCore::WidthIterator::advanceInternal):
(WebCore::WidthIterator::advance):
(WebCore::WidthIterator::advanceOneCharacter):
* platform/graphics/WidthIterator.h:
* platform/graphics/cairo/FontCairo.cpp:
(WebCore::Font::drawGlyphs):
* platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:
(WebCore::Font::drawComplexText):
(WebCore::Font::drawEmphasisMarksForComplexText):
(WebCore::Font::adjustSelectionRectForComplexText):
* platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
(WebCore::HarfBuzzShaper::setNormalizedBuffer):
* platform/graphics/mac/FontComplexTextMac.cpp:
(WebCore::Font::adjustSelectionRectForComplexText):
(WebCore::Font::getGlyphsAndAdvancesForComplexText):
(WebCore::Font::drawComplexText):
(WebCore::Font::drawEmphasisMarksForComplexText):
* platform/graphics/mac/FontMac.mm:
(WebCore::Font::drawGlyphs):
* platform/graphics/win/FontCGWin.cpp:
(WebCore::Font::drawGlyphs):
* platform/graphics/win/FontWin.cpp:
(WebCore::Font::adjustSelectionRectForComplexText):
(WebCore::Font::getGlyphsAndAdvancesForComplexText):
(WebCore::Font::drawComplexText):
(WebCore::Font::drawEmphasisMarksForComplexText):
* platform/graphics/wince/FontWinCE.cpp:
(WebCore::Font::drawGlyphs):
(WebCore::Font::drawComplexText):
(WebCore::Font::drawEmphasisMarksForComplexText):
(WebCore::Font::selectionRectForComplexText):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::isSelected):
(WebCore::InlineTextBox::selectionState):
(WebCore::adjustCharactersAndLengthForHyphen):
(WebCore::InlineTextBox::localSelectionRect):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::selectionStartEnd):
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::paintCompositionBackground):
(WebCore::InlineTextBox::paintDocumentMarker):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::computeRectForReplacementMarker):
(WebCore::InlineTextBox::paintCompositionUnderline):
(WebCore::InlineTextBox::positionForOffset):
(WebCore::InlineTextBox::constructTextRun):
* rendering/InlineTextBox.h:
* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::getStringToRender):
* rendering/RenderCombineText.h:
* rendering/svg/SVGInlineFlowBox.cpp:
(WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
* rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::positionForOffset):
(WebCore::SVGInlineTextBox::localSelectionRect):
(WebCore::SVGInlineTextBox::paintSelectionBackground):
(WebCore::SVGInlineTextBox::mapStartEndPositionsIntoFragmentCoordinates):
(WebCore::SVGInlineTextBox::paintText):
* rendering/svg/SVGInlineTextBox.h:
* rendering/svg/SVGTextMetricsBuilder.cpp:
(WebCore::SVGTextMetricsBuilder::currentCharacterStartsSurrogatePair):
(WebCore::SVGTextMetricsBuilder::advance):
* rendering/svg/SVGTextQuery.cpp:
(WebCore::SVGTextQuery::mapStartEndPositionsIntoFragmentCoordinates):
(WebCore::SVGTextQuery::modifyStartEndPositionsRespectingLigatures):
(WebCore::SVGTextQuery::subStringLengthCallback):
(WebCore::SVGTextQuery::startPositionOfCharacterCallback):
(WebCore::SVGTextQuery::endPositionOfCharacterCallback):
(WebCore::SVGTextQuery::rotationOfCharacterCallback):
(WebCore::SVGTextQuery::extentOfCharacterCallback):
(WebCore::SVGTextQuery::characterNumberAtPositionCallback):
* rendering/svg/SVGTextQuery.h:
* rendering/svg/SVGTextRunRenderingContext.cpp:
(WebCore::SVGGlyphToPathTranslator::SVGGlyphToPathTranslator):
(WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):
* rendering/svg/SVGTextRunRenderingContext.h:
* svg/SVGFontData.cpp:
(WebCore::SVGFontData::applySVGGlyphSelection):
* svg/SVGFontData.h:

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

5 years agoHTMLMediaElement seek algorithm should allow cancelling previous seeks.
jer.noble@apple.com [Tue, 24 Jun 2014 00:08:25 +0000 (00:08 +0000)]
HTMLMediaElement seek algorithm should allow cancelling previous seeks.
https://bugs.webkit.org/show_bug.cgi?id=134116

Reviewed by Eric Carlson.

Source/WebCore:
Test: media/video-seek-double.html

Fulfill the requirement of the §4.7.14.9 seeking algorithm to do steps 5+ asynchronously and cancel
previous instances of the algorithm.

For the html/ parts of the algorithm, implement this by adding a seek timer, which when fired will
issue steps 5-12. MediaPlayerPrivateAVFoundation will already coalesce multiple seek operations, so nothing
additional needs be done there.  However, MediaPlayerPrivateMediaSourceAVFObjC needs to implement the same
pending seek logic in case additional seeks were issued after the html/ algorithm reached step 12.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Initialize the new m_seekTimer.
(WebCore::HTMLMediaElement::parseAttribute): Clear the seek timer.
(WebCore::HTMLMediaElement::seekInternal): Differentiate between DOM seeks and internal seeks.
(WebCore::HTMLMediaElement::seekWithTolerance:) Split into the seekTimerFired() method.
(WebCore::HTMLMediaElement::seekTimerFired:) Added, split from seekWithTolerance().
* html/HTMLMediaElement.h:
* html/MediaController.cpp:
(MediaController::bringElementUpToSpeed): Call seekInternal().
(WebCore::HTMLMediaElement::PendingSeek::PendingSeek): Added convenience struct for storing seek requests.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::PendingSeek::PendingSeek): Ditto.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC): Modify the time jumped
    handler to not clear the m_seeking flag if another seek request is pending.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekWithTolerance):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):

LayoutTests:
* media/video-seek-double-expected.txt: Added.
* media/video-seek-double.html: Added.

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

5 years ago[WK2] Use the page background color instead of white when swipe snapshots were purged...
timothy_horton@apple.com [Tue, 24 Jun 2014 00:03:15 +0000 (00:03 +0000)]
[WK2] Use the page background color instead of white when swipe snapshots were purged (134218)
https://bugs.webkit.org/show_bug.cgi?id=134218
<rdar://problem/17426454>

Reviewed by Benjamin Poulain.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _updateScrollViewBackground]):
(-[WKWebView WebKit::]):
* UIProcess/API/mac/WKView.mm:
(-[WKView _takeViewSnapshot]):
* UIProcess/ios/ViewGestureControllerIOS.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
* UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::shouldUseSnapshotForSize):
(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::retrieveSnapshotForItem): Deleted.
* UIProcess/mac/ViewSnapshotStore.h:
Store a color along with each snapshot.
Set the background color of the swipe snapshot layer accordingly.

* WebCore.exp.in:

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

5 years agoAdd -[WKBackForwardList _removeAllItems]
andersca@apple.com [Mon, 23 Jun 2014 23:56:51 +0000 (23:56 +0000)]
Add -[WKBackForwardList _removeAllItems]
https://bugs.webkit.org/show_bug.cgi?id=134227
<rdar://problem/17291623>

Reviewed by Tim Horton.

* UIProcess/API/Cocoa/WKBackForwardList.mm:
(-[WKBackForwardList _removeAllItems]):
* UIProcess/API/Cocoa/WKBackForwardListPrivate.h: Added.
* WebKit2.xcodeproj/project.pbxproj:

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

5 years ago[iOS] remove InbandTextTrackPrivateAVFIOS
eric.carlson@apple.com [Mon, 23 Jun 2014 23:45:01 +0000 (23:45 +0000)]
[iOS] remove InbandTextTrackPrivateAVFIOS
https://bugs.webkit.org/show_bug.cgi?id=134220

Reviewed by Benjamin Poulain.

* WebCore.xcodeproj/project.pbxproj: Remove references to InbandTextTrackPrivateAVFIOS.

* platform/graphics/ios/InbandTextTrackPrivateAVFIOS.h: Removed.
* platform/graphics/ios/InbandTextTrackPrivateAVFIOS.mm: Removed.

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

5 years agoUnreviewed, rolling out r170323.
commit-queue@webkit.org [Mon, 23 Jun 2014 23:17:00 +0000 (23:17 +0000)]
Unreviewed, rolling out r170323.
https://bugs.webkit.org/show_bug.cgi?id=134224

lots of build breakage (Requested by bradeeoh on #webkit).

Reverted changeset:

"[Mac] process raw VTT in-band captions"
https://bugs.webkit.org/show_bug.cgi?id=134178
http://trac.webkit.org/changeset/170323

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

5 years ago<rdar://problem/17413498> [Cocoa] Expose WebPreferences::offlineWebApplicationCacheEn...
mitz@apple.com [Mon, 23 Jun 2014 23:16:09 +0000 (23:16 +0000)]
<rdar://problem/17413498> [Cocoa] Expose WebPreferences::offlineWebApplicationCacheEnabled
https://bugs.webkit.org/show_bug.cgi?id=134217

Reviewed by Anders Carlsson.

* UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _offlineApplicationCacheIsEnabled]):
(-[WKPreferences _setOfflineApplicationCacheIsEnabled:]):
* UIProcess/API/Cocoa/WKPreferencesPrivate.h: Added _offlineWebApplicationCacheIsEnabled
property.

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

5 years agoAdd SPI for Injected Bundle to provide user agent for a given URL.
commit-queue@webkit.org [Mon, 23 Jun 2014 23:15:10 +0000 (23:15 +0000)]
Add SPI for Injected Bundle to provide user agent for a given URL.
https://bugs.webkit.org/show_bug.cgi?id=133562

Patch by Grant Kennell <gkennell@apple.com> on 2014-06-23
Reviewed by Sam Weinig.

* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:
  Added delegate method to WebProcess PluIn protocol to provide UserAgent per URL.
* WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h:
  Added new typedef for function pointer for this new delegate call.
  Added new version (V8) of bundle loader client struct containing
  a function pointer of that new type.
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(userAgentForURL): Makes delegate call with the new method.
(setUpPageLoaderClient): Sets the struct's new function pointer to the new method.
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
(WebKit::InjectedBundlePageLoaderClient::userAgentForURL):
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::userAgent):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::userAgent): Began using the new API to ask for user agent
  instead of simply returning what had been stored.
* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::userAgent): Deleted.

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

5 years agoUnreviewed, rolling out r170324.
commit-queue@webkit.org [Mon, 23 Jun 2014 23:13:42 +0000 (23:13 +0000)]
Unreviewed, rolling out r170324.
https://bugs.webkit.org/show_bug.cgi?id=134223

lots of build breakage (Requested by bradeeoh on #webkit).

Reverted changeset:

"Unreviewed, revert an unintentional change committed with
r170323."
http://trac.webkit.org/changeset/170324

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

5 years agoFix release build
jpfau@apple.com [Mon, 23 Jun 2014 23:12:27 +0000 (23:12 +0000)]
Fix release build

* Modules/indexeddb/IDBTransactionCoordinator.cpp:
(WebCore::IDBTransactionCoordinator::canRunTransaction):

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

5 years agoDatabase process crashes when multiple transactions attempt to run at once
jpfau@apple.com [Mon, 23 Jun 2014 22:38:47 +0000 (22:38 +0000)]
Database process crashes when multiple transactions attempt to run at once
https://bugs.webkit.org/show_bug.cgi?id=134139

Reviewed by David Kilzer.

Source/WebCore:
Ensure that only one transaction can be running at a time.

Test: storage/indexeddb/transaction-overlapping.html

* Modules/indexeddb/IDBTransactionCoordinator.cpp:
(WebCore::IDBTransactionCoordinator::canRunTransaction):

LayoutTests:
* storage/indexeddb/transaction-overlapping-expected.txt: Added.
* storage/indexeddb/transaction-overlapping.html: Added.

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

5 years ago[iOS][wk2] Don't use view snapshots if the destination layer is a different size
timothy_horton@apple.com [Mon, 23 Jun 2014 22:12:49 +0000 (22:12 +0000)]
[iOS][wk2] Don't use view snapshots if the destination layer is a different size
https://bugs.webkit.org/show_bug.cgi?id=134210
<rdar://problem/17369463>

Reviewed by Benjamin Poulain.

* UIProcess/ios/ViewGestureControllerIOS.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
Only use the view snapshot if the snapshot is the same (in device space) size
as the layer it's going to be put into, and only if the device scale factor is
the same as it was when the snapshot was taken.

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

5 years ago[iOS][WK2] Make the state restore from HistoryItem more precise and reliable
benjamin@webkit.org [Mon, 23 Jun 2014 22:05:47 +0000 (22:05 +0000)]
[iOS][WK2] Make the state restore from HistoryItem more precise and reliable
https://bugs.webkit.org/show_bug.cgi?id=134150

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-06-23
Reviewed by Tim Horton.

Source/WebCore:
The two biggest changes for WebCore are:
-Store everything we need to handle changes of ViewportConfiguration on HistoryItem.
-Store the exposedRect with floating point coordinates.

* WebCore.exp.in:
* history/CachedPage.cpp:
(WebCore::CachedPage::restore):
We cannot determine a good scroll position from the WebProcess because the obscured insets can change
arbitrarily in the UIProcess. When we scroll here from the WebProcess, we would force an invalid position
to the UIProcess with the next layer tree update.

To avoid any problem, we prohibit scrolling when restoring the focus appearance.

* history/HistoryItem.cpp:
(WebCore::encodeRect):
(WebCore::encodeSize):
(WebCore::HistoryItem::encodeBackForwardTreeNode):
(WebCore::decodeRect):
(WebCore::decodeSize):
(WebCore::HistoryItem::decodeBackForwardTree):
* history/HistoryItem.h:
(WebCore::HistoryItem::exposedContentRect):
(WebCore::HistoryItem::setExposedContentRect):
(WebCore::HistoryItem::unobscuredContentRect):
(WebCore::HistoryItem::setUnobscuredContentRect):
(WebCore::HistoryItem::minimumLayoutSizeInScrollViewCoordinates):
(WebCore::HistoryItem::setMinimumLayoutSizeInScrollViewCoordinates):
(WebCore::HistoryItem::contentSize):
(WebCore::HistoryItem::setContentSize):
(WebCore::HistoryItem::exposedContentPosition): Deleted.
(WebCore::HistoryItem::setExposedContentPosition): Deleted.
* loader/HistoryController.cpp:
(WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
* page/FrameView.h:
* platform/ScrollView.h:
* platform/ios/ScrollViewIOS.mm:
(WebCore::ScrollView::exposedContentRect):
(WebCore::ScrollView::setExposedContentRect):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::didChangeVisibleRect):

Source/WebKit2:
This patch make several little improvements to improve how we restore the visible content rect and scale
from the HistoryItem.

The biggest architectural change is that the exposed rect is now restored on the UIProcess instead of the WebProcess,
this ensure we restore the same position regardless of any modification of obscured areas.

* Shared/VisibleContentRectUpdateInfo.cpp:
(WebKit::VisibleContentRectUpdateInfo::encode):
(WebKit::VisibleContentRectUpdateInfo::decode):
* Shared/VisibleContentRectUpdateInfo.h:
(WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
(WebKit::VisibleContentRectUpdateInfo::lastLayerTreeTransactionId):
(WebKit::WebPage::updateVisibleContentRects):
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
A race between the UIProcess and the WebProcess could cause the viewport of the next page to be influenced by updates
of the previous page. To avoid that, VisibleContentRectUpdateInfo keeps track of the last transaction seen at the time
of the update.

The WebProcess updates the size and scale of the content through layer tree updates. If an update was generated for a layer tree
update of the old page, none of the information is valid for the current content. Since the UIProcess drives the state in case of conflicts,
the WebProcess was updating the scale of the current page based on incorrect information.

To avoid the problems, we save the layer tree transaction ID when we commit a new page. Only updates after that transaction are useful
for the current page.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _processDidExit]):
(withinEpsilon):
(changeContentOffsetBoundedInValidRange):
(-[WKWebView _didCommitLayerTree:WebKit::]):
(-[WKWebView _restorePageStateToExposedRect:WebCore::scale:]):
(-[WKWebView _restorePageStateToUnobscuredCenter:WebCore::scale:]):
* UIProcess/API/Cocoa/WKWebViewInternal.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::restorePageState):
(WebKit::PageClientImpl::restorePageCenterAndScale):
Restoring the state is now done by WKWebView. The state is only updated on the next layer tree commit,
this is done to avoid any jumping if the page has scrolled since we tried to restore its state.

Both update path end up calling _updateVisibleContentRects. This is because the update on the WebProcess
never sets the ScrollPosition (because it does not know the current state of the obscured insets). Pushing
a new VisibleContentRect will nicely udpates the exposed rect, scroll position, fixed elements, etc.

* UIProcess/ios/WKContentView.mm:
(-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]):
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::restorePageState):
(WebKit::WebPageProxy::restorePageCenterAndScale):
* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
(WebKit::RemoteLayerTreeDrawingAreaProxy::lastCommittedLayerTreeTransactionID):
* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
* WebProcess/WebCoreSupport/ios/WebFrameLoaderClientIOS.mm:
(WebKit::WebFrameLoaderClient::saveViewStateToItem):
(WebKit::WebFrameLoaderClient::restoreViewState):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::didCommitLoad):
* WebProcess/WebPage/WebPage.h:
Get rid of m_obscuredTopInset. It was a bad idea. The UIProcess updates the obscured insets a lot during
page load, the value we used to restore the scroll position was frequently stale.

(WebKit::WebPage::userHasChangedPageScaleFactor): Deleted.
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::savePageState):
(WebKit::scaleAfterViewportWidthChange):
(WebKit::relativeCenterAfterContentSizeChange):
(WebKit::adjustExposedRectForNewScale):
Extract this out of dynamicViewportSizeUpdate(). It is useful to adjust the exposed rect when restoring a HistoryItem
to a ViewportConfiguration that is different from when it was saved.

(WebKit::WebPage::restorePageState):
There are two variations of restorePage:
1) If the viewport configuration is compatible, restore the exact scale and position of the page.
2) Otherwise, restore the scale and position similarily to dynamicViewportSizeUpdate().

(WebKit::WebPage::dynamicViewportSizeUpdate):
(WebKit::WebPage::viewportConfigurationChanged):
(WebKit::adjustExposedRectForBoundedScale):
(WebKit::RemoteLayerTreeDrawingArea::currentTransactionID):
Expose the transactionID for the race issue on VisibleRectUpdate.

* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::setExposedContentRect):
Store the exposed rect in floating point coordinates. This makes it possible to restore that exact
position when needed.

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

5 years agoUnreviewed, revert an unintentional change committed with r170323.
eric.carlson@apple.com [Mon, 23 Jun 2014 22:04:02 +0000 (22:04 +0000)]
Unreviewed, revert an unintentional change committed with r170323.

* UIProcess/API/Cocoa/WKBackForwardList.mm:

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

5 years ago[Mac] process raw VTT in-band captions
eric.carlson@apple.com [Mon, 23 Jun 2014 21:56:30 +0000 (21:56 +0000)]
[Mac] process raw VTT in-band captions
https://bugs.webkit.org/show_bug.cgi?id=134178

Reviewed by NOBODY (OOPS!).

* CMakeLists.txt: Add ISOVTTCue.cpp|h.
* WebCore.vcxproj/WebCore.vcxproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.

* html/track/BufferedLineReader.h:
(WebCore::BufferedLineReader::reset): New, empty the input buffer.

Make it possible to process WebVTT captions.
* html/track/InbandGenericTextTrack.cpp:
(WebCore::InbandGenericTextTrack::parser): Allocate, if necessary, and return a WebVTT parser.
(WebCore::InbandGenericTextTrack::parseWebVTTCueData): Pass a cue to the parser.
(WebCore::InbandGenericTextTrack::parseWebVTTFileHeader): Pass a VTT file header to the parser.
(WebCore::InbandGenericTextTrack::newCuesParsed): Parser callback.
(WebCore::InbandGenericTextTrack::newRegionsParsed): Ditto.
(WebCore::InbandGenericTextTrack::fileFailedToParse): Ditto.
* html/track/InbandGenericTextTrack.h:

* html/track/InbandTextTrack.h:

* html/track/InbandWebVTTTextTrack.cpp:
(WebCore::InbandWebVTTTextTrack::parser): New, parser accessor.
(WebCore::InbandWebVTTTextTrack::parseWebVTTCueData): New, parse VTT data in an ISOWebVTTCue
    object.
(WebCore::InbandWebVTTTextTrack::newCuesParsed): Cleanup.
(WebCore::InbandWebVTTTextTrack::newRegionsParsed): Implement.
(WebCore::InbandWebVTTTextTrack::fileFailedToParse): Change the error message.
* html/track/InbandWebVTTTextTrack.h:

* html/track/TextTrackCueGeneric.cpp:
(WebCore::TextTrackCueGenericBoxElement::TextTrackCueGenericBoxElement): Change cue parameter
    from a pointer to a reference.
(WebCore::TextTrackCueGeneric::createDisplayTree): Ditto.

* html/track/VTTCue.cpp:
(WebCore::VTTCueBox::create): Change cue parameter from a pointer to a reference.
(WebCore::VTTCueBox::VTTCueBox): Ditto.
(WebCore::VTTCueBox::getCue): Return a reference.
(WebCore::VTTCueBox::applyCSSProperties): m_cue is a reference, not a pointer.
(WebCore::VTTCue::create): New, create a VTTCue from WebVTTCueData.
(WebCore::VTTCue::VTTCue): New, internal constructor that takes a WebVTTCueData.
(WebCore::VTTCue::initialize): New, shared constructor initialization.
(WebCore::VTTCue::createDisplayTree): m_cue is a reference, not a pointer.
(WebCore::VTTCue::markFutureAndPastNodes): Ditto.
(WebCore::VTTCue::setCueSettings): Ditto.
* html/track/VTTCue.h:
(WebCore::VTTCueBox::create): Deleted.
(WebCore::VTTCue::create): Deleted.

* html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::parseFileHeader): New. Reset the line reader buffer and parser state,
    call the parser.
(WebCore::WebVTTParser::parseCueData): Create a cue from ISOWebVTTCue.
(WebCore::WebVTTParser::collectTimingsAndSettings): Return immediately if the string is empty.
(WebCore::WebVTTParser::collectTimeStamp): Ditto.
* html/track/WebVTTParser.h:
(WebCore::WebVTTCueData::originalStartTime): New.
(WebCore::WebVTTCueData::setOriginalStartTime): New.
(WebCore::WebVTTCueData::WebVTTCueData):

* loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::getNewCues): Cleanup, use the new VTTCue::create.

* platform/graphics/InbandTextTrackPrivateClient.h:
(WebCore::InbandTextTrackPrivateClient::parseWebVTTFileHeader): New.

Parse ISO WebVTT cue boxes.
* platform/graphics/ISOVTTCue.cpp: Added.
(WebCore::ISOBox::ISOBox):
(WebCore::ISOBox::peekType):
(WebCore::ISOBox::peekLength):
(WebCore::ISOBox::peekString):
(WebCore::vttCueBoxType):
(WebCore::vttIdBoxType):
(WebCore::vttSettingsBoxType):
(WebCore::vttPayloadBoxType):
(WebCore::vttCurrentTimeBoxType):
(WebCore::vttCueSourceIDBoxType):
(WebCore::ISOWebVTTCue::boxType):
(WebCore::ISOWebVTTCue::ISOWebVTTCue):
* platform/graphics/ISOVTTCue.h: Added.
(WebCore::ISOBox::boxHeaderSize):
(WebCore::ISOBox::length):
(WebCore::ISOBox::type):
(WebCore::ISOWebVTTCue::presentationTime):
(WebCore::ISOWebVTTCue::duration):
(WebCore::ISOWebVTTCue::sourceID):
(WebCore::ISOWebVTTCue::id):
(WebCore::ISOWebVTTCue::originalStartTime):
(WebCore::ISOWebVTTCue::settings):
(WebCore::ISOWebVTTCue::cueText):

* platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
(WebCore::InbandTextTrackPrivateAVF::InbandTextTrackPrivateAVF): Add a cue format parameter.
(WebCore::InbandTextTrackPrivateAVF::processCue): Call processNativeSamples.
(WebCore::InbandTextTrackPrivateAVF::processAttributedStrings): Add logging. Minor cleanup.
(WebCore::InbandTextTrackPrivateAVF::processNativeSamples): New, process an array of
    CMSampleBuffers, create ISOWebVTTCue from the sample data.
* platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:

* platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h:
(WebCore::InbandTextTrackPrivateAVFObjC::create): Add a cue format parameter.
* platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
(WebCore::InbandTextTrackPrivateAVFObjC::InbandTextTrackPrivateAVFObjC): Ditto.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Improve logging.
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Don't leak an NSDictionary.
(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Don't process media selection
    options until we have tracks.
(WebCore::MediaPlayerPrivateAVFoundationObjC::processMediaSelectionOptions):
(WebCore::MediaPlayerPrivateAVFoundationObjC::processCue): Pass native samples as well as
    attributed strings to track.
(-[WebCoreAVFMovieObserver legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:]):
* platform/graphics/avfoundation/objc/OutOfBandTextTrackPrivateAVF.h:
(WebCore::OutOfBandTextTrackPrivateAVF::OutOfBandTextTrackPrivateAVF):

* platform/graphics/avfoundation/InbandTextTrackPrivateLegacyAVFObjC.cpp:
(WebCore::InbandTextTrackPrivateLegacyAVFObjC::InbandTextTrackPrivateLegacyAVFObjC): Pass cue
    format to base class.

* platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.cpp:
(WebCore::InbandTextTrackPrivateAVCF::InbandTextTrackPrivateAVCF): Ditto.
* platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.h:

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

5 years agoPolicy delegate methods should use CompletionHandlerCallChecker
andersca@apple.com [Mon, 23 Jun 2014 21:40:06 +0000 (21:40 +0000)]
Policy delegate methods should use CompletionHandlerCallChecker
https://bugs.webkit.org/show_bug.cgi?id=134215

Reviewed by Dan Bernstein.

* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
(WebKit::NavigationState::PolicyClient::decidePolicyForResponse):

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

5 years agoDon't use the WK prefix for internal C++ types
andersca@apple.com [Mon, 23 Jun 2014 21:33:34 +0000 (21:33 +0000)]
Don't use the WK prefix for internal C++ types
https://bugs.webkit.org/show_bug.cgi?id=134214

Reviewed by Dan Bernstein.

* Shared/AssistedNodeInformation.cpp:
(WebKit::OptionItem::encode):
(WebKit::OptionItem::decode):
(WebKit::WKOptionItem::encode): Deleted.
(WebKit::WKOptionItem::decode): Deleted.
* Shared/AssistedNodeInformation.h:
(WebKit::OptionItem::OptionItem):
(WebKit::AssistedNodeInformation::AssistedNodeInformation):
(WebKit::WKOptionItem::WKOptionItem): Deleted.
* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _requiresKeyboardWhenFirstResponder]):
(-[WKContentView inputView]):
(-[WKContentView requiresAccessoryView]):
(-[WKContentView _updateAccessory]):
(-[WKContentView textInputTraits]):
(-[WKContentView assistedNodeSelectOptions]):
(-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]):
(-[WKContentView _stopAssistingNode]):
* UIProcess/ios/forms/WKFormInputControl.mm:
(-[WKDateTimePicker initWithView:datePickerMode:]):
(-[WKFormInputControl initWithView:]):
* UIProcess/ios/forms/WKFormSelectControl.h:
* UIProcess/ios/forms/WKFormSelectControl.mm:
(adjustedFontSize):
* UIProcess/ios/forms/WKFormSelectPicker.mm:
(-[WKOptionPickerCell initWithOptionItem:]):
(-[WKOptionGroupPickerCell initWithOptionItem:]):
(-[WKMultipleSelectPicker initWithView:]):
(-[WKMultipleSelectPicker pickerView:viewForRow:forComponent:reusingView:]):
(-[WKMultipleSelectPicker pickerView:row:column:checked:]):
(-[WKSelectSinglePicker pickerView:attributedTitleForRow:forComponent:]):
(-[WKSelectSinglePicker pickerView:didSelectRow:inComponent:]):
* UIProcess/ios/forms/WKFormSelectPopover.mm:
(-[WKSelectTableViewController initWithView:hasGroups:]):
(-[WKSelectTableViewController tableView:numberOfRowsInSection:]):
(-[WKSelectTableViewController tableView:titleForHeaderInSection:]):
(-[WKSelectTableViewController populateCell:withItem:]):
(-[WKSelectTableViewController findItemIndexAt:]):
(-[WKSelectTableViewController findItemAt:]):
(-[WKSelectTableViewController tableView:cellForRowAtIndexPath:]):
(-[WKSelectTableViewController tableView:didSelectRowAtIndexPath:]):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getAssistedNodeInformation):

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

5 years ago[Cocoa] No way to grant storage quotas for web application cache
mitz@apple.com [Mon, 23 Jun 2014 21:32:43 +0000 (21:32 +0000)]
[Cocoa] No way to grant storage quotas for web application cache
https://bugs.webkit.org/show_bug.cgi?id=134213

Reviewed by Anders Carlsson.

* UIProcess/API/APIUIClient.h:
(API::UIClient::reachedApplicationCacheOriginQuota): Added this new client function, with
a default implementation that calls the completion handler with the current quota.

* UIProcess/API/Cocoa/WKUIDelegatePrivate.h: Declared a new delegate method.

* UIProcess/API/Cocoa/_WKSecurityOrigin.mm:
(-[_WKSecurityOrigin _initWithSecurityOrigin:WebCore::]): Changed the parameter into a const
reference, since we copy it.
* UIProcess/API/Cocoa/_WKSecurityOriginInternal.h:

* UIProcess/Cocoa/UIDelegate.h: Override API::UIClient::reachedApplicationCacheOriginQuota.
Added flag to m_delegateMethods struct for new delegate method.
* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate): Set new flag in m_delegateMethods struct.
(WebKit::UIDelegate::UIClient::exceededDatabaseQuota): Updated for change in
_WKSecurityOrigin initializer.
(WebKit::UIDelegate::UIClient::reachedApplicationCacheOriginQuota): Added. Calls the new
delegate method.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::reachedApplicationCacheOriginQuota): Added. Forwards the message to
the UI client.
* UIProcess/WebPageProxy.h:

* UIProcess/WebPageProxy.messages.in: Added ReachedApplicationCacheOriginQuota message.

* WebProcess/InjectedBundle/API/APIInjectedBundlePageUIClient.h:
(API::InjectedBundle::PageUIClient::didReachApplicationCacheOriginQuota): Changed the return
type to bool, indicating whether the client handled the callback.

* WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
(WebKit::InjectedBundlePageUIClient::didReachApplicationCacheOriginQuota): Return the
appropriate value.
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::reachedApplicationCacheOriginQuota): If the bundle client didn’t
handle the callback, send a message the the UI process, and update the quota with the reply.

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

5 years ago[wk2] Synchronously wait a short time for a layer tree update after bringing a web...
timothy_horton@apple.com [Mon, 23 Jun 2014 21:32:03 +0000 (21:32 +0000)]
[wk2] Synchronously wait a short time for a layer tree update after bringing a web view in-window
https://bugs.webkit.org/show_bug.cgi?id=134189

Reviewed by Simon Fraser.

Make the old behavior of -[WKView endDeferringViewInWindowChangesSync] the default; synchronously wait
for a fraction of a second when a page that was previously in-window but currently isn't comes back in-window,
until new content is painted (or we hit a timeout).

* UIProcess/DrawingAreaProxy.h:
(WebKit::DrawingAreaProxy::waitForDidUpdateViewState):
* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
(WebKit::TiledCoreAnimationDrawingAreaProxy::waitForDidUpdateViewState):
Delegate waitForDidUpdateViewState to the DrawingAreaProxys, because behavior is very dependent on them.

* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::coreAnimationDidCommitLayers):
(WebKit::RemoteLayerTreeDrawingAreaProxy::waitForDidUpdateViewState):
Implement waitForDidUpdateViewState for the RemoteLayerTree; it waits for CommitLayerTree.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::updateViewState):
(WebKit::WebPageProxy::viewStateDidChange):
(WebKit::WebPageProxy::dispatchViewStateChange):
(WebKit::WebPageProxy::waitForDidUpdateViewState):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
(WebKit::WebPageProxy::viewSize): Deleted.
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::didUpdateViewState):
* UIProcess/API/mac/WKView.mm:
(-[WKView endDeferringViewInWindowChangesSync]):
Always waitForDidUpdateViewState when a page that was previously in-window but currently isn't comes back in-window.

* WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::viewStateDidChange):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::setViewState):
(WebKit::WebPage::didUpdateViewStateTimerFired): Deleted.
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::flushLayers):
(WebKit::RemoteLayerTreeDrawingArea::viewStateDidChange):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::viewStateDidChange):
(WebKit::TiledCoreAnimationDrawingArea::didUpdateViewStateTimerFired):
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::didUpdateViewStateTimerFired): Deleted.
Delegate sending of didUpdateViewState to the DrawingAreas (RemoteLayerTreeDrawingArea won't send it,
    because the UI process waits for CommitLayerTree instead).

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

5 years ago[MSE][Mac] Crash in SourceBuffer::sourceBufferPrivateDidReceiveRenderingError()
jer.noble@apple.com [Mon, 23 Jun 2014 21:27:59 +0000 (21:27 +0000)]
[MSE][Mac] Crash in SourceBuffer::sourceBufferPrivateDidReceiveRenderingError()
https://bugs.webkit.org/show_bug.cgi?id=134211

Reviewed by Eric Carlson.

Null-check m_source before dereferencing, as the SourceBuffer may have been removed
from its MediaSource before this error was received.

* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveRenderingError):

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

5 years ago[iOS][wk2] Ensure that layers are marked volatile before allowing the process to...
timothy_horton@apple.com [Mon, 23 Jun 2014 21:12:00 +0000 (21:12 +0000)]
[iOS][wk2] Ensure that layers are marked volatile before allowing the process to suspend
https://bugs.webkit.org/show_bug.cgi?id=134004
<rdar://problem/17186342>

Reviewed by Simon Fraser.

WebKit tries to make layers volatile when unparented, but sometimes isn't given
a chance to do so before the process gets suspended, so we end up with lots of
non-volatile surfaces that should really be volatile.

* Shared/mac/RemoteLayerBackingStoreCollection.h:
* Shared/mac/RemoteLayerBackingStoreCollection.mm:
(WebKit::RemoteLayerBackingStoreCollection::markBackingStoreVolatileImmediately):
(WebKit::RemoteLayerBackingStoreCollection::markAllBackingStoreVolatileImmediatelyIfPossible):
Add markAllBackingStoreVolatileImmediatelyIfPossible, which tries to mark *all*
buffers of *all* backing store, (live and unreachable), (front, back, and secondary),
volatile right away. It returns false if any buffer isn't marked volatile (because it was in-use).

* UIProcess/ios/ProcessThrottler.h:
* UIProcess/ios/ProcessThrottler.mm:
(WebKit::ProcessThrottler::updateAssertion):
(WebKit::ProcessThrottler::processReadyToSuspend):
(WebKit::ProcessThrottler::didCancelProcessSuspension):
* UIProcess/ios/WebProcessProxyIOS.mm:
(WebKit::WebProcessProxy::sendCancelProcessWillSuspend):
(WebKit::WebProcessProxy::didCancelProcessSuspension):
* UIProcess/WebProcessProxy.h:
* UIProcess/WebProcessProxy.messages.in:
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in:
If the UI process is waiting for the Web process to confirm that it can suspend
and something happens (the view is reparented) that cancels the suspension, inform
the Web process that this happened, so that it can cancel any cleanup that might still be taking place.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::viewStateDidChange):
If a view goes in-window, dispatch the view state change immediately without delay,
to minimize the latency between coming in-window and being ready to go.

* WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::markLayersVolatileImmediatelyIfPossible):
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::setRootCompositingLayer):
Schedule a flush when we change the root layer; otherwise, we can end up
detaching the root layer but changing nothing else, and never committing that change.

(WebKit::RemoteLayerTreeDrawingArea::markLayersVolatileImmediatelyIfPossible):

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::processWillSuspend):
(WebKit::WebProcess::cancelProcessWillSuspend):
(WebKit::WebProcess::markAllLayersVolatileIfPossible):
(WebKit::WebProcess::processSuspensionCleanupTimerFired):
When the UI process is going to suspend the process, it sends us ProcessWillSuspend,
and defers the suspension until we send a ProcessReadyToSuspend back.
Delay ProcessReadyToSuspend until all layers in our process have been marked volatile.
We'll keep trying every 20ms until they're all volatile. For safety, the UI process will eventually
stop waiting for us, but the volatility change is usually applied successfully within the first
or second timer callback.

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

5 years agoReduce synchronous layout triggered by JavaScript-based media controls
commit-queue@webkit.org [Mon, 23 Jun 2014 21:01:19 +0000 (21:01 +0000)]
Reduce synchronous layout triggered by JavaScript-based media controls
https://bugs.webkit.org/show_bug.cgi?id=134208

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-06-23
Reviewed by Eric Carlson.

Avoid always querying the offsetWidth and offsetHeight of the timeline
by only calculating these values when the timeline may change size.
Also avoid doing work in a few cases where properties did not
actually change.

* Modules/mediacontrols/mediaControlsApple.js:
(Controller):

(Controller.prototype.setNeedsTimelineMetricsUpdate):
(Controller.prototype.updateTimelineMetricsIfNeeded):
Only update the timeline metrics when they may have changed.

(Controller.prototype.updateControls):
(Controller.prototype.handleTimelineMouseMove):
(Controller.prototype.progressFillStyle):
(Controller.prototype.showControls):
(Controller.prototype.addControls):
Mark timeline metrics need update based on various UI changes.

(Controller.prototype.setStatusHidden):
Only do work if the hidden status changed.
Mark timeline metrics need update if the timeline is changed.

(Controller.prototype.updateProgress):
Use cached timeline metrics instead of always querying offsetWidth/offsetHeight.

* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS):
(ControllerIOS.prototype.updateControls):

(ControllerIOS.prototype.updateProgress):
Use cached timeline metrics instead of always querying offsetWidth/offsetHeight.

(ControllerIOS.prototype.handleWirelessPlaybackChange):
Mark timeline metrics need update as button may have changed.

(ControllerIOS.prototype.handleWirelessTargetAvailableChange):
Only do work if the availability changed.
Mark timeline metrics need update as a new button may have appeared.

(ControllerIOS.prototype.set pageScaleFactor):
Only do work if the page scale factor changed.

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

5 years agoAdd skeleton code for updated Gamepad API
beidson@apple.com [Mon, 23 Jun 2014 20:24:43 +0000 (20:24 +0000)]
Add skeleton code for updated Gamepad API
https://bugs.webkit.org/show_bug.cgi?id=134165

Unreviewed - Forgotten review feedback from http://trac.webkit.org/changeset/170309

* Modules/gamepad/GamepadButton.idl: Forgot to commit the removal of NoInterfaceObject here.

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

5 years agoEnsure that we always use symlink free paths when specifying cache directories
oliver@apple.com [Mon, 23 Jun 2014 20:19:35 +0000 (20:19 +0000)]
Ensure that we always use symlink free paths when specifying cache directories
https://bugs.webkit.org/show_bug.cgi?id=134206

Reviewed by Anders Carlsson.

Sandboxing will deny symlink based paths, so we use realpath to create extensions.
This leaves us in the position of an extension using a visually different path
from other parts of the process code.  This patch simply makes sure that we always
use the realpath for cache directories, so making debugging easier and also ensuring
that we don't ever accidentally try to use a path with symlinks that will thus get
denied.

* Shared/SandboxExtension.h:
(WebKit::stringByResolvingSymlinksInPath):
* Shared/mac/SandboxExtensionMac.mm:
(WebKit::stringByResolvingSymlinksInPath):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::ensureNetworkProcess):
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformDefaultApplicationCacheDirectory):
(WebKit::WebContext::platformDefaultDiskCacheDirectory):
(WebKit::WebContext::platformDefaultWebSQLDatabaseDirectory):
(WebKit::WebContext::platformDefaultIconDatabasePath):
(WebKit::WebContext::platformDefaultLocalStorageDirectory):

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

5 years agoInline the UnlinkedInstructionStream::Reader logic.
akling@apple.com [Mon, 23 Jun 2014 19:58:19 +0000 (19:58 +0000)]
Inline the UnlinkedInstructionStream::Reader logic.
<https://webkit.org/b/134203>

This class is only used by CodeBlock to unpack the unlinked instructions,
and we were spending 0.5% of total time on PLT calling Reader::next().
Move the logic to the header file and mark it ALWAYS_INLINE.

Reviewed by Geoffrey Garen.

* bytecode/UnlinkedInstructionStream.cpp:
* bytecode/UnlinkedInstructionStream.h:
(JSC::UnlinkedInstructionStream::Reader::Reader):
(JSC::UnlinkedInstructionStream::Reader::read8):
(JSC::UnlinkedInstructionStream::Reader::read32):
(JSC::UnlinkedInstructionStream::Reader::next):

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

5 years agoUnregister notification observer registered in r170156.
roger_fong@apple.com [Mon, 23 Jun 2014 19:35:54 +0000 (19:35 +0000)]
Unregister notification observer registered in r170156.
https://bugs.webkit.org/show_bug.cgi?id=134204.

Reviewed by Tim Horton.

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

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

5 years agoFix a test case failing on WK1 after r170296.
antti@apple.com [Mon, 23 Jun 2014 19:29:08 +0000 (19:29 +0000)]
Fix a test case failing on WK1 after r170296.

There is now a non-visual render tree dump difference between WK1 and Wk2 results here due to wk1 requiring an additional style synchronization.

* platform/mac-wk2/editing/inserting: Added.
* platform/mac-wk2/editing/inserting/break-blockquote-after-delete-expected.txt: Copied from LayoutTests/platform/mac/editing/inserting/break-blockquote-after-delete-expected.txt.
* platform/mac/editing/inserting/break-blockquote-after-delete-expected.txt:

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

5 years agoAdd skeleton code for updated Gamepad API
beidson@apple.com [Mon, 23 Jun 2014 19:19:55 +0000 (19:19 +0000)]
Add skeleton code for updated Gamepad API
https://bugs.webkit.org/show_bug.cgi?id=134165

Reviewed by Dean Jackson.

No new tests (No change in behavior for any tested configuration)

Interface and dummy implementation for the Gamepad object:
* Modules/gamepad/Gamepad.cpp: Added.
(WebCore::Gamepad::Gamepad):
(WebCore::Gamepad::~Gamepad):
(WebCore::Gamepad::axes):
(WebCore::Gamepad::buttons):
* Modules/gamepad/Gamepad.h: Added.
* Modules/gamepad/Gamepad.idl: Added.

Interface and dummy implementation for the GamepadButton object:
* Modules/gamepad/GamepadButton.cpp: Added.
(WebCore::GamepadButton::GamepadButton):
(WebCore::GamepadButton::pressed):
* Modules/gamepad/GamepadButton.h: Added.
(WebCore::GamepadButton::create):
(WebCore::GamepadButton::value):
(WebCore::GamepadButton::setValue):
* Modules/gamepad/GamepadButton.idl: Added.

Interface and dummy implementation for the GamepadEvent object:
* Modules/gamepad/GamepadEvent.cpp: Added.
(WebCore::GamepadEvent::GamepadEvent):
* Modules/gamepad/GamepadEvent.h: Added.
(WebCore::GamepadEventInit::GamepadEventInit):
(WebCore::GamepadEvent::~GamepadEvent):
(WebCore::GamepadEvent::create):
(WebCore::GamepadEvent::gamepad):
* Modules/gamepad/GamepadEvent.idl: Added.
* dom/EventNames.in:

Interface and dummy implementation for additions to the Navigator object:
* Modules/gamepad/NavigatorGamepad.cpp: Added.
(WebCore::NavigatorGamepad::NavigatorGamepad):
(WebCore::NavigatorGamepad::supplementName):
(WebCore::NavigatorGamepad::from):
(WebCore::NavigatorGamepad::getGamepads):
(WebCore::NavigatorGamepad::gamepads):
* Modules/gamepad/NavigatorGamepad.h: Added.
* Modules/gamepad/NavigatorGamepad.idl: Added.

Bindings additions necessary for these new interfaces:
* bindings/js/JSDOMBinding.h:
(WebCore::JSValueTraits<double>::arrayJSValue):
* bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::convertValue):
* bindings/js/JSDictionary.h:

Project file stuff:
* CMakeLists.txt:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCoreCommon.props:
* WebCore.vcxproj/copyForwardingHeaders.cmd:
* WebCore.xcodeproj/project.pbxproj:
* DerivedSources.make:

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

5 years agoCatch Obj-C exceptions thrown by _linenPatternImage
simon.fraser@apple.com [Mon, 23 Jun 2014 19:02:23 +0000 (19:02 +0000)]
Catch Obj-C exceptions thrown by _linenPatternImage
https://bugs.webkit.org/show_bug.cgi?id=134202

Reviewed by Geoffrey Garen.

Catch Objective-C exceptions thrown by _linenPatternImage and
-[NSImage CGImageForProposedRect:context:hints:].

* platform/mac/ScrollbarThemeMac.mm:
(WebCore::linenBackgroundColor):

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

5 years agoCSS clip property should make layers non-opaque
simon.fraser@apple.com [Mon, 23 Jun 2014 19:00:34 +0000 (19:00 +0000)]
CSS clip property should make layers non-opaque
https://bugs.webkit.org/show_bug.cgi?id=134147

Source/WebCore:
<rdar://problem/17324579>

Reviewed by Tim Horton.

https://www.fairphone.com has position:fixed elements with clip: rect(...)
but we were making those layers opaque, resulting in garbage pixels
in areas outside the clip rect.

Fix by checking for the clip property in RenderBox::backgroundIsKnownToBeOpaqueInRect().

Test: compositing/contents-opaque/opaque-with-clip.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::backgroundIsKnownToBeOpaqueInRect):

LayoutTests:

Reviewed by Tim Horton.

* compositing/contents-opaque/opaque-with-clip-expected.html: Added.
* compositing/contents-opaque/opaque-with-clip.html: Added.

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

5 years agoAdding a mask on a simple color compositing layer removes the content
simon.fraser@apple.com [Mon, 23 Jun 2014 19:00:32 +0000 (19:00 +0000)]
Adding a mask on a simple color compositing layer removes the content
https://bugs.webkit.org/show_bug.cgi?id=134127

Reviewed by Dean Jackson.

Source/WebCore:

In r169053 I moved some updateDrawsContent() into updateAfterDescendents(),
but this isn't called when a composited layer gains or loses a mask (which
doesn't cause a layout). This caused us to fail to allocate backing store
when gaining a mask, resulting in missing content.

Fix by calling updateAfterDescendents() from RenderLayer::styleChange()
when the layer config isn't changing.

Also remove a condition in isSimpleContainerCompositingLayer() that caused us
to fall off the simple layer path for masked layers, since this works just
fine.

Test: compositing/masks/solid-color-masked.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):

LayoutTests:

* compositing/masks/mask-layer-size-expected.txt:
* compositing/masks/solid-color-masked-expected.html: Added.
* compositing/masks/solid-color-masked.html: Added.

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

5 years agoEnable the Web Inspector in MiniBrowser
simon.fraser@apple.com [Mon, 23 Jun 2014 19:00:30 +0000 (19:00 +0000)]
Enable the Web Inspector in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=134148

Reviewed by Joseph Pecoraro.

Set the pref to enable Web Inspector in both WK1 and WK2 windows.

* MiniBrowser/mac/AppDelegate.m:
(-[BrowserAppDelegate applicationDidFinishLaunching:]):

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

5 years ago[New Multicolumn] Writing mode changes on the <html> and RenderView need to
hyatt@apple.com [Mon, 23 Jun 2014 18:56:52 +0000 (18:56 +0000)]
[New Multicolumn] Writing mode changes on the <html> and RenderView need to
be propagated to column sets and flow thread children of those renderers.
https://bugs.webkit.org/show_bug.cgi?id=134121
<rdar://problem/16884527>

Reviewed by Dean Jackson.

Source/WebCore:
Added fast/multicol/pagination/RightToLeft-rl-dynamic.html

* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::styleDidChange):
Refactor the propagation code for column sets and flow thread styles into a helper
function that is called here.

(WebCore::RenderBlockFlow::updateStylesForColumnChildren):
* rendering/RenderBlockFlow.h:
Add a new helper function for recalculating the styles of the column sets and
flow thread in response to changes.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleDidChange):
When the style is changed for a root element or the RenderView in response to
writing mode and direction changes, make sure that style gets propagated to
the column children by calling the new helper function.

LayoutTests:
* fast/multicol/pagination/RightToLeft-rl-dynamic.html: Added.
* platform/mac/fast/multicol/pagination/BottomToTop-bt-expected.png:
* platform/mac/fast/multicol/pagination/BottomToTop-lr-expected.png:
* platform/mac/fast/multicol/pagination/BottomToTop-rl-expected.png:
* platform/mac/fast/multicol/pagination/BottomToTop-tb-expected.png:
* platform/mac/fast/multicol/pagination/LeftToRight-bt-expected.png:
* platform/mac/fast/multicol/pagination/LeftToRight-lr-expected.png:
* platform/mac/fast/multicol/pagination/LeftToRight-rl-expected.png:
* platform/mac/fast/multicol/pagination/LeftToRight-tb-expected.png:
* platform/mac/fast/multicol/pagination/RightToLeft-bt-expected.png:
* platform/mac/fast/multicol/pagination/RightToLeft-lr-expected.png:
* platform/mac/fast/multicol/pagination/RightToLeft-rl-dynamic-expected.png: Added.
* platform/mac/fast/multicol/pagination/RightToLeft-rl-dynamic-expected.txt: Added.
* platform/mac/fast/multicol/pagination/RightToLeft-rl-expected.png:
* platform/mac/fast/multicol/pagination/RightToLeft-tb-expected.png:
* platform/mac/fast/multicol/pagination/TopToBottom-bt-expected.png:
* platform/mac/fast/multicol/pagination/TopToBottom-lr-expected.png:
* platform/mac/fast/multicol/pagination/TopToBottom-rl-expected.png:
* platform/mac/fast/multicol/pagination/TopToBottom-tb-expected.png:
* platform/mac/fast/multicol/pagination/nested-transforms-expected.png:

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

5 years ago[Cocoa] No way to grant storage quotas for WebSQL
mitz@apple.com [Mon, 23 Jun 2014 18:25:12 +0000 (18:25 +0000)]
[Cocoa] No way to grant storage quotas for WebSQL
https://bugs.webkit.org/show_bug.cgi?id=134175

Reviewed by Anders Carlsson.

* Shared/WebSecurityOrigin.h:
(WebKit::WebSecurityOrigin::securityOrigin): Changed to return a non-const reference.

* UIProcess/API/APIUIClient.h:
(API::UIClient::exceededDatabaseQuota): Added a completion handler parameter than takes the
new quota, and changed the return type to void.

* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient): Changed the override of exceededDatabaseQuota to call the
completion handler with the new quota, or with the existing quota if the client doesn’t
implement the callback.

* UIProcess/API/Cocoa/WKUIDelegatePrivate.h: Declared new delegate method.

* UIProcess/API/Cocoa/_WKSecurityOrigin.h: Added.
* UIProcess/API/Cocoa/_WKSecurityOrigin.mm: Added.
(-[_WKSecurityOrigin _initWithSecurityOrigin:WebCore::]): Store the origin in an ivar.
(-[_WKSecurityOrigin protocol]): Added this accessor.
(-[_WKSecurityOrigin host]): Ditto.
(-[_WKSecurityOrigin port]): Ditto.
* UIProcess/API/Cocoa/_WKSecurityOriginInternal.h: Added.

* UIProcess/Cocoa/UIDelegate.h: Override API::UIClient::exceededDatabaseQuota. Added flag
to m_delegateMethods struct for new delegate method.
* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate): Set new flag in m_delegateMethods struct.
(WebKit::UIDelegate::UIClient::exceededDatabaseQuota): Added. Calls the new delegate method.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::exceededDatabaseQuota): Updated for the new client interface: now
passing a completion handler that replies with the new quota.

* WebKit2.xcodeproj/project.pbxproj: Added references to new files, sorted a group.

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

5 years ago[iOS] Use WebGLLayer rather than PlatformLayer in GraphicsContext3D
dino@apple.com [Mon, 23 Jun 2014 18:16:39 +0000 (18:16 +0000)]
[iOS] Use WebGLLayer rather than PlatformLayer in GraphicsContext3D
https://bugs.webkit.org/show_bug.cgi?id=134183

Follow-up review from Sam Weinig.

* platform/graphics/GraphicsContext3D.h: Merge another bit of MAC and IOS
code.
* ChangeLog: Actually read his review comments this time.

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

5 years ago[Mac] Uncaught exception crash when destroying MediaPlayerPrivateAVFoundationObjC
jer.noble@apple.com [Mon, 23 Jun 2014 18:01:24 +0000 (18:01 +0000)]
[Mac] Uncaught exception crash when destroying MediaPlayerPrivateAVFoundationObjC
https://bugs.webkit.org/show_bug.cgi?id=134198

Reviewed by Eric Carlson.

Now that we always create an AVPlayerLayer when creating an AVPlayer, but we don't
return that layer from platformLayer() unless we've been asked to, we no longer are
asked to destroy our video layer from MediaPlayerPrivateAVFoundation::tearDownVideoRendering().

Instead, explicitly destroy our video layer (and remove the KVO-observer which is
causing this exception) in the MediaPlayerPrivateAVFoundationObjC destructor.

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

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

5 years agoMore build fixing after r170295.
simon.fraser@apple.com [Mon, 23 Jun 2014 17:50:02 +0000 (17:50 +0000)]
More build fixing after r170295.

* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface):

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

5 years agoFix build.
andersca@apple.com [Mon, 23 Jun 2014 17:39:02 +0000 (17:39 +0000)]
Fix build.

* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):

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

5 years agoGive read-only properties proper ownership attributes
andersca@apple.com [Mon, 23 Jun 2014 17:27:14 +0000 (17:27 +0000)]
Give read-only properties proper ownership attributes
https://bugs.webkit.org/show_bug.cgi?id=134197
<rdar://problem/16830117>

Reviewed by Dan Bernstein.

Also, make WKFrameInfo conform to NSCopying since it's a data-only object and thus intended to be copied.

* UIProcess/API/Cocoa/WKBackForwardList.h:
* UIProcess/API/Cocoa/WKBackForwardListItem.h:
* UIProcess/API/Cocoa/WKFrameInfo.h:
* UIProcess/API/Cocoa/WKFrameInfo.mm:
(-[WKFrameInfo copyWithZone:]):
(-[WKFrameInfo setRequest:]): Deleted.
* UIProcess/API/Cocoa/WKNavigation.h:
* UIProcess/API/Cocoa/WKNavigationAction.h:
* UIProcess/API/Cocoa/WKNavigationAction.mm:
(-[WKNavigationAction setSourceFrame:]):
(-[WKNavigationAction setTargetFrame:]):
* UIProcess/API/Cocoa/WKNavigationActionInternal.h:
* UIProcess/API/Cocoa/WKNavigationResponse.h:
* UIProcess/API/Cocoa/WKScriptMessage.h:
* UIProcess/API/Cocoa/WKUserContentController.h:
* UIProcess/API/Cocoa/WKUserScript.h:
* UIProcess/API/Cocoa/WKWebView.h:

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

5 years agoRemove unused FrameView::setUseCustomFixedPositionLayoutRect().
akling@apple.com [Mon, 23 Jun 2014 17:07:54 +0000 (17:07 +0000)]
Remove unused FrameView::setUseCustomFixedPositionLayoutRect().
<https://webkit.org/b/134194>

Reviewed by Anders Carlsson.

* WebCore.exp.in:
* page/FrameView.cpp:
(WebCore::FrameView::setUseCustomFixedPositionLayoutRect): Deleted.
* page/FrameView.h:

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

5 years agoREGRESSION (r160908): Unable to unset bold while entering text
antti@apple.com [Mon, 23 Jun 2014 17:02:27 +0000 (17:02 +0000)]
REGRESSION (r160908): Unable to unset bold while entering text
https://bugs.webkit.org/show_bug.cgi?id=134196
<rdar://problem/17051653>

Reviewed by Andreas Kling.

No test, this code path is used by some WK1 API clients only.

* editing/Editor.cpp:
(WebCore::Editor::styleForSelectionStart):

    This needs to update the style before requesting the renderer.

* editing/Editor.h:
* editing/ios/EditorIOS.mm:
(WebCore::styleForSelectionStart): Deleted.
* editing/mac/EditorMac.mm:
(WebCore::styleForSelectionStart): Deleted.

    Removed the duplicated functions, moved to Editor.cpp.

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

5 years ago[iOS] Fix video in WebGL.
achristensen@apple.com [Mon, 23 Jun 2014 16:39:13 +0000 (16:39 +0000)]
[iOS] Fix video in WebGL.
https://bugs.webkit.org/show_bug.cgi?id=133511

Reviewed by Jer Noble.

* WebCore.exp.in:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::hasSingleSecurityOrigin):
(WebCore::wkAVAssetResolvedURL): Deleted.
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:
Declare and use resolvedURL on AVURLAsset instead of using wkAVAssetResolvedURL through WebKitSystemInterface.

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

5 years ago[EFL] Move WebKit2 test results into LayoutTests/platform/efl
m.pakula@samsung.com [Mon, 23 Jun 2014 15:25:49 +0000 (15:25 +0000)]
[EFL] Move WebKit2 test results into LayoutTests/platform/efl
https://bugs.webkit.org/show_bug.cgi?id=134192

Unreviewed gardening, moving files into LayoutTests/platform/efl after removing EFL WebKit1.

* platform/efl/webaudio/oscillator-custom-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/oscillator-custom-expected.wav.
* platform/efl/webaudio/oscillator-sawtooth-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/oscillator-sawtooth-expected.wav.
* platform/efl/webaudio/oscillator-sine-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/oscillator-sine-expected.wav.
* platform/efl/webaudio/oscillator-square-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/oscillator-square-expected.wav.
* platform/efl/webaudio/oscillator-triangle-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/oscillator-triangle-expected.wav.
* platform/efl/webaudio/up-mixing-mono-51-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/up-mixing-mono-51-expected.wav.
* platform/efl/webaudio/up-mixing-mono-stereo-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/up-mixing-mono-stereo-expected.wav.
* platform/efl/webaudio/up-mixing-stereo-51-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/up-mixing-stereo-51-expected.wav.

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