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

Timeline



Nov 23, 2016:

1:37 AM Changeset in webkit [208970] by zandobersek@gmail.com
  • 4 edits in trunk

Remove ENABLE_ASSEMBLER_WX_EXCLUSIVE code
https://bugs.webkit.org/show_bug.cgi?id=165027

Reviewed by Darin Adler.

.:

  • Source/cmake/WebKitFeatures.cmake: Remove the ENABLE_ASSEMBLER_WX_EXCLUSIVE option.

Source/JavaScriptCore:

Remove the code guarded with ENABLE(ASSEMBLER_WX_EXCLUSIVE).
No port enables this and the guarded code doesn't build at all,
so it's safe to say it's abandoned.

  • jit/ExecutableAllocator.cpp:

(JSC::ExecutableAllocator::initializeAllocator):
(JSC::ExecutableAllocator::ExecutableAllocator):
(JSC::ExecutableAllocator::reprotectRegion): Deleted.

Nov 22, 2016:

8:05 PM Changeset in webkit [208969] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit/mac

[Mac] In Legacy WebKit, pressing an arrow key in editable content doesn’t hide the mouse cursor
https://bugs.webkit.org/show_bug.cgi?id=165036
<rdar://problem/5708580>

Reviewed by Alexey Proskuryakov.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView performKeyEquivalent:]): Hide the cursor if WebCore handled the event,

similarly to what we do in -keyDown: and to what WKWebView does with all key events.

12:52 PM Changeset in webkit [208968] by mark.lam@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Fix exception scope verification failures in JSC profiler files.
https://bugs.webkit.org/show_bug.cgi?id=164971

Reviewed by Saam Barati.

  • profiler/ProfilerBytecodeSequence.cpp:

(JSC::Profiler::BytecodeSequence::addSequenceProperties):

  • profiler/ProfilerCompilation.cpp:

(JSC::Profiler::Compilation::toJS):

  • profiler/ProfilerDatabase.cpp:

(JSC::Profiler::Database::toJS):
(JSC::Profiler::Database::toJSON):

  • profiler/ProfilerOSRExitSite.cpp:

(JSC::Profiler::OSRExitSite::toJS):

  • profiler/ProfilerOriginStack.cpp:

(JSC::Profiler::OriginStack::toJS):

12:13 PM Changeset in webkit [208967] by Antti Koivisto
  • 6 edits
    2 adds in trunk

CrashTracer: [USER] com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::ExtensionStyleSheets::pageUserSheet + 14
https://bugs.webkit.org/show_bug.cgi?id=165030

Reviewed by Darin Adler.

Source/WebCore:

We failed to reset the style scope when an element was moved to a different document. This could lead to having dangling
document pointers in style scope and style resolver.

Test: fast/shadow-dom/shadow-host-move-to-different-document.html

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::didMoveToNewDocument):

Reset style scope.

  • dom/ShadowRoot.h:
  • style/StyleScope.cpp:

(WebCore::Style::Scope::resolver):

Some more assertions.

  • style/StyleScope.h:

(WebCore::Style::Scope::document):

LayoutTests:

  • fast/shadow-dom/shadow-host-move-to-different-document-expected.html: Added.
  • fast/shadow-dom/shadow-host-move-to-different-document.html: Added.
11:16 AM Changeset in webkit [208966] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix exception scope verification failures in JSONObject.cpp.
https://bugs.webkit.org/show_bug.cgi?id=165025

Reviewed by Saam Barati.

  • runtime/JSONObject.cpp:

(JSC::gap):
(JSC::Stringifier::Stringifier):
(JSC::Stringifier::stringify):
(JSC::Stringifier::toJSON):
(JSC::Stringifier::appendStringifiedValue):
(JSC::Stringifier::Holder::appendNextProperty):
(JSC::Walker::walk):
(JSC::JSONProtoFuncParse):
(JSC::JSONProtoFuncStringify):
(JSC::JSONStringify):

10:43 AM Changeset in webkit [208965] by Darin Adler
  • 2 edits in trunk/Source/WTF

One more tiny bit of follow-up.

  • wtf/text/TextBreakIterator.cpp:

(WTF::numCharactersInGraphemeClusters): Removed unneeded always-true check.

10:35 AM Changeset in webkit [208964] by Darin Adler
  • 2 edits in trunk/Source/WTF

Quick follow-up to previous patch.

  • wtf/text/TextBreakIterator.cpp:

(WTF::numCharactersInGraphemeClusters): Removed incorrect assertion.

9:16 AM Changeset in webkit [208963] by Darin Adler
  • 12 edits
    1 add in trunk

Make normal case fast in the input element limitString function
https://bugs.webkit.org/show_bug.cgi?id=165023

Reviewed by Dan Bernstein.

Source/WebCore:

When running Speedometer, the limitLength function was showing up as hot.
Fixed a couple obvious problems with that function's performance.

  • html/TextFieldInputType.cpp:

