Timeline
Dec 30, 2016:
- 5:28 PM Changeset in webkit [210214] by
-
- 2 edits in trunk/Source/WebCore/platform/gtk/po
[GTK] German translation update
https://bugs.webkit.org/show_bug.cgi?id=152228
Patch by Bernd Homuth <dev@hmt.im> on 2016-12-30
Rubber-stamped by Michael Catanzaro.
- de.po:
- 8:16 AM Changeset in webkit [210213] by
-
- 2 edits in trunk/Source/WebCore
[EFL] fix buffer over-read in RenderThemeEfl::mediaControlsStyleSheet()
https://bugs.webkit.org/show_bug.cgi?id=166622
Patch by Olivier Blin <Olivier Blin> on 2016-12-30
Reviewed by Gyuyoung Kim.
This has been detected by a charactersAreAllASCII() assert failure.
Initially in WebKitForWayland (WPE), but the code was likely borrowed from EFL.
This is because ASCIILiteral() is wrongly used in mediaControlsStyleSheet().
mediaControlsBaseUserAgentStyleSheet is a char array, not a null-terminated string.
It is thus incorrect to use StringImpl::createFromLiteral() that calls
strlen() to get the string length.
The String::ConstructFromLiteral constructor can not be used, since it
skips the last character.
- rendering/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::mediaControlsStyleSheet):
Explicitely pass the size to the String constructor.
- 6:00 AM Changeset in webkit [210212] by
-
- 6 edits in trunk/Source/WebCore
Unreviewed, rolling out r210206.
https://bugs.webkit.org/show_bug.cgi?id=166621
Crashes on macOS PLT (Requested by kling on #webkit).
Reverted changeset:
"Drop the render tree for documents in the page cache."
https://bugs.webkit.org/show_bug.cgi?id=121798
http://trac.webkit.org/changeset/210206
- 2:53 AM Changeset in webkit [210211] by
-
- 4 edits4 adds in trunk
[css-grid] Isolate instrinsic size computation from layout
https://bugs.webkit.org/show_bug.cgi?id=166530
Reviewed by Darin Adler.
Source/WebCore:
This is the last patch of the items placement data refactoring. By using a different Grid
instance in computeIntrinsicLogicalWidths we effectively isolate the intrinsic size
computation from the layout. They are now using different data structures so they don't
interfere each other.
This also means that we no longer reuse the placement of items done in the intrinsic size
computation. That shouldn't be a big issue once we make m_grid persistent on RenderGrid.
Last but not least, this patch finally removes the ugly const_cast's we had in
computeIntrinsicLogicalWidths() as we no longer modify the internal state of RenderGrid.
Tests: fast/css-grid-layout/grid-auto-repeat-intrinsic.html
fast/css-grid-layout/grid-change-intrinsic-size-with-auto-repeat-tracks.html
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::computeIntrinsicLogicalWidths): Use a new instance of Grid.
(WebCore::RenderGrid::computeEmptyTracksForAutoRepeat): Fixed a missing m_grid -> grid
rename.
(WebCore::RenderGrid::placeItemsOnGrid): Constify it. It nows repositions the items if the
number of auto repeat tracks has changed.
- rendering/RenderGrid.h:
LayoutTests:
- fast/css-grid-layout/grid-auto-repeat-intrinsic-expected.txt: Added.
- fast/css-grid-layout/grid-auto-repeat-intrinsic.html: Added.
- fast/css-grid-layout/grid-change-intrinsic-size-with-auto-repeat-tracks-expected.txt: Added.
- fast/css-grid-layout/grid-change-intrinsic-size-with-auto-repeat-tracks.html: Added.
- 2:09 AM Changeset in webkit [210210] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2
Merge r210180 - Ensure NetworkProcess is ready before whitelisting TLS certificates
https://bugs.webkit.org/show_bug.cgi?id=162962
Patch by Emanuele Aina <Emanuele Aina> on 2016-12-27
Reviewed by Alex Christensen.
If the API user tries to whitelist TLS certificates before any web
view has been created, the action will be ignored because the
NetworkProcess hasn't been fired up yet.
For example, the snippet below using the GTK+ API does not work,
unless the whitelisting is moved after the web view creation:
webkit_web_context_allow_tls_certificate_for_host(webkit_web_context_get_default(), crt, host);
webView = webkit_web_view_new();
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::allowSpecificHTTPSCertificateForHost): Ensure
that the NetworkProcess has been already fired up when adding
certificates, so they can be whitelisted before the first web view is
instantiated.
- 2:07 AM WebKitGTK/2.14.x edited by
- (diff)
- 2:06 AM Changeset in webkit [210209] by
-
- 4 edits in releases/WebKitGTK/webkit-2.14
Merge r210207 - [GTK] Improve user agent construction
https://bugs.webkit.org/show_bug.cgi?id=142074
Reviewed by Carlos Garcia Campos.
Source/WebCore:
Using the macOS quirk rather than the Chrome quirk for Google domains was a mistake: it
broke Hangouts in a different way than the Chrome quirk, and also prevents use of the nice
Earth mode on Google Maps. Google is making it really hard to develop a sane quirk.
Eventually I settled on the combination of two quirks: (1) Firefox browser, and (2) Linux
x86_64 platform. See the bug for full discussion on why these quirks are the best way to
make Google domains work properly in WebKit. This is an extremely sad state of affairs, but
I'm confident it is the best option. Note this effectively includes a rollout of r210168.
Also, fix a bug that caused an extra space to be inserted in the middle of the user agent.
- platform/UserAgentQuirks.cpp:
(WebCore::isGoogle):
(WebCore::urlRequiresFirefoxBrowser):
(WebCore::urlRequiresMacintoshPlatform):
(WebCore::urlRequiresLinuxDesktopPlatform):
(WebCore::UserAgentQuirks::quirksForURL):
(WebCore::UserAgentQuirks::stringForQuirk):
(WebCore::UserAgentQuirks::firefoxRevisionString):
- platform/UserAgentQuirks.h:
- platform/gtk/UserAgentGtk.cpp:
(WebCore::buildUserAgentString):
Tools:
- TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::assertUserAgentForURLHasChromeBrowserQuirk):
(TestWebKitAPI::assertUserAgentForURLHasFirefoxBrowserQuirk):
(TestWebKitAPI::assertUserAgentForURLHasLinuxPlatformQuirk):
(TestWebKitAPI::assertUserAgentForURLHasMacPlatformQuirk):
(TestWebKitAPI::TEST):
- 1:39 AM Changeset in webkit [210208] by
-
- 4 edits in releases/WebKitGTK/webkit-2.14/Source/JavaScriptCore
Merge r208018 - JSFunction::put() should not allow caching of lazily reified properties.
https://bugs.webkit.org/show_bug.cgi?id=164081
Reviewed by Geoffrey Garen.
It is incorrect for JSFunction::put() to return PutPropertySlots that indicates
that its lazily reified properties (e.g. .caller, and .arguments) are cacheable.
The reason for this is:
- Currently, a cacheable put may only consist of the following types of put
operations:
- putting a new property at an offset in the object storage.
- changing the value of an existing property at an offset in the object storage.
- invoking the setter for a property at an offset in the object storage.
Returning a PutPropertySlot that indicates the property is cacheable means that
the property put must be one of the above operations.
For lazily reified properties, JSFunction::put() implements complex conditional
behavior that is different than the set of cacheable put operations above.
Hence, it should not claim that the property put is cacheable.
- Cacheable puts are cached on the original structure of the object before the put operation.
Reifying a lazy property will trigger a structure transition. Even though
subsequent puts to such a property may be cacheable after the structure
transition, it is incorrect to indicate that the property put is cacheable
because the caching is on the original structure, not the new transitioned
structure.
Also fixed some missing exception checks.
- jit/JITOperations.cpp:
- runtime/JSFunction.cpp:
(JSC::JSFunction::put):
(JSC::JSFunction::reifyLazyPropertyIfNeeded):
(JSC::JSFunction::reifyBoundNameIfNeeded):
- runtime/JSFunction.h:
- 1:02 AM Changeset in webkit [210207] by
-
- 6 edits in trunk
[GTK] Improve user agent construction
https://bugs.webkit.org/show_bug.cgi?id=142074
Reviewed by Carlos Garcia Campos.
Source/WebCore:
Using the macOS quirk rather than the Chrome quirk for Google domains was a mistake: it
broke Hangouts in a different way than the Chrome quirk, and also prevents use of the nice
Earth mode on Google Maps. Google is making it really hard to develop a sane quirk.
Eventually I settled on the combination of two quirks: (1) Firefox browser, and (2) Linux
x86_64 platform. See the bug for full discussion on why these quirks are the best way to
make Google domains work properly in WebKit. This is an extremely sad state of affairs, but
I'm confident it is the best option. Note this effectively includes a rollout of r210168.
Also, fix a bug that caused an extra space to be inserted in the middle of the user agent.
- platform/UserAgentQuirks.cpp:
(WebCore::isGoogle):
(WebCore::urlRequiresFirefoxBrowser):
(WebCore::urlRequiresMacintoshPlatform):
(WebCore::urlRequiresLinuxDesktopPlatform):
(WebCore::UserAgentQuirks::quirksForURL):
(WebCore::UserAgentQuirks::stringForQuirk):
(WebCore::UserAgentQuirks::firefoxRevisionString):
- platform/UserAgentQuirks.h:
- platform/gtk/UserAgentGtk.cpp:
(WebCore::buildUserAgentString):
Tools:
- TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::assertUserAgentForURLHasChromeBrowserQuirk):
(TestWebKitAPI::assertUserAgentForURLHasFirefoxBrowserQuirk):
(TestWebKitAPI::assertUserAgentForURLHasLinuxPlatformQuirk):
(TestWebKitAPI::assertUserAgentForURLHasMacPlatformQuirk):
(TestWebKitAPI::TEST):
- 12:54 AM Changeset in webkit [210206] by
-
- 6 edits in trunk/Source/WebCore
Drop the render tree for documents in the page cache.
<https://webkit.org/b/121798>
Reviewed by Darin Adler.
To save memory and reduce complexity, have documents tear down their render tree
when entering the page cache. I've wanted to do this for a long time and it seems
like we can actually do it now.
This patch will enable a number of clean-ups since it's no longer valid for renderers
to exist while the document is in page cache.
- dom/Document.cpp:
(WebCore::Document::destroyRenderTree): Remove assertion that we're not in the page cache
since we will now be tearing down render trees right as they enter the page cache.
(WebCore::Document::setPageCacheState): Tear down the render tree right before setting
the in-cache flag. From now on, there should not exist render objects for documents in
the page cache.
- history/CachedFrame.cpp:
(WebCore::CachedFrameBase::restore):
- page/FrameView.h:
- page/FrameView.cpp:
(WebCore::FrameView::didRestoreFromPageCache): Update the scollable area set after restoring a
frame from the page cache. This dirties the scrolling tree, which was covered by tests.
- page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::setNeedsStyleRecalc): Make this a no-op if the render tree is being
torn down. This fixes assertions firing on animation tests.
Dec 29, 2016:
- 10:46 AM Changeset in webkit [210205] by
-
- 2 edits in trunk/Source/WebCore
AX: Need to expose frames to iOS Accessibility
https://bugs.webkit.org/show_bug.cgi?id=166571
<rdar://problem/29823724>
Reviewed by Darin Adler.
To support navigation by frame for VoiceOver on iOS, we need to expose the frame ancestor.
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper _accessibilityFrameAncestor]):
- 10:28 AM Changeset in webkit [210204] by
-
- 57 edits in trunk/JSTests
WebAssembly: Rebase spec-tests now that wabt has been updated to produce certain kinds of invalid modules
https://bugs.webkit.org/show_bug.cgi?id=166491
<rdar://problem/29814999>
Reviewed by Yusuke Suzuki.
Based off these revisions:
The reason for the rebase is that wabt was updated to stop
silently rejecting invalid modules. This was needed because
some of the spec tests check to make sure that the module
is invalid, but wabt was silently ignoring the errors and
generating valid modules:
https://github.com/WebAssembly/wabt/issues/256
- wasm.yaml:
- wasm/spec-tests/address.wast.js:
- wasm/spec-tests/binary.wast.js:
- wasm/spec-tests/block.wast.js:
- wasm/spec-tests/br.wast.js:
- wasm/spec-tests/br_if.wast.js:
- wasm/spec-tests/br_table.wast.js:
- wasm/spec-tests/break-drop.wast.js:
- wasm/spec-tests/call.wast.js:
- wasm/spec-tests/call_indirect.wast.js:
- wasm/spec-tests/comments.wast.js:
- wasm/spec-tests/conversions.wast.js:
- wasm/spec-tests/custom_section.wast.js:
- wasm/spec-tests/endianness.wast.js:
- wasm/spec-tests/exports.wast.js:
- wasm/spec-tests/f32.wast.js:
- wasm/spec-tests/f32_cmp.wast.js:
- wasm/spec-tests/f64.wast.js:
- wasm/spec-tests/f64_cmp.wast.js:
- wasm/spec-tests/fac.wast.js:
- wasm/spec-tests/float_exprs.wast.js:
- wasm/spec-tests/float_literals.wast.js:
- wasm/spec-tests/float_memory.wast.js:
- wasm/spec-tests/float_misc.wast.js:
- wasm/spec-tests/forward.wast.js:
- wasm/spec-tests/func.wast.js:
- wasm/spec-tests/func_ptrs.wast.js:
- wasm/spec-tests/get_local.wast.js:
- wasm/spec-tests/globals.wast.js:
- wasm/spec-tests/i32.wast.js:
- wasm/spec-tests/i64.wast.js:
- wasm/spec-tests/imports.wast.js:
- wasm/spec-tests/int_exprs.wast.js:
- wasm/spec-tests/int_literals.wast.js:
- wasm/spec-tests/left-to-right.wast.js:
- wasm/spec-tests/linking.wast.js:
- wasm/spec-tests/loop.wast.js:
- wasm/spec-tests/memory.wast.js:
- wasm/spec-tests/memory_redundancy.wast.js:
- wasm/spec-tests/memory_trap.wast.js:
- wasm/spec-tests/names.wast.js:
- wasm/spec-tests/nop.wast.js:
- wasm/spec-tests/resizing.wast.js:
- wasm/spec-tests/return.wast.js:
- wasm/spec-tests/select.wast.js:
- wasm/spec-tests/set_local.wast.js:
- wasm/spec-tests/skip-stack-guard-page.wast.js:
- wasm/spec-tests/stack.wast.js:
- wasm/spec-tests/start.wast.js:
- wasm/spec-tests/store_retval.wast.js:
- wasm/spec-tests/switch.wast.js:
- wasm/spec-tests/tee_local.wast.js:
- wasm/spec-tests/traps.wast.js:
- wasm/spec-tests/typecheck.wast.js:
- wasm/spec-tests/unreachable.wast.js:
- wasm/spec-tests/unwind.wast.js: