WebKit-https.git
7 years agoMissing the rename REGISTER_PROCOTOL_HANDLER Macro to NAVIGATOR_CONTENT_UTILS in...
commit-queue@webkit.org [Tue, 30 Jul 2013 16:18:11 +0000 (16:18 +0000)]
Missing the rename REGISTER_PROCOTOL_HANDLER Macro to NAVIGATOR_CONTENT_UTILS in WebKitLibraries.
https://bugs.webkit.org/show_bug.cgi?id=119239

According to "https://bugs.webkit.org/show_bug.cgi?id=94920", REGISTER_PROCOTOL_HANDLER macro was changed to NAVIGATOR_CONTENT_UTILS.
But, FeatureDefines.props and FeatureDefinesCairo.props was not changed.

Patch by Sanghyun Park <sh919.park@samsung.com> on 2013-07-30
Reviewed by Brent Fulgham.

* win/tools/vsprops/FeatureDefines.props:
* win/tools/vsprops/FeatureDefinesCairo.props:

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

7 years ago[GTK] Unreviewed gardening. Update TestExpectations
simon.pena@samsung.com [Tue, 30 Jul 2013 14:12:25 +0000 (14:12 +0000)]
[GTK] Unreviewed gardening. Update TestExpectations

Some GTK tests are flaky or time out after the FTL merge.

* platform/gtk/TestExpectations:

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

7 years agoWeb Inspector: doesn't use localized user interface at remote inspector
commit-queue@webkit.org [Tue, 30 Jul 2013 13:52:19 +0000 (13:52 +0000)]
Web Inspector: doesn't use localized user interface at remote inspector
https://bugs.webkit.org/show_bug.cgi?id=119252

Patch by Roland Takács <rtakacs@inf.u-szeged.hu> on 2013-07-30
Reviewed by Timothy Hatcher.

Added a flag in order to not use localizedStrings in remote inspector.

* UserInterface/InspectorFrontendHostStub.js:
* UserInterface/LoadLocalizedStrings.js:
* UserInterface/Main.js:
(WebInspector.UIString):

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

7 years ago[EFL] REGRESSION after r153439: layout tests do not run.
ch.dumez@sisa.samsung.com [Tue, 30 Jul 2013 13:51:25 +0000 (13:51 +0000)]
[EFL] REGRESSION after r153439: layout tests do not run.
https://bugs.webkit.org/show_bug.cgi?id=119240

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-07-30
Reviewed by Christophe Dumez.

Changed attribute name from check_xvfb to check_driver.

* Scripts/webkitpy/port/efl.py:
(EflPort.check_sys_deps):

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

7 years agoRemove using namespace std from SpatialNavigation
kseo@webkit.org [Tue, 30 Jul 2013 13:49:06 +0000 (13:49 +0000)]
Remove using namespace std from SpatialNavigation
https://bugs.webkit.org/show_bug.cgi?id=119242

Reviewed by Antonio Gomes.

"using namespace" statements in headers are dangerous and should be
avoided. check-webkit-style has been changed to flag them as an error
since r152719. Use explicit std:: qualifiers instead.

No behavior change, no new tests needed.

* page/SpatialNavigation.cpp:
(WebCore::scrollInDirection):
* page/SpatialNavigation.h:
(WebCore::maxDistance):

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

7 years ago[GTK] fast/regions/firstletter-inside-flowthread.html is flaky
commit-queue@webkit.org [Tue, 30 Jul 2013 13:38:20 +0000 (13:38 +0000)]
[GTK] fast/regions/firstletter-inside-flowthread.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=106592

Unreviewed gardening.

Patch by Manuel Rego Casasnovas <rego@igalia.com> on 2013-07-30

* platform/gtk/TestExpectations: Unflag test as it is passing without
problems now.

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

7 years ago[Qt] Workaround to make syncqt run and generate forwarding headers in SVN repositorie...
kadam@inf.u-szeged.hu [Tue, 30 Jul 2013 13:34:05 +0000 (13:34 +0000)]
[Qt] Workaround to make syncqt run and generate forwarding headers in SVN repositories too.
https://bugs.webkit.org/show_bug.cgi?id=118725.

Reviewed by Tor Arne Vestbø.

* .qmake.conf:

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

7 years agoUnreviewed. Update NEWS and Versions.m4 for 2.1.4 release.
carlosgc@webkit.org [Tue, 30 Jul 2013 13:14:51 +0000 (13:14 +0000)]
Unreviewed. Update NEWS and Versions.m4 for 2.1.4 release.

.:

* Source/autotools/Versions.m4: Bump version numbers.

Source/WebKit/gtk:

* NEWS: Added release notes for 2.1.4.

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

7 years ago[Mac] can-read-in-dragstart-event.html and can-read-in-copy-and-cut-events.html fail
graouts@apple.com [Tue, 30 Jul 2013 12:12:59 +0000 (12:12 +0000)]
[Mac] can-read-in-dragstart-event.html and can-read-in-copy-and-cut-events.html fail
https://bugs.webkit.org/show_bug.cgi?id=113094

The test can-read-in-copy-and-cut-events.html now passes on mac-wk2.

* platform/mac/TestExpectations:

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

7 years ago[Qt][Win] Extend disabling of whole-program-optimizations to MSVC 2012
hausmann@webkit.org [Tue, 30 Jul 2013 12:01:00 +0000 (12:01 +0000)]
[Qt][Win] Extend disabling of whole-program-optimizations to MSVC 2012
https://bugs.webkit.org/show_bug.cgi?id=119238

Reviewed by Jocelyn Turcotte.

As suggested in https://bugreports.qt-project.org/browse/QTBUG-20556,
the WebKit build with MSVC 2012 is affected by the same size
limitations.

* WebCore.pri:

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

7 years agoMark compositing/patterns tests as passing for mac-wk2
graouts@apple.com [Tue, 30 Jul 2013 11:42:00 +0000 (11:42 +0000)]
Mark compositing/patterns tests as passing for mac-wk2
https://bugs.webkit.org/show_bug.cgi?id=119246

These tests run fine on WK2.

* platform/mac-wk2/TestExpectations:

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

7 years agoREGRESSION: iframes with composited contents are not transparent in WK1
graouts@apple.com [Tue, 30 Jul 2013 11:23:30 +0000 (11:23 +0000)]
REGRESSION: iframes with composited contents are not transparent in WK1
https://bugs.webkit.org/show_bug.cgi?id=76478

Unskip these tests since the root cause has been fixed long ago already.

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

7 years agoREGRESION(r151091) ASSERTION FAILED: m_readableData || m_writableData
allan.jensen@digia.com [Tue, 30 Jul 2013 11:14:26 +0000 (11:14 +0000)]
REGRESION(r151091) ASSERTION FAILED: m_readableData || m_writableData
https://bugs.webkit.org/show_bug.cgi?id=119142

Reviewed by Jocelyn Turcotte.

Remove invalid assert.

Covered by existing tests.

* platform/qt/PasteboardQt.cpp:
(WebCore::Pasteboard::readData):

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

7 years agoUnreviewed. Fix make distcheck.
carlosgc@webkit.org [Tue, 30 Jul 2013 06:42:00 +0000 (06:42 +0000)]
Unreviewed. Fix make distcheck.

Source/JavaScriptCore:

* GNUmakefile.list.am: Add missing files to compilation.
* bytecode/CodeBlock.cpp: Add a ENABLE(FTL_JIT) #if block to
include FTL header files not included in the compilation.
* dfg/DFGDriver.cpp: Ditto.
* dfg/DFGPlan.cpp: Ditto.

Source/ThirdParty/ANGLE:

* GNUmakefile.am: Add missing header files to compilation.

Source/WebCore:

* GNUmakefile.list.am: Add missing header file to compilation.

Source/WebKit2:

* GNUmakefile.list.am: Add missing header file to compilation.

Source/WTF:

* GNUmakefile.list.am: Add missing files to compilation.

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

7 years ago[wk2] Flush the WebProcess’ implicit transaction when using endDeferringViewInWindowC...
timothy_horton@apple.com [Tue, 30 Jul 2013 04:45:06 +0000 (04:45 +0000)]
[wk2] Flush the WebProcess’ implicit transaction when using endDeferringViewInWindowChangesSync
https://bugs.webkit.org/show_bug.cgi?id=119225
<rdar://problem/14568841>

Reviewed by Simon Fraser.

Tell CoreAnimation to flush the implicit transaction before replying
when using endDeferringViewInWindowChangesSync, as that method's contract
is that the WebProcess is totally ready to be in-window when it returns.

* UIProcess/API/mac/WKView.mm:
(-[WKView endDeferringViewInWindowChanges]):
Adopt viewInWindowStateDidChange.

(-[WKView endDeferringViewInWindowChangesSync]):
Adopt viewInWindowStateDidChange, asking it to send a reply only if we're going to wait for one.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::viewInWindowStateDidChange):
(WebKit::WebPageProxy::viewStateDidChange):
Pull viewInWindowStateDidChange out of viewStateDidChange.
Request a reply from SetIsInWindow if we're told to.

* UIProcess/WebPageProxy.h: Add WantsReplyOrNot and viewInWindowStateDidChange.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didUpdateInWindowStateTimerFired):
Don't build this version on Mac, we'll have a WebPageMac version.

(WebKit::WebPage::setIsInWindow):
Only start the timer to send the didUpdateInWindowState reply if we're asked to.

* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
Add an argument to the SetIsInWindow message for whether the WebProcess
should inform the UIProcess when SetIsInWindow completes or not.

* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::didUpdateInWindowStateTimerFired):
Tell CA to flush the implicit transaction before telling the UIProcess that
we're finished moving in-window.

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

7 years agoEager stack trace for error objects.
commit-queue@webkit.org [Tue, 30 Jul 2013 04:33:35 +0000 (04:33 +0000)]
Eager stack trace for error objects.
https://bugs.webkit.org/show_bug.cgi?id=118918

Source/JavaScriptCore:

Patch by Chris Curtis <chris_curtis@apple.com> on 2013-07-29
Reviewed by Geoffrey Garen.

Chrome and Firefox give error objects the stack property and we wanted to match
that functionality. This allows developers to see the stack without throwing an object.

* runtime/ErrorInstance.cpp:
(JSC::ErrorInstance::finishCreation):
 For error objects that are not thrown as an exception, we pass the stackTrace in
 as a parameter. This allows the error object to have the stack property.

* interpreter/Interpreter.cpp:
(JSC::stackTraceAsString):
Helper function used to eliminate duplicate code.

(JSC::Interpreter::addStackTraceIfNecessary):
When an error object is created by the user the vm->exceptionStack is not set.
If the user throws this error object later the stack that is in the error object
may not be the correct stack for the throw, so when we set the vm->exception stack,
the stack property on the error object is set as well.

* runtime/ErrorConstructor.cpp:
(JSC::constructWithErrorConstructor):
(JSC::callErrorConstructor):
* runtime/NativeErrorConstructor.cpp:
(JSC::constructWithNativeErrorConstructor):
(JSC::callNativeErrorConstructor):
These functions indicate that the user created an error object. For all error objects
that the user explicitly creates, the topCallFrame is at a new frame created to
handle the user's call. In this case though, the error object needs the caller's
frame to create the stack trace correctly.

* interpreter/Interpreter.h:
* runtime/ErrorInstance.h:
(JSC::ErrorInstance::create):

LayoutTests:

Patch by Chris Curtis <chris_curtis@apple.com> on 2013-07-29
Reviewed by Geoffrey Garen.

Added tests to ensure that the stack property was present at creation for all
error Objects. This test will fail without this patch.

* fast/js/script-tests/stack-at-creation-for-error-objects.js: Added.
(checkStack):
* fast/js/stack-at-creation-for-error-objects-expected.txt: Added.
* fast/js/stack-at-creation-for-error-objects.html: Added.

* inspector/console/console-format-expected.txt:
* inspector/console/console-format.html:
This test was modified by removing the error object from being evaluated. Prior to this patch
error objects did not have the stack property, so the stack information was not being
displayed. The stack trace includes a file path specific to the machine that is running
the test. The results would have differed from one computer to the next. There
is not an easy way to capture the error object to treat it differently. By removing
the error object there is no need to add extra code to treat it differently.
Also there are other tests inside inspector/console that test the  stack trace,
so the testing suite does not lose error testing by removing it.

The .stack property was added to the error objects at creation time.
* fast/js/exception-properties-expected.txt:
* fast/js/script-tests/exception-properties.js:

The column numbers are modified in the following test. When error objects are explicitly
invoked, the column number points to the beginning "(" instead of end ")".
Functionality between browsers do not match either. Firefox does not output column
numbers. Chrome points columns numbers to the beginning of the "new" call.

* fast/js/line-column-numbers-expected.txt:
* fast/js/stack-trace-expected.txt:

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

7 years ago[Gtk] Improve string use in PasteboardGtk
kseo@webkit.org [Tue, 30 Jul 2013 04:14:22 +0000 (04:14 +0000)]
[Gtk] Improve string use in PasteboardGtk
https://bugs.webkit.org/show_bug.cgi?id=119204

Reviewed by Martin Robinson.

Use emptyString() instead of "" and use ASCIILiteral where appropriate.

No behavior change, no new tests needed.

* platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::documentFragment):
Use emptyString() instead of "".
(WebCore::Pasteboard::types):
Use ASCIILiteral where appropriate.

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

7 years ago<rdar://problem/14528244> Tons of FastMalloc leaks reported by leaks of objects that...
mrowe@apple.com [Tue, 30 Jul 2013 03:33:57 +0000 (03:33 +0000)]
<rdar://problem/14528244> Tons of FastMalloc leaks reported by leaks of objects that have already been deallocated

Reviewed by Sam Weinig.

* wtf/FastMalloc.cpp:
(WTF::TCMalloc_Central_FreeList::enumerateFreeObjects): Mark objects in the transfer cache as being free.

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

7 years agoSome cleanup in PropertySlot
barraclough@apple.com [Tue, 30 Jul 2013 01:15:18 +0000 (01:15 +0000)]
Some cleanup in PropertySlot
https://bugs.webkit.org/show_bug.cgi?id=119189

Reviewed by Geoff Garen.

PropertySlot represents a property in one of four states - value, getter, custom, or custom-index.
The state is currently tracked redundantly by two mechanisms - the custom getter function (m_getValue)
is set to a special value to indicate the type (other than custom), and the type is also tracked by
an enum - but only if cacheable. Cacheability can typically be determined by the value of m_offset
(this is invalidOffset if not cacheable).

    * Internally, always track the type of the property using an enum value, PropertyType.
    * Use m_offset to indicate cacheable.
    * Keep the external interface (CachedPropertyType) unchanged.
    * Better pack data into the m_data union.

Performance neutral.

* dfg/DFGRepatch.cpp:
(JSC::DFG::tryCacheGetByID):
(JSC::DFG::tryBuildGetByIDList):
    - cachedPropertyType() -> isCacheable*()
* jit/JITPropertyAccess.cpp:
(JSC::JIT::privateCompileGetByIdProto):
(JSC::JIT::privateCompileGetByIdSelfList):
(JSC::JIT::privateCompileGetByIdProtoList):
(JSC::JIT::privateCompileGetByIdChainList):
(JSC::JIT::privateCompileGetByIdChain):
    - cachedPropertyType() -> isCacheable*()
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::privateCompileGetByIdProto):
(JSC::JIT::privateCompileGetByIdSelfList):
(JSC::JIT::privateCompileGetByIdProtoList):
(JSC::JIT::privateCompileGetByIdChainList):
(JSC::JIT::privateCompileGetByIdChain):
    - cachedPropertyType() -> isCacheable*()
* jit/JITStubs.cpp:
(JSC::tryCacheGetByID):
    - cachedPropertyType() -> isCacheable*()
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
    - cachedPropertyType() -> isCacheable*()
* runtime/PropertySlot.cpp:
(JSC::PropertySlot::functionGetter):
    - refactoring described above.
* runtime/PropertySlot.h:
(JSC::PropertySlot::PropertySlot):
(JSC::PropertySlot::getValue):
(JSC::PropertySlot::isCacheable):
(JSC::PropertySlot::isCacheableValue):
(JSC::PropertySlot::isCacheableGetter):
(JSC::PropertySlot::isCacheableCustom):
(JSC::PropertySlot::cachedOffset):
(JSC::PropertySlot::customGetter):
(JSC::PropertySlot::setValue):
(JSC::PropertySlot::setCustom):
(JSC::PropertySlot::setCacheableCustom):
(JSC::PropertySlot::setCustomIndex):
(JSC::PropertySlot::setGetterSlot):
(JSC::PropertySlot::setCacheableGetterSlot):
(JSC::PropertySlot::setUndefined):
(JSC::PropertySlot::slotBase):
(JSC::PropertySlot::setBase):
    - refactoring described above.

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

7 years agoPage count can be incorrect if there is a pending style recalc
simon.fraser@apple.com [Tue, 30 Jul 2013 01:06:27 +0000 (01:06 +0000)]
Page count can be incorrect if there is a pending style recalc
https://bugs.webkit.org/show_bug.cgi?id=119232

Reviewed by Beth Dakin.

If style is changed in a way that schedules a style recalc on the Document,
and then Page::pageCount() is called, we may give the wrong answer because
the existing code only checked FrameView::needsLayout(), not whether a style
recale was pending.

Fix by having Page::pageCount() call updateLayoutIgnorePendingStylesheets()
as we do for other properties that require layer, and are exposed to JS
or via API.

* page/Page.cpp:
(WebCore::Page::pageCount):

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

7 years agoMoved GLContext.cpp and .h out of cairo directory to be used by non-cairo ports.
achristensen@apple.com [Tue, 30 Jul 2013 00:25:33 +0000 (00:25 +0000)]
Moved GLContext.cpp and .h out of cairo directory to be used by non-cairo ports.
https://bugs.webkit.org/show_bug.cgi?id=119223

Reviewed by Kenneth Rohde Christiansen.

* GNUmakefile.list.am:
* PlatformGTK.cmake:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
Changed location of GLContext.cpp and GLContext.h.
* platform/graphics/GLContext.cpp: Copied from WebCore/platform/graphics/cairo/GLContext.cpp.
* platform/graphics/GLContext.h: Copied from WebCore/platform/graphics/cairo/GLContext.h.
* platform/graphics/cairo/GLContext.cpp: Removed.
* platform/graphics/cairo/GLContext.h: Removed.

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

7 years agoNull deref under PluginView::handlesPageScaleFactor()
timothy_horton@apple.com [Tue, 30 Jul 2013 00:20:03 +0000 (00:20 +0000)]
Null deref under PluginView::handlesPageScaleFactor()
https://bugs.webkit.org/show_bug.cgi?id=119231
<rdar://problem/14440207>

Reviewed by Simon Fraser.

* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::handlesPageScaleFactor):
* WebProcess/Plugins/PluginView.h:
Null-check m_plugin and check m_isInitialized.
Make pageScaleFactor() and handlesPageScaleFactor const.

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

7 years agoTextTrackRepresentation captions often disappear then appear again.
jer.noble@apple.com [Tue, 30 Jul 2013 00:15:43 +0000 (00:15 +0000)]
TextTrackRepresentation captions often disappear then appear again.
https://bugs.webkit.org/show_bug.cgi?id=119228

Reviewed by Simon Fraser.

Calling updateTextTrackDisplay() will cause the entire DOM subtree containing the active cues
to be torn down and rebuilt. Only call into this method when text tracks have actually changed.

Add an enum parameter to configureTextTrackDisplay() which allows the caller to specify that
method should assume that the list of visible text tracks has changed, forcing a call to
updateTextTrackDisplay().

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::updateActiveTextTrackCues): Remove the unnecessary call to updateTextTrackDisplay().
(WebCore::HTMLMediaElement::textTrackModeChanged): Pass AssumeVisibleTextTracksChanged to configureTextTrackDisplay().
(WebCore::HTMLMediaElement::configureTextTrackDisplay): Check the passed flags and exit early only if
    AssumeVisibleTextTracksChanged is not set.
* html/HTMLMediaElement.h:

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

7 years agoFix crash due to unexpected Node deletion during MutationObserver registration book...
rniwa@webkit.org [Tue, 30 Jul 2013 00:12:02 +0000 (00:12 +0000)]
Fix crash due to unexpected Node deletion during MutationObserver registration book-keeping
https://bugs.webkit.org/show_bug.cgi?id=119124

Reviewed by Sam Weinig.

Merge https://chromium.googlesource.com/chromium/blink/+/b6afb927695b3acf2c75c25f05e99682660993e2

No new tests since I could not reproduce the crash with the test attached in the Blink change.

The bug was caused by Node::unregisterMutationObserver removing the MutationObserverRegistration
that holds the last ref to the node. Avoid that by explicitly allocating a local RefPtr to the node
in MutationObserverRegistration::unregister. Also rename it to unregisterAndDelete to clarify
the semantics and make it a static member function to be even safer.

* dom/MutationObserver.cpp:
(WebCore::MutationObserver::disconnect):
* dom/MutationObserverRegistration.cpp:
(WebCore::MutationObserverRegistration::unregisterAndDelete):
* dom/MutationObserverRegistration.h:

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

7 years agoUnreviewed, rolling out r152860.
commit-queue@webkit.org [Mon, 29 Jul 2013 23:00:54 +0000 (23:00 +0000)]
Unreviewed, rolling out r152860.
http://trac.webkit.org/changeset/152860
https://bugs.webkit.org/show_bug.cgi?id=119227

Disable WinEWS tests until tests stop crashing (Requested by
rfong on #webkit).

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

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

7 years agoMoved GLTransportSurface.h and .cpp out of efl-specific directory.
achristensen@apple.com [Mon, 29 Jul 2013 22:40:12 +0000 (22:40 +0000)]
Moved GLTransportSurface.h and .cpp out of efl-specific directory.
https://bugs.webkit.org/show_bug.cgi?id=119163

Reviewed by Alexis Menard.

* PlatformEfl.cmake: Changed directory of GLTransportSurface.cpp.
* platform/graphics/surfaces/GLTransportSurface.cpp: Copied from WebCore/platform/graphics/surfaces/efl/GLTransportSurface.cpp.
* platform/graphics/surfaces/GLTransportSurface.h: Copied from WebCore/platform/graphics/surfaces/efl/GLTransportSurface.h.
* platform/graphics/surfaces/efl/GLTransportSurface.cpp: Removed.
* platform/graphics/surfaces/efl/GLTransportSurface.h: Removed.

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

7 years agoSpeculative implementation of missing GraphicsContext3D methods on Windows.
achristensen@apple.com [Mon, 29 Jul 2013 21:25:33 +0000 (21:25 +0000)]
Speculative implementation of missing GraphicsContext3D methods on Windows.
https://bugs.webkit.org/show_bug.cgi?id=119167

Reviewed by Dean Jackson.

* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* platform/graphics/win/GraphicsContext3DWin.cpp: Added.
(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
(WebCore::GraphicsContext3D::create):
(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::~GraphicsContext3D):
(WebCore::GraphicsContext3D::setContextLostCallback):
(WebCore::GraphicsContext3D::setErrorMessageCallback):
(WebCore::GraphicsContext3D::makeContextCurrent):
(WebCore::GraphicsContext3D::platformGraphicsContext3D):
(WebCore::GraphicsContext3D::platformTexture):
(WebCore::GraphicsContext3D::isGLES2Compliant):
(WebCore::GraphicsContext3D::platformLayer):

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

7 years agoReintroduce convenience CheckedInt*, CheckedUint* types
zandobersek@gmail.com [Mon, 29 Jul 2013 20:10:27 +0000 (20:10 +0000)]
Reintroduce convenience CheckedInt*, CheckedUint* types
https://bugs.webkit.org/show_bug.cgi?id=119213

Reviewed by Oliver Hunt.

Reintroduce CheckedInt* and CheckedUint* types that were previously provided for convenience
through the CheckedInt header that was removed in r153095. The types are now based on the
Checked class, using the RecordOverflow class as the overflow handler.

* wtf/CheckedArithmetic.h:

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

7 years ago[GTK] Add WestonDriver, use it when appropriate
zandobersek@gmail.com [Mon, 29 Jul 2013 20:09:26 +0000 (20:09 +0000)]
[GTK] Add WestonDriver, use it when appropriate
https://bugs.webkit.org/show_bug.cgi?id=119100

Reviewed by Dirk Pranke.

Introduce the WestonDriver, a Driver-implementing class that sets up an instance of Weston, the Wayland compositor,
and sets up an environment that enables the test runner to run inside it.

The design very much mimics the XvfbDriver class. It is currently used by the GTK port when the WAYLAND_DISPLAY
environment variable is set, that is when NRWT is being run under a Wayland display.

* Scripts/webkitpy/port/base.py:
(Port.to.setup_environ_for_server): Also copy the XDG_RUNTIME_DIR env from the original environment for Linux-using ports.
* Scripts/webkitpy/port/gtk.py:
(GtkPort):
(GtkPort._driver_class): Make the method memoized - the display type is not going to change during the testing, so we
should only check once for the presence of the WAYLAND_DISPLAY env and determine the proper driver class to use based on that.
(GtkPort.check_sys_deps): Call the static check_driver method on the class as returned by the _driver_class method
instead of hard-coding the XvfbDriver class in the check.
* Scripts/webkitpy/port/westondriver.py: Added.
(WestonDriver):
(WestonDriver.check_driver): Similarly to XvfbDriver, this checks for existance of the weston executable.
(WestonDriver.__init__): Again, like in XvfbDriver, we use a small delay between launching the Weston display and launching the driver.
(WestonDriver._start): Sets up the driver-specific temporary directory, launches the Weston display, sets up the environment for the
driver and then launches the driver in said environment, using the driver's Weston display.
(WestonDriver.stop): Cleans up the Weston instance and the temporary directory.
(WestonDriver._ensure_driver_tmpdir_subdirectory): A helper function that creates a subdirectory in the driver's temporary directory
and returns the absolute path to it.
* Scripts/webkitpy/port/xvfbdriver.py:
(XvfbDriver.check_driver): Renamed from check_xvfb.
(XvfbDriver._start): Access the FileSystem object through the Port's Host object, instead of the Port's private member.

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

7 years agoMax IOSurfaceDimension should be an inclusive upper bound
dino@apple.com [Mon, 29 Jul 2013 19:25:17 +0000 (19:25 +0000)]
Max IOSurfaceDimension should be an inclusive upper bound
https://bugs.webkit.org/show_bug.cgi?id=119206
<rdar://problem/14555311>

Reviewed by Simon Fraser.

The maxIOSurfaceDimension value should be an inclusive upper bound.
Change the greater than or equal to into a greater than. This will
allow canvas elements of this dimension to be accelerated.

* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::ImageBuffer): Change >= to >

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

7 years ago[CSS Shapes] New positioning model: update percentage rectangle and inset rectangle...
commit-queue@webkit.org [Mon, 29 Jul 2013 19:20:24 +0000 (19:20 +0000)]
[CSS Shapes] New positioning model: update percentage rectangle and inset rectangle tests
https://bugs.webkit.org/show_bug.cgi?id=118086

Patch by Bem Jones-Bey <bjonesbe@adobe.com> on 2013-07-29
Reviewed by Dirk Schulze.

Update percentage based tests to work with the new positioning model.
Also move the tests to be W3C spec tests, so they have been impored
back here from the CSSWG repo.

* TestExpectations: Remove skipping for replaced tests.
* csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-003-expected.html: Added.
* csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-003.html: Added.
* csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-004-expected.html: Added.
* csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-004.html: Added.
* csswg/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-002-expected.html: Added.
* csswg/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-002.html: Added.
* csswg/submitted/shapes/shape-outside/w3c-import.log:
* fast/shapes/shape-outside-floats/shape-outside-floats-simple-inset-rectangle-percentage-expected.html: Removed.
* fast/shapes/shape-outside-floats/shape-outside-floats-simple-inset-rectangle-percentage.html: Removed.
* fast/shapes/shape-outside-floats/shape-outside-floats-simple-rectangle-percentage-expected.html: Removed.
* fast/shapes/shape-outside-floats/shape-outside-floats-simple-rectangle-percentage.html: Removed.

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

7 years agoSource/ThirdParty/ANGLE: Separated translator into preprocessor, translator_common,
achristensen@apple.com [Mon, 29 Jul 2013 18:51:55 +0000 (18:51 +0000)]
Source/ThirdParty/ANGLE: Separated translator into preprocessor, translator_common,
translator_hlsl (for libGLESv2), and translator_glsl
(for ANGLEWebKitBridge).
https://bugs.webkit.org/show_bug.cgi?id=119221

Reviewed by Brent Fulgham.

* ANGLE.vcxproj/ANGLEGenerated.vcxproj:
Removed unused preprocessor definitions.
* ANGLE.vcxproj/libEGL.vcxproj:
* ANGLE.vcxproj/libGLESv2.vcxproj:
Removed dependency on removed translator project.
* ANGLE.vcxproj/libGLESv2Common.props:
Link to translator_hlsl libraries.
* ANGLE.vcxproj/preprocessor.vcxproj: Added.
* ANGLE.vcxproj/preprocessor.vcxproj.filters: Added.
* ANGLE.vcxproj/translator.vcxproj: Removed.
* ANGLE.vcxproj/translator.vcxproj.filters: Removed.
* ANGLE.vcxproj/translator_common.vcxproj: Added.
* ANGLE.vcxproj/translator_common.vcxproj.filters: Added.
* ANGLE.vcxproj/translator_glsl.vcxproj: Added.
* ANGLE.vcxproj/translator_glsl.vcxproj.filters: Added.
* ANGLE.vcxproj/translator_hlsl.vcxproj: Added.
* ANGLE.vcxproj/translator_hlsl.vcxproj.filters: Added.

Source/WebKit: Separated translator into preprocessor, translator_common,
translator_hlsl (for libGLESv2), and translator_glsl (for ANGLEWebKitBridge).
These projects are still not built by default.
https://bugs.webkit.org/show_bug.cgi?id=119221

Reviewed by Brent Fulgham.

* WebKit.vcxproj/WebKit.sln:
Added separate ANGLE translator projects.

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

7 years ago[ATK] Implement attributesOfChildren() for AccessibilityUIElement
mario@webkit.org [Mon, 29 Jul 2013 18:26:52 +0000 (18:26 +0000)]
[ATK] Implement attributesOfChildren() for AccessibilityUIElement
https://bugs.webkit.org/show_bug.cgi?id=118967

Reviewed by Gustavo Noronha Silva.

Tools:

Implemented AccessibilityUIElement::attributesOfChildren() both
in DumpRenderTree and the WebKitTestRunner.

* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
(AccessibilityUIElement::attributesOfChildren): Implemented.

* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::attributesOfChildren): Implemented.

LayoutTests:

Removed fixed tests from TestExpectations and added/updated expected
results for tests that are now dumping more useful information.

* platform/gtk/TestExpectations: Removed three fixed tests.
* platform/gtk/accessibility/image-map2-expected.txt: Updated.
* platform/gtk/accessibility/lists-expected.txt: Added.
* platform/gtk/accessibility/plugin-expected.txt: Added.
* platform/gtk/accessibility/table-with-aria-role-expected.txt: Added.

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

7 years agoRemove setUnderlayPage() and associated code
andersca@apple.com [Mon, 29 Jul 2013 18:10:32 +0000 (18:10 +0000)]
Remove setUnderlayPage() and associated code
https://bugs.webkit.org/show_bug.cgi?id=119220
<rdar://problem/14392426>

Reviewed by Jessie Berlin.

This is dead code, get rid of it.

* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
* WebProcess/InjectedBundle/API/c/WKBundlePage.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::close):
(WebKit::WebPage::layoutIfNeeded):
(WebKit::WebPage::drawRect):
* WebProcess/WebPage/WebPage.h:

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

7 years agoASSERT_NOT_REACHED was touched in WebCore::SVGAnimatedType::valueAsString
reni@webkit.org [Mon, 29 Jul 2013 17:45:51 +0000 (17:45 +0000)]
ASSERT_NOT_REACHED was touched in WebCore::SVGAnimatedType::valueAsString
https://bugs.webkit.org/show_bug.cgi?id=118744

Reviewed by Philip Rogers.

Source/WebCore:

If we have an <animateTransform> tag that sets the attributeName and attributeType
properties however they are not consistent and we shouldn't try to apply it.
It is already checked and catched in SVGAnimateElement::resetAnimatedType() but
DontApplyAnimation case isn't handled properly. The patch forces an early return
in this case.

Test: svg/animations/attributeNameAndAttributeTypeMissmatch.svg

* svg/SVGAnimateElement.cpp:
(WebCore::SVGAnimateElement::resetAnimatedType):

LayoutTests:

Adding test to check whether attributeName and attributeType are consistent in <animateTransform>.

* platform/qt/svg/animations/attributeNameAndAttributeTypeMissmatch-expected.txt: Added.
* svg/animations/attributeNameAndAttributeTypeMissmatch.svg: Added.

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

7 years ago[ATK] Implement allAttributes() for AccessibilityUIElement
mario@webkit.org [Mon, 29 Jul 2013 17:16:25 +0000 (17:16 +0000)]
[ATK] Implement allAttributes() for AccessibilityUIElement
https://bugs.webkit.org/show_bug.cgi?id=118966

Reviewed by Gustavo Noronha Silva.

Tools:

Implemented AccessibilityUIElement::allAttributes() both in
DumpRenderTree and the WebKitTestRunner.

* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
(getAtkAttributeSetAsString): Moved up in the file, and refactored
to use StringBuilder and return a String instead of a gchar*.
(roleToString): Changed not to return the "AXRole: " prefix, so
we can use it as well from attributesOfElement().
(attributesOfElement): New function to dump attributes for an object.
(AccessibilityUIElement::allAttributes): Call attributesOfElement().
(AccessibilityUIElement::role): Updated to prefix "AXRole: ".

* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(getAtkAttributeSetAsString): Refactored to use StringBuilder and return
a String instead of a gchar*.

(WTF::roleToString): Changed not to return the "AXRole: " prefix,
so we can use it as well from attributesOfElement().
(WTF::attributesOfElement): New function to dump attributes for an object.
(WTR::AccessibilityUIElement::allAttributes): Call attributesOfElement().
(WTR::AccessibilityUIElement::role): Updated to prefix "AXRole: ".

LayoutTests:

Removed fixed tests from TestExpectations and added/updated expected
results for tests that are now dumping more useful information.

* platform/gtk/TestExpectations: Removed four fixed tests.
* platform/gtk/accessibility/image-link-expected.txt: Updated.
* platform/gtk/accessibility/table-cell-spans-expected.txt: Updated
* platform/gtk/accessibility/table-cells-expected.txt: Updated
* platform/gtk/accessibility/table-detection-expected.txt: Added.
* platform/gtk/accessibility/table-one-cell-expected.txt: Added.
* platform/gtk/accessibility/table-with-rules-expected.txt: Added.
* platform/gtk/accessibility/transformed-element-expected.txt: Added.

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

7 years agoREGRESSION(148300) GIFs not reanimated after resumeActiveDOMObjectAndAnimations
allan.jensen@digia.com [Mon, 29 Jul 2013 17:10:31 +0000 (17:10 +0000)]
REGRESSION(148300) GIFs not reanimated after resumeActiveDOMObjectAndAnimations
https://bugs.webkit.org/show_bug.cgi?id=119217

Reviewed by Tim Horton.

Commit 148300 introduced a new better was of restarting GIF animations after
they have been suspended. Unfortunately the method was not activated when a page
is resumed but only when it is returning from background.

This fixes GIF animations that are stopped during user interaction on Qt and other
platforms using suspendActiveDOMObjectAndAnimations.

* page/Frame.cpp:
(WebCore::Frame::resumeActiveDOMObjectsAndAnimations):

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

7 years agoAdd support infrastructure for iOS WebKit port
dbates@webkit.org [Mon, 29 Jul 2013 16:35:34 +0000 (16:35 +0000)]
Add support infrastructure for iOS WebKit port
https://bugs.webkit.org/show_bug.cgi?id=119168

Reviewed by Ryosuke Niwa.

Implement support infrastructure towards building iOS WebKit.

* Scripts/webkitdirs.pm:
(xcodeSDKPlatformName): Added.
(determineConfigurationProductDir):
(builtDylibPathForName):
(willUseIOSDeviceSDKWhenBuilding): Added.
(willUseIOSSimulatorSDKWhenBuilding): Added.
(isIOSWebKit): Added.
(copyInspectorFrontendFiles):

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

7 years agoMade EGL useable by non-cairo ports.
achristensen@apple.com [Mon, 29 Jul 2013 16:34:47 +0000 (16:34 +0000)]
Made EGL useable by non-cairo ports.
https://bugs.webkit.org/show_bug.cgi?id=119177

Reviewed by Brent Fulgham.

* platform/graphics/cairo/GLContext.h:
* platform/graphics/egl/GLContextEGL.cpp:
(WebCore::GLContextEGL::GLContextEGL):
* platform/graphics/egl/GLContextEGL.h:
Protected Cairo-specific code with #if USE(CAIRO)

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

7 years agoCoordinatedGraphics: Add API to get and set the active state of a WebView
commit-queue@webkit.org [Mon, 29 Jul 2013 16:25:08 +0000 (16:25 +0000)]
CoordinatedGraphics: Add API to get and set the active state of a WebView
https://bugs.webkit.org/show_bug.cgi?id=119067

Patch by Sergio Correia <sergio.correia@openbossa.org> on 2013-07-29
Reviewed by Noam Rosenthal.

Source/WebCore:

Added a method to return whether a scene is active or not.

No new tests, no behavior change.

* platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
(WebCore::CoordinatedGraphicsScene::isActive): Added method to return the
active state of the scene.

Source/WebKit2:

A view being in the "active" state generally means that it is not in the
"background", although this definition can vary depending on the platform
under consideration.

This patch adds the following APIs to WKView:
- bool WKViewIsActive(WKViewRef)
This API accepts a WKViewRef as parameter and returns a boolean indicating
whether the given view is active.

- void WKViewSetIsActive(WKViewRef, bool)
This API accepts a WKViewRef and a boolean as parameteres, and it sets the
active state of the given view to the given boolean argument.

* UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
(WKViewIsActive): API added.
(WKViewSetIsActive): Ditto.
* UIProcess/API/C/CoordinatedGraphics/WKView.h: Export aforementioned API.
* UIProcess/CoordinatedGraphics/WebView.cpp:
(WebKit::WebView::initialize): Use new setActive method.
(WebKit::WebView::setActive): Added method to set the active state of the
view.
(WebKit::WebView::isActive): Added method to return the active state of
view.
(WebKit::WebView::enterAcceleratedCompositingMode): Use new setActive
method.
(WebKit::WebView::exitAcceleratedCompositingMode): Ditto.
* UIProcess/CoordinatedGraphics/WebView.h: Added declarations of isActive
and setActive.

Tools:

Added API tests for WKViewIsActive and WKViewSetIsActive.

* TestWebKitAPI/PlatformEfl.cmake:
* TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewIsActiveSetIsActive.cpp: Added.
(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::webProcessCrashed):
(TestWebKitAPI::webProcessRelaunched):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewIsActiveSetIsActive_Bundle.cpp:
Bundle added to allow crashing the WebProcess and testing the active state of a view
under such condition.
(TestWebKitAPI::WKViewIsActiveSetIsActiveTest::WKViewIsActiveSetIsActiveTest):
(TestWebKitAPI::WKViewIsActiveSetIsActiveTest::didReceiveMessage):

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

7 years ago[ATK] Issues with edge cases when getting offsets for a text range in AtkText
mario@webkit.org [Mon, 29 Jul 2013 15:46:35 +0000 (15:46 +0000)]
[ATK] Issues with edge cases when getting offsets for a text range in AtkText
https://bugs.webkit.org/show_bug.cgi?id=118908

Reviewed by Martin Robinson.

Source/WebCore:

Reimplement getSelectionOffsetsForObject() just in term of
Positions instead of using ranges, which makes it simpler and
works better. Also, make sure we use the right Node as reference
for the accessibility object by getting the proper one both for
text control objects (e.g. input, text area) and normal ones.

* accessibility/atk/WebKitAccessibleInterfaceText.cpp:
(getNodeForAccessibilityObject): New helper function to ensure we
always get the relevant object from the DOM tree for a given
accessibility object, in the context of the implementation of
AtkText, so it works both with Text Controls and other elements.
(getSelectionOffsetsForObject): Rewritten this function in terms
of VisiblePositions and avoiding weird operations with ranges, so
we have more control to fine tune the results and give more
accurate ones. Besides, now it works better with edge cases.

Source/WebKit/gtk:

* tests/testatk.c:
(runGetTextTests): Updated unit tests to check more cases of
calling the atk_text_get_text_*_offset() functions for WORD.

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

7 years agoRemove duplicated LayerTreeHost::supportsAcceleratedCompositing
commit-queue@webkit.org [Mon, 29 Jul 2013 15:36:54 +0000 (15:36 +0000)]
Remove duplicated LayerTreeHost::supportsAcceleratedCompositing
https://bugs.webkit.org/show_bug.cgi?id=118949

Patch by Jae Hyun Park <jae.park@company100.net> on 2013-07-29
Reviewed by Noam Rosenthal.

* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
* WebProcess/WebPage/LayerTreeHost.h:
(WebKit::LayerTreeHost::supportsAcceleratedCompositing):

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

7 years agofast/spatial-navigation test fail on mac-wk2
graouts@apple.com [Mon, 29 Jul 2013 15:30:56 +0000 (15:30 +0000)]
fast/spatial-navigation test fail on mac-wk2
https://bugs.webkit.org/show_bug.cgi?id=96438

This test now passes on Mac so we don't need to skip it any longer.

Reviewed by Antonio Gomes.

* platform/mac/TestExpectations:

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

7 years agoClean up DragImage
zandobersek@gmail.com [Mon, 29 Jul 2013 14:37:40 +0000 (14:37 +0000)]
Clean up DragImage
https://bugs.webkit.org/show_bug.cgi?id=118981

Reviewed by Anders Carlsson.

* dom/Clipboard.h: Add forward declaration for the Range class. This was not necessary until now as the forward
declaration was introduced in the DragImage header, from where it's being removed due to not being required in that class.
* page/Frame.h: Ditto.
* platform/DragImage.cpp: Remove the unnecessary DragController and FontRenderingMode header inclusions.
The latter is already included in the header.
* platform/DragImage.h: Remove the forward declaration for the Range class - it's not used by the DragImage class at all.

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

7 years agoUpdated Telugu [te] Translations for WebKitGTK+ HEAD
kov@webkit.org [Mon, 29 Jul 2013 13:50:32 +0000 (13:50 +0000)]
Updated Telugu [te] Translations for WebKitGTK+ HEAD
https://bugs.webkit.org/show_bug.cgi?id=117501

Patch by Krishnababu Krothapalli <k.meetme@gmail.com> on 2013-07-29
Reviewed by Gustavo Noronha.

* te.po: Updated.

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

7 years ago[l10n] [mr] Updated WebKitGTK+ Translation(s) in Marathi [mr] language
kov@webkit.org [Mon, 29 Jul 2013 13:34:43 +0000 (13:34 +0000)]
[l10n] [mr] Updated WebKitGTK+ Translation(s) in Marathi [mr] language
https://bugs.webkit.org/show_bug.cgi?id=119001

Patch by Sandeep Shedmake <sandeep.shedmake@gmail.com> on 2013-07-29
Reviewed by Gustavo Noronha.

* mr.po: Updated.

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

7 years ago[Automake] Remove references to non-existent *_CFLAGS and *_LIBS variables
zandobersek@gmail.com [Mon, 29 Jul 2013 13:23:36 +0000 (13:23 +0000)]
[Automake] Remove references to non-existent *_CFLAGS and *_LIBS variables
https://bugs.webkit.org/show_bug.cgi?id=119212

Reviewed by Carlos Garcia Campos.

Source/WebKit2:

* GNUmakefile.am: Remove references to GLOBALDEPS_(CFLAGS|LIBS) and CLUTTER_(CFLAGS|LIBS)
variables that are not defined during the configuration process.

Tools:

* GNUmakefile.am: Remove references to GLOBALDEPS_(CFLAGS|LIBS) and CLUTTER_(CFLAGS|LIBS)
variables that are not defined during the configuration process.
* TestWebKitAPI/GNUmakefile.am: Ditto.
* WebKitTestRunner/GNUmakefile.am: Ditto.

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

7 years ago[EFL] Improve string use in ErrorsEfl
kseo@webkit.org [Mon, 29 Jul 2013 07:45:44 +0000 (07:45 +0000)]
[EFL] Improve string use in ErrorsEfl
https://bugs.webkit.org/show_bug.cgi?id=119207

Reviewed by Christophe Dumez.

Use ASCIILiteral for constant strings becoming WTFStrings.

No behavior change.

* platform/efl/ErrorsEfl.cpp:
(WebCore::cancelledError):
(WebCore::blockedError):
(WebCore::cannotShowURLError):
(WebCore::interruptedForPolicyChangeError):
(WebCore::cannotShowMIMETypeError):
(WebCore::fileDoesNotExistError):
(WebCore::pluginWillHandleLoadError):
(WebCore::downloadCancelledByUserError):
(WebCore::printerNotFoundError):
(WebCore::invalidPageRangeToPrint):

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

7 years ago[EFL][WK2] Simplify context_menu_spelling_items_availability unit test
g.czajkowski@samsung.com [Mon, 29 Jul 2013 07:17:01 +0000 (07:17 +0000)]
[EFL][WK2] Simplify context_menu_spelling_items_availability unit test
https://bugs.webkit.org/show_bug.cgi?id=119085

Reviewed by Gyuyoung Kim.

Use findContextMenuItem method to check whether the item
appears in context menu.

* UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
(EWK2TextCheckerTest::findContextMenuItem):
Do not report failure inside the method.
It doesn't allow to test the negative test cases.

(EWK2TextCheckerTest::checkCorrectnessOfSpellingItems):
Use findContextMenuItem method.

(EWK2TextCheckerTest::toogleCheckSpellingWhileTyping):
(EWK2TextCheckerTest::selectLearnSpelling):
(EWK2TextCheckerTest::selectIgnoreSpelling):
Verify the return value of findContextMenuItem.

(TEST_F):
Reset wasContextMenuShown variable, it's needed after r152153.
Use waitUntilTrue method.

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

7 years agoDon't update the text track override CSS every time a media element is created.
akling@apple.com [Mon, 29 Jul 2013 06:23:55 +0000 (06:23 +0000)]
Don't update the text track override CSS every time a media element is created.
<http://webkit.org/b/119199>
<rdar://problem/14572855>

Reviewed by Darin Adler.

We should only have to update the CSS if the accessibility caption preferences are changed.
This was forcing a full style recalc in every Document any time a media element is instantiated.

* page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::setInterestedInCaptionPreferenceChanges):

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

7 years agoInclude <stdio.h> to declare perror()
aestes@apple.com [Mon, 29 Jul 2013 03:08:09 +0000 (03:08 +0000)]
Include <stdio.h> to declare perror()
https://bugs.webkit.org/show_bug.cgi?id=119198

Reviewed by Andreas Kling.

Silences an implicit declaration warning.

* DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupport.c:

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

7 years agoStop exporting Widget::frameRectsChanged()
aestes@apple.com [Mon, 29 Jul 2013 01:16:22 +0000 (01:16 +0000)]
Stop exporting Widget::frameRectsChanged()
https://bugs.webkit.org/show_bug.cgi?id=119196

Reviewed by Darin Adler.

The definition is inlined in a private header, so there's no need to
export a symbol to link against. On the Mac, since we compile with
-fvisibility-inlines-hidden, removing the symbol from the export file
silences an ld warning about exporting a hidden symbol.

* WebCore.exp.in: Removed __ZN7WebCore6Widget17frameRectsChangedEv.

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

7 years agoClean up CSSPrimitiveValue::equals a bit
weinig@apple.com [Sun, 28 Jul 2013 23:36:18 +0000 (23:36 +0000)]
Clean up CSSPrimitiveValue::equals a bit
https://bugs.webkit.org/show_bug.cgi?id=119195

Reviewed by Andreas Kling.

* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::equals):
This should not change behavior, but is quite a bit clearer.

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

7 years agofast/forms/input-in-table-cell-no-value.html fails on platform without ENABLE(INPUT_T...
graouts@apple.com [Sun, 28 Jul 2013 22:08:58 +0000 (22:08 +0000)]
fast/forms/input-in-table-cell-no-value.html fails on platform without ENABLE(INPUT_TYPE_DATE)
https://bugs.webkit.org/show_bug.cgi?id=90987

This test now passes on Mac so we don't need to skip it any longer.

Reviewed by Anders Carlsson.

* platform/mac/TestExpectations:

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

7 years agoREGRESSION: Crash when opening Facebook.com
oliver@apple.com [Sun, 28 Jul 2013 18:04:18 +0000 (18:04 +0000)]
REGRESSION: Crash when opening Facebook.com
https://bugs.webkit.org/show_bug.cgi?id=119155

Reviewed by Andreas Kling.

Scope nodes are always objects, so we should be using SpecObjectOther
rather than SpecCellOther.  Marking Scopes as CellOther leads to a
contradiction in the CFA, resulting in bogus codegen.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::::executeEffects):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):

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

7 years ago[EFL] Bump required version of EFL to 1.7
ryuan.choi@samsung.com [Sun, 28 Jul 2013 06:48:35 +0000 (06:48 +0000)]
[EFL] Bump required version of EFL to 1.7
https://bugs.webkit.org/show_bug.cgi?id=119144

Reviewed by Christophe Dumez.

.:

We have supported 1.6 for Tizen build since r137203.
But Tizen now supports 1.7+ after Tizen released 2.0.

* Source/cmake/OptionsEfl.cmake:
Bumped EFL to 1.7 and removed promotion.

Source/WebCore:

* platform/efl/FileSystemEfl.cpp: Removed workaround code which was fixed at Eina 1.7
(WebCore::listDirectory):

Tools:

* MiniBrowser/efl/CMakeLists.txt: Bumped EFL to 1.7

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

7 years agoReplace all uses of GraphicsLayer::create function with the one that takes a Graphics...
commit-queue@webkit.org [Sun, 28 Jul 2013 05:14:33 +0000 (05:14 +0000)]
Replace all uses of GraphicsLayer::create function with the one that takes a GraphicsLayerFactory
https://bugs.webkit.org/show_bug.cgi?id=119186

Patch by Jacky Jiang <zhajiang@blackberry.com> on 2013-07-27
Reviewed by Anders Carlsson.

Source/WebCore:

Remove GraphicsLayer::create(GraphicsLayerClient*) function since it's
been deprecated by r130072.

* WebCore.exp.in:
* WebCore.order:
* platform/graphics/GraphicsLayer.h:
* platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
* platform/graphics/ca/GraphicsLayerCA.cpp:
* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

Source/WebKit/blackberry:

Replace GraphicsLayer::create calls and add a new function WebPagePrivate::graphicsLayerFactory().

* Api/WebOverlay.cpp:
(BlackBerry::WebKit::WebOverlayPrivateWebKitThread::WebOverlayPrivateWebKitThread):
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::graphicsLayerFactory):
(BlackBerry::WebKit::WebPagePrivate::overlayLayer):
* Api/WebPage_p.h:
* WebKitSupport/FrameLayers.cpp:
(BlackBerry::WebKit::FrameLayers::addLayer):
* WebKitSupport/SelectionOverlay.cpp:
(BlackBerry::WebKit::SelectionOverlay::draw):

Source/WebKit/efl:

* WebCoreSupport/AcceleratedCompositingContextEfl.cpp:
(WebCore::AcceleratedCompositingContext::attachRootGraphicsLayer):

Source/WebKit/qt:

* WebCoreSupport/TextureMapperLayerClientQt.cpp:
(TextureMapperLayerClientQt::setRootGraphicsLayer):

Source/WebKit2:

* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::getOrCreateLayer):

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

7 years agoHTMLParserScheduler gets into an inconsistent state when suspended for reasons
ap@apple.com [Sun, 28 Jul 2013 00:05:11 +0000 (00:05 +0000)]
HTMLParserScheduler gets into an inconsistent state when suspended for reasons
other than WillDeferLoading
https://bugs.webkit.org/show_bug.cgi?id=119172

Reviewed by Sam Weinig.

When loading is not deferred, even a suspended parser will be processing new data
from network, potentially starting its next chunk timer.

Limit suspending to when we can actually enforce it.

Here is what happens for each ReasonForSuspension:
- JavaScriptDebuggerPaused: continuing to parse is probably wrong, but in practice,
this is unlikely to happen while debugging, and wasn't properly prevented before
this patch anyway.
- WillDeferLoading: No change in behavior.
- DocumentWillBecomeInactive: This is about page cache, and documents are only allowed
to be cached when fully loaded.
- PageWillBeSuspended: This appears to be part of Frame::suspendActiveDOMObjectsAndAnimations()
implementation, I'm guessing that it is appropriate to continue loading.

* dom/Document.cpp:
(WebCore::Document::suspendScheduledTasks):
(WebCore::Document::resumeScheduledTasks):
Only suspend/resume parsing when loading is deferred. This is not expressed directly,
but it's important to do this to avoid executing JS behind alerts and other modal dialogs.

* html/parser/HTMLParserScheduler.h: Added m_suspended member variable for assertions.

* html/parser/HTMLParserScheduler.cpp:
(WebCore::HTMLParserScheduler::HTMLParserScheduler):
(WebCore::HTMLParserScheduler::continueNextChunkTimerFired):
(WebCore::HTMLParserScheduler::scheduleForResume):
(WebCore::HTMLParserScheduler::suspend):
(WebCore::HTMLParserScheduler::resume):
Update m_suspended and assert as appropriate. No behavior changes for release mode.

* page/Frame.cpp: (WebCore::Frame::suspendActiveDOMObjectsAndAnimations):
Added a FIXME.

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

7 years agoMake SuspendableTimer safer
ap@apple.com [Sun, 28 Jul 2013 00:04:14 +0000 (00:04 +0000)]
Make SuspendableTimer safer
https://bugs.webkit.org/show_bug.cgi?id=119127

Reviewed by Sam Weinig.

SuspendableTimer now enforces that it stays suspended until resumed (or until stopped
and started again). To ensure this, TimerBase is now a private base class, and parts of
its interface that clients use are reimplemented with suspend/resume in mind.

Derived classes are still allowed to override TimerBase virtual functions (notably
fired() and alignedFireTime()).

* dom/DocumentEventQueue.cpp:
(WebCore::DocumentEventQueueTimer): Removed an extraneous WTF_MAKE_NONCOPYABLE,
TimerBase has it already.
(WebCore::DocumentEventQueueTimer::create): Use our normal create() pattern.
(WebCore::DocumentEventQueue::DocumentEventQueue): Made the constructor private, accordingly.
(WebCore::DocumentEventQueue::cancelEvent): Use SuspendableTimer::cancel(), which
is a new name to disambiguate TimerBase::stop() and ActiveDOMObject::stop().
(WebCore::DocumentEventQueue::close): Ditto.

* page/DOMTimer.cpp:
(WebCore::DOMTimer::fired): Now that SuspendableTimer knows whether it's currently
suspended, assert that it's not.
(WebCore::DOMTimer::didStop): Separated ActiveDOMObject::stop() implementation from
additional cleanup, allowing for better SuspendableTimer encapsulation.

* page/DOMTimer.h: Added FINAL and OVVERIDE specifiers as appropriate.

* page/SuspendableTimer.h: Added FINAL (and OVERRIDE) qualifiers to ActiveDOMObject
methods. A derived class that wants to override current behavior is most likely not
a timer, and thus shouldn't be a derived class.
(WebCore::SuspendableTimer::isActive): SuspendableTimer with a next fire time is
active even if suspended, we shouldn't overwrite its saved data thinking that it's
inactive.
(WebCore::SuspendableTimer::isSuspended): Exposed to clients (m_suspended is no
longer debug only).

* page/SuspendableTimer.cpp:
(WebCore::SuspendableTimer::SuspendableTimer): Updated for new variable names.
(WebCore::SuspendableTimer::stop): This is ActiveDOMObject::stop(), which is called
before final destruction. We don't track this state directly, but can approximate
with setting m_suspended, so even if someone tries to start the timer afterwards,
it won't fire.
(WebCore::SuspendableTimer::suspend): Updated for new names.
(WebCore::SuspendableTimer::resume): Ditto.
(WebCore::SuspendableTimer::didStop): No-op default implementation for client hook.
(WebCore::SuspendableTimer::cancel): Equivalent of TimerBase::stop(), which also
works when suspended.
(WebCore::SuspendableTimer::startRepeating): Replacement for TimerBase function with
the same name, which works correctly when suspended. We don't want to actually start
the timer in this case.
(WebCore::SuspendableTimer::startOneShot): Ditto.
(WebCore::SuspendableTimer::repeatInterval): Ditto.
(WebCore::SuspendableTimer::augmentFireInterval): Ditto.
(WebCore::SuspendableTimer::augmentRepeatInterval): Ditto.

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

7 years agoAX: VoiceOver not working with data detection page overlays
cfleizach@apple.com [Sat, 27 Jul 2013 23:44:27 +0000 (23:44 +0000)]
AX: VoiceOver not working with data detection page overlays
https://bugs.webkit.org/show_bug.cgi?id=118680

Reviewed by Sam Weinig.

Expose API in BundlePageOverlay so that accessibility attributes can be retrieved through the overlay.
This requires two methods in a new callback struct. One to copy the attribute names, and the other to
copy the attribute values. I've folded both parameterized and non-parameterized attribute names into one method
with a boolean to determine which one should be used. The non-parameterized attributes are not used or passed to the
overlay at this time as there are no clients with such a need.

* WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
(PageOverlayClientImpl::setAccessibilityClient):
(PageOverlayClientImpl::PageOverlayClientImpl):
(PageOverlayClientImpl::copyAccessibilityAttributeValue):
(PageOverlayClientImpl::copyAccessibilityAttributeNames):
(WKBundlePageOverlaySetAccessibilityClient):
* WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
* WebProcess/WebPage/PageOverlay.cpp:
(WebKit::PageOverlay::copyAccessibilityAttributeValue):
(WebKit::PageOverlay::copyAccessibilityAttributeNames):
* WebProcess/WebPage/PageOverlay.h:
(WebKit::PageOverlay::Client::copyAccessibilityAttributeValue):
(WebKit::PageOverlay::Client::copyAccessibilityAttributeNames):
(WebKit::PageOverlay::client):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::pageOverlayCopyAccessibilityAttributeValue):
(WebKit::WebPage::pageOverlayCopyAccessibilityAttributesNames):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
(-[WKAccessibilityWebPageObject accessibilityParameterizedAttributeNames]):
(-[WKAccessibilityWebPageObject _convertScreenPointToWindow:]):
(-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):

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

7 years agoFix builds against an SDK.
mrowe@apple.com [Sat, 27 Jul 2013 23:20:15 +0000 (23:20 +0000)]
Fix builds against an SDK.

* gtest/xcode/Config/FrameworkTarget.xcconfig: Ensure that gtest.framework is installed
in a location compatible with the SDK generation process.

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

7 years agoIf entering fullscreen for a window fails, don't leave things in a bad state
simon.fraser@apple.com [Sat, 27 Jul 2013 23:14:07 +0000 (23:14 +0000)]
If entering fullscreen for a window fails, don't leave things in a bad state
https://bugs.webkit.org/show_bug.cgi?id=119179
<rdar://problem/14517068>

Reviewed by Sam Weinig.

On Lion, attempting to take a video fullscreen when the Safari window is already
fullscreen can sometimes fail, and AppKit informs us via windowDidFailToEnterFullScreen:

When this happens we have to undo the work done when entering fullscreen, to
avoid leaving things in a bad state.

* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):

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

7 years agoAdd assertions for CSSPrimitiveValue's m_value.valueID accessor
weinig@apple.com [Sat, 27 Jul 2013 22:23:38 +0000 (22:23 +0000)]
Add assertions for CSSPrimitiveValue's m_value.valueID accessor
https://bugs.webkit.org/show_bug.cgi?id=119180

Reviewed by Andreas Kling.

* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::operator CSSReflectionDirection):
(WebCore::CSSPrimitiveValue::operator ColumnSpan):
(WebCore::CSSPrimitiveValue::operator PrintColorAdjust):
(WebCore::CSSPrimitiveValue::operator EBorderStyle):
(WebCore::CSSPrimitiveValue::operator OutlineIsAuto):
(WebCore::CSSPrimitiveValue::operator CompositeOperator):
(WebCore::CSSPrimitiveValue::operator ControlPart):
(WebCore::CSSPrimitiveValue::operator EBackfaceVisibility):
(WebCore::CSSPrimitiveValue::operator EFillAttachment):
(WebCore::CSSPrimitiveValue::operator EFillBox):
(WebCore::CSSPrimitiveValue::operator EFillRepeat):
(WebCore::CSSPrimitiveValue::operator EBoxPack):
(WebCore::CSSPrimitiveValue::operator EBoxAlignment):
(WebCore::CSSPrimitiveValue::operator EBoxDecorationBreak):
(WebCore::CSSPrimitiveValue::operator BackgroundEdgeOrigin):
(WebCore::CSSPrimitiveValue::operator EBoxSizing):
(WebCore::CSSPrimitiveValue::operator EBoxDirection):
(WebCore::CSSPrimitiveValue::operator EBoxLines):
(WebCore::CSSPrimitiveValue::operator EBoxOrient):
(WebCore::CSSPrimitiveValue::operator ECaptionSide):
(WebCore::CSSPrimitiveValue::operator EClear):
(WebCore::CSSPrimitiveValue::operator ECursor):
(WebCore::CSSPrimitiveValue::operator CursorVisibility):
(WebCore::CSSPrimitiveValue::operator EDisplay):
(WebCore::CSSPrimitiveValue::operator EEmptyCell):
(WebCore::CSSPrimitiveValue::operator EAlignItems):
(WebCore::CSSPrimitiveValue::operator EJustifyContent):
(WebCore::CSSPrimitiveValue::operator EFlexDirection):
(WebCore::CSSPrimitiveValue::operator EAlignContent):
(WebCore::CSSPrimitiveValue::operator EFlexWrap):
(WebCore::CSSPrimitiveValue::operator EFloat):
(WebCore::CSSPrimitiveValue::operator LineBreak):
(WebCore::CSSPrimitiveValue::operator EListStylePosition):
(WebCore::CSSPrimitiveValue::operator EListStyleType):
(WebCore::CSSPrimitiveValue::operator EMarginCollapse):
(WebCore::CSSPrimitiveValue::operator EMarqueeBehavior):
(WebCore::CSSPrimitiveValue::operator RegionFragment):
(WebCore::CSSPrimitiveValue::operator EMarqueeDirection):
(WebCore::CSSPrimitiveValue::operator ENBSPMode):
(WebCore::CSSPrimitiveValue::operator EOverflow):
(WebCore::CSSPrimitiveValue::operator EPageBreak):
(WebCore::CSSPrimitiveValue::operator EPosition):
(WebCore::CSSPrimitiveValue::operator EResize):
(WebCore::CSSPrimitiveValue::operator ETableLayout):
(WebCore::CSSPrimitiveValue::operator ETextAlign):
(WebCore::CSSPrimitiveValue::operator TextAlignLast):
(WebCore::CSSPrimitiveValue::operator TextJustify):
(WebCore::CSSPrimitiveValue::operator TextDecoration):
(WebCore::CSSPrimitiveValue::operator TextDecorationStyle):
(WebCore::CSSPrimitiveValue::operator TextUnderlinePosition):
(WebCore::CSSPrimitiveValue::operator ETextSecurity):
(WebCore::CSSPrimitiveValue::operator ETextTransform):
(WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
(WebCore::CSSPrimitiveValue::operator EUserDrag):
(WebCore::CSSPrimitiveValue::operator EUserModify):
(WebCore::CSSPrimitiveValue::operator EUserSelect):
(WebCore::CSSPrimitiveValue::operator EVerticalAlign):
(WebCore::CSSPrimitiveValue::operator EVisibility):
(WebCore::CSSPrimitiveValue::operator EWhiteSpace):
(WebCore::CSSPrimitiveValue::operator EWordBreak):
(WebCore::CSSPrimitiveValue::operator EOverflowWrap):
(WebCore::CSSPrimitiveValue::operator TextDirection):
(WebCore::CSSPrimitiveValue::operator WritingMode):
(WebCore::CSSPrimitiveValue::operator TextCombine):
(WebCore::CSSPrimitiveValue::operator RubyPosition):
(WebCore::CSSPrimitiveValue::operator TextEmphasisPosition):
(WebCore::CSSPrimitiveValue::operator TextOverflow):
(WebCore::CSSPrimitiveValue::operator TextEmphasisFill):
(WebCore::CSSPrimitiveValue::operator TextEmphasisMark):
(WebCore::CSSPrimitiveValue::operator TextOrientation):
(WebCore::CSSPrimitiveValue::operator EPointerEvents):
(WebCore::CSSPrimitiveValue::operator FontDescription::Kerning):
(WebCore::CSSPrimitiveValue::operator FontSmoothingMode):
(WebCore::CSSPrimitiveValue::operator FontWeight):
(WebCore::CSSPrimitiveValue::operator FontItalic):
(WebCore::CSSPrimitiveValue::operator FontSmallCaps):
(WebCore::CSSPrimitiveValue::operator TextRenderingMode):
(WebCore::CSSPrimitiveValue::operator ColorSpace):
(WebCore::CSSPrimitiveValue::operator Hyphens):
(WebCore::CSSPrimitiveValue::operator LineSnap):
(WebCore::CSSPrimitiveValue::operator LineAlign):
(WebCore::CSSPrimitiveValue::operator Order):
(WebCore::CSSPrimitiveValue::operator ESpeak):
(WebCore::CSSPrimitiveValue::operator BlendMode):
(WebCore::CSSPrimitiveValue::operator LineCap):
(WebCore::CSSPrimitiveValue::operator LineJoin):
(WebCore::CSSPrimitiveValue::operator WindRule):
(WebCore::CSSPrimitiveValue::operator EAlignmentBaseline):
(WebCore::CSSPrimitiveValue::operator EBorderCollapse):
(WebCore::CSSPrimitiveValue::operator EBorderFit):
(WebCore::CSSPrimitiveValue::operator EImageRendering):
(WebCore::CSSPrimitiveValue::operator ETransformStyle3D):
(WebCore::CSSPrimitiveValue::operator ColumnAxis):
(WebCore::CSSPrimitiveValue::operator ColumnProgression):
(WebCore::CSSPrimitiveValue::operator WrapFlow):
(WebCore::CSSPrimitiveValue::operator WrapThrough):
(WebCore::CSSPrimitiveValue::operator GridAutoFlow):
(WebCore::CSSPrimitiveValue::operator EBufferedRendering):
(WebCore::CSSPrimitiveValue::operator EColorInterpolation):
(WebCore::CSSPrimitiveValue::operator EColorRendering):
(WebCore::CSSPrimitiveValue::operator EDominantBaseline):
(WebCore::CSSPrimitiveValue::operator EShapeRendering):
(WebCore::CSSPrimitiveValue::operator ETextAnchor):
(WebCore::CSSPrimitiveValue::operator SVGWritingMode):
(WebCore::CSSPrimitiveValue::operator EVectorEffect):
(WebCore::CSSPrimitiveValue::operator EMaskType):
Assert that the CSSPrimitiveValue is holding a CSSValueID before accessing it.

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

7 years agoREGRESSION(r153380): Can't open messages on Gmail
akling@apple.com [Sat, 27 Jul 2013 21:40:26 +0000 (21:40 +0000)]
REGRESSION(r153380): Can't open messages on Gmail
https://bugs.webkit.org/show_bug.cgi?id=119165

Patch by Ryosuke Niwa <rniwa@webkit.org> on 2013-07-27
Reviewed by Andreas Kling.

This bug was caused by r153380. The bug doesn't reproduce as long as WebKit is built by clang 4.2 and later
or final is disabled (it could be clang 4.1 and later but we don't have information about that).

Fix the bug by disabling final on earlier versions of clang. Unfortunately we can only check versions of
Apple clang since __clang_major__ and __clang_minor__ are vendor dependent.

* wtf/Compiler.h:

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

7 years agoStop pretending to support <string> for text-align.
weinig@apple.com [Sat, 27 Jul 2013 20:49:12 +0000 (20:49 +0000)]
Stop pretending to support <string> for text-align.
https://bugs.webkit.org/show_bug.cgi?id=119107

Reviewed by Andreas Kling.

Source/WebCore:

Test: fast/css/text-align-string-crash.html

* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
Stop pretending to support <string> for text-align.

* css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyTextAlign::applyValue):
ASSERT that only value IDs get passed.

LayoutTests:

* fast/css/text-align-string-crash-expected.txt: Added.
* fast/css/text-align-string-crash.html: Added.

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

7 years agoIntroduce toSVGRectElement(), use it
gyuyoung.kim@samsung.com [Sat, 27 Jul 2013 04:48:54 +0000 (04:48 +0000)]
Introduce toSVGRectElement(), use it
https://bugs.webkit.org/show_bug.cgi?id=119126

Reviewed by Andreas Kling.

As a step to change static_cast with toSVGXXX, static_cast<SVGRectElement*> can
be changed with toSVGRectElement().

No new tests, no behavior change.

* rendering/svg/RenderSVGRect.cpp:
(WebCore::RenderSVGRect::updateShapeFromElement):
* rendering/svg/SVGPathData.cpp:
(WebCore::updatePathFromRectElement):
* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::operator<<):
* svg/SVGRectElement.h:
(WebCore::toSVGRectElement):

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

7 years agoWith frame flattening on, too many resize events fired if document is resized in...
commit-queue@webkit.org [Sat, 27 Jul 2013 01:17:04 +0000 (01:17 +0000)]
With frame flattening on, too many resize events fired if document is resized in onresize handler.
https://bugs.webkit.org/show_bug.cgi?id=119075

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2013-07-26
Reviewed by Simon Fraser.

With http://trac.webkit.org/changeset/149287, WebCore also sends resize event in FrameView::setFrameRect.  When
flattening an iframe, setFrameRect could be called multiple times from RenderFrameBase::layoutWithFlattening and
we could get multiple resize events.  This patch adds a flag in FrameView to disallow sending resize events if
we are inside layoutWithFlattening.  The resize event will be sent in performPostLayoutTasks after the iframe
is done laying out.

Manually tested by verifying the rendering slowness in www.hi-pda.com is fixed when frame flattening is enabled.

* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::setFrameRect):
* page/FrameView.h:
(WebCore::FrameView::setResizeEventAllowed):
(WebCore::FrameView::resizeEventAllowed):
* rendering/RenderFrameBase.cpp:
(WebCore::RenderFrameBase::layoutWithFlattening):

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

7 years agoAllow new transitions to run even when controller is suspended
dino@apple.com [Sat, 27 Jul 2013 00:57:31 +0000 (00:57 +0000)]
Allow new transitions to run even when controller is suspended
https://bugs.webkit.org/show_bug.cgi?id=119171
<rdar://problem/14511404>

Reviewed by Simon Fraser.

Source/WebCore:

Expose a new property on AnimationController that allows newly created
animations to run even if the controller says it is suspended. See WebKit
ChangeLog for more details.

Test: transitions/created-while-suspended.html

* WebCore.exp.in: Export the new methods so WebView can use them.
* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::AnimationControllerPrivate): Initialize new flag to false.
(WebCore::AnimationControllerPrivate::startAnimationsIfNotSuspended): Check new flag is not true.
(WebCore::AnimationControllerPrivate::setAllowsNewAnimationsWhileSuspended): Expose setter.
(WebCore::AnimationController::allowsNewAnimationsWhileSuspended): "Public" getter.
(WebCore::AnimationController::setAllowsNewAnimationsWhileSuspended): "Public" setter.
* page/animation/AnimationController.h:
* page/animation/AnimationControllerPrivate.h:
(WebCore::AnimationControllerPrivate::allowsNewAnimationsWhileSuspended):
* page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::CompositeAnimation): Only suspend if new flag is false. Everything else
relies on the m_suspended flag, so the real code change is this one line.

Source/WebKit/mac:

Expose a new SPI on WebView that triggers the (buggy) old behaviour
for animations, such that any newly created animations will start even
when the document is supposedly suspended. It turns out that client content was
unknowingly relying on this behaviour - e.g. suspending a view, loading a
bunch of new content, bringing the view on screen and then unsuspending. In this
situation, we were not running CSS transitions, because the page was suspended.
However, JS was still triggering them, and content was expecting a transitionEnd event.

* WebView/WebView.mm:
(-[WebView allowsNewCSSAnimationsWhileSuspended]): Calls into AnimationController.
(-[WebView setAllowsNewCSSAnimationsWhileSuspended:]): Ditto.
* WebView/WebViewPrivate.h: New methods listed above.

LayoutTests:

This is actually a test to make sure this fix didn't break anything. There is no
way to trigger the new behaviour from the test system (or from Safari).

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

7 years agoASSERT failure in wtf/CheckedBoolean.h line 43 on Windows
msaboff@apple.com [Fri, 26 Jul 2013 23:19:30 +0000 (23:19 +0000)]
ASSERT failure in wtf/CheckedBoolean.h line 43 on Windows
https://bugs.webkit.org/show_bug.cgi?id=119170

Reviewed by Michael Saboff.

Added a copy constructor to CheckedBoolean.

* wtf/CheckedBoolean.h:
(CheckedBoolean::CheckedBoolean):

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

7 years ago[CSS Shapes] New positioning model: support for polygon shape-outside
commit-queue@webkit.org [Fri, 26 Jul 2013 23:00:24 +0000 (23:00 +0000)]
[CSS Shapes] New positioning model: support for polygon shape-outside
https://bugs.webkit.org/show_bug.cgi?id=118085

Patch by Bem Jones-Bey <bjonesbe@adobe.com> on 2013-07-26
Reviewed by Dirk Schulze.

Update polygon tests to work for new positioning model and migrate
them to be W3C spec tests. Thus, they have been imported from the
CSSWG repository now.

* TestExpectations: Remove skip for replaced test.
* csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-000-expected.html: Added.
* csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-000.html: Added.
* csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-001-expected.html: Added.
* csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-001.html: Added.
* csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-002-expected.html: Added.
* csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-002.html: Added.
* csswg/submitted/shapes/shape-outside/w3c-import.log:
* fast/shapes/shape-outside-floats/shape-outside-floats-simple-polygon-expected.html: Removed.
* fast/shapes/shape-outside-floats/shape-outside-floats-simple-polygon.html: Removed.

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

7 years agoAdded module definition file for building libEGL.
achristensen@apple.com [Fri, 26 Jul 2013 22:54:59 +0000 (22:54 +0000)]
Added module definition file for building libEGL.
https://bugs.webkit.org/show_bug.cgi?id=119162

Reviewed by Brent Fulgham.

* ANGLE.vcxproj/libEGLCommon.props: Added reference to libEGL.def.

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

7 years ago[Windows] Unreviewed build fix.
bfulgham@apple.com [Fri, 26 Jul 2013 21:57:56 +0000 (21:57 +0000)]
[Windows] Unreviewed build fix.

* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::createMetadataKeyNames): Do not include Media Selection
synbols when building without Media Selection API.

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

7 years agoREGRESSION(FTL?): Crashes in plugin tests
oliver@apple.com [Fri, 26 Jul 2013 21:21:18 +0000 (21:21 +0000)]
REGRESSION(FTL?): Crashes in plugin tests
https://bugs.webkit.org/show_bug.cgi?id=119141

Reviewed by Michael Saboff.

Source/JavaScriptCore:

Re-export getStackTrace

* interpreter/Interpreter.h:

Source/WebCore:

Getting the correct semantics to appease the inspector is fairly
awful with the iterator system.  For the time being lets just revert
to requesting a full stack trace as we did in the past.

* bindings/js/ScriptCallStackFactory.cpp:
(WebCore::createScriptCallStack):

LayoutTests:

Bring back plugin tests

* platform/mac/TestExpectations:

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

7 years ago[Windows] Unreviewed build fix.
bfulgham@apple.com [Fri, 26 Jul 2013 21:17:59 +0000 (21:17 +0000)]
[Windows] Unreviewed build fix.

Correct build when targeting a release that does not have the AVCF
Legible Output infrastructure.

* platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h: Exclude
a soft-link target when the API doesn't exist.
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
Correct include options for non-Legible Output supporting environments.
(WebCore::MediaPlayerPrivateAVFoundationCF::processLegacyClosedCaptionsTracks):
Prevent build failure when building with legacy caption support.

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

7 years agoREGRESSION: Crash when opening a message on Gmail
fpizlo@apple.com [Fri, 26 Jul 2013 21:12:30 +0000 (21:12 +0000)]
REGRESSION: Crash when opening a message on Gmail
https://bugs.webkit.org/show_bug.cgi?id=119105

Source/JavaScriptCore:

Reviewed by Oliver Hunt and Mark Hahnenberg.

- GetById patching in the DFG needs to be more disciplined about how it derives the
  slow path.

- Fix some dumping code thread safety issues.

* bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::dump):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
* dfg/DFGRepatch.cpp:
(JSC::DFG::getPolymorphicStructureList):
(JSC::DFG::tryBuildGetByIDList):

LayoutTests:

Reviewed by Oliver Hunt and Mark Hahnenberg.

* fast/js/dfg-get-by-id-unset-then-proto-less-warmup.html: Added.
* fast/js/dfg-get-by-id-unset-then-proto-more-warmup.html: Added.
* fast/js/dfg-get-by-id-unset-then-proto.html: Added.
* fast/js/jsc-test-list
* fast/js/script-tests/dfg-get-by-id-unset-then-proto-less-warmup.js: Added.
(foo):
(Blah):
* fast/js/script-tests/dfg-get-by-id-unset-then-proto-more-warmup.js: Added.
(foo):
(Blah):
* fast/js/script-tests/dfg-get-by-id-unset-then-proto.js: Added.
(foo):
(Blah):

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

7 years agoApply FINAL to the RenderObject hierarchy.
akling@apple.com [Fri, 26 Jul 2013 20:41:32 +0000 (20:41 +0000)]
Apply FINAL to the RenderObject hierarchy.
<http://webkit.org/b/115977>

Mostly from Blink r148795 by <cevans@chromium.org>
<http://src.chromium.org/viewvc/blink?view=revision&revision=148795>

* rendering/: Beat things with the FINAL stick.
* WebCore.exp.in: Export a now-needed symbol.

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

7 years agoAdd another method that we need to set aside subviews for
andersca@apple.com [Fri, 26 Jul 2013 20:39:57 +0000 (20:39 +0000)]
Add another method that we need to set aside subviews for
https://bugs.webkit.org/show_bug.cgi?id=119157
<rdar://problem/14554723>

Reviewed by Beth Dakin.

* WebView/WebHTMLView.mm:
(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]):
(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inGraphicsContext:CGContext:topView:shouldChangeFontReferenceColor:]):

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

7 years agoAdd a mode where autosizing fixes the FrameView height to at least the WKView height
timothy_horton@apple.com [Fri, 26 Jul 2013 20:09:25 +0000 (20:09 +0000)]
Add a mode where autosizing fixes the FrameView height to at least the WKView height
https://bugs.webkit.org/show_bug.cgi?id=119104
<rdar://problem/14549021>

Reviewed by Anders Carlsson.

* WebCore.exp.in: Export FrameView::setAutoSizeFixedMinimumHeight.
* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
Initialize m_autoSizeFixedMinimumHeight to 0.

(WebCore::FrameView::autoSizeIfEnabled):
Increase the FrameView height to m_autoSizeFixedMinimumHeight if necessary,
and do another layout. Store the computed intrinsic content size.

(WebCore::FrameView::setAutoSizeFixedMinimumHeight): Added.

* page/FrameView.h:
(WebCore::FrameView::autoSizingIntrinsicContentSize): Added.

* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
Add autoSizingShouldExpandToViewHeight parameter.

* UIProcess/API/mac/WKView.mm:
(-[WKView minimumWidthForAutoLayout]):
(-[WKView setMinimumWidthForAutoLayout:]):
Un-deprecate these as they're still useful if not sending a height.

(-[WKView shouldExpandToViewHeightForAutoLayout]):
(-[WKView setShouldExpandToViewHeightForAutoLayout:]):
* UIProcess/API/mac/WKViewPrivate.h:
New property, forward to WebPageProxy.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::creationParameters):
(WebKit::WebPageProxy::setAutoSizingShouldExpandToViewHeight):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::autoSizingShouldExpandToViewHeight):
New property, forward to WebPage.

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
If enabled, update the FrameView's autoSizeFixedMinimumHeight.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::setAutoSizingShouldExpandToViewHeight):
* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::autoSizingShouldExpandToViewHeight):
New property; if enabled, set FrameView's autoSizeFixedMinimumHeight,
otherwise reset it to 0.

* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::updateIntrinsicContentSizeTimerFired):
(WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
Retrieve intrinsic content size explicitly from the FrameView, as
it may not have used it as its final contentsSize if
autoSizeFixedMinimumHeight is set.

Set the WebPage's size in case the load is committed so that the
WebFrameLoaderClient doesn't reset us to the wrong size.

Update autoSizeFixedMinimumHeight if enabled when the view size changes.

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

7 years ago[Windows] Remove workarounds now that rdar://problem/14390466 is fixed.
bfulgham@apple.com [Fri, 26 Jul 2013 19:19:34 +0000 (19:19 +0000)]
[Windows] Remove workarounds now that rdar://problem/14390466 is fixed.
https://bugs.webkit.org/show_bug.cgi?id=119150

Reviewed by Anders Carlsson.

* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::AVFWrapper::createPlayer): Remove workaround to add legible output
after player is created.
(WebCore::AVFWrapper::createPlayerItem): Remove workaround to delay adding
legible output until player is created.
(WebCore::AVFWrapper::platformLayer): Get rid of unused temporary.

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

7 years agoWKTR should know about the JSC extensions to testRunner
fpizlo@apple.com [Fri, 26 Jul 2013 19:06:32 +0000 (19:06 +0000)]
WKTR should know about the JSC extensions to testRunner
https://bugs.webkit.org/show_bug.cgi?id=119154

Reviewed by Mark Hahnenberg and Geoffrey Garen.

This makes some fast/js tests pass.

* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::numberOfDFGCompiles):
(WTR::TestRunner::neverInlineFunction):
* WebKitTestRunner/InjectedBundle/TestRunner.h:

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

7 years ago[mips] Fix LLINT build for mips backend
commit-queue@webkit.org [Fri, 26 Jul 2013 18:17:53 +0000 (18:17 +0000)]
[mips] Fix LLINT build for mips backend
https://bugs.webkit.org/show_bug.cgi?id=119152

Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2013-07-26
Reviewed by Oliver Hunt.

* offlineasm/mips.rb:

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

7 years agoSetting a large numeric property on an object causes it to allocate a huge backing...
mhahnenberg@apple.com [Fri, 26 Jul 2013 18:07:34 +0000 (18:07 +0000)]
Setting a large numeric property on an object causes it to allocate a huge backing store
https://bugs.webkit.org/show_bug.cgi?id=118914

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

There are two distinct actions that we're trying to optimize for:

new Array(100000);

and:

a = [];
a[100000] = 42;

In the first case, the programmer has indicated that they expect this Array to be very big,
so they should get a contiguous array up until some threshold, above which we perform density
calculations to see if it is indeed dense enough to warrant being contiguous.

In the second case, the programmer hasn't indicated anything about the size of the Array, so
we should be more conservative and assume it should be sparse until we've proven otherwise.

Currently both of those cases are handled by MIN_SPARSE_ARRAY_INDEX. We should distinguish
between them for the purposes of not over-allocating large backing stores like we see on
http://www.peekanalytics.com/burgerjoints/

The way that we'll do this is to keep the MIN_SPARSE_ARRAY_INDEX for the first case, and
introduce a new heuristic for the second case. If we are putting to an index above a certain
threshold (say, 1000) and it is beyond the length of the array, then we will use a sparse
map instead. So for example, in the second case above the empty array has a blank indexing
type and a length of 0. We put-by-val to an index > 1000 and > a.length, so we'll use a sparse map.

This fix is ~800x speedup on the accompanying regression test :-o

* runtime/ArrayConventions.h:
(JSC::indexIsSufficientlyBeyondLengthForSparseMap):
* runtime/JSObject.cpp:
(JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes):
(JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage):
(JSC::JSObject::putByIndexBeyondVectorLength):
(JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage):

LayoutTests:

Added new regression test for put-by-val-ing to a blank indexing type with a large index.
This fix is ~800x speedup on this regression test :-o

* fast/js/regress/put-by-val-large-index-blank-indexing-type.html: Added.
* fast/js/regress/script-tests/put-by-val-large-index-blank-indexing-type.js: Added.

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

7 years ago[Windows] Unreviewed gardening.
bfulgham@apple.com [Fri, 26 Jul 2013 16:22:48 +0000 (16:22 +0000)]
[Windows] Unreviewed gardening.

* WebCore.vcxproj/WebCore.vcxproj: Add missing header file to ease code viewing.
* WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.

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

7 years ago[BlackBerry] LayerTiler fails to render layer after waking up
anilsson@rim.com [Fri, 26 Jul 2013 15:19:57 +0000 (15:19 +0000)]
[BlackBerry] LayerTiler fails to render layer after waking up
https://bugs.webkit.org/show_bug.cgi?id=119146

Reviewed by George Staikos.

When the application is backgrounded, all tiles are freed up to
release memory back to the system. We also mark the contents as dirty
in LayerTiler::deleteTextures() so tiles will be repopulated when
waking up again.

The problem was caused by an optimization to avoid re-rendering tiles
repeatedly until the UI thread catches up with the fact that we have
indeed rendered those tiles (which will happen when the UI thread next
composites a frame).

When contents are dirty, we're not supposed to perform this
optimization (i.e. we're not supposed to skip rendering) because the
appearance of the layer has changed, so we do need to render those
tiles. Unfortunately, the code that was supposed to forget the list of
tiles rendered was in a conditional, "if (frontVisibility)", which
happened to be false sometimes when the app woke up again. So we ended
up perpetually skipping those render jobs, and the UI thread kept
yelling at us to render them.

Fixed by unconditionally dropping the list of tiles rendered when
contents are dirty.

This can't be detected without pixel tests, which BB DRT currently
doesn't support.

JIRA 452460

* platform/graphics/blackberry/LayerTiler.cpp:
(WebCore::LayerVisibility::clearTilesRendered):
(WebCore::LayerTiler::updateTextureContentsIfNeeded):

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

7 years agoREGRESSION(FTL): Fix lots of crashes in sh4 baseline JIT.
commit-queue@webkit.org [Fri, 26 Jul 2013 14:41:55 +0000 (14:41 +0000)]
REGRESSION(FTL): Fix lots of crashes in sh4 baseline JIT.
https://bugs.webkit.org/show_bug.cgi?id=119148

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-07-26
Reviewed by Csaba Osztrogonác.

* jit/JSInterfaceJIT.h: "secondArgumentRegister" is wrong for sh4.
* llint/LowLevelInterpreter32_64.asm: "move t0, a0" is missing
in nativeCallTrampoline for sh4. Reuse MIPS implementation to avoid
code duplication.

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

7 years agoREGRESSION(FTL): Crash in sh4 baseline JIT.
commit-queue@webkit.org [Fri, 26 Jul 2013 10:33:24 +0000 (10:33 +0000)]
REGRESSION(FTL): Crash in sh4 baseline JIT.
https://bugs.webkit.org/show_bug.cgi?id=119138

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-07-26
Reviewed by Csaba Osztrogonác.

This crash is due to incomplete report of r150146 and r148474.

* jit/JITStubsSH4.h:

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

7 years agoUnreviewed.
zandobersek@gmail.com [Fri, 26 Jul 2013 08:34:32 +0000 (08:34 +0000)]
Unreviewed.

* Target.pri: Adding missing DFG files to the Qt build.

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

7 years agoGTK and Qt buildfix after the intrusive win buildfix r153360.
ossy@webkit.org [Fri, 26 Jul 2013 05:54:22 +0000 (05:54 +0000)]
GTK and Qt buildfix after the intrusive win buildfix r153360.

* GNUmakefile.list.am:
* Target.pri:

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

7 years agoRemove unused HTMLTextFormControlElement::textRendererAfterUpdateLayout
rniwa@webkit.org [Fri, 26 Jul 2013 04:35:32 +0000 (04:35 +0000)]
Remove unused HTMLTextFormControlElement::textRendererAfterUpdateLayout
https://bugs.webkit.org/show_bug.cgi?id=119121

Reviewed by Andreas Kling.

Merge https://chromium.googlesource.com/chromium/blink/+/3255ce725711707fe1fd18be91a6d06789517220.

* html/HTMLTextFormControlElement.cpp:
* html/HTMLTextFormControlElement.h:

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

7 years agoFix document leak when selection is created inside the document
rniwa@webkit.org [Fri, 26 Jul 2013 03:59:22 +0000 (03:59 +0000)]
Fix document leak when selection is created inside the document
https://bugs.webkit.org/show_bug.cgi?id=119122

Reviewed by Andreas Kling.

Source/WebCore:

Merge https://chromium.googlesource.com/chromium/blink/+/b908cb4c8da93316d787de31c93f2a43de332a10

The bug was caused by FrameSelection::m_previousCaretNode holding onto a Node, leaking its document.
Fixed the bug by explicitly clearing it in FrameSelection::prepareForDestruction.

Test: editing/selection/leak-document-with-selection-inside.html

* editing/FrameSelection.cpp:
(WebCore::FrameSelection::prepareForDestruction):

LayoutTests:

Added a regression test.

* editing/selection/leak-document-with-selection-inside-expected.txt: Added.
* editing/selection/leak-document-with-selection-inside.html: Added.

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

7 years agoUnreviewed, fix build break after r153360.
gyuyoung.kim@samsung.com [Fri, 26 Jul 2013 01:48:23 +0000 (01:48 +0000)]
Unreviewed, fix build break after r153360.

* CMakeLists.txt: Add CommonSlowPathsExceptions.cpp.

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

7 years agoUnreviewed build fix, AppleWin port.
roger_fong@apple.com [Fri, 26 Jul 2013 01:41:23 +0000 (01:41 +0000)]
Unreviewed build fix, AppleWin port.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.vcxproj/copy-files.cmd:

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

7 years ago[CSS Shapes] New positioning model: support for inset rectangle shape-outside
commit-queue@webkit.org [Fri, 26 Jul 2013 01:24:13 +0000 (01:24 +0000)]
[CSS Shapes] New positioning model: support for inset rectangle shape-outside
https://bugs.webkit.org/show_bug.cgi?id=118083

Patch by Bem Jones-Bey <bjonesbe@adobe.com> on 2013-07-25
Reviewed by Dirk Schulze.

Update inset-rectangle tests to work with new positioning model.
Removed some test cases that aren't really needed or aren't applicable
with the new model. These test cases live in the CSS WG's repo now, so
they've been imported here.

* TestExpectations: Remove skip lines for replaced tests.
* csswg/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-000-expected.html: Added.
* csswg/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-000.html: Added.
* csswg/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-001-expected.html: Renamed from LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-simple-rounded-inset-rectangle-expected.html.
* csswg/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-001.html: Renamed from LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-simple-rounded-inset-rectangle.html.
* csswg/submitted/shapes/shape-outside/w3c-import.log:
* fast/shapes/shape-outside-floats/shape-outside-floats-simple-inset-rectangle-expected.html: Removed.
* fast/shapes/shape-outside-floats/shape-outside-floats-simple-inset-rectangle.html: Removed.

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

7 years agoUnreviewed. Followup to r153360.
roger_fong@apple.com [Fri, 26 Jul 2013 00:40:29 +0000 (00:40 +0000)]
Unreviewed. Followup to r153360.

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

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

7 years ago[Windows] Speculative build fix.
msaboff@apple.com [Fri, 26 Jul 2013 00:22:14 +0000 (00:22 +0000)]
[Windows] Speculative build fix.

Moved interpreterThrowInCaller() out of LLintExceptions.cpp into new CommonSlowPathsExceptions.cpp
that is always compiled.  Made LLInt::returnToThrow() conditional on LLINT being enabled.
Roger will add the new files to Windows project in another checkin.

* JavaScriptCore.xcodeproj/project.pbxproj:
* llint/LLIntExceptions.cpp:
* llint/LLIntExceptions.h:
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
* runtime/CommonSlowPathsExceptions.cpp: Added.
(JSC::CommonSlowPaths::interpreterThrowInCaller):
* runtime/CommonSlowPathsExceptions.h: Added.

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

7 years ago[Windows] Unreviewed build fix.
bfulgham@apple.com [Fri, 26 Jul 2013 00:19:54 +0000 (00:19 +0000)]
[Windows] Unreviewed build fix.

* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: Add missing IntendedStructureChange.h,.cpp and
parser/SourceCode.h,.cpp.
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: Ditto.

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

7 years ago[Windows] Unreviewed build fix.
bfulgham@apple.com [Fri, 26 Jul 2013 00:18:11 +0000 (00:18 +0000)]
[Windows] Unreviewed build fix.

* WTF.vcxproj/WTF.vcxproj: Add missing SixCharacterHash.h,.cpp files.
* WTF.vcxproj/WTF.vcxproj.filters: Ditto.
* wtf/NumberOfCores.h: Add export macro to numberOfProcessorCores.
* wtf/PrintStream.h: Add export macro to dumpCharacter.
* wtf/SixCharacterHash.h: Add export macro to sixCharacterHashStringToInteger
and integerToSixCharacterHashString.
* wtf/text/CString.h: Add export macro to hash and equal methods.
(WTF::CStringHash::hash): Add export macro.

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

7 years agoASSERT(m_vm->apiLock().currentThreadIsHoldingLock()); fails for Safari on current ToT
andersca@apple.com [Fri, 26 Jul 2013 00:13:13 +0000 (00:13 +0000)]
ASSERT(m_vm->apiLock().currentThreadIsHoldingLock()); fails for Safari on current ToT
https://bugs.webkit.org/show_bug.cgi?id=119108

Reviewed by Mark Hahnenberg.

Add a currentThreadIsHoldingAPILock() function to VM that checks if the current thread is the exclusive API thread.

* heap/CopiedSpace.cpp:
(JSC::CopiedSpace::tryAllocateSlowCase):
* heap/Heap.cpp:
(JSC::Heap::protect):
(JSC::Heap::unprotect):
(JSC::Heap::collect):
* heap/MarkedAllocator.cpp:
(JSC::MarkedAllocator::allocateSlowCase):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
* runtime/VM.h:
(JSC::VM::currentThreadIsHoldingAPILock):

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

7 years agoChromeClient::focusedNodeChanged() should be focusedElementChanged().
akling@apple.com [Thu, 25 Jul 2013 23:57:40 +0000 (23:57 +0000)]
ChromeClient::focusedNodeChanged() should be focusedElementChanged().
<http://webkit.org/b/119110>

Reviewed by Anders Carlsson.

Source/WebCore:

Because only Elements can be focused.

* dom/Document.cpp:
(WebCore::Document::setFocusedElement):
* loader/EmptyClients.h:
(WebCore::EmptyChromeClient::focusedElementChanged):
* page/Chrome.cpp:
(WebCore::Chrome::focusedElementChanged):
* page/Chrome.h:
* page/ChromeClient.h:

Source/WebKit/blackberry:

* WebCoreSupport/ChromeClientBlackBerry.cpp:
(WebCore::ChromeClientBlackBerry::focusedElementChanged):
* WebCoreSupport/ChromeClientBlackBerry.h:

Source/WebKit/efl:

* WebCoreSupport/ChromeClientEfl.cpp:
(WebCore::ChromeClientEfl::focusedElementChanged):
* WebCoreSupport/ChromeClientEfl.h:

Source/WebKit/gtk:

* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::focusedElementChanged):
* WebCoreSupport/ChromeClientGtk.h:

Source/WebKit/mac:

* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::focusedElementChanged):

Source/WebKit/qt:

* WebCoreSupport/ChromeClientQt.cpp:
(WebCore::ChromeClientQt::focusedElementChanged):
* WebCoreSupport/ChromeClientQt.h:

Source/WebKit/win:

* WebCoreSupport/WebChromeClient.cpp:
(WebChromeClient::focusedElementChanged):
* WebCoreSupport/WebChromeClient.h:

Source/WebKit/wince:

* WebCoreSupport/ChromeClientWinCE.cpp:
(WebKit::ChromeClientWinCE::focusedElementChanged):
* WebCoreSupport/ChromeClientWinCE.h:

Source/WebKit2:

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::focusedElementChanged):
* WebProcess/WebCoreSupport/WebChromeClient.h:

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

7 years ago[WK2][Soup] Add private browsing support
kseo@webkit.org [Thu, 25 Jul 2013 23:23:42 +0000 (23:23 +0000)]
[WK2][Soup] Add private browsing support
https://bugs.webkit.org/show_bug.cgi?id=118657

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Support private browsing by adding a method to create a private
browsing soup session. This private browsing session uses a
non-persistent cookie jar and does not use the disk cache feature.

No new tests. Covered by existing private browsing tests.

* platform/network/NetworkStorageSession.h:
(WebCore::NetworkStorageSession::isPrivateBrowsingSession):
Add USE(SOUP) guard to isPrivateBrowsingSession() and m_isPrivate.

* platform/network/ResourceHandle.h:
Add a factory method to create a private browsing session for soup.

* platform/network/soup/CookieJarSoup.cpp:
(WebCore::createPrivateBrowsingCookieJar):
* platform/network/soup/CookieJarSoup.h:
Add a method to create a non-persistent cookie jar for private browsing.

* platform/network/soup/NetworkStorageSessionSoup.cpp:
(WebCore::NetworkStorageSession::NetworkStorageSession):
Initialize m_isPrivate to false.
(WebCore::NetworkStorageSession::createPrivateBrowsingSession):
Implement the method by invoking ResourceHandle::createPrivateBrowsingSession.

* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::createSoupSession):
Extract common soup session creation code so that both defaultSession
and createPrivateBrowsingSession can use this function to create a soup
session.
(WebCore::ResourceHandle::defaultSession):
Change to use createSoupSession.
(WebCore::ResourceHandle::createPrivateBrowsingSession):
Create a session which uses a non-persistent cookie jar.

Source/WebKit2:

Support private browsing in WK2 by implementing private browsing
related methods in WebFrameNetworkingContext.

* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setPrivateBrowsingEnabled):
Add USE(SOUP) guard.

* WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
Add private browsing support methods. Copied from the Mac port.
(WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
(WebKit::WebFrameNetworkingContext::destroyPrivateBrowsingSession):
(WebKit::WebFrameNetworkingContext::storageSession):
Check if the frame enables private browsing and return the private
browsing session.
* WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::ensurePrivateBrowsingSession):
Add USE(SOUP) guard.

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