⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Apr 20, 2014:

11:42 PM Changeset in webkit [167587] by akling@apple.com
  • 2 edits in trunk/Source/WebKit

Blind Windows build fix. Hope I guessed the 64-bit mangled form right.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
11:35 PM Changeset in webkit [167586] by mitz@apple.com
  • 5 edits
    9 deletes in trunk/Source/WebKit2

[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:
11:26 PM Changeset in webkit [167585] by benjamin@webkit.org
  • 4 edits
    2 adds in trunk

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.
11:08 PM Changeset in webkit [167584] by benjamin@webkit.org
  • 32 edits in trunk

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:
11:02 PM Changeset in webkit [167583] by ap@apple.com
  • 5 edits in trunk/LayoutTests

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.

10:21 PM Changeset in webkit [167582] by Alan Bujtas
  • 3 edits
    2 adds in trunk

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.
9:43 PM Changeset in webkit [167581] by Darin Adler
  • 1 edit in trunk/Source/WebCore/ChangeLog

Fix typo in change log

9:40 PM Changeset in webkit [167580] by Darin Adler
  • 3 edits
    2 adds in trunk

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.
9:39 PM Changeset in webkit [167579] by Darin Adler
  • 11 edits in trunk/Source/WebCore

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.

9:28 PM Changeset in webkit [167578] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[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'.

9:19 PM Changeset in webkit [167577] by akling@apple.com
  • 9 edits in trunk/Source

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:
3:45 PM Changeset in webkit [167576] by mitz@apple.com
  • 2 edits in trunk/Tools

Fixed a test timing out after r167572.

  • TestWebKitAPI/Tests/WebKit2Cocoa/Navigation.mm:

(-[NavigationDelegate webView:didFinishNavigation:]): Renamed from
-webView:didFinishLoadingNavigation:.

2:53 PM Changeset in webkit [167575] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix the build after r167574

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):

2:28 PM Changeset in webkit [167574] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

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):

1:54 PM Changeset in webkit [167573] by mitz@apple.com
  • 4 edits in trunk/Source/WebKit2

[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.

1:53 PM Changeset in webkit [167572] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

[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.

1:43 PM Changeset in webkit [167571] by benjamin@webkit.org
  • 19 edits in trunk/Source/WebCore

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):

12:33 PM Changeset in webkit [167570] by ggaren@apple.com
  • 10 edits in trunk/Source/bmalloc

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.

12:02 PM Changeset in webkit [167569] by ap@apple.com
  • 4 edits
    4 adds in trunk

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.
10:43 AM Changeset in webkit [167568] by Antti Koivisto
  • 23 edits in trunk

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:
10:40 AM Changeset in webkit [167567] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

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

6:58 AM Changeset in webkit [167566] by Csaba Osztrogonác
  • 4 edits in trunk/Source/JavaScriptCore

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:
6:46 AM Changeset in webkit [167565] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

[ARM] Unreviewed build fix after r167336.

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::branchAdd32):

4:45 AM Changeset in webkit [167564] by commit-queue@webkit.org
  • 6 edits
    3 deletes in trunk

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

Apr 19, 2014:

9:42 PM Changeset in webkit [167563] by fpizlo@apple.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

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):

8:38 PM Changeset in webkit [167562] by Alan Bujtas
  • 3 edits
    2 adds in trunk

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.
8:10 PM Changeset in webkit [167561] by Brent Fulgham
  • 2 edits in trunk

Revert unintended workspace change in my last commit.

  • WebKit.xcworkspace/xcshareddata/xcschemes/All Source (target WebProcess).xcscheme: Set the

Scheme type back to Debug.

7:32 PM Changeset in webkit [167560] by Brent Fulgham
  • 8 edits in trunk

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.

6:38 PM Changeset in webkit [167559] by Chris Fleizach
  • 3 edits
    2 adds in trunk

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.
6:25 PM Changeset in webkit [167558] by Chris Fleizach
  • 3 edits
    2 adds in trunk

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.
6:22 PM Changeset in webkit [167557] by benjamin@webkit.org
  • 9 edits in trunk/Source

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):

5:54 PM Changeset in webkit [167556] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

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.

5:28 PM Changeset in webkit [167555] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

[Mac] Unreviewed gardening.

repaintRectsAsText() reports wrong subpixel dirty rects on hidpi.

  • platform/mac/TestExpectations:
4:02 PM Changeset in webkit [167554] by ggaren@apple.com
  • 3 edits in trunk/Source/bmalloc

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.

3:26 PM Changeset in webkit [167553] by Simon Fraser
  • 14 edits in trunk/Source

[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:
3:16 PM Changeset in webkit [167552] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Fix leak of UIScreenEdgePanGestureRecognizer in WKSwipeTransitionController
https://bugs.webkit.org/show_bug.cgi?id=131877

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-04-19
Reviewed by Darin Adler.

  • UIProcess/ios/ViewGestureControllerIOS.mm:

(-[WKSwipeTransitionController gestureRecognizerForInteractiveTransition:WithTarget:action:]):

3:12 PM Changeset in webkit [167551] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix AVPlayerController leak on pages with video
https://bugs.webkit.org/show_bug.cgi?id=131878

Patch by Joseph Pecoraro <Joseph Pecoraro> 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.

3:09 PM Changeset in webkit [167550] by akling@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

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):

2:42 PM Changeset in webkit [167549] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

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.

2:13 PM Changeset in webkit [167548] by fpizlo@apple.com
  • 5 edits in trunk/Source

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):

2:11 PM Changeset in webkit [167547] by Darin Adler
  • 6 edits in trunk/Source

[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.

1:41 PM Changeset in webkit [167546] by ggaren@apple.com
  • 21 edits
    5 deletes in trunk/Source/bmalloc

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.

1:40 PM Changeset in webkit [167545] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

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):

1:36 PM Changeset in webkit [167544] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Address some feedback on https://bugs.webkit.org/show_bug.cgi?id=130684.

  • dfg/DFGOperations.cpp:
  • runtime/JSString.h:

(JSC::JSRopeString::RopeBuilder::append):

1:10 PM Changeset in webkit [167543] by mitz@apple.com
  • 7 edits in trunk/Source/WebKit2

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.

12:47 PM Changeset in webkit [167542] by Darin Adler
  • 3 edits in trunk/Source/WebCore

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.
11:57 AM Changeset in webkit [167541] by Darin Adler
  • 4 edits
    2 adds in trunk

[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.
11:36 AM Changeset in webkit [167540] by ggaren@apple.com
  • 14 edits
    2 adds
    1 delete in trunk/Source/bmalloc

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.

11:12 AM Changeset in webkit [167539] by Darin Adler
  • 166 edits in trunk/LayoutTests

Cleared executable bits on many .html and .txt files.

10:48 AM Changeset in webkit [167538] by Alan Bujtas
  • 6 edits
    2 adds in trunk

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.
10:46 AM Changeset in webkit [167537] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

[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.

10:36 AM Changeset in webkit [167536] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

[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):

10:36 AM Changeset in webkit [167535] by Simon Fraser
  • 6 edits in trunk/Source

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:
10:04 AM Changeset in webkit [167534] by Darin Adler
  • 2 edits in trunk/Source/WebKit2

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.

Note: See TracTimeline for information about the timeline view.