WebKit-https.git
6 years agoHTMLFrameOwnerElement should obey the SubframeLoadingDisabler when creating subframes
akling@apple.com [Fri, 21 Mar 2014 07:31:39 +0000 (07:31 +0000)]
HTMLFrameOwnerElement should obey the SubframeLoadingDisabler when creating subframes
<rdar://problem/15675780>

Merge Blink r156744 by Adam Klein.

Source/WebCore:

Test: fast/frames/set-iframe-src-in-pagehide-crash.html

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

LayoutTests:

* fast/frames/set-iframe-src-in-pagehide-crash-expected.txt: Added.
* fast/frames/set-iframe-src-in-pagehide-crash.html: Added.

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

6 years agoCheck for inappropriate macros in private headers
psolanki@apple.com [Fri, 21 Mar 2014 07:25:05 +0000 (07:25 +0000)]
Check for inappropriate macros in private headers
https://bugs.webkit.org/show_bug.cgi?id=130564

Reviewed by Filip Pizlo.

Check PrivateHeaders for inappropriate macros as well so that we avoid build breakages like
the one due to the original commit for bug 130142.

* WebKit.xcodeproj/project.pbxproj:

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

6 years agoImprove idiom used for string building in a few places
darin@apple.com [Fri, 21 Mar 2014 07:13:59 +0000 (07:13 +0000)]
Improve idiom used for string building in a few places
https://bugs.webkit.org/show_bug.cgi?id=130561

Reviewed by Andreas Kling.

Source/WebCore:

* Modules/indexeddb/IDBKeyData.cpp:
(WebCore::IDBKeyData::loggingString): Use a StringBuilder, and get rid of
an an unnecessary additional string allocation.

* Modules/websockets/ThreadableWebSocketChannel.cpp:
(WebCore::ThreadableWebSocketChannel::create): Use StringBuilder.

* html/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryDocumentParser::createTDForFilename): Do a more efficient
string concatenation.
* html/ValidationMessage.cpp:
(WebCore::ValidationMessage::updateValidationMessage): Ditto.

* inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
Use a StringBuilder.

* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyle::shorthandValue): Use a StringBuilder.

* inspector/InspectorStyleTextEditor.cpp:
(WebCore::InspectorStyleTextEditor::insertProperty): Use a more efficient idiom
for string concatenation.
(WebCore::InspectorStyleTextEditor::internalReplaceProperty): Ditto.
* loader/FormSubmission.cpp:
(WebCore::appendMailtoPostFormDataToURL): Ditto.

* page/Frame.cpp:
(WebCore::createRegExpForLabels): Use a StringBuilder.

* platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
(WebCore::InbandTextTrackPrivateAVF::processCueAttributes): Use a more efficient
idiom for string concatenation.

* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::getUnmangledInfoLog): Use a StringBuilder.

* platform/network/MIMEHeader.cpp:
(WebCore::MIMEHeader::parseHeader): Use a more efficient idiom for string
concatenation.
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::addHTTPHeaderField): Ditto.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::layerTreeAsText): Ditto.

* rendering/RenderText.cpp:
(WebCore::RenderText::secureText): Create a new string with the substring
function rather than with the append function.

* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::setRequestHeaderInternal): Use a more efficient idiom
for string concatenation.

Source/WebKit/mac:

* WebView/WebHTMLRepresentation.mm:
(regExpForLabels): Use StringBuilder.

Source/WebKit2:

* Shared/mac/ChildProcessMac.mm:
(WebKit::ChildProcess::initializeSandbox): Use a more efficient idiom for string
concatenation.

* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::createInspectorPage): Use a StringBuilder.

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

6 years agoAdd a combined decodeAndFlush to TextResourceDecoder
darin@apple.com [Fri, 21 Mar 2014 07:12:07 +0000 (07:12 +0000)]
Add a combined decodeAndFlush to TextResourceDecoder
https://bugs.webkit.org/show_bug.cgi?id=130560

Reviewed by Andreas Kling.

Source/WebCore:

* WebCore.exp.in: Added new symbol for decodeAndFlush. Also re-did
the geometry types #if so it would sort more logically.

* fileapi/FileReaderLoader.cpp:
(WebCore::FileReaderLoader::convertToText): Use decodeAndFlush.
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::cachedResourceContent): Ditto.
* inspector/NetworkResourcesData.cpp:
(WebCore::NetworkResourcesData::ResourceData::decodeDataToContent): Ditto.

* loader/TextResourceDecoder.cpp:
(WebCore::TextResourceDecoder::decodeAndFlush): Added.
* loader/TextResourceDecoder.h: Ditto.

* loader/appcache/ManifestParser.cpp:
(WebCore::parseManifest): Use decodeAndFlush.
* loader/cache/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::sheetText): Ditto.
(WebCore::CachedCSSStyleSheet::finishLoading): Ditto.

* loader/cache/CachedFont.cpp:
(WebCore::CachedFont::ensureSVGFontData): Use decodeAndFlush. Also use nullptr.
(WebCore::CachedFont::getSVGFontById): Use descendantsOfType<SVGFontElement>
instead of using a NodeList. Much more efficient!

* loader/cache/CachedSVGDocument.cpp:
(WebCore::CachedSVGDocument::finishLoading): Use decodeAndFlush.
* loader/cache/CachedScript.cpp:
(WebCore::CachedScript::script): Ditto.
* loader/cache/CachedXSLStyleSheet.cpp:
(WebCore::CachedXSLStyleSheet::finishLoading): Ditto.
* page/Page.cpp:
(WebCore::Page::userStyleSheet): Ditto.

Source/WebKit/mac:

* WebView/WebView.mm:
(+[WebView _decodeData:]): Use decodeAndFlush.

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

6 years agoFTL should correctly compile GetByVal on Uint32Array that claims to return non-int32...
fpizlo@apple.com [Fri, 21 Mar 2014 06:51:18 +0000 (06:51 +0000)]
FTL should correctly compile GetByVal on Uint32Array that claims to return non-int32 values
https://bugs.webkit.org/show_bug.cgi?id=130562
<rdar://problem/16382842>

Reviewed by Geoffrey Garen.

* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileGetByVal):
* tests/stress/uint32array-unsigned-load.js: Added.
(foo):

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

6 years agoRemove a couple of unused functions from CSSOMUtils
darin@apple.com [Fri, 21 Mar 2014 06:44:44 +0000 (06:44 +0000)]
Remove a couple of unused functions from CSSOMUtils
https://bugs.webkit.org/show_bug.cgi?id=130558

Reviewed by Andreas Kling.

* css/CSSOMUtils.cpp: Remove String overloads. Callers all use the StringBuilder
ones, which is good since that is a more efficient idiom.
* css/CSSOMUtils.h: Ditto.

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

6 years agoFix a header guard mistake (harmless but clearly wrong)
darin@apple.com [Fri, 21 Mar 2014 06:44:06 +0000 (06:44 +0000)]
Fix a header guard mistake (harmless but clearly wrong)
https://bugs.webkit.org/show_bug.cgi?id=130559

Reviewed by Andreas Kling.

* wtf/text/StringConcatenate.h: Correct the macro name in the header guard.

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

6 years agoUnreviewed. iOS build fix after r166017, r166032.
psolanki@apple.com [Fri, 21 Mar 2014 06:30:10 +0000 (06:30 +0000)]
Unreviewed. iOS build fix after r166017, r166032.

* platform/ScrollView.cpp:
(WebCore::ScrollView::visibleContentRectInternal):

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

6 years agoWeb Inspector: add temporary buttons to capture/play/pause replay recordings
bburg@apple.com [Fri, 21 Mar 2014 05:26:21 +0000 (05:26 +0000)]
Web Inspector: add temporary buttons to capture/play/pause replay recordings
https://bugs.webkit.org/show_bug.cgi?id=129692

Reviewed by Timothy Hatcher.

If the Replay agent is available, replace the existing ad-hoc navigation bar
in the Timelines sidebar panel with a record and pause/play button. This UI
is temporary.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Controllers/ReplayManager.js: Turn two segment state assertions into
FIXMEs because the assertions are too strong until the public API uses async chains.
(WebInspector.ReplayManager.prototype.replayToMarkIndex):
(WebInspector.ReplayManager.prototype.replayToCompletion):
* UserInterface/Images/Circle.svg: Added.
* UserInterface/Views/ActivateButtonNavigationItem.js:
(WebInspector.ActivateButtonNavigationItem.prototype.generateStyleText):
* UserInterface/Views/ButtonNavigationItem.css: Adjust styles so the default style
has opacity:1 and the glyph color is darker.
(.navigation-bar .item.button.suppress-emboss > .glyph):
(.navigation-bar .item.button.suppress-emboss.disabled > .glyph):
* UserInterface/Views/ButtonNavigationItem.js:
(WebInspector.ButtonNavigationItem.prototype.generateStyleText): Explicitly
generate the width and height properties so that separate button instances do
not influence the size of each other.

* UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel.prototype._recordGlyphClicked):
(WebInspector.TimelineSidebarPanel.prototype._replayCaptureButtonClicked):
(WebInspector.TimelineSidebarPanel.prototype._replayPauseResumeButtonClicked):
(WebInspector.TimelineSidebarPanel.prototype._captureStarted):
(WebInspector.TimelineSidebarPanel.prototype._captureStopped):
(WebInspector.TimelineSidebarPanel.prototype._playbackStarted):
(WebInspector.TimelineSidebarPanel.prototype._playbackPaused):

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

6 years agoWeb Inspector: add frontend controller and models for replay sessions
bburg@apple.com [Fri, 21 Mar 2014 04:45:14 +0000 (04:45 +0000)]
Web Inspector: add frontend controller and models for replay sessions
https://bugs.webkit.org/show_bug.cgi?id=130145

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

* inspector/scripts/CodeGeneratorInspector.py: Add the conditional Replay domain.

Source/WebInspectorUI:

Upstream the frontend models and controller for web replay. The replay manager
syncs with the backend controller's replay state and replay sessions by using
the same state machines and transitions.

Session and segment models update their data asynchronously using promises.

* UserInterface/Base/Main.js:
(WebInspector.loaded): Add the replay manager.
* UserInterface/Base/Test.js:
(WebInspector.loaded): Add the replay manager.
(InspectorTest.debugLog): Fix a bug in the unescape/escape trick.
(InspectorTest.addResult): Don't try to add results until the test page has loaded.
(InspectorTest.testPageDidLoad): Clear the isReloading flag.
(InspectorTest.reloadPage): Reimplement using promises. Return a promise.
* UserInterface/Base/Utilities.js: Implement Map.take in the obvious way.
* UserInterface/Controllers/ReplayManager.js: Added.
(WebInspector.ReplayManager):
(WebInspector):
(WebInspector.ReplayManager.prototype.get sessionState):
(WebInspector.ReplayManager.prototype.get segmentState):
(WebInspector.ReplayManager.prototype.get activeSessionIdentifier):
(WebInspector.ReplayManager.prototype.get activeSegmentIdentifier):
(WebInspector.ReplayManager.prototype.get playbackSpeed):
(WebInspector.ReplayManager.prototype.set playbackSpeed):
(WebInspector.ReplayManager.prototype.get currentPosition):
(WebInspector.ReplayManager.prototype.getSession.get var):
(WebInspector.ReplayManager.prototype.getSegment.get var):
(WebInspector.ReplayManager.prototype.captureStarted):
(WebInspector.ReplayManager.prototype.captureStopped):
(WebInspector.ReplayManager.prototype.playbackStarted):
(WebInspector.ReplayManager.prototype.playbackHitPosition):
(WebInspector.ReplayManager.prototype.playbackPaused):
(WebInspector.ReplayManager.prototype.playbackFinished):
(WebInspector.ReplayManager.prototype.sessionCreated.set catch):
(WebInspector.ReplayManager.prototype.sessionCreated.this):
(WebInspector.ReplayManager.prototype.sessionCreated):
(WebInspector.ReplayManager.prototype.sessionModified):
(WebInspector.ReplayManager.prototype.sessionRemoved.then):
(WebInspector.ReplayManager.prototype.sessionRemoved):
(WebInspector.ReplayManager.prototype.segmentCreated.set this):
(WebInspector.ReplayManager.prototype.segmentCompleted.set catch):
(WebInspector.ReplayManager.prototype.segmentCompleted):
(WebInspector.ReplayManager.prototype.segmentRemoved.then):
(WebInspector.ReplayManager.prototype.segmentRemoved):
(WebInspector.ReplayManager.prototype.segmentLoaded):
(WebInspector.ReplayManager.prototype.segmentUnloaded):
(WebInspector.ReplayManager.prototype.startCapturing):
(WebInspector.ReplayManager.prototype.stopCapturing):
(WebInspector.ReplayManager.prototype.replayToMarkIndex):
(WebInspector.ReplayManager.prototype.replayToCompletion):
(WebInspector.ReplayManager.prototype.pausePlayback):
(WebInspector.ReplayManager.prototype.stopPlayback):
(WebInspector.ReplayManager.prototype._changeSessionState):
(WebInspector.ReplayManager.prototype._changeSegmentState):
* UserInterface/Main.html:
* UserInterface/Models/ReplaySession.js: Added.
(WebInspector.ReplaySession):
(WebInspector.ReplaySession.fromPayload):
(WebInspector.ReplaySession.prototype.get segments):
(WebInspector.ReplaySession.prototype.segmentsChanged):
(WebInspector.ReplaySession.prototype._updateFromPayload):
* UserInterface/Models/ReplaySessionSegment.js: Added.
(WebInspector.IncompleteSessionSegment):
(WebInspector.IncompleteSessionSegment.prototype.get isComplete):
(WebInspector.ReplaySessionSegment):
(WebInspector.ReplaySessionSegment.prototype.get isComplete):
* UserInterface/Protocol/InspectorBackend.js:
(InspectorBackendClass.prototype.registerCommand):
(InspectorBackendClass.prototype._promise): Add a promise-returning method for
invoking backend commands that return a result asynchronously.
* UserInterface/Protocol/ReplayObserver.js: Added.
(WebInspector.ReplayPosition):
(WebInspector.ReplayPosition.fromProtocol):
(WebInspector.ReplayObserver):
(WebInspector.ReplayObserver.prototype.captureStarted):
(WebInspector.ReplayObserver.prototype.captureStopped):
(WebInspector.ReplayObserver.prototype.playbackStarted):
(WebInspector.ReplayObserver.prototype.playbackHitPosition):
(WebInspector.ReplayObserver.prototype.playbackPaused):
(WebInspector.ReplayObserver.prototype.playbackFinished):
(WebInspector.ReplayObserver.prototype.inputSuppressionChanged):
(WebInspector.ReplayObserver.prototype.sessionCreated):
(WebInspector.ReplayObserver.prototype.sessionModified):
(WebInspector.ReplayObserver.prototype.sessionRemoved):
(WebInspector.ReplayObserver.prototype.sessionLoaded):
(WebInspector.ReplayObserver.prototype.segmentCreated):
(WebInspector.ReplayObserver.prototype.segmentRemoved):
(WebInspector.ReplayObserver.prototype.segmentCompleted):
(WebInspector.ReplayObserver.prototype.segmentLoaded):
(WebInspector.ReplayObserver.prototype.segmentUnloaded):
* UserInterface/Test.html:

LayoutTests:

Add tests for existing nondeterministic inputs handled in JSC.
They are skipped for all platforms until WEB_REPLAY is enabled.

The new mechanism here is the single-segment replay reftest. It will
load the test page once to inject test code into the inspector. Then,
the reftest will reload the test page and start capturing. The test
page performs some nondeterministic computation before the load event.
Then, the inspector test dumps the computed nondeterministic state.
Capturing is stopped, and the session is replayed once. When the load
event fires on the replayed page execution, the nondeterministic states
from capturing and replaying are compared. They should be the same.

* inspector/replay/javascript-random-seed-expected.txt: Added.
* inspector/replay/javascript-random-seed.html: Added.
* inspector/replay/replay-test.js: Added. This contains the bulk of
the replay-specific testing logic for the added tests.

(InspectorTestProxy.registerInitializer.):
(InspectorTestProxy.registerInitializer):

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

6 years agoMove to using std::unique_ptr for EFL objects.
ryuan.choi@samsung.com [Fri, 21 Mar 2014 04:13:37 +0000 (04:13 +0000)]
Move to using std::unique_ptr for EFL objects.
https://bugs.webkit.org/show_bug.cgi?id=129853

Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-03-20
Reviewed by Gyuyoung Kim.

EflUniquePtr is a template alias of std::unique_ptr
with a custom deleter for each Efl Objects, which is motivated by GUniquePtr.
This patch replaces uses of OwnPtr and PassOwnPtr for Efl objects with EflUniquePtr.

Source/WebCore:

No new tests. No new functionality.

* platform/efl/EflScreenUtilities.h:
* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::ThemePartCacheEntry::create):
(WebCore::RenderThemeEfl::loadTheme):
* platform/efl/RenderThemeEfl.h:
* platform/graphics/Icon.h:
* platform/graphics/efl/EvasGLContext.h:
(WebCore::EvasGLContext::create):
* platform/graphics/efl/EvasGLSurface.h:
(WebCore::EvasGLSurface::create):

Source/WebKit/efl:

* WebCoreSupport/AcceleratedCompositingContextEfl.cpp:
(WebCore::AcceleratedCompositingContext::initialize):
* WebCoreSupport/AcceleratedCompositingContextEfl.h:
* WebCoreSupport/BatteryClientEfl.h:
* WebCoreSupport/DumpRenderTreeSupportEfl.h:
* WebCoreSupport/EditorClientEfl.h:
* WebCoreSupport/FrameNetworkingContextEfl.h:
* WebCoreSupport/NavigatorContentUtilsClientEfl.h:
* ewk/ewk_view.cpp:
(_ewk_view_editor_command_string_get):
* tests/UnitTestUtils/EWKTestView.cpp:
(EWKUnitTests::EWKTestView::init):
* tests/UnitTestUtils/EWKTestView.h:

Source/WebKit2:

* Platform/Module.h:
* Platform/efl/ModuleEfl.cpp:
(WebKit::Module::load):
* UIProcess/API/efl/EwkView.cpp:
(EwkView::EwkView):
* UIProcess/API/efl/EwkView.h:
* UIProcess/efl/InputMethodContextEfl.cpp:
(WebKit::InputMethodContextEfl::InputMethodContextEfl):
(WebKit::InputMethodContextEfl::createIMFContext):
* UIProcess/efl/InputMethodContextEfl.h:
(WebKit::InputMethodContextEfl::create):

Source/WTF:

* wtf/OwnPtrCommon.h:
* wtf/PlatformEfl.cmake:
* wtf/RunLoop.h:
* wtf/efl/MainThreadEfl.cpp:
(WTF::pipeObject):
(WTF::initializeMainThreadPlatform):
* wtf/efl/OwnPtrEfl.cpp: Removed.
* wtf/efl/RunLoopEfl.cpp:
(WTF::RunLoop::RunLoop):
* wtf/efl/UniquePtrEfl.h: Added.
(WTF::EflPtrDeleter::operator()):

Tools:

* DumpRenderTree/efl/DumpRenderTree.cpp:
(main):
* ImageDiff/efl/ImageDiff.cpp:
(initEfl):
(main):

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

6 years agoAdd option for hiding Confidence Interval Delta on the performance tests results...
zoltan@webkit.org [Fri, 21 Mar 2014 04:05:05 +0000 (04:05 +0000)]
Add option for hiding Confidence Interval Delta on the performance tests results page
https://bugs.webkit.org/show_bug.cgi?id=130483

Reviewed by Ryosuke Niwa.

I've found it useful to hide the confidence interval delta from the results table
sometimes, for example on copying data, or for a clearer look. This patch introduces
a new button for it on the local results page.

* resources/results-template.html:

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

6 years ago[EFL][GTK] Get CMake to find Freetype2 properly
thiago.lacerda@openbossa.org [Fri, 21 Mar 2014 03:47:26 +0000 (03:47 +0000)]
[EFL][GTK] Get CMake to find Freetype2 properly
https://bugs.webkit.org/show_bug.cgi?id=130150

Reviewed by Martin Robinson.

Newer versions of CMake are not able to find Freetype2 correctly.
FindFreetype2.cmake checks for the version number in freetype.h header, since it seems that bug exists in
freetype2 repo, because a completely different version number is found in freetype2.pc.

.:

* Source/cmake/FindFreetype2.cmake: Added.
* Source/cmake/OptionsEfl.cmake:
* Source/cmake/OptionsGTK.cmake:

Source/WebCore:

* PlatformEfl.cmake:
* PlatformGTK.cmake:

Source/WebKit:

* PlatformEfl.cmake:

Source/WebKit2:

* PlatformEfl.cmake:

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

6 years agoUnreviewed buildfix after r165983 for non Cocoa platforms
ryuan.choi@samsung.com [Fri, 21 Mar 2014 03:13:46 +0000 (03:13 +0000)]
Unreviewed buildfix after r165983 for non Cocoa platforms

Renamed WKPreferencesPrivate.h to WKPreferencesRefPrivate.h

* TestWebKitAPI/Tests/WebKit2/ScrollPinningBehaviors.cpp:
* TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp:
* WebKitTestRunner/TestController.cpp:

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

6 years ago[GTK] Suppress errors about using gdk_threads_enter gdk_threads_leave
mrobinson@webkit.org [Fri, 21 Mar 2014 03:00:59 +0000 (03:00 +0000)]
[GTK] Suppress errors about using gdk_threads_enter gdk_threads_leave
https://bugs.webkit.org/show_bug.cgi?id=130517

Reviewed by Sergio Villar Senin.

Source/WebCore:

* plugins/gtk/gtk2xtbin.c: Use GCC suppression to suppress errors about deprecations.

Source/WebKit2:

* UIProcess/API/gtk/WebKitWebView.cpp: Use GCC suppression to suppress errors about deprecations.
* UIProcess/gtk/WebPopupMenuProxyGtk.cpp: Ditto.

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

6 years ago[EFL][WK2] tests of test_ewk2_cookie_manager are flaky
ryuan.choi@samsung.com [Fri, 21 Mar 2014 01:41:21 +0000 (01:41 +0000)]
[EFL][WK2] tests of test_ewk2_cookie_manager are flaky
https://bugs.webkit.org/show_bug.cgi?id=130498

Reviewed by Gyuyoung Kim.

Loaded web page before calling getAcceptPolicy() to guarantee that webprocess
or networkprocess was launched and registered WebCookieManager.

* UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
(TEST_F):

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

6 years agoSample code for potential ARIA blog post.
commit-queue@webkit.org [Fri, 21 Mar 2014 01:29:36 +0000 (01:29 +0000)]
Sample code for potential ARIA blog post.
https://bugs.webkit.org/show_bug.cgi?id=130548

Patch by James Craig <jcraig@apple.com> on 2014-03-20
Rubber-stamped by Chris Fleizach.

* blog-files/aria1.0: Added.
* blog-files/aria1.0/africa_large.svg: Added.
* blog-files/aria1.0/combobox_with_live_region_status.html: Added.
* blog-files/aria1.0/roaming_tabindex: Added.
* blog-files/aria1.0/roaming_tabindex/css: Added.
* blog-files/aria1.0/roaming_tabindex/css/img: Added.
* blog-files/aria1.0/roaming_tabindex/css/img/buttons.png: Added.
* blog-files/aria1.0/roaming_tabindex/css/img/icons.png: Added.
* blog-files/aria1.0/roaming_tabindex/css/screen.css: Added.
* blog-files/aria1.0/roaming_tabindex/final.html: Added.
* blog-files/aria1.0/roaming_tabindex/js: Added.
* blog-files/aria1.0/roaming_tabindex/js/aria.js: Added.
* blog-files/aria1.0/roaming_tabindex/js/init.js: Added.
* blog-files/aria1.0/roaming_tabindex/js/prototype.js: Added.

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

6 years agoCleanup in aisle r166017.
simon.fraser@apple.com [Fri, 21 Mar 2014 01:16:40 +0000 (01:16 +0000)]
Cleanup in aisle r166017.

visibleContentRectInternal() was dropping the scrollbar
inclusiveness on the floor, and we need to reset the top inset
between tests.

* platform/ScrollView.cpp:
(WebCore::ScrollView::visibleContentRectInternal):
* testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):

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

6 years agoUnreviewed, rolling out r165985.
commit-queue@webkit.org [Fri, 21 Mar 2014 00:57:31 +0000 (00:57 +0000)]
Unreviewed, rolling out r165985.
https://bugs.webkit.org/show_bug.cgi?id=130551

broke page loading on all cocoa platforms (Requested by
thorton on #webkit).

Reverted changeset:

"[WebKit2] Implement
NetworkingContext::sourceApplicationAuditData() for WebKit2"
https://bugs.webkit.org/show_bug.cgi?id=130528
http://trac.webkit.org/changeset/165985

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

6 years agoFTL ValueToInt32 mishandles the constant case, and by the way, there is a constant...
fpizlo@apple.com [Fri, 21 Mar 2014 00:32:37 +0000 (00:32 +0000)]
FTL ValueToInt32 mishandles the constant case, and by the way, there is a constant case that the FTL sees
https://bugs.webkit.org/show_bug.cgi?id=130546
<rdar://problem/16383308>

Reviewed by Mark Hahnenberg.

Make AI do a better job of folding this.

Also made the FTL backend be more tolerant of data representations. In this case it
didn't know that "constant" was a valid representation. There is a finite set of
possible representations, but broadly, we don't write code that presumes anything
about the representation of an input; that's what methods like lowJSValue() are for.
ValueToInt32 was previously not relying on those methods at all because it had some
hacks. Now, those hacks are just a fast-path optimization but ultimately we fall down
to lowJSValue().

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileValueToInt32):
(JSC::FTL::LowerDFGToLLVM::numberOrNotCellToInt32):
* tests/stress/value-to-int32-undefined-constant.js: Added.
(foo):
* tests/stress/value-to-int32-undefined.js: Added.
(foo):

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

6 years agoFix a long-standing typo that's now breaking USE(ASYNC_NSTEXTINPUTCLIENT) build.
ap@apple.com [Fri, 21 Mar 2014 00:21:30 +0000 (00:21 +0000)]
Fix a long-standing typo that's now breaking USE(ASYNC_NSTEXTINPUTCLIENT) build.

Rubber-stamped by Tim Horton.

* UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::cancelComposition):
Use a correct type for reply (it's really the same type, but ConfirmComposition
is behind an ifdef, and not available).

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

6 years agoAdd some assertions back
mhahnenberg@apple.com [Fri, 21 Mar 2014 00:10:50 +0000 (00:10 +0000)]
Add some assertions back
https://bugs.webkit.org/show_bug.cgi?id=130531

Reviewed by Geoffrey Garen.

We removed a useful set of assertions for verifying that MarkedBlocks were
in the state that we expected them to be in after clearing marks in the Heap.
We should add these back to catch bugs earlier.

* heap/MarkedBlock.h:
* heap/MarkedSpace.cpp:
(JSC::VerifyMarkedOrRetired::operator()):
(JSC::MarkedSpace::clearMarks):

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

6 years ago[iOS WebKit2] typing and deleting text lags behind the caret movement on google.com.
enrica@apple.com [Fri, 21 Mar 2014 00:07:34 +0000 (00:07 +0000)]
[iOS WebKit2] typing and deleting text lags behind the caret movement on google.com.
https://bugs.webkit.org/show_bug.cgi?id=130544
<rdar://problem/16380296>

Reviewed by Tim Horton.

On iOS the selection is drawn in the UIProcess. If the WebProcess is
processing multiple requests within the same runloop, the caret could be
updated in the UIProcess before the WebProcess has had a chance to paint.
This change synchronizes the selection drawing with the tile update.

* UIProcess/WebPageProxy.h:
* UIProcess/ios/WKContentView.mm:
(-[WKContentView _didCommitLayerTree:WebKit::]):
* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _selectionChanged]):
(-[WKContentView _updateChangedSelection]):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didChangeSelection):

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

6 years agoGeneralize WebInspector check in maybeInitializeSandboxExtensionHandle().
ap@apple.com [Fri, 21 Mar 2014 00:04:44 +0000 (00:04 +0000)]
Generalize WebInspector check in maybeInitializeSandboxExtensionHandle().
https://bugs.webkit.org/show_bug.cgi?id=130079
<rdar://problem/16286683>

Reviewed by Anders Carlsson.

* UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):
Perform an early return for all paths that don't need a sandbox extension due to
access being assumed, not only for WebInspector pages.

* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::hasAssumedReadAccessToURL):
(WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
* UIProcess/WebProcessProxy.h:
Factored out m_localPathsWithAssumedReadAccess iteration to a public function.

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

6 years agoUnreviewed buildfix after r165983 for non Cocoa platforms.
ossy@webkit.org [Fri, 21 Mar 2014 00:03:58 +0000 (00:03 +0000)]
Unreviewed buildfix after r165983 for non Cocoa platforms.

* UIProcess/API/C/WKAPICast.h:
* UIProcess/API/C/WKPreferences.cpp:
* UIProcess/efl/WebInspectorProxyEfl.cpp:

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

6 years agoBuild fix.
enrica@apple.com [Fri, 21 Mar 2014 00:03:41 +0000 (00:03 +0000)]
Build fix.

Removing unused variable.

* page/FrameView.cpp:
(WebCore::FrameView::didPaintContents):

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

6 years agoSpeculative build fix.
bdakin@apple.com [Thu, 20 Mar 2014 23:55:09 +0000 (23:55 +0000)]
Speculative build fix.

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

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

6 years agoRename TextTrackRegion/TextTrackRegionList to VTTRegion/VTTRegionList
bfulgham@apple.com [Thu, 20 Mar 2014 23:47:16 +0000 (23:47 +0000)]
Rename TextTrackRegion/TextTrackRegionList to VTTRegion/VTTRegionList
https://bugs.webkit.org/show_bug.cgi?id=130543

Reviewed by Dean Jackson.

Merged from Blink (patch by philipj@opera.com):
https://chromium.googlesource.com/chromium/blink/+/69ee6d3399d64163e4936ac1bde222036c54c4b8
http://crbug.com/55653003

Source/WebCore:

Tests: media/track/regions-webvtt/vtt-region-constructor.html
       media/track/regions-webvtt/vtt-region-display.html
       media/track/regions-webvtt/vtt-region-dom-layout.html
       media/track/regions-webvtt/vtt-region-list.html
       media/track/regions-webvtt/vtt-region-parser.html

* Configurations/FeatureDefines.xcconfig:
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::updateDisplay):
* html/track/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::newRegionsAvailable):
* html/track/TextTrack.cpp:
(WebCore::TextTrack::ensureVTTRegionList):
(WebCore::TextTrack::regions):
(WebCore::TextTrack::addRegion):
(WebCore::TextTrack::removeRegion):
* html/track/TextTrack.h:
* html/track/TextTrack.idl:
* html/track/TextTrackCue.cpp:
* html/track/TextTrackRegion.cpp: Removed.
* html/track/TextTrackRegion.h: Removed.
* html/track/TextTrackRegion.idl: Removed.
* html/track/TextTrackRegionList.cpp: Removed.
* html/track/TextTrackRegionList.h: Removed.
* html/track/TextTrackRegionList.idl: Removed.
* html/track/VTTCue.cpp:
(WebCore::VTTCue::removeDisplayTree):
* html/track/VTTRegion.cpp: Copied from Source/WebCore/html/track/TextTrackRegion.cpp.
(WebCore::VTTRegion::VTTRegion):
(WebCore::VTTRegion::~VTTRegion):
(WebCore::VTTRegion::setTrack):
(WebCore::VTTRegion::setId):
(WebCore::VTTRegion::setWidth):
(WebCore::VTTRegion::setHeight):
(WebCore::VTTRegion::setRegionAnchorX):
(WebCore::VTTRegion::setRegionAnchorY):
(WebCore::VTTRegion::setViewportAnchorX):
(WebCore::VTTRegion::setViewportAnchorY):
(WebCore::VTTRegion::scroll):
(WebCore::VTTRegion::setScroll):
(WebCore::VTTRegion::updateParametersFromRegion):
(WebCore::VTTRegion::setRegionSettings):
(WebCore::VTTRegion::getSettingFromString):
(WebCore::VTTRegion::parseSettingValue):
(WebCore::VTTRegion::parseSetting):
(WebCore::VTTRegion::textTrackCueContainerScrollingClass):
(WebCore::VTTRegion::textTrackCueContainerShadowPseudoId):
(WebCore::VTTRegion::textTrackRegionShadowPseudoId):
(WebCore::VTTRegion::appendTextTrackCueBox):
(WebCore::VTTRegion::displayLastTextTrackCueBox):
(WebCore::VTTRegion::willRemoveTextTrackCueBox):
(WebCore::VTTRegion::getDisplayTree):
(WebCore::VTTRegion::prepareRegionDisplayTree):
(WebCore::VTTRegion::startTimer):
(WebCore::VTTRegion::stopTimer):
(WebCore::VTTRegion::scrollTimerFired):
* html/track/VTTRegion.h: Copied from Source/WebCore/html/track/TextTrackRegion.h.
(WebCore::VTTRegion::create):
* html/track/VTTRegion.idl: Copied from Source/WebCore/html/track/TextTrackRegion.idl.
* html/track/VTTRegionList.cpp: Copied from Source/WebCore/html/track/TextTrackRegionList.cpp.
(WebCore::VTTRegionList::VTTRegionList):
(WebCore::VTTRegionList::length):
(WebCore::VTTRegionList::item):
(WebCore::VTTRegionList::getRegionById):
(WebCore::VTTRegionList::add):
(WebCore::VTTRegionList::remove):
(WebCore::VTTRegionList::clear):
* html/track/VTTRegionList.h: Copied from Source/WebCore/html/track/TextTrackRegionList.h.
(WebCore::VTTRegionList::create):
(WebCore::VTTRegionList::~VTTRegionList):
* html/track/VTTRegionList.idl: Copied from Source/WebCore/html/track/TextTrackRegionList.idl.
* html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::parseFloatPercentageValue):
(WebCore::WebVTTParser::getNewRegions):
(WebCore::WebVTTParser::createNewRegion):
* html/track/WebVTTParser.h:
* loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::getNewRegions):
* loader/TextTrackLoader.h:

LayoutTests:

* media/track/regions-webvtt/text-track-cue-region-attribute.html:
* media/track/regions-webvtt/text-track-region-constructor-expected.txt: Removed.
* media/track/regions-webvtt/text-track-region-constructor.html: Removed.
* media/track/regions-webvtt/text-track-region-display-expected.txt: Removed.
* media/track/regions-webvtt/text-track-region-display.html: Removed.
* media/track/regions-webvtt/text-track-region-dom-layout-expected.txt: Removed.
* media/track/regions-webvtt/text-track-region-dom-layout.html: Removed.
* media/track/regions-webvtt/text-track-region-list-expected.txt: Removed.
* media/track/regions-webvtt/text-track-region-list.html: Removed.
* media/track/regions-webvtt/text-track-region-parser-expected.txt: Removed.
* media/track/regions-webvtt/text-track-region-parser.html: Removed.
* media/track/regions-webvtt/vtt-region-constructor-expected.txt: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-constructor-expected.txt.
* media/track/regions-webvtt/vtt-region-constructor.html: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-constructor.html.
* media/track/regions-webvtt/vtt-region-display-expected.txt: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-display-expected.txt.
* media/track/regions-webvtt/vtt-region-display.html: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-display.html.
* media/track/regions-webvtt/vtt-region-dom-layout-expected.txt: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-dom-layout-expected.txt.
* media/track/regions-webvtt/vtt-region-dom-layout.html: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-dom-layout.html.
* media/track/regions-webvtt/vtt-region-list-expected.txt: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-list-expected.txt.
* media/track/regions-webvtt/vtt-region-list.html: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-list.html.
* media/track/regions-webvtt/vtt-region-parser-expected.txt: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-parser-expected.txt.
* media/track/regions-webvtt/vtt-region-parser.html: Copied from LayoutTests/media/track/regions-webvtt/text-track-region-parser.html.

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

6 years agoFix the iOS build.
simon.fraser@apple.com [Thu, 20 Mar 2014 23:43:33 +0000 (23:43 +0000)]
Fix the iOS build.

* page/FrameView.cpp:
(WebCore::FrameView::willPaintContents):
(WebCore::FrameView::didPaintContents):

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

6 years agoFix build.
andersca@apple.com [Thu, 20 Mar 2014 23:39:00 +0000 (23:39 +0000)]
Fix build.

* MigrateHeaders.make:

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

6 years ago[CSS Shapes] clamp RasterShape shapeMargin to reference box size
hmuller@adobe.com [Thu, 20 Mar 2014 23:31:55 +0000 (23:31 +0000)]
[CSS Shapes] clamp RasterShape shapeMargin to reference box size
https://bugs.webkit.org/show_bug.cgi?id=130350

Reviewed by Dean Jackson.

Source/WebCore:

Corrected the way the maximum shape-margin value was computed for image valued
shapes. The limiting case is an image with just one above threshold pixel. The
largest possible value for shapeMargin is the radius of a circle that encloses
the size of the shape-outside element's margin-box, since the shape-outside's
boundary is clipped to the margin-box. The radius is just sqrt(2) * the margin-box's
largest dimension.

Also cleaned up up a few poorly named parameters.

Test: fast/shapes/shape-outside-floats/shape-outside-one-pixel.html

* rendering/shapes/RasterShape.cpp:
(WebCore::RasterShape::marginIntervals):
* rendering/shapes/RasterShape.h:
(WebCore::RasterShape::RasterShape):
* rendering/shapes/Shape.h:

LayoutTests:

Verify that a very large shape-margin value combined with a very small
shape-outside image defines a shape that matches the shape-outside
element's margin-box.

* fast/shapes/shape-outside-floats/shape-outside-one-pixel-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-one-pixel.html: Added.

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

6 years agoBuild fix.
bdakin@apple.com [Thu, 20 Mar 2014 23:30:56 +0000 (23:30 +0000)]
Build fix.

* page/FrameView.cpp:
(WebCore::FrameView::paintContents):

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

6 years agoImplement contentInset for Mac WebKit2
bdakin@apple.com [Thu, 20 Mar 2014 23:19:04 +0000 (23:19 +0000)]
Implement contentInset for Mac WebKit2
https://bugs.webkit.org/show_bug.cgi?id=130273

Reviewed by Simon Fraser.

Source/WebCore:

This patch adds support for topContentInset(). If a page has a topContentInset(),
the root layer’s position is adjusted to account for the inset. It is assumed that
the area accounted for by the inset is visible but obscured, so scrollbars need to
be moved so that they only cover the non-obscured area, and most parts of WebCore
that wonder about visibleContentSize only care about the unobscured area, so this
patch makes that visibleContentRect return the unobscuredRect. Finally since this
is achieved by moving a layer’s position, the topContentInset() also needs to be
factored into various functions that are used to convert between coordinate
spaces.

Return Page::topContentInset() if this is the main frame.
* page/FrameView.cpp:
(WebCore::FrameView::topContentInset):
* page/FrameView.h:

Cache the inset on Page.
* page/Page.cpp:
(WebCore::Page::Page):
* page/Page.h:
(WebCore::Page::topContentInset):
(WebCore::Page::setTopContentInset):

unobscuredContentRect() used to unconditionally return visibleContentRect() on
non-iOS platforms. Now that it is possible for some technically visible content to
be obscured, this code needed to be re-worked a bit to make some more sense.
visibleContentRect() now represents that visible content that is completely
unobscured, so it should call into unobscuredContentRect() rather than the other
way around.
* platform/ScrollView.cpp:
(WebCore::ScrollView::unobscuredContentRect):

unscaledTotalVisibleContentSize() includes the size of all content that might be
visible. Some of this content might be obscured.
(WebCore::ScrollView::unscaledTotalVisibleContentSize):

Most of the time, we only care about the content that is FULLY visible. That is
what you get from unscaledUnobscuredVisibleContentSize().
(WebCore::ScrollView::unscaledUnobscuredVisibleContentSize):

Use the unobscured size for these computations.
(WebCore::ScrollView::visibleContentRectInternal):
(WebCore::ScrollView::layoutSize):

Factor in the topContentInset().
(WebCore::ScrollView::scrollOffsetRelativeToDocument):
(WebCore::ScrollView::scrollPositionRelativeToDocument):

The scrollbars should be positioned to cover the non-obscured content only.
(WebCore::ScrollView::updateScrollbars):

Again, factor the topContentInset() into these conversions since the root layer’s
position has been adjusted to account for it.
(WebCore::ScrollView::contentsToRootView):
(WebCore::ScrollView::contentsToWindow):

 Just like the scrollbars, the scroll corner must be moved the account for the
inset.
(WebCore::ScrollView::scrollCornerRect):
* platform/ScrollView.h:
(WebCore::ScrollView::topContentInset):

RenderLayerCompositor cares about unscaledTotalVisibleContentSize(). It does not
care if some of that content is obscured.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::frameViewDidChangeSize):

Move the root layer’s position based on the contentInset.
(WebCore::RenderLayerCompositor::updateRootLayerPosition):
(WebCore::RenderLayerCompositor::ensureRootLayer):

Allow setting contentInset via Internals for testing purposes.
* testing/Internals.cpp:
(WebCore::Internals::setTopContentInset):
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit2:

This patch adds WKView API for setting a topContentInset(). All of this work gets
that number plumbed down to WebCore.

* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
* UIProcess/API/Cocoa/WKViewPrivate.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _setTopContentInset:]):
(-[WKWebView _topContentInset]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView _setTopContentInset:]):
(-[WKView _topContentInset]):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setTopContentInset):
(WebKit::WebPageProxy::creationParameters):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::topContentInset):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::setTopContentInset):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

LayoutTests:

Add two tests for hit-testing with a topContentInset.

* platform/mac-wk2/tiled-drawing/content-inset-hit-testing-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/content-inset-hit-testing-in-frame-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/content-inset-hit-testing-in-frame.html: Added.
* platform/mac-wk2/tiled-drawing/content-inset-hit-testing.html: Added.

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

6 years agoOptimize RenderTable::colToEffCol() for tables without colspans
lvidacs.u-szeged@partner.samsung.com [Thu, 20 Mar 2014 23:16:28 +0000 (23:16 +0000)]
Optimize RenderTable::colToEffCol() for tables without colspans
https://bugs.webkit.org/show_bug.cgi?id=129298

Reviewed by Simon Fraser.

Create an alternative fast path to RenderTable colToEffCol() and effColToCol()
when there is no colspan or colspan does not exceed the width of table.
Blink merge https://codereview.chromium.org/154243002 by rhogan

PerformanceTests:

* Layout/large-table-with-collapsed-borders-and-colspans-wider-than-table.html: Added.
* Layout/large-table-with-collapsed-borders-and-colspans.html: Added.
* Layout/large-table-with-collapsed-borders-and-no-colspans.html: Added.
* Layout/resources/large-table-with-collapsed-borders.css: Added.
* Layout/resources/large-table-with-collapsed-borders.js: Added.

Source/WebCore:

* rendering/RenderTable.cpp:
(WebCore::RenderTable::RenderTable):
(WebCore::RenderTable::appendColumn):
(WebCore::RenderTable::recalcSections):
* rendering/RenderTable.h:
(WebCore::RenderTable::colToEffCol):
(WebCore::RenderTable::effColToCol):
(WebCore::RenderTable::hasCellColspanThatDeterminesTableWidth):

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

6 years agoFrameView::paintContents() is not called for composited content
simon.fraser@apple.com [Thu, 20 Mar 2014 23:14:31 +0000 (23:14 +0000)]
FrameView::paintContents() is not called for composited content
https://bugs.webkit.org/show_bug.cgi?id=130541

Reviewed by Beth Dakin.

FrameView::paintContents() is not called for frames that have
composited contents, yet it contains code that is expected
to run for all Frames.

Fix by factoring into will/didPaintContents(), and calling
the will/did functions from RenderLayerBacking::paintIntoLayer().

Also add a SetLayoutNeededForbiddenScope check for composited-layer
painting.

* page/FrameView.cpp:
(WebCore::FrameView::updateControlTints):
(WebCore::FrameView::willPaintContents):
(WebCore::FrameView::didPaintContents):
(WebCore::FrameView::paintContents):
* page/FrameView.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintIntoLayer):

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

6 years agoImplement stackmap header version check and support new stackmap formats
fpizlo@apple.com [Thu, 20 Mar 2014 23:08:30 +0000 (23:08 +0000)]
Implement stackmap header version check and support new stackmap formats
https://bugs.webkit.org/show_bug.cgi?id=130535
<rdar://problem/16164284>

Reviewed by Geoffrey Garen.

Add the notion of versioning so that LLVMers can happily implement new stackmap formats
without worrying about WebKit getting version-locked to LLVM. In the future, we will have
to implement parsing for a new LLVM stackmap format before it lands in LLVM, or we'll have
to have a "max usable LLVM revision" limit. But, thanks to versioning, we'll always be
happy to move backward in time to older versions of LLVM.

* ftl/FTLStackMaps.cpp:
(JSC::FTL::readObject):
(JSC::FTL::StackMaps::Constant::parse):
(JSC::FTL::StackMaps::StackSize::parse):
(JSC::FTL::StackMaps::Location::parse):
(JSC::FTL::StackMaps::Record::parse):
(JSC::FTL::StackMaps::parse):
(JSC::FTL::StackMaps::dump):
(JSC::FTL::StackMaps::dumpMultiline):
* ftl/FTLStackMaps.h:

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

6 years agoFix 32-bit build.
andersca@apple.com [Thu, 20 Mar 2014 23:07:12 +0000 (23:07 +0000)]
Fix 32-bit build.

* UIProcess/API/Cocoa/WKProcessPoolConfiguration.mm:

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

6 years agoMake WKProcessPoolConfiguration SPI
andersca@apple.com [Thu, 20 Mar 2014 23:03:49 +0000 (23:03 +0000)]
Make WKProcessPoolConfiguration SPI
https://bugs.webkit.org/show_bug.cgi?id=130537

Reviewed by Tim Horton.

* UIProcess/API/Cocoa/WKProcessPool.h:
* UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool init]):
(-[WKProcessPool dealloc]):
(-[WKProcessPool description]):
(-[WKProcessPool _configuration]):
(-[WKProcessPool API::]):
(-[WKProcessPool _initWithConfiguration:]):
* UIProcess/API/Cocoa/WKProcessPoolConfiguration.h:
* UIProcess/API/Cocoa/WKProcessPoolConfiguration.mm:
(-[WKProcessPoolConfiguration _injectedBundleURL]):
(-[WKProcessPoolConfiguration _setInjectedBundleURL:]):
* UIProcess/API/Cocoa/WKProcessPoolConfigurationPrivate.h:
* UIProcess/API/Cocoa/WKProcessPoolInternal.h:
* UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
* UIProcess/API/Cocoa/WKProcessPoolToBeRemoved.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h.
(-[WKProcessPool initWithConfiguration:]):
(-[WKProcessPool configuration]):
* UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolConfigurationPrivate.h.
* UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolConfiguration.mm.
(-[_WKProcessPoolConfiguration injectedBundleURL]):
(-[_WKProcessPoolConfiguration setInjectedBundleURL:]):
(-[_WKProcessPoolConfiguration description]):
(-[_WKProcessPoolConfiguration copyWithZone:]):
* WebKit2.xcodeproj/project.pbxproj:

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

6 years agoAttempt to fix the Production build again.
timothy@apple.com [Thu, 20 Mar 2014 22:53:30 +0000 (22:53 +0000)]
Attempt to fix the Production build again.

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

6 years agoAdd a flushing mechanism for the WebVTTParser
bfulgham@apple.com [Thu, 20 Mar 2014 22:33:04 +0000 (22:33 +0000)]
Add a flushing mechanism for the WebVTTParser
https://bugs.webkit.org/show_bug.cgi?id=130532

Reviewed by Eric Carlson.

Merged from Blink (patch by vcarbune@chromium.org):
https://chromium.googlesource.com/chromium/blink/+/1ac2b3081492ab8661429230004013a9a3623f0f
http://crbug.com/54203003
https://chromium.googlesource.com/chromium/blink/+/24343d32bc36d20d59ef3e10040faddde65929e6
http://crbug.com/59453002
https://chromium.googlesource.com/chromium/blink/+/ef2793f1d9d207389589ecf9a136ea5c7170b4af
http://crbug.com/75233002
https://chromium.googlesource.com/chromium/blink/+/a29f2f8324abcd4826b41e7dc34373dee2ec57a9
http://crbug.com/52713005
https://chromium.googlesource.com/chromium/blink/+/7ce003c8d47b39f116f1f2a592a5dfb4a9e77228
http://crbug.com/64303004
https://chromium.googlesource.com/chromium/blink/+/18f896b3498478311e880f782813d5dfc8c0c7d1
http://crbug.com/96933004
https://chromium.googlesource.com/chromium/blink/+/8670e8ecb13254a651f5493ec83f4484d18c154e
http://crbug.com/98783005
https://chromium.googlesource.com/chromium/blink/+/4ac55780a6af3d76e0159c1d145330964ad56647
http://crbug.com/104713002

* http/tests/media/track: Added.
* http/tests/media/track/track-webvtt-slow-loading-2-expected.txt: Added.
* http/tests/media/track/track-webvtt-slow-loading-2.html: Added.
* http/tests/media/track/track-webvtt-slow-loading.html: Added.
* media/track/captions-webvtt/captions-multiline-lf.vtt: Added.
* media/track/track-webvtt-tc023-markup.html:

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

6 years agoFix the Mountain Lion build.
timothy_horton@apple.com [Thu, 20 Mar 2014 22:21:20 +0000 (22:21 +0000)]
Fix the Mountain Lion build.

* platform/graphics/cocoa/IOSurface.mm:
(IOSurface::setIsPurgeable):

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

6 years agoWeb Replay: capture and replay mouse events
bburg@apple.com [Thu, 20 Mar 2014 22:14:41 +0000 (22:14 +0000)]
Web Replay: capture and replay mouse events
https://bugs.webkit.org/show_bug.cgi?id=129395

Reviewed by Joseph Pecoraro.

.:

Create a manual test for capture/replay of mouse events.
Copy over the crypto-md5.js library from SunSpider.

* ManualTests/inspector/replay-mouse-events.html: Added.
* ManualTests/inspector/resources/crypto-md5.js: Added.

Source/WebCore:

Add support for capturing and replaying mouse inputs that come from WebKit2.
Hook up the UserInputBridge to session state changes in the ReplayController so
that the bridge knows when to capture or deny mouse inputs.

Test: ManualTests/inspector/replay-mouse-events.html

* platform/PlatformEvent.h: Give explicit storage types to Modifiers and Type enums
so they can be forward-declared.
* platform/PlatformMouseEvent.h: Give an explicit storage type to enum MouseButton.
Add operator== and operator!= for MouseButton to work around an MSVC bug.

* replay/ReplayController.cpp: Perform session state changes in a helper function, and
at the same time change the state of the page's user input bridge.
(WebCore::ReplayController::setSessionState):
(WebCore::ReplayController::startCapturing):
(WebCore::ReplayController::stopCapturing):
(WebCore::ReplayController::startPlayback):
(WebCore::ReplayController::cancelPlayback):

* replay/ReplayInputDispatchMethods.cpp: Add dispatch methods for new inputs.
(WebCore::HandleMouseMove::dispatch):
(WebCore::HandleMousePress::dispatch):
(WebCore::HandleMouseRelease::dispatch):

* replay/SerializationMethods.cpp: Add helper macros so that encode/decode methods look
symmetric with one data member per line. This helps reduce unintentional inconsistencies.
(JSC::EncodingTraits<PlatformMouseEvent>::encodeValue): Added.
(JSC::EncodingTraits<PlatformMouseEvent>::decodeValue): Added.
* replay/SerializationMethods.h:

* replay/UserInputBridge.cpp: Fill in the bridge method implementations for mouse
events, adding helpers and macros as necessary to reduce boilerplate.
(WebCore::UserInputBridge::activeCursor): Added.
(WebCore::UserInputBridge::handleMousePressEvent):
(WebCore::UserInputBridge::handleMouseReleaseEvent):
(WebCore::UserInputBridge::handleMouseMoveEvent):
(WebCore::UserInputBridge::handleMouseMoveOnScrollbarEvent):

* replay/UserInputBridge.h: Add a bridge state enum along with getters and setters.
The enum value controls whether the bridge should capture commands, deny non-synthetic
commands (from the user), or allow anything to pass (the default).
(WebCore::UserInputBridge::setState): Added.
(WebCore::UserInputBridge::state): Added.

* replay/WebInputs.json: Add inputs HandleMouseMove, HandleMousePress, HandleMouseRelease.
Add enum definitions for PlatformEvent::Type, PlatformEvent::Modifiers, and PlatformMouseEvent::MouseButton.
Alphabetize the existing data type definitions.

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

6 years agoAdd WebCore::IOSurface wrapper
timothy_horton@apple.com [Thu, 20 Mar 2014 22:06:38 +0000 (22:06 +0000)]
Add WebCore::IOSurface wrapper
https://bugs.webkit.org/show_bug.cgi?id=130529

Reviewed by Simon Fraser.

* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/cg/ColorCG.cpp:
* platform/graphics/cg/GraphicsContextCG.h:
(WebCore::cachedCGColorSpace):
Move cachedCGColorSpace out so that other clients of GraphicsContextCG
can use its mapping from WebCore::ColorSpace -> CGColorSpaceRef.

* platform/graphics/cg/ImageBufferBackingStoreCache.cpp:
* platform/graphics/cg/ImageBufferCG.cpp:
Add FIXMEs for ImageBuffer to adopt WebCore::IOSurface.

* platform/graphics/cocoa/IOSurface.h: Added.
* platform/graphics/cocoa/IOSurface.mm: Added.
(IOSurface::create):
(IOSurface::createFromMachPort):
(IOSurface::createFromSurface):
(IOSurface::IOSurface):
(IOSurface::maximumSize):
(IOSurface::createMachPort):
(IOSurface::createImage):
(IOSurface::ensurePlatformContext):
(IOSurface::ensureGraphicsContext):
(IOSurface::state):
(IOSurface::isPurgeable):
(IOSurface::setIsPurgeable):
(IOSurface::inUse):
Add WebCore::IOSurface.

* Shared/mac/RemoteLayerBackingStore.h:
* Shared/mac/RemoteLayerBackingStore.mm:
(RemoteLayerBackingStore::encode):
(RemoteLayerBackingStore::decode):
(RemoteLayerBackingStore::display):
(RemoteLayerBackingStore::applyBackingStoreToLayer):
* UIProcess/ios/ViewGestureControllerIOS.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::removeSwipeSnapshot):
* UIProcess/mac/ViewGestureController.h:
* UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::removeSwipeSnapshot):
* UIProcess/mac/ViewSnapshotStore.h:
* UIProcess/mac/ViewSnapshotStore.mm:
(WebKit::createIOSurfaceFromImage):
(WebKit::ViewSnapshotStore::recordSnapshot):
Adopt WebCore::IOSurface.

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

6 years agoiOS build fix after r165992.
psolanki@apple.com [Thu, 20 Mar 2014 21:53:03 +0000 (21:53 +0000)]
iOS build fix after r165992.

* generate-export-file:
(preprocessorMacros):

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

6 years ago[WebRTC] Moving RTCConfiguration and RTCIceServer to Modules/mediastream
thiago.lacerda@openbossa.org [Thu, 20 Mar 2014 21:19:03 +0000 (21:19 +0000)]
[WebRTC] Moving RTCConfiguration and RTCIceServer to Modules/mediastream
https://bugs.webkit.org/show_bug.cgi?id=130434

Reviewed by Eric Carlson.

Those classes are defined in WebRTC spec, so they should not be in platform layer.
Adding a platform implementation to be passed to handler classes.

* Modules/mediastream/RTCConfiguration.h: Copied from Source/WebCore/platform/mediastream/RTCConfiguration.h.
* Modules/mediastream/RTCIceServer.h: Copied from Source/WebCore/platform/mediastream/RTCIceServer.h.
* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::RTCPeerConnection):
(WebCore::RTCPeerConnection::updateIce):
* WebCore.xcodeproj/project.pbxproj:
* platform/mediastream/RTCConfigurationPrivate.h: Added.
* platform/mediastream/RTCIceServerPrivate.h: Added.
* platform/mediastream/RTCPeerConnectionHandler.h:
* platform/mock/RTCPeerConnectionHandlerMock.cpp:
(WebCore::RTCPeerConnectionHandlerMock::initialize):
(WebCore::RTCPeerConnectionHandlerMock::updateIce):
* platform/mock/RTCPeerConnectionHandlerMock.h:

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

6 years agoUpdate iOS input method code to use new cross-platform async functions
ap@apple.com [Thu, 20 Mar 2014 21:17:51 +0000 (21:17 +0000)]
Update iOS input method code to use new cross-platform async functions
https://bugs.webkit.org/show_bug.cgi?id=130530

Reviewed by Enrica Casucci.

Merge identical iOS and cross-platform functions.

Also tightened up ifdefs, and removed stub iOS implementations of sync methods,
which hopefully won't be ever needed. The only tricky case is sync cancelComposition,
will I'll investigate separately.

* UIProcess/WebPageProxy.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setMarkedText:selectedRange:]):
(-[WKContentView unmarkText]):
(-[WKContentView insertText:]):
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::cancelComposition):
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::cancelComposition):
(WebKit::WebPageProxy::insertDictatedTextAsync):
(WebKit::WebPageProxy::attributedSubstringForCharacterRangeAsync):
(WebKit::WebPageProxy::attributedStringForCharacterRangeCallback):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/ios/WebPageIOS.mm:
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::cancelComposition):
(WebKit::WebPage::insertDictatedTextAsync):
(WebKit::WebPage::attributedSubstringForCharacterRangeAsync):

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

6 years ago[WinCairo] Unreviewed speculative build after my r165996.
alex.christensen@flexsim.com [Thu, 20 Mar 2014 21:15:23 +0000 (21:15 +0000)]
[WinCairo] Unreviewed speculative build after my r165996.

* platform/network/soup/AuthenticationChallengeSoup.cpp:
* platform/network/soup/CertificateInfo.cpp:
* platform/network/soup/CookieJarSoup.cpp:
* platform/network/soup/ResourceRequestSoup.cpp:
* platform/network/soup/ResourceResponseSoup.cpp:
* platform/network/soup/SynchronousLoaderClientSoup.cpp:

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

6 years agoASSERTION FAILED: event == [NSApp currentEvent] hitting Command-+
ap@apple.com [Thu, 20 Mar 2014 21:12:00 +0000 (21:12 +0000)]
ASSERTION FAILED: event == [NSApp currentEvent] hitting Command-+
https://bugs.webkit.org/show_bug.cgi?id=130526
<rdar://problem/16371612>

Reviewed by Anders Carlsson.

* UIProcess/API/mac/WKView.mm: (-[WKView performKeyEquivalent:]): Cut custom
processing short whenever we are redispatching an event, not just when the event
we are handling is the one being redispatched. There shouldn't be any other unrelated
events here, just the one being redispatched and synthetic ones generated from it by AppKit.

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

6 years agoSource/JavaScriptCore: Crash beneath operationTearOffActivation running this JS compr...
barraclough@apple.com [Thu, 20 Mar 2014 21:05:49 +0000 (21:05 +0000)]
Source/JavaScriptCore: Crash beneath operationTearOffActivation running this JS compression demo
https://bugs.webkit.org/show_bug.cgi?id=130295
<rdar://problem/16332337>

Patch by Filip Pizlo <fpizlo@apple.com> on 2014-03-20
Reviewed by Oliver Hunt.

Make sure that we flush things as if we were at a terminal, if we are at a block with
no forward edges. This fixes infinitely loopy code with captured variables.

Make sure that the CFG simplifier adds explicit flushes whenever it jettisons a block.

Make it so that NodeIsFlushed is a thing. Previously only SSA used it and it computed
it by itself. Now it's an artifact of CPS rethreading.

Add a bunch of tests. All of them previously either crashed or returned bad output due
to memory corruption.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::isCaptured):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::flushForTerminal):
(JSC::DFG::ByteCodeParser::flushForReturn):
(JSC::DFG::ByteCodeParser::flushIfTerminal):
(JSC::DFG::ByteCodeParser::branchData):
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::keepOperandAlive):
* dfg/DFGCPSRethreadingPhase.cpp:
(JSC::DFG::CPSRethreadingPhase::run):
(JSC::DFG::CPSRethreadingPhase::computeIsFlushed):
(JSC::DFG::CPSRethreadingPhase::addFlushedLocalOp):
(JSC::DFG::CPSRethreadingPhase::addFlushedLocalEdge):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::clearFlagsOnAllNodes):
* dfg/DFGGraph.h:
* dfg/DFGNode.h:
* dfg/DFGNodeFlags.cpp:
(JSC::DFG::dumpNodeFlags):
* dfg/DFGNodeFlags.h:
* dfg/DFGSSAConversionPhase.cpp:
(JSC::DFG::SSAConversionPhase::run):
* tests/stress/activation-test-loop.js: Added.
(Inner.this.doStuff):
(Inner):
(foo.inner.isDone):
(foo):
* tests/stress/inferred-infinite-loop-that-uses-captured-variables.js: Added.
(bar):
(foo):
(noInline):
* tests/stress/infinite-loop-that-uses-captured-variables-before-throwing.js: Added.
(bar):
(foo):
(noInline):
* tests/stress/infinite-loop-that-uses-captured-variables-but-they-do-not-escape.js: Added.
(bar):
(foo):
(noInline):
* tests/stress/infinite-loop-that-uses-captured-variables-with-osr-entry.js: Added.
(bar):
(foo):
(noInline):
* tests/stress/infinite-loop-that-uses-captured-variables.js: Added.
(bar):
(foo):
(noInline):
* tests/stress/tricky-indirectly-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js: Added.
(bar):
(fuzz):
(foo.f):
(foo):
* tests/stress/tricky-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js: Added.
(bar):
(foo.f):
(foo):
* tests/stress/tricky-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js: Added.
(bar):
(foo.f):
(foo):
* tests/stress/tricky-infinite-loop-that-uses-captured-variables.js: Added.
(bar):
(foo):
(noInline):

Source/WTF: Remove IdentifierTable typedef, isIdentifier()
https://bugs.webkit.org/show_bug.cgi?id=130533

Rubber stamped by Geoff Garen.

Code should use AtomicStringTable, isAtomic() directly.

* wtf/WTFThreadData.h:
(WTF::WTFThreadData::setCurrentAtomicStringTable):
(WTF::WTFThreadData::resetCurrentAtomicStringTable):
    - removed IdentifierTypedef.
* wtf/text/StringImpl.h:
(WTF::StringImpl::flagIsAtomic):
    - renamed flagIsIdentfier -> flagIsAtomic.

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

6 years ago[iOS] asynchronous media callbacks should happen on the web thread
eric.carlson@apple.com [Thu, 20 Mar 2014 21:02:31 +0000 (21:02 +0000)]
[iOS] asynchronous media callbacks should happen on the web thread
https://bugs.webkit.org/show_bug.cgi?id=130536

Reviewed by Jer Noble.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::checkPlayability): Use callOnMainThread
    instead of dispatch_async(dispatch_get_main_queue()).

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

6 years agoAdd a flushing mechanism for the WebVTTParser
bfulgham@apple.com [Thu, 20 Mar 2014 20:59:53 +0000 (20:59 +0000)]
Add a flushing mechanism for the WebVTTParser
https://bugs.webkit.org/show_bug.cgi?id=130532

Reviewed by Eric Carlson.

Merged from Blink (patch by vcarbune@chromium.org):
https://chromium.googlesource.com/chromium/blink/+/1ac2b3081492ab8661429230004013a9a3623f0f
http://crbug.com/54203003
https://chromium.googlesource.com/chromium/blink/+/24343d32bc36d20d59ef3e10040faddde65929e6
http://crbug.com/59453002
https://chromium.googlesource.com/chromium/blink/+/ef2793f1d9d207389589ecf9a136ea5c7170b4af
http://crbug.com/75233002
https://chromium.googlesource.com/chromium/blink/+/a29f2f8324abcd4826b41e7dc34373dee2ec57a9
http://crbug.com/52713005
https://chromium.googlesource.com/chromium/blink/+/7ce003c8d47b39f116f1f2a592a5dfb4a9e77228
http://crbug.com/64303004
https://chromium.googlesource.com/chromium/blink/+/18f896b3498478311e880f782813d5dfc8c0c7d1
http://crbug.com/96933004
https://chromium.googlesource.com/chromium/blink/+/8670e8ecb13254a651f5493ec83f4484d18c154e
http://crbug.com/98783005
https://chromium.googlesource.com/chromium/blink/+/4ac55780a6af3d76e0159c1d145330964ad56647
http://crbug.com/104713002

Tests: http/tests/media/track/track-webvtt-slow-loading-2.html
       http/tests/media/track/track-webvtt-slow-loading.html

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* html/track/BufferedLineReader.cpp: Added.
* html/track/BufferedLineReader.h: Added.
* html/track/TextTrackRegion.cpp:
* html/track/VTTCue.cpp:
* html/track/WebVTTParser.cpp:
* html/track/WebVTTParser.h:
* loader/TextTrackLoader.cpp:

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

6 years agoPreparation for using Soup on Windows.
alex.christensen@flexsim.com [Thu, 20 Mar 2014 20:55:05 +0000 (20:55 +0000)]
Preparation for using Soup on Windows.
https://bugs.webkit.org/show_bug.cgi?id=130472

Reviewed by Brent Fulgham.

* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
Added Soup source to build on WinCairo.
* platform/network/curl/CookieJarCurl.cpp:
* platform/network/curl/CredentialStorageCurl.cpp:
* platform/network/curl/CurlCacheEntry.cpp:
* platform/network/curl/CurlCacheManager.cpp:
* platform/network/curl/CurlDownload.cpp:
* platform/network/curl/DNSCurl.cpp:
* platform/network/curl/FormDataStreamCurl.cpp:
* platform/network/curl/MultipartHandle.cpp:
* platform/network/curl/ProxyServerCurl.cpp:
* platform/network/curl/ResourceHandleCurl.cpp:
* platform/network/curl/ResourceHandleManager.cpp:
* platform/network/curl/SSLHandle.cpp:
* platform/network/curl/SocketStreamHandleCurl.cpp:
Protected with USE(CURL) to avoid duplicate symbols when linking.
* platform/network/soup/AuthenticationChallengeSoup.cpp:
* platform/network/soup/CertificateInfo.cpp:
* platform/network/soup/CookieJarSoup.cpp:
* platform/network/soup/CookieStorageSoup.cpp:
* platform/network/soup/CredentialStorageSoup.cpp:
* platform/network/soup/DNSSoup.cpp:
* platform/network/soup/NetworkStorageSessionSoup.cpp:
* platform/network/soup/ProxyResolverSoup.cpp:
* platform/network/soup/ProxyServerSoup.cpp:
* platform/network/soup/ResourceErrorSoup.cpp:
* platform/network/soup/ResourceHandleSoup.cpp:
* platform/network/soup/ResourceRequestSoup.cpp:
* platform/network/soup/ResourceResponseSoup.cpp:
* platform/network/soup/SocketStreamHandleSoup.cpp:
* platform/network/soup/SoupNetworkSession.cpp:
* platform/network/soup/SynchronousLoaderClientSoup.cpp:
Protected with USE(CURL) to avoid duplicate symbols when linking.

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

6 years agoCrash beneath operationTearOffActivation running this JS compression demo
fpizlo@apple.com [Thu, 20 Mar 2014 20:53:37 +0000 (20:53 +0000)]
Crash beneath operationTearOffActivation running this JS compression demo
https://bugs.webkit.org/show_bug.cgi?id=130295
<rdar://problem/16332337>

Reviewed by Oliver Hunt.

Make sure that we flush things as if we were at a terminal, if we are at a block with
no forward edges. This fixes infinitely loopy code with captured variables.

Make sure that the CFG simplifier adds explicit flushes whenever it jettisons a block.

Make it so that NodeIsFlushed is a thing. Previously only SSA used it and it computed
it by itself. Now it's an artifact of CPS rethreading.

Add a bunch of tests. All of them previously either crashed or returned bad output due
to memory corruption.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::isCaptured):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::flushForTerminal):
(JSC::DFG::ByteCodeParser::flushForReturn):
(JSC::DFG::ByteCodeParser::flushIfTerminal):
(JSC::DFG::ByteCodeParser::branchData):
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::keepOperandAlive):
* dfg/DFGCPSRethreadingPhase.cpp:
(JSC::DFG::CPSRethreadingPhase::run):
(JSC::DFG::CPSRethreadingPhase::computeIsFlushed):
(JSC::DFG::CPSRethreadingPhase::addFlushedLocalOp):
(JSC::DFG::CPSRethreadingPhase::addFlushedLocalEdge):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::clearFlagsOnAllNodes):
* dfg/DFGGraph.h:
* dfg/DFGNode.h:
* dfg/DFGNodeFlags.cpp:
(JSC::DFG::dumpNodeFlags):
* dfg/DFGNodeFlags.h:
* dfg/DFGSSAConversionPhase.cpp:
(JSC::DFG::SSAConversionPhase::run):
* tests/stress/activation-test-loop.js: Added.
(Inner.this.doStuff):
(Inner):
(foo.inner.isDone):
(foo):
* tests/stress/inferred-infinite-loop-that-uses-captured-variables.js: Added.
(bar):
(foo):
(noInline):
* tests/stress/infinite-loop-that-uses-captured-variables-before-throwing.js: Added.
(bar):
(foo):
(noInline):
* tests/stress/infinite-loop-that-uses-captured-variables-but-they-do-not-escape.js: Added.
(bar):
(foo):
(noInline):
* tests/stress/infinite-loop-that-uses-captured-variables-with-osr-entry.js: Added.
(bar):
(foo):
(noInline):
* tests/stress/infinite-loop-that-uses-captured-variables.js: Added.
(bar):
(foo):
(noInline):
* tests/stress/tricky-indirectly-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js: Added.
(bar):
(fuzz):
(foo.f):
(foo):
* tests/stress/tricky-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js: Added.
(bar):
(foo.f):
(foo):
* tests/stress/tricky-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js: Added.
(bar):
(foo.f):
(foo):
* tests/stress/tricky-infinite-loop-that-uses-captured-variables.js: Added.
(bar):
(foo):
(noInline):

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

6 years agoBuild fixes for Win64.
alex.christensen@flexsim.com [Thu, 20 Mar 2014 20:49:01 +0000 (20:49 +0000)]
Build fixes for Win64.
https://bugs.webkit.org/show_bug.cgi?id=130481

Reviewed by Brent Fulgham.

* WebKit.vcxproj/WebKit.sln:
Don't build ANGLE projects for now, corrected build configurations,
and build WebInspectorUI.
* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
Added 64-bit linker symbol.

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

6 years agoFix build.
andersca@apple.com [Thu, 20 Mar 2014 20:41:03 +0000 (20:41 +0000)]
Fix build.

Rename WKPreferencesPrivate.h to WKPreferencesRefPrivate.h.

* UIProcess/API/C/WKPreferencesRefPrivate.h: Renamed from Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h.
* UIProcess/API/Cocoa/WKPreferencesPrivate.h:
* WebKit2.xcodeproj/project.pbxproj:

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

6 years agoiOS build fix after r165979.
psolanki@apple.com [Thu, 20 Mar 2014 20:30:46 +0000 (20:30 +0000)]
iOS build fix after r165979.

* generate-export-file:
(preprocessorMacros):

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

6 years ago[New Multicolumn] getClientRects returns wrong rectangle
hyatt@apple.com [Thu, 20 Mar 2014 20:26:28 +0000 (20:26 +0000)]
[New Multicolumn] getClientRects returns wrong rectangle
https://bugs.webkit.org/show_bug.cgi?id=128614

Reviewed by Sam Weinig.

Added fast/multicol/newmulticol/client-rects.html and beefed up existing
fast/multicol/client-rects.html to use more writing modes.

Source/WebCore:

* rendering/LayoutState.h:
Removed unused function.

* rendering/RenderFlowThread.h:
Make mapFlowToRegion virtual so that RenderMultiColumnFlowThread can
override it.

* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::mapFromFlowToRegion):
* rendering/RenderMultiColumnFlowThread.h:
Implement mapFlowToRegion to correctly translate a flow thread position
into a column offset within a region.

* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::columnTranslationForOffset):
(WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):
* rendering/RenderMultiColumnSet.h:
Refactored some code to make a columnTranslationForOffset helper that
can be used by RenderMultiColumnFlowThread.

LayoutTests:

* fast/multicol/client-rects.html:
* fast/multicol/newmulticol/client-rects-expected.html: Added.
* fast/multicol/newmulticol/client-rects.html: Added.
* platform/mac/fast/multicol/client-rects-expected.png:
* platform/mac/fast/multicol/client-rects-expected.txt:

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

6 years agoMerge AtomicString, Identifier
barraclough@apple.com [Thu, 20 Mar 2014 20:03:49 +0000 (20:03 +0000)]
Merge AtomicString, Identifier
https://bugs.webkit.org/show_bug.cgi?id=128624

Unreviewed build fix following r165982.

* WebProcess/Plugins/Netscape/NPJSObject.cpp:
    - update includes.

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

6 years agoIncorrect behavior when mutating a typed array during set.
oliver@apple.com [Thu, 20 Mar 2014 20:01:19 +0000 (20:01 +0000)]
Incorrect behavior when mutating a typed array during set.
https://bugs.webkit.org/show_bug.cgi?id=130428

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

This fixes a null derefence that occurs if a typed array
is mutated during the set() operation. The patch gets rid
of the "Quickly" version of setIndex that is assigning
JSValues of unknown type, as the numeric conversion can trigger
side effects that lead to neutering, and so we deref null.

* runtime/JSGenericTypedArrayView.h:
(JSC::JSGenericTypedArrayView::setIndex):
* runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::set):
(JSC::JSGenericTypedArrayView<Adaptor>::putByIndex):

LayoutTests:

Test behaviour of TypedArray.set(array) when we neuter the array.

* js/typed-array-mutated-during-set-expected.txt: Added.
* js/typed-array-mutated-during-set.html: Added.

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

6 years agoWeb Inspector: DebuggerDashboardView looks scrunched debugging JSContext
commit-queue@webkit.org [Thu, 20 Mar 2014 19:59:26 +0000 (19:59 +0000)]
Web Inspector: DebuggerDashboardView looks scrunched debugging JSContext
https://bugs.webkit.org/show_bug.cgi?id=130527

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

Instead of using body.javascript to force a collapsed style,
actually use the toolbar's collapsed class.

* UserInterface/Views/DashboardContainerView.css:
(.toolbar.collapsed .dashboard-container):
* UserInterface/Views/Toolbar.js:

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

6 years agoWeb Inspector: probe sidebar should use overflow:scroll and split space evenly
commit-queue@webkit.org [Thu, 20 Mar 2014 19:46:53 +0000 (19:46 +0000)]
Web Inspector: probe sidebar should use overflow:scroll and split space evenly
https://bugs.webkit.org/show_bug.cgi?id=129627

Patch by Katie Madonna <madonnk@gmail.com> on 2014-03-20
Reviewed by Timothy Hatcher.

Use flexbox to split space evenly in the probe sidebar, which required changes to collapse
format, remove scrollbar styles from old timelapse branch.

* UserInterface/Views/ProbeDetailsSidebarPanel.css: Space elements evenly with flexbox
and make collapse correctly, remove scrollbar style.
* UserInterface/Views/ProbeSetDetailsSection.js: Removed inline style.

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

6 years agoPreserve original document URL for XSSAuditor reports
dbates@webkit.org [Thu, 20 Mar 2014 19:34:48 +0000 (19:34 +0000)]
Preserve original document URL for XSSAuditor reports

Merged from Blink (patch by Tom Sepez):
https://src.chromium.org/viewvc/blink?view=rev&revision=158406

Source/WebCore:

Test: http/tests/security/xssAuditor/report-script-tag-replace-state.html

* html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::filterToken):
* html/parser/XSSAuditorDelegate.cpp:
(WebCore::buildConsoleError):
(WebCore::XSSAuditorDelegate::generateViolationReport):
(WebCore::XSSAuditorDelegate::didBlockScript):
* html/parser/XSSAuditorDelegate.h:
(WebCore::XSSInfo::XSSInfo):

LayoutTests:

* http/tests/security/xssAuditor/report-script-tag-replace-state-expected.txt: Added.
* http/tests/security/xssAuditor/report-script-tag-replace-state.html: Added.
* http/tests/security/xssAuditor/resources/echo-intertag.pl:

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

6 years ago[WebKit2] Implement NetworkingContext::sourceApplicationAuditData() for WebKit2
weinig@apple.com [Thu, 20 Mar 2014 19:32:50 +0000 (19:32 +0000)]
[WebKit2] Implement NetworkingContext::sourceApplicationAuditData() for WebKit2
https://bugs.webkit.org/show_bug.cgi?id=130528

Reviewed by Anders Carlsson.

* Platform/IPC/Connection.h:
* Platform/IPC/mac/ConnectionMac.cpp:
(IPC::Connection::getAuditToken):
Expose the audit data if available.

* NetworkProcess/mac/RemoteNetworkingContext.mm:
(WebKit::RemoteNetworkingContext::sourceApplicationAuditData):
* WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
(WebKit::WebFrameNetworkingContext::sourceApplicationAuditData):
Pass the audit data corresponding to the UIProcess.

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

6 years agoXSSAuditor bypass with frameset tags
dbates@webkit.org [Thu, 20 Mar 2014 19:32:16 +0000 (19:32 +0000)]
XSSAuditor bypass with frameset tags

Merged from Blink (patch by Tom Sepez):
https://src.chromium.org/viewvc/blink?view=rev&revision=157794

Source/WebCore:

Test: http/tests/security/xssAuditor/frameset-injection.html

* html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::filterStartToken):
(WebCore::XSSAuditor::filterFrameToken):
* html/parser/XSSAuditor.h:

LayoutTests:

* http/tests/security/xssAuditor/frameset-injection-expected.txt: Added.
* http/tests/security/xssAuditor/frameset-injection.html: Added.
* http/tests/security/xssAuditor/resources/echo-intertag.pl:

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

6 years ago[Cocoa] Expose preference to enable telephone number detection
weinig@apple.com [Thu, 20 Mar 2014 19:31:27 +0000 (19:31 +0000)]
[Cocoa] Expose preference to enable telephone number detection
https://bugs.webkit.org/show_bug.cgi?id=130524

Reviewed by Anders Carlsson.

* UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _telephoneNumberDetectionIsEnabled]):
(-[WKPreferences _setTelephoneNumberDetectionIsEnabled:]):
* UIProcess/API/Cocoa/WKPreferencesInternal.h:
* UIProcess/API/Cocoa/WKPreferencesPrivate.h: Added.
* WebKit2.xcodeproj/project.pbxproj:

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

6 years agoMerge AtomicString, Identifier
barraclough@apple.com [Thu, 20 Mar 2014 19:26:31 +0000 (19:26 +0000)]
Merge AtomicString, Identifier
https://bugs.webkit.org/show_bug.cgi?id=128624

Reviewed by Geoff Garen.

Source/JavaScriptCore:

WTF::StringImpl currently supports two uniquing mechanism - AtomicString and
Identifer - that is one too many.

Remove Identifier in favour of AtomicString. Identifier had two interesting
mechanisms that we preserve.

(1) JSC API VMs each get their own string table, switch the string table on
    API entry/exit.
(2) JSC caches a pointer to the string table on the VM to avoid a thread
    specific access. Adds a new AtomicString::add method to support this.

* API/JSAPIWrapperObject.mm:
    - updated includes.
* JavaScriptCore.xcodeproj/project.pbxproj:
    - added IdentifierInlines.h.
* inspector/JSInjectedScriptHostPrototype.cpp:
* inspector/JSJavaScriptCallFramePrototype.cpp:
    - updated includes.
* interpreter/CallFrame.h:
(JSC::ExecState::atomicStringTable):
    - added, used via AtomicString::add to avoid thread-specific access.
* runtime/ConsolePrototype.cpp:
    - updated includes.
* runtime/Identifier.cpp:
(JSC::Identifier::add):
(JSC::Identifier::add8):
    - vm->smallStrings.singleCharacterStringRep now returns Atomic strings, use AtomicString::add.
* runtime/Identifier.h:
(JSC::Identifier::Identifier):
    - added ASSERTS.
(JSC::Identifier::add):
    - vm->smallStrings.singleCharacterStringRep now returns Atomic strings, use AtomicString::add.
* runtime/IdentifierInlines.h: Added.
(JSC::Identifier::add):
    - moved from Identifier.h, use AtomicString::add.
* runtime/JSCInlines.h:
    - added IdentifierInlines.h.
* runtime/JSLock.h:
    - removed IdentifierTable.
* runtime/PropertyNameArray.cpp:
    - updated includes.
* runtime/SmallStrings.cpp:
(JSC::SmallStringsStorage::SmallStringsStorage):
    - ensure all single character strings are Atomic.
* runtime/VM.cpp:
(JSC::VM::VM):
    - instantiate CommonIdentifiers with the correct AtomicStringTable set on thread data.
* runtime/VM.h:
(JSC::VM::atomicStringTable):
    - added, used via AtomicString::add to avoid thread-specific access.

Source/WebKit:

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
    - exports no longer needed.

Source/WTF:

WTF::StringImpl currently supports two uniquing mechanism - AtomicString and
Identifer - that is one too many.

Remove Identifier in favour of AtomicString. Identifier had two interesting
mechanisms that we preserve.

(1) JSC API VMs each get their own string table, switch the string table on
    API entry/exit.
(2) JSC caches a pointer to the string table on the VM to avoid a thread
    specific access. Adds a new AtomicString::add method to support this.

* wtf/WTFThreadData.cpp:
(WTF::WTFThreadData::WTFThreadData):
    - remove allocation of IdentifierTable.
(WTF::WTFThreadData::~WTFThreadData):
    - remove deletion of IdentifierTable.
* wtf/WTFThreadData.h:
(WTF::WTFThreadData::atomicStringTable):
    - table is now switched by JSC API, return the current table.
(WTF::WTFThreadData::currentIdentifierTable):
    - now returns the current AtomicStringTable.
(WTF::WTFThreadData::setCurrentIdentifierTable):
    - now sets the current AtomicStringTable.
(WTF::WTFThreadData::resetCurrentIdentifierTable):
    - now resets the AtomicStringTable.
* wtf/text/AtomicString.cpp:
(WTF::AtomicString::addSlowCase):
    - add without thread-specific access to access string table.
* wtf/text/AtomicString.h:
(WTF::AtomicString::addWithStringTableProvider):
    - add without thread-specific access (used by JSC, string table provided by VM or ExecState).
* wtf/text/AtomicStringTable.cpp:
(WTF::AtomicStringTable::create):
    - renamed m_atomicStringTable -> m_defaultAtomicStringTable.
(WTF::AtomicStringTable::~AtomicStringTable):
(WTF::AtomicStringTable::destroy):
    - clearing of table moved from AtomicStringTable::destroy to destructor.
* wtf/text/AtomicStringTable.h:
    - added destructor.
* wtf/text/StringImpl.cpp:
(WTF::StringImpl::~StringImpl):
    - Identifers no longer exist; no need to remove them from IdentifierTable.
* wtf/text/StringImpl.h:
(WTF::StringImpl::StringImpl):
    - removed s_hashFlagIsIdentifier.
(WTF::StringImpl::flagIsIdentifier):
    - s_hashFlagIsIdentifier -> s_hashFlagIsAtomic.
(WTF::StringImpl::isIdentifier):
    - now synonymous to isAtomic().
* wtf/text/StringStatics.cpp:
(WTF::StringImpl::hashAndFlagsForEmptyUnique):
    - removed s_hashFlagIsIdentifier.

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

6 years agoWeb Replay: fix some oversights in the replay backend
bburg@apple.com [Thu, 20 Mar 2014 18:49:59 +0000 (18:49 +0000)]
Web Replay: fix some oversights in the replay backend
https://bugs.webkit.org/show_bug.cgi?id=130435

Reviewed by Andreas Kling.

This functionality will be covered by tests in https://webkit.org/b/130145.

* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::playbackFinishedImpl):
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::playbackFinished):
* inspector/InspectorReplayAgent.cpp:
(WebCore::buildInspectorObjectForSegment):
(WebCore::InspectorReplayAgent::playbackFinished):
* inspector/InspectorReplayAgent.h: Add a playbackFinished event to Inspector
instrumentation. This is fired by ReplayController when playback is cancelled or
playback of the final segment has completed.

* replay/EventLoopInputDispatcher.cpp:
(WebCore::EventLoopInputDispatcher::dispatchInputSoon): Fix wrong cast.
(WebCore::EventLoopInputDispatcher::dispatchInput): Ensure that m_dispatching is
false when m_running is false.
* replay/EventLoopInputDispatcher.h: Distinguish 'dispaching' and 'running' in comments.
(WebCore::EventLoopInputDispatcher::isRunning): Added.

* replay/FunctorInputCursor.h: Since the base class InputCursor is RefCounted, the
Functor subclass cannot be put into a unique_ptr. Add create() method instead.

* replay/ReplayController.cpp:
(WebCore::ReplayController::loadSegmentAtIndex): Renamed from loadSegment(). Callers
now pass in the desired segment index rather than the segment itself. The index is
necessary to properly reset m_position after the segment is loaded.

(WebCore::ReplayController::startPlayback): Set the dispatcher's speed before run().
(WebCore::ReplayController::pausePlayback): Only pause the dispatcher if it's running.
(WebCore::ReplayController::cancelPlayback): Add playbackFinished instrumentation.
(WebCore::ReplayController::replayToPosition):
(WebCore::ReplayController::didDispatchFinalInput): If there are no more segments to load,
manually adjust the final m_position and defer to cancelPlayback to unload the segment.
* replay/ReplayController.h:
* replay/ReplaySessionSegment.cpp:
(WebCore::ReplaySessionSegment::createFunctorCursor):
* replay/ReplaySessionSegment.h:

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

6 years ago[CSS Regions] Cleanup scrollable regions tests
stavila@adobe.com [Thu, 20 Mar 2014 18:44:40 +0000 (18:44 +0000)]
[CSS Regions] Cleanup scrollable regions tests
https://bugs.webkit.org/show_bug.cgi?id=130505

Reviewed by Mihnea Ovidenie.

Tests should only display red in case of failure. Purpose of the test should be very clearly stated.

* fast/regions/scrollable-last-region-expected.html:
* fast/regions/scrollable-last-region.html:
* fast/regions/scrollable-regions-hit-testing-inside-expected.html:
* fast/regions/scrollable-regions-hit-testing-inside.html:
* fast/regions/scrollable-single-region-bt-expected.html:
* fast/regions/scrollable-single-region-bt.html:
* fast/regions/scrollable-single-region-expected.html:
* fast/regions/scrollable-single-region-lr-expected.html:
* fast/regions/scrollable-single-region-lr.html:
* fast/regions/scrollable-single-region-relative-element-expected.html:
* fast/regions/scrollable-single-region-relative-element.html:
* fast/regions/scrollable-single-region-rl-expected.html:
* fast/regions/scrollable-single-region-rl.html:
* fast/regions/scrollable-single-region.html:
* fast/regions/wheel-scroll-abspos-expected.html:
* fast/regions/wheel-scroll-abspos.html:
* fast/regions/wheel-scroll-expected.html:
* fast/regions/wheel-scroll.html:
* fast/regions/wheel-scrollable-single-region-expected.html:
* fast/regions/wheel-scrollable-single-region.html:

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

6 years ago[iOS] Get code to compile on older iOS versions
psolanki@apple.com [Thu, 20 Mar 2014 18:40:36 +0000 (18:40 +0000)]
[iOS] Get code to compile on older iOS versions
https://bugs.webkit.org/show_bug.cgi?id=130142
<rdar://problem/16302908>

Reviewed by Darin Adler.

Source/WebCore:

* WebCore.exp.in:
* platform/ios/WebVideoFullscreenControllerAVKit.mm:
(-[WebVideoFullscreenController WebCore::]):
(-[WebVideoFullscreenController enterFullscreen:]):
(-[WebVideoFullscreenController exitFullscreen]):
* platform/ios/WebVideoFullscreenInterfaceAVKit.h:
* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
* platform/mac/HTMLConverter.mm:
(_dateForString):
* platform/network/cf/CookieJarCFNet.cpp:
(WebCore::copyCookiesForURLWithFirstPartyURL):
* platform/text/ios/LocalizedDateCache.mm:
(WebCore::LocalizedDateCache::calculateMaximumWidth):
* platform/text/mac/LocaleMac.mm:
(WebCore::LocaleMac::LocaleMac):

Source/WebKit/mac:

* History/WebHistory.mm:
(getDayBoundaries):
* Plugins/WebPluginController.h:
* Plugins/WebPluginController.mm:
(+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
* WebCoreSupport/WebFrameLoaderClient.mm:
(pluginView):
* WebView/WebPreferences.mm:
(-[WebPreferences _setAllowCompositingLayerVisualDegradation:]):
* WebView/WebPreferencesPrivate.h:

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

6 years agoFollowup build fix: AnimationBase.h needs to be private because
simon.fraser@apple.com [Thu, 20 Mar 2014 18:34:51 +0000 (18:34 +0000)]
Followup build fix: AnimationBase.h needs to be private because
it's included by AnimationController.h.

* WebCore.xcodeproj/project.pbxproj:

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

6 years agoA completed fill-forwards animation should not disable overlap testing
simon.fraser@apple.com [Thu, 20 Mar 2014 18:32:13 +0000 (18:32 +0000)]
A completed fill-forwards animation should not disable overlap testing
https://bugs.webkit.org/show_bug.cgi?id=130522
<rdar://problem/15862395>

Source/WebCore:

Reviewed by Dean Jackson.

Previously, if -webkit-transform was being keyframe-animated, and the
animation had fill-forwards, then we would continue to think that the
animation is running and turn off compositing overlap testing. This
caused some sites to keep too much backing store around.

Fix by having isRunning{Accelerated}AnimationOnRenderer take some flags
so that more specific questions about the running state can be asked.
For layer creation, keep using the same criteria as before (for now)
which includes paused and fill-forwards animations. For overlap testing,
don't include the fill-forwards test.

Tests: compositing/animation/filling-animation-overlap-at-end.html
       compositing/animation/filling-animation-overlap.html
       compositing/animation/layer-for-filling-animation.html

* page/animation/AnimationBase.h:
(WebCore::AnimationBase::fillingForwards):
(WebCore::AnimationBase::inPausedState):
(WebCore::AnimationBase::isAnimatingProperty):
* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer):
(WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer):
(WebCore::AnimationController::isRunningAnimationOnRenderer):
(WebCore::AnimationController::isRunningAcceleratedAnimationOnRenderer):
* page/animation/AnimationController.h:
* page/animation/AnimationControllerPrivate.h:
* page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::isAnimatingProperty):
* page/animation/CompositeAnimation.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
(WebCore::RenderLayerCompositor::isRunningAcceleratedTransformAnimation):

LayoutTests:

Reviewed by Dean Jackson.

Tests that dump layer trees when a fill-forwards animation has finished,
both when the final keyframe causes overlap, and when it does not.

* compositing/animation/filling-animation-overlap-at-end-expected.txt: Added.
* compositing/animation/filling-animation-overlap-at-end.html: Added.
* compositing/animation/filling-animation-overlap-expected.txt: Added.
* compositing/animation/filling-animation-overlap.html: Added.
* compositing/animation/layer-for-filling-animation-expected.txt: Added.
* compositing/animation/layer-for-filling-animation.html: Added.

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

6 years agoCanvas methods clip/fill/stroke should not except 0 argument
krit@webkit.org [Thu, 20 Mar 2014 18:24:34 +0000 (18:24 +0000)]
Canvas methods clip/fill/stroke should not except 0 argument
https://bugs.webkit.org/show_bug.cgi?id=130497

Reviewed by Dean Jackson.

Source/WebCore:

Do not allow nullable argument for fill/stroke/clip.

No new tests. Updated existing tests.

* html/canvas/CanvasRenderingContext2D.idl:

LayoutTests:

Add more exception tests for fill/stroke/clip.

* fast/canvas/canvas-clip-path-expected.txt:
* fast/canvas/canvas-fill-path-expected.txt:
* fast/canvas/canvas-stroke-path-expected.txt:
* fast/canvas/script-tests/canvas-clip-path.js:
* fast/canvas/script-tests/canvas-fill-path.js:
* fast/canvas/script-tests/canvas-stroke-path.js:

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

6 years ago[GTK][CMake] Add support for building with Clang
zandobersek@gmail.com [Thu, 20 Mar 2014 18:22:54 +0000 (18:22 +0000)]
[GTK][CMake] Add support for building with Clang
https://bugs.webkit.org/show_bug.cgi?id=130260

Reviewed by Martin Robinson.

.:

* Source/PlatformGTK.cmake: Run the generate-gtkdoc script with the CFLAGS env set
to the list C compiler flags as constructed by CMake.
* Source/cmake/OptionsCommon.cmake: When building with Clang, use the -Qunused-arguments
compiler option to suppress verbose warnings about arguments that went unused by the driver.
* Source/cmake/OptionsGTK.cmake: Use -fno-omit-frame-pointer for both GCC and Clang.
-fno-tree-dce should be used only for GCC.
* Source/cmake/gtest/CMakeLists.txt: When building with Clang the GTest framework
should be built with GTEST_HAS_TR1_TUPLE macro defined to 0 to avoid build failures.

Tools:

* TestWebKitAPI/CMakeLists.txt: When building with Clang TestWebKitAPI should be
built with GTEST_HAS_TR1_TUPLE defined to 0 to avoid build failures occuring in the
included GTest framework headers.
* gtk/generate-gtkdoc:
(prepare_environment_for_gtkdoc_generation): Don't modify the CFLAGS env anymore
in case of using Clang since that is now set by the CMake rule.

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

6 years agoUnreviewed GTK Gardening.
mrobinson@webkit.org [Thu, 20 Mar 2014 18:18:32 +0000 (18:18 +0000)]
Unreviewed GTK Gardening.

Update expectation of accessibility/table-detection.html after r165535.
Update expectation of accessibility/aria-hidden-false-works-in-subtrees.html.

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

* platform/gtk/accessibility/aria-hidden-false-works-in-subtrees-expected.txt:
* platform/gtk/accessibility/table-detection-expected.txt:

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

6 years agoUnreviewed Clang build fix for the GTK port after r165952.
zandobersek@gmail.com [Thu, 20 Mar 2014 18:09:52 +0000 (18:09 +0000)]
Unreviewed Clang build fix for the GTK port after r165952.

* wtf/gobject/GMainLoopSource.h: Include the <functional> header for the std::function<> objects.

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

6 years ago[Mac] Support asynchronous NSTextInputClient
ap@apple.com [Thu, 20 Mar 2014 17:45:04 +0000 (17:45 +0000)]
[Mac] Support asynchronous NSTextInputClient
https://bugs.webkit.org/show_bug.cgi?id=130479

Reviewed by Anders Carlsson.

The implementation is currently disabled, pending lower level support.
Most of the code is not under compile time guard however, to facilitate cross-platform
reuse, or at least under a PLATFORM(COCOA) guard to share the code with iOS.

* UIProcess/API/mac/WKView.mm: Added a compile time branch for USE(ASYNC_NSTEXTINPUTCLIENT).
We still implement sync NSTextInputClient here, in order to get assertions when
its methods are unexpectedly called.
The new code first sends an event to input method asynchronously, handling any callbacks
that may arrive. During this time, we no longer care about WKViewInterpretKeyEventsParameters
at all. Once done, we interpret key bindings synchronously, collecting them into
a vector.

* UIProcess/API/mac/WKViewInternal.h: We no longer expose _interpretKeyEvent outside
WKView.

* UIProcess/WebPageProxy.cpp:
* UIProcess/WebPageProxy.h:
Added async calls and callbacks. Removed unnecessary and slightly harmful .get() when moving
a callback pointer into map. Moved insertDictatedText() and getAttributedSubstringFromRange()
from PLATFORM(COCOA) to PLATFORM(MAC), because they are unused and unimplemented on
iOS, and unlikely to be needed any time soon. Changed USE(APPKIT) to PLATFORM(MAC),
because that's more accurate in this case (nothing depends on AppKit, it's just code
that we only need on Mac).

* UIProcess/WebPageProxy.messages.in: Added messages for new async IM responses.

* UIProcess/ios/WebPageProxyIOS.mm: Removed insertDictatedText() and getAttributedSubstringFromRange().

* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::insertDictatedTextAsync):
(WebKit::WebPageProxy::attributedSubstringForCharacterRangeAsync):
(WebKit::WebPageProxy::attributedStringForCharacterRangeCallback):
Added async calls and callbacks that are Mac only.

* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/mac/WebPageMac.mm:
Added async implementations (which are essentially the same as sync ones, sadly).

* WebProcess/WebPage/WebPage.messages.in: Added async messages, moved some messages
under PLATFORM(MAC).

* WebProcess/WebPage/ios/WebPageIOS.mm: More of deleting functions that are Mac only,
and cannot be easily implemented in WebPage.cpp with shared code.

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

6 years ago[iOS] Support MediaDocument when building with PLUGIN_PROXY_FOR_VIDEO
eric.carlson@apple.com [Thu, 20 Mar 2014 17:37:57 +0000 (17:37 +0000)]
[iOS] Support MediaDocument when building with PLUGIN_PROXY_FOR_VIDEO
https://bugs.webkit.org/show_bug.cgi?id=130520

Reviewed by Jer Noble.

* dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument): Check the isVideoPluginProxyEnabled setting
    when building with ENABLE_PLUGIN_PROXY_FOR_VIDEO.

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

6 years ago[CSS Blending] Blending operation is not isolated when setting z-index on parent...
commit-queue@webkit.org [Thu, 20 Mar 2014 17:37:16 +0000 (17:37 +0000)]
[CSS Blending] Blending operation is not isolated when setting z-index on parent from javascript
https://bugs.webkit.org/show_bug.cgi?id=129307

Patch by Mihai Tica <mitica@adobe.com> on 2014-03-20
Reviewed by Dean Jackson.

Source/WebCore:

Reimplement the logic behind isolating blend modes. The blending operation should be limited to the
contents of the parent stacking context. The proposed solution implies adding logic in updateDescendantDependentFlags,
to track child elements that have blending and create a transparency layer that triggers isolation.

Tests: css3/compositing/blend-mode-background.html
       fast/repaint/blend-mode-isolate-stacking-context.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer): Remove old members, add new members to constructor.
(WebCore::RenderLayer::updateBlendMode): Update parent stacking context isolation on blend mode change.
(WebCore::RenderLayer::updateNonCompositedParentStackingContextHasBlendedChild):
- Set m_hasBlendedElementInChildStackingContext for the non composited parent stacking context.
(WebCore::RenderLayer::dirtyAncestorParentStackingContextHasBlendedElement):
- Set flag so isolation should be considered in updateDescendantDependentFlags.
(WebCore::RenderLayer::nonCompositedParentStackingContextHasBlendedChild):
- Return whether the non composited parent stacking context isolates blending.
(WebCore::RenderLayer::updateDescendantDependentFlags): Add logic for isolating blending.
(WebCore::RenderLayer::addChild): Call to updateNonCompositedParentStackingContextHasBlendedChild if needed.
(WebCore::RenderLayer::removeChild): Call to dirtyAncestorParentStackingContextHasBlendedElement if needed.
(WebCore::RenderLayer::updateStackingContextsAfterStyleChange): Update isolation when a stacking context was set or unset.
(WebCore::RenderLayer::styleChanged): Removed oldStyle parameter from updateBlendMode call.
 Update parent stacking context isolation on blend mode change.
* rendering/RenderLayer.h:
- Add members, getters and setters for tracking whether the element has a blended child:
    - m_hasBlendedElementInChildStackingContext
    - m_hasBlendedElementInChildStackingContextStatusDirty
- Removed m_updateParentStackingContextShouldIsolateBlendingDirty (replaced with m_hasBlendedElementInChildStackingContextStatusDirty)
- Removed m_isolatesBlending (replaced with m_hasBlendedElementInChildStackingContext)
- Updated the isolatesBlending method to return true only when the element is a stacking context and has a blended child.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeCompositingRequirements): Removed layer.updateParentStackingContextShouldIsolateBlending call.

LayoutTests:

Test if setting or unsetting stacking context or blend mode from script correctly updates blending
isolation.

* css3/compositing/blend-mode-background.html: Added.
* fast/repaint/blend-mode-isolate-stacking-context-expected.txt: Added.
* fast/repaint/blend-mode-isolate-stacking-context.html: Added.
* platform/mac/css3/compositing/blend-mode-background-expected.png: Added.
* platform/mac/css3/compositing/blend-mode-background-expected.txt: Added.

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

6 years ago[CSS Regions] Remove "visibility:hidden" from overflow-scrollable* tests
stavila@adobe.com [Thu, 20 Mar 2014 17:28:53 +0000 (17:28 +0000)]
[CSS Regions] Remove "visibility:hidden" from overflow-scrollable* tests
https://bugs.webkit.org/show_bug.cgi?id=130510

Reviewed by Andrei Bucur.

The visibility hidden option was needed to prevent these tests from failing before the
visual overflow was properly implemented (bug 118665). It is now no longer required.

* fast/regions/overflow-scrollable-rel-pos-fragment-expected.html:
* fast/regions/overflow-scrollable-rel-pos-fragment.html:
* fast/regions/overflow-scrollable-rotated-fragment-expected.html:
* fast/regions/overflow-scrollable-rotated-fragment.html:
* fast/regions/overflow-scrollable-unsplittable-fragment-expected.html:
* fast/regions/overflow-scrollable-unsplittable-fragment.html:

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

6 years agoRemove remaining GTK+ unused parameter warnings from WebKit2
mrobinson@webkit.org [Thu, 20 Mar 2014 17:20:58 +0000 (17:20 +0000)]
Remove remaining GTK+ unused parameter warnings from WebKit2
https://bugs.webkit.org/show_bug.cgi?id=130518

Reviewed by Sergio Villar Senin.

Fix almost all unused parameter warnings in the WebKit2GTK+ build.

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

6 years ago[GTK] [CMake] Do not compile ProxyResolverSoup.cpp
mrobinson@webkit.org [Thu, 20 Mar 2014 17:05:48 +0000 (17:05 +0000)]
[GTK] [CMake] Do not compile ProxyResolverSoup.cpp
https://bugs.webkit.org/show_bug.cgi?id=130516

Reviewed by Sergio Villar Senin.

* PlatformGTK.cmake: Remove the file from the source list.

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

6 years agoUnreviewed, rolling out r165962.
commit-queue@webkit.org [Thu, 20 Mar 2014 15:34:56 +0000 (15:34 +0000)]
Unreviewed, rolling out r165962.
https://bugs.webkit.org/show_bug.cgi?id=130512

It broke the build (Requested by Ossy on #webkit).

Reverted changeset:

.:

"[EFL][GTK] Get CMake to find Freetype2 properly"
https://bugs.webkit.org/show_bug.cgi?id=130150
http://trac.webkit.org/changeset/165962

Source/WebCore:

"[EFL][GTK] Get CMake to find Freetype2 properly"
https://bugs.webkit.org/show_bug.cgi?id=130150
http://trac.webkit.org/changeset/165962

Source/WebKit:

"[EFL][GTK] Get CMake to find Freetype2 properly"
https://bugs.webkit.org/show_bug.cgi?id=130150
http://trac.webkit.org/changeset/165962

Source/WebKit2:

"[EFL][GTK] Get CMake to find Freetype2 properly"
https://bugs.webkit.org/show_bug.cgi?id=130150
http://trac.webkit.org/changeset/165962

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

6 years ago"input" event is not fired when changing a select element's value
commit-queue@webkit.org [Thu, 20 Mar 2014 15:09:33 +0000 (15:09 +0000)]
"input" event is not fired when changing a select element's value
https://bugs.webkit.org/show_bug.cgi?id=117526

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-03-20
Reviewed by Antti Koivisto.

Source/WebCore:

Add a call to dispatch input event when listbox or menulist
values are modified.

According to the spec: "When the user agent is to send select update
notifications, queue a task to first fire a simple even that bubbles
named input at the select element, and then fire a simple event that
bubbles named change at the select element, using the user interaction
task source as the task source."

Tests: fast/forms/select/listbox-oninput-fired.html
       fast/forms/select/menulist-oninput-fired.html

* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::listBoxOnChange):
(WebCore::HTMLSelectElement::dispatchChangeEventForMenuList):

LayoutTests:

Add tests to verify that input event is dispatched when listbox
or menulist values are modified.

* fast/forms/select/listbox-oninput-fired-expected.txt: Added.
* fast/forms/select/listbox-oninput-fired.html: Added.
* fast/forms/select/menulist-oninput-fired-expected.txt: Added.
* fast/forms/select/menulist-oninput-fired.html: Added.

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

6 years ago[CSS Regions] The height of a scrollable element flowed inside a scrollable region...
stavila@adobe.com [Thu, 20 Mar 2014 15:01:12 +0000 (15:01 +0000)]
[CSS Regions] The height of a scrollable element flowed inside a scrollable region is not computed correctly
https://bugs.webkit.org/show_bug.cgi?id=129487

Reviewed by Andrei Bucur.

Source/WebCore:

When propagating the layout overflow from the flowed element up to the flow thread itself,
the region's logical bottom padding and the element's logical bottom margin must be taken into consideration.
However, if the flowed element has overflow, the overflow will be painted over the region's padding
and the element's margin, in order to be compatible with the non-regions case.
More info can be found here: http://lists.w3.org/Archives/Public/www-style/2014Jan/0089.html

Tests: fast/regions/scrollable-region-content-size-horiz-bt.html
       fast/regions/scrollable-region-content-size-no-overflow-horiz-bt.html
       fast/regions/scrollable-region-content-size-no-overflow-vert-rl.html
       fast/regions/scrollable-region-content-size-no-overflow.html
       fast/regions/scrollable-region-content-size-relative.html
       fast/regions/scrollable-region-content-size-vert-rl.html
       fast/regions/scrollable-region-content-size-vertical-lr.html
       fast/regions/scrollable-region-content-size.html
       fast/regions/scrollable-region-scrollable-content.html

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::addRegionsOverflowFromChild):
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::rectFlowPortionForBox):

LayoutTests:

Added tests for different situations using scrollable regions and fixed a couple existing tests.

* fast/regions/clip-to-padding-box-margins.html: overflow-x and overflow-y cannot be hidden & visible.
* fast/regions/scrollable-last-region-expected.html: "hack" no longer needed now that the scroll content size is properly computed.
* fast/regions/scrollable-region-content-size-expected.html: Added.
* fast/regions/scrollable-region-content-size-horiz-bt-expected.html: Added.
* fast/regions/scrollable-region-content-size-horiz-bt.html: Added.
* fast/regions/scrollable-region-content-size-no-overflow-expected.html: Added.
* fast/regions/scrollable-region-content-size-no-overflow-horiz-bt-expected.html: Added.
* fast/regions/scrollable-region-content-size-no-overflow-horiz-bt.html: Added.
* fast/regions/scrollable-region-content-size-no-overflow-vert-rl-expected.html: Added.
* fast/regions/scrollable-region-content-size-no-overflow-vert-rl.html: Added.
* fast/regions/scrollable-region-content-size-no-overflow.html: Added.
* fast/regions/scrollable-region-content-size-relative-expected.html: Added.
* fast/regions/scrollable-region-content-size-relative.html: Added.
* fast/regions/scrollable-region-content-size-vert-rl-expected.html: Added.
* fast/regions/scrollable-region-content-size-vert-rl.html: Added.
* fast/regions/scrollable-region-content-size-vertical-lr-expected.html: Added.
* fast/regions/scrollable-region-content-size-vertical-lr.html: Added.
* fast/regions/scrollable-region-content-size.html: Added.
* fast/regions/scrollable-region-scrollable-content-expected.html: Added.
* fast/regions/scrollable-region-scrollable-content.html: Added.

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

6 years agoSubpixel rendering: Nested layers with subpixel accumulation paint to wrong position.
zalan@apple.com [Thu, 20 Mar 2014 14:20:22 +0000 (14:20 +0000)]
Subpixel rendering: Nested layers with subpixel accumulation paint to wrong position.
https://bugs.webkit.org/show_bug.cgi?id=130153

Reviewed by Simon Fraser.

Subpixels (fractional device pixels here) can accumulate through nested layers. Subpixels
need to be propagated through the layer tree so that painting coordinates match layout coordinates.

Subpixel accumulation through nesting (absolute positioning, 2x display):
non-compositing case:
(nested boxes)  (layout pos) (norm.paint pos) (translate accumulation, subpixel accumulation, final paint pos)
div -> top: 1.3px   1.3px     1.5px      1.5px 0.2px -> snapped 0.0px -> 1.5px
 div -> top: 1.3px   2.6px     2.5px      3.0px 0.4px -> snapped 0.5px -> 2.5px
  div -> top: 1.3px   3.9px     4.0px      4.5px 0.6px -> snapped 0.5px -> 4.0px
   div -> top: 1.3px   5.2px     5.0px      6.0px 0.8px -> snapped 1.0px -> 5.0px

compositing case:
(nested boxes)  (layout pos) (norm.paint pos) (device pixel offset + fractional offset, final pos)
div -> top: 1.3px   1.3px      1.5px      1.0px + 0.3px -> snapped -> 1.5px
 div -> top: 1.3px   2.6px      2.5px      2.5px + 0.1px -> snapped -> 2.5px
  div -> top: 1.3px   3.9px      4.0px      3.5px + 0.4px -> snapped -> 4.0px
   div -> top: 1.3px   5.2px      5.0px      5.0px + 0.2px -> snapped -> 5.0px

Source/WebCore:

Tests: compositing/hidpi-nested-compositing-layers-with-subpixel-accumulation.html
       fast/layers/hidpi-nested-layers-with-subpixel-accumulation.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerByApplyingTransform):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
* rendering/RenderLayerBacking.h:
(WebCore::RenderLayerBacking::devicePixelFractionFromRenderer):

LayoutTests:

* compositing/hidpi-nested-compositing-layers-with-subpixel-accumulation-expected.html: Added.
* compositing/hidpi-nested-compositing-layers-with-subpixel-accumulation.html: Added.
* fast/layers/hidpi-nested-layers-with-subpixel-accumulation-expected.html: Added.
* fast/layers/hidpi-nested-layers-with-subpixel-accumulation.html: Added.

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

6 years ago[EFL][GTK] Get CMake to find Freetype2 properly
thiago.lacerda@openbossa.org [Thu, 20 Mar 2014 14:19:00 +0000 (14:19 +0000)]
[EFL][GTK] Get CMake to find Freetype2 properly
https://bugs.webkit.org/show_bug.cgi?id=130150

Reviewed by Csaba Osztrogonác.

Newer versions of CMake are not able to find Freetype2 correctly.
FindFreetype2.cmake checks for the version number in freetype.h header, since it seems that bug exists in
freetype2 repo, because a completely different version number is found in freetype2.pc.

.:

* Source/cmake/FindFreetype2.cmake: Added.
* Source/cmake/OptionsEfl.cmake:
* Source/cmake/OptionsGTK.cmake:

Source/WebCore:

* PlatformEfl.cmake:
* PlatformGTK.cmake:

Source/WebKit:

* PlatformEfl.cmake:

Source/WebKit2:

* PlatformEfl.cmake:

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

6 years ago[ARM64] Fix assembler build issues and add cacheFlush support for Linux
rgabor@webkit.org [Thu, 20 Mar 2014 14:03:43 +0000 (14:03 +0000)]
[ARM64] Fix assembler build issues and add cacheFlush support for Linux
https://bugs.webkit.org/show_bug.cgi?id=130502

Reviewed by Michael Saboff.

Add limits.h for INT_MIN in ARM64Assembler(). Delete shouldBlindForSpecificArch(uintptr_t)
because on ARM64 uint64_t and uintptr_t is the same with GCC and Clang as well.
Add cacheFlush support for Linux.

* assembler/ARM64Assembler.h:
(JSC::ARM64Assembler::linuxPageFlush):
(JSC::ARM64Assembler::cacheFlush):
* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::shouldBlindForSpecificArch):

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

6 years ago[EFL][WK2] test_ewk2_application_cache_manager is flaky
ryuan.choi@samsung.com [Thu, 20 Mar 2014 11:04:22 +0000 (11:04 +0000)]
[EFL][WK2] test_ewk2_application_cache_manager is flaky
https://bugs.webkit.org/show_bug.cgi?id=130501

Reviewed by Gyuyoung Kim.

* UIProcess/API/efl/tests/test_ewk2_application_cache_manager.cpp:
(timerCallback): Return ECORE_CALLBACK_CANCEL to clear the timer.

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

6 years agoUnreviewed EFL gardening
k.czech@samsung.com [Thu, 20 Mar 2014 10:55:45 +0000 (10:55 +0000)]
Unreviewed EFL gardening

Update expectation of table-detection.html after r165535.

* platform/efl-wk2/accessibility/table-detection-expected.txt:

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

6 years agoVersioning.
lforschler@apple.com [Thu, 20 Mar 2014 10:19:51 +0000 (10:19 +0000)]
Versioning.

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

6 years agoRefactor checking log channel state in MediaPlayerPrivateGStreamerBase.
pmolnar.u-szeged@partner.samsung.com [Thu, 20 Mar 2014 10:07:01 +0000 (10:07 +0000)]
Refactor checking log channel state in MediaPlayerPrivateGStreamerBase.
https://bugs.webkit.org/show_bug.cgi?id=130241

Reviewed by Philippe Normand.

The channel was passed around only to check its state. Cleaned this up
by adding a method to check whether a log channel is enabled.

* platform/Logging.cpp:
(WebCore::isLogChannelEnabled):
* platform/Logging.h:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):

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

6 years agoDispatch input event for Range element keyboard event
commit-queue@webkit.org [Thu, 20 Mar 2014 08:56:36 +0000 (08:56 +0000)]
Dispatch input event for Range element keyboard event
https://bugs.webkit.org/show_bug.cgi?id=129929

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-03-20
Reviewed by Kent Tamura.

For any value update, dispatch both input and change event.
Also removes extra dispatch change event, as event is dispatched
from TextFieldInputType:setValue.

Merged from Blink (patch by Habib Virji):
https://src.chromium.org/viewvc/blink?revision=168558&view=revision

Source/WebCore:

Test: fast/forms/range/range-keyboard-oninput-event.html

* html/RangeInputType.cpp:
(WebCore::RangeInputType::handleKeydownEvent):

LayoutTests:

* fast/forms/range/range-keyboard-oninput-event-expected.txt: Added.
* fast/forms/range/range-keyboard-oninput-event.html: Added.

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

6 years ago Rollout r165944. Build break.
lforschler@apple.com [Thu, 20 Mar 2014 08:28:32 +0000 (08:28 +0000)]
Rollout r165944.  Build break.

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

6 years ago[GLIB] Add GMainLoopSource class to wrap idle and timeout sources
carlosgc@webkit.org [Thu, 20 Mar 2014 07:56:38 +0000 (07:56 +0000)]
[GLIB] Add GMainLoopSource class to wrap idle and timeout sources
https://bugs.webkit.org/show_bug.cgi?id=130027

Reviewed by Martin Robinson.

GLib main loop sources like idle and timeouts are sometimes
unconvenient to use and it's very common to forget canceling the
source when the object is destroyed or reset the source ID in the
callback when called. GMainLoopSource is a wrapper class to make it
easier to handle sources and also to avoid those typical mistakes.
It forces to create sources with a name and the user doesn't have
to deal with the source ID anymore. The source is cancelled when
the object is deleted or when a new source is scheduled. It uses
std::function for callbacks so that we no longer need to use the
"proxy" static callbacks either. We can use std::bind to use a
function pointer or a member or even lambda functions. It also handles
repeating sources automatically depending on whether the given
function returns a bool or not.

* GNUmakefile.list.am:
* wtf/PlatformEfl.cmake:
* wtf/PlatformGTK.cmake:
* wtf/RunLoop.h:
* wtf/gobject/GMainLoopSource.cpp: Added.
(WTF::GMainLoopSource::createAndDeleteOnDestroy):
(WTF::GMainLoopSource::GMainLoopSource):
(WTF::GMainLoopSource::~GMainLoopSource):
(WTF::GMainLoopSource::cancel):
(WTF::GMainLoopSource::reset):
(WTF::GMainLoopSource::scheduleIdleSource):
(WTF::GMainLoopSource::schedule):
(WTF::GMainLoopSource::scheduleTimeoutSource):
(WTF::GMainLoopSource::scheduleAfterDelay):
(WTF::GMainLoopSource::voidCallback):
(WTF::GMainLoopSource::boolCallback):
(WTF::GMainLoopSource::socketCallback):
(WTF::GMainLoopSource::destroy):
(WTF::GMainLoopSource::voidSourceCallback):
(WTF::GMainLoopSource::boolSourceCallback):
(WTF::GMainLoopSource::socketSourceCallback):
* wtf/gobject/GMainLoopSource.h: Added.
(WTF::GMainLoopSource::isScheduled):
* wtf/gtk/MainThreadGtk.cpp:
(WTF::scheduleDispatchFunctionsOnMainThread):
* wtf/gtk/RunLoopGtk.cpp:
(WTF::RunLoop::wakeUp):
(WTF::RunLoop::TimerBase::TimerBase):
(WTF::RunLoop::TimerBase::start):
(WTF::RunLoop::TimerBase::stop):
(WTF::RunLoop::TimerBase::isActive):

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

6 years ago[CSSRegions] Content flowed in 0px height region not displayed
mihnea@adobe.com [Thu, 20 Mar 2014 07:14:15 +0000 (07:14 +0000)]
[CSSRegions] Content flowed in 0px height region not displayed
https://bugs.webkit.org/show_bug.cgi?id=98265

After the past work on overflow, this looks fixed. Add a test to make sure
we are covered for future regressions.

Reviewed by Andrei Bucur.

* fast/regions/overflow-content-zero-height-region-expected.html: Added.
* fast/regions/overflow-content-zero-height-region.html: Added.

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

6 years agoRefine BatteryStatus module
jinwoo7.song@samsung.com [Thu, 20 Mar 2014 07:11:32 +0000 (07:11 +0000)]
Refine BatteryStatus module
https://bugs.webkit.org/show_bug.cgi?id=130495

Reviewed by Andreas Kling.

Small refinements:
 - Return PassRef instead of PassRefPtr in create method
 - Switched to nullptr instead of 0 where appropriate.
 - Removed unused function and header file.
 - Removed unnecessary empty lines.

* Modules/battery/BatteryController.h:
* Modules/battery/BatteryManager.cpp:
(WebCore::BatteryManager::create): Make return passRef.
* Modules/battery/BatteryManager.h:
(WebCore::BatteryManager::batteryControllerDestroyed): Use nullptr.
* Modules/battery/BatteryStatus.cpp:
(WebCore::BatteryStatus::create): Make return passRef.
* Modules/battery/BatteryStatus.h:
* Modules/battery/NavigatorBattery.cpp:
(WebCore::NavigatorBattery::webkitBattery): Remove batteryManager().
* Modules/battery/NavigatorBattery.h:

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

6 years agohttps://bugs.webkit.org/show_bug.cgi?id=130494
barraclough@apple.com [Thu, 20 Mar 2014 06:21:49 +0000 (06:21 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=130494
EmptyUnique strings are Identifiers/Atomic

Reviewed by Geoff Garen.

EmptyUnique strings should set the Identifier/Atomic flag.

Source/JavaScriptCore:

This fixes an unreproducible bug we believe exists in Identifier handling.
Expected behaviour is that while Identifiers may reference EmptyUniques
(StringImpls allocated as UIDs for PrivateNames), these are not created
through the main Identifier constructor, the Identifier flag is not set
on PrivateNames, and we should never lookup EmptyUnique strings in the
IdentifierTable.

Unfortunately that was happening. Some tables used to implement property
access in the JIT hold StringImpl*s, and turn these back into Identifiers
using the identfiier constructor. Since the code generator will now plant
by-id (cachable) accesses to PrivateNames we can end up passing an
EmptyUnique to Identifier::add, potentially leading to PrivateNames being
uniqued together (though hard to prove, since the hash codes are random).

* runtime/PropertyName.h:
(JSC::PropertyName::PropertyName):
(JSC::PropertyName::uid):
(JSC::PropertyName::publicName):
(JSC::PropertyName::asIndex):
    - PropertyName assumed that PrivateNames are not Identifiers - instead check isEmptyUnique().
* runtime/Structure.cpp:
(JSC::Structure::getPropertyNamesFromStructure):
    - Structure assumed that PrivateNames are not Identifiers - instead check isEmptyUnique().

Source/WTF:

* wtf/text/AtomicString.h:
(WTF::AtomicString::add):
    - Previously we assumed the only StringImpl that was validly allowed to claim to be
      Atomic but not be in a table was the canonical empty string. Now that EmptyUniques
      are also marked Atomic, all empty strings may pass this condition.
* wtf/text/StringImpl.cpp:
(WTF::StringImpl::~StringImpl):
    - EmptyUnique strings are not in the Atomic/Identfiier tabels, so don't need removing.
* wtf/text/StringImpl.h:
(WTF::StringImpl::StringImpl):
    - Change EmptyUnique constructor to call hashAndFlagsForEmptyUnique.
* wtf/text/StringStatics.cpp:
(WTF::StringImpl::hashAndFlagsForEmptyUnique):
    - Allocate a sequential hash code (this should be just as good for distribution & better
      for debugging than the random value) and set flags, now including Atomic & Identifier.

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

6 years ago[iOS] Get code to compile on older iOS versions
psolanki@apple.com [Thu, 20 Mar 2014 05:10:51 +0000 (05:10 +0000)]
[iOS] Get code to compile on older iOS versions
https://bugs.webkit.org/show_bug.cgi?id=130142
<rdar://problem/16302908>

Reviewed by Darin Adler.

Source/WebCore:

* WebCore.exp.in:
* platform/ios/WebVideoFullscreenControllerAVKit.mm:
(-[WebVideoFullscreenController WebCore::]):
(-[WebVideoFullscreenController enterFullscreen:]):
(-[WebVideoFullscreenController exitFullscreen]):
* platform/ios/WebVideoFullscreenInterfaceAVKit.h:
* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
* platform/mac/HTMLConverter.mm:
(_dateForString):
* platform/network/cf/CookieJarCFNet.cpp:
(WebCore::copyCookiesForURLWithFirstPartyURL):
* platform/text/ios/LocalizedDateCache.mm:
(WebCore::LocalizedDateCache::calculateMaximumWidth):
* platform/text/mac/LocaleMac.mm:
(WebCore::LocaleMac::LocaleMac):

Source/WebKit/mac:

* History/WebHistory.mm:
(getDayBoundaries):
* Plugins/WebPluginController.h:
* Plugins/WebPluginController.mm:
(+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
* WebCoreSupport/WebFrameLoaderClient.mm:
(pluginView):
* WebView/WebPreferences.mm:
(-[WebPreferences _setAllowCompositingLayerVisualDegradation:]):
* WebView/WebPreferencesPrivate.h:

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

6 years agoFix "WEBKIT_WEBGL_compressed_texture_pvrtc" extension support
commit-queue@webkit.org [Thu, 20 Mar 2014 03:12:51 +0000 (03:12 +0000)]
Fix "WEBKIT_WEBGL_compressed_texture_pvrtc" extension support
https://bugs.webkit.org/show_bug.cgi?id=130292

Patch by Byungseon Shin <sun.shin@lge.com> on 2014-03-19
Reviewed by Dean Jackson.

WebGLRenderingContext::getExtension was not returning WEBGL_compressed_texture_pvrtc extension.

* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getExtension):

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

6 years agoMerge Misc. WebVTT Updates from Blink.
bfulgham@apple.com [Thu, 20 Mar 2014 02:53:59 +0000 (02:53 +0000)]
Merge Misc. WebVTT Updates from Blink.
https://bugs.webkit.org/show_bug.cgi?id=130491

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/track/track-webvtt-tc030-interspersed-non-cue.html

Merged from Blink (patch by vcarbune@chromium.org):
https://chromium.googlesource.com/chromium/blink/+/fb62b2b54944bd19026192c049a1db250756fc12
http://crbug.com/40323003
https://chromium.googlesource.com/chromium/blink/+/29176fb0b394a97e85f4dabc07e18329f3ceae41
http://crbug.com/54463002
https://chromium.googlesource.com/chromium/blink/+/29476f839a08cb17c5a3fc713f7e454e7cea9c60
http://crbug.com/55853002
https://chromium.googlesource.com/chromium/blink/+/ba2378ef873e786cf2937034e012669cdd37dfe8
http://crbug.com/65343003
https://chromium.googlesource.com/chromium/blink/+/1915b9aa1bba45aebf28531b40ae627ecf9a3d59
http://crbug.com/62833005
https://chromium.googlesource.com/chromium/blink/+/ea46dbd0f1f29779a1cd4f59b19361b803f09a9b
http://crbug.com/64273013
https://chromium.googlesource.com/chromium/blink/+/9eb4bb6b627357bb94d66386a4123ec004cccfc4
http://crbug.com/101513002
https://chromium.googlesource.com/chromium/blink/+/192a843b32eafb77bf92c50ec50d334ba935028a
http://crbug.com/102403002
https://chromium.googlesource.com/chromium/blink/+/15f9efcc952fcf73184e28fb9db79633c1fa6653
http://crbug.com/104443002
https://chromium.googlesource.com/chromium/blink/+/74fd66b451a464683f7cb748855b1740a54b2c16
http://crbug.com/75243004

* html/track/TextTrackRegion.cpp:
(WebCore::TextTrackRegion::parseSettingValue):
* html/track/VTTCue.cpp:
(WebCore::VTTCue::markFutureAndPastNodes):
(WebCore::VTTCue::setCueSettings):
* html/track/WebVTTParser.cpp:
(WebCore::scanDigits):
(WebCore::WebVTTParser::collectDigitsToInt):
(WebCore::WebVTTParser::parseFloatPercentageValue):
(WebCore::WebVTTParser::parseBytes):
(WebCore::WebVTTParser::collectMetadataHeader):
(WebCore::WebVTTParser::collectTimingsAndSettings):
(WebCore::WebVTTParser::createDocumentFragmentFromCueText):
(WebCore::WebVTTParser::createNewCue):
(WebCore::WebVTTParser::createNewRegion):
(WebCore::WebVTTParser::collectTimeStamp):
(WebCore::tokenToNodeType):
(WebCore::WebVTTParser::constructTreeFromToken):
* html/track/WebVTTParser.h:
* html/track/WebVTTToken.h:
(WebCore::WebVTTToken::name):
(WebCore::WebVTTToken::characters):
(WebCore::WebVTTToken::appendToCharacter):
(WebCore::WebVTTToken::addNewClass):
(WebCore::WebVTTToken::classes):
(WebCore::WebVTTToken::addNewAnnotation):
(WebCore::WebVTTToken::annotation):
* html/track/WebVTTTokenizer.cpp:
(WebCore::equalLiteral):
(WebCore::WebVTTTokenizer::WebVTTTokenizer):
(WebCore::WebVTTTokenizer::nextToken):
* html/track/WebVTTTokenizer.h:

LayoutTests:

Merged from Blink (patch by vcarbune@chromium.org):
https://chromium.googlesource.com/chromium/blink/+/fb62b2b54944bd19026192c049a1db250756fc12
http://crbug.com/40323003
https://chromium.googlesource.com/chromium/blink/+/29176fb0b394a97e85f4dabc07e18329f3ceae41
http://crbug.com/54463002
https://chromium.googlesource.com/chromium/blink/+/29476f839a08cb17c5a3fc713f7e454e7cea9c60
http://crbug.com/55853002
https://chromium.googlesource.com/chromium/blink/+/ba2378ef873e786cf2937034e012669cdd37dfe8
http://crbug.com/65343003
https://chromium.googlesource.com/chromium/blink/+/1915b9aa1bba45aebf28531b40ae627ecf9a3d59
http://crbug.com/62833005
https://chromium.googlesource.com/chromium/blink/+/ea46dbd0f1f29779a1cd4f59b19361b803f09a9b
http://crbug.com/64273013
https://chromium.googlesource.com/chromium/blink/+/9eb4bb6b627357bb94d66386a4123ec004cccfc4
http://crbug.com/101513002
https://chromium.googlesource.com/chromium/blink/+/192a843b32eafb77bf92c50ec50d334ba935028a
http://crbug.com/102403002
https://chromium.googlesource.com/chromium/blink/+/15f9efcc952fcf73184e28fb9db79633c1fa6653
http://crbug.com/104443002
https://chromium.googlesource.com/chromium/blink/+/74fd66b451a464683f7cb748855b1740a54b2c16
http://crbug.com/75243004

* media/track/captions-webvtt/tc030-interspersed-non-cue.vtt: Added.
* media/track/track-webvtt-tc027-empty-cue-expected.txt: Mark one test as expected to fail, since
the test (incorrectly) expects to fail on empty cues. The test will be updated in a future patch.
* media/track/track-webvtt-tc030-interspersed-non-cue-expected.txt: Added.
* media/track/track-webvtt-tc030-interspersed-non-cue.html: Added.

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