WebKit-https.git
6 years ago[Cocoa] Remove interfaces in the To Be Removed groups
mitz@apple.com [Mon, 21 Apr 2014 06:35:15 +0000 (06:35 +0000)]
[Cocoa] Remove interfaces in the To Be Removed groups
https://bugs.webkit.org/show_bug.cgi?id=131925

Reviewed by Darin Adler.

* Shared/API/Cocoa/WKRemoteObjectInterface.h: Removed.
* Shared/API/Cocoa/WKRemoteObjectInterface.mm: Removed.
* Shared/API/Cocoa/WKRemoteObjectRegistry.h: Removed.
* Shared/API/Cocoa/WKRemoteObjectRegistry.mm: Removed.
* UIProcess/API/Cocoa/WKProcessPool.mm:
* UIProcess/API/Cocoa/WKProcessPoolConfiguration.h: Removed.
* UIProcess/API/Cocoa/WKProcessPoolConfiguration.mm: Removed.
* UIProcess/API/Cocoa/WKProcessPoolConfigurationPrivate.h: Removed.
* UIProcess/API/Cocoa/WKProcessPoolToBeRemoved.mm: Removed.
* UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInBrowserContextControllerToBeRemoved.mm: Removed.
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:

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

6 years agoCompile the :root pseudo class and fix a related issue with :nth-child()
benjamin@webkit.org [Mon, 21 Apr 2014 06:26:20 +0000 (06:26 +0000)]
Compile the :root pseudo class and fix a related issue with :nth-child()
https://bugs.webkit.org/show_bug.cgi?id=131926

Reviewed by Andreas Kling.

Source/WebCore:
Add the :root pseudo class. This is another trivial selector, we just need to compare
the element pointer with the documentElement.

I discovered some issues with :nth-child(n) through the layout tests for ":root".
When the pseudo class nth-child could match anything, no code was generated. That decision
was taken when generating the fragments.

The specification of :nth-child() has two tests: the parent test and the counter test.
Since some fragments would not generate any code for :nth-child(n), they would succeed on the root,
which is incorrect since the root should fail the parent test.

This was fixed by moving the filtering of non-counting :nth-child() after we generate the parent
check.
We still don't generate any counter test unless required.

Test: fast/selectors/nth-child-on-root.html

* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsRoot):
* dom/Document.h:
(WebCore::Document::documentElementMemoryOffset):

LayoutTests:
Add more test coverage that would have caught the bug with :nth-child(n).

* fast/selectors/nth-child-on-root-expected.txt: Added.
* fast/selectors/nth-child-on-root.html: Added.

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

6 years agoAdd Element.matches, the standard name for webkitMatchesSelector
benjamin@webkit.org [Mon, 21 Apr 2014 06:08:05 +0000 (06:08 +0000)]
Add Element.matches, the standard name for webkitMatchesSelector
https://bugs.webkit.org/show_bug.cgi?id=131922

Reviewed by Andreas Kling.

Source/WebCore:
This patch just renames webkitMatchesSelector() to matches().

* bindings/scripts/CodeGeneratorObjC.pm:
(GenerateImplementation):
The Objective-C binding generator only supported ImplementedAs for getters and setters.
This adds support for the option so that Element.matches can be generated for Obj-C.

* dom/Element.cpp:
(WebCore::Element::matches):
(WebCore::Element::webkitMatchesSelector): Deleted.
* dom/Element.h:
* dom/Element.idl:
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):

LayoutTests:
Update the tests to verify both Element.matches and Element.webkitMatchesSelector

* fast/dom/SelectorAPI/attrname-case-insensitive-expected.txt:
* fast/dom/SelectorAPI/attrname-case-insensitive.html:
* fast/dom/SelectorAPI/attrname-case-sensitive-expected.txt:
* fast/dom/SelectorAPI/attrname-case-sensitive.xhtml:
* fast/dom/SelectorAPI/caseID-almost-strict-expected.txt:
* fast/dom/SelectorAPI/caseID-almost-strict.html:
* fast/dom/SelectorAPI/caseID-expected.txt:
* fast/dom/SelectorAPI/caseID-strict-expected.txt:
* fast/dom/SelectorAPI/caseID-strict.html:
* fast/dom/SelectorAPI/caseID.html:
* fast/dom/SelectorAPI/caseTag-expected.txt:
* fast/dom/SelectorAPI/caseTag.html:
* fast/dom/SelectorAPI/caseTagX-expected.txt:
* fast/dom/SelectorAPI/caseTagX.xhtml:
* fast/dom/SelectorAPI/detached-element-expected.txt:
* fast/dom/SelectorAPI/not-supported-namespace-in-selector-expected.txt:
* fast/dom/SelectorAPI/not-supported-namespace-in-selector.html:
* fast/dom/SelectorAPI/script-tests/detached-element.js:
* fast/dom/SelectorAPI/script-tests/undefined-null-stringify.js:
* fast/dom/SelectorAPI/script-tests/viewless-document.js:
* fast/dom/SelectorAPI/undefined-null-stringify-expected.txt:
* fast/dom/SelectorAPI/viewless-document-expected.txt:
* fast/forms/radio/radio-live-validation-style-expected.txt:
* fast/forms/radio/radio-live-validation-style.html:
* fast/harness/results.html:

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

6 years agoExpando properties on attribute nodes disappear
ap@apple.com [Mon, 21 Apr 2014 06:02:35 +0000 (06:02 +0000)]
Expando properties on attribute nodes disappear
https://bugs.webkit.org/show_bug.cgi?id=88045

* TestExpectations:
* platform/efl/TestExpectations:
* platform/mac/TestExpectations:
* platform/win/TestExpectations:
Consolidated test expectations, because all ports are equally affected. Some
platforms accidentally start to pass this test sometimes, but there is no real fix yet.

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

6 years agoSubpixel rendering: RenderLayer's size is set using enclosingRect() which can result...
zalan@apple.com [Mon, 21 Apr 2014 05:21:45 +0000 (05:21 +0000)]
Subpixel rendering: RenderLayer's size is set using enclosingRect() which can result in cruft.
https://bugs.webkit.org/show_bug.cgi?id=131468

Reviewed by Darin Adler.

Layers marked opaque may not paint edge pixels, when RenderLayer bounds are non-integral and
get device pixel snapped.
For details see this: https://trac.webkit.org/r159463

Source/WebCore:
Test: compositing/hidpi-non-simple-compositing-layer-with-fractional-size-and-background.html

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

LayoutTests:
* compositing/hidpi-non-simple-compositing-layer-with-fractional-size-and-background-expected.html: Added.
* compositing/hidpi-non-simple-compositing-layer-with-fractional-size-and-background.html: Added.

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

6 years agoFix typo in change log
darin@apple.com [Mon, 21 Apr 2014 04:43:46 +0000 (04:43 +0000)]
Fix typo in change log

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

6 years agoSimple layout can get confused by coordinate overflow
darin@apple.com [Mon, 21 Apr 2014 04:40:11 +0000 (04:40 +0000)]
Simple layout can get confused by coordinate overflow
https://bugs.webkit.org/show_bug.cgi?id=131890
rdar://problem/15558510

Reviewed by Andreas Kling.

Source/WebCore:
Test: fast/css/simple-layout-overflow.html

* rendering/SimpleLineLayoutResolver.h:
(WebCore::SimpleLineLayout::RunResolver::rangeForRect):
If lastLine is smaller than firstList, just ignore it.

LayoutTests:
* fast/css/simple-layout-overflow-expected.txt: Added.
* fast/css/simple-layout-overflow.html: Added.

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

6 years agoScriptExecutionContext::stopActiveDOMObjects iterates a hash map that can change...
darin@apple.com [Mon, 21 Apr 2014 04:39:11 +0000 (04:39 +0000)]
ScriptExecutionContext::stopActiveDOMObjects iterates a hash map that can change during iteration (for multiple reasons, including GC)
https://bugs.webkit.org/show_bug.cgi?id=52719

Reviewed by Alexey Proskuryakov.

At least two specific ways this can happen:

1) XMLHttpRequest::stop can trigger a JavaScript garbage collection.
2) NotificationCenter::stop can delete the last references to notifications;
   those notifications are also active DOM objects.

Besides fixing the iteration in that function, did some other fixes for the
ScriptExecutionContext class, including some coding style changes. Many uses
of nullptr instead of 0, without listing each function separately below.

* Modules/webdatabase/DatabaseContext.cpp:
(WebCore::DatabaseContext::contextDestroyed): Call through to the base class
version of contextDestroyed rather than repeating what it does (with a large
comment that doesn't acknowledge the base class alread does it).
* Modules/webdatabase/DatabaseContext.h: Removed some unneeded includes.
Wrote out "private" explicitly for deriving from ActiveDOMObject. Made the
ActiveDOMObject function overrides private, and marked them override and final.

* dom/ActiveDOMObject.h: Updated comments. Replaced suspendIfNeededCalled with
assertSuspendIfNeededWasCalled, which has an empty inline version in the header.
Renamed m_suspendIfNeededCalled to m_suspendIfNeededWasCalled.

* dom/ActiveDOMObject.cpp:
(WebCore::ActiveDOMObject::ActiveDOMObject): Pass a reference instead of a pointer.
(WebCore::ActiveDOMObject::~ActiveDOMObject): Ditto.
(WebCore::ActiveDOMObject::suspendIfNeeded): Ditto.

* dom/ContextDestructionObserver.cpp:
(WebCore::ContextDestructionObserver::observeContext): Pass a reference instead of a pointer.

* dom/MessagePort.cpp:
(WebCore::MessagePort::MessagePort): Pass a reference instead of a pointer.
(WebCore::MessagePort::~MessagePort): Ditto.
(WebCore::MessagePort::disentangle): Ditto.

* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::ScriptExecutionContext): Updated flags used
for assertions so they are conditional and updated their names.
(WebCore::takeAny): Added. Helper function that we can consider for HashSet in
the future; makes loop below easier to read.
(WebCore::checkConsistency): Added. Assertions that were done multiple places below,
and should not be written over and over again.
(WebCore::ScriptExecutionContext::~ScriptExecutionContext): Changed to use C++11
for loops and the takeAny function above.
(WebCore::ScriptExecutionContext::dispatchMessagePortEvents): Ditto.
(WebCore::ScriptExecutionContext::createdMessagePort): Changed to take a reference
for clarity and so it doesn't have to do an assert the pointer is non-null.
(WebCore::ScriptExecutionContext::destroyedMessagePort): Ditto.
(WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects): Changed to use
C++11 for loop and reworded comment and redid assertions.
(WebCore::ScriptExecutionContext::suspendActiveDOMObjects): Ditto.
(WebCore::ScriptExecutionContext::resumeActiveDOMObjects): Ditto.
(WebCore::ScriptExecutionContext::stopActiveDOMObjects): Changed to support
removal of an active DOM object during the stop function. Included new comments
to clarify what the rules are.
(WebCore::ScriptExecutionContext::suspendActiveDOMObjectIfNeeded): Changed to take
a reference for clarity and so it doesn't have to assert a pointer is non-null.
(WebCore::ScriptExecutionContext::didCreateActiveDOMObject): Ditto. Also changed to
use RELEASE_ASSERT instead of CRASH.
(WebCore::ScriptExecutionContext::willDestroyActiveDOMObject): Ditto.
(WebCore::ScriptExecutionContext::didCreateDestructionObserver): Ditto.
(WebCore::ScriptExecutionContext::willDestroyDestructionObserver): Ditto.
(WebCore::ScriptExecutionContext::closeMessagePorts): Moved the body of this
function into its one call site, ScriptExecutionContext::stopActiveDOMObjects,
since it's simple enough when written as a C++11 for loop.
(WebCore::ScriptExecutionContext::hasPendingActivity): Added. This function was
already exported for workers, and implementing it outside this class required
exposing the private HashSet members; more sensible to implement it here and
simply make it public in WorkerGlobalScope.

* dom/ScriptExecutionContext.h: Removed unnecessary includes and forward declarations.
Removed a long-ago-fixed FIXME. Changed various functions to take references instead of
pointers. Added a protected hasPendingActivity function, deleted the closeMessagePorts
function, deleted the ActiveDOMObjectsSet typedef, made the assertion flags be
!ASSERT_DISABLED only, and deleted the messagePorts and activeDOMObjects functions.

* workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::hasPendingActivity): Deleted. This is now implemented
in the base class.

* workers/WorkerGlobalScope.h: Make hasPendingActivity function from the base class
public instead of declaring it in this class.

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

6 years ago[Mac] Unable to select 'Off' or 'Auto' from track menu when tracks consist of unsuppo...
bfulgham@apple.com [Mon, 21 Apr 2014 04:28:20 +0000 (04:28 +0000)]
[Mac] Unable to select 'Off' or 'Auto' from track menu when tracks consist of unsupported track types
https://bugs.webkit.org/show_bug.cgi?id=131908
<rdar://problem/15999882>

Reviewed by Eric Carlson.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setSelectedTextTrack): When the user selects 'Off', make sure the currently 'showing'
track is switched to 'disabled'.

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

6 years agoSpeed up jsStringWithCache() through WeakGCMap inlining.
akling@apple.com [Mon, 21 Apr 2014 04:19:07 +0000 (04:19 +0000)]
Speed up jsStringWithCache() through WeakGCMap inlining.
<https://webkit.org/b/131923>

Source/JavaScriptCore:
Always inline WeakGCMap::add() but move the slow garbage collecting
path out-of-line.

Reviewed by Darin Adler.

* runtime/WeakGCMap.h:
(JSC::WeakGCMap::add):
(JSC::WeakGCMap::gcMap):

Source/WebCore:
Inline the common path of WeakGCMap::add() in jsStringWithCache().
26% progression on Bindings/id-getter.html

Reviewed by Darin Adler.

* WebCore.exp.in:
* bindings/js/JSDOMBinding.h:
* bindings/js/JSDOMBinding.cpp:
(WebCore::jsStringWithCache):

    Move jsStringWithCache() out of line since we're now blowing up
    its size quite a bit.

Source/WTF:
Add HashMap::fastAdd(), which is the same as add() except we'll tell
the compiler to aggressively inline it.

Reviewed by Darin Adler.

* wtf/HashMap.h:
* wtf/HashTable.h:

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

6 years agoFixed a test timing out after r167572.
mitz@apple.com [Sun, 20 Apr 2014 22:45:38 +0000 (22:45 +0000)]
Fixed a test timing out after r167572.

* TestWebKitAPI/Tests/WebKit2Cocoa/Navigation.mm:
(-[NavigationDelegate webView:didFinishNavigation:]): Renamed from
-webView:didFinishLoadingNavigation:.

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

6 years agoFix the build after r167574
benjamin@webkit.org [Sun, 20 Apr 2014 21:53:01 +0000 (21:53 +0000)]
Fix the build after r167574

* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):

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

6 years agoCompile the pseudo class :target
benjamin@webkit.org [Sun, 20 Apr 2014 21:28:51 +0000 (21:28 +0000)]
Compile the pseudo class :target
https://bugs.webkit.org/show_bug.cgi?id=131904

Reviewed by Andreas Kling.

The pseudo class :target is trivial, it just compare the current element with
Document::cssTarget().

* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addPseudoType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::getDocument):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeValueExactMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsTarget):
* dom/Document.h:
(WebCore::Document::cssTargetMemoryOffset):

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

6 years ago[Cocoa] Crash when setting a bundle parameter to nil
mitz@apple.com [Sun, 20 Apr 2014 20:54:17 +0000 (20:54 +0000)]
[Cocoa] Crash when setting a bundle parameter to nil
https://bugs.webkit.org/show_bug.cgi?id=131917

Reviewed by Sam Weinig.

* UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _setObject:forBundleParameter:]): If the object is nil, use
-[NSMutableDictionary removeObjectForKey:] rather than -setObject:forKey:.

* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.mm:
(-[WKWebProcessBundleParameters setParameter:forKey:]): Ditto.

* WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
(WebKit::InjectedBundle::setBundleParameter): Unrelatedly, create m_bundleParameters if
needed, as it may have not been created on intialization if no bundle parameters were set
at the time.

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

6 years ago[Cocoa] Remove unused -webView:didFinishLoadingNavigation: delegate method
mitz@apple.com [Sun, 20 Apr 2014 20:53:39 +0000 (20:53 +0000)]
[Cocoa] Remove unused -webView:didFinishLoadingNavigation: delegate method
https://bugs.webkit.org/show_bug.cgi?id=131914

Reviewed by Sam Weinig.

* UIProcess/Cocoa/NavigationState.h: Removed flag from m_navigationDelegateMethods struct.
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::setNavigationDelegate): Removed check for whether the method is
implemented.
(WebKit::NavigationState::LoaderClient::didFinishLoadForFrame): Stopped calling the method
if implemented.

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

6 years agoRename the CSSSelector PseudoType to PseudoClassType
benjamin@webkit.org [Sun, 20 Apr 2014 20:43:35 +0000 (20:43 +0000)]
Rename the CSSSelector PseudoType to PseudoClassType
https://bugs.webkit.org/show_bug.cgi?id=131907

Reviewed by Andreas Kling.

Pseudo Elements and Page Pseudo Classes have been moved out of PseudoType in previous patches.
The remaining values in the PseudoType enumeration are the pseudo classes.

This patch is the final clean up, PseudoType is renamed to PseudoClassType.

* css/CSSGrammar.y.in:
* css/CSSParserValues.cpp:
(WebCore::CSSParserSelector::parsePseudoClassAndCompatibilityElementSelector):
* css/CSSParserValues.h:
(WebCore::CSSParserSelector::pseudoClassType):
(WebCore::CSSParserSelector::pseudoType): Deleted.
* css/CSSSelector.cpp:
(WebCore::CSSSelector::specificityForOneSelector):
(WebCore::appendPseudoClassFunctionTail):
(WebCore::CSSSelector::selectorText):
* css/CSSSelector.h:
(WebCore::CSSSelector::pseudoClassType):
(WebCore::CSSSelector::pseudoElementType):
(WebCore::CSSSelector::pagePseudoClassType):
(WebCore::pseudoClassIsRelativeToSiblings):
(WebCore::CSSSelector::isSiblingSelector):
(WebCore::CSSSelector::CSSSelector):
(WebCore::CSSSelector::pseudoType): Deleted.
* css/RuleSet.cpp:
(WebCore::RuleSet::findBestRuleSetAndAdd):
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
(WebCore::SelectorChecker::checkScrollbarPseudoClass):
(WebCore::SelectorChecker::determineLinkMatchType):
(WebCore::SelectorChecker::matchesFocusPseudoClass):
* css/SelectorChecker.h:
(WebCore::SelectorChecker::isCommonPseudoClassSelector):
* css/SelectorCheckerFastPath.cpp:
(WebCore::SelectorCheckerFastPath::commonPseudoClassSelectorMatches):
* css/SelectorPseudoClassAndCompatibilityElementMap.in:
* css/SelectorPseudoTypeMap.h:
* css/StyleResolver.cpp:
(WebCore::StyleResolver::styleForElement):
* css/makeSelectorPseudoClassAndCompatibilityElementMap.py:
(enumerablePseudoType):
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::addPseudoType): Deleted.
* inspector/InspectorCSSAgent.cpp:
(WebCore::computePseudoClassMask):
(WebCore::InspectorCSSAgent::forcePseudoState):
* inspector/InspectorCSSAgent.h:
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::forcePseudoStateImpl):
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::forcePseudoState):

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

6 years agobmalloc: Segregate pages by objects size
ggaren@apple.com [Sun, 20 Apr 2014 19:33:14 +0000 (19:33 +0000)]
bmalloc: Segregate pages by objects size
https://bugs.webkit.org/show_bug.cgi?id=131909

Reviewed by Andreas Kling.

2% reduction in memory-at-end on the Membuster memory_warning benchmarks.

* bmalloc/Allocator.cpp:
(bmalloc::Allocator::allocateSlowCase):
* bmalloc/Allocator.h:
(bmalloc::Allocator::allocateFastCase):
(bmalloc::Allocator::smallAllocatorFor): Use the new shared helper
function for size class calculation.

* bmalloc/Deallocator.cpp:
(bmalloc::Deallocator::Deallocator):
(bmalloc::Deallocator::scavenge):
(bmalloc::Deallocator::deallocateSmallLine):
(bmalloc::Deallocator::allocateSmallLine):
* bmalloc/Deallocator.h: Keep a cache for every size class, since the
cache can't be shared anymore.

* bmalloc/Heap.cpp:
(bmalloc::Heap::allocateSmallLineSlowCase):
* bmalloc/Heap.h:
(bmalloc::Heap::deallocateSmallLine): Ditto.

(bmalloc::Heap::allocateSmallLine): Check size class in addition to
page refcount when allocating a line because we might have deallocated
the page and the recycled it for another size class.

(bmalloc::Heap::deallocateMediumLine):
(bmalloc::Heap::allocateMediumLine):
* bmalloc/Line.h:
(bmalloc::Line::refCount):
* bmalloc/Page.h:
(bmalloc::Page::refCount):
(bmalloc::Page::smallSizeClass):
(bmalloc::Page::setSmallSizeClass):
(bmalloc::Page<Traits>::refCount): Deleted.
* bmalloc/Sizes.h:
(bmalloc::Sizes::smallSizeClassFor): New shared API for computing
an index into an array from a size.

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

6 years agoCrashes in HTMLFormElement::submit.
ap@apple.com [Sun, 20 Apr 2014 19:02:13 +0000 (19:02 +0000)]
Crashes in HTMLFormElement::submit.
https://bugs.webkit.org/show_bug.cgi?id=131910
<rdar://problem/15661790>

Source/WebCore:
Based on a patch by Kent Tamura.

Reviewed by Anders Carlsson.

Tests: fast/forms/form-submission-crash-2.html
       fast/forms/form-submission-crash.html

Code that executes arbitrary JS needs to protect objects that it uses afterwards.

* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::prepareForSubmission):
(WebCore::HTMLFormElement::submit):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::submitForm):

LayoutTests:
Reviewed by Anders Carlsson.

* fast/forms/form-submission-crash-2-expected.txt: Added.
* fast/forms/form-submission-crash-2.html: Added.
* fast/forms/form-submission-crash-expected.txt: Added.
* fast/forms/form-submission-crash.html: Added.

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

6 years agoText bounding box computation for simple line layout is wrong
antti@apple.com [Sun, 20 Apr 2014 17:43:54 +0000 (17:43 +0000)]
Text bounding box computation for simple line layout is wrong
https://bugs.webkit.org/show_bug.cgi?id=131912

Reviewed by Andreas Kling.

Source/WebCore:

Top-left is currently the first line top-left which is not always correct.

* WebCore.exp.in:
* rendering/RenderText.cpp:
(WebCore::RenderText::firstRunLocation):
(WebCore::RenderText::firstRunOrigin): Deleted.
(WebCore::RenderText::firstRunX): Deleted.
(WebCore::RenderText::firstRunY): Deleted.

    Keep just one accessor and rename it.
    Encapsulate the line box and simple line versions.

* rendering/RenderText.h:
* rendering/RenderTextLineBoxes.cpp:
(WebCore::RenderTextLineBoxes::firstRunLocation):

    Line box version.

* rendering/RenderTextLineBoxes.h:
* rendering/RenderTreeAsText.cpp:

    Simplify RenderText dumping.

(WebCore::RenderTreeAsText::writeRenderObject):
* rendering/SimpleLineLayoutFunctions.cpp:
(WebCore::SimpleLineLayout::computeTextBoundingBox):

    Return the correct x position.

(WebCore::SimpleLineLayout::computeTextFirstRunLocation):

    Simple line version.

* rendering/SimpleLineLayoutFunctions.h:
* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::writeSVGInlineText):

LayoutTests:

Some dumped RenderText sizes change in table related test. These are progressions,
the new results match the contained lines. There are no visual changes.

* platform/mac/fast/table/dynamic-caption-add-remove-before-child-expected.txt:
* platform/mac/fast/table/multiple-captions-display-expected.txt:
* platform/mac/tables/mozilla/marvin/body_col-expected.txt:
* platform/mac/tables/mozilla/marvin/x_th_valign_baseline-expected.txt:
* platform/mac/tables/mozilla/other/body_col-expected.txt:
* platform/mac/tables/mozilla_expected_failures/bugs/bug10140-expected.txt:
* platform/mac/tables/mozilla_expected_failures/bugs/bug10216-expected.txt:
* platform/mac/tables/mozilla_expected_failures/core/captions3-expected.txt:
* platform/mac/tables/mozilla_expected_failures/other/test4-expected.txt:

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

6 years agoUnreviewed, rolling out r167510.
commit-queue@webkit.org [Sun, 20 Apr 2014 17:40:40 +0000 (17:40 +0000)]
Unreviewed, rolling out r167510.
https://bugs.webkit.org/show_bug.cgi?id=131915

broke GTK Debug bot (Requested by philn on #webkit).

Reverted changeset:

"[GTK] Add llvmpipe (Mesa) to the JHBuild moduleset and force
it when running layout tests"
https://bugs.webkit.org/show_bug.cgi?id=131472
http://trac.webkit.org/changeset/167510

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

6 years agoJavaScriptCore: ARM build fix after r167094.
ossy@webkit.org [Sun, 20 Apr 2014 13:58:25 +0000 (13:58 +0000)]
JavaScriptCore: ARM build fix after r167094.
https://bugs.webkit.org/show_bug.cgi?id=131612

Patch by László Langó <llango.u-szeged@partner.samsung.com> on 2014-04-20
Reviewed by Michael Saboff.

After r167094 there are many build errors on ARM like these:

    /tmp/ccgtHRno.s:370: Error: invalid constant (425a) after fixup
    /tmp/ccgtHRno.s:374: Error: invalid constant (426e) after fixup
    /tmp/ccgtHRno.s:378: Error: invalid constant (4282) after fixup
    /tmp/ccgtHRno.s:382: Error: invalid constant (4296) after fixup

Problem is caused by the wrong generated assembly like:
    "\tmov r2, (" LOCAL_LABEL_STRING(llint_op_strcat) " - " LOCAL_LABEL_STRING(relativePCBase) ")\n" // /home/webkit/WebKit/Source/JavaScriptCore/llint/LowLevelInterpreter.asm:741

`mov` can only move 8 bit immediate, but not every constant fit into 8 bit. Clang converts
the mov to a single movw or a movw and a movt, depending on the immediate, but binutils doesn't.
Add a new ARM specific offline assembler instruction (`mvlbl`) for the following llint_entry
use case: move rn, (label1-label2) which is translated to movw and movt.

* llint/LowLevelInterpreter.asm:
* offlineasm/arm.rb:
* offlineasm/instructions.rb:

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

6 years ago[ARM] Unreviewed build fix after r167336.
ossy@webkit.org [Sun, 20 Apr 2014 13:46:46 +0000 (13:46 +0000)]
[ARM] Unreviewed build fix after r167336.

* assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::branchAdd32):

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

6 years agoUnreviewed, rolling out r167501.
commit-queue@webkit.org [Sun, 20 Apr 2014 11:45:32 +0000 (11:45 +0000)]
Unreviewed, rolling out r167501.
https://bugs.webkit.org/show_bug.cgi?id=131913

It broke DYEBench (Requested by mhahnenberg on #webkit).

Reverted changeset:

"Deleting properties poisons objects"
https://bugs.webkit.org/show_bug.cgi?id=131551
http://trac.webkit.org/changeset/167501

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

6 years agoIt should be OK to store new fields into objects that have no prototypes
fpizlo@apple.com [Sun, 20 Apr 2014 04:42:42 +0000 (04:42 +0000)]
It should be OK to store new fields into objects that have no prototypes
https://bugs.webkit.org/show_bug.cgi?id=131905

Reviewed by Mark Hahnenberg.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::emitPrototypeChecks):
* tests/stress/put-by-id-transition-null-prototype.js: Added.
(foo):

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

6 years agoSubpixel rendering: RenderLayer's clipping should snap to device pixel boundaries.
zalan@apple.com [Sun, 20 Apr 2014 03:38:09 +0000 (03:38 +0000)]
Subpixel rendering: RenderLayer's clipping should snap to device pixel boundaries.
https://bugs.webkit.org/show_bug.cgi?id=131466

Reviewed by Simon Fraser.

Fractional pixel clipping can produce cruft on RenderLayers. Since RenderLayer
sizing and painting are snapped, painting clip rect needs to be snapped the same way.

Source/WebCore:
Test: fast/clip/clip-when-rect-has-fractional-pixel-value.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::clipToRect):

LayoutTests:
* fast/clip/clip-when-rect-has-fractional-pixel-value-expected.html: Added.
* fast/clip/clip-when-rect-has-fractional-pixel-value.html: Added.

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

6 years agoRevert unintended workspace change in my last commit.
bfulgham@apple.com [Sun, 20 Apr 2014 03:10:38 +0000 (03:10 +0000)]
Revert unintended workspace change in my last commit.

* WebKit.xcworkspace/xcshareddata/xcschemes/All Source (target WebProcess).xcscheme: Set the
Scheme type back to Debug.

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

6 years agoLatched scrolling may interact badly with custom programmatic scrolling
bfulgham@apple.com [Sun, 20 Apr 2014 02:32:48 +0000 (02:32 +0000)]
Latched scrolling may interact badly with custom programmatic scrolling
https://bugs.webkit.org/show_bug.cgi?id=131869
<rdar://problem/16249557>

Reviewed by Darin Adler.

* dom/Element.cpp:
(WebCore::Element::setScrollLeft): Mark scrollable area as having
been scrolled programmatically.
(WebCore::Element::setScrollTop): Ditto.
* page/EventHandler.cpp:
(WebCore::EventHandler::handleWheelEvent): Check for programmatic scroll, and
clear latched state if the handler manually scrolled. Clear programmatic
scroll state at the end of event handling.
(WebCore::EventHandler::clearLatchedState): Refactored code.
* page/EventHandler.h:
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::platformPrepareForWheelEvents): Check
if scrollable area was scrolled programmatically. If it was, do
not honor latching behavior.
* platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::ScrollableArea): Initialize new member.
* platform/ScrollableArea.h:
(WebCore::ScrollableArea::isScrolledProgrammatically): Added.
(WebCore::ScrollableArea::setScrolledProgrammatically): Added.

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

6 years agoAX: grid rows are not recognized do to lack of explicit role="row", role="gridcell"
cfleizach@apple.com [Sun, 20 Apr 2014 01:38:48 +0000 (01:38 +0000)]
AX: grid rows are not recognized do to lack of explicit role="row", role="gridcell"
https://bugs.webkit.org/show_bug.cgi?id=131819

Reviewed by Darin Adler.

Source/WebCore:
Test: accessibility/table-with-missing-aria-role-rows.html

If a table is using role="grid", and it has <tr> elements that do not have
role="row", we should still treat them as row elements.

* accessibility/AccessibilityARIAGrid.cpp:
(WebCore::AccessibilityARIAGrid::addTableCellChild):

LayoutTests:
* accessibility/table-with-missing-aria-role-rows-expected.txt: Added.
* accessibility/table-with-missing-aria-role-rows.html: Added.

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

6 years agoAX: Malformed tables exposing incorrect col and colSpans
cfleizach@apple.com [Sun, 20 Apr 2014 01:25:28 +0000 (01:25 +0000)]
AX: Malformed tables exposing incorrect col and colSpans
https://bugs.webkit.org/show_bug.cgi?id=131796

Reviewed by Darin Adler.

Source/WebCore:
Test: accessibility/table-incorrect-colspan-cell.html

When a developer has specified malformed colspans, accessibility is reporting those values instead of the effective column information.

* accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::columnIndexRange):

LayoutTests:
* accessibility/table-incorrect-colspan-cell-expected.txt: Added.
* accessibility/table-incorrect-colspan-cell.html: Added.

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

6 years agoMake the CSS JIT compile for ARM64
benjamin@webkit.org [Sun, 20 Apr 2014 01:22:06 +0000 (01:22 +0000)]
Make the CSS JIT compile for ARM64
https://bugs.webkit.org/show_bug.cgi?id=131834

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-04-19
Reviewed by Gavin Barraclough.

Source/JavaScriptCore:
Extend the ARM64 MacroAssembler to support the code generation required by
the CSS JIT.

* assembler/MacroAssembler.h:
* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::addPtrNoFlags):
(JSC::MacroAssemblerARM64::or32):
(JSC::MacroAssemblerARM64::branchPtr):
(JSC::MacroAssemblerARM64::test32):
(JSC::MacroAssemblerARM64::branch):
* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::test32):

Source/WebCore:
Add the CPU specific code required to compile SelectorCompiler on ARM64.
The code is absolutely non-functional, it would crash immediately, but it compiles.

* cssjit/FunctionCall.h:
(WebCore::FunctionCall::FunctionCall):
(WebCore::FunctionCall::callAndBranchOnCondition):
* cssjit/RegisterAllocator.h:
What am I supposed to do with all those registers? There are so many of them :)
The array calleeSavedRegisters is defined for compatibility but it cannot be reached at the moment.

(WebCore::RegisterAllocator::isValidRegister):
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::modulo):
Implement modulo by doing dividend - (divisor * int(dividend/divisor)).

* cssjit/StackAllocator.h:
StackAllocator will need a small redesign to handle the 16 bytes alligned stack of
ARM64.
The code has been modified to build but it is pretty useless.

(WebCore::StackAllocator::allocateUninitialized):
(WebCore::StackAllocator::push):
(WebCore::StackAllocator::pop):
(WebCore::StackAllocator::popAndDiscard):
(WebCore::StackAllocator::popAndDiscardUpTo):
(WebCore::StackAllocator::alignStackPreFunctionCall):
(WebCore::StackAllocator::unalignStackPostFunctionCall):

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

6 years agoPlug-in process crashes if NP_Initialize returns an error the second time it's called
andersca@apple.com [Sun, 20 Apr 2014 00:54:04 +0000 (00:54 +0000)]
Plug-in process crashes if NP_Initialize returns an error the second time it's called
https://bugs.webkit.org/show_bug.cgi?id=131903
<rdar://problem/14355462>

Reviewed by Sam Weinig.

* Shared/Plugins/Netscape/NetscapePluginModule.cpp:
(WebKit::NetscapePluginModule::decrementLoadCount):
Don't try to unload the plug-in if it hasn't been initialized.

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

6 years ago [Mac] Unreviewed gardening.
zalan@apple.com [Sun, 20 Apr 2014 00:28:30 +0000 (00:28 +0000)]
   [Mac] Unreviewed gardening.

repaintRectsAsText() reports wrong subpixel dirty rects on hidpi.

* platform/mac/TestExpectations:

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

6 years agobmalloc: Improved alignment in LargeChunk
ggaren@apple.com [Sat, 19 Apr 2014 23:02:09 +0000 (23:02 +0000)]
bmalloc: Improved alignment in LargeChunk
https://bugs.webkit.org/show_bug.cgi?id=131895

Reviewed by Andreas Kling.

* bmalloc/Chunk.h:
* bmalloc/LargeChunk.h: Align to vmPageSize just like Chunk does.
Technically, the previous alignment was harmless, but I would prefer,
dear reader, not to have to explain the interlocking set of
circumstances that made it so.

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

6 years ago[UI-side compositing] Implement blend modes
simon.fraser@apple.com [Sat, 19 Apr 2014 22:26:59 +0000 (22:26 +0000)]
[UI-side compositing] Implement blend modes
https://bugs.webkit.org/show_bug.cgi?id=131891
<rdar://problem/16490085>

Reviewed by Tim Horton.

Implement blend modes with UI-side compositing.

PlatformCALayer::setBlendMode() becomes pure virtual, and overridden in
PlatformCALayerMac and PlatformCALayerRemote.
PlatformCAFilters::setBlendingFiltersOnLayer() now takes a raw platform
layer, so it can be called from the UI process on a CALayer*.

Source/WebCore:
Fix an issue with GraphicsLayerCA::LayerChange flags. 1 << 31 shifts
a signed integer, so it ended up setting all the high bits in m_uncommittedChanges,
causing us to push blend modes to the UI process for every layer. Fix by shifting
an unsigned long long (1LLU << 31). This should also fix a build warning on Windows.

* WebCore.exp.in:
* platform/graphics/ca/GraphicsLayerCA.h:
* platform/graphics/ca/PlatformCAFilters.h:
* platform/graphics/ca/PlatformCALayer.h:
* platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
(PlatformCAFilters::setBlendingFiltersOnLayer):
* platform/graphics/ca/mac/PlatformCALayerMac.h:
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayerMac::setFilters):
(PlatformCALayerMac::setBlendMode):
(PlatformCALayer::setBlendMode): Deleted.

Source/WebKit2:
Add BlendMode to LayerProperties, and initialize, encode and decode it,
as well as adding dumping support for blend modes.

* Shared/mac/RemoteLayerTreePropertyApplier.mm:
(WebKit::applyPropertiesToLayer):
* Shared/mac/RemoteLayerTreeTransaction.h:
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
(WebKit::RemoteLayerTreeTextStream::operator<<):
(WebKit::dumpChangedLayers):
* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::setBlendMode):
* WebProcess/WebPage/mac/PlatformCALayerRemote.h:

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

6 years agoFix leak of UIScreenEdgePanGestureRecognizer in WKSwipeTransitionController
commit-queue@webkit.org [Sat, 19 Apr 2014 22:16:26 +0000 (22:16 +0000)]
Fix leak of UIScreenEdgePanGestureRecognizer in WKSwipeTransitionController
https://bugs.webkit.org/show_bug.cgi?id=131877

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-04-19
Reviewed by Darin Adler.

* UIProcess/ios/ViewGestureControllerIOS.mm:
(-[WKSwipeTransitionController gestureRecognizerForInteractiveTransition:WithTarget:action:]):

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

6 years agoFix AVPlayerController leak on pages with video
commit-queue@webkit.org [Sat, 19 Apr 2014 22:12:41 +0000 (22:12 +0000)]
Fix AVPlayerController leak on pages with video
https://bugs.webkit.org/show_bug.cgi?id=131878

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

* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(-[WebAVPlayerController init]):
Assigning to the retain property will increment the count,
so balance the alloc with an autorelease.

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

6 years agoTwo little shortcuts to the JSType.
akling@apple.com [Sat, 19 Apr 2014 22:09:51 +0000 (22:09 +0000)]
Two little shortcuts to the JSType.
<https://webkit.org/b/131896>

Tweak two sites that take the long road through JSCell::structure()->typeInfo()
to look at data that's already in JSCell::type().

Reviewed by Darin Adler.

* runtime/NameInstance.h:
(JSC::isName):
* runtime/NumberPrototype.cpp:
(JSC::toThisNumber):

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

6 years agoDon’t install a source file inside WebProcess.app.
mitz@apple.com [Sat, 19 Apr 2014 21:42:40 +0000 (21:42 +0000)]
Don’t install a source file inside WebProcess.app.

* WebKit2.xcodeproj/project.pbxproj: Removed ViewUpdateDispatcher.messages.in from
WebProcess’s Copy Bundle Resources build phase.

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

6 years agoMake it easier to check if an integer sum would overflow
fpizlo@apple.com [Sat, 19 Apr 2014 21:13:46 +0000 (21:13 +0000)]
Make it easier to check if an integer sum would overflow
https://bugs.webkit.org/show_bug.cgi?id=131900

Reviewed by Darin Adler.

Source/JavaScriptCore:
* dfg/DFGOperations.cpp:
* runtime/Operations.h:
(JSC::jsString):

Source/WTF:
* wtf/CheckedArithmetic.h:
(WTF::checkedSum):
(WTF::sumOverflows):

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

6 years ago[Mac] WebView adjusts the cursor even when another window is in front
darin@apple.com [Sat, 19 Apr 2014 21:11:06 +0000 (21:11 +0000)]
[Mac] WebView adjusts the cursor even when another window is in front
https://bugs.webkit.org/show_bug.cgi?id=131898
rdar://problem/14619911

Reviewed by Dan Bernstein.

Source/WebKit/mac:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::setCursor): Added a check that the window is under the cursor
and do nothing if it's not.

Source/WebKit2:
* UIProcess/API/mac/WKView.mm:
(-[WKView _setCursor:]): Deleted. Moved the code all into PageClientImpl, since none of it
interacts with anything special about a WKView.

* UIProcess/API/mac/WKViewInternal.h: Deleted the _setCursor: method.

* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::setCursor): Added a check that the window is under the cursor
and do nothing if it's not.

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

6 years ago2014-04-19 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Sat, 19 Apr 2014 20:41:16 +0000 (20:41 +0000)]
2014-04-19  Geoffrey Garen  <ggaren@apple.com>

        Rolled out r167502 because it caused a crash on the facebook benchmark.

        Unreviewed.

            bmalloc: Added an XSmall line size
            https://bugs.webkit.org/show_bug.cgi?id=131851

            Reviewed by Sam Weinig.

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

6 years agoSlap ALWAYS_INLINE on Element attribute lookup things.
akling@apple.com [Sat, 19 Apr 2014 20:40:39 +0000 (20:40 +0000)]
Slap ALWAYS_INLINE on Element attribute lookup things.
<https://webkit.org/b/131892>

Most of the "inline" helpers for setting/getting attributes were not
actually getting inlined by the compiler, so let's make that happen.

Reviewed by Geoffrey Garen.

* dom/Element.cpp:
(WebCore::Element::synchronizeAttribute):
* dom/ElementData.h:
(WebCore::ElementData::findAttributeByName):
(WebCore::ElementData::findAttributeIndexByName):

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

6 years agoAddress some feedback on https://bugs.webkit.org/show_bug.cgi?id=130684.
fpizlo@apple.com [Sat, 19 Apr 2014 20:36:58 +0000 (20:36 +0000)]
Address some feedback on https://bugs.webkit.org/show_bug.cgi?id=130684.

* dfg/DFGOperations.cpp:
* runtime/JSString.h:
(JSC::JSRopeString::RopeBuilder::append):

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

6 years agoUse XPC services in the iOS Simulator, but not in Mountain Lion
mitz@apple.com [Sat, 19 Apr 2014 20:10:49 +0000 (20:10 +0000)]
Use XPC services in the iOS Simulator, but not in Mountain Lion
https://bugs.webkit.org/show_bug.cgi?id=131894

Reviewed by Anders Carlsson.

* Configurations/NetworkService.Development.xcconfig: Defined INFOPLIST_FILE for the
Simulator.
* Configurations/NetworkService.xcconfig: Ditto.
* Configurations/WebContentService.Development.xcconfig: Ditto.
* Configurations/WebContentService.xcconfig: Ditto.
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::systemDirectoryPath): Added this helper function that returns a slash-terminated
path to the System directory in the current runtime.
(WebKit::ProcessLauncher::launchProcess): Changed to use the above function to tell whether
a development version of WebKit2 is being used.
* WebKit2Prefix.h: Set WTF_USE_XPC_SERVICES to 1 when targeting the iOS Simulator, but not
when targeting Mountain Lion.

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

6 years agoTelephone number detection should respect its setting consistently
darin@apple.com [Sat, 19 Apr 2014 19:47:27 +0000 (19:47 +0000)]
Telephone number detection should respect its setting consistently
https://bugs.webkit.org/show_bug.cgi?id=131893
rdar://problem/16597639

Reviewed by Tim Horton.

* editing/Editor.cpp:
(WebCore::Editor::respondToChangedSelection): Only start the timer
if shouldDetectTelephoneNumbers returns true.
(WebCore::Editor::shouldDetectTelephoneNumbers): Added. Calls both
isTelephoneNumberParsingEnabled and TelephoneNumberDetector::isSupported.
(WebCore::Editor::scanSelectionForTelephoneNumbers): Use
shouldDetectTelephoneNumbers.
(WebCore::Editor::clearDataDetectedTelephoneNumbers): Use document()
instead of m_frame.document().

* editing/Editor.h: Added declaration of shouldDetectTelephoneNumbers.

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

6 years ago[CSS Regions] Harden the layout in case there are no regions
darin@apple.com [Sat, 19 Apr 2014 18:57:46 +0000 (18:57 +0000)]
[CSS Regions] Harden the layout in case there are no regions
https://bugs.webkit.org/show_bug.cgi?id=131517

Patch by Andrei Bucur <abucur@adobe.com> on 2014-04-19
Reviewed by Mihnea Ovidenie.

Source/WebCore:
The patch fixes the cases when the content of a flow thread is not
properly invalidated when all the regions of its chain are removed.

Test: fast/regions/simplified-layout-no-regions.html

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::ensureOverflowForBox):

LayoutTests:
Add a test that verifies the content of a flow thread is updated when all
the regions are removed.

* fast/regions/simplified-layout-no-regions-expected.txt: Added.
* fast/regions/simplified-layout-no-regions.html: Added.

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

6 years agobmalloc: Mutex should be harder to use wrong
ggaren@apple.com [Sat, 19 Apr 2014 18:36:56 +0000 (18:36 +0000)]
bmalloc: Mutex should be harder to use wrong
https://bugs.webkit.org/show_bug.cgi?id=131879

Reviewed by Andreas Kling.

Mutex now has a proper constructor, so you can't deadlock by forgetting
to initialize it.

* bmalloc.xcodeproj/project.pbxproj:
* bmalloc/Allocator.cpp:
(bmalloc::Allocator::processXSmallAllocatorLog):
(bmalloc::Allocator::processSmallAllocatorLog):
(bmalloc::Allocator::processMediumAllocatorLog):
(bmalloc::Allocator::allocateLarge):
(bmalloc::Allocator::allocateXLarge): Global replace Mutex => StaticMutex,
since the Heap mutex is a static.

* bmalloc/AsyncTask.h:
(bmalloc::Function>::AsyncTask): Use Mutex, since we're not static. No
need for explicit initialization anymore.

* bmalloc/Deallocator.cpp:
(bmalloc::Deallocator::scavenge):
(bmalloc::Deallocator::deallocateLarge):
(bmalloc::Deallocator::deallocateXLarge):
(bmalloc::Deallocator::processObjectLog):
(bmalloc::Deallocator::deallocateSmallLine):
(bmalloc::Deallocator::deallocateXSmallLine):
(bmalloc::Deallocator::allocateSmallLine):
(bmalloc::Deallocator::allocateXSmallLine):
(bmalloc::Deallocator::deallocateMediumLine):
(bmalloc::Deallocator::allocateMediumLine):
* bmalloc/Deallocator.h:
* bmalloc/Heap.cpp:
(bmalloc::sleep):
(bmalloc::Heap::Heap):
(bmalloc::Heap::concurrentScavenge):
(bmalloc::Heap::scavenge):
(bmalloc::Heap::scavengeSmallPages):
(bmalloc::Heap::scavengeXSmallPages):
(bmalloc::Heap::scavengeMediumPages):
(bmalloc::Heap::scavengeLargeRanges):
(bmalloc::Heap::allocateXSmallLineSlowCase):
(bmalloc::Heap::allocateSmallLineSlowCase):
(bmalloc::Heap::allocateMediumLineSlowCase):
(bmalloc::Heap::allocateXLarge):
(bmalloc::Heap::deallocateXLarge):
(bmalloc::Heap::allocateLarge):
(bmalloc::Heap::deallocateLarge):
* bmalloc/Heap.h:
(bmalloc::Heap::deallocateXSmallLine):
(bmalloc::Heap::allocateXSmallLine):
(bmalloc::Heap::deallocateSmallLine):
(bmalloc::Heap::allocateSmallLine):
(bmalloc::Heap::deallocateMediumLine):
(bmalloc::Heap::allocateMediumLine):
* bmalloc/Line.h:
(bmalloc::Line<Traits>::deref):
* bmalloc/Mutex.cpp: Removed.
* bmalloc/Mutex.h:
(bmalloc::Mutex::Mutex):
(bmalloc::Mutex::init): Deleted.
(bmalloc::Mutex::try_lock): Deleted.
(bmalloc::Mutex::lock): Deleted.
(bmalloc::Mutex::unlock): Deleted.
* bmalloc/Page.h:
(bmalloc::Page<Traits>::ref):
(bmalloc::Page<Traits>::deref):
(bmalloc::Page<Traits>::refCount):
* bmalloc/PerProcess.h:
(bmalloc::PerProcess::mutex):
(bmalloc::PerProcess<T>::getSlowCase):
* bmalloc/StaticMutex.cpp: Added.
(bmalloc::StaticMutex::lockSlowCase):
* bmalloc/StaticMutex.h: Added.
(bmalloc::StaticMutex::init):
(bmalloc::StaticMutex::try_lock):
(bmalloc::StaticMutex::lock):
(bmalloc::StaticMutex::unlock):
* bmalloc/VMHeap.h:
(bmalloc::VMHeap::deallocateXSmallPage):
(bmalloc::VMHeap::deallocateSmallPage):
(bmalloc::VMHeap::deallocateMediumPage):
(bmalloc::VMHeap::deallocateLargeRange):
* bmalloc/bmalloc.h:
(bmalloc::api::scavenge): Global replace Mutex => StaticMutex,
since the Heap mutex is a static.

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

6 years agoCleared executable bits on many .html and .txt files.
darin@apple.com [Sat, 19 Apr 2014 18:12:39 +0000 (18:12 +0000)]
Cleared executable bits on many .html and .txt files.

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

6 years agohttps://bugs.webkit.org/show_bug.cgi?id=131594
zalan@apple.com [Sat, 19 Apr 2014 17:48:08 +0000 (17:48 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=131594
Subpixel rendering: WK1: Wrong repaint rect is calculated when layer has non-compositing transform.

Reviewed by Simon Fraser.

We need to snap the repaint rect for transformed object the same way when we paint them.

Test: fast/repaint/hidpi-wrong-repaint-rect-when-parent-has-noncompositing-transform.html

Source/WebCore:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeRectForRepaint):

LayoutTests:
* fast/repaint/hidpi-wrong-repaint-rect-when-parent-has-noncompositing-transform-expected.txt: Added.
* fast/repaint/hidpi-wrong-repaint-rect-when-parent-has-noncompositing-transform.html: Added.

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

6 years ago[Cocoa] Crash in -[WKWebProcessPlugInHitTestResult nodeHandle] when nodeHandle()...
mitz@apple.com [Sat, 19 Apr 2014 17:46:07 +0000 (17:46 +0000)]
[Cocoa] Crash in -[WKWebProcessPlugInHitTestResult nodeHandle] when nodeHandle() is null
https://bugs.webkit.org/show_bug.cgi?id=131888

Reviewed by Jon Honeycutt.

* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInHitTestResult.mm:
(-[WKWebProcessPlugInHitTestResult nodeHandle]): Added a null check.

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

6 years ago[iOS WK2] Fuzzy layers on sites using perspective and transforms
simon.fraser@apple.com [Sat, 19 Apr 2014 17:36:22 +0000 (17:36 +0000)]
[iOS WK2] Fuzzy layers on sites using perspective and transforms
https://bugs.webkit.org/show_bug.cgi?id=131873
<rdar://problem/16540576>

Reviewed by Sam Weinig.

Always set rasterizationScale on CALayers in the UI process
(as we do for WK1) so that layers are rasterized taking the
device scale into account. We can do unconditionally; this
is benign on layers that CA doesn't rasterize.

* Shared/mac/RemoteLayerTreePropertyApplier.mm:
(WebKit::applyPropertiesToLayer):

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

6 years agoUse 'override' in GraphicsLayerCA
simon.fraser@apple.com [Sat, 19 Apr 2014 17:36:16 +0000 (17:36 +0000)]
Use 'override' in GraphicsLayerCA
https://bugs.webkit.org/show_bug.cgi?id=131882

Reviewed by Tim Horton.

Source/WebCore:

Add 'override' to all overridden functions. Found a few that need
not have been virtual. Removed "allowTiledLayer" stuff that was
never called.

* WebCore.exp.in:
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::GraphicsLayerCA):
(WebCore::GraphicsLayerCA::requiresTiledLayer):
(WebCore::GraphicsLayerCA::setAllowTiledLayer): Deleted.
* platform/graphics/ca/GraphicsLayerCA.h:
(WebCore::GraphicsLayerCA::platformCALayer):
(WebCore::GraphicsLayerCA::hasContentsLayer): Deleted.
(WebCore::GraphicsLayerCA::allowTiledLayer): Deleted.
(WebCore::GraphicsLayerCA::isGraphicsLayerCA): Deleted.
(WebCore::GraphicsLayerCA::platformCALayerLayoutSublayersOfLayer): Deleted.
(WebCore::GraphicsLayerCA::platformCALayerRespondsToLayoutChanges): Deleted.
(WebCore::GraphicsLayerCA::platformCALayerContentsOrientation): Deleted.
(WebCore::GraphicsLayerCA::platformCALayerShowDebugBorders): Deleted.
(WebCore::GraphicsLayerCA::platformCALayerIncrementRepaintCount): Deleted.
(WebCore::GraphicsLayerCA::platformCALayerContentsOpaque): Deleted.
(WebCore::GraphicsLayerCA::platformCALayerDrawsContent): Deleted.
(WebCore::GraphicsLayerCA::platformCALayerLayerDidDisplay): Deleted.

Source/WebKit2:

Add an 'override'.

* WebProcess/WebPage/mac/GraphicsLayerCARemote.h:

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

6 years agoAssertion in WebPage::runModal accesses object after it may have been destroyed
darin@apple.com [Sat, 19 Apr 2014 17:04:52 +0000 (17:04 +0000)]
Assertion in WebPage::runModal accesses object after it may have been destroyed
https://bugs.webkit.org/show_bug.cgi?id=131875

Reviewed by Anders Carlsson.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::runModal): Ref the WebPage so it's still around so we can
check the m_isRunningModal flag.

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

6 years ago[WebGL] Two tests failing on Mountain Lion after r167520
dino@apple.com [Sat, 19 Apr 2014 06:57:27 +0000 (06:57 +0000)]
[WebGL] Two tests failing on Mountain Lion after r167520
https://bugs.webkit.org/show_bug.cgi?id=131886

Skip two failing tests.

* platform/mac/TestExpectations:

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

6 years agoREGRESSION(r164205): WebKit crash @StructureIDTable::get.
mark.lam@apple.com [Sat, 19 Apr 2014 06:53:46 +0000 (06:53 +0000)]
REGRESSION(r164205): WebKit crash @StructureIDTable::get.
<https://webkit.org/b/130539>

Reviewed by Geoffrey Garen.

prepareOSREntry() prepares for OSR entry by first copying the local var
values from the baseline frame to a scartch buffer, which is then used
to fill in the locals in their new position in the DFG frame.  Unfortunately,
prepareOSREntry() was using the DFG frame's frameRegisterCount as the frame
size of the baseline frame.  As a result, some values of locals in the
baseline frame were not saved off, and the DFG frame may get initialized
with random content that happened to be in the uninitialized (and possibly
unallocated) portions of the scratch buffer.

The fix is to use OSREntryData::m_expectedValues.numberOfLocals() as the
number of locals in the baseline frame that we want to copy to the scratch
buffer.

Note: osrEntryThunkGenerator() is expecting the DFG frameRegisterCount
at offset 0 in the scratch buffer.  So, we continue to write that value
there, not the baseline frame size.

* dfg/DFGOSREntry.cpp:
(JSC::DFG::prepareOSREntry):

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

6 years agoSkip fast/dom/gc-attribute-node.html which is flaky
timothy@apple.com [Sat, 19 Apr 2014 06:04:56 +0000 (06:04 +0000)]
Skip fast/dom/gc-attribute-node.html which is flaky
https://bugs.webkit.org/show_bug.cgi?id=131885

* platform/mac/TestExpectations:

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

6 years agoWeb Inspector: Move InspectorProfilerAgent to JavaScriptCore
timothy@apple.com [Sat, 19 Apr 2014 06:03:40 +0000 (06:03 +0000)]
Web Inspector: Move InspectorProfilerAgent to JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=131673

Passes existing profiler and inspector tests.

Reviewed by Joseph Pecoraro.

* CMakeLists.txt:
* DerivedSources.make:

Source/JavaScriptCore:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* inspector/JSConsoleClient.cpp:
(Inspector::JSConsoleClient::JSConsoleClient):
(Inspector::JSConsoleClient::profile):
(Inspector::JSConsoleClient::profileEnd):
(Inspector::JSConsoleClient::count): Deleted.
* inspector/JSConsoleClient.h:
* inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
* inspector/agents/InspectorProfilerAgent.cpp: Added.
(Inspector::InspectorProfilerAgent::InspectorProfilerAgent):
(Inspector::InspectorProfilerAgent::~InspectorProfilerAgent):
(Inspector::InspectorProfilerAgent::addProfile):
(Inspector::InspectorProfilerAgent::createProfileHeader):
(Inspector::InspectorProfilerAgent::enable):
(Inspector::InspectorProfilerAgent::disable):
(Inspector::InspectorProfilerAgent::getUserInitiatedProfileName):
(Inspector::InspectorProfilerAgent::getProfileHeaders):
(Inspector::buildInspectorObject):
(Inspector::InspectorProfilerAgent::buildProfileInspectorObject):
(Inspector::InspectorProfilerAgent::getCPUProfile):
(Inspector::InspectorProfilerAgent::removeProfile):
(Inspector::InspectorProfilerAgent::reset):
(Inspector::InspectorProfilerAgent::didCreateFrontendAndBackend):
(Inspector::InspectorProfilerAgent::willDestroyFrontendAndBackend):
(Inspector::InspectorProfilerAgent::start):
(Inspector::InspectorProfilerAgent::stop):
(Inspector::InspectorProfilerAgent::setRecordingProfile):
(Inspector::InspectorProfilerAgent::startProfiling):
(Inspector::InspectorProfilerAgent::stopProfiling):
* inspector/agents/InspectorProfilerAgent.h: Added.
* inspector/agents/JSGlobalObjectProfilerAgent.cpp: Copied from Source/WebCore/inspector/ScriptProfile.idl.
(Inspector::JSGlobalObjectProfilerAgent::JSGlobalObjectProfilerAgent):
(Inspector::JSGlobalObjectProfilerAgent::profilingGlobalExecState):
* inspector/agents/JSGlobalObjectProfilerAgent.h: Copied from Source/WebCore/inspector/ScriptProfile.idl.
* inspector/protocol/Profiler.json: Renamed from Source/WebCore/inspector/protocol/Profiler.json.
* profiler/Profile.h:
* runtime/ConsoleClient.h:

Source/WebCore:
* ForwardingHeaders/inspector/agents/InspectorProfilerAgent.h: Added.
* WebCore.exp.in:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/ScriptProfile.cpp: Removed.
* bindings/js/ScriptProfile.h:
* bindings/js/ScriptProfiler.cpp: Removed.
* bindings/js/ScriptProfiler.h: Removed.
* inspector/InspectorAllInOne.cpp:
* inspector/InspectorConsoleInstrumentation.h:
(WebCore::InspectorInstrumentation::profilerEnabled):
(WebCore::InspectorInstrumentation::startProfiling):
(WebCore::InspectorInstrumentation::stopProfiling):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorController.h:
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didCommitLoadImpl):
(WebCore::InspectorInstrumentation::startProfilingImpl):
(WebCore::InspectorInstrumentation::stopProfilingImpl):
(WebCore::InspectorInstrumentation::consoleTimeStampImpl): Deleted.
* inspector/InspectorInstrumentation.h:
* inspector/InspectorProfilerAgent.cpp: Removed.
* inspector/InspectorProfilerAgent.h: Removed.
* inspector/InspectorTimelineAgent.cpp:
(WebCore::startProfiling):
(WebCore::stopProfiling):
(WebCore::InspectorTimelineAgent::willCallFunction):
(WebCore::InspectorTimelineAgent::didCallFunction):
(WebCore::InspectorTimelineAgent::willEvaluateScript):
(WebCore::InspectorTimelineAgent::didEvaluateScript):
(WebCore::InspectorTimelineAgent::didDispatchXHRLoadEvent): Deleted.
* inspector/InstrumentingAgents.h:
(WebCore::InstrumentingAgents::inspectorProfilerAgent):
(WebCore::InstrumentingAgents::setInspectorProfilerAgent):
* inspector/PageDebuggerAgent.cpp:
(WebCore::PageDebuggerAgent::sourceMapURLForScript): Deleted.
* inspector/PageDebuggerAgent.h:
* inspector/PageProfilerAgent.cpp: Added.
(WebCore::PageProfilerAgent::PageProfilerAgent):
(WebCore::PageProfilerAgent::profilingGlobalExecState):
* inspector/PageProfilerAgent.h: Added.
(WebCore::PageProfilerAgent::~PageProfilerAgent):
* inspector/ScriptProfile.idl:
* inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::appendProfile):
* inspector/TimelineRecordFactory.h:
* inspector/WebConsoleAgent.cpp:
* inspector/WebProfilerAgent.cpp: Added.
(WebCore::WebProfilerAgent::WebProfilerAgent):
(WebCore::WebProfilerAgent::enable):
(WebCore::WebProfilerAgent::disable):
* inspector/WebProfilerAgent.h: Added.
(WebCore::WebProfilerAgent::~WebProfilerAgent):
* inspector/WorkerInspectorController.cpp:
(WebCore::WorkerInspectorController::WorkerInspectorController):
* inspector/WorkerProfilerAgent.cpp: Added.
(WebCore::WorkerProfilerAgent::WorkerProfilerAgent):
(WebCore::WorkerProfilerAgent::profilingGlobalExecState):
* inspector/WorkerProfilerAgent.h: Added.
(WebCore::WorkerProfilerAgent::~WorkerProfilerAgent):
* loader/appcache/ApplicationCacheGroup.cpp:
* page/PageConsole.cpp:
(WebCore::PageConsole::profile):
(WebCore::PageConsole::profileEnd):
(WebCore::PageConsole::time): Deleted.
(WebCore::PageConsole::timeEnd): Deleted.
(WebCore::PageConsole::timeStamp): Deleted.
* page/PageConsole.h:
* testing/Internals.cpp:
* testing/Internals.h:
* xml/XMLHttpRequest.cpp:

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

6 years agoContents of directly composited image layers are sometimes missing
simon.fraser@apple.com [Sat, 19 Apr 2014 05:31:39 +0000 (05:31 +0000)]
Contents of directly composited image layers are sometimes missing
https://bugs.webkit.org/show_bug.cgi?id=131880

Reviewed by Tim Horton.

Source/WebCore:
RenderLayerBacking::updateGraphicsLayerGeometry() tested whether a
GraphicsLayer had a contents layer to determine whether to call code
that updates the contents rect. However, on Mac, we don't make a contents
layer until later at layer flush time. That would result in an empty
contentsRect being set.

Fix by renaming GraphicsLayer::hasContentsLayer() to usesContentsLayer(),
and on Mac consulting the m_contentsLayerPurpose flag, which is set
at the appropriate time.

Test: compositing/images/update-content-rect.html

* platform/ScrollView.cpp:
(WebCore::positionScrollbarLayer):
* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::getDebugBorderInfo):
* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::usesContentsLayer):
(WebCore::GraphicsLayer::hasContentsLayer): Deleted.
* platform/graphics/ca/GraphicsLayerCA.h:
(WebCore::GraphicsLayerCA::hasContentsLayer): Deleted.
* platform/graphics/texmap/GraphicsLayerTextureMapper.h:
(WebCore::GraphicsLayerTextureMapper::usesContentsLayer):
(WebCore::GraphicsLayerTextureMapper::hasContentsLayer): Deleted.
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
(WebCore::RenderLayerBacking::positionOverflowControlsLayers):
(WebCore::RenderLayerBacking::compositingLayerType):

LayoutTests:
Test that that shows the issue in Safari, but not in the test
runner because of timing issues, but maybe it will some day.

* compositing/images/update-content-rect-expected.html: Added.
* compositing/images/update-content-rect.html: Added.

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

6 years agoUnreviewed, rolling out r167527.
commit-queue@webkit.org [Sat, 19 Apr 2014 05:19:30 +0000 (05:19 +0000)]
Unreviewed, rolling out r167527.
https://bugs.webkit.org/show_bug.cgi?id=131883

Broke 32-bit build (Requested by ap on #webkit).

Reverted changeset:

"[Mac] implement WebKitDataCue"
https://bugs.webkit.org/show_bug.cgi?id=131799
http://trac.webkit.org/changeset/167527

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

6 years ago[Mac] implement WebKitDataCue
eric.carlson@apple.com [Sat, 19 Apr 2014 03:46:44 +0000 (03:46 +0000)]
[Mac] implement WebKitDataCue
https://bugs.webkit.org/show_bug.cgi?id=131799

Reviewed by Dean Jackson.

Source/JavaScriptCore:
* Configurations/FeatureDefines.xcconfig: Define ENABLE_DATACUE_VALUE.

Source/WebCore:
Tests: http/tests/media/track-in-band-hls-metadata.html
       media/track/track-datacue-value.html

* Configurations/FeatureDefines.xcconfig: Define ENABLE_DATACUE_VALUE.
* DerivedSources.make: Add ENABLE_DATACUE_VALUE to HTML_FLAGS when appropriate.

* CMakeLists.txt: Add JSDataCueCustom.cpp.
* bindings/js/JSBindingsAllInOne.cpp:
* WebCore.xcodeproj/project.pbxproj: Add new files.

* bindings/js/JSDataCueCustom.cpp: Added.
(WebCore::JSDataCue::value):
(WebCore::JSDataCue::setValue):
(WebCore::JSDataCueConstructor::constructJSDataCue): Custom constructor.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::updateActiveTextTrackCues): Drive-by fixes: don't schedule timeupdate
    events when paused, don't call sort on an Vector that can't be sorted.

* html/track/DataCue.cpp:
(WebCore::DataCue::DataCue): Initialize m_type.
(WebCore::DataCue::~DataCue): Unprotect the JSValue if necessary.
(WebCore::DataCue::data): Ask the platform value for data if non-null.
(WebCore::DataCue::setData): Clear m_platformValue and m_value.
(WebCore::DataCue::isEqual): New.
(WebCore::DataCue::value): Return a JSValue from the platform value, or the value passed
    to the constructor/set by script.
(WebCore::DataCue::setValue): Set m_value.
* html/track/DataCue.h:
* html/track/DataCue.idl:

* html/track/InbandDataTextTrack.cpp:
(WebCore::InbandDataTextTrack::addDataCue): Don't add the same cue more than once.
(WebCore::InbandDataTextTrack::updateDataCue): Update a cue's duration.
(WebCore::InbandDataTextTrack::removeDataCue): Remove an incomplete cue.
(WebCore::InbandDataTextTrack::removeCue): Remove a cue from the incomplete cue map if necessary.
* html/track/InbandDataTextTrack.h:

* html/track/InbandGenericTextTrack.cpp:
(WebCore::InbandGenericTextTrack::addGenericCue): CueMatchRules is now in TextTrackCue instead
    of VTTCue.
* html/track/InbandTextTrack.h:

* html/track/InbandWebVTTTextTrack.cpp:
(WebCore::InbandWebVTTTextTrack::newCuesParsed): Ditto.

* html/track/TextTrack.cpp:
(WebCore::TextTrack::hasCue): Ditto.
* html/track/TextTrack.h:

* html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::isEqual): New, test base class equality.
* html/track/TextTrackCue.h:

* html/track/TextTrackCueGeneric.cpp:
(WebCore::TextTrackCueGeneric::isEqual): Call TextTrackCue::isEqual first.
* html/track/TextTrackCueGeneric.h:

* html/track/VTTCue.cpp:
(WebCore::VTTCue::isEqual): Call TextTrackCue::isEqual first.
* html/track/VTTCue.h:

* platform/SerializedPlatformRepresentation.h: Added.
(WebCore::SerializedPlatformRepresentation::~SerializedPlatformRepresentation):
(WebCore::SerializedPlatformRepresentation::SerializedPlatformRepresentation):

* platform/graphics/InbandTextTrackPrivateClient.h: Add methods for DataCue with SerializedPlatformRepresentation.

* platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.cpp: Added.
(WebCore::InbandMetadataTextTrackPrivateAVF::create):
(WebCore::InbandMetadataTextTrackPrivateAVF::InbandMetadataTextTrackPrivateAVF):
(WebCore::InbandMetadataTextTrackPrivateAVF::~InbandMetadataTextTrackPrivateAVF):
(WebCore::InbandMetadataTextTrackPrivateAVF::addDataCue):
(WebCore::InbandMetadataTextTrackPrivateAVF::updatePendingCueEndTimes):
(WebCore::InbandMetadataTextTrackPrivateAVF::flushPartialCues):
* platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.h: Added.

* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::seekWithTolerance): currentTrack -> currentTextTrack.
(WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Ditto.
(WebCore::MediaPlayerPrivateAVFoundation::configureInbandTracks): Ditto.
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
(WebCore::MediaPlayerPrivateAVFoundation::setCurrentTextTrack):
(WebCore::MediaPlayerPrivateAVFoundation::setCurrentTrack): Deleted.

Renamed currentTrack and setCurrentTrack to currentTextTrack and setCurrentTextTrack.
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::AVFWrapper::currentTextTrack):
(WebCore::MediaPlayerPrivateAVFoundationCF::setCurrentTextTrack):
(WebCore::MediaPlayerPrivateAVFoundationCF::currentTextTrack):
(WebCore::AVFWrapper::setCurrentTextTrack):
(WebCore::AVFWrapper::AVFWrapper):
(WebCore::AVFWrapper::processCue):
(WebCore::AVFWrapper::currentTrack): Deleted.
(WebCore::MediaPlayerPrivateAVFoundationCF::setCurrentTrack): Deleted.
(WebCore::MediaPlayerPrivateAVFoundationCF::currentTrack): Deleted.
(WebCore::AVFWrapper::setCurrentTrack): Deleted.
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
(WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime): currentTrack -> currentTextTrack
(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): currentTrack -> currentTextTrack.
(WebCore::MediaPlayerPrivateAVFoundationObjC::processMetadataTrack): New.
(WebCore::MediaPlayerPrivateAVFoundationObjC::processCue): m_currentTrack -> m_currentTextTrack.
(WebCore::MediaPlayerPrivateAVFoundationObjC::flushCues): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::setCurrentTextTrack): Renamed from setCurrentTextTrack.
(WebCore::metadataType): Map an AVFoundation metadata key space to a metadata cue type.
(WebCore::MediaPlayerPrivateAVFoundationObjC::metadataDidArrive): Process new metadata.
(-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setCurrentTrack): Deleted.

Create a JSValue representation from an AVMetadataItem.
* platform/mac/SerializedPlatformRepresentationMac.h: Added.
(WebCore::SerializedPlatformRepresentationMac::platformType):
(WebCore::SerializedPlatformRepresentationMac::nativeValue):
* platform/mac/SerializedPlatformRepresentationMac.mm: Added.
(WebCore::SerializedPlatformRepresentationMac::SerializedPlatformRepresentationMac):
(WebCore::SerializedPlatformRepresentationMac::~SerializedPlatformRepresentationMac):
(WebCore::SerializedPlatformRepresentationMac::create):
(WebCore::SerializedPlatformRepresentationMac::data):
(WebCore::SerializedPlatformRepresentationMac::deserialize):
(WebCore::SerializedPlatformRepresentationMac::isEqual):
(WebCore::toSerializedPlatformRepresentationMac):
(WebCore::jsValueWithValueInContext):
(WebCore::jsValueWithDataInContext):
(WebCore::jsValueWithArrayInContext):
(WebCore::jsValueWithDictionaryInContext):
(WebCore::jsValueWithAVMetadataItemInContext):

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

Source/WebKit2:
* Configurations/FeatureDefines.xcconfig: Define ENABLE_DATACUE_VALUE.

Source/WTF:
* wtf/FeatureDefines.h: Define ENABLE_DATACUE_VALUE.

LayoutTests:
* http/tests/media/resources/hls: Added.
* http/tests/media/resources/hls/metadata: Added.
* http/tests/media/resources/hls/metadata/fileSequence0.ts: Added.
* http/tests/media/resources/hls/metadata/fileSequence1.ts: Added.
* http/tests/media/resources/hls/metadata/fileSequence2.ts: Added.
* http/tests/media/resources/hls/metadata/fileSequence3.ts: Added.
* http/tests/media/resources/hls/metadata/prog_index.m3u8: Added.
* http/tests/media/track-in-band-hls-metadata-expected.txt: Added.
* http/tests/media/track-in-band-hls-metadata.html: Added.
* media/track/track-datacue-value-expected.txt: Added.
* media/track/track-datacue-value.html: Added.
* platform/efl/TestExpectations: Skip the new tests.
* platform/gtk/TestExpectations: Ditto.
* platform/mac/js/dom/global-constructors-attributes-expected.txt: Update.
* platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt: Update.
* platform/mac/TestExpectations: Skip DataCue test on all Mac versions. Skip HLS test on
    Mountain Lion.
* platform/win/TestExpectations: Skip the new tests.

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

6 years agobmalloc: AsyncTask should use Mutex instead of std::mutex
ggaren@apple.com [Sat, 19 Apr 2014 03:23:03 +0000 (03:23 +0000)]
bmalloc: AsyncTask should use Mutex instead of std::mutex
https://bugs.webkit.org/show_bug.cgi?id=131865

Reviewed by Gavin Barraclough.

std::mutex is so slow that it makes parallelizing simple tasks through
AsyncTask a net regression. Mutex fixes this.

* bmalloc/AsyncTask.h:
(bmalloc::Function>::AsyncTask):
(bmalloc::Function>::join):
(bmalloc::Function>::runSlowCase):
(bmalloc::Function>::entryPoint):
* bmalloc/Mutex.h:
(bmalloc::Mutex::init):

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

6 years agoKeep the WebPageProxy alive for the lifetime of all PageLoadState::Transaction objects
andersca@apple.com [Sat, 19 Apr 2014 01:38:31 +0000 (01:38 +0000)]
Keep the WebPageProxy alive for the lifetime of all PageLoadState::Transaction objects
https://bugs.webkit.org/show_bug.cgi?id=131872
<rdar://problem/15758414>

Reviewed by Dan Bernstein.

* UIProcess/PageLoadState.cpp:
(WebKit::PageLoadState::PageLoadState):
(WebKit::PageLoadState::Transaction::Transaction):
(WebKit::PageLoadState::Transaction::~Transaction):
* UIProcess/PageLoadState.h:
(WebKit::PageLoadState::Transaction::Transaction): Deleted.
(WebKit::PageLoadState::Transaction::~Transaction): Deleted.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):

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

6 years agoHarden RenderInline::inlineElementContinuation()
jhoneycutt@apple.com [Sat, 19 Apr 2014 00:49:07 +0000 (00:49 +0000)]
Harden RenderInline::inlineElementContinuation()

<https://bugs.webkit.org/show_bug.cgi?id=131858>

Reviewed by Sam Weinig.

No new tests, as there are no known cases of this happening.

* rendering/RenderInline.cpp:
(WebCore::RenderInline::inlineElementContinuation):
Return nullptr if the continuation is neither a RenderInline nor a
RenderBlock.

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

6 years agoWe shouldn’t create page throttlers for other pages than WebKit2 pages.
slewis@apple.com [Sat, 19 Apr 2014 00:44:50 +0000 (00:44 +0000)]
We shouldn’t create page throttlers for other pages than WebKit2 pages.

Source/WebCore:
Part of <rdar://problem/16473045> Visibility state counters are often incorrect
https://bugs.webkit.org/show_bug.cgi?id=131696

Reviewed by Gavin Barraclough.

No new test since not web exposed.

Page throttlers were being created for SVG images and other page instances that
were not accurately tracking the states that enable and disable page throttling.
Make the throttler an unique ptr and only initialize it for WebKit2.

This also fixes an inefficiency where we would throttle a new page on creation because
we assumed it was visible even if that was not the case.

* WebCore.exp.in:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute): Check page throttler exists.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::started): ditto
* page/Page.cpp:
(WebCore::Page::Page): Don’t automatically create page throttler.
(WebCore::Page::createPageThrottler): Create page throttler.
(WebCore::Page::setViewState): Check page throttler exists.
* page/Page.h:
(WebCore::Page::pageThrottler): Make the page throttler a unique ptr.
* page/PageThrottler.h:
* page/Settings.cpp:
(WebCore::Settings::setHiddenPageDOMTimerThrottlingEnabled): Check page throttler exists.

Source/WebKit2:
Part of <rdar://problem/16473045> Visibility state counters are often incorrect.
https://bugs.webkit.org/show_bug.cgi?id=131696

Reviewed by Gavin Barraclough.

Page throttlers were being created for SVG images and other page instances that
were not accurately tracking the states that enable and disable page throttling.
Make the throttler an unique ptr and only initialize it for WebKit2.

This also fixes  an inefficiency where we would throttle a new page on creation because
we assumed it was visible even if that was not the case.

* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: Check page throttler exists.
(WebKit::NPRuntimeObjectMap::evaluate):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage): Initialize page throttler for WebKit2 views.
(WebKit::WebPage::mouseEvent): Check page throttler exists.
(WebKit::WebPage::wheelEvent): ditto
(WebKit::WebPage::keyEvent): ditto

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

6 years agoMove DOM throttling out of the page throttler
slewis@apple.com [Sat, 19 Apr 2014 00:44:47 +0000 (00:44 +0000)]
Move DOM throttling out of the page throttler
<rdar://problem/16473004>
https://bugs.webkit.org/show_bug.cgi?id=131697

Reviewed by Gavin Barraclough.

No new tests since it's not web exposed.

DOM timer throttling is currently part of the page throttler which uses per process
state and per page state to determine when to throttle.  This led us to being overly
conservative when turning DOM throttling off.  It should only respond to view state changes.

Additionally since creating extra page throttlers SVG images caused bugs
in tracking state we'll reserve the page throttler for WebKit2 views.  To avoid regressing
WebKit1 we should move DOM timer throttling back to the page.

* page/Page.cpp:
(WebCore::Page::Page): set DOM timer throttling.
(WebCore::Page::setIsVisuallyIdleInternal): ditto.
(WebCore::Page::hiddenPageDOMTimerThrottlingStateChanged): ditto.
(WebCore::Page::setIsVisible): Update view state masks for WebKit1 to include IsVisibleOrOccluded and IsVisuallyIdle
* page/Page.h:
* page/PageThrottler.cpp:
(WebCore::PageThrottler::PageThrottler): remove DOM timer throttling.
(WebCore::PageThrottler::started): ditto.
(WebCore::PageThrottler::stopped): ditto.
(WebCore::PageThrottler::hiddenPageDOMTimerThrottlingStateChanged): Deleted.
* page/PageThrottler.h:
* page/Settings.cpp:
(WebCore::Settings::setHiddenPageDOMTimerThrottlingEnabled):

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

6 years agoDon't allow app sandboxed apps without the network client entitlement to launch the...
andersca@apple.com [Sat, 19 Apr 2014 00:33:46 +0000 (00:33 +0000)]
Don't allow app sandboxed apps without the network client entitlement to launch the network process
https://bugs.webkit.org/show_bug.cgi?id=131868
<rdar://problem/12354188>

Reviewed by Dan Bernstein.

* NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:
(WebKit::NetworkServiceInitializerDelegate::NetworkServiceInitializerDelegate):
Add a new delegate that implements checkEntitlements().

(NetworkServiceInitializer):
Pass the new delegate to XPCServiceInitializer.

* Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:
Call checkEntitlements.

(WebKit::XPCServiceInitializerDelegate::checkEntitlements):
Return true.

(WebKit::XPCServiceInitializerDelegate::hasEntitlement):
Helper function that returns whether a client has the given entitlement.

(WebKit::XPCServiceInitializerDelegate::isClientSandboxed):
Helper function that checks whether the client is sandboxed.

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

6 years ago[WebGL] Limit maximum texture sizes on older Intel hardware
dino@apple.com [Sat, 19 Apr 2014 00:29:45 +0000 (00:29 +0000)]
[WebGL] Limit maximum texture sizes on older Intel hardware
https://bugs.webkit.org/show_bug.cgi?id=131867

Reviewed by Geoffrey Garen.

Both Chrome and Firefox limit the MAX_TEXTURE_SIZE on
older Intel hardware to be at most 4096. This does the
same for WebKit.

* platform/graphics/Extensions3D.h: Add requiresRestrictedMaximumTextureSize() accessor.
* platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
(WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon): Record the value of GL_RENDERER
and test for "Intel HD Graphics 3000", which is the problematic hardware.
* platform/graphics/opengl/Extensions3DOpenGLCommon.h:
(WebCore::Extensions3DOpenGLCommon::requiresRestrictedMaximumTextureSize): Getter.
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::getIntegerv): If you're asking for MAX_TEXTURE_SIZE or
MAX_CUBE_MAP_TEXTURE_SIZE, and you're on problematic hardware, return a clamped value
(4096 and 1024 respectively).

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

6 years agoFind on page - extend API by providing highlighted match index
alice.barraclough@webkit.org [Fri, 18 Apr 2014 23:45:33 +0000 (23:45 +0000)]
Find on page - extend API by providing highlighted match index
https://bugs.webkit.org/show_bug.cgi?id=131776

Patch by Alice Barraclough <alice.barraclough@webkit.org> on 2014-04-18
Reviewed by Tim Horton.

* Shared/WebFindOptions.h: Add an option for determining match index.

Plumb through the API layers the addition of a parameter for match index.
* UIProcess/API/APIFindClient.h:
(API::FindClient::didFindString):
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageFindClient):
* UIProcess/API/Cocoa/WKWebView.mm:
(toFindOptions):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
(NS_OPTIONS):
* UIProcess/API/Cocoa/_WKFindDelegate.h:
* UIProcess/Cocoa/FindClient.h:
* UIProcess/Cocoa/FindClient.mm:
(WebKit::FindClient::setDelegate):
(WebKit::FindClient::didFindString):
* UIProcess/WebFindClient.cpp:
(WebKit::WebFindClient::didFindString):
* UIProcess/WebFindClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didFindString):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:

The actual tracking of the match index is contained in FindController class.
* WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::FindController): Start out as -1, understood to be an undefined index in this context.
(WebKit::FindController::updateFindUIAfterPageScroll):
    Perform the calculation of matchCount if the flag for DetermineMatchIndex is on.
If matchCount exceeds max, keep the match index undefined because otherwise the finding could advance
to a point where the index exceeds the match count, legitimately. If matchCount doesn't exceed the max, then make
sure the match index, which had been being incremented or decremented blindly back in findString(), is normalized
to be less than match count.
(WebKit::FindController::findString):
    If there is a user selection existing on the page, the next occurence of the string will be found after that
selection. In that case we still want the index to properly reflect its ordinal  position within the entire document.
Use findStringMatchingRanges to provide the match index, and set a flag that prevents the match index from being
blindly incremented or decremented later. After findString() is actually called on the page, increment or decrement
the find index under specific conditions.
(WebKit::FindController::hideFindIndicator): Reset match index when find UI goes away.
* WebProcess/WebPage/FindController.h: Add m_foundStringMatchIndex to private variables.
* WebProcess/WebPage/ios/FindControllerIOS.mm:
(WebKit::FindController::hideFindIndicator): Reset match index when find UI goes away.

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

6 years ago[CSS Shapes] Add parsing support for gradients
hmuller@adobe.com [Fri, 18 Apr 2014 23:30:58 +0000 (23:30 +0000)]
[CSS Shapes] Add parsing support for gradients
https://bugs.webkit.org/show_bug.cgi?id=131444

Reviewed by Bem Jones-Bey.

Source/WebCore:
Added support for shape-outside gradient values.

Test: fast/shapes/shape-outside-floats/shape-outside-linear-gradient.html

* css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyShape::applyValue): Accept generated images as shape-outside values.
* rendering/shapes/ShapeOutsideInfo.cpp:
(WebCore::checkShapeImageOrigin): Generated images get a pass, others do not.
(WebCore::getShapeImageAndRect): Use StyleImage::image() to get a generated image.
(WebCore::ShapeOutsideInfo::isEnabledFor):
* rendering/style/ShapeValue.h:
(WebCore::ShapeValue::isImageValid): Generated images are always considered valid.

LayoutTests:
* fast/shapes/parsing/parsing-shape-outside-expected.txt:
* fast/shapes/parsing/parsing-test-utils.js:
* fast/shapes/shape-outside-floats/shape-outside-linear-gradient-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-linear-gradient.html: Added.

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

6 years agoREGRESSION (r155700): Pasting an image into content-editable regions is broken.
beidson@apple.com [Fri, 18 Apr 2014 23:29:47 +0000 (23:29 +0000)]
REGRESSION (r155700): Pasting an image into content-editable regions is broken.
<rdar://problem/16654156> and https://bugs.webkit.org/show_bug.cgi?id=131844

Reviewed by Enrica Casucci.

* editing/mac/EditorMac.mm:
(WebCore::Editor::createFragmentForImageResourceAndAddResource): Add the ArchiveResource before
  creating the element that uses it.

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

6 years agoActually address Mark's review feedback.
fpizlo@apple.com [Fri, 18 Apr 2014 23:26:19 +0000 (23:26 +0000)]
Actually address Mark's review feedback.

* dfg/DFGOSRExitCompilerCommon.cpp:
(JSC::DFG::handleExitCounts):

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

6 years agoOptions::maximumExecutionCountsBetweenCheckpoints() should be higher for DFG->FTL...
fpizlo@apple.com [Fri, 18 Apr 2014 23:20:00 +0000 (23:20 +0000)]
Options::maximumExecutionCountsBetweenCheckpoints() should be higher for DFG->FTL tier-up but the same for other tier-ups
https://bugs.webkit.org/show_bug.cgi?id=131850

Reviewed by Mark Hahnenberg.

Templatize ExecutionCounter to allow for two different styles of calculating the
checkpoint threshold.

Appears to be a slight speed-up on DYEBench.

* bytecode/CodeBlock.h:
(JSC::CodeBlock::llintExecuteCounter):
(JSC::CodeBlock::offsetOfJITExecuteCounter):
(JSC::CodeBlock::offsetOfJITExecutionActiveThreshold):
(JSC::CodeBlock::offsetOfJITExecutionTotalCount):
(JSC::CodeBlock::jitExecuteCounter):
* bytecode/ExecutionCounter.cpp:
(JSC::ExecutionCounter<countingVariant>::ExecutionCounter):
(JSC::ExecutionCounter<countingVariant>::forceSlowPathConcurrently):
(JSC::ExecutionCounter<countingVariant>::checkIfThresholdCrossedAndSet):
(JSC::ExecutionCounter<countingVariant>::setNewThreshold):
(JSC::ExecutionCounter<countingVariant>::deferIndefinitely):
(JSC::applyMemoryUsageHeuristics):
(JSC::applyMemoryUsageHeuristicsAndConvertToInt):
(JSC::ExecutionCounter<countingVariant>::hasCrossedThreshold):
(JSC::ExecutionCounter<countingVariant>::setThreshold):
(JSC::ExecutionCounter<countingVariant>::reset):
(JSC::ExecutionCounter<countingVariant>::dump):
(JSC::ExecutionCounter::ExecutionCounter): Deleted.
(JSC::ExecutionCounter::forceSlowPathConcurrently): Deleted.
(JSC::ExecutionCounter::checkIfThresholdCrossedAndSet): Deleted.
(JSC::ExecutionCounter::setNewThreshold): Deleted.
(JSC::ExecutionCounter::deferIndefinitely): Deleted.
(JSC::ExecutionCounter::applyMemoryUsageHeuristics): Deleted.
(JSC::ExecutionCounter::applyMemoryUsageHeuristicsAndConvertToInt): Deleted.
(JSC::ExecutionCounter::hasCrossedThreshold): Deleted.
(JSC::ExecutionCounter::setThreshold): Deleted.
(JSC::ExecutionCounter::reset): Deleted.
(JSC::ExecutionCounter::dump): Deleted.
* bytecode/ExecutionCounter.h:
(JSC::formattedTotalExecutionCount):
(JSC::ExecutionCounter::maximumExecutionCountsBetweenCheckpoints):
(JSC::ExecutionCounter::clippedThreshold):
(JSC::ExecutionCounter::formattedTotalCount): Deleted.
* dfg/DFGJITCode.h:
* dfg/DFGOSRExitCompilerCommon.cpp:
(JSC::DFG::handleExitCounts):
* llint/LowLevelInterpreter.asm:
* runtime/Options.h:

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

6 years agoCorrect some issues small issues in WK2 file upload InjectedBundle APIs
commit-queue@webkit.org [Fri, 18 Apr 2014 23:11:06 +0000 (23:11 +0000)]
Correct some issues small issues in WK2 file upload InjectedBundle APIs
https://bugs.webkit.org/show_bug.cgi?id=131852

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-04-18
Reviewed by Dan Bernstein.

* WebProcess/InjectedBundle/API/APIInjectedBundlePageUIClient.h:
(API::InjectedBundle::PageUIClient::shouldGenerateFileForUpload):
The default return value, meaning no, should return the null string. The
result is checked later, and null string is a special value meaning no.

* WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
(WebKit::InjectedBundlePageUIClient::generateFileForUpload):
Pre-check for the correct client function we will use.

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

6 years agoAdd mention of Safari Debug menu and finding out the WebProcess that corresponds...
bjonesbe@adobe.com [Fri, 18 Apr 2014 22:56:01 +0000 (22:56 +0000)]
Add mention of Safari Debug menu and finding out the WebProcess that corresponds to a tab
https://bugs.webkit.org/show_bug.cgi?id=131791

Reviewed by Sam Weinig.

* building/debug.html:

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

6 years ago[iOS] REGRESSION (r167039): WebKit incorrectly sets a background process assertion...
aestes@apple.com [Fri, 18 Apr 2014 22:48:39 +0000 (22:48 +0000)]
[iOS] REGRESSION (r167039): WebKit incorrectly sets a background process assertion state when displaying a PDF
https://bugs.webkit.org/show_bug.cgi?id=131860
<rdar://problem/16631282>

Reviewed by Tim Horton.

We were basing our process assertion state on whether or not the
process had a WKContentView in a window, but when displaying a PDF
we've removed the WKContentView from the window. Base this decision
instead on whether or not the WKWebView is in the window.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView didMoveToWindow]):
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::isViewInWindow):

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

6 years agoAdded some more Membuster recordings to MallocBench
ggaren@apple.com [Fri, 18 Apr 2014 22:31:34 +0000 (22:31 +0000)]
Added some more Membuster recordings to MallocBench
https://bugs.webkit.org/show_bug.cgi?id=131862

Reviewed by Sam Weinig.

* MallocBench/MallocBench/Benchmark.cpp:
(Benchmark::Benchmark):
(Benchmark::run):
* MallocBench/MallocBench/Benchmark.h:
* MallocBench/MallocBench/CommandLine.cpp:
* MallocBench/MallocBench/CommandLine.h:
(CommandLine::runs): Added a --runs option, so we can specify zero runs
for memory warning benchmarks. Those benchmarks want zero runs so that
they can perform a single warmup, which does not free all allocated
objects, and then see how far back to 0MB they can get. Running multiple
times would accumulate leaks, which is not representative of the
simulated scenario.

* MallocBench/MallocBench/Interpreter.cpp:
(Interpreter::Interpreter):
(Interpreter::run):
* MallocBench/MallocBench/Interpreter.h: Support not deallocating all
objects allocated during the recording, so we can do low memory warning
memory use measurements, as above.

* MallocBench/MallocBench/flickr.cpp:
(benchmark_flickr_memory_warning):
* MallocBench/MallocBench/main.cpp:
(main):
* MallocBench/MallocBench/reddit.cpp:
(benchmark_reddit_memory_warning):
* MallocBench/MallocBench/theverge.cpp:
(benchmark_theverge_memory_warning): Adopt the API above.

* MallocBench/run-malloc-benchmarks: I took a first pass at listing all
available benchmarks here. Then I commented out the benchmarks that
probably aren't reasonable to run by default.

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

6 years ago[GTK] Add llvmpipe (Mesa) to the JHBuild moduleset and force it when running layout...
mrobinson@webkit.org [Fri, 18 Apr 2014 21:41:39 +0000 (21:41 +0000)]
[GTK] Add llvmpipe (Mesa) to the JHBuild moduleset and force it when running layout tests
https://bugs.webkit.org/show_bug.cgi?id=131472

Reviewed by Philippe Normand.

* Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_environ_for_server): Use the LLVMPIPE_LIBGL_PATH to set the LD_LIBRARY_PATH
when running WebKitTestRunner with run-webkit-tests.
* gtk/jhbuild.modules: Add Mesa to the modulelist so that the llvmpipe libGL is build, but not
installed.
* gtk/jhbuildrc: Set the LLVMPIPE_LIBGL_PATH environment variable so that the test driver knows
how to properly set the LD_LIBRARY_PATH variable. We do this because it is much easier to
calculate the path in the jhbuildrc than in the test driver code. This simplifies things a great
deal.

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

6 years agoWeb Inspector: add entries for probe samples in the JS/Events timeline UI
commit-queue@webkit.org [Fri, 18 Apr 2014 21:21:39 +0000 (21:21 +0000)]
Web Inspector: add entries for probe samples in the JS/Events timeline UI
https://bugs.webkit.org/show_bug.cgi?id=131173

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

Create probe sample fired entries for the JS/Events timeline UI.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Controllers/ProbeManager.js:
(WebInspector.ProbeManager.prototype.probeForIdentifier): Added.
* UserInterface/Controllers/TimelineManager.js: Added cases for probe sample recorded.
(WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
(WebInspector.TimelineManager.prototype.eventRecorded):
* UserInterface/Images/TimelineRecordProbeSampled.svg: Added.
* UserInterface/Models/ScriptTimelineRecord.js: Create ProbeSampleRecorded record for ProbeSample case.
* UserInterface/Views/TimelineIcons.css:
(.probe-record .icon): Added.
* UserInterface/Views/TimelineRecordTreeElement.js:
(WebInspector.TimelineRecordTreeElement): Added case for probe sample recorded.

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

6 years agoRemove DynamicAnnotations.h?
mrobinson@webkit.org [Fri, 18 Apr 2014 21:03:23 +0000 (21:03 +0000)]
Remove DynamicAnnotations.h?
https://bugs.webkit.org/show_bug.cgi?id=131754

Reviewed by Simon Fraser.

This file, which helped support tools like Valgrind was unused.

* WTF.vcxproj/WTF.vcxproj: Remove references to the files.
* WTF.vcxproj/WTF.vcxproj.filters: Remove references to the files.
* WTF.xcodeproj/project.pbxproj: Remove references to the files.
* wtf/CMakeLists.txt: Remove references to the files.
* wtf/DynamicAnnotations.cpp: Removed.
* wtf/DynamicAnnotations.h: Removed.
* wtf/ThreadSafeRefCounted.h: Remove references to the files.
* wtf/text/StringStatics.cpp: Remove references to the files.

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

6 years agoAddress a couple of review comments
andersca@apple.com [Fri, 18 Apr 2014 20:56:13 +0000 (20:56 +0000)]
Address a couple of review comments
https://bugs.webkit.org/show_bug.cgi?id=131856

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/WKNavigationAction.h:
* UIProcess/API/Cocoa/WKNavigationDelegate.h:
* UIProcess/API/Cocoa/WKPreferences.h:
* UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
* UIProcess/API/Cocoa/WKWebView.h:

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

6 years ago[WK1] media/event-attributes.html is flaky
ap@apple.com [Fri, 18 Apr 2014 20:48:15 +0000 (20:48 +0000)]
[WK1] media/event-attributes.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=131855

* platform/mac/TestExpectations: Marking as such.

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

6 years agoMallocBench: removed the --measure-heap option
ggaren@apple.com [Fri, 18 Apr 2014 20:46:18 +0000 (20:46 +0000)]
MallocBench: removed the --measure-heap option
https://bugs.webkit.org/show_bug.cgi?id=131854

Reviewed by Sam Weinig.

As of <https://bugs.webkit.org/show_bug.cgi?id=131661>, measuring the
heap is fast, so there's no reason to disable it.

* MallocBench/MallocBench/Benchmark.cpp:
(Benchmark::Benchmark):
(Benchmark::run):
(Benchmark::printReport):
* MallocBench/MallocBench/Benchmark.h:
* MallocBench/MallocBench/CommandLine.cpp:
(CommandLine::printUsage):
* MallocBench/MallocBench/CommandLine.h:
(CommandLine::heapSize):
(CommandLine::measureHeap): Deleted.
* MallocBench/MallocBench/main.cpp:
(main):

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

6 years agoForgot to check in this file with <http://trac.webkit.org/changeset/167500>.
ap@apple.com [Fri, 18 Apr 2014 20:43:05 +0000 (20:43 +0000)]
Forgot to check in this file with <trac.webkit.org/changeset/167500>.

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

6 years ago[iOS WK2] Make window.scroll() and window.scrollBy() work
simon.fraser@apple.com [Fri, 18 Apr 2014 20:31:35 +0000 (20:31 +0000)]
[iOS WK2] Make window.scroll() and window.scrollBy() work
https://bugs.webkit.org/show_bug.cgi?id=131848
<rdar://problem/16638319>

Reviewed by Beth Dakin.

The scrolling-related functions in DOMWindow were #ifdeffed for iOS
to use the hacky WK1-specific "actual scroll" functions, which do nothing
in WK2.

Fix by adding a scroll position wrapper (contentsScrollPosition) which does
the right thing on WK1 and WK2, and change almost all the places that used "actualScrollPosition"
to us it (with the exception of contentsScrollOffset() in MouseRelatedEvent.cpp, which has
confusing scaling behavior).

* dom/MouseRelatedEvent.cpp:
(WebCore::MouseRelatedEvent::MouseRelatedEvent):
* dom/TreeScope.cpp:
(WebCore::nodeFromPoint): Remove #ifdefs.
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::scrollLeft):
(WebCore::HTMLBodyElement::scrollTop):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::scrollX):
(WebCore::DOMWindow::scrollY):
(WebCore::DOMWindow::scrollBy):
(WebCore::DOMWindow::scrollTo):
* platform/ScrollView.cpp:
(WebCore::ScrollView::contentsScrollPosition):
(WebCore::ScrollView::setContentsScrollPosition):
* platform/ScrollView.h:

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

6 years agobmalloc: Added an XSmall line size
ggaren@apple.com [Fri, 18 Apr 2014 20:17:59 +0000 (20:17 +0000)]
bmalloc: Added an XSmall line size
https://bugs.webkit.org/show_bug.cgi?id=131851

Reviewed by Sam Weinig.

Reduces malloc footprint on Membuster recordings by 10%.

This is a throughput regression, but we're still way ahead of TCMalloc.
I have some ideas for how to recover the regression -- but I wanted to
get this win in first.

Full set of benchmark results:

        bmalloc> ~/webkit/PerformanceTests/MallocBench/run-malloc-benchmarks --measure-heap nopatch:~/scratch/Build-nopatch/Release/ patch:~/webkit/WebKitBuild/Release/

                                                       nopatch                      patch                                Δ
        Peak Memory:
            reddit_memory_warning                      7,896kB                    7,532kB                  ^ 1.05x smaller
            flickr_memory_warning                     12,968kB                   12,324kB                  ^ 1.05x smaller
            theverge_memory_warning                   16,672kB                   15,200kB                   ^ 1.1x smaller

            <geometric mean>                          11,952kB                   11,216kB                  ^ 1.07x smaller
            <arithmetic mean>                         12,512kB                   11,685kB                  ^ 1.07x smaller
            <harmonic mean>                           11,375kB                   10,726kB                  ^ 1.06x smaller

        Memory at End:
            reddit_memory_warning                      7,320kB                    6,856kB                  ^ 1.07x smaller
            flickr_memory_warning                     10,848kB                    9,692kB                  ^ 1.12x smaller
            theverge_memory_warning                   16,380kB                   14,872kB                   ^ 1.1x smaller

            <geometric mean>                          10,916kB                    9,961kB                   ^ 1.1x smaller
            <arithmetic mean>                         11,516kB                   10,473kB                   ^ 1.1x smaller
            <harmonic mean>                           10,350kB                    9,485kB                  ^ 1.09x smaller

        MallocBench> ~/webkit/PerformanceTests/MallocBench/run-malloc-benchmarks nopatch:~/scratch/Build-nopatch/Release/ patch:~/webkit/WebKitBuild/Release/

                                           nopatch                patch                         Δ
        Execution Time:
            churn                            127ms                151ms            ! 1.19x slower
            list_allocate                    130ms                164ms            ! 1.26x slower
            tree_allocate                    109ms                127ms            ! 1.17x slower
            tree_churn                       115ms                120ms            ! 1.04x slower
            facebook                         240ms                259ms            ! 1.08x slower
            fragment                          91ms                131ms            ! 1.44x slower
            fragment_iterate                 105ms                106ms            ! 1.01x slower
            message_one                      260ms                259ms             ^ 1.0x faster
            message_many                     149ms                154ms            ! 1.03x slower
            medium                           194ms                248ms            ! 1.28x slower
            big                              157ms                160ms            ! 1.02x slower

            <geometric mean>                 144ms                163ms            ! 1.13x slower
            <arithmetic mean>                152ms                171ms            ! 1.12x slower
            <harmonic mean>                  137ms                156ms            ! 1.14x slower

        MallocBench> ~/webkit/PerformanceTests/MallocBench/run-malloc-benchmarks nopatch:~/scratch/Build-nopatch/Release/ patch:~/webkit/WebKitBuild/Release/

                                                               nopatch                          patch                                     Δ
        Execution Time:
            churn                                                126ms                          148ms                        ! 1.17x slower
            churn --parallel                                      62ms                           76ms                        ! 1.23x slower
            list_allocate                                        130ms                          164ms                        ! 1.26x slower
            list_allocate --parallel                             120ms                          175ms                        ! 1.46x slower
            tree_allocate                                        111ms                          127ms                        ! 1.14x slower
            tree_allocate --parallel                              95ms                          135ms                        ! 1.42x slower
            tree_churn                                           115ms                          124ms                        ! 1.08x slower
            tree_churn --parallel                                107ms                          126ms                        ! 1.18x slower
            facebook                                             240ms                          276ms                        ! 1.15x slower
            facebook --parallel                                  802ms                        1,088ms                        ! 1.36x slower
            fragment                                              92ms                          130ms                        ! 1.41x slower
            fragment --parallel                                   66ms                          124ms                        ! 1.88x slower
            fragment_iterate                                     109ms                          127ms                        ! 1.17x slower
            fragment_iterate --parallel                           55ms                           64ms                        ! 1.16x slower
            message_one                                          260ms                          260ms
            message_many                                         170ms                          238ms                         ! 1.4x slower
            medium                                               185ms                          250ms                        ! 1.35x slower
            medium --parallel                                    210ms                          334ms                        ! 1.59x slower
            big                                                  150ms                          169ms                        ! 1.13x slower
            big --parallel                                       138ms                          144ms                        ! 1.04x slower

            <geometric mean>                                     135ms                          170ms                        ! 1.26x slower
            <arithmetic mean>                                    167ms                          214ms                        ! 1.28x slower
            <harmonic mean>                                      117ms                          148ms                        ! 1.26x slower

        MallocBench> ~/webkit/PerformanceTests/MallocBench/run-malloc-benchmarks TC:~/scratch/Build-TCMalloc/Release/ patch:~/webkit/WebKitBuild/Release/

                                                            TC                      patch                                Δ
        Peak Memory:
            reddit_memory_warning                     13,836kB                   13,436kB                  ^ 1.03x smaller
            flickr_memory_warning                     24,868kB                   25,188kB                   ! 1.01x bigger
            theverge_memory_warning                   24,504kB                   26,636kB                   ! 1.09x bigger

            <geometric mean>                          20,353kB                   20,812kB                   ! 1.02x bigger
            <arithmetic mean>                         21,069kB                   21,753kB                   ! 1.03x bigger
            <harmonic mean>                           19,570kB                   19,780kB                   ! 1.01x bigger

        Memory at End:
            reddit_memory_warning                      8,656kB                   10,016kB                   ! 1.16x bigger
            flickr_memory_warning                     11,844kB                   13,784kB                   ! 1.16x bigger
            theverge_memory_warning                   18,516kB                   22,748kB                   ! 1.23x bigger

            <geometric mean>                          12,382kB                   14,644kB                   ! 1.18x bigger
            <arithmetic mean>                         13,005kB                   15,516kB                   ! 1.19x bigger
            <harmonic mean>                           11,813kB                   13,867kB                   ! 1.17x bigger

        MallocBench> ~/webkit/PerformanceTests/MallocBench/run-malloc-benchmarks TC:~/scratch/Build-TCMalloc/Release/ patch:~/webkit/WebKitBuild/Release/

                                                TC                patch                         Δ
        Execution Time:
            churn                            416ms                148ms            ^ 2.81x faster
            list_allocate                    463ms                164ms            ^ 2.82x faster
            tree_allocate                    292ms                127ms             ^ 2.3x faster
            tree_churn                       157ms                120ms            ^ 1.31x faster
            facebook                         327ms                276ms            ^ 1.18x faster
            fragment                         335ms                129ms             ^ 2.6x faster
            fragment_iterate                 344ms                108ms            ^ 3.19x faster
            message_one                      386ms                258ms             ^ 1.5x faster
            message_many                     410ms                154ms            ^ 2.66x faster
            medium                           391ms                245ms             ^ 1.6x faster
            big                              261ms                167ms            ^ 1.56x faster

            <geometric mean>                 332ms                164ms            ^ 2.02x faster
            <arithmetic mean>                344ms                172ms            ^ 1.99x faster
            <harmonic mean>                  317ms                157ms            ^ 2.02x faster

* bmalloc.xcodeproj/project.pbxproj:
* bmalloc/Allocator.cpp:
(bmalloc::Allocator::Allocator): Don't assume that each allocator's
index corresponds with its size. Instead, use the size selection function
explicitly. Now that we have XSmall, some small allocator entries are
unused.

(bmalloc::Allocator::scavenge):
(bmalloc::Allocator::log):
(bmalloc::Allocator::processXSmallAllocatorLog):
(bmalloc::Allocator::allocateSlowCase):
* bmalloc/Allocator.h:
(bmalloc::Allocator::xSmallAllocatorFor):
(bmalloc::Allocator::allocateFastCase):
* bmalloc/Chunk.h:
* bmalloc/Deallocator.cpp:
(bmalloc::Deallocator::scavenge):
(bmalloc::Deallocator::processObjectLog):
(bmalloc::Deallocator::deallocateSlowCase):
(bmalloc::Deallocator::deallocateXSmallLine):
(bmalloc::Deallocator::allocateXSmallLine):
* bmalloc/Deallocator.h:
(bmalloc::Deallocator::deallocateFastCase):
* bmalloc/Heap.cpp:
(bmalloc::Heap::scavenge):
(bmalloc::Heap::scavengeXSmallPages):
(bmalloc::Heap::allocateXSmallLineSlowCase):
* bmalloc/Heap.h:
(bmalloc::Heap::deallocateXSmallLine):
(bmalloc::Heap::allocateXSmallLine):
* bmalloc/LargeChunk.h:
(bmalloc::LargeChunk::get):
(bmalloc::LargeChunk::endTag):
* bmalloc/Line.h:
* bmalloc/MediumAllocator.h:
(bmalloc::MediumAllocator::allocate):
(bmalloc::MediumAllocator::refill):
* bmalloc/ObjectType.cpp:
(bmalloc::objectType):
* bmalloc/ObjectType.h:
(bmalloc::isXSmall):
(bmalloc::isSmall):
(bmalloc::isMedium):
(bmalloc::isLarge):
(bmalloc::isSmallOrMedium): Deleted.
* bmalloc/SegregatedFreeList.h: I boiler-plate copied existing code for
handling small objects. There's probably a reasonable way to share this
code in the future -- I'll look into that once it's stopped changing.

* bmalloc/Sizes.h: Tweaked size classes to make Membuster happy. This
is the main reason things got slower.

* bmalloc/SmallAllocator.h:
(bmalloc::SmallAllocator::allocate):
* bmalloc/SmallTraits.h:
* bmalloc/VMHeap.cpp:
(bmalloc::VMHeap::allocateXSmallChunk):
* bmalloc/VMHeap.h:
(bmalloc::VMHeap::allocateXSmallPage):
(bmalloc::VMHeap::deallocateXSmallPage):
* bmalloc/XSmallAllocator.h: Added.
(bmalloc::XSmallAllocator::isNull):
(bmalloc::XSmallAllocator::canAllocate):
(bmalloc::XSmallAllocator::XSmallAllocator):
(bmalloc::XSmallAllocator::line):
(bmalloc::XSmallAllocator::allocate):
(bmalloc::XSmallAllocator::objectCount):
(bmalloc::XSmallAllocator::derefCount):
(bmalloc::XSmallAllocator::refill):
* bmalloc/XSmallChunk.h: Added.
* bmalloc/XSmallLine.h: Added.
* bmalloc/XSmallPage.h: Added.
* bmalloc/XSmallTraits.h: Added.
* bmalloc/bmalloc.h:
(bmalloc::api::realloc): Boiler-plate copy, as above.

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

6 years agoDeleting properties poisons objects
mhahnenberg@apple.com [Fri, 18 Apr 2014 20:07:50 +0000 (20:07 +0000)]
Deleting properties poisons objects
https://bugs.webkit.org/show_bug.cgi?id=131551

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:
This is ~3% progression on Dromaeo with a ~6% progression on the jslib portion of Dromaeo in particular.

* runtime/Structure.cpp:
(JSC::Structure::Structure):
(JSC::Structure::materializePropertyMap): We now re-use deleted properties when materializing the property map.
(JSC::Structure::removePropertyTransition): We allow up to 5 deletes for a particular path through the tree of
Structure transitions. After that, we convert to an uncacheable dictionary like we used to. We don't cache
delete transitions, but we allow transitioning from them.
(JSC::Structure::changePrototypeTransition):
(JSC::Structure::despecifyFunctionTransition):
(JSC::Structure::attributeChangeTransition):
(JSC::Structure::toDictionaryTransition):
(JSC::Structure::preventExtensionsTransition):
(JSC::Structure::addPropertyWithoutTransition):
(JSC::Structure::removePropertyWithoutTransition):
(JSC::Structure::pin): Now does only what it says it does--marks the property table as pinned.
(JSC::Structure::pinAndPreventTransitions): More descriptive version of what the old pin() was doing.
* runtime/Structure.h:
* runtime/StructureInlines.h:
(JSC::Structure::checkOffsetConsistency): Rearranged variables to be more sensible.

LayoutTests:
New JS regress test. We're ~3.5x faster on this microbenchmark now.

* js/regress/delete-a-few-properties-then-get-by-id-expected.txt: Added.
* js/regress/delete-a-few-properties-then-get-by-id.html: Added.
* js/regress/script-tests/delete-a-few-properties-then-get-by-id.js: Added.
(MyObject):
(foo):

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

6 years agohttp/tests/multipart/policy-ignore-crash.php erroneously depends on http stack quirks
ap@apple.com [Fri, 18 Apr 2014 20:05:14 +0000 (20:05 +0000)]
http/tests/multipart/policy-ignore-crash.php erroneously depends on http stack quirks
https://bugs.webkit.org/show_bug.cgi?id=131853

Reviewed by Brady Eidson.

* http/tests/multipart/policy-ignore-crash.php: Produce a nice multipart response
with boundaries on their own lines.

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

6 years agoHandle pluginOrigin being null
andersca@apple.com [Fri, 18 Apr 2014 19:45:40 +0000 (19:45 +0000)]
Handle pluginOrigin being null
https://bugs.webkit.org/show_bug.cgi?id=131849
<rdar://problem/16655898>

Reviewed by Alexey Proskuryakov.

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::shouldPlugInAutoStartFromOrigin):

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

6 years agoWorse animation performance on pages with 3D transforms
simon.fraser@apple.com [Fri, 18 Apr 2014 18:37:04 +0000 (18:37 +0000)]
Worse animation performance on pages with 3D transforms
https://bugs.webkit.org/show_bug.cgi?id=131838
<rdar://problem/16428630&15705876>

Reviewed by Dean Jackson.

Source/WebCore:
r155977 added logic to adjust the contentsScale of compositing layers
based on a root-relative transform. However, this resulted in
the contentsScale continually changing on layers whose transforms
are changed dynamically, which caused lots of expensive painting.

Fix by bucketing the part of the scale computed from the root-relative transform
into buckets of 0.25 via rounding.

Test: compositing/contents-scale/rounded-contents-scale.html

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::clampedContentsScaleForScale):
(WebCore::GraphicsLayerCA::updateContentsOpaque):
(WebCore::GraphicsLayerCA::updateContentsScale):
(WebCore::GraphicsLayerCA::updateContentsVisibility): Deleted.
(WebCore::GraphicsLayerCA::animatedLayerClones): Deleted.

LayoutTests:
Testcase having layers at various z translates which shows the bucketing
of contentsScale, and fix results affected by the patch.

* compositing/contents-scale/rounded-contents-scale-expected.txt: Added.
* compositing/contents-scale/rounded-contents-scale.html: Added.
* compositing/contents-scale/z-translate-expected.txt:
* platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt:
* platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
* platform/mac/compositing/overflow/composited-scrolling-paint-phases-expected.txt:
* platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
* platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
* platform/mac/compositing/visible-rect/3d-transform-style-expected.txt:
* platform/mac/compositing/visible-rect/3d-transformed-expected.txt:
* platform/mac/compositing/visible-rect/nested-transform-expected.txt:

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

6 years agoRemove some includes from image-related headers, and Document.h
simon.fraser@apple.com [Fri, 18 Apr 2014 18:35:20 +0000 (18:35 +0000)]
Remove some includes from image-related headers, and Document.h
https://bugs.webkit.org/show_bug.cgi?id=131797

Reviewed by Martin Robinson.

Remove some #includes from Document.h, DragImage.h, GradientImage.h,
Image.h, and ImageBuffer.h and deal with the fallout.

* dom/ContainerNode.h:
* dom/Document.cpp:
(WebCore::Document::setInputCursor):
* dom/Document.h:
(WebCore::Document::inputCursor):
* dom/MutationObserverRegistration.cpp:
* html/canvas/WebGLRenderingContext.cpp:
* page/FrameSnapshotting.cpp:
* page/Page.cpp:
* platform/DragImage.h:
* platform/graphics/BitmapImage.cpp:
* platform/graphics/GradientImage.cpp:
(WebCore::GradientImage::GradientImage):
(WebCore::GradientImage::~GradientImage):
* platform/graphics/GradientImage.h:
* platform/graphics/Image.h:
* platform/graphics/ImageBuffer.cpp:
* platform/graphics/ImageBuffer.h:
(WebCore::ImageBuffer::create):
(WebCore::ImageBuffer::internalSize):
(WebCore::ImageBuffer::logicalSize):
(WebCore::ImageBuffer::baseTransform):
(WebCore::ImageBuffer::spaceSize):
(WebCore::ImageBuffer::setSpaceSize):
* rendering/RenderThemeMac.mm:
* rendering/shapes/Shape.cpp:
* rendering/svg/RenderSVGContainer.cpp:
* svg/SVGURIReference.h:

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

6 years ago[Cocoa] Add a navigation delegate method corresponding to didFinishDocumentLoadForFra...
mitz@apple.com [Fri, 18 Apr 2014 17:49:24 +0000 (17:49 +0000)]
[Cocoa] Add a navigation delegate method corresponding to didFinishDocumentLoadForFrame for the main frame
https://bugs.webkit.org/show_bug.cgi?id=131847

Reviewed by Anders Carlsson.

* UIProcess/API/APILoaderClient.h:
(API::LoaderClient::didFinishDocumentLoadForFrame): Added a navigationID parameter.
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageLoaderClient): Updated for the above change in paramerers.
* UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: Declared new delegate method.
* UIProcess/Cocoa/NavigationState.h: Declare override of didFinishDocumentLoadForFrame.
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::setNavigationDelegate): Initialize
webViewNavigationDidFinishDocumentLoad flag in the delegate methods struct.
(WebKit::NavigationState::LoaderClient::didFinishDocumentLoadForFrame): Added override
of the client function which calls the delegate.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didFinishDocumentLoadForFrame): Get and pass the navigation ID to
the client.
* UIProcess/WebPageProxy.h: Added navigationID parameter.
* UIProcess/WebPageProxy.messages.in: Ditto.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad): Get and send the navigation
ID to the UI process.

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

6 years agoDownloadDecideDestinationCrash API test uses an incorrect value for path
ap@apple.com [Fri, 18 Apr 2014 17:32:34 +0000 (17:32 +0000)]
DownloadDecideDestinationCrash API test uses an incorrect value for path
https://bugs.webkit.org/show_bug.cgi?id=131845
<rdar://problem/15925560>

Reviewed by Enrica Casucci.

* TestWebKitAPI/Tests/WebKit2/DownloadDecideDestinationCrash.cpp:
(TestWebKitAPI::decideDestinationWithSuggestedFilename):

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

6 years agoUnreviewed. ARM64 buildfix after r167473.
dbates@webkit.org [Fri, 18 Apr 2014 17:18:13 +0000 (17:18 +0000)]
Unreviewed. ARM64 buildfix after r167473.

Patch by Gabor Rapcsanyi <rgabor@webkit.org> on 2014-04-18

* platform/audio/DenormalDisabler.h: Put back the MathExtras.h include.

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

6 years ago[CSS Regions] Content overflowing a transformed region is clipped
stavila@adobe.com [Fri, 18 Apr 2014 17:08:11 +0000 (17:08 +0000)]
[CSS Regions] Content overflowing a transformed region is clipped
https://bugs.webkit.org/show_bug.cgi?id=116833

Reviewed by Mihnea Ovidenie.

Added test for overflow of content in 3d transformed regions.

* fast/regions/overflow-3dtransformed-region-expected.txt: Added.
* fast/regions/overflow-3dtransformed-region.html: Added.

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

6 years ago[Mac] AttributedStringTest API tests fail with async text input
ap@apple.com [Fri, 18 Apr 2014 17:08:07 +0000 (17:08 +0000)]
[Mac] AttributedStringTest API tests fail with async text input
https://bugs.webkit.org/show_bug.cgi?id=131833

Reviewed by Enrica Casucci.

Don't run sync NSTextInputClient tests where we don't implement these calls.

* TestWebKitAPI/Tests/mac/AttributedString.mm:
(TestWebKitAPI::AttributedStringTest_CustomFont::didLoadURL):
(TestWebKitAPI::AttributedStringTest_CustomFont::runSyncTest):
(TestWebKitAPI::AttributedStringTest_Strikethrough::didLoadURL):
(TestWebKitAPI::AttributedStringTest_Strikethrough::runSyncTest):
(TestWebKitAPI::AttributedStringTest_CustomFont::runTest): Deleted.
(TestWebKitAPI::AttributedStringTest_Strikethrough::runTest): Deleted.

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

6 years agoUnreviewed. ARM64 buildfix after r167473.
rgabor@webkit.org [Fri, 18 Apr 2014 13:48:16 +0000 (13:48 +0000)]
Unreviewed. ARM64 buildfix after r167473.

* platform/audio/DenormalDisabler.h: Put back the MathExtras.h include.

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

6 years ago[CSSRegions] Incorrect background paint on positioned element hover
stavila@adobe.com [Fri, 18 Apr 2014 13:07:48 +0000 (13:07 +0000)]
[CSSRegions] Incorrect background paint on positioned element hover
https://bugs.webkit.org/show_bug.cgi?id=131617

Reviewed by Andrei Bucur.

Source/WebCore:
When computing the repaint rect for absolute elements flowed into regions, the Y location of the
region within the flow thread must no longer be added to the repaint rect's location because absolute
positioned elements get pushed down through the regions by their absolute top. So adding the region's
position in the flow thread and then adding the element's absolute top would cause us to add
something twice.

Tests: fast/regions/repaint/repaint-absolute-pushed-to-next-region.html

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

LayoutTests:
Added test for the proper repainting of absolute positioned elements in regions when the
absolute top of the elements causes it to be pushed to the next region.

* fast/regions/repaint/repaint-absolute-pushed-to-next-region-expected.txt: Added.
* fast/regions/repaint/repaint-absolute-pushed-to-next-region.html: Added.

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

6 years agoRemove NETWORK_INFO support
philn@webkit.org [Fri, 18 Apr 2014 12:34:03 +0000 (12:34 +0000)]
Remove NETWORK_INFO support
https://bugs.webkit.org/show_bug.cgi?id=131841

.:
Reviewed by Gyuyoung Kim.

* Source/cmake/OptionsEfl.cmake:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:

Source/WebCore:
Reviewed by Gyuyoung Kim.

* CMakeLists.txt:
* Modules/networkinfo/NavigatorNetworkInfoConnection.cpp: Removed.
* Modules/networkinfo/NavigatorNetworkInfoConnection.h: Removed.
* Modules/networkinfo/NavigatorNetworkInfoConnection.idl: Removed.
* Modules/networkinfo/NetworkInfo.cpp: Removed.
* Modules/networkinfo/NetworkInfo.h: Removed.
* Modules/networkinfo/NetworkInfoClient.h: Removed.
* Modules/networkinfo/NetworkInfoConnection.cpp: Removed.
* Modules/networkinfo/NetworkInfoConnection.h: Removed.
* Modules/networkinfo/NetworkInfoConnection.idl: Removed.
* Modules/networkinfo/NetworkInfoController.cpp: Removed.
* Modules/networkinfo/NetworkInfoController.h: Removed.
* PlatformEfl.cmake:
* dom/EventTargetFactory.in:
* platform/efl/NetworkInfoProviderEfl.cpp: Removed.
* platform/efl/NetworkInfoProviderEfl.h: Removed.
* testing/Internals.cpp:
(WebCore::Internals::setNetworkInformation): Deleted.
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit:
Reviewed by NOBODY (OOPS!).

* PlatformEfl.cmake:

Source/WebKit/efl:
Reviewed by Gyuyoung Kim.

* WebCoreSupport/NetworkInfoClientEfl.cpp: Removed.
* WebCoreSupport/NetworkInfoClientEfl.h: Removed.
* ewk/ewk_view.cpp:
(_ewk_view_priv_new):

Source/WebKit2:
Reviewed by Gyuyoung Kim.

* CMakeLists.txt:
* PlatformEfl.cmake:
* Shared/API/c/WKBase.h:
* Shared/APIObject.h:
* Shared/WebNetworkInfo.cpp: Removed.
* Shared/WebNetworkInfo.h: Removed.
* UIProcess/API/C/WKAPICast.h:
* UIProcess/API/C/WKContext.cpp:
(WKContextGetNetworkInfoManager): Deleted.
* UIProcess/API/C/WKContext.h:
* UIProcess/API/C/WKNetworkInfo.cpp: Removed.
* UIProcess/API/C/WKNetworkInfo.h: Removed.
* UIProcess/API/C/WKNetworkInfoManager.cpp: Removed.
* UIProcess/API/C/WKNetworkInfoManager.h: Removed.
* UIProcess/API/efl/ewk_context.cpp:
(EwkContext::EwkContext):
* UIProcess/API/efl/ewk_context_private.h:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
* UIProcess/WebContext.h:
* UIProcess/WebNetworkInfoManagerProxy.cpp: Removed.
* UIProcess/WebNetworkInfoManagerProxy.h: Removed.
* UIProcess/WebNetworkInfoManagerProxy.messages.in: Removed.
* UIProcess/WebNetworkInfoProvider.cpp: Removed.
* UIProcess/WebNetworkInfoProvider.h: Removed.
* UIProcess/efl/NetworkInfoProvider.cpp: Removed.
* UIProcess/efl/NetworkInfoProvider.h: Removed.
* WebProcess/NetworkInfo/WebNetworkInfoManager.cpp: Removed.
* WebProcess/NetworkInfo/WebNetworkInfoManager.h: Removed.
* WebProcess/NetworkInfo/WebNetworkInfoManager.messages.in: Removed.
* WebProcess/WebCoreSupport/WebNetworkInfoClient.cpp: Removed.
* WebProcess/WebCoreSupport/WebNetworkInfoClient.h: Removed.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):

Source/WTF:
Reviewed by Gyuyoung Kim.

* wtf/FeatureDefines.h:

Tools:
Reviewed by Gyuyoung Kim.

* Scripts/webkitperl/FeatureList.pm:

LayoutTests:
Reviewed by Gyuyoung Kim.

* networkinformation/add-listener-from-callback-expected.txt: Removed.
* networkinformation/add-listener-from-callback.html: Removed.
* networkinformation/basic-all-types-of-events-expected.txt: Removed.
* networkinformation/basic-all-types-of-events.html: Removed.
* networkinformation/basic-operation-expected.txt: Removed.
* networkinformation/basic-operation.html: Removed.
* networkinformation/event-after-navigation-expected.txt: Removed.
* networkinformation/event-after-navigation.html: Removed.
* networkinformation/multiple-frames-expected.txt: Removed.
* networkinformation/multiple-frames.html: Removed.
* networkinformation/resources/event-after-navigation-new.html: Removed.
* networkinformation/script-tests/add-listener-from-callback.js: Removed.
* networkinformation/script-tests/basic-all-types-of-events.js: Removed.
* networkinformation/script-tests/basic-operation.js: Removed.
* networkinformation/script-tests/event-after-navigation.js: Removed.
* networkinformation/script-tests/multiple-frames.js: Removed.
* networkinformation/script-tests/updates.js: Removed.
* networkinformation/script-tests/window-property.js: Removed.
* networkinformation/updates-expected.txt: Removed.
* networkinformation/updates.html: Removed.
* networkinformation/window-property-expected.txt: Removed.
* networkinformation/window-property.html: Removed.

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

6 years agoUnreviewed, rolling out r167478.
commit-queue@webkit.org [Fri, 18 Apr 2014 05:10:38 +0000 (05:10 +0000)]
Unreviewed, rolling out r167478.
https://bugs.webkit.org/show_bug.cgi?id=131840

Broke multicol tests (Requested by ap on #webkit).

Reverted changeset:

"[New Multicolumn] Pagination mode messed up with non-inline
axis and reversed direction."
https://bugs.webkit.org/show_bug.cgi?id=131811
http://trac.webkit.org/changeset/167478

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

6 years ago[GTK] YouCompleteMe doesn't work for cmake build system.
changseok.oh@collabora.com [Fri, 18 Apr 2014 05:05:41 +0000 (05:05 +0000)]
[GTK] YouCompleteMe doesn't work for cmake build system.
https://bugs.webkit.org/show_bug.cgi?id=131591

Reviewed by Martin Robinson.

Add cmake build system support for YouCompleteMe. It should work regardless of
using make or ninja. In addition, autotools related code is removed since it's
not used anymore in WebKit.

* Scripts/webkitdirs.pm:
(generateBuildSystemFromCMakeProject):
* gtk/ycm_extra_conf.py:
(transform_relative_paths_to_absolute_paths):
(FlagsForFile):

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