(WebCore::isASCIILineBreak): Deleted. The isHTMLLineBreak function does
the same thing, but faster.
(WebCore::limitLength): Added a FIXME comment explaining that the function
isn't really a good idea. Don't call through to numCharactersInGraphemeClusters
at all for 8-bit strings since we don't allow CR or LF characters in the string
anyway, so there are no grapheme clusters more than a single code unit. Removed
optimization when the length is the string's length that String::left already does.
(WebCore::TextFieldInputType::sanitizeValue): Use isHTMLLineBreak instead of
isASCIILineBreak.
(WebCore::TextFieldInputType::handleBeforeTextInsertedEvent): Ditto.

  • platform/LocalizedStrings.cpp: Use auto a lot more rather than writing out

RetainPtr.
(WebCore::truncatedStringForLookupMenuItem): Removed unneeded special case for
empty strings. Removed unneeded string with the ellipsis character in it, since
the makeString function already knows how to append a character to a string.

  • rendering/RenderText.cpp:

(WebCore::mapLineBreakToIteratorMode): Updated for change to LineBreakIteratorMode.

  • rendering/SimpleLineLayoutTextFragmentIterator.cpp:

(WebCore::SimpleLineLayout::TextFragmentIterator::nextBreakablePosition): Ditto.

Source/WTF:

  • wtf/text/LineBreakIteratorPoolICU.h: Removed many unneeded includes.

Simplified the class a bit, removing some extra definitions.
(WTF::LineBreakIteratorPool::sharedPool): Use NeverDestroyed instead of new.
(WTF::LineBreakIteratorPool::makeLocaleWithBreakKeyword): Reimplemented in
a simpler way without using StringBuilder. Also updated for change to
LineBreakIteratorMode.
(WTF::LineBreakIteratorPool::put): Use uncheckedAppend since the code is
careful to only use the inline capacity in the vector.

  • wtf/text/TextBreakIterator.cpp: Moved some includes in here from the header.

(WTF::mapLineIteratorModeToRules): Updated for change to LineBreakIteratorMode.
(WTF::openLineBreakIterator): Ditto.
(WTF::numGraphemeClusters): Added a fast path for all 8-bit strings; don't
use ICU for that case, even if there is a CR character in it.
(WTF::numCharactersInGraphemeClusters): Added a fast path for strings that are
short enough to entirely fit without even looking at the characters; that's a
case we likely hit all the time. Also added a fast path for all 8-bit strings.

  • wtf/text/TextBreakIterator.h: Changed LineBreakIteratorMode to be an enum

class and not repeat UAX14 in the names of the modes. Initialize data members
in the class definition rather than the constructors.

Tools:

  • TestWebKitAPI/CMakeLists.txt: Added TextBreakIterator.cpp.
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Ditto.
  • TestWebKitAPI/Tests/WTF/TextBreakIterator.cpp: Added.

Contains some tests for the numGraphemeClusters and
numCharactersInGraphemeClusters functions that I used to make sure
that the new fast paths I added work correctly.

6:34 AM Changeset in webkit [208962] by svillar@igalia.com
  • 3 edits in trunk/Source/WebCore

[css-grid] Isolate size of internal representation from actual grid size
https://bugs.webkit.org/show_bug.cgi?id=165006

Reviewed by Manuel Rego Casasnovas.

RenderGrid has an internal representation of a grid used to place grid items, compute grid
positions, run the track sizing algorithm etc. That data structure normally has exactly the
same size as the actual grid specified using the grid-template-xxx properties (or any other
shorthand). But in some cases, like for example when the grid is empty, the internal data
structure does not really match the actual grid. In the particular case of empty grids no
memory allocations are done to create a grid representation as it is not needed.

From now on both gridColumnCount() and gridRowCount() will always return the size of the
data structure representing the grid whereas the newly added numTracks() will always return
the actual size of the grid.

This is the first required step of the process of isolating the data used by the grid track
sizing algorithm from the actual internal state of the LayoutGrid object.

No new tests as this is just a code refactoring.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::gridColumnCount): Always return the number of columns of the internal
data structure to represent the grid.
(WebCore::RenderGrid::layoutBlock):
(WebCore::RenderGrid::computeIntrinsicLogicalWidths): Use the actual size of the grid to
create the GridSizingData structure.
(WebCore::RenderGrid::placeItemsOnGrid): Use the actual size of the grid to create the
GridSizingData structure.
(WebCore::RenderGrid::offsetAndBreadthForPositionedChild):
(WebCore::RenderGrid::numTracks): New method which returns the actual size of the grid.

  • rendering/RenderGrid.h:
3:14 AM Changeset in webkit [208961] by svillar@igalia.com
  • 2 edits in trunk/Source/WebKit2

[GTK] Fix introspection warning
https://bugs.webkit.org/show_bug.cgi?id=165026

Reviewed by Michael Catanzaro.

This fixes an introspection annotation for a new API added in r208532.

  • WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:

(webkit_web_page_class_init):

3:09 AM Changeset in webkit [208960] by tpopela@redhat.com
  • 2 edits in trunk/Tools

Unreviewed, add myself as a WebKit committer.

  • Scripts/webkitpy/common/config/contributors.json:
Note: See TracTimeline for information about the timeline view